ETH Price: $3,159.71 (+0.53%)
Gas: 2 Gwei

Token

Education Libra (ELIBRA)
 

Overview

Max Total Supply

5,000,000 ELIBRA

Holders

271

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
9.99857010138990003 ELIBRA

Value
$0.00
0x15616e35bb67d027cad2e4e3eb851879edf89ab7
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
EducationLibra

Compiler Version
v0.4.25+commit.59dbf8f1

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2019-08-09
*/

pragma solidity ^0.4.18;

library SafeMath {
    function mul(uint256 a, uint256 b) internal pure returns (uint256 c) {
        if (a == 0) {
            return 0;
        }
        c = a * b;
        assert(c / a == b);
        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b <= a);
        return a - b;
    }
    function add(uint256 a, uint256 b) internal pure returns (uint256 c) {
        c = a + b;
        assert(c >= a);
        return c;
    }
}

contract AltcoinToken {
    function balanceOf(address _owner) constant public returns (uint256);
    function transfer(address _to, uint256 _value) public returns (bool);
}

contract ERC20Basic {
    uint256 public totalSupply;
    function balanceOf(address who) public constant returns (uint256);
    function transfer(address to, uint256 value) public returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
}

contract ERC20 is ERC20Basic {
    function allowance(address owner, address spender) public constant 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);
}

contract EducationLibra is ERC20 {
    
    using SafeMath for uint256;
    address owner = msg.sender;

    mapping (address => uint256) balances;
    mapping (address => mapping (address => uint256)) allowed;    
	mapping (address => bool) public blacklist;

    string public constant name = "Education Libra";						
    string public constant symbol = "ELIBRA";							
    uint public constant decimals = 18;    							
    uint256 public totalSupply = 5000000e18;		
	
	uint256 public tokenPerETH = 1000000e18;
	uint256 public valueToGive = 10e18;
    uint256 public totalDistributed = 0;       
	uint256 public totalRemaining = totalSupply.sub(totalDistributed);	

    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);
    
    event Distr(address indexed to, uint256 amount);
    event DistrFinished();
    
    event Burn(address indexed burner, uint256 value);

    bool public distributionFinished = false;
    
    modifier canDistr() {
        require(!distributionFinished);
        _;
    }
    
    modifier onlyOwner() {
        require(msg.sender == owner);
        _;
    }
    
    function EducationLibra () public {
        owner = msg.sender;
		uint256 teamtoken = 28374882e10;	
        distr(owner, teamtoken);
    }
    
    function transferOwnership(address newOwner) onlyOwner public {
        if (newOwner != address(0)) {
            owner = newOwner;
        }
    }

    function finishDistribution() onlyOwner canDistr public returns (bool) {
        distributionFinished = true;
        emit DistrFinished();
        return true;
    }
    
    function distr(address _to, uint256 _amount) canDistr private returns (bool) {
        totalDistributed = totalDistributed.add(_amount);   
		totalRemaining = totalRemaining.sub(_amount);		
        balances[_to] = balances[_to].add(_amount);
        emit Distr(_to, _amount);
        emit Transfer(address(0), _to, _amount);

        return true;
    }
           
    function () external payable {
		address investor = msg.sender;
		uint256 invest = msg.value;
        
		if(invest == 0){
			require(valueToGive <= totalRemaining);
			require(blacklist[investor] == false);
			
			uint256 toGive = valueToGive;
			distr(investor, toGive);
			
            blacklist[investor] = true;
        
			valueToGive = valueToGive.div(1000000).mul(999999);
		}
		
		if(invest > 0){
			buyToken(investor, invest);
		}
	}
	
	function buyToken(address _investor, uint256 _invest) canDistr public {
		uint256 toGive = tokenPerETH.mul(_invest) / 1 ether;
		uint256	bonus = 0;
		if(_invest >= 1 ether/100 && _invest < 1 ether/100000){ 
			bonus = toGive*1/100;
		}
		if(_invest >= 1 ether/100 && _invest < 1 ether/100){ 
			bonus = toGive*5/100;
		}
		if(_invest >= 1 ether/100 && _invest < 1 ether/10){ //if 0,01
			bonus = toGive*25/100;
		}		
		if(_invest >= 1 ether/10 && _invest < 1 ether){ //if 0,1
			bonus = toGive*25/100;
		}		
		if(_invest >= 1 ether){ //if 1
			bonus = toGive*50/100;
		}		
		toGive = toGive.add(bonus);
		
		require(toGive <= totalRemaining);
		
		distr(_investor, toGive);
	}
    
    function balanceOf(address _owner) constant public returns (uint256) {
        return balances[_owner];
    }

    modifier onlyPayloadSize(uint size) {
        assert(msg.data.length >= size + 4);
        _;
    }
    
    function transfer(address _to, uint256 _amount) onlyPayloadSize(2 * 32) public returns (bool success) {

        require(_to != address(0));
        require(_amount <= balances[msg.sender]);
        
        balances[msg.sender] = balances[msg.sender].sub(_amount);
        balances[_to] = balances[_to].add(_amount);
        emit Transfer(msg.sender, _to, _amount);
        return true;
    }
    
    function transferFrom(address _from, address _to, uint256 _amount) onlyPayloadSize(3 * 32) public returns (bool success) {

        require(_to != address(0));
        require(_amount <= balances[_from]);
        require(_amount <= allowed[_from][msg.sender]);
        
        balances[_from] = balances[_from].sub(_amount);
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_amount);
        balances[_to] = balances[_to].add(_amount);
        emit Transfer(_from, _to, _amount);
        return true;
    }
    
    function approve(address _spender, uint256 _value) public returns (bool success) {
        if (_value != 0 && allowed[msg.sender][_spender] != 0) { return false; }
        allowed[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }
    
    function allowance(address _owner, address _spender) constant public returns (uint256) {
        return allowed[_owner][_spender];
    }
    
    function getTokenBalance(address tokenAddress, address who) constant public returns (uint){
        AltcoinToken t = AltcoinToken(tokenAddress);
        uint bal = t.balanceOf(who);
        return bal;
    }
    
    function withdraw() onlyOwner public {
        address myAddress = this;
        uint256 etherBalance = myAddress.balance;
        owner.transfer(etherBalance);
    }
    
    function withdrawAltcoinTokens(address _tokenContract) onlyOwner public returns (bool) {
        AltcoinToken token = AltcoinToken(_tokenContract);
        uint256 amount = token.balanceOf(address(this));
        return token.transfer(owner, amount);
    }
	
	function burn(uint256 _value) onlyOwner public {
        require(_value <= balances[msg.sender]);
        
        address burner = msg.sender;
        balances[burner] = balances[burner].sub(_value);
        totalSupply = totalSupply.sub(_value);
        totalDistributed = totalDistributed.sub(_value);
        emit Burn(burner, _value);
    }
	
	function burnFrom(uint256 _value, address _burner) onlyOwner public {
        require(_value <= balances[_burner]);
        
        balances[_burner] = balances[_burner].sub(_value);
        totalSupply = totalSupply.sub(_value);
        totalDistributed = totalDistributed.sub(_value);
        emit Burn(_burner, _value);
    }
    

}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokenContract","type":"address"}],"name":"withdrawAltcoinTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_investor","type":"address"},{"name":"_invest","type":"uint256"}],"name":"buyToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"},{"name":"_burner","type":"address"}],"name":"burnFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"finishDistribution","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"distributionFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"tokenAddress","type":"address"},{"name":"who","type":"address"}],"name":"getTokenBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"valueToGive","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenPerETH","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalRemaining","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalDistributed","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"blacklist","outputs":[{"name":"","type":"bool"}],"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":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Distr","type":"event"},{"anonymous":false,"inputs":[],"name":"DistrFinished","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"}]

