ETH Price: $3,626.74 (+9.15%)

Token

Orange Protocol (ORNG)
 

Overview

Max Total Supply

962,420,000 ORNG

Holders

246

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
lazod.eth
Balance
48,000 ORNG

Value
$0.00
0x22b1726b3336bdcc01ab7caffb7fda662d0da002
Loading...
Loading
Loading...
Loading
Loading...
Loading

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

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x7e6E9E7E...0C2A022A5
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
Token

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license
/**
 *Submitted for verification at Etherscan.io on 2020-09-26
*/

pragma solidity ^0.6.0;
// SPDX-License-Identifier: UNLICENSED

// ----------------------------------------------------------------------------
// ERC Token Standard #20 Interface
// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md
// ----------------------------------------------------------------------------
abstract contract ERC20Interface {
    function totalSupply() public virtual view returns (uint);
    function balanceOf(address tokenOwner) public virtual view returns (uint256 balance);
    function allowance(address tokenOwner, address spender) public virtual view returns (uint256 remaining);
    function transfer(address to, uint256 tokens) public virtual returns (bool success);
    function approve(address spender, uint256 tokens) public virtual returns (bool success);
    function transferFrom(address from, address to, uint256 tokens) public virtual returns (bool success);

    event Transfer(address indexed from, address indexed to, uint256 tokens);
    event Approval(address indexed tokenOwner, address indexed spender, uint256 tokens);
}

// ----------------------------------------------------------------------------
// Owned contract
// ----------------------------------------------------------------------------
contract Owned {
    address payable public owner;

    event OwnershipTransferred(address indexed _from, address indexed _to);

    constructor() public {
        owner = msg.sender;
    }

    modifier onlyOwner {
        require(msg.sender == owner);
        _;
    }

    function transferOwnership(address payable _newOwner) public onlyOwner {
        owner = _newOwner;
        emit OwnershipTransferred(msg.sender, _newOwner);
    }
}

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 *
*/

library SafeMath {
  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;
  }

  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    // assert(b > 0); // Solidity automatically throws when dividing by 0
    uint256 c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold
    return c;
  }

  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) {
    uint256 c = a + b;
    assert(c >= a);
    return c;
  }

  function ceil(uint a, uint m) internal pure returns (uint r) {
    return (a + m - 1) / m * m;
  }
}


// ----------------------------------------------------------------------------
// 'ORNG' token contract

// Symbol      : ORNG
// Name        : Orange Protocol
// Total supply: 1,000,000,000 (1 billion)
// Decimals    : 18
// ----------------------------------------------------------------------------


