Sponsored:   INLOCK - Put Your BTC, Get Your Cash! Crypto Backed Loans, 3.2M Raised Already. Join NOW!
 Latest 25 txns From a total of 24261 Transactions

TxHash Age From To Value [TxFee]
0xb40cff6344eafbdef02e17960fcb395ed55c3916e02f7215babbbe99bc9119ae1 hr 41 mins agoLiqui.io_2  IN   SANToken0 Ether0.0005785934
0xc7c1cfc8f5f99ed5b0cd044898d43b06111173d4646a41221f8607ab96fb7c0a4 hrs 54 mins ago0x1a2c47ebc366a56d4c42a834133e6a63593fe8e7  IN   SANToken0 Ether0.00044886
0x181e3c7eb439f46f1416eba4448d5640d566bd289c99c166b4840d60d0a68fe14 hrs 56 mins ago0x4a5cb625b60d628394fd36078ba840983fcb5493  IN   SANToken0 Ether0.001537787
0x4b21fa3dae4c834b382b6484d05638985af9dc73e6d0606d00f85fb672e617d223 hrs 46 mins ago0x258ba4cc51ac73637d1cdc4f2fb215562d9c42cc  IN   SANToken0 Ether0.00022507
0x105916ecdae5ec9a07ba75593f3dfcf107ec79b86e3b4212a9b3a5786765b14a1 day 4 mins ago0xa08505a72785439a883f9efef2b204892cda6b9e  IN   SANToken0 Ether0.00037507
0xd51a2520d153140f70e2ecf589f683a2f415eb13f5c4cd6e0f03d737d5b2bc6a1 day 1 hr ago0xe981b2b53b4adbe7de34c62ee0b71c15d6f09cbf  IN   SANToken0 Ether0.00022571
0x2f07ae98a48d14325f1507bad7184d6f3b2acf3179efbba781bd130b1480815f1 day 3 hrs agoOkex_2  IN   SANToken0 Ether0.00262535
0xa144d269393a3ebfb318430b1047f6dd251d00381d3d803c543ccd8823f0cf8f1 day 3 hrs ago0xa8ebe012afdfc2dbb77381b505299297fd26559b  IN   SANToken0 Ether0.00022571
0x074330b173ca0cb6768dd8c00d9b832448282ecf7055c40d1d9cb78683ca3dea1 day 4 hrs ago0x0861fca546225fbf8806986d211c8398f7457734  IN   SANToken0 Ether0.0015929013
0x8fd5c9a310d609ec28f332c742e106cee67410a305612baae0c43abcc251eaa11 day 4 hrs ago0x0861fca546225fbf8806986d211c8398f7457734  IN   SANToken0 Ether0.001629701
0x48c64578da696501e3939d1e3319facc20106f58a498ae894983609c52cebcb11 day 8 hrs ago0xd8275ccc68a6db38d5a4d3a8a04e84fc2590f2e2  IN   SANToken0 Ether0.000413676
0x8bea3e169ca597656bd703aa465c34dbaaccf93ec24172bc133ed354f07976921 day 8 hrs ago0xed7494de207a1784b0af9267af260ddbb67d7114  IN   SANToken0 Ether0.000338715
0x83459756bd36b4a8620b887d8493fa7bb1e94eb2060d5d9f11ae9a3ea68c2ffb1 day 14 hrs agoBitfinex_4  IN   SANToken0 Ether0.00105142
0xe3595729c2a1d74b19f613ea7057bb3fabaf04bfdb0b045b3526a2c0abbeff5b1 day 16 hrs agoOkex  IN   SANToken0 Ether0.00187535
0x81d466afc99e219ff0d43b099361e6dd9184e639b81f1d111c104550fc1c426a1 day 16 hrs agoOkex  IN   SANToken0 Ether0.00262215
0x9f7e628965deeb38d4e7f10ab8c59aaf79799bde90d9f340236106901c46dfff1 day 21 hrs ago0x635a64df33a19d83f502f62316d5cc37d01e916a  IN   SANToken0 Ether0.0001234
0x39f9755bc568cbebeb6ec299b9dd9c558a7579b32380dd01af363ecc842e46dd1 day 21 hrs ago0x635a64df33a19d83f502f62316d5cc37d01e916a  IN   SANToken0 Ether0.00012308
0xdce80315f66e16e872b9fdf9bcded61b79ecf62d14354e6bc0368e5e9ec6036d1 day 22 hrs ago0x635a64df33a19d83f502f62316d5cc37d01e916a  IN   SANToken0 Ether0.0001234
0xb993e6e1b62859f873ebbb0f464151290589d99afd76e4e411993644de4575981 day 22 hrs ago0x635a64df33a19d83f502f62316d5cc37d01e916a  IN   SANToken0 Ether0.00012308
0xd2f37115404c4664865ae7ca5b13be2810cda9460c88d64545c69bd0fb25dbbd1 day 22 hrs ago0x635a64df33a19d83f502f62316d5cc37d01e916a  IN   SANToken0 Ether0.0001234
0x5d33e559c9054f5ee6f0d045fadeb920081f7f82986b7a968f592a4ca1fec57d1 day 23 hrs agoBitfinex_4  IN   SANToken0 Ether0.00105142
0x8664f4b82badbea095bc1f9ebe941eb041dc62222b0f97c0f1acfa5040bc779d2 days 4 hrs ago0xa46b5327226776f35c632b6e8d19d84a991df875  IN   SANToken0 Ether0.00022507
0xcee2968878eb3e460714086cb20609ddd3dacb9d88018e713fac3c9fc75b54762 days 4 hrs ago0x0a36471cc112365b03a3ada1323128fe9d4b2f4a  IN   SANToken0 Ether0.00315042
0xf42514f07ec08cfdfa5da4b5b6ab4b49d2dd1fd8a2f11b90d44f166025a75a332 days 6 hrs ago0x302543630636eca675b08d5de4dc1e422b35b79d  IN   SANToken0 Ether0.000210284
0xf7128a1ef7747f206bb6897ab709f09cd64a0ebc57c33d4ba9a536d0b86ca0172 days 9 hrs ago0xc936a9ed589d2844ada0dfa4f6237d24c718f06b  IN   SANToken0 Ether0.00022507
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
View All
ParentTxHash Block Age From To Value
Contract Name: SAN
Compiler Text: v0.4.11+commit.68ef5810
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.11;

