ETH Price: $2,459.94 (+1.93%)
 

Overview

Max Total Supply

223,534,822.661022743815939072 TIO

Holders

10,877 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
50 TIO

Value
$0.00
0xdfb2c619d81ccc95a574818af92c619f35a459e9
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.

Contract Source Code Verified (Exact Match)

Contract Name:
TIOToken

Compiler Version
v0.4.15+commit.bbb8e64f

Optimization Enabled:
Yes with 200 runs

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

pragma solidity ^0.4.15;

/**
 * Standard ERC20 token
 *
 * https://github.com/ethereum/EIPs/issues/20
 * Based on code by FirstBlood:
 * https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
 *
 * This is the token contract for trade.io, join the trading revolution.
 * It utilizes Majoolr's TokenLib library to reduce custom source code surface
 * area and increase overall security. Majoolr provides smart contract services
 * and security reviews for contract deployments in addition to working on open
 * source projects in the Ethereum community.
 * For further information: trade.io, majoolr.io
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
 * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 */

contract TIOToken {
  using TokenLib for TokenLib.TokenStorage;

  TokenLib.TokenStorage token;

  function TIOToken(address owner,
                    string name, //TradeToken
                    string symbol, //TIO
                    uint8 decimals, //18
                    uint256 initialSupply, // 555000000000000000000000000
                    bool allowMinting) //false
  {
    token.init(owner, name, symbol, decimals, initialSupply, allowMinting);
  }

  function owner() constant returns (address) {
    return token.owner;
  }

  function name() constant returns (string) {
    return token.name;
  }

  function symbol() constant returns (string) {
    return token.symbol;
  }

  function decimals() constant returns (uint8) {
    return token.decimals;
  }

  function initialSupply() constant returns (uint256) {
    return token.INITIAL_SUPPLY;
  }

  function totalSupply() constant returns (uint256) {
    return token.totalSupply;
  }

  function balanceOf(address who) constant returns (uint256) {
    return token.balanceOf(who);
  }

  function allowance(address owner, address spender) constant returns (uint256) {
    return token.allowance(owner, spender);
  }

  function transfer(address to, uint value) returns (bool ok) {
    return token.transfer(to, value);
  }

  function transferFrom(address from, address to, uint value) returns (bool ok) {
    return token.transferFrom(from, to, value);
  }

  function approve(address spender, uint value) returns (bool ok) {
    return token.approve(spender, value);
  }

  function changeOwner(address newOwner) returns (bool ok) {
    return token.changeOwner(newOwner);
  }

  function burnToken(uint256 amount) returns (bool ok) {
    return token.burnToken(amount);
  }
}

