ERC-20
Overview
Max Total Supply
400,950,736.43445099 FOOD
Holders
1,791 ( -0.056%)
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 8 Decimals)
Balance
135,000 FOODValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0x9f9e83F8...D4f33f7De The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
FoodcoinEcosystem
Compiler Version
v0.4.19+commit.c4cbbb05
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2017-12-27 */ /* Utility functions for safe math operations. See link below for more information: https://ethereum.stackexchange.com/questions/15258/safemath-safe-add-function-assertions-against-overflows */ pragma solidity ^0.4.19; contract SafeMath { function safeAdd(uint256 x, uint256 y) pure internal returns (uint256) { uint256 z = x + y; assert((z >= x) && (z >= y)); return z; } function safeSubtract(uint256 x, uint256 y) pure internal returns (uint256) { assert(x >= y); uint256 z = x - y; return z; } function safeMult(uint256 x, uint256 y) pure internal returns (uint256) { uint256 z = x * y; assert((x == 0) || (z / x == y)); return z; } function safeDiv(uint256 a, uint256 b) pure internal returns (uint256) { assert(b > 0); uint c = a / b; assert(a == b * c + a % b); return c; } } contract Owner { // Token Name string public name = "FoodCoin"; // Token Symbol string public symbol = "FOOD"; // Decimals uint256 public decimals = 8; // Version string public version = "v1"; // Emission Address address public emissionAddress = address(0); // Withdraw address address public withdrawAddress = address(0); // Owners Addresses mapping ( address => bool ) public ownerAddressMap; // Owner Address/Number mapping ( address => uint256 ) public ownerAddressNumberMap; // Owners List mapping ( uint256 => address ) public ownerListMap; // Amount of owners uint256 public ownerCountInt = 0; // Modifier - Owner modifier isOwner { require( ownerAddressMap[msg.sender]==true ); _; } // Owner Creation/Activation function ownerOn( address _onOwnerAddress ) external isOwner returns (bool retrnVal) { // Check if it's a non-zero address require( _onOwnerAddress != address(0) ); // If the owner is already exist if ( ownerAddressNumberMap[ _onOwnerAddress ]>0 ) { // If the owner is disablead, activate him again if ( !ownerAddressMap[ _onOwnerAddress ] ) { ownerAddressMap[ _onOwnerAddress ] = true; retrnVal = true; } else { retrnVal = false; } } // If the owner is not exist else { ownerAddressMap[ _onOwnerAddress ] = true; ownerAddressNumberMap[ _onOwnerAddress ] = ownerCountInt; ownerListMap[ ownerCountInt ] = _onOwnerAddress; ownerCountInt++; retrnVal = true; } } // Owner disabled function ownerOff( address _offOwnerAddress ) external isOwner returns (bool retrnVal) { // If owner exist and he is not 0 and active // 0 owner can`t be off if ( ownerAddressNumberMap[ _offOwnerAddress ]>0 && ownerAddressMap[ _offOwnerAddress ] ) { ownerAddressMap[ _offOwnerAddress ] = false; retrnVal = true; } else { retrnVal = false; } } // Token name changing function function contractNameUpdate( string _newName, bool updateConfirmation ) external isOwner returns (bool retrnVal) { if ( updateConfirmation ) { name = _newName; retrnVal = true; } else { retrnVal = false; } } // Token symbol changing function function contractSymbolUpdate( string _newSymbol, bool updateConfirmation ) external isOwner returns (bool retrnVal) { if ( updateConfirmation ) { symbol = _newSymbol; retrnVal = true; } else { retrnVal = false; } } // Token decimals changing function function contractDecimalsUpdate( uint256 _newDecimals, bool updateConfirmation ) external isOwner returns (bool retrnVal) { if ( updateConfirmation && _newDecimals != decimals ) { decimals = _newDecimals; retrnVal = true; } else { retrnVal = false; } } // New token emission address setting up function emissionAddressUpdate( address _newEmissionAddress ) external isOwner { emissionAddress = _newEmissionAddress; } // New token withdrawing address setting up function withdrawAddressUpdate( address _newWithdrawAddress ) external isOwner { withdrawAddress = _newWithdrawAddress; } // Constructor adds owner to undeletable list function Owner() public { // Owner creation ownerAddressMap[ msg.sender ] = true; ownerAddressNumberMap[ msg.sender ] = ownerCountInt; ownerListMap[ ownerCountInt ] = msg.sender; ownerCountInt++; } } contract SpecialManager is Owner { // Special Managers Addresses mapping ( address => bool ) public specialManagerAddressMap; // Special Manager Address/Number Mapping mapping ( address => uint256 ) public specialManagerAddressNumberMap; // Special Managers List mapping ( uint256 => address ) public specialManagerListMap; // Special Manager Amount uint256 public specialManagerCountInt = 0; // Special Manager or Owner modifier modifier isSpecialManagerOrOwner { require( specialManagerAddressMap[msg.sender]==true || ownerAddressMap[msg.sender]==true ); _; } // Special Manager creation/actination function specialManagerOn( address _onSpecialManagerAddress ) external isOwner returns (bool retrnVal) { // Check if it's a non-zero address require( _onSpecialManagerAddress != address(0) ); // If this special manager already exists if ( specialManagerAddressNumberMap[ _onSpecialManagerAddress ]>0 ) { // If this special manager disabled, activate him again if ( !specialManagerAddressMap[ _onSpecialManagerAddress ] ) { specialManagerAddressMap[ _onSpecialManagerAddress ] = true; retrnVal = true; } else { retrnVal = false; } } // If this special manager doesn`t exist else { specialManagerAddressMap[ _onSpecialManagerAddress ] = true; specialManagerAddressNumberMap[ _onSpecialManagerAddress ] = specialManagerCountInt; specialManagerListMap[ specialManagerCountInt ] = _onSpecialManagerAddress; specialManagerCountInt++; retrnVal = true; } } // Special manager disactivation function specialManagerOff( address _offSpecialManagerAddress ) external isOwner returns (bool retrnVal) { // If this special manager exists and he is non-zero and also active // 0-number manager can`t be disactivated if ( specialManagerAddressNumberMap[ _offSpecialManagerAddress ]>0 && specialManagerAddressMap[ _offSpecialManagerAddress ] ) { specialManagerAddressMap[ _offSpecialManagerAddress ] = false; retrnVal = true; } else { retrnVal = false; } } // Constructor adds owner to superowner list function SpecialManager() public { // owner creation specialManagerAddressMap[ msg.sender ] = true; specialManagerAddressNumberMap[ msg.sender ] = specialManagerCountInt; specialManagerListMap[ specialManagerCountInt ] = msg.sender; specialManagerCountInt++; } } contract Manager is SpecialManager { // Managers addresses mapping ( address => bool ) public managerAddressMap; // Manager Address/Number Mapping mapping ( address => uint256 ) public managerAddressNumberMap; // Managers` List mapping ( uint256 => address ) public managerListMap; // Amount of managers uint256 public managerCountInt = 0; // Modifier - Manager Or Owner modifier isManagerOrOwner { require( managerAddressMap[msg.sender]==true || ownerAddressMap[msg.sender]==true ); _; } // Owner Creation/Activation function managerOn( address _onManagerAddress ) external isOwner returns (bool retrnVal) { // Check if it's a non-zero address require( _onManagerAddress != address(0) ); // If this special manager exists if ( managerAddressNumberMap[ _onManagerAddress ]>0 ) { // If this special manager disabled, activate him again if ( !managerAddressMap[ _onManagerAddress ] ) { managerAddressMap[ _onManagerAddress ] = true; retrnVal = true; } else { retrnVal = false; } } // If this special manager doesn`t exist else { managerAddressMap[ _onManagerAddress ] = true; managerAddressNumberMap[ _onManagerAddress ] = managerCountInt; managerListMap[ managerCountInt ] = _onManagerAddress; managerCountInt++; retrnVal = true; } } // Manager disactivation function managerOff( address _offManagerAddress ) external isOwner returns (bool retrnVal) { // if it's a non-zero manager and already exists and active // 0-number manager can`t be disactivated if ( managerAddressNumberMap[ _offManagerAddress ]>0 && managerAddressMap[ _offManagerAddress ] ) { managerAddressMap[ _offManagerAddress ] = false; retrnVal = true; } else { retrnVal = false; } } // Constructor adds owner to manager list function Manager() public { // manager creation managerAddressMap[ msg.sender ] = true; managerAddressNumberMap[ msg.sender ] = managerCountInt; managerListMap[ managerCountInt ] = msg.sender; managerCountInt++; } } contract Management is Manager { // Description string public description = ""; // Current tansaction status // TRUE - tansaction available // FALSE - tansaction not available bool public transactionsOn = false; // Special permissions to allow/prohibit transactions to move tokens for specific accounts // 0 - depends on transactionsOn // 1 - always "forbidden" // 2 - always "allowed" mapping ( address => uint256 ) public transactionsOnForHolder; // Displaying tokens in the balanceOf function for all tokens // TRUE - Displaying available // FALSE - Displaying hidden, shows 0. Checking the token balance available in function balanceOfReal bool public balanceOfOn = true; // Displaying the token balance in function balanceOfReal for definit holder // 0 - depends on transactionsOn // 1 - always "forbidden" // 2 - always "allowed" mapping ( address => uint256 ) public balanceOfOnForHolder; // Current emission status // TRUE - emission is available, managers may add tokens to contract // FALSE - emission isn`t available, managers may not add tokens to contract bool public emissionOn = true; // emission cap uint256 public tokenCreationCap = 0; // Addresses list for verification of acoounts owners // Addresses mapping ( address => bool ) public verificationAddressMap; // Verification Address/Number Mapping mapping ( address => uint256 ) public verificationAddressNumberMap; // Verification List Mapping mapping ( uint256 => address ) public verificationListMap; // Amount of verifications uint256 public verificationCountInt = 1; // Verification holding // Verification Holders Timestamp mapping (address => uint256) public verificationHoldersTimestampMap; // Verification Holders Value mapping (address => uint256) public verificationHoldersValueMap; // Verification Holders Verifier Address mapping (address => address) public verificationHoldersVerifierAddressMap; // Verification Address Holders List Count mapping (address => uint256) public verificationAddressHoldersListCountMap; // Verification Address Holders List Number mapping (address => mapping ( uint256 => address )) public verificationAddressHoldersListNumberMap; // Modifier - Transactions On modifier isTransactionsOn( address addressFrom ) { require( transactionsOnNowVal( addressFrom ) ); _; } // Modifier - Emission On modifier isEmissionOn{ require( emissionOn ); _; } // Function transactions On now validate for definit address function transactionsOnNowVal( address addressFrom ) public view returns( bool ) { return ( transactionsOnForHolder[ addressFrom ]==0 && transactionsOn ) || transactionsOnForHolder[ addressFrom ]==2 ; } // transaction allow/forbidden for definit token holder function transactionsOnForHolderUpdate( address _to, uint256 _newValue ) external isOwner { if ( transactionsOnForHolder[ _to ] != _newValue ) { transactionsOnForHolder[ _to ] = _newValue; } } // Function of changing allow/forbidden transfer status function transactionsStatusUpdate( bool _on ) external isOwner { transactionsOn = _on; } // Function of changing emission status function emissionStatusUpdate( bool _on ) external isOwner { emissionOn = _on; } // Emission cap setting up function tokenCreationCapUpdate( uint256 _newVal ) external isOwner { tokenCreationCap = _newVal; } // balanceOfOnForHolder; balanceOfOn // Function on/off token displaying in function balanceOf function balanceOfOnUpdate( bool _on ) external isOwner { balanceOfOn = _on; } // Function on/off token displaying in function balanceOf for definit token holder function balanceOfOnForHolderUpdate( address _to, uint256 _newValue ) external isOwner { if ( balanceOfOnForHolder[ _to ] != _newValue ) { balanceOfOnForHolder[ _to ] = _newValue; } } // Function adding of new verification address function verificationAddressOn( address _onVerificationAddress ) external isOwner returns (bool retrnVal) { // Check if it's a non-zero address require( _onVerificationAddress != address(0) ); // If this address is already exists if ( verificationAddressNumberMap[ _onVerificationAddress ]>0 ) { // If address off, activate it again if ( !verificationAddressMap[ _onVerificationAddress ] ) { verificationAddressMap[ _onVerificationAddress ] = true; retrnVal = true; } else { retrnVal = false; } } // If this address doesn`t exist else { verificationAddressMap[ _onVerificationAddress ] = true; verificationAddressNumberMap[ _onVerificationAddress ] = verificationCountInt; verificationListMap[ verificationCountInt ] = _onVerificationAddress; verificationCountInt++; retrnVal = true; } } // Function of disactivation of verification address function verificationOff( address _offVerificationAddress ) external isOwner returns (bool retrnVal) { // If this verification address exists and disabled if ( verificationAddressNumberMap[ _offVerificationAddress ]>0 && verificationAddressMap[ _offVerificationAddress ] ) { verificationAddressMap[ _offVerificationAddress ] = false; retrnVal = true; } else { retrnVal = false; } } // Event "Description updated" event DescriptionPublished( string _description, address _initiator); // Description update function descriptionUpdate( string _newVal ) external isOwner { description = _newVal; DescriptionPublished( _newVal, msg.sender ); } } // Token contract FoodCoin Ecosystem contract FoodcoinEcosystem is SafeMath, Management { // Token total supply uint256 public totalSupply = 0; // Balance mapping ( address => uint256 ) balances; // Balances List Address mapping ( uint256 => address ) public balancesListAddressMap; // Balances List/Number Mapping mapping ( address => uint256 ) public balancesListNumberMap; // Balances Address Description mapping ( address => string ) public balancesAddressDescription; // Total amount of all balances uint256 balancesCountInt = 1; // Forwarding of address managing for definit amount of tokens mapping ( address => mapping ( address => uint256 ) ) allowed; // Standard ERC-20 events // Event - token transfer event Transfer( address indexed from, address indexed to, uint value ); // Event - Forwarding of address managing event Approval( address indexed owner, address indexed spender, uint value ); // Token transfer event FoodTransferEvent( address from, address to, uint256 value, address initiator, uint256 newBalanceFrom, uint256 newBalanceTo ); // Event - Emission event FoodTokenEmissionEvent( address initiator, address to, uint256 value, bool result, uint256 newBalanceTo ); // Event - Withdraw event FoodWithdrawEvent( address initiator, address to, bool withdrawOk, uint256 withdraw, uint256 withdrawReal, uint256 newBalancesValue ); // Balance View function balanceOf( address _owner ) external view returns ( uint256 ) { // If allows to display balance for all or definit holder if ( ( balanceOfOnForHolder[ _owner ]==0 && balanceOfOn ) || balanceOfOnForHolder[ _owner ]==2 ) { return balances[ _owner ]; } else { return 0; } } // Real Balance View function balanceOfReal( address _owner ) external view returns ( uint256 ) { return balances[ _owner ]; } // Check if a given user has been delegated rights to perform transfers on behalf of the account owner function allowance( address _owner, address _initiator ) external view returns ( uint256 remaining ) { return allowed[ _owner ][ _initiator ]; } // Total balances quantity function balancesQuantity() external view returns ( uint256 ) { return balancesCountInt - 1; } // Function of token transaction. For the first transaction will be created the detailed information function _addClientAddress( address _balancesAddress, uint256 _amount ) internal { // check if this address is not on the list yet if ( balancesListNumberMap[ _balancesAddress ] == 0 ) { // add it to the list balancesListAddressMap[ balancesCountInt ] = _balancesAddress; balancesListNumberMap[ _balancesAddress ] = balancesCountInt; // increment account counter balancesCountInt++; } // add tokens to the account balances[ _balancesAddress ] = safeAdd( balances[ _balancesAddress ], _amount ); } // Internal function that performs the actual transfer (cannot be called externally) function _transfer( address _from, address _to, uint256 _value ) internal isTransactionsOn( _from ) returns ( bool success ) { // If the amount to transfer is greater than 0, and sender has funds available if ( _value > 0 && balances[ _from ] >= _value ) { // Subtract from sender account balances[ _from ] -= _value; // Add to receiver's account _addClientAddress( _to, _value ); // Perform the transfer Transfer( _from, _to, _value ); FoodTransferEvent( _from, _to, _value, msg.sender, balances[ _from ], balances[ _to ] ); // Successfully completed transfer return true; } // Return false if there are problems else { return false; } } // Function token transfer function transfer(address _to, uint256 _value) external returns ( bool success ) { // If it is transfer to verification address if ( verificationAddressNumberMap[ _to ]>0 ) { _verification(msg.sender, _to, _value); } // Regular transfer else { // Call function transfer. return _transfer( msg.sender, _to, _value ); } } // Function of transferring tokens from a delegated account function transferFrom(address _from, address _to, uint256 _value) external isTransactionsOn( _from ) returns ( bool success ) { // Regular transfer. Not to verification address require( verificationAddressNumberMap[ _to ]==0 ); // Check if the transfer initiator has permissions to move funds from the sender's account if ( allowed[_from][msg.sender] >= _value ) { // If yes - perform transfer if ( _transfer( _from, _to, _value ) ) { // Decrease the total amount that initiator has permissions to access allowed[_from][msg.sender] = safeSubtract(allowed[_from][msg.sender], _value); return true; } else { return false; } } else { return false; } } // Function of delegating account management for a certain amount function approve( address _initiator, uint256 _value ) external isTransactionsOn( msg.sender ) returns ( bool success ) { // Grant the rights for a certain amount of tokens only allowed[ msg.sender ][ _initiator ] = _value; // Initiate the Approval event Approval( msg.sender, _initiator, _value ); return true; } // The emission function (the manager or contract owner creates tokens and sends them to a specific account) function _emission (address _reciever, uint256 _amount) internal isManagerOrOwner isEmissionOn returns ( bool returnVal ) { // if non-zero address if ( _reciever != address(0) ) { // Calculate number of tokens after generation uint256 checkedSupply = safeAdd( totalSupply, _amount ); // Emission amount uint256 amountTmp = _amount; // If emission cap settled additional emission is impossible if ( tokenCreationCap > 0 && tokenCreationCap < checkedSupply ) { amountTmp = 0; } // if try to add more than 0 tokens if ( amountTmp > 0 ) { // If no error, add generated tokens to a given address _addClientAddress( _reciever, amountTmp ); // increase total supply of tokens totalSupply = checkedSupply; // event "token transfer" Transfer( emissionAddress, _reciever, amountTmp ); // event "emission successfull" FoodTokenEmissionEvent( msg.sender, _reciever, _amount, true, balances[ _reciever ] ); } else { returnVal = false; // event "emission failed" FoodTokenEmissionEvent( msg.sender, _reciever, _amount, false, balances[ _reciever ] ); } } } // emission to definit 1 address function tokenEmission(address _reciever, uint256 _amount) external isManagerOrOwner isEmissionOn returns ( bool returnVal ) { // Check if it's a non-zero address require( _reciever != address(0) ); // emission in process returnVal = _emission( _reciever, _amount ); } // adding 5 addresses at once function tokenEmission5( address _reciever_0, uint256 _amount_0, address _reciever_1, uint256 _amount_1, address _reciever_2, uint256 _amount_2, address _reciever_3, uint256 _amount_3, address _reciever_4, uint256 _amount_4 ) external isManagerOrOwner isEmissionOn { _emission( _reciever_0, _amount_0 ); _emission( _reciever_1, _amount_1 ); _emission( _reciever_2, _amount_2 ); _emission( _reciever_3, _amount_3 ); _emission( _reciever_4, _amount_4 ); } // Function Tokens withdraw function withdraw( address _to, uint256 _amount ) external isSpecialManagerOrOwner returns ( bool returnVal, uint256 withdrawValue, uint256 newBalancesValue ) { // check if this is a valid account if ( balances[ _to ] > 0 ) { // Withdraw amount uint256 amountTmp = _amount; // It is impossible to withdraw more than available on balance if ( balances[ _to ] < _amount ) { amountTmp = balances[ _to ]; } // Withdraw in process balances[ _to ] = safeSubtract( balances[ _to ], amountTmp ); // Changing of current tokens amount totalSupply = safeSubtract( totalSupply, amountTmp ); // Return reply returnVal = true; withdrawValue = amountTmp; newBalancesValue = balances[ _to ]; FoodWithdrawEvent( msg.sender, _to, true, _amount, amountTmp, balances[ _to ] ); // Event "Token transfer" Transfer( _to, withdrawAddress, amountTmp ); } else { returnVal = false; withdrawValue = 0; newBalancesValue = 0; FoodWithdrawEvent( msg.sender, _to, false, _amount, 0, balances[ _to ] ); } } // Balance description update function balancesAddressDescriptionUpdate( string _newDescription ) external returns ( bool returnVal ) { // If this address or contrat`s owher exists if ( balancesListNumberMap[ msg.sender ] > 0 || ownerAddressMap[msg.sender]==true ) { balancesAddressDescription[ msg.sender ] = _newDescription; returnVal = true; } else { returnVal = false; } } // Recording of verification details function _verification( address _from, address _verificationAddress, uint256 _value) internal { // If verification address is active require( verificationAddressMap[ _verificationAddress ] ); // If it is updating of already verificated address if ( verificationHoldersVerifierAddressMap[ _from ] == _verificationAddress ) { // Verification Address Holders List Count uint256 tmpNumberVerification = verificationAddressHoldersListCountMap[ _verificationAddress ]; verificationAddressHoldersListCountMap[ _verificationAddress ]++; // Verification Address Holders List Number verificationAddressHoldersListNumberMap[ _verificationAddress ][ tmpNumberVerification ] = _from; } // Verification Holders Timestamp verificationHoldersTimestampMap[ _from ] = now; // Verification Value verificationHoldersValueMap[ _from ] = _value; // Verification Holders Verifier Address verificationHoldersVerifierAddressMap[ _from ] = _verificationAddress; } }
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":true,"inputs":[{"name":"addressFrom","type":"address"}],"name":"transactionsOnNowVal","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_initiator","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_onVerificationAddress","type":"address"}],"name":"verificationAddressOn","outputs":[{"name":"retrnVal","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"withdrawAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"verificationHoldersVerifierAddressMap","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":"_offManagerAddress","type":"address"}],"name":"managerOff","outputs":[{"name":"retrnVal","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOfReal","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"balancesQuantity","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_on","type":"bool"}],"name":"balanceOfOnUpdate","outputs":[],"payable":false,"stateMutability":"nonpayable","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":false,"inputs":[{"name":"_onSpecialManagerAddress","type":"address"}],"name":"specialManagerOn","outputs":[{"name":"retrnVal","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ownerCountInt","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"specialManagerAddressMap","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"transactionsOnForHolder","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"verificationAddressHoldersListCountMap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"verificationAddressHoldersListNumberMap","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newEmissionAddress","type":"address"}],"name":"emissionAddressUpdate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_onOwnerAddress","type":"address"}],"name":"ownerOn","outputs":[{"name":"retrnVal","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"transactionsOn","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"version","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"verificationCountInt","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"ownerAddressMap","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newDecimals","type":"uint256"},{"name":"updateConfirmation","type":"bool"}],"name":"contractDecimalsUpdate","outputs":[{"name":"retrnVal","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balanceOfOnForHolder","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"managerAddressMap","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newVal","type":"string"}],"name":"descriptionUpdate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_newValue","type":"uint256"}],"name":"balanceOfOnForHolderUpdate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_offSpecialManagerAddress","type":"address"}],"name":"specialManagerOff","outputs":[{"name":"retrnVal","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newName","type":"string"},{"name":"updateConfirmation","type":"bool"}],"name":"contractNameUpdate","outputs":[{"name":"retrnVal","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"verificationHoldersTimestampMap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenCreationCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"description","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"specialManagerAddressNumberMap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"emissionOn","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"specialManagerCountInt","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"managerListMap","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_offVerificationAddress","type":"address"}],"name":"verificationOff","outputs":[{"name":"retrnVal","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"verificationAddressMap","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":false,"inputs":[{"name":"_onManagerAddress","type":"address"}],"name":"managerOn","outputs":[{"name":"retrnVal","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_reciever","type":"address"},{"name":"_amount","type":"uint256"}],"name":"tokenEmission","outputs":[{"name":"returnVal","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"verificationAddressNumberMap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"verificationListMap","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_on","type":"bool"}],"name":"emissionStatusUpdate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balancesListNumberMap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newWithdrawAddress","type":"address"}],"name":"withdrawAddressUpdate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"emissionAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_on","type":"bool"}],"name":"transactionsStatusUpdate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"specialManagerListMap","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newDescription","type":"string"}],"name":"balancesAddressDescriptionUpdate","outputs":[{"name":"returnVal","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"ownerListMap","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_initiator","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"balanceOfOn","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"managerAddressNumberMap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balancesAddressDescription","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"verificationHoldersValueMap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"managerCountInt","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"balancesListAddressMap","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newVal","type":"uint256"}],"name":"tokenCreationCapUpdate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"ownerAddressNumberMap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"withdraw","outputs":[{"name":"returnVal","type":"bool"},{"name":"withdrawValue","type":"uint256"},{"name":"newBalancesValue","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_reciever_0","type":"address"},{"name":"_amount_0","type":"uint256"},{"name":"_reciever_1","type":"address"},{"name":"_amount_1","type":"uint256"},{"name":"_reciever_2","type":"address"},{"name":"_amount_2","type":"uint256"},{"name":"_reciever_3","type":"address"},{"name":"_amount_3","type":"uint256"},{"name":"_reciever_4","type":"address"},{"name":"_amount_4","type":"uint256"}],"name":"tokenEmission5","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_offOwnerAddress","type":"address"}],"name":"ownerOff","outputs":[{"name":"retrnVal","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_newValue","type":"uint256"}],"name":"transactionsOnForHolderUpdate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newSymbol","type":"string"},{"name":"updateConfirmation","type":"bool"}],"name":"contractSymbolUpdate","outputs":[{"name":"retrnVal","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"from","type":"address"},{"indexed":false,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"initiator","type":"address"},{"indexed":false,"name":"newBalanceFrom","type":"uint256"},{"indexed":false,"name":"newBalanceTo","type":"uint256"}],"name":"FoodTransferEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"initiator","type":"address"},{"indexed":false,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"result","type":"bool"},{"indexed":false,"name":"newBalanceTo","type":"uint256"}],"name":"FoodTokenEmissionEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"initiator","type":"address"},{"indexed":false,"name":"to","type":"address"},{"indexed":false,"name":"withdrawOk","type":"bool"},{"indexed":false,"name":"withdraw","type":"uint256"},{"indexed":false,"name":"withdrawReal","type":"uint256"},{"indexed":false,"name":"newBalancesValue","type":"uint256"}],"name":"FoodWithdrawEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_description","type":"string"},{"indexed":false,"name":"_initiator","type":"address"}],"name":"DescriptionPublished","type":"event"}]
Contract Creation Code
606060405260408051908101604052600881527f466f6f64436f696e000000000000000000000000000000000000000000000000602082015260009080516200004d9291602001906200023b565b5060408051908101604052600481527f464f4f440000000000000000000000000000000000000000000000000000000060208201526001908051620000979291602001906200023b565b50600860025560408051908101604052600281527f763100000000000000000000000000000000000000000000000000000000000060208201526003908051620000e69291602001906200023b565b5060048054600160a060020a031990811690915560058054909116905560006009819055600d8190556011556020604051908101604052600081526012908051620001369291602001906200023b565b506013805460ff1990811690915560158054821660019081179091556017805483168217905560006018819055601c82905560228190556027829055600160a060020a033316808252600660209081526040808420805487168617905560098054600784528286208190558552600883528185208054600160a060020a0319908116861790915581548701909155838552600a83528185208054881687179055600d8054600b85528387208190558652600c84528286208054831686179055805487019055838552600e83528185208054909716861790965560118054600f8452828620819055855260109092529092208054909416179092558154019055620002e0565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200027e57805160ff1916838001178555620002ae565b82800160010185558215620002ae579182015b82811115620002ae57825182559160200191906001019062000291565b50620002bc929150620002c0565b5090565b620002dd91905b80821115620002bc5760008155600101620002c7565b90565b61278c80620002f06000396000f3006060604052600436106103375763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461033c57806307b86b41146103c6578063095ea7b3146103f957806310d48cd31461041b5780631581b6001461043a57806316210e251461046957806318160ddd146104885780631855e405146104ad5780631c96b242146104cc5780632322f484146104eb5780632354ecf7146104fe57806323b872dd146105185780632980a7b614610540578063313ce5671461055f578063332fa5bb1461057257806337c345cd146105855780634067ffda146105a4578063418ae602146105c35780634381e1c5146105e25780634a3e8078146106045780634e232730146106235780635120bb201461064257806354fd4d50146106555780635634653d146106685780635788a0811461067b5780635a89b3761461069a578063612ab238146106b557806361314ee3146106d457806366357f57146106f357806369bef517146107115780636a87f66d146107335780636be67db3146107525780636edbeb1c146107765780636f7920fd1461079557806370a08231146107a85780637284e416146107c7578063832b2c60146107da57806384e1bf74146107f9578063855c145b1461080c57806387113b881461081f578063902753f414610835578063953bad321461085457806395d89b411461087357806396f2710d146108865780639739951c146108a557806398a42ec4146108c7578063994fe290146108e65780639f3edbe1146108fc578063a6ffefae14610914578063a9059cbb14610933578063b986b61114610955578063bcb3282814610974578063c047c1d814610987578063c0d3f3781461099f578063c96304e8146109b5578063c96c8a1d146109d3578063dd62ed3e146109e9578063deb93b5b14610a0e578063e7a3540514610a21578063e7d137ec14610a40578063e8c09c0d14610a5f578063ed861e1314610a7e578063ef2a914714610a91578063f234bac514610aa7578063f317b85b14610abd578063f3fef3a314610adc578063f8c9516014610b24578063f9b4d63a14610b70578063fe16e86214610b8f578063ffe0a9f214610bb1575b600080fd5b341561034757600080fd5b61034f610bd5565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561038b578082015183820152602001610373565b50505050905090810190601f1680156103b85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103d157600080fd5b6103e5600160a060020a0360043516610c73565b604051901515815260200160405180910390f35b341561040457600080fd5b6103e5600160a060020a0360043516602435610cc6565b341561042657600080fd5b6103e5600160a060020a0360043516610d47565b341561044557600080fd5b61044d610e58565b604051600160a060020a03909116815260200160405180910390f35b341561047457600080fd5b61044d600160a060020a0360043516610e67565b341561049357600080fd5b61049b610e82565b60405190815260200160405180910390f35b34156104b857600080fd5b6103e5600160a060020a0360043516610e88565b34156104d757600080fd5b61049b600160a060020a0360043516610f25565b34156104f657600080fd5b61049b610f40565b341561050957600080fd5b6105166004351515610f4b565b005b341561052357600080fd5b6103e5600160a060020a0360043581169060243516604435610f88565b341561054b57600080fd5b6103e5600160a060020a036004351661106e565b341561056a57600080fd5b61049b611176565b341561057d57600080fd5b61049b61117c565b341561059057600080fd5b6103e5600160a060020a0360043516611182565b34156105af57600080fd5b61049b600160a060020a0360043516611197565b34156105ce57600080fd5b61049b600160a060020a03600435166111a9565b34156105ed57600080fd5b61044d600160a060020a03600435166024356111ba565b341561060f57600080fd5b610516600160a060020a03600435166111e0565b341561062e57600080fd5b6103e5600160a060020a036004351661122c565b341561064d57600080fd5b6103e5611334565b341561066057600080fd5b61034f61133d565b341561067357600080fd5b61049b6113a8565b341561068657600080fd5b6103e5600160a060020a03600435166113ae565b34156106a557600080fd5b6103e560043560243515156113c3565b34156106c057600080fd5b61049b600160a060020a0360043516611418565b34156106df57600080fd5b6103e5600160a060020a036004351661142a565b34156106fe57600080fd5b610516600480356024810191013561143f565b341561071c57600080fd5b610516600160a060020a03600435166024356114d8565b341561073e57600080fd5b6103e5600160a060020a0360043516611541565b341561075d57600080fd5b6103e560246004803582810192910135903515156115d6565b341561078157600080fd5b61049b600160a060020a0360043516611627565b34156107a057600080fd5b61049b611639565b34156107b357600080fd5b61049b600160a060020a036004351661163f565b34156107d257600080fd5b61034f6116ae565b34156107e557600080fd5b61049b600160a060020a0360043516611719565b341561080457600080fd5b6103e561172b565b341561081757600080fd5b61049b611734565b341561082a57600080fd5b61044d60043561173a565b341561084057600080fd5b6103e5600160a060020a0360043516611755565b341561085f57600080fd5b6103e5600160a060020a03600435166117ea565b341561087e57600080fd5b61034f6117ff565b341561089157600080fd5b6103e5600160a060020a036004351661186a565b34156108b057600080fd5b6103e5600160a060020a0360043516602435611972565b34156108d257600080fd5b61049b600160a060020a03600435166119f6565b34156108f157600080fd5b61044d600435611a08565b341561090757600080fd5b6105166004351515611a23565b341561091f57600080fd5b61049b600160a060020a0360043516611a60565b341561093e57600080fd5b6103e5600160a060020a0360043516602435611a72565b341561096057600080fd5b610516600160a060020a0360043516611ab5565b341561097f57600080fd5b61044d611b01565b341561099257600080fd5b6105166004351515611b10565b34156109aa57600080fd5b61044d600435611b4d565b34156109c057600080fd5b6103e56004803560248101910135611b68565b34156109de57600080fd5b61044d600435611bde565b34156109f457600080fd5b61049b600160a060020a0360043581169060243516611bf9565b3415610a1957600080fd5b6103e5611c24565b3415610a2c57600080fd5b61049b600160a060020a0360043516611c2d565b3415610a4b57600080fd5b61034f600160a060020a0360043516611c3f565b3415610a6a57600080fd5b61049b600160a060020a0360043516611cbc565b3415610a8957600080fd5b61049b611cce565b3415610a9c57600080fd5b61044d600435611cd4565b3415610ab257600080fd5b610516600435611cef565b3415610ac857600080fd5b61049b600160a060020a0360043516611d1e565b3415610ae757600080fd5b610afe600160a060020a0360043516602435611d30565b604051921515835260208301919091526040808301919091526060909101905180910390f35b3415610b2f57600080fd5b610516600160a060020a03600435811690602435906044358116906064359060843581169060a4359060c43581169060e43590610104351661012435611fc1565b3415610b7b57600080fd5b6103e5600160a060020a0360043516612069565b3415610b9a57600080fd5b610516600160a060020a03600435166024356120fe565b3415610bbc57600080fd5b6103e56024600480358281019291013590351515612164565b60008054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c6b5780601f10610c4057610100808354040283529160200191610c6b565b820191906000526020600020905b815481529060010190602001808311610c4e57829003601f168201915b505050505081565b600160a060020a038116600090815260146020526040812054158015610c9b575060135460ff165b80610cbe5750600160a060020a0382166000908152601460205260409020546002145b90505b919050565b600033610cd281610c73565b1515610cdd57600080fd5b600160a060020a03338116600081815260286020908152604080832094891680845294909152908190208690557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259086905190815260200160405180910390a35060019392505050565b600160a060020a03331660009081526006602052604081205460ff161515600114610d7157600080fd5b600160a060020a0382161515610d8657600080fd5b600160a060020a0382166000908152601a60205260408120541115610dfc57600160a060020a03821660009081526019602052604090205460ff161515610df35750600160a060020a0381166000908152601960205260409020805460ff19166001908117909155610df7565b5060005b610cc1565b50600160a060020a03166000818152601960209081526040808320805460ff19166001908117909155601c8054601a85528386208190558552601b90935292208054600160a060020a0319169093179092558154810190915590565b600554600160a060020a031681565b601f60205260009081526040902054600160a060020a031681565b60225481565b600160a060020a03331660009081526006602052604081205460ff161515600114610eb257600080fd5b600160a060020a0382166000908152600f6020526040812054118015610ef05750600160a060020a0382166000908152600e602052604090205460ff165b15610f1d5750600160a060020a0381166000908152600e60205260409020805460ff191690556001610cc1565b506000919050565b600160a060020a031660009081526023602052604090205490565b602754600019015b90565b600160a060020a03331660009081526006602052604090205460ff161515600114610f7557600080fd5b6015805460ff1916911515919091179055565b600083610f9481610c73565b1515610f9f57600080fd5b600160a060020a0384166000908152601a602052604090205415610fc257600080fd5b600160a060020a038086166000908152602860209081526040808320339094168352929052205483901061106157610ffb8585856121a0565b1561106157600160a060020a038086166000908152602860209081526040808320339094168352929052205461103190846122f2565b600160a060020a038087166000908152602860209081526040808320339094168352929052205560019150611066565b600091505b509392505050565b600160a060020a03331660009081526006602052604081205460ff16151560011461109857600080fd5b600160a060020a03821615156110ad57600080fd5b600160a060020a0382166000908152600b6020526040812054111561111a57600160a060020a0382166000908152600a602052604090205460ff161515610df35750600160a060020a0381166000908152600a60205260409020805460ff19166001908117909155610df7565b50600160a060020a03166000818152600a60209081526040808320805460ff19166001908117909155600d8054600b85528386208190558552600c90935292208054600160a060020a0319169093179092558154810190915590565b60025481565b60095481565b600a6020526000908152604090205460ff1681565b60146020526000908152604090205481565b602080526000908152604090205481565b6021602090815260009283526040808420909152908252902054600160a060020a031681565b600160a060020a03331660009081526006602052604090205460ff16151560011461120a57600080fd5b60048054600160a060020a031916600160a060020a0392909216919091179055565b600160a060020a03331660009081526006602052604081205460ff16151560011461125657600080fd5b600160a060020a038216151561126b57600080fd5b600160a060020a03821660009081526007602052604081205411156112d857600160a060020a03821660009081526006602052604090205460ff161515610df35750600160a060020a0381166000908152600660205260409020805460ff19166001908117909155610df7565b50600160a060020a03166000818152600660209081526040808320805460ff1916600190811790915560098054600785528386208190558552600890935292208054600160a060020a0319169093179092558154810190915590565b60135460ff1681565b60038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c6b5780601f10610c4057610100808354040283529160200191610c6b565b601c5481565b60066020526000908152604090205460ff1681565b600160a060020a03331660009081526006602052604081205460ff1615156001146113ed57600080fd5b8180156113fc57506002548314155b1561140e575060028290556001611412565b5060005b92915050565b60166020526000908152604090205481565b600e6020526000908152604090205460ff1681565b600160a060020a03331660009081526006602052604090205460ff16151560011461146957600080fd5b611475601283836126c8565b507f39b61914f7b671bd1243b7fdcab04d9db0afc45761a099512be0488f49a4ee28828233604051600160a060020a0382166020820152604080825281018390528060608101858580828437820191505094505050505060405180910390a15050565b600160a060020a03331660009081526006602052604090205460ff16151560011461150257600080fd5b600160a060020a038216600090815260166020526040902054811461153d57600160a060020a03821660009081526016602052604090208190555b5050565b600160a060020a03331660009081526006602052604081205460ff16151560011461156b57600080fd5b600160a060020a0382166000908152600b60205260408120541180156115a95750600160a060020a0382166000908152600a602052604090205460ff165b15610f1d5750600160a060020a0381166000908152600a60205260409020805460ff191690556001610cc1565b600160a060020a03331660009081526006602052604081205460ff16151560011461160057600080fd5b811561161c57611612600085856126c8565b5060019050611620565b5060005b9392505050565b601d6020526000908152604090205481565b60185481565b600160a060020a038116600090815260166020526040812054158015611667575060155460ff165b8061168a5750600160a060020a0382166000908152601660205260409020546002145b15610df35750600160a060020a038116600090815260236020526040902054610cc1565b60128054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c6b5780601f10610c4057610100808354040283529160200191610c6b565b600b6020526000908152604090205481565b60175460ff1681565b600d5481565b601060205260009081526040902054600160a060020a031681565b600160a060020a03331660009081526006602052604081205460ff16151560011461177f57600080fd5b600160a060020a0382166000908152601a60205260408120541180156117bd5750600160a060020a03821660009081526019602052604090205460ff165b15610f1d5750600160a060020a0381166000908152601960205260409020805460ff191690556001610cc1565b60196020526000908152604090205460ff1681565b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c6b5780601f10610c4057610100808354040283529160200191610c6b565b600160a060020a03331660009081526006602052604081205460ff16151560011461189457600080fd5b600160a060020a03821615156118a957600080fd5b600160a060020a0382166000908152600f6020526040812054111561191657600160a060020a0382166000908152600e602052604090205460ff161515610df35750600160a060020a0381166000908152600e60205260409020805460ff19166001908117909155610df7565b50600160a060020a03166000818152600e60209081526040808320805460ff1916600190811790915560118054600f85528386208190558552601090935292208054600160a060020a0319169093179092558154810190915590565b600160a060020a0333166000908152600e602052604081205460ff161515600114806119bb5750600160a060020a03331660009081526006602052604090205460ff1615156001145b15156119c657600080fd5b60175460ff1615156119d757600080fd5b600160a060020a03831615156119ec57600080fd5b6116208383612306565b601a6020526000908152604090205481565b601b60205260009081526040902054600160a060020a031681565b600160a060020a03331660009081526006602052604090205460ff161515600114611a4d57600080fd5b6017805460ff1916911515919091179055565b60256020526000908152604090205481565b600160a060020a0382166000908152601a602052604081205481901115611aa357611a9e338484612526565b611412565b611aae3384846121a0565b9050611412565b600160a060020a03331660009081526006602052604090205460ff161515600114611adf57600080fd5b60058054600160a060020a031916600160a060020a0392909216919091179055565b600454600160a060020a031681565b600160a060020a03331660009081526006602052604090205460ff161515600114611b3a57600080fd5b6013805460ff1916911515919091179055565b600c60205260009081526040902054600160a060020a031681565b600160a060020a03331660009081526025602052604081205481901180611bac5750600160a060020a03331660009081526006602052604090205460ff1615156001145b1561140e57600160a060020a0333166000908152602660205260409020611bd49084846126c8565b5060019050611412565b600860205260009081526040902054600160a060020a031681565b600160a060020a03918216600090815260286020908152604080832093909416825291909152205490565b60155460ff1681565b600f6020526000908152604090205481565b60266020528060005260406000206000915090508054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c6b5780601f10610c4057610100808354040283529160200191610c6b565b601e6020526000908152604090205481565b60115481565b602460205260009081526040902054600160a060020a031681565b600160a060020a03331660009081526006602052604090205460ff161515600114611d1957600080fd5b601855565b60076020526000908152604090205481565b600160a060020a0333166000908152600a602052604081205481908190819060ff16151560011480611d7f5750600160a060020a03331660009081526006602052604090205460ff1615156001145b1515611d8a57600080fd5b600160a060020a0386166000908152602360205260408120541115611f175750600160a060020a038516600090815260236020526040902054849081901015611de85750600160a060020a0385166000908152602360205260409020545b600160a060020a038616600090815260236020526040902054611e0b90826122f2565b600160a060020a038716600090815260236020526040902055602254611e3190826122f2565b602255600160a060020a03861660009081526023602052604090819020546001955091935090915082907f1ccb26010072057d8d351a711ebccbfc970c5af67c7c0724a4f91d01743334249033908890879089908690889051600160a060020a0396871681529490951660208501529115156040808501919091526060840191909152608083019190915260a082019290925260c001905180910390a1600554600160a060020a039081169087167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405190815260200160405180910390a3611fb9565b6000935060009250600091507f1ccb26010072057d8d351a711ebccbfc970c5af67c7c0724a4f91d017433342433876000886000602360008d600160a060020a0316600160a060020a0316815260200190815260200160002054604051600160a060020a0396871681529490951660208501529115156040808501919091526060840191909152608083019190915260a082019290925260c001905180910390a15b509250925092565b600160a060020a0333166000908152600e602052604090205460ff1615156001148061200a5750600160a060020a03331660009081526006602052604090205460ff1615156001145b151561201557600080fd5b60175460ff16151561202657600080fd5b6120308a8a612306565b5061203b8888612306565b506120468686612306565b506120518484612306565b5061205c8282612306565b5050505050505050505050565b600160a060020a03331660009081526006602052604081205460ff16151560011461209357600080fd5b600160a060020a0382166000908152600760205260408120541180156120d15750600160a060020a03821660009081526006602052604090205460ff165b15610f1d5750600160a060020a0381166000908152600660205260409020805460ff191690556001610cc1565b600160a060020a03331660009081526006602052604090205460ff16151560011461212857600080fd5b600160a060020a038216600090815260146020526040902054811461153d57600160a060020a0391909116600090815260146020526040902055565b600160a060020a03331660009081526006602052604081205460ff16151560011461218e57600080fd5b811561161c57611612600185856126c8565b6000836121ac81610c73565b15156121b757600080fd5b6000831180156121e05750600160a060020a038516600090815260236020526040902054839010155b1561106157600160a060020a03851660009081526023602052604090208054849003905561220e8484612602565b83600160a060020a031685600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405190815260200160405180910390a3600160a060020a0380861660009081526023602052604080822054928716825290819020547f940d553fc39608a76b364511cc751d4351ba3e109ad9c7d08c30913f3838e94192889288928892339290919051600160a060020a0396871681529486166020860152604080860194909452919094166060840152608083019390935260a082019290925260c001905180910390a160019150611066565b600080828410156122ff57fe5b5050900390565b600160a060020a0333166000908152600e60205260408120548190819060ff161515600114806123535750600160a060020a03331660009081526006602052604090205460ff1615156001145b151561235e57600080fd5b60175460ff16151561236f57600080fd5b600160a060020a0385161561251e5761238a602254856126ab565b915083905060006018541180156123a2575081601854105b156123ab575060005b6000811115612492576123be8582612602565b6022829055600454600160a060020a0380871691167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405190815260200160405180910390a37faf9dfd1a8f0964b1fe9c3c3df1a91c9ec2a3d55abbc04e8effc598559680bb5f3386866001602360008b600160a060020a0316600160a060020a0316815260200190815260200160002054604051600160a060020a03958616815293909416602084015260408084019290925215156060830152608082019290925260a001905180910390a161251e565b600092507faf9dfd1a8f0964b1fe9c3c3df1a91c9ec2a3d55abbc04e8effc598559680bb5f3386866000602360008b600160a060020a0316600160a060020a0316815260200190815260200160002054604051600160a060020a03958616815293909416602084015260408084019290925215156060830152608082019290925260a001905180910390a15b505092915050565b600160a060020a03821660009081526019602052604081205460ff16151561254d57600080fd5b600160a060020a038481166000908152601f6020526040902054811690841614156125bd5750600160a060020a03828116600090815260208080526040808320805460018101909155602183528184208185529092529091208054600160a060020a031916928616929092179091555b50600160a060020a039283166000908152601d60209081526040808320429055601e825280832093909355601f9052208054600160a060020a03191691909216179055565b600160a060020a0382166000908152602560205260409020541515612668576027805460009081526024602090815260408083208054600160a060020a031916600160a060020a0388169081179091558454908452602590925290912081905560010190555b600160a060020a03821660009081526023602052604090205461268b90826126ab565b600160a060020a0390921660009081526023602052604090209190915550565b60008282018381108015906126c05750828110155b151561162057fe5b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106127095782800160ff19823516178555612736565b82800160010185558215612736579182015b8281111561273657823582559160200191906001019061271b565b50612742929150612746565b5090565b610f4891905b80821115612742576000815560010161274c5600a165627a7a72305820ec5ef764de740cd16f3547a587dab79b003e2b7f1aba579221026ea69d5e85500029
Deployed Bytecode
0x6060604052600436106103375763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461033c57806307b86b41146103c6578063095ea7b3146103f957806310d48cd31461041b5780631581b6001461043a57806316210e251461046957806318160ddd146104885780631855e405146104ad5780631c96b242146104cc5780632322f484146104eb5780632354ecf7146104fe57806323b872dd146105185780632980a7b614610540578063313ce5671461055f578063332fa5bb1461057257806337c345cd146105855780634067ffda146105a4578063418ae602146105c35780634381e1c5146105e25780634a3e8078146106045780634e232730146106235780635120bb201461064257806354fd4d50146106555780635634653d146106685780635788a0811461067b5780635a89b3761461069a578063612ab238146106b557806361314ee3146106d457806366357f57146106f357806369bef517146107115780636a87f66d146107335780636be67db3146107525780636edbeb1c146107765780636f7920fd1461079557806370a08231146107a85780637284e416146107c7578063832b2c60146107da57806384e1bf74146107f9578063855c145b1461080c57806387113b881461081f578063902753f414610835578063953bad321461085457806395d89b411461087357806396f2710d146108865780639739951c146108a557806398a42ec4146108c7578063994fe290146108e65780639f3edbe1146108fc578063a6ffefae14610914578063a9059cbb14610933578063b986b61114610955578063bcb3282814610974578063c047c1d814610987578063c0d3f3781461099f578063c96304e8146109b5578063c96c8a1d146109d3578063dd62ed3e146109e9578063deb93b5b14610a0e578063e7a3540514610a21578063e7d137ec14610a40578063e8c09c0d14610a5f578063ed861e1314610a7e578063ef2a914714610a91578063f234bac514610aa7578063f317b85b14610abd578063f3fef3a314610adc578063f8c9516014610b24578063f9b4d63a14610b70578063fe16e86214610b8f578063ffe0a9f214610bb1575b600080fd5b341561034757600080fd5b61034f610bd5565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561038b578082015183820152602001610373565b50505050905090810190601f1680156103b85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103d157600080fd5b6103e5600160a060020a0360043516610c73565b604051901515815260200160405180910390f35b341561040457600080fd5b6103e5600160a060020a0360043516602435610cc6565b341561042657600080fd5b6103e5600160a060020a0360043516610d47565b341561044557600080fd5b61044d610e58565b604051600160a060020a03909116815260200160405180910390f35b341561047457600080fd5b61044d600160a060020a0360043516610e67565b341561049357600080fd5b61049b610e82565b60405190815260200160405180910390f35b34156104b857600080fd5b6103e5600160a060020a0360043516610e88565b34156104d757600080fd5b61049b600160a060020a0360043516610f25565b34156104f657600080fd5b61049b610f40565b341561050957600080fd5b6105166004351515610f4b565b005b341561052357600080fd5b6103e5600160a060020a0360043581169060243516604435610f88565b341561054b57600080fd5b6103e5600160a060020a036004351661106e565b341561056a57600080fd5b61049b611176565b341561057d57600080fd5b61049b61117c565b341561059057600080fd5b6103e5600160a060020a0360043516611182565b34156105af57600080fd5b61049b600160a060020a0360043516611197565b34156105ce57600080fd5b61049b600160a060020a03600435166111a9565b34156105ed57600080fd5b61044d600160a060020a03600435166024356111ba565b341561060f57600080fd5b610516600160a060020a03600435166111e0565b341561062e57600080fd5b6103e5600160a060020a036004351661122c565b341561064d57600080fd5b6103e5611334565b341561066057600080fd5b61034f61133d565b341561067357600080fd5b61049b6113a8565b341561068657600080fd5b6103e5600160a060020a03600435166113ae565b34156106a557600080fd5b6103e560043560243515156113c3565b34156106c057600080fd5b61049b600160a060020a0360043516611418565b34156106df57600080fd5b6103e5600160a060020a036004351661142a565b34156106fe57600080fd5b610516600480356024810191013561143f565b341561071c57600080fd5b610516600160a060020a03600435166024356114d8565b341561073e57600080fd5b6103e5600160a060020a0360043516611541565b341561075d57600080fd5b6103e560246004803582810192910135903515156115d6565b341561078157600080fd5b61049b600160a060020a0360043516611627565b34156107a057600080fd5b61049b611639565b34156107b357600080fd5b61049b600160a060020a036004351661163f565b34156107d257600080fd5b61034f6116ae565b34156107e557600080fd5b61049b600160a060020a0360043516611719565b341561080457600080fd5b6103e561172b565b341561081757600080fd5b61049b611734565b341561082a57600080fd5b61044d60043561173a565b341561084057600080fd5b6103e5600160a060020a0360043516611755565b341561085f57600080fd5b6103e5600160a060020a03600435166117ea565b341561087e57600080fd5b61034f6117ff565b341561089157600080fd5b6103e5600160a060020a036004351661186a565b34156108b057600080fd5b6103e5600160a060020a0360043516602435611972565b34156108d257600080fd5b61049b600160a060020a03600435166119f6565b34156108f157600080fd5b61044d600435611a08565b341561090757600080fd5b6105166004351515611a23565b341561091f57600080fd5b61049b600160a060020a0360043516611a60565b341561093e57600080fd5b6103e5600160a060020a0360043516602435611a72565b341561096057600080fd5b610516600160a060020a0360043516611ab5565b341561097f57600080fd5b61044d611b01565b341561099257600080fd5b6105166004351515611b10565b34156109aa57600080fd5b61044d600435611b4d565b34156109c057600080fd5b6103e56004803560248101910135611b68565b34156109de57600080fd5b61044d600435611bde565b34156109f457600080fd5b61049b600160a060020a0360043581169060243516611bf9565b3415610a1957600080fd5b6103e5611c24565b3415610a2c57600080fd5b61049b600160a060020a0360043516611c2d565b3415610a4b57600080fd5b61034f600160a060020a0360043516611c3f565b3415610a6a57600080fd5b61049b600160a060020a0360043516611cbc565b3415610a8957600080fd5b61049b611cce565b3415610a9c57600080fd5b61044d600435611cd4565b3415610ab257600080fd5b610516600435611cef565b3415610ac857600080fd5b61049b600160a060020a0360043516611d1e565b3415610ae757600080fd5b610afe600160a060020a0360043516602435611d30565b604051921515835260208301919091526040808301919091526060909101905180910390f35b3415610b2f57600080fd5b610516600160a060020a03600435811690602435906044358116906064359060843581169060a4359060c43581169060e43590610104351661012435611fc1565b3415610b7b57600080fd5b6103e5600160a060020a0360043516612069565b3415610b9a57600080fd5b610516600160a060020a03600435166024356120fe565b3415610bbc57600080fd5b6103e56024600480358281019291013590351515612164565b60008054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c6b5780601f10610c4057610100808354040283529160200191610c6b565b820191906000526020600020905b815481529060010190602001808311610c4e57829003601f168201915b505050505081565b600160a060020a038116600090815260146020526040812054158015610c9b575060135460ff165b80610cbe5750600160a060020a0382166000908152601460205260409020546002145b90505b919050565b600033610cd281610c73565b1515610cdd57600080fd5b600160a060020a03338116600081815260286020908152604080832094891680845294909152908190208690557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259086905190815260200160405180910390a35060019392505050565b600160a060020a03331660009081526006602052604081205460ff161515600114610d7157600080fd5b600160a060020a0382161515610d8657600080fd5b600160a060020a0382166000908152601a60205260408120541115610dfc57600160a060020a03821660009081526019602052604090205460ff161515610df35750600160a060020a0381166000908152601960205260409020805460ff19166001908117909155610df7565b5060005b610cc1565b50600160a060020a03166000818152601960209081526040808320805460ff19166001908117909155601c8054601a85528386208190558552601b90935292208054600160a060020a0319169093179092558154810190915590565b600554600160a060020a031681565b601f60205260009081526040902054600160a060020a031681565b60225481565b600160a060020a03331660009081526006602052604081205460ff161515600114610eb257600080fd5b600160a060020a0382166000908152600f6020526040812054118015610ef05750600160a060020a0382166000908152600e602052604090205460ff165b15610f1d5750600160a060020a0381166000908152600e60205260409020805460ff191690556001610cc1565b506000919050565b600160a060020a031660009081526023602052604090205490565b602754600019015b90565b600160a060020a03331660009081526006602052604090205460ff161515600114610f7557600080fd5b6015805460ff1916911515919091179055565b600083610f9481610c73565b1515610f9f57600080fd5b600160a060020a0384166000908152601a602052604090205415610fc257600080fd5b600160a060020a038086166000908152602860209081526040808320339094168352929052205483901061106157610ffb8585856121a0565b1561106157600160a060020a038086166000908152602860209081526040808320339094168352929052205461103190846122f2565b600160a060020a038087166000908152602860209081526040808320339094168352929052205560019150611066565b600091505b509392505050565b600160a060020a03331660009081526006602052604081205460ff16151560011461109857600080fd5b600160a060020a03821615156110ad57600080fd5b600160a060020a0382166000908152600b6020526040812054111561111a57600160a060020a0382166000908152600a602052604090205460ff161515610df35750600160a060020a0381166000908152600a60205260409020805460ff19166001908117909155610df7565b50600160a060020a03166000818152600a60209081526040808320805460ff19166001908117909155600d8054600b85528386208190558552600c90935292208054600160a060020a0319169093179092558154810190915590565b60025481565b60095481565b600a6020526000908152604090205460ff1681565b60146020526000908152604090205481565b602080526000908152604090205481565b6021602090815260009283526040808420909152908252902054600160a060020a031681565b600160a060020a03331660009081526006602052604090205460ff16151560011461120a57600080fd5b60048054600160a060020a031916600160a060020a0392909216919091179055565b600160a060020a03331660009081526006602052604081205460ff16151560011461125657600080fd5b600160a060020a038216151561126b57600080fd5b600160a060020a03821660009081526007602052604081205411156112d857600160a060020a03821660009081526006602052604090205460ff161515610df35750600160a060020a0381166000908152600660205260409020805460ff19166001908117909155610df7565b50600160a060020a03166000818152600660209081526040808320805460ff1916600190811790915560098054600785528386208190558552600890935292208054600160a060020a0319169093179092558154810190915590565b60135460ff1681565b60038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c6b5780601f10610c4057610100808354040283529160200191610c6b565b601c5481565b60066020526000908152604090205460ff1681565b600160a060020a03331660009081526006602052604081205460ff1615156001146113ed57600080fd5b8180156113fc57506002548314155b1561140e575060028290556001611412565b5060005b92915050565b60166020526000908152604090205481565b600e6020526000908152604090205460ff1681565b600160a060020a03331660009081526006602052604090205460ff16151560011461146957600080fd5b611475601283836126c8565b507f39b61914f7b671bd1243b7fdcab04d9db0afc45761a099512be0488f49a4ee28828233604051600160a060020a0382166020820152604080825281018390528060608101858580828437820191505094505050505060405180910390a15050565b600160a060020a03331660009081526006602052604090205460ff16151560011461150257600080fd5b600160a060020a038216600090815260166020526040902054811461153d57600160a060020a03821660009081526016602052604090208190555b5050565b600160a060020a03331660009081526006602052604081205460ff16151560011461156b57600080fd5b600160a060020a0382166000908152600b60205260408120541180156115a95750600160a060020a0382166000908152600a602052604090205460ff165b15610f1d5750600160a060020a0381166000908152600a60205260409020805460ff191690556001610cc1565b600160a060020a03331660009081526006602052604081205460ff16151560011461160057600080fd5b811561161c57611612600085856126c8565b5060019050611620565b5060005b9392505050565b601d6020526000908152604090205481565b60185481565b600160a060020a038116600090815260166020526040812054158015611667575060155460ff165b8061168a5750600160a060020a0382166000908152601660205260409020546002145b15610df35750600160a060020a038116600090815260236020526040902054610cc1565b60128054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c6b5780601f10610c4057610100808354040283529160200191610c6b565b600b6020526000908152604090205481565b60175460ff1681565b600d5481565b601060205260009081526040902054600160a060020a031681565b600160a060020a03331660009081526006602052604081205460ff16151560011461177f57600080fd5b600160a060020a0382166000908152601a60205260408120541180156117bd5750600160a060020a03821660009081526019602052604090205460ff165b15610f1d5750600160a060020a0381166000908152601960205260409020805460ff191690556001610cc1565b60196020526000908152604090205460ff1681565b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c6b5780601f10610c4057610100808354040283529160200191610c6b565b600160a060020a03331660009081526006602052604081205460ff16151560011461189457600080fd5b600160a060020a03821615156118a957600080fd5b600160a060020a0382166000908152600f6020526040812054111561191657600160a060020a0382166000908152600e602052604090205460ff161515610df35750600160a060020a0381166000908152600e60205260409020805460ff19166001908117909155610df7565b50600160a060020a03166000818152600e60209081526040808320805460ff1916600190811790915560118054600f85528386208190558552601090935292208054600160a060020a0319169093179092558154810190915590565b600160a060020a0333166000908152600e602052604081205460ff161515600114806119bb5750600160a060020a03331660009081526006602052604090205460ff1615156001145b15156119c657600080fd5b60175460ff1615156119d757600080fd5b600160a060020a03831615156119ec57600080fd5b6116208383612306565b601a6020526000908152604090205481565b601b60205260009081526040902054600160a060020a031681565b600160a060020a03331660009081526006602052604090205460ff161515600114611a4d57600080fd5b6017805460ff1916911515919091179055565b60256020526000908152604090205481565b600160a060020a0382166000908152601a602052604081205481901115611aa357611a9e338484612526565b611412565b611aae3384846121a0565b9050611412565b600160a060020a03331660009081526006602052604090205460ff161515600114611adf57600080fd5b60058054600160a060020a031916600160a060020a0392909216919091179055565b600454600160a060020a031681565b600160a060020a03331660009081526006602052604090205460ff161515600114611b3a57600080fd5b6013805460ff1916911515919091179055565b600c60205260009081526040902054600160a060020a031681565b600160a060020a03331660009081526025602052604081205481901180611bac5750600160a060020a03331660009081526006602052604090205460ff1615156001145b1561140e57600160a060020a0333166000908152602660205260409020611bd49084846126c8565b5060019050611412565b600860205260009081526040902054600160a060020a031681565b600160a060020a03918216600090815260286020908152604080832093909416825291909152205490565b60155460ff1681565b600f6020526000908152604090205481565b60266020528060005260406000206000915090508054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c6b5780601f10610c4057610100808354040283529160200191610c6b565b601e6020526000908152604090205481565b60115481565b602460205260009081526040902054600160a060020a031681565b600160a060020a03331660009081526006602052604090205460ff161515600114611d1957600080fd5b601855565b60076020526000908152604090205481565b600160a060020a0333166000908152600a602052604081205481908190819060ff16151560011480611d7f5750600160a060020a03331660009081526006602052604090205460ff1615156001145b1515611d8a57600080fd5b600160a060020a0386166000908152602360205260408120541115611f175750600160a060020a038516600090815260236020526040902054849081901015611de85750600160a060020a0385166000908152602360205260409020545b600160a060020a038616600090815260236020526040902054611e0b90826122f2565b600160a060020a038716600090815260236020526040902055602254611e3190826122f2565b602255600160a060020a03861660009081526023602052604090819020546001955091935090915082907f1ccb26010072057d8d351a711ebccbfc970c5af67c7c0724a4f91d01743334249033908890879089908690889051600160a060020a0396871681529490951660208501529115156040808501919091526060840191909152608083019190915260a082019290925260c001905180910390a1600554600160a060020a039081169087167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405190815260200160405180910390a3611fb9565b6000935060009250600091507f1ccb26010072057d8d351a711ebccbfc970c5af67c7c0724a4f91d017433342433876000886000602360008d600160a060020a0316600160a060020a0316815260200190815260200160002054604051600160a060020a0396871681529490951660208501529115156040808501919091526060840191909152608083019190915260a082019290925260c001905180910390a15b509250925092565b600160a060020a0333166000908152600e602052604090205460ff1615156001148061200a5750600160a060020a03331660009081526006602052604090205460ff1615156001145b151561201557600080fd5b60175460ff16151561202657600080fd5b6120308a8a612306565b5061203b8888612306565b506120468686612306565b506120518484612306565b5061205c8282612306565b5050505050505050505050565b600160a060020a03331660009081526006602052604081205460ff16151560011461209357600080fd5b600160a060020a0382166000908152600760205260408120541180156120d15750600160a060020a03821660009081526006602052604090205460ff165b15610f1d5750600160a060020a0381166000908152600660205260409020805460ff191690556001610cc1565b600160a060020a03331660009081526006602052604090205460ff16151560011461212857600080fd5b600160a060020a038216600090815260146020526040902054811461153d57600160a060020a0391909116600090815260146020526040902055565b600160a060020a03331660009081526006602052604081205460ff16151560011461218e57600080fd5b811561161c57611612600185856126c8565b6000836121ac81610c73565b15156121b757600080fd5b6000831180156121e05750600160a060020a038516600090815260236020526040902054839010155b1561106157600160a060020a03851660009081526023602052604090208054849003905561220e8484612602565b83600160a060020a031685600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405190815260200160405180910390a3600160a060020a0380861660009081526023602052604080822054928716825290819020547f940d553fc39608a76b364511cc751d4351ba3e109ad9c7d08c30913f3838e94192889288928892339290919051600160a060020a0396871681529486166020860152604080860194909452919094166060840152608083019390935260a082019290925260c001905180910390a160019150611066565b600080828410156122ff57fe5b5050900390565b600160a060020a0333166000908152600e60205260408120548190819060ff161515600114806123535750600160a060020a03331660009081526006602052604090205460ff1615156001145b151561235e57600080fd5b60175460ff16151561236f57600080fd5b600160a060020a0385161561251e5761238a602254856126ab565b915083905060006018541180156123a2575081601854105b156123ab575060005b6000811115612492576123be8582612602565b6022829055600454600160a060020a0380871691167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405190815260200160405180910390a37faf9dfd1a8f0964b1fe9c3c3df1a91c9ec2a3d55abbc04e8effc598559680bb5f3386866001602360008b600160a060020a0316600160a060020a0316815260200190815260200160002054604051600160a060020a03958616815293909416602084015260408084019290925215156060830152608082019290925260a001905180910390a161251e565b600092507faf9dfd1a8f0964b1fe9c3c3df1a91c9ec2a3d55abbc04e8effc598559680bb5f3386866000602360008b600160a060020a0316600160a060020a0316815260200190815260200160002054604051600160a060020a03958616815293909416602084015260408084019290925215156060830152608082019290925260a001905180910390a15b505092915050565b600160a060020a03821660009081526019602052604081205460ff16151561254d57600080fd5b600160a060020a038481166000908152601f6020526040902054811690841614156125bd5750600160a060020a03828116600090815260208080526040808320805460018101909155602183528184208185529092529091208054600160a060020a031916928616929092179091555b50600160a060020a039283166000908152601d60209081526040808320429055601e825280832093909355601f9052208054600160a060020a03191691909216179055565b600160a060020a0382166000908152602560205260409020541515612668576027805460009081526024602090815260408083208054600160a060020a031916600160a060020a0388169081179091558454908452602590925290912081905560010190555b600160a060020a03821660009081526023602052604090205461268b90826126ab565b600160a060020a0390921660009081526023602052604090209190915550565b60008282018381108015906126c05750828110155b151561162057fe5b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106127095782800160ff19823516178555612736565b82800160010185558215612736579182015b8281111561273657823582559160200191906001019061271b565b50612742929150612746565b5090565b610f4891905b80821115612742576000815560010161274c5600a165627a7a72305820ec5ef764de740cd16f3547a587dab79b003e2b7f1aba579221026ea69d5e85500029
Swarm Source
bzzr://ec5ef764de740cd16f3547a587dab79b003e2b7f1aba579221026ea69d5e8550
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.