// ----------------------------------------------------------------------------
// ERC20 Token, with the addition of symbol, name and decimals and assisted
// token transfers
// ----------------------------------------------------------------------------
contract Token is ERC20Interface, Owned {
    using SafeMath for uint256;
    string public symbol = "ORNG";
    string public  name = "Orange Protocol";
    uint256 public decimals = 18;
    uint256 _totalSupply = 1e9 * 10 ** decimals;
    bool public _openTransfer = false;
    address team = 0x0d69E8cecc87906ED08020C436256F608517297C;
    address nodesReward = 0x2029673627358274e79a83d7bD9c2A5A8B9C4eEb;
    address rangeFoundation = 0x2eDb23b4aFa0Eb0058cfF90caCC823B11fC2865f;
    
    address public earlyBird;
    uint256 public preSaleAllocations;
    uint256 public earlyBirdAllocations;
    
    address uniswap = 0x2029673627358274e79a83d7bD9c2A5A8B9C4eEb;
    
    mapping(address => uint256) balances;
    mapping(address => mapping(address => uint256)) allowed;
    
    struct LOCKING{
        uint256 lockedTokens;
        uint256 cliff;
        bool earlyBird;
    }
    mapping(address => LOCKING) public walletsLocking;

    // ------------------------------------------------------------------------
    // Constructor
    // ------------------------------------------------------------------------
    constructor(address _earlyBird) public {
        owner = 0x2029673627358274e79a83d7bD9c2A5A8B9C4eEb;
        earlyBird = _earlyBird;
        balances[address(this)] = totalSupply();

        emit Transfer(address(0),address(this), totalSupply());

        balances[address(this)] = balances[address(this)].sub(80000000 * 10 ** decimals);
        balances[team] = balances[team].add(80000000 * 10 ** decimals);
        emit Transfer(address(this), team, 80000000 * 10 ** decimals);

        balances[address(this)] = balances[address(this)].sub(450000000 * 10 ** decimals);
        balances[nodesReward] = balances[nodesReward].add(450000000 * 10 ** decimals);
        emit Transfer(address(this), nodesReward, 450000000 * 10 ** decimals);

        balances[address(this)] = balances[address(this)].sub(200000000 * 10 ** decimals);
        balances[rangeFoundation] = balances[rangeFoundation].add(200000000 * 10 ** decimals);
        emit Transfer(address(this), rangeFoundation, 200000000 * 10 ** decimals);

        balances[address(this)] = balances[address(this)].sub(50000000 * 10 ** decimals);
        balances[earlyBird] = balances[earlyBird].add(50000000 * 10 ** decimals);
        emit Transfer(address(this), earlyBird, 50000000 * 10 ** decimals);
        earlyBirdAllocations = 50000000 * 10 ** decimals;
        
        balances[address(this)] = balances[address(this)].sub(190000000 * 10 ** decimals);
        balances[owner] = balances[owner].add(190000000 * 10 ** decimals); // for presale
        emit Transfer(address(this), owner, 190000000 * 10 ** decimals);
        preSaleAllocations = 190000000 * 10 ** decimals;

        balances[address(this)] = balances[address(this)].sub(30000000 * 10 ** decimals);
        balances[uniswap] = balances[uniswap].add(30000000 * 10 ** decimals);
        emit Transfer(address(this), uniswap, 30000000 * 10 ** decimals);

        _setLocking();
    }
    
    function _setLocking() private {
        walletsLocking[team].lockedTokens = 80000000 * 10 ** (decimals);
        walletsLocking[team].cliff = block.timestamp.add(730 days);
        walletsLocking[team].earlyBird = false;
        
        walletsLocking[nodesReward].lockedTokens = 450000000 * 10 ** (decimals);
        walletsLocking[nodesReward].cliff = 1609459199; // 31.12.2020 11:59:59
        walletsLocking[nodesReward].earlyBird = false;
        
        walletsLocking[rangeFoundation].lockedTokens = 166000000 * 10 ** (decimals); // 17% already released, 83% locked
        walletsLocking[rangeFoundation].cliff = 1609459199; // 31.12.2020 11:59:59
        walletsLocking[rangeFoundation].earlyBird = false;
    }

    /** ERC20Interface function's implementation **/

    function totalSupply() public override view returns (uint256){
       return _totalSupply;
    }
    
    // ------------------------------------------------------------------------
    // Get the token balance for account `tokenOwner`
    // ------------------------------------------------------------------------
    function balanceOf(address tokenOwner) public override view returns (uint256 balance) {
        return balances[tokenOwner];
    }

    // ------------------------------------------------------------------------
    // Transfer the balance from token owner's account to `to` account
    // - Owner's account must have sufficient balance to transfer
    // - 0 value transfers are allowed
    // ------------------------------------------------------------------------
    function transfer(address to, uint256 tokens) public override returns (bool success) {
        // prevent transfer to 0x0, use burn instead
        require(address(to) != address(0));
        require(balances[msg.sender] >= tokens);
        require(balances[to] + tokens >= balances[to]);
        
        if(walletsLocking[msg.sender].earlyBird == false){
            if (walletsLocking[msg.sender].lockedTokens > 0 ){
                if(block.timestamp > walletsLocking[msg.sender].cliff){
                    walletsLocking[msg.sender].lockedTokens = 0;
                }
            }
        } else{
            if(_openTransfer){
                walletsLocking[msg.sender].lockedTokens = 0;
            } 
        }
        
        require(balances[msg.sender].sub(tokens) >= walletsLocking[msg.sender].lockedTokens, "Please wait for tokens to be released");
        
        balances[msg.sender] = balances[msg.sender].sub(tokens);
        balances[to] = balances[to].add(tokens);
        emit Transfer(msg.sender,to,tokens);
        return true;
    }

    // ------------------------------------------------------------------------
    // Token owner can approve for `spender` to transferFrom(...) `tokens`
    // from the token owner's account
    // ------------------------------------------------------------------------
    function approve(address spender, uint256 tokens) public override returns (bool success){
        allowed[msg.sender][spender] = tokens;
        emit Approval(msg.sender,spender,tokens);
        return true;
    }

    // ------------------------------------------------------------------------
    // Transfer `tokens` from the `from` account to the `to` account
    //
    // The calling account must already have sufficient tokens approve(...)-d
    // for spending from the `from` account and
    // - From account must have sufficient balance to transfer
    // - Spender must have sufficient allowance to transfer
    // - 0 value transfers are allowed
    // ------------------------------------------------------------------------
    function transferFrom(address from, address to, uint256 tokens) public override returns (bool success){
        require(tokens <= allowed[from][msg.sender]); //check allowance
        require(balances[from] >= tokens);
        require(balances[to] + tokens >= balances[to]);
        
        if(walletsLocking[from].earlyBird == false){
            if (walletsLocking[from].lockedTokens > 0 ){
                if(block.timestamp > walletsLocking[from].cliff){
                    walletsLocking[from].lockedTokens = 0;
                }
            }
        } else{
            if(_openTransfer){
                walletsLocking[from].lockedTokens = 0;
            } 
        }
        
        require(balances[from].sub(tokens) >= walletsLocking[from].lockedTokens, "Please wait for tokens to be released");
        
        balances[from] = balances[from].sub(tokens);
        balances[to] = balances[to].add(tokens);
        allowed[from][msg.sender] = allowed[from][msg.sender].sub(tokens);
        emit Transfer(from,to,tokens);
        return true;
    }

    // ------------------------------------------------------------------------
    // Returns the amount of tokens approved by the owner that can be
    // transferred to the spender's account
    // ------------------------------------------------------------------------
    function allowance(address tokenOwner, address spender) public override view returns (uint256 remaining) {
        return allowed[tokenOwner][spender];
    }

    // ------------------------------------------------------------------------
    // @dev Public function that burns an amount of the token from a given account
    // @param _amount The amount that will be burnt
    // @param _account The tokens to burn from
    // can be used from account owner or contract owner
    // ------------------------------------------------------------------------
    function burnTokens(uint256 _amount, address _account) public {
        require(msg.sender == _account || msg.sender == owner, "UnAuthorized");
        require(balances[_account] >= _amount, "Insufficient account balance");
        _totalSupply = _totalSupply.sub(_amount);
        balances[_account] = balances[_account].sub(_amount);
        emit Transfer(_account, address(0), _amount);
    }
    
    function setTokenLock(uint256 lockedTokens, address purchaser) public {
        require(msg.sender == earlyBird, "UnAuthorized: Only early bird contract is allowed");
        walletsLocking[purchaser].lockedTokens += lockedTokens;
        walletsLocking[purchaser].earlyBird = true;
    }
    
    function enableOpenTransfer() external onlyOwner {
        _openTransfer = true;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_earlyBird","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"tokenOwner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_openTransfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenOwner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"remaining","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenOwner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address","name":"_account","type":"address"}],"name":"burnTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"earlyBird","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"earlyBirdAllocations","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"enableOpenTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"preSaleAllocations","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"lockedTokens","type":"uint256"},{"internalType":"address","name":"purchaser","type":"address"}],"name":"setTokenLock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"walletsLocking","outputs":[{"internalType":"uint256","name":"lockedTokens","type":"uint256"},{"internalType":"uint256","name":"cliff","type":"uint256"},{"internalType":"bool","name":"earlyBird","type":"bool"}],"stateMutability":"view","type":"function"}]

