Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Old Contract
Overview
Max Total Supply
223,534,822.661022743815939072 TIO
Holders
10,878 (0.00%)
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | 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 Name:
TIOToken
Compiler Version
v0.4.15+commit.bbb8e64f
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *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
- No Contract Security Audit Submitted- Submit Audit Here
[{"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"}]
Contract Creation Code
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.