ETH Price: $2,792.89 (+1.18%)
 

Overview

Max Total Supply

920,614,556.6 GNS

Holders

862

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
111,230.06209382 GNS

Value
$0.00
0x12e304688d48184a6f71f65e5ac18702b14c5b18
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:
GNSToken

Compiler Version
v0.5.6+commit.b259423e

Optimization Enabled:
Yes with 200 runs

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

pragma solidity >=0.4.22 <0.7.0;

contract GNSToken{


    // -------------------------SafeMath Start-----------------------------------------------
    //
    function safeAdd(uint a, uint b) private pure returns (uint c) { c = a + b; require(c >= a); }
    function safeSub(uint a, uint b) private pure returns (uint c) { require(b <= a); c = a - b; }
    function safeMul(uint a, uint b) private pure returns (uint c) { c = a * b; require(a == 0 || c / a == b);}
    function safeDiv(uint a, uint b) private pure returns (uint c) { require(b > 0); c = a / b; }
    //
    // -------------------------SafeMath End-------------------------------------------------

    // -------------------------Owned Start-----------------------------------------------
    //
    address public owner;
    address public newOwner;

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

    event OwnershipTransferred(address indexed _from, address indexed _to);
    modifier onlyOwner { require(msg.sender == owner); _; }

    function transferOwnership(address _newOwner) public onlyOwner {
        newOwner = _newOwner;
    }
    function acceptOwnership() public {
        require(msg.sender == newOwner);
        emit OwnershipTransferred(owner, newOwner);
        owner = newOwner;
        newOwner = address(0);
    }
    //
    // -------------------------Owned End-------------------------------------------------

    // -------------------------ERC20Interface Start-----------------------------------------------
    //
    string public symbol = "GNS";
    string public name = "Genesis";
    uint8 public decimals = 18;
    uint public totalSupply = 988e24;//总量9.88亿

    uint public exchange = 688e24;//用于兑换5.88亿(空投,离线兑换总额)
    uint private retention = 3e26;//自留3亿

    uint public airdrop = 1e26;//空投限额1亿
    uint public airdropLimit = 1e21;//每个地址最多领取空投限制1000
    uint public fadd = 5e19;//添加地址得50
    uint public fshare = 2e19;//邀请得20

    bool public allowTransfer = true;//是否允许交易
    bool public allowAirdrop = true;//是否允许空投

    mapping(address => uint) private balances;
    mapping(address => uint) public airdropTotal;
    mapping(address => address) public airdropRecord;

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

    address private retentionAddress = 0x4FCf2310752A4D919C1819BdD9B155632465373e;
    constructor() public {
        owner = msg.sender;
        airdropRecord[owner] = owner;
        airdropRecord[retentionAddress] = retentionAddress;

        balances[retentionAddress] = retention;
        emit Transfer(address(1), retentionAddress, retention);
    }
    function specialAddress(address addr) private pure returns(bool spe) {//特殊地址,0表示空投和销毁,1表示线下兑换
        spe = (addr == address(0) || addr == address(1));
    }
    function balanceOf(address tokenOwner) public view returns (uint balance) {
        require(specialAddress(tokenOwner) == false);
        if(airdrop >= fadd && exchange >= fadd && airdropRecord[tokenOwner] == address(0)){//如果还有足够的空投额度,没激活
            balance = balances[tokenOwner] + fadd;
        }else{
            balance = balances[tokenOwner];
        }
    }
    function allowance(address tokenOwner, address spender) public pure returns (uint remaining) {
        require(specialAddress(tokenOwner) == false);
        require(specialAddress(spender) == false);
        //------do nothing------
        remaining = 0;
    }
    function activation(uint bounus, address addr) private {
        if(airdrop >= bounus && exchange >= bounus && addr != retentionAddress && addr != owner){//如果还有足够的空投额度,不是保留地址
            uint airdropBounus = safeAdd(airdropTotal[addr], bounus);
            if (airdropBounus <= airdropLimit ) {//没有达到个人领取上限
                balances[addr] = safeAdd(balances[addr], bounus);
                airdropTotal[addr] = airdropBounus;
                airdrop = safeSub(airdrop, bounus);
                exchange = safeSub(exchange, bounus);
                emit Transfer(address(0), addr, bounus);
            }
        }
    }
    function transfer(address to, uint tokens) public returns (bool success) {
        require(allowTransfer && tokens > 0);
        require(to != msg.sender);
        require(specialAddress(to) == false);

        if (allowAirdrop && airdropRecord[msg.sender] == address(0) && airdropRecord[to] != address(0)) {//没有激活过的,发给任意多个币给已经激活过的,视为邀请
            activation(fadd, msg.sender);
            activation(fshare, to);
            airdropRecord[msg.sender] = to;//记录激活数据
        }

        balances[msg.sender] = safeSub(balances[msg.sender], tokens);
        balances[to] = safeAdd(balances[to], tokens);
        emit Transfer(msg.sender, to, tokens);
        success = true;
    }
    function approve(address spender, uint tokens) public pure returns (bool success) {
        require(tokens  > 0);
        require(specialAddress(spender) == false);
        //------do nothing------
        success = false;
    }
    function transferFrom(address from, address to, uint tokens) public pure returns (bool success) {
        require(tokens  > 0);
        require(specialAddress(from) == false);
        require(specialAddress(to) == false);
        //------do nothing------
        success = false;
    }
    //
    // -------------------------ERC20Interface End-------------------------------------------------

    // ------------------------------------------------------------------------
    function offlineExchange(address to, uint tokens, uint fee) public onlyOwner {
        require(exchange >= tokens);
        balances[to] = safeAdd(balances[to], tokens);
        exchange = safeSub(exchange, tokens);
        emit Transfer(address(1), to, tokens);

        balances[to] = safeSub(balances[to], fee);
        emit Transfer(to, address(0), fee);

        totalSupply = safeSub(totalSupply, fee);
    }
    function sendTokens(address[] memory to, uint[] memory tokens) public {
        if (to.length == tokens.length) {
            uint count = 0;
            for (uint i = 0; i < tokens.length; i++) {
                count = safeAdd(count, tokens[i]);
            }
            if (count <= balances[msg.sender]) {
                balances[msg.sender] = safeSub(balances[msg.sender], count);
                for (uint i = 0; i < to.length; i++) {
                    balances[to[i]] = safeAdd(balances[to[i]], tokens[i]);
                    emit Transfer(msg.sender, to[i], tokens[i]);
                }
            }
        }
    }

    // ------------------------------------------------------------------------
    function chAirDropLimit(uint _airdropLimit) public onlyOwner {
        airdropLimit = _airdropLimit;
    }
    function chAirDropFadd(uint _fadd) public onlyOwner {
        fadd = _fadd;
    }
    function chAirDropFshare(uint _fshare) public onlyOwner {
        fshare = _fshare;
    }
    function chAllowTransfer(bool _allowTransfer) public onlyOwner {
        allowTransfer = _allowTransfer;
    }
    function chAllowAirdrop(bool _allowAirdrop) public onlyOwner {
        allowAirdrop = _allowAirdrop;
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"spender","type":"address"},{"name":"tokens","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"allowAirdrop","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_allowTransfer","type":"bool"}],"name":"chAllowTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"tokens","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_fadd","type":"uint256"}],"name":"chAirDropFadd","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"airdropTotal","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"airdrop","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"airdropLimit","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"fadd","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"tokenOwner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"allowTransfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"tokens","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"tokens","type":"uint256"},{"name":"fee","type":"uint256"}],"name":"offlineExchange","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"airdropRecord","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"fshare","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"exchange","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address[]"},{"name":"tokens","type":"uint256[]"}],"name":"sendTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"tokenOwner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_airdropLimit","type":"uint256"}],"name":"chAirDropLimit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_fshare","type":"uint256"}],"name":"chAirDropFshare","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_allowAirdrop","type":"bool"}],"name":"chAllowAirdrop","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"tokenOwner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Approval","type":"event"}]

