ERC-20
Overview
Max Total Supply
100,000,000 BG
Holders
7
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 Source Code Verified (Exact Match)
Contract Name:
BGToken
Compiler Version
v0.4.21+commit.dfe3193c
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-06-21 */ /** * @title Standard ERC20 token * * @dev Implementation of the basic standard token. * @dev https://github.com/OpenZeppelin/openzeppelin-solidity * * The BG token contract bases on the ERC20 standard token contracts * Company Optimum Consulting - Courbevoie * */ pragma solidity ^0.4.21; /** * @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 a / b; } /** * @dev Subtracts 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; } } /** * @title Ownable * @dev The Ownable contract has an owner address, and provides basic authorization control * functions, this simplifies the implementation of "user permissions". */ 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. */ function Ownable() 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) public onlyOwner { require(newOwner != address(0)); emit OwnershipTransferred(owner, newOwner); owner = newOwner; } } /** * @title ERC20Basic * @dev Simpler version of ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/179 */ contract ERC20Basic { function totalSupply() public view returns (uint256); function balanceOf(address who) public view returns (uint256); function transfer(address to, uint256 value) public returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); } /** * @title ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/20 */ contract ERC20 is ERC20Basic { function allowance(address owner, address spender) public view returns (uint256); function transferFrom(address from, address to, uint256 value) public returns (bool); function approve(address spender, uint256 value) public returns (bool); event Approval(address indexed owner, address indexed spender, uint256 value); } /** * @title Basic token * @dev Basic version of StandardToken, with no allowances. */ contract BasicToken is ERC20Basic { using SafeMath for uint256; mapping(address => uint256) balances; uint256 totalSupply_; /** * @dev total number of tokens in existence */ function totalSupply() public view returns (uint256) { return totalSupply_; } /** * @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) public returns (bool) { require(_to != address(0)); require(_value <= balances[msg.sender]); balances[msg.sender] = balances[msg.sender].sub(_value); balances[_to] = balances[_to].add(_value); emit Transfer(msg.sender, _to, _value); return true; } /** * @dev Gets the balance of the specified address. * @param _owner The address to query the the balance of. * @return An uint256 representing the amount owned by the passed address. */ function balanceOf(address _owner) public view returns (uint256 balance) { return balances[_owner]; } } /** * @title SafeERC20 * @dev Wrappers around ERC20 operations that throw on failure. * To use this library you can add a `using SafeERC20 for ERC20;` statement to your contract, * which allows you to call the safe operations as `token.safeTransfer(...)`, etc. */ library SafeERC20 { function safeTransfer(ERC20Basic token, address to, uint256 value) internal { assert(token.transfer(to, value)); } function safeTransferFrom( ERC20 token, address from, address to, uint256 value ) internal { assert(token.transferFrom(from, to, value)); } function safeApprove(ERC20 token, address spender, uint256 value) internal { assert(token.approve(spender, value)); } } /** * @title Pausable * * @dev Implementation of the basic standard token. * @dev https://github.com/OpenZeppelin/openzeppelin-solidity * @dev Base contract which allows children to implement an emergency stop mechanism. */ contract Pausable is Ownable { event PausePublic(bool newState); event PauseOwnerAdmin(bool newState); bool public pausedPublic = true; bool public pausedOwnerAdmin = false; uint public endDate; /** * @dev Modifier to make a function callable based on pause states. */ modifier whenNotPaused() { if(pausedPublic) { if(!pausedOwnerAdmin) { require(msg.sender == owner); } else { revert(); } } _; } /** * @dev called by the owner to set new pause flags * pausedPublic can't be false while pausedOwnerAdmin is true */ function pause(bool newPausedPublic, bool newPausedOwnerAdmin) onlyOwner public { require(!(newPausedPublic == false && newPausedOwnerAdmin == true)); pausedPublic = newPausedPublic; pausedOwnerAdmin = newPausedOwnerAdmin; emit PausePublic(newPausedPublic); emit PauseOwnerAdmin(newPausedOwnerAdmin); } } contract StandardToken is ERC20, BasicToken, Pausable { using SafeMath for uint256; mapping (address => mapping (address => uint256)) internal allowed; mapping(address => uint256) balances; /** * @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) public whenNotPaused returns (bool) { require(_to != address(0)); balances[msg.sender] = balances[msg.sender].sub(_value); balances[_to] = balances[_to].add(_value); emit Transfer(msg.sender, _to, _value); return true; } /** * @dev Gets the balance of the specified address. * @param _owner The address to query the the balance of. * @return An uint256 representing the amount owned by the passed address. */ function balanceOf(address _owner) public constant returns (uint256 balance) { return balances[_owner]; } /** * @dev Transfer tokens from one address to another * @param _from address The address which you want to send tokens from * @param _to address The address which you want to transfer to * @param _value uint256 the amount of tokens to be transferred */ function transferFrom(address _from, address _to, uint256 _value) public whenNotPaused returns (bool) { require(_to != address(0)); require(_value <= allowed[_from][msg.sender]); balances[_from] = balances[_from].sub(_value); balances[_to] = balances[_to].add(_value); allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value); emit Transfer(_from, _to, _value); return true; } /** * @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 _spender The address which will spend the funds. * @param _value The amount of tokens to be spent. */ function approve(address _spender, uint256 _value) public whenNotPaused returns (bool) { allowed[msg.sender][_spender] = _value; emit Approval(msg.sender, _spender, _value); return true; } /** * @dev Function to check the amount of tokens that an owner allowed to a spender. * @param _owner address The address which owns the funds. * @param _spender address The address which will spend the funds. * @return A uint256 specifying the amount of tokens still available for the spender. */ function allowance(address _owner, address _spender) public constant returns (uint256 remaining) { return allowed[_owner][_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 */ function increaseApproval (address _spender, uint _addedValue) public whenNotPaused returns (bool success) { allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue); emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } function decreaseApproval (address _spender, uint _subtractedValue) public whenNotPaused returns (bool success) { uint oldValue = allowed[msg.sender][_spender]; if (_subtractedValue > oldValue) { allowed[msg.sender][_spender] = 0; } else { allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue); } emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } } /** * @title Burnable Token * @dev Token that can be irreversibly burned (destroyed). */ contract BurnableToken is StandardToken { /** * @dev Burns a specific amount of tokens. * @param _value The amount of token to be burned. */ function burn(uint256 _value) public onlyOwner { require(_value > 0); require(balances[msg.sender] >= _value); address burner = msg.sender; balances[burner] = balances[burner].sub(_value); totalSupply_ = totalSupply_.sub(_value); emit Burn(burner, _value); } event Burn(address indexed burner, uint256 indexed value); } contract BGToken is StandardToken , BurnableToken { using SafeMath for uint256; string public constant name = "BlueGold"; string public constant symbol = "BG"; uint8 public constant decimals = 18; // wallets address for allocation address public Bounties_Wallet = 0x2805C02FE839210E194Fc4a12DaB683a34Ad95EF; // 5% : Bounty address public Team_Wallet = 0x6C42c4EC37d0F45E2d9C2287f399E14Ea2b3B77d; // 8% : Equity & Team address public OEM_Wallet = 0x278cB54ae3B7851D3262A307cb6780b642A29485; // 10% : Community Builting, Biz Dev address public LA_wallet = 0x1669e7910e27b1400B5567eE360de2c5Ee964859; //8% : Legal & advisors address public tokenWallet = 0xDb3D4293981adeEC2A258c0b8046eAdb20D3ff13; uint256 public constant INITIAL_SUPPLY = 100000000 ether; /// Base exchange rate is set to 1 ETH = 460 BG. uint256 tokenRate = 460; function BGToken() public { totalSupply_ = INITIAL_SUPPLY; // InitialDistribution // 31% ---> 31000000 balances[Bounties_Wallet] = INITIAL_SUPPLY.mul(5).div(100) ; balances[Team_Wallet] = INITIAL_SUPPLY.mul(8).div(100); balances[OEM_Wallet] = INITIAL_SUPPLY.mul(10).div(100) ; balances[LA_wallet] = INITIAL_SUPPLY.mul(8).div(100) ; // 69% ---> 69000000 balances[tokenWallet] = INITIAL_SUPPLY.mul(69).div(100); emit Transfer(0x0, Bounties_Wallet, balances[Bounties_Wallet]); emit Transfer(0x0, Team_Wallet, balances[Team_Wallet]); emit Transfer(0x0, OEM_Wallet, balances[OEM_Wallet]); emit Transfer(0x0, LA_wallet, balances[LA_wallet]); emit Transfer(0x0, tokenWallet, balances[tokenWallet]); endDate = _endDate; } uint constant _endDate = 1546297199; /// Close Main Sale - Monday 31 December 2018 23:59:59 uint256 Bonus = 30; uint256 extraBonus = 20; struct Stat { uint currentFundraiser; uint otherAmount; uint ethAmount; uint txCounter; } Stat public stat; /// Maximum tokens to be allocated on the sale (69% of the hard cap) uint256 IcoCap = INITIAL_SUPPLY; /** * @dev modifier to allow actions only when ICO end date is not now */ modifier isRunning { require (endDate >= now); _; } /// @notice Buy tokens from contract by sending ether function () payable isRunning public { if (msg.value < 0.001 ether) revert(); buyTokens(); } /// @notice Buy tokens from contract by sending ether function buyTokens() internal { /// only accept a minimum amount of ETH? require(msg.value >= 0.001 ether); uint256 tokens ; uint256 xAmount = msg.value; uint256 toReturnEth; uint256 toTokensReturn; uint256 balanceIco ; uint256 AllBonus = 0; balanceIco = IcoCap; balanceIco = balanceIco.sub(stat.currentFundraiser); AllBonus= Bonus.add(extraBonus); tokens = xAmount.mul(tokenRate); tokens = (tokens.mul(100)).div(100 - (AllBonus)); if (balanceIco < tokens) { toTokensReturn = tokens.sub(balanceIco); toReturnEth = toTokensReturn.mul(tokenRate); } if (tokens > 0 ) { if (balanceIco < tokens) { /// return ETH if (toReturnEth <= xAmount) { msg.sender.transfer(toReturnEth); _EnvoisTokens(balanceIco, xAmount - toReturnEth); } } else { _EnvoisTokens(tokens, xAmount); } } else { revert(); } } /// @dev issue tokens for a single buyer /// @dev Issue token based on Ether received. /// @param _amount the amount of tokens to send /// @param _ethers the amount of ether it will receive function _EnvoisTokens(uint _amount, uint _ethers) internal { /// sends tokens ODEEP to the buyer sendTokens(msg.sender, _amount); stat.currentFundraiser += _amount; /// sends ether to the seller tokenWallet.transfer(_ethers); stat.ethAmount += _ethers; stat.txCounter += 1; } /// @dev issue tokens for a single buyer /// @dev Issue token based on Ether received. /// @param _to address to send to /// @param _amount the amount of tokens to send function sendTokens(address _to, uint _amount) internal { require(_amount <= balances[tokenWallet]); balances[tokenWallet] -= _amount; balances[_to] += _amount; emit Transfer(tokenWallet, _to, _amount); } /// @dev issue tokens for a single buyer /// @param _to address to send to /// @param _amount the amount of tokens to send /// @param _otherAmount the amount of pay function _sendTokensManually(address _to, uint _amount, uint _otherAmount) public onlyOwner { require(_to != address(0)); sendTokens(_to, _amount); stat.currentFundraiser += _amount; stat.otherAmount += _otherAmount; stat.txCounter += 1; } /// @dev modify ICO cap. /// @param newIcoCap the new Cap. function setIcoCap(uint256 newIcoCap) public onlyOwner { IcoCap = newIcoCap; } /// @dev Returns the current Cap. function getIcoCap() public constant returns (uint256) { return (IcoCap); } /// @dev modify Base exchange rate. /// @param newTokenRate the new rate. function setTokenRate(uint newTokenRate) public onlyOwner { tokenRate = newTokenRate; } /// @dev Returns the current rate. function getTokenRate() public constant returns (uint) { return (tokenRate); } /// @dev modify Bonus. /// @param newBonus the new Bonus. function setBonus(uint newBonus) public onlyOwner { Bonus = newBonus; } /// @dev Returns the current Bonus. function getBonus() public constant returns (uint) { return (Bonus); } /// @dev modify ExtraBonus. /// @param newExtraBonus the new Bonus. function setExtraBonus(uint newExtraBonus) public onlyOwner { extraBonus = newExtraBonus; } /// @dev Returns the current ExtraBonus. function getExtraBonus() public constant returns (uint) { return (extraBonus); } /// @dev modify endDate. /// @param newEndDate the new endDate. function setEndDate(uint newEndDate) public onlyOwner { endDate = newEndDate; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_otherAmount","type":"uint256"}],"name":"_sendTokensManually","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"stat","outputs":[{"name":"currentFundraiser","type":"uint256"},{"name":"otherAmount","type":"uint256"},{"name":"ethAmount","type":"uint256"},{"name":"txCounter","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newBonus","type":"uint256"}],"name":"setBonus","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"pausedPublic","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"LA_wallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"INITIAL_SUPPLY","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":false,"inputs":[{"name":"newEndDate","type":"uint256"}],"name":"setEndDate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getTokenRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getIcoCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"Bounties_Wallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newTokenRate","type":"uint256"}],"name":"setTokenRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"pausedOwnerAdmin","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"OEM_Wallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getBonus","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":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newIcoCap","type":"uint256"}],"name":"setIcoCap","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokenWallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"endDate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","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":"newPausedPublic","type":"bool"},{"name":"newPausedOwnerAdmin","type":"bool"}],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"Team_Wallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newExtraBonus","type":"uint256"}],"name":"setExtraBonus","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getExtraBonus","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":true,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newState","type":"bool"}],"name":"PausePublic","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newState","type":"bool"}],"name":"PauseOwnerAdmin","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","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":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]
Contract Creation Code
60606040526002805460a860020a60ff021960a060020a60ff0219909116740100000000000000000000000000000000000000001716905560068054600160a060020a0319908116732805c02fe839210e194fc4a12dab683a34ad95ef17909155600780548216736c42c4ec37d0f45e2d9c2287f399e14ea2b3b77d17905560088054821673278cb54ae3b7851d3262a307cb6780b642a29485179055600980548216731669e7910e27b1400b5567ee360de2c5ee964859179055600a805490911673db3d4293981adeec2a258c0b8046eadb20d3ff131790556101cc600b55601e600c556014600d556a52b7d2dcc80cd2e400000060125534156200010457600080fd5b60028054600160a060020a03191633600160a060020a03161790556a52b7d2dcc80cd2e40000006001819055620001689060649062000153906005640100000000620003d98102620011e11704565b906401000000006200120c6200041382021704565b600654600160a060020a0316600090815260056020526040902055620001af6064620001536a52b7d2dcc80cd2e40000006008640100000000620011e1620003d982021704565b600754600160a060020a0316600090815260056020526040902055620001f66064620001536a52b7d2dcc80cd2e4000000600a640100000000620011e1620003d982021704565b60088054600160a060020a0316600090815260056020526040902091909155620002439060649062000153906a52b7d2dcc80cd2e400000090640100000000620011e1620003d982021704565b600954600160a060020a03166000908152600560205260409020556200028a6064620001536a52b7d2dcc80cd2e40000006045640100000000620011e1620003d982021704565b600a54600160a060020a03908116600090815260056020526040808220939093556006549091168082528282205490926000805160206200177a83398151915291905190815260200160405180910390a3600754600160a060020a0316600081815260056020526040808220546000805160206200177a833981519152915190815260200160405180910390a3600854600160a060020a0316600081815260056020526040808220546000805160206200177a833981519152915190815260200160405180910390a3600954600160a060020a0316600081815260056020526040808220546000805160206200177a833981519152915190815260200160405180910390a3600a54600160a060020a0316600081815260056020526040808220546000805160206200177a833981519152915190815260200160405180910390a3635c2a9f6f60035562000429565b600080831515620003ee57600091506200040c565b50828202828482811515620003ff57fe5b04146200040857fe5b8091505b5092915050565b600081838115156200042157fe5b049392505050565b61134180620004396000396000f3006060604052600436106101b55763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041662b526e481146101e35780630435a7451461020857806306fdde0314610246578063095ea7b3146102d05780630b98f9751461030657806318160ddd1461031c57806323b872dd1461034157806324bb7c26146103695780632b2e76f31461037c5780632ff2e9dc146103ab578063313ce567146103be5780633784f000146103e75780633e2d7004146103fd57806342966c68146104105780634cb84b9a146104265780634f424da31461043957806361241c281461044c57806364779ad714610462578063661884631461047557806370a082311461049757806379ae77cf146104b65780638bdff161146104c95780638da5cb5b146104dc57806395d89b41146104ef578063a9059cbb14610502578063b4d00d9414610524578063bff99c6c1461053a578063c24a0f8b1461054d578063d73dd62314610560578063dd62ed3e14610582578063ddeb5094146105a7578063eacc25e7146105c4578063f1bab09c146105d7578063f2fde38b146105ed578063fce846e81461060c575b600354429010156101c557600080fd5b66038d7ea4c680003410156101d957600080fd5b6101e161061f565b005b34156101ee57600080fd5b6101e1600160a060020a036004351660243560443561075c565b341561021357600080fd5b61021b6107b5565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390f35b341561025157600080fd5b6102596107c4565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561029557808201518382015260200161027d565b50505050905090810190601f1680156102c25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156102db57600080fd5b6102f2600160a060020a03600435166024356107fb565b604051901515815260200160405180910390f35b341561031157600080fd5b6101e16004356108a7565b341561032757600080fd5b61032f6108c7565b60405190815260200160405180910390f35b341561034c57600080fd5b6102f2600160a060020a03600435811690602435166044356108cd565b341561037457600080fd5b6102f2610a6b565b341561038757600080fd5b61038f610a7b565b604051600160a060020a03909116815260200160405180910390f35b34156103b657600080fd5b61032f610a8a565b34156103c957600080fd5b6103d1610a99565b60405160ff909116815260200160405180910390f35b34156103f257600080fd5b6101e1600435610a9e565b341561040857600080fd5b61032f610abe565b341561041b57600080fd5b6101e1600435610ac4565b341561043157600080fd5b61032f610ba4565b341561044457600080fd5b61038f610baa565b341561045757600080fd5b6101e1600435610bb9565b341561046d57600080fd5b6102f2610bd9565b341561048057600080fd5b6102f2600160a060020a0360043516602435610be9565b34156104a257600080fd5b61032f600160a060020a0360043516610d29565b34156104c157600080fd5b61038f610d44565b34156104d457600080fd5b61032f610d53565b34156104e757600080fd5b61038f610d59565b34156104fa57600080fd5b610259610d68565b341561050d57600080fd5b6102f2600160a060020a0360043516602435610d9f565b341561052f57600080fd5b6101e1600435610eb6565b341561054557600080fd5b61038f610ed6565b341561055857600080fd5b61032f610ee5565b341561056b57600080fd5b6102f2600160a060020a0360043516602435610eeb565b341561058d57600080fd5b61032f600160a060020a0360043581169060243516610fd0565b34156105b257600080fd5b6101e160043515156024351515610ffb565b34156105cf57600080fd5b61038f6110e9565b34156105e257600080fd5b6101e16004356110f8565b34156105f857600080fd5b6101e1600160a060020a0360043516611118565b341561061757600080fd5b61032f6111b3565b6000808080808066038d7ea4c6800034101561063a57600080fd5b5050601254600e5434945060009061065990839063ffffffff6111b916565b9150610672600d54600c546111cb90919063ffffffff16565b9050610689600b54866111e190919063ffffffff16565b95506106b2816064036106a66064896111e190919063ffffffff16565b9063ffffffff61120c16565b9550858210156106e6576106cc868363ffffffff6111b916565b92506106e3600b54846111e190919063ffffffff16565b93505b600086111561074f57858210156107405784841161073b57600160a060020a03331684156108fc0285604051600060405180830381858888f19350505050151561072f57600080fd5b61073b82858703611221565b61074a565b61074a8686611221565b610754565b600080fd5b505050505050565b60025433600160a060020a0390811691161461077757600080fd5b600160a060020a038316151561078c57600080fd5b610796838361127b565b600e8054909201909155600f8054909101905550601180546001019055565b600e54600f5460105460115484565b60408051908101604052600881527f426c7565476f6c64000000000000000000000000000000000000000000000000602082015281565b60025460009060a060020a900460ff161561083e5760025460a860020a900460ff16151561074f5760025433600160a060020a0390811691161461083e57600080fd5b600160a060020a03338116600081815260046020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60025433600160a060020a039081169116146108c257600080fd5b600c55565b60015490565b60025460009060a060020a900460ff16156109105760025460a860020a900460ff16151561074f5760025433600160a060020a0390811691161461091057600080fd5b600160a060020a038316151561092557600080fd5b600160a060020a038085166000908152600460209081526040808320339094168352929052205482111561095857600080fd5b600160a060020a038416600090815260056020526040902054610981908363ffffffff6111b916565b600160a060020a0380861660009081526005602052604080822093909355908516815220546109b6908363ffffffff6111cb16565b600160a060020a038085166000908152600560209081526040808320949094558783168252600481528382203390931682529190915220546109fe908363ffffffff6111b916565b600160a060020a03808616600081815260046020908152604080832033861684529091529081902093909355908516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060019392505050565b60025460a060020a900460ff1681565b600954600160a060020a031681565b6a52b7d2dcc80cd2e400000081565b601281565b60025433600160a060020a03908116911614610ab957600080fd5b600355565b600b5490565b60025460009033600160a060020a03908116911614610ae257600080fd5b60008211610aef57600080fd5b600160a060020a03331660009081526005602052604090205482901015610b1557600080fd5b5033600160a060020a038116600090815260056020526040902054610b3a90836111b9565b600160a060020a038216600090815260056020526040902055600154610b66908363ffffffff6111b916565b60015581600160a060020a0382167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca560405160405180910390a35050565b60125490565b600654600160a060020a031681565b60025433600160a060020a03908116911614610bd457600080fd5b600b55565b60025460a860020a900460ff1681565b600254600090819060a060020a900460ff1615610c2e5760025460a860020a900460ff16151561074f5760025433600160a060020a03908116911614610c2e57600080fd5b50600160a060020a0333811660009081526004602090815260408083209387168352929052205480831115610c8a57600160a060020a033381166000908152600460209081526040808320938816835292905290812055610cc1565b610c9a818463ffffffff6111b916565b600160a060020a033381166000908152600460209081526040808320938916835292905220555b600160a060020a0333811660008181526004602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a3600191505b5092915050565b600160a060020a031660009081526005602052604090205490565b600854600160a060020a031681565b600c5490565b600254600160a060020a031681565b60408051908101604052600281527f4247000000000000000000000000000000000000000000000000000000000000602082015281565b60025460009060a060020a900460ff1615610de25760025460a860020a900460ff16151561074f5760025433600160a060020a03908116911614610de257600080fd5b600160a060020a0383161515610df757600080fd5b600160a060020a033316600090815260056020526040902054610e20908363ffffffff6111b916565b600160a060020a033381166000908152600560205260408082209390935590851681522054610e55908363ffffffff6111cb16565b600160a060020a0380851660008181526005602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b60025433600160a060020a03908116911614610ed157600080fd5b601255565b600a54600160a060020a031681565b60035481565b60025460009060a060020a900460ff1615610f2e5760025460a860020a900460ff16151561074f5760025433600160a060020a03908116911614610f2e57600080fd5b600160a060020a03338116600090815260046020908152604080832093871683529290522054610f64908363ffffffff6111cb16565b600160a060020a0333811660008181526004602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a350600192915050565b600160a060020a03918216600090815260046020908152604080832093909416825291909152205490565b60025433600160a060020a0390811691161461101657600080fd5b8115801561102657506001811515145b1561103057600080fd5b6002805474ff0000000000000000000000000000000000000000191660a060020a841515021775ff000000000000000000000000000000000000000000191660a860020a831515021790557fa14d191ca4f53bfcf003c65d429362010a2d3d68bc0c50cce4bdc0fccf661fb082604051901515815260200160405180910390a17fc77636fc4a62a1fa193ef538c0b7993a1313a0d9c0a9173058cebcd3239ef7b581604051901515815260200160405180910390a15050565b600754600160a060020a031681565b60025433600160a060020a0390811691161461111357600080fd5b600d55565b60025433600160a060020a0390811691161461113357600080fd5b600160a060020a038116151561114857600080fd5b600254600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600d5490565b6000828211156111c557fe5b50900390565b6000828201838110156111da57fe5b9392505050565b6000808315156111f45760009150610d22565b5082820282848281151561120457fe5b04146111da57fe5b6000818381151561121957fe5b049392505050565b61122b338361127b565b600e805483019055600a54600160a060020a031681156108fc0282604051600060405180830381858888f19350505050151561126657600080fd5b60108054909101905550601180546001019055565b600a54600160a060020a03166000908152600560205260409020548111156112a257600080fd5b600a8054600160a060020a039081166000908152600560205260408082208054869003905585831680835291819020805486019055925490929116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9084905190815260200160405180910390a350505600a165627a7a723058207cb7a8c975076dc39598fba80c4a4443ea434662e036780a242a26ec224c01680029ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
Deployed Bytecode
0x6060604052600436106101b55763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041662b526e481146101e35780630435a7451461020857806306fdde0314610246578063095ea7b3146102d05780630b98f9751461030657806318160ddd1461031c57806323b872dd1461034157806324bb7c26146103695780632b2e76f31461037c5780632ff2e9dc146103ab578063313ce567146103be5780633784f000146103e75780633e2d7004146103fd57806342966c68146104105780634cb84b9a146104265780634f424da31461043957806361241c281461044c57806364779ad714610462578063661884631461047557806370a082311461049757806379ae77cf146104b65780638bdff161146104c95780638da5cb5b146104dc57806395d89b41146104ef578063a9059cbb14610502578063b4d00d9414610524578063bff99c6c1461053a578063c24a0f8b1461054d578063d73dd62314610560578063dd62ed3e14610582578063ddeb5094146105a7578063eacc25e7146105c4578063f1bab09c146105d7578063f2fde38b146105ed578063fce846e81461060c575b600354429010156101c557600080fd5b66038d7ea4c680003410156101d957600080fd5b6101e161061f565b005b34156101ee57600080fd5b6101e1600160a060020a036004351660243560443561075c565b341561021357600080fd5b61021b6107b5565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390f35b341561025157600080fd5b6102596107c4565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561029557808201518382015260200161027d565b50505050905090810190601f1680156102c25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156102db57600080fd5b6102f2600160a060020a03600435166024356107fb565b604051901515815260200160405180910390f35b341561031157600080fd5b6101e16004356108a7565b341561032757600080fd5b61032f6108c7565b60405190815260200160405180910390f35b341561034c57600080fd5b6102f2600160a060020a03600435811690602435166044356108cd565b341561037457600080fd5b6102f2610a6b565b341561038757600080fd5b61038f610a7b565b604051600160a060020a03909116815260200160405180910390f35b34156103b657600080fd5b61032f610a8a565b34156103c957600080fd5b6103d1610a99565b60405160ff909116815260200160405180910390f35b34156103f257600080fd5b6101e1600435610a9e565b341561040857600080fd5b61032f610abe565b341561041b57600080fd5b6101e1600435610ac4565b341561043157600080fd5b61032f610ba4565b341561044457600080fd5b61038f610baa565b341561045757600080fd5b6101e1600435610bb9565b341561046d57600080fd5b6102f2610bd9565b341561048057600080fd5b6102f2600160a060020a0360043516602435610be9565b34156104a257600080fd5b61032f600160a060020a0360043516610d29565b34156104c157600080fd5b61038f610d44565b34156104d457600080fd5b61032f610d53565b34156104e757600080fd5b61038f610d59565b34156104fa57600080fd5b610259610d68565b341561050d57600080fd5b6102f2600160a060020a0360043516602435610d9f565b341561052f57600080fd5b6101e1600435610eb6565b341561054557600080fd5b61038f610ed6565b341561055857600080fd5b61032f610ee5565b341561056b57600080fd5b6102f2600160a060020a0360043516602435610eeb565b341561058d57600080fd5b61032f600160a060020a0360043581169060243516610fd0565b34156105b257600080fd5b6101e160043515156024351515610ffb565b34156105cf57600080fd5b61038f6110e9565b34156105e257600080fd5b6101e16004356110f8565b34156105f857600080fd5b6101e1600160a060020a0360043516611118565b341561061757600080fd5b61032f6111b3565b6000808080808066038d7ea4c6800034101561063a57600080fd5b5050601254600e5434945060009061065990839063ffffffff6111b916565b9150610672600d54600c546111cb90919063ffffffff16565b9050610689600b54866111e190919063ffffffff16565b95506106b2816064036106a66064896111e190919063ffffffff16565b9063ffffffff61120c16565b9550858210156106e6576106cc868363ffffffff6111b916565b92506106e3600b54846111e190919063ffffffff16565b93505b600086111561074f57858210156107405784841161073b57600160a060020a03331684156108fc0285604051600060405180830381858888f19350505050151561072f57600080fd5b61073b82858703611221565b61074a565b61074a8686611221565b610754565b600080fd5b505050505050565b60025433600160a060020a0390811691161461077757600080fd5b600160a060020a038316151561078c57600080fd5b610796838361127b565b600e8054909201909155600f8054909101905550601180546001019055565b600e54600f5460105460115484565b60408051908101604052600881527f426c7565476f6c64000000000000000000000000000000000000000000000000602082015281565b60025460009060a060020a900460ff161561083e5760025460a860020a900460ff16151561074f5760025433600160a060020a0390811691161461083e57600080fd5b600160a060020a03338116600081815260046020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60025433600160a060020a039081169116146108c257600080fd5b600c55565b60015490565b60025460009060a060020a900460ff16156109105760025460a860020a900460ff16151561074f5760025433600160a060020a0390811691161461091057600080fd5b600160a060020a038316151561092557600080fd5b600160a060020a038085166000908152600460209081526040808320339094168352929052205482111561095857600080fd5b600160a060020a038416600090815260056020526040902054610981908363ffffffff6111b916565b600160a060020a0380861660009081526005602052604080822093909355908516815220546109b6908363ffffffff6111cb16565b600160a060020a038085166000908152600560209081526040808320949094558783168252600481528382203390931682529190915220546109fe908363ffffffff6111b916565b600160a060020a03808616600081815260046020908152604080832033861684529091529081902093909355908516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060019392505050565b60025460a060020a900460ff1681565b600954600160a060020a031681565b6a52b7d2dcc80cd2e400000081565b601281565b60025433600160a060020a03908116911614610ab957600080fd5b600355565b600b5490565b60025460009033600160a060020a03908116911614610ae257600080fd5b60008211610aef57600080fd5b600160a060020a03331660009081526005602052604090205482901015610b1557600080fd5b5033600160a060020a038116600090815260056020526040902054610b3a90836111b9565b600160a060020a038216600090815260056020526040902055600154610b66908363ffffffff6111b916565b60015581600160a060020a0382167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca560405160405180910390a35050565b60125490565b600654600160a060020a031681565b60025433600160a060020a03908116911614610bd457600080fd5b600b55565b60025460a860020a900460ff1681565b600254600090819060a060020a900460ff1615610c2e5760025460a860020a900460ff16151561074f5760025433600160a060020a03908116911614610c2e57600080fd5b50600160a060020a0333811660009081526004602090815260408083209387168352929052205480831115610c8a57600160a060020a033381166000908152600460209081526040808320938816835292905290812055610cc1565b610c9a818463ffffffff6111b916565b600160a060020a033381166000908152600460209081526040808320938916835292905220555b600160a060020a0333811660008181526004602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a3600191505b5092915050565b600160a060020a031660009081526005602052604090205490565b600854600160a060020a031681565b600c5490565b600254600160a060020a031681565b60408051908101604052600281527f4247000000000000000000000000000000000000000000000000000000000000602082015281565b60025460009060a060020a900460ff1615610de25760025460a860020a900460ff16151561074f5760025433600160a060020a03908116911614610de257600080fd5b600160a060020a0383161515610df757600080fd5b600160a060020a033316600090815260056020526040902054610e20908363ffffffff6111b916565b600160a060020a033381166000908152600560205260408082209390935590851681522054610e55908363ffffffff6111cb16565b600160a060020a0380851660008181526005602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b60025433600160a060020a03908116911614610ed157600080fd5b601255565b600a54600160a060020a031681565b60035481565b60025460009060a060020a900460ff1615610f2e5760025460a860020a900460ff16151561074f5760025433600160a060020a03908116911614610f2e57600080fd5b600160a060020a03338116600090815260046020908152604080832093871683529290522054610f64908363ffffffff6111cb16565b600160a060020a0333811660008181526004602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a350600192915050565b600160a060020a03918216600090815260046020908152604080832093909416825291909152205490565b60025433600160a060020a0390811691161461101657600080fd5b8115801561102657506001811515145b1561103057600080fd5b6002805474ff0000000000000000000000000000000000000000191660a060020a841515021775ff000000000000000000000000000000000000000000191660a860020a831515021790557fa14d191ca4f53bfcf003c65d429362010a2d3d68bc0c50cce4bdc0fccf661fb082604051901515815260200160405180910390a17fc77636fc4a62a1fa193ef538c0b7993a1313a0d9c0a9173058cebcd3239ef7b581604051901515815260200160405180910390a15050565b600754600160a060020a031681565b60025433600160a060020a0390811691161461111357600080fd5b600d55565b60025433600160a060020a0390811691161461113357600080fd5b600160a060020a038116151561114857600080fd5b600254600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600d5490565b6000828211156111c557fe5b50900390565b6000828201838110156111da57fe5b9392505050565b6000808315156111f45760009150610d22565b5082820282848281151561120457fe5b04146111da57fe5b6000818381151561121957fe5b049392505050565b61122b338361127b565b600e805483019055600a54600160a060020a031681156108fc0282604051600060405180830381858888f19350505050151561126657600080fd5b60108054909101905550601180546001019055565b600a54600160a060020a03166000908152600560205260409020548111156112a257600080fd5b600a8054600160a060020a039081166000908152600560205260408082208054869003905585831680835291819020805486019055925490929116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9084905190815260200160405180910390a350505600a165627a7a723058207cb7a8c975076dc39598fba80c4a4443ea434662e036780a242a26ec224c01680029
Swarm Source
bzzr://7cb7a8c975076dc39598fba80c4a4443ea434662e036780a242a26ec224c0168
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.