ETH Price: $2,288.24 (-3.90%)

Token

BugDAO (BUG)
 

Overview

Max Total Supply

100,000,000,000 BUG

Holders

18

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
400,000 BUG

Value
$0.00
0xA6a3931c141CCb88F416B58AA64Df4506E1F22b7
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:
Bug

Compiler Version
v0.8.6+commit.11564f7e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-01-20
*/

pragma solidity ^0.8.0;


abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}





            



pragma solidity ^0.8.0;


library Strings {
    bytes16 private constant _HEX_SYMBOLS = "0123456789abcdef";

    
    function toString(uint256 value) internal pure returns (string memory) {
        
        

        if (value == 0) {
            return "0";
        }
        uint256 temp = value;
        uint256 digits;
        while (temp != 0) {
            digits++;
            temp /= 10;
        }
        bytes memory buffer = new bytes(digits);
        while (value != 0) {
            digits -= 1;
            buffer[digits] = bytes1(uint8(48 + uint256(value % 10)));
            value /= 10;
        }
        return string(buffer);
    }

    
    function toHexString(uint256 value) internal pure returns (string memory) {
        if (value == 0) {
            return "0x00";
        }
        uint256 temp = value;
        uint256 length = 0;
        while (temp != 0) {
            length++;
            temp >>= 8;
        }
        return toHexString(value, length);
    }

    
    function toHexString(uint256 value, uint256 length) internal pure returns (string memory) {
        bytes memory buffer = new bytes(2 * length + 2);
        buffer[0] = "0";
        buffer[1] = "x";
        for (uint256 i = 2 * length + 1; i > 1; --i) {
            buffer[i] = _HEX_SYMBOLS[value & 0xf];
            value >>= 4;
        }
        require(value == 0, "Strings: hex length insufficient");
        return string(buffer);
    }
}





            

pragma solidity ^0.8.0;


interface IDaoToken {

    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    function transferWithoutTax(address to, uint256 value) external returns (bool);
    function newAirdrop() external;
    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
}





            



pragma solidity ^0.8.0;


library MerkleProof {
    
    function verify(
        bytes32[] memory proof,
        bytes32 root,
        bytes32 leaf
    ) internal pure returns (bool) {
        return processProof(proof, leaf) == root;
    }

    
    function processProof(bytes32[] memory proof, bytes32 leaf) internal pure returns (bytes32) {
        bytes32 computedHash = leaf;
        for (uint256 i = 0; i < proof.length; i++) {
            bytes32 proofElement = proof[i];
            if (computedHash <= proofElement) {
                
                computedHash = keccak256(abi.encodePacked(computedHash, proofElement));
            } else {
                
                computedHash = keccak256(abi.encodePacked(proofElement, computedHash));
            }
        }
        return computedHash;
    }
}





            



pragma solidity ^0.8.0;




abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    
    constructor() {
        _transferOwnership(_msgSender());
    }

    
    function owner() public view virtual returns (address) {
        return _owner;
    }

    
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

    
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}





            



pragma solidity ^0.8.0;




library ECDSA {
    enum RecoverError {
        NoError,
        InvalidSignature,
        InvalidSignatureLength,
        InvalidSignatureS,
        InvalidSignatureV
    }

    function _throwError(RecoverError error) private pure {
        if (error == RecoverError.NoError) {
            return; 
        } else if (error == RecoverError.InvalidSignature) {
            revert("ECDSA: invalid signature");
        } else if (error == RecoverError.InvalidSignatureLength) {
            revert("ECDSA: invalid signature length");
        } else if (error == RecoverError.InvalidSignatureS) {
            revert("ECDSA: invalid signature 's' value");
        } else if (error == RecoverError.InvalidSignatureV) {
            revert("ECDSA: invalid signature 'v' value");
        }
    }

    
    function tryRecover(bytes32 hash, bytes memory signature) internal pure returns (address, RecoverError) {
        
        
        
        if (signature.length == 65) {
            bytes32 r;
            bytes32 s;
            uint8 v;
            
            
            assembly {
                r := mload(add(signature, 0x20))
                s := mload(add(signature, 0x40))
                v := byte(0, mload(add(signature, 0x60)))
            }
            return tryRecover(hash, v, r, s);
        } else if (signature.length == 64) {
            bytes32 r;
            bytes32 vs;
            
            
            assembly {
                r := mload(add(signature, 0x20))
                vs := mload(add(signature, 0x40))
            }
            return tryRecover(hash, r, vs);
        } else {
            return (address(0), RecoverError.InvalidSignatureLength);
        }
    }

    
    function recover(bytes32 hash, bytes memory signature) internal pure returns (address) {
        (address recovered, RecoverError error) = tryRecover(hash, signature);
        _throwError(error);
        return recovered;
    }

    
    function tryRecover(
        bytes32 hash,
        bytes32 r,
        bytes32 vs
    ) internal pure returns (address, RecoverError) {
        bytes32 s;
        uint8 v;
        assembly {
            s := and(vs, 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)
            v := add(shr(255, vs), 27)
        }
        return tryRecover(hash, v, r, s);
    }

    
    function recover(
        bytes32 hash,
        bytes32 r,
        bytes32 vs
    ) internal pure returns (address) {
        (address recovered, RecoverError error) = tryRecover(hash, r, vs);
        _throwError(error);
        return recovered;
    }

    
    function tryRecover(
        bytes32 hash,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) internal pure returns (address, RecoverError) {
        
        
        
        
        
        
        
        
        
        if (uint256(s) > 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0) {
            return (address(0), RecoverError.InvalidSignatureS);
        }
        if (v != 27 && v != 28) {
            return (address(0), RecoverError.InvalidSignatureV);
        }

        
        address signer = ecrecover(hash, v, r, s);
        if (signer == address(0)) {
            return (address(0), RecoverError.InvalidSignature);
        }

        return (signer, RecoverError.NoError);
    }

    
    function recover(
        bytes32 hash,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) internal pure returns (address) {
        (address recovered, RecoverError error) = tryRecover(hash, v, r, s);
        _throwError(error);
        return recovered;
    }

    
    function toEthSignedMessageHash(bytes32 hash) internal pure returns (bytes32) {
        
        
        return keccak256(abi.encodePacked("\x19Ethereum Signed Message:\n32", hash));
    }

    
    function toEthSignedMessageHash(bytes memory s) internal pure returns (bytes32) {
        return keccak256(abi.encodePacked("\x19Ethereum Signed Message:\n", Strings.toString(s.length), s));
    }

    
    function toTypedDataHash(bytes32 domainSeparator, bytes32 structHash) internal pure returns (bytes32) {
        return keccak256(abi.encodePacked("\x19\x01", domainSeparator, structHash));
    }
}





pragma solidity ^0.8.0;








