ERC-20
Overview
Max Total Supply
200,000,000 IOEX
Holders
455
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 8 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
ioeXTokenERC20
Compiler Version
v0.4.24+commit.e67f0147
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-09-17 */ pragma solidity 0.4.24; library SafeMath { /** * @dev Multiplies two numbers, reverts on overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b); return c; } /** * @dev Integer division of two numbers truncating the quotient, reverts on division by zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { require(b > 0); // Solidity only automatically asserts when dividing by 0 uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a); uint256 c = a - b; return c; } /** * @dev Adds two numbers, reverts on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a); return c; } /** * @dev Divides two numbers and returns the remainder (unsigned integer modulo), * reverts when dividing by zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { require(b != 0); return a % b; } } contract owned { address public owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() public { owner = msg.sender; } modifier onlyOwner { require(msg.sender == owner); _; } function transferOwnership(address newOwner) public onlyOwner { require(newOwner != address(0)); emit OwnershipTransferred(owner, newOwner); owner = newOwner; } } contract ERC20 { function totalSupply() public view returns (uint256); function balanceOf(address _who) public view returns (uint256); function transfer(address _to, uint256 _value) public returns (bool); event Transfer( address indexed from, address indexed to, uint256 value ); } contract StandardToken is ERC20 { using SafeMath for uint256; mapping(address => uint256) internal balances; uint256 internal totalSupply_; /** * @dev Total number of tokens in existence */ function totalSupply() public view returns (uint256) { return totalSupply_; } /** * @dev Gets the balance of the specified address. * @param _owner The address to query the the balance of. * @return An uint256 representing the amount owned by the passed address. */ function balanceOf(address _owner) public view returns (uint256) { return balances[_owner]; } /** * @dev Transfer token for a specified address * @param _to The address to transfer to. * @param _value The amount to be transferred. */ function transfer(address _to, uint256 _value) public returns (bool) { require(_value <= balances[msg.sender]); require(_to != address(0)); balances[msg.sender] = balances[msg.sender].sub(_value); balances[_to] = balances[_to].add(_value); emit Transfer(msg.sender, _to, _value); return true; } } contract ioeXTokenERC20 is StandardToken, owned { using SafeMath for uint256; // Public variables of the token bytes internal name_ = "Internet of Everything X"; bytes internal symbol_ = "IOEX"; uint256 public decimals = 8; uint256 private constant LOCK_TYPE_MAX = 3; uint256 private constant LOCK_STAGE_MAX = 4; mapping (address => bool) public frozenAccount; //Save lock type and amount of init tokens struct StructLockAccountInfo { uint256 lockType; uint256 initBalance; uint256 startTime; } mapping (address => StructLockAccountInfo) public lockAccountInfo; //Save 4 set of time and percent of unlocked tokens struct StructLockType { uint256[LOCK_STAGE_MAX] time; uint256[LOCK_STAGE_MAX] freePercent; } StructLockType[LOCK_TYPE_MAX] private lockType; // This generates a public event on the blockchain that will notify clients event Transfer(address indexed from, address indexed to, uint256 value); // This notifies clients about the amount burnt event Burn(address indexed from, uint256 value); // This generates a public event that record info about locked account, // including amount of init tokens and lock type event SetLockData(address indexed account, uint256 initBalance, uint256 lockType, uint256 startDate); /* This generates a public event on the blockchain that will notify clients */ event FrozenFunds(address target, bool frozen); /** * Constructor function * * Initializes contract with initial supply tokens to the creator of the contract */ constructor() public { totalSupply_ = 20000000000000000; balances[msg.sender] = totalSupply_; // Give the creator all initial tokens //init all lock data //Lock type 1 lockType[0].time[0] = 30; lockType[0].freePercent[0] = 40; //40% lockType[0].time[1] = 60; lockType[0].freePercent[1] = 20; //20% lockType[0].time[2] = 120; lockType[0].freePercent[2] = 20; //20% lockType[0].time[3] = 180; lockType[0].freePercent[3] = 20; //20% //Lock type 2 lockType[1].time[0] = 30; lockType[1].freePercent[0] = 25; //25% lockType[1].time[1] = 60; lockType[1].freePercent[1] = 25; //25% lockType[1].time[2] = 120; lockType[1].freePercent[2] = 25; //25% lockType[1].time[3] = 180; lockType[1].freePercent[3] = 25; //25% //Lock type 3 lockType[2].time[0] = 180; lockType[2].freePercent[0] = 25; //25% lockType[2].time[1] = 360; lockType[2].freePercent[1] = 25; //25% lockType[2].time[2] = 540; lockType[2].freePercent[2] = 25; //25% lockType[2].time[3] = 720; lockType[2].freePercent[3] = 25; //25% //init all lock data } /** * @dev Gets the token name * @return string representing the token name */ function name() external view returns (string) { return string(name_); } /** * @dev Gets the token symbol * @return string representing the token symbol */ function symbol() external view returns (string) { return string(symbol_); } /** * Calculate how much tokens must be locked * return the amount of locked tokens */ function getLockBalance(address account) internal returns (uint256) { uint256 lockTypeIndex; uint256 amountLockedTokens = 0; uint256 resultFreePercent = 0; uint256 duration = 0; uint256 i; lockTypeIndex = lockAccountInfo[account].lockType; if (lockTypeIndex >= 1) { if (lockTypeIndex <= LOCK_TYPE_MAX) { lockTypeIndex = lockTypeIndex.sub(1); for (i = 0; i < LOCK_STAGE_MAX; i++) { duration = (lockType[lockTypeIndex].time[i]).mul(1 days); if (lockAccountInfo[account].startTime.add(duration) >= now) { resultFreePercent = resultFreePercent.add(lockType[lockTypeIndex].freePercent[i]); } } } amountLockedTokens = (lockAccountInfo[account].initBalance.mul(resultFreePercent)).div(100); if (amountLockedTokens == 0){ lockAccountInfo[account].lockType = 0; } } return amountLockedTokens; } /** * Internal transfer, only can be called by this contract * Transfer toekns, and lock time and balance by selectType */ function _transferForLock(address _to, uint256 _value, uint256 selectType) internal { require(selectType >= 1); require(selectType <= LOCK_TYPE_MAX); if ((lockAccountInfo[_to].lockType == 0) && (lockAccountInfo[_to].initBalance == 0)) { require(_value <= balances[msg.sender]); require(_to != address(0)); //write data lockAccountInfo[_to].lockType = selectType; lockAccountInfo[_to].initBalance = _value; lockAccountInfo[_to].startTime = now; emit SetLockData(_to,_value, lockAccountInfo[_to].lockType, lockAccountInfo[_to].startTime); //write data balances[msg.sender] = balances[msg.sender].sub(_value); balances[_to] = balances[_to].add(_value); emit Transfer(msg.sender, _to, _value); } else { revert(); } } /** * 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) { //check uint256 freeBalance; if (lockAccountInfo[msg.sender].lockType > 0) { freeBalance = balances[msg.sender].sub(getLockBalance(msg.sender)); require(freeBalance >=_value); } //check require(_value <= balances[msg.sender]); require(_to != address(0)); require(!frozenAccount[msg.sender]); // Check if sender is frozen require(!frozenAccount[_to]); // Check if recipient is frozen balances[msg.sender] = balances[msg.sender].sub(_value); balances[_to] = balances[_to].add(_value); emit Transfer(msg.sender, _to, _value); return true; } /// @notice `freeze? Prevent | Allow` `target` from sending & receiving tokens /// @param target Address to be frozen /// @param freeze either to freeze it or not function freezeAccount(address target, bool freeze) public onlyOwner { frozenAccount[target] = freeze; emit FrozenFunds(target, freeze); } /** * Transfer tokens * Lock time and token by lock_type 1 * * Send `_value` tokens to `_to` from your account * * @param _to The address of the recipient * @param _value the amount to send */ function transferLockBalance_1(address _to, uint256 _value) public onlyOwner { _transferForLock(_to, _value, 1); } /** * Transfer tokens * Lock time and token by lock_type 2 * * Send `_value` tokens to `_to` from your account * * @param _to The address of the recipient * @param _value the amount to send */ function transferLockBalance_2(address _to, uint256 _value) public onlyOwner { _transferForLock(_to, _value, 2); } /** * Transfer tokens * Lock time and token by lock_type 3 * * Send `_value` tokens to `_to` from your account * * @param _to The address of the recipient * @param _value the amount to send */ function transferLockBalance_3(address _to, uint256 _value) public onlyOwner { _transferForLock(_to, _value, 3); } /** * Destroy tokens * * Remove `_value` tokens from the system irreversibly * * @param _value the amount of money to burn */ function burn(uint256 _value) public onlyOwner { _burn(msg.sender, _value); } function _burn(address _who, uint256 _value) internal { require(_value <= balances[_who]); // no need to require value <= totalSupply, since that would imply the // sender's balance is greater than the totalSupply, which *should* be an assertion failure balances[_who] = balances[_who].sub(_value); totalSupply_ = totalSupply_.sub(_value); emit Burn(_who, _value); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferLockBalance_1","outputs":[],"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":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferLockBalance_2","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"lockAccountInfo","outputs":[{"name":"lockType","type":"uint256"},{"name":"initBalance","type":"uint256"},{"name":"startTime","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferLockBalance_3","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":"_value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","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":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"frozenAccount","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"},{"name":"freeze","type":"bool"}],"name":"freezeAccount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"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"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"},{"indexed":false,"name":"initBalance","type":"uint256"},{"indexed":false,"name":"lockType","type":"uint256"},{"indexed":false,"name":"startDate","type":"uint256"}],"name":"SetLockData","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"target","type":"address"},{"indexed":false,"name":"frozen","type":"bool"}],"name":"FrozenFunds","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
60c0604052601860808190527f496e7465726e6574206f662045766572797468696e672058000000000000000060a090815261003e9160039190610168565b506040805180820190915260048082527f494f45580000000000000000000000000000000000000000000000000000000060209092019182526100819181610168565b50600860055534801561009357600080fd5b5060028054600160a060020a0319163390811790915566470de4df8200006001819055600091825260208290526040822055601e600855602890600c0155603c6009556014600c600101556078600a556014600c6002015560b4600b556014600c60030155601e6010556019601460000155603c60115560196014600101556078601255601960146002015560b4601355601960146003015560b46018556019601c600001556101686019908155601c6001015561021c601a556019601c600201556102d0601b556019601c60030155610203565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106101a957805160ff19168380011785556101d6565b828001600101855582156101d6579182015b828111156101d65782518255916020019190600101906101bb565b506101e29291506101e6565b5090565b61020091905b808211156101e257600081556001016101ec565b90565b610c5c806102126000396000f3006080604052600436106100da5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100df5780631313b53a1461016957806318160ddd1461018f5780631c45f94b146101b65780632cb55c77146101da5780632e6da2d514610219578063313ce5671461023d57806342966c681461025257806370a082311461026a5780638da5cb5b1461028b57806395d89b41146102bc578063a9059cbb146102d1578063b414d4b614610309578063e724529c1461032a578063f2fde38b14610350575b600080fd5b3480156100eb57600080fd5b506100f4610371565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561012e578181015183820152602001610116565b50505050905090810190601f16801561015b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561017557600080fd5b5061018d600160a060020a0360043516602435610407565b005b34801561019b57600080fd5b506101a461042e565b60408051918252519081900360200190f35b3480156101c257600080fd5b5061018d600160a060020a0360043516602435610434565b3480156101e657600080fd5b506101fb600160a060020a0360043516610457565b60408051938452602084019290925282820152519081900360600190f35b34801561022557600080fd5b5061018d600160a060020a0360043516602435610478565b34801561024957600080fd5b506101a461049b565b34801561025e57600080fd5b5061018d6004356104a1565b34801561027657600080fd5b506101a4600160a060020a03600435166104c5565b34801561029757600080fd5b506102a06104e0565b60408051600160a060020a039092168252519081900360200190f35b3480156102c857600080fd5b506100f46104ef565b3480156102dd57600080fd5b506102f5600160a060020a0360043516602435610550565b604080519115158252519081900360200190f35b34801561031557600080fd5b506102f5600160a060020a03600435166106c5565b34801561033657600080fd5b5061018d600160a060020a036004351660243515156106da565b34801561035c57600080fd5b5061018d600160a060020a0360043516610755565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103fd5780601f106103d2576101008083540402835291602001916103fd565b820191906000526020600020905b8154815290600101906020018083116103e057829003601f168201915b5050505050905090565b600254600160a060020a0316331461041e57600080fd5b61042a828260016107ea565b5050565b60015490565b600254600160a060020a0316331461044b57600080fd5b61042a828260026107ea565b60076020526000908152604090208054600182015460029092015490919083565b600254600160a060020a0316331461048f57600080fd5b61042a828260036107ea565b60055481565b600254600160a060020a031633146104b857600080fd5b6104c2338261098f565b50565b600160a060020a031660009081526020819052604090205490565b600254600160a060020a031681565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103fd5780601f106103d2576101008083540402835291602001916103fd565b3360009081526007602052604081205481908110156105a05761059161057533610a4f565b336000908152602081905260409020549063ffffffff610baf16565b9050828110156105a057600080fd5b336000908152602081905260409020548311156105bc57600080fd5b600160a060020a03841615156105d157600080fd5b3360009081526006602052604090205460ff16156105ee57600080fd5b600160a060020a03841660009081526006602052604090205460ff161561061457600080fd5b33600090815260208190526040902054610634908463ffffffff610baf16565b3360009081526020819052604080822092909255600160a060020a03861681522054610666908463ffffffff610bc616565b600160a060020a038516600081815260208181526040918290209390935580518681529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3600191505b5092915050565b60066020526000908152604090205460ff1681565b600254600160a060020a031633146106f157600080fd5b600160a060020a038216600081815260066020908152604091829020805460ff191685151590811790915582519384529083015280517f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a59281900390910190a15050565b600254600160a060020a0316331461076c57600080fd5b600160a060020a038116151561078157600080fd5b600254604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60018110156107f857600080fd5b600381111561080657600080fd5b600160a060020a0383166000908152600760205260409020541580156108455750600160a060020a038316600090815260076020526040902060010154155b156100da573360009081526020819052604090205482111561086657600080fd5b600160a060020a038316151561087b57600080fd5b600160a060020a0383166000818152600760209081526040918290208481556001810186905542600290910181905582518681529182018590528183015290517f1e07d8ccaa3a137b6fe950998ebd96e18b805cdf857ec65eeca3ac134aeb21a99181900360600190a233600090815260208190526040902054610905908363ffffffff610baf16565b3360009081526020819052604080822092909255600160a060020a03851681522054610937908363ffffffff610bc616565b600160a060020a038416600081815260208181526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3505050565b600160a060020a0382166000908152602081905260409020548111156109b457600080fd5b600160a060020a0382166000908152602081905260409020546109dd908263ffffffff610baf16565b600160a060020a038316600090815260208190526040902055600154610a09908263ffffffff610baf16565b600155604080518281529051600160a060020a038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a25050565b600160a060020a0381166000908152600760205260408120548180808060018510610ba45760038511610b4257610a8d85600163ffffffff610baf16565b9450600090505b6004811015610b4257610ace6201518060088760038110610ab157fe5b600802018360048110610ac057fe5b01549063ffffffff610bdf16565b600160a060020a0388166000908152600760205260409020600201549092504290610aff908463ffffffff610bc616565b10610b3a57610b3760088660038110610b1457fe5b6008020160040182600481101515610b2857fe5b0154849063ffffffff610bc616565b92505b600101610a94565b600160a060020a038716600090815260076020526040902060010154610b8190606490610b75908663ffffffff610bdf16565b9063ffffffff610c0d16565b9350831515610ba457600160a060020a0387166000908152600760205260408120555b509195945050505050565b60008083831115610bbf57600080fd5b5050900390565b600082820183811015610bd857600080fd5b9392505050565b600080831515610bf257600091506106be565b50828202828482811515610c0257fe5b0414610bd857600080fd5b600080808311610c1c57600080fd5b8284811515610c2757fe5b049493505050505600a165627a7a72305820382f432f239366ab587b2d01a7221ae48043284b37b06a7483adbdc1cb0fc4490029
Deployed Bytecode
0x6080604052600436106100da5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100df5780631313b53a1461016957806318160ddd1461018f5780631c45f94b146101b65780632cb55c77146101da5780632e6da2d514610219578063313ce5671461023d57806342966c681461025257806370a082311461026a5780638da5cb5b1461028b57806395d89b41146102bc578063a9059cbb146102d1578063b414d4b614610309578063e724529c1461032a578063f2fde38b14610350575b600080fd5b3480156100eb57600080fd5b506100f4610371565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561012e578181015183820152602001610116565b50505050905090810190601f16801561015b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561017557600080fd5b5061018d600160a060020a0360043516602435610407565b005b34801561019b57600080fd5b506101a461042e565b60408051918252519081900360200190f35b3480156101c257600080fd5b5061018d600160a060020a0360043516602435610434565b3480156101e657600080fd5b506101fb600160a060020a0360043516610457565b60408051938452602084019290925282820152519081900360600190f35b34801561022557600080fd5b5061018d600160a060020a0360043516602435610478565b34801561024957600080fd5b506101a461049b565b34801561025e57600080fd5b5061018d6004356104a1565b34801561027657600080fd5b506101a4600160a060020a03600435166104c5565b34801561029757600080fd5b506102a06104e0565b60408051600160a060020a039092168252519081900360200190f35b3480156102c857600080fd5b506100f46104ef565b3480156102dd57600080fd5b506102f5600160a060020a0360043516602435610550565b604080519115158252519081900360200190f35b34801561031557600080fd5b506102f5600160a060020a03600435166106c5565b34801561033657600080fd5b5061018d600160a060020a036004351660243515156106da565b34801561035c57600080fd5b5061018d600160a060020a0360043516610755565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103fd5780601f106103d2576101008083540402835291602001916103fd565b820191906000526020600020905b8154815290600101906020018083116103e057829003601f168201915b5050505050905090565b600254600160a060020a0316331461041e57600080fd5b61042a828260016107ea565b5050565b60015490565b600254600160a060020a0316331461044b57600080fd5b61042a828260026107ea565b60076020526000908152604090208054600182015460029092015490919083565b600254600160a060020a0316331461048f57600080fd5b61042a828260036107ea565b60055481565b600254600160a060020a031633146104b857600080fd5b6104c2338261098f565b50565b600160a060020a031660009081526020819052604090205490565b600254600160a060020a031681565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103fd5780601f106103d2576101008083540402835291602001916103fd565b3360009081526007602052604081205481908110156105a05761059161057533610a4f565b336000908152602081905260409020549063ffffffff610baf16565b9050828110156105a057600080fd5b336000908152602081905260409020548311156105bc57600080fd5b600160a060020a03841615156105d157600080fd5b3360009081526006602052604090205460ff16156105ee57600080fd5b600160a060020a03841660009081526006602052604090205460ff161561061457600080fd5b33600090815260208190526040902054610634908463ffffffff610baf16565b3360009081526020819052604080822092909255600160a060020a03861681522054610666908463ffffffff610bc616565b600160a060020a038516600081815260208181526040918290209390935580518681529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3600191505b5092915050565b60066020526000908152604090205460ff1681565b600254600160a060020a031633146106f157600080fd5b600160a060020a038216600081815260066020908152604091829020805460ff191685151590811790915582519384529083015280517f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a59281900390910190a15050565b600254600160a060020a0316331461076c57600080fd5b600160a060020a038116151561078157600080fd5b600254604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60018110156107f857600080fd5b600381111561080657600080fd5b600160a060020a0383166000908152600760205260409020541580156108455750600160a060020a038316600090815260076020526040902060010154155b156100da573360009081526020819052604090205482111561086657600080fd5b600160a060020a038316151561087b57600080fd5b600160a060020a0383166000818152600760209081526040918290208481556001810186905542600290910181905582518681529182018590528183015290517f1e07d8ccaa3a137b6fe950998ebd96e18b805cdf857ec65eeca3ac134aeb21a99181900360600190a233600090815260208190526040902054610905908363ffffffff610baf16565b3360009081526020819052604080822092909255600160a060020a03851681522054610937908363ffffffff610bc616565b600160a060020a038416600081815260208181526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3505050565b600160a060020a0382166000908152602081905260409020548111156109b457600080fd5b600160a060020a0382166000908152602081905260409020546109dd908263ffffffff610baf16565b600160a060020a038316600090815260208190526040902055600154610a09908263ffffffff610baf16565b600155604080518281529051600160a060020a038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a25050565b600160a060020a0381166000908152600760205260408120548180808060018510610ba45760038511610b4257610a8d85600163ffffffff610baf16565b9450600090505b6004811015610b4257610ace6201518060088760038110610ab157fe5b600802018360048110610ac057fe5b01549063ffffffff610bdf16565b600160a060020a0388166000908152600760205260409020600201549092504290610aff908463ffffffff610bc616565b10610b3a57610b3760088660038110610b1457fe5b6008020160040182600481101515610b2857fe5b0154849063ffffffff610bc616565b92505b600101610a94565b600160a060020a038716600090815260076020526040902060010154610b8190606490610b75908663ffffffff610bdf16565b9063ffffffff610c0d16565b9350831515610ba457600160a060020a0387166000908152600760205260408120555b509195945050505050565b60008083831115610bbf57600080fd5b5050900390565b600082820183811015610bd857600080fd5b9392505050565b600080831515610bf257600091506106be565b50828202828482811515610c0257fe5b0414610bd857600080fd5b600080808311610c1c57600080fd5b8284811515610c2757fe5b049493505050505600a165627a7a72305820382f432f239366ab587b2d01a7221ae48043284b37b06a7483adbdc1cb0fc4490029
Swarm Source
bzzr://382f432f239366ab587b2d01a7221ae48043284b37b06a7483adbdc1cb0fc449
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.