library TokenLib {
  using BasicMathLib for uint256;

  struct TokenStorage {
    mapping (address => uint256) balances;
    mapping (address => mapping (address => uint256)) allowed;

    string name;
    string symbol;
    uint256 totalSupply;
    uint256 INITIAL_SUPPLY;
    address owner;
    uint8 decimals;
    bool stillMinting;
  }

  event Transfer(address indexed from, address indexed to, uint256 value);
  event Approval(address indexed owner, address indexed spender, uint256 value);
  event OwnerChange(address from, address to);
  event Burn(address indexed burner, uint256 value);
  event MintingClosed(bool mintingClosed);

  /// @dev Called by the Standard Token upon creation.
  /// @param self Stored token from token contract
  /// @param _name Name of the new token
  /// @param _symbol Symbol of the new token
  /// @param _decimals Decimal places for the token represented
  /// @param _initial_supply The initial token supply
  /// @param _allowMinting True if additional tokens can be created, false otherwise
  function init(TokenStorage storage self,
                address _owner,
                string _name,
                string _symbol,
                uint8 _decimals,
                uint256 _initial_supply,
                bool _allowMinting)
  {
    require(self.INITIAL_SUPPLY == 0);
    self.name = _name;
    self.symbol = _symbol;
    self.totalSupply = _initial_supply;
    self.INITIAL_SUPPLY = _initial_supply;
    self.decimals = _decimals;
    self.owner = _owner;
    self.stillMinting = _allowMinting;
    self.balances[_owner] = _initial_supply;
  }

  /// @dev Transfer tokens from caller's account to another account.
  /// @param self Stored token from token contract
  /// @param _to Address to send tokens
  /// @param _value Number of tokens to send
  /// @return True if completed
  function transfer(TokenStorage storage self, address _to, uint256 _value) returns (bool) {
    bool err;
    uint256 balance;

    (err,balance) = self.balances[msg.sender].minus(_value);
    require(!err);
    self.balances[msg.sender] = balance;
    //It's not possible to overflow token supply
    self.balances[_to] = self.balances[_to] + _value;
    Transfer(msg.sender, _to, _value);
    return true;
  }

  /// @dev Authorized caller transfers tokens from one account to another
  /// @param self Stored token from token contract
  /// @param _from Address to send tokens from
  /// @param _to Address to send tokens to
  /// @param _value Number of tokens to send
  /// @return True if completed
  function transferFrom(TokenStorage storage self,
                        address _from,
                        address _to,
                        uint256 _value)
                        returns (bool)
  {
    var _allowance = self.allowed[_from][msg.sender];
    bool err;
    uint256 balanceOwner;
    uint256 balanceSpender;

    (err,balanceOwner) = self.balances[_from].minus(_value);
    require(!err);

    (err,balanceSpender) = _allowance.minus(_value);
    require(!err);

    self.balances[_from] = balanceOwner;
    self.allowed[_from][msg.sender] = balanceSpender;
    self.balances[_to] = self.balances[_to] + _value;

    Transfer(_from, _to, _value);
    return true;
  }

  /// @dev Retrieve token balance for an account
  /// @param self Stored token from token contract
  /// @param _owner Address to retrieve balance of
  /// @return balance The number of tokens in the subject account
  function balanceOf(TokenStorage storage self, address _owner) constant returns (uint256 balance) {
    return self.balances[_owner];
  }

  /// @dev Authorize an account to send tokens on caller's behalf
  /// @param self Stored token from token contract
  /// @param _spender Address to authorize
  /// @param _value Number of tokens authorized account may send
  /// @return True if completed
  function approve(TokenStorage storage self, address _spender, uint256 _value) returns (bool) {
    self.allowed[msg.sender][_spender] = _value;
    Approval(msg.sender, _spender, _value);
    return true;
  }

  /// @dev Remaining tokens third party spender has to send
  /// @param self Stored token from token contract
  /// @param _owner Address of token holder
  /// @param _spender Address of authorized spender
  /// @return remaining Number of tokens spender has left in owner's account
  function allowance(TokenStorage storage self, address _owner, address _spender) constant returns (uint256 remaining) {
    return self.allowed[_owner][_spender];
  }

  /// @dev Authorize third party transfer by increasing/decreasing allowed rather than setting it
  /// @param self Stored token from token contract
  /// @param _spender Address to authorize
  /// @param _valueChange Increase or decrease in number of tokens authorized account may send
  /// @param _increase True if increasing allowance, false if decreasing allowance
  /// @return True if completed
  function approveChange (TokenStorage storage self, address _spender, uint256 _valueChange, bool _increase)
                          returns (bool)
  {
    uint256 _newAllowed;
    bool err;

    if(_increase) {
      (err, _newAllowed) = self.allowed[msg.sender][_spender].plus(_valueChange);
      require(!err);

      self.allowed[msg.sender][_spender] = _newAllowed;
    } else {
      if (_valueChange > self.allowed[msg.sender][_spender]) {
        self.allowed[msg.sender][_spender] = 0;
      } else {
        _newAllowed = self.allowed[msg.sender][_spender] - _valueChange;
        self.allowed[msg.sender][_spender] = _newAllowed;
      }
    }

    Approval(msg.sender, _spender, _newAllowed);
    return true;
  }

  /// @dev Change owning address of the token contract, specifically for minting
  /// @param self Stored token from token contract
  /// @param _newOwner Address for the new owner
  /// @return True if completed
  function changeOwner(TokenStorage storage self, address _newOwner) returns (bool) {
    require((self.owner == msg.sender) && (_newOwner > 0));

    self.owner = _newOwner;
    OwnerChange(msg.sender, _newOwner);
    return true;
  }

  /// @dev Mints additional tokens, new tokens go to owner
  /// @param self Stored token from token contract
  /// @param _amount Number of tokens to mint
  /// @return True if completed
  function mintToken(TokenStorage storage self, uint256 _amount) returns (bool) {
    require((self.owner == msg.sender) && self.stillMinting);
    uint256 _newAmount;
    bool err;

    (err, _newAmount) = self.totalSupply.plus(_amount);
    require(!err);

    self.totalSupply =  _newAmount;
    self.balances[self.owner] = self.balances[self.owner] + _amount;
    Transfer(0x0, self.owner, _amount);
    return true;
  }

  /// @dev Permanent stops minting
  /// @param self Stored token from token contract
  /// @return True if completed
  function closeMint(TokenStorage storage self) returns (bool) {
    require(self.owner == msg.sender);

    self.stillMinting = false;
    MintingClosed(true);
    return true;
  }

  /// @dev Permanently burn tokens
  /// @param self Stored token from token contract
  /// @param _amount Amount of tokens to burn
  /// @return True if completed
  function burnToken(TokenStorage storage self, uint256 _amount) returns (bool) {
      uint256 _newBalance;
      bool err;

      (err, _newBalance) = self.balances[msg.sender].minus(_amount);
      require(!err);

      self.balances[msg.sender] = _newBalance;
      self.totalSupply = self.totalSupply - _amount;
      Burn(msg.sender, _amount);
      Transfer(msg.sender, 0x0, _amount);
      return true;
  }
}

