ETH Price: $3,589.41 (+4.31%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer155832482022-09-21 17:31:47835 days ago1663781507IN
Touristoken: TOU Token
0 ETH0.0009561820
Transfer143779242022-03-13 11:00:071027 days ago1647169207IN
Touristoken: TOU Token
0 ETH0.0003376611
Transfer143775292022-03-13 9:32:191028 days ago1647163939IN
Touristoken: TOU Token
0 ETH0.0004969514
Transfer138569302021-12-22 19:42:571108 days ago1640202177IN
Touristoken: TOU Token
0 ETH0.0024909581.1464271
Transfer138280442021-12-18 8:25:551113 days ago1639815955IN
Touristoken: TOU Token
0 ETH0.0014913742
Transfer136819902021-11-25 6:44:251136 days ago1637822665IN
Touristoken: TOU Token
0 ETH0.0027555289.80043323
Transfer136799532021-11-24 22:56:021136 days ago1637794562IN
Touristoken: TOU Token
0 ETH0.00467057152.21025533
Transfer136799352021-11-24 22:51:481136 days ago1637794308IN
Touristoken: TOU Token
0 ETH0.00460645150.12079962
Transfer136799162021-11-24 22:47:321136 days ago1637794052IN
Touristoken: TOU Token
0 ETH0.00439687143.29058187
Transfer136798742021-11-24 22:36:201136 days ago1637793380IN
Touristoken: TOU Token
0 ETH0.00389304126.8711271
Transfer136798192021-11-24 22:25:271136 days ago1637792727IN
Touristoken: TOU Token
0 ETH0.00278890.82348378
Transfer134617402021-10-21 15:10:411170 days ago1634829041IN
Touristoken: TOU Token
0 ETH0.00672014140.56229601
Transfer133256242021-09-30 6:54:541192 days ago1632984894IN
Touristoken: TOU Token
0 ETH0.001227440
Transfer129804532021-08-07 21:42:201245 days ago1628372540IN
Touristoken: TOU Token
0 ETH0.001626353
Transfer129804472021-08-07 21:39:521245 days ago1628372392IN
Touristoken: TOU Token
0 ETH0.0026115549.66341462
Transfer129537832021-08-03 17:59:441249 days ago1628013584IN
Touristoken: TOU Token
0 ETH0.000757537
Transfer126233712021-06-13 2:07:411301 days ago1623550061IN
Touristoken: TOU Token
0 ETH0.000122916
Transfer125933532021-06-08 10:31:261305 days ago1623148286IN
Touristoken: TOU Token
0 ETH0.0005258510
Transfer124284452021-05-13 21:13:101331 days ago1620940390IN
Touristoken: TOU Token
0 ETH0.0034077196
Transfer124255472021-05-13 10:37:371331 days ago1620902257IN
Touristoken: TOU Token
0 ETH0.054328771,530
Transfer124254732021-05-13 10:21:011331 days ago1620901261IN
Touristoken: TOU Token
0 ETH0.035869751,750
Transfer123175122021-04-26 18:14:541348 days ago1619460894IN
Touristoken: TOU Token
0 ETH0.0025240848
Transfer122770312021-04-20 12:31:331354 days ago1618921893IN
Touristoken: TOU Token
0 ETH0.01635766311
Transfer121564892021-04-01 23:03:041373 days ago1617318184IN
Touristoken: TOU Token
0 ETH0.053994011,330.00001459
Transfer121564642021-04-01 22:58:491373 days ago1617317929IN
Touristoken: TOU Token
0 ETH0.00744999134
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TOURISTOKEN

Compiler Version
v0.4.23+commit.124ca40d

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-09-06
*/

pragma solidity ^0.4.16;

contract owned {
    address public owner;

    function owned() public {
        owner = msg.sender;
    }

    modifier onlyOwner {
        require(msg.sender == owner);
        _;
    }

    function transferOwnership(address newOwner) onlyOwner public {
        owner = newOwner;
    }
}

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

contract TOURISTOKEN {
    string public name;
    string public symbol;
    uint8 public decimals = 18;
    uint256 public totalSupply;

    mapping (address => uint256) public balanceOf;
    mapping (address => mapping (address => uint256)) public allowance;

    event Transfer(address indexed from, address indexed to, uint256 value);

    event Burn(address indexed from, uint256 value);

    /**
     * Constrctor function
     *
     * Initializes contract with initial supply tokens to the creator of the contract
     */
    function TokenERC20(
        uint256 initialSupply,
        string tokenName,
        string tokenSymbol
    ) public {
        totalSupply = 777777777000000000000000000;  
        balanceOf[msg.sender] = totalSupply;               
        name = "TOURISTOKEN";                                   
        symbol = "TOU";                               
    }

    /**
     * Internal transfer, only can be called by this contract
     */
    function _transfer(address _from, address _to, uint _value) internal {
        require(_to != 0x0);
        require(balanceOf[_from] >= _value);
        require(balanceOf[_to] + _value > balanceOf[_to]);
        uint previousBalances = balanceOf[_from] + balanceOf[_to];
        balanceOf[_from] -= _value;
        balanceOf[_to] += _value;
        emit Transfer(_from, _to, _value);
        assert(balanceOf[_from] + balanceOf[_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 returns (bool success) {
        _transfer(msg.sender, _to, _value);
        return true;
    }

    /**
     * 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) {
        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 in 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) {
        allowance[msg.sender][_spender] = _value;
        return true;
    }

    /**
     * Set allowance for other address and notify
     *
     * Allows `_spender` to spend no more than `_value` tokens in 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) {
        require(balanceOf[msg.sender] >= _value);   
        balanceOf[msg.sender] -= _value;            
        totalSupply -= _value;                      
        emit 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) {
        require(balanceOf[_from] >= _value);                
        require(_value <= allowance[_from][msg.sender]);    
        balanceOf[_from] -= _value;                         
        allowance[_from][msg.sender] -= _value;             
        totalSupply -= _value;                              
        emit Burn(_from, _value);
        return true;
    }
}

contract MyAdvancedToken is owned, TOURISTOKEN {

    uint256 public sellPrice;
    uint256 public buyPrice;

    mapping (address => bool) public frozenAccount;

    event FrozenFunds(address target, bool frozen);

    function MyAdvancedToken(
        uint256 initialSupply,
        string tokenName,
        string tokenSymbol
     )MyAdvancedToken(initialSupply, tokenName, tokenSymbol) public {}

    function _transfer(address _from, address _to, uint _value) internal {
        require (_to != 0x0);                               
        require (balanceOf[_from] >= _value);              
        require (balanceOf[_to] + _value >= balanceOf[_to]); 
        require(!frozenAccount[_from]);                     
        require(!frozenAccount[_to]);                       
        balanceOf[_from] -= _value;                         
        balanceOf[_to] += _value;                           
        emit Transfer(_from, _to, _value);
    }

    function mint(address target, uint256 mintedAmount) onlyOwner public {
        balanceOf[target] += mintedAmount;
        totalSupply += mintedAmount;
        emit Transfer(0, this, mintedAmount);
        emit Transfer(this, target, mintedAmount);
    }

    
    function freezeAccount(address target, bool freeze) onlyOwner public {
        frozenAccount[target] = freeze;
        emit FrozenFunds(target, freeze);
    }

    
    function setPrices(uint256 newSellPrice, uint256 newBuyPrice) onlyOwner public {
        sellPrice = newSellPrice;
        buyPrice = newBuyPrice;
    }

    
    function buy() payable public {
        uint amount = msg.value /buyPrice ;              
        _transfer(this, msg.sender, amount);              
    }

    
    function sell(uint256 amount) public {
        address myAddress = this;
        require(myAddress.balance >= amount * sellPrice);      
        _transfer(msg.sender, this, amount);              
        msg.sender.transfer(amount * sellPrice);          
    }
}


/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    if (a == 0) {
      return 0;
    }
    uint256 c = a * b;
    assert(c / a == b);
    return c;
  }

  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a / b;
    return c;
  }

  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    assert(b <= a);
    return a - b;
  }

  function add(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a + b;
    assert(c >= a);
    return c;
  }
}
/**
 * Constrctor function
  function totalSupply() public constant returns (uint256 supply);

  function balanceOf(address _owner) public constant returns (uint256 balance);

  function transfer(address _to, uint256 _value) public returns (bool success);

  function transferFrom(address _from, address _to, uint256 _value) public returns (bool success);

  function approve(address _spender, uint256 _value) public returns (bool success);

  function allowance(address _owner, address _spender) public constant returns (uint256 remaining);

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

  uint public decimals;
  string public name;
}

/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
    
  address public owner;

  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  constructor() public {
    owner = msg.sender;
  }

  /**
   * @dev Throws if called by any account other than the owner.
   */
  modifier onlyOwner() {
    require(msg.sender == owner);
    _;
  }

  /**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param newOwner The address to transfer ownership to.
   */
  function transferOwnership(address newOwner) onlyOwner public {
    require(newOwner != address(0));      
    owner = newOwner;
  }

}
contract Gateway is Ownable{
    using SafeMath for uint;
    address public feeAccount1 = 0xcAc496756f98a4E6e4e56f14e46A6824608a29a2; 
    address public feeAccount2 = 0xE4BD9Cb073A247911A520BbDcBE0e8C2492be346; 
    address public feeAccountToken = 0x5D151cdD1833237ACb2Fef613F560221230D77c5;
    
    struct BuyInfo {
      address buyerAddress; 
      address sellerAddress;
      uint value;
      address currency;
    }
    
    mapping(address => mapping(uint => BuyInfo)) public payment;
   
    uint balanceFee;
    uint public feePercent;
    uint public maxFee;
    constructor() public{
       feePercent = 1500000; 
       maxFee = 3000000; 
    }
    
    
    function getBuyerAddressPayment(address _sellerAddress, uint _orderId) public view returns(address){
      return  payment[_sellerAddress][_orderId].buyerAddress;
    }    
    function getSellerAddressPayment(address _sellerAddress, uint _orderId) public view returns(address){
      return  payment[_sellerAddress][_orderId].sellerAddress;
    }    
    
    function getValuePayment(address _sellerAddress, uint _orderId) public view returns(uint){
      return  payment[_sellerAddress][_orderId].value;
    }    
    
    function getCurrencyPayment(address _sellerAddress, uint _orderId) public view returns(address){
      return  payment[_sellerAddress][_orderId].currency;
    }
    
    
    function setFeeAccount1(address _feeAccount1) onlyOwner public{
      feeAccount1 = _feeAccount1;  
    }
    function setFeeAccount2(address _feeAccount2) onlyOwner public{
      feeAccount2 = _feeAccount2;  
    }
    function setFeeAccountToken(address _feeAccountToken) onlyOwner public{
      feeAccountToken = _feeAccountToken;  
    }    
    function setFeePercent(uint _feePercent) onlyOwner public{
      require(_feePercent <= maxFee);
      feePercent = _feePercent;  
    }    
    function payToken(address _tokenAddress, address _sellerAddress, uint _orderId,  uint _value) public returns (bool success){
      require(_tokenAddress != address(0));
      require(_sellerAddress != address(0)); 
      require(_value > 0);
      TOURISTOKEN token = TOURISTOKEN(_tokenAddress);
      require(token.allowance(msg.sender, this) >= _value);
      token.transferFrom(msg.sender, feeAccountToken, _value.mul(feePercent).div(100000000));
      token.transferFrom(msg.sender, _sellerAddress, _value.sub(_value.mul(feePercent).div(100000000)));
      payment[_sellerAddress][_orderId] = BuyInfo(msg.sender, _sellerAddress, _value, _tokenAddress);
      success = true;
    }
    function payEth(address _sellerAddress, uint _orderId, uint _value) internal returns  (bool success){
      require(_sellerAddress != address(0)); 
      require(_value > 0);
      uint fee = _value.mul(feePercent).div(100000000);
      _sellerAddress.transfer(_value.sub(fee));
      balanceFee = balanceFee.add(fee);
      payment[_sellerAddress][_orderId] = BuyInfo(msg.sender, _sellerAddress, _value, 0x0000000000000000000000000000000000000001);    
      success = true;
    }
    function transferFee() onlyOwner public{
      uint valfee1 = balanceFee.div(2);
      feeAccount1.transfer(valfee1);
      balanceFee = balanceFee.sub(valfee1);
      feeAccount2.transfer(balanceFee);
      balanceFee = 0;
    }
    function balanceOfToken(address _tokenAddress, address _Address) public view returns (uint) {
      TOURISTOKEN token = TOURISTOKEN(_tokenAddress);
      return token.balanceOf(_Address);
    }
    function balanceOfEthFee() public view returns (uint) {
      return balanceFee;
    }
    function bytesToAddress(bytes source) internal pure returns(address) {
      uint result;
      uint mul = 1;
      for(uint i = 20; i > 0; i--) {
        result += uint8(source[i-1])*mul;
        mul = mul*256;
      }
      return address(result);
    }
    function() external payable {
      require(msg.data.length == 20); 
      require(msg.value > 99999999999);
      address sellerAddress = bytesToAddress(bytes(msg.data));
      uint value = msg.value.div(10000000000).mul(10000000000);
      uint orderId = msg.value.sub(value);
      balanceFee = balanceFee.add(orderId);
      payEth(sellerAddress, orderId, value);
  }
}

Contract Security Audit

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":true,"inputs":[],"name":"totalSupply","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":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"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":true,"inputs":[{"name":"","type":"address"}],"name":"balanceOf","outputs":[{"name":"","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":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"initialSupply","type":"uint256"},{"name":"tokenName","type":"string"},{"name":"tokenSymbol","type":"string"}],"name":"TokenERC20","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","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":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"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":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"}]

60806040526002805460ff1916601217905534801561001d57600080fd5b50610ace8061002d6000396000f3006080604052600436106100c45763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100c9578063095ea7b31461015357806318160ddd1461018b57806323b872dd146101b2578063313ce567146101dc57806342966c681461020757806370a082311461021f57806379cc67901461024057806395d89b41146102645780639dbf008714610279578063a9059cbb14610317578063cae9ca511461033b578063dd62ed3e146103a4575b600080fd5b3480156100d557600080fd5b506100de6103cb565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610118578181015183820152602001610100565b50505050905090810190601f1680156101455780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561015f57600080fd5b50610177600160a060020a0360043516602435610459565b604080519115158252519081900360200190f35b34801561019757600080fd5b506101a0610489565b60408051918252519081900360200190f35b3480156101be57600080fd5b50610177600160a060020a036004358116906024351660443561048f565b3480156101e857600080fd5b506101f1610506565b6040805160ff9092168252519081900360200190f35b34801561021357600080fd5b5061017760043561050f565b34801561022b57600080fd5b506101a0600160a060020a0360043516610599565b34801561024c57600080fd5b50610177600160a060020a03600435166024356105ab565b34801561027057600080fd5b506100de610687565b34801561028557600080fd5b5060408051602060046024803582810135601f810185900485028601850190965285855261031595833595369560449491939091019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497506106e19650505050505050565b005b34801561032357600080fd5b50610177600160a060020a036004351660243561079c565b34801561034757600080fd5b50604080516020600460443581810135601f8101849004840285018401909552848452610177948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506107b29650505050505050565b3480156103b057600080fd5b506101a0600160a060020a03600435811690602435166108e9565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104515780601f1061042657610100808354040283529160200191610451565b820191906000526020600020905b81548152906001019060200180831161043457829003601f168201915b505050505081565b600160a060020a033381166000908152600560209081526040808320938616835292905220819055600192915050565b60035481565b600160a060020a038084166000908152600560209081526040808320339094168352929052908120548211156104c457600080fd5b600160a060020a03808516600090815260056020908152604080832033909416835292905220805483900390556104fc848484610906565b5060019392505050565b60025460ff1681565b600160a060020a03331660009081526004602052604081205482111561053457600080fd5b600160a060020a03331660008181526004602090815260409182902080548690039055600380548690039055815185815291517fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59281900390910190a2506001919050565b60046020526000908152604090205481565b600160a060020a0382166000908152600460205260408120548211156105d057600080fd5b600160a060020a038084166000908152600560209081526040808320339094168352929052205482111561060357600080fd5b600160a060020a038084166000818152600460209081526040808320805488900390556005825280832033909516835293815290839020805486900390556003805486900390558251858152925191927fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5929081900390910190a250600192915050565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104515780601f1061042657610100808354040283529160200191610451565b6b02835cd9c6d6f2156b2400006003819055600160a060020a0333166000908152600460209081526040808320939093558251808401909352600b8084527f544f55524953544f4b454e000000000000000000000000000000000000000000939091019283526107519290610a07565b506040805180820190915260038082527f544f550000000000000000000000000000000000000000000000000000000000602090920191825261079691600191610a07565b50505050565b60006107a9338484610906565b50600192915050565b6000836107bf8185610459565b156108e15780600160a060020a0316638f4ffcb1338630876040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561087557818101518382015260200161085d565b50505050905090810190601f1680156108a25780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1580156108c457600080fd5b505af11580156108d8573d6000803e3d6000fd5b50505050600191505b509392505050565b600560209081526000928352604080842090915290825290205481565b6000600160a060020a038316151561091d57600080fd5b600160a060020a03841660009081526004602052604090205482111561094257600080fd5b600160a060020a0383166000908152600460205260409020548281011161096857600080fd5b50600160a060020a038083166000818152600460209081526040808320805495891680855282852080548981039091559486905281548801909155815187815291519390950194927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a3600160a060020a0380841660009081526004602052604080822054928716825290205401811461079657fe5b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610a4857805160ff1916838001178555610a75565b82800160010185558215610a75579182015b82811115610a75578251825591602001919060010190610a5a565b50610a81929150610a85565b5090565b610a9f91905b80821115610a815760008155600101610a8b565b905600a165627a7a723058208ac999a5dc640d1c71a4226b271a5ad576d1a5717635d0478beae57f368c33fb0029

Deployed Bytecode

0x6080604052600436106100c45763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100c9578063095ea7b31461015357806318160ddd1461018b57806323b872dd146101b2578063313ce567146101dc57806342966c681461020757806370a082311461021f57806379cc67901461024057806395d89b41146102645780639dbf008714610279578063a9059cbb14610317578063cae9ca511461033b578063dd62ed3e146103a4575b600080fd5b3480156100d557600080fd5b506100de6103cb565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610118578181015183820152602001610100565b50505050905090810190601f1680156101455780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561015f57600080fd5b50610177600160a060020a0360043516602435610459565b604080519115158252519081900360200190f35b34801561019757600080fd5b506101a0610489565b60408051918252519081900360200190f35b3480156101be57600080fd5b50610177600160a060020a036004358116906024351660443561048f565b3480156101e857600080fd5b506101f1610506565b6040805160ff9092168252519081900360200190f35b34801561021357600080fd5b5061017760043561050f565b34801561022b57600080fd5b506101a0600160a060020a0360043516610599565b34801561024c57600080fd5b50610177600160a060020a03600435166024356105ab565b34801561027057600080fd5b506100de610687565b34801561028557600080fd5b5060408051602060046024803582810135601f810185900485028601850190965285855261031595833595369560449491939091019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497506106e19650505050505050565b005b34801561032357600080fd5b50610177600160a060020a036004351660243561079c565b34801561034757600080fd5b50604080516020600460443581810135601f8101849004840285018401909552848452610177948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506107b29650505050505050565b3480156103b057600080fd5b506101a0600160a060020a03600435811690602435166108e9565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104515780601f1061042657610100808354040283529160200191610451565b820191906000526020600020905b81548152906001019060200180831161043457829003601f168201915b505050505081565b600160a060020a033381166000908152600560209081526040808320938616835292905220819055600192915050565b60035481565b600160a060020a038084166000908152600560209081526040808320339094168352929052908120548211156104c457600080fd5b600160a060020a03808516600090815260056020908152604080832033909416835292905220805483900390556104fc848484610906565b5060019392505050565b60025460ff1681565b600160a060020a03331660009081526004602052604081205482111561053457600080fd5b600160a060020a03331660008181526004602090815260409182902080548690039055600380548690039055815185815291517fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59281900390910190a2506001919050565b60046020526000908152604090205481565b600160a060020a0382166000908152600460205260408120548211156105d057600080fd5b600160a060020a038084166000908152600560209081526040808320339094168352929052205482111561060357600080fd5b600160a060020a038084166000818152600460209081526040808320805488900390556005825280832033909516835293815290839020805486900390556003805486900390558251858152925191927fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5929081900390910190a250600192915050565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104515780601f1061042657610100808354040283529160200191610451565b6b02835cd9c6d6f2156b2400006003819055600160a060020a0333166000908152600460209081526040808320939093558251808401909352600b8084527f544f55524953544f4b454e000000000000000000000000000000000000000000939091019283526107519290610a07565b506040805180820190915260038082527f544f550000000000000000000000000000000000000000000000000000000000602090920191825261079691600191610a07565b50505050565b60006107a9338484610906565b50600192915050565b6000836107bf8185610459565b156108e15780600160a060020a0316638f4ffcb1338630876040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561087557818101518382015260200161085d565b50505050905090810190601f1680156108a25780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1580156108c457600080fd5b505af11580156108d8573d6000803e3d6000fd5b50505050600191505b509392505050565b600560209081526000928352604080842090915290825290205481565b6000600160a060020a038316151561091d57600080fd5b600160a060020a03841660009081526004602052604090205482111561094257600080fd5b600160a060020a0383166000908152600460205260409020548281011161096857600080fd5b50600160a060020a038083166000818152600460209081526040808320805495891680855282852080548981039091559486905281548801909155815187815291519390950194927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a3600160a060020a0380841660009081526004602052604080822054928716825290205401811461079657fe5b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610a4857805160ff1916838001178555610a75565b82800160010185558215610a75579182015b82811115610a75578251825591602001919060010190610a5a565b50610a81929150610a85565b5090565b610a9f91905b80821115610a815760008155600101610a8b565b905600a165627a7a723058208ac999a5dc640d1c71a4226b271a5ad576d1a5717635d0478beae57f368c33fb0029

Swarm Source

bzzr://8ac999a5dc640d1c71a4226b271a5ad576d1a5717635d0478beae57f368c33fb

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

OVERVIEW

TOURISTOKEN is a tourist booking platform using blockchain technology , Anyone in the world can book through his browser using Metamask Wallet and pay with TOU payment.

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ 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.