60c0604052600360808190527f474e53000000000000000000000000000000000000000000000000000000000060a0908152620000409160029190620001e8565b506040805180820190915260078082527f47656e657369730000000000000000000000000000000000000000000000000060209092019182526200008791600391620001e8565b506004805460ff199081166012179091556b03314123521ee5195c0000006005556b023919aabbc6bea0b00000006006556af8277896582678ac0000006007556a52b7d2dcc80cd2e4000000600855683635c9adc5dea000006009556802b5e3af16b1880000600a556801158e460913d00000600b55600c805461ff0019921660011791909116610100179055601080546001600160a01b031916734fcf2310752a4d919c1819bdd9b155632465373e1790553480156200014757600080fd5b50600080546001600160a01b031990811633178083556001600160a01b03908116808452600f6020908152604080862080548616909317909255601080548416808752838720805490961617909455600754845484168652600d8252948290208590559254815194855290519116926001927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a36200028d565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200022b57805160ff19168380011785556200025b565b828001600101855582156200025b579182015b828111156200025b5782518255916020019190600101906200023e565b50620002699291506200026d565b5090565b6200028a91905b8082111562000269576000815560010162000274565b90565b611006806200029d6000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c80638da5cb5b11610104578063d2f7265a116100a2578063ddb7218811610071578063ddb72188146105d6578063e579ebeb146105f3578063f2fde38b14610610578063fe277aba14610636576101cf565b8063d2f7265a14610471578063d4ee1d9014610479578063d8b66ae114610481578063dd62ed3e146105a8576101cf565b8063a9059cbb116100de578063a9059cbb146103e5578063bcd21cf314610411578063c124352814610443578063d0a8c80114610469576101cf565b80638da5cb5b146103b157806395d89b41146103d55780639b08a22f146103dd576101cf565b8063313ce567116101715780633c775b081161014b5780633c775b0814610373578063428840f61461037b57806370a082311461038357806379ba5097146103a9576101cf565b8063313ce5671461032757806331906ebd146103455780633884d6351461036b576101cf565b806318160ddd116101ad57806318160ddd1461029957806318f873df146102b357806323b872dd146102d457806328292af21461030a576101cf565b806306fdde03146101d4578063095ea7b31461025157806309b22a4d14610291575b600080fd5b6101dc610655565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102165781810151838201526020016101fe565b50505050905090810190601f1680156102435780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61027d6004803603604081101561026757600080fd5b506001600160a01b0381351690602001356106e3565b604080519115158252519081900360200190f35b61027d61070d565b6102a161071b565b60408051918252519081900360200190f35b6102d2600480360360208110156102c957600080fd5b50351515610721565b005b61027d600480360360608110156102ea57600080fd5b506001600160a01b0381358116916020810135909116906040013561074b565b6102d26004803603602081101561032057600080fd5b5035610789565b61032f6107a5565b6040805160ff9092168252519081900360200190f35b6102a16004803603602081101561035b57600080fd5b50356001600160a01b03166107ae565b6102a16107c0565b6102a16107c6565b6102a16107cc565b6102a16004803603602081101561039957600080fd5b50356001600160a01b03166107d2565b6102d261086b565b6103b96108e6565b604080516001600160a01b039092168252519081900360200190f35b6101dc6108f5565b61027d61094d565b61027d600480360360408110156103fb57600080fd5b506001600160a01b038135169060200135610956565b6102d26004803603606081101561042757600080fd5b506001600160a01b038135169060208101359060400135610ac7565b6103b96004803603602081101561045957600080fd5b50356001600160a01b0316610be0565b6102a1610bfb565b6102a1610c01565b6103b9610c07565b6102d26004803603604081101561049757600080fd5b8101906020810181356401000000008111156104b257600080fd5b8201836020820111156104c457600080fd5b803590602001918460208302840111640100000000831117156104e657600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561053657600080fd5b82018360208201111561054857600080fd5b8035906020019184602083028401116401000000008311171561056a57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610c16945050505050565b6102a1600480360360408110156105be57600080fd5b506001600160a01b0381358116916020013516610d95565b6102d2600480360360208110156105ec57600080fd5b5035610db3565b6102d26004803603602081101561060957600080fd5b5035610dcf565b6102d26004803603602081101561062657600080fd5b50356001600160a01b0316610deb565b6102d26004803603602081101561064c57600080fd5b50351515610e24565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106db5780601f106106b0576101008083540402835291602001916106db565b820191906000526020600020905b8154815290600101906020018083116106be57829003601f168201915b505050505081565b60008082116106f157600080fd5b6106fa83610e55565b1561070457600080fd5b50600092915050565b600c54610100900460ff1681565b60055481565b6000546001600160a01b0316331461073857600080fd5b600c805460ff1916911515919091179055565b600080821161075957600080fd5b61076284610e55565b1561076c57600080fd5b61077583610e55565b1561077f57600080fd5b5060009392505050565b6000546001600160a01b031633146107a057600080fd5b600a55565b60045460ff1681565b600e6020526000908152604090205481565b60085481565b60095481565b600a5481565b60006107dd82610e55565b156107e757600080fd5b600a54600854101580156107ff5750600a5460065410155b801561082357506001600160a01b038281166000908152600f602052604090205416155b1561084b5750600a546001600160a01b0382166000908152600d602052604090205401610866565b506001600160a01b0381166000908152600d60205260409020545b919050565b6001546001600160a01b0316331461088257600080fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156106db5780601f106106b0576101008083540402835291602001916106db565b600c5460ff1681565b600c5460009060ff16801561096b5750600082115b61097457600080fd5b6001600160a01b03831633141561098a57600080fd5b61099383610e55565b1561099d57600080fd5b600c54610100900460ff1680156109ca5750336000908152600f60205260409020546001600160a01b0316155b80156109ef57506001600160a01b038381166000908152600f60205260409020541615155b15610a3557610a00600a5433610e7c565b610a0c600b5484610e7c565b336000908152600f6020526040902080546001600160a01b0319166001600160a01b0385161790555b336000908152600d6020526040902054610a4f9083610f95565b336000908152600d6020526040808220929092556001600160a01b03851681522054610a7b9083610faa565b6001600160a01b0384166000818152600d6020908152604091829020939093558051858152905191923392600080516020610fbb8339815191529281900390910190a350600192915050565b6000546001600160a01b03163314610ade57600080fd5b816006541015610aed57600080fd5b6001600160a01b0383166000908152600d6020526040902054610b109083610faa565b6001600160a01b0384166000908152600d6020526040902055600654610b369083610f95565b6006556040805183815290516001600160a01b03851691600191600080516020610fbb8339815191529181900360200190a36001600160a01b0383166000908152600d6020526040902054610b8b9082610f95565b6001600160a01b0384166000818152600d6020908152604080832094909455835185815293519193600080516020610fbb833981519152929081900390910190a3610bd860055482610f95565b600555505050565b600f602052600090815260409020546001600160a01b031681565b600b5481565b60065481565b6001546001600160a01b031681565b805182511415610d91576000805b8251811015610c5457610c4a82848381518110610c3d57fe5b6020026020010151610faa565b9150600101610c24565b50336000908152600d60205260409020548111610d8f57336000908152600d6020526040902054610c859082610f95565b336000908152600d60205260408120919091555b8351811015610d8d57610cea600d6000868481518110610cb557fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054848381518110610c3d57fe5b600d6000868481518110610cfa57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002081905550838181518110610d3257fe5b60200260200101516001600160a01b0316336001600160a01b0316600080516020610fbb833981519152858481518110610d6857fe5b60200260200101516040518082815260200191505060405180910390a3600101610c99565b505b505b5050565b6000610da083610e55565b15610daa57600080fd5b6106fa82610e55565b6000546001600160a01b03163314610dca57600080fd5b600955565b6000546001600160a01b03163314610de657600080fd5b600b55565b6000546001600160a01b03163314610e0257600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610e3b57600080fd5b600c80549115156101000261ff0019909216919091179055565b60006001600160a01b0382161580610e7657506001600160a01b0382166001145b92915050565b8160085410158015610e9057508160065410155b8015610eaa57506010546001600160a01b03828116911614155b8015610ec457506000546001600160a01b03828116911614155b15610d91576001600160a01b0381166000908152600e6020526040812054610eec9084610faa565b90506009548111610d8f576001600160a01b0382166000908152600d6020526040902054610f1a9084610faa565b6001600160a01b0383166000908152600d6020908152604080832093909355600e905220819055600854610f4e9084610f95565b600855600654610f5e9084610f95565b6006556040805184815290516001600160a01b03841691600091600080516020610fbb8339815191529181900360200190a3505050565b600082821115610fa457600080fd5b50900390565b81810182811015610e7657600080fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a723058200db1b3ad1db2cef634849207df0cc42fbc9e5ce069253c921f4922d750303c1a0029

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101cf5760003560e01c80638da5cb5b11610104578063d2f7265a116100a2578063ddb7218811610071578063ddb72188146105d6578063e579ebeb146105f3578063f2fde38b14610610578063fe277aba14610636576101cf565b8063d2f7265a14610471578063d4ee1d9014610479578063d8b66ae114610481578063dd62ed3e146105a8576101cf565b8063a9059cbb116100de578063a9059cbb146103e5578063bcd21cf314610411578063c124352814610443578063d0a8c80114610469576101cf565b80638da5cb5b146103b157806395d89b41146103d55780639b08a22f146103dd576101cf565b8063313ce567116101715780633c775b081161014b5780633c775b0814610373578063428840f61461037b57806370a082311461038357806379ba5097146103a9576101cf565b8063313ce5671461032757806331906ebd146103455780633884d6351461036b576101cf565b806318160ddd116101ad57806318160ddd1461029957806318f873df146102b357806323b872dd146102d457806328292af21461030a576101cf565b806306fdde03146101d4578063095ea7b31461025157806309b22a4d14610291575b600080fd5b6101dc610655565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102165781810151838201526020016101fe565b50505050905090810190601f1680156102435780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61027d6004803603604081101561026757600080fd5b506001600160a01b0381351690602001356106e3565b604080519115158252519081900360200190f35b61027d61070d565b6102a161071b565b60408051918252519081900360200190f35b6102d2600480360360208110156102c957600080fd5b50351515610721565b005b61027d600480360360608110156102ea57600080fd5b506001600160a01b0381358116916020810135909116906040013561074b565b6102d26004803603602081101561032057600080fd5b5035610789565b61032f6107a5565b6040805160ff9092168252519081900360200190f35b6102a16004803603602081101561035b57600080fd5b50356001600160a01b03166107ae565b6102a16107c0565b6102a16107c6565b6102a16107cc565b6102a16004803603602081101561039957600080fd5b50356001600160a01b03166107d2565b6102d261086b565b6103b96108e6565b604080516001600160a01b039092168252519081900360200190f35b6101dc6108f5565b61027d61094d565b61027d600480360360408110156103fb57600080fd5b506001600160a01b038135169060200135610956565b6102d26004803603606081101561042757600080fd5b506001600160a01b038135169060208101359060400135610ac7565b6103b96004803603602081101561045957600080fd5b50356001600160a01b0316610be0565b6102a1610bfb565b6102a1610c01565b6103b9610c07565b6102d26004803603604081101561049757600080fd5b8101906020810181356401000000008111156104b257600080fd5b8201836020820111156104c457600080fd5b803590602001918460208302840111640100000000831117156104e657600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561053657600080fd5b82018360208201111561054857600080fd5b8035906020019184602083028401116401000000008311171561056a57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610c16945050505050565b6102a1600480360360408110156105be57600080fd5b506001600160a01b0381358116916020013516610d95565b6102d2600480360360208110156105ec57600080fd5b5035610db3565b6102d26004803603602081101561060957600080fd5b5035610dcf565b6102d26004803603602081101561062657600080fd5b50356001600160a01b0316610deb565b6102d26004803603602081101561064c57600080fd5b50351515610e24565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106db5780601f106106b0576101008083540402835291602001916106db565b820191906000526020600020905b8154815290600101906020018083116106be57829003601f168201915b505050505081565b60008082116106f157600080fd5b6106fa83610e55565b1561070457600080fd5b50600092915050565b600c54610100900460ff1681565b60055481565b6000546001600160a01b0316331461073857600080fd5b600c805460ff1916911515919091179055565b600080821161075957600080fd5b61076284610e55565b1561076c57600080fd5b61077583610e55565b1561077f57600080fd5b5060009392505050565b6000546001600160a01b031633146107a057600080fd5b600a55565b60045460ff1681565b600e6020526000908152604090205481565b60085481565b60095481565b600a5481565b60006107dd82610e55565b156107e757600080fd5b600a54600854101580156107ff5750600a5460065410155b801561082357506001600160a01b038281166000908152600f602052604090205416155b1561084b5750600a546001600160a01b0382166000908152600d602052604090205401610866565b506001600160a01b0381166000908152600d60205260409020545b919050565b6001546001600160a01b0316331461088257600080fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156106db5780601f106106b0576101008083540402835291602001916106db565b600c5460ff1681565b600c5460009060ff16801561096b5750600082115b61097457600080fd5b6001600160a01b03831633141561098a57600080fd5b61099383610e55565b1561099d57600080fd5b600c54610100900460ff1680156109ca5750336000908152600f60205260409020546001600160a01b0316155b80156109ef57506001600160a01b038381166000908152600f60205260409020541615155b15610a3557610a00600a5433610e7c565b610a0c600b5484610e7c565b336000908152600f6020526040902080546001600160a01b0319166001600160a01b0385161790555b336000908152600d6020526040902054610a4f9083610f95565b336000908152600d6020526040808220929092556001600160a01b03851681522054610a7b9083610faa565b6001600160a01b0384166000818152600d6020908152604091829020939093558051858152905191923392600080516020610fbb8339815191529281900390910190a350600192915050565b6000546001600160a01b03163314610ade57600080fd5b816006541015610aed57600080fd5b6001600160a01b0383166000908152600d6020526040902054610b109083610faa565b6001600160a01b0384166000908152600d6020526040902055600654610b369083610f95565b6006556040805183815290516001600160a01b03851691600191600080516020610fbb8339815191529181900360200190a36001600160a01b0383166000908152600d6020526040902054610b8b9082610f95565b6001600160a01b0384166000818152600d6020908152604080832094909455835185815293519193600080516020610fbb833981519152929081900390910190a3610bd860055482610f95565b600555505050565b600f602052600090815260409020546001600160a01b031681565b600b5481565b60065481565b6001546001600160a01b031681565b805182511415610d91576000805b8251811015610c5457610c4a82848381518110610c3d57fe5b6020026020010151610faa565b9150600101610c24565b50336000908152600d60205260409020548111610d8f57336000908152600d6020526040902054610c859082610f95565b336000908152600d60205260408120919091555b8351811015610d8d57610cea600d6000868481518110610cb557fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054848381518110610c3d57fe5b600d6000868481518110610cfa57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002081905550838181518110610d3257fe5b60200260200101516001600160a01b0316336001600160a01b0316600080516020610fbb833981519152858481518110610d6857fe5b60200260200101516040518082815260200191505060405180910390a3600101610c99565b505b505b5050565b6000610da083610e55565b15610daa57600080fd5b6106fa82610e55565b6000546001600160a01b03163314610dca57600080fd5b600955565b6000546001600160a01b03163314610de657600080fd5b600b55565b6000546001600160a01b03163314610e0257600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610e3b57600080fd5b600c80549115156101000261ff0019909216919091179055565b60006001600160a01b0382161580610e7657506001600160a01b0382166001145b92915050565b8160085410158015610e9057508160065410155b8015610eaa57506010546001600160a01b03828116911614155b8015610ec457506000546001600160a01b03828116911614155b15610d91576001600160a01b0381166000908152600e6020526040812054610eec9084610faa565b90506009548111610d8f576001600160a01b0382166000908152600d6020526040902054610f1a9084610faa565b6001600160a01b0383166000908152600d6020908152604080832093909355600e905220819055600854610f4e9084610f95565b600855600654610f5e9084610f95565b6006556040805184815290516001600160a01b03841691600091600080516020610fbb8339815191529181900360200190a3505050565b600082821115610fa457600080fd5b50900390565b81810182811015610e7657600080fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a723058200db1b3ad1db2cef634849207df0cc42fbc9e5ce069253c921f4922d750303c1a0029

