ERC-20
Overview
Max Total Supply
1,000,000,000 FTKA
Holders
145
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 8 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
FTKA
Compiler Version
v0.4.25+commit.59dbf8f1
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-10-31 */ pragma solidity 0.4.25; /* __ __ ___ ______ /\ \ __/\ \ /\_ \ /\__ _\ \ \ \/\ \ \ \ __\//\ \ ___ ___ ___ ___ __ \/_/\ \/ ___ \ \ \ \ \ \ \ /'__`\\ \ \ /'___\ / __`\ /' __` __`\ /'__`\ \ \ \ / __`\ \ \ \_/ \_\ \/\ __/ \_\ \_/\ \__//\ \L\ \/\ \/\ \/\ \/\ __/ \ \ \/\ \L\ \__ __ __ \ `\___x___/\ \____\/\____\ \____\ \____/\ \_\ \_\ \_\ \____\ \ \_\ \____/\_\/\_\/\_\ '\/__//__/ \/____/\/____/\/____/\/___/ \/_/\/_/\/_/\/____/ \/_/\/___/\/_/\/_/\/_/ __/\\\\\\\\\\\\\\\__/\\\\\\\\\\\\\\\__/\\\________/\\\_____/\\\\\\\\\____ _\/\\\///////////__\///////\\\/////__\/\\\_____/\\\//____/\\\\\\\\\\\\\__ _\/\\\___________________\/\\\_______\/\\\__/\\\//______/\\\/////////\\\_ _\/\\\\\\\\\\\___________\/\\\_______\/\\\\\\//\\\_____\/\\\_______\/\\\_ _\/\\\///////____________\/\\\_______\/\\\//_\//\\\____\/\\\\\\\\\\\\\\\_ _\/\\\___________________\/\\\_______\/\\\____\//\\\___\/\\\/////////\\\_ _\/\\\___________________\/\\\_______\/\\\_____\//\\\__\/\\\_______\/\\\_ _\/\\\___________________\/\\\_______\/\\\______\//\\\_\/\\\_______\/\\\_ _\///____________________\///________\///________\///__\///________\///__ // ---------------------------------------------------------------------------- // 'FTKA' token contract, having Crowdsale and Reward functionality // // Contract Owner : 0xef9EcD8a0A2E4b31d80B33E243761f4D93c990a8 // Symbol : FTKA // Name : FTKA // Total supply : 1,000,000,000 (1 Billion) // Tokens for ICO : 800,000,000 (800 Million) // Tokens to Owner: 200,000,000 (200 Million) // Decimals : 8 // // Copyright © 2018 onwards FTKA. (https://ftka.io) // Contract designed by EtherAuthority (https://EtherAuthority.io) // ---------------------------------------------------------------------------- /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; assert(c / a == b); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { // assert(b > 0); // Solidity automatically throws when dividing by 0 uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } } contract owned { address public owner; constructor () public { owner = msg.sender; } modifier onlyOwner { require(msg.sender == owner); _; } function transferOwnership(address newOwner) onlyOwner public { owner = newOwner; } } interface tokenRecipient { function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData) external; } contract TokenERC20 { // Public variables of the token using SafeMath for uint256; string public name; string public symbol; uint8 public decimals = 8; // 18 decimals is the strongly suggested default, avoid changing it uint256 public totalSupply; uint256 public reservedForICO; // 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); // This notifies clients about the amount burnt event Burn(address indexed from, uint256 value); /** * Constrctor function * * Initializes contract with initial supply tokens to the creator of the contract */ constructor ( uint256 initialSupply, uint256 allocatedForICO, string tokenName, string tokenSymbol ) public { totalSupply = initialSupply.mul(1e8); // Update total supply with the decimal amount reservedForICO = allocatedForICO.mul(1e8); // Tokens reserved For ICO balanceOf[this] = reservedForICO; // 800 Million Tokens will remain in the contract balanceOf[msg.sender]=totalSupply.sub(reservedForICO); // Rest of tokens will be sent to owner name = tokenName; // Set the name for display purposes symbol = tokenSymbol; // Set the symbol for display purposes } /** * 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(balanceOf[_to].add(_value) > balanceOf[_to]); // Save this for an assertion in the future uint previousBalances = balanceOf[_from].add(balanceOf[_to]); // Subtract from the sender balanceOf[_from] = balanceOf[_from].sub(_value); // Add the same to the recipient balanceOf[_to] = balanceOf[_to].add(_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].add(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) 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) public returns (bool success) { require(_value <= allowance[_from][msg.sender]); // Check allowance allowance[_from][msg.sender] = allowance[_from][msg.sender].sub(_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) public returns (bool success) { allowance[msg.sender][_spender] = _value; return true; } /** * Set allowance for other address and notify * * Allows `_spender` to spend no more than `_value` tokens in your behalf, and then ping the contract about it * * @param _spender The address authorized to spend * @param _value the max amount they can spend * @param _extraData some extra information to send to the approved contract */ function approveAndCall(address _spender, uint256 _value, bytes _extraData) public returns (bool success) { tokenRecipient spender = tokenRecipient(_spender); if (approve(_spender, _value)) { spender.receiveApproval(msg.sender, _value, this, _extraData); 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] = balanceOf[msg.sender].sub(_value); // Subtract from the sender totalSupply = totalSupply.sub(_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) 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] = balanceOf[_from].sub(_value); // Subtract from the targeted balance allowance[_from][msg.sender] = allowance[_from][msg.sender].sub(_value); // Subtract from the sender's allowance totalSupply = totalSupply.sub(_value); // Update totalSupply emit Burn(_from, _value); return true; } } /****************************************************/ /* MAIN FTKA TOKEN CONTRACT STARTS HERE */ /****************************************************/ contract FTKA is owned, TokenERC20 { //**************************************************// //------------- Code for the FTKA Token -------------// //**************************************************// // Public variables of the token string internal tokenName = "FTKA"; string internal tokenSymbol = "FTKA"; uint256 internal initialSupply = 1000000000; // 1 Billion uint256 private allocatedForICO = 800000000; // 800 Million // Records for the fronzen accounts mapping (address => bool) public frozenAccount; // This generates a public event on the blockchain that will notify clients event FrozenFunds(address target, bool frozen); // Initializes contract with initial supply of tokens sent to the creator as well as contract constructor () TokenERC20(initialSupply, allocatedForICO, tokenName, tokenSymbol) public { } /** * Transfer tokens - Internal transfer, only can be called by this contract * * This checks if the sender or recipient is not fronzen * * This keeps the track of total token holders and adds new holders as well. * * Send `_value` tokens to `_to` from your account * * @param _from The address of the sender * @param _to The address of the recipient * @param _value the amount of tokens to send */ 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 require (balanceOf[_to].add(_value) >= balanceOf[_to]); // Check for overflows require(!frozenAccount[_from]); // Check if sender is frozen require(!frozenAccount[_to]); // Check if recipient is frozen balanceOf[_from] = balanceOf[_from].sub(_value); // Subtract from the sender balanceOf[_to] = balanceOf[_to].add(_value); // Add the same to the recipient emit Transfer(_from, _to, _value); } /** * @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); } //**************************************************// //------------- Code for the Crowdsale -------------// //**************************************************// //public variables for the Crowdsale uint256 public icoStartDate = 1542326400 ; // 16 November 2018 00:00:00 - GMT uint256 public icoEndDate = 1554076799 ; // 31 March 2019 23:59:59 - GMT uint256 public exchangeRate = 5000; // 1 ETH = 5000 Tokens uint256 public tokensSold = 0; // How many tokens sold in crowdsale bool internal withdrawTokensOnlyOnce = true; // Admin can withdraw unsold tokens after ICO only once //public variables of reward distribution mapping(address => uint256) public investorContribution; //Track record whether token holder exist or not address[] public icoContributors; //Array of addresses of ICO contributors uint256 public tokenHolderIndex = 0; //To split the iterations of For Loop uint256 public totalContributors = 0; //Total number of ICO contributors /** * @dev Fallback function, it accepts Ether from owner address as well as non-owner address * @dev If ether came from owner address, then it will consider as reward payment to ICO contributors * @dev If ether came from non-owner address, then it will consider as ICO investment contribution */ function () payable public { if(msg.sender == owner && msg.value > 0){ processRewards(); //This function will process reward distribution } else{ processICO(); //This function will process ICO and sends tokens to contributor } } /** * @dev Function which processes ICO contributions * @dev It calcualtes token amount from exchangeRate and also adds Bonuses if applicable * @dev Ether will be forwarded to owner immidiately. */ function processICO() internal { require(icoEndDate > now); require(icoStartDate < now); uint ethervalueWEI=msg.value; uint256 token = ethervalueWEI.div(1e10).mul(exchangeRate);// token amount = weiamount * price uint256 totalTokens = token.add(purchaseBonus(token)); // token + bonus tokensSold = tokensSold.add(totalTokens); _transfer(this, msg.sender, totalTokens); // makes the token transfer forwardEherToOwner(); // send ether to owner //if contributor does not exist in tokenHolderExist mapping, then add into it as well as add in tokenHolders array if(investorContribution[msg.sender] == 0){ icoContributors.push(msg.sender); totalContributors++; } investorContribution[msg.sender] = investorContribution[msg.sender].add(totalTokens); } /** * @dev Function which processes ICO contributions * @dev It calcualtes token amount from exchangeRate and also adds Bonuses if applicable * @dev Ether will be forwarded to owner immidiately. */ function processRewards() internal { for(uint256 i = 0; i < 150; i++){ if(tokenHolderIndex < totalContributors){ uint256 userContribution = investorContribution[icoContributors[tokenHolderIndex]]; if(userContribution > 0){ uint256 rewardPercentage = userContribution.mul(1000).div(tokensSold); uint256 reward = msg.value.mul(rewardPercentage).div(1000); icoContributors[tokenHolderIndex].transfer(reward); tokenHolderIndex++; } }else{ //this code will run only when all the dividend/reward has been paid tokenHolderIndex = 0; break; } } } /** * Automatocally forwards ether from smart contract to owner address. */ function forwardEherToOwner() internal { owner.transfer(msg.value); } /** * @dev Calculates purchase bonus according to the schedule. * @dev SafeMath at some place is not used intentionally as overflow is impossible, and that saves gas cost * * @param _tokenAmount calculating tokens from amount of tokens * * @return bonus amount in wei * */ function purchaseBonus(uint256 _tokenAmount) public view returns(uint256){ uint256 week1 = icoStartDate + 604800; //25% token bonus uint256 week2 = week1 + 604800; //20% token bonus uint256 week3 = week2 + 604800; //15% token bonus uint256 week4 = week3 + 604800; //10% token bonus uint256 week5 = week4 + 604800; //5% token bonus if(now > icoStartDate && now < week1){ return _tokenAmount.mul(25).div(100); //25% bonus } else if(now > week1 && now < week2){ return _tokenAmount.mul(20).div(100); //20% bonus } else if(now > week2 && now < week3){ return _tokenAmount.mul(15).div(100); //15% bonus } else if(now > week3 && now < week4){ return _tokenAmount.mul(10).div(100); //10% bonus } else if(now > week4 && now < week5){ return _tokenAmount.mul(5).div(100); //5% bonus } else{ return 0; } } /** * Function to check wheter ICO is running or not. * * @return bool for whether ICO is running or not */ function isICORunning() public view returns(bool){ if(icoEndDate > now && icoStartDate < now){ return true; }else{ return false; } } /** * Just in case, owner wants to transfer Tokens from contract to owner address */ function manualWithdrawToken(uint256 _amount) onlyOwner public { uint256 tokenAmount = _amount.mul(1 ether); _transfer(this, msg.sender, tokenAmount); } /** * Just in case, owner wants to transfer Ether from contract to owner address */ function manualWithdrawEther()onlyOwner public{ address(owner).transfer(address(this).balance); } }
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":true,"inputs":[{"name":"","type":"uint256"}],"name":"icoContributors","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","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":"icoEndDate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isICORunning","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"exchangeRate","outputs":[{"name":"","type":"uint256"}],"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":"tokensSold","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"manualWithdrawEther","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"manualWithdrawToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"investorContribution","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":"_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":true,"inputs":[{"name":"_tokenAmount","type":"uint256"}],"name":"purchaseBonus","outputs":[{"name":"","type":"uint256"}],"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":true,"inputs":[{"name":"","type":"address"}],"name":"frozenAccount","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","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":"icoStartDate","outputs":[{"name":"","type":"uint256"}],"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":true,"inputs":[],"name":"tokenHolderIndex","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":true,"inputs":[],"name":"totalContributors","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"reservedForICO","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","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":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"}]
Contract Creation Code
60806040526008600360006101000a81548160ff021916908360ff1602179055506040805190810160405280600481526020017f46544b4100000000000000000000000000000000000000000000000000000000815250600890805190602001906200006d9291906200043d565b506040805190810160405280600481526020017f46544b410000000000000000000000000000000000000000000000000000000081525060099080519060200190620000bb9291906200043d565b50633b9aca00600a55632faf0800600b55635bee0880600d55635ca1547f600e55611388600f5560006010556001601160006101000a81548160ff021916908315150217905550600060145560006015553480156200011957600080fd5b50600a54600b5460088054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015620001ba5780601f106200018e57610100808354040283529160200191620001ba565b820191906000526020600020905b8154815290600101906020018083116200019c57829003601f168201915b505050505060098054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015620002595780601f106200022d5761010080835404028352916020019162000259565b820191906000526020600020905b8154815290600101906020018083116200023b57829003601f168201915b5050505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620002c56305f5e10085620003e46401000000000262001da9179091906401000000009004565b600481905550620002f26305f5e10084620003e46401000000000262001da9179091906401000000009004565b600581905550600554600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620003656005546004546200042364010000000002620021e0179091906401000000009004565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160019080519060200190620003c09291906200043d565b508060029080519060200190620003d99291906200043d565b5050505050620004ec565b6000806000841415620003fb57600091506200041c565b82840290508284828115156200040d57fe5b041415156200041857fe5b8091505b5092915050565b60008282111515156200043257fe5b818303905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200048057805160ff1916838001178555620004b1565b82800160010185558215620004b1579182015b82811115620004b057825182559160200191906001019062000493565b5b509050620004c09190620004c4565b5090565b620004e991905b80821115620004e5576000816000905550600101620004cb565b5090565b90565b61222580620004fc6000396000f300608060405260043610610175576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146101ee578063095ea7b31461027e57806311fcc4f3146102e357806318160ddd1461035057806323b872dd1461037b5780632a62738b14610400578063313ce5671461042b57806334253af51461045c5780633ba0b9a91461048b57806342966c68146104b6578063518ab2a8146104fb5780635954c8c5146105265780635d22a3521461053d57806365c1b21f1461056a57806370a08231146105c157806379cc6790146106185780638da5cb5b1461067d57806395d89b41146106d4578063992e0aa014610764578063a9059cbb146107a5578063b414d4b6146107f2578063cae9ca511461084d578063d73019e9146108f8578063dd62ed3e14610923578063e223fe1a1461099a578063e724529c146109c5578063f251fc8c14610a14578063f2fde38b14610a3f578063fa3eaa4114610a82575b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480156101d15750600034115b156101e3576101de610aad565b6101ec565b6101eb610c61565b5b005b3480156101fa57600080fd5b50610203610e5d565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610243578082015181840152602081019050610228565b50505050905090810190601f1680156102705780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561028a57600080fd5b506102c9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610efb565b604051808215151515815260200191505060405180910390f35b3480156102ef57600080fd5b5061030e60048036038101908080359060200190929190505050610f88565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561035c57600080fd5b50610365610fc6565b6040518082815260200191505060405180910390f35b34801561038757600080fd5b506103e6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fcc565b604051808215151515815260200191505060405180910390f35b34801561040c57600080fd5b5061041561117e565b6040518082815260200191505060405180910390f35b34801561043757600080fd5b50610440611184565b604051808260ff1660ff16815260200191505060405180910390f35b34801561046857600080fd5b50610471611197565b604051808215151515815260200191505060405180910390f35b34801561049757600080fd5b506104a06111c1565b6040518082815260200191505060405180910390f35b3480156104c257600080fd5b506104e1600480360381019080803590602001909291905050506111c7565b604051808215151515815260200191505060405180910390f35b34801561050757600080fd5b5061051061131e565b6040518082815260200191505060405180910390f35b34801561053257600080fd5b5061053b611324565b005b34801561054957600080fd5b5061056860048036038101908080359060200190929190505050611400565b005b34801561057657600080fd5b506105ab600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611489565b6040518082815260200191505060405180910390f35b3480156105cd57600080fd5b50610602600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114a1565b6040518082815260200191505060405180910390f35b34801561062457600080fd5b50610663600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506114b9565b604051808215151515815260200191505060405180910390f35b34801561068957600080fd5b506106926117ab565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106e057600080fd5b506106e96117d0565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561072957808201518184015260208101905061070e565b50505050905090810190601f1680156107565780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561077057600080fd5b5061078f6004803603810190808035906020019092919050505061186e565b6040518082815260200191505060405180910390f35b3480156107b157600080fd5b506107f0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506119f7565b005b3480156107fe57600080fd5b50610833600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a06565b604051808215151515815260200191505060405180910390f35b34801561085957600080fd5b506108de600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611a26565b604051808215151515815260200191505060405180910390f35b34801561090457600080fd5b5061090d611ba9565b6040518082815260200191505060405180910390f35b34801561092f57600080fd5b50610984600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611baf565b6040518082815260200191505060405180910390f35b3480156109a657600080fd5b506109af611bd4565b6040518082815260200191505060405180910390f35b3480156109d157600080fd5b50610a12600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050611bda565b005b348015610a2057600080fd5b50610a29611cff565b6040518082815260200191505060405180910390f35b348015610a4b57600080fd5b50610a80600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d05565b005b348015610a8e57600080fd5b50610a97611da3565b6040518082815260200191505060405180910390f35b600080600080600093505b6096841015610c5b576015546014541015610c4157601260006013601454815481101515610ae257fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205492506000831115610c3c57610b7c601054610b6e6103e886611da990919063ffffffff16565b611de490919063ffffffff16565b9150610ba56103e8610b978434611da990919063ffffffff16565b611de490919063ffffffff16565b90506013601454815481101515610bb857fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610c28573d6000803e3d6000fd5b506014600081548092919060010191905055505b610c4e565b6000601481905550610c5b565b8380600101945050610ab8565b50505050565b600080600042600e54111515610c7657600080fd5b42600d54101515610c8657600080fd5b349250610cb5600f54610ca76402540be40086611de490919063ffffffff16565b611da990919063ffffffff16565b9150610cd2610cc38361186e565b83611dff90919063ffffffff16565b9050610ce981601054611dff90919063ffffffff16565b601081905550610cfa303383611e1d565b610d02612176565b6000601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415610dc35760133390806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506015600081548092919060010191905055505b610e1581601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611dff90919063ffffffff16565b601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ef35780601f10610ec857610100808354040283529160200191610ef3565b820191906000526020600020905b815481529060010190602001808311610ed657829003601f168201915b505050505081565b600081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b601381815481101515610f9757fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b6000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561105957600080fd5b6110e882600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121e090919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611173848484611e1d565b600190509392505050565b600e5481565b600360009054906101000a900460ff1681565b600042600e541180156111ab575042600d54105b156111b957600190506111be565b600090505b90565b600f5481565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561121757600080fd5b61126982600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121e090919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506112c1826004546121e090919063ffffffff16565b6004819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a260019050919050565b60105481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561137f57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f193505050501580156113fd573d6000803e3d6000fd5b50565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561145d57600080fd5b611478670de0b6b3a764000083611da990919063ffffffff16565b9050611485303383611e1d565b5050565b60126020528060005260406000206000915090505481565b60066020528060005260406000206000915090505481565b600081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561150957600080fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561159457600080fd5b6115e682600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121e090919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506116b882600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121e090919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061174d826004546121e090919063ffffffff16565b6004819055508273ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a26001905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118665780601f1061183b57610100808354040283529160200191611866565b820191906000526020600020905b81548152906001019060200180831161184957829003601f168201915b505050505081565b60008060008060008062093a80600d5401945062093a808501935062093a808401925062093a808301915062093a8082019050600d54421180156118b157508442105b156118e4576118dd60646118cf60198a611da990919063ffffffff16565b611de490919063ffffffff16565b95506119ed565b84421180156118f257508342105b156119255761191e606461191060148a611da990919063ffffffff16565b611de490919063ffffffff16565b95506119ed565b834211801561193357508242105b156119665761195f6064611951600f8a611da990919063ffffffff16565b611de490919063ffffffff16565b95506119ed565b824211801561197457508142105b156119a7576119a06064611992600a8a611da990919063ffffffff16565b611de490919063ffffffff16565b95506119ed565b81421180156119b557508042105b156119e8576119e160646119d360058a611da990919063ffffffff16565b611de490919063ffffffff16565b95506119ed565b600095505b5050505050919050565b611a02338383611e1d565b5050565b600c6020528060005260406000206000915054906101000a900460ff1681565b600080849050611a368585610efb565b15611ba0578073ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338630876040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611b30578082015181840152602081019050611b15565b50505050905090810190601f168015611b5d5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015611b7f57600080fd5b505af1158015611b93573d6000803e3d6000fd5b5050505060019150611ba1565b5b509392505050565b600d5481565b6007602052816000526040600020602052806000526040600020600091509150505481565b60145481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c3557600080fd5b80600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a58282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001821515151581526020019250505060405180910390a15050565b60155481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d6057600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60055481565b6000806000841415611dbe5760009150611ddd565b8284029050828482811515611dcf57fe5b04141515611dd957fe5b8091505b5092915050565b6000808284811515611df257fe5b0490508091505092915050565b6000808284019050838110151515611e1357fe5b8091505092915050565b60008273ffffffffffffffffffffffffffffffffffffffff1614151515611e4357600080fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515611e9157600080fd5b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f2382600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611dff90919063ffffffff16565b10151515611f3057600080fd5b600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611f8957600080fd5b600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611fe257600080fd5b61203481600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121e090919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120c981600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611dff90919063ffffffff16565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501580156121dd573d6000803e3d6000fd5b50565b60008282111515156121ee57fe5b8183039050929150505600a165627a7a723058203c5daac4cf59893d232706903b3acc7d3a76ad100bac7e19436b30f590ba9baa0029
Deployed Bytecode
0x608060405260043610610175576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146101ee578063095ea7b31461027e57806311fcc4f3146102e357806318160ddd1461035057806323b872dd1461037b5780632a62738b14610400578063313ce5671461042b57806334253af51461045c5780633ba0b9a91461048b57806342966c68146104b6578063518ab2a8146104fb5780635954c8c5146105265780635d22a3521461053d57806365c1b21f1461056a57806370a08231146105c157806379cc6790146106185780638da5cb5b1461067d57806395d89b41146106d4578063992e0aa014610764578063a9059cbb146107a5578063b414d4b6146107f2578063cae9ca511461084d578063d73019e9146108f8578063dd62ed3e14610923578063e223fe1a1461099a578063e724529c146109c5578063f251fc8c14610a14578063f2fde38b14610a3f578063fa3eaa4114610a82575b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480156101d15750600034115b156101e3576101de610aad565b6101ec565b6101eb610c61565b5b005b3480156101fa57600080fd5b50610203610e5d565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610243578082015181840152602081019050610228565b50505050905090810190601f1680156102705780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561028a57600080fd5b506102c9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610efb565b604051808215151515815260200191505060405180910390f35b3480156102ef57600080fd5b5061030e60048036038101908080359060200190929190505050610f88565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561035c57600080fd5b50610365610fc6565b6040518082815260200191505060405180910390f35b34801561038757600080fd5b506103e6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fcc565b604051808215151515815260200191505060405180910390f35b34801561040c57600080fd5b5061041561117e565b6040518082815260200191505060405180910390f35b34801561043757600080fd5b50610440611184565b604051808260ff1660ff16815260200191505060405180910390f35b34801561046857600080fd5b50610471611197565b604051808215151515815260200191505060405180910390f35b34801561049757600080fd5b506104a06111c1565b6040518082815260200191505060405180910390f35b3480156104c257600080fd5b506104e1600480360381019080803590602001909291905050506111c7565b604051808215151515815260200191505060405180910390f35b34801561050757600080fd5b5061051061131e565b6040518082815260200191505060405180910390f35b34801561053257600080fd5b5061053b611324565b005b34801561054957600080fd5b5061056860048036038101908080359060200190929190505050611400565b005b34801561057657600080fd5b506105ab600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611489565b6040518082815260200191505060405180910390f35b3480156105cd57600080fd5b50610602600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114a1565b6040518082815260200191505060405180910390f35b34801561062457600080fd5b50610663600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506114b9565b604051808215151515815260200191505060405180910390f35b34801561068957600080fd5b506106926117ab565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106e057600080fd5b506106e96117d0565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561072957808201518184015260208101905061070e565b50505050905090810190601f1680156107565780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561077057600080fd5b5061078f6004803603810190808035906020019092919050505061186e565b6040518082815260200191505060405180910390f35b3480156107b157600080fd5b506107f0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506119f7565b005b3480156107fe57600080fd5b50610833600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a06565b604051808215151515815260200191505060405180910390f35b34801561085957600080fd5b506108de600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611a26565b604051808215151515815260200191505060405180910390f35b34801561090457600080fd5b5061090d611ba9565b6040518082815260200191505060405180910390f35b34801561092f57600080fd5b50610984600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611baf565b6040518082815260200191505060405180910390f35b3480156109a657600080fd5b506109af611bd4565b6040518082815260200191505060405180910390f35b3480156109d157600080fd5b50610a12600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050611bda565b005b348015610a2057600080fd5b50610a29611cff565b6040518082815260200191505060405180910390f35b348015610a4b57600080fd5b50610a80600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d05565b005b348015610a8e57600080fd5b50610a97611da3565b6040518082815260200191505060405180910390f35b600080600080600093505b6096841015610c5b576015546014541015610c4157601260006013601454815481101515610ae257fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205492506000831115610c3c57610b7c601054610b6e6103e886611da990919063ffffffff16565b611de490919063ffffffff16565b9150610ba56103e8610b978434611da990919063ffffffff16565b611de490919063ffffffff16565b90506013601454815481101515610bb857fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610c28573d6000803e3d6000fd5b506014600081548092919060010191905055505b610c4e565b6000601481905550610c5b565b8380600101945050610ab8565b50505050565b600080600042600e54111515610c7657600080fd5b42600d54101515610c8657600080fd5b349250610cb5600f54610ca76402540be40086611de490919063ffffffff16565b611da990919063ffffffff16565b9150610cd2610cc38361186e565b83611dff90919063ffffffff16565b9050610ce981601054611dff90919063ffffffff16565b601081905550610cfa303383611e1d565b610d02612176565b6000601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415610dc35760133390806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506015600081548092919060010191905055505b610e1581601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611dff90919063ffffffff16565b601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ef35780601f10610ec857610100808354040283529160200191610ef3565b820191906000526020600020905b815481529060010190602001808311610ed657829003601f168201915b505050505081565b600081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b601381815481101515610f9757fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b6000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561105957600080fd5b6110e882600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121e090919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611173848484611e1d565b600190509392505050565b600e5481565b600360009054906101000a900460ff1681565b600042600e541180156111ab575042600d54105b156111b957600190506111be565b600090505b90565b600f5481565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561121757600080fd5b61126982600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121e090919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506112c1826004546121e090919063ffffffff16565b6004819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a260019050919050565b60105481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561137f57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f193505050501580156113fd573d6000803e3d6000fd5b50565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561145d57600080fd5b611478670de0b6b3a764000083611da990919063ffffffff16565b9050611485303383611e1d565b5050565b60126020528060005260406000206000915090505481565b60066020528060005260406000206000915090505481565b600081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561150957600080fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561159457600080fd5b6115e682600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121e090919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506116b882600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121e090919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061174d826004546121e090919063ffffffff16565b6004819055508273ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a26001905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118665780601f1061183b57610100808354040283529160200191611866565b820191906000526020600020905b81548152906001019060200180831161184957829003601f168201915b505050505081565b60008060008060008062093a80600d5401945062093a808501935062093a808401925062093a808301915062093a8082019050600d54421180156118b157508442105b156118e4576118dd60646118cf60198a611da990919063ffffffff16565b611de490919063ffffffff16565b95506119ed565b84421180156118f257508342105b156119255761191e606461191060148a611da990919063ffffffff16565b611de490919063ffffffff16565b95506119ed565b834211801561193357508242105b156119665761195f6064611951600f8a611da990919063ffffffff16565b611de490919063ffffffff16565b95506119ed565b824211801561197457508142105b156119a7576119a06064611992600a8a611da990919063ffffffff16565b611de490919063ffffffff16565b95506119ed565b81421180156119b557508042105b156119e8576119e160646119d360058a611da990919063ffffffff16565b611de490919063ffffffff16565b95506119ed565b600095505b5050505050919050565b611a02338383611e1d565b5050565b600c6020528060005260406000206000915054906101000a900460ff1681565b600080849050611a368585610efb565b15611ba0578073ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338630876040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611b30578082015181840152602081019050611b15565b50505050905090810190601f168015611b5d5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015611b7f57600080fd5b505af1158015611b93573d6000803e3d6000fd5b5050505060019150611ba1565b5b509392505050565b600d5481565b6007602052816000526040600020602052806000526040600020600091509150505481565b60145481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c3557600080fd5b80600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a58282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001821515151581526020019250505060405180910390a15050565b60155481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d6057600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60055481565b6000806000841415611dbe5760009150611ddd565b8284029050828482811515611dcf57fe5b04141515611dd957fe5b8091505b5092915050565b6000808284811515611df257fe5b0490508091505092915050565b6000808284019050838110151515611e1357fe5b8091505092915050565b60008273ffffffffffffffffffffffffffffffffffffffff1614151515611e4357600080fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515611e9157600080fd5b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f2382600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611dff90919063ffffffff16565b10151515611f3057600080fd5b600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611f8957600080fd5b600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611fe257600080fd5b61203481600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121e090919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120c981600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611dff90919063ffffffff16565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501580156121dd573d6000803e3d6000fd5b50565b60008282111515156121ee57fe5b8183039050929150505600a165627a7a723058203c5daac4cf59893d232706903b3acc7d3a76ad100bac7e19436b30f590ba9baa0029
Swarm Source
bzzr://3c5daac4cf59893d232706903b3acc7d3a76ad100bac7e19436b30f590ba9baa
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.