ETH Price: $3,142.92 (-1.38%)

Contract

0xC5bBaE50781Be1669306b9e001EFF57a2957b09d
 

More Info

Private Name Tags

TokenTracker

Gifto (GTO) (@$0.0175)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer211577182024-11-10 13:58:3518 hrs ago1731247115IN
Gifto Token
0 ETH0.0006566213.2568593
Transfer210686172024-10-29 3:30:2313 days ago1730172623IN
Gifto Token
0 ETH0.000457414.104
Transfer210685392024-10-29 3:14:4713 days ago1730171687IN
Gifto Token
0 ETH0.0009741817.93053874
Transfer210489052024-10-26 9:28:4715 days ago1729934927IN
Gifto Token
0 ETH0.000208575.60217876
Transfer210488252024-10-26 9:12:4715 days ago1729933967IN
Gifto Token
0 ETH0.00030355.58748373
Transfer210487542024-10-26 8:58:3515 days ago1729933115IN
Gifto Token
0 ETH0.000347146.3908942
Transfer210260202024-10-23 4:53:3519 days ago1729659215IN
Gifto Token
0 ETH0.00035736.57798371
Transfer210220522024-10-22 15:35:4719 days ago1729611347IN
Gifto Token
0 ETH0.000775614.27556299
Transfer209725532024-10-15 17:47:4726 days ago1729014467IN
Gifto Token
0 ETH0.0009577517.6281018
Approve208868272024-10-03 18:39:1138 days ago1727980751IN
Gifto Token
0 ETH0.0013688928.37622899
Approve208867192024-10-03 18:17:3538 days ago1727979455IN
Gifto Token
0 ETH0.0008450329.46740527
Approve208867182024-10-03 18:17:2338 days ago1727979443IN
Gifto Token
0 ETH0.0013310327.40044199
Transfer208853472024-10-03 13:40:2338 days ago1727962823IN
Gifto Token
0 ETH0.000475689.60375443
Transfer207420962024-09-13 13:49:2358 days ago1726235363IN
Gifto Token
0 ETH0.000159713.22463625
Approve206879032024-09-06 0:14:3566 days ago1725581675IN
Gifto Token
0 ETH0.000428988.83100806
Transfer206774612024-09-04 13:16:4767 days ago1725455807IN
Gifto Token
0 ETH0.000253236.80176295
Transfer206774512024-09-04 13:14:4767 days ago1725455687IN
Gifto Token
0 ETH0.000398557.33723742
Transfer206739332024-09-04 1:28:2368 days ago1725413303IN
Gifto Token
0 ETH0.000349437.05493743
Approve206314612024-08-29 3:07:5974 days ago1724900879IN
Gifto Token
0 ETH0.000035450.73490514
Approve206314312024-08-29 3:01:5974 days ago1724900519IN
Gifto Token
0 ETH0.000042880.88891978
Approve206196112024-08-27 11:25:5975 days ago1724757959IN
Gifto Token
0 ETH0.000061191.26860159
Transfer206194962024-08-27 11:02:5975 days ago1724756579IN
Gifto Token
0 ETH0.000048461.49507386
Transfer206193962024-08-27 10:42:5975 days ago1724755379IN
Gifto Token
0 ETH0.000041361.53832064
Transfer206192832024-08-27 10:20:2375 days ago1724754023IN
Gifto Token
0 ETH0.000044061.63879367
Transfer206192752024-08-27 10:18:4775 days ago1724753927IN
Gifto Token
0 ETH0.000039171.45683305
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
47310592017-12-14 12:01:532523 days ago1513252913
Gifto Token
6 ETH
47310592017-12-14 12:01:532523 days ago1513252913
Gifto Token
4 ETH
47310592017-12-14 12:01:532523 days ago1513252913
Gifto Token
16 ETH
47310592017-12-14 12:01:532523 days ago1513252913
Gifto Token
2 ETH
47310592017-12-14 12:01:532523 days ago1513252913
Gifto Token
2 ETH
47310592017-12-14 12:01:532523 days ago1513252913
Gifto Token
2 ETH
47310592017-12-14 12:01:532523 days ago1513252913
Gifto Token
22 ETH
47310592017-12-14 12:01:532523 days ago1513252913
Gifto Token
2.3 ETH
47310592017-12-14 12:01:532523 days ago1513252913
Gifto Token
23 ETH
47310592017-12-14 12:01:532523 days ago1513252913
Gifto Token
7.15 ETH
47310592017-12-14 12:01:532523 days ago1513252913
Gifto Token
23 ETH
47310592017-12-14 12:01:532523 days ago1513252913
Gifto Token
5.44200647 ETH
47310592017-12-14 12:01:532523 days ago1513252913
Gifto Token
10 ETH
47310592017-12-14 12:01:532523 days ago1513252913
Gifto Token
11 ETH
47310592017-12-14 12:01:532523 days ago1513252913
Gifto Token
6.45 ETH
47310592017-12-14 12:01:532523 days ago1513252913
Gifto Token
23 ETH
47310592017-12-14 12:01:532523 days ago1513252913
Gifto Token
2.3 ETH
47310592017-12-14 12:01:532523 days ago1513252913
Gifto Token
23 ETH
47310592017-12-14 12:01:532523 days ago1513252913
Gifto Token
23 ETH
47310592017-12-14 12:01:532523 days ago1513252913
Gifto Token
0.5 ETH
47310592017-12-14 12:01:532523 days ago1513252913
Gifto Token
15 ETH
47310592017-12-14 12:01:532523 days ago1513252913
Gifto Token
1.1 ETH
47310592017-12-14 12:01:532523 days ago1513252913
Gifto Token
2.3 ETH
47310592017-12-14 12:01:532523 days ago1513252913
Gifto Token
23 ETH
47310592017-12-14 12:01:532523 days ago1513252913
Gifto Token
23 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Gifto

