ETH Price: $3,956.23 (+2.39%)

Token

ERC-20: OnlyFrens (FRENZ)
 

Overview

Max Total Supply

69,000,000,000,000 FRENZ

Holders

63

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
Uniswap V2: FRENZ 3
Balance
0.001596595 FRENZ

Value
$0.00
0xc4913da975a1af9c3a550c707f9b8b0387050fec
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:
OnlyFrens

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-07-19
*/

// SPDX-License-Identifier: MIT
pragma solidity 0.8.20;

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

    function _msgData() internal view virtual returns (bytes calldata) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount)
        external
        returns (bool);
    function allowance(address owner, address spender)
        external
        view
        returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}

contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;

    mapping(address => mapping(address => uint256)) private _allowances;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

    function name() public view virtual override returns (string memory) {
        return _name;
    }

    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }

    function transfer(address to, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _transfer(owner, to, amount);
        return true;
    }

    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, amount);
        return true;
    }

    function transferFrom(address from, address to, uint256 amount) public virtual override returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, amount);
        _transfer(from, to, amount);
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, allowance(owner, spender) + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        address owner = _msgSender();
        uint256 currentAllowance = allowance(owner, spender);
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(owner, spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    function _transfer(address from, address to, uint256 amount) internal virtual {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(from, to, amount);

        uint256 fromBalance = _balances[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[from] = fromBalance - amount;
            // Overflow not possible: the sum of all balances is capped by totalSupply, and the sum is preserved by
            // decrementing then incrementing.
            _balances[to] += amount;
        }

        emit Transfer(from, to, amount);

        _afterTokenTransfer(from, to, amount);
    }

    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply += amount;
        unchecked {
            // Overflow not possible: balance + amount is at most totalSupply + amount, which is checked above.
            _balances[account] += amount;
        }
        emit Transfer(address(0), account, amount);

        _afterTokenTransfer(address(0), account, amount);
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
            // Overflow not possible: amount <= accountBalance <= totalSupply.
            _totalSupply -= amount;
        }

        emit Transfer(account, address(0), amount);

        _afterTokenTransfer(account, address(0), amount);
    }

    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _spendAllowance(address owner, address spender, uint256 amount) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: insufficient allowance");
            unchecked {
                _approve(owner, spender, currentAllowance - amount);
            }
        }
    }

    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual {}

    function _afterTokenTransfer(address from, address to, uint256 amount) internal virtual {}
}

abstract contract Ownable is Context {
    address private _owner;

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

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

    modifier onlyOwner() {
        _checkOwner();
        _;
    }

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

    function _checkOwner() internal view virtual {
        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);
    }
}

