ETH Price: $3,250.75 (+3.48%)
Gas: 6 Gwei

Token

UniGraph (GRAPH)
 

Overview

Max Total Supply

108,150 GRAPH

Holders

303

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
Uniswap V2: GRAPH
Balance
1,387.900964975989706528 GRAPH

Value
$0.00
0x39ca07498c8eccb2f705fb5ce72443e45ec2e0f6
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:
Graph

Compiler Version
v0.6.0+commit.26b70077

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-08-15
*/

pragma solidity 0.6.0;

/*

                                       https://UniGraph.app

      ___           ___                       ___           ___           ___           ___           ___     
     /\__\         /\__\          ___        /\  \         /\  \         /\  \         /\  \         /\__\    
    /:/  /        /::|  |        /\  \      /::\  \       /::\  \       /::\  \       /::\  \       /:/  /    
   /:/  /        /:|:|  |        \:\  \    /:/\:\  \     /:/\:\  \     /:/\:\  \     /:/\:\  \     /:/__/     
  /:/  /  ___   /:/|:|  |__      /::\__\  /:/  \:\  \   /::\~\:\  \   /::\~\:\  \   /::\~\:\  \   /::\  \ ___ 
 /:/__/  /\__\ /:/ |:| /\__\  __/:/\/__/ /:/__/_\:\__\ /:/\:\ \:\__\ /:/\:\ \:\__\ /:/\:\ \:\__\ /:/\:\  /\__\
 \:\  \ /:/  / \/__|:|/:/  / /\/:/  /    \:\  /\ \/__/ \/_|::\/:/  / \/__\:\/:/  / \/__\:\/:/  / \/__\:\/:/  /
  \:\  /:/  /      |:/:/  /  \::/__/      \:\ \:\__\      |:|::/  /       \::/  /       \::/  /       \::/  / 
   \:\/:/  /       |::/  /    \:\__\       \:\/:/  /      |:|\/__/        /:/  /         \/__/        /:/  /  
    \::/  /        /:/  /      \/__/        \::/  /       |:|  |         /:/  /                      /:/  /   
     \/__/         \/__/                     \/__/         \|__|         \/__/                       \/__/    


*/

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 {
    address public _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () public {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), msg.sender);
    }

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

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

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

// Uniswap v2 interfaces
interface IUniswapV2Pair {
    function sync() external;
}

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