library BasicMathLib {
  event Err(string typeErr);

  /// @dev Multiplies two numbers and checks for overflow before returning.
  /// Does not throw but rather logs an Err event if there is overflow.
  /// @param a First number
  /// @param b Second number
  /// @return err False normally, or true if there is overflow
  /// @return res The product of a and b, or 0 if there is overflow
  function times(uint256 a, uint256 b) constant returns (bool err,uint256 res) {
    assembly{
      res := mul(a,b)
      switch or(iszero(b), eq(div(res,b), a))
      case 0 {
        err := 1
        res := 0
      }
    }
    if (err)
      Err("times func overflow");
  }

  /// @dev Divides two numbers but checks for 0 in the divisor first.
  /// Does not throw but rather logs an Err event if 0 is in the divisor.
  /// @param a First number
  /// @param b Second number
  /// @return err False normally, or true if `b` is 0
  /// @return res The quotient of a and b, or 0 if `b` is 0
  function dividedBy(uint256 a, uint256 b) constant returns (bool err,uint256 res) {
    assembly{
      switch iszero(b)
      case 0 {
        res := div(a,b)
        mstore(add(mload(0x40),0x20),res)
        return(mload(0x40),0x40)
      }
    }
    Err("tried to divide by zero");
    return (true, 0);
  }

  /// @dev Adds two numbers and checks for overflow before returning.
  /// Does not throw but rather logs an Err event if there is overflow.
  /// @param a First number
  /// @param b Second number
  /// @return err False normally, or true if there is overflow
  /// @return res The sum of a and b, or 0 if there is overflow
  function plus(uint256 a, uint256 b) constant returns (bool err, uint256 res) {
    assembly{
      res := add(a,b)
      switch and(eq(sub(res,b), a), or(gt(res,b),eq(res,b)))
      case 0 {
        err := 1
        res := 0
      }
    }
    if (err)
      Err("plus func overflow");
  }

  /// @dev Subtracts two numbers and checks for underflow before returning.
  /// Does not throw but rather logs an Err event if there is underflow.
  /// @param a First number
  /// @param b Second number
  /// @return err False normally, or true if there is underflow
  /// @return res The difference between a and b, or 0 if there is underflow
  function minus(uint256 a, uint256 b) constant returns (bool err,uint256 res) {
    assembly{
      res := sub(a,b)
      switch eq(and(eq(add(res,b), a), or(lt(res,a), eq(res,a))), 1)
      case 0 {
        err := 1
        res := 0
      }
    }
    if (err)
      Err("minus func underflow");
  }
}