contract Bug is IDaoToken, Ownable {
    using ECDSA for bytes32;

    string public constant override name = 'BugDAO';
    string public constant override symbol = 'BUG';
    uint8 public constant override decimals = 18;
    uint256 public override totalSupply;
    uint256 public initial = 4e27;
    uint256 public MaxSupply = 1e11 ether;
    uint   public counter = 0;
    address public airdrop;
    address public treasury = 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE;
    mapping(address => uint256) public override balanceOf;
    mapping(address => mapping(address => uint256)) public override allowance;

    address public pair;

    bytes32 immutable public override DOMAIN_SEPARATOR;
 
    bytes32 public constant override PERMIT_TYPEHASH = 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9;
    mapping(address => uint256) public override nonces;

    event Transfer2Treasury(address from, address to, uint256 value);
    event SpendTreasury(uint256 value);
    event NewAirdrop(uint counter, uint256 value);
    event MerkleRootChanged(bytes32 merkleRoot);

     constructor(address _airdrop) {
        DOMAIN_SEPARATOR = keccak256(
            abi.encode(
                keccak256('EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)'),
                keccak256(bytes(name)),
                keccak256(bytes('1')),
                block.chainid,
                address(this)
            )
        );
        airdrop = _airdrop;
        _mint(airdrop, 19_500_000_000 ether);
        _mint(msg.sender, 500_000_000 ether);
        _mint(address(this), 80_000_000_000 ether);
    }

    function _mint(address to, uint256 value) internal {
        require(totalSupply + value <=MaxSupply, "max supply limit");
        totalSupply = totalSupply + value;
        balanceOf[to] = balanceOf[to] + value;
        emit Transfer(address(0), to, value);
    }

    function _burn(address from, uint256 value) internal {
        balanceOf[from] = balanceOf[from] - value;
        totalSupply = totalSupply - value;
        emit Transfer(from, address(0), value);
    }

    function _approve(address owner, address spender, uint256 value) private {
        allowance[owner][spender] = value;
        emit Approval(owner, spender, value);
    }

    function _transfer(address from, address to, uint256 value) private {
        balanceOf[from] = balanceOf[from] - value;
        uint256 treasuryValue = value * 1e17 / 1e18;
        uint256 transferValue = value - treasuryValue;
        balanceOf[treasury] += treasuryValue;
        balanceOf[to] += transferValue;
        emit Transfer2Treasury(from, treasury, treasuryValue);
        emit Transfer(from, to, transferValue);
    }

    function _transferWithoutTax(address from, address to, uint256 value) private {
        balanceOf[from] = balanceOf[from] - value;
        balanceOf[to] += value;
        emit Transfer(from, to, value);
    }

    function approve(address spender, uint256 value) external override returns (bool) {
        _approve(msg.sender, spender, value);
        return true;
    }

    function burn(uint256 value) external returns (bool) {
        _burn(msg.sender, value);
        return true;
    }

    function cleanTreasury() public onlyOwner {
        require(pair != address(0), "Should set pair first");
        uint256 balance = balanceOf[treasury];
        if (balance <= 0) {
            return;
        }
        
        uint256 burnValue= balance * 8 * 1e17 /1e18;
        uint256 rewardValue = balance - burnValue;
        _burn(treasury, burnValue);
        _transferWithoutTax(treasury, pair, rewardValue);
        emit SpendTreasury(balance);
    }

    function newAirdrop() external override {
        require(msg.sender == airdrop, "only airdrop");
        uint256 balance = balanceOf[address(this)];
        require(balance > 0, "insufficient balance to create new airdrop");
        uint256 amount = initial * (95 ** counter) / (100 ** counter);
        if (balance < amount) {
            amount = balance;
        }
        _transferWithoutTax(address(this), airdrop, amount);
        counter += 1;
        emit NewAirdrop(counter, amount);
    }

    function transfer(address to, uint256 value) external override returns (bool) {
        _transfer(msg.sender, to, value);
        return true;
    }

    function transferWithoutTax(address to, uint256 value) external override returns (bool) {
        require(msg.sender == airdrop, "Should called from timelock");
        _transferWithoutTax(msg.sender, to, value);
        return true;
    }

    function transferFrom(address from, address to, uint256 value) external override returns (bool) {
        if (allowance[from][msg.sender] != type(uint256).max) {
            allowance[from][msg.sender] = allowance[from][msg.sender] - value;
        }
        _transfer(from, to, value);
        return true;
    }

    function permit(address owner, address spender, uint256 value, uint deadline, uint8 v, bytes32 r, bytes32 s) external override {
        require(deadline >= block.timestamp, 'EXPIRED');

        bytes32 digest = keccak256(
            abi.encodePacked(
                '\x19\x01',
                DOMAIN_SEPARATOR,
                keccak256(abi.encode(PERMIT_TYPEHASH, owner, spender, value, nonces[owner]++, deadline))
            )
        );
        address recoveredAddress = digest.toEthSignedMessageHash().recover(v, r, s);
        require(recoveredAddress != address(0) && recoveredAddress == owner, 'INVALID_SIGNATURE');
        _approve(owner, spender, value);
    }

    function setUniV2Pair(address _pair) public onlyOwner {
        require(pair==address(0), "Already set pair");
        pair = _pair;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_airdrop","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"merkleRoot","type":"bytes32"}],"name":"MerkleRootChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"counter","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"NewAirdrop","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"SpendTreasury","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":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer2Treasury","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MaxSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PERMIT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"airdrop","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cleanTreasury","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"counter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initial","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"newAirdrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"}],"name":"setUniV2Pair","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":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferWithoutTax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"treasury","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