// ==== DISCLAIMER ====
//
// ETHEREUM IS STILL AN EXPEREMENTAL TECHNOLOGY.
// ALTHOUGH THIS SMART CONTRACT WAS CREATED WITH GREAT CARE AND IN THE HOPE OF BEING USEFUL, NO GUARANTEES OF FLAWLESS OPERATION CAN BE GIVEN.
// IN PARTICULAR - SUBTILE BUGS, HACKER ATTACKS OR MALFUNCTION OF UNDERLYING TECHNOLOGY CAN CAUSE UNINTENTIONAL BEHAVIOUR.
// YOU ARE STRONGLY ENCOURAGED TO STUDY THIS SMART CONTRACT CAREFULLY IN ORDER TO UNDERSTAND POSSIBLE EDGE CASES AND RISKS.
// DON'T USE THIS SMART CONTRACT IF YOU HAVE SUBSTANTIAL DOUBTS OR IF YOU DON'T KNOW WHAT YOU ARE DOING.
//
// THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
// OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// ====
//

/// @author Santiment LLC
/// @title  SAN - santiment token

contract Base {

    function max(uint a, uint b) returns (uint) { return a >= b ? a : b; }
    function min(uint a, uint b) returns (uint) { return a <= b ? a : b; }

    modifier only(address allowed) {
        if (msg.sender != allowed) throw;
        _;
    }


    ///@return True if `_addr` is a contract
    function isContract(address _addr) constant internal returns (bool) {
        if (_addr == 0) return false;
        uint size;
        assembly {
            size := extcodesize(_addr)
        }
        return (size > 0);
    }

    // *************************************************
    // *          reentrancy handling                  *
    // *************************************************

    //@dev predefined locks (up to uint bit length, i.e. 256 possible)
    uint constant internal L00 = 2 ** 0;
    uint constant internal L01 = 2 ** 1;
    uint constant internal L02 = 2 ** 2;
    uint constant internal L03 = 2 ** 3;
    uint constant internal L04 = 2 ** 4;
    uint constant internal L05 = 2 ** 5;

    //prevents reentrancy attacs: specific locks
    uint private bitlocks = 0;
    modifier noReentrancy(uint m) {
        var _locks = bitlocks;
        if (_locks & m > 0) throw;
        bitlocks |= m;
        _;
        bitlocks = _locks;
    }

    modifier noAnyReentrancy {
        var _locks = bitlocks;
        if (_locks > 0) throw;
        bitlocks = uint(-1);
        _;
        bitlocks = _locks;
    }

    ///@dev empty marking modifier signaling to user of the marked function , that it can cause an reentrant call.
    ///     developer should make the caller function reentrant-safe if it use a reentrant function.
    modifier reentrant { _; }

}