60c060405260046080819052634f524e4760e01b60a0908152620000279160019190620008ba565b5060408051808201909152600f8082526e13dc985b99d948141c9bdd1bd8dbdb608a1b60209092019182526200006091600291620008ba565b5060126003556b033b2e3c9fd0803ce8000000600455600580546001600160a81b031916740d69e8cecc87906ed08020c436256f608517297c0017905560068054732029673627358274e79a83d7bd9c2a5a8b9c4eeb6001600160a01b0319918216811790925560078054732edb23b4afa0eb0058cff90cacc823b11fc2865f908316179055600b80549091169091179055348015620000ff57600080fd5b50604051620016bf380380620016bf833981810160405260208110156200012557600080fd5b505160008054732029673627358274e79a83d7bd9c2a5a8b9c4eeb336001600160a01b031992831617821617909155600880549091166001600160a01b0383161790556200017262000774565b306000818152600c6020526040812092909255906000805160206200169f833981519152620001a062000774565b60408051918252519081900360200190a3620001fb600354600a0a6304c4b40002600c6000306001600160a01b03166001600160a01b03168152602001908152602001600020546200077a60201b62000c851790919060201c565b306000908152600c60209081526040808320939093556003546005546001600160a01b03610100909104168352929091205462000250929091600a9190910a6304c4b40002906200078d811b62000c9717901c565b60058054610100908190046001600160a01b039081166000908152600c60209081526040918290209590955592546003548451600a9190910a6304c4b4000281529351929004169230926000805160206200169f833981519152929081900390910190a3620002fe600354600a0a631ad2748002600c6000306001600160a01b03166001600160a01b03168152602001908152602001600020546200077a60201b62000c851790919060201c565b306000908152600c60209081526040808320939093556003546006546001600160a01b0316835292909120546200034d929091600a9190910a631ad2748002906200078d811b62000c9717901c565b600680546001600160a01b039081166000908152600c60209081526040918290209490945591546003548351600a9190910a631ad27480028152925191169230926000805160206200169f833981519152929081900390910190a3620003f2600354600a0a630bebc20002600c6000306001600160a01b03166001600160a01b03168152602001908152602001600020546200077a60201b62000c851790919060201c565b306000908152600c60209081526040808320939093556003546007546001600160a01b03168352929091205462000441929091600a9190910a630bebc20002906200078d811b62000c9717901c565b600780546001600160a01b039081166000908152600c60209081526040918290209490945591546003548351600a9190910a630bebc200028152925191169230926000805160206200169f833981519152929081900390910190a3620004e6600354600a0a6302faf08002600c6000306001600160a01b03166001600160a01b03168152602001908152602001600020546200077a60201b62000c851790919060201c565b306000908152600c60209081526040808320939093556003546008546001600160a01b03168352929091205462000535929091600a9190910a6302faf08002906200078d811b62000c9717901c565b600880546001600160a01b039081166000908152600c60209081526040918290209490945591546003548351600a9190910a6302faf080028152925191169230926000805160206200169f833981519152929081900390910190a3600354600a90810a6302faf0808102909155306000908152600c6020908152604090912054620005d4929091630b532b80909102906200077a811b62000c8517901c565b306000908152600c602090815260408083209390935560035482546001600160a01b03168352929091205462000622929091600a9190910a630b532b8002906200078d811b62000c9717901c565b600080546001600160a01b039081168252600c602090815260408084209490945591546003548451600a9190910a630b532b80028152935191169230926000805160206200169f83398151915292918290030190a3600354600a0a630b532b808102600955306000908152600c6020908152604090912054620006b99290916301c9c380909102906200077a811b62000c8517901c565b306000908152600c6020908152604080832093909355600354600b546001600160a01b03168352929091205462000708929091600a9190910a6301c9c38002906200078d811b62000c9717901c565b600b80546001600160a01b039081166000908152600c60209081526040918290209490945591546003548351600a9190910a6301c9c380028152925191169230926000805160206200169f833981519152929081900390910190a36200076d620007a4565b5062000956565b60045490565b6000828211156200078757fe5b50900390565b6000828201838110156200079d57fe5b9392505050565b60035460055461010090046001600160a01b03166000908152600e60209081526040909120600a9290920a6304c4b40002909155620007f49042906303c26700906200078d811b62000c9717901c565b60058054610100908190046001600160a01b039081166000908152600e6020526040808220600190810196909655935492909204811682528282206002908101805460ff19908116909155600380546006805486168752878720600a92830a631ad27480029055805486168752878720635fee65ff908a018190559054861687528787208501805485169055915460078054871688528888209190920a6309e4f58002905580548516865286862090970155945490911682529190200180549091169055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620008fd57805160ff19168380011785556200092d565b828001600101855582156200092d579182015b828111156200092d57825182559160200191906001019062000910565b506200093b9291506200093f565b5090565b5b808211156200093b576000815560010162000940565b610d3980620009666000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c806370a08231116100ad578063a9059cbb11610071578063a9059cbb14610321578063bd4d54df1461034d578063bde8e9fa14610379578063dd62ed3e14610381578063f2fde38b146103af57610121565b806370a082311461027957806386f1cfa61461029f5780638da5cb5b146102e557806395d89b41146102ed5780639730b305146102f557610121565b806323b872dd116100f457806323b872dd146102075780632a69beca1461023d578063313ce567146102615780634dc0c0fb1461026957806366fb86d61461027157610121565b806306fdde0314610126578063095ea7b3146101a357806318160ddd146101e35780631ae6ddec146101fd575b600080fd5b61012e6103d5565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610168578181015183820152602001610150565b50505050905090810190601f1680156101955780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101cf600480360360408110156101b957600080fd5b506001600160a01b038135169060200135610460565b604080519115158252519081900360200190f35b6101eb6104c6565b60408051918252519081900360200190f35b6102056104cc565b005b6101cf6004803603606081101561021d57600080fd5b506001600160a01b038135811691602081013590911690604001356104f2565b61024561077d565b604080516001600160a01b039092168252519081900360200190f35b6101eb61078c565b6101eb610792565b6101eb610798565b6101eb6004803603602081101561028f57600080fd5b50356001600160a01b031661079e565b6102c5600480360360208110156102b557600080fd5b50356001600160a01b03166107b9565b604080519384526020840192909252151582820152519081900360600190f35b6102456107dd565b61012e6107ec565b6102056004803603604081101561030b57600080fd5b50803590602001356001600160a01b0316610846565b6101cf6004803603604081101561033757600080fd5b506001600160a01b03813516906020013561099e565b6102056004803603604081101561036357600080fd5b50803590602001356001600160a01b0316610b78565b6101cf610bef565b6101eb6004803603604081101561039757600080fd5b506001600160a01b0381358116916020013516610bf8565b610205600480360360208110156103c557600080fd5b50356001600160a01b0316610c23565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156104585780601f1061042d57610100808354040283529160200191610458565b820191906000526020600020905b81548152906001019060200180831161043b57829003601f168201915b505050505081565b336000818152600d602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60045490565b6000546001600160a01b031633146104e357600080fd5b6005805460ff19166001179055565b6001600160a01b0383166000908152600d6020908152604080832033845290915281205482111561052257600080fd5b6001600160a01b0384166000908152600c602052604090205482111561054757600080fd5b6001600160a01b0383166000908152600c6020526040902054828101101561056e57600080fd5b6001600160a01b0384166000908152600e602052604090206002015460ff166105f1576001600160a01b0384166000908152600e6020526040902054156105ec576001600160a01b0384166000908152600e60205260409020600101544211156105ec576001600160a01b0384166000908152600e60205260408120555b610616565b60055460ff1615610616576001600160a01b0384166000908152600e60205260408120555b6001600160a01b0384166000908152600e6020908152604080832054600c909252909120546106459084610c85565b10156106825760405162461bcd60e51b8152600401808060200182810382526025815260200180610cae6025913960400191505060405180910390fd5b6001600160a01b0384166000908152600c60205260409020546106a59083610c85565b6001600160a01b038086166000908152600c602052604080822093909355908516815220546106d49083610c97565b6001600160a01b038085166000908152600c60209081526040808320949094559187168152600d825282812033825290915220546107129083610c85565b6001600160a01b038086166000818152600d6020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019392505050565b6008546001600160a01b031681565b60035481565b60095481565b600a5481565b6001600160a01b03166000908152600c602052604090205490565b600e6020526000908152604090208054600182015460029092015490919060ff1683565b6000546001600160a01b031681565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104585780601f1061042d57610100808354040283529160200191610458565b336001600160a01b038216148061086757506000546001600160a01b031633145b6108a7576040805162461bcd60e51b815260206004820152600c60248201526b155b905d5d1a1bdc9a5e995960a21b604482015290519081900360640190fd5b6001600160a01b0381166000908152600c6020526040902054821115610914576040805162461bcd60e51b815260206004820152601c60248201527f496e73756666696369656e74206163636f756e742062616c616e636500000000604482015290519081900360640190fd5b6004546109219083610c85565b6004556001600160a01b0381166000908152600c60205260409020546109479083610c85565b6001600160a01b0382166000818152600c60209081526040808320949094558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35050565b60006001600160a01b0383166109b357600080fd5b336000908152600c60205260409020548211156109cf57600080fd5b6001600160a01b0383166000908152600c602052604090205482810110156109f657600080fd5b336000908152600e602052604090206002015460ff16610a5557336000908152600e602052604090205415610a5057336000908152600e6020526040902060010154421115610a5057336000908152600e60205260408120555b610a71565b60055460ff1615610a7157336000908152600e60205260408120555b336000908152600e6020908152604080832054600c90925290912054610a979084610c85565b1015610ad45760405162461bcd60e51b8152600401808060200182810382526025815260200180610cae6025913960400191505060405180910390fd5b336000908152600c6020526040902054610aee9083610c85565b336000908152600c6020526040808220929092556001600160a01b03851681522054610b1a9083610c97565b6001600160a01b0384166000818152600c60209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b6008546001600160a01b03163314610bc15760405162461bcd60e51b8152600401808060200182810382526031815260200180610cd36031913960400191505060405180910390fd5b6001600160a01b03166000908152600e6020526040902080549091018155600201805460ff19166001179055565b60055460ff1681565b6001600160a01b039182166000908152600d6020908152604080832093909416825291909152205490565b6000546001600160a01b03163314610c3a57600080fd5b600080546001600160a01b0319166001600160a01b0383169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b600082821115610c9157fe5b50900390565b600082820183811015610ca657fe5b939250505056fe506c65617365207761697420666f7220746f6b656e7320746f2062652072656c6561736564556e417574686f72697a65643a204f6e6c79206561726c79206269726420636f6e747261637420697320616c6c6f776564a2646970667358221220ee01fb06f13bb29b5be9f1e70a5bb06eb64a4059f11f5ce4d73a08f33e49b0bf64736f6c634300060c0033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef0000000000000000000000004063a76cac006a8ee6cfec865bc507aa80421cea

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101215760003560e01c806370a08231116100ad578063a9059cbb11610071578063a9059cbb14610321578063bd4d54df1461034d578063bde8e9fa14610379578063dd62ed3e14610381578063f2fde38b146103af57610121565b806370a082311461027957806386f1cfa61461029f5780638da5cb5b146102e557806395d89b41146102ed5780639730b305146102f557610121565b806323b872dd116100f457806323b872dd146102075780632a69beca1461023d578063313ce567146102615780634dc0c0fb1461026957806366fb86d61461027157610121565b806306fdde0314610126578063095ea7b3146101a357806318160ddd146101e35780631ae6ddec146101fd575b600080fd5b61012e6103d5565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610168578181015183820152602001610150565b50505050905090810190601f1680156101955780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101cf600480360360408110156101b957600080fd5b506001600160a01b038135169060200135610460565b604080519115158252519081900360200190f35b6101eb6104c6565b60408051918252519081900360200190f35b6102056104cc565b005b6101cf6004803603606081101561021d57600080fd5b506001600160a01b038135811691602081013590911690604001356104f2565b61024561077d565b604080516001600160a01b039092168252519081900360200190f35b6101eb61078c565b6101eb610792565b6101eb610798565b6101eb6004803603602081101561028f57600080fd5b50356001600160a01b031661079e565b6102c5600480360360208110156102b557600080fd5b50356001600160a01b03166107b9565b604080519384526020840192909252151582820152519081900360600190f35b6102456107dd565b61012e6107ec565b6102056004803603604081101561030b57600080fd5b50803590602001356001600160a01b0316610846565b6101cf6004803603604081101561033757600080fd5b506001600160a01b03813516906020013561099e565b6102056004803603604081101561036357600080fd5b50803590602001356001600160a01b0316610b78565b6101cf610bef565b6101eb6004803603604081101561039757600080fd5b506001600160a01b0381358116916020013516610bf8565b610205600480360360208110156103c557600080fd5b50356001600160a01b0316610c23565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156104585780601f1061042d57610100808354040283529160200191610458565b820191906000526020600020905b81548152906001019060200180831161043b57829003601f168201915b505050505081565b336000818152600d602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60045490565b6000546001600160a01b031633146104e357600080fd5b6005805460ff19166001179055565b6001600160a01b0383166000908152600d6020908152604080832033845290915281205482111561052257600080fd5b6001600160a01b0384166000908152600c602052604090205482111561054757600080fd5b6001600160a01b0383166000908152600c6020526040902054828101101561056e57600080fd5b6001600160a01b0384166000908152600e602052604090206002015460ff166105f1576001600160a01b0384166000908152600e6020526040902054156105ec576001600160a01b0384166000908152600e60205260409020600101544211156105ec576001600160a01b0384166000908152600e60205260408120555b610616565b60055460ff1615610616576001600160a01b0384166000908152600e60205260408120555b6001600160a01b0384166000908152600e6020908152604080832054600c909252909120546106459084610c85565b10156106825760405162461bcd60e51b8152600401808060200182810382526025815260200180610cae6025913960400191505060405180910390fd5b6001600160a01b0384166000908152600c60205260409020546106a59083610c85565b6001600160a01b038086166000908152600c602052604080822093909355908516815220546106d49083610c97565b6001600160a01b038085166000908152600c60209081526040808320949094559187168152600d825282812033825290915220546107129083610c85565b6001600160a01b038086166000818152600d6020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019392505050565b6008546001600160a01b031681565b60035481565b60095481565b600a5481565b6001600160a01b03166000908152600c602052604090205490565b600e6020526000908152604090208054600182015460029092015490919060ff1683565b6000546001600160a01b031681565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104585780601f1061042d57610100808354040283529160200191610458565b336001600160a01b038216148061086757506000546001600160a01b031633145b6108a7576040805162461bcd60e51b815260206004820152600c60248201526b155b905d5d1a1bdc9a5e995960a21b604482015290519081900360640190fd5b6001600160a01b0381166000908152600c6020526040902054821115610914576040805162461bcd60e51b815260206004820152601c60248201527f496e73756666696369656e74206163636f756e742062616c616e636500000000604482015290519081900360640190fd5b6004546109219083610c85565b6004556001600160a01b0381166000908152600c60205260409020546109479083610c85565b6001600160a01b0382166000818152600c60209081526040808320949094558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35050565b60006001600160a01b0383166109b357600080fd5b336000908152600c60205260409020548211156109cf57600080fd5b6001600160a01b0383166000908152600c602052604090205482810110156109f657600080fd5b336000908152600e602052604090206002015460ff16610a5557336000908152600e602052604090205415610a5057336000908152600e6020526040902060010154421115610a5057336000908152600e60205260408120555b610a71565b60055460ff1615610a7157336000908152600e60205260408120555b336000908152600e6020908152604080832054600c90925290912054610a979084610c85565b1015610ad45760405162461bcd60e51b8152600401808060200182810382526025815260200180610cae6025913960400191505060405180910390fd5b336000908152600c6020526040902054610aee9083610c85565b336000908152600c6020526040808220929092556001600160a01b03851681522054610b1a9083610c97565b6001600160a01b0384166000818152600c60209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b6008546001600160a01b03163314610bc15760405162461bcd60e51b8152600401808060200182810382526031815260200180610cd36031913960400191505060405180910390fd5b6001600160a01b03166000908152600e6020526040902080549091018155600201805460ff19166001179055565b60055460ff1681565b6001600160a01b039182166000908152600d6020908152604080832093909416825291909152205490565b6000546001600160a01b03163314610c3a57600080fd5b600080546001600160a01b0319166001600160a01b0383169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b600082821115610c9157fe5b50900390565b600082820183811015610ca657fe5b939250505056fe506c65617365207761697420666f7220746f6b656e7320746f2062652072656c6561736564556e417574686f72697a65643a204f6e6c79206561726c79206269726420636f6e747261637420697320616c6c6f776564a2646970667358221220ee01fb06f13bb29b5be9f1e70a5bb06eb64a4059f11f5ce4d73a08f33e49b0bf64736f6c634300060c0033