Contract Security Audit

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":"ok","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"ok","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"initialSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"who","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"burnToken","outputs":[{"name":"ok","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"changeOwner","outputs":[{"name":"ok","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"ok","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"inputs":[{"name":"owner","type":"address"},{"name":"name","type":"string"},{"name":"symbol","type":"string"},{"name":"decimals","type":"uint8"},{"name":"initialSupply","type":"uint256"},{"name":"allowMinting","type":"bool"}],"payable":false,"type":"constructor"}]

6060604052341561000f57600080fd5b604051610b7c380380610b7c833981016040528080519190602001805182019190602001805182019190602001805191906020018051919060200180519150505b7302d509d0af485c8da54d8aeb42c624e7d9e2eeb6639329297260008888888888886040517c010000000000000000000000000000000000000000000000000000000063ffffffff8a1602815260048101888152600160a060020a038816602483015260ff8516608483015260a4820184905282151560c483015260e0604483019081529091606481019060e40188818151815260200191508051906020019080838360005b8381101561010f5780820151818401525b6020016100f6565b50505050905090810190601f16801561013c5780820380516001836020036101000a031916815260200191505b50838103825287818151815260200191508051906020019080838360005b838110156101735780820151818401525b60200161015a565b50505050905090810190601f1680156101a05780820380516001836020036101000a031916815260200191505b50995050505050505050505060006040518083038186803b15156101c357600080fd5b6102c65a03f415156101d457600080fd5b5050505b5050505050505b61098e806101ee6000396000f300606060405236156100a95763ffffffff60e060020a60003504166306fdde0381146100ae578063095ea7b31461013957806318160ddd1461016f57806323b872dd14610194578063313ce567146101d0578063378dc3dc146101f957806370a082311461021e5780637b47ec1a1461024f5780638da5cb5b1461027957806395d89b41146102a8578063a6f9dae114610333578063a9059cbb14610366578063dd62ed3e1461039c575b600080fd5b34156100b957600080fd5b6100c16103d3565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100fe5780820151818401525b6020016100e5565b50505050905090810190601f16801561012b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561014457600080fd5b61015b600160a060020a036004351660243561047b565b604051901515815260200160405180910390f35b341561017a57600080fd5b61018261050e565b60405190815260200160405180910390f35b341561019f57600080fd5b61015b600160a060020a0360043581169060243516604435610515565b604051901515815260200160405180910390f35b34156101db57600080fd5b6101e36105b1565b60405160ff909116815260200160405180910390f35b341561020457600080fd5b6101826105d3565b60405190815260200160405180910390f35b341561022957600080fd5b610182600160a060020a03600435166105da565b60405190815260200160405180910390f35b341561025a57600080fd5b61015b600435610664565b604051901515815260200160405180910390f35b341561028457600080fd5b61028c6106e5565b604051600160a060020a03909116815260200160405180910390f35b34156102b357600080fd5b6100c16106f5565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100fe5780820151818401525b6020016100e5565b50505050905090810190601f16801561012b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561033e57600080fd5b61015b600160a060020a036004351661079f565b604051901515815260200160405180910390f35b341561037157600080fd5b61015b600160a060020a0360043516602435610829565b604051901515815260200160405180910390f35b34156103a757600080fd5b610182600160a060020a03600435811690602435166108bc565b60405190815260200160405180910390f35b6103db610950565b6002805460001961010060018316150201168190046020601f820181900481020160405190810160405280929190818152602001828054600181600116156101000203166002900480156104705780601f1061044557610100808354040283529160200191610470565b820191906000526020600020905b81548152906001019060200180831161045357829003601f168201915b505050505090505b90565b60007302d509d0af485c8da54d8aeb42c624e7d9e2eeb6638ca979ca828585826040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a039091166024830152604482015260640160206040518083038186803b15156104eb57600080fd5b6102c65a03f415156104fc57600080fd5b50505060405180519150505b92915050565b6004545b90565b60007302d509d0af485c8da54d8aeb42c624e7d9e2eeb66321a6a23d82868686836040516020015260405160e060020a63ffffffff87160281526004810194909452600160a060020a03928316602485015291166044830152606482015260840160206040518083038186803b151561058d57600080fd5b6102c65a03f4151561059e57600080fd5b50505060405180519150505b9392505050565b60065474010000000000000000000000000000000000000000900460ff165b90565b6005545b90565b60007302d509d0af485c8da54d8aeb42c624e7d9e2eeb6633af00d0f8284816040516020015260405160e060020a63ffffffff85160281526004810192909252600160a060020a0316602482015260440160206040518083038186803b151561064257600080fd5b6102c65a03f4151561065357600080fd5b50505060405180519150505b919050565b60007302d509d0af485c8da54d8aeb42c624e7d9e2eeb6636269321c8284816040516020015260405160e060020a63ffffffff85160281526004810192909252602482015260440160206040518083038186803b151561064257600080fd5b6102c65a03f4151561065357600080fd5b50505060405180519150505b919050565b600654600160a060020a03165b90565b6106fd610950565b60038054600260001961010060018416150201909116046020601f820181900481020160405190810160405280929190818152602001828054600181600116156101000203166002900480156104705780601f1061044557610100808354040283529160200191610470565b820191906000526020600020905b81548152906001019060200180831161045357829003601f168201915b505050505090505b90565b60007302d509d0af485c8da54d8aeb42c624e7d9e2eeb6636f71ca3c8284816040516020015260405160e060020a63ffffffff85160281526004810192909252600160a060020a0316602482015260440160206040518083038186803b151561064257600080fd5b6102c65a03f4151561065357600080fd5b50505060405180519150505b919050565b60007302d509d0af485c8da54d8aeb42c624e7d9e2eeb663d4b1770a828585826040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a039091166024830152604482015260640160206040518083038186803b15156104eb57600080fd5b6102c65a03f415156104fc57600080fd5b50505060405180519150505b92915050565b60007302d509d0af485c8da54d8aeb42c624e7d9e2eeb663ac9b44f7828585826040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a03918216602484015216604482015260640160206040518083038186803b15156104eb57600080fd5b6102c65a03f415156104fc57600080fd5b50505060405180519150505b92915050565b602060405190810160405260008152905600a165627a7a72305820c70195bae37bf8c2ee4de38d725c612844956da342158b0bf73b8d614d8c8875002900000000000000000000000058f75ddacffb183a30f69fe58a67a0d0985fce0f00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000001cb15d24956472c0b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a5472616465546f6b656e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000354494f0000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x606060405236156100a95763ffffffff60e060020a60003504166306fdde0381146100ae578063095ea7b31461013957806318160ddd1461016f57806323b872dd14610194578063313ce567146101d0578063378dc3dc146101f957806370a082311461021e5780637b47ec1a1461024f5780638da5cb5b1461027957806395d89b41146102a8578063a6f9dae114610333578063a9059cbb14610366578063dd62ed3e1461039c575b600080fd5b34156100b957600080fd5b6100c16103d3565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100fe5780820151818401525b6020016100e5565b50505050905090810190601f16801561012b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561014457600080fd5b61015b600160a060020a036004351660243561047b565b604051901515815260200160405180910390f35b341561017a57600080fd5b61018261050e565b60405190815260200160405180910390f35b341561019f57600080fd5b61015b600160a060020a0360043581169060243516604435610515565b604051901515815260200160405180910390f35b34156101db57600080fd5b6101e36105b1565b60405160ff909116815260200160405180910390f35b341561020457600080fd5b6101826105d3565b60405190815260200160405180910390f35b341561022957600080fd5b610182600160a060020a03600435166105da565b60405190815260200160405180910390f35b341561025a57600080fd5b61015b600435610664565b604051901515815260200160405180910390f35b341561028457600080fd5b61028c6106e5565b604051600160a060020a03909116815260200160405180910390f35b34156102b357600080fd5b6100c16106f5565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156100fe5780820151818401525b6020016100e5565b50505050905090810190601f16801561012b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561033e57600080fd5b61015b600160a060020a036004351661079f565b604051901515815260200160405180910390f35b341561037157600080fd5b61015b600160a060020a0360043516602435610829565b604051901515815260200160405180910390f35b34156103a757600080fd5b610182600160a060020a03600435811690602435166108bc565b60405190815260200160405180910390f35b6103db610950565b6002805460001961010060018316150201168190046020601f820181900481020160405190810160405280929190818152602001828054600181600116156101000203166002900480156104705780601f1061044557610100808354040283529160200191610470565b820191906000526020600020905b81548152906001019060200180831161045357829003601f168201915b505050505090505b90565b60007302d509d0af485c8da54d8aeb42c624e7d9e2eeb6638ca979ca828585826040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a039091166024830152604482015260640160206040518083038186803b15156104eb57600080fd5b6102c65a03f415156104fc57600080fd5b50505060405180519150505b92915050565b6004545b90565b60007302d509d0af485c8da54d8aeb42c624e7d9e2eeb66321a6a23d82868686836040516020015260405160e060020a63ffffffff87160281526004810194909452600160a060020a03928316602485015291166044830152606482015260840160206040518083038186803b151561058d57600080fd5b6102c65a03f4151561059e57600080fd5b50505060405180519150505b9392505050565b60065474010000000000000000000000000000000000000000900460ff165b90565b6005545b90565b60007302d509d0af485c8da54d8aeb42c624e7d9e2eeb6633af00d0f8284816040516020015260405160e060020a63ffffffff85160281526004810192909252600160a060020a0316602482015260440160206040518083038186803b151561064257600080fd5b6102c65a03f4151561065357600080fd5b50505060405180519150505b919050565b60007302d509d0af485c8da54d8aeb42c624e7d9e2eeb6636269321c8284816040516020015260405160e060020a63ffffffff85160281526004810192909252602482015260440160206040518083038186803b151561064257600080fd5b6102c65a03f4151561065357600080fd5b50505060405180519150505b919050565b600654600160a060020a03165b90565b6106fd610950565b60038054600260001961010060018416150201909116046020601f820181900481020160405190810160405280929190818152602001828054600181600116156101000203166002900480156104705780601f1061044557610100808354040283529160200191610470565b820191906000526020600020905b81548152906001019060200180831161045357829003601f168201915b505050505090505b90565b60007302d509d0af485c8da54d8aeb42c624e7d9e2eeb6636f71ca3c8284816040516020015260405160e060020a63ffffffff85160281526004810192909252600160a060020a0316602482015260440160206040518083038186803b151561064257600080fd5b6102c65a03f4151561065357600080fd5b50505060405180519150505b919050565b60007302d509d0af485c8da54d8aeb42c624e7d9e2eeb663d4b1770a828585826040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a039091166024830152604482015260640160206040518083038186803b15156104eb57600080fd5b6102c65a03f415156104fc57600080fd5b50505060405180519150505b92915050565b60007302d509d0af485c8da54d8aeb42c624e7d9e2eeb663ac9b44f7828585826040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a03918216602484015216604482015260640160206040518083038186803b15156104eb57600080fd5b6102c65a03f415156104fc57600080fd5b50505060405180519150505b92915050565b602060405190810160405260008152905600a165627a7a72305820c70195bae37bf8c2ee4de38d725c612844956da342158b0bf73b8d614d8c88750029

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000058f75ddacffb183a30f69fe58a67a0d0985fce0f00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000001cb15d24956472c0b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a5472616465546f6b656e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000354494f0000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : owner (address): 0x58f75dDACFFB183a30F69fE58a67a0d0985fce0F
Arg [1] : name (string): TradeToken
Arg [2] : symbol (string): TIO
Arg [3] : decimals (uint8): 18
Arg [4] : initialSupply (uint256): 555000000000000000000000000
Arg [5] : allowMinting (bool): False

-----Encoded View---------------
10 Constructor Arguments found :
Arg [0] : 00000000000000000000000058f75ddacffb183a30f69fe58a67a0d0985fce0f
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000100
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [4] : 000000000000000000000000000000000000000001cb15d24956472c0b000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [6] : 000000000000000000000000000000000000000000000000000000000000000a
Arg [7] : 5472616465546f6b656e00000000000000000000000000000000000000000000
Arg [8] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [9] : 54494f0000000000000000000000000000000000000000000000000000000000


Swarm Source

bzzr://c70195bae37bf8c2ee4de38d725c612844956da342158b0bf73b8d614d8c8875
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.