ETH Price: $3,595.84 (+3.72%)
 

Overview

Max Total Supply

1,000,000,000 PSYOPS

Holders

45

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
10,972,766.7936216 PSYOPS

Value
$0.00
0x667d40ce19af848c6fb96328d486ad1d986cd20c
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:
PsyopsisErc

Compiler Version
v0.8.15+commit.e14f2714

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-25
*/

// SPDX-License-Identifier: UNLICENSED

/*

Telegram : https://t.me/psyopsis
Twitter : https://twitter.com/PsyopsisErc

*/

pragma solidity 0.8.15;

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }
}

interface ERC20 {
    function getOwner() external view returns (address);
    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);
}

abstract contract Auth {
    address internal owner;

    constructor(address _owner) {
        owner = _owner;
    }

    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER"); _;
    }

    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }

    function renounceOwnership() external onlyOwner {
        owner = address(0);
    }

}

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

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract PsyopsisErc is ERC20, Auth {
    using SafeMath for uint256;

    address immutable WETH;
    address constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address constant ZERO = 0x0000000000000000000000000000000000000000;

    string public constant name = "Psyopsis";
    string public constant symbol = "PSYOPS";
    uint8 public constant decimals = 18;
    
    uint256 public constant totalSupply = 10**9 * 10**decimals;

    uint256 public _maxTxAmount = totalSupply / 100;
    uint256 public _maxWalletToken = totalSupply / 100;

    mapping (address => uint256) public balanceOf;
    mapping (address => mapping (address => uint256)) _allowances;

    mapping (address => bool) public isFeeExempt;
    mapping (address => bool) public isWalletLimitExempt;

    uint256  totalFee = 10;
    uint256 constant feeDenominator = 100;
    
    uint256 buyMultiplier = 160;
    uint256 sellMultiplier = 160;
    uint256 transferMultiplier = 0;

    address operationsFeeReceiver;

    IDEXRouter public router;
    address public immutable pair;

    bool public swapEnabled = true;
    uint256 swapThreshold = totalSupply / 100;
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor () Auth(msg.sender) {
        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        WETH = router.WETH();

        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;

        operationsFeeReceiver = msg.sender;

        isFeeExempt[msg.sender] = true;

        isWalletLimitExempt[msg.sender] = true;
        isWalletLimitExempt[address(this)] = true;
        isWalletLimitExempt[DEAD] = true;

        balanceOf[msg.sender] = totalSupply;
        emit Transfer(address(0), msg.sender, totalSupply);
    }

    receive() external payable { }

    function getOwner() external view override returns (address) { return owner; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != type(uint256).max){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

    function setMaxWalletPercent_base1000(uint256 maxWallPercent_base1000) external onlyOwner {
        require(maxWallPercent_base1000 >= 10,"Cannot set max wallet less than 1%");
        _maxWalletToken = (totalSupply * maxWallPercent_base1000 ) / 1000;
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }

        if (!isWalletLimitExempt[sender] && !isWalletLimitExempt[recipient] && recipient != pair) {
            require((balanceOf[recipient] + amount) <= _maxWalletToken,"max wallet limit reached");
        }
    
        if(shouldSwapBack()){ swapBack(); }

        balanceOf[sender] = balanceOf[sender].sub(amount, "Insufficient Balance");

        uint256 amountReceived = (isFeeExempt[sender] || isFeeExempt[recipient]) ? amount : takeFee(sender, amount, recipient);

        balanceOf[recipient] = balanceOf[recipient].add(amountReceived);

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }
    
    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        balanceOf[sender] = balanceOf[sender].sub(amount, "Insufficient Balance");
        balanceOf[recipient] = balanceOf[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function takeFee(address sender, uint256 amount, address recipient) internal returns (uint256) {
        if(amount == 0 || totalFee == 0){
            return amount;
        }

        uint256 multiplier = transferMultiplier;

        if(recipient == pair) {
            multiplier = sellMultiplier;
        } else if(sender == pair) {
            multiplier = buyMultiplier;
        }

        uint256 feeAmount = (amount * totalFee * multiplier) / 10000;

        if(feeAmount > 0){
            balanceOf[address(this)] = balanceOf[address(this)].add(feeAmount);
            emit Transfer(sender, address(this), feeAmount);
        }

        return amount.sub(feeAmount);
    }

    function shouldSwapBack() internal view returns (bool) {
        return msg.sender != pair
        && !inSwap
        && swapEnabled
        && balanceOf[address(this)] >= swapThreshold;
    }

    function setMultipliers(uint256 _buy, uint256 _sell) external onlyOwner {
        sellMultiplier = _sell;
        buyMultiplier = _buy;
    }

    function clearStuckBalance(uint256 amountPercentage) external onlyOwner {
        uint256 amountETH = address(this).balance;
        uint256 amountToClear = ( amountETH * amountPercentage ) / 100;
        payable(msg.sender).transfer(amountToClear);
    }

    function clearStuckToken(address tokenAddress, uint256 tokens) external onlyOwner returns (bool success) {
        if(tokens == 0){
            tokens = ERC20(tokenAddress).balanceOf(address(this));
        }
        return ERC20(tokenAddress).transfer(msg.sender, tokens);
    }

    function swapBack() internal swapping {
        uint256 tokensToSwap = balanceOf[address(this)];

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = WETH;

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokensToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function getCirculatingSupply() public view returns (uint256) {
        return (totalSupply - balanceOf[DEAD] - balanceOf[ZERO]);
    }
}

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":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"clearStuckToken","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","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":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent_base1000","type":"uint256"}],"name":"setMaxWalletPercent_base1000","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"}],"name":"setMultipliers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"},{"stateMutability":"payable","type":"receive"}]