Compiler Version
v0.4.18+commit.9cf6e910

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2017-12-14
*/

pragma solidity ^0.4.18;

// ----------------------------------------------------------------------------------------------
// Gifto Token by Gifto Limited.
// An ERC20 standard
//
// author: Gifto Team
// Contact: [email protected]

contract ERC20Interface {
    // Get the total token supply
    function totalSupply() public constant returns (uint256 _totalSupply);
 
    // Get the account balance of another account with address _owner
    function balanceOf(address _owner) public constant returns (uint256 balance);
 
    // Send _value amount of tokens to address _to
    function transfer(address _to, uint256 _value) public returns (bool success);
    
    // transfer _value amount of token approved by address _from
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success);

    // approve an address with _value amount of tokens
    function approve(address _spender, uint256 _value) public returns (bool success);

    // get remaining token approved by _owner to _spender
    function allowance(address _owner, address _spender) public constant returns (uint256 remaining);
  
    // Triggered when tokens are transferred.
    event Transfer(address indexed _from, address indexed _to, uint256 _value);
 
    // Triggered whenever approve(address _spender, uint256 _value) is called.
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);
}
 
contract Gifto is ERC20Interface {
    uint256 public constant decimals = 5;

    string public constant symbol = "GTO";
    string public constant name = "Gifto";

    bool public _selling = true;//initial selling
    uint256 public _totalSupply = 10 ** 14; // total supply is 10^14 unit, equivalent to 10^9 Gifto
    uint256 public _originalBuyPrice = 43 * 10**7; // original buy 1ETH = 4300 Gifto = 43 * 10**7 unit

    // Owner of this contract
    address public owner;
 
    // Balances Gifto for each account
    mapping(address => uint256) private balances;
    
    // Owner of account approves the transfer of an amount to another account
    mapping(address => mapping (address => uint256)) private allowed;

    // List of approved investors
    mapping(address => bool) private approvedInvestorList;
    
    // deposit
    mapping(address => uint256) private deposit;
    
    // icoPercent
    uint256 public _icoPercent = 10;
    
    // _icoSupply is the avalable unit. Initially, it is _totalSupply
    uint256 public _icoSupply = _totalSupply * _icoPercent / 100;
    
    // minimum buy 0.3 ETH
    uint256 public _minimumBuy = 3 * 10 ** 17;
    
    // maximum buy 25 ETH
    uint256 public _maximumBuy = 25 * 10 ** 18;

    // totalTokenSold
    uint256 public totalTokenSold = 0;
    
    // tradable
    bool public tradable = false;
    
    /**
     * Functions with this modifier can only be executed by the owner
     */
    modifier onlyOwner() {
        require(msg.sender == owner);
        _;
    }

    /**
     * Functions with this modifier check on sale status
     * Only allow sale if _selling is on
     */
    modifier onSale() {
        require(_selling);
        _;
    }
    
    /**
     * Functions with this modifier check the validity of address is investor
     */
    modifier validInvestor() {
        require(approvedInvestorList[msg.sender]);
        _;
    }
    
    /**
     * Functions with this modifier check the validity of msg value
     * value must greater than equal minimumBuyPrice
     * total deposit must less than equal maximumBuyPrice
     */
    modifier validValue(){
        // require value >= _minimumBuy AND total deposit of msg.sender <= maximumBuyPrice
        require ( (msg.value >= _minimumBuy) &&
                ( (deposit[msg.sender] + msg.value) <= _maximumBuy) );
        _;
    }
    
    /**
     * 
     */
    modifier isTradable(){
        require(tradable == true || msg.sender == owner);
        _;
    }

    /// @dev Fallback function allows to buy ether.
    function()
        public
        payable {
        buyGifto();
    }
    
    /// @dev buy function allows to buy ether. for using optional data
    function buyGifto()
        public
        payable
        onSale
        validValue
        validInvestor {
        uint256 requestedUnits = (msg.value * _originalBuyPrice) / 10**18;
        require(balances[owner] >= requestedUnits);
        // prepare transfer data
        balances[owner] -= requestedUnits;
        balances[msg.sender] += requestedUnits;
        
        // increase total deposit amount
        deposit[msg.sender] += msg.value;
        
        // check total and auto turnOffSale
        totalTokenSold += requestedUnits;
        if (totalTokenSold >= _icoSupply){
            _selling = false;
        }
        
        // submit transfer
        Transfer(owner, msg.sender, requestedUnits);
        owner.transfer(msg.value);
    }

    /// @dev Constructor
    function Gifto() 
        public {
        owner = msg.sender;
        setBuyPrice(_originalBuyPrice);
        balances[owner] = _totalSupply;
        Transfer(0x0, owner, _totalSupply);
    }
    
    /// @dev Gets totalSupply
    /// @return Total supply
    function totalSupply()
        public 
        constant 
        returns (uint256) {
        return _totalSupply;
    }
    
    /// @dev Enables sale 
    function turnOnSale() onlyOwner 
        public {
        _selling = true;
    }

    /// @dev Disables sale
    function turnOffSale() onlyOwner 
        public {
        _selling = false;
    }
    
    function turnOnTradable() 
        public
        onlyOwner{
        tradable = true;
    }
    
    /// @dev set new icoPercent
    /// @param newIcoPercent new value of icoPercent
    function setIcoPercent(uint256 newIcoPercent)
        public 
        onlyOwner {
        _icoPercent = newIcoPercent;
        _icoSupply = _totalSupply * _icoPercent / 100;
    }
    
    /// @dev set new _maximumBuy
    /// @param newMaximumBuy new value of _maximumBuy
    function setMaximumBuy(uint256 newMaximumBuy)
        public 
        onlyOwner {
        _maximumBuy = newMaximumBuy;
    }

    /// @dev Updates buy price (owner ONLY)
    /// @param newBuyPrice New buy price (in unit)
    function setBuyPrice(uint256 newBuyPrice) 
        onlyOwner 
        public {
        require(newBuyPrice>0);
        _originalBuyPrice = newBuyPrice; // 3000 Gifto = 3000 00000 unit
        // control _maximumBuy_USD = 10,000 USD, Gifto price is 0.1USD
        // maximumBuy_Gifto = 100,000 Gifto = 100,000,00000 unit
        // 3000 Gifto = 1ETH => maximumETH = 100,000,00000 / _originalBuyPrice
        // 100,000,00000/3000 0000 ~ 33ETH => change to wei
        _maximumBuy = 10**18 * 10000000000 /_originalBuyPrice;
    }
        
    /// @dev Gets account's balance
    /// @param _addr Address of the account
    /// @return Account balance
    function balanceOf(address _addr) 
        public
        constant 
        returns (uint256) {
        return balances[_addr];
    }
    
    /// @dev check address is approved investor
    /// @param _addr address
    function isApprovedInvestor(address _addr)
        public
        constant
        returns (bool) {
        return approvedInvestorList[_addr];
    }
    
    /// @dev get ETH deposit
    /// @param _addr address get deposit
    /// @return amount deposit of an buyer
    function getDeposit(address _addr)
        public
        constant
        returns(uint256){
        return deposit[_addr];
}
    
    /// @dev Adds list of new investors to the investors list and approve all
    /// @param newInvestorList Array of new investors addresses to be added
    function addInvestorList(address[] newInvestorList)
        onlyOwner
        public {
        for (uint256 i = 0; i < newInvestorList.length; i++){
            approvedInvestorList[newInvestorList[i]] = true;
        }
    }

    /// @dev Removes list of investors from list
    /// @param investorList Array of addresses of investors to be removed
    function removeInvestorList(address[] investorList)
        onlyOwner
        public {
        for (uint256 i = 0; i < investorList.length; i++){
            approvedInvestorList[investorList[i]] = false;
        }
    }
 
    /// @dev Transfers the balance from msg.sender to an account
    /// @param _to Recipient address
    /// @param _amount Transfered amount in unit
    /// @return Transfer status
    function transfer(address _to, uint256 _amount)
        public 
        isTradable
        returns (bool) {
        // if sender's balance has enough unit and amount >= 0, 
        //      and the sum is not overflow,
        // then do transfer 
        if ( (balances[msg.sender] >= _amount) &&
             (_amount >= 0) && 
             (balances[_to] + _amount > balances[_to]) ) {  

            balances[msg.sender] -= _amount;
            balances[_to] += _amount;
            Transfer(msg.sender, _to, _amount);
            return true;
        } else {
            return false;
        }
    }
     
    // Send _value amount of tokens from address _from to address _to
    // The transferFrom method is used for a withdraw workflow, allowing contracts to send
    // tokens on your behalf, for example to "deposit" to a contract address and/or to charge
    // fees in sub-currencies; the command should fail unless the _from account has
    // deliberately authorized the sender of the message via some mechanism; we propose
    // these standardized APIs for approval:
    function transferFrom(
        address _from,
        address _to,
        uint256 _amount
    )
    public
    isTradable
    returns (bool success) {
        if (balances[_from] >= _amount
            && allowed[_from][msg.sender] >= _amount
            && _amount > 0
            && balances[_to] + _amount > balances[_to]) {
            balances[_from] -= _amount;
            allowed[_from][msg.sender] -= _amount;
            balances[_to] += _amount;
            Transfer(_from, _to, _amount);
            return true;
        } else {
            return false;
        }
    }
    
    // Allow _spender to withdraw from your account, multiple times, up to the _value amount.
    // If this function is called again it overwrites the current allowance with _value.
    function approve(address _spender, uint256 _amount) 
        public
        isTradable
        returns (bool success) {
        allowed[msg.sender][_spender] = _amount;
        Approval(msg.sender, _spender, _amount);
        return true;
    }
    
    // get allowance
    function allowance(address _owner, address _spender) 
        public
        constant 
        returns (uint256 remaining) {
        return allowed[_owner][_spender];
    }
    
    /// @dev Withdraws Ether in contract (Owner only)
    /// @return Status of withdrawal
    function withdraw() onlyOwner 
        public 
        returns (bool) {
        return owner.send(this.balance);
    }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"newMaximumBuy","type":"uint256"}],"name":"setMaximumBuy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_amount","type":"uint256"}],"name":"approve","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":"turnOffSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"turnOnTradable","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newIcoPercent","type":"uint256"}],"name":"setIcoPercent","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"_icoSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"_totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"buyGifto","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"_icoPercent","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tradable","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newBuyPrice","type":"uint256"}],"name":"setBuyPrice","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"_minimumBuy","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_originalBuyPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_maximumBuy","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"isApprovedInvestor","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"investorList","type":"address[]"}],"name":"removeInvestorList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalTokenSold","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newInvestorList","type":"address[]"}],"name":"addInvestorList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"getDeposit","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"turnOnSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"_selling","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"}]