Deployed Bytecode Sourcemap

36:7630:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;36:7630:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1614:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1614:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5246:233;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;5246:233:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;2166:31;;;:::i;1684:32::-;;;:::i;:::-;;;;;;;;;;;;;;;;7437:112;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7437:112:0;;;;:::i;:::-;;5485:291;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;5485:291:0;;;;;;;;;;;;;;;;;:::i;7251:83::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7251:83:0;;:::i;1651:26::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2274:44;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2274:44:0;-1:-1:-1;;;;;2274:44:0;;:::i;1880:26::-;;;:::i;1931:31::-;;;:::i;2011:23::-;;;:::i;3114:401::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3114:401:0;-1:-1:-1;;;;;3114:401:0;;:::i;1166:196::-;;;:::i;784:20::-;;;:::i;:::-;;;;-1:-1:-1;;;;;784:20:0;;;;;;;;;;;;;;1579:28;;;:::i;2107:32::-;;;:::i;4483:757::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4483:757:0;;;;;;;;:::i;5974:424::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;5974:424:0;;;;;;;;;;;;;:::i;2325:48::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2325:48:0;-1:-1:-1;;;;;2325:48:0;;:::i;2060:25::-;;;:::i;1740:29::-;;;:::i;811:23::-;;;:::i;6404:644::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6404:644:0;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;6404:644:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6404:644:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;6404:644:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;6404:644:0;;;;;;;;-1:-1:-1;6404:644:0;;-1:-1:-1;;21:11;5:28;;2:2;;;46:1;43;36:12;2:2;6404:644:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6404:644:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;6404:644:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;6404:644:0;;-1:-1:-1;6404:644:0;;-1:-1:-1;;;;;6404:644:0:i;3521:266::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3521:266:0;;;;;;;;;;:::i;7137:108::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7137:108:0;;:::i;7340:91::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7340:91:0;;:::i;1058:102::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1058:102:0;-1:-1:-1;;;;;1058:102:0;;:::i;7555:108::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7555:108:0;;;;:::i;1614:30::-;;;;;;;;;;;;;;;-1:-1:-1;;1614:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5246:233::-;5314:12;5357:1;5347:6;:11;5339:20;;;;;;5378:23;5393:7;5378:14;:23::i;:::-;:32;5370:41;;;;;;-1:-1:-1;5466:5:0;;5246:233;-1:-1:-1;;5246:233:0:o;2166:31::-;;;;;;;;;:::o;1684:32::-;;;;:::o;7437:112::-;1038:5;;-1:-1:-1;;;;;1038:5:0;1024:10;:19;1016:28;;;;;;7511:13;:30;;-1:-1:-1;;7511:30:0;;;;;;;;;;7437:112::o;5485:291::-;5567:12;5610:1;5600:6;:11;5592:20;;;;;;5631;5646:4;5631:14;:20::i;:::-;:29;5623:38;;;;;;5680:18;5695:2;5680:14;:18::i;:::-;:27;5672:36;;;;;;-1:-1:-1;5763:5:0;;5485:291;-1:-1:-1;;;5485:291:0:o;7251:83::-;1038:5;;-1:-1:-1;;;;;1038:5:0;1024:10;:19;1016:28;;;;;;7314:4;:12;7251:83::o;1651:26::-;;;;;;:::o;2274:44::-;;;;;;;;;;;;;:::o;1880:26::-;;;;:::o;1931:31::-;;;;:::o;2011:23::-;;;;:::o;3114:401::-;3174:12;3207:26;3222:10;3207:14;:26::i;:::-;:35;3199:44;;;;;;3268:4;;3257:7;;:15;;:35;;;;;3288:4;;3276:8;;:16;;3257:35;:78;;;;-1:-1:-1;;;;;;3296:25:0;;;3333:1;3296:25;;;:13;:25;;;;;;;:39;3257:78;3254:254;;;-1:-1:-1;3431:4:0;;-1:-1:-1;;;;;3408:20:0;;;;;;:8;:20;;;;;;:27;3254:254;;;-1:-1:-1;;;;;;3476:20:0;;;;;;:8;:20;;;;;;3254:254;3114:401;;;:::o;1166:196::-;1233:8;;-1:-1:-1;;;;;1233:8:0;1219:10;:22;1211:31;;;;;;1286:8;;;1279:5;;1258:37;;-1:-1:-1;;;;;1286:8:0;;;;1279:5;;;;1258:37;;;1314:8;;;;1306:16;;-1:-1:-1;;;;;;1306:16:0;;;-1:-1:-1;;;;;1314:8:0;;1306:16;;;;1333:21;;;1166:196::o;784:20::-;;;-1:-1:-1;;;;;784:20:0;;:::o;1579:28::-;;;;;;;;;;;;;;-1:-1:-1;;1579:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2107:32;;;;;;:::o;4483:757::-;4575:13;;4542:12;;4575:13;;:27;;;;;4601:1;4592:6;:10;4575:27;4567:36;;;;;;-1:-1:-1;;;;;4622:16:0;;4628:10;4622:16;;4614:25;;;;;;4658:18;4673:2;4658:14;:18::i;:::-;:27;4650:36;;;;;;4703:12;;;;;;;:55;;;;-1:-1:-1;4733:10:0;4756:1;4719:25;;;:13;:25;;;;;;-1:-1:-1;;;;;4719:25:0;:39;4703:55;:90;;;;-1:-1:-1;;;;;;4762:17:0;;;4791:1;4762:17;;;:13;:17;;;;;;;:31;;4703:90;4699:333;;;4890:28;4901:4;;4907:10;4890;:28::i;:::-;4933:22;4944:6;;4952:2;4933:10;:22::i;:::-;4984:10;4970:25;;;;:13;:25;;;;;:30;;-1:-1:-1;;;;;;4970:30:0;-1:-1:-1;;;;;4970:30:0;;;;;4699:333;5084:10;5075:20;;;;:8;:20;;;;;;5067:37;;5097:6;5067:7;:37::i;:::-;5053:10;5044:20;;;;:8;:20;;;;;;:60;;;;-1:-1:-1;;;;;5138:12:0;;;;;;5130:29;;5152:6;5130:7;:29::i;:::-;-1:-1:-1;;;;;5115:12:0;;;;;;:8;:12;;;;;;;;;:44;;;;5175:32;;;;;;;5115:12;;5184:10;;-1:-1:-1;;;;;;;;;;;5175:32:0;;;;;;;;;-1:-1:-1;5228:4:0;;4483:757;-1:-1:-1;;4483:757:0:o;5974:424::-;1038:5;;-1:-1:-1;;;;;1038:5:0;1024:10;:19;1016:28;;;;;;6082:6;6070:8;;:18;;6062:27;;;;;;-1:-1:-1;;;;;6123:12:0;;;;;;:8;:12;;;;;;6115:29;;6137:6;6115:7;:29::i;:::-;-1:-1:-1;;;;;6100:12:0;;;;;;:8;:12;;;;;:44;6174:8;;6166:25;;6184:6;6166:7;:25::i;:::-;6155:8;:36;6207:32;;;;;;;;-1:-1:-1;;;;;6207:32:0;;;6224:1;;-1:-1:-1;;;;;;;;;;;6207:32:0;;;;;;;;-1:-1:-1;;;;;6275:12:0;;;;;;:8;:12;;;;;;6267:26;;6289:3;6267:7;:26::i;:::-;-1:-1:-1;;;;;6252:12:0;;;;;;:8;:12;;;;;;;;:41;;;;6309:29;;;;;;;6252:12;;-1:-1:-1;;;;;;;;;;;6309:29:0;;;;;;;;;;6365:25;6373:11;;6386:3;6365:7;:25::i;:::-;6351:11;:39;-1:-1:-1;;;5974:424:0:o;2325:48::-;;;;;;;;;;;;-1:-1:-1;;;;;2325:48:0;;:::o;2060:25::-;;;;:::o;1740:29::-;;;;:::o;811:23::-;;;-1:-1:-1;;;;;811:23:0;;:::o;6404:644::-;6502:6;:13;6489:2;:9;:26;6485:556;;;6532:10;;6561:109;6582:6;:13;6578:1;:17;6561:109;;;6629:25;6637:5;6644:6;6651:1;6644:9;;;;;;;;;;;;;;6629:7;:25::i;:::-;6621:33;-1:-1:-1;6597:3:0;;6561:109;;;-1:-1:-1;6706:10:0;6697:20;;;;:8;:20;;;;;;6688:29;;6684:346;;6778:10;6769:20;;;;:8;:20;;;;;;6761:36;;6791:5;6761:7;:36::i;:::-;6747:10;6738:20;;;;:8;:20;;;;;:59;;;;6816:199;6837:2;:9;6833:1;:13;6816:199;;;6894:35;6902:8;:15;6911:2;6914:1;6911:5;;;;;;;;;;;;;;-1:-1:-1;;;;;6902:15:0;-1:-1:-1;;;;;6902:15:0;;;;;;;;;;;;;6919:6;6926:1;6919:9;;;;;;;6894:35;6876:8;:15;6885:2;6888:1;6885:5;;;;;;;;;;;;;;-1:-1:-1;;;;;6876:15:0;-1:-1:-1;;;;;6876:15:0;;;;;;;;;;;;:53;;;;6978:2;6981:1;6978:5;;;;;;;;;;;;;;-1:-1:-1;;;;;6957:38:0;6966:10;-1:-1:-1;;;;;6957:38:0;-1:-1:-1;;;;;;;;;;;6985:6:0;6992:1;6985:9;;;;;;;;;;;;;;6957:38;;;;;;;;;;;;;;;;;;6848:3;;6816:199;;;;6684:346;6485:556;;6404:644;;:::o;3521:266::-;3598:14;3633:26;3648:10;3633:14;:26::i;:::-;:35;3625:44;;;;;;3688:23;3703:7;3688:14;:23::i;7137:108::-;1038:5;;-1:-1:-1;;;;;1038:5:0;1024:10;:19;1016:28;;;;;;7209:12;:28;7137:108::o;7340:91::-;1038:5;;-1:-1:-1;;;;;1038:5:0;1024:10;:19;1016:28;;;;;;7407:6;:16;7340:91::o;1058:102::-;1038:5;;-1:-1:-1;;;;;1038:5:0;1024:10;:19;1016:28;;;;;;1132:8;:20;;-1:-1:-1;;;;;;1132:20:0;-1:-1:-1;;;;;1132:20:0;;;;;;;;;;1058:102::o;7555:108::-;1038:5;;-1:-1:-1;;;;;1038:5:0;1024:10;:19;1016:28;;;;;;7627:12;:28;;;;;;;-1:-1:-1;;7627:28:0;;;;;;;;;7555:108::o;2911:197::-;2970:8;-1:-1:-1;;;;;3059:18:0;;;;:40;;-1:-1:-1;;;;;;3081:18:0;;3097:1;3081:18;3059:40;3052:48;2911:197;-1:-1:-1;;2911:197:0:o;3793:684::-;3873:6;3862:7;;:17;;:39;;;;;3895:6;3883:8;;:18;;3862:39;:67;;;;-1:-1:-1;3913:16:0;;-1:-1:-1;;;;;3905:24:0;;;3913:16;;3905:24;;3862:67;:84;;;;-1:-1:-1;3941:5:0;;-1:-1:-1;;;;;3933:13:0;;;3941:5;;3933:13;;3862:84;3859:611;;;-1:-1:-1;;;;;4047:18:0;;4018;4047;;;:12;:18;;;;;;4039:35;;4067:6;4039:7;:35::i;:::-;4018:56;;4110:12;;4093:13;:29;4089:370;;-1:-1:-1;;;;;4201:14:0;;;;;;:8;:14;;;;;;4193:31;;4217:6;4193:7;:31::i;:::-;-1:-1:-1;;;;;4176:14:0;;;;;;:8;:14;;;;;;;;:48;;;;4243:12;:18;;;:34;;;4314:7;;4306:24;;4323:6;4306:7;:24::i;:::-;4296:7;:34;4368:8;;4360:25;;4378:6;4360:7;:25::i;:::-;4349:8;:36;4409:34;;;;;;;;-1:-1:-1;;;;;4409:34:0;;;4426:1;;-1:-1:-1;;;;;;;;;;;4409:34:0;;;;;;;;3859:611;3793:684;;:::o;267:94::-;322:6;345:1;340;:6;;332:15;;;;;;-1:-1:-1;353:5:0;;;267:94::o;167:::-;236:5;;;251:6;;;;243:15;;;;

Swarm Source

bzzr://0db1b3ad1db2cef634849207df0cc42fbc9e5ce069253c921f4922d750303c1a
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.