60c06040526064620000146012600a62000497565b6200002490633b9aca00620004af565b620000309190620004d1565b6001556064620000436012600a62000497565b6200005390633b9aca00620004af565b6200005f9190620004d1565b600255600a600781905560a0600881905560095560008155600c805460ff60a01b1916600160a01b1790556064906200009b9060129062000497565b620000ab90633b9aca00620004af565b620000b79190620004d1565b600d55348015620000c757600080fd5b5060008054336001600160a01b031991821617909155600c8054737a250d5630b4cf539739df2c5dacb4c659f2488d921682179055604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa15801562000138573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200015e9190620004f4565b6001600160a01b03908116608052600c546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa158015620001af573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d59190620004f4565b6080516040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af115801562000227573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024d9190620004f4565b6001600160a01b0390811660a052306000818152600460209081526040808320600c5490951683529381528382206000199055600b80546001600160a01b03191633908117909155825260058152838220805460ff19908116600190811790925560069092528483208054831682179055928252928120805484168317905561dead90527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e228054909216179055620003086012600a62000497565b6200031890633b9aca00620004af565b33600081815260036020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200035b6012600a62000497565b6200036b90633b9aca00620004af565b60405190815260200160405180910390a36200051f565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003d9578160001904821115620003bd57620003bd62000382565b80851615620003cb57918102915b93841c93908002906200039d565b509250929050565b600082620003f25750600162000491565b81620004015750600062000491565b81600181146200041a5760028114620004255762000445565b600191505062000491565b60ff84111562000439576200043962000382565b50506001821b62000491565b5060208310610133831016604e8410600b84101617156200046a575081810a62000491565b62000476838362000398565b80600019048211156200048d576200048d62000382565b0290505b92915050565b6000620004a860ff841683620003e1565b9392505050565b6000816000190483118215151615620004cc57620004cc62000382565b500290565b600082620004ef57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200050757600080fd5b81516001600160a01b0381168114620004a857600080fd5b60805160a05161150c620005616000396000818161047501528181610a9d01528181610d9601528181610f520152610f8601526000610e72015261150c6000f3fe60806040526004361061016a5760003560e01c80636f50f507116100d1578063893d20e81161008a578063a9059cbb11610064578063a9059cbb14610497578063c867d60b146104b7578063dd62ed3e146104e7578063f887ea401461052d57600080fd5b8063893d20e8146103ff57806395d89b4114610431578063a8aa1b311461046357600080fd5b80636f50f5071461035157806370a0823114610371578063715018a61461039e57806377b54bad146103b357806378109e54146103d35780637d1db4a5146103e957600080fd5b80632b112e49116101235780632b112e49146102755780632f54bf6e1461028a578063313ce567146102b95780633f4218e0146102e0578063571ac8b0146103105780636ddd17131461033057600080fd5b806306fdde031461017657806309302dc6146101c0578063095ea7b3146101e257806318160ddd146102125780631da1db5e1461023557806323b872dd1461025557600080fd5b3661017157005b600080fd5b34801561018257600080fd5b506101aa604051806040016040528060088152602001675073796f7073697360c01b81525081565b6040516101b7919061111b565b60405180910390f35b3480156101cc57600080fd5b506101e06101db366004611170565b61054d565b005b3480156101ee57600080fd5b506102026101fd3660046111a5565b610614565b60405190151581526020016101b7565b34801561021e57600080fd5b50610227610681565b6040519081526020016101b7565b34801561024157600080fd5b506101e0610250366004611170565b61069e565b34801561026157600080fd5b506102026102703660046111cf565b610717565b34801561028157600080fd5b506102276107d9565b34801561029657600080fd5b506102026102a536600461120b565b6000546001600160a01b0391821691161490565b3480156102c557600080fd5b506102ce601281565b60405160ff90911681526020016101b7565b3480156102ec57600080fd5b506102026102fb36600461120b565b60056020526000908152604090205460ff1681565b34801561031c57600080fd5b5061020261032b36600461120b565b610860565b34801561033c57600080fd5b50600c5461020290600160a01b900460ff1681565b34801561035d57600080fd5b506101e061036c366004611226565b61086e565b34801561037d57600080fd5b5061022761038c36600461120b565b60036020526000908152604090205481565b3480156103aa57600080fd5b506101e06108a0565b3480156103bf57600080fd5b506102026103ce3660046111a5565b6108dc565b3480156103df57600080fd5b5061022760025481565b3480156103f557600080fd5b5061022760015481565b34801561040b57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101b7565b34801561043d57600080fd5b506101aa604051806040016040528060068152602001655053594f505360d01b81525081565b34801561046f57600080fd5b506104197f000000000000000000000000000000000000000000000000000000000000000081565b3480156104a357600080fd5b506102026104b23660046111a5565b6109eb565b3480156104c357600080fd5b506102026104d236600461120b565b60066020526000908152604090205460ff1681565b3480156104f357600080fd5b50610227610502366004611248565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561053957600080fd5b50600c54610419906001600160a01b031681565b6000546001600160a01b031633146105805760405162461bcd60e51b81526004016105779061127b565b60405180910390fd5b600a8110156105dc5760405162461bcd60e51b815260206004820152602260248201527f43616e6e6f7420736574206d61782077616c6c6574206c657373207468616e20604482015261312560f01b6064820152608401610577565b6103e8816105ec6012600a611395565b6105fa90633b9aca006113a4565b61060491906113a4565b61060e91906113c3565b60025550565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061066f9086815260200190565b60405180910390a35060015b92915050565b61068d6012600a611395565b61069b90633b9aca006113a4565b81565b6000546001600160a01b031633146106c85760405162461bcd60e51b81526004016105779061127b565b47600060646106d784846113a4565b6106e191906113c3565b604051909150339082156108fc029083906000818181858888f19350505050158015610711573d6000803e3d6000fd5b50505050565b6001600160a01b0383166000908152600460209081526040808320338452909152812054600019146107c4576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260048252838120338252909152919091205461079f9184906109f8565b6001600160a01b03851660009081526004602090815260408083203384529091529020555b6107cf848484610a32565b90505b9392505050565b60036020527f3617319a054d772f909f7c479a2cebe5066e836a939412e32403c99029b92eff5461dead60009081527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c549091906108396012600a611395565b61084790633b9aca006113a4565b61085191906113e5565b61085b91906113e5565b905090565b600061067b82600019610614565b6000546001600160a01b031633146108985760405162461bcd60e51b81526004016105779061127b565b600955600855565b6000546001600160a01b031633146108ca5760405162461bcd60e51b81526004016105779061127b565b600080546001600160a01b0319169055565b600080546001600160a01b031633146109075760405162461bcd60e51b81526004016105779061127b565b8160000361097a576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610953573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097791906113fc565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af11580156109c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d29190611415565b60006107d2338484610a32565b60008184841115610a1c5760405162461bcd60e51b8152600401610577919061111b565b506000610a2984866113e5565b95945050505050565b600e5460009060ff1615610a5257610a4b848484610ca3565b90506107d2565b6001600160a01b03841660009081526006602052604090205460ff16158015610a9457506001600160a01b03831660009081526006602052604090205460ff16155b8015610ad257507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614155b15610b4c576002546001600160a01b038416600090815260036020526040902054610afe908490611437565b1115610b4c5760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d6974207265616368656400000000000000006044820152606401610577565b610b54610d89565b15610b6157610b61610dfc565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260039091529190912054610bb39184906109f8565b6001600160a01b038516600090815260036020908152604080832093909355600590529081205460ff1680610c0057506001600160a01b03841660009081526005602052604090205460ff165b610c1457610c0f858486610f2a565b610c16565b825b6001600160a01b038516600090815260036020526040902054909150610c3c908261107a565b6001600160a01b0380861660008181526003602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c909085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600390915291822054610cf49184906109f8565b6001600160a01b038086166000908152600360205260408082209390935590851681522054610d23908361107a565b6001600160a01b0380851660008181526003602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d779086815260200190565b60405180910390a35060019392505050565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610dc75750600e5460ff16155b8015610ddc5750600c54600160a01b900460ff165b801561085b575050600d5430600090815260036020526040902054101590565b600e805460ff191660011790553060009081526003602090815260408083205481516002808252606082018452919493909290830190803683370190505090503081600081518110610e5057610e5061144f565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110610ea457610ea461144f565b6001600160a01b039283166020918202929092010152600c5460405163791ac94760e01b815291169063791ac94790610eea908590600090869030904290600401611465565b600060405180830381600087803b158015610f0457600080fd5b505af1158015610f18573d6000803e3d6000fd5b5050600e805460ff1916905550505050565b6000821580610f395750600754155b15610f455750816107d2565b600a546001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811690841603610f845750600954610fc2565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b031603610fc257506008545b60006127108260075487610fd691906113a4565b610fe091906113a4565b610fea91906113c3565b90508015611066573060009081526003602052604090205461100c908261107a565b30600081815260036020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061105d9085815260200190565b60405180910390a35b61107085826110d9565b9695505050505050565b6000806110878385611437565b9050838110156107d25760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610577565b60006107d283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506109f8565b600060208083528351808285015260005b818110156111485785810183015185820160400152820161112c565b8181111561115a576000604083870101525b50601f01601f1916929092016040019392505050565b60006020828403121561118257600080fd5b5035919050565b80356001600160a01b03811681146111a057600080fd5b919050565b600080604083850312156111b857600080fd5b6111c183611189565b946020939093013593505050565b6000806000606084860312156111e457600080fd5b6111ed84611189565b92506111fb60208501611189565b9150604084013590509250925092565b60006020828403121561121d57600080fd5b6107d282611189565b6000806040838503121561123957600080fd5b50508035926020909101359150565b6000806040838503121561125b57600080fd5b61126483611189565b915061127260208401611189565b90509250929050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156112ec5781600019048211156112d2576112d261129b565b808516156112df57918102915b93841c93908002906112b6565b509250929050565b6000826113035750600161067b565b816113105750600061067b565b816001811461132657600281146113305761134c565b600191505061067b565b60ff8411156113415761134161129b565b50506001821b61067b565b5060208310610133831016604e8410600b841016171561136f575081810a61067b565b61137983836112b1565b806000190482111561138d5761138d61129b565b029392505050565b60006107d260ff8416836112f4565b60008160001904831182151516156113be576113be61129b565b500290565b6000826113e057634e487b7160e01b600052601260045260246000fd5b500490565b6000828210156113f7576113f761129b565b500390565b60006020828403121561140e57600080fd5b5051919050565b60006020828403121561142757600080fd5b815180151581146107d257600080fd5b6000821982111561144a5761144a61129b565b500190565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156114b55784516001600160a01b031683529383019391830191600101611490565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212205814377d5bf0b1d49aaaa57e2e1e8a01c06dffb2b022e88cfb55b7a1d912ef3d64736f6c634300080f0033