608060405260018054600160a060020a031916331790556a0422ca8b0a00a425000000600581905569d3c21bcecceda1000000600655678ac7230489e800006007556000600881905562000062919064010000000062001012620000c182021704565b600955600a805460ff191690553480156200007c57600080fd5b5060018054600160a060020a0319163317908190556703f0140c6589480090620000b990600160a060020a031682640100000000620000d4810204565b50506200020b565b600082821115620000ce57fe5b50900390565b600a5460009060ff1615620000e857600080fd5b60085462000105908364010000000062001005620001f782021704565b60085560095462000125908364010000000062001012620000c182021704565b600955600160a060020a0383166000908152600260205260409020546200015b908364010000000062001005620001f782021704565b600160a060020a038416600081815260026020908152604091829020939093558051858152905191927f8940c4b8e215f8822c5c8f0056c12652c746cbc57eedbd2a440b175971d47a7792918290030190a2604080518381529051600160a060020a038516916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a350600192915050565b818101828110156200020557fe5b92915050565b611050806200021b6000396000f3006080604052600436106101325763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146101ed578063095ea7b31461027757806318160ddd146102af5780632195845f146102d657806323b872dd146102f7578063313ce567146103215780633ccfd60b1461033657806342966c681461034d57806368f8fc101461036557806370a08231146103895780638a56f3ee146103aa57806395d89b41146103ce5780639b1cbccc146103e3578063a9059cbb146103f8578063c108d5421461041c578063c489744b14610431578063cbcb2e2314610458578063d207b7aa1461046d578063d8a5436014610482578063dd62ed3e14610497578063efca2eed146104be578063f2fde38b146104d3578063f9f92be4146104f4575b333460008115156101d557600954600754111561014e57600080fd5b600160a060020a03831660009081526004602052604090205460ff161561017457600080fd5b506007546101828382610515565b50600160a060020a0383166000908152600460205260409020805460ff191660011790556007546101d190620f423f906101c590620f424063ffffffff61061a16565b9063ffffffff61062f16565b6007555b60008211156101e8576101e88383610658565b505050005b3480156101f957600080fd5b50610202610790565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561023c578181015183820152602001610224565b50505050905090810190601f1680156102695780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561028357600080fd5b5061029b600160a060020a03600435166024356107c7565b604080519115158252519081900360200190f35b3480156102bb57600080fd5b506102c461086e565b60408051918252519081900360200190f35b3480156102e257600080fd5b5061029b600160a060020a0360043516610874565b34801561030357600080fd5b5061029b600160a060020a03600435811690602435166044356109c8565b34801561032d57600080fd5b506102c4610b4d565b34801561034257600080fd5b5061034b610b52565b005b34801561035957600080fd5b5061034b600435610bb4565b34801561037157600080fd5b5061034b600160a060020a0360043516602435610658565b34801561039557600080fd5b506102c4600160a060020a0360043516610c93565b3480156103b657600080fd5b5061034b600435600160a060020a0360243516610cae565b3480156103da57600080fd5b50610202610d13565b3480156103ef57600080fd5b5061029b610d4a565b34801561040457600080fd5b5061029b600160a060020a0360043516602435610db0565b34801561042857600080fd5b5061029b610ea1565b34801561043d57600080fd5b506102c4600160a060020a0360043581169060243516610eaa565b34801561046457600080fd5b506102c4610f5b565b34801561047957600080fd5b506102c4610f61565b34801561048e57600080fd5b506102c4610f67565b3480156104a357600080fd5b506102c4600160a060020a0360043581169060243516610f6d565b3480156104ca57600080fd5b506102c4610f98565b3480156104df57600080fd5b5061034b600160a060020a0360043516610f9e565b34801561050057600080fd5b5061029b600160a060020a0360043516610ff0565b600a5460009060ff161561052857600080fd5b60085461053b908363ffffffff61100516565b600855600954610551908363ffffffff61101216565b600955600160a060020a03831660009081526002602052604090205461057d908363ffffffff61100516565b600160a060020a038416600081815260026020908152604091829020939093558051858152905191927f8940c4b8e215f8822c5c8f0056c12652c746cbc57eedbd2a440b175971d47a7792918290030190a2604080518381529051600160a060020a038516916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35060015b92915050565b6000818381151561062757fe5b049392505050565b600082151561064057506000610614565b5081810281838281151561065057fe5b041461061457fe5b600a54600090819060ff161561066d57600080fd5b600654670de0b6b3a76400009061068a908563ffffffff61062f16565b81151561069357fe5b04915060009050662386f26fc1000083101580156106b657506509184e72a00083105b156106c15750606481045b662386f26fc1000083101580156106de5750662386f26fc1000083105b156106ec5750606460058202045b662386f26fc10000831015801561070a575067016345785d8a000083105b156107185750606460198202045b67016345785d8a000083101580156107375750670de0b6b3a764000083105b156107455750606460198202045b670de0b6b3a7640000831061075d5750606460328202045b61076d828263ffffffff61100516565b60095490925082111561077f57600080fd5b6107898483610515565b5050505050565b60408051808201909152600f81527f456475636174696f6e204c696272610000000000000000000000000000000000602082015281565b600081158015906107fa5750336000908152600360209081526040808320600160a060020a038716845290915290205415155b1561080757506000610614565b336000818152600360209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60055481565b60015460009081908190600160a060020a0316331461089257600080fd5b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051859350600160a060020a038416916370a082319160248083019260209291908290030181600087803b1580156108f657600080fd5b505af115801561090a573d6000803e3d6000fd5b505050506040513d602081101561092057600080fd5b5051600154604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526024810184905290519293509084169163a9059cbb916044808201926020929091908290030181600087803b15801561099457600080fd5b505af11580156109a8573d6000803e3d6000fd5b505050506040513d60208110156109be57600080fd5b5051949350505050565b6000606060643610156109d757fe5b600160a060020a03841615156109ec57600080fd5b600160a060020a038516600090815260026020526040902054831115610a1157600080fd5b600160a060020a0385166000908152600360209081526040808320338452909152902054831115610a4157600080fd5b600160a060020a038516600090815260026020526040902054610a6a908463ffffffff61101216565b600160a060020a0386166000908152600260209081526040808320939093556003815282822033835290522054610aa7908463ffffffff61101216565b600160a060020a038087166000908152600360209081526040808320338452825280832094909455918716815260029091522054610aeb908463ffffffff61100516565b600160a060020a0380861660008181526002602090815260409182902094909455805187815290519193928916927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3506001949350505050565b601281565b6001546000908190600160a060020a03163314610b6e57600080fd5b50506001546040513091823191600160a060020a03909116906108fc8315029083906000818181858888f19350505050158015610baf573d6000803e3d6000fd5b505050565b600154600090600160a060020a03163314610bce57600080fd5b33600090815260026020526040902054821115610bea57600080fd5b5033600081815260026020526040902054610c0b908363ffffffff61101216565b600160a060020a038216600090815260026020526040902055600554610c37908363ffffffff61101216565b600555600854610c4d908363ffffffff61101216565b600855604080518381529051600160a060020a038316917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a25050565b600160a060020a031660009081526002602052604090205490565b600154600160a060020a03163314610cc557600080fd5b600160a060020a038116600090815260026020526040902054821115610cea57600080fd5b600160a060020a038116600090815260026020526040902054610c0b908363ffffffff61101216565b60408051808201909152600681527f454c494252410000000000000000000000000000000000000000000000000000602082015281565b600154600090600160a060020a03163314610d6457600080fd5b600a5460ff1615610d7457600080fd5b600a805460ff191660011790556040517f7f95d919e78bdebe8a285e6e33357c2fcb65ccf66e72d7573f9f8f6caad0c4cc90600090a150600190565b600060406044361015610dbf57fe5b600160a060020a0384161515610dd457600080fd5b33600090815260026020526040902054831115610df057600080fd5b33600090815260026020526040902054610e10908463ffffffff61101216565b3360009081526002602052604080822092909255600160a060020a03861681522054610e42908463ffffffff61100516565b600160a060020a0385166000818152600260209081526040918290209390935580518681529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35060019392505050565b600a5460ff1681565b600080600084915081600160a060020a03166370a08231856040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b158015610f2657600080fd5b505af1158015610f3a573d6000803e3d6000fd5b505050506040513d6020811015610f5057600080fd5b505195945050505050565b60075481565b60065481565b60095481565b600160a060020a03918216600090815260036020908152604080832093909416825291909152205490565b60085481565b600154600160a060020a03163314610fb557600080fd5b600160a060020a03811615610fed576001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b50565b60046020526000908152604090205460ff1681565b8181018281101561061457fe5b60008282111561101e57fe5b509003905600a165627a7a7230582017d4a37d8d929d6176b0ca87cc876ebb2aa13366c50520ff410d682bece51ca70029

