ERC-20
Authentication
Overview
Max Total Supply
83,875,000 OVC
Holders
5,011 (0.00%)
Total Transfers
-
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 |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
OVC
Compiler Version
v0.4.23+commit.124ca40d
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-04-23 */ pragma solidity ^0.4.22; contract Ownable { address public owner; address public newOwner; event OwnershipTransferred(address indexed oldOwner, address indexed newOwner); function Ownable() public { owner = msg.sender; newOwner = address(0); } modifier onlyOwner() { require(msg.sender == owner); _; } function transferOwnership(address _newOwner) public onlyOwner { require(address(0) != _newOwner); newOwner = _newOwner; } function acceptOwnership() public { require(msg.sender == newOwner); emit OwnershipTransferred(owner, msg.sender); owner = msg.sender; newOwner = address(0); } } /** @author OVCode Switzerland AG */ /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ contract SafeMath { /** * @dev constructor */ function SafeMath() public { } function safeMul(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a * b; assert(a == 0 || c / a == b); return c; } function safeDiv(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a / b; return c; } function safeSub(uint256 a, uint256 b) internal pure returns (uint256) { assert(a >= b); return a - b; } function safeAdd(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } } /** @author OVCode Switzerland AG */ contract TokenERC20 is SafeMath { // Public variables of the token string public name; string public symbol; // 18 decimals is the strongly suggested default, avoid changing it uint8 public decimals = 18; uint256 public totalSupply; // This creates an array with all balances mapping (address => uint256) public balanceOf; mapping (address => mapping (address => uint256)) public allowance; // This generates a public event on the blockchain that will notify clients event Transfer(address indexed from, address indexed to, uint256 value); event ReceiveApproval(address _from, uint256 _value, address _token); // This notifies clients about the amount burnt event Burn(address indexed from, uint256 value); /** * For the ERC20 short address attack. */ modifier onlyPayloadSize(uint size) { assert(msg.data.length >= size + 4); _; } /** * @dev constructor */ function TokenERC20() public { } /** * Internal transfer, only can be called by this contract */ function _transfer(address _from, address _to, uint _value) internal { // Prevent transfer to 0x0 address. Use burn() instead require(_to != 0x0); // Check if the sender has enough require(balanceOf[_from] >= _value); // Check for overflows require(safeAdd(balanceOf[_to],_value) > balanceOf[_to]); // Save this for an assertion in the future uint previousBalances = safeAdd(balanceOf[_from],balanceOf[_to]); // Subtract from the sender balanceOf[_from] = safeSub(balanceOf[_from],_value); // Add the same to the recipient balanceOf[_to] = safeAdd(balanceOf[_to],_value); emit Transfer(_from, _to, _value); // Asserts are used to use static analysis to find bugs in your code. They should never fail assert(balanceOf[_from] + balanceOf[_to] == previousBalances); } /** * Transfer tokens * * Send `_value` tokens to `_to` from your account * * @param _to The address of the recipient * @param _value the amount to send */ function transfer(address _to, uint256 _value) onlyPayloadSize(2 * 32) public { _transfer(msg.sender, _to, _value); } /** * Transfer tokens from other address * * Send `_value` tokens to `_to` in behalf of `_from` * * @param _from The address of the sender * @param _to The address of the recipient * @param _value the amount to send */ function transferFrom(address _from, address _to, uint256 _value) onlyPayloadSize(32 * 3) public returns (bool success) { require(_value <= allowance[_from][msg.sender]); // Check allowance allowance[_from][msg.sender] = safeSub(allowance[_from][msg.sender],_value); _transfer(_from, _to, _value); return true; } /** * Set allowance for other address * * Allows `_spender` to spend no more than `_value` tokens in your behalf * * @param _spender The address authorized to spend * @param _value the max amount they can spend */ function approve(address _spender, uint256 _value) onlyPayloadSize(32 * 2) public returns (bool success) { allowance[msg.sender][_spender] = _value; emit ReceiveApproval(msg.sender, _value, this); return true; } /** * Destroy tokens * * Remove `_value` tokens from the system irreversibly * * @param _value the amount of money to burn */ function burn(uint256 _value) public returns (bool success) { require(balanceOf[msg.sender] >= _value); // Check if the sender has enough balanceOf[msg.sender] = safeSub(balanceOf[msg.sender],_value); // Subtract from the sender totalSupply = safeSub(totalSupply,_value); // Updates totalSupply emit Burn(msg.sender, _value); return true; } /** * Destroy tokens from other account * * Remove `_value` tokens from the system irreversibly on behalf of `_from`. * * @param _from the address of the sender * @param _value the amount of money to burn */ function burnFrom(address _from, uint256 _value) onlyPayloadSize(32 * 2) public returns (bool success) { require(balanceOf[_from] >= _value); // Check if the targeted balance is enough require(_value <= allowance[_from][msg.sender]); // Check allowance balanceOf[_from] = safeSub(balanceOf[_from],_value); // Subtract from the targeted balance allowance[_from][msg.sender] = safeSub(allowance[_from][msg.sender],_value); // Subtract from the sender's allowance totalSupply = safeSub(totalSupply,_value); // Update totalSupply emit Burn(_from, _value); return true; } } /** @author OVCode Switzerland AG */ contract OVC is Ownable, TokenERC20 { uint256 public ovcPerEther = 0; uint256 public minOVC; uint256 public constant ICO_START_TIME = 1526891400; // 05.21.2018 08:30:00 UTC uint256 public constant ICO_END_TIME = 1532131199; // 07.20.2018 11:59:59 UTC uint256 public totalOVCSold = 0; OVCLockAllocation public lockedAllocation; mapping (address => bool) public frozenAccount; /* This generates a public event on the blockchain that will notify clients */ event FrozenFunds(address target, bool frozen); event ChangeOvcEtherConversion(address owner, uint256 amount); /* Initializes contract, Total Supply (83,875,000 OVC), name (OVCODE) and symbol (OVC), Min OVC Per Wallet // Assign the 30,000,000 of the total supply to the presale account // Assign the 10,500,000 of the total supply to the First ICO account // Assign the 11,000,000 of the total supply to the Second ICO account // Assign the 1,075,000 of the total supply to the bonus account // Assign the 2,450,000 of the total supply to the bounty account // Assign the 14,850,000 of the total supply to the first investor account // Assign the 4,000,000 of the total supply to the second investor account // Lock-in the 10,000,000 of the total supply to `OVCLockAllocation` contract within 36 months(unlock 1/3 every 12 months) */ function OVC() public { totalSupply = safeMul(83875000,(10 ** uint256(decimals) )); // Update total supply(83,875,000) with the decimal amount name = "OVCODE"; // Set the name for display purposes symbol = "OVC"; // Set the symbol for display purposes // 30,000,000 tokens for Presale balanceOf[msg.sender] = safeMul(30000000,(10 ** uint256(decimals))); // 11,000,000 ICO tokens for direct buy on the smart contract /* @notice Transfer this token to OVC Smart Contract Address to enable the puchaser to buy directly on the contract */ address icoAccount1 = 0xe5aB5D1Da8817bFB4b0Af44eFDcCC850a47E477a; balanceOf[icoAccount1] = safeMul(11000000,(10 ** uint256(decimals))); // 10,500,000 ICO tokens for cash and btc purchaser /* @notice This account will be used to send token to the purchaser that used BTC or CASH */ address icoAccount2 = 0xfD382a7478ce3ddCd6a03F6c1848F31659753388; balanceOf[icoAccount2] = safeMul(10500000,(10 ** uint256(decimals))); // 1,075,000 tokens for bonus, referrals and discounts address bonusAccount = 0xAde1Cf49c41919658132FF003C409fBcb2909472; balanceOf[bonusAccount] = safeMul(1075000,(10 ** uint256(decimals))); // 2,450,000 tokens for bounty address bountyAccount = 0xb690acb524BFBD968A91D614654aEEC5041597E0; balanceOf[bountyAccount] = safeMul(2450000,(10 ** uint256(decimals))); // 14,850,000 & 4,000,000 for our investors address investor1 = 0x17dC8dD84bD8DbAC168209360EDc1E8539D965DA; balanceOf[investor1] = safeMul(14850000,(10 ** uint256(decimals))); address investor2 = 0x5B2213eeFc9b7939D863085f7F2D9D1f3a771D5f; balanceOf[investor2] = safeMul(4000000,(10 ** uint256(decimals))); // Founder and Developer 10,000,000 of the total Supply / Lock-in within 36 months(unlock 1/3 every 12 months) uint256 totalAllocation = safeMul(10000000,(10 ** uint256(decimals))); // Initilize the `OVCLockAllocation` contract with the totalAllocation and 3 allocated wallets address firstAllocatedWallet = 0xD0427222388145a1A14F5FC4a376e8412C39c6a4; address secondAllocatedWallet = 0xe141c480274376A4eB499ACEeD84c47b5FDF4B39; address thirdAllocatedWallet = 0xD46811aBe15a53dd76b309E3e1f8f9C4550D3918; lockedAllocation = new OVCLockAllocation(totalAllocation,firstAllocatedWallet,secondAllocatedWallet,thirdAllocatedWallet); // Assign the 10,000,000 lock token to the `OVCLockAllocation` contract address balanceOf[lockedAllocation] = totalAllocation; // @notice Minimum token per wallet 10 OVC minOVC = safeMul(10,(10 ** uint256(decimals))); } /* @notice Allow user to send ether directly to the contract address */ function () public payable { buyTokens(); } /* @notice private function for buy token, enable the purchaser to // send Ether directly to the contract address */ function buyTokens() private { require(now > ICO_START_TIME ); require(now < ICO_END_TIME ); uint256 _value = safeMul(msg.value,ovcPerEther); uint256 futureBalance = safeAdd(balanceOf[msg.sender],_value); require(futureBalance >= minOVC); owner.transfer(address(this).balance); _transfer(this, msg.sender, _value); totalOVCSold = safeAdd(totalOVCSold,_value); } /* @notice Change the current amount of OVC token per Ether */ function changeOVCPerEther(uint256 amount) onlyPayloadSize(1 * 32) onlyOwner public { require(amount >= 0); ovcPerEther = amount; emit ChangeOvcEtherConversion(msg.sender, amount); } /* @notice Transfer all unsold token to the contract owner */ function transferUnsoldToken() onlyOwner public { require(now > ICO_END_TIME ); require (balanceOf[this] > 0); uint256 unsoldToken = balanceOf[this]; _transfer(this, msg.sender, unsoldToken); } /* Internal transfer, only can be called by this contract */ function _transfer(address _from, address _to, uint _value) internal { require (_to != 0x0); // Prevent transfer to 0x0 address. Use burn() instead require (balanceOf[_from] >= _value); // Check if the sender has enough balance require (safeAdd(balanceOf[_to],_value) > balanceOf[_to]); // Check for overflows require(!frozenAccount[_from]); // Check if sender is frozen require(!frozenAccount[_to]); // Check if recipient is frozen balanceOf[_from] = safeSub(balanceOf[_from],_value);// Subtract from the sender balanceOf[_to] = safeAdd(balanceOf[_to],_value);// Add the same to the recipient emit Transfer(_from, _to, _value); } /// @notice Create `mintedAmount` tokens and send it to `target` /// @param target Address to receive the tokens /// @param mintedAmount the amount of tokens it will receive function mintToken(address target, uint256 mintedAmount) onlyPayloadSize(32 * 2) onlyOwner public { balanceOf[target] = safeAdd(balanceOf[target],mintedAmount); totalSupply = safeAdd(totalSupply,mintedAmount); emit Transfer(0, this, mintedAmount); emit Transfer(this, target, mintedAmount); } /// @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) onlyOwner public { frozenAccount[target] = freeze; emit FrozenFunds(target, freeze); } } /** @author OVCode Switzerland AG */ contract OVCLockAllocation is SafeMath { uint256 public totalLockAllocated; OVC public ovc; /** * For the ERC20 short address attack. */ modifier onlyPayloadSize(uint size) { assert(msg.data.length >= size + 4); _; } struct Allocations { uint256 allocated; uint256 unlockedAt; bool released; } mapping (address => Allocations) public allocations; /* Initialize the total allocated OVC token */ // Initialize the 3 wallet address, allocated amount and date unlock // @param `totalAllocated` Total allocated token from `OVC` contract // @param `firstAllocatedWallet` wallet address that allowed to unlock the first 1/3 allocated token // @param `secondAllocatedWallet` wallet address that allowed to unlock the second 1/3 allocated token // @param `thirdAllocatedWallet` wallet address that allowed to unlock the third 1/3 allocated token function OVCLockAllocation(uint256 totalAllocated, address firstAllocatedWallet, address secondAllocatedWallet, address thirdAllocatedWallet) public { ovc = OVC(msg.sender); totalLockAllocated = totalAllocated; Allocations memory allocation; // Initialize the first allocation wallet address and date unlockedAt // Unlock 1/3 or 33% of the token allocated after 12 months allocation.allocated = safeDiv(safeMul(totalLockAllocated, 33),100); allocation.unlockedAt = safeAdd(now,(safeMul(12,30 days))); allocation.released = false; allocations[firstAllocatedWallet] = allocation; // Initialize the second allocation wallet address and date unlockedAt // Unlock 1/3 or 33% of the token allocated after 24 months allocation.allocated = safeDiv(safeMul(totalLockAllocated, 33),100); allocation.unlockedAt = safeAdd(now,(safeMul(24,30 days))); allocation.released = false; allocations[secondAllocatedWallet] = allocation; // Initialize the third allocation wallet address and date unlockedAt // Unlock last or 34% of the token allocated after 36 months allocation.allocated = safeDiv(safeMul(totalLockAllocated, 34),100); allocation.unlockedAt = safeAdd(now,(safeMul(36,30 days))); allocation.released = false; allocations[thirdAllocatedWallet] = allocation; } /** * @notice called by allocated address to release the token */ function releaseTokens() public { Allocations memory allocation; allocation = allocations[msg.sender]; require(allocation.released == false); require(allocation.allocated > 0); require(allocation.unlockedAt > 0); require(now >= allocation.unlockedAt); uint256 allocated = allocation.allocated; ovc.transfer(msg.sender, allocated); allocation.allocated = 0; allocation.unlockedAt = 0; allocation.released = true; allocations[msg.sender] = allocation; } } /** @author OVCode Switzerland AG */
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"changeOVCPerEther","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"ICO_END_TIME","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalOVCSold","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ICO_START_TIME","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"minOVC","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ovcPerEther","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"},{"name":"mintedAmount","type":"uint256"}],"name":"mintToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"}],"name":"burnFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"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":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"transferUnsoldToken","outputs":[],"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":true,"inputs":[],"name":"newOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lockedAllocation","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"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"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"target","type":"address"},{"indexed":false,"name":"frozen","type":"bool"}],"name":"FrozenFunds","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"owner","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"ChangeOvcEtherConversion","type":"event"},{"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":false,"name":"_from","type":"address"},{"indexed":false,"name":"_value","type":"uint256"},{"indexed":false,"name":"_token","type":"address"}],"name":"ReceiveApproval","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":"oldOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
60806040526012600460006101000a81548160ff021916908360ff16021790555060006008556000600a553480156200003757600080fd5b50600080600080600080600080600080336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620000fd6304ffd4b8600460009054906101000a900460ff1660ff16600a0a6200079a640100000000026401000000009004565b6005819055506040805190810160405280600681526020017f4f56434f444500000000000000000000000000000000000000000000000000008152506002908051906020019062000150929190620007d0565b506040805190810160405280600381526020017f4f56430000000000000000000000000000000000000000000000000000000000815250600390805190602001906200019e929190620007d0565b50620001d36301c9c380600460009054906101000a900460ff1660ff16600a0a6200079a640100000000026401000000009004565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073e5ab5d1da8817bfb4b0af44efdccc850a47e477a99506200026062a7d8c0600460009054906101000a900460ff1660ff16600a0a6200079a640100000000026401000000009004565b600660008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073fd382a7478ce3ddcd6a03f6c1848f316597533889850620002ed62a037a0600460009054906101000a900460ff1660ff16600a0a6200079a640100000000026401000000009004565b600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073ade1cf49c41919658132ff003c409fbcb290947297506200037a62106738600460009054906101000a900460ff1660ff16600a0a6200079a640100000000026401000000009004565b600660008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073b690acb524bfbd968a91d614654aeec5041597e096506200040762256250600460009054906101000a900460ff1660ff16600a0a6200079a640100000000026401000000009004565b600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507317dc8dd84bd8dbac168209360edc1e8539d965da95506200049462e297d0600460009054906101000a900460ff1660ff16600a0a6200079a640100000000026401000000009004565b600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550735b2213eefc9b7939d863085f7f2d9d1f3a771d5f945062000521623d0900600460009054906101000a900460ff1660ff16600a0a6200079a640100000000026401000000009004565b600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200059762989680600460009054906101000a900460ff1660ff16600a0a6200079a640100000000026401000000009004565b935073d0427222388145a1a14f5fc4a376e8412c39c6a4925073e141c480274376a4eb499aceed84c47b5fdf4b39915073d46811abe15a53dd76b309e3e1f8f9c4550d3918905083838383620005ec62000857565b808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001945050505050604051809103906000f080158015620006ac573d6000803e3d6000fd5b50600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508360066000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000784600a600460009054906101000a900460ff1660ff16600a0a6200079a640100000000026401000000009004565b6009819055505050505050505050505062000890565b60008082840290506000841480620007bd5750828482811515620007ba57fe5b04145b1515620007c657fe5b8091505092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200081357805160ff191683800117855562000844565b8280016001018555821562000844579182015b828111156200084357825182559160200191906001019062000826565b5b50905062000853919062000868565b5090565b6040516108ce806200276183390190565b6200088d91905b80821115620008895760008160009055506001016200086f565b5090565b90565b611ec180620008a06000396000f300608060405260043610610154576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806301ecaca51461015e57806306fdde031461018b578063095ea7b31461021b5780630a87557c1461028057806313844e60146102ab57806318160ddd146102d65780631b4cd2de1461030157806323b872dd1461032c578063313ce567146103b157806342966c68146103e257806344431e52146104275780636b3bc4b61461045257806370a082311461047d57806379ba5097146104d457806379c65068146104eb57806379cc6790146105385780638da5cb5b1461059d57806395d89b41146105f4578063a9059cbb14610684578063ac8aea24146106d1578063b414d4b6146106e8578063d4ee1d9014610743578063db0834cf1461079a578063dd62ed3e146107f1578063e724529c14610868578063f2fde38b146108b7575b61015c6108fa565b005b34801561016a57600080fd5b5061018960048036038101908080359060200190929190505050610a2b565b005b34801561019757600080fd5b506101a0610b21565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101e05780820151818401526020810190506101c5565b50505050905090810190601f16801561020d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561022757600080fd5b50610266600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bbf565b604051808215151515815260200191505060405180910390f35b34801561028c57600080fd5b50610295610d01565b6040518082815260200191505060405180910390f35b3480156102b757600080fd5b506102c0610d09565b6040518082815260200191505060405180910390f35b3480156102e257600080fd5b506102eb610d0f565b6040518082815260200191505060405180910390f35b34801561030d57600080fd5b50610316610d15565b6040518082815260200191505060405180910390f35b34801561033857600080fd5b50610397600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d1d565b604051808215151515815260200191505060405180910390f35b3480156103bd57600080fd5b506103c6610edc565b604051808260ff1660ff16815260200191505060405180910390f35b3480156103ee57600080fd5b5061040d60048036038101908080359060200190929190505050610eef565b604051808215151515815260200191505060405180910390f35b34801561043357600080fd5b5061043c611034565b6040518082815260200191505060405180910390f35b34801561045e57600080fd5b5061046761103a565b6040518082815260200191505060405180910390f35b34801561048957600080fd5b506104be600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611040565b6040518082815260200191505060405180910390f35b3480156104e057600080fd5b506104e9611058565b005b3480156104f757600080fd5b50610536600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111b3565b005b34801561054457600080fd5b50610583600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061137b565b604051808215151515815260200191505060405180910390f35b3480156105a957600080fd5b506105b2611668565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561060057600080fd5b5061060961168d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561064957808201518184015260208101905061062e565b50505050905090810190601f1680156106765780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561069057600080fd5b506106cf600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061172b565b005b3480156106dd57600080fd5b506106e6611750565b005b3480156106f457600080fd5b50610729600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061185d565b604051808215151515815260200191505060405180910390f35b34801561074f57600080fd5b5061075861187d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107a657600080fd5b506107af6118a3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107fd57600080fd5b50610852600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118c9565b6040518082815260200191505060405180910390f35b34801561087457600080fd5b506108b5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506118ee565b005b3480156108c357600080fd5b506108f8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a13565b005b600080635b0283884211151561090f57600080fd5b635b52777f4210151561092157600080fd5b61092d34600854611aee565b9150610978600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611b21565b9050600954811015151561098b57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050158015610a09573d6000803e3d6000fd5b50610a15303384611b3f565b610a21600a5483611b21565b600a819055505050565b602060048101600036905010151515610a4057fe5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a9b57600080fd5b60008210151515610aab57600080fd5b816008819055507fb0cc770b33c2fb531f540f30ab25c6a4e02126c848430bf37b947da5a66a4eaf3383604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15050565b60028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bb75780601f10610b8c57610100808354040283529160200191610bb7565b820191906000526020600020905b815481529060010190602001808311610b9a57829003601f168201915b505050505081565b6000604060048101600036905010151515610bd657fe5b82600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507f098d215dbf4904f38cce693a04004ed58db6d54491b91c083e277144ce38b4ee338430604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405180910390a1600191505092915050565b635b52777f81565b600a5481565b60055481565b635b02838881565b6000606060048101600036905010151515610d3457fe5b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548311151515610dbf57600080fd5b610e45600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484611e7c565b600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ed0858585611b3f565b60019150509392505050565b600460009054906101000a900460ff1681565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610f3f57600080fd5b610f88600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611e7c565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610fd760055483611e7c565b6005819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a260019050919050565b60095481565b60085481565b60066020528060005260406000206000915090505481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110b457600080fd5b3373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6040600481016000369050101515156111c857fe5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561122357600080fd5b61126c600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611b21565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506112bb60055483611b21565b6005819055503073ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a38273ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3505050565b600060406004810160003690501015151561139257fe5b82600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156113e057600080fd5b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054831115151561146b57600080fd5b6114b4600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484611e7c565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061157d600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484611e7c565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061160960055484611e7c565b6005819055508373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5846040518082815260200191505060405180910390a2600191505092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156117235780601f106116f857610100808354040283529160200191611723565b820191906000526020600020905b81548152906001019060200180831161170657829003601f168201915b505050505081565b60406004810160003690501015151561174057fe5b61174b338484611b3f565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156117ad57600080fd5b635b52777f421115156117bf57600080fd5b6000600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411151561180d57600080fd5b600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905061185a303383611b3f565b50565b600c6020528060005260406000206000915054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6007602052816000526040600020602052806000526040600020600091509150505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561194957600080fd5b80600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a58282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001821515151581526020019250505060405180910390a15050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a6e57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff1614151515611aaa57600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008082840290506000841480611b0f5750828482811515611b0c57fe5b04145b1515611b1757fe5b8091505092915050565b6000808284019050838110151515611b3557fe5b8091505092915050565b60008273ffffffffffffffffffffffffffffffffffffffff1614151515611b6557600080fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515611bb357600080fd5b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c3c600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611b21565b111515611c4857600080fd5b600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611ca157600080fd5b600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611cfa57600080fd5b611d43600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482611e7c565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611dcf600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482611b21565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000818310151515611e8a57fe5b8183039050929150505600a165627a7a7230582056ca30f09db3852abd13bd07c10599eadd211732f16f404601246dac4e954fd90029608060405234801561001057600080fd5b506040516080806108ce83398101806040528101908080519060200190929190805190602001909291908051906020019092919080519060200190929190505050610059610423565b33600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550846000819055506100d66100c060005460216103b7640100000000026401000000009004565b60646103ea640100000000026401000000009004565b81600001818152505061011442610100600c62278d006103b7640100000000026401000000009004565b610405640100000000026401000000009004565b816020018181525050600081604001901515908115158152505080600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff0219169083151502179055509050506101da6101c460005460216103b7640100000000026401000000009004565b60646103ea640100000000026401000000009004565b81600001818152505061021842610204601862278d006103b7640100000000026401000000009004565b610405640100000000026401000000009004565b816020018181525050600081604001901515908115158152505080600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff0219169083151502179055509050506102de6102c860005460226103b7640100000000026401000000009004565b60646103ea640100000000026401000000009004565b81600001818152505061031c42610308602462278d006103b7640100000000026401000000009004565b610405640100000000026401000000009004565b816020018181525050600081604001901515908115158152505080600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff0219169083151502179055509050505050505050610447565b600080828402905060008414806103d857508284828115156103d557fe5b04145b15156103e057fe5b8091505092915050565b60008082848115156103f857fe5b0490508091505092915050565b600080828401905083811015151561041957fe5b8091505092915050565b60606040519081016040528060008152602001600081526020016000151581525090565b610478806104566000396000f300608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806329606c5a1461006757806352a9039c146100be578063620d875014610127578063a96f866814610152575b600080fd5b34801561007357600080fd5b5061007c610169565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100ca57600080fd5b506100ff600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061018f565b6040518084815260200183815260200182151515158152602001935050505060405180910390f35b34801561013357600080fd5b5061013c6101c6565b6040518082815260200191505060405180910390f35b34801561015e57600080fd5b506101676101cc565b005b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60026020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16905083565b60005481565b6101d4610428565b6000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206060604051908101604052908160008201548152602001600182015481526020016002820160009054906101000a900460ff1615151515815250509150600015158260400151151514151561026957600080fd5b6000826000015111151561027c57600080fd5b6000826020015111151561028f57600080fd5b816020015142101515156102a257600080fd5b81600001519050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561036e57600080fd5b505af1158015610382573d6000803e3d6000fd5b5050505060008260000181815250506000826020018181525050600182604001901515908115158152505081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff0219169083151502179055509050505050565b606060405190810160405280600081526020016000815260200160001515815250905600a165627a7a723058207834c36707f738976c86ec432324fce45b5acb64267a6ccd54aea58403f44afe0029
Deployed Bytecode
0x608060405260043610610154576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806301ecaca51461015e57806306fdde031461018b578063095ea7b31461021b5780630a87557c1461028057806313844e60146102ab57806318160ddd146102d65780631b4cd2de1461030157806323b872dd1461032c578063313ce567146103b157806342966c68146103e257806344431e52146104275780636b3bc4b61461045257806370a082311461047d57806379ba5097146104d457806379c65068146104eb57806379cc6790146105385780638da5cb5b1461059d57806395d89b41146105f4578063a9059cbb14610684578063ac8aea24146106d1578063b414d4b6146106e8578063d4ee1d9014610743578063db0834cf1461079a578063dd62ed3e146107f1578063e724529c14610868578063f2fde38b146108b7575b61015c6108fa565b005b34801561016a57600080fd5b5061018960048036038101908080359060200190929190505050610a2b565b005b34801561019757600080fd5b506101a0610b21565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101e05780820151818401526020810190506101c5565b50505050905090810190601f16801561020d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561022757600080fd5b50610266600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bbf565b604051808215151515815260200191505060405180910390f35b34801561028c57600080fd5b50610295610d01565b6040518082815260200191505060405180910390f35b3480156102b757600080fd5b506102c0610d09565b6040518082815260200191505060405180910390f35b3480156102e257600080fd5b506102eb610d0f565b6040518082815260200191505060405180910390f35b34801561030d57600080fd5b50610316610d15565b6040518082815260200191505060405180910390f35b34801561033857600080fd5b50610397600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d1d565b604051808215151515815260200191505060405180910390f35b3480156103bd57600080fd5b506103c6610edc565b604051808260ff1660ff16815260200191505060405180910390f35b3480156103ee57600080fd5b5061040d60048036038101908080359060200190929190505050610eef565b604051808215151515815260200191505060405180910390f35b34801561043357600080fd5b5061043c611034565b6040518082815260200191505060405180910390f35b34801561045e57600080fd5b5061046761103a565b6040518082815260200191505060405180910390f35b34801561048957600080fd5b506104be600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611040565b6040518082815260200191505060405180910390f35b3480156104e057600080fd5b506104e9611058565b005b3480156104f757600080fd5b50610536600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111b3565b005b34801561054457600080fd5b50610583600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061137b565b604051808215151515815260200191505060405180910390f35b3480156105a957600080fd5b506105b2611668565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561060057600080fd5b5061060961168d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561064957808201518184015260208101905061062e565b50505050905090810190601f1680156106765780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561069057600080fd5b506106cf600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061172b565b005b3480156106dd57600080fd5b506106e6611750565b005b3480156106f457600080fd5b50610729600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061185d565b604051808215151515815260200191505060405180910390f35b34801561074f57600080fd5b5061075861187d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107a657600080fd5b506107af6118a3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107fd57600080fd5b50610852600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118c9565b6040518082815260200191505060405180910390f35b34801561087457600080fd5b506108b5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506118ee565b005b3480156108c357600080fd5b506108f8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a13565b005b600080635b0283884211151561090f57600080fd5b635b52777f4210151561092157600080fd5b61092d34600854611aee565b9150610978600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611b21565b9050600954811015151561098b57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050158015610a09573d6000803e3d6000fd5b50610a15303384611b3f565b610a21600a5483611b21565b600a819055505050565b602060048101600036905010151515610a4057fe5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a9b57600080fd5b60008210151515610aab57600080fd5b816008819055507fb0cc770b33c2fb531f540f30ab25c6a4e02126c848430bf37b947da5a66a4eaf3383604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15050565b60028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bb75780601f10610b8c57610100808354040283529160200191610bb7565b820191906000526020600020905b815481529060010190602001808311610b9a57829003601f168201915b505050505081565b6000604060048101600036905010151515610bd657fe5b82600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507f098d215dbf4904f38cce693a04004ed58db6d54491b91c083e277144ce38b4ee338430604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405180910390a1600191505092915050565b635b52777f81565b600a5481565b60055481565b635b02838881565b6000606060048101600036905010151515610d3457fe5b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548311151515610dbf57600080fd5b610e45600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484611e7c565b600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ed0858585611b3f565b60019150509392505050565b600460009054906101000a900460ff1681565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610f3f57600080fd5b610f88600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611e7c565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610fd760055483611e7c565b6005819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a260019050919050565b60095481565b60085481565b60066020528060005260406000206000915090505481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110b457600080fd5b3373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6040600481016000369050101515156111c857fe5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561122357600080fd5b61126c600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611b21565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506112bb60055483611b21565b6005819055503073ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a38273ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3505050565b600060406004810160003690501015151561139257fe5b82600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156113e057600080fd5b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054831115151561146b57600080fd5b6114b4600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484611e7c565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061157d600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484611e7c565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061160960055484611e7c565b6005819055508373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5846040518082815260200191505060405180910390a2600191505092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156117235780601f106116f857610100808354040283529160200191611723565b820191906000526020600020905b81548152906001019060200180831161170657829003601f168201915b505050505081565b60406004810160003690501015151561174057fe5b61174b338484611b3f565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156117ad57600080fd5b635b52777f421115156117bf57600080fd5b6000600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411151561180d57600080fd5b600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905061185a303383611b3f565b50565b600c6020528060005260406000206000915054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6007602052816000526040600020602052806000526040600020600091509150505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561194957600080fd5b80600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a58282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001821515151581526020019250505060405180910390a15050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a6e57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff1614151515611aaa57600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008082840290506000841480611b0f5750828482811515611b0c57fe5b04145b1515611b1757fe5b8091505092915050565b6000808284019050838110151515611b3557fe5b8091505092915050565b60008273ffffffffffffffffffffffffffffffffffffffff1614151515611b6557600080fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515611bb357600080fd5b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c3c600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611b21565b111515611c4857600080fd5b600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611ca157600080fd5b600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611cfa57600080fd5b611d43600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482611e7c565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611dcf600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482611b21565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000818310151515611e8a57fe5b8183039050929150505600a165627a7a7230582056ca30f09db3852abd13bd07c10599eadd211732f16f404601246dac4e954fd90029
Swarm Source
bzzr://7834c36707f738976c86ec432324fce45b5acb64267a6ccd54aea58403f44afe
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.