ERC-20
Overview
Max Total Supply
4,940,000,000 PAX
Holders
1,635
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
ExpERC20Token
Compiler Version
v0.4.24+commit.e67f0147
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-03-06 */ pragma solidity ^0.4.24; /** * @title ERC20 * @dev ERC20 Contract interface(s) */ contract ERC20 { function balanceOf (address _owner) public constant returns (uint256 balance); function transfer ( address _to, uint256 _value) public returns (bool success); function transferFrom (address _from, address _to, uint256 _value) public returns (bool success); function approve (address _spender, uint256 _value) public returns (bool success); function allowance (address _owner, address _spender) public constant returns (uint256 remaining); function totalSupply () public constant returns (uint); event Transfer (address indexed _from, address indexed _to, uint _value); event Approval (address indexed _owner, address indexed _spender, uint _value); } /** * @title TokenRecipient */ interface TokenRecipient { /* fundtion definitions */ function receiveApproval (address _from, uint256 _value, address _token, bytes _extraData) external; } /** * @title SafeMath math library * @dev Math operations with safety checks that throw on error */ library SafeMath { /** * @dev 'a + b', Adds two numbers, throws on overflow */ function add (uint256 a, uint256 b) internal pure returns (uint256 c) { c = a + b; require (c >= a); return c; } /** * @dev 'a - b', Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend) */ function sub (uint256 a, uint256 b) internal pure returns (uint256 c) { require (a >= b); c = a - b; return c; } /** * @dev 'a * b', multiplies two numbers, throws on overflow */ function mul (uint256 a, uint256 b) internal pure returns (uint256 c) { c = a * b; require (a == 0 || c / a == b); return c; } /** * @dev 'a / b', Integer division of two numbers, truncating the quotient */ function div (uint256 a, uint256 b) internal pure returns (uint256 c) { require (b > 0); c = a / b; return c; } } /** * @title ERC20Token * @dev Implementation of the ERC20 Token */ contract ERC20Token is ERC20 { using SafeMath for uint256; /* balance of each account */ mapping (address => uint256) balances; mapping (address => mapping (address => uint256)) allowed; string public name; string public symbol; uint8 public decimals; uint256 public totalSupply; /** * @dev Creates a ERC20 Contract with its name, symbol, decimals, and total supply of token * @param _name name of token * @param _symbol name of symbol * @param _decimals decimals * @param _initSupply total supply of tokens */ constructor (string _name, string _symbol, uint8 _decimals, uint256 _initSupply) public { name = _name; // set the name for display purpose symbol = _symbol; // set the symbol for display purpose decimals = _decimals; // 18 decimals is the strongly suggested totalSupply = _initSupply * (10 ** uint256 (decimals)); // update total supply with the decimal amount balances[msg.sender] = totalSupply; // give the creator all initial tokens emit Transfer (address(0), msg.sender, totalSupply); } /** * @dev Get the token balance for account `_owner` */ function balanceOf (address _owner) public view returns (uint256 balance) { return balances[_owner]; } /* function to access name, symbol, decimals, total-supply of token. */ function name () public view returns (string _name ) { return name; } function symbol () public view returns (string _symbol ) { return symbol; } function decimals () public view returns (uint8 _decimals) { return decimals; } function totalSupply () public view returns (uint256 _supply ) { return totalSupply; } /** * @dev Internal transfer, only can be called by this contract */ function _transfer (address _from, address _to, uint256 _value) internal { require (_to != 0x0); // prevent transfer to 0x0 address require (balances[_from] >= _value); // check if the sender has enough require (balances[_to ] + _value > balances[_to]);// check for overflows uint256 previous = balances[_from] + balances[_to]; // save this for an assertion in the future balances[_from] = balances[_from].sub (_value); // subtract from the sender balances[_to ] = balances[_to ].add (_value); // add the same to the recipient emit Transfer (_from, _to, _value); /* Asserts are used to use static analysis to find bugs in your code. They should never fail */ assert (balances[_from] + balances[_to] == previous); } /** * @dev Transfer the balance from owner's account to another account "_to" * owner's account must have sufficient balance to transfer * 0 value transfers are allowed * @param _to The address of the recipient * @param _value The amount to send * @return true if the operation was successful. */ function transfer (address _to, uint256 _value) public returns (bool success) { _transfer (msg.sender, _to, _value); return true; } /** * @dev Send `_value` amount of tokens from `_from` account to `_to` account * The calling account must already have sufficient tokens approved for * spending from the `_from` account * @param _from The address of the sender * @param _to The address of the recipient * @param _value The amount to send * @return true if the operation was successful. */ function transferFrom (address _from, address _to, uint256 _value) public returns (bool success) { require (allowed[_from][msg.sender] >= _value); // check allowance allowed [_from][msg.sender] = allowed [_from][msg.sender].sub (_value); _transfer (_from, _to, _value); return true; } /** * @dev Get the amount of tokens approved by the owner that can be transferred * to the spender's account * @param _owner The address owner * @param _spender The address authorized to spend * @return The amount of tokens remained for the approved by the owner that can * be transferred */ function allowance (address _owner, address _spender) public constant returns (uint remaining) { return allowed[_owner][_spender]; } /** * @dev Set allowance for other address * Allow `_spender` to withdraw from your account, multiple times, * up to the `_value` amount. If this function is called again it * overwrites the current allowance with _value. * Token owner can approve for `spender` to transferFrom (...) `tokens` * from the token owner's account * @param _spender The address authorized to spend * @param _value the max amount they can spend * @return true if the operation was successful. */ function approve (address _spender, uint256 _value) public returns (bool success) { allowed[msg.sender][_spender] = _value; emit Approval (msg.sender, _spender, _value); return true; } /** * @dev Set allowance for other address and notify * Allows `_spender` to spend no more than `_value` tokens in your behalf, * and then ping the contract about it * @param _spender the address authorized to spend * @param _value the max amount they can spend * @param _extraData some extra information to send to the approved contract * @return true if the operation was successful. */ function approveAndCall (address _spender, uint256 _value, bytes _extraData) public returns (bool success) { TokenRecipient spender = TokenRecipient (_spender); if (approve (_spender, _value)) { spender.receiveApproval (msg.sender, _value, address (this), _extraData); return true; } } } /** * @title Ownable * @notice For user and inter-contract ownership and safe ownership transfers. * @dev The Ownable contract has an owner address, and provides basic * authorization control functions */ contract Ownable { address public owner; /* the address of the contract's owner */ /* logged on change & renounce of owner */ event OwnershipTransferred (address indexed _owner, address indexed _to); event OwnershipRenounced (address indexed _owner); /** * @dev 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 '_to' * @param _to The address to transfer ownership to */ function transferOwnership (address _to) public onlyOwner { require (_to != address(0)); emit OwnershipTransferred (owner, _to); owner = _to; } /** * @dev Allows the current owner to relinquish control of the contract. * This will remove all ownership of the contract, _safePhrase must * be equal to "This contract is to be disowned" * @param _safePhrase Input string to prevent one's mistake */ function renounceOwnership (bytes32 _safePhrase) public onlyOwner { require (_safePhrase == "This contract is to be disowned."); emit OwnershipRenounced (owner); owner = address(0); } } /** * @title ExpERC20Token */ contract ExpERC20Token is ERC20Token, Ownable { /** * @dev Creates a ERC20 Contract with its name, symbol, decimals, and total supply of token * @param _name name of token * @param _symbol name of symbol * @param _decimals decimals * @param _initSupply total supply of tokens */ constructor ( string _name, // name of token string _symbol, // name of symbol uint8 _decimals, // decimals uint256 _initSupply // total supply of tokens ) ERC20Token (_name, _symbol, _decimals, _initSupply) public {} /** * @notice Only the creator can alter the name & symbol * @param _name newer token name to be changed * @param _symbol newer token symbol to be changed */ function changeName (string _name, string _symbol) onlyOwner public { name = _name; symbol = _symbol; } /* ====================================================================== * Burnable functions */ /* This notifies clients about the amount burnt */ event Burn (address indexed from, uint256 value); /** * Internal burn, only can be called by this contract */ function _burn (address _from, uint256 _value) internal { require (balances[_from] >= _value); // check if the sender has enough balances[_from] = balances[_from].sub (_value); // subtract from the sender totalSupply = totalSupply.sub (_value); // updates totalSupply emit Burn (_from, _value); } /** * @dev remove `_value` tokens from the system irreversibly * @param _value the amount of money to burn * @return true if the operation was successful. */ function burn (uint256 _value) public returns (bool success) { _burn (msg.sender, _value); return true; } /** * @dev remove `_value` tokens from the system irreversibly on behalf of `_from` * @param _from the address of the sender * @param _value the amount of money to burn * @return true if the operation was successful. */ function burnFrom (address _from, uint256 _value) public returns (bool success) { require (allowed [_from][msg.sender] >= _value); allowed [_from][msg.sender] = allowed [_from][msg.sender].sub (_value); _burn (_from, _value); return true; } /* ====================================================================== * Mintable functions */ /* event for mint's */ event Mint (address indexed _to, uint256 _amount); event MintFinished (); bool public mintingFinished = false; /* Throws if it is not mintable status */ modifier canMint () { require (!mintingFinished); _; } /* Throws if called by any account other than the owner */ modifier hasMintPermission () { require (msg.sender == owner); _; } /** * @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) hasMintPermission canMint public returns (bool) { totalSupply = totalSupply.add (_amount); balances[_to] = balances[_to].add (_amount); emit Mint (_to, _amount); emit Transfer (address (0), this, _amount); emit Transfer ( this, _to, _amount); return true; } /** * @dev Function to stop minting new tokens. * @return True if the operation was successful. */ function finishMinting () onlyOwner canMint public returns (bool) { mintingFinished = true; emit MintFinished (); return true; } /* ====================================================================== * Lockable Token */ bool public tokenLocked = false; /* event for Token's lock or unlock */ event Lock (address indexed _target, bool _locked); mapping (address => bool) public frozenAccount; /* This generates a public event on the blockchain that will notify clients */ event FrozenFunds (address target, bool frozen); /** * @notice `freeze? Prevent | Allow` `target` from sending & receiving tokens * @param _target address to be frozen * @param _freeze either to freeze it or not */ function freezeAccount (address _target, bool _freeze) onlyOwner public { frozenAccount[_target] = _freeze; emit FrozenFunds (_target, _freeze); } /* Throws if it is not locked status */ modifier whenTokenUnlocked () { require (!tokenLocked); _; } /* Internal token-lock, only can be called by this contract */ function _lock (bool _value) internal { require (tokenLocked != _value); tokenLocked = _value; emit Lock (this, tokenLocked); } /** * @dev function to check token is lock or not */ function isTokenLocked () public view returns (bool success) { return tokenLocked; } /** * @dev function to lock/unlock this token * @param _value flag to be locked or not */ function lock (bool _value) onlyOwner public returns (bool) { _lock (_value); return true; } /** * @dev Transfer the balance from owner's account to another account "_to" * owner's account must have sufficient balance to transfer * 0 value transfers are allowed * @param _to The address of the recipient * @param _value The amount to send * @return true if the operation was successful. */ function transfer (address _to, uint256 _value) whenTokenUnlocked public returns (bool success) { require (!frozenAccount[msg.sender]); // check if sender is frozen require (!frozenAccount[_to ]); // check if recipient is frozen return super.transfer (_to, _value); } /** * @dev Send `_value` amount of tokens from `_from` account to `_to` account * The calling account must already have sufficient tokens approved for * spending from the `_from` account * @param _from The address of the sender * @param _to The address of the recipient * @param _value The amount to send * @return true if the operation was successful. */ function transferFrom (address _from, address _to, uint256 _value) whenTokenUnlocked public returns (bool success) { require (!frozenAccount[msg.sender]); // check if sender is frozen require (!frozenAccount[_from]); // check if token-owner is frozen require (!frozenAccount[_to ]); // check if recipient is frozen return super.transferFrom (_from, _to, _value); } /** * @dev Set allowance for other address * Allow `_spender` to withdraw from your account, multiple times, * up to the `_value` amount. If this function is called again it * overwrites the current allowance with _value. * Token owner can approve for `spender` to transferFrom (...) `tokens` * from the token owner's account * @param _spender The address authorized to spend * @param _value the max amount they can spend * @return true if the operation was successful. */ function approve (address _spender, uint256 _value) whenTokenUnlocked public returns (bool success) { require (!frozenAccount[msg.sender]); // check if sender is frozen require (!frozenAccount[_spender ]); // check if token-owner is frozen return super.approve (_spender, _value); } /** * @dev Set allowance for other address and notify * Allows `_spender` to spend no more than `_value` tokens in your behalf, * and then ping the contract about it * @param _spender the address authorized to spend * @param _value the max amount they can spend * @param _extraData some extra information to send to the approved contract * @return true if the operation was successful. */ function approveAndCall (address _spender, uint256 _value, bytes _extraData) whenTokenUnlocked public returns (bool success) { require (!frozenAccount[msg.sender]); // check if sender is frozen require (!frozenAccount[_spender ]); // check if token-owner is frozen return super.approveAndCall (_spender, _value, _extraData); } /* ====================================================================== * buy & sell functions */ uint256 public sellPrice; uint256 public buyPrice; /* Internal transfer, only can be called by this contract */ function _transfer (address _from, address _to, uint _value) internal { require (_to != 0x0); // prevent transfer to 0x0 address require (balances[_from] >= _value); // check if the sender has enough require (balances[_to ] + _value >= balances[_to]); // check for overflows require (!frozenAccount[_from]); // check if sender is frozen require (!frozenAccount[_to ]); // check if recipient is frozen balances[_from] = balances[_from].sub (_value); // Subtract from the sender balances[_to ] = balances[_to ].add (_value); // Add the same to the recipient emit Transfer (_from, _to, _value); } /** * @notice allow users to buy tokens for `newBuyPrice` eth and sell tokens for `newSellPrice` eth * @param _sellPrice Price the users can sell to the contract * @param _buyPrice Price users can buy from the contract */ function setPrices (uint256 _sellPrice, uint256 _buyPrice) onlyOwner public { sellPrice = _sellPrice; buyPrice = _buyPrice ; } /** * @notice Buy tokens from contract by sending ether */ function buy () whenTokenUnlocked payable public { uint amount = msg.value / buyPrice; // calculates the amount _transfer (this, msg.sender, amount); // makes the transfers } /** * @notice sell `_amount` tokens to contract * @param _amount amount of tokens to be sold */ function sell (uint256 _amount) whenTokenUnlocked public { require (balances[this] >= _amount * sellPrice); // checks if the contract has enough ether to buy _transfer (msg.sender, this, _amount); // makes the transfers msg.sender.transfer (_amount * sellPrice); // sends ether to the seller. It's important to do this last to avoid recursion attacks } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"mintingFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_sellPrice","type":"uint256"},{"name":"_buyPrice","type":"uint256"}],"name":"setPrices","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"_name","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"bool"}],"name":"lock","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"_supply","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_safePhrase","type":"bytes32"}],"name":"renounceOwnership","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":true,"inputs":[],"name":"decimals","outputs":[{"name":"_decimals","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"mint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"sellPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenLocked","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"}],"name":"burnFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"finishMinting","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"buyPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"},{"name":"_symbol","type":"string"}],"name":"changeName","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"_symbol","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"buy","outputs":[],"payable":true,"stateMutability":"payable","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":true,"inputs":[{"name":"","type":"address"}],"name":"frozenAccount","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isTokenLocked","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"sell","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_target","type":"address"},{"name":"_freeze","type":"bool"}],"name":"freezeAccount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_name","type":"string"},{"name":"_symbol","type":"string"},{"name":"_decimals","type":"uint8"},{"name":"_initSupply","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_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":"_target","type":"address"},{"indexed":false,"name":"_locked","type":"bool"}],"name":"Lock","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"target","type":"address"},{"indexed":false,"name":"frozen","type":"bool"}],"name":"FrozenFunds","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_to","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"}],"name":"OwnershipRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"}]
Contract Creation Code
60806040526000600660146101000a81548160ff0219169083151502179055506000600660156101000a81548160ff0219169083151502179055503480156200004757600080fd5b506040516200298f3803806200298f83398101806040528101908080518201929190602001805182019291906020018051906020019092919080519060200190929190505050838383838360029080519060200190620000a9929190620001f8565b508260039080519060200190620000c2929190620001f8565b5081600460006101000a81548160ff021916908360ff160217905550600460009054906101000a900460ff1660ff16600a0a81026005819055506005546000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6005546040518082815260200191505060405180910390a35050505033600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050620002a7565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200023b57805160ff19168380011785556200026c565b828001600101855582156200026c579182015b828111156200026b5782518255916020019190600101906200024e565b5b5090506200027b91906200027f565b5090565b620002a491905b80821115620002a057600081600090555060010162000286565b5090565b90565b6126d880620002b76000396000f300608060405260043610610175576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305d2035b1461017a57806305fefda7146101a957806306fdde03146101e0578063095ea7b3146102705780630dd0a042146102d557806318160ddd1461031c578063219adc2e1461034757806323b872dd14610378578063313ce567146103fd57806340c10f191461042e57806342966c68146104935780634b750334146104d85780636a6305591461050357806370a082311461053257806379cc6790146105895780637d64bcb4146105ee5780638620410b1461061d57806386575e40146106485780638da5cb5b146106f757806395d89b411461074e578063a6f2ae3a146107de578063a9059cbb146107e8578063b414d4b61461084d578063bdfe4eba146108a8578063cae9ca51146108d7578063dd62ed3e14610982578063e4849b32146109f9578063e724529c14610a26578063f2fde38b14610a75575b600080fd5b34801561018657600080fd5b5061018f610ab8565b604051808215151515815260200191505060405180910390f35b3480156101b557600080fd5b506101de6004803603810190808035906020019092919080359060200190929190505050610acb565b005b3480156101ec57600080fd5b506101f5610b39565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561023557808201518184015260208101905061021a565b50505050905090810190601f1680156102625780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561027c57600080fd5b506102bb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bdb565b604051808215151515815260200191505060405180910390f35b3480156102e157600080fd5b50610302600480360381019080803515159060200190929190505050610cbd565b604051808215151515815260200191505060405180910390f35b34801561032857600080fd5b50610331610d2d565b6040518082815260200191505060405180910390f35b34801561035357600080fd5b506103766004803603810190808035600019169060200190929190505050610d37565b005b34801561038457600080fd5b506103e3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e6f565b604051808215151515815260200191505060405180910390f35b34801561040957600080fd5b50610412610fac565b604051808260ff1660ff16815260200191505060405180910390f35b34801561043a57600080fd5b50610479600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fc3565b604051808215151515815260200191505060405180910390f35b34801561049f57600080fd5b506104be6004803603810190808035906020019092919050505061120e565b604051808215151515815260200191505060405180910390f35b3480156104e457600080fd5b506104ed611223565b6040518082815260200191505060405180910390f35b34801561050f57600080fd5b50610518611229565b604051808215151515815260200191505060405180910390f35b34801561053e57600080fd5b50610573600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061123c565b6040518082815260200191505060405180910390f35b34801561059557600080fd5b506105d4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611284565b604051808215151515815260200191505060405180910390f35b3480156105fa57600080fd5b50610603611434565b604051808215151515815260200191505060405180910390f35b34801561062957600080fd5b506106326114fc565b6040518082815260200191505060405180910390f35b34801561065457600080fd5b506106f5600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611502565b005b34801561070357600080fd5b5061070c611590565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561075a57600080fd5b506107636115b6565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107a3578082015181840152602081019050610788565b50505050905090810190601f1680156107d05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6107e6611658565b005b3480156107f457600080fd5b50610833600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611694565b604051808215151515815260200191505060405180910390f35b34801561085957600080fd5b5061088e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611776565b604051808215151515815260200191505060405180910390f35b3480156108b457600080fd5b506108bd611796565b604051808215151515815260200191505060405180910390f35b3480156108e357600080fd5b50610968600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506117ad565b604051808215151515815260200191505060405180910390f35b34801561098e57600080fd5b506109e3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611891565b6040518082815260200191505060405180910390f35b348015610a0557600080fd5b50610a2460048036038101908080359060200190929190505050611918565b005b348015610a3257600080fd5b50610a73600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506119de565b005b348015610a8157600080fd5b50610ab6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b04565b005b600660149054906101000a900460ff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b2757600080fd5b81600881905550806009819055505050565b606060028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bd15780601f10610ba657610100808354040283529160200191610bd1565b820191906000526020600020905b815481529060010190602001808311610bb457829003601f168201915b5050505050905090565b6000600660159054906101000a900460ff16151515610bf957600080fd5b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515610c5257600080fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515610cab57600080fd5b610cb58383611c5c565b905092915050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d1b57600080fd5b610d2482611d4e565b60019050919050565b6000600554905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d9357600080fd5b7f5468697320636f6e747261637420697320746f206265206469736f776e65642e8160001916141515610dc557600080fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a26000600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600660159054906101000a900460ff16151515610e8d57600080fd5b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515610ee657600080fd5b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515610f3f57600080fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515610f9857600080fd5b610fa3848484611dee565b90509392505050565b6000600460009054906101000a900460ff16905090565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561102157600080fd5b600660149054906101000a900460ff1615151561103d57600080fd5b61105282600554611fa090919063ffffffff16565b6005819055506110a9826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fa090919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a23073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a38273ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600061121a3383611fbf565b60019050919050565b60085481565b600660159054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561131157600080fd5b6113a082600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461210c90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061142a8383611fbf565b6001905092915050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561149257600080fd5b600660149054906101000a900460ff161515156114ae57600080fd5b6001600660146101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b60095481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561155e57600080fd5b8160029080519060200190611574929190612607565b50806003908051906020019061158b929190612607565b505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561164e5780601f106116235761010080835404028352916020019161164e565b820191906000526020600020905b81548152906001019060200180831161163157829003601f168201915b5050505050905090565b6000600660159054906101000a900460ff1615151561167657600080fd5b6009543481151561168357fe5b04905061169130338361212b565b50565b6000600660159054906101000a900460ff161515156116b257600080fd5b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561170b57600080fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561176457600080fd5b61176e838361246d565b905092915050565b60076020528060005260406000206000915054906101000a900460ff1681565b6000600660159054906101000a900460ff16905090565b6000600660159054906101000a900460ff161515156117cb57600080fd5b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561182457600080fd5b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561187d57600080fd5b611888848484612484565b90509392505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600660159054906101000a900460ff1615151561193457600080fd5b60085481026000803073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561198557600080fd5b61199033308361212b565b3373ffffffffffffffffffffffffffffffffffffffff166108fc60085483029081150290604051600060405180830381858888f193505050501580156119da573d6000803e3d6000fd5b5050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a3a57600080fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a58282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001821515151581526020019250505060405180910390a15050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b6057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611b9c57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b801515600660159054906101000a900460ff16151514151515611d7057600080fd5b80600660156101000a81548160ff0219169083151502179055503073ffffffffffffffffffffffffffffffffffffffff167f4167566c670b1fd1c64e646e19cb4ef63d0109f1af19955fa6555a550499dd93600660159054906101000a900460ff16604051808215151515815260200191505060405180910390a250565b600081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515611e7b57600080fd5b611f0a82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461210c90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f9584848461212b565b600190509392505050565b60008183019050828110151515611fb657600080fd5b80905092915050565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561200c57600080fd5b61205d816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461210c90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120b48160055461210c90919063ffffffff16565b6005819055508173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a25050565b600081831015151561211d57600080fd5b818303905080905092915050565b60008273ffffffffffffffffffffffffffffffffffffffff161415151561215157600080fd5b806000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561219e57600080fd5b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054011015151561222b57600080fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561228457600080fd5b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156122dd57600080fd5b61232e816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461210c90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123c1816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fa090919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600061247a33848461212b565b6001905092915050565b6000808490506124948585610bdb565b156125fe578073ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338630876040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561258e578082015181840152602081019050612573565b50505050905090810190601f1680156125bb5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1580156125dd57600080fd5b505af11580156125f1573d6000803e3d6000fd5b50505050600191506125ff565b5b509392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061264857805160ff1916838001178555612676565b82800160010185558215612676579182015b8281111561267557825182559160200191906001019061265a565b5b5090506126839190612687565b5090565b6126a991905b808211156126a557600081600090555060010161268d565b5090565b905600a165627a7a7230582096e922196fdae4736f0c42d06b827b70b53e4c5672851c6026c2d38f72b130bf0029000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000012a05f200000000000000000000000000000000000000000000000000000000000000000a5061795820546f6b656e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035041580000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x608060405260043610610175576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305d2035b1461017a57806305fefda7146101a957806306fdde03146101e0578063095ea7b3146102705780630dd0a042146102d557806318160ddd1461031c578063219adc2e1461034757806323b872dd14610378578063313ce567146103fd57806340c10f191461042e57806342966c68146104935780634b750334146104d85780636a6305591461050357806370a082311461053257806379cc6790146105895780637d64bcb4146105ee5780638620410b1461061d57806386575e40146106485780638da5cb5b146106f757806395d89b411461074e578063a6f2ae3a146107de578063a9059cbb146107e8578063b414d4b61461084d578063bdfe4eba146108a8578063cae9ca51146108d7578063dd62ed3e14610982578063e4849b32146109f9578063e724529c14610a26578063f2fde38b14610a75575b600080fd5b34801561018657600080fd5b5061018f610ab8565b604051808215151515815260200191505060405180910390f35b3480156101b557600080fd5b506101de6004803603810190808035906020019092919080359060200190929190505050610acb565b005b3480156101ec57600080fd5b506101f5610b39565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561023557808201518184015260208101905061021a565b50505050905090810190601f1680156102625780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561027c57600080fd5b506102bb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bdb565b604051808215151515815260200191505060405180910390f35b3480156102e157600080fd5b50610302600480360381019080803515159060200190929190505050610cbd565b604051808215151515815260200191505060405180910390f35b34801561032857600080fd5b50610331610d2d565b6040518082815260200191505060405180910390f35b34801561035357600080fd5b506103766004803603810190808035600019169060200190929190505050610d37565b005b34801561038457600080fd5b506103e3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e6f565b604051808215151515815260200191505060405180910390f35b34801561040957600080fd5b50610412610fac565b604051808260ff1660ff16815260200191505060405180910390f35b34801561043a57600080fd5b50610479600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fc3565b604051808215151515815260200191505060405180910390f35b34801561049f57600080fd5b506104be6004803603810190808035906020019092919050505061120e565b604051808215151515815260200191505060405180910390f35b3480156104e457600080fd5b506104ed611223565b6040518082815260200191505060405180910390f35b34801561050f57600080fd5b50610518611229565b604051808215151515815260200191505060405180910390f35b34801561053e57600080fd5b50610573600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061123c565b6040518082815260200191505060405180910390f35b34801561059557600080fd5b506105d4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611284565b604051808215151515815260200191505060405180910390f35b3480156105fa57600080fd5b50610603611434565b604051808215151515815260200191505060405180910390f35b34801561062957600080fd5b506106326114fc565b6040518082815260200191505060405180910390f35b34801561065457600080fd5b506106f5600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611502565b005b34801561070357600080fd5b5061070c611590565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561075a57600080fd5b506107636115b6565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107a3578082015181840152602081019050610788565b50505050905090810190601f1680156107d05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6107e6611658565b005b3480156107f457600080fd5b50610833600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611694565b604051808215151515815260200191505060405180910390f35b34801561085957600080fd5b5061088e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611776565b604051808215151515815260200191505060405180910390f35b3480156108b457600080fd5b506108bd611796565b604051808215151515815260200191505060405180910390f35b3480156108e357600080fd5b50610968600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506117ad565b604051808215151515815260200191505060405180910390f35b34801561098e57600080fd5b506109e3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611891565b6040518082815260200191505060405180910390f35b348015610a0557600080fd5b50610a2460048036038101908080359060200190929190505050611918565b005b348015610a3257600080fd5b50610a73600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506119de565b005b348015610a8157600080fd5b50610ab6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b04565b005b600660149054906101000a900460ff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b2757600080fd5b81600881905550806009819055505050565b606060028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bd15780601f10610ba657610100808354040283529160200191610bd1565b820191906000526020600020905b815481529060010190602001808311610bb457829003601f168201915b5050505050905090565b6000600660159054906101000a900460ff16151515610bf957600080fd5b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515610c5257600080fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515610cab57600080fd5b610cb58383611c5c565b905092915050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d1b57600080fd5b610d2482611d4e565b60019050919050565b6000600554905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d9357600080fd5b7f5468697320636f6e747261637420697320746f206265206469736f776e65642e8160001916141515610dc557600080fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a26000600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600660159054906101000a900460ff16151515610e8d57600080fd5b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515610ee657600080fd5b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515610f3f57600080fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515610f9857600080fd5b610fa3848484611dee565b90509392505050565b6000600460009054906101000a900460ff16905090565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561102157600080fd5b600660149054906101000a900460ff1615151561103d57600080fd5b61105282600554611fa090919063ffffffff16565b6005819055506110a9826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fa090919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a23073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a38273ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600061121a3383611fbf565b60019050919050565b60085481565b600660159054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561131157600080fd5b6113a082600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461210c90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061142a8383611fbf565b6001905092915050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561149257600080fd5b600660149054906101000a900460ff161515156114ae57600080fd5b6001600660146101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b60095481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561155e57600080fd5b8160029080519060200190611574929190612607565b50806003908051906020019061158b929190612607565b505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561164e5780601f106116235761010080835404028352916020019161164e565b820191906000526020600020905b81548152906001019060200180831161163157829003601f168201915b5050505050905090565b6000600660159054906101000a900460ff1615151561167657600080fd5b6009543481151561168357fe5b04905061169130338361212b565b50565b6000600660159054906101000a900460ff161515156116b257600080fd5b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561170b57600080fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561176457600080fd5b61176e838361246d565b905092915050565b60076020528060005260406000206000915054906101000a900460ff1681565b6000600660159054906101000a900460ff16905090565b6000600660159054906101000a900460ff161515156117cb57600080fd5b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561182457600080fd5b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561187d57600080fd5b611888848484612484565b90509392505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600660159054906101000a900460ff1615151561193457600080fd5b60085481026000803073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561198557600080fd5b61199033308361212b565b3373ffffffffffffffffffffffffffffffffffffffff166108fc60085483029081150290604051600060405180830381858888f193505050501580156119da573d6000803e3d6000fd5b5050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a3a57600080fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a58282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001821515151581526020019250505060405180910390a15050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b6057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611b9c57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b801515600660159054906101000a900460ff16151514151515611d7057600080fd5b80600660156101000a81548160ff0219169083151502179055503073ffffffffffffffffffffffffffffffffffffffff167f4167566c670b1fd1c64e646e19cb4ef63d0109f1af19955fa6555a550499dd93600660159054906101000a900460ff16604051808215151515815260200191505060405180910390a250565b600081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515611e7b57600080fd5b611f0a82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461210c90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f9584848461212b565b600190509392505050565b60008183019050828110151515611fb657600080fd5b80905092915050565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561200c57600080fd5b61205d816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461210c90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120b48160055461210c90919063ffffffff16565b6005819055508173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a25050565b600081831015151561211d57600080fd5b818303905080905092915050565b60008273ffffffffffffffffffffffffffffffffffffffff161415151561215157600080fd5b806000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561219e57600080fd5b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054011015151561222b57600080fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561228457600080fd5b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156122dd57600080fd5b61232e816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461210c90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123c1816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fa090919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600061247a33848461212b565b6001905092915050565b6000808490506124948585610bdb565b156125fe578073ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338630876040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561258e578082015181840152602081019050612573565b50505050905090810190601f1680156125bb5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1580156125dd57600080fd5b505af11580156125f1573d6000803e3d6000fd5b50505050600191506125ff565b5b509392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061264857805160ff1916838001178555612676565b82800160010185558215612676579182015b8281111561267557825182559160200191906001019061265a565b5b5090506126839190612687565b5090565b6126a991905b808211156126a557600081600090555060010161268d565b5090565b905600a165627a7a7230582096e922196fdae4736f0c42d06b827b70b53e4c5672851c6026c2d38f72b130bf0029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000012a05f200000000000000000000000000000000000000000000000000000000000000000a5061795820546f6b656e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035041580000000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : _name (string): PayX Token
Arg [1] : _symbol (string): PAX
Arg [2] : _decimals (uint8): 18
Arg [3] : _initSupply (uint256): 5000000000
-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [3] : 000000000000000000000000000000000000000000000000000000012a05f200
Arg [4] : 000000000000000000000000000000000000000000000000000000000000000a
Arg [5] : 5061795820546f6b656e00000000000000000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [7] : 5041580000000000000000000000000000000000000000000000000000000000
Swarm Source
bzzr://96e922196fdae4736f0c42d06b827b70b53e4c5672851c6026c2d38f72b130bf
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.