Deployed Bytecode

0x6080604052600436106101325763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146101ed578063095ea7b31461027757806318160ddd146102af5780632195845f146102d657806323b872dd146102f7578063313ce567146103215780633ccfd60b1461033657806342966c681461034d57806368f8fc101461036557806370a08231146103895780638a56f3ee146103aa57806395d89b41146103ce5780639b1cbccc146103e3578063a9059cbb146103f8578063c108d5421461041c578063c489744b14610431578063cbcb2e2314610458578063d207b7aa1461046d578063d8a5436014610482578063dd62ed3e14610497578063efca2eed146104be578063f2fde38b146104d3578063f9f92be4146104f4575b333460008115156101d557600954600754111561014e57600080fd5b600160a060020a03831660009081526004602052604090205460ff161561017457600080fd5b506007546101828382610515565b50600160a060020a0383166000908152600460205260409020805460ff191660011790556007546101d190620f423f906101c590620f424063ffffffff61061a16565b9063ffffffff61062f16565b6007555b60008211156101e8576101e88383610658565b505050005b3480156101f957600080fd5b50610202610790565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561023c578181015183820152602001610224565b50505050905090810190601f1680156102695780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561028357600080fd5b5061029b600160a060020a03600435166024356107c7565b604080519115158252519081900360200190f35b3480156102bb57600080fd5b506102c461086e565b60408051918252519081900360200190f35b3480156102e257600080fd5b5061029b600160a060020a0360043516610874565b34801561030357600080fd5b5061029b600160a060020a03600435811690602435166044356109c8565b34801561032d57600080fd5b506102c4610b4d565b34801561034257600080fd5b5061034b610b52565b005b34801561035957600080fd5b5061034b600435610bb4565b34801561037157600080fd5b5061034b600160a060020a0360043516602435610658565b34801561039557600080fd5b506102c4600160a060020a0360043516610c93565b3480156103b657600080fd5b5061034b600435600160a060020a0360243516610cae565b3480156103da57600080fd5b50610202610d13565b3480156103ef57600080fd5b5061029b610d4a565b34801561040457600080fd5b5061029b600160a060020a0360043516602435610db0565b34801561042857600080fd5b5061029b610ea1565b34801561043d57600080fd5b506102c4600160a060020a0360043581169060243516610eaa565b34801561046457600080fd5b506102c4610f5b565b34801561047957600080fd5b506102c4610f61565b34801561048e57600080fd5b506102c4610f67565b3480156104a357600080fd5b506102c4600160a060020a0360043581169060243516610f6d565b3480156104ca57600080fd5b506102c4610f98565b3480156104df57600080fd5b5061034b600160a060020a0360043516610f9e565b34801561050057600080fd5b5061029b600160a060020a0360043516610ff0565b600a5460009060ff161561052857600080fd5b60085461053b908363ffffffff61100516565b600855600954610551908363ffffffff61101216565b600955600160a060020a03831660009081526002602052604090205461057d908363ffffffff61100516565b600160a060020a038416600081815260026020908152604091829020939093558051858152905191927f8940c4b8e215f8822c5c8f0056c12652c746cbc57eedbd2a440b175971d47a7792918290030190a2604080518381529051600160a060020a038516916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35060015b92915050565b6000818381151561062757fe5b049392505050565b600082151561064057506000610614565b5081810281838281151561065057fe5b041461061457fe5b600a54600090819060ff161561066d57600080fd5b600654670de0b6b3a76400009061068a908563ffffffff61062f16565b81151561069357fe5b04915060009050662386f26fc1000083101580156106b657506509184e72a00083105b156106c15750606481045b662386f26fc1000083101580156106de5750662386f26fc1000083105b156106ec5750606460058202045b662386f26fc10000831015801561070a575067016345785d8a000083105b156107185750606460198202045b67016345785d8a000083101580156107375750670de0b6b3a764000083105b156107455750606460198202045b670de0b6b3a7640000831061075d5750606460328202045b61076d828263ffffffff61100516565b60095490925082111561077f57600080fd5b6107898483610515565b5050505050565b60408051808201909152600f81527f456475636174696f6e204c696272610000000000000000000000000000000000602082015281565b600081158015906107fa5750336000908152600360209081526040808320600160a060020a038716845290915290205415155b1561080757506000610614565b336000818152600360209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60055481565b60015460009081908190600160a060020a0316331461089257600080fd5b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051859350600160a060020a038416916370a082319160248083019260209291908290030181600087803b1580156108f657600080fd5b505af115801561090a573d6000803e3d6000fd5b505050506040513d602081101561092057600080fd5b5051600154604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526024810184905290519293509084169163a9059cbb916044808201926020929091908290030181600087803b15801561099457600080fd5b505af11580156109a8573d6000803e3d6000fd5b505050506040513d60208110156109be57600080fd5b5051949350505050565b6000606060643610156109d757fe5b600160a060020a03841615156109ec57600080fd5b600160a060020a038516600090815260026020526040902054831115610a1157600080fd5b600160a060020a0385166000908152600360209081526040808320338452909152902054831115610a4157600080fd5b600160a060020a038516600090815260026020526040902054610a6a908463ffffffff61101216565b600160a060020a0386166000908152600260209081526040808320939093556003815282822033835290522054610aa7908463ffffffff61101216565b600160a060020a038087166000908152600360209081526040808320338452825280832094909455918716815260029091522054610aeb908463ffffffff61100516565b600160a060020a0380861660008181526002602090815260409182902094909455805187815290519193928916927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3506001949350505050565b601281565b6001546000908190600160a060020a03163314610b6e57600080fd5b50506001546040513091823191600160a060020a03909116906108fc8315029083906000818181858888f19350505050158015610baf573d6000803e3d6000fd5b505050565b600154600090600160a060020a03163314610bce57600080fd5b33600090815260026020526040902054821115610bea57600080fd5b5033600081815260026020526040902054610c0b908363ffffffff61101216565b600160a060020a038216600090815260026020526040902055600554610c37908363ffffffff61101216565b600555600854610c4d908363ffffffff61101216565b600855604080518381529051600160a060020a038316917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a25050565b600160a060020a031660009081526002602052604090205490565b600154600160a060020a03163314610cc557600080fd5b600160a060020a038116600090815260026020526040902054821115610cea57600080fd5b600160a060020a038116600090815260026020526040902054610c0b908363ffffffff61101216565b60408051808201909152600681527f454c494252410000000000000000000000000000000000000000000000000000602082015281565b600154600090600160a060020a03163314610d6457600080fd5b600a5460ff1615610d7457600080fd5b600a805460ff191660011790556040517f7f95d919e78bdebe8a285e6e33357c2fcb65ccf66e72d7573f9f8f6caad0c4cc90600090a150600190565b600060406044361015610dbf57fe5b600160a060020a0384161515610dd457600080fd5b33600090815260026020526040902054831115610df057600080fd5b33600090815260026020526040902054610e10908463ffffffff61101216565b3360009081526002602052604080822092909255600160a060020a03861681522054610e42908463ffffffff61100516565b600160a060020a0385166000818152600260209081526040918290209390935580518681529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35060019392505050565b600a5460ff1681565b600080600084915081600160a060020a03166370a08231856040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b158015610f2657600080fd5b505af1158015610f3a573d6000803e3d6000fd5b505050506040513d6020811015610f5057600080fd5b505195945050505050565b60075481565b60065481565b60095481565b600160a060020a03918216600090815260036020908152604080832093909416825291909152205490565b60085481565b600154600160a060020a03163314610fb557600080fd5b600160a060020a03811615610fed576001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b50565b60046020526000908152604090205460ff1681565b8181018281101561061457fe5b60008282111561101e57fe5b509003905600a165627a7a7230582017d4a37d8d929d6176b0ca87cc876ebb2aa13366c50520ff410d682bece51ca70029

