Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
10,000,000,000 IFOOD
Holders
155,203
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 Name:
ifoodToken
Compiler Version
v0.4.18+commit.9cf6e910
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-06-13 */ pragma solidity ^0.4.18; /** * @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; } } /** * @title ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/20 */ contract ERC20 { uint256 public totalSupply; function balanceOf(address who) public view returns (uint256); function transfer(address to, uint256 value) public returns (bool); function allowance(address owner, address spender) public view returns (uint256); function transferFrom(address from, address to, uint256 value) public returns (bool); function approve(address spender, uint256 value) public returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } contract ifoodToken is ERC20 { using SafeMath for uint256; // the controller of minting address public ifoodDev = 0x4E471f031D03E5856125993dc3D59520229141Ce; // the controller of approving of minting and withdraw tokens address public ifoodCommunity = 0x0d72e931932356FcCf8CFF3f83390e24BE72771d; struct TokensWithLock { uint256 value; uint256 blockNumber; } // Balances for each account mapping(address => uint256) balances; // Tokens with time lock // Only when the tokens' blockNumber is less than current block number, // can the tokens be minted to the owner mapping(address => TokensWithLock) lockTokens; // Owner of account approves the transfer of an amount to another account mapping(address => mapping (address => uint256)) allowed; // Token Info string public name = "Ifoods Token"; string public symbol = "IFOOD"; uint8 public decimals = 18; // Token Cap uint256 public totalSupplyCap = 10**10 * 10**uint256(decimals); // True if mintingFinished bool public mintingFinished = false; // The block number when deploy uint256 public deployBlockNumber = getCurrentBlockNumber(); // The min threshold of lock time uint256 public constant TIMETHRESHOLD = 7200; // The lock time of minted tokens uint256 public durationOfLock = 7200; // True if transfers are allowed bool public transferable = false; // True if the transferable can be change bool public canSetTransferable = true; modifier canMint() { require(!mintingFinished); _; } modifier only(address _address) { require(msg.sender == _address); _; } modifier nonZeroAddress(address _address) { require(_address != address(0)); _; } modifier canTransfer() { require(transferable == true); _; } event SetDurationOfLock(address indexed _caller); event ApproveMintTokens(address indexed _owner, uint256 _amount); event WithdrawMintTokens(address indexed _owner, uint256 _amount); event MintTokens(address indexed _owner, uint256 _amount); event BurnTokens(address indexed _owner, uint256 _amount); event MintFinished(address indexed _caller); event SetTransferable(address indexed _address, bool _transferable); event SetifoodDevAddress(address indexed _old, address indexed _new); event SetifoodCommunityAddress(address indexed _old, address indexed _new); event DisableSetTransferable(address indexed _address, bool _canSetTransferable); /** * @dev transfer token for a specified address * @param _to The address to transfer to. * @param _value The amount to be transferred. */ function transfer(address _to, uint256 _value) canTransfer public returns (bool) { require(_to != address(0)); require(_value <= balances[msg.sender]); // SafeMath.sub will throw if there is not enough balance. balances[msg.sender] = balances[msg.sender].sub(_value); balances[_to] = balances[_to].add(_value); Transfer(msg.sender, _to, _value); return true; } /** * @dev Gets the balance of the specified address. * @param _owner The address to query the the balance of. * @return An uint256 representing the amount owned by the passed address. */ function balanceOf(address _owner) public view returns (uint256 balance) { return balances[_owner]; } /** * @dev Transfer tokens from one address to another * @param _from address The address which you want to send tokens from * @param _to address The address which you want to transfer to * @param _value uint256 the amount of tokens to be transferred */ function transferFrom(address _from, address _to, uint256 _value) canTransfer public returns (bool) { require(_to != address(0)); require(_value <= balances[_from]); require(_value <= allowed[_from][msg.sender]); balances[_from] = balances[_from].sub(_value); balances[_to] = balances[_to].add(_value); allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value); Transfer(_from, _to, _value); return true; } // Allow `_spender` to withdraw from your account, multiple times. function approve(address _spender, uint _value) public returns (bool success) { // To change the approve amount you first have to reduce the addresses` // allowance to zero by calling `approve(_spender, 0)` if it is not // already 0 to mitigate the race condition described here: // https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 if ((_value != 0) && (allowed[msg.sender][_spender] != 0)) { revert(); } allowed[msg.sender][_spender] = _value; Approval(msg.sender, _spender, _value); return true; } /** * @dev Function to check the amount of tokens that an owner allowed to a spender. * @param _owner address The address which owns the funds. * @param _spender address The address which will spend the funds. * @return A uint256 specifying the amount of tokens still available for the spender. */ function allowance(address _owner, address _spender) public view returns (uint256) { return allowed[_owner][_spender]; } /** * @dev Enables token holders to transfer their tokens freely if true * @param _transferable True if transfers are allowed */ function setTransferable(bool _transferable) only(ifoodDev) public { require(canSetTransferable == true); transferable = _transferable; SetTransferable(msg.sender, _transferable); } /** * @dev disable the canSetTransferable */ function disableSetTransferable() only(ifoodDev) public { transferable = true; canSetTransferable = false; DisableSetTransferable(msg.sender, false); } /** * @dev Set the ifoodDev * @param _ifoodDev The new ifood dev address */ function setifoodDevAddress(address _ifoodDev) only(ifoodDev) nonZeroAddress(ifoodDev) public { ifoodDev = _ifoodDev; SetifoodDevAddress(msg.sender, _ifoodDev); } /** * @dev Set the ifoodCommunity * @param _ifoodCommunity The new ifood community address */ function setifoodCommunityAddress(address _ifoodCommunity) only(ifoodCommunity) nonZeroAddress(_ifoodCommunity) public { ifoodCommunity = _ifoodCommunity; SetifoodCommunityAddress(msg.sender, _ifoodCommunity); } /** * @dev Set the duration of lock of tokens approved of minting * @param _durationOfLock the new duration of lock */ function setDurationOfLock(uint256 _durationOfLock) canMint only(ifoodCommunity) public { require(_durationOfLock >= TIMETHRESHOLD); durationOfLock = _durationOfLock; SetDurationOfLock(msg.sender); } /** * @dev Get the quantity of locked tokens * @param _owner The address of locked tokens * @return the quantity and the lock time of locked tokens */ function getLockTokens(address _owner) nonZeroAddress(_owner) view public returns (uint256 value, uint256 blockNumber) { return (lockTokens[_owner].value, lockTokens[_owner].blockNumber); } /** * @dev Approve of minting `_amount` tokens that are assigned to `_owner` * @param _owner The address that will be assigned the new tokens * @param _amount The quantity of tokens approved of mintting * @return True if the tokens are approved of mintting correctly */ function approveMintTokens(address _owner, uint256 _amount) nonZeroAddress(_owner) canMint only(ifoodCommunity) public returns (bool) { require(_amount > 0); uint256 previousLockTokens = lockTokens[_owner].value; require(previousLockTokens + _amount >= previousLockTokens); uint256 curTotalSupply = totalSupply; require(curTotalSupply + _amount >= curTotalSupply); // Check for overflow require(curTotalSupply + _amount <= totalSupplyCap); // Check for overflow of total supply cap uint256 previousBalanceTo = balanceOf(_owner); require(previousBalanceTo + _amount >= previousBalanceTo); // Check for overflow lockTokens[_owner].value = previousLockTokens.add(_amount); uint256 curBlockNumber = getCurrentBlockNumber(); lockTokens[_owner].blockNumber = curBlockNumber.add(durationOfLock); ApproveMintTokens(_owner, _amount); return true; } /** * @dev Withdraw approval of minting `_amount` tokens that are assigned to `_owner` * @param _owner The address that will be withdrawn the tokens * @param _amount The quantity of tokens withdrawn approval of mintting * @return True if the tokens are withdrawn correctly */ function withdrawMintTokens(address _owner, uint256 _amount) nonZeroAddress(_owner) canMint only(ifoodCommunity) public returns (bool) { require(_amount > 0); uint256 previousLockTokens = lockTokens[_owner].value; require(previousLockTokens - _amount >= 0); lockTokens[_owner].value = previousLockTokens.sub(_amount); if (previousLockTokens - _amount == 0) { lockTokens[_owner].blockNumber = 0; } WithdrawMintTokens(_owner, _amount); return true; } /** * @dev Mints `_amount` tokens that are assigned to `_owner` * @param _owner The address that will be assigned the new tokens * @return True if the tokens are minted correctly */ function mintTokens(address _owner) canMint only(ifoodDev) nonZeroAddress(_owner) public returns (bool) { require(lockTokens[_owner].blockNumber <= getCurrentBlockNumber()); uint256 _amount = lockTokens[_owner].value; uint256 curTotalSupply = totalSupply; require(curTotalSupply + _amount >= curTotalSupply); // Check for overflow require(curTotalSupply + _amount <= totalSupplyCap); // Check for overflow of total supply cap uint256 previousBalanceTo = balanceOf(_owner); require(previousBalanceTo + _amount >= previousBalanceTo); // Check for overflow totalSupply = curTotalSupply.add(_amount); balances[_owner] = previousBalanceTo.add(_amount); lockTokens[_owner].value = 0; lockTokens[_owner].blockNumber = 0; MintTokens(_owner, _amount); Transfer(0, _owner, _amount); return true; } /** * @dev Transfer tokens to multiple addresses * @param _addresses The addresses that will receieve tokens * @param _amounts The quantity of tokens that will be transferred * @return True if the tokens are transferred correctly */ function transferForMultiAddresses(address[] _addresses, uint256[] _amounts) canTransfer public returns (bool) { for (uint256 i = 0; i < _addresses.length; i++) { require(_addresses[i] != address(0)); require(_amounts[i] <= balances[msg.sender]); require(_amounts[i] > 0); // SafeMath.sub will throw if there is not enough balance. balances[msg.sender] = balances[msg.sender].sub(_amounts[i]); balances[_addresses[i]] = balances[_addresses[i]].add(_amounts[i]); Transfer(msg.sender, _addresses[i], _amounts[i]); } return true; } /** * @dev Function to stop minting new tokens. * @return True if the operation was successful. */ function finishMinting() only(ifoodDev) canMint public returns (bool) { mintingFinished = true; MintFinished(msg.sender); return true; } function getCurrentBlockNumber() private view returns (uint256) { return block.number; } function () public payable { revert(); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[{"name":"_durationOfLock","type":"uint256"}],"name":"setDurationOfLock","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"mintingFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","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":false,"inputs":[],"name":"disableSetTransferable","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addresses","type":"address[]"},{"name":"_amounts","type":"uint256[]"}],"name":"transferForMultiAddresses","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"deployBlockNumber","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TIMETHRESHOLD","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":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"},{"name":"_amount","type":"uint256"}],"name":"approveMintTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_ifoodDev","type":"address"}],"name":"setifoodDevAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"durationOfLock","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ifoodDev","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"finishMinting","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"transferable","outputs":[{"name":"","type":"bool"}],"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":"_owner","type":"address"}],"name":"getLockTokens","outputs":[{"name":"value","type":"uint256"},{"name":"blockNumber","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_transferable","type":"bool"}],"name":"setTransferable","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"},{"name":"_amount","type":"uint256"}],"name":"withdrawMintTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupplyCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"mintTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"canSetTransferable","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ifoodCommunity","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_ifoodCommunity","type":"address"}],"name":"setifoodCommunityAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_caller","type":"address"}],"name":"SetDurationOfLock","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"}],"name":"ApproveMintTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"}],"name":"WithdrawMintTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"}],"name":"MintTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"}],"name":"BurnTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_caller","type":"address"}],"name":"MintFinished","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_address","type":"address"},{"indexed":false,"name":"_transferable","type":"bool"}],"name":"SetTransferable","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_old","type":"address"},{"indexed":true,"name":"_new","type":"address"}],"name":"SetifoodDevAddress","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_old","type":"address"},{"indexed":true,"name":"_new","type":"address"}],"name":"SetifoodCommunityAddress","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_address","type":"address"},{"indexed":false,"name":"_canSetTransferable","type":"bool"}],"name":"DisableSetTransferable","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":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"}]
Contract Creation Code
6060604052734e471f031d03e5856125993dc3d59520229141ce600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550730d72e931932356fccf8cff3f83390e24be72771d600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040805190810160405280600c81526020017f49666f6f647320546f6b656e000000000000000000000000000000000000000081525060069080519060200190620000fb92919062000218565b506040805190810160405280600581526020017f49464f4f44000000000000000000000000000000000000000000000000000000815250600790805190602001906200014992919062000218565b506012600860006101000a81548160ff021916908360ff160217905550600860009054906101000a900460ff1660ff16600a0a6402540be400026009556000600a60006101000a81548160ff021916908315150217905550620001bf620002106401000000000262002688176401000000009004565b600b55611c20600c556000600d60006101000a81548160ff0219169083151502179055506001600d60016101000a81548160ff02191690831515021790555034156200020a57600080fd5b620002c7565b600043905090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200025b57805160ff19168380011785556200028c565b828001600101855582156200028c579182015b828111156200028b5782518255916020019190600101906200026e565b5b5090506200029b91906200029f565b5090565b620002c491905b80821115620002c0576000816000905550600101620002a6565b5090565b90565b6126bc80620002d76000396000f300606060405260043610610175576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063027ec8481461017a57806305d2035b1461019d57806306fdde03146101ca578063095ea7b31461025857806312dc34a0146102b257806318160ddd146102c7578063204009d2146102f0578063206288d3146103a2578063234e5f16146103cb57806323b872dd146103f4578063269f46631461046d5780632aa4c051146104c7578063313ce567146105005780634da1397c1461052f57806356f1dd6b1461055857806370a08231146105ad5780637d64bcb4146105fa57806392ff0d311461062757806395d89b41146106545780639b98a94b146106e25780639cd2370714610736578063a9059cbb1461075b578063b5bb5ee4146107b5578063bb102aea1461080f578063bcfaa79d14610838578063dca6058c14610889578063dd62ed3e146108b6578063e2c8609214610922578063fe8d640c14610977575b600080fd5b341561018557600080fd5b61019b60048080359060200190919050506109b0565b005b34156101a857600080fd5b6101b0610a88565b604051808215151515815260200191505060405180910390f35b34156101d557600080fd5b6101dd610a9b565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561021d578082015181840152602081019050610202565b50505050905090810190601f16801561024a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561026357600080fd5b610298600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610b39565b604051808215151515815260200191505060405180910390f35b34156102bd57600080fd5b6102c5610cc2565b005b34156102d257600080fd5b6102da610dab565b6040518082815260200191505060405180910390f35b34156102fb57600080fd5b61038860048080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091905050610db1565b604051808215151515815260200191505060405180910390f35b34156103ad57600080fd5b6103b56110f3565b6040518082815260200191505060405180910390f35b34156103d657600080fd5b6103de6110f9565b6040518082815260200191505060405180910390f35b34156103ff57600080fd5b610453600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506110ff565b604051808215151515815260200191505060405180910390f35b341561047857600080fd5b6104ad600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506114e1565b604051808215151515815260200191505060405180910390f35b34156104d257600080fd5b6104fe600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611765565b005b341561050b57600080fd5b6105136118c1565b604051808260ff1660ff16815260200191505060405180910390f35b341561053a57600080fd5b6105426118d4565b6040518082815260200191505060405180910390f35b341561056357600080fd5b61056b6118da565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156105b857600080fd5b6105e4600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611900565b6040518082815260200191505060405180910390f35b341561060557600080fd5b61060d611949565b604051808215151515815260200191505060405180910390f35b341561063257600080fd5b61063a611a2a565b604051808215151515815260200191505060405180910390f35b341561065f57600080fd5b610667611a3d565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106a757808201518184015260208101905061068c565b50505050905090810190601f1680156106d45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156106ed57600080fd5b610719600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611adb565b604051808381526020018281526020019250505060405180910390f35b341561074157600080fd5b61075960048080351515906020019091905050611bab565b005b341561076657600080fd5b61079b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611c9a565b604051808215151515815260200191505060405180910390f35b34156107c057600080fd5b6107f5600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611ee1565b604051808215151515815260200191505060405180910390f35b341561081a57600080fd5b610822612108565b6040518082815260200191505060405180910390f35b341561084357600080fd5b61086f600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061210e565b604051808215151515815260200191505060405180910390f35b341561089457600080fd5b61089c612457565b604051808215151515815260200191505060405180910390f35b34156108c157600080fd5b61090c600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061246a565b6040518082815260200191505060405180910390f35b341561092d57600080fd5b6109356124f1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561098257600080fd5b6109ae600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612517565b005b600a60009054906101000a900460ff161515156109cc57600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a2957600080fd5b611c208210151515610a3a57600080fd5b81600c819055503373ffffffffffffffffffffffffffffffffffffffff167f0396975844671389fa17a3a7695b8bd9f31c23d3d058f0706b1b75319dfd744260405160405180910390a25050565b600a60009054906101000a900460ff1681565b60068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b315780601f10610b0657610100808354040283529160200191610b31565b820191906000526020600020905b815481529060010190602001808311610b1457829003601f168201915b505050505081565b6000808214158015610bc857506000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b15610bd257600080fd5b81600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d1f57600080fd5b6001600d60006101000a81548160ff0219169083151502179055506000600d60016101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff167fa587cd36fc5173263bcfc28c8fa5b785fb89e0c74ac952d6a3554aa83b5012146000604051808215151515815260200191505060405180910390a250565b60005481565b60008060011515600d60009054906101000a900460ff161515141515610dd657600080fd5b600090505b83518110156110e857600073ffffffffffffffffffffffffffffffffffffffff168482815181101515610e0a57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1614151515610e3757600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548382815181101515610e8557fe5b9060200190602002015111151515610e9c57600080fd5b60008382815181101515610eac57fe5b90602001906020020151111515610ec257600080fd5b610f2b8382815181101515610ed357fe5b90602001906020020151600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461265190919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610fee8382815181101515610f7f57fe5b90602001906020020151600360008785815181101515610f9b57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461266a90919063ffffffff16565b60036000868481518110151561100057fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550838181518110151561105657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85848151811015156110bc57fe5b906020019060200201516040518082815260200191505060405180910390a38080600101915050610ddb565b600191505092915050565b600b5481565b611c2081565b600060011515600d60009054906101000a900460ff16151514151561112357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561115f57600080fd5b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156111ad57600080fd5b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561123857600080fd5b61128a82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461265190919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061131f82600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461266a90919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113f182600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461265190919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600080600080600086600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561152657600080fd5b600a60009054906101000a900460ff1615151561154257600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561159f57600080fd5b6000881115156115ae57600080fd5b600460008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001549550858887011015151561160457600080fd5b6000549450848886011015151561161a57600080fd5b6009548886011115151561162d57600080fd5b61163689611900565b9350838885011015151561164957600080fd5b61165c888761266a90919063ffffffff16565b600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055506116aa612688565b92506116c1600c548461266a90919063ffffffff16565b600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055508873ffffffffffffffffffffffffffffffffffffffff167ff409fb63c43f80749c0457905d6ca20dea860144ecf394abef251fbc6dd4eb51896040518082815260200191505060405180910390a26001965050505050505092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156117c257600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561182157600080fd5b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167febd1bd8795461b00d2a963bc34c633a0d7b6c340f8ee42978fdb76526c9b63b360405160405180910390a3505050565b600860009054906101000a900460ff1681565b600c5481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156119a857600080fd5b600a60009054906101000a900460ff161515156119c457600080fd5b6001600a60006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff167f39b5ca6d4234a87b875f701a848e24d718e9f824d12099eec3c01762383b04ee60405160405180910390a2600191505090565b600d60009054906101000a900460ff1681565b60078054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611ad35780601f10611aa857610100808354040283529160200191611ad3565b820191906000526020600020905b815481529060010190602001808311611ab657829003601f168201915b505050505081565b60008082600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611b1b57600080fd5b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101549250925050915091565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c0857600080fd5b60011515600d60019054906101000a900460ff161515141515611c2a57600080fd5b81600d60006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff167f166d463a272e44b1c12f674f66ba19df53561af84c4a617a0011e78db3d5c22183604051808215151515815260200191505060405180910390a25050565b600060011515600d60009054906101000a900460ff161515141515611cbe57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611cfa57600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515611d4857600080fd5b611d9a82600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461265190919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e2f82600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461266a90919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008083600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611f2157600080fd5b600a60009054906101000a900460ff16151515611f3d57600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611f9a57600080fd5b600085111515611fa957600080fd5b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154925060008584031015151561200057600080fd5b612013858461265190919063ffffffff16565b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550600085840314156120ad576000600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055505b8573ffffffffffffffffffffffffffffffffffffffff167fb6eefe5d57aeb45d2fb03cb184c9808f5694f3201515c33e5c40ab637af4352c866040518082815260200191505060405180910390a26001935050505092915050565b60095481565b600080600080600a60009054906101000a900460ff1615151561213057600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561218d57600080fd5b85600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156121ca57600080fd5b6121d2612688565b600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101541115151561222257600080fd5b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015494506000549350838585011015151561227d57600080fd5b6009548585011115151561229057600080fd5b61229987611900565b925082858401101515156122ac57600080fd5b6122bf858561266a90919063ffffffff16565b6000819055506122d8858461266a90919063ffffffff16565b600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055506000600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055508673ffffffffffffffffffffffffffffffffffffffff167f7b47457f3af09e5f794b020fd74160963a808f5985883496a096d403d380c343866040518082815260200191505060405180910390a28673ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a3600195505050505050919050565b600d60019054906101000a900460ff1681565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561257457600080fd5b81600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156125b157600080fd5b82600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fd19ae8d678e9eae98753582dadce83a764fa65e219308d166336736cc938ddf460405160405180910390a3505050565b600082821115151561265f57fe5b818303905092915050565b600080828401905083811015151561267e57fe5b8091505092915050565b6000439050905600a165627a7a7230582080e0b1a15be92368579c6772ff209c469f9dcda457bbc3839ab174eb9019bdbf0029
Deployed Bytecode
0x606060405260043610610175576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063027ec8481461017a57806305d2035b1461019d57806306fdde03146101ca578063095ea7b31461025857806312dc34a0146102b257806318160ddd146102c7578063204009d2146102f0578063206288d3146103a2578063234e5f16146103cb57806323b872dd146103f4578063269f46631461046d5780632aa4c051146104c7578063313ce567146105005780634da1397c1461052f57806356f1dd6b1461055857806370a08231146105ad5780637d64bcb4146105fa57806392ff0d311461062757806395d89b41146106545780639b98a94b146106e25780639cd2370714610736578063a9059cbb1461075b578063b5bb5ee4146107b5578063bb102aea1461080f578063bcfaa79d14610838578063dca6058c14610889578063dd62ed3e146108b6578063e2c8609214610922578063fe8d640c14610977575b600080fd5b341561018557600080fd5b61019b60048080359060200190919050506109b0565b005b34156101a857600080fd5b6101b0610a88565b604051808215151515815260200191505060405180910390f35b34156101d557600080fd5b6101dd610a9b565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561021d578082015181840152602081019050610202565b50505050905090810190601f16801561024a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561026357600080fd5b610298600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610b39565b604051808215151515815260200191505060405180910390f35b34156102bd57600080fd5b6102c5610cc2565b005b34156102d257600080fd5b6102da610dab565b6040518082815260200191505060405180910390f35b34156102fb57600080fd5b61038860048080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091905050610db1565b604051808215151515815260200191505060405180910390f35b34156103ad57600080fd5b6103b56110f3565b6040518082815260200191505060405180910390f35b34156103d657600080fd5b6103de6110f9565b6040518082815260200191505060405180910390f35b34156103ff57600080fd5b610453600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506110ff565b604051808215151515815260200191505060405180910390f35b341561047857600080fd5b6104ad600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506114e1565b604051808215151515815260200191505060405180910390f35b34156104d257600080fd5b6104fe600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611765565b005b341561050b57600080fd5b6105136118c1565b604051808260ff1660ff16815260200191505060405180910390f35b341561053a57600080fd5b6105426118d4565b6040518082815260200191505060405180910390f35b341561056357600080fd5b61056b6118da565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156105b857600080fd5b6105e4600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611900565b6040518082815260200191505060405180910390f35b341561060557600080fd5b61060d611949565b604051808215151515815260200191505060405180910390f35b341561063257600080fd5b61063a611a2a565b604051808215151515815260200191505060405180910390f35b341561065f57600080fd5b610667611a3d565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106a757808201518184015260208101905061068c565b50505050905090810190601f1680156106d45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156106ed57600080fd5b610719600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611adb565b604051808381526020018281526020019250505060405180910390f35b341561074157600080fd5b61075960048080351515906020019091905050611bab565b005b341561076657600080fd5b61079b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611c9a565b604051808215151515815260200191505060405180910390f35b34156107c057600080fd5b6107f5600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611ee1565b604051808215151515815260200191505060405180910390f35b341561081a57600080fd5b610822612108565b6040518082815260200191505060405180910390f35b341561084357600080fd5b61086f600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061210e565b604051808215151515815260200191505060405180910390f35b341561089457600080fd5b61089c612457565b604051808215151515815260200191505060405180910390f35b34156108c157600080fd5b61090c600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061246a565b6040518082815260200191505060405180910390f35b341561092d57600080fd5b6109356124f1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561098257600080fd5b6109ae600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612517565b005b600a60009054906101000a900460ff161515156109cc57600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a2957600080fd5b611c208210151515610a3a57600080fd5b81600c819055503373ffffffffffffffffffffffffffffffffffffffff167f0396975844671389fa17a3a7695b8bd9f31c23d3d058f0706b1b75319dfd744260405160405180910390a25050565b600a60009054906101000a900460ff1681565b60068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b315780601f10610b0657610100808354040283529160200191610b31565b820191906000526020600020905b815481529060010190602001808311610b1457829003601f168201915b505050505081565b6000808214158015610bc857506000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b15610bd257600080fd5b81600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d1f57600080fd5b6001600d60006101000a81548160ff0219169083151502179055506000600d60016101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff167fa587cd36fc5173263bcfc28c8fa5b785fb89e0c74ac952d6a3554aa83b5012146000604051808215151515815260200191505060405180910390a250565b60005481565b60008060011515600d60009054906101000a900460ff161515141515610dd657600080fd5b600090505b83518110156110e857600073ffffffffffffffffffffffffffffffffffffffff168482815181101515610e0a57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1614151515610e3757600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548382815181101515610e8557fe5b9060200190602002015111151515610e9c57600080fd5b60008382815181101515610eac57fe5b90602001906020020151111515610ec257600080fd5b610f2b8382815181101515610ed357fe5b90602001906020020151600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461265190919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610fee8382815181101515610f7f57fe5b90602001906020020151600360008785815181101515610f9b57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461266a90919063ffffffff16565b60036000868481518110151561100057fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550838181518110151561105657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85848151811015156110bc57fe5b906020019060200201516040518082815260200191505060405180910390a38080600101915050610ddb565b600191505092915050565b600b5481565b611c2081565b600060011515600d60009054906101000a900460ff16151514151561112357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561115f57600080fd5b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156111ad57600080fd5b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561123857600080fd5b61128a82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461265190919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061131f82600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461266a90919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113f182600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461265190919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600080600080600086600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561152657600080fd5b600a60009054906101000a900460ff1615151561154257600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561159f57600080fd5b6000881115156115ae57600080fd5b600460008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001549550858887011015151561160457600080fd5b6000549450848886011015151561161a57600080fd5b6009548886011115151561162d57600080fd5b61163689611900565b9350838885011015151561164957600080fd5b61165c888761266a90919063ffffffff16565b600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055506116aa612688565b92506116c1600c548461266a90919063ffffffff16565b600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055508873ffffffffffffffffffffffffffffffffffffffff167ff409fb63c43f80749c0457905d6ca20dea860144ecf394abef251fbc6dd4eb51896040518082815260200191505060405180910390a26001965050505050505092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156117c257600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561182157600080fd5b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167febd1bd8795461b00d2a963bc34c633a0d7b6c340f8ee42978fdb76526c9b63b360405160405180910390a3505050565b600860009054906101000a900460ff1681565b600c5481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156119a857600080fd5b600a60009054906101000a900460ff161515156119c457600080fd5b6001600a60006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff167f39b5ca6d4234a87b875f701a848e24d718e9f824d12099eec3c01762383b04ee60405160405180910390a2600191505090565b600d60009054906101000a900460ff1681565b60078054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611ad35780601f10611aa857610100808354040283529160200191611ad3565b820191906000526020600020905b815481529060010190602001808311611ab657829003601f168201915b505050505081565b60008082600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611b1b57600080fd5b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101549250925050915091565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c0857600080fd5b60011515600d60019054906101000a900460ff161515141515611c2a57600080fd5b81600d60006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff167f166d463a272e44b1c12f674f66ba19df53561af84c4a617a0011e78db3d5c22183604051808215151515815260200191505060405180910390a25050565b600060011515600d60009054906101000a900460ff161515141515611cbe57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611cfa57600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515611d4857600080fd5b611d9a82600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461265190919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e2f82600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461266a90919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008083600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611f2157600080fd5b600a60009054906101000a900460ff16151515611f3d57600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611f9a57600080fd5b600085111515611fa957600080fd5b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154925060008584031015151561200057600080fd5b612013858461265190919063ffffffff16565b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550600085840314156120ad576000600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055505b8573ffffffffffffffffffffffffffffffffffffffff167fb6eefe5d57aeb45d2fb03cb184c9808f5694f3201515c33e5c40ab637af4352c866040518082815260200191505060405180910390a26001935050505092915050565b60095481565b600080600080600a60009054906101000a900460ff1615151561213057600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561218d57600080fd5b85600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156121ca57600080fd5b6121d2612688565b600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101541115151561222257600080fd5b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015494506000549350838585011015151561227d57600080fd5b6009548585011115151561229057600080fd5b61229987611900565b925082858401101515156122ac57600080fd5b6122bf858561266a90919063ffffffff16565b6000819055506122d8858461266a90919063ffffffff16565b600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055506000600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055508673ffffffffffffffffffffffffffffffffffffffff167f7b47457f3af09e5f794b020fd74160963a808f5985883496a096d403d380c343866040518082815260200191505060405180910390a28673ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a3600195505050505050919050565b600d60019054906101000a900460ff1681565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561257457600080fd5b81600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156125b157600080fd5b82600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fd19ae8d678e9eae98753582dadce83a764fa65e219308d166336736cc938ddf460405160405180910390a3505050565b600082821115151561265f57fe5b818303905092915050565b600080828401905083811015151561267e57fe5b8091505092915050565b6000439050905600a165627a7a7230582080e0b1a15be92368579c6772ff209c469f9dcda457bbc3839ab174eb9019bdbf0029
Swarm Source
bzzr://80e0b1a15be92368579c6772ff209c469f9dcda457bbc3839ab174eb9019bdbf
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.