contract Owned is Base {

    address public owner;
    address public newOwner;

    function Owned() {
        owner = msg.sender;
    }

    function transferOwnership(address _newOwner) only(owner) {
        newOwner = _newOwner;
    }

    function acceptOwnership() only(newOwner) {
        OwnershipTransferred(owner, newOwner);
        owner = newOwner;
    }

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

}


contract ERC20 is Owned {

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

    function transfer(address _to, uint256 _value) isStartedOnly returns (bool success) {
        if (balances[msg.sender] >= _value && balances[_to] + _value > balances[_to]) {
            balances[msg.sender] -= _value;
            balances[_to] += _value;
            Transfer(msg.sender, _to, _value);
            return true;
        } else { return false; }
    }

    function transferFrom(address _from, address _to, uint256 _value) isStartedOnly returns (bool success) {
        if (balances[_from] >= _value && allowed[_from][msg.sender] >= _value && balances[_to] + _value > balances[_to]) {
            balances[_to] += _value;
            balances[_from] -= _value;
            allowed[_from][msg.sender] -= _value;
            Transfer(_from, _to, _value);
            return true;
        } else { return false; }
    }

    function balanceOf(address _owner) constant returns (uint256 balance) {
        return balances[_owner];
    }

    function approve(address _spender, uint256 _value) isStartedOnly returns (bool success) {
        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
        return true;
    }

    function allowance(address _owner, address _spender) constant returns (uint256 remaining) {
        return allowed[_owner][_spender];
    }

    mapping (address => uint256) balances;
    mapping (address => mapping (address => uint256)) allowed;

    uint256 public totalSupply;
    bool    public isStarted = false;

    modifier onlyHolder(address holder) {
        if (balanceOf(holder) == 0) throw;
        _;
    }

    modifier isStartedOnly() {
        if (!isStarted) throw;
        _;
    }

}


contract SubscriptionModule {
    function attachToken(address addr) public ;
}