60606040526000805460ff19166001908117909155655af3107a400090556319a14780600255600a600855606466038d7ea4c6800004600955670429d069189e0000600a5568015af1d78b58c40000600b556000600c55600d805460ff19169055341561006b57600080fd5b60038054600160a060020a03191633600160a060020a031617905560025461009f906401000000006101028102610a2b1704565b60015460038054600160a060020a0390811660009081526004602052604080822085905592549091169290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91905190815260200160405180910390a361014d565b60035433600160a060020a0390811691161461011d57600080fd5b6000811161012a57600080fd5b6002819055806b204fce5e3e2502611000000081151561014657fe5b04600b5550565b610d9f8061015c6000396000f30060606040526004361061018a5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630188fdef811461019457806306fdde03146101aa578063095ea7b31461023457806318160ddd1461026a57806323526a341461028f57806323b872dd146102a25780632fb1746d146102ca578063313ce567146102dd5780633c2d6447146102f05780633c50afe1146103065780633ccfd60b146103195780633eaaf86b1461032c578063430558c21461018a578063501e3a2c1461033f57806354840c6e1461035257806363ae8d6c146103655780636b342eb81461037b57806370a082311461038e57806378f2144b146103ad5780637fd2304f146103c05780638da5cb5b146103d357806395d89b41146104025780639b1fe0d4146104155780639fc3954914610434578063a9059cbb14610483578063b5f7f636146104a5578063bfb9f088146104b8578063dd62ed3e14610507578063e1254fba1461052c578063e98cf9871461054b578063f9323a321461055e575b610192610571565b005b341561019f57600080fd5b6101926004356106f7565b34156101b557600080fd5b6101bd610717565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101f95780820151838201526020016101e1565b50505050905090810190601f1680156102265780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561023f57600080fd5b610256600160a060020a036004351660243561074e565b604051901515815260200160405180910390f35b341561027557600080fd5b61027d6107ea565b60405190815260200160405180910390f35b341561029a57600080fd5b6101926107f0565b34156102ad57600080fd5b610256600160a060020a0360043581169060243516604435610817565b34156102d557600080fd5b610192610964565b34156102e857600080fd5b61027d61098e565b34156102fb57600080fd5b610192600435610993565b341561031157600080fd5b61027d6109c0565b341561032457600080fd5b6102566109c6565b341561033757600080fd5b61027d610a16565b341561034a57600080fd5b61027d610a1c565b341561035d57600080fd5b610256610a22565b341561037057600080fd5b610192600435610a2b565b341561038657600080fd5b61027d610a76565b341561039957600080fd5b61027d600160a060020a0360043516610a7c565b34156103b857600080fd5b61027d610a97565b34156103cb57600080fd5b61027d610a9d565b34156103de57600080fd5b6103e6610aa3565b604051600160a060020a03909116815260200160405180910390f35b341561040d57600080fd5b6101bd610ab2565b341561042057600080fd5b610256600160a060020a0360043516610ae9565b341561043f57600080fd5b6101926004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650610b0795505050505050565b341561048e57600080fd5b610256600160a060020a0360043516602435610b82565b34156104b057600080fd5b61027d610c7d565b34156104c357600080fd5b6101926004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650610c8395505050505050565b341561051257600080fd5b61027d600160a060020a0360043581169060243516610cfa565b341561053757600080fd5b61027d600160a060020a0360043516610d25565b341561055657600080fd5b610192610d40565b341561056957600080fd5b610256610d6a565b6000805460ff16151561058357600080fd5b600a5434101580156105b15750600b54600160a060020a033316600090815260076020526040902054340111155b15156105bc57600080fd5b600160a060020a03331660009081526006602052604090205460ff1615156105e357600080fd5b600254670de0b6b3a7640000903402600354600160a060020a031660009081526004602052604090205491900491508190101561061f57600080fd5b600354600160a060020a039081166000908152600460209081526040808320805486900390553390931682528282208054850190556007905220805434019055600c8054820190819055600954901061067d576000805460ff191690555b600354600160a060020a0333811691167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405190815260200160405180910390a3600354600160a060020a03163480156108fc0290604051600060405180830381858888f1935050505015156106f457600080fd5b50565b60035433600160a060020a0390811691161461071257600080fd5b600b55565b60408051908101604052600581527f476966746f000000000000000000000000000000000000000000000000000000602082015281565b600d5460009060ff16151560011480610775575060035433600160a060020a039081169116145b151561078057600080fd5b600160a060020a03338116600081815260056020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b60015490565b60035433600160a060020a0390811691161461080b57600080fd5b6000805460ff19169055565b600d5460009060ff1615156001148061083e575060035433600160a060020a039081169116145b151561084957600080fd5b600160a060020a0384166000908152600460205260409020548290108015906108995750600160a060020a0380851660009081526005602090815260408083203390941683529290522054829010155b80156108a55750600082115b80156108ca5750600160a060020a038316600090815260046020526040902054828101115b1561095957600160a060020a0380851660008181526004602081815260408084208054899003905560058252808420338716855282528084208054899003905594881680845291905290839020805486019055917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600161095d565b5060005b9392505050565b60035433600160a060020a0390811691161461097f57600080fd5b600d805460ff19166001179055565b600581565b60035433600160a060020a039081169116146109ae57600080fd5b60088190556001546064910204600955565b60095481565b60035460009033600160a060020a039081169116146109e457600080fd5b600354600160a060020a039081169030163180156108fc0290604051600060405180830381858888f194505050505090565b60015481565b60085481565b600d5460ff1681565b60035433600160a060020a03908116911614610a4657600080fd5b60008111610a5357600080fd5b6002819055806b204fce5e3e25026110000000811515610a6f57fe5b04600b5550565b600a5481565b600160a060020a031660009081526004602052604090205490565b60025481565b600b5481565b600354600160a060020a031681565b60408051908101604052600381527f47544f0000000000000000000000000000000000000000000000000000000000602082015281565b600160a060020a031660009081526006602052604090205460ff1690565b60035460009033600160a060020a03908116911614610b2557600080fd5b5060005b8151811015610b7e57600060066000848481518110610b4457fe5b90602001906020020151600160a060020a031681526020810191909152604001600020805460ff1916911515919091179055600101610b29565b5050565b600d5460009060ff16151560011480610ba9575060035433600160a060020a039081169116145b1515610bb457600080fd5b600160a060020a033316600090815260046020526040902054829010801590610bde575060008210155b8015610c035750600160a060020a038316600090815260046020526040902054828101115b15610c7557600160a060020a033381166000818152600460205260408082208054879003905592861680825290839020805486019055917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060016107e4565b5060006107e4565b600c5481565b60035460009033600160a060020a03908116911614610ca157600080fd5b5060005b8151811015610b7e57600160066000848481518110610cc057fe5b90602001906020020151600160a060020a031681526020810191909152604001600020805460ff1916911515919091179055600101610ca5565b600160a060020a03918216600090815260056020908152604080832093909416825291909152205490565b600160a060020a031660009081526007602052604090205490565b60035433600160a060020a03908116911614610d5b57600080fd5b6000805460ff19166001179055565b60005460ff16815600a165627a7a7230582028550519de6b92c153df0e1238e0c64fb6b7fcd6602017e074ab41f07bd777530029

