IGF token contract has migrated to a new address. The new token can be found here.
ERC-20
Overview
Max Total Supply
1,169,012.39176377 IGF
Holders
121
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 8 Decimals)
Balance
19,007.74 IGFValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
IgfContract
Compiler Version
v0.4.23+commit.124ca40d
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-10-01 */ pragma solidity 0.4.23; /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { /** * @dev Multiplies two numbers, throws on overflow. */ 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; } /** * @dev Integer division of two numbers, truncating the quotient. */ 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; } /** * @dev Substracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } /** * @dev Adds two numbers, throws on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } } contract Ownable { address public owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ constructor() public { owner = msg.sender; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(msg.sender == owner); _; } /** * @dev Allows the current owner to transfer control of the contract to a newOwner. * @param newOwner The address to transfer ownership to. */ function transferOwnership(address newOwner) external onlyOwner { require(newOwner != address(0)); emit OwnershipTransferred(owner, newOwner); owner = newOwner; } } contract IgfContract is Ownable { using SafeMath for uint256; //INVESTOR REPOSITORY mapping(address => uint256) internal balances; mapping (address => mapping (address => uint256)) internal allowed; mapping (address => uint256) internal totalAllowed; /** * @dev total number of tokens in existence */ uint256 internal totSupply; //COMMON function totalSupply() view public returns(uint256) { return totSupply; } function getTotalAllowed(address _owner) view public returns(uint256) { return totalAllowed[_owner]; } function setTotalAllowed(address _owner, uint256 _newValue) internal { totalAllowed[_owner]=_newValue; } function setTotalSupply(uint256 _newValue) internal { totSupply=_newValue; } /** * @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) view public returns(uint256) { return balances[_owner]; } function setBalanceOf(address _investor, uint256 _newValue) internal { require(_investor!=0x0000000000000000000000000000000000000000); balances[_investor]=_newValue; } /** * @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) view public returns(uint256) { require(msg.sender==_owner || msg.sender == _spender || msg.sender==getOwner()); return allowed[_owner][_spender]; } function setAllowance(address _owner, address _spender, uint256 _newValue) internal { require(_spender!=0x0000000000000000000000000000000000000000); uint256 newTotal = getTotalAllowed(_owner).sub(allowance(_owner, _spender)).add(_newValue); require(newTotal <= balanceOf(_owner)); allowed[_owner][_spender]=_newValue; setTotalAllowed(_owner,newTotal); } // TOKEN constructor(uint256 _rate, uint256 _minPurchase,uint256 _cap) public { require(_minPurchase>0); require(_rate > 0); require(_cap > 0); rate=_rate; minPurchase=_minPurchase; cap = _cap; } bytes32 public constant name = "IGFToken"; bytes3 public constant symbol = "IGF"; uint8 public constant decimals = 8; uint256 public cap; bool internal mintingFinished; event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); event Mint(address indexed to, uint256 amount); event MintFinished(); event Burn(address indexed _owner, uint256 _value); modifier canMint() { require(!mintingFinished); _; } function getName() view public returns(bytes32) { return name; } function getSymbol() view public returns(bytes3) { return symbol; } function getTokenDecimals() view public returns(uint256) { return decimals; } function getMintingFinished() view public returns(bool) { return mintingFinished; } function getTokenCap() view public returns(uint256) { return cap; } function setTokenCap(uint256 _newCap) external onlyOwner { cap=_newCap; } /** * @dev Burns the tokens of the specified address. * @param _owner The holder of tokens. * @param _value The amount of tokens burned */ function burn(address _owner,uint256 _value) external { require(_value <= balanceOf(_owner)); // no need to require value <= totalSupply, since that would imply the // sender's balance is greater than the totalSupply, which *should* be an assertion failure setBalanceOf(_owner, balanceOf(_owner).sub(_value)); setTotalSupply(totalSupply().sub(_value)); emit Burn(_owner, _value); } function updateTokenInvestorBalance(address _investor, uint256 _newValue) onlyOwner external { addTokens(_investor,_newValue); } /** * @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) external{ require(msg.sender!=_to); require(_value <= balanceOf(msg.sender)); // SafeMath.sub will throw if there is not enough balance. setBalanceOf(msg.sender, balanceOf(msg.sender).sub(_value)); setBalanceOf(_to, balanceOf(_to).add(_value)); emit Transfer(msg.sender, _to, _value); } /** * @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) external { require(_value <= balanceOf(_from)); require(_value <= allowance(_from,_to)); setBalanceOf(_from, balanceOf(_from).sub(_value)); setBalanceOf(_to, balanceOf(_to).add(_value)); setAllowance(_from,_to,allowance(_from,_to).sub(_value)); emit Transfer(_from, _to, _value); } /** * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. * * Beware that changing an allowance with this method brings the risk that someone may use both the old * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * @param _owner The address of the owner which allows tokens to a spender * @param _spender The address which will spend the funds. * @param _value The amount of tokens to be spent. */ function approve(address _owner,address _spender, uint256 _value) external { require(msg.sender ==_owner); setAllowance(msg.sender,_spender, _value); emit Approval(msg.sender, _spender, _value); } /** * @dev Increase the amount of tokens that an owner allowed to a spender. * * approve should be called when allowed[_spender] == 0. To increment * allowed value is better to use this function to avoid 2 calls (and wait until * the first transaction is mined) * From MonolithDAO Token.sol * @param _owner The address of the owner which allows tokens to a spender * @param _spender The address which will spend the funds. * @param _addedValue The amount of tokens to increase the allowance by. */ function increaseApproval(address _owner, address _spender, uint _addedValue) external{ require(msg.sender==_owner); setAllowance(_owner,_spender,allowance(_owner,_spender).add(_addedValue)); emit Approval(_owner, _spender, allowance(_owner,_spender)); } /** * @dev Decrease the amount of tokens that an owner allowed to a spender. * * approve should be called when allowed[_spender] == 0. To decrement * allowed value is better to use this function to avoid 2 calls (and wait until * the first transaction is mined) * From MonolithDAO Token.sol * @param _owner The address of the owner which allows tokens to a spender * @param _spender The address which will spend the funds. * @param _subtractedValue The amount of tokens to decrease the allowance by. */ function decreaseApproval(address _owner,address _spender, uint _subtractedValue) external{ require(msg.sender==_owner); uint oldValue = allowance(_owner,_spender); if (_subtractedValue > oldValue) { setAllowance(_owner,_spender, 0); } else { setAllowance(_owner,_spender, oldValue.sub(_subtractedValue)); } emit Approval(_owner, _spender, allowance(_owner,_spender)); } /** * @dev Function to mint tokens * @param _to The address that will receive the minted tokens. * @param _amount The amount of tokens to mint. * @return A boolean that indicates if the operation was successful. */ function mint(address _to, uint256 _amount) canMint internal{ require(totalSupply().add(_amount) <= getTokenCap()); setTotalSupply(totalSupply().add(_amount)); setBalanceOf(_to, balanceOf(_to).add(_amount)); emit Mint(_to, _amount); emit Transfer(address(0), _to, _amount); } function addTokens(address _to, uint256 _amount) canMint internal{ require( totalSupply().add(_amount) <= getTokenCap()); setTotalSupply(totalSupply().add(_amount)); setBalanceOf(_to, balanceOf(_to).add(_amount)); emit Transfer(address(0), _to, _amount); } /** * @dev Function to stop minting new tokens. * @return True if the operation was successful. */ function finishMinting() canMint onlyOwner external{ mintingFinished = true; emit MintFinished(); } //Crowdsale // what is minimal purchase of tokens uint256 internal minPurchase; // how many token units a buyer gets per wei uint256 internal rate; // amount of raised money in wei uint256 internal weiRaised; /** * event for token purchase logging * @param beneficiary who got the tokens * @param value weis paid for purchase * @param amount amount of tokens purchased */ event TokenPurchase(address indexed beneficiary, uint256 value, uint256 amount); event InvestmentsWithdrawn(uint indexed amount, uint indexed timestamp); function () external payable { } function getTokenRate() view public returns(uint256) { return rate; } function getMinimumPurchase() view public returns(uint256) { return minPurchase; } function setTokenRate(uint256 _newRate) external onlyOwner { rate = _newRate; } function setMinPurchase(uint256 _newMin) external onlyOwner { minPurchase = _newMin; } function getWeiRaised() view external returns(uint256) { return weiRaised; } // low level token purchase function function buyTokens() external payable{ require(msg.value > 0); uint256 weiAmount = msg.value; // calculate token amount to be created uint256 tokens = getTokenAmount(weiAmount); require(validPurchase(tokens)); // update state weiRaised = weiRaised.add(weiAmount); mint(msg.sender, tokens); emit TokenPurchase(msg.sender, weiAmount, tokens); } // Override this method to have a way to add business logic to your crowdsale when buying function getTokenAmount(uint256 weiAmount) internal view returns(uint256) { return weiAmount.div(getTokenRate()); } // get all rised wei function withdrawInvestments() external onlyOwner{ uint amount = address(this).balance; getOwner().transfer(amount * 1 wei); emit InvestmentsWithdrawn(amount, block.timestamp); } function getCurrentInvestments() view external onlyOwner returns(uint256) { return address(this).balance; } function getOwner() view internal returns(address) { return owner; } // @return true if the transaction can buy tokens function validPurchase(uint256 tokensAmount) internal view returns (bool) { bool nonZeroPurchase = tokensAmount != 0; bool acceptableAmount = tokensAmount >= getMinimumPurchase(); return nonZeroPurchase && acceptableAmount; } // CASHIER uint256 internal dividendsPaid; event DividendsPayment(uint256 amount, address beneficiary); function getTotalDividendsPaid() view external onlyOwner returns (uint256) { return dividendsPaid; } function getBalance() view public onlyOwner returns (uint256) { return address(this).balance; } function payDividends(address beneficiary,uint256 amount) external onlyOwner returns(bool) { require(amount > 0); validBeneficiary(beneficiary); beneficiary.transfer(amount); dividendsPaid.add(amount); emit DividendsPayment(amount, beneficiary); return true; } function depositDividends() payable external onlyOwner { address(this).transfer(msg.value); } function validBeneficiary(address beneficiary) view internal { require(balanceOf(beneficiary)>0); } //duplicates function getInvestorBalance(address _address) view external returns(uint256) { return balanceOf(_address); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getCurrentInvestments","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getSymbol","outputs":[{"name":"","type":"bytes3"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getName","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getTokenDecimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newCap","type":"uint256"}],"name":"setTokenCap","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getTokenCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"cap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getTokenRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getWeiRaised","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"getInvestorBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newRate","type":"uint256"}],"name":"setTokenRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getMintingFinished","outputs":[{"name":"","type":"bool"}],"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":false,"inputs":[{"name":"_investor","type":"address"},{"name":"_newValue","type":"uint256"}],"name":"updateTokenInvestorBalance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"finishMinting","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getTotalDividendsPaid","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"bytes3"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"getTotalAllowed","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"},{"name":"_value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"withdrawInvestments","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getMinimumPurchase","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"buyTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"beneficiary","type":"address"},{"name":"amount","type":"uint256"}],"name":"payDividends","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"depositDividends","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newMin","type":"uint256"}],"name":"setMinPurchase","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_rate","type":"uint256"},{"name":"_minPurchase","type":"uint256"},{"name":"_cap","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[],"name":"MintFinished","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"beneficiary","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"TokenPurchase","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"amount","type":"uint256"},{"indexed":true,"name":"timestamp","type":"uint256"}],"name":"InvestmentsWithdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"beneficiary","type":"address"}],"name":"DividendsPayment","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
608060405234801561001057600080fd5b506040516060806121d9833981018060405281019080805190602001909291908051906020019092919080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008211151561009657600080fd5b6000831115156100a557600080fd5b6000811115156100b457600080fd5b8260088190555081600781905550806005819055505050506120fe806100db6000396000f3006080604052600436106101cd576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146101cf57806309442d661461020257806312065fe01461022d578063150704011461025857806317d7de7c146102c357806318160ddd146102f657806323b872dd1461032157806324f65ee71461038e5780632854bc7e146103b95780632f087a28146103e6578063313ce56714610411578063355274ea146104425780633e2d70041461046d57806340582f13146104985780635ea63913146104c357806361241c281461051a578063676cb63d1461054757806370a082311461057657806379fdf548146105cd5780637d64bcb41461061a5780638d2a0910146106315780638da5cb5b1461065c57806395d89b41146106b3578063965232c01461071e5780639dc29fac14610775578063a3916164146107c2578063a9059cbb146107d9578063af5b065a14610826578063bcdd612114610851578063d0febe4c146108be578063d9afa38b146108c8578063dd62ed3e1461092d578063defa92ee146109a4578063e1f21c67146109ae578063e8307d0014610a1b578063f019c26714610a48578063f2fde38b14610ab5575b005b3480156101db57600080fd5b506101e4610af8565b60405180826000191660001916815260200191505060405180910390f35b34801561020e57600080fd5b50610217610b1c565b6040518082815260200191505060405180910390f35b34801561023957600080fd5b50610242610b96565b6040518082815260200191505060405180910390f35b34801561026457600080fd5b5061026d610c10565b60405180827cffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167cffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b3480156102cf57600080fd5b506102d8610c38565b60405180826000191660001916815260200191505060405180910390f35b34801561030257600080fd5b5061030b610c60565b6040518082815260200191505060405180910390f35b34801561032d57600080fd5b5061038c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c6a565b005b34801561039a57600080fd5b506103a3610d71565b6040518082815260200191505060405180910390f35b3480156103c557600080fd5b506103e460048036038101908080359060200190929190505050610d7d565b005b3480156103f257600080fd5b506103fb610de2565b6040518082815260200191505060405180910390f35b34801561041d57600080fd5b50610426610dec565b604051808260ff1660ff16815260200191505060405180910390f35b34801561044e57600080fd5b50610457610df1565b6040518082815260200191505060405180910390f35b34801561047957600080fd5b50610482610df7565b6040518082815260200191505060405180910390f35b3480156104a457600080fd5b506104ad610e01565b6040518082815260200191505060405180910390f35b3480156104cf57600080fd5b50610504600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e0b565b6040518082815260200191505060405180910390f35b34801561052657600080fd5b5061054560048036038101908080359060200190929190505050610e1d565b005b34801561055357600080fd5b5061055c610e82565b604051808215151515815260200191505060405180910390f35b34801561058257600080fd5b506105b7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e99565b6040518082815260200191505060405180910390f35b3480156105d957600080fd5b50610618600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ee2565b005b34801561062657600080fd5b5061062f610f4b565b005b34801561063d57600080fd5b5061064661100b565b6040518082815260200191505060405180910390f35b34801561066857600080fd5b50610671611070565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106bf57600080fd5b506106c8611095565b60405180827cffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167cffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b34801561072a57600080fd5b5061075f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110b9565b6040518082815260200191505060405180910390f35b34801561078157600080fd5b506107c0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611102565b005b3480156107ce57600080fd5b506107d76111b1565b005b3480156107e557600080fd5b50610824600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112aa565b005b34801561083257600080fd5b5061083b6113ad565b6040518082815260200191505060405180910390f35b34801561085d57600080fd5b506108bc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506113b7565b005b6108c661148a565b005b3480156108d457600080fd5b50610913600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061153d565b604051808215151515815260200191505060405180910390f35b34801561093957600080fd5b5061098e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611684565b6040518082815260200191505060405180910390f35b6109ac6117b8565b005b3480156109ba57600080fd5b50610a19600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061185c565b005b348015610a2757600080fd5b50610a466004803603810190808035906020019092919050505061190b565b005b348015610a5457600080fd5b50610ab3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611970565b005b348015610ac157600080fd5b50610af6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a63565b005b7f494746546f6b656e00000000000000000000000000000000000000000000000081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b7957600080fd5b3073ffffffffffffffffffffffffffffffffffffffff1631905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610bf357600080fd5b3073ffffffffffffffffffffffffffffffffffffffff1631905090565b60007f4947460000000000000000000000000000000000000000000000000000000000905090565b60007f494746546f6b656e000000000000000000000000000000000000000000000000905090565b6000600454905090565b610c7383610e99565b8111151515610c8157600080fd5b610c8b8383611684565b8111151515610c9957600080fd5b610cbd83610cb883610caa87610e99565b611bb890919063ffffffff16565b611bd1565b610ce182610cdc83610cce86610e99565b611c5590919063ffffffff16565b611bd1565b610d078383610d0284610cf48888611684565b611bb890919063ffffffff16565b611c73565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000600860ff16905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610dd857600080fd5b8060058190555050565b6000600554905090565b600881565b60055481565b6000600854905090565b6000600954905090565b6000610e1682610e99565b9050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e7857600080fd5b8060088190555050565b6000600660009054906101000a900460ff16905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f3d57600080fd5b610f478282611d90565b5050565b600660009054906101000a900460ff16151515610f6757600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fc257600080fd5b6001600660006101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561106857600080fd5b600a54905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f494746000000000000000000000000000000000000000000000000000000000081565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61110b82610e99565b811115151561111957600080fd5b61113d826111388361112a86610e99565b611bb890919063ffffffff16565b611bd1565b61115f61115a8261114c610c60565b611bb890919063ffffffff16565b611e8b565b8173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a25050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561120e57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff16319050611230611e95565b73ffffffffffffffffffffffffffffffffffffffff166108fc600183029081150290604051600060405180830381858888f19350505050158015611278573d6000803e3d6000fd5b5042817fca2a1b3271e5bb96e9186f6b34be112d3b0c42755fd5b8f537fc2429a40e34ac60405160405180910390a350565b8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515156112e557600080fd5b6112ee33610e99565b81111515156112fc57600080fd5b6113203361131b8361130d33610e99565b611bb890919063ffffffff16565b611bd1565b6113448261133f8361133186610e99565b611c5590919063ffffffff16565b611bd1565b8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000600754905090565b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156113f157600080fd5b6114178383611412846114048888611684565b611c5590919063ffffffff16565b611c73565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256114708686611684565b6040518082815260200191505060405180910390a3505050565b60008060003411151561149c57600080fd5b3491506114a882611ebe565b90506114b381611ee1565b15156114be57600080fd5b6114d382600954611c5590919063ffffffff16565b6009819055506114e33382611f0c565b3373ffffffffffffffffffffffffffffffffffffffff167fcd60aa75dea3072fbc07ae6d7d856b5dc5f4eee88854f5b4abf7b680ef8bc50f8383604051808381526020018281526020019250505060405180910390a25050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561159a57600080fd5b6000821115156115a957600080fd5b6115b283612055565b8273ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501580156115f8573d6000803e3d6000fd5b5061160e82600a54611c5590919063ffffffff16565b507f5448634990dfe807815d13fa2804f44cebc413d2582cb7cf30a7f140dd4264968284604051808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a16001905092915050565b60008273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806116eb57508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b8061172857506116f9611e95565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561173357600080fd5b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561181357600080fd5b3073ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015611859573d6000803e3d6000fd5b50565b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561189657600080fd5b6118a1338383611c73565b8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561196657600080fd5b8060078190555050565b60008373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156119ac57600080fd5b6119b68484611684565b9050808211156119d1576119cc84846000611c73565b6119ef565b6119ee84846119e98585611bb890919063ffffffff16565b611c73565b5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925611a488787611684565b6040518082815260200191505060405180910390a350505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611abe57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611afa57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000828211151515611bc657fe5b818303905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515611c0d57600080fd5b80600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b6000808284019050838110151515611c6957fe5b8091505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611cb057600080fd5b611ce682611cd8611cc18787611684565b611cca886110b9565b611bb890919063ffffffff16565b611c5590919063ffffffff16565b9050611cf184610e99565b8111151515611cff57600080fd5b81600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d8a848261206f565b50505050565b600660009054906101000a900460ff16151515611dac57600080fd5b611db4610de2565b611dce82611dc0610c60565b611c5590919063ffffffff16565b11151515611ddb57600080fd5b611dfd611df882611dea610c60565b611c5590919063ffffffff16565b611e8b565b611e2182611e1c83611e0e86610e99565b611c5590919063ffffffff16565b611bd1565b8173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b8060048190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000611eda611ecb610df7565b836120b790919063ffffffff16565b9050919050565b6000806000808414159150611ef46113ad565b8410159050818015611f035750805b92505050919050565b600660009054906101000a900460ff16151515611f2857600080fd5b611f30610de2565b611f4a82611f3c610c60565b611c5590919063ffffffff16565b11151515611f5757600080fd5b611f79611f7482611f66610c60565b611c5590919063ffffffff16565b611e8b565b611f9d82611f9883611f8a86610e99565b611c5590919063ffffffff16565b611bd1565b8173ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885826040518082815260200191505060405180910390a28173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600061206082610e99565b11151561206c57600080fd5b50565b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60008082848115156120c557fe5b04905080915050929150505600a165627a7a7230582051e82de679057e45df1443bbcd3e72d78060aa984f03e6edf2fa85cd74403bb60029000000000000000000000000000000000000000000000000000000000144ca1800000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000038d7ea4c68000
Deployed Bytecode
0x6080604052600436106101cd576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146101cf57806309442d661461020257806312065fe01461022d578063150704011461025857806317d7de7c146102c357806318160ddd146102f657806323b872dd1461032157806324f65ee71461038e5780632854bc7e146103b95780632f087a28146103e6578063313ce56714610411578063355274ea146104425780633e2d70041461046d57806340582f13146104985780635ea63913146104c357806361241c281461051a578063676cb63d1461054757806370a082311461057657806379fdf548146105cd5780637d64bcb41461061a5780638d2a0910146106315780638da5cb5b1461065c57806395d89b41146106b3578063965232c01461071e5780639dc29fac14610775578063a3916164146107c2578063a9059cbb146107d9578063af5b065a14610826578063bcdd612114610851578063d0febe4c146108be578063d9afa38b146108c8578063dd62ed3e1461092d578063defa92ee146109a4578063e1f21c67146109ae578063e8307d0014610a1b578063f019c26714610a48578063f2fde38b14610ab5575b005b3480156101db57600080fd5b506101e4610af8565b60405180826000191660001916815260200191505060405180910390f35b34801561020e57600080fd5b50610217610b1c565b6040518082815260200191505060405180910390f35b34801561023957600080fd5b50610242610b96565b6040518082815260200191505060405180910390f35b34801561026457600080fd5b5061026d610c10565b60405180827cffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167cffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b3480156102cf57600080fd5b506102d8610c38565b60405180826000191660001916815260200191505060405180910390f35b34801561030257600080fd5b5061030b610c60565b6040518082815260200191505060405180910390f35b34801561032d57600080fd5b5061038c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c6a565b005b34801561039a57600080fd5b506103a3610d71565b6040518082815260200191505060405180910390f35b3480156103c557600080fd5b506103e460048036038101908080359060200190929190505050610d7d565b005b3480156103f257600080fd5b506103fb610de2565b6040518082815260200191505060405180910390f35b34801561041d57600080fd5b50610426610dec565b604051808260ff1660ff16815260200191505060405180910390f35b34801561044e57600080fd5b50610457610df1565b6040518082815260200191505060405180910390f35b34801561047957600080fd5b50610482610df7565b6040518082815260200191505060405180910390f35b3480156104a457600080fd5b506104ad610e01565b6040518082815260200191505060405180910390f35b3480156104cf57600080fd5b50610504600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e0b565b6040518082815260200191505060405180910390f35b34801561052657600080fd5b5061054560048036038101908080359060200190929190505050610e1d565b005b34801561055357600080fd5b5061055c610e82565b604051808215151515815260200191505060405180910390f35b34801561058257600080fd5b506105b7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e99565b6040518082815260200191505060405180910390f35b3480156105d957600080fd5b50610618600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ee2565b005b34801561062657600080fd5b5061062f610f4b565b005b34801561063d57600080fd5b5061064661100b565b6040518082815260200191505060405180910390f35b34801561066857600080fd5b50610671611070565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106bf57600080fd5b506106c8611095565b60405180827cffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167cffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b34801561072a57600080fd5b5061075f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110b9565b6040518082815260200191505060405180910390f35b34801561078157600080fd5b506107c0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611102565b005b3480156107ce57600080fd5b506107d76111b1565b005b3480156107e557600080fd5b50610824600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112aa565b005b34801561083257600080fd5b5061083b6113ad565b6040518082815260200191505060405180910390f35b34801561085d57600080fd5b506108bc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506113b7565b005b6108c661148a565b005b3480156108d457600080fd5b50610913600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061153d565b604051808215151515815260200191505060405180910390f35b34801561093957600080fd5b5061098e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611684565b6040518082815260200191505060405180910390f35b6109ac6117b8565b005b3480156109ba57600080fd5b50610a19600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061185c565b005b348015610a2757600080fd5b50610a466004803603810190808035906020019092919050505061190b565b005b348015610a5457600080fd5b50610ab3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611970565b005b348015610ac157600080fd5b50610af6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a63565b005b7f494746546f6b656e00000000000000000000000000000000000000000000000081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b7957600080fd5b3073ffffffffffffffffffffffffffffffffffffffff1631905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610bf357600080fd5b3073ffffffffffffffffffffffffffffffffffffffff1631905090565b60007f4947460000000000000000000000000000000000000000000000000000000000905090565b60007f494746546f6b656e000000000000000000000000000000000000000000000000905090565b6000600454905090565b610c7383610e99565b8111151515610c8157600080fd5b610c8b8383611684565b8111151515610c9957600080fd5b610cbd83610cb883610caa87610e99565b611bb890919063ffffffff16565b611bd1565b610ce182610cdc83610cce86610e99565b611c5590919063ffffffff16565b611bd1565b610d078383610d0284610cf48888611684565b611bb890919063ffffffff16565b611c73565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000600860ff16905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610dd857600080fd5b8060058190555050565b6000600554905090565b600881565b60055481565b6000600854905090565b6000600954905090565b6000610e1682610e99565b9050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e7857600080fd5b8060088190555050565b6000600660009054906101000a900460ff16905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f3d57600080fd5b610f478282611d90565b5050565b600660009054906101000a900460ff16151515610f6757600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fc257600080fd5b6001600660006101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561106857600080fd5b600a54905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f494746000000000000000000000000000000000000000000000000000000000081565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61110b82610e99565b811115151561111957600080fd5b61113d826111388361112a86610e99565b611bb890919063ffffffff16565b611bd1565b61115f61115a8261114c610c60565b611bb890919063ffffffff16565b611e8b565b8173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a25050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561120e57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff16319050611230611e95565b73ffffffffffffffffffffffffffffffffffffffff166108fc600183029081150290604051600060405180830381858888f19350505050158015611278573d6000803e3d6000fd5b5042817fca2a1b3271e5bb96e9186f6b34be112d3b0c42755fd5b8f537fc2429a40e34ac60405160405180910390a350565b8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515156112e557600080fd5b6112ee33610e99565b81111515156112fc57600080fd5b6113203361131b8361130d33610e99565b611bb890919063ffffffff16565b611bd1565b6113448261133f8361133186610e99565b611c5590919063ffffffff16565b611bd1565b8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000600754905090565b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156113f157600080fd5b6114178383611412846114048888611684565b611c5590919063ffffffff16565b611c73565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256114708686611684565b6040518082815260200191505060405180910390a3505050565b60008060003411151561149c57600080fd5b3491506114a882611ebe565b90506114b381611ee1565b15156114be57600080fd5b6114d382600954611c5590919063ffffffff16565b6009819055506114e33382611f0c565b3373ffffffffffffffffffffffffffffffffffffffff167fcd60aa75dea3072fbc07ae6d7d856b5dc5f4eee88854f5b4abf7b680ef8bc50f8383604051808381526020018281526020019250505060405180910390a25050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561159a57600080fd5b6000821115156115a957600080fd5b6115b283612055565b8273ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501580156115f8573d6000803e3d6000fd5b5061160e82600a54611c5590919063ffffffff16565b507f5448634990dfe807815d13fa2804f44cebc413d2582cb7cf30a7f140dd4264968284604051808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a16001905092915050565b60008273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806116eb57508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b8061172857506116f9611e95565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561173357600080fd5b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561181357600080fd5b3073ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015611859573d6000803e3d6000fd5b50565b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561189657600080fd5b6118a1338383611c73565b8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561196657600080fd5b8060078190555050565b60008373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156119ac57600080fd5b6119b68484611684565b9050808211156119d1576119cc84846000611c73565b6119ef565b6119ee84846119e98585611bb890919063ffffffff16565b611c73565b5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925611a488787611684565b6040518082815260200191505060405180910390a350505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611abe57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611afa57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000828211151515611bc657fe5b818303905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515611c0d57600080fd5b80600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b6000808284019050838110151515611c6957fe5b8091505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611cb057600080fd5b611ce682611cd8611cc18787611684565b611cca886110b9565b611bb890919063ffffffff16565b611c5590919063ffffffff16565b9050611cf184610e99565b8111151515611cff57600080fd5b81600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d8a848261206f565b50505050565b600660009054906101000a900460ff16151515611dac57600080fd5b611db4610de2565b611dce82611dc0610c60565b611c5590919063ffffffff16565b11151515611ddb57600080fd5b611dfd611df882611dea610c60565b611c5590919063ffffffff16565b611e8b565b611e2182611e1c83611e0e86610e99565b611c5590919063ffffffff16565b611bd1565b8173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b8060048190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000611eda611ecb610df7565b836120b790919063ffffffff16565b9050919050565b6000806000808414159150611ef46113ad565b8410159050818015611f035750805b92505050919050565b600660009054906101000a900460ff16151515611f2857600080fd5b611f30610de2565b611f4a82611f3c610c60565b611c5590919063ffffffff16565b11151515611f5757600080fd5b611f79611f7482611f66610c60565b611c5590919063ffffffff16565b611e8b565b611f9d82611f9883611f8a86610e99565b611c5590919063ffffffff16565b611bd1565b8173ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885826040518082815260200191505060405180910390a28173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600061206082610e99565b11151561206c57600080fd5b50565b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60008082848115156120c557fe5b04905080915050929150505600a165627a7a7230582051e82de679057e45df1443bbcd3e72d78060aa984f03e6edf2fa85cd74403bb60029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000144ca1800000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000038d7ea4c68000
-----Decoded View---------------
Arg [0] : _rate (uint256): 21285400
Arg [1] : _minPurchase (uint256): 1000
Arg [2] : _cap (uint256): 1000000000000000
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000000000000000000000144ca18
Arg [1] : 00000000000000000000000000000000000000000000000000000000000003e8
Arg [2] : 00000000000000000000000000000000000000000000000000038d7ea4c68000
Swarm Source
bzzr://51e82de679057e45df1443bbcd3e72d78060aa984f03e6edf2fa85cd74403bb6
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.