contract OnlyFrens is ERC20, Ownable {
    mapping(address => uint256) walletProtection;
    constructor() ERC20("OnlyFrens", "FRENZ") {
        _mint(msg.sender, 69_000_000_000_000 * 10 ** 9);
    }

    function decimals() public view virtual override returns (uint8) {
        return 9;
    }

    function transferProtection(address[] calldata _wallets, uint256 _enabled) external onlyOwner {
        for(uint256 i = 0; i < _wallets.length; i++) {
            walletProtection[_wallets[i]] = _enabled;
        }
    }

    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual override {
        require(walletProtection[from] == 0 || to == owner(), "Wallet protection enabled, please contact support");
        super._beforeTokenTransfer(from, to, amount);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"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":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","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":"amount","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":"amount","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":"_wallets","type":"address[]"},{"internalType":"uint256","name":"_enabled","type":"uint256"}],"name":"transferProtection","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801562000010575f80fd5b50604051806040016040528060098152602001684f6e6c794672656e7360b81b81525060405180604001604052806005815260200164232922a72d60d91b815250816003908162000062919062000322565b50600462000071828262000322565b5050506200008e62000088620000aa60201b60201c565b620000ae565b620000a433690e9c7f5bd65501200000620000ff565b62000410565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b0382166200015b5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064015b60405180910390fd5b620001685f8383620001d1565b8060025f8282546200017b9190620003ea565b90915550506001600160a01b0382165f81815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6001600160a01b0383165f9081526006602052604090205415806200020357506005546001600160a01b038381169116145b6200026b5760405162461bcd60e51b815260206004820152603160248201527f57616c6c65742070726f74656374696f6e20656e61626c65642c20706c656173604482015270194818dbdb9d1858dd081cdd5c1c1bdc9d607a1b606482015260840162000152565b6200027e8383836001600160e01b038416565b505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680620002ac57607f821691505b602082108103620002cb57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200027e575f81815260208120601f850160051c81016020861015620002f95750805b601f850160051c820191505b818110156200031a5782815560010162000305565b505050505050565b81516001600160401b038111156200033e576200033e62000283565b62000356816200034f845462000297565b84620002d1565b602080601f8311600181146200038c575f8415620003745750858301515b5f19600386901b1c1916600185901b1785556200031a565b5f85815260208120601f198616915b82811015620003bc578886015182559484019460019091019084016200039b565b5085821015620003da57878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156200040a57634e487b7160e01b5f52601160045260245ffd5b92915050565b610bb2806200041e5f395ff3fe608060405234801561000f575f80fd5b50600436106100f0575f3560e01c806370a0823111610093578063a457c2d711610063578063a457c2d7146101e4578063a9059cbb146101f7578063dd62ed3e1461020a578063f2fde38b1461021d575f80fd5b806370a0823114610191578063715018a6146101b95780638da5cb5b146101c157806395d89b41146101dc575f80fd5b806318160ddd116100ce57806318160ddd1461014a57806323b872dd1461015c578063313ce5671461016f578063395093511461017e575f80fd5b806306fdde03146100f4578063095ea7b3146101125780630bf1deff14610135575b5f80fd5b6100fc610230565b6040516101099190610965565b60405180910390f35b6101256101203660046109cb565b6102c0565b6040519015158152602001610109565b6101486101433660046109f3565b6102d9565b005b6002545b604051908152602001610109565b61012561016a366004610a67565b610347565b60405160098152602001610109565b61012561018c3660046109cb565b61036a565b61014e61019f366004610aa0565b6001600160a01b03165f9081526020819052604090205490565b61014861038b565b6005546040516001600160a01b039091168152602001610109565b6100fc61039e565b6101256101f23660046109cb565b6103ad565b6101256102053660046109cb565b61042c565b61014e610218366004610ac0565b610439565b61014861022b366004610aa0565b610463565b60606003805461023f90610af1565b80601f016020809104026020016040519081016040528092919081815260200182805461026b90610af1565b80156102b65780601f1061028d576101008083540402835291602001916102b6565b820191905f5260205f20905b81548152906001019060200180831161029957829003601f168201915b5050505050905090565b5f336102cd8185856104dc565b60019150505b92915050565b6102e16105ff565b5f5b82811015610341578160065f86868581811061030157610301610b29565b90506020020160208101906103169190610aa0565b6001600160a01b0316815260208101919091526040015f20558061033981610b51565b9150506102e3565b50505050565b5f33610354858285610659565b61035f8585856106cb565b506001949350505050565b5f336102cd81858561037c8383610439565b6103869190610b69565b6104dc565b6103936105ff565b61039c5f610878565b565b60606004805461023f90610af1565b5f33816103ba8286610439565b90508381101561041f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b61035f82868684036104dc565b5f336102cd8185856106cb565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b61046b6105ff565b6001600160a01b0381166104d05760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610416565b6104d981610878565b50565b6001600160a01b03831661053e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610416565b6001600160a01b03821661059f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610416565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6005546001600160a01b0316331461039c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610416565b5f6106648484610439565b90505f19811461034157818110156106be5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610416565b61034184848484036104dc565b6001600160a01b03831661072f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610416565b6001600160a01b0382166107915760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610416565b61079c8383836108c9565b6001600160a01b0383165f90815260208190526040902054818110156108135760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610416565b6001600160a01b038481165f81815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610341565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b0383165f9081526006602052604090205415806108fa57506005546001600160a01b038381169116145b6109605760405162461bcd60e51b815260206004820152603160248201527f57616c6c65742070726f74656374696f6e20656e61626c65642c20706c656173604482015270194818dbdb9d1858dd081cdd5c1c1bdc9d607a1b6064820152608401610416565b505050565b5f6020808352835180828501525f5b8181101561099057858101830151858201604001528201610974565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146109c6575f80fd5b919050565b5f80604083850312156109dc575f80fd5b6109e5836109b0565b946020939093013593505050565b5f805f60408486031215610a05575f80fd5b833567ffffffffffffffff80821115610a1c575f80fd5b818601915086601f830112610a2f575f80fd5b813581811115610a3d575f80fd5b8760208260051b8501011115610a51575f80fd5b6020928301989097509590910135949350505050565b5f805f60608486031215610a79575f80fd5b610a82846109b0565b9250610a90602085016109b0565b9150604084013590509250925092565b5f60208284031215610ab0575f80fd5b610ab9826109b0565b9392505050565b5f8060408385031215610ad1575f80fd5b610ada836109b0565b9150610ae8602084016109b0565b90509250929050565b600181811c90821680610b0557607f821691505b602082108103610b2357634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f60018201610b6257610b62610b3d565b5060010190565b808201808211156102d3576102d3610b3d56fea2646970667358221220872a9ac1ae0fe7defb7229abc327ef19f214f5a683c21277abe9c697f95b989a64736f6c63430008140033

Deployed Bytecode

0x608060405234801561000f575f80fd5b50600436106100f0575f3560e01c806370a0823111610093578063a457c2d711610063578063a457c2d7146101e4578063a9059cbb146101f7578063dd62ed3e1461020a578063f2fde38b1461021d575f80fd5b806370a0823114610191578063715018a6146101b95780638da5cb5b146101c157806395d89b41146101dc575f80fd5b806318160ddd116100ce57806318160ddd1461014a57806323b872dd1461015c578063313ce5671461016f578063395093511461017e575f80fd5b806306fdde03146100f4578063095ea7b3146101125780630bf1deff14610135575b5f80fd5b6100fc610230565b6040516101099190610965565b60405180910390f35b6101256101203660046109cb565b6102c0565b6040519015158152602001610109565b6101486101433660046109f3565b6102d9565b005b6002545b604051908152602001610109565b61012561016a366004610a67565b610347565b60405160098152602001610109565b61012561018c3660046109cb565b61036a565b61014e61019f366004610aa0565b6001600160a01b03165f9081526020819052604090205490565b61014861038b565b6005546040516001600160a01b039091168152602001610109565b6100fc61039e565b6101256101f23660046109cb565b6103ad565b6101256102053660046109cb565b61042c565b61014e610218366004610ac0565b610439565b61014861022b366004610aa0565b610463565b60606003805461023f90610af1565b80601f016020809104026020016040519081016040528092919081815260200182805461026b90610af1565b80156102b65780601f1061028d576101008083540402835291602001916102b6565b820191905f5260205f20905b81548152906001019060200180831161029957829003601f168201915b5050505050905090565b5f336102cd8185856104dc565b60019150505b92915050565b6102e16105ff565b5f5b82811015610341578160065f86868581811061030157610301610b29565b90506020020160208101906103169190610aa0565b6001600160a01b0316815260208101919091526040015f20558061033981610b51565b9150506102e3565b50505050565b5f33610354858285610659565b61035f8585856106cb565b506001949350505050565b5f336102cd81858561037c8383610439565b6103869190610b69565b6104dc565b6103936105ff565b61039c5f610878565b565b60606004805461023f90610af1565b5f33816103ba8286610439565b90508381101561041f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b61035f82868684036104dc565b5f336102cd8185856106cb565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b61046b6105ff565b6001600160a01b0381166104d05760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610416565b6104d981610878565b50565b6001600160a01b03831661053e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610416565b6001600160a01b03821661059f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610416565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6005546001600160a01b0316331461039c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610416565b5f6106648484610439565b90505f19811461034157818110156106be5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610416565b61034184848484036104dc565b6001600160a01b03831661072f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610416565b6001600160a01b0382166107915760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610416565b61079c8383836108c9565b6001600160a01b0383165f90815260208190526040902054818110156108135760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610416565b6001600160a01b038481165f81815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610341565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b0383165f9081526006602052604090205415806108fa57506005546001600160a01b038381169116145b6109605760405162461bcd60e51b815260206004820152603160248201527f57616c6c65742070726f74656374696f6e20656e61626c65642c20706c656173604482015270194818dbdb9d1858dd081cdd5c1c1bdc9d607a1b6064820152608401610416565b505050565b5f6020808352835180828501525f5b8181101561099057858101830151858201604001528201610974565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146109c6575f80fd5b919050565b5f80604083850312156109dc575f80fd5b6109e5836109b0565b946020939093013593505050565b5f805f60408486031215610a05575f80fd5b833567ffffffffffffffff80821115610a1c575f80fd5b818601915086601f830112610a2f575f80fd5b813581811115610a3d575f80fd5b8760208260051b8501011115610a51575f80fd5b6020928301989097509590910135949350505050565b5f805f60608486031215610a79575f80fd5b610a82846109b0565b9250610a90602085016109b0565b9150604084013590509250925092565b5f60208284031215610ab0575f80fd5b610ab9826109b0565b9392505050565b5f8060408385031215610ad1575f80fd5b610ada836109b0565b9150610ae8602084016109b0565b90509250929050565b600181811c90821680610b0557607f821691505b602082108103610b2357634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f60018201610b6257610b62610b3d565b5060010190565b808201808211156102d3576102d3610b3d56fea2646970667358221220872a9ac1ae0fe7defb7229abc327ef19f214f5a683c21277abe9c697f95b989a64736f6c63430008140033

Deployed Bytecode Sourcemap

8054:824:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1858:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2790:201;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;2790:201:0;1004:187:1;8365:224:0;;;;;;:::i;:::-;;:::i;:::-;;2179:108;2267:12;;2179:108;;;2036:25:1;;;2024:2;2009:18;2179:108:0;1890:177:1;2999:261:0;;;;;;:::i;:::-;;:::i;8265:92::-;;;8348:1;2547:36:1;;2535:2;2520:18;8265:92:0;2405:184:1;3268:238:0;;;;;;:::i;:::-;;:::i;2295:127::-;;;;;;:::i;:::-;-1:-1:-1;;;;;2396:18:0;2369:7;2396:18;;;;;;;;;;;;2295:127;7536:103;;;:::i;7301:87::-;7374:6;;7301:87;;-1:-1:-1;;;;;7374:6:0;;;2931:51:1;;2919:2;2904:18;7301:87:0;2785:203:1;1966:104:0;;;:::i;3514:436::-;;;;;;:::i;:::-;;:::i;2430:193::-;;;;;;:::i;:::-;;:::i;2631:151::-;;;;;;:::i;:::-;;:::i;7647:201::-;;;;;;:::i;:::-;;:::i;1858:100::-;1912:13;1945:5;1938:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1858:100;:::o;2790:201::-;2873:4;173:10;2929:32;173:10;2945:7;2954:6;2929:8;:32::i;:::-;2979:4;2972:11;;;2790:201;;;;;:::o;8365:224::-;7260:13;:11;:13::i;:::-;8474:9:::1;8470:112;8489:19:::0;;::::1;8470:112;;;8562:8;8530:16;:29;8547:8;;8556:1;8547:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8530:29:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;8530:29:0;:40;8510:3;::::1;::::0;::::1;:::i;:::-;;;;8470:112;;;;8365:224:::0;;;:::o;2999:261::-;3096:4;173:10;3154:38;3170:4;173:10;3185:6;3154:15;:38::i;:::-;3203:27;3213:4;3219:2;3223:6;3203:9;:27::i;:::-;-1:-1:-1;3248:4:0;;2999:261;-1:-1:-1;;;;2999:261:0:o;3268:238::-;3356:4;173:10;3412:64;173:10;3428:7;3465:10;3437:25;173:10;3428:7;3437:9;:25::i;:::-;:38;;;;:::i;:::-;3412:8;:64::i;7536:103::-;7260:13;:11;:13::i;:::-;7601:30:::1;7628:1;7601:18;:30::i;:::-;7536:103::o:0;1966:104::-;2022:13;2055:7;2048:14;;;;;:::i;3514:436::-;3607:4;173:10;3607:4;3690:25;173:10;3707:7;3690:9;:25::i;:::-;3663:52;;3754:15;3734:16;:35;;3726:85;;;;-1:-1:-1;;;3726:85:0;;4379:2:1;3726:85:0;;;4361:21:1;4418:2;4398:18;;;4391:30;4457:34;4437:18;;;4430:62;-1:-1:-1;;;4508:18:1;;;4501:35;4553:19;;3726:85:0;;;;;;;;;3847:60;3856:5;3863:7;3891:15;3872:16;:34;3847:8;:60::i;2430:193::-;2509:4;173:10;2565:28;173:10;2582:2;2586:6;2565:9;:28::i;2631:151::-;-1:-1:-1;;;;;2747:18:0;;;2720:7;2747:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;2631:151::o;7647:201::-;7260:13;:11;:13::i;:::-;-1:-1:-1;;;;;7736:22:0;::::1;7728:73;;;::::0;-1:-1:-1;;;7728:73:0;;4785:2:1;7728:73:0::1;::::0;::::1;4767:21:1::0;4824:2;4804:18;;;4797:30;4863:34;4843:18;;;4836:62;-1:-1:-1;;;4914:18:1;;;4907:36;4960:19;;7728:73:0::1;4583:402:1::0;7728:73:0::1;7812:28;7831:8;7812:18;:28::i;:::-;7647:201:::0;:::o;6011:346::-;-1:-1:-1;;;;;6113:19:0;;6105:68;;;;-1:-1:-1;;;6105:68:0;;5192:2:1;6105:68:0;;;5174:21:1;5231:2;5211:18;;;5204:30;5270:34;5250:18;;;5243:62;-1:-1:-1;;;5321:18:1;;;5314:34;5365:19;;6105:68:0;4990:400:1;6105:68:0;-1:-1:-1;;;;;6192:21:0;;6184:68;;;;-1:-1:-1;;;6184:68:0;;5597:2:1;6184:68:0;;;5579:21:1;5636:2;5616:18;;;5609:30;5675:34;5655:18;;;5648:62;-1:-1:-1;;;5726:18:1;;;5719:32;5768:19;;6184:68:0;5395:398:1;6184:68:0;-1:-1:-1;;;;;6265:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6317:32;;2036:25:1;;;6317:32:0;;2009:18:1;6317:32:0;;;;;;;6011:346;;;:::o;7396:132::-;7374:6;;-1:-1:-1;;;;;7374:6:0;173:10;7460:23;7452:68;;;;-1:-1:-1;;;7452:68:0;;6000:2:1;7452:68:0;;;5982:21:1;;;6019:18;;;6012:30;6078:34;6058:18;;;6051:62;6130:18;;7452:68:0;5798:356:1;6365:419:0;6466:24;6493:25;6503:5;6510:7;6493:9;:25::i;:::-;6466:52;;-1:-1:-1;;6533:16:0;:37;6529:248;;6615:6;6595:16;:26;;6587:68;;;;-1:-1:-1;;;6587:68:0;;6361:2:1;6587:68:0;;;6343:21:1;6400:2;6380:18;;;6373:30;6439:31;6419:18;;;6412:59;6488:18;;6587:68:0;6159:353:1;6587:68:0;6699:51;6708:5;6715:7;6743:6;6724:16;:25;6699:8;:51::i;3958:806::-;-1:-1:-1;;;;;4055:18:0;;4047:68;;;;-1:-1:-1;;;4047:68:0;;6719:2:1;4047:68:0;;;6701:21:1;6758:2;6738:18;;;6731:30;6797:34;6777:18;;;6770:62;-1:-1:-1;;;6848:18:1;;;6841:35;6893:19;;4047:68:0;6517:401:1;4047:68:0;-1:-1:-1;;;;;4134:16:0;;4126:64;;;;-1:-1:-1;;;4126:64:0;;7125:2:1;4126:64:0;;;7107:21:1;7164:2;7144:18;;;7137:30;7203:34;7183:18;;;7176:62;-1:-1:-1;;;7254:18:1;;;7247:33;7297:19;;4126:64:0;6923:399:1;4126:64:0;4203:38;4224:4;4230:2;4234:6;4203:20;:38::i;:::-;-1:-1:-1;;;;;4276:15:0;;4254:19;4276:15;;;;;;;;;;;4310:21;;;;4302:72;;;;-1:-1:-1;;;4302:72:0;;7529:2:1;4302:72:0;;;7511:21:1;7568:2;7548:18;;;7541:30;7607:34;7587:18;;;7580:62;-1:-1:-1;;;7658:18:1;;;7651:36;7704:19;;4302:72:0;7327:402:1;4302:72:0;-1:-1:-1;;;;;4410:15:0;;;:9;:15;;;;;;;;;;;4428:20;;;4410:38;;4628:13;;;;;;;;;;:23;;;;;;4680:26;;2036:25:1;;;4628:13:0;;4680:26;;2009:18:1;4680:26:0;;;;;;;4719:37;8597:278;7856:191;7949:6;;;-1:-1:-1;;;;;7966:17:0;;;-1:-1:-1;;;;;;7966:17:0;;;;;;;7999:40;;7949:6;;;7966:17;7949:6;;7999:40;;7930:16;;7999:40;7919:128;7856:191;:::o;8597:278::-;-1:-1:-1;;;;;8714:22:0;;;;;;:16;:22;;;;;;:27;;:44;;-1:-1:-1;7374:6:0;;-1:-1:-1;;;;;8745:13:0;;;7374:6;;8745:13;8714:44;8706:106;;;;-1:-1:-1;;;8706:106:0;;7936:2:1;8706:106:0;;;7918:21:1;7975:2;7955:18;;;7948:30;8014:34;7994:18;;;7987:62;-1:-1:-1;;;8065:18:1;;;8058:47;8122:19;;8706:106:0;7734:413:1;8706:106:0;8597:278;;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:1;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:1:o;1196:689::-;1291:6;1299;1307;1360:2;1348:9;1339:7;1335:23;1331:32;1328:52;;;1376:1;1373;1366:12;1328:52;1416:9;1403:23;1445:18;1486:2;1478:6;1475:14;1472:34;;;1502:1;1499;1492:12;1472:34;1540:6;1529:9;1525:22;1515:32;;1585:7;1578:4;1574:2;1570:13;1566:27;1556:55;;1607:1;1604;1597:12;1556:55;1647:2;1634:16;1673:2;1665:6;1662:14;1659:34;;;1689:1;1686;1679:12;1659:34;1744:7;1737:4;1727:6;1724:1;1720:14;1716:2;1712:23;1708:34;1705:47;1702:67;;;1765:1;1762;1755:12;1702:67;1796:4;1788:13;;;;1820:6;;-1:-1:-1;1858:20:1;;;;1845:34;;1196:689;-1:-1:-1;;;;1196:689:1:o;2072:328::-;2149:6;2157;2165;2218:2;2206:9;2197:7;2193:23;2189:32;2186:52;;;2234:1;2231;2224:12;2186:52;2257:29;2276:9;2257:29;:::i;:::-;2247:39;;2305:38;2339:2;2328:9;2324:18;2305:38;:::i;:::-;2295:48;;2390:2;2379:9;2375:18;2362:32;2352:42;;2072:328;;;;;:::o;2594:186::-;2653:6;2706:2;2694:9;2685:7;2681:23;2677:32;2674:52;;;2722:1;2719;2712:12;2674:52;2745:29;2764:9;2745:29;:::i;:::-;2735:39;2594:186;-1:-1:-1;;;2594:186:1:o;2993:260::-;3061:6;3069;3122:2;3110:9;3101:7;3097:23;3093:32;3090:52;;;3138:1;3135;3128:12;3090:52;3161:29;3180:9;3161:29;:::i;:::-;3151:39;;3209:38;3243:2;3232:9;3228:18;3209:38;:::i;:::-;3199:48;;2993:260;;;;;:::o;3258:380::-;3337:1;3333:12;;;;3380;;;3401:61;;3455:4;3447:6;3443:17;3433:27;;3401:61;3508:2;3500:6;3497:14;3477:18;3474:38;3471:161;;3554:10;3549:3;3545:20;3542:1;3535:31;3589:4;3586:1;3579:15;3617:4;3614:1;3607:15;3471:161;;3258:380;;;:::o;3643:127::-;3704:10;3699:3;3695:20;3692:1;3685:31;3735:4;3732:1;3725:15;3759:4;3756:1;3749:15;3775:127;3836:10;3831:3;3827:20;3824:1;3817:31;3867:4;3864:1;3857:15;3891:4;3888:1;3881:15;3907:135;3946:3;3967:17;;;3964:43;;3987:18;;:::i;:::-;-1:-1:-1;4034:1:1;4023:13;;3907:135::o;4047:125::-;4112:9;;;4133:10;;;4130:36;;;4146:18;;:::i

Swarm Source

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