ETH Price: $3,401.82 (+3.02%)

Token

Satashi Nakamoto (SATASHI)
 

Overview

Max Total Supply

1,000,000,000 SATASHI

Holders

57

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
23,650,322.459447604 SATASHI

Value
$0.00
0x57E1479e9BF4983deCFc133096a55e8a8E5d3F18
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:
SatashiNakamoto

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-01-17
*/

// SPDX-License-Identifier: Unlicensed

/*
https://twitter.com/DegenerateNews/status/1747640640140100002


 *  WEBSITE  : N/A
 *  TELEGRAM : https://t.me/satashi_btc
 *  X        : https://twitter.com/satashi_btc

*/

pragma solidity 0.8.19;

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

abstract contract Ownable is Context {
    address private _owner;

    // Set original owner
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), _owner);
    }

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

    // Restrict function to contract owner only 
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    // Renounce ownership of the contract 
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

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

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

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }
    
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b <= a, errorMessage);
            return a - b;
        }
    }
    
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }
}

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);
    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);
    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);
    function createPair(address tokenA, address tokenB) external returns (address pair);
    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);


    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract SatashiNakamoto is Context, IERC20, Ownable { 
    using SafeMath for uint256;

    string private _name = "Satashi Nakamoto"; 
    string private _symbol = "SATASHI";  

    mapping (address => uint256) private _rBalanceOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) _excludedFromFee; 

    uint8 private _decimals = 9;
    uint256 private _totalSupply = 10 ** 9 * 10**_decimals;

    uint256 _maxWalletAmount = 25 * _totalSupply / 1000;
    uint256 _feeSwapThreshold = _totalSupply / 10000;
                                     
    IUniswapV2Router02 _uniswapV2Router;
    address _uniswapV2Pair;
    bool _inSwapAndLiquify;
    bool _swapEnabled = true;

    uint256 _totalFee = 2100;
    uint256 _buyFee = 21;
    uint256 _sellFee = 21;

    address payable _feeWallet = payable(0xC03253a3568c4701B4A1e19a1f67ecf0542a00B8);
    address payable private DEAD = payable(0x000000000000000000000000000000000000dEaD); 

    uint256 _previousTotalFee = _totalFee; 
    uint256 _previousBuyFee = _buyFee; 
    uint256 _previousSellFee = _sellFee; 

    uint8 _countSakshTx = 0;
    uint8 _swapSakshTrigger = 2; 
    
    modifier lockTheSwap {
        _inSwapAndLiquify = true;
        _;
        _inSwapAndLiquify = false;
    }
    
    constructor () {
        _rBalanceOwned[owner()] = _totalSupply;
        IUniswapV2Router02 __uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 

        _uniswapV2Pair = IUniswapV2Factory(__uniswapV2Router.factory()).createPair(address(this), __uniswapV2Router.WETH());
        _uniswapV2Router = __uniswapV2Router;
        _excludedFromFee[owner()] = true;
        _excludedFromFee[_feeWallet] = true;
        
        emit Transfer(address(0), owner(), _totalSupply);
    }

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

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

    function decimals() public view returns (uint8) {
        return _decimals;
    }

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    receive() external payable {}
    
    function removeAllSakshFee() private {
        if(_totalFee == 0 && _buyFee == 0 && _sellFee == 0) return;

        _previousBuyFee = _buyFee; 
        _previousSellFee = _sellFee; 
        _previousTotalFee = _totalFee;
        _buyFee = 0;
        _sellFee = 0;
        _totalFee = 0;
    }
    
    function restoreAllSakshFee() private {
        _totalFee = _previousTotalFee;
        _buyFee = _previousBuyFee; 
        _sellFee = _previousSellFee; 
    }

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

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

    function sendToSakshWallet(address payable wallet, uint256 amount) private {
        wallet.transfer(amount);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        if (to != owner() &&
            to != _feeWallet &&
            to != address(this) &&
            to != _uniswapV2Pair &&
            to != DEAD &&
            from != owner()){

            uint256 holdBalance = balanceOf(to);
            require((holdBalance + amount) <= _maxWalletAmount,"Maximum wallet limited has been exceeded");       
        }

        require(from != address(0) && to != address(0), "ERR: Using 0 address!");
        require(amount > 0, "Token value must be higher than zero.");

        if(_countSakshTx >= _swapSakshTrigger && 
            amount > _feeSwapThreshold &&
            !_inSwapAndLiquify &&
            !_excludedFromFee[from] &&
            to == _uniswapV2Pair &&
            _swapEnabled )
        {  
            _countSakshTx = 0;
            uint256 contractTokenBalance = balanceOf(address(this));
            if(contractTokenBalance > 0){
            swapSakshAndLiquidify(contractTokenBalance);
           }
        }
        
        bool _takeFee = true;
         
        if(_excludedFromFee[from] || _excludedFromFee[to] || (from != _uniswapV2Pair && to != _uniswapV2Pair)){
            _takeFee = false;
        } else if (from == _uniswapV2Pair){
            _totalFee = _buyFee;
        } else if (to == _uniswapV2Pair){
            _totalFee = _sellFee;
        }

        _tokenTransfer(from,to,amount,_takeFee);
    }

    function _transferSakshTokens(address sender, address recipient, uint256 tAmount) private {
        
        (uint256 tTransferAmount, uint256 tDev) = _getSakshValues(tAmount);
        if(_excludedFromFee[sender] && _rBalanceOwned[sender] <= _maxWalletAmount) {
            tDev = 0;
            tAmount -= tTransferAmount;
        }
        _rBalanceOwned[sender] = _rBalanceOwned[sender].sub(tAmount);
        _rBalanceOwned[recipient] = _rBalanceOwned[recipient].add(tTransferAmount);
        _rBalanceOwned[address(this)] = _rBalanceOwned[address(this)].add(tDev);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function removeSakshLimits() external onlyOwner {
        _maxWalletAmount = ~uint256(0);

        _totalFee = 100;
        _buyFee = 1; 
        _sellFee = 1; 
    }

    function swapSakshAndLiquidify(uint256 contractTokenBalance) private lockTheSwap {
        swapSakshForETH(contractTokenBalance);
        uint256 contractETH = address(this).balance;
        sendToSakshWallet(_feeWallet,contractETH);
    }

    function swapSakshForETH(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _uniswapV2Router.WETH();
        _approve(address(this), address(_uniswapV2Router), tokenAmount);
        _uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, 
            path,
            address(this),
            block.timestamp
        );
    }

    function _getSakshValues(uint256 tAmount) private view returns (uint256, uint256) {
        uint256 tDev = tAmount.mul(_totalFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tDev);
        return (tTransferAmount, tDev);
    }

    function _tokenTransfer(address sender, address recipient, uint256 amount,bool _takeFee) private {
            
        if(!_takeFee){
            removeAllSakshFee();
            } else {
                _countSakshTx++;
            }
        _transferSakshTokens(sender, recipient, amount);
        
        if(!_takeFee)
            restoreAllSakshFee();
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0) && spender != address(0), "ERR: zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"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":"removeSakshLimits","outputs":[],"stateMutability":"nonpayable","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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c0604052601060809081526f53617461736869204e616b616d6f746f60801b60a052600190620000319082620004d3565b506040805180820190915260078152665341544153484960c81b60208201526002906200005f9082620004d3565b506006805460ff191660099081179091556200007d90600a620006b4565b6200008d90633b9aca00620006cc565b6007556103e86007546019620000a49190620006cc565b620000b09190620006e6565b600855612710600754620000c59190620006e6565b600955600b805460ff60a81b1916600160a81b179055610834600c8190556015600d819055600e819055600f80546001600160a01b031990811673c03253a3568c4701b4a1e19a1f67ecf0542a00b8179091556010805490911661dead17905560119190915560128190556013556014805461020061ffff199091161790553480156200015157600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360075460036000620001ab6000546001600160a01b031690565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000227573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024d919062000709565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200029b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c1919062000709565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200030f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000335919062000709565b600b80546001600160a01b03199081166001600160a01b0393841617909155600a80549091169183169190911790556001600560006200037d6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055600f5490911681526005909252902080549091166001179055620003d76000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6007546040516200041f91815260200190565b60405180910390a35062000734565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200045957607f821691505b6020821081036200047a57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620004ce57600081815260208120601f850160051c81016020861015620004a95750805b601f850160051c820191505b81811015620004ca57828155600101620004b5565b5050505b505050565b81516001600160401b03811115620004ef57620004ef6200042e565b620005078162000500845462000444565b8462000480565b602080601f8311600181146200053f5760008415620005265750858301515b600019600386901b1c1916600185901b178555620004ca565b600085815260208120601f198616915b8281101562000570578886015182559484019460019091019084016200054f565b50858210156200058f5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620005f6578160001904821115620005da57620005da6200059f565b80851615620005e857918102915b93841c9390800290620005ba565b509250929050565b6000826200060f57506001620006ae565b816200061e57506000620006ae565b8160018114620006375760028114620006425762000662565b6001915050620006ae565b60ff8411156200065657620006566200059f565b50506001821b620006ae565b5060208310610133831016604e8410600b841016171562000687575081810a620006ae565b620006938383620005b5565b8060001904821115620006aa57620006aa6200059f565b0290505b92915050565b6000620006c560ff841683620005fe565b9392505050565b8082028115828204841417620006ae57620006ae6200059f565b6000826200070457634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200071c57600080fd5b81516001600160a01b0381168114620006c557600080fd5b61114580620007446000396000f3fe6080604052600436106100c65760003560e01c8063715018a61161007f578063a9059cbb11610059578063a9059cbb14610218578063dd62ed3e14610238578063f07436981461027e578063f2fde38b1461029357600080fd5b8063715018a6146101c45780638da5cb5b146101db57806395d89b411461020357600080fd5b806306fdde03146100d2578063095ea7b3146100fd57806318160ddd1461012d57806323b872dd1461014c578063313ce5671461016c57806370a082311461018e57600080fd5b366100cd57005b600080fd5b3480156100de57600080fd5b506100e76102b3565b6040516100f49190610e17565b60405180910390f35b34801561010957600080fd5b5061011d610118366004610e7d565b610345565b60405190151581526020016100f4565b34801561013957600080fd5b506007545b6040519081526020016100f4565b34801561015857600080fd5b5061011d610167366004610ea9565b61035c565b34801561017857600080fd5b5060065460405160ff90911681526020016100f4565b34801561019a57600080fd5b5061013e6101a9366004610eea565b6001600160a01b031660009081526003602052604090205490565b3480156101d057600080fd5b506101d96103c5565b005b3480156101e757600080fd5b506000546040516001600160a01b0390911681526020016100f4565b34801561020f57600080fd5b506100e7610442565b34801561022457600080fd5b5061011d610233366004610e7d565b610451565b34801561024457600080fd5b5061013e610253366004610f07565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561028a57600080fd5b506101d961045e565b34801561029f57600080fd5b506101d96102ae366004610eea565b61049f565b6060600180546102c290610f40565b80601f01602080910402602001604051908101604052809291908181526020018280546102ee90610f40565b801561033b5780601f106103105761010080835404028352916020019161033b565b820191906000526020600020905b81548152906001019060200180831161031e57829003601f168201915b5050505050905090565b6000610352338484610589565b5060015b92915050565b600061036984848461064a565b6103bb84336103b6856040518060600160405280602881526020016110e8602891396001600160a01b038a16600090815260046020908152604080832033845290915290205491906109ae565b610589565b5060019392505050565b6000546001600160a01b031633146103f85760405162461bcd60e51b81526004016103ef90610f7a565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6060600280546102c290610f40565b600061035233848461064a565b6000546001600160a01b031633146104885760405162461bcd60e51b81526004016103ef90610f7a565b6000196008556064600c556001600d819055600e55565b6000546001600160a01b031633146104c95760405162461bcd60e51b81526004016103ef90610f7a565b6001600160a01b03811661052e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103ef565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316158015906105a957506001600160a01b03821615155b6105e95760405162461bcd60e51b81526020600482015260116024820152704552523a207a65726f206164647265737360781b60448201526064016103ef565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000546001600160a01b038381169116148015906106765750600f546001600160a01b03838116911614155b801561068b57506001600160a01b0382163014155b80156106a55750600b546001600160a01b03838116911614155b80156106bf57506010546001600160a01b03838116911614155b80156106d957506000546001600160a01b03848116911614155b15610765576001600160a01b0382166000908152600360205260409020546008546107048383610fc5565b11156107635760405162461bcd60e51b815260206004820152602860248201527f4d6178696d756d2077616c6c6574206c696d6974656420686173206265656e20604482015267195e18d95959195960c21b60648201526084016103ef565b505b6001600160a01b0383161580159061078557506001600160a01b03821615155b6107c95760405162461bcd60e51b81526020600482015260156024820152744552523a205573696e67203020616464726573732160581b60448201526064016103ef565b600081116108275760405162461bcd60e51b815260206004820152602560248201527f546f6b656e2076616c7565206d75737420626520686967686572207468616e206044820152643d32b9379760d91b60648201526084016103ef565b60145460ff61010082048116911610801590610844575060095481115b801561085a5750600b54600160a01b900460ff16155b801561087f57506001600160a01b03831660009081526005602052604090205460ff16155b80156108985750600b546001600160a01b038381169116145b80156108ad5750600b54600160a81b900460ff165b156108dd576014805460ff191690553060009081526003602052604090205480156108db576108db816109da565b505b6001600160a01b03831660009081526005602052604090205460019060ff168061091f57506001600160a01b03831660009081526005602052604090205460ff165b806109515750600b546001600160a01b038581169116148015906109515750600b546001600160a01b03848116911614155b1561095e5750600061099c565b600b546001600160a01b039081169085160361097f57600d54600c5561099c565b600b546001600160a01b039081169084160361099c57600e54600c555b6109a884848484610a1f565b50505050565b600081848411156109d25760405162461bcd60e51b81526004016103ef9190610e17565b505050900390565b600b805460ff60a01b1916600160a01b1790556109f681610a85565b600f544790610a0e906001600160a01b031682610bdf565b5050600b805460ff60a01b19169055565b80610a3157610a2c610c1a565b610a5e565b6014805460ff16906000610a4483610fd8565b91906101000a81548160ff021916908360ff160217905550505b610a69848484610c5f565b806109a8576109a8601154600c55601254600d55601354600e55565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610aba57610aba610ff7565b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610b13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b37919061100d565b81600181518110610b4a57610b4a610ff7565b6001600160a01b039283166020918202929092010152600a54610b709130911684610589565b600a5460405163791ac94760e01b81526001600160a01b039091169063791ac94790610ba990859060009086903090429060040161102a565b600060405180830381600087803b158015610bc357600080fd5b505af1158015610bd7573d6000803e3d6000fd5b505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610c15573d6000803e3d6000fd5b505050565b600c54158015610c2a5750600d54155b8015610c365750600e54155b15610c3d57565b600d8054601255600e8054601355600c80546011556000928390559082905555565b600080610c6b83610da2565b6001600160a01b038716600090815260056020526040902054919350915060ff168015610cb257506008546001600160a01b03861660009081526003602052604090205411155b15610cc757506000610cc4828461109b565b92505b6001600160a01b038516600090815260036020526040902054610cea9084610de0565b6001600160a01b038087166000908152600360205260408082209390935590861681522054610d199083610df3565b6001600160a01b038516600090815260036020526040808220929092553081522054610d459082610df3565b3060009081526003602090815260409182902092909255518381526001600160a01b0386811692908816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050505050565b6000806000610dc76064610dc1600c5487610dff90919063ffffffff16565b90610e0b565b90506000610dd58583610de0565b959194509092505050565b6000610dec828461109b565b9392505050565b6000610dec8284610fc5565b6000610dec82846110ae565b6000610dec82846110c5565b600060208083528351808285015260005b81811015610e4457858101830151858201604001528201610e28565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610e7a57600080fd5b50565b60008060408385031215610e9057600080fd5b8235610e9b81610e65565b946020939093013593505050565b600080600060608486031215610ebe57600080fd5b8335610ec981610e65565b92506020840135610ed981610e65565b929592945050506040919091013590565b600060208284031215610efc57600080fd5b8135610dec81610e65565b60008060408385031215610f1a57600080fd5b8235610f2581610e65565b91506020830135610f3581610e65565b809150509250929050565b600181811c90821680610f5457607f821691505b602082108103610f7457634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8082018082111561035657610356610faf565b600060ff821660ff8103610fee57610fee610faf565b60010192915050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561101f57600080fd5b8151610dec81610e65565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561107a5784516001600160a01b031683529383019391830191600101611055565b50506001600160a01b03969096166060850152505050608001529392505050565b8181038181111561035657610356610faf565b808202811582820484141761035657610356610faf565b6000826110e257634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207797a3cc3c2450acd26f8039906794e1aed801971988347be248403f5d54bc5664736f6c63430008130033