contract Graph is Ownable {
    string public name = "UniGraph";
    string public symbol = "GRAPH";
    uint256 public constant decimals = 18;
    
    using SafeMath for uint256;

    event LogRebase(uint256 indexed epoch, uint256 totalSupply);

    modifier validRecipient(address to) {
        require(to != address(0x0));
        require(to != address(this));
        _;
    }
    
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
    
    constructor() public override {
        _owner = msg.sender;
        _feeTaker = msg.sender;
        
        _totalSupply = INITIAL_FRAGMENTS_SUPPLY;
        _gonBalances[_owner] = TOTAL_GONS;
        _gonsPerFragment = TOTAL_GONS.div(_totalSupply);
        lastPoolFeeTime = now;
        
        emit Transfer(address(0x0), _owner, _totalSupply);
    }

    function updateBranding(string memory newName, string memory newSymbol) public onlyOwner {
        name = newName;
        symbol = newSymbol;
    }

    uint256 private constant DECIMALS = 18;
    uint256 private constant MAX_UINT256 = ~uint256(0);
    uint256 private constant INITIAL_FRAGMENTS_SUPPLY = 100_000 * 10**DECIMALS;

    uint256 private constant TOTAL_GONS = MAX_UINT256 - (MAX_UINT256 % INITIAL_FRAGMENTS_SUPPLY);

    uint256 private constant MAX_SUPPLY = ~uint128(0);  // (2^128) - 1

    uint256 private _totalSupply;
    uint256 private _gonsPerFragment;
    mapping(address => uint256) private _gonBalances;

    mapping (address => mapping (address => uint256)) private _allowedFragments;
    
    address public _feeTaker;
    event FeeTakerTransferred(address indexed previousFeeTaker, address indexed newFeeTaker);
    function transferFeeTaker(address newFeeTaker) public virtual onlyOwner {
        emit FeeTakerTransferred(_feeTaker, newFeeTaker);
        _feeTaker = newFeeTaker;
    }
    function feeTaker() public view returns (address) {
        return _feeTaker;
    }
    
    uint256 epoch = 0;
    
    function rebasePer(uint256 supplyPercent) external onlyOwner returns (uint256) {
        epoch = epoch.add(1);
        if(supplyPercent <= 50 || supplyPercent >= 100) {
            revert();
        }
        uint256 absSupplyPercent = uint256(supplyPercent);
        _totalSupply = _totalSupply.mul(absSupplyPercent).div(100);
        
        if (_totalSupply > MAX_SUPPLY) {
            _totalSupply = MAX_SUPPLY;
        }

        _gonsPerFragment = TOTAL_GONS.div(_totalSupply);

        emit LogRebase(epoch, _totalSupply);
        return _totalSupply;
    }

    function rebase(int256 supplyDelta) external onlyOwner returns (uint256) {
        epoch = epoch.add(1);
        if (supplyDelta == 0) {
            emit LogRebase(epoch, _totalSupply);
            return _totalSupply;
        }

        uint256 absSupplyDelta = uint256(supplyDelta);
        if(supplyDelta < 0) {
            absSupplyDelta = uint256(-supplyDelta);
        }
        if(supplyDelta < 0) {
            _totalSupply = _totalSupply.sub(absSupplyDelta);
        }
        else {
            _totalSupply = _totalSupply.add(absSupplyDelta);
        }

        
        if (_totalSupply > MAX_SUPPLY) {
            _totalSupply = MAX_SUPPLY;
        }

        _gonsPerFragment = TOTAL_GONS.div(_totalSupply);

        emit LogRebase(epoch, _totalSupply);
        return _totalSupply;
    }

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

    function balanceOf(address who)
        public
        view
        returns (uint256)
    {
        return _gonBalances[who].div(_gonsPerFragment);
    }

    function transfer(address to, uint256 value)
        public
        validRecipient(to)
        returns (bool)
    {
        uint256 gonValue = value.mul(_gonsPerFragment);
        _gonBalances[msg.sender] = _gonBalances[msg.sender].sub(gonValue);
        _gonBalances[to] = _gonBalances[to].add(gonValue);
        emit Transfer(msg.sender, to, value);
        return true;
    }

    function allowance(address owner_, address spender)
        public
        view
        returns (uint256)
    {
        return _allowedFragments[owner_][spender];
    }

    function transferFrom(address from, address to, uint256 value)
        public
        validRecipient(to)
        returns (bool)
    {
        _allowedFragments[from][msg.sender] = _allowedFragments[from][msg.sender].sub(value);

        uint256 gonValue = value.mul(_gonsPerFragment);
        _gonBalances[from] = _gonBalances[from].sub(gonValue);
        _gonBalances[to] = _gonBalances[to].add(gonValue);
        emit Transfer(from, to, value);

        return true;
    }

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

    function increaseAllowance(address spender, uint256 addedValue)
        public
        returns (bool)
    {
        _allowedFragments[msg.sender][spender] =
            _allowedFragments[msg.sender][spender].add(addedValue);
        emit Approval(msg.sender, spender, _allowedFragments[msg.sender][spender]);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue)
        public
        returns (bool)
    {
        uint256 oldValue = _allowedFragments[msg.sender][spender];
        if (subtractedValue >= oldValue) {
            _allowedFragments[msg.sender][spender] = 0;
        } else {
            _allowedFragments[msg.sender][spender] = oldValue.sub(subtractedValue);
        }
        emit Approval(msg.sender, spender, _allowedFragments[msg.sender][spender]);
        return true;
    }
    
    // Uniswap Pool Methods
    IUniswapV2Factory public uniswapFactory = IUniswapV2Factory(0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f);
    
    uint256 public POOL_FEE_DAILY_PERCENT = 1;
    
    function setPoolFeePercent(uint256 newPer) public onlyOwner {
        require(newPer >= 0);
        require(newPer < 5);
        POOL_FEE_DAILY_PERCENT = newPer;
    }
    
    function poolFeeAvailable() public view returns (uint256) {
        uint256 timeBetweenLastPoolBurn = now - lastPoolFeeTime;
        uint256 tokensInUniswapPool = balanceOf(uniswapPool);
        uint256 dayInSeconds = 1 days;
        return (tokensInUniswapPool.mul(POOL_FEE_DAILY_PERCENT)
            .mul(timeBetweenLastPoolBurn))
            .div(dayInSeconds)
            .div(100);
    }
    
    function pretty() public view returns (uint256) {
        return _totalSupply.div(1e18);
    }

    address public uniswapPool;
    uint256 public lastPoolFeeTime;
    event PoolFeeDropped(uint256 amount, uint256 poolBalance);
    function processFeePool() external onlyOwner {
        // Reset last fee time
        lastPoolFeeTime = now;

        uint256 feeQty = poolFeeAvailable();

        _totalSupply = _totalSupply.sub(feeQty);
        
        uint256 burnQtyInGons = _gonsPerFragment  * feeQty;
        
        _gonBalances[uniswapPool] = _gonBalances[uniswapPool].sub(burnQtyInGons);
        _gonBalances[_owner] = _gonBalances[_owner].add(burnQtyInGons);

        IUniswapV2Pair(uniswapPool).sync();

        emit PoolFeeDropped(feeQty, balanceOf(uniswapPool));
    }
    
}

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":"previousFeeTaker","type":"address"},{"indexed":true,"internalType":"address","name":"newFeeTaker","type":"address"}],"name":"FeeTakerTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"epoch","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalSupply","type":"uint256"}],"name":"LogRebase","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":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"poolBalance","type":"uint256"}],"name":"PoolFeeDropped","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":"POOL_FEE_DAILY_PERCENT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_feeTaker","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeTaker","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lastPoolFeeTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"poolFeeAvailable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pretty","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"processFeePool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"int256","name":"supplyDelta","type":"int256"}],"name":"rebase","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"supplyPercent","type":"uint256"}],"name":"rebasePer","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newPer","type":"uint256"}],"name":"setPoolFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newFeeTaker","type":"address"}],"name":"transferFeeTaker","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapFactory","outputs":[{"internalType":"contract IUniswapV2Factory","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapPool","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"newName","type":"string"},{"internalType":"string","name":"newSymbol","type":"string"}],"name":"updateBranding","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60c060405260086080819052670aadcd28ee4c2e0d60c31b60a09081526200002b916001919062000295565b506040805180820190915260058082526408ea482a0960db1b60209092019182526200005a9160029162000295565b506000600855600980546001600160a01b031916735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f1790556001600a553480156200009857600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360008054336001600160a01b031991821681178084556007805490931690911790915569152d02c7e14af680000060039081556001600160a01b03909116825260056020908152604090922069085afffa6ff50bffffff199081905590546200014a926200019d811b6200134f17901c565b60045542600c556000805460035460408051918252516001600160a01b0390921692917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a36200033a565b6000620001e783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620001ee60201b60201c565b9392505050565b600081836200027e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156200024257818101518382015260200162000228565b50505050905090810190601f168015620002705780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816200028b57fe5b0495945050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002d857805160ff191683800117855562000308565b8280016001018555821562000308579182015b8281111562000308578251825591602001919060010190620002eb565b50620003169291506200031a565b5090565b6200033791905b8082111562000316576000815560010162000321565b90565b61161b806200034a6000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c80638bdb2afa116100f9578063a9059cbb11610097578063bdd3d82511610071578063bdd3d8251461058b578063d1e2826214610593578063dd62ed3e146105b0578063f2fde38b146105de576101c4565b8063a9059cbb1461054f578063ad1443691461057b578063b2bdfa7b14610583576101c4565b806391868da7116100d357806391868da7146104ed57806395d89b41146104f55780639a512489146104fd578063a457c2d714610523576101c4565b80638bdb2afa146104d55780638da5cb5b146104dd5780638eb644ae146104e5576101c4565b8063313ce567116101665780635b2f529d116101405780635b2f529d1461047b57806370a0823114610483578063749f1044146104a95780637ebf94c9146104cd576101c4565b8063313ce5671461031a57806339509351146103225780633d47a8771461034e576101c4565b806318160ddd116101a257806318160ddd146102b55780631e8cdab3146102bd57806323b872dd146102c55780632c79aa93146102fb576101c4565b806306fdde03146101c9578063095ea7b3146102465780630ab114f914610286575b600080fd5b6101d1610604565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561020b5781810151838201526020016101f3565b50505050905090810190601f1680156102385780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102726004803603604081101561025c57600080fd5b506001600160a01b038135169060200135610691565b604080519115158252519081900360200190f35b6102a36004803603602081101561029c57600080fd5b50356106f8565b60408051918252519081900360200190f35b6102a361086b565b6102a3610872565b610272600480360360608110156102db57600080fd5b506001600160a01b03813581169160208101359091169060400135610895565b6103186004803603602081101561031157600080fd5b50356109f4565b005b6102a3610a53565b6102726004803603604081101561033857600080fd5b506001600160a01b038135169060200135610a58565b6103186004803603604081101561036457600080fd5b81019060208101813564010000000081111561037f57600080fd5b82018360208201111561039157600080fd5b803590602001918460018302840111640100000000831117156103b357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929594936020810193503591505064010000000081111561040657600080fd5b82018360208201111561041857600080fd5b8035906020019184600183028401116401000000008311171561043a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610af1945050505050565b610318610b6a565b6102a36004803603602081101561049957600080fd5b50356001600160a01b0316610d10565b6104b1610d3e565b604080516001600160a01b039092168252519081900360200190f35b6104b1610d4d565b6104b1610d5c565b6104b1610d6b565b6102a3610d7a565b6102a3610d80565b6101d1610dec565b6103186004803603602081101561051357600080fd5b50356001600160a01b0316610e44565b6102726004803603604081101561053957600080fd5b506001600160a01b038135169060200135610eed565b6102726004803603604081101561056557600080fd5b506001600160a01b038135169060200135610fdc565b6102a36110d4565b6104b16110da565b6104b16110e9565b6102a3600480360360208110156105a957600080fd5b50356110f8565b6102a3600480360360408110156105c657600080fd5b506001600160a01b0381358116916020013516611194565b610318600480360360208110156105f457600080fd5b50356001600160a01b03166111bf565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106895780601f1061065e57610100808354040283529160200191610689565b820191906000526020600020905b81548152906001019060200180831161066c57829003601f168201915b505050505081565b3360008181526006602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b600080546001600160a01b03163314610746576040805162461bcd60e51b815260206004820181905260248201526000805160206115c6833981519152604482015290519081900360640190fd5b60085461075a90600163ffffffff6112ac16565b600855816107a35760085460035460408051918252517f72725a3b1e5bd622d6bcd1339bb31279c351abe8f541ac7fd320f24e1b1641f29181900360200190a250600354610866565b8160008112156107b4578260000390505b60008312156107d8576003546107d0908263ffffffff61130d16565b6003556107ef565b6003546107eb908263ffffffff6112ac16565b6003555b6003546001600160801b03101561080c576001600160801b036003555b6003546108259069085afffa6ff50bffffff199061134f565b60045560085460035460408051918252517f72725a3b1e5bd622d6bcd1339bb31279c351abe8f541ac7fd320f24e1b1641f29181900360200190a250506003545b919050565b6003545b90565b60035460009061089090670de0b6b3a764000063ffffffff61134f16565b905090565b6000826001600160a01b0381166108ab57600080fd5b6001600160a01b0381163014156108c157600080fd5b6001600160a01b03851660009081526006602090815260408083203384529091529020546108f5908463ffffffff61130d16565b6001600160a01b038616600090815260066020908152604080832033845290915281209190915560045461093090859063ffffffff61139116565b6001600160a01b03871660009081526005602052604090205490915061095c908263ffffffff61130d16565b6001600160a01b038088166000908152600560205260408082209390935590871681522054610991908263ffffffff6112ac16565b6001600160a01b0380871660008181526005602090815260409182902094909455805188815290519193928a16927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a350600195945050505050565b6000546001600160a01b03163314610a41576040805162461bcd60e51b815260206004820181905260248201526000805160206115c6833981519152604482015290519081900360640190fd5b60058110610a4e57600080fd5b600a55565b601281565b3360009081526006602090815260408083206001600160a01b0386168452909152812054610a8c908363ffffffff6112ac16565b3360008181526006602090815260408083206001600160a01b0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b6000546001600160a01b03163314610b3e576040805162461bcd60e51b815260206004820181905260248201526000805160206115c6833981519152604482015290519081900360640190fd5b8151610b519060019060208501906114e6565b508051610b659060029060208401906114e6565b505050565b6000546001600160a01b03163314610bb7576040805162461bcd60e51b815260206004820181905260248201526000805160206115c6833981519152604482015290519081900360640190fd5b42600c556000610bc5610d80565b600354909150610bdb908263ffffffff61130d16565b600355600454600b546001600160a01b031660009081526005602052604090205490820290610c10908263ffffffff61130d16565b600b546001600160a01b0390811660009081526005602052604080822093909355805490911681522054610c4a908263ffffffff6112ac16565b600080546001600160a01b0390811682526005602052604080832093909355600b54835160016209351760e01b03198152935191169263fff6cae992600480830193919282900301818387803b158015610ca357600080fd5b505af1158015610cb7573d6000803e3d6000fd5b5050600b547fda697c13e34b3b7212b57c5180b1a4af1af15f0d8aa43ec8f8ecb2ec24b62c469250849150610cf4906001600160a01b0316610d10565b6040805192835260208301919091528051918290030190a15050565b6004546001600160a01b03821660009081526005602052604081205490916106f2919063ffffffff61134f16565b6007546001600160a01b031690565b6007546001600160a01b031681565b6009546001600160a01b031681565b6000546001600160a01b031690565b600c5481565b600c54600b546000914203908290610da0906001600160a01b0316610d10565b90506000620151809050610de46064610dd883610dd887610dcc600a548961139190919063ffffffff16565b9063ffffffff61139116565b9063ffffffff61134f16565b935050505090565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156106895780601f1061065e57610100808354040283529160200191610689565b6000546001600160a01b03163314610e91576040805162461bcd60e51b815260206004820181905260248201526000805160206115c6833981519152604482015290519081900360640190fd5b6007546040516001600160a01b038084169216907f4e1859f4ffa533d581987fc7f9f1b7845dcafe0f24a6e901732faf4ebdecbb0190600090a3600780546001600160a01b0319166001600160a01b0392909216919091179055565b3360009081526006602090815260408083206001600160a01b0386168452909152812054808310610f41573360009081526006602090815260408083206001600160a01b0388168452909152812055610f76565b610f51818463ffffffff61130d16565b3360009081526006602090815260408083206001600160a01b03891684529091529020555b3360008181526006602090815260408083206001600160a01b0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b6000826001600160a01b038116610ff257600080fd5b6001600160a01b03811630141561100857600080fd5b600061101f6004548561139190919063ffffffff16565b33600090815260056020526040902054909150611042908263ffffffff61130d16565b33600090815260056020526040808220929092556001600160a01b03871681522054611074908263ffffffff6112ac16565b6001600160a01b0386166000818152600560209081526040918290209390935580518781529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3506001949350505050565b600a5481565b6000546001600160a01b031681565b600b546001600160a01b031681565b600080546001600160a01b03163314611146576040805162461bcd60e51b815260206004820181905260248201526000805160206115c6833981519152604482015290519081900360640190fd5b60085461115a90600163ffffffff6112ac16565b60085560328211158061116e575060648210155b1561117857600080fd5b60035482906107eb90606490610dd8908463ffffffff61139116565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b6000546001600160a01b0316331461120c576040805162461bcd60e51b815260206004820181905260248201526000805160206115c6833981519152604482015290519081900360640190fd5b6001600160a01b0381166112515760405162461bcd60e51b815260040180806020018281038252602681526020018061157f6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600082820183811015611306576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600061130683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113ea565b600061130683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611481565b6000826113a0575060006106f2565b828202828482816113ad57fe5b04146113065760405162461bcd60e51b81526004018080602001828103825260218152602001806115a56021913960400191505060405180910390fd5b600081848411156114795760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561143e578181015183820152602001611426565b50505050905090810190601f16801561146b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836114d05760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561143e578181015183820152602001611426565b5060008385816114dc57fe5b0495945050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061152757805160ff1916838001178555611554565b82800160010185558215611554579182015b82811115611554578251825591602001919060010190611539565b50611560929150611564565b5090565b61086f91905b80821115611560576000815560010161156a56fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a2646970667358221220547ca9cdd31d0ea380f5a929488719b00382f33284d07ceb85170871fafead6464736f6c63430006000033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101c45760003560e01c80638bdb2afa116100f9578063a9059cbb11610097578063bdd3d82511610071578063bdd3d8251461058b578063d1e2826214610593578063dd62ed3e146105b0578063f2fde38b146105de576101c4565b8063a9059cbb1461054f578063ad1443691461057b578063b2bdfa7b14610583576101c4565b806391868da7116100d357806391868da7146104ed57806395d89b41146104f55780639a512489146104fd578063a457c2d714610523576101c4565b80638bdb2afa146104d55780638da5cb5b146104dd5780638eb644ae146104e5576101c4565b8063313ce567116101665780635b2f529d116101405780635b2f529d1461047b57806370a0823114610483578063749f1044146104a95780637ebf94c9146104cd576101c4565b8063313ce5671461031a57806339509351146103225780633d47a8771461034e576101c4565b806318160ddd116101a257806318160ddd146102b55780631e8cdab3146102bd57806323b872dd146102c55780632c79aa93146102fb576101c4565b806306fdde03146101c9578063095ea7b3146102465780630ab114f914610286575b600080fd5b6101d1610604565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561020b5781810151838201526020016101f3565b50505050905090810190601f1680156102385780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102726004803603604081101561025c57600080fd5b506001600160a01b038135169060200135610691565b604080519115158252519081900360200190f35b6102a36004803603602081101561029c57600080fd5b50356106f8565b60408051918252519081900360200190f35b6102a361086b565b6102a3610872565b610272600480360360608110156102db57600080fd5b506001600160a01b03813581169160208101359091169060400135610895565b6103186004803603602081101561031157600080fd5b50356109f4565b005b6102a3610a53565b6102726004803603604081101561033857600080fd5b506001600160a01b038135169060200135610a58565b6103186004803603604081101561036457600080fd5b81019060208101813564010000000081111561037f57600080fd5b82018360208201111561039157600080fd5b803590602001918460018302840111640100000000831117156103b357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929594936020810193503591505064010000000081111561040657600080fd5b82018360208201111561041857600080fd5b8035906020019184600183028401116401000000008311171561043a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610af1945050505050565b610318610b6a565b6102a36004803603602081101561049957600080fd5b50356001600160a01b0316610d10565b6104b1610d3e565b604080516001600160a01b039092168252519081900360200190f35b6104b1610d4d565b6104b1610d5c565b6104b1610d6b565b6102a3610d7a565b6102a3610d80565b6101d1610dec565b6103186004803603602081101561051357600080fd5b50356001600160a01b0316610e44565b6102726004803603604081101561053957600080fd5b506001600160a01b038135169060200135610eed565b6102726004803603604081101561056557600080fd5b506001600160a01b038135169060200135610fdc565b6102a36110d4565b6104b16110da565b6104b16110e9565b6102a3600480360360208110156105a957600080fd5b50356110f8565b6102a3600480360360408110156105c657600080fd5b506001600160a01b0381358116916020013516611194565b610318600480360360208110156105f457600080fd5b50356001600160a01b03166111bf565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106895780601f1061065e57610100808354040283529160200191610689565b820191906000526020600020905b81548152906001019060200180831161066c57829003601f168201915b505050505081565b3360008181526006602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b600080546001600160a01b03163314610746576040805162461bcd60e51b815260206004820181905260248201526000805160206115c6833981519152604482015290519081900360640190fd5b60085461075a90600163ffffffff6112ac16565b600855816107a35760085460035460408051918252517f72725a3b1e5bd622d6bcd1339bb31279c351abe8f541ac7fd320f24e1b1641f29181900360200190a250600354610866565b8160008112156107b4578260000390505b60008312156107d8576003546107d0908263ffffffff61130d16565b6003556107ef565b6003546107eb908263ffffffff6112ac16565b6003555b6003546001600160801b03101561080c576001600160801b036003555b6003546108259069085afffa6ff50bffffff199061134f565b60045560085460035460408051918252517f72725a3b1e5bd622d6bcd1339bb31279c351abe8f541ac7fd320f24e1b1641f29181900360200190a250506003545b919050565b6003545b90565b60035460009061089090670de0b6b3a764000063ffffffff61134f16565b905090565b6000826001600160a01b0381166108ab57600080fd5b6001600160a01b0381163014156108c157600080fd5b6001600160a01b03851660009081526006602090815260408083203384529091529020546108f5908463ffffffff61130d16565b6001600160a01b038616600090815260066020908152604080832033845290915281209190915560045461093090859063ffffffff61139116565b6001600160a01b03871660009081526005602052604090205490915061095c908263ffffffff61130d16565b6001600160a01b038088166000908152600560205260408082209390935590871681522054610991908263ffffffff6112ac16565b6001600160a01b0380871660008181526005602090815260409182902094909455805188815290519193928a16927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a350600195945050505050565b6000546001600160a01b03163314610a41576040805162461bcd60e51b815260206004820181905260248201526000805160206115c6833981519152604482015290519081900360640190fd5b60058110610a4e57600080fd5b600a55565b601281565b3360009081526006602090815260408083206001600160a01b0386168452909152812054610a8c908363ffffffff6112ac16565b3360008181526006602090815260408083206001600160a01b0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b6000546001600160a01b03163314610b3e576040805162461bcd60e51b815260206004820181905260248201526000805160206115c6833981519152604482015290519081900360640190fd5b8151610b519060019060208501906114e6565b508051610b659060029060208401906114e6565b505050565b6000546001600160a01b03163314610bb7576040805162461bcd60e51b815260206004820181905260248201526000805160206115c6833981519152604482015290519081900360640190fd5b42600c556000610bc5610d80565b600354909150610bdb908263ffffffff61130d16565b600355600454600b546001600160a01b031660009081526005602052604090205490820290610c10908263ffffffff61130d16565b600b546001600160a01b0390811660009081526005602052604080822093909355805490911681522054610c4a908263ffffffff6112ac16565b600080546001600160a01b0390811682526005602052604080832093909355600b54835160016209351760e01b03198152935191169263fff6cae992600480830193919282900301818387803b158015610ca357600080fd5b505af1158015610cb7573d6000803e3d6000fd5b5050600b547fda697c13e34b3b7212b57c5180b1a4af1af15f0d8aa43ec8f8ecb2ec24b62c469250849150610cf4906001600160a01b0316610d10565b6040805192835260208301919091528051918290030190a15050565b6004546001600160a01b03821660009081526005602052604081205490916106f2919063ffffffff61134f16565b6007546001600160a01b031690565b6007546001600160a01b031681565b6009546001600160a01b031681565b6000546001600160a01b031690565b600c5481565b600c54600b546000914203908290610da0906001600160a01b0316610d10565b90506000620151809050610de46064610dd883610dd887610dcc600a548961139190919063ffffffff16565b9063ffffffff61139116565b9063ffffffff61134f16565b935050505090565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156106895780601f1061065e57610100808354040283529160200191610689565b6000546001600160a01b03163314610e91576040805162461bcd60e51b815260206004820181905260248201526000805160206115c6833981519152604482015290519081900360640190fd5b6007546040516001600160a01b038084169216907f4e1859f4ffa533d581987fc7f9f1b7845dcafe0f24a6e901732faf4ebdecbb0190600090a3600780546001600160a01b0319166001600160a01b0392909216919091179055565b3360009081526006602090815260408083206001600160a01b0386168452909152812054808310610f41573360009081526006602090815260408083206001600160a01b0388168452909152812055610f76565b610f51818463ffffffff61130d16565b3360009081526006602090815260408083206001600160a01b03891684529091529020555b3360008181526006602090815260408083206001600160a01b0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b6000826001600160a01b038116610ff257600080fd5b6001600160a01b03811630141561100857600080fd5b600061101f6004548561139190919063ffffffff16565b33600090815260056020526040902054909150611042908263ffffffff61130d16565b33600090815260056020526040808220929092556001600160a01b03871681522054611074908263ffffffff6112ac16565b6001600160a01b0386166000818152600560209081526040918290209390935580518781529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3506001949350505050565b600a5481565b6000546001600160a01b031681565b600b546001600160a01b031681565b600080546001600160a01b03163314611146576040805162461bcd60e51b815260206004820181905260248201526000805160206115c6833981519152604482015290519081900360640190fd5b60085461115a90600163ffffffff6112ac16565b60085560328211158061116e575060648210155b1561117857600080fd5b60035482906107eb90606490610dd8908463ffffffff61139116565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b6000546001600160a01b0316331461120c576040805162461bcd60e51b815260206004820181905260248201526000805160206115c6833981519152604482015290519081900360640190fd5b6001600160a01b0381166112515760405162461bcd60e51b815260040180806020018281038252602681526020018061157f6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600082820183811015611306576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600061130683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113ea565b600061130683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611481565b6000826113a0575060006106f2565b828202828482816113ad57fe5b04146113065760405162461bcd60e51b81526004018080602001828103825260218152602001806115a56021913960400191505060405180910390fd5b600081848411156114795760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561143e578181015183820152602001611426565b50505050905090810190601f16801561146b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836114d05760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561143e578181015183820152602001611426565b5060008385816114dc57fe5b0495945050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061152757805160ff1916838001178555611554565b82800160010185558215611554579182015b82811115611554578251825591602001919060010190611539565b50611560929150611564565b5090565b61086f91905b80821115611560576000815560010161156a56fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a2646970667358221220547ca9cdd31d0ea380f5a929488719b00382f33284d07ceb85170871fafead6464736f6c63430006000033

Deployed Bytecode Sourcemap

3755:7636:0:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3755:7636:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3788:31;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3788:31:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8669:233;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8669:233:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;6461:829;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6461:829:0;;:::i;:::-;;;;;;;;;;;;;;;;7298:123;;;:::i;10579:96::-;;;:::i;8174:487::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8174:487:0;;;;;;;;;;;;;;;;;:::i;9984:171::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9984:171:0;;:::i;:::-;;3863:37;;;:::i;8910:343::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8910:343:0;;;;;;;;:::i;4702:151::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4702:151:0;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;4702:151:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4702:151:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;4702:151:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;4702:151:0;;;;;;;;-1:-1:-1;4702:151:0;;-1:-1:-1;;21:11;5:28;;2:2;;;46:1;43;36:12;2:2;4702:151:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4702:151:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;4702:151:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;4702:151:0;;-1:-1:-1;4702:151:0;;-1:-1:-1;;;;;4702:151:0:i;10817:565::-;;;:::i;7429:159::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7429:159:0;-1:-1:-1;;;;;7429:159:0;;:::i;5745:85::-;;;:::i;:::-;;;;-1:-1:-1;;;;;5745:85:0;;;;;;;;;;;;;;5440:24;;;:::i;9814:103::-;;;:::i;3076:79::-;;;:::i;10716:30::-;;;:::i;10167:400::-;;;:::i;3826:30::-;;;:::i;5566:173::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5566:173:0;-1:-1:-1;;;;;5566:173:0;;:::i;9261:512::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;9261:512:0;;;;;;;;:::i;7596:388::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7596:388:0;;;;;;;;:::i;9930:41::-;;;:::i;2826:21::-;;;:::i;10683:26::-;;;:::i;5872:581::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5872:581:0;;:::i;7992:174::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7992:174:0;;;;;;;;;;:::i;3288:244::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3288:244:0;-1:-1:-1;;;;;3288:244:0;;:::i;3788:31::-;;;;;;;;;;;;;;;-1:-1:-1;;3788:31:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8669:233::-;8792:10;8752:4;8774:29;;;:17;:29;;;;;;;;-1:-1:-1;;;;;8774:38:0;;;;;;;;;;;:46;;;8836:36;;;;;;;8752:4;;8774:38;;8792:10;;8836:36;;;;;;;;-1:-1:-1;8890:4:0;8669:233;;;;;:::o;6461:829::-;6525:7;3203:6;;-1:-1:-1;;;;;3203:6:0;3213:10;3203:20;3195:65;;;;;-1:-1:-1;;;3195:65:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3195:65:0;;;;;;;;;;;;;;;6553:5:::1;::::0;:12:::1;::::0;6563:1:::1;6553:12;:9;:12;:::i;:::-;6545:5;:20:::0;6580:16;6576:118:::1;;6628:5;::::0;6635:12:::1;::::0;6618:30:::1;::::0;;;;;;::::1;::::0;;;;::::1;::::0;;::::1;-1:-1:-1::0;6670:12:0::1;::::0;6663:19:::1;;6576:118;6739:11:::0;6706:22:::1;6765:15:::0;::::1;6762:85;;;6823:11;6822:12;;6797:38;;6762:85;6874:1;6860:11;:15;6857:183;;;6907:12;::::0;:32:::1;::::0;6924:14;6907:32:::1;:16;:32;:::i;:::-;6892:12;:47:::0;6857:183:::1;;;6996:12;::::0;:32:::1;::::0;7013:14;6996:32:::1;:16;:32;:::i;:::-;6981:12;:47:::0;6857:183:::1;7066:12;::::0;-1:-1:-1;;;;;;7062:83:0::1;;;-1:-1:-1::0;;;;;7108:12:0::1;:25:::0;7062:83:::1;7191:12;::::0;7176:28:::1;::::0;-1:-1:-1;;5084:54:0;7176:14:::1;:28::i;:::-;7157:16;:47:::0;7232:5:::1;::::0;7239:12:::1;::::0;7222:30:::1;::::0;;;;;;::::1;::::0;;;;::::1;::::0;;::::1;-1:-1:-1::0;;7270:12:0::1;::::0;3271:1:::1;6461:829:::0;;;:::o;7298:123::-;7401:12;;7298:123;;:::o;10579:96::-;10645:12;;10618:7;;10645:22;;10662:4;10645:22;:16;:22;:::i;:::-;10638:29;;10579:96;:::o;8174:487::-;8299:4;8277:2;-1:-1:-1;;;;;4071:18:0;;4063:27;;;;;;-1:-1:-1;;;;;4109:19:0;;4123:4;4109:19;;4101:28;;;;;;-1:-1:-1;;;;;8359:23:0;::::1;;::::0;;;:17:::1;:23;::::0;;;;;;;8383:10:::1;8359:35:::0;;;;;;;;:46:::1;::::0;8399:5;8359:46:::1;:39;:46;:::i;:::-;-1:-1:-1::0;;;;;8321:23:0;::::1;;::::0;;;:17:::1;:23;::::0;;;;;;;8345:10:::1;8321:35:::0;;;;;;;:84;;;;8447:16:::1;::::0;8437:27:::1;::::0;:5;;:27:::1;:9;:27;:::i;:::-;-1:-1:-1::0;;;;;8496:18:0;::::1;;::::0;;;:12:::1;:18;::::0;;;;;8418:46;;-1:-1:-1;8496:32:0::1;::::0;8418:46;8496:32:::1;:22;:32;:::i;:::-;-1:-1:-1::0;;;;;8475:18:0;;::::1;;::::0;;;:12:::1;:18;::::0;;;;;:53;;;;8558:16;;::::1;::::0;;;;:30:::1;::::0;8579:8;8558:30:::1;:20;:30;:::i;:::-;-1:-1:-1::0;;;;;8539:16:0;;::::1;;::::0;;;:12:::1;:16;::::0;;;;;;;;:49;;;;8604:25;;;;;;;8539:16;;8604:25;;::::1;::::0;::::1;::::0;;;;;;;::::1;-1:-1:-1::0;8649:4:0::1;::::0;8174:487;-1:-1:-1;;;;;8174:487:0:o;9984:171::-;3203:6;;-1:-1:-1;;;;;3203:6:0;3213:10;3203:20;3195:65;;;;;-1:-1:-1;;;3195:65:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3195:65:0;;;;;;;;;;;;;;;10103:1:::1;10094:6;:10;10086:19;;;::::0;::::1;;10116:22;:31:::0;9984:171::o;3863:37::-;3898:2;3863:37;:::o;8910:343::-;9102:10;9008:4;9084:29;;;:17;:29;;;;;;;;-1:-1:-1;;;;;9084:38:0;;;;;;;;;;:54;;9127:10;9084:54;:42;:54;:::i;:::-;9048:10;9030:29;;;;:17;:29;;;;;;;;-1:-1:-1;;;;;9030:38:0;;;;;;;;;;;;:108;;;9154:69;;;;;;9030:38;;9154:69;;;;;;;;;;;-1:-1:-1;9241:4:0;8910:343;;;;:::o;4702:151::-;3203:6;;-1:-1:-1;;;;;3203:6:0;3213:10;3203:20;3195:65;;;;;-1:-1:-1;;;3195:65:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3195:65:0;;;;;;;;;;;;;;;4802:14;;::::1;::::0;:4:::1;::::0;:14:::1;::::0;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;4827:18:0;;::::1;::::0;:6:::1;::::0;:18:::1;::::0;::::1;::::0;::::1;:::i;:::-;;4702:151:::0;;:::o;10817:565::-;3203:6;;-1:-1:-1;;;;;3203:6:0;3213:10;3203:20;3195:65;;;;;-1:-1:-1;;;3195:65:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3195:65:0;;;;;;;;;;;;;;;10923:3:::1;10905:15;:21:::0;10939:14:::1;10956:18;:16;:18::i;:::-;11002:12;::::0;10939:35;;-1:-1:-1;11002:24:0::1;::::0;10939:35;11002:24:::1;:16;:24;:::i;:::-;10987:12;:39:::0;11071:16:::1;::::0;11159:11:::1;::::0;-1:-1:-1;;;;;11159:11:0::1;11047:21;11146:25:::0;;;:12:::1;:25;::::0;;;;;11071:26;;::::1;::::0;11146:44:::1;::::0;11071:26;11146:44:::1;:29;:44;:::i;:::-;11131:11;::::0;-1:-1:-1;;;;;11131:11:0;;::::1;11118:25;::::0;;;:12:::1;:25;::::0;;;;;:72;;;;11237:6;;;;::::1;11224:20:::0;;;;:39:::1;::::0;11249:13;11224:39:::1;:24;:39;:::i;:::-;11201:20;11214:6:::0;;-1:-1:-1;;;;;11214:6:0;;::::1;11201:20:::0;;:12:::1;:20;::::0;;;;;:62;;;;11291:11:::1;::::0;11276:34;;-1:-1:-1;;;;;;11276:34:0;;;;11291:11;::::1;::::0;11276:32:::1;::::0;:34:::1;::::0;;::::1;::::0;11201:20;;11276:34;;;;;11201:20;11291:11;11276:34;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;11276:34:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;11361:11:0::1;::::0;11328:46:::1;::::0;-1:-1:-1;11343:6:0;;-1:-1:-1;11351:22:0::1;::::0;-1:-1:-1;;;;;11361:11:0::1;11351:9;:22::i;:::-;11328:46;::::0;;;;;::::1;::::0;::::1;::::0;;;;;;;;;;;;::::1;3271:1;;10817:565::o:0;7429:159::-;7563:16;;-1:-1:-1;;;;;7541:17:0;;7509:7;7541:17;;;:12;:17;;;;;;7509:7;;7541:39;;:17;:39;:21;:39;:::i;5745:85::-;5813:9;;-1:-1:-1;;;;;5813:9:0;5745:85;:::o;5440:24::-;;;-1:-1:-1;;;;;5440:24:0;;:::o;9814:103::-;;;-1:-1:-1;;;;;9814:103:0;;:::o;3076:79::-;3114:7;3141:6;-1:-1:-1;;;;;3141:6:0;3076:79;:::o;10716:30::-;;;;:::o;10167:400::-;10276:15;;10342:11;;10216:7;;10270:3;:21;;10216:7;;10332:22;;-1:-1:-1;;;;;10342:11:0;10332:9;:22::i;:::-;10302:52;;10365:20;10388:6;10365:29;;10412:147;10555:3;10412:124;10523:12;10413:90;10479:23;10413:47;10437:22;;10413:19;:23;;:47;;;;:::i;:::-;:65;:90;:65;:90;:::i;:::-;10412:110;:124;:110;:124;:::i;:147::-;10405:154;;;;;10167:400;:::o;3826:30::-;;;;;;;;;;;;;;-1:-1:-1;;3826:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5566:173;3203:6;;-1:-1:-1;;;;;3203:6:0;3213:10;3203:20;3195:65;;;;;-1:-1:-1;;;3195:65:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3195:65:0;;;;;;;;;;;;;;;5674:9:::1;::::0;5654:43:::1;::::0;-1:-1:-1;;;;;5654:43:0;;::::1;::::0;5674:9:::1;::::0;5654:43:::1;::::0;5674:9:::1;::::0;5654:43:::1;5708:9;:23:::0;;-1:-1:-1;;;;;;5708:23:0::1;-1:-1:-1::0;;;;;5708:23:0;;;::::1;::::0;;;::::1;::::0;;5566:173::o;9261:512::-;9423:10;9364:4;9405:29;;;:17;:29;;;;;;;;-1:-1:-1;;;;;9405:38:0;;;;;;;;;;9458:27;;;9454:205;;9520:10;9543:1;9502:29;;;:17;:29;;;;;;;;-1:-1:-1;;;;;9502:38:0;;;;;;;;;:42;9454:205;;;9618:29;:8;9631:15;9618:29;:12;:29;:::i;:::-;9595:10;9577:29;;;;:17;:29;;;;;;;;-1:-1:-1;;;;;9577:38:0;;;;;;;;;:70;9454:205;9683:10;9704:29;;;;:17;:29;;;;;;;;-1:-1:-1;;;;;9674:69:0;;9704:38;;;;;;;;;;;9674:69;;;;;;;;;9683:10;9674:69;;;;;;;;;;;-1:-1:-1;9761:4:0;;9261:512;-1:-1:-1;;;9261:512:0:o;7596:388::-;7703:4;7681:2;-1:-1:-1;;;;;4071:18:0;;4063:27;;;;;;-1:-1:-1;;;;;4109:19:0;;4123:4;4109:19;;4101:28;;;;;;7725:16:::1;7744:27;7754:16;;7744:5;:9;;:27;;;;:::i;:::-;7822:10;7809:24;::::0;;;:12:::1;:24;::::0;;;;;7725:46;;-1:-1:-1;7809:38:0::1;::::0;7725:46;7809:38:::1;:28;:38;:::i;:::-;7795:10;7782:24;::::0;;;:12:::1;:24;::::0;;;;;:65;;;;-1:-1:-1;;;;;7877:16:0;::::1;::::0;;;;:30:::1;::::0;7898:8;7877:30:::1;:20;:30;:::i;:::-;-1:-1:-1::0;;;;;7858:16:0;::::1;;::::0;;;:12:::1;:16;::::0;;;;;;;;:49;;;;7923:31;;;;;;;7858:16;;7932:10:::1;::::0;7923:31:::1;::::0;;;;;;;;::::1;-1:-1:-1::0;7972:4:0::1;::::0;7596:388;-1:-1:-1;;;;7596:388:0:o;9930:41::-;;;;:::o;2826:21::-;;;-1:-1:-1;;;;;2826:21:0;;:::o;10683:26::-;;;-1:-1:-1;;;;;10683:26:0;;:::o;5872:581::-;5942:7;3203:6;;-1:-1:-1;;;;;3203:6:0;3213:10;3203:20;3195:65;;;;;-1:-1:-1;;;3195:65:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3195:65:0;;;;;;;;;;;;;;;5970:5:::1;::::0;:12:::1;::::0;5980:1:::1;5970:12;:9;:12;:::i;:::-;5962:5;:20:::0;6013:2:::1;5996:19:::0;::::1;;::::0;:43:::1;;;6036:3;6019:13;:20;;5996:43;5993:83;;;6056:8;::::0;::::1;5993:83;6161:12;::::0;6121:13;;6161:43:::1;::::0;6200:3:::1;::::0;6161:34:::1;::::0;6121:13;6161:34:::1;:16;:34;:::i;7992:174::-:0;-1:-1:-1;;;;;8124:25:0;;;8092:7;8124:25;;;:17;:25;;;;;;;;:34;;;;;;;;;;;;;7992:174::o;3288:244::-;3203:6;;-1:-1:-1;;;;;3203:6:0;3213:10;3203:20;3195:65;;;;;-1:-1:-1;;;3195:65:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3195:65:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;3377:22:0;::::1;3369:73;;;;-1:-1:-1::0;;;3369:73:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3479:6;::::0;;3458:38:::1;::::0;-1:-1:-1;;;;;3458:38:0;;::::1;::::0;3479:6;::::1;::::0;3458:38:::1;::::0;::::1;3507:6;:17:::0;;-1:-1:-1;;;;;;3507:17:0::1;-1:-1:-1::0;;;;;3507:17:0;;;::::1;::::0;;;::::1;::::0;;3288:244::o;1361:181::-;1419:7;1451:5;;;1475:6;;;;1467:46;;;;;-1:-1:-1;;;1467:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;1533:1;1361:181;-1:-1:-1;;;1361:181:0:o;1550:136::-;1608:7;1635:43;1639:1;1642;1635:43;;;;;;;;;;;;;;;;;:3;:43::i;2152:132::-;2210:7;2237:39;2241:1;2244;2237:39;;;;;;;;;;;;;;;;;:3;:39::i;1894:250::-;1952:7;1976:6;1972:47;;-1:-1:-1;2006:1:0;1999:8;;1972:47;2043:5;;;2047:1;2043;:5;:1;2067:5;;;;;:10;2059:56;;;;-1:-1:-1;;;2059:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1694:192;1780:7;1816:12;1808:6;;;;1800:29;;;;-1:-1:-1;;;1800:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1800:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1852:5:0;;;1694:192::o;2292:191::-;2378:7;2413:12;2406:5;2398:28;;;;-1:-1:-1;;;2398:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;2398:28:0;;2437:9;2453:1;2449;:5;;;;;;;2292:191;-1:-1:-1;;;;;2292:191:0:o;3755:7636::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3755:7636:0;;;-1:-1:-1;3755:7636:0;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;

Swarm Source

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