contract SAN is Owned, ERC20 {

    string public constant name     = "SANtiment network token";
    string public constant symbol   = "SAN";
    uint8  public constant decimals = 18;

    address CROWDSALE_MINTER = 0xDa2Cf810c5718135247628689D84F94c61B41d6A;
    address public SUBSCRIPTION_MODULE = 0x00000000;
    address public beneficiary;

    uint public PLATFORM_FEE_PER_10000 = 1; //0.01%
    uint public totalOnDeposit;
    uint public totalInCirculation;

    ///@dev constructor
    function SAN() {
        beneficiary = owner = msg.sender;
    }

    // ------------------------------------------------------------------------
    // Don't accept ethers
    // ------------------------------------------------------------------------
    function () {
        throw;
    }

    //======== SECTION Configuration: Owner only ========
    //
    ///@notice set beneficiary - the account receiving platform fees.
    function setBeneficiary(address newBeneficiary)
    external
    only(owner) {
        beneficiary = newBeneficiary;
    }


    ///@notice attach module managing subscriptions. if subModule==0x0, then disables subscription functionality for this token.
    /// detached module can usually manage subscriptions, but all operations changing token balances are disabled.
    function attachSubscriptionModule(SubscriptionModule subModule)
    noAnyReentrancy
    external
    only(owner) {
        SUBSCRIPTION_MODULE = subModule;
        if (address(subModule) > 0) subModule.attachToken(this);
    }

    ///@notice set platform fee denominated in 1/10000 of SAN token. Thus "1" means 0.01% of SAN token.
    function setPlatformFeePer10000(uint newFee)
    external
    only(owner) {
        require (newFee <= 10000); //formally maximum fee is 100% (completely insane but technically possible)
        PLATFORM_FEE_PER_10000 = newFee;
    }

    function startToken()
    isNotStartedOnly
    only(owner) {
        totalInCirculation = totalSupply;
        isStarted = true;
    }

    //======== Interface XRateProvider: a trivial exchange rate provider. Rate is 1:1 and SAN symbol as the code
    //
    ///@dev used as a default XRateProvider (id==0) by subscription module.
    ///@notice returns always 1 because exchange rate of the token to itself is always 1.
    function getRate() returns(uint32 ,uint32) { return (1,1);  }
    function getCode() public returns(string)  { return symbol; }


    //==== Interface ERC20ModuleSupport: Subscription, Deposit and Payment Support =====
    ///
    ///@dev used by subscription module to operate on token balances.
    ///@param msg_sender should be an original msg.sender provided to subscription module.
    function _fulfillPreapprovedPayment(address _from, address _to, uint _value, address msg_sender)
    public
    onlyTrusted
    returns(bool success) {
        success = _from != msg_sender && allowed[_from][msg_sender] >= _value;
        if (!success) {
            Payment(_from, _to, _value, _fee(_value), msg_sender, PaymentStatus.APPROVAL_ERROR, 0);
        } else {
            success = _fulfillPayment(_from, _to, _value, 0, msg_sender);
            if (success) {
                allowed[_from][msg_sender] -= _value;
            }
        }
        return success;
    }

    ///@dev used by subscription module to operate on token balances.
    ///@param msg_sender should be an original msg.sender provided to subscription module.
    function _fulfillPayment(address _from, address _to, uint _value, uint subId, address msg_sender)
    public
    onlyTrusted
    returns (bool success) {
        var fee = _fee(_value);
        assert (fee <= _value); //internal sanity check
        if (balances[_from] >= _value && balances[_to] + _value > balances[_to]) {
            balances[_from] -= _value;
            balances[_to] += _value - fee;
            balances[beneficiary] += fee;
            Payment(_from, _to, _value, fee, msg_sender, PaymentStatus.OK, subId);
            return true;
        } else {
            Payment(_from, _to, _value, fee, msg_sender, PaymentStatus.BALANCE_ERROR, subId);
            return false;
        }
    }

    function _fee(uint _value) internal constant returns (uint fee) {
        return _value * PLATFORM_FEE_PER_10000 / 10000;
    }

    ///@notice used by subscription module to re-create token from returning deposit.
    ///@dev a subscription module is responsible to correct deposit management.
    function _mintFromDeposit(address owner, uint amount)
    public
    onlyTrusted {
        balances[owner] += amount;
        totalOnDeposit -= amount;
        totalInCirculation += amount;
    }

    ///@notice used by subscription module to burn token while creating a new deposit.
    ///@dev a subscription module is responsible to create and maintain the deposit record.
    function _burnForDeposit(address owner, uint amount)
    public
    onlyTrusted
    returns (bool success) {
        if (balances[owner] >= amount) {
            balances[owner] -= amount;
            totalOnDeposit += amount;
            totalInCirculation -= amount;
            return true;
        } else { return false; }
    }

    
    //========= Crowdsale Only ===============
    ///@notice mint new token for given account in crowdsale stage
    ///@dev allowed only if token not started yet and only for registered minter.
    ///@dev tokens are become in circulation after token start.
    function mint(uint amount, address account)
    onlyCrowdsaleMinter
    isNotStartedOnly
    {
        totalSupply += amount;
        balances[account]+=amount;
    }

    ///@notice start normal operation of the token. No minting is possible after this point.
    function start()
    onlyCrowdsaleMinter
    isNotStartedOnly {
        totalInCirculation = totalSupply;
        isStarted = true;
    }

    //========= SECTION: Modifier ===============

    modifier onlyCrowdsaleMinter() {
        if (msg.sender != CROWDSALE_MINTER) throw;
        _;
    }

    modifier onlyTrusted() {
        if (msg.sender != SUBSCRIPTION_MODULE) throw;
        _;
    }

    ///@dev token not started means minting is possible, but usual token operations are not.
    modifier isNotStartedOnly() {
        if (isStarted) throw;
        _;
    }

    enum PaymentStatus {OK, BALANCE_ERROR, APPROVAL_ERROR}
    ///@notice event issued on any fee based payment (made of failed).
    ///@param subId - related subscription Id if any, or zero otherwise.
    event Payment(address _from, address _to, uint _value, uint _fee, address caller, PaymentStatus status, uint subId);

}//contract SAN

    Contract ABI  
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"newBeneficiary","type":"address"}],"name":"setBeneficiary","outputs":[],"payable":false,"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,"type":"function"},{"constant":false,"inputs":[{"name":"owner","type":"address"},{"name":"amount","type":"uint256"}],"name":"_mintFromDeposit","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"subId","type":"uint256"},{"name":"msg_sender","type":"address"}],"name":"_fulfillPayment","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"SUBSCRIPTION_MODULE","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"beneficiary","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"isStarted","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"msg_sender","type":"address"}],"name":"_fulfillPreapprovedPayment","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalInCirculation","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"getRate","outputs":[{"name":"","type":"uint32"},{"name":"","type":"uint32"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"a","type":"uint256"},{"name":"b","type":"uint256"}],"name":"max","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"subModule","type":"address"}],"name":"attachSubscriptionModule","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"a","type":"uint256"},{"name":"b","type":"uint256"}],"name":"min","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"},{"name":"account","type":"address"}],"name":"mint","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalOnDeposit","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"owner","type":"address"},{"name":"amount","type":"uint256"}],"name":"_burnForDeposit","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"start","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"startToken","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"PLATFORM_FEE_PER_10000","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"getCode","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"newFee","type":"uint256"}],"name":"setPlatformFeePer10000","outputs":[],"payable":false,"type":"function"},{"inputs":[],"payable":false,"type":"constructor"},{"payable":false,"type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_from","type":"address"},{"indexed":false,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"},{"indexed":false,"name":"_fee","type":"uint256"},{"indexed":false,"name":"caller","type":"address"},{"indexed":false,"name":"status","type":"uint8"},{"indexed":false,"name":"subId","type":"uint256"}],"name":"Payment","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

  Contract Creation Code Switch To Opcodes View