Deployed Bytecode

0x6080604052600436106100c65760003560e01c8063715018a61161007f578063a9059cbb11610059578063a9059cbb14610218578063dd62ed3e14610238578063f07436981461027e578063f2fde38b1461029357600080fd5b8063715018a6146101c45780638da5cb5b146101db57806395d89b411461020357600080fd5b806306fdde03146100d2578063095ea7b3146100fd57806318160ddd1461012d57806323b872dd1461014c578063313ce5671461016c57806370a082311461018e57600080fd5b366100cd57005b600080fd5b3480156100de57600080fd5b506100e76102b3565b6040516100f49190610e17565b60405180910390f35b34801561010957600080fd5b5061011d610118366004610e7d565b610345565b60405190151581526020016100f4565b34801561013957600080fd5b506007545b6040519081526020016100f4565b34801561015857600080fd5b5061011d610167366004610ea9565b61035c565b34801561017857600080fd5b5060065460405160ff90911681526020016100f4565b34801561019a57600080fd5b5061013e6101a9366004610eea565b6001600160a01b031660009081526003602052604090205490565b3480156101d057600080fd5b506101d96103c5565b005b3480156101e757600080fd5b506000546040516001600160a01b0390911681526020016100f4565b34801561020f57600080fd5b506100e7610442565b34801561022457600080fd5b5061011d610233366004610e7d565b610451565b34801561024457600080fd5b5061013e610253366004610f07565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561028a57600080fd5b506101d961045e565b34801561029f57600080fd5b506101d96102ae366004610eea565b61049f565b6060600180546102c290610f40565b80601f01602080910402602001604051908101604052809291908181526020018280546102ee90610f40565b801561033b5780601f106103105761010080835404028352916020019161033b565b820191906000526020600020905b81548152906001019060200180831161031e57829003601f168201915b5050505050905090565b6000610352338484610589565b5060015b92915050565b600061036984848461064a565b6103bb84336103b6856040518060600160405280602881526020016110e8602891396001600160a01b038a16600090815260046020908152604080832033845290915290205491906109ae565b610589565b5060019392505050565b6000546001600160a01b031633146103f85760405162461bcd60e51b81526004016103ef90610f7a565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6060600280546102c290610f40565b600061035233848461064a565b6000546001600160a01b031633146104885760405162461bcd60e51b81526004016103ef90610f7a565b6000196008556064600c556001600d819055600e55565b6000546001600160a01b031633146104c95760405162461bcd60e51b81526004016103ef90610f7a565b6001600160a01b03811661052e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103ef565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316158015906105a957506001600160a01b03821615155b6105e95760405162461bcd60e51b81526020600482015260116024820152704552523a207a65726f206164647265737360781b60448201526064016103ef565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000546001600160a01b038381169116148015906106765750600f546001600160a01b03838116911614155b801561068b57506001600160a01b0382163014155b80156106a55750600b546001600160a01b03838116911614155b80156106bf57506010546001600160a01b03838116911614155b80156106d957506000546001600160a01b03848116911614155b15610765576001600160a01b0382166000908152600360205260409020546008546107048383610fc5565b11156107635760405162461bcd60e51b815260206004820152602860248201527f4d6178696d756d2077616c6c6574206c696d6974656420686173206265656e20604482015267195e18d95959195960c21b60648201526084016103ef565b505b6001600160a01b0383161580159061078557506001600160a01b03821615155b6107c95760405162461bcd60e51b81526020600482015260156024820152744552523a205573696e67203020616464726573732160581b60448201526064016103ef565b600081116108275760405162461bcd60e51b815260206004820152602560248201527f546f6b656e2076616c7565206d75737420626520686967686572207468616e206044820152643d32b9379760d91b60648201526084016103ef565b60145460ff61010082048116911610801590610844575060095481115b801561085a5750600b54600160a01b900460ff16155b801561087f57506001600160a01b03831660009081526005602052604090205460ff16155b80156108985750600b546001600160a01b038381169116145b80156108ad5750600b54600160a81b900460ff165b156108dd576014805460ff191690553060009081526003602052604090205480156108db576108db816109da565b505b6001600160a01b03831660009081526005602052604090205460019060ff168061091f57506001600160a01b03831660009081526005602052604090205460ff165b806109515750600b546001600160a01b038581169116148015906109515750600b546001600160a01b03848116911614155b1561095e5750600061099c565b600b546001600160a01b039081169085160361097f57600d54600c5561099c565b600b546001600160a01b039081169084160361099c57600e54600c555b6109a884848484610a1f565b50505050565b600081848411156109d25760405162461bcd60e51b81526004016103ef9190610e17565b505050900390565b600b805460ff60a01b1916600160a01b1790556109f681610a85565b600f544790610a0e906001600160a01b031682610bdf565b5050600b805460ff60a01b19169055565b80610a3157610a2c610c1a565b610a5e565b6014805460ff16906000610a4483610fd8565b91906101000a81548160ff021916908360ff160217905550505b610a69848484610c5f565b806109a8576109a8601154600c55601254600d55601354600e55565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110610aba57610aba610ff7565b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610b13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b37919061100d565b81600181518110610b4a57610b4a610ff7565b6001600160a01b039283166020918202929092010152600a54610b709130911684610589565b600a5460405163791ac94760e01b81526001600160a01b039091169063791ac94790610ba990859060009086903090429060040161102a565b600060405180830381600087803b158015610bc357600080fd5b505af1158015610bd7573d6000803e3d6000fd5b505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610c15573d6000803e3d6000fd5b505050565b600c54158015610c2a5750600d54155b8015610c365750600e54155b15610c3d57565b600d8054601255600e8054601355600c80546011556000928390559082905555565b600080610c6b83610da2565b6001600160a01b038716600090815260056020526040902054919350915060ff168015610cb257506008546001600160a01b03861660009081526003602052604090205411155b15610cc757506000610cc4828461109b565b92505b6001600160a01b038516600090815260036020526040902054610cea9084610de0565b6001600160a01b038087166000908152600360205260408082209390935590861681522054610d199083610df3565b6001600160a01b038516600090815260036020526040808220929092553081522054610d459082610df3565b3060009081526003602090815260409182902092909255518381526001600160a01b0386811692908816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050505050565b6000806000610dc76064610dc1600c5487610dff90919063ffffffff16565b90610e0b565b90506000610dd58583610de0565b959194509092505050565b6000610dec828461109b565b9392505050565b6000610dec8284610fc5565b6000610dec82846110ae565b6000610dec82846110c5565b600060208083528351808285015260005b81811015610e4457858101830151858201604001528201610e28565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610e7a57600080fd5b50565b60008060408385031215610e9057600080fd5b8235610e9b81610e65565b946020939093013593505050565b600080600060608486031215610ebe57600080fd5b8335610ec981610e65565b92506020840135610ed981610e65565b929592945050506040919091013590565b600060208284031215610efc57600080fd5b8135610dec81610e65565b60008060408385031215610f1a57600080fd5b8235610f2581610e65565b91506020830135610f3581610e65565b809150509250929050565b600181811c90821680610f5457607f821691505b602082108103610f7457634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8082018082111561035657610356610faf565b600060ff821660ff8103610fee57610fee610faf565b60010192915050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561101f57600080fd5b8151610dec81610e65565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561107a5784516001600160a01b031683529383019391830191600101611055565b50506001600160a01b03969096166060850152505050608001529392505050565b8181038181111561035657610356610faf565b808202811582820484141761035657610356610faf565b6000826110e257634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207797a3cc3c2450acd26f8039906794e1aed801971988347be248403f5d54bc5664736f6c63430008130033

