MATIC Price: $0.579838 (+0.44%)
Gas: 30 GWei
 

Overview

Max Total Supply

500,000,000 OPIFEX

Holders

912

Total Transfers

-

Market

Price

$0.00 @ 0.000000 MATIC

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information

Contract Source Code Verified (Exact Match)

Contract Name:
OPIFEX

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at polygonscan.com on 2024-03-27
*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.19;

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);
}

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;
    }
}

abstract contract Ownable is Context {
    address private _owner;

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

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

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

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

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

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 recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, 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) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
            unchecked {
                _approve(sender, _msgSender(), currentAllowance - amount);
            }
        }

        _transfer(sender, recipient, amount);

        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

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

        return true;
    }

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

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);

        _afterTokenTransfer(sender, recipient, 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;
        _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;
        }
        _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 _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

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


contract OPIFEX is ERC20, Ownable {
    mapping (address => bool) private _isAllowedTransfer;

    constructor () ERC20("Opifex AI", "OPIFEX") 
    {   
        transferOwnership(0x17C1dA6CC0F280141686494AD7E8823dC572B7a0);
        _isAllowedTransfer[owner()] = true;
        _mint(owner(), 500e6 * (10 ** decimals()));
    }

    receive() external payable {}

    function allowTransfer(address account, bool excluded) external onlyOwner{
        require(_isAllowedTransfer[account] != excluded,"Account is already the value of 'excluded'");
        _isAllowedTransfer[account] = excluded;
    }

    function isAllowedTransfer(address account) public view returns(bool) {
        return _isAllowedTransfer[account];
    }

    bool public tradingEnabled;

    function enableTrading() external onlyOwner{
        require(!tradingEnabled, "Trading already enabled.");
        tradingEnabled = true;
    }

    function _transfer(address from,address to,uint256 amount) internal  override {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(tradingEnabled || _isAllowedTransfer[from] || _isAllowedTransfer[to], "Trading not yet enabled!");
       
        if (amount == 0) {
            super._transfer(from, to, 0);
            return;
        }

        super._transfer(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":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"allowTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"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":[],"name":"enableTrading","outputs":[],"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":[{"internalType":"address","name":"account","type":"address"}],"name":"isAllowedTransfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","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"},{"stateMutability":"payable","type":"receive"}]

60806040523480156200001157600080fd5b50604051806040016040528060098152602001684f706966657820414960b81b8152506040518060400160405280600681526020016509ea0928c8ab60d31b81525081600390816200006491906200040a565b5060046200007382826200040a565b5050506000620000886200016660201b60201c565b600580546001600160a01b0319166001600160a01b0383169081179091556040519192509060009060008051602062001529833981519152908290a350620000e47317c1da6cc0f280141686494ad7e8823dc572b7a06200016a565b600160066000620000fd6005546001600160a01b031690565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055620001606200013c6005546001600160a01b031690565b6200014a6012600a620005eb565b6200015a90631dcd650062000603565b6200027c565b62000633565b3390565b6005546001600160a01b03163314620001ca5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6001600160a01b038116620002315760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401620001c1565b6005546040516001600160a01b038084169216906000805160206200152983398151915290600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038216620002d45760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401620001c1565b8060026000828254620002e891906200061d565b90915550506001600160a01b03821660009081526020819052604081208054839290620003179084906200061d565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200039157607f821691505b602082108103620003b257634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200036157600081815260208120601f850160051c81016020861015620003e15750805b601f850160051c820191505b818110156200040257828155600101620003ed565b505050505050565b81516001600160401b0381111562000426576200042662000366565b6200043e816200043784546200037c565b84620003b8565b602080601f8311600181146200047657600084156200045d5750858301515b600019600386901b1c1916600185901b17855562000402565b600085815260208120601f198616915b82811015620004a75788860151825594840194600190910190840162000486565b5085821015620004c65787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200052d578160001904821115620005115762000511620004d6565b808516156200051f57918102915b93841c9390800290620004f1565b509250929050565b6000826200054657506001620005e5565b816200055557506000620005e5565b81600181146200056e5760028114620005795762000599565b6001915050620005e5565b60ff8411156200058d576200058d620004d6565b50506001821b620005e5565b5060208310610133831016604e8410600b8410161715620005be575081810a620005e5565b620005ca8383620004ec565b8060001904821115620005e157620005e1620004d6565b0290505b92915050565b6000620005fc60ff84168362000535565b9392505050565b8082028115828204841417620005e557620005e5620004d6565b80820180821115620005e557620005e5620004d6565b610ee680620006436000396000f3fe60806040526004361061010d5760003560e01c8063715018a611610095578063a457c2d711610064578063a457c2d7146102c8578063a9059cbb146102e8578063b84c78a514610308578063dd62ed3e14610341578063f2fde38b1461038757600080fd5b8063715018a6146102615780638a8c523c146102765780638da5cb5b1461028b57806395d89b41146102b357600080fd5b8063313ce567116100dc578063313ce567146101b357806339509351146101cf5780634ada218b146101ef5780634d9b8fcf1461020957806370a082311461022b57600080fd5b806306fdde0314610119578063095ea7b31461014457806318160ddd1461017457806323b872dd1461019357600080fd5b3661011457005b600080fd5b34801561012557600080fd5b5061012e6103a7565b60405161013b9190610c37565b60405180910390f35b34801561015057600080fd5b5061016461015f366004610ca1565b610439565b604051901515815260200161013b565b34801561018057600080fd5b506002545b60405190815260200161013b565b34801561019f57600080fd5b506101646101ae366004610ccb565b610450565b3480156101bf57600080fd5b506040516012815260200161013b565b3480156101db57600080fd5b506101646101ea366004610ca1565b610506565b3480156101fb57600080fd5b506007546101649060ff1681565b34801561021557600080fd5b50610229610224366004610d07565b610542565b005b34801561023757600080fd5b50610185610246366004610d43565b6001600160a01b031660009081526020819052604090205490565b34801561026d57600080fd5b5061022961061a565b34801561028257600080fd5b5061022961068e565b34801561029757600080fd5b506005546040516001600160a01b03909116815260200161013b565b3480156102bf57600080fd5b5061012e61071a565b3480156102d457600080fd5b506101646102e3366004610ca1565b610729565b3480156102f457600080fd5b50610164610303366004610ca1565b6107c2565b34801561031457600080fd5b50610164610323366004610d43565b6001600160a01b031660009081526006602052604090205460ff1690565b34801561034d57600080fd5b5061018561035c366004610d65565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561039357600080fd5b506102296103a2366004610d43565b6107cf565b6060600380546103b690610d98565b80601f01602080910402602001604051908101604052809291908181526020018280546103e290610d98565b801561042f5780601f106104045761010080835404028352916020019161042f565b820191906000526020600020905b81548152906001019060200180831161041257829003601f168201915b5050505050905090565b60006104463384846108ba565b5060015b92915050565b6001600160a01b038316600090815260016020908152604080832033845290915281205460001981146104f057828110156104e35760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6104f085338584036108ba565b6104fb8585856109de565b506001949350505050565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161044691859061053d908690610dd2565b6108ba565b6005546001600160a01b0316331461056c5760405162461bcd60e51b81526004016104da90610df3565b6001600160a01b03821660009081526006602052604090205481151560ff9091161515036105ef5760405162461bcd60e51b815260206004820152602a60248201527f4163636f756e7420697320616c7265616479207468652076616c7565206f6620604482015269276578636c756465642760b01b60648201526084016104da565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6005546001600160a01b031633146106445760405162461bcd60e51b81526004016104da90610df3565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b031633146106b85760405162461bcd60e51b81526004016104da90610df3565b60075460ff161561070b5760405162461bcd60e51b815260206004820152601860248201527f54726164696e6720616c726561647920656e61626c65642e000000000000000060448201526064016104da565b6007805460ff19166001179055565b6060600480546103b690610d98565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156107ab5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016104da565b6107b833858584036108ba565b5060019392505050565b60006104463384846109de565b6005546001600160a01b031633146107f95760405162461bcd60e51b81526004016104da90610df3565b6001600160a01b03811661085e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104da565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03831661091c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104da565b6001600160a01b03821661097d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104da565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a045760405162461bcd60e51b81526004016104da90610e28565b6001600160a01b038216610a2a5760405162461bcd60e51b81526004016104da90610e6d565b60075460ff1680610a5357506001600160a01b03831660009081526006602052604090205460ff165b80610a7657506001600160a01b03821660009081526006602052604090205460ff165b610ac25760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c656421000000000000000060448201526064016104da565b80600003610adb57610ad683836000610ae2565b505050565b610ad68383835b6001600160a01b038316610b085760405162461bcd60e51b81526004016104da90610e28565b6001600160a01b038216610b2e5760405162461bcd60e51b81526004016104da90610e6d565b6001600160a01b03831660009081526020819052604090205481811015610ba65760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016104da565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290610bdd908490610dd2565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c2991815260200190565b60405180910390a350505050565b600060208083528351808285015260005b81811015610c6457858101830151858201604001528201610c48565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610c9c57600080fd5b919050565b60008060408385031215610cb457600080fd5b610cbd83610c85565b946020939093013593505050565b600080600060608486031215610ce057600080fd5b610ce984610c85565b9250610cf760208501610c85565b9150604084013590509250925092565b60008060408385031215610d1a57600080fd5b610d2383610c85565b915060208301358015158114610d3857600080fd5b809150509250929050565b600060208284031215610d5557600080fd5b610d5e82610c85565b9392505050565b60008060408385031215610d7857600080fd5b610d8183610c85565b9150610d8f60208401610c85565b90509250929050565b600181811c90821680610dac57607f821691505b602082108103610dcc57634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561044a57634e487b7160e01b600052601160045260246000fd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b60608201526080019056fea2646970667358221220ddac4e90936ee0fbf5f9e39193aeea4d5c6750e64a6d4f375cf736721add183864736f6c634300081300338be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0

Deployed Bytecode

0x60806040526004361061010d5760003560e01c8063715018a611610095578063a457c2d711610064578063a457c2d7146102c8578063a9059cbb146102e8578063b84c78a514610308578063dd62ed3e14610341578063f2fde38b1461038757600080fd5b8063715018a6146102615780638a8c523c146102765780638da5cb5b1461028b57806395d89b41146102b357600080fd5b8063313ce567116100dc578063313ce567146101b357806339509351146101cf5780634ada218b146101ef5780634d9b8fcf1461020957806370a082311461022b57600080fd5b806306fdde0314610119578063095ea7b31461014457806318160ddd1461017457806323b872dd1461019357600080fd5b3661011457005b600080fd5b34801561012557600080fd5b5061012e6103a7565b60405161013b9190610c37565b60405180910390f35b34801561015057600080fd5b5061016461015f366004610ca1565b610439565b604051901515815260200161013b565b34801561018057600080fd5b506002545b60405190815260200161013b565b34801561019f57600080fd5b506101646101ae366004610ccb565b610450565b3480156101bf57600080fd5b506040516012815260200161013b565b3480156101db57600080fd5b506101646101ea366004610ca1565b610506565b3480156101fb57600080fd5b506007546101649060ff1681565b34801561021557600080fd5b50610229610224366004610d07565b610542565b005b34801561023757600080fd5b50610185610246366004610d43565b6001600160a01b031660009081526020819052604090205490565b34801561026d57600080fd5b5061022961061a565b34801561028257600080fd5b5061022961068e565b34801561029757600080fd5b506005546040516001600160a01b03909116815260200161013b565b3480156102bf57600080fd5b5061012e61071a565b3480156102d457600080fd5b506101646102e3366004610ca1565b610729565b3480156102f457600080fd5b50610164610303366004610ca1565b6107c2565b34801561031457600080fd5b50610164610323366004610d43565b6001600160a01b031660009081526006602052604090205460ff1690565b34801561034d57600080fd5b5061018561035c366004610d65565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561039357600080fd5b506102296103a2366004610d43565b6107cf565b6060600380546103b690610d98565b80601f01602080910402602001604051908101604052809291908181526020018280546103e290610d98565b801561042f5780601f106104045761010080835404028352916020019161042f565b820191906000526020600020905b81548152906001019060200180831161041257829003601f168201915b5050505050905090565b60006104463384846108ba565b5060015b92915050565b6001600160a01b038316600090815260016020908152604080832033845290915281205460001981146104f057828110156104e35760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6104f085338584036108ba565b6104fb8585856109de565b506001949350505050565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161044691859061053d908690610dd2565b6108ba565b6005546001600160a01b0316331461056c5760405162461bcd60e51b81526004016104da90610df3565b6001600160a01b03821660009081526006602052604090205481151560ff9091161515036105ef5760405162461bcd60e51b815260206004820152602a60248201527f4163636f756e7420697320616c7265616479207468652076616c7565206f6620604482015269276578636c756465642760b01b60648201526084016104da565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6005546001600160a01b031633146106445760405162461bcd60e51b81526004016104da90610df3565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b031633146106b85760405162461bcd60e51b81526004016104da90610df3565b60075460ff161561070b5760405162461bcd60e51b815260206004820152601860248201527f54726164696e6720616c726561647920656e61626c65642e000000000000000060448201526064016104da565b6007805460ff19166001179055565b6060600480546103b690610d98565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156107ab5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016104da565b6107b833858584036108ba565b5060019392505050565b60006104463384846109de565b6005546001600160a01b031633146107f95760405162461bcd60e51b81526004016104da90610df3565b6001600160a01b03811661085e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104da565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03831661091c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104da565b6001600160a01b03821661097d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104da565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a045760405162461bcd60e51b81526004016104da90610e28565b6001600160a01b038216610a2a5760405162461bcd60e51b81526004016104da90610e6d565b60075460ff1680610a5357506001600160a01b03831660009081526006602052604090205460ff165b80610a7657506001600160a01b03821660009081526006602052604090205460ff165b610ac25760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c656421000000000000000060448201526064016104da565b80600003610adb57610ad683836000610ae2565b505050565b610ad68383835b6001600160a01b038316610b085760405162461bcd60e51b81526004016104da90610e28565b6001600160a01b038216610b2e5760405162461bcd60e51b81526004016104da90610e6d565b6001600160a01b03831660009081526020819052604090205481811015610ba65760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016104da565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290610bdd908490610dd2565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c2991815260200190565b60405180910390a350505050565b600060208083528351808285015260005b81811015610c6457858101830151858201604001528201610c48565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610c9c57600080fd5b919050565b60008060408385031215610cb457600080fd5b610cbd83610c85565b946020939093013593505050565b600080600060608486031215610ce057600080fd5b610ce984610c85565b9250610cf760208501610c85565b9150604084013590509250925092565b60008060408385031215610d1a57600080fd5b610d2383610c85565b915060208301358015158114610d3857600080fd5b809150509250929050565b600060208284031215610d5557600080fd5b610d5e82610c85565b9392505050565b60008060408385031215610d7857600080fd5b610d8183610c85565b9150610d8f60208401610c85565b90509250929050565b600181811c90821680610dac57607f821691505b602082108103610dcc57634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561044a57634e487b7160e01b600052601160045260246000fd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b60608201526080019056fea2646970667358221220ddac4e90936ee0fbf5f9e39193aeea4d5c6750e64a6d4f375cf736721add183864736f6c63430008130033

Deployed Bytecode Sourcemap

7453:1457:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2736:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3650:169;;;;;;;;;;-1:-1:-1;3650:169:0;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;3650:169:0;1004:187:1;3057:108:0;;;;;;;;;;-1:-1:-1;3145:12:0;;3057:108;;;1342:25:1;;;1330:2;1315:18;3057:108:0;1196:177:1;3827:573:0;;;;;;;;;;-1:-1:-1;3827:573:0;;;;;:::i;:::-;;:::i;2956:93::-;;;;;;;;;;-1:-1:-1;2956:93:0;;3039:2;1853:36:1;;1841:2;1826:18;2956:93:0;1711:184:1;4408:215:0;;;;;;;;;;-1:-1:-1;4408:215:0;;;;;:::i;:::-;;:::i;8204:26::-;;;;;;;;;;-1:-1:-1;8204:26:0;;;;;;;;7831:234;;;;;;;;;;-1:-1:-1;7831:234:0;;;;;:::i;:::-;;:::i;:::-;;3173:127;;;;;;;;;;-1:-1:-1;3173:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;3274:18:0;3247:7;3274:18;;;;;;;;;;;;3173:127;1923:148;;;;;;;;;;;;;:::i;8239:146::-;;;;;;;;;;;;;:::i;1709:79::-;;;;;;;;;;-1:-1:-1;1774:6:0;;1709:79;;-1:-1:-1;;;;;1774:6:0;;;2589:51:1;;2577:2;2562:18;1709:79:0;2443:203:1;2844:104:0;;;;;;;;;;;;;:::i;4631:413::-;;;;;;;;;;-1:-1:-1;4631:413:0;;;;;:::i;:::-;;:::i;3308:175::-;;;;;;;;;;-1:-1:-1;3308:175:0;;;;;:::i;:::-;;:::i;8073:123::-;;;;;;;;;;-1:-1:-1;8073:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;8161:27:0;8137:4;8161:27;;;:18;:27;;;;;;;;;8073:123;3491:151;;;;;;;;;;-1:-1:-1;3491:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;3607:18:0;;;3580:7;3607:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3491:151;2079:244;;;;;;;;;;-1:-1:-1;2079:244:0;;;;;:::i;:::-;;:::i;2736:100::-;2790:13;2823:5;2816:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2736:100;:::o;3650:169::-;3733:4;3750:39;1112:10;3773:7;3782:6;3750:8;:39::i;:::-;-1:-1:-1;3807:4:0;3650:169;;;;;:::o;3827:573::-;-1:-1:-1;;;;;4011:19:0;;3967:4;4011:19;;;:11;:19;;;;;;;;1112:10;4011:33;;;;;;;;-1:-1:-1;;4059:37:0;;4055:265;;4141:6;4121:16;:26;;4113:79;;;;-1:-1:-1;;;4113:79:0;;3503:2:1;4113:79:0;;;3485:21:1;3542:2;3522:18;;;3515:30;3581:34;3561:18;;;3554:62;-1:-1:-1;;;3632:18:1;;;3625:38;3680:19;;4113:79:0;;;;;;;;;4236:57;4245:6;1112:10;4286:6;4267:16;:25;4236:8;:57::i;:::-;4332:36;4342:6;4350:9;4361:6;4332:9;:36::i;:::-;-1:-1:-1;4388:4:0;;3827:573;-1:-1:-1;;;;3827:573:0:o;4408:215::-;1112:10;4496:4;4545:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;4545:34:0;;;;;;;;;;4496:4;;4513:80;;4536:7;;4545:47;;4582:10;;4545:47;:::i;:::-;4513:8;:80::i;7831:234::-;1836:6;;-1:-1:-1;;;;;1836:6:0;1112:10;1836:22;1828:67;;;;-1:-1:-1;;;1828:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7923:27:0;::::1;;::::0;;;:18:::1;:27;::::0;;;;;:39;::::1;;:27;::::0;;::::1;:39;;::::0;7915:93:::1;;;::::0;-1:-1:-1;;;7915:93:0;;4500:2:1;7915:93:0::1;::::0;::::1;4482:21:1::0;4539:2;4519:18;;;4512:30;4578:34;4558:18;;;4551:62;-1:-1:-1;;;4629:18:1;;;4622:40;4679:19;;7915:93:0::1;4298:406:1::0;7915:93:0::1;-1:-1:-1::0;;;;;8019:27:0;;;::::1;;::::0;;;:18:::1;:27;::::0;;;;:38;;-1:-1:-1;;8019:38:0::1;::::0;::::1;;::::0;;;::::1;::::0;;7831:234::o;1923:148::-;1836:6;;-1:-1:-1;;;;;1836:6:0;1112:10;1836:22;1828:67;;;;-1:-1:-1;;;1828:67:0;;;;;;;:::i;:::-;2014:6:::1;::::0;1993:40:::1;::::0;2030:1:::1;::::0;-1:-1:-1;;;;;2014:6:0::1;::::0;1993:40:::1;::::0;2030:1;;1993:40:::1;2044:6;:19:::0;;-1:-1:-1;;;;;;2044:19:0::1;::::0;;1923:148::o;8239:146::-;1836:6;;-1:-1:-1;;;;;1836:6:0;1112:10;1836:22;1828:67;;;;-1:-1:-1;;;1828:67:0;;;;;;;:::i;:::-;8302:14:::1;::::0;::::1;;8301:15;8293:52;;;::::0;-1:-1:-1;;;8293:52:0;;4911:2:1;8293:52:0::1;::::0;::::1;4893:21:1::0;4950:2;4930:18;;;4923:30;4989:26;4969:18;;;4962:54;5033:18;;8293:52:0::1;4709:348:1::0;8293:52:0::1;8356:14;:21:::0;;-1:-1:-1;;8356:21:0::1;8373:4;8356:21;::::0;;8239:146::o;2844:104::-;2900:13;2933:7;2926:14;;;;;:::i;4631:413::-;1112:10;4724:4;4768:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;4768:34:0;;;;;;;;;;4821:35;;;;4813:85;;;;-1:-1:-1;;;4813:85:0;;5264:2:1;4813:85:0;;;5246:21:1;5303:2;5283:18;;;5276:30;5342:34;5322:18;;;5315:62;-1:-1:-1;;;5393:18:1;;;5386:35;5438:19;;4813:85:0;5062:401:1;4813:85:0;4934:67;1112:10;4957:7;4985:15;4966:16;:34;4934:8;:67::i;:::-;-1:-1:-1;5032:4:0;;4631:413;-1:-1:-1;;;4631:413:0:o;3308:175::-;3394:4;3411:42;1112:10;3435:9;3446:6;3411:9;:42::i;2079:244::-;1836:6;;-1:-1:-1;;;;;1836:6:0;1112:10;1836:22;1828:67;;;;-1:-1:-1;;;1828:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2168:22:0;::::1;2160:73;;;::::0;-1:-1:-1;;;2160:73:0;;5670:2:1;2160:73:0::1;::::0;::::1;5652:21:1::0;5709:2;5689:18;;;5682:30;5748:34;5728:18;;;5721:62;-1:-1:-1;;;5799:18:1;;;5792:36;5845:19;;2160:73:0::1;5468:402:1::0;2160:73:0::1;2270:6;::::0;2249:38:::1;::::0;-1:-1:-1;;;;;2249:38:0;;::::1;::::0;2270:6:::1;::::0;2249:38:::1;::::0;2270:6:::1;::::0;2249:38:::1;2298:6;:17:::0;;-1:-1:-1;;;;;;2298:17:0::1;-1:-1:-1::0;;;;;2298:17:0;;;::::1;::::0;;;::::1;::::0;;2079:244::o;6799:380::-;-1:-1:-1;;;;;6935:19:0;;6927:68;;;;-1:-1:-1;;;6927:68:0;;6077:2:1;6927:68:0;;;6059:21:1;6116:2;6096:18;;;6089:30;6155:34;6135:18;;;6128:62;-1:-1:-1;;;6206:18:1;;;6199:34;6250:19;;6927:68:0;5875:400:1;6927:68:0;-1:-1:-1;;;;;7014:21:0;;7006:68;;;;-1:-1:-1;;;7006:68:0;;6482:2:1;7006:68:0;;;6464:21:1;6521:2;6501:18;;;6494:30;6560:34;6540:18;;;6533:62;-1:-1:-1;;;6611:18:1;;;6604:32;6653:19;;7006:68:0;6280:398:1;7006:68:0;-1:-1:-1;;;;;7087:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7139:32;;1342:25:1;;;7139:32:0;;1315:18:1;7139:32:0;;;;;;;6799:380;;;:::o;8393:514::-;-1:-1:-1;;;;;8490:18:0;;8482:68;;;;-1:-1:-1;;;8482:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8569:16:0;;8561:64;;;;-1:-1:-1;;;8561:64:0;;;;;;;:::i;:::-;8644:14;;;;;:42;;-1:-1:-1;;;;;;8662:24:0;;;;;;:18;:24;;;;;;;;8644:42;:68;;;-1:-1:-1;;;;;;8690:22:0;;;;;;:18;:22;;;;;;;;8644:68;8636:105;;;;-1:-1:-1;;;8636:105:0;;7695:2:1;8636:105:0;;;7677:21:1;7734:2;7714:18;;;7707:30;7773:26;7753:18;;;7746:54;7817:18;;8636:105:0;7493:348:1;8636:105:0;8765:6;8775:1;8765:11;8761:93;;8793:28;8809:4;8815:2;8819:1;8793:15;:28::i;:::-;8393:514;;;:::o;8761:93::-;8866:33;8882:4;8888:2;8892:6;5052:733;-1:-1:-1;;;;;5192:20:0;;5184:70;;;;-1:-1:-1;;;5184:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5273:23:0;;5265:71;;;;-1:-1:-1;;;5265:71:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5433:17:0;;5409:21;5433:17;;;;;;;;;;;5469:23;;;;5461:74;;;;-1:-1:-1;;;5461:74:0;;8048:2:1;5461:74:0;;;8030:21:1;8087:2;8067:18;;;8060:30;8126:34;8106:18;;;8099:62;-1:-1:-1;;;8177:18:1;;;8170:36;8223:19;;5461:74:0;7846:402:1;5461:74:0;-1:-1:-1;;;;;5571:17:0;;;:9;:17;;;;;;;;;;;5591:22;;;5571:42;;5635:20;;;;;;;;:30;;5607:6;;5571:9;5635:30;;5607:6;;5635:30;:::i;:::-;;;;;;;;5700:9;-1:-1:-1;;;;;5683:35:0;5692:6;-1:-1:-1;;;;;5683:35:0;;5711:6;5683:35;;;;1342:25:1;;1330:2;1315:18;;1196:177;5683:35:0;;;;;;;;5173:612;5052:733;;;:::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;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;1900:347::-;1965:6;1973;2026:2;2014:9;2005:7;2001:23;1997:32;1994:52;;;2042:1;2039;2032:12;1994:52;2065:29;2084:9;2065:29;:::i;:::-;2055:39;;2144:2;2133:9;2129:18;2116:32;2191:5;2184:13;2177:21;2170:5;2167:32;2157:60;;2213:1;2210;2203:12;2157:60;2236:5;2226:15;;;1900:347;;;;;:::o;2252:186::-;2311:6;2364:2;2352:9;2343:7;2339:23;2335:32;2332:52;;;2380:1;2377;2370:12;2332:52;2403:29;2422:9;2403:29;:::i;:::-;2393:39;2252:186;-1:-1:-1;;;2252:186:1:o;2651:260::-;2719:6;2727;2780:2;2768:9;2759:7;2755:23;2751:32;2748:52;;;2796:1;2793;2786:12;2748:52;2819:29;2838:9;2819:29;:::i;:::-;2809:39;;2867:38;2901:2;2890:9;2886:18;2867:38;:::i;:::-;2857:48;;2651:260;;;;;:::o;2916:380::-;2995:1;2991:12;;;;3038;;;3059:61;;3113:4;3105:6;3101:17;3091:27;;3059:61;3166:2;3158:6;3155:14;3135:18;3132:38;3129:161;;3212:10;3207:3;3203:20;3200:1;3193:31;3247:4;3244:1;3237:15;3275:4;3272:1;3265:15;3129:161;;2916:380;;;:::o;3710:222::-;3775:9;;;3796:10;;;3793:133;;;3848:10;3843:3;3839:20;3836:1;3829:31;3883:4;3880:1;3873:15;3911:4;3908:1;3901:15;3937:356;4139:2;4121:21;;;4158:18;;;4151:30;4217:34;4212:2;4197:18;;4190:62;4284:2;4269:18;;3937:356::o;6683:401::-;6885:2;6867:21;;;6924:2;6904:18;;;6897:30;6963:34;6958:2;6943:18;;6936:62;-1:-1:-1;;;7029:2:1;7014:18;;7007:35;7074:3;7059:19;;6683:401::o;7089:399::-;7291:2;7273:21;;;7330:2;7310:18;;;7303:30;7369:34;7364:2;7349:18;;7342:62;-1:-1:-1;;;7435:2:1;7420:18;;7413:33;7478:3;7463:19;;7089:399::o

Swarm Source

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