Deployed Bytecode

0x60606040526004361061018a5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630188fdef811461019457806306fdde03146101aa578063095ea7b31461023457806318160ddd1461026a57806323526a341461028f57806323b872dd146102a25780632fb1746d146102ca578063313ce567146102dd5780633c2d6447146102f05780633c50afe1146103065780633ccfd60b146103195780633eaaf86b1461032c578063430558c21461018a578063501e3a2c1461033f57806354840c6e1461035257806363ae8d6c146103655780636b342eb81461037b57806370a082311461038e57806378f2144b146103ad5780637fd2304f146103c05780638da5cb5b146103d357806395d89b41146104025780639b1fe0d4146104155780639fc3954914610434578063a9059cbb14610483578063b5f7f636146104a5578063bfb9f088146104b8578063dd62ed3e14610507578063e1254fba1461052c578063e98cf9871461054b578063f9323a321461055e575b610192610571565b005b341561019f57600080fd5b6101926004356106f7565b34156101b557600080fd5b6101bd610717565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101f95780820151838201526020016101e1565b50505050905090810190601f1680156102265780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561023f57600080fd5b610256600160a060020a036004351660243561074e565b604051901515815260200160405180910390f35b341561027557600080fd5b61027d6107ea565b60405190815260200160405180910390f35b341561029a57600080fd5b6101926107f0565b34156102ad57600080fd5b610256600160a060020a0360043581169060243516604435610817565b34156102d557600080fd5b610192610964565b34156102e857600080fd5b61027d61098e565b34156102fb57600080fd5b610192600435610993565b341561031157600080fd5b61027d6109c0565b341561032457600080fd5b6102566109c6565b341561033757600080fd5b61027d610a16565b341561034a57600080fd5b61027d610a1c565b341561035d57600080fd5b610256610a22565b341561037057600080fd5b610192600435610a2b565b341561038657600080fd5b61027d610a76565b341561039957600080fd5b61027d600160a060020a0360043516610a7c565b34156103b857600080fd5b61027d610a97565b34156103cb57600080fd5b61027d610a9d565b34156103de57600080fd5b6103e6610aa3565b604051600160a060020a03909116815260200160405180910390f35b341561040d57600080fd5b6101bd610ab2565b341561042057600080fd5b610256600160a060020a0360043516610ae9565b341561043f57600080fd5b6101926004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650610b0795505050505050565b341561048e57600080fd5b610256600160a060020a0360043516602435610b82565b34156104b057600080fd5b61027d610c7d565b34156104c357600080fd5b6101926004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650610c8395505050505050565b341561051257600080fd5b61027d600160a060020a0360043581169060243516610cfa565b341561053757600080fd5b61027d600160a060020a0360043516610d25565b341561055657600080fd5b610192610d40565b341561056957600080fd5b610256610d6a565b6000805460ff16151561058357600080fd5b600a5434101580156105b15750600b54600160a060020a033316600090815260076020526040902054340111155b15156105bc57600080fd5b600160a060020a03331660009081526006602052604090205460ff1615156105e357600080fd5b600254670de0b6b3a7640000903402600354600160a060020a031660009081526004602052604090205491900491508190101561061f57600080fd5b600354600160a060020a039081166000908152600460209081526040808320805486900390553390931682528282208054850190556007905220805434019055600c8054820190819055600954901061067d576000805460ff191690555b600354600160a060020a0333811691167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405190815260200160405180910390a3600354600160a060020a03163480156108fc0290604051600060405180830381858888f1935050505015156106f457600080fd5b50565b60035433600160a060020a0390811691161461071257600080fd5b600b55565b60408051908101604052600581527f476966746f000000000000000000000000000000000000000000000000000000602082015281565b600d5460009060ff16151560011480610775575060035433600160a060020a039081169116145b151561078057600080fd5b600160a060020a03338116600081815260056020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b60015490565b60035433600160a060020a0390811691161461080b57600080fd5b6000805460ff19169055565b600d5460009060ff1615156001148061083e575060035433600160a060020a039081169116145b151561084957600080fd5b600160a060020a0384166000908152600460205260409020548290108015906108995750600160a060020a0380851660009081526005602090815260408083203390941683529290522054829010155b80156108a55750600082115b80156108ca5750600160a060020a038316600090815260046020526040902054828101115b1561095957600160a060020a0380851660008181526004602081815260408084208054899003905560058252808420338716855282528084208054899003905594881680845291905290839020805486019055917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600161095d565b5060005b9392505050565b60035433600160a060020a0390811691161461097f57600080fd5b600d805460ff19166001179055565b600581565b60035433600160a060020a039081169116146109ae57600080fd5b60088190556001546064910204600955565b60095481565b60035460009033600160a060020a039081169116146109e457600080fd5b600354600160a060020a039081169030163180156108fc0290604051600060405180830381858888f194505050505090565b60015481565b60085481565b600d5460ff1681565b60035433600160a060020a03908116911614610a4657600080fd5b60008111610a5357600080fd5b6002819055806b204fce5e3e25026110000000811515610a6f57fe5b04600b5550565b600a5481565b600160a060020a031660009081526004602052604090205490565b60025481565b600b5481565b600354600160a060020a031681565b60408051908101604052600381527f47544f0000000000000000000000000000000000000000000000000000000000602082015281565b600160a060020a031660009081526006602052604090205460ff1690565b60035460009033600160a060020a03908116911614610b2557600080fd5b5060005b8151811015610b7e57600060066000848481518110610b4457fe5b90602001906020020151600160a060020a031681526020810191909152604001600020805460ff1916911515919091179055600101610b29565b5050565b600d5460009060ff16151560011480610ba9575060035433600160a060020a039081169116145b1515610bb457600080fd5b600160a060020a033316600090815260046020526040902054829010801590610bde575060008210155b8015610c035750600160a060020a038316600090815260046020526040902054828101115b15610c7557600160a060020a033381166000818152600460205260408082208054879003905592861680825290839020805486019055917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060016107e4565b5060006107e4565b600c5481565b60035460009033600160a060020a03908116911614610ca157600080fd5b5060005b8151811015610b7e57600160066000848481518110610cc057fe5b90602001906020020151600160a060020a031681526020810191909152604001600020805460ff1916911515919091179055600101610ca5565b600160a060020a03918216600090815260056020908152604080832093909416825291909152205490565b600160a060020a031660009081526007602052604090205490565b60035433600160a060020a03908116911614610d5b57600080fd5b6000805460ff19166001179055565b60005460ff16815600a165627a7a7230582028550519de6b92c153df0e1238e0c64fb6b7fcd6602017e074ab41f07bd777530029

Swarm Source

bzzr://28550519de6b92c153df0e1238e0c64fb6b7fcd6602017e074ab41f07bd77753

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.