60606040526000805560068054600160a860020a03191674da2cf810c5718135247628689d84f94c61b41d6a0017905560078054600160a060020a03191690556001600955341561004c57fe5b5b5b60018054600160a060020a03191633600160a060020a03161790555b60018054600160a060020a033316600160a060020a031991821681179092556008805490911690911790555b5b6113d7806100a66000396000f3006060604052361561019e5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146101b4578063095ea7b31461024457806318160ddd146102775780631c31f7101461029957806323b872dd146102b75780632981cceb146102f05780632c7ec2c214610311578063313ce5671461035557806335b55d981461037b57806338af3eed146103a7578063544736e6146103d357806359ba1dd5146103f75780635cb0c16f14610437578063679aefce146104595780636d5433e61461048c5780636dd43d1f146104b457806370a08231146104d257806379ba5097146105005780637ae2b5c7146105125780638da5cb5b1461053a57806394bf804d1461056657806395d89b41146105875780639bd3345714610617578063a9059cbb14610639578063abf0661f1461066c578063be9a65551461069f578063cd00ee0d146106b1578063d4ee1d90146106c3578063dd62ed3e146106ef578063e3d0799c14610723578063ea87963414610745578063f2fde38b146107d5578063f9cc2e66146107f3575b34156101a657fe5b6101b25b60006000fd5b565b005b34156101bc57fe5b6101c4610808565b60408051602080825283518183015283519192839290830191850190808383821561020a575b80518252602083111561020a57601f1990920191602091820191016101ea565b505050905090810190601f1680156102365780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561024c57fe5b610263600160a060020a036004351660243561083f565b604080519115158252519081900360200190f35b341561027f57fe5b6102876108bc565b60408051918252519081900360200190f35b34156102a157fe5b6101b2600160a060020a03600435166108c2565b005b34156102bf57fe5b610263600160a060020a036004358116906024351660443561090d565b604080519115158252519081900360200190f35b34156102f857fe5b6101b2600160a060020a0360043516602435610a32565b005b341561031957fe5b610263600160a060020a03600435811690602435811690604435906064359060843516610a83565b604080519115158252519081900360200190f35b341561035d57fe5b610365610c7d565b6040805160ff9092168252519081900360200190f35b341561038357fe5b61038b610c82565b60408051600160a060020a039092168252519081900360200190f35b34156103af57fe5b61038b610c91565b60408051600160a060020a039092168252519081900360200190f35b34156103db57fe5b610263610ca0565b604080519115158252519081900360200190f35b34156103ff57fe5b610263600160a060020a036004358116906024358116906044359060643516610ca9565b604080519115158252519081900360200190f35b341561043f57fe5b610287610df4565b60408051918252519081900360200190f35b341561046157fe5b610469610dfa565b6040805163ffffffff938416815291909216602082015281519081900390910190f35b341561049457fe5b610287600435602435610e02565b60408051918252519081900360200190f35b34156104bc57fe5b6101b2600160a060020a0360043516610e1d565b005b34156104da57fe5b610287600160a060020a0360043516610f15565b60408051918252519081900360200190f35b341561050857fe5b6101b2610f34565b005b341561051a57fe5b610287600435602435610fc4565b60408051918252519081900360200190f35b341561054257fe5b61038b610fdf565b60408051600160a060020a039092168252519081900360200190f35b341561056e57fe5b6101b2600435600160a060020a0360243516610fee565b005b341561058f57fe5b6101c461104d565b60408051602080825283518183015283519192839290830191850190808383821561020a575b80518252602083111561020a57601f1990920191602091820191016101ea565b505050905090810190601f1680156102365780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561061f57fe5b610287611084565b60408051918252519081900360200190f35b341561064157fe5b610263600160a060020a036004351660243561108a565b604080519115158252519081900360200190f35b341561067457fe5b610263600160a060020a0360043516602435611165565b604080519115158252519081900360200190f35b34156106a757fe5b6101b26111ec565b005b34156106b957fe5b6101b2611236565b005b34156106cb57fe5b61038b61127d565b60408051600160a060020a039092168252519081900360200190f35b34156106f757fe5b610287600160a060020a036004358116906024351661128c565b60408051918252519081900360200190f35b341561072b57fe5b6102876112b9565b60408051918252519081900360200190f35b341561074d57fe5b6101c46112bf565b60408051602080825283518183015283519192839290830191850190808383821561020a575b80518252602083111561020a57601f1990920191602091820191016101ea565b505050905090810190601f1680156102365780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156107dd57fe5b6101b2600160a060020a0360043516611300565b005b34156107fb57fe5b6101b260043561134b565b005b60408051808201909152601781527f53414e74696d656e74206e6574776f726b20746f6b656e000000000000000000602082015281565b60065460009060ff1615156108545760006000fd5b600160a060020a03338116600081815260046020908152604080832094881680845294825291829020869055815186815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a35060015b5b92915050565b60055481565b600154600160a060020a0390811690331681146108df5760006000fd5b6008805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0384161790555b5b5050565b60065460009060ff1615156109225760006000fd5b600160a060020a0384166000908152600360205260409020548290108015906109725750600160a060020a0380851660009081526004602090815260408083203390941683529290522054829010155b80156109975750600160a060020a038316600090815260036020526040902054828101115b15610a2557600160a060020a03808416600081815260036020908152604080832080548801905588851680845281842080548990039055600483528184203390961684529482529182902080548790039055815186815291519293927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3506001610a29565b5060005b5b5b9392505050565b60075433600160a060020a03908116911614610a4e5760006000fd5b600160a060020a0382166000908152600360205260409020805482019055600a80548290039055600b8054820190555b5b5050565b600754600090819033600160a060020a03908116911614610aa45760006000fd5b610aad85611383565b905084811115610ab957fe5b600160a060020a038716600090815260036020526040902054859010801590610afb5750600160a060020a038616600090815260036020526040902054858101115b15610bc057600160a060020a03808816600081815260036020908152604080832080548b900390558a85168084528184208054888d030190556008548616845281842080548801905581519485529184019190915282018890526060820184905291851660808201527f83725a910247ba73f0cbe5d1f944bdf6e0456c94ccb822dbdd206f4bed6b045e91899189918991869189918b9060a08101835b60ff16815260200182815260200197505050505050505060405180910390a160019150610c71565b7f83725a910247ba73f0cbe5d1f944bdf6e0456c94ccb822dbdd206f4bed6b045e878787848760018a6040518088600160a060020a0316600160a060020a0316815260200187600160a060020a0316600160a060020a0316815260200186815260200185815260200184600160a060020a0316600160a060020a03168152602001836002811115610c4d57fe5b60ff16815260200182815260200197505050505050505060405180910390a1600091505b5b5b5095945050505050565b601281565b600754600160a060020a031681565b600854600160a060020a031681565b60065460ff1681565b60075460009033600160a060020a03908116911614610cc85760006000fd5b81600160a060020a031685600160a060020a031614158015610d105750600160a060020a03808616600090815260046020908152604080832093861683529290522054839010155b9050801515610da6577f83725a910247ba73f0cbe5d1f944bdf6e0456c94ccb822dbdd206f4bed6b045e858585610d4687611383565b60408051600160a060020a0380871682528581166020830152918101849052606081018390529088166080820152879060029060009060a08101835b60ff16815260200182815260200197505050505050505060405180910390a1610de9565b610db4858585600086610a83565b90508015610de957600160a060020a038086166000908152600460209081526040808320938616835292905220805484900390555b5b5b5b949350505050565b600b5481565b6001805b9091565b600081831015610e125781610e14565b825b90505b92915050565b6000805490811115610e2f5760006000fd5b600019600055600154600160a060020a039081169033168114610e525760006000fd5b6007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0385169081179091556000901115610f085782600160a060020a031663406a6f60306040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082600160a060020a0316600160a060020a03168152602001915050600060405180830381600087803b1515610ef657fe5b6102c65a03f11515610f0457fe5b5050505b5b5b5060008190555b5050565b600160a060020a0381166000908152600360205260409020545b919050565b600254600160a060020a039081169033168114610f515760006000fd5b600254600154604051600160a060020a0392831692909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36002546001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039092169190911790555b5b50565b600081831115610e125781610e14565b825b90505b92915050565b600154600160a060020a031681565b60065433600160a060020a03908116610100909204161461100f5760006000fd5b60065460ff16156110205760006000fd5b6005805483019055600160a060020a03811660009081526003602052604090208054830190555b5b5b5050565b60408051808201909152600381527f53414e0000000000000000000000000000000000000000000000000000000000602082015281565b600a5481565b60065460009060ff16151561109f5760006000fd5b600160a060020a0333166000908152600360205260409020548290108015906110e15750600160a060020a038316600090815260036020526040902054828101115b1561115557600160a060020a03338116600081815260036020908152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35060016108b5565b5060006108b5565b5b5b92915050565b60075460009033600160a060020a039081169116146111845760006000fd5b600160a060020a0383166000908152600360205260409020548290106111555750600160a060020a038216600090815260036020526040902080548290039055600a805482019055600b8054829003905560016108b5565b5060006108b5565b5b5b92915050565b60065433600160a060020a03908116610100909204161461120d5760006000fd5b60065460ff161561121e5760006000fd5b600554600b556006805460ff191660011790555b5b5b565b60065460ff16156112475760006000fd5b600154600160a060020a0390811690331681146112645760006000fd5b600554600b556006805460ff191660011790555b5b505b565b600254600160a060020a031681565b600160a060020a038083166000908152600460209081526040808320938516835292905220545b92915050565b60095481565b6112c7611399565b5060408051808201909152600381527f53414e000000000000000000000000000000000000000000000000000000000060208201525b90565b600154600160a060020a03908116903316811461131d5760006000fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0384161790555b5b5050565b600154600160a060020a0390811690331681146113685760006000fd5b6127108211156113785760006000fd5b60098290555b5b5050565b6009546000906127109083025b0490505b919050565b604080516020810190915260008152905600a165627a7a72305820c88f7e9bba3ee0dbc2e6dc4ae699a2f59d03e11ef10a5f6126d85585f209f80f0029

   Swarm Source:
bzzr://c88f7e9bba3ee0dbc2e6dc4ae699a2f59d03e11ef10a5f6126d85585f209f80f

 

View All
Block Age transaction Difficulty 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.