60a06040526b0cecb8f27f4200f3a00000006002556c01431e0fae6d7217caa00000006003556000600455600680546001600160a01b03191673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1790553480156200005d57600080fd5b506040516200192d3803806200192d83398101604081905262000080916200030c565b6200008b33620001cc565b604080518082018252600681526542756744414f60d01b6020918201528151808301835260018152603160f81b9082015281517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f918101919091527fa5f5c7a71258892382d68be50beb9b2fc66415c8b00c58219773c951ff58925d918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160408051808303601f190181529190528051602090910120608052600580546001600160a01b0319166001600160a01b03831690811790915562000194906b3f02059e2c61c4a3ac0000006200021c565b620001ac336b019d971e4fe8401e740000006200021c565b620001c5306c01027e72f1f1281308800000006200021c565b5062000365565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600354816001546200022f91906200033e565b1115620002755760405162461bcd60e51b815260206004820152601060248201526f1b585e081cdd5c1c1b1e481b1a5b5a5d60821b604482015260640160405180910390fd5b806001546200028591906200033e565b6001556001600160a01b038216600090815260076020526040902054620002ae9082906200033e565b6001600160a01b0383166000818152600760205260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90620003009085815260200190565b60405180910390a35050565b6000602082840312156200031f57600080fd5b81516001600160a01b03811681146200033757600080fd5b9392505050565b600082198211156200036057634e487b7160e01b600052601160045260246000fd5b500190565b6080516115a5620003886000396000818161028f01526108b101526115a56000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c8063715018a6116100f9578063b747d9c811610097578063d505accf11610071578063d505accf146103d0578063dd62ed3e146103e3578063ec8f793b1461040e578063f2fde38b1461042157600080fd5b8063b747d9c8146103b7578063bb806dc9146103bf578063cfe7bfe2146103c857600080fd5b806395d89b41116100d357806395d89b4114610366578063a8aa1b3114610388578063a9059cbb1461039b578063b36c1284146103ae57600080fd5b8063715018a61461032b5780637ecebe00146103355780638da5cb5b1461035557600080fd5b806334155fab1161016657806342966c681161014057806342966c68146102dc57806361bc221a146102ef57806361d027b3146102f857806370a082311461030b57600080fd5b806334155fab146102775780633644e5151461028a5780633884d635146102b157600080fd5b806306fdde03146101ae578063095ea7b3146101e957806318160ddd1461020c57806323b872dd1461022357806330adf81f14610236578063313ce5671461025d575b600080fd5b6101d36040518060400160405280600681526020016542756744414f60d01b81525081565b6040516101e09190611343565b60405180910390f35b6101fc6101f7366004611300565b610434565b60405190151581526020016101e0565b61021560015481565b6040519081526020016101e0565b6101fc610231366004611251565b61044b565b6102157f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b610265601281565b60405160ff90911681526020016101e0565b6101fc610285366004611300565b6104e0565b6102157f000000000000000000000000000000000000000000000000000000000000000081565b6005546102c4906001600160a01b031681565b6040516001600160a01b0390911681526020016101e0565b6101fc6102ea36600461132a565b61054d565b61021560045481565b6006546102c4906001600160a01b031681565b6102156103193660046111fc565b60076020526000908152604090205481565b610333610561565b005b6102156103433660046111fc565b600a6020526000908152604090205481565b6000546001600160a01b03166102c4565b6101d36040518060400160405280600381526020016242554760e81b81525081565b6009546102c4906001600160a01b031681565b6101fc6103a9366004611300565b610597565b61021560035481565b6103336105a4565b61021560025481565b6103336106ef565b6103336103de36600461128d565b61085b565b6102156103f136600461121e565b600860209081526000928352604080842090915290825290205481565b61033361041c3660046111fc565b610a7c565b61033361042f3660046111fc565b610b14565b6000610441338484610baf565b5060015b92915050565b6001600160a01b0383166000908152600860209081526040808320338452909152812054600019146104cb576001600160a01b03841660009081526008602090815260408083203384529091529020546104a6908390611511565b6001600160a01b03851660009081526008602090815260408083203384529091529020555b6104d6848484610c11565b5060019392505050565b6005546000906001600160a01b031633146105425760405162461bcd60e51b815260206004820152601b60248201527f53686f756c642063616c6c65642066726f6d2074696d656c6f636b000000000060448201526064015b60405180910390fd5b610441338484610d87565b60006105593383610e2d565b506001919050565b6000546001600160a01b0316331461058b5760405162461bcd60e51b815260040161053990611398565b6105956000610ec0565b565b6000610441338484610c11565b6000546001600160a01b031633146105ce5760405162461bcd60e51b815260040161053990611398565b6009546001600160a01b031661061e5760405162461bcd60e51b815260206004820152601560248201527414da1bdd5b19081cd95d081c185a5c88199a5c9cdd605a1b6044820152606401610539565b6006546001600160a01b0316600090815260076020526040902054806106415750565b6000670de0b6b3a76400006106578360086114f2565b6106699067016345785d8a00006114f2565b61067391906113e5565b905060006106818284611511565b60065490915061069a906001600160a01b031683610e2d565b6006546009546106b7916001600160a01b03908116911683610d87565b6040518381527fcf664e5b78620f924e54d236000500da675cce8b0763f3c1a14f586fbde520449060200160405180910390a1505050565b6005546001600160a01b031633146107385760405162461bcd60e51b815260206004820152600c60248201526b06f6e6c792061697264726f760a41b6044820152606401610539565b30600090815260076020526040902054806107a85760405162461bcd60e51b815260206004820152602a60248201527f696e73756666696369656e742062616c616e636520746f20637265617465206e604482015269065772061697264726f760b41b6064820152608401610539565b600060045460646107b9919061144a565b6004546107c790605f61144a565b6002546107d491906114f2565b6107de91906113e5565b9050808210156107eb5750805b6005546108039030906001600160a01b031683610d87565b60016004600082825461081691906113cd565b909155505060045460408051918252602082018390527f2bd5fd86c6c89b64fffbeacb6705515e729f66fb4db4ac3dd21f53881daba671910160405180910390a15050565b428410156108955760405162461bcd60e51b81526020600482015260076024820152661156141254915160ca1b6044820152606401610539565b6001600160a01b0387166000908152600a6020526040812080547f0000000000000000000000000000000000000000000000000000000000000000917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918b918b918b918761090383611528565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810187905260e0016040516020818303038152906040528051906020012060405160200161097c92919061190160f01b81526002810192909252602282015260420190565b60405160208183030381529060405280519060200120905060006109fb8585856109f3866040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b929190610f10565b90506001600160a01b03811615801590610a265750886001600160a01b0316816001600160a01b0316145b610a665760405162461bcd60e51b8152602060048201526011602482015270494e56414c49445f5349474e415455524560781b6044820152606401610539565b610a71898989610baf565b505050505050505050565b6000546001600160a01b03163314610aa65760405162461bcd60e51b815260040161053990611398565b6009546001600160a01b031615610af25760405162461bcd60e51b815260206004820152601060248201526f20b63932b0b23c9039b2ba103830b4b960811b6044820152606401610539565b600980546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610b3e5760405162461bcd60e51b815260040161053990611398565b6001600160a01b038116610ba35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610539565b610bac81610ec0565b50565b6001600160a01b0383811660008181526008602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316600090815260076020526040902054610c35908290611511565b6001600160a01b038416600090815260076020526040812091909155670de0b6b3a7640000610c6c8367016345785d8a00006114f2565b610c7691906113e5565b90506000610c848284611511565b6006546001600160a01b0316600090815260076020526040812080549293508492909190610cb39084906113cd565b90915550506001600160a01b03841660009081526007602052604081208054839290610ce09084906113cd565b9091555050600654604080516001600160a01b038089168252909216602083015281018390527fb74593b574d3a6ecbc31375d6c1553d8ee69b2d0f3b0828c7e00415491b420269060600160405180910390a1836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610d7891815260200190565b60405180910390a35050505050565b6001600160a01b038316600090815260076020526040902054610dab908290611511565b6001600160a01b038085166000908152600760205260408082209390935590841681529081208054839290610de19084906113cd565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c0491815260200190565b6001600160a01b038216600090815260076020526040902054610e51908290611511565b6001600160a01b038316600090815260076020526040902055600154610e78908290611511565b6001556040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000806000610f2187878787610f38565b91509150610f2e81611025565b5095945050505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115610f6f575060009050600361101c565b8460ff16601b14158015610f8757508460ff16601c14155b15610f98575060009050600461101c565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015610fec573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166110155760006001925092505061101c565b9150600090505b94509492505050565b600081600481111561103957611039611559565b14156110425750565b600181600481111561105657611056611559565b14156110a45760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610539565b60028160048111156110b8576110b8611559565b14156111065760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610539565b600381600481111561111a5761111a611559565b14156111735760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610539565b600481600481111561118757611187611559565b1415610bac5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b6064820152608401610539565b80356001600160a01b03811681146111f757600080fd5b919050565b60006020828403121561120e57600080fd5b611217826111e0565b9392505050565b6000806040838503121561123157600080fd5b61123a836111e0565b9150611248602084016111e0565b90509250929050565b60008060006060848603121561126657600080fd5b61126f846111e0565b925061127d602085016111e0565b9150604084013590509250925092565b600080600080600080600060e0888a0312156112a857600080fd5b6112b1886111e0565b96506112bf602089016111e0565b95506040880135945060608801359350608088013560ff811681146112e357600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561131357600080fd5b61131c836111e0565b946020939093013593505050565b60006020828403121561133c57600080fd5b5035919050565b600060208083528351808285015260005b8181101561137057858101830151858201604001528201611354565b81811115611382576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600082198211156113e0576113e0611543565b500190565b60008261140257634e487b7160e01b600052601260045260246000fd5b500490565b600181815b8085111561144257816000190482111561142857611428611543565b8085161561143557918102915b93841c939080029061140c565b509250929050565b6000611217838360008261146057506001610445565b8161146d57506000610445565b8160018114611483576002811461148d576114a9565b6001915050610445565b60ff84111561149e5761149e611543565b50506001821b610445565b5060208310610133831016604e8410600b84101617156114cc575081810a610445565b6114d68383611407565b80600019048211156114ea576114ea611543565b029392505050565b600081600019048311821515161561150c5761150c611543565b500290565b60008282101561152357611523611543565b500390565b600060001982141561153c5761153c611543565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052602160045260246000fdfea264697066735822122072e33ddf8f0922e74992bdf6df0ce2788ded7cdc1b895a10d58f51ca6748097b64736f6c634300080600330000000000000000000000006cd0988d1fa9dd636e3f820118a93e9cd2e04495

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101a95760003560e01c8063715018a6116100f9578063b747d9c811610097578063d505accf11610071578063d505accf146103d0578063dd62ed3e146103e3578063ec8f793b1461040e578063f2fde38b1461042157600080fd5b8063b747d9c8146103b7578063bb806dc9146103bf578063cfe7bfe2146103c857600080fd5b806395d89b41116100d357806395d89b4114610366578063a8aa1b3114610388578063a9059cbb1461039b578063b36c1284146103ae57600080fd5b8063715018a61461032b5780637ecebe00146103355780638da5cb5b1461035557600080fd5b806334155fab1161016657806342966c681161014057806342966c68146102dc57806361bc221a146102ef57806361d027b3146102f857806370a082311461030b57600080fd5b806334155fab146102775780633644e5151461028a5780633884d635146102b157600080fd5b806306fdde03146101ae578063095ea7b3146101e957806318160ddd1461020c57806323b872dd1461022357806330adf81f14610236578063313ce5671461025d575b600080fd5b6101d36040518060400160405280600681526020016542756744414f60d01b81525081565b6040516101e09190611343565b60405180910390f35b6101fc6101f7366004611300565b610434565b60405190151581526020016101e0565b61021560015481565b6040519081526020016101e0565b6101fc610231366004611251565b61044b565b6102157f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b610265601281565b60405160ff90911681526020016101e0565b6101fc610285366004611300565b6104e0565b6102157f2c0489ff3c3543868bccdd165349acb4dbe8a92cd9a7e4c9a381f60b50b488a381565b6005546102c4906001600160a01b031681565b6040516001600160a01b0390911681526020016101e0565b6101fc6102ea36600461132a565b61054d565b61021560045481565b6006546102c4906001600160a01b031681565b6102156103193660046111fc565b60076020526000908152604090205481565b610333610561565b005b6102156103433660046111fc565b600a6020526000908152604090205481565b6000546001600160a01b03166102c4565b6101d36040518060400160405280600381526020016242554760e81b81525081565b6009546102c4906001600160a01b031681565b6101fc6103a9366004611300565b610597565b61021560035481565b6103336105a4565b61021560025481565b6103336106ef565b6103336103de36600461128d565b61085b565b6102156103f136600461121e565b600860209081526000928352604080842090915290825290205481565b61033361041c3660046111fc565b610a7c565b61033361042f3660046111fc565b610b14565b6000610441338484610baf565b5060015b92915050565b6001600160a01b0383166000908152600860209081526040808320338452909152812054600019146104cb576001600160a01b03841660009081526008602090815260408083203384529091529020546104a6908390611511565b6001600160a01b03851660009081526008602090815260408083203384529091529020555b6104d6848484610c11565b5060019392505050565b6005546000906001600160a01b031633146105425760405162461bcd60e51b815260206004820152601b60248201527f53686f756c642063616c6c65642066726f6d2074696d656c6f636b000000000060448201526064015b60405180910390fd5b610441338484610d87565b60006105593383610e2d565b506001919050565b6000546001600160a01b0316331461058b5760405162461bcd60e51b815260040161053990611398565b6105956000610ec0565b565b6000610441338484610c11565b6000546001600160a01b031633146105ce5760405162461bcd60e51b815260040161053990611398565b6009546001600160a01b031661061e5760405162461bcd60e51b815260206004820152601560248201527414da1bdd5b19081cd95d081c185a5c88199a5c9cdd605a1b6044820152606401610539565b6006546001600160a01b0316600090815260076020526040902054806106415750565b6000670de0b6b3a76400006106578360086114f2565b6106699067016345785d8a00006114f2565b61067391906113e5565b905060006106818284611511565b60065490915061069a906001600160a01b031683610e2d565b6006546009546106b7916001600160a01b03908116911683610d87565b6040518381527fcf664e5b78620f924e54d236000500da675cce8b0763f3c1a14f586fbde520449060200160405180910390a1505050565b6005546001600160a01b031633146107385760405162461bcd60e51b815260206004820152600c60248201526b06f6e6c792061697264726f760a41b6044820152606401610539565b30600090815260076020526040902054806107a85760405162461bcd60e51b815260206004820152602a60248201527f696e73756666696369656e742062616c616e636520746f20637265617465206e604482015269065772061697264726f760b41b6064820152608401610539565b600060045460646107b9919061144a565b6004546107c790605f61144a565b6002546107d491906114f2565b6107de91906113e5565b9050808210156107eb5750805b6005546108039030906001600160a01b031683610d87565b60016004600082825461081691906113cd565b909155505060045460408051918252602082018390527f2bd5fd86c6c89b64fffbeacb6705515e729f66fb4db4ac3dd21f53881daba671910160405180910390a15050565b428410156108955760405162461bcd60e51b81526020600482015260076024820152661156141254915160ca1b6044820152606401610539565b6001600160a01b0387166000908152600a6020526040812080547f2c0489ff3c3543868bccdd165349acb4dbe8a92cd9a7e4c9a381f60b50b488a3917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918b918b918b918761090383611528565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810187905260e0016040516020818303038152906040528051906020012060405160200161097c92919061190160f01b81526002810192909252602282015260420190565b60405160208183030381529060405280519060200120905060006109fb8585856109f3866040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b929190610f10565b90506001600160a01b03811615801590610a265750886001600160a01b0316816001600160a01b0316145b610a665760405162461bcd60e51b8152602060048201526011602482015270494e56414c49445f5349474e415455524560781b6044820152606401610539565b610a71898989610baf565b505050505050505050565b6000546001600160a01b03163314610aa65760405162461bcd60e51b815260040161053990611398565b6009546001600160a01b031615610af25760405162461bcd60e51b815260206004820152601060248201526f20b63932b0b23c9039b2ba103830b4b960811b6044820152606401610539565b600980546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610b3e5760405162461bcd60e51b815260040161053990611398565b6001600160a01b038116610ba35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610539565b610bac81610ec0565b50565b6001600160a01b0383811660008181526008602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316600090815260076020526040902054610c35908290611511565b6001600160a01b038416600090815260076020526040812091909155670de0b6b3a7640000610c6c8367016345785d8a00006114f2565b610c7691906113e5565b90506000610c848284611511565b6006546001600160a01b0316600090815260076020526040812080549293508492909190610cb39084906113cd565b90915550506001600160a01b03841660009081526007602052604081208054839290610ce09084906113cd565b9091555050600654604080516001600160a01b038089168252909216602083015281018390527fb74593b574d3a6ecbc31375d6c1553d8ee69b2d0f3b0828c7e00415491b420269060600160405180910390a1836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610d7891815260200190565b60405180910390a35050505050565b6001600160a01b038316600090815260076020526040902054610dab908290611511565b6001600160a01b038085166000908152600760205260408082209390935590841681529081208054839290610de19084906113cd565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c0491815260200190565b6001600160a01b038216600090815260076020526040902054610e51908290611511565b6001600160a01b038316600090815260076020526040902055600154610e78908290611511565b6001556040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000806000610f2187878787610f38565b91509150610f2e81611025565b5095945050505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115610f6f575060009050600361101c565b8460ff16601b14158015610f8757508460ff16601c14155b15610f98575060009050600461101c565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015610fec573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166110155760006001925092505061101c565b9150600090505b94509492505050565b600081600481111561103957611039611559565b14156110425750565b600181600481111561105657611056611559565b14156110a45760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610539565b60028160048111156110b8576110b8611559565b14156111065760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610539565b600381600481111561111a5761111a611559565b14156111735760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610539565b600481600481111561118757611187611559565b1415610bac5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b6064820152608401610539565b80356001600160a01b03811681146111f757600080fd5b919050565b60006020828403121561120e57600080fd5b611217826111e0565b9392505050565b6000806040838503121561123157600080fd5b61123a836111e0565b9150611248602084016111e0565b90509250929050565b60008060006060848603121561126657600080fd5b61126f846111e0565b925061127d602085016111e0565b9150604084013590509250925092565b600080600080600080600060e0888a0312156112a857600080fd5b6112b1886111e0565b96506112bf602089016111e0565b95506040880135945060608801359350608088013560ff811681146112e357600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561131357600080fd5b61131c836111e0565b946020939093013593505050565b60006020828403121561133c57600080fd5b5035919050565b600060208083528351808285015260005b8181101561137057858101830151858201604001528201611354565b81811115611382576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600082198211156113e0576113e0611543565b500190565b60008261140257634e487b7160e01b600052601260045260246000fd5b500490565b600181815b8085111561144257816000190482111561142857611428611543565b8085161561143557918102915b93841c939080029061140c565b509250929050565b6000611217838360008261146057506001610445565b8161146d57506000610445565b8160018114611483576002811461148d576114a9565b6001915050610445565b60ff84111561149e5761149e611543565b50506001821b610445565b5060208310610133831016604e8410600b84101617156114cc575081810a610445565b6114d68383611407565b80600019048211156114ea576114ea611543565b029392505050565b600081600019048311821515161561150c5761150c611543565b500290565b60008282101561152357611523611543565b500390565b600060001982141561153c5761153c611543565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052602160045260246000fdfea264697066735822122072e33ddf8f0922e74992bdf6df0ce2788ded7cdc1b895a10d58f51ca6748097b64736f6c63430008060033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000006cd0988d1fa9dd636e3f820118a93e9cd2e04495