Deployed Bytecode

0x60806040526004361061016a5760003560e01c80636f50f507116100d1578063893d20e81161008a578063a9059cbb11610064578063a9059cbb14610497578063c867d60b146104b7578063dd62ed3e146104e7578063f887ea401461052d57600080fd5b8063893d20e8146103ff57806395d89b4114610431578063a8aa1b311461046357600080fd5b80636f50f5071461035157806370a0823114610371578063715018a61461039e57806377b54bad146103b357806378109e54146103d35780637d1db4a5146103e957600080fd5b80632b112e49116101235780632b112e49146102755780632f54bf6e1461028a578063313ce567146102b95780633f4218e0146102e0578063571ac8b0146103105780636ddd17131461033057600080fd5b806306fdde031461017657806309302dc6146101c0578063095ea7b3146101e257806318160ddd146102125780631da1db5e1461023557806323b872dd1461025557600080fd5b3661017157005b600080fd5b34801561018257600080fd5b506101aa604051806040016040528060088152602001675073796f7073697360c01b81525081565b6040516101b7919061111b565b60405180910390f35b3480156101cc57600080fd5b506101e06101db366004611170565b61054d565b005b3480156101ee57600080fd5b506102026101fd3660046111a5565b610614565b60405190151581526020016101b7565b34801561021e57600080fd5b50610227610681565b6040519081526020016101b7565b34801561024157600080fd5b506101e0610250366004611170565b61069e565b34801561026157600080fd5b506102026102703660046111cf565b610717565b34801561028157600080fd5b506102276107d9565b34801561029657600080fd5b506102026102a536600461120b565b6000546001600160a01b0391821691161490565b3480156102c557600080fd5b506102ce601281565b60405160ff90911681526020016101b7565b3480156102ec57600080fd5b506102026102fb36600461120b565b60056020526000908152604090205460ff1681565b34801561031c57600080fd5b5061020261032b36600461120b565b610860565b34801561033c57600080fd5b50600c5461020290600160a01b900460ff1681565b34801561035d57600080fd5b506101e061036c366004611226565b61086e565b34801561037d57600080fd5b5061022761038c36600461120b565b60036020526000908152604090205481565b3480156103aa57600080fd5b506101e06108a0565b3480156103bf57600080fd5b506102026103ce3660046111a5565b6108dc565b3480156103df57600080fd5b5061022760025481565b3480156103f557600080fd5b5061022760015481565b34801561040b57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101b7565b34801561043d57600080fd5b506101aa604051806040016040528060068152602001655053594f505360d01b81525081565b34801561046f57600080fd5b506104197f00000000000000000000000077a8f5acaeec1f8fb7b6de0207c1bdb5f7ccf93781565b3480156104a357600080fd5b506102026104b23660046111a5565b6109eb565b3480156104c357600080fd5b506102026104d236600461120b565b60066020526000908152604090205460ff1681565b3480156104f357600080fd5b50610227610502366004611248565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561053957600080fd5b50600c54610419906001600160a01b031681565b6000546001600160a01b031633146105805760405162461bcd60e51b81526004016105779061127b565b60405180910390fd5b600a8110156105dc5760405162461bcd60e51b815260206004820152602260248201527f43616e6e6f7420736574206d61782077616c6c6574206c657373207468616e20604482015261312560f01b6064820152608401610577565b6103e8816105ec6012600a611395565b6105fa90633b9aca006113a4565b61060491906113a4565b61060e91906113c3565b60025550565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061066f9086815260200190565b60405180910390a35060015b92915050565b61068d6012600a611395565b61069b90633b9aca006113a4565b81565b6000546001600160a01b031633146106c85760405162461bcd60e51b81526004016105779061127b565b47600060646106d784846113a4565b6106e191906113c3565b604051909150339082156108fc029083906000818181858888f19350505050158015610711573d6000803e3d6000fd5b50505050565b6001600160a01b0383166000908152600460209081526040808320338452909152812054600019146107c4576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260048252838120338252909152919091205461079f9184906109f8565b6001600160a01b03851660009081526004602090815260408083203384529091529020555b6107cf848484610a32565b90505b9392505050565b60036020527f3617319a054d772f909f7c479a2cebe5066e836a939412e32403c99029b92eff5461dead60009081527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c549091906108396012600a611395565b61084790633b9aca006113a4565b61085191906113e5565b61085b91906113e5565b905090565b600061067b82600019610614565b6000546001600160a01b031633146108985760405162461bcd60e51b81526004016105779061127b565b600955600855565b6000546001600160a01b031633146108ca5760405162461bcd60e51b81526004016105779061127b565b600080546001600160a01b0319169055565b600080546001600160a01b031633146109075760405162461bcd60e51b81526004016105779061127b565b8160000361097a576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610953573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097791906113fc565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af11580156109c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d29190611415565b60006107d2338484610a32565b60008184841115610a1c5760405162461bcd60e51b8152600401610577919061111b565b506000610a2984866113e5565b95945050505050565b600e5460009060ff1615610a5257610a4b848484610ca3565b90506107d2565b6001600160a01b03841660009081526006602052604090205460ff16158015610a9457506001600160a01b03831660009081526006602052604090205460ff16155b8015610ad257507f00000000000000000000000077a8f5acaeec1f8fb7b6de0207c1bdb5f7ccf9376001600160a01b0316836001600160a01b031614155b15610b4c576002546001600160a01b038416600090815260036020526040902054610afe908490611437565b1115610b4c5760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d6974207265616368656400000000000000006044820152606401610577565b610b54610d89565b15610b6157610b61610dfc565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260039091529190912054610bb39184906109f8565b6001600160a01b038516600090815260036020908152604080832093909355600590529081205460ff1680610c0057506001600160a01b03841660009081526005602052604090205460ff165b610c1457610c0f858486610f2a565b610c16565b825b6001600160a01b038516600090815260036020526040902054909150610c3c908261107a565b6001600160a01b0380861660008181526003602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c909085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600390915291822054610cf49184906109f8565b6001600160a01b038086166000908152600360205260408082209390935590851681522054610d23908361107a565b6001600160a01b0380851660008181526003602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d779086815260200190565b60405180910390a35060019392505050565b6000336001600160a01b037f00000000000000000000000077a8f5acaeec1f8fb7b6de0207c1bdb5f7ccf9371614801590610dc75750600e5460ff16155b8015610ddc5750600c54600160a01b900460ff165b801561085b575050600d5430600090815260036020526040902054101590565b600e805460ff191660011790553060009081526003602090815260408083205481516002808252606082018452919493909290830190803683370190505090503081600081518110610e5057610e5061144f565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281600181518110610ea457610ea461144f565b6001600160a01b039283166020918202929092010152600c5460405163791ac94760e01b815291169063791ac94790610eea908590600090869030904290600401611465565b600060405180830381600087803b158015610f0457600080fd5b505af1158015610f18573d6000803e3d6000fd5b5050600e805460ff1916905550505050565b6000821580610f395750600754155b15610f455750816107d2565b600a546001600160a01b037f00000000000000000000000077a8f5acaeec1f8fb7b6de0207c1bdb5f7ccf937811690841603610f845750600954610fc2565b7f00000000000000000000000077a8f5acaeec1f8fb7b6de0207c1bdb5f7ccf9376001600160a01b0316856001600160a01b031603610fc257506008545b60006127108260075487610fd691906113a4565b610fe091906113a4565b610fea91906113c3565b90508015611066573060009081526003602052604090205461100c908261107a565b30600081815260036020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061105d9085815260200190565b60405180910390a35b61107085826110d9565b9695505050505050565b6000806110878385611437565b9050838110156107d25760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610577565b60006107d283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506109f8565b600060208083528351808285015260005b818110156111485785810183015185820160400152820161112c565b8181111561115a576000604083870101525b50601f01601f1916929092016040019392505050565b60006020828403121561118257600080fd5b5035919050565b80356001600160a01b03811681146111a057600080fd5b919050565b600080604083850312156111b857600080fd5b6111c183611189565b946020939093013593505050565b6000806000606084860312156111e457600080fd5b6111ed84611189565b92506111fb60208501611189565b9150604084013590509250925092565b60006020828403121561121d57600080fd5b6107d282611189565b6000806040838503121561123957600080fd5b50508035926020909101359150565b6000806040838503121561125b57600080fd5b61126483611189565b915061127260208401611189565b90509250929050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156112ec5781600019048211156112d2576112d261129b565b808516156112df57918102915b93841c93908002906112b6565b509250929050565b6000826113035750600161067b565b816113105750600061067b565b816001811461132657600281146113305761134c565b600191505061067b565b60ff8411156113415761134161129b565b50506001821b61067b565b5060208310610133831016604e8410600b841016171561136f575081810a61067b565b61137983836112b1565b806000190482111561138d5761138d61129b565b029392505050565b60006107d260ff8416836112f4565b60008160001904831182151516156113be576113be61129b565b500290565b6000826113e057634e487b7160e01b600052601260045260246000fd5b500490565b6000828210156113f7576113f761129b565b500390565b60006020828403121561140e57600080fd5b5051919050565b60006020828403121561142757600080fd5b815180151581146107d257600080fd5b6000821982111561144a5761144a61129b565b500190565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156114b55784516001600160a01b031683529383019391830191600101611490565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212205814377d5bf0b1d49aaaa57e2e1e8a01c06dffb2b022e88cfb55b7a1d912ef3d64736f6c634300080f0033