Deployed Bytecode Sourcemap

1485:6334:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3663:10;3695:9;3644:16;3722:11;;3719:288;;;3763:14;;3748:11;;:29;;3740:38;;;;;;-1:-1:-1;;;;;3792:19:0;;;;;;:9;:19;;;;;;;;:28;3784:37;;;;;;-1:-1:-1;3849:11:0;;3866:23;3872:8;3849:11;3866:5;:23::i;:::-;-1:-1:-1;;;;;;3909:19:0;;;;;;:9;:19;;;;;:26;;-1:-1:-1;;3909:26:0;3931:4;3909:26;;;3965:11;;:36;;3994:6;;3965:24;;3981:7;3965:24;:15;:24;:::i;:::-;:28;:36;:28;:36;:::i;:::-;3951:11;:50;3719:288;4027:1;4018:6;:10;4015:52;;;4035:26;4044:8;4054:6;4035:8;:26::i;:::-;3610:461;;;1485:6334;1759:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1759:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1759:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5984:296;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5984:296:0;-1:-1:-1;;;;;5984:296:0;;;;;;;;;;;;;;;;;;;;;;;;;1925:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1925:39:0;;;;;;;;;;;;;;;;;;;;6847:260;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6847:260:0;-1:-1:-1;;;;;6847:260:0;;;;;5435:537;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5435:537:0;-1:-1:-1;;;;;5435:537:0;;;;;;;;;;;;1873:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1873:34:0;;;;6665:170;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6665:170:0;;;;;;7113:353;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7113:353:0;;;;;4077:699;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4077:699:0;-1:-1:-1;;;;;4077:699:0;;;;;;;4788:111;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4788:111:0;-1:-1:-1;;;;;4788:111:0;;;;;7472:336;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7472:336:0;;;-1:-1:-1;;;;;7472:336:0;;;;;1819:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1819:40:0;;;;3049:170;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3049:170:0;;;;5021:402;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5021:402:0;-1:-1:-1;;;;;5021:402:0;;;;;;;2498:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2498:40:0;;;;6442:211;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6442:211:0;-1:-1:-1;;;;;6442:211:0;;;;;;;;;;2016:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2016:34:0;;;;1973:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1973:39:0;;;;2103:65;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2103:65:0;;;;6292:138;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6292:138:0;-1:-1:-1;;;;;6292:138:0;;;;;;;;;;2057:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2057:35:0;;;;2890:151;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2890:151:0;-1:-1:-1;;;;;2890:151:0;;;;;1708:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1708:42:0;-1:-1:-1;;;;;1708:42:0;;;;;3231:360;2591:20;;3302:4;;2591:20;;2590:21;2582:30;;;;;;3338:16;;:29;;3359:7;3338:29;:20;:29;:::i;:::-;3319:16;:48;3392:14;;:27;;3411:7;3392:27;:18;:27;:::i;:::-;3375:14;:44;-1:-1:-1;;;;;3448:13:0;;;;;;:8;:13;;;;;;:26;;3466:7;3448:26;:17;:26;:::i;:::-;-1:-1:-1;;;;;3432:13:0;;;;;;:8;:13;;;;;;;;;:42;;;;3490:19;;;;;;;3432:13;;3490:19;;;;;;;;;3525:34;;;;;;;;-1:-1:-1;;;;;3525:34:0;;;3542:1;;3525:34;;;;;;;;;-1:-1:-1;3579:4:0;2623:1;3231:360;;;;:::o;260:98::-;318:7;349:1;345;:5;;;;;;;;;260:98;-1:-1:-1;;;260:98:0:o;52:202::-;110:9;136:6;;132:47;;;-1:-1:-1;166:1:0;159:8;;132:47;-1:-1:-1;193:5:0;;;197:1;193;:5;216;;;;;;;;:10;209:18;;;4077:699;2591:20;;4152:14;;;;2591:20;;2590:21;2582:30;;;;;;4169:11;;4196:7;;4169:24;;4185:7;4169:24;:15;:24;:::i;:::-;:34;;;;;;;;4152:51;;4224:1;4208:17;;4244:11;4233:7;:22;;:50;;;;;4269:14;4259:7;:24;4233:50;4230:87;;;-1:-1:-1;4308:3:0;4299:12;;4230:87;4335:11;4324:7;:22;;:47;;;;;4360:11;4350:7;:21;4324:47;4321:84;;;-1:-1:-1;4396:3:0;4394:1;4387:8;;:12;4321:84;4423:11;4412:7;:22;;:46;;;;;4448:10;4438:7;:20;4412:46;4409:93;;;-1:-1:-1;4493:3:0;4490:2;4483:9;;:13;4409:93;4522:10;4511:7;:21;;:42;;;;;4546:7;4536;:17;4511:42;4508:88;;;-1:-1:-1;4587:3:0;4584:2;4577:9;;:13;4508:88;4616:7;4605:18;;4602:62;;-1:-1:-1;4655:3:0;4652:2;4645:9;;:13;4602:62;4679:17;:6;4690:5;4679:17;:10;:17;:::i;:::-;4723:14;;4670:26;;-1:-1:-1;4713:24:0;;;4705:33;;;;;;4747:24;4753:9;4764:6;4747:5;:24::i;:::-;;4077:699;;;;:::o;1759:47::-;;;;;;;;;;;;;;;;;;;:::o;5984:296::-;6051:12;6080:11;;;;;:49;;-1:-1:-1;6103:10:0;6095:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;6095:29:0;;;;;;;;;;:34;;6080:49;6076:72;;;-1:-1:-1;6140:5:0;6133:12;;6076:72;6166:10;6158:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;6158:29:0;;;;;;;;;;;;:38;;;6212;;;;;;;6158:29;;6166:10;6212:38;;;;;;;;;;;-1:-1:-1;6268:4:0;5984:296;;;;:::o;1925:39::-;;;;:::o;6847:260::-;2698:5;;6928:4;;;;;;-1:-1:-1;;;;;2698:5:0;2684:10;:19;2676:28;;;;;;7022:30;;;;;;7046:4;7022:30;;;;;;6979:14;;-1:-1:-1;;;;;;7022:15:0;;;;;:30;;;;;;;;;;;;;;-1:-1:-1;7022:15:0;:30;;;5:2:-1;;;;30:1;27;20:12;5:2;7022:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7022:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7022:30:0;7085:5;;7070:29;;;;;;-1:-1:-1;;;;;7085:5:0;;;7070:29;;;;;;;;;;;;7022:30;;-1:-1:-1;7070:14:0;;;;;;:29;;;;;7022:30;;7070:29;;;;;;;;7085:5;7070:14;:29;;;5:2:-1;;;;30:1;27;20:12;5:2;7070:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7070:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7070:29:0;;6847:260;-1:-1:-1;;;;6847:260:0:o;5435:537::-;5542:12;5518:6;4980:8;4961;:27;;4954:35;;;;-1:-1:-1;;;;;5577:17:0;;;;5569:26;;;;;;-1:-1:-1;;;;;5625:15:0;;;;;;:8;:15;;;;;;5614:26;;;5606:35;;;;;;-1:-1:-1;;;;;5671:14:0;;;;;;:7;:14;;;;;;;;5686:10;5671:26;;;;;;;;5660:37;;;5652:46;;;;;;-1:-1:-1;;;;;5737:15:0;;;;;;:8;:15;;;;;;:28;;5757:7;5737:28;:19;:28;:::i;:::-;-1:-1:-1;;;;;5719:15:0;;;;;;:8;:15;;;;;;;;:46;;;;5805:7;:14;;;;;5820:10;5805:26;;;;;;:39;;5836:7;5805:39;:30;:39;:::i;:::-;-1:-1:-1;;;;;5776:14:0;;;;;;;:7;:14;;;;;;;;5791:10;5776:26;;;;;;;:68;;;;5871:13;;;;;:8;:13;;;;;:26;;5889:7;5871:26;:17;:26;:::i;:::-;-1:-1:-1;;;;;5855:13:0;;;;;;;:8;:13;;;;;;;;;:42;;;;5913:29;;;;;;;5855:13;;5913:29;;;;;;;;;;;;;-1:-1:-1;5960:4:0;;5435:537;-1:-1:-1;;;;5435:537:0:o;1873:34::-;1905:2;1873:34;:::o;6665:170::-;2698:5;;6713:17;;;;-1:-1:-1;;;;;2698:5:0;2684:10;:19;2676:28;;;;;;-1:-1:-1;;6799:5:0;;:28;;6733:4;;6771:17;;;-1:-1:-1;;;;;6799:5:0;;;;:28;;;;;6771:17;;6799:5;:28;:5;:28;6771:17;6799:5;:28;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6799:28:0;6665:170;;:::o;7113:353::-;2698:5;;7231:14;;-1:-1:-1;;;;;2698:5:0;2684:10;:19;2676:28;;;;;;7198:10;7189:20;;;;:8;:20;;;;;;7179:30;;;7171:39;;;;;;-1:-1:-1;7248:10:0;7288:16;;;;:8;:16;;;;;;:28;;7309:6;7288:28;:20;:28;:::i;:::-;-1:-1:-1;;;;;7269:16:0;;;;;;:8;:16;;;;;:47;7341:11;;:23;;7357:6;7341:23;:15;:23;:::i;:::-;7327:11;:37;7394:16;;:28;;7415:6;7394:28;:20;:28;:::i;:::-;7375:16;:47;7438:20;;;;;;;;-1:-1:-1;;;;;7438:20:0;;;;;;;;;;;;;7113:353;;:::o;4788:111::-;-1:-1:-1;;;;;4875:16:0;4848:7;4875:16;;;:8;:16;;;;;;;4788:111::o;7472:336::-;2698:5;;-1:-1:-1;;;;;2698:5:0;2684:10;:19;2676:28;;;;;;-1:-1:-1;;;;;7569:17:0;;;;;;:8;:17;;;;;;7559:27;;;7551:36;;;;;;-1:-1:-1;;;;;7628:17:0;;;;;;:8;:17;;;;;;:29;;7650:6;7628:29;:21;:29;:::i;1819:40::-;;;;;;;;;;;;;;;;;;;:::o;3049:170::-;2698:5;;3114:4;;-1:-1:-1;;;;;2698:5:0;2684:10;:19;2676:28;;;;;;2591:20;;;;2590:21;2582:30;;;;;;3131:20;:27;;-1:-1:-1;;3131:27:0;3154:4;3131:27;;;3174:15;;;;3131:20;;3174:15;-1:-1:-1;3207:4:0;3049:170;:::o;5021:402::-;5109:12;5085:6;4980:8;4961;:27;;4954:35;;;;-1:-1:-1;;;;;5144:17:0;;;;5136:26;;;;;;5201:10;5192:20;;;;:8;:20;;;;;;5181:31;;;5173:40;;;;;;5266:10;5257:20;;;;:8;:20;;;;;;:33;;5282:7;5257:33;:24;:33;:::i;:::-;5243:10;5234:20;;;;:8;:20;;;;;;:56;;;;-1:-1:-1;;;;;5317:13:0;;;;;;:26;;5335:7;5317:26;:17;:26;:::i;:::-;-1:-1:-1;;;;;5301:13:0;;;;;;:8;:13;;;;;;;;;:42;;;;5359:34;;;;;;;5301:13;;5368:10;;5359:34;;;;;;;;;;-1:-1:-1;5411:4:0;;5021:402;-1:-1:-1;;;5021:402:0:o;2498:40::-;;;;;;:::o;6442:211::-;6527:4;6543:14;6597:8;6573:12;6543:43;;6608:1;-1:-1:-1;;;;;6608:11:0;;6620:3;6608:16;;;;;;;;;;;;;-1:-1:-1;;;;;6608:16:0;-1:-1:-1;;;;;6608:16:0;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6608:16:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6608:16:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6608:16:0;;6442:211;-1:-1:-1;;;;;6442:211:0:o;2016:34::-;;;;:::o;1973:39::-;;;;:::o;2103:65::-;;;;:::o;6292:138::-;-1:-1:-1;;;;;6397:15:0;;;6370:7;6397:15;;;:7;:15;;;;;;;;:25;;;;;;;;;;;;;6292:138::o;2057:35::-;;;;:::o;2890:151::-;2698:5;;-1:-1:-1;;;;;2698:5:0;2684:10;:19;2676:28;;;;;;-1:-1:-1;;;;;2967:22:0;;;2963:71;;3006:5;:16;;-1:-1:-1;;3006:16:0;-1:-1:-1;;;;;3006:16:0;;;;;2963:71;2890:151;:::o;1708:42::-;;;;;;;;;;;;;;;:::o;493:141::-;577:5;;;600:6;;;;593:14;;;364:123;422:7;449:6;;;;442:14;;;;-1:-1:-1;474:5:0;;;364:123::o

Swarm Source

bzzr://17d4a37d8d929d6176b0ca87cc876ebb2aa13366c50520ff410d682bece51ca7
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.