Deployed Bytecode Sourcemap

3283:9592:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3399:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9367:217;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;9367:217:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;7190:98;;;:::i;:::-;;;;;;;;;;;;;;;;12784:88;;;:::i;:::-;;10125:1085;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;10125:1085:0;;;;;;;;;;;;;;;;;:::i;3786:24::-;;;:::i;:::-;;;;-1:-1:-1;;;;;3786:24:0;;;;;;;;;;;;;;3445:28;;;:::i;3817:33::-;;;:::i;3857:35::-;;;:::i;7517:132::-;;;;;;;;;;;;;;;;-1:-1:-1;7517:132:0;-1:-1:-1;;;;;7517:132:0;;:::i;4197:49::-;;;;;;;;;;;;;;;;-1:-1:-1;4197:49:0;-1:-1:-1;;;;;4197:49:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1317:28;;;:::i;3363:29::-;;;:::i;12067:401::-;;;;;;;;;;;;;;;;-1:-1:-1;12067:401:0;;;;;;-1:-1:-1;;;;;12067:401:0;;:::i;7998:1084::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7998:1084:0;;;;;;;;:::i;12480:292::-;;;;;;;;;;;;;;;;-1:-1:-1;12480:292:0;;;;;;-1:-1:-1;;;;;12480:292:0;;:::i;3530:33::-;;;:::i;11496:159::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11496:159:0;;;;;;;;;;:::i;1585:166::-;;;;;;;;;;;;;;;;-1:-1:-1;1585:166:0;-1:-1:-1;;;;;1585:166:0;;:::i;3399:39::-;;;;;;;;;;;;;;-1:-1:-1;;3399:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9367:217::-;9474:10;9442:12;9466:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;9466:28:0;;;;;;;;;;;:37;;;9519:35;;;;;;;9442:12;;9466:28;;9474:10;;9519:35;;;;;;;;-1:-1:-1;9572:4:0;9367:217;;;;:::o;7190:98::-;7268:12;;7190:98;:::o;12784:88::-;1551:5;;-1:-1:-1;;;;;1551:5:0;1537:10;:19;1529:28;;;;;;12844:13:::1;:20:::0;;-1:-1:-1;;12844:20:0::1;12860:4;12844:20;::::0;;12784:88::o;10125:1085::-;-1:-1:-1;;;;;10256:13:0;;10214:12;10256:13;;;:7;:13;;;;;;;;10270:10;10256:25;;;;;;;;10246:35;;;10238:44;;;;;;-1:-1:-1;;;;;10319:14:0;;;;;;:8;:14;;;;;;:24;-1:-1:-1;10319:24:0;10311:33;;;;;;-1:-1:-1;;;;;10388:12:0;;;;;;:8;:12;;;;;;10363:21;;;:37;;10355:46;;;;;;-1:-1:-1;;;;;10425:20:0;;;;;;:14;:20;;;;;:30;;;;;10422:395;;-1:-1:-1;;;;;10484:20:0;;10520:1;10484:20;;;:14;:20;;;;;:33;:37;10480:205;;-1:-1:-1;;;;;10563:20:0;;;;;;:14;:20;;;;;:26;;;10545:15;:44;10542:128;;;-1:-1:-1;;;;;10613:20:0;;10649:1;10613:20;;;:14;:20;;;;;:37;10542:128;10422:395;;;10719:13;;;;10716:89;;;-1:-1:-1;;;;;10752:20:0;;10788:1;10752:20;;;:14;:20;;;;;:37;10716:89;-1:-1:-1;;;;;10875:20:0;;;;;;:14;:20;;;;;;;;:33;10845:8;:14;;;;;;;:26;;10864:6;10845:18;:26::i;:::-;:63;;10837:113;;;;-1:-1:-1;;;10837:113:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10988:14:0;;;;;;:8;:14;;;;;;:26;;11007:6;10988:18;:26::i;:::-;-1:-1:-1;;;;;10971:14:0;;;;;;;:8;:14;;;;;;:43;;;;11040:12;;;;;;;:24;;11057:6;11040:16;:24::i;:::-;-1:-1:-1;;;;;11025:12:0;;;;;;;:8;:12;;;;;;;;:39;;;;11103:13;;;;;:7;:13;;;;;11117:10;11103:25;;;;;;;:37;;11133:6;11103:29;:37::i;:::-;-1:-1:-1;;;;;11075:13:0;;;;;;;:7;:13;;;;;;;;11089:10;11075:25;;;;;;;;:65;;;;11156:24;;;;;;;;;;;11075:13;;11156:24;;;;;;;;;;;-1:-1:-1;11198:4:0;10125:1085;;;;;:::o;3786:24::-;;;-1:-1:-1;;;;;3786:24:0;;:::o;3445:28::-;;;;:::o;3817:33::-;;;;:::o;3857:35::-;;;;:::o;7517:132::-;-1:-1:-1;;;;;7621:20:0;7586:15;7621:20;;;:8;:20;;;;;;;7517:132::o;4197:49::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1317:28::-;;;-1:-1:-1;;;;;1317:28:0;;:::o;3363:29::-;;;;;;;;;;;;;;;-1:-1:-1;;3363:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12067:401;12148:10;-1:-1:-1;;;;;12148:22:0;;;;:45;;-1:-1:-1;12188:5:0;;-1:-1:-1;;;;;12188:5:0;12174:10;:19;12148:45;12140:70;;;;;-1:-1:-1;;;12140:70:0;;;;;;;;;;;;-1:-1:-1;;;12140:70:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;12229:18:0;;;;;;:8;:18;;;;;;:29;-1:-1:-1;12229:29:0;12221:70;;;;;-1:-1:-1;;;12221:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;12317:12;;:25;;12334:7;12317:16;:25::i;:::-;12302:12;:40;-1:-1:-1;;;;;12374:18:0;;;;;;:8;:18;;;;;;:31;;12397:7;12374:22;:31::i;:::-;-1:-1:-1;;;;;12353:18:0;;;;;;:8;:18;;;;;;;;:52;;;;12421:39;;;;;;;12353:18;;12421:39;;;;;;;;;;;12067:401;;:::o;7998:1084::-;8069:12;-1:-1:-1;;;;;8156:25:0;;8148:34;;;;;;8210:10;8201:20;;;;:8;:20;;;;;;:30;-1:-1:-1;8201:30:0;8193:39;;;;;;-1:-1:-1;;;;;8276:12:0;;;;;;:8;:12;;;;;;8251:21;;;:37;;8243:46;;;;;;8328:10;8313:26;;;;:14;:26;;;;;:36;;;;;8310:425;;8393:10;8420:1;8378:26;;;:14;:26;;;;;:39;:43;8374:223;;8478:10;8463:26;;;;:14;:26;;;;;:32;;;8445:15;:50;8442:140;;;8534:10;8561:1;8519:26;;;:14;:26;;;;;:43;8442:140;8310:425;;;8631:13;;;;8628:95;;;8679:10;8706:1;8664:26;;;:14;:26;;;;;:43;8628:95;8814:10;8799:26;;;;:14;:26;;;;;;;;:39;8763:8;:20;;;;;;;:32;;8788:6;8763:24;:32::i;:::-;:75;;8755:125;;;;-1:-1:-1;;;8755:125:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8933:10;8924:20;;;;:8;:20;;;;;;:32;;8949:6;8924:24;:32::i;:::-;8910:10;8901:20;;;;:8;:20;;;;;;:55;;;;-1:-1:-1;;;;;8982:12:0;;;;;;:24;;8999:6;8982:16;:24::i;:::-;-1:-1:-1;;;;;8967:12:0;;;;;;:8;:12;;;;;;;;;:39;;;;9022:30;;;;;;;8967:12;;9031:10;;9022:30;;;;;;;;;;-1:-1:-1;9070:4:0;7998:1084;;;;:::o;12480:292::-;12583:9;;-1:-1:-1;;;;;12583:9:0;12569:10;:23;12561:85;;;;-1:-1:-1;;;12561:85:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12657:25:0;;;;;:14;:25;;;;;:54;;;;;;;12722:35;;:42;;-1:-1:-1;;12722:42:0;-1:-1:-1;12722:42:0;;;12480:292::o;3530:33::-;;;;;;:::o;11496:159::-;-1:-1:-1;;;;;11619:19:0;;;11582:17;11619:19;;;:7;:19;;;;;;;;:28;;;;;;;;;;;;;11496:159::o;1585:166::-;1551:5;;-1:-1:-1;;;;;1551:5:0;1537:10;:19;1529:28;;;;;;1667:5:::1;:17:::0;;-1:-1:-1;;;;;;1667:17:0::1;-1:-1:-1::0;;;;;1667:17:0;::::1;::::0;;::::1;::::0;;1700:43:::1;::::0;1667:17;;1721:10:::1;::::0;1700:43:::1;::::0;1667:5;1700:43:::1;1585:166:::0;:::o;2341:113::-;2399:7;2427:1;2422;:6;;2415:14;;;;-1:-1:-1;2443:5:0;;;2341:113::o;2460:133::-;2518:7;2546:5;;;2565:6;;;;2558:14;;;;2586:1;2460:133;-1:-1:-1;;;2460:133:0:o

Swarm Source

ipfs://ee01fb06f13bb29b5be9f1e70a5bb06eb64a4059f11f5ce4d73a08f33e49b0bf
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.