ERC-20
Overview
Max Total Supply
895,870,105 UST
Holders
47,328
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
400 USTValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
UST
Compiler Version
v0.4.21+commit.dfe3193c
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-05-11 */ pragma solidity ^0.4.21; contract Owned { /// 'owner' is the only address that can call a function with /// this modifier address public owner; address internal newOwner; ///@notice The constructor assigns the message sender to be 'owner' function Owned() public { owner = msg.sender; } modifier onlyOwner() { require(msg.sender == owner); _; } event updateOwner(address _oldOwner, address _newOwner); ///change the owner function changeOwner(address _newOwner) public onlyOwner returns(bool) { require(owner != _newOwner); newOwner = _newOwner; return true; } /// accept the ownership function acceptNewOwner() public returns(bool) { require(msg.sender == newOwner); emit updateOwner(owner, newOwner); owner = newOwner; return true; } } // Safe maths, borrowed from OpenZeppelin library SafeMath { function mul(uint a, uint b) internal pure returns (uint) { uint c = a * b; assert(a == 0 || c / a == b); return c; } function div(uint a, uint b) internal pure returns (uint) { // assert(b > 0); // Solidity automatically throws when dividing by 0 uint c = a / b; return c; } function sub(uint a, uint b) internal pure returns (uint) { assert(b <= a); return a - b; } function add(uint a, uint b) internal pure returns (uint) { uint c = a + b; assert(c >= a); return c; } } contract ERC20Token { /* This is a slight change to the ERC20 base standard. function totalSupply() constant returns (uint256 supply); is replaced with: uint256 public totalSupply; This automatically creates a getter function for the totalSupply. This is moved to the base contract since public getter functions are not currently recognised as an implementation of the matching abstract function by the compiler. */ /// total amount of tokens uint256 public totalSupply; /// user tokens mapping (address => uint256) public balances; /// @param _owner The address from which the balance will be retrieved /// @return The balance function balanceOf(address _owner) constant public returns (uint256 balance); /// @notice send `_value` token to `_to` from `msg.sender` /// @param _to The address of the recipient /// @param _value The amount of token to be transferred /// @return Whether the transfer was successful or not function transfer(address _to, uint256 _value) public returns (bool success); /// @notice send `_value` token to `_to` from `_from` on the condition it is approved by `_from` /// @param _from The address of the sender /// @param _to The address of the recipient /// @param _value The amount of token to be transferred /// @return Whether the transfer was successful or not function transferFrom(address _from, address _to, uint256 _value) public returns (bool success); /// @notice `msg.sender` approves `_spender` to spend `_value` tokens /// @param _spender The address of the account able to transfer the tokens /// @param _value The amount of tokens to be approved for transfer /// @return Whether the approval was successful or not function approve(address _spender, uint256 _value) public returns (bool success); /// @param _owner The address of the account owning tokens /// @param _spender The address of the account able to transfer the tokens /// @return Amount of remaining tokens allowed to spent function allowance(address _owner, address _spender) constant public returns (uint256 remaining); event Transfer(address indexed _from, address indexed _to, uint256 _value); event Approval(address indexed _owner, address indexed _spender, uint256 _value); } contract Controlled is Owned, ERC20Token { using SafeMath for uint; uint256 public releaseStartTime; uint256 oneMonth = 3600 * 24 * 30; // Flag that determines if the token is transferable or not bool public emergencyStop = false; struct userToken { uint256 UST; uint256 addrLockType; } mapping (address => userToken) public userReleaseToken; modifier canTransfer { require(emergencyStop == false); _; } modifier releaseTokenValid(address _user, uint256 _time, uint256 _value) { uint256 _lockTypeIndex = userReleaseToken[_user].addrLockType; if(_lockTypeIndex != 0) { require (balances[_user].sub(_value) >= userReleaseToken[_user].UST.sub(calcReleaseToken(_user, _time, _lockTypeIndex))); } _; } function canTransferUST(bool _bool) public onlyOwner{ emergencyStop = _bool; } /// @notice get `_user` transferable token amount /// @param _user The user's address /// @param _time The present time /// @param _lockTypeIndex The user's investment lock type /// @return Return the amount of user's transferable token function calcReleaseToken(address _user, uint256 _time, uint256 _lockTypeIndex) internal view returns (uint256) { uint256 _timeDifference = _time.sub(releaseStartTime); uint256 _whichPeriod = getPeriod(_lockTypeIndex, _timeDifference); if(_lockTypeIndex == 1) { return (percent(userReleaseToken[_user].UST, 25) + percent(userReleaseToken[_user].UST, _whichPeriod.mul(25))); } if(_lockTypeIndex == 2) { return (percent(userReleaseToken[_user].UST, 25) + percent(userReleaseToken[_user].UST, _whichPeriod.mul(25))); } if(_lockTypeIndex == 3) { return (percent(userReleaseToken[_user].UST, 10) + percent(userReleaseToken[_user].UST, _whichPeriod.mul(15))); } revert(); } /// @notice get time period for the given '_lockTypeIndex' /// @param _lockTypeIndex The user's investment locktype index /// @param _timeDifference The passed time since releaseStartTime to now /// @return Return the time period function getPeriod(uint256 _lockTypeIndex, uint256 _timeDifference) internal view returns (uint256) { if(_lockTypeIndex == 1) { //The lock for the usechain coreTeamSupply uint256 _period1 = (_timeDifference.div(oneMonth)).div(12); if(_period1 >= 3){ _period1 = 3; } return _period1; } if(_lockTypeIndex == 2) { //The lock for medium investment uint256 _period2 = _timeDifference.div(oneMonth); if(_period2 >= 3){ _period2 = 3; } return _period2; } if(_lockTypeIndex == 3) { //The lock for massive investment uint256 _period3 = _timeDifference.div(oneMonth); if(_period3 >= 6){ _period3 = 6; } return _period3; } revert(); } function percent(uint _token, uint _percentage) internal pure returns (uint) { return _percentage.mul(_token).div(100); } } contract standardToken is ERC20Token, Controlled { mapping (address => mapping (address => uint256)) public allowances; /// @param _owner The address that's balance is being requested /// @return The balance of `_owner` at the current block function balanceOf(address _owner) constant public returns (uint256) { return balances[_owner]; } /// @notice Send `_value` tokens to `_to` from `msg.sender` /// @param _to The address of the recipient /// @param _value The amount of tokens to be transferred /// @return Whether the transfer was successful or not function transfer( address _to, uint256 _value) public canTransfer releaseTokenValid(msg.sender, now, _value) returns (bool) { require (balances[msg.sender] >= _value); // Throw if sender has insufficient balance require (balances[_to] + _value >= balances[_to]); // Throw if owerflow detected balances[msg.sender] -= _value; // Deduct senders balance balances[_to] += _value; // Add recivers balance emit Transfer(msg.sender, _to, _value); // Raise Transfer event return true; } /// @notice `msg.sender` approves `_spender` to spend `_value` tokens on /// its behalf. This is a modified version of the ERC20 approve function /// to be a little bit safer /// @param _spender The address of the account able to transfer the tokens /// @param _value The amount of tokens to be approved for transfer /// @return True if the approval was successful function approve(address _spender, uint256 _value) public returns (bool success) { allowances[msg.sender][_spender] = _value; // Set allowance emit Approval(msg.sender, _spender, _value); // Raise Approval event return true; } /// @notice `msg.sender` approves `_spender` to send `_value` tokens on /// its behalf, and then a function is triggered in the contract that is /// being approved, `_spender`. This allows users to use their tokens to /// interact with contracts in one function call instead of two /// @param _spender The address of the contract able to transfer the tokens /// @param _value The amount of tokens to be approved for transfer /// @return True if the function call was successful function approveAndCall(address _spender, uint256 _value, bytes _extraData) public returns (bool success) { approve(_spender, _value); // Set approval to contract for _value //receiveApproval(address _from, uint256 _value, address _tokenContract, bytes _extraData) //it is assumed that when does this that the call *should* succeed, otherwise one would use vanilla approve instead. if(!_spender.call(bytes4(bytes32(keccak256("receiveApproval(address,uint256,address,bytes)"))), msg.sender, _value, this, _extraData)) { revert(); } return true; } /// @notice Send `_value` tokens to `_to` from `_from` on the condition it /// is approved by `_from` /// @param _from The address holding the tokens being transferred /// @param _to The address of the recipient /// @param _value The amount of tokens to be transferred /// @return True if the transfer was successful function transferFrom(address _from, address _to, uint256 _value) public canTransfer releaseTokenValid(msg.sender, now, _value) returns (bool success) { require (balances[_from] >= _value); // Throw if sender does not have enough balance require (balances[_to] + _value >= balances[_to]); // Throw if overflow detected require (_value <= allowances[_from][msg.sender]); // Throw if you do not have allowance balances[_from] -= _value; // Deduct senders balance balances[_to] += _value; // Add recipient balance allowances[_from][msg.sender] -= _value; // Deduct allowance for this address emit Transfer(_from, _to, _value); // Raise Transfer event return true; } /// @dev This function makes it easy to read the `allowances[]` map /// @param _owner The address of the account that owns the token /// @param _spender The address of the account able to transfer the tokens /// @return Amount of remaining tokens of _owner that _spender is allowed to spend function allowance(address _owner, address _spender) constant public returns (uint256) { return allowances[_owner][_spender]; } } contract UST is Owned, standardToken { string constant public name = "UseChainToken"; string constant public symbol = "UST"; uint constant public decimals = 18; uint256 public totalSupply = 0; uint256 constant public topTotalSupply = 2 * 10**10 * 10**decimals; uint public forSaleSupply = percent(topTotalSupply, 45); uint public marketingPartnerSupply = percent(topTotalSupply, 5); uint public coreTeamSupply = percent(topTotalSupply, 15); uint public technicalCommunitySupply = percent(topTotalSupply, 15); uint public communitySupply = percent(topTotalSupply, 20); uint public softCap = percent(topTotalSupply, 30); function () public { revert(); } /// @dev Owner can change the releaseStartTime when needs /// @param _time The releaseStartTime, UTC timezone function setRealseTime(uint256 _time) public onlyOwner { releaseStartTime = _time; } /// @dev This owner allocate token for private sale /// @param _owners The address of the account that owns the token /// @param _values The amount of tokens /// @param _addrLockType The locktype for different investment type function allocateToken(address[] _owners, uint256[] _values, uint256[] _addrLockType) public onlyOwner { require ((_owners.length == _values.length) && ( _values.length == _addrLockType.length)); for(uint i = 0; i < _owners.length ; i++){ uint256 value = _values[i] * 10 ** decimals; totalSupply = totalSupply.add(value); balances[_owners[i]] = balances[_owners[i]].add(value); // Set minted coins to target emit Transfer(0x0, _owners[i], value); userReleaseToken[_owners[i]].UST = userReleaseToken[_owners[i]].UST.add(value); userReleaseToken[_owners[i]].addrLockType = _addrLockType[i]; } } /// @dev This owner allocate token for candy airdrop /// @param _owners The address of the account that owns the token /// @param _values The amount of tokens function allocateCandyToken(address[] _owners, uint256[] _values) public onlyOwner { for(uint i = 0; i < _owners.length ; i++){ uint256 value = _values[i] * 10 ** decimals; totalSupply = totalSupply.add(value); balances[_owners[i]] = balances[_owners[i]].add(value); emit Transfer(0x0, _owners[i], 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":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_bool","type":"bool"}],"name":"canTransferUST","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":"_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":"","type":"address"}],"name":"balances","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"technicalCommunitySupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowances","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"emergencyStop","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"coreTeamSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","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":"topTotalSupply","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":"marketingPartnerSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"softCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"userReleaseToken","outputs":[{"name":"UST","type":"uint256"},{"name":"addrLockType","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"changeOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","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":false,"inputs":[{"name":"_time","type":"uint256"}],"name":"setRealseTime","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"forSaleSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_owners","type":"address[]"},{"name":"_values","type":"uint256[]"},{"name":"_addrLockType","type":"uint256[]"}],"name":"allocateToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_owners","type":"address[]"},{"name":"_values","type":"uint256[]"}],"name":"allocateCandyToken","outputs":[],"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":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"releaseStartTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptNewOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"communitySupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"payable":false,"stateMutability":"nonpayable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_oldOwner","type":"address"},{"indexed":false,"name":"_newOwner","type":"address"}],"name":"updateOwner","type":"event"}]
Contract Creation Code
606060405262278d006005556006805460ff191690556000600955620000416b409f9cbc7c4a04c220000000602d640100000000620012d06200013782021704565b600a556200006b6b409f9cbc7c4a04c2200000006005640100000000620012d06200013782021704565b600b55620000956b409f9cbc7c4a04c220000000600f640100000000620012d06200013782021704565b600c55620000bf6b409f9cbc7c4a04c220000000600f640100000000620012d06200013782021704565b600d55620000e96b409f9cbc7c4a04c2200000006014640100000000620012d06200013782021704565b600e55620001136b409f9cbc7c4a04c220000000601e640100000000620012d06200013782021704565b600f5560008054600160a060020a03191633600160a060020a0316179055620001b4565b60006200016e6064620001598486640100000000620012ac6200017582021704565b90640100000000620012e76200019c82021704565b9392505050565b60008282028315806200019357508284828115156200019057fe5b04145b15156200016e57fe5b6000808284811515620001ab57fe5b04949350505050565b61134a80620001c46000396000f30060606040526004361061015b5763ffffffff60e060020a60003504166306fdde03811461016b578063095ea7b3146101f557806316f0ec721461022b57806318160ddd1461024557806323b872dd1461026a57806327e235e314610292578063313ce567146102b157806349b2f5ff146102c457806355b6ed5c146102d757806363a599a4146102fc5780636bff19011461030f57806370a082311461032257806385c09f26146103415780638da5cb5b146103545780638e9e8b1414610383578063906a26e01461039657806395d89b41146103a95780639c37d47d146103bc578063a6f9dae1146103f3578063a9059cbb14610412578063ac56f98014610434578063af13f1ad1461044a578063c34f783d1461045d578063c6e6ab031461052c578063cae9ca51146105bb578063dd62ed3e14610620578063e97d87d514610645578063f05a781d14610658578063fcceea261461066b575b341561016657600080fd5b600080fd5b341561017657600080fd5b61017e61067e565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101ba5780820151838201526020016101a2565b50505050905090810190601f1680156101e75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561020057600080fd5b610217600160a060020a03600435166024356106b5565b604051901515815260200160405180910390f35b341561023657600080fd5b6102436004351515610721565b005b341561025057600080fd5b61025861074f565b60405190815260200160405180910390f35b341561027557600080fd5b610217600160a060020a0360043581169060243516604435610755565b341561029d57600080fd5b610258600160a060020a03600435166108f6565b34156102bc57600080fd5b610258610908565b34156102cf57600080fd5b61025861090d565b34156102e257600080fd5b610258600160a060020a0360043581169060243516610913565b341561030757600080fd5b610217610930565b341561031a57600080fd5b610258610939565b341561032d57600080fd5b610258600160a060020a036004351661093f565b341561034c57600080fd5b61025861095a565b341561035f57600080fd5b61036761096a565b604051600160a060020a03909116815260200160405180910390f35b341561038e57600080fd5b610258610979565b34156103a157600080fd5b61025861097f565b34156103b457600080fd5b61017e610985565b34156103c757600080fd5b6103db600160a060020a03600435166109bc565b60405191825260208201526040908101905180910390f35b34156103fe57600080fd5b610217600160a060020a03600435166109d5565b341561041d57600080fd5b610217600160a060020a0360043516602435610a3c565b341561043f57600080fd5b610243600435610b65565b341561045557600080fd5b610258610b85565b341561046857600080fd5b61024360046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437820191505050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843750949650610b8b95505050505050565b341561053757600080fd5b610243600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843750949650610d7a95505050505050565b34156105c657600080fd5b61021760048035600160a060020a03169060248035919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610e7a95505050505050565b341561062b57600080fd5b610258600160a060020a0360043581169060243516610fc0565b341561065057600080fd5b610258610feb565b341561066357600080fd5b610217610ff1565b341561067657600080fd5b61025861109b565b60408051908101604052600d81527f557365436861696e546f6b656e00000000000000000000000000000000000000602082015281565b600160a060020a03338116600081815260086020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60005433600160a060020a0390811691161461073c57600080fd5b6006805460ff1916911515919091179055565b60095481565b60065460009060ff161561076857600080fd5b33600160a060020a0381166000908152600760205260409020600101544290849080156107f6576107c261079d8585846110a1565b600160a060020a0386166000908152600760205260409020549063ffffffff6111cc16565b600160a060020a0385166000908152600360205260409020546107eb908463ffffffff6111cc16565b10156107f657600080fd5b600160a060020a0388166000908152600360205260409020548690101561081c57600080fd5b600160a060020a038716600090815260036020526040902054868101101561084357600080fd5b600160a060020a038089166000908152600860209081526040808320339094168352929052205486111561087657600080fd5b600160a060020a03808916600081815260036020908152604080832080548c900390558b851680845281842080548d01905584845260088352818420339096168452949091529081902080548a900390556000805160206112ff8339815191529089905190815260200160405180910390a3506001979650505050505050565b60036020526000908152604090205481565b601281565b600d5481565b600860209081526000928352604080842090915290825290205481565b60065460ff1681565b600c5481565b600160a060020a031660009081526003602052604090205490565b6b409f9cbc7c4a04c22000000081565b600054600160a060020a031681565b600b5481565b600f5481565b60408051908101604052600381527f5553540000000000000000000000000000000000000000000000000000000000602082015281565b6007602052600090815260409020805460019091015482565b6000805433600160a060020a039081169116146109f157600080fd5b600054600160a060020a0383811691161415610a0c57600080fd5b5060018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116178155919050565b60065460009060ff1615610a4f57600080fd5b33600160a060020a038116600090815260076020526040902060010154429084908015610ab857610a8461079d8585846110a1565b600160a060020a038516600090815260036020526040902054610aad908463ffffffff6111cc16565b1015610ab857600080fd5b600160a060020a03331660009081526003602052604090205486901015610ade57600080fd5b600160a060020a0387166000908152600360205260409020548681011015610b0557600080fd5b600160a060020a0333811660008181526003602052604080822080548b90039055928a168082529083902080548a019055916000805160206112ff8339815191529089905190815260200160405180910390a35060019695505050505050565b60005433600160a060020a03908116911614610b8057600080fd5b600455565b600a5481565b60008054819033600160a060020a03908116911614610ba957600080fd5b83518551148015610bbb575082518451145b1515610bc657600080fd5b600091505b8451821015610d7357670de0b6b3a7640000848381518110610be957fe5b9060200190602002015160095491029150610c0a908263ffffffff6111de16565b600955610c518160036000888681518110610c2157fe5b90602001906020020151600160a060020a031681526020810191909152604001600020549063ffffffff6111de16565b60036000878581518110610c6157fe5b90602001906020020151600160a060020a03168152602081019190915260400160002055848281518110610c9157fe5b90602001906020020151600160a060020a031660006000805160206112ff8339815191528360405190815260200160405180910390a3610cdb8160076000888681518110610c2157fe5b60076000878581518110610ceb57fe5b90602001906020020151600160a060020a03168152602081019190915260400160002055828281518110610d1b57fe5b9060200190602002015160076000878581518110610d3557fe5b90602001906020020151600160a060020a0316600160a060020a03168152602001908152602001600020600101819055508180600101925050610bcb565b5050505050565b60008054819033600160a060020a03908116911614610d9857600080fd5b600091505b8351821015610e7457670de0b6b3a7640000838381518110610dbb57fe5b9060200190602002015160095491029150610ddc908263ffffffff6111de16565b600955610df38160036000878681518110610c2157fe5b60036000868581518110610e0357fe5b90602001906020020151600160a060020a03168152602081019190915260400160002055838281518110610e3357fe5b90602001906020020151600160a060020a031660006000805160206112ff8339815191528360405190815260200160405180910390a3600190910190610d9d565b50505050565b6000610e8684846106b5565b5083600160a060020a03166040517f72656365697665417070726f76616c28616464726573732c75696e743235362c81527f616464726573732c6279746573290000000000000000000000000000000000006020820152602e01604051809103902060e060020a9004338530866040518563ffffffff1660e060020a0281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a03168152602001828051906020019080838360005b83811015610f65578082015183820152602001610f4d565b50505050905090810190601f168015610f925780820380516001836020036101000a031916815260200191505b509450505050506000604051808303816000875af1925050501515610fb657600080fd5b5060019392505050565b600160a060020a03918216600090815260086020908152604080832093909416825291909152205490565b60045481565b60015460009033600160a060020a0390811691161461100f57600080fd5b6000546001547fa6348c80a3dfb1c2603f5c35480c5bd8afc0656ad83dc6b520b648cb286d541791600160a060020a039081169116604051600160a060020a039283168152911660208201526040908101905180910390a150600180546000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905590565b600e5481565b60008060006110bb600454866111cc90919063ffffffff16565b91506110c784836111f4565b9050836001141561113157600160a060020a0386166000908152600760205260409020546111059061110083601963ffffffff6112ac16565b6112d0565b600160a060020a0387166000908152600760205260409020546111299060196112d0565b0192506111c3565b836002141561116857600160a060020a0386166000908152600760205260409020546111059061110083601963ffffffff6112ac16565b836003141561016657600160a060020a03861660009081526007602052604090205461119f9061110083600f63ffffffff6112ac16565b600160a060020a03871660009081526007602052604090205461112990600a6112d0565b50509392505050565b6000828211156111d857fe5b50900390565b6000828201838110156111ed57fe5b9392505050565b600080600080856001141561124057611229600c61121d600554886112e790919063ffffffff16565b9063ffffffff6112e716565b92506003831061123857600392505b8293506112a3565b85600214156112745760055461125d90869063ffffffff6112e716565b91506003821061126c57600391505b8193506112a3565b85600314156101665760055461129190869063ffffffff6112e716565b90506006811061129f575060065b8093505b50505092915050565b60008282028315806112c857508284828115156112c557fe5b04145b15156111ed57fe5b60006111ed606461121d848663ffffffff6112ac16565b60008082848115156112f557fe5b049493505050505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a7230582078115256c53361a66138c437ed8b5e6fb896bb393c309d9a82c8a5b2ee85be670029
Deployed Bytecode
0x60606040526004361061015b5763ffffffff60e060020a60003504166306fdde03811461016b578063095ea7b3146101f557806316f0ec721461022b57806318160ddd1461024557806323b872dd1461026a57806327e235e314610292578063313ce567146102b157806349b2f5ff146102c457806355b6ed5c146102d757806363a599a4146102fc5780636bff19011461030f57806370a082311461032257806385c09f26146103415780638da5cb5b146103545780638e9e8b1414610383578063906a26e01461039657806395d89b41146103a95780639c37d47d146103bc578063a6f9dae1146103f3578063a9059cbb14610412578063ac56f98014610434578063af13f1ad1461044a578063c34f783d1461045d578063c6e6ab031461052c578063cae9ca51146105bb578063dd62ed3e14610620578063e97d87d514610645578063f05a781d14610658578063fcceea261461066b575b341561016657600080fd5b600080fd5b341561017657600080fd5b61017e61067e565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101ba5780820151838201526020016101a2565b50505050905090810190601f1680156101e75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561020057600080fd5b610217600160a060020a03600435166024356106b5565b604051901515815260200160405180910390f35b341561023657600080fd5b6102436004351515610721565b005b341561025057600080fd5b61025861074f565b60405190815260200160405180910390f35b341561027557600080fd5b610217600160a060020a0360043581169060243516604435610755565b341561029d57600080fd5b610258600160a060020a03600435166108f6565b34156102bc57600080fd5b610258610908565b34156102cf57600080fd5b61025861090d565b34156102e257600080fd5b610258600160a060020a0360043581169060243516610913565b341561030757600080fd5b610217610930565b341561031a57600080fd5b610258610939565b341561032d57600080fd5b610258600160a060020a036004351661093f565b341561034c57600080fd5b61025861095a565b341561035f57600080fd5b61036761096a565b604051600160a060020a03909116815260200160405180910390f35b341561038e57600080fd5b610258610979565b34156103a157600080fd5b61025861097f565b34156103b457600080fd5b61017e610985565b34156103c757600080fd5b6103db600160a060020a03600435166109bc565b60405191825260208201526040908101905180910390f35b34156103fe57600080fd5b610217600160a060020a03600435166109d5565b341561041d57600080fd5b610217600160a060020a0360043516602435610a3c565b341561043f57600080fd5b610243600435610b65565b341561045557600080fd5b610258610b85565b341561046857600080fd5b61024360046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437820191505050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843750949650610b8b95505050505050565b341561053757600080fd5b610243600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843750949650610d7a95505050505050565b34156105c657600080fd5b61021760048035600160a060020a03169060248035919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610e7a95505050505050565b341561062b57600080fd5b610258600160a060020a0360043581169060243516610fc0565b341561065057600080fd5b610258610feb565b341561066357600080fd5b610217610ff1565b341561067657600080fd5b61025861109b565b60408051908101604052600d81527f557365436861696e546f6b656e00000000000000000000000000000000000000602082015281565b600160a060020a03338116600081815260086020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60005433600160a060020a0390811691161461073c57600080fd5b6006805460ff1916911515919091179055565b60095481565b60065460009060ff161561076857600080fd5b33600160a060020a0381166000908152600760205260409020600101544290849080156107f6576107c261079d8585846110a1565b600160a060020a0386166000908152600760205260409020549063ffffffff6111cc16565b600160a060020a0385166000908152600360205260409020546107eb908463ffffffff6111cc16565b10156107f657600080fd5b600160a060020a0388166000908152600360205260409020548690101561081c57600080fd5b600160a060020a038716600090815260036020526040902054868101101561084357600080fd5b600160a060020a038089166000908152600860209081526040808320339094168352929052205486111561087657600080fd5b600160a060020a03808916600081815260036020908152604080832080548c900390558b851680845281842080548d01905584845260088352818420339096168452949091529081902080548a900390556000805160206112ff8339815191529089905190815260200160405180910390a3506001979650505050505050565b60036020526000908152604090205481565b601281565b600d5481565b600860209081526000928352604080842090915290825290205481565b60065460ff1681565b600c5481565b600160a060020a031660009081526003602052604090205490565b6b409f9cbc7c4a04c22000000081565b600054600160a060020a031681565b600b5481565b600f5481565b60408051908101604052600381527f5553540000000000000000000000000000000000000000000000000000000000602082015281565b6007602052600090815260409020805460019091015482565b6000805433600160a060020a039081169116146109f157600080fd5b600054600160a060020a0383811691161415610a0c57600080fd5b5060018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116178155919050565b60065460009060ff1615610a4f57600080fd5b33600160a060020a038116600090815260076020526040902060010154429084908015610ab857610a8461079d8585846110a1565b600160a060020a038516600090815260036020526040902054610aad908463ffffffff6111cc16565b1015610ab857600080fd5b600160a060020a03331660009081526003602052604090205486901015610ade57600080fd5b600160a060020a0387166000908152600360205260409020548681011015610b0557600080fd5b600160a060020a0333811660008181526003602052604080822080548b90039055928a168082529083902080548a019055916000805160206112ff8339815191529089905190815260200160405180910390a35060019695505050505050565b60005433600160a060020a03908116911614610b8057600080fd5b600455565b600a5481565b60008054819033600160a060020a03908116911614610ba957600080fd5b83518551148015610bbb575082518451145b1515610bc657600080fd5b600091505b8451821015610d7357670de0b6b3a7640000848381518110610be957fe5b9060200190602002015160095491029150610c0a908263ffffffff6111de16565b600955610c518160036000888681518110610c2157fe5b90602001906020020151600160a060020a031681526020810191909152604001600020549063ffffffff6111de16565b60036000878581518110610c6157fe5b90602001906020020151600160a060020a03168152602081019190915260400160002055848281518110610c9157fe5b90602001906020020151600160a060020a031660006000805160206112ff8339815191528360405190815260200160405180910390a3610cdb8160076000888681518110610c2157fe5b60076000878581518110610ceb57fe5b90602001906020020151600160a060020a03168152602081019190915260400160002055828281518110610d1b57fe5b9060200190602002015160076000878581518110610d3557fe5b90602001906020020151600160a060020a0316600160a060020a03168152602001908152602001600020600101819055508180600101925050610bcb565b5050505050565b60008054819033600160a060020a03908116911614610d9857600080fd5b600091505b8351821015610e7457670de0b6b3a7640000838381518110610dbb57fe5b9060200190602002015160095491029150610ddc908263ffffffff6111de16565b600955610df38160036000878681518110610c2157fe5b60036000868581518110610e0357fe5b90602001906020020151600160a060020a03168152602081019190915260400160002055838281518110610e3357fe5b90602001906020020151600160a060020a031660006000805160206112ff8339815191528360405190815260200160405180910390a3600190910190610d9d565b50505050565b6000610e8684846106b5565b5083600160a060020a03166040517f72656365697665417070726f76616c28616464726573732c75696e743235362c81527f616464726573732c6279746573290000000000000000000000000000000000006020820152602e01604051809103902060e060020a9004338530866040518563ffffffff1660e060020a0281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a03168152602001828051906020019080838360005b83811015610f65578082015183820152602001610f4d565b50505050905090810190601f168015610f925780820380516001836020036101000a031916815260200191505b509450505050506000604051808303816000875af1925050501515610fb657600080fd5b5060019392505050565b600160a060020a03918216600090815260086020908152604080832093909416825291909152205490565b60045481565b60015460009033600160a060020a0390811691161461100f57600080fd5b6000546001547fa6348c80a3dfb1c2603f5c35480c5bd8afc0656ad83dc6b520b648cb286d541791600160a060020a039081169116604051600160a060020a039283168152911660208201526040908101905180910390a150600180546000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905590565b600e5481565b60008060006110bb600454866111cc90919063ffffffff16565b91506110c784836111f4565b9050836001141561113157600160a060020a0386166000908152600760205260409020546111059061110083601963ffffffff6112ac16565b6112d0565b600160a060020a0387166000908152600760205260409020546111299060196112d0565b0192506111c3565b836002141561116857600160a060020a0386166000908152600760205260409020546111059061110083601963ffffffff6112ac16565b836003141561016657600160a060020a03861660009081526007602052604090205461119f9061110083600f63ffffffff6112ac16565b600160a060020a03871660009081526007602052604090205461112990600a6112d0565b50509392505050565b6000828211156111d857fe5b50900390565b6000828201838110156111ed57fe5b9392505050565b600080600080856001141561124057611229600c61121d600554886112e790919063ffffffff16565b9063ffffffff6112e716565b92506003831061123857600392505b8293506112a3565b85600214156112745760055461125d90869063ffffffff6112e716565b91506003821061126c57600391505b8193506112a3565b85600314156101665760055461129190869063ffffffff6112e716565b90506006811061129f575060065b8093505b50505092915050565b60008282028315806112c857508284828115156112c557fe5b04145b15156111ed57fe5b60006111ed606461121d848663ffffffff6112ac16565b60008082848115156112f557fe5b049493505050505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a7230582078115256c53361a66138c437ed8b5e6fb896bb393c309d9a82c8a5b2ee85be670029
Swarm Source
bzzr://78115256c53361a66138c437ed8b5e6fb896bb393c309d9a82c8a5b2ee85be67
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.