Deployed Bytecode Sourcemap

2285:6714:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2540:40;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2540:40:0;;;;;;;;;;;;:::i;:::-;;;;;;;;5370:260;;;;;;;;;;-1:-1:-1;5370:260:0;;;;;:::i;:::-;;:::i;:::-;;4474:216;;;;;;;;;;-1:-1:-1;4474:216:0;;;;;:::i;:::-;;:::i;:::-;;;1403:14:1;;1396:22;1378:41;;1366:2;1351:18;4474:216:0;1238:187:1;2682:58:0;;;;;;;;;;;;;:::i;:::-;;;1576:25:1;;;1564:2;1549:18;2682:58:0;1430:177:1;7875:259:0;;;;;;;;;;-1:-1:-1;7875:259:0;;;;;:::i;:::-;;:::i;4992:370::-;;;;;;;;;;-1:-1:-1;4992:370:0;;;;;:::i;:::-;;:::i;8859:137::-;;;;;;;;;;;;;:::i;1605:103::-;;;;;;;;;;-1:-1:-1;1605:103:0;;;;;:::i;:::-;1660:4;1695:5;-1:-1:-1;;;;;1684:16:0;;;1695:5;;1684:16;;1605:103;2634:35;;;;;;;;;;;;2667:2;2634:35;;;;;2308:4:1;2296:17;;;2278:36;;2266:2;2251:18;2634:35:0;2136:184:1;2984:44:0;;;;;;;;;;-1:-1:-1;2984:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4698:122;;;;;;;;;;-1:-1:-1;4698:122:0;;;;;:::i;:::-;;:::i;3390:30::-;;;;;;;;;;-1:-1:-1;3390:30:0;;;;-1:-1:-1;;;3390:30:0;;;;;;7723:144;;;;;;;;;;-1:-1:-1;7723:144:0;;;;;:::i;:::-;;:::i;2862:45::-;;;;;;;;;;-1:-1:-1;2862:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;1716:85;;;;;;;;;;;;;:::i;8142:284::-;;;;;;;;;;-1:-1:-1;8142:284:0;;;;;:::i;:::-;;:::i;2803:50::-;;;;;;;;;;;;;;;;2749:47;;;;;;;;;;;;;;;;4249:78;;;;;;;;;;-1:-1:-1;4301:7:0;4319:5;-1:-1:-1;;;;;4319:5:0;4249:78;;;-1:-1:-1;;;;;2742:32:1;;;2724:51;;2712:2;2697:18;4249:78:0;2578:203:1;2587:40:0;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2587:40:0;;;;;3352:29;;;;;;;;;;;;;;;4828:156;;;;;;;;;;-1:-1:-1;4828:156:0;;;;;:::i;:::-;;:::i;3035:52::-;;;;;;;;;;-1:-1:-1;3035:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4333:133;;;;;;;;;;-1:-1:-1;4333:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;4435:19:0;;;4417:7;4435:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;4333:133;3321:24;;;;;;;;;;-1:-1:-1;3321:24:0;;;;-1:-1:-1;;;;;3321:24:0;;;5370:260;1660:4;1695:5;-1:-1:-1;;;;;1695:5:0;1564:10;1684:16;1548:38;;;;-1:-1:-1;;;1548:38:0;;;;;;;:::i;:::-;;;;;;;;;5506:2:::1;5479:23;:29;;5471:75;;;::::0;-1:-1:-1;;;5471:75:0;;3813:2:1;5471:75:0::1;::::0;::::1;3795:21:1::0;3852:2;3832:18;;;3825:30;3891:34;3871:18;;;3864:62;-1:-1:-1;;;3942:18:1;;;3935:32;3984:19;;5471:75:0::1;3611:398:1::0;5471:75:0::1;5618:4;5590:23:::0;2728:12:::1;2667:2;2728;:12;:::i;:::-;2720:20;::::0;:5:::1;:20;:::i;:::-;5576:37;;;;:::i;:::-;5575:47;;;;:::i;:::-;5557:15;:65:::0;-1:-1:-1;5370:260:0:o;4474:216::-;4578:10;4549:4;4566:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;4566:32:0;;;;;;;;;;:41;;;4623:37;4549:4;;4566:32;;4623:37;;;;4601:6;1576:25:1;;1564:2;1549:18;;1430:177;4623:37:0;;;;;;;;-1:-1:-1;4678:4:0;4474:216;;;;;:::o;2682:58::-;2728:12;2667:2;2728;:12;:::i;:::-;2720:20;;:5;:20;:::i;:::-;2682:58;:::o;7875:259::-;1660:4;1695:5;-1:-1:-1;;;;;1695:5:0;1564:10;1684:16;1548:38;;;;-1:-1:-1;;;1548:38:0;;;;;;;:::i;:::-;7978:21:::1;7958:17;8069:3;8036:28;8048:16:::0;7978:21;8036:28:::1;:::i;:::-;8034:38;;;;:::i;:::-;8083:43;::::0;8010:62;;-1:-1:-1;8091:10:0::1;::::0;8083:43;::::1;;;::::0;8010:62;;8083:43:::1;::::0;;;8010:62;8091:10;8083:43;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;7947:187;;7875:259:::0;:::o;4992:370::-;-1:-1:-1;;;;;5112:19:0;;5092:4;5112:19;;;:11;:19;;;;;;;;5132:10;5112:31;;;;;;;;-1:-1:-1;;5112:52:0;5109:186;;5214:69;;;;;;;;;;;-1:-1:-1;;;5214:69:0;;;;;;;;-1:-1:-1;;;;;5214:19:0;;-1:-1:-1;5214:19:0;;;:11;:19;;;;;5234:10;5214:31;;;;;;;;;;:69;;5250:6;;5214:35;:69::i;:::-;-1:-1:-1;;;;;5180:19:0;;;;;;:11;:19;;;;;;;;5200:10;5180:31;;;;;;;:103;5109:186;5314:40;5328:6;5336:9;5347:6;5314:13;:40::i;:::-;5307:47;;4992:370;;;;;;:::o;8859:137::-;8972:9;:15;;;;2416:42;8912:7;8954:15;;;;;8912:7;;8972:15;2728:12;2667:2;2728;:12;:::i;:::-;2720:20;;:5;:20;:::i;:::-;8940:29;;;;:::i;:::-;:47;;;;:::i;:::-;8932:56;;8859:137;:::o;4698:122::-;4753:4;4777:35;4785:7;-1:-1:-1;;4777:7:0;:35::i;7723:144::-;1660:4;1695:5;-1:-1:-1;;;;;1695:5:0;1564:10;1684:16;1548:38;;;;-1:-1:-1;;;1548:38:0;;;;;;;:::i;:::-;7806:14:::1;:22:::0;7839:13:::1;:20:::0;7723:144::o;1716:85::-;1660:4;1695:5;-1:-1:-1;;;;;1695:5:0;1564:10;1684:16;1548:38;;;;-1:-1:-1;;;1548:38:0;;;;;;;:::i;:::-;1791:1:::1;1775:18:::0;;-1:-1:-1;;;;;;1775:18:0::1;::::0;;1716:85::o;8142:284::-;8233:12;1695:5;;-1:-1:-1;;;;;1695:5:0;1564:10;1684:16;1548:38;;;;-1:-1:-1;;;1548:38:0;;;;;;;:::i;:::-;8261:6:::1;8271:1;8261:11:::0;8258:95:::1;;8297:44;::::0;-1:-1:-1;;;8297:44:0;;8335:4:::1;8297:44;::::0;::::1;2724:51:1::0;-1:-1:-1;;;;;8297:29:0;::::1;::::0;::::1;::::0;2697:18:1;;8297:44:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8288:53;;8258:95;8370:48;::::0;-1:-1:-1;;;8370:48:0;;8399:10:::1;8370:48;::::0;::::1;6417:51:1::0;6484:18;;;6477:34;;;-1:-1:-1;;;;;8370:28:0;::::1;::::0;::::1;::::0;6390:18:1;;8370:48:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;4828:156::-:0;4908:4;4932:44;4946:10;4958:9;4969:6;4932:13;:44::i;513:192::-;599:7;635:12;627:6;;;;619:29;;;;-1:-1:-1;;;619:29:0;;;;;;;;:::i;:::-;-1:-1:-1;659:9:0;671:5;675:1;671;:5;:::i;:::-;659:17;513:192;-1:-1:-1;;;;;513:192:0:o;5638:821::-;5750:6;;5730:4;;5750:6;;5747:63;;;5766:41;5781:6;5789:9;5800:6;5766:14;:41::i;:::-;5759:48;;;;5747:63;-1:-1:-1;;;;;5827:27:0;;;;;;:19;:27;;;;;;;;5826:28;:63;;;;-1:-1:-1;;;;;;5859:30:0;;;;;;:19;:30;;;;;;;;5858:31;5826:63;:84;;;;;5906:4;-1:-1:-1;;;;;5893:17:0;:9;-1:-1:-1;;;;;5893:17:0;;;5826:84;5822:203;;;5970:15;;-1:-1:-1;;;;;5936:20:0;;;;;;:9;:20;;;;;;:29;;5959:6;;5936:29;:::i;:::-;5935:50;;5927:86;;;;-1:-1:-1;;;5927:86:0;;7139:2:1;5927:86:0;;;7121:21:1;7178:2;7158:18;;;7151:30;7217:26;7197:18;;;7190:54;7261:18;;5927:86:0;6937:348:1;5927:86:0;6044:16;:14;:16::i;:::-;6041:35;;;6063:10;:8;:10::i;:::-;6108:53;;;;;;;;;;;-1:-1:-1;;;6108:53:0;;;;;;;;-1:-1:-1;;;;;6108:17:0;;-1:-1:-1;6108:17:0;;;:9;:17;;;;;;;;:53;;6130:6;;6108:21;:53::i;:::-;-1:-1:-1;;;;;6088:17:0;;;;;;:9;:17;;;;;;;;:73;;;;6200:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;6223:22:0;;;;;;:11;:22;;;;;;;;6200:45;6199:93;;6258:34;6266:6;6274;6282:9;6258:7;:34::i;:::-;6199:93;;;6249:6;6199:93;-1:-1:-1;;;;;6328:20:0;;;;;;:9;:20;;;;;;6174:118;;-1:-1:-1;6328:40:0;;6174:118;6328:24;:40::i;:::-;-1:-1:-1;;;;;6305:20:0;;;;;;;:9;:20;;;;;;;:63;;;;6386:43;;;;;;;;;;6414:14;1576:25:1;;1564:2;1549:18;;1430:177;6386:43:0;;;;;;;;-1:-1:-1;6447:4:0;;5638:821;-1:-1:-1;;;;5638:821:0:o;6471:330::-;6601:53;;;;;;;;;;;-1:-1:-1;;;6601:53:0;;;;;;;;-1:-1:-1;;;;;6601:17:0;;6564:4;6601:17;;;:9;:17;;;;;;;:53;;6623:6;;6601:21;:53::i;:::-;-1:-1:-1;;;;;6581:17:0;;;;;;;:9;:17;;;;;;:73;;;;6688:20;;;;;;;:32;;6713:6;6688:24;:32::i;:::-;-1:-1:-1;;;;;6665:20:0;;;;;;;:9;:20;;;;;;;:55;;;;6736:35;;;;;;;;;;6764:6;1576:25:1;;1564:2;1549:18;;1430:177;6736:35:0;;;;;;;;-1:-1:-1;6789:4:0;6471:330;;;;;:::o;7518:197::-;7567:4;7591:10;-1:-1:-1;;;;;7605:4:0;7591:18;;;;;:38;;-1:-1:-1;7623:6:0;;;;7622:7;7591:38;:62;;;;-1:-1:-1;7642:11:0;;-1:-1:-1;;;7642:11:0;;;;7591:62;:116;;;;-1:-1:-1;;7694:13:0;;7684:4;7666:24;;;;:9;:24;;;;;;:41;;;7518:197::o;8434:417::-;3515:6;:13;;-1:-1:-1;;3515:13:0;3524:4;3515:13;;;8524:4:::1;-1:-1:-1::0;8506:24:0;;;:9:::1;:24;::::0;;;;;;;;8567:16;;8581:1:::1;8567:16:::0;;;;;::::1;::::0;;8506:24;;-1:-1:-1;8567:16:0;;;;::::1;::::0;8506:24;8567:16:::1;::::0;::::1;;::::0;-1:-1:-1;8567:16:0::1;8543:40;;8612:4;8594;8599:1;8594:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;8594:23:0::1;;;-1:-1:-1::0;;;;;8594:23:0::1;;;::::0;::::1;8638:4;8628;8633:1;8628:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8628:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;8655:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;8655:188:0;;:6;::::1;::::0;:57:::1;::::0;:188:::1;::::0;8727:12;;8655:6:::1;::::0;8770:4;;8797::::1;::::0;8817:15:::1;::::0;8655:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;3533:6:0;:14;;-1:-1:-1;;3533:14:0;;;-1:-1:-1;;;;8434:417:0:o;6809:701::-;6895:7;6918:11;;;:28;;-1:-1:-1;6933:8:0;;:13;6918:28;6915:72;;;-1:-1:-1;6969:6:0;6962:13;;6915:72;7020:18;;-1:-1:-1;;;;;7067:4:0;7054:17;;;;;;7051:154;;-1:-1:-1;7101:14:0;;7051:154;;;7146:4;-1:-1:-1;;;;;7136:14:0;:6;-1:-1:-1;;;;;7136:14:0;;7133:72;;-1:-1:-1;7180:13:0;;7133:72;7217:17;7272:5;7258:10;7247:8;;7238:6;:17;;;;:::i;:::-;:30;;;;:::i;:::-;7237:40;;;;:::i;:::-;7217:60;-1:-1:-1;7293:13:0;;7290:172;;7367:4;7349:24;;;;:9;:24;;;;;;:39;;7378:9;7349:28;:39::i;:::-;7340:4;7322:24;;;;:9;:24;;;;;;;:66;;;;7408:42;;-1:-1:-1;;;;;7408:42:0;;;;;;;7440:9;1576:25:1;;1564:2;1549:18;;1430:177;7408:42:0;;;;;;;;7290:172;7481:21;:6;7492:9;7481:10;:21::i;:::-;7474:28;6809:701;-1:-1:-1;;;;;;6809:701:0:o;184:181::-;242:7;;274:5;278:1;274;:5;:::i;:::-;262:17;;303:1;298;:6;;290:46;;;;-1:-1:-1;;;290:46:0;;8741:2:1;290:46:0;;;8723:21:1;8780:2;8760:18;;;8753:30;8819:29;8799:18;;;8792:57;8866:18;;290:46:0;8539:351:1;371:136:0;429:7;456:43;460:1;463;456:43;;;;;;;;;;;;;;;;;:3;:43::i;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:180::-;675:6;728:2;716:9;707:7;703:23;699:32;696:52;;;744:1;741;734:12;696:52;-1:-1:-1;767:23:1;;616:180;-1:-1:-1;616:180:1:o;801:173::-;869:20;;-1:-1:-1;;;;;918:31:1;;908:42;;898:70;;964:1;961;954:12;898:70;801:173;;;:::o;979:254::-;1047:6;1055;1108:2;1096:9;1087:7;1083:23;1079:32;1076:52;;;1124:1;1121;1114:12;1076:52;1147:29;1166:9;1147:29;:::i;:::-;1137:39;1223:2;1208:18;;;;1195:32;;-1:-1:-1;;;979:254:1:o;1612:328::-;1689:6;1697;1705;1758:2;1746:9;1737:7;1733:23;1729:32;1726:52;;;1774:1;1771;1764:12;1726:52;1797:29;1816:9;1797:29;:::i;:::-;1787:39;;1845:38;1879:2;1868:9;1864:18;1845:38;:::i;:::-;1835:48;;1930:2;1919:9;1915:18;1902:32;1892:42;;1612:328;;;;;:::o;1945:186::-;2004:6;2057:2;2045:9;2036:7;2032:23;2028:32;2025:52;;;2073:1;2070;2063:12;2025:52;2096:29;2115:9;2096:29;:::i;2325:248::-;2393:6;2401;2454:2;2442:9;2433:7;2429:23;2425:32;2422:52;;;2470:1;2467;2460:12;2422:52;-1:-1:-1;;2493:23:1;;;2563:2;2548:18;;;2535:32;;-1:-1:-1;2325:248:1:o;2786:260::-;2854:6;2862;2915:2;2903:9;2894:7;2890:23;2886:32;2883:52;;;2931:1;2928;2921:12;2883:52;2954:29;2973:9;2954:29;:::i;:::-;2944:39;;3002:38;3036:2;3025:9;3021:18;3002:38;:::i;:::-;2992:48;;2786:260;;;;;:::o;3277:329::-;3479:2;3461:21;;;3518:1;3498:18;;;3491:29;-1:-1:-1;;;3551:2:1;3536:18;;3529:36;3597:2;3582:18;;3277:329::o;4014:127::-;4075:10;4070:3;4066:20;4063:1;4056:31;4106:4;4103:1;4096:15;4130:4;4127:1;4120:15;4146:422;4235:1;4278:5;4235:1;4292:270;4313:7;4303:8;4300:21;4292:270;;;4372:4;4368:1;4364:6;4360:17;4354:4;4351:27;4348:53;;;4381:18;;:::i;:::-;4431:7;4421:8;4417:22;4414:55;;;4451:16;;;;4414:55;4530:22;;;;4490:15;;;;4292:270;;;4296:3;4146:422;;;;;:::o;4573:806::-;4622:5;4652:8;4642:80;;-1:-1:-1;4693:1:1;4707:5;;4642:80;4741:4;4731:76;;-1:-1:-1;4778:1:1;4792:5;;4731:76;4823:4;4841:1;4836:59;;;;4909:1;4904:130;;;;4816:218;;4836:59;4866:1;4857:10;;4880:5;;;4904:130;4941:3;4931:8;4928:17;4925:43;;;4948:18;;:::i;:::-;-1:-1:-1;;5004:1:1;4990:16;;5019:5;;4816:218;;5118:2;5108:8;5105:16;5099:3;5093:4;5090:13;5086:36;5080:2;5070:8;5067:16;5062:2;5056:4;5053:12;5049:35;5046:77;5043:159;;;-1:-1:-1;5155:19:1;;;5187:5;;5043:159;5234:34;5259:8;5253:4;5234:34;:::i;:::-;5304:6;5300:1;5296:6;5292:19;5283:7;5280:32;5277:58;;;5315:18;;:::i;:::-;5353:20;;4573:806;-1:-1:-1;;;4573:806:1:o;5384:140::-;5442:5;5471:47;5512:4;5502:8;5498:19;5492:4;5471:47;:::i;5529:168::-;5569:7;5635:1;5631;5627:6;5623:14;5620:1;5617:21;5612:1;5605:9;5598:17;5594:45;5591:71;;;5642:18;;:::i;:::-;-1:-1:-1;5682:9:1;;5529:168::o;5702:217::-;5742:1;5768;5758:132;;5812:10;5807:3;5803:20;5800:1;5793:31;5847:4;5844:1;5837:15;5875:4;5872:1;5865:15;5758:132;-1:-1:-1;5904:9:1;;5702:217::o;5924:125::-;5964:4;5992:1;5989;5986:8;5983:34;;;5997:18;;:::i;:::-;-1:-1:-1;6034:9:1;;5924:125::o;6054:184::-;6124:6;6177:2;6165:9;6156:7;6152:23;6148:32;6145:52;;;6193:1;6190;6183:12;6145:52;-1:-1:-1;6216:16:1;;6054:184;-1:-1:-1;6054:184:1:o;6522:277::-;6589:6;6642:2;6630:9;6621:7;6617:23;6613:32;6610:52;;;6658:1;6655;6648:12;6610:52;6690:9;6684:16;6743:5;6736:13;6729:21;6722:5;6719:32;6709:60;;6765:1;6762;6755:12;6804:128;6844:3;6875:1;6871:6;6868:1;6865:13;6862:39;;;6881:18;;:::i;:::-;-1:-1:-1;6917:9:1;;6804:128::o;7422:127::-;7483:10;7478:3;7474:20;7471:1;7464:31;7514:4;7511:1;7504:15;7538:4;7535:1;7528:15;7554:980;7816:4;7864:3;7853:9;7849:19;7895:6;7884:9;7877:25;7921:2;7959:6;7954:2;7943:9;7939:18;7932:34;8002:3;7997:2;7986:9;7982:18;7975:31;8026:6;8061;8055:13;8092:6;8084;8077:22;8130:3;8119:9;8115:19;8108:26;;8169:2;8161:6;8157:15;8143:29;;8190:1;8200:195;8214:6;8211:1;8208:13;8200:195;;;8279:13;;-1:-1:-1;;;;;8275:39:1;8263:52;;8370:15;;;;8335:12;;;;8311:1;8229:9;8200:195;;;-1:-1:-1;;;;;;;8451:32:1;;;;8446:2;8431:18;;8424:60;-1:-1:-1;;;8515:3:1;8500:19;8493:35;8412:3;7554:980;-1:-1:-1;;;7554:980:1:o

Swarm Source

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