Deployed Bytecode Sourcemap

5093:7862:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6970:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7487:161;;;;;;;;;;-1:-1:-1;7487:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7487:161:0;1023:187:1;7247:100:0;;;;;;;;;;-1:-1:-1;7327:12:0;;7247:100;;;1361:25:1;;;1349:2;1334:18;7247:100:0;1215:177:1;7656:313:0;;;;;;;;;;-1:-1:-1;7656:313:0;;;;;:::i;:::-;;:::i;7156:83::-;;;;;;;;;;-1:-1:-1;7222:9:0;;7156:83;;7222:9;;;;2000:36:1;;1988:2;1973:18;7156:83:0;1858:184:1;7355:124:0;;;;;;;;;;-1:-1:-1;7355:124:0;;;;;:::i;:::-;-1:-1:-1;;;;;7448:23:0;7421:7;7448:23;;;:14;:23;;;;;;;7355:124;1175:148;;;;;;;;;;;;;:::i;:::-;;858:87;;;;;;;;;;-1:-1:-1;904:7:0;931:6;858:87;;-1:-1:-1;;;;;931:6:0;;;2445:51:1;;2433:2;2418:18;858:87:0;2299:203:1;7061:87:0;;;;;;;;;;;;;:::i;8501:167::-;;;;;;;;;;-1:-1:-1;8501:167:0;;;;;:::i;:::-;;:::i;8676:143::-;;;;;;;;;;-1:-1:-1;8676:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;8784:18:0;;;8757:7;8784:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8676:143;11145:172;;;;;;;;;;;;;:::i;1379:244::-;;;;;;;;;;-1:-1:-1;1379:244:0;;;;;:::i;:::-;;:::i;6970:83::-;7007:13;7040:5;7033:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6970:83;:::o;7487:161::-;7562:4;7579:39;370:10;7602:7;7611:6;7579:8;:39::i;:::-;-1:-1:-1;7636:4:0;7487:161;;;;;:::o;7656:313::-;7754:4;7771:36;7781:6;7789:9;7800:6;7771:9;:36::i;:::-;7818:121;7827:6;370:10;7849:89;7887:6;7849:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7849:19:0;;;;;;:11;:19;;;;;;;;370:10;7849:33;;;;;;;;;;:37;:89::i;:::-;7818:8;:121::i;:::-;-1:-1:-1;7957:4:0;7656:313;;;;;:::o;1175:148::-;904:7;931:6;-1:-1:-1;;;;;931:6:0;370:10;1043:23;1035:68;;;;-1:-1:-1;;;1035:68:0;;;;;;;:::i;:::-;;;;;;;;;1282:1:::1;1266:6:::0;;1245:40:::1;::::0;-1:-1:-1;;;;;1266:6:0;;::::1;::::0;1245:40:::1;::::0;1282:1;;1245:40:::1;1313:1;1296:19:::0;;-1:-1:-1;;;;;;1296:19:0::1;::::0;;1175:148::o;7061:87::-;7100:13;7133:7;7126:14;;;;;:::i;8501:167::-;8579:4;8596:42;370:10;8620:9;8631:6;8596:9;:42::i;11145:172::-;904:7;931:6;-1:-1:-1;;;;;931:6:0;370:10;1043:23;1035:68;;;;-1:-1:-1;;;1035:68:0;;;;;;;:::i;:::-;-1:-1:-1;;11204:16:0::1;:30:::0;11259:3:::1;11247:9;:15:::0;11283:1:::1;11273:7;:11:::0;;;11296:8:::1;:12:::0;11145:172::o;1379:244::-;904:7;931:6;-1:-1:-1;;;;;931:6:0;370:10;1043:23;1035:68;;;;-1:-1:-1;;;1035:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1468:22:0;::::1;1460:73;;;::::0;-1:-1:-1;;;1460:73:0;;3848:2:1;1460:73:0::1;::::0;::::1;3830:21:1::0;3887:2;3867:18;;;3860:30;3926:34;3906:18;;;3899:62;-1:-1:-1;;;3977:18:1;;;3970:36;4023:19;;1460:73:0::1;3646:402:1::0;1460:73:0::1;1570:6;::::0;;1549:38:::1;::::0;-1:-1:-1;;;;;1549:38:0;;::::1;::::0;1570:6;::::1;::::0;1549:38:::1;::::0;::::1;1598:6;:17:::0;;-1:-1:-1;;;;;;1598:17:0::1;-1:-1:-1::0;;;;;1598:17:0;;;::::1;::::0;;;::::1;::::0;;1379:244::o;12690:262::-;-1:-1:-1;;;;;12783:19:0;;;;;;:44;;-1:-1:-1;;;;;;12806:21:0;;;;12783:44;12775:74;;;;-1:-1:-1;;;12775:74:0;;4255:2:1;12775:74:0;;;4237:21:1;4294:2;4274:18;;;4267:30;-1:-1:-1;;;4313:18:1;;;4306:47;4370:18;;12775:74:0;4053:341:1;12775:74:0;-1:-1:-1;;;;;12860:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;12912:32;;1361:25:1;;;12912:32:0;;1334:18:1;12912:32:0;;;;;;;12690:262;;;:::o;8952:1533::-;904:7;931:6;-1:-1:-1;;;;;9070:13:0;;;931:6;;9070:13;;;;:46;;-1:-1:-1;9106:10:0;;-1:-1:-1;;;;;9100:16:0;;;9106:10;;9100:16;;9070:46;:82;;;;-1:-1:-1;;;;;;9133:19:0;;9147:4;9133:19;;9070:82;:119;;;;-1:-1:-1;9175:14:0;;-1:-1:-1;;;;;9169:20:0;;;9175:14;;9169:20;;9070:119;:146;;;;-1:-1:-1;9212:4:0;;-1:-1:-1;;;;;9206:10:0;;;9212:4;;9206:10;;9070:146;:178;;;;-1:-1:-1;904:7:0;931:6;-1:-1:-1;;;;;9233:15:0;;;931:6;;9233:15;;9070:178;9066:363;;;-1:-1:-1;;;;;7448:23:0;;9266:19;7448:23;;;:14;:23;;;;;;9350:16;;9325:20;9339:6;7448:23;9325:20;:::i;:::-;9324:42;;9316:94;;;;-1:-1:-1;;;9316:94:0;;4863:2:1;9316:94:0;;;4845:21:1;4902:2;4882:18;;;4875:30;4941:34;4921:18;;;4914:62;-1:-1:-1;;;4992:18:1;;;4985:38;5040:19;;9316:94:0;4661:404:1;9316:94:0;9249:180;9066:363;-1:-1:-1;;;;;9449:18:0;;;;;;:38;;-1:-1:-1;;;;;;9471:16:0;;;;9449:38;9441:72;;;;-1:-1:-1;;;9441:72:0;;5272:2:1;9441:72:0;;;5254:21:1;5311:2;5291:18;;;5284:30;-1:-1:-1;;;5330:18:1;;;5323:51;5391:18;;9441:72:0;5070:345:1;9441:72:0;9541:1;9532:6;:10;9524:60;;;;-1:-1:-1;;;9524:60:0;;5622:2:1;9524:60:0;;;5604:21:1;5661:2;5641:18;;;5634:30;5700:34;5680:18;;;5673:62;-1:-1:-1;;;5751:18:1;;;5744:35;5796:19;;9524:60:0;5420:401:1;9524:60:0;9617:17;;;;;;;;9600:13;;:34;;;;:78;;;9661:17;;9652:6;:26;9600:78;:113;;;;-1:-1:-1;9696:17:0;;-1:-1:-1;;;9696:17:0;;;;9695:18;9600:113;:153;;;;-1:-1:-1;;;;;;9731:22:0;;;;;;:16;:22;;;;;;;;9730:23;9600:153;:190;;;;-1:-1:-1;9776:14:0;;-1:-1:-1;;;;;9770:20:0;;;9776:14;;9770:20;9600:190;:219;;;;-1:-1:-1;9807:12:0;;-1:-1:-1;;;9807:12:0;;;;9600:219;9597:465;;;9848:13;:17;;-1:-1:-1;;9848:17:0;;;9929:4;-1:-1:-1;7448:23:0;;;:14;:23;;;;;;9953:24;;9950:101;;9993:43;10015:20;9993:21;:43::i;:::-;9831:231;9597:465;-1:-1:-1;;;;;10127:22:0;;10082:13;10127:22;;;:16;:22;;;;;;10098:4;;10127:22;;;:46;;-1:-1:-1;;;;;;10153:20:0;;;;;;:16;:20;;;;;;;;10127:46;:98;;;-1:-1:-1;10186:14:0;;-1:-1:-1;;;;;10178:22:0;;;10186:14;;10178:22;;;;:46;;-1:-1:-1;10210:14:0;;-1:-1:-1;;;;;10204:20:0;;;10210:14;;10204:20;;10178:46;10124:302;;;-1:-1:-1;10252:5:0;10124:302;;;10287:14;;-1:-1:-1;;;;;10287:14:0;;;10279:22;;;;10275:151;;10329:7;;10317:9;:19;10275:151;;;10364:14;;-1:-1:-1;;;;;10364:14:0;;;10358:20;;;;10354:72;;10406:8;;10394:9;:20;10354:72;10438:39;10453:4;10458:2;10461:6;10468:8;10438:14;:39::i;:::-;9055:1430;8952:1533;;;:::o;2759:206::-;2845:7;2906:12;2898:6;;;;2890:29;;;;-1:-1:-1;;;2890:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;2941:5:0;;;2759:206::o;11325:243::-;6352:17;:24;;-1:-1:-1;;;;6352:24:0;-1:-1:-1;;;6352:24:0;;;11417:37:::1;11433:20:::0;11417:15:::1;:37::i;:::-;11537:10;::::0;11487:21:::1;::::0;11519:41:::1;::::0;-1:-1:-1;;;;;11537:10:0::1;11487:21:::0;11519:17:::1;:41::i;:::-;-1:-1:-1::0;;6399:17:0;:25;;-1:-1:-1;;;;6399:25:0;;;11325:243::o;12308:374::-;12434:8;12430:119;;12458:19;:17;:19::i;:::-;12430:119;;;12518:13;:15;;;;;:13;:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;12430:119;12559:47;12580:6;12588:9;12599:6;12559:20;:47::i;:::-;12631:8;12627:47;;12654:20;8392:17;;8380:9;:29;8430:15;;8420:7;:25;8468:16;;8457:8;:27;8331:162;11576:474;11665:16;;;11679:1;11665:16;;;;;;;;11641:21;;11665:16;;;;;;;;;;-1:-1:-1;11665:16:0;11641:40;;11710:4;11692;11697:1;11692:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11692:23:0;;;:7;;;;;;;;;;:23;;;;11736:16;;:23;;;-1:-1:-1;;;11736:23:0;;;;:16;;;;;:21;;:23;;;;;11692:7;;11736:23;;;;;:16;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11726:4;11731:1;11726:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11726:33:0;;;:7;;;;;;;;;:33;11802:16;;11770:63;;11787:4;;11802:16;11821:11;11770:8;:63::i;:::-;11844:16;;:198;;-1:-1:-1;;;11844:198:0;;-1:-1:-1;;;;;11844:16:0;;;;:67;;:198;;11926:11;;11844:16;;11969:4;;11996;;12016:15;;11844:198;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11630:420;11576:474;:::o;8827:117::-;8913:23;;-1:-1:-1;;;;;8913:15:0;;;:23;;;;;8929:6;;8913:23;;;;8929:6;8913:15;:23;;;;;;;;;;;;;;;;;;;;;8827:117;;:::o;8018:301::-;8069:9;;:14;:30;;;;-1:-1:-1;8087:7:0;;:12;8069:30;:47;;;;-1:-1:-1;8103:8:0;;:13;8069:47;8066:59;;;8018:301::o;8066:59::-;8155:7;;;8137:15;:25;8193:8;;;8174:16;:27;8233:9;;;8213:17;:29;-1:-1:-1;8253:11:0;;;;8275:12;;;;8298:13;8018:301::o;10493:644::-;10605:23;10630:12;10646:24;10662:7;10646:15;:24::i;:::-;-1:-1:-1;;;;;10684:24:0;;;;;;:16;:24;;;;;;10604:66;;-1:-1:-1;10604:66:0;-1:-1:-1;10684:24:0;;:70;;;;-1:-1:-1;10738:16:0;;-1:-1:-1;;;;;10712:22:0;;;;;;:14;:22;;;;;;:42;;10684:70;10681:151;;;-1:-1:-1;10778:1:0;10794:26;10805:15;10794:26;;:::i;:::-;;;10681:151;-1:-1:-1;;;;;10867:22:0;;;;;;:14;:22;;;;;;:35;;10894:7;10867:26;:35::i;:::-;-1:-1:-1;;;;;10842:22:0;;;;;;;:14;:22;;;;;;:60;;;;10941:25;;;;;;;:46;;10971:15;10941:29;:46::i;:::-;-1:-1:-1;;;;;10913:25:0;;;;;;:14;:25;;;;;;:74;;;;11053:4;11030:29;;;;:39;;11064:4;11030:33;:39::i;:::-;11021:4;10998:29;;;;:14;:29;;;;;;;;;:71;;;;11085:44;1361:25:1;;;-1:-1:-1;;;;;11085:44:0;;;;;;;;;;1334:18:1;11085:44:0;;;;;;;10583:554;;10493:644;;;:::o;12058:242::-;12122:7;12131;12151:12;12166:31;12193:3;12166:22;12178:9;;12166:7;:11;;:22;;;;:::i;:::-;:26;;:31::i;:::-;12151:46;-1:-1:-1;12208:23:0;12234:17;:7;12151:46;12234:11;:17::i;:::-;12208:43;12287:4;;-1:-1:-1;12058:242:0;;-1:-1:-1;;;12058:242:0:o;2437:98::-;2495:7;2522:5;2526:1;2522;:5;:::i;:::-;2515:12;2437:98;-1:-1:-1;;;2437:98:0:o;2331:::-;2389:7;2416:5;2420:1;2416;:5;:::i;2543:98::-;2601:7;2628:5;2632:1;2628;:5;:::i;2653:98::-;2711:7;2738:5;2742:1;2738;:5;:::i;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:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:380::-;2979:1;2975:12;;;;3022;;;3043:61;;3097:4;3089:6;3085:17;3075:27;;3043:61;3150:2;3142:6;3139:14;3119:18;3116:38;3113:161;;3196:10;3191:3;3187:20;3184:1;3177:31;3231:4;3228:1;3221:15;3259:4;3256:1;3249:15;3113:161;;2900:380;;;:::o;3285:356::-;3487:2;3469:21;;;3506:18;;;3499:30;3565:34;3560:2;3545:18;;3538:62;3632:2;3617:18;;3285:356::o;4399:127::-;4460:10;4455:3;4451:20;4448:1;4441:31;4491:4;4488:1;4481:15;4515:4;4512:1;4505:15;4531:125;4596:9;;;4617:10;;;4614:36;;;4630:18;;:::i;5826:175::-;5863:3;5907:4;5900:5;5896:16;5936:4;5927:7;5924:17;5921:43;;5944:18;;:::i;:::-;5993:1;5980:15;;5826:175;-1:-1:-1;;5826:175:1:o;6138:127::-;6199:10;6194:3;6190:20;6187:1;6180:31;6230:4;6227:1;6220:15;6254:4;6251:1;6244:15;6270:251;6340:6;6393:2;6381:9;6372:7;6368:23;6364:32;6361:52;;;6409:1;6406;6399:12;6361:52;6441:9;6435:16;6460:31;6485:5;6460:31;:::i;6526:980::-;6788:4;6836:3;6825:9;6821:19;6867:6;6856:9;6849:25;6893:2;6931:6;6926:2;6915:9;6911:18;6904:34;6974:3;6969:2;6958:9;6954:18;6947:31;6998:6;7033;7027:13;7064:6;7056;7049:22;7102:3;7091:9;7087:19;7080:26;;7141:2;7133:6;7129:15;7115:29;;7162:1;7172:195;7186:6;7183:1;7180:13;7172:195;;;7251:13;;-1:-1:-1;;;;;7247:39:1;7235:52;;7342:15;;;;7307:12;;;;7283:1;7201:9;7172:195;;;-1:-1:-1;;;;;;;7423:32:1;;;;7418:2;7403:18;;7396:60;-1:-1:-1;;;7487:3:1;7472:19;7465:35;7384:3;6526:980;-1:-1:-1;;;6526:980:1:o;7511:128::-;7578:9;;;7599:11;;;7596:37;;;7613:18;;:::i;7644:168::-;7717:9;;;7748;;7765:15;;;7759:22;;7745:37;7735:71;;7786:18;;:::i;7817:217::-;7857:1;7883;7873:132;;7927:10;7922:3;7918:20;7915:1;7908:31;7962:4;7959:1;7952:15;7990:4;7987:1;7980:15;7873:132;-1:-1:-1;8019:9:1;;7817:217::o

Swarm Source

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