-----Decoded View---------------
Arg [0] : _airdrop (address): 0x6cd0988D1Fa9Dd636e3F820118a93E9CD2E04495

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000006cd0988d1fa9dd636e3f820118a93e9cd2e04495


Deployed Bytecode Sourcemap

9578:5897:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9652:47;;;;;;;;;;;;;;;-1:-1:-1;;;9652:47:0;;;;;;;;;;;;:::i;:::-;;;;;;;;12607:159;;;;;;:::i;:::-;;:::i;:::-;;;3658:14:1;;3651:22;3633:41;;3621:2;3606:18;12607:159:0;3588:92:1;9810:35:0;;;;;;;;;3831:25:1;;;3819:2;3804:18;9810:35:0;3786:76:1;14308:319:0;;;;;;:::i;:::-;;:::i;10298:117::-;;10349:66;10298:117;;9759:44;;9801:2;9759:44;;;;;10846:4:1;10834:17;;;10816:36;;10804:2;10789:18;9759:44:0;10771:87:1;14057:243:0;;;;;;:::i;:::-;;:::i;10238:50::-;;;;;9964:22;;;;;-1:-1:-1;;;;;9964:22:0;;;;;;-1:-1:-1;;;;;3069:32:1;;;3051:51;;3039:2;3024:18;9964:22:0;3006:102:1;12774:118:0;;;;;;:::i;:::-;;:::i;9932:25::-;;;;;;9993:68;;;;;-1:-1:-1;;;;;9993:68:0;;;10068:53;;;;;;:::i;:::-;;;;;;;;;;;;;;4553:103;;;:::i;:::-;;10422:50;;;;;;:::i;:::-;;;;;;;;;;;;;;4318:87;4364:7;4391:6;-1:-1:-1;;;;;4391:6:0;4318:87;;9706:46;;;;;;;;;;;;;;;-1:-1:-1;;;9706:46:0;;;;;10210:19;;;;;-1:-1:-1;;;;;10210:19:0;;;13898:151;;;;;;:::i;:::-;;:::i;9888:37::-;;;;;;12900:472;;;:::i;9852:29::-;;;;;;13380:510;;;:::i;14635:688::-;;;;;;:::i;:::-;;:::i;10128:73::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;15331:141;;;;;;:::i;:::-;;:::i;4670:201::-;;;;;;:::i;:::-;;:::i;12607:159::-;12683:4;12700:36;12709:10;12721:7;12730:5;12700:8;:36::i;:::-;-1:-1:-1;12754:4:0;12607:159;;;;;:::o;14308:319::-;-1:-1:-1;;;;;14419:15:0;;14398:4;14419:15;;;:9;:15;;;;;;;;14435:10;14419:27;;;;;;;;-1:-1:-1;;14419:48:0;14415:146;;-1:-1:-1;;;;;14514:15:0;;;;;;:9;:15;;;;;;;;14530:10;14514:27;;;;;;;;:35;;14544:5;;14514:35;:::i;:::-;-1:-1:-1;;;;;14484:15:0;;;;;;:9;:15;;;;;;;;14500:10;14484:27;;;;;;;:65;14415:146;14571:26;14581:4;14587:2;14591:5;14571:9;:26::i;:::-;-1:-1:-1;14615:4:0;14308:319;;;;;:::o;14057:243::-;14178:7;;14139:4;;-1:-1:-1;;;;;14178:7:0;14164:10;:21;14156:61;;;;-1:-1:-1;;;14156:61:0;;6383:2:1;14156:61:0;;;6365:21:1;6422:2;6402:18;;;6395:30;6461:29;6441:18;;;6434:57;6508:18;;14156:61:0;;;;;;;;;14228:42;14248:10;14260:2;14264:5;14228:19;:42::i;12774:118::-;12821:4;12838:24;12844:10;12856:5;12838;:24::i;:::-;-1:-1:-1;12880:4:0;;12774:118;-1:-1:-1;12774:118:0:o;4553:103::-;4364:7;4391:6;-1:-1:-1;;;;;4391:6:0;142:10;4459:23;4451:68;;;;-1:-1:-1;;;4451:68:0;;;;;;;:::i;:::-;4618:30:::1;4645:1;4618:18;:30::i;:::-;4553:103::o:0;13898:151::-;13970:4;13987:32;13997:10;14009:2;14013:5;13987:9;:32::i;12900:472::-;4364:7;4391:6;-1:-1:-1;;;;;4391:6:0;142:10;4459:23;4451:68;;;;-1:-1:-1;;;4451:68:0;;;;;;;:::i;:::-;12961:4:::1;::::0;-1:-1:-1;;;;;12961:4:0::1;12953:52;;;::::0;-1:-1:-1;;;12953:52:0;;10091:2:1;12953:52:0::1;::::0;::::1;10073:21:1::0;10130:2;10110:18;;;10103:30;-1:-1:-1;;;10149:18:1;;;10142:51;10210:18;;12953:52:0::1;10063:171:1::0;12953:52:0::1;13044:8;::::0;-1:-1:-1;;;;;13044:8:0::1;13016:15;13034:19:::0;;;:9:::1;:19;::::0;;;;;13068:12;13064:51:::1;;13097:7;4553:103::o:0;13064:51::-:1;13135:17;13174:4;13154:11;:7:::0;13164:1:::1;13154:11;:::i;:::-;:18;::::0;13168:4:::1;13154:18;:::i;:::-;:24;;;;:::i;:::-;13135:43:::0;-1:-1:-1;13189:19:0::1;13211;13135:43:::0;13211:7;:19:::1;:::i;:::-;13247:8;::::0;13189:41;;-1:-1:-1;13241:26:0::1;::::0;-1:-1:-1;;;;;13247:8:0::1;13257:9:::0;13241:5:::1;:26::i;:::-;13298:8;::::0;13308:4:::1;::::0;13278:48:::1;::::0;-1:-1:-1;;;;;13298:8:0;;::::1;::::0;13308:4:::1;13314:11:::0;13278:19:::1;:48::i;:::-;13342:22;::::0;3831:25:1;;;13342:22:0::1;::::0;3819:2:1;3804:18;13342:22:0::1;;;;;;;12942:430;;;12900:472::o:0;13380:510::-;13453:7;;-1:-1:-1;;;;;13453:7:0;13439:10;:21;13431:46;;;;-1:-1:-1;;;13431:46:0;;8240:2:1;13431:46:0;;;8222:21:1;8279:2;8259:18;;;8252:30;-1:-1:-1;;;8298:18:1;;;8291:42;8350:18;;13431:46:0;8212:162:1;13431:46:0;13524:4;13488:15;13506:24;;;:9;:24;;;;;;13549:11;13541:66;;;;-1:-1:-1;;;13541:66:0;;8984:2:1;13541:66:0;;;8966:21:1;9023:2;9003:18;;;8996:30;9062:34;9042:18;;;9035:62;-1:-1:-1;;;9113:18:1;;;9106:40;9163:19;;13541:66:0;8956:232:1;13541:66:0;13618:14;13671:7;;13664:3;:14;;;;:::i;:::-;13652:7;;13646:13;;:2;:13;:::i;:::-;13635:7;;:25;;;;:::i;:::-;:44;;;;:::i;:::-;13618:61;;13704:6;13694:7;:16;13690:65;;;-1:-1:-1;13736:7:0;13690:65;13800:7;;13765:51;;13793:4;;-1:-1:-1;;;;;13800:7:0;13809:6;13765:19;:51::i;:::-;13838:1;13827:7;;:12;;;;;;;:::i;:::-;;;;-1:-1:-1;;13866:7:0;;13855:27;;;10595:25:1;;;10651:2;10636:18;;10629:34;;;13855:27:0;;10568:18:1;13855:27:0;;;;;;;13420:470;;13380:510::o;14635:688::-;14793:15;14781:8;:27;;14773:47;;;;-1:-1:-1;;;14773:47:0;;9756:2:1;14773:47:0;;;9738:21:1;9795:1;9775:18;;;9768:29;-1:-1:-1;;;9813:18:1;;;9806:37;9860:18;;14773:47:0;9728:156:1;14773:47:0;-1:-1:-1;;;;;15034:13:0;;14833:14;15034:13;;;:6;:13;;;;;:15;;14938:16;;10349:66;;15011:5;;15018:7;;15027:5;;14833:14;15034:15;;;:::i;:::-;;;;-1:-1:-1;14983:77:0;;;;;;4154:25:1;;;;-1:-1:-1;;;;;4253:15:1;;;4233:18;;;4226:43;4305:15;;;;4285:18;;;4278:43;4337:18;;;4330:34;4380:19;;;4373:35;4424:19;;;4417:35;;;4126:19;;14983:77:0;;;;;;;;;;;;14973:88;;;;;;14874:202;;;;;;;;-1:-1:-1;;;2766:27:1;;2818:1;2809:11;;2802:27;;;;2854:2;2845:12;;2838:28;2891:2;2882:12;;2756:144;14874:202:0;;;;;;;;;;;;;14850:237;;;;;;14833:254;;15098:24;15125:48;15165:1;15168;15171;15125:31;:6;9033:58;;2365:66:1;9033:58:0;;;2353:79:1;2448:12;;;2441:28;;;8976:7:0;;2485:12:1;;9033:58:0;;;;;;;;;;;;9023:69;;;;;;9016:76;;8907:193;;;;15125:31;:39;:48;;:39;:48::i;:::-;15098:75;-1:-1:-1;;;;;;15192:30:0;;;;;;:59;;;15246:5;-1:-1:-1;;;;;15226:25:0;:16;-1:-1:-1;;;;;15226:25:0;;15192:59;15184:89;;;;-1:-1:-1;;;15184:89:0;;7894:2:1;15184:89:0;;;7876:21:1;7933:2;7913:18;;;7906:30;-1:-1:-1;;;7952:18:1;;;7945:47;8009:18;;15184:89:0;7866:167:1;15184:89:0;15284:31;15293:5;15300:7;15309:5;15284:8;:31::i;:::-;14762:561;;14635:688;;;;;;;:::o;15331:141::-;4364:7;4391:6;-1:-1:-1;;;;;4391:6:0;142:10;4459:23;4451:68;;;;-1:-1:-1;;;4451:68:0;;;;;;;:::i;:::-;15404:4:::1;::::0;-1:-1:-1;;;;;15404:4:0::1;:16:::0;15396:45:::1;;;::::0;-1:-1:-1;;;15396:45:0;;6739:2:1;15396:45:0::1;::::0;::::1;6721:21:1::0;6778:2;6758:18;;;6751:30;-1:-1:-1;;;6797:18:1;;;6790:46;6853:18;;15396:45:0::1;6711:166:1::0;15396:45:0::1;15452:4;:12:::0;;-1:-1:-1;;;;;;15452:12:0::1;-1:-1:-1::0;;;;;15452:12:0;;;::::1;::::0;;;::::1;::::0;;15331:141::o;4670:201::-;4364:7;4391:6;-1:-1:-1;;;;;4391:6:0;142:10;4459:23;4451:68;;;;-1:-1:-1;;;4451:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4759:22:0;::::1;4751:73;;;::::0;-1:-1:-1;;;4751:73:0;;7084:2:1;4751:73:0::1;::::0;::::1;7066:21:1::0;7123:2;7103:18;;;7096:30;7162:34;7142:18;;;7135:62;-1:-1:-1;;;7213:18:1;;;7206:36;7259:19;;4751:73:0::1;7056:228:1::0;4751:73:0::1;4835:28;4854:8;4835:18;:28::i;:::-;4670:201:::0;:::o;11760:172::-;-1:-1:-1;;;;;11844:16:0;;;;;;;:9;:16;;;;;;;;:25;;;;;;;;;;;;;:33;;;11893:31;;3831:25:1;;;11893:31:0;;3804:18:1;11893:31:0;;;;;;;;11760:172;;;:::o;11940:439::-;-1:-1:-1;;;;;12037:15:0;;;;;;:9;:15;;;;;;:23;;12055:5;;12037:23;:::i;:::-;-1:-1:-1;;;;;12019:15:0;;;;;;:9;:15;;;;;:41;;;;12110:4;12095:12;:5;12103:4;12095:12;:::i;:::-;:19;;;;:::i;:::-;12071:43;-1:-1:-1;12125:21:0;12149;12071:43;12149:5;:21;:::i;:::-;12191:8;;-1:-1:-1;;;;;12191:8:0;12181:19;;;;:9;:19;;;;;:36;;12125:45;;-1:-1:-1;12204:13:0;;12181:19;;;:36;;12204:13;;12181:36;:::i;:::-;;;;-1:-1:-1;;;;;;;12228:13:0;;;;;;:9;:13;;;;;:30;;12245:13;;12228;:30;;12245:13;;12228:30;:::i;:::-;;;;-1:-1:-1;;12298:8:0;;12274:48;;;-1:-1:-1;;;;;3371:15:1;;;3353:34;;12298:8:0;;;3418:2:1;3403:18;;3396:43;3455:18;;3448:34;;;12274:48:0;;3303:2:1;3288:18;12274:48:0;;;;;;;12353:2;-1:-1:-1;;;;;12338:33:0;12347:4;-1:-1:-1;;;;;12338:33:0;;12357:13;12338:33;;;;3831:25:1;;3819:2;3804:18;;3786:76;12338:33:0;;;;;;;;12008:371;;11940:439;;;:::o;12387:212::-;-1:-1:-1;;;;;12494:15:0;;;;;;:9;:15;;;;;;:23;;12512:5;;12494:23;:::i;:::-;-1:-1:-1;;;;;12476:15:0;;;;;;;:9;:15;;;;;;:41;;;;12528:13;;;;;;;;:22;;12545:5;;12476:15;12528:22;;12545:5;;12528:22;:::i;:::-;;;;;;;;12581:2;-1:-1:-1;;;;;12566:25:0;12575:4;-1:-1:-1;;;;;12566:25:0;;12585:5;12566:25;;;;3831::1;;3819:2;3804:18;;3786:76;11546:206:0;-1:-1:-1;;;;;11628:15:0;;;;;;:9;:15;;;;;;:23;;11646:5;;11628:23;:::i;:::-;-1:-1:-1;;;;;11610:15:0;;;;;;:9;:15;;;;;:41;11676:11;;:19;;11690:5;;11676:19;:::i;:::-;11662:11;:33;11711;;3831:25:1;;;11734:1:0;;-1:-1:-1;;;;;11711:33:0;;;;;3819:2:1;3804:18;11711:33:0;;;;;;;11546:206;;:::o;4885:191::-;4959:16;4978:6;;-1:-1:-1;;;;;4995:17:0;;;-1:-1:-1;;;;;;4995:17:0;;;;;;5028:40;;4978:6;;;;;;;5028:40;;4959:16;5028:40;4948:128;4885:191;:::o;8614:279::-;8742:7;8763:17;8782:18;8804:25;8815:4;8821:1;8824;8827;8804:10;:25::i;:::-;8762:67;;;;8840:18;8852:5;8840:11;:18::i;:::-;-1:-1:-1;8876:9:0;8614:279;-1:-1:-1;;;;;8614:279:0:o;7836:764::-;7967:7;;8108:66;8095:79;;8091:163;;;-1:-1:-1;8207:1:0;;-1:-1:-1;8211:30:0;8191:51;;8091:163;8268:1;:7;;8273:2;8268:7;;:18;;;;;8279:1;:7;;8284:2;8279:7;;8268:18;8264:102;;;-1:-1:-1;8319:1:0;;-1:-1:-1;8323:30:0;8303:51;;8264:102;8405:24;;;8388:14;8405:24;;;;;;;;;4690:25:1;;;4763:4;4751:17;;4731:18;;;4724:45;;;;4785:18;;;4778:34;;;4828:18;;;4821:34;;;8405:24:0;;4662:19:1;;8405:24:0;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8405:24:0;;-1:-1:-1;;8405:24:0;;;-1:-1:-1;;;;;;;8444:20:0;;8440:103;;8497:1;8501:29;8481:50;;;;;;;8440:103;8563:6;-1:-1:-1;8571:20:0;;-1:-1:-1;7836:764:0;;;;;;;;:::o;5332:620::-;5410:20;5401:5;:29;;;;;;;;:::i;:::-;;5397:548;;;5332:620;:::o;5397:548::-;5485:29;5476:5;:38;;;;;;;;:::i;:::-;;5472:473;;;5531:34;;-1:-1:-1;;;5531:34:0;;5670:2:1;5531:34:0;;;5652:21:1;5709:2;5689:18;;;5682:30;5748:26;5728:18;;;5721:54;5792:18;;5531:34:0;5642:174:1;5472:473:0;5596:35;5587:5;:44;;;;;;;;:::i;:::-;;5583:362;;;5648:41;;-1:-1:-1;;;5648:41:0;;6023:2:1;5648:41:0;;;6005:21:1;6062:2;6042:18;;;6035:30;6101:33;6081:18;;;6074:61;6152:18;;5648:41:0;5995:181:1;5583:362:0;5720:30;5711:5;:39;;;;;;;;:::i;:::-;;5707:238;;;5767:44;;-1:-1:-1;;;5767:44:0;;7491:2:1;5767:44:0;;;7473:21:1;7530:2;7510:18;;;7503:30;7569:34;7549:18;;;7542:62;-1:-1:-1;;;7620:18:1;;;7613:32;7662:19;;5767:44:0;7463:224:1;5707:238:0;5842:30;5833:5;:39;;;;;;;;:::i;:::-;;5829:116;;;5889:44;;-1:-1:-1;;;5889:44:0;;8581:2:1;5889:44:0;;;8563:21:1;8620:2;8600:18;;;8593:30;8659:34;8639:18;;;8632:62;-1:-1:-1;;;8710:18:1;;;8703:32;8752:19;;5889:44:0;8553:224:1;14:173;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:2;;177:1;174;167:12;111:2;63:124;;;:::o;192:186::-;251:6;304:2;292:9;283:7;279:23;275:32;272:2;;;320:1;317;310:12;272:2;343:29;362:9;343:29;:::i;:::-;333:39;262:116;-1:-1:-1;;;262:116:1:o;383:260::-;451:6;459;512:2;500:9;491:7;487:23;483:32;480:2;;;528:1;525;518:12;480:2;551:29;570:9;551:29;:::i;:::-;541:39;;599:38;633:2;622:9;618:18;599:38;:::i;:::-;589:48;;470:173;;;;;:::o;648:328::-;725:6;733;741;794:2;782:9;773:7;769:23;765:32;762:2;;;810:1;807;800:12;762:2;833:29;852:9;833:29;:::i;:::-;823:39;;881:38;915:2;904:9;900:18;881:38;:::i;:::-;871:48;;966:2;955:9;951:18;938:32;928:42;;752:224;;;;;:::o;981:693::-;1092:6;1100;1108;1116;1124;1132;1140;1193:3;1181:9;1172:7;1168:23;1164:33;1161:2;;;1210:1;1207;1200:12;1161:2;1233:29;1252:9;1233:29;:::i;:::-;1223:39;;1281:38;1315:2;1304:9;1300:18;1281:38;:::i;:::-;1271:48;;1366:2;1355:9;1351:18;1338:32;1328:42;;1417:2;1406:9;1402:18;1389:32;1379:42;;1471:3;1460:9;1456:19;1443:33;1516:4;1509:5;1505:16;1498:5;1495:27;1485:2;;1536:1;1533;1526:12;1485:2;1151:523;;;;-1:-1:-1;1151:523:1;;;;1559:5;1611:3;1596:19;;1583:33;;-1:-1:-1;1663:3:1;1648:19;;;1635:33;;1151:523;-1:-1:-1;;1151:523:1:o;1679:254::-;1747:6;1755;1808:2;1796:9;1787:7;1783:23;1779:32;1776:2;;;1824:1;1821;1814:12;1776:2;1847:29;1866:9;1847:29;:::i;:::-;1837:39;1923:2;1908:18;;;;1895:32;;-1:-1:-1;;;1766:167:1:o;1938:180::-;1997:6;2050:2;2038:9;2029:7;2025:23;2021:32;2018:2;;;2066:1;2063;2056:12;2018:2;-1:-1:-1;2089:23:1;;2008:110;-1:-1:-1;2008:110:1:o;4866:597::-;4978:4;5007:2;5036;5025:9;5018:21;5068:6;5062:13;5111:6;5106:2;5095:9;5091:18;5084:34;5136:1;5146:140;5160:6;5157:1;5154:13;5146:140;;;5255:14;;;5251:23;;5245:30;5221:17;;;5240:2;5217:26;5210:66;5175:10;;5146:140;;;5304:6;5301:1;5298:13;5295:2;;;5374:1;5369:2;5360:6;5349:9;5345:22;5341:31;5334:42;5295:2;-1:-1:-1;5447:2:1;5426:15;-1:-1:-1;;5422:29:1;5407:45;;;;5454:2;5403:54;;4987:476;-1:-1:-1;;;4987:476:1:o;9193:356::-;9395:2;9377:21;;;9414:18;;;9407:30;9473:34;9468:2;9453:18;;9446:62;9540:2;9525:18;;9367:182::o;10863:128::-;10903:3;10934:1;10930:6;10927:1;10924:13;10921:2;;;10940:18;;:::i;:::-;-1:-1:-1;10976:9:1;;10911:80::o;10996:217::-;11036:1;11062;11052:2;;11106:10;11101:3;11097:20;11094:1;11087:31;11141:4;11138:1;11131:15;11169:4;11166:1;11159:15;11052:2;-1:-1:-1;11198:9:1;;11042:171::o;11218:422::-;11307:1;11350:5;11307:1;11364:270;11385:7;11375:8;11372:21;11364:270;;;11444:4;11440:1;11436:6;11432:17;11426:4;11423:27;11420:2;;;11453:18;;:::i;:::-;11503:7;11493:8;11489:22;11486:2;;;11523:16;;;;11486:2;11602:22;;;;11562:15;;;;11364:270;;;11368:3;11282:358;;;;;:::o;11645:131::-;11705:5;11734:36;11761:8;11755:4;11830:5;11860:8;11850:2;;-1:-1:-1;11901:1:1;11915:5;;11850:2;11949:4;11939:2;;-1:-1:-1;11986:1:1;12000:5;;11939:2;12031:4;12049:1;12044:59;;;;12117:1;12112:130;;;;12024:218;;12044:59;12074:1;12065:10;;12088:5;;;12112:130;12149:3;12139:8;12136:17;12133:2;;;12156:18;;:::i;:::-;-1:-1:-1;;12212:1:1;12198:16;;12227:5;;12024:218;;12326:2;12316:8;12313:16;12307:3;12301:4;12298:13;12294:36;12288:2;12278:8;12275:16;12270:2;12264:4;12261:12;12257:35;12254:77;12251:2;;;-1:-1:-1;12363:19:1;;;12395:5;;12251:2;12442:34;12467:8;12461:4;12442:34;:::i;:::-;12512:6;12508:1;12504:6;12500:19;12491:7;12488:32;12485:2;;;12523:18;;:::i;:::-;12561:20;;11840:747;-1:-1:-1;;;11840:747:1:o;12592:168::-;12632:7;12698:1;12694;12690:6;12686:14;12683:1;12680:21;12675:1;12668:9;12661:17;12657:45;12654:2;;;12705:18;;:::i;:::-;-1:-1:-1;12745:9:1;;12644:116::o;12765:125::-;12805:4;12833:1;12830;12827:8;12824:2;;;12838:18;;:::i;:::-;-1:-1:-1;12875:9:1;;12814:76::o;12895:135::-;12934:3;-1:-1:-1;;12955:17:1;;12952:2;;;12975:18;;:::i;:::-;-1:-1:-1;13022:1:1;13011:13;;12942:88::o;13035:127::-;13096:10;13091:3;13087:20;13084:1;13077:31;13127:4;13124:1;13117:15;13151:4;13148:1;13141:15;13167:127;13228:10;13223:3;13219:20;13216:1;13209:31;13259:4;13256:1;13249:15;13283:4;13280:1;13273:15

Swarm Source

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