Contract 0x9fda7ceec4c18008096c2fe2b85f05dc300f94d0 6

This token is updated based on the Multichain website.
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x38375ebad2f1bdac0c8a63f44dd9eef5a896b0dc99b91316d3b883dd629910e7Approve20079252022-10-04 17:59:2410 hrs 47 mins ago0x22ca6489431b138afc63c05ffd6760fb7996cc23 IN  Multichain: LDO Token0 GLMR0.004725434
0x32e32f9994b003e976572a790420434a0de4af9b14bdf23b532e1a5807b34f92Approve20078222022-10-04 17:38:3011 hrs 8 mins ago0x08a9b4221a84bb39faa7d6fe0f7664efec9511ac IN  Multichain: LDO Token0 GLMR0.004694984
0xaf5fe468dd5906b538c51a791d31e3858da913621b6a7cf064a1c5c4db8cbbc4Approve20075222022-10-04 16:37:4212 hrs 8 mins ago0x068c8fd8243a4f4147517fd1aa5f1aecad2cde0c IN  Multichain: LDO Token0 GLMR0.004725434
0xb5231deebb8b15f03c3ed6461f6b5a9ecd535bea642bd2909e0f25fe74186a6fApprove20059452022-10-04 11:16:3617 hrs 29 mins ago0x5e637e1dfaca86be23d8a5919f8d302910201be4 IN  Multichain: LDO Token0 GLMR0.004725434
0x8d348be7cae58039e79d0ea180c5af1d545970cf917fae4fec638ed7588e013fApprove20013692022-10-03 19:47:541 day 8 hrs ago0x7748cc032eebd802ddfd0eb29db65c02fe790e6b IN  Multichain: LDO Token0 GLMR0.004725434
0x1cd02d2f3a0ef93b7dd03c1c77b298bcf30b524a6c15a14604e035412d1d6abfApprove20008302022-10-03 17:58:061 day 10 hrs ago0x7457667ee63bca3c134f246af687091e7e259bc2 IN  Multichain: LDO Token0 GLMR0.004725434
0x1e72e1322908801e1e757f690acd55d66977fd1a83de4dc18cb8174a98d897e3Approve19984722022-10-03 9:58:301 day 18 hrs ago0x44034e2261ede365b20eb18b109ca3698c19ddc9 IN  Multichain: LDO Token0 GLMR0.0046556
0xa33ab584fc269fdf67fa40efd72421ebcd4457320a4b89b53817af5751ad46f8Approve19974212022-10-03 6:23:241 day 22 hrs ago0x89e637f255c7849b2c3527ce4287cc973ab08261 IN  Multichain: LDO Token0 GLMR0.004725434
0x69ea638c983e2277c9966b77d1a8621f5fca83cbc493b93ff9d195b482222c9aTransfer19925632022-10-02 13:54:122 days 14 hrs ago0x498ed995fd38a451f42a9df29c067339efe8ecfe IN  Multichain: LDO Token0 GLMR0.003962763
0x0312b14c0307d082d76d648a58def3174a9445cb8d153d95252fcc725a2d5e03Approve19912942022-10-02 9:35:362 days 19 hrs ago0x0cc6913ef776edc4ef90bde0888764ac305faad7 IN  Multichain: LDO Token0 GLMR0.00469742
0xa52655f754f01e11d7ff62e506d6456ae8289808a329cee3c9eff2a305daaf71Approve19898942022-10-02 4:50:182 days 23 hrs ago0xdc222b6d3ee34c29757d0c59cfc7358284841724 IN  Multichain: LDO Token0 GLMR0.004725434
0x8ed57c912e3c735f1e9df53ca45f57ea90e7400efd9108caabe6b171542cf299Approve19897752022-10-02 4:26:063 days 20 mins ago0x3a90117fbadfc94a65fdbb45493c51aaf4cdea27 IN  Multichain: LDO Token0 GLMR0.004725434
0x5cf1f2e9d242a4106e739a3fcc977e0508a7024cfb5aa98dfa105bbefd0b66d9Approve19881292022-10-01 22:48:543 days 5 hrs ago0xe44b88dadbac54ba75beaa07aae99b243b0b9f87 IN  Multichain: LDO Token0 GLMR0.004725434
0xa6107a5268bfb72730f0ae1da2f0aee982c72c8cf067d3d85c9374fb4dc740f2Approve19877582022-10-01 21:33:183 days 7 hrs ago0x7459a395eba4fe4b2993b4208d88c17ee97edae1 IN  Multichain: LDO Token0 GLMR0.004725434
0xdb2ce643db38744dc5134c16914384bd9b42daeb4f67275565f27175dfe5eec4Approve19861212022-10-01 15:57:363 days 12 hrs ago0xde34d04a331711a7ee5681679c177e0a3a26bd7d IN  Multichain: LDO Token0 GLMR0.004725434
0xd00e3bde5b4042b9acbb5d41cd0d3ee727db600d01e175ec8a01e8c09d6ded70Approve19847082022-10-01 11:08:243 days 17 hrs ago0x3b930709dffdf9dc9bcc7ce01c53a1d5554fff3a IN  Multichain: LDO Token0 GLMR0.004725434
0x7551e84450094e3491f7a3a1246655a04cd2db2925d5ea65bdce34fc83d2da5dApprove19833822022-10-01 6:38:303 days 22 hrs ago0x0b5f1d677bf33aa4b9d4f8ee4e7494888e9a97b7 IN  Multichain: LDO Token0 GLMR0.004725434
0x0400ded16ee11b8055cfd420f5a915e9a73cd17f82bc12d027b0e10bf02162bbApprove19806182022-09-30 21:15:304 days 7 hrs ago0xb0a71fc4af7deee2946b059114b0cd831acf62a0 IN  Multichain: LDO Token0 GLMR0.004725434
0xdf292657e1a39e1ccca8b05c12c786490435a53459bcded16bf113bd94624809Approve19795412022-09-30 17:36:424 days 11 hrs ago0xaaaa750ddd1ba90df7f7e63a519423c176c4aaaa IN  Multichain: LDO Token0 GLMR0.004725434
0xb43ff04b1d5da33fba2468ceae2be553af7e0380a81bbc288443f0b1b95c4333Transfer19788912022-09-30 15:22:424 days 13 hrs ago0x5bed880f6b2df611560003f05add9bfc1d7c774b IN  Multichain: LDO Token0 GLMR0.00395924922
0x27bdbe01f189bca8e8312e1da23c0424345f4e0ddf7f0f5cc97bfffad8932e05Approve19787892022-09-30 15:01:244 days 13 hrs ago0xaac359589d3df5c08e1306ea1d7e0c909b2ae69e IN  Multichain: LDO Token0 GLMR0.004725434
0xd1e0be17476aef2dfe0adc69d4b7acf68750cae33f96257f25e6974c01f4c5f3Approve19766052022-09-30 7:37:304 days 21 hrs ago0x8af2cc382a57ef846c147669e050a3e5a3804cdf IN  Multichain: LDO Token0 GLMR0.004725434
0x534090c96ae0ba4e3347ce12b57b089bf49ca7900ca0b974ca0fc1b5071eef7eApprove19761852022-09-30 6:11:424 days 22 hrs ago0xa69e7a9147602a051ae127c128961fbd2e1754e5 IN  Multichain: LDO Token0 GLMR0.004795268
0xdca85164fc3b5f057447557e66023ecea69cd99724a555c0594302d0e651f897Approve19728202022-09-29 18:42:305 days 10 hrs ago0xf90ab1b981aa9c6a943a915f6c6b3911fd166528 IN  Multichain: LDO Token0 GLMR0.004725434
0x82de8862a98a06eec2e4d6eb5e54e4f0a5156cbe1e6f0d0f71514808ae0c9518Approve19724672022-09-29 17:30:065 days 11 hrs ago0x360710ca66587613b7ea6ff777c724933bdad1c2 IN  Multichain: LDO Token0 GLMR0.004725434
[ Download CSV Export 

OVERVIEW

Bridged LDO Token of Multichain.

Parent Txn Hash Block From To Value
Loading

Similar Match Source Code
Note: This contract matches the deployed ByteCode of the Source Code for Contract 0x3b25bc1dc591d24d60560d0135d6750a561d4764

Contract Name:
AnyswapV6ERC20

Compiler Version
v0.8.14+commit.80d49f37

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at moonbeam.moonscan.io on 2022-05-26
*/

/**
 *Submitted for verification at Etherscan.io on 2022-05-20
*/

/**
 *Submitted for verification at BscScan.com on 2022-05-20
*/

// SPDX-License-Identifier: GPL-3.0-or-later

pragma solidity ^0.8.2;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

library Address {
    function isContract(address account) internal view returns (bool) {
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly { codehash := extcodehash(account) }
        return (codehash != 0x0 && codehash != accountHash);
    }
}

library SafeERC20 {
    using Address for address;

    function safeTransfer(IERC20 token, address to, uint value) internal {
        callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value));
    }

    function safeTransferFrom(IERC20 token, address from, address to, uint value) internal {
        callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value));
    }

    function safeApprove(IERC20 token, address spender, uint value) internal {
        require((value == 0) || (token.allowance(address(this), spender) == 0),
            "SafeERC20: approve from non-zero to non-zero allowance"
        );
        callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value));
    }
    function callOptionalReturn(IERC20 token, bytes memory data) private {
        require(address(token).isContract(), "SafeERC20: call to non-contract");

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = address(token).call(data);
        require(success, "SafeERC20: low-level call failed");

        if (returndata.length > 0) { // Return data is optional
            // solhint-disable-next-line max-line-length
            require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed");
        }
    }
}

contract AnyswapV6ERC20 is IERC20 {
    using SafeERC20 for IERC20;
    string public name;
    string public symbol;
    uint8  public immutable override decimals;

    address public immutable underlying;
    bool public constant underlyingIsMinted = false;

    /// @dev Records amount of AnyswapV6ERC20 token owned by account.
    mapping (address => uint256) public override balanceOf;
    uint256 private _totalSupply;

    // init flag for setting immediate vault, needed for CREATE2 support
    bool private _init;

    // flag to enable/disable swapout vs vault.burn so multiple events are triggered
    bool private _vaultOnly;

    // delay for timelock functions
    uint public constant DELAY = 2 days;

    // set of minters, can be this bridge or other bridges
    mapping(address => bool) public isMinter;
    address[] public minters;

    // primary controller of the token contract
    address public vault;

    address public pendingMinter;
    uint public delayMinter;

    address public pendingVault;
    uint public delayVault;

    modifier onlyAuth() {
        require(isMinter[msg.sender], "AnyswapV6ERC20: FORBIDDEN");
        _;
    }

    modifier onlyVault() {
        require(msg.sender == vault, "AnyswapV6ERC20: FORBIDDEN");
        _;
    }

    function owner() external view returns (address) {
        return vault;
    }

    function mpc() external view returns (address) {
        return vault;
    }

    function setVaultOnly(bool enabled) external onlyVault {
        _vaultOnly = enabled;
    }

    function initVault(address _vault) external onlyVault {
        require(_init);
        _init = false;
        vault = _vault;
        isMinter[_vault] = true;
        minters.push(_vault);
    }

    function setVault(address _vault) external onlyVault {
        require(_vault != address(0), "AnyswapV6ERC20: address(0)");
        pendingVault = _vault;
        delayVault = block.timestamp + DELAY;
    }

    function applyVault() external onlyVault {
        require(pendingVault != address(0) && block.timestamp >= delayVault);
        vault = pendingVault;

        pendingVault = address(0);
        delayVault = 0;
    }

    function setMinter(address _auth) external onlyVault {
        require(_auth != address(0), "AnyswapV6ERC20: address(0)");
        pendingMinter = _auth;
        delayMinter = block.timestamp + DELAY;
    }

    function applyMinter() external onlyVault {
        require(pendingMinter != address(0) && block.timestamp >= delayMinter);
        isMinter[pendingMinter] = true;
        minters.push(pendingMinter);

        pendingMinter = address(0);
        delayMinter = 0;
    }

    // No time delay revoke minter emergency function
    function revokeMinter(address _auth) external onlyVault {
        isMinter[_auth] = false;
    }

    function getAllMinters() external view returns (address[] memory) {
        return minters;
    }

    function changeVault(address newVault) external onlyVault returns (bool) {
        require(newVault != address(0), "AnyswapV6ERC20: address(0)");
        emit LogChangeVault(vault, newVault, block.timestamp);
        vault = newVault;
        pendingVault = address(0);
        delayVault = 0;
        return true;
    }

    function mint(address to, uint256 amount) external onlyAuth returns (bool) {
        _mint(to, amount);
        return true;
    }

    function burn(address from, uint256 amount) external onlyAuth returns (bool) {
        _burn(from, amount);
        return true;
    }

    function Swapin(bytes32 txhash, address account, uint256 amount) external onlyAuth returns (bool) {
        if (underlying != address(0) && IERC20(underlying).balanceOf(address(this)) >= amount) {
            IERC20(underlying).safeTransfer(account, amount);
        } else {
            _mint(account, amount);
        }
        emit LogSwapin(txhash, account, amount);
        return true;
    }

    function Swapout(uint256 amount, address bindaddr) external returns (bool) {
        require(!_vaultOnly, "AnyswapV6ERC20: vaultOnly");
        require(bindaddr != address(0), "AnyswapV6ERC20: address(0)");
        if (underlying != address(0) && balanceOf[msg.sender] < amount) {
            IERC20(underlying).safeTransferFrom(msg.sender, address(this), amount);
        } else {
            _burn(msg.sender, amount);
        }
        emit LogSwapout(msg.sender, bindaddr, amount);
        return true;
    }

    /// @dev Records number of AnyswapV6ERC20 token that account (second) will be allowed to spend on behalf of another account (first) through {transferFrom}.
    mapping (address => mapping (address => uint256)) public override allowance;

    event LogChangeVault(address indexed oldVault, address indexed newVault, uint indexed effectiveTime);
    event LogSwapin(bytes32 indexed txhash, address indexed account, uint amount);
    event LogSwapout(address indexed account, address indexed bindaddr, uint amount);

    constructor(string memory _name, string memory _symbol, uint8 _decimals, address _underlying, address _vault) {
        name = _name;
        symbol = _symbol;
        decimals = _decimals;
        underlying = _underlying;
        if (_underlying != address(0)) {
            require(_decimals == IERC20(_underlying).decimals());
        }

        // Use init to allow for CREATE2 accross all chains
        _init = true;

        // Disable/Enable swapout for v1 tokens vs mint/burn for v3 tokens
        _vaultOnly = false;

        vault = _vault;
    }

    /// @dev Returns the total supply of AnyswapV6ERC20 token as the ETH held in this contract.
    function totalSupply() external view override returns (uint256) {
        return _totalSupply;
    }

    function deposit() external returns (uint) {
        uint _amount = IERC20(underlying).balanceOf(msg.sender);
        IERC20(underlying).safeTransferFrom(msg.sender, address(this), _amount);
        return _deposit(_amount, msg.sender);
    }

    function deposit(uint amount) external returns (uint) {
        IERC20(underlying).safeTransferFrom(msg.sender, address(this), amount);
        return _deposit(amount, msg.sender);
    }

    function deposit(uint amount, address to) external returns (uint) {
        IERC20(underlying).safeTransferFrom(msg.sender, address(this), amount);
        return _deposit(amount, to);
    }

    function depositVault(uint amount, address to) external onlyVault returns (uint) {
        return _deposit(amount, to);
    }

    function _deposit(uint amount, address to) internal returns (uint) {
        require(!underlyingIsMinted);
        require(underlying != address(0) && underlying != address(this));
        _mint(to, amount);
        return amount;
    }

    function withdraw() external returns (uint) {
        return _withdraw(msg.sender, balanceOf[msg.sender], msg.sender);
    }

    function withdraw(uint amount) external returns (uint) {
        return _withdraw(msg.sender, amount, msg.sender);
    }

    function withdraw(uint amount, address to) external returns (uint) {
        return _withdraw(msg.sender, amount, to);
    }

    function withdrawVault(address from, uint amount, address to) external onlyVault returns (uint) {
        return _withdraw(from, amount, to);
    }

    function _withdraw(address from, uint amount, address to) internal returns (uint) {
        require(!underlyingIsMinted);
        require(underlying != address(0) && underlying != address(this));
        _burn(from, amount);
        IERC20(underlying).safeTransfer(to, amount);
        return amount;
    }

    /** @dev Creates `amount` tokens and assigns them to `account`, increasing
     * the total supply.
     *
     * Emits a {Transfer} event with `from` set to the zero address.
     *
     * Requirements
     *
     * - `to` cannot be the zero address.
     */
    function _mint(address account, uint256 amount) internal {
        require(account != address(0), "ERC20: mint to the zero address");

        _totalSupply += amount;
        balanceOf[account] += amount;
        emit Transfer(address(0), account, amount);
    }

    /**
     * @dev Destroys `amount` tokens from `account`, reducing the
     * total supply.
     *
     * Emits a {Transfer} event with `to` set to the zero address.
     *
     * Requirements
     *
     * - `account` cannot be the zero address.
     * - `account` must have at least `amount` tokens.
     */
    function _burn(address account, uint256 amount) internal {
        require(account != address(0), "ERC20: burn from the zero address");

        uint256 balance = balanceOf[account];
        require(balance >= amount, "ERC20: burn amount exceeds balance");

        balanceOf[account] = balance - amount;
        _totalSupply -= amount;
        emit Transfer(account, address(0), amount);
    }

    /// @dev Sets `value` as allowance of `spender` account over caller account's AnyswapV6ERC20 token.
    /// Emits {Approval} event.
    /// Returns boolean value indicating whether operation succeeded.
    function approve(address spender, uint256 value) external override returns (bool) {
        allowance[msg.sender][spender] = value;
        emit Approval(msg.sender, spender, value);

        return true;
    }

    /// @dev Moves `value` AnyswapV6ERC20 token from caller's account to account (`to`).
    /// Emits {Transfer} event.
    /// Returns boolean value indicating whether operation succeeded.
    /// Requirements:
    ///   - caller account must have at least `value` AnyswapV6ERC20 token.
    function transfer(address to, uint256 value) external override returns (bool) {
        require(to != address(0) && to != address(this));
        uint256 balance = balanceOf[msg.sender];
        require(balance >= value, "AnyswapV6ERC20: transfer amount exceeds balance");

        balanceOf[msg.sender] = balance - value;
        balanceOf[to] += value;
        emit Transfer(msg.sender, to, value);

        return true;
    }

    /// @dev Moves `value` AnyswapV6ERC20 token from account (`from`) to account (`to`) using allowance mechanism.
    /// `value` is then deducted from caller account's allowance, unless set to `type(uint256).max`.
    /// Emits {Approval} event to reflect reduced allowance `value` for caller account to spend from account (`from`),
    /// unless allowance is set to `type(uint256).max`
    /// Emits {Transfer} event.
    /// Returns boolean value indicating whether operation succeeded.
    /// Requirements:
    ///   - `from` account must have at least `value` balance of AnyswapV6ERC20 token.
    ///   - `from` account must have approved caller to spend at least `value` of AnyswapV6ERC20 token, unless `from` and caller are the same account.
    function transferFrom(address from, address to, uint256 value) external override returns (bool) {
        require(to != address(0) && to != address(this));
        if (from != msg.sender) {
            uint256 allowed = allowance[from][msg.sender];
            if (allowed != type(uint256).max) {
                require(allowed >= value, "AnyswapV6ERC20: request exceeds allowance");
                uint256 reduced = allowed - value;
                allowance[from][msg.sender] = reduced;
                emit Approval(from, msg.sender, reduced);
            }
        }

        uint256 balance = balanceOf[from];
        require(balance >= value, "AnyswapV6ERC20: transfer amount exceeds balance");

        balanceOf[from] = balance - value;
        balanceOf[to] += value;
        emit Transfer(from, to, value);

        return true;
    }
}

Contract ABI

[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint8","name":"_decimals","type":"uint8"},{"internalType":"address","name":"_underlying","type":"address"},{"internalType":"address","name":"_vault","type":"address"}],"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":"oldVault","type":"address"},{"indexed":true,"internalType":"address","name":"newVault","type":"address"},{"indexed":true,"internalType":"uint256","name":"effectiveTime","type":"uint256"}],"name":"LogChangeVault","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"txhash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"LogSwapin","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"bindaddr","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"LogSwapout","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DELAY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"txhash","type":"bytes32"},{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Swapin","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"bindaddr","type":"address"}],"name":"Swapout","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"applyMinter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"applyVault","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newVault","type":"address"}],"name":"changeVault","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"delayMinter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"delayVault","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"to","type":"address"}],"name":"deposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"deposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"to","type":"address"}],"name":"depositVault","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getAllMinters","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_vault","type":"address"}],"name":"initVault","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMinter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"minters","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mpc","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingMinter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingVault","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_auth","type":"address"}],"name":"revokeMinter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_auth","type":"address"}],"name":"setMinter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_vault","type":"address"}],"name":"setVault","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setVaultOnly","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"underlying","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"underlyingIsMinted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"vault","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"to","type":"address"}],"name":"withdraw","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdraw","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"to","type":"address"}],"name":"withdrawVault","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"}]

60c06040523480156200001157600080fd5b50604051620021e0380380620021e08339810160408190526200003491620002cf565b8451620000499060009060208801906200012d565b5083516200005f9060019060208701906200012d565b5060ff83166080526001600160a01b03821660a081905215620000f357816001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015620000bb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000e1919062000371565b60ff168360ff1614620000f357600080fd5b6004805461ffff19166001179055600780546001600160a01b039092166001600160a01b031990921691909117905550620003d292505050565b8280546200013b9062000396565b90600052602060002090601f0160209004810192826200015f5760008555620001aa565b82601f106200017a57805160ff1916838001178555620001aa565b82800160010185558215620001aa579182015b82811115620001aa5782518255916020019190600101906200018d565b50620001b8929150620001bc565b5090565b5b80821115620001b85760008155600101620001bd565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620001fb57600080fd5b81516001600160401b0380821115620002185762000218620001d3565b604051601f8301601f19908116603f01168101908282118183101715620002435762000243620001d3565b816040528381526020925086838588010111156200026057600080fd5b600091505b8382101562000284578582018301518183018401529082019062000265565b83821115620002965760008385830101525b9695505050505050565b805160ff81168114620002b257600080fd5b919050565b80516001600160a01b0381168114620002b257600080fd5b600080600080600060a08688031215620002e857600080fd5b85516001600160401b03808211156200030057600080fd5b6200030e89838a01620001e9565b965060208801519150808211156200032557600080fd5b506200033488828901620001e9565b9450506200034560408701620002a0565b92506200035560608701620002b7565b91506200036560808701620002b7565b90509295509295909350565b6000602082840312156200038457600080fd5b6200038f82620002a0565b9392505050565b600181811c90821680620003ab57607f821691505b602082108103620003cc57634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a051611d866200045a600039600081816103f701528181610c4c01528181610ca201528181610da301528181610f8d0152818161109d01528181611117015281816111fb01528181611243015281816112cb015281816113bf015281816113f20152818161143e015281816116f40152611727015260006103220152611d866000f3fe608060405234801561001057600080fd5b506004361061025c5760003560e01c806387689e2811610146578063c3081240116100c3578063d93f244511610087578063d93f244514610544578063dd62ed3e1461054c578063ec126c7714610577578063f75c266414610455578063fbfa77cf1461058a578063fca3b5aa1461059d57600080fd5b8063c308124014610505578063c4b740f51461050e578063cfbd488514610521578063d0e30db014610534578063d6c797511461053c57600080fd5b8063a045442c1161010a578063a045442c14610494578063a9059cbb146104a9578063aa271e1a146104bc578063b6b55f25146104df578063bebbf4d0146104f257600080fd5b806387689e281461044c5780638da5cb5b1461045557806391c5df491461046657806395d89b41146104795780639dc29fac1461048157600080fd5b80633ccfd60b116101df5780636817031b116101a35780636817031b146103c257806369b41170146103d55780636e553f65146103df5780636f307dc3146103f257806370a08231146104195780638623ec7b1461043957600080fd5b80633ccfd60b1461035657806340c10f191461035e57806352113ba71461037157806360e232a91461039c578063628d6cba146103af57600080fd5b806318160ddd1161022657806318160ddd146102dc57806323b872dd146102e45780632e1a7d4d146102f75780632ebe3fbb1461030a578063313ce5671461031d57600080fd5b806239d6ec14610261578062f714ce1461028757806306fdde031461029a578063095ea7b3146102af5780630d707df8146102d2575b600080fd5b61027461026f366004611977565b6105b0565b6040519081526020015b60405180910390f35b6102746102953660046119b3565b6105f9565b6102a261060d565b60405161027e9190611a0b565b6102c26102bd366004611a3e565b61069b565b604051901515815260200161027e565b6102da610707565b005b600354610274565b6102c26102f2366004611a68565b6107d6565b610274610305366004611aa4565b6109d4565b6102da610318366004611abd565b6109e7565b6103447f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff909116815260200161027e565b610274610aa1565b6102c261036c366004611a3e565b610ac2565b600a54610384906001600160a01b031681565b6040516001600160a01b03909116815260200161027e565b6102c26103aa366004611abd565b610b04565b6102c26103bd3660046119b3565b610bc9565b6102da6103d0366004611abd565b610d16565b6102746202a30081565b6102746103ed3660046119b3565b610d94565b6103847f000000000000000000000000000000000000000000000000000000000000000081565b610274610427366004611abd565b60026020526000908152604090205481565b610384610447366004611aa4565b610dd5565b610274600b5481565b6007546001600160a01b0316610384565b600854610384906001600160a01b031681565b6102a2610dff565b6102c261048f366004611a3e565b610e0c565b61049c610e45565b60405161027e9190611ad8565b6102c26104b7366004611a3e565b610ea7565b6102c26104ca366004611abd565b60056020526000908152604090205460ff1681565b6102746104ed366004611aa4565b610f7e565b6102746105003660046119b3565b610fbf565b61027460095481565b6102da61051c366004611b36565b610fec565b6102da61052f366004611abd565b611030565b61027461107b565b6102c2600081565b6102da61114f565b61027461055a366004611b53565b600c60209081526000928352604080842090915290825290205481565b6102c2610585366004611b7d565b6111ca565b600754610384906001600160a01b031681565b6102da6105ab366004611abd565b61133d565b6007546000906001600160a01b031633146105e65760405162461bcd60e51b81526004016105dd90611ba2565b60405180910390fd5b6105f18484846113bb565b949350505050565b60006106063384846113bb565b9392505050565b6000805461061a90611bd9565b80601f016020809104026020016040519081016040528092919081815260200182805461064690611bd9565b80156106935780601f1061066857610100808354040283529160200191610693565b820191906000526020600020905b81548152906001019060200180831161067657829003601f168201915b505050505081565b336000818152600c602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906106f69086815260200190565b60405180910390a350600192915050565b6007546001600160a01b031633146107315760405162461bcd60e51b81526004016105dd90611ba2565b6008546001600160a01b03161580159061074d57506009544210155b61075657600080fd5b600880546001600160a01b0390811660009081526005602052604081208054600160ff199091168117909155835460068054928301815583527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f9091018054919093166001600160a01b0319918216179092558254909116909155600955565b60006001600160a01b038316158015906107f957506001600160a01b0383163014155b61080257600080fd5b6001600160a01b038416331461090e576001600160a01b0384166000908152600c60209081526040808320338452909152902054600019811461090c57828110156108a15760405162461bcd60e51b815260206004820152602960248201527f416e7973776170563645524332303a2072657175657374206578636565647320604482015268616c6c6f77616e636560b81b60648201526084016105dd565b60006108ad8483611c29565b6001600160a01b0387166000818152600c6020908152604080832033808552908352928190208590555184815293945090927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505b505b6001600160a01b038416600090815260026020526040902054828110156109475760405162461bcd60e51b81526004016105dd90611c40565b6109518382611c29565b6001600160a01b038087166000908152600260205260408082209390935590861681529081208054859290610987908490611c8f565b92505081905550836001600160a01b0316856001600160a01b0316600080516020611d31833981519152856040516109c191815260200190565b60405180910390a3506001949350505050565b60006109e13383336113bb565b92915050565b6007546001600160a01b03163314610a115760405162461bcd60e51b81526004016105dd90611ba2565b60045460ff16610a2057600080fd5b6004805460ff19908116909155600780546001600160a01b039093166001600160a01b0319938416811790915560008181526005602052604081208054909316600190811790935560068054938401815590527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f9091018054909216179055565b336000818152600260205260408120549091610abd91816113bb565b905090565b3360009081526005602052604081205460ff16610af15760405162461bcd60e51b81526004016105dd90611ba2565b610afb838361146d565b50600192915050565b6007546000906001600160a01b03163314610b315760405162461bcd60e51b81526004016105dd90611ba2565b6001600160a01b038216610b575760405162461bcd60e51b81526004016105dd90611ca7565b60075460405142916001600160a01b03808616929116907f5c364079e7102c27c608f9b237c735a1b7bfa0b67f27c2ad26bad447bf965cac90600090a450600780546001600160a01b0383166001600160a01b031991821617909155600a805490911690556000600b5560015b919050565b600454600090610100900460ff1615610c245760405162461bcd60e51b815260206004820152601960248201527f416e7973776170563645524332303a207661756c744f6e6c790000000000000060448201526064016105dd565b6001600160a01b038216610c4a5760405162461bcd60e51b81526004016105dd90611ca7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031615801590610c9057503360009081526002602052604090205483115b15610ccf57610cca6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308661153a565b610cd9565b610cd933846115ab565b6040518381526001600160a01b0383169033907f6b616089d04950dc06c45c6dd787d657980543f89651aec47924752c7d16c888906020016106f6565b6007546001600160a01b03163314610d405760405162461bcd60e51b81526004016105dd90611ba2565b6001600160a01b038116610d665760405162461bcd60e51b81526004016105dd90611ca7565b600a80546001600160a01b0319166001600160a01b038316179055610d8e6202a30042611c8f565b600b5550565b6000610dcb6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308661153a565b61060683836116f0565b60068181548110610de557600080fd5b6000918252602090912001546001600160a01b0316905081565b6001805461061a90611bd9565b3360009081526005602052604081205460ff16610e3b5760405162461bcd60e51b81526004016105dd90611ba2565b610afb83836115ab565b60606006805480602002602001604051908101604052809291908181526020018280548015610e9d57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610e7f575b5050505050905090565b60006001600160a01b03831615801590610eca57506001600160a01b0383163014155b610ed357600080fd5b3360009081526002602052604090205482811015610f035760405162461bcd60e51b81526004016105dd90611c40565b610f0d8382611c29565b33600090815260026020526040808220929092556001600160a01b03861681529081208054859290610f40908490611c8f565b90915550506040518381526001600160a01b038516903390600080516020611d31833981519152906020015b60405180910390a35060019392505050565b6000610fb56001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308561153a565b6109e182336116f0565b6007546000906001600160a01b03163314610dcb5760405162461bcd60e51b81526004016105dd90611ba2565b6007546001600160a01b031633146110165760405162461bcd60e51b81526004016105dd90611ba2565b600480549115156101000261ff0019909216919091179055565b6007546001600160a01b0316331461105a5760405162461bcd60e51b81526004016105dd90611ba2565b6001600160a01b03166000908152600560205260409020805460ff19169055565b6040516370a0823160e01b815233600482015260009081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa1580156110e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111089190611cde565b905061113f6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308461153a565b61114981336116f0565b91505090565b6007546001600160a01b031633146111795760405162461bcd60e51b81526004016105dd90611ba2565b600a546001600160a01b0316158015906111955750600b544210155b61119e57600080fd5b600a8054600780546001600160a01b03199081166001600160a01b038416179091551690556000600b55565b3360009081526005602052604081205460ff166111f95760405162461bcd60e51b81526004016105dd90611ba2565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316158015906112b957506040516370a0823160e01b815230600482015282907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611292573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b69190611cde565b10155b156112f7576112f26001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016848461176d565b611301565b611301838361146d565b826001600160a01b0316847f05d0634fe981be85c22e2942a880821b70095d84e152c3ea3c17a4e4250d9d6184604051610f6c91815260200190565b6007546001600160a01b031633146113675760405162461bcd60e51b81526004016105dd90611ba2565b6001600160a01b03811661138d5760405162461bcd60e51b81526004016105dd90611ca7565b600880546001600160a01b0319166001600160a01b0383161790556113b56202a30042611c8f565b60095550565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161580159061141e57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163014155b61142757600080fd5b61143184846115ab565b6114656001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016838561176d565b509092915050565b6001600160a01b0382166114c35760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016105dd565b80600360008282546114d59190611c8f565b90915550506001600160a01b03821660009081526002602052604081208054839290611502908490611c8f565b90915550506040518181526001600160a01b03831690600090600080516020611d318339815191529060200160405180910390a35050565b6040516001600160a01b03808516602483015283166044820152606481018290526115a59085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526117a2565b50505050565b6001600160a01b03821661160b5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016105dd565b6001600160a01b0382166000908152600260205260409020548181101561167f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016105dd565b6116898282611c29565b6001600160a01b038416600090815260026020526040812091909155600380548492906116b7908490611c29565b90915550506040518281526000906001600160a01b03851690600080516020611d318339815191529060200160405180910390a3505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161580159061175357507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163014155b61175c57600080fd5b611766828461146d565b5090919050565b6040516001600160a01b03831660248201526044810182905261179d90849063a9059cbb60e01b9060640161156e565b505050565b6117b4826001600160a01b0316611929565b6118005760405162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e74726163740060448201526064016105dd565b600080836001600160a01b03168360405161181b9190611cf7565b6000604051808303816000865af19150503d8060008114611858576040519150601f19603f3d011682016040523d82523d6000602084013e61185d565b606091505b5091509150816118af5760405162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656460448201526064016105dd565b8051156115a557808060200190518101906118ca9190611d13565b6115a55760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016105dd565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081158015906105f15750141592915050565b80356001600160a01b0381168114610bc457600080fd5b60008060006060848603121561198c57600080fd5b61199584611960565b9250602084013591506119aa60408501611960565b90509250925092565b600080604083850312156119c657600080fd5b823591506119d660208401611960565b90509250929050565b60005b838110156119fa5781810151838201526020016119e2565b838111156115a55750506000910152565b6020815260008251806020840152611a2a8160408501602087016119df565b601f01601f19169190910160400192915050565b60008060408385031215611a5157600080fd5b611a5a83611960565b946020939093013593505050565b600080600060608486031215611a7d57600080fd5b611a8684611960565b9250611a9460208501611960565b9150604084013590509250925092565b600060208284031215611ab657600080fd5b5035919050565b600060208284031215611acf57600080fd5b61060682611960565b6020808252825182820181905260009190848201906040850190845b81811015611b195783516001600160a01b031683529284019291840191600101611af4565b50909695505050505050565b8015158114611b3357600080fd5b50565b600060208284031215611b4857600080fd5b813561060681611b25565b60008060408385031215611b6657600080fd5b611b6f83611960565b91506119d660208401611960565b600080600060608486031215611b9257600080fd5b83359250611a9460208501611960565b60208082526019908201527f416e7973776170563645524332303a20464f5242494444454e00000000000000604082015260600190565b600181811c90821680611bed57607f821691505b602082108103611c0d57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600082821015611c3b57611c3b611c13565b500390565b6020808252602f908201527f416e7973776170563645524332303a207472616e7366657220616d6f756e742060408201526e657863656564732062616c616e636560881b606082015260800190565b60008219821115611ca257611ca2611c13565b500190565b6020808252601a908201527f416e7973776170563645524332303a2061646472657373283029000000000000604082015260600190565b600060208284031215611cf057600080fd5b5051919050565b60008251611d098184602087016119df565b9190910192915050565b600060208284031215611d2557600080fd5b815161060681611b2556feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212201c49dbeb9d894f8c455ac820ce5781647d0eeb515f3c243bb3e39e4954821e0564736f6c634300080e003300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fa9da51631268a30ec3ddd1ccbf46c65fad99251000000000000000000000000000000000000000000000000000000000000000b48756d616e20546f6b656e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003484d540000000000000000000000000000000000000000000000000000000000

Deployed ByteCode Sourcemap

2831:11904:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10172:149;;;;;;:::i;:::-;;:::i;:::-;;;671:25:1;;;659:2;644:18;10172:149:0;;;;;;;;10038:126;;;;;;:::i;:::-;;:::i;2905:18::-;;;:::i;:::-;;;;;;;:::i;12142:215::-;;;;;;:::i;:::-;;:::i;:::-;;;2041:14:1;;2034:22;2016:41;;2004:2;1989:18;12142:215:0;1876:187:1;5309:275:0;;;:::i;:::-;;8628:102;8710:12;;8628:102;;13866:866;;;;;;:::i;:::-;;:::i;9908:122::-;;;;;;:::i;:::-;;:::i;4434:201::-;;;;;;:::i;:::-;;:::i;2957:41::-;;;;;;;;2949:4:1;2937:17;;;2919:36;;2907:2;2892:18;2957:41:0;2777:184:1;9774:126:0;;;:::i;6195:133::-;;;;;;:::i;:::-;;:::i;3859:27::-;;;;;-1:-1:-1;;;;;3859:27:0;;;;;;-1:-1:-1;;;;;3130:32:1;;;3112:51;;3100:2;3085:18;3859:27:0;2966:203:1;5860:327:0;;;;;;:::i;:::-;;:::i;6894:522::-;;;;;;:::i;:::-;;:::i;4643:210::-;;;;;;:::i;:::-;;:::i;3530:35::-;;3559:6;3530:35;;9189:193;;;;;;:::i;:::-;;:::i;3007:35::-;;;;;3176:54;;;;;;:::i;:::-;;;;;;;;;;;;;;3681:24;;;;;;:::i;:::-;;:::i;3893:22::-;;;;;;4158:80;4225:5;;-1:-1:-1;;;;;4225:5:0;4158:80;;3792:28;;;;;-1:-1:-1;;;;;3792:28:0;;;2930:20;;;:::i;6336:137::-;;;;;;:::i;:::-;;:::i;5753:99::-;;;:::i;:::-;;;;;;;:::i;12659:438::-;;;;;;:::i;:::-;;:::i;3634:40::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;8992:189;;;;;;:::i;:::-;;:::i;9390:127::-;;;;;;:::i;:::-;;:::i;3827:23::-;;;;;;4332:94;;;;;;:::i;:::-;;:::i;5647:98::-;;;;;;:::i;:::-;;:::i;8738:246::-;;;:::i;3049:47::-;;3091:5;3049:47;;4861:222;;;:::i;7585:75::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;6481:405;;;;;;:::i;:::-;;:::i;3763:20::-;;;;;-1:-1:-1;;;;;3763:20:0;;;5091:210;;;;;;:::i;:::-;;:::i;10172:149::-;4095:5;;10262:4;;-1:-1:-1;;;;;4095:5:0;4081:10;:19;4073:57;;;;-1:-1:-1;;;4073:57:0;;;;;;;:::i;:::-;;;;;;;;;10286:27:::1;10296:4;10302:6;10310:2;10286:9;:27::i;:::-;10279:34:::0;10172:149;-1:-1:-1;;;;10172:149:0:o;10038:126::-;10099:4;10123:33;10133:10;10145:6;10153:2;10123:9;:33::i;:::-;10116:40;10038:126;-1:-1:-1;;;10038:126:0:o;2905:18::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;12142:215::-;12245:10;12218:4;12235:21;;;:9;:21;;;;;;;;-1:-1:-1;;;;;12235:30:0;;;;;;;;;;:38;;;12289:36;12218:4;;12235:30;;12289:36;;;;12268:5;671:25:1;;659:2;644:18;;525:177;12289:36:0;;;;;;;;-1:-1:-1;12345:4:0;12142:215;;;;:::o;5309:275::-;4095:5;;-1:-1:-1;;;;;4095:5:0;4081:10;:19;4073:57;;;;-1:-1:-1;;;4073:57:0;;;;;;;:::i;:::-;5370:13:::1;::::0;-1:-1:-1;;;;;5370:13:0::1;:27:::0;;::::1;::::0;:61:::1;;;5420:11;;5401:15;:30;;5370:61;5362:70;;;::::0;::::1;;5452:13;::::0;;-1:-1:-1;;;;;5452:13:0;;::::1;5443:23;::::0;;;:8:::1;:23;::::0;;;;:30;;5469:4:::1;-1:-1:-1::0;;5443:30:0;;::::1;::::0;::::1;::::0;;;5497:13;;5484:7:::1;:27:::0;;;;::::1;::::0;;;;;;;::::1;::::0;;5497:13;;;::::1;-1:-1:-1::0;;;;;;5484:27:0;;::::1;;::::0;;;5524:26;;;;::::1;::::0;;;5561:11:::1;:15:::0;5309:275::o;13866:866::-;13956:4;-1:-1:-1;;;;;13981:16:0;;;;;;:39;;-1:-1:-1;;;;;;14001:19:0;;14015:4;14001:19;;13981:39;13973:48;;;;;;-1:-1:-1;;;;;14036:18:0;;14044:10;14036:18;14032:416;;-1:-1:-1;;;;;14089:15:0;;14071;14089;;;:9;:15;;;;;;;;14105:10;14089:27;;;;;;;;-1:-1:-1;;14135:28:0;;14131:306;;14203:5;14192:7;:16;;14184:70;;;;-1:-1:-1;;;14184:70:0;;5739:2:1;14184:70:0;;;5721:21:1;5778:2;5758:18;;;5751:30;5817:34;5797:18;;;5790:62;-1:-1:-1;;;5868:18:1;;;5861:39;5917:19;;14184:70:0;5537:405:1;14184:70:0;14273:15;14291;14301:5;14291:7;:15;:::i;:::-;-1:-1:-1;;;;;14325:15:0;;;;;;:9;:15;;;;;;;;14341:10;14325:27;;;;;;;;;;:37;;;14386:35;671:25:1;;;14325:37:0;;-1:-1:-1;14341:10:0;;14386:35;;644:18:1;14386:35:0;;;;;;;14165:272;14131:306;14056:392;14032:416;-1:-1:-1;;;;;14478:15:0;;14460;14478;;;:9;:15;;;;;;14512:16;;;;14504:76;;;;-1:-1:-1;;;14504:76:0;;;;;;;:::i;:::-;14611:15;14621:5;14611:7;:15;:::i;:::-;-1:-1:-1;;;;;14593:15:0;;;;;;;:9;:15;;;;;;:33;;;;14637:13;;;;;;;;:22;;14654:5;;14593:15;14637:22;;14654:5;;14637:22;:::i;:::-;;;;;;;;14690:2;-1:-1:-1;;;;;14675:25:0;14684:4;-1:-1:-1;;;;;14675:25:0;-1:-1:-1;;;;;;;;;;;14694:5:0;14675:25;;;;671::1;;659:2;644:18;;525:177;14675:25:0;;;;;;;;-1:-1:-1;14720:4:0;;13866:866;-1:-1:-1;;;;13866:866:0:o;9908:122::-;9957:4;9981:41;9991:10;10003:6;10011:10;9981:9;:41::i;:::-;9974:48;9908:122;-1:-1:-1;;9908:122:0:o;4434:201::-;4095:5;;-1:-1:-1;;;;;4095:5:0;4081:10;:19;4073:57;;;;-1:-1:-1;;;4073:57:0;;;;;;;:::i;:::-;4507:5:::1;::::0;::::1;;4499:14;;;::::0;::::1;;4524:5;:13:::0;;-1:-1:-1;;4524:13:0;;::::1;::::0;;;4548:5:::1;:14:::0;;-1:-1:-1;;;;;4548:14:0;;::::1;-1:-1:-1::0;;;;;;4548:14:0;;::::1;::::0;::::1;::::0;;;4532:5:::1;4573:16:::0;;;:8:::1;:16;::::0;;;;:23;;;;::::1;4524:13:::0;4573:23;;::::1;::::0;;;4607:7:::1;:20:::0;;;;::::1;::::0;;;;;;;::::1;::::0;;;;::::1;;::::0;;4434:201::o;9774:126::-;9846:10;9812:4;9858:21;;;:9;:21;;;;;;9812:4;;9836:56;;9846:10;9836:9;:56::i;:::-;9829:63;;9774:126;:::o;6195:133::-;3972:10;6264:4;3963:20;;;:8;:20;;;;;;;;3955:58;;;;-1:-1:-1;;;3955:58:0;;;;;;;:::i;:::-;6281:17:::1;6287:2;6291:6;6281:5;:17::i;:::-;-1:-1:-1::0;6316:4:0::1;6195:133:::0;;;;:::o;5860:327::-;4095:5;;5927:4;;-1:-1:-1;;;;;4095:5:0;4081:10;:19;4073:57;;;;-1:-1:-1;;;4073:57:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5952:22:0;::::1;5944:61;;;;-1:-1:-1::0;;;5944:61:0::1;;;;;;;:::i;:::-;6036:5;::::0;6021:48:::1;::::0;6053:15:::1;::::0;-1:-1:-1;;;;;6021:48:0;;::::1;::::0;6036:5;::::1;::::0;6021:48:::1;::::0;6036:5:::1;::::0;6021:48:::1;-1:-1:-1::0;6080:5:0::1;:16:::0;;-1:-1:-1;;;;;6080:16:0;::::1;-1:-1:-1::0;;;;;;6080:16:0;;::::1;;::::0;;;6107:12:::1;:25:::0;;;;::::1;::::0;;6080:5:::1;6143:10;:14:::0;6080:16;4141:1:::1;5860:327:::0;;;:::o;6894:522::-;6989:10;;6963:4;;6989:10;;;;;6988:11;6980:49;;;;-1:-1:-1;;;6980:49:0;;7315:2:1;6980:49:0;;;7297:21:1;7354:2;7334:18;;;7327:30;7393:27;7373:18;;;7366:55;7438:18;;6980:49:0;7113:349:1;6980:49:0;-1:-1:-1;;;;;7048:22:0;;7040:61;;;;-1:-1:-1;;;7040:61:0;;;;;;;:::i;:::-;7116:10;-1:-1:-1;;;;;7116:24:0;;;;;:58;;-1:-1:-1;7154:10:0;7144:21;;;;:9;:21;;;;;;:30;-1:-1:-1;7116:58:0;7112:219;;;7191:70;-1:-1:-1;;;;;7198:10:0;7191:35;7227:10;7247:4;7254:6;7191:35;:70::i;:::-;7112:219;;;7294:25;7300:10;7312:6;7294:5;:25::i;:::-;7346:40;;671:25:1;;;-1:-1:-1;;;;;7346:40:0;;;7357:10;;7346:40;;659:2:1;644:18;7346:40:0;525:177:1;4643:210:0;4095:5;;-1:-1:-1;;;;;4095:5:0;4081:10;:19;4073:57;;;;-1:-1:-1;;;4073:57:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4715:20:0;::::1;4707:59;;;;-1:-1:-1::0;;;4707:59:0::1;;;;;;;:::i;:::-;4777:12;:21:::0;;-1:-1:-1;;;;;;4777:21:0::1;-1:-1:-1::0;;;;;4777:21:0;::::1;;::::0;;4822:23:::1;3559:6;4822:15;:23;:::i;:::-;4809:10;:36:::0;-1:-1:-1;4643:210:0:o;9189:193::-;9249:4;9266:70;-1:-1:-1;;;;;9273:10:0;9266:35;9302:10;9322:4;9329:6;9266:35;:70::i;:::-;9354:20;9363:6;9371:2;9354:8;:20::i;3681:24::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3681:24:0;;-1:-1:-1;3681:24:0;:::o;2930:20::-;;;;;;;:::i;6336:137::-;3972:10;6407:4;3963:20;;;:8;:20;;;;;;;;3955:58;;;;-1:-1:-1;;;3955:58:0;;;;;;;:::i;:::-;6424:19:::1;6430:4;6436:6;6424:5;:19::i;5753:99::-:0;5801:16;5837:7;5830:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5830:14:0;;;;;;;;;;;;;;;;;;;;;;;5753:99;:::o;12659:438::-;12731:4;-1:-1:-1;;;;;12756:16:0;;;;;;:39;;-1:-1:-1;;;;;;12776:19:0;;12790:4;12776:19;;12756:39;12748:48;;;;;;12835:10;12807:15;12825:21;;;:9;:21;;;;;;12865:16;;;;12857:76;;;;-1:-1:-1;;;12857:76:0;;;;;;;:::i;:::-;12970:15;12980:5;12970:7;:15;:::i;:::-;12956:10;12946:21;;;;:9;:21;;;;;;:39;;;;-1:-1:-1;;;;;12996:13:0;;;;;;;:22;;13013:5;;12946:21;12996:22;;13013:5;;12996:22;:::i;:::-;;;;-1:-1:-1;;13034:31:0;;671:25:1;;;-1:-1:-1;;;;;13034:31:0;;;13043:10;;-1:-1:-1;;;;;;;;;;;13034:31:0;659:2:1;644:18;13034:31:0;;;;;;;;-1:-1:-1;13085:4:0;;12659:438;-1:-1:-1;;;12659:438:0:o;8992:189::-;9040:4;9057:70;-1:-1:-1;;;;;9064:10:0;9057:35;9093:10;9113:4;9120:6;9057:35;:70::i;:::-;9145:28;9154:6;9162:10;9145:8;:28::i;9390:127::-;4095:5;;9465:4;;-1:-1:-1;;;;;4095:5:0;4081:10;:19;4073:57;;;;-1:-1:-1;;;4073:57:0;;;;;;;:::i;4332:94::-;4095:5;;-1:-1:-1;;;;;4095:5:0;4081:10;:19;4073:57;;;;-1:-1:-1;;;4073:57:0;;;;;;;:::i;:::-;4398:10:::1;:20:::0;;;::::1;;;;-1:-1:-1::0;;4398:20:0;;::::1;::::0;;;::::1;::::0;;4332:94::o;5647:98::-;4095:5;;-1:-1:-1;;;;;4095:5:0;4081:10;:19;4073:57;;;;-1:-1:-1;;;4073:57:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5714:15:0::1;5732:5;5714:15:::0;;;:8:::1;:15;::::0;;;;:23;;-1:-1:-1;;5714:23:0::1;::::0;;5647:98::o;8738:246::-;8807:40;;-1:-1:-1;;;8807:40:0;;8836:10;8807:40;;;3112:51:1;8775:4:0;;;;-1:-1:-1;;;;;8814:10:0;8807:28;;;;3085:18:1;;8807:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8792:55;-1:-1:-1;8858:71:0;-1:-1:-1;;;;;8865:10:0;8858:35;8894:10;8914:4;8792:55;8858:35;:71::i;:::-;8947:29;8956:7;8965:10;8947:8;:29::i;:::-;8940:36;;;8738:246;:::o;4861:222::-;4095:5;;-1:-1:-1;;;;;4095:5:0;4081:10;:19;4073:57;;;;-1:-1:-1;;;4073:57:0;;;;;;;:::i;:::-;4921:12:::1;::::0;-1:-1:-1;;;;;4921:12:0::1;:26:::0;;::::1;::::0;:59:::1;;;4970:10;;4951:15;:29;;4921:59;4913:68;;;::::0;::::1;;5000:12;::::0;;4992:5:::1;:20:::0;;-1:-1:-1;;;;;;4992:20:0;;::::1;-1:-1:-1::0;;;;;5000:12:0;::::1;4992:20;::::0;;;5025:25:::1;::::0;;5000:12:::1;5061:10;:14:::0;4861:222::o;6481:405::-;3972:10;6573:4;3963:20;;;:8;:20;;;;;;;;3955:58;;;;-1:-1:-1;;;3955:58:0;;;;;;;:::i;:::-;6594:10:::1;-1:-1:-1::0;;;;;6594:24:0::1;::::0;;::::1;::::0;:81:::1;;-1:-1:-1::0;6622:43:0::1;::::0;-1:-1:-1;;;6622:43:0;;6659:4:::1;6622:43;::::0;::::1;3112:51:1::0;6669:6:0;;6629:10:::1;-1:-1:-1::0;;;;;6622:28:0::1;::::0;::::1;::::0;3085:18:1;;6622:43:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:53;;6594:81;6590:217;;;6692:48;-1:-1:-1::0;;;;;6699:10:0::1;6692:31;6724:7:::0;6733:6;6692:31:::1;:48::i;:::-;6590:217;;;6773:22;6779:7;6788:6;6773:5;:22::i;:::-;6840:7;-1:-1:-1::0;;;;;6822:34:0::1;6832:6;6822:34;6849:6;6822:34;;;;671:25:1::0;;659:2;644:18;;525:177;5091:210:0;4095:5;;-1:-1:-1;;;;;4095:5:0;4081:10;:19;4073:57;;;;-1:-1:-1;;;4073:57:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5163:19:0;::::1;5155:58;;;;-1:-1:-1::0;;;5155:58:0::1;;;;;;;:::i;:::-;5224:13;:21:::0;;-1:-1:-1;;;;;;5224:21:0::1;-1:-1:-1::0;;;;;5224:21:0;::::1;;::::0;;5270:23:::1;3559:6;5270:15;:23;:::i;:::-;5256:11;:37:::0;-1:-1:-1;5091:210:0:o;10329:312::-;10405:4;10469:10;-1:-1:-1;;;;;10469:24:0;;;;;:55;;-1:-1:-1;10497:10:0;-1:-1:-1;;;;;10497:27:0;10519:4;10497:27;;10469:55;10461:64;;;;;;10536:19;10542:4;10548:6;10536:5;:19::i;:::-;10566:43;-1:-1:-1;;;;;10573:10:0;10566:31;10598:2;10602:6;10566:31;:43::i;:::-;-1:-1:-1;10627:6:0;;10329:312;-1:-1:-1;;10329:312:0:o;10922:268::-;-1:-1:-1;;;;;10998:21:0;;10990:65;;;;-1:-1:-1;;;10990:65:0;;7858:2:1;10990:65:0;;;7840:21:1;7897:2;7877:18;;;7870:30;7936:33;7916:18;;;7909:61;7987:18;;10990:65:0;7656:355:1;10990:65:0;11084:6;11068:12;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;11101:18:0;;;;;;:9;:18;;;;;:28;;11123:6;;11101:18;:28;;11123:6;;11101:28;:::i;:::-;;;;-1:-1:-1;;11145:37:0;;671:25:1;;;-1:-1:-1;;;;;11145:37:0;;;11162:1;;-1:-1:-1;;;;;;;;;;;11145:37:0;659:2:1;644:18;11145:37:0;;;;;;;10922:268;;:::o;1667:201::-;1791:68;;-1:-1:-1;;;;;8274:15:1;;;1791:68:0;;;8256:34:1;8326:15;;8306:18;;;8299:43;8358:18;;;8351:34;;;1765:95:0;;1784:5;;-1:-1:-1;;;1814:27:0;8191:18:1;;1791:68:0;;;;-1:-1:-1;;1791:68:0;;;;;;;;;;;;;;-1:-1:-1;;;;;1791:68:0;-1:-1:-1;;;;;;1791:68:0;;;;;;;;;;1765:18;:95::i;:::-;1667:201;;;;:::o;11522:403::-;-1:-1:-1;;;;;11598:21:0;;11590:67;;;;-1:-1:-1;;;11590:67:0;;8598:2:1;11590:67:0;;;8580:21:1;8637:2;8617:18;;;8610:30;8676:34;8656:18;;;8649:62;-1:-1:-1;;;8727:18:1;;;8720:31;8768:19;;11590:67:0;8396:397:1;11590:67:0;-1:-1:-1;;;;;11688:18:0;;11670:15;11688:18;;;:9;:18;;;;;;11725:17;;;;11717:64;;;;-1:-1:-1;;;11717:64:0;;9000:2:1;11717:64:0;;;8982:21:1;9039:2;9019:18;;;9012:30;9078:34;9058:18;;;9051:62;-1:-1:-1;;;9129:18:1;;;9122:32;9171:19;;11717:64:0;8798:398:1;11717:64:0;11815:16;11825:6;11815:7;:16;:::i;:::-;-1:-1:-1;;;;;11794:18:0;;;;;;:9;:18;;;;;:37;;;;11842:12;:22;;11858:6;;11794:18;11842:22;;11858:6;;11842:22;:::i;:::-;;;;-1:-1:-1;;11880:37:0;;671:25:1;;;11906:1:0;;-1:-1:-1;;;;;11880:37:0;;;-1:-1:-1;;;;;;;;;;;11880:37:0;659:2:1;644:18;11880:37:0;;;;;;;11579:346;11522:403;;:::o;9525:241::-;9586:4;9650:10;-1:-1:-1;;;;;9650:24:0;;;;;:55;;-1:-1:-1;9678:10:0;-1:-1:-1;;;;;9678:27:0;9700:4;9678:27;;9650:55;9642:64;;;;;;9717:17;9723:2;9727:6;9717:5;:17::i;:::-;-1:-1:-1;9752:6:0;;9525:241;-1:-1:-1;9525:241:0:o;1486:173::-;1592:58;;-1:-1:-1;;;;;9393:32:1;;1592:58:0;;;9375:51:1;9442:18;;;9435:34;;;1566:85:0;;1585:5;;-1:-1:-1;;;1615:23:0;9348:18:1;;1592:58:0;9201:274:1;1566:85:0;1486:173;;;:::o;2226:598::-;2314:27;2322:5;-1:-1:-1;;;;;2314:25:0;;:27::i;:::-;2306:71;;;;-1:-1:-1;;;2306:71:0;;9682:2:1;2306:71:0;;;9664:21:1;9721:2;9701:18;;;9694:30;9760:33;9740:18;;;9733:61;9811:18;;2306:71:0;9480:355:1;2306:71:0;2451:12;2465:23;2500:5;-1:-1:-1;;;;;2492:19:0;2512:4;2492:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2450:67;;;;2536:7;2528:52;;;;-1:-1:-1;;;2528:52:0;;10321:2:1;2528:52:0;;;10303:21:1;;;10340:18;;;10333:30;10399:34;10379:18;;;10372:62;10451:18;;2528:52:0;10119:356:1;2528:52:0;2597:17;;:21;2593:224;;2739:10;2728:30;;;;;;;;;;;;:::i;:::-;2720:85;;;;-1:-1:-1;;;2720:85:0;;10932:2:1;2720:85:0;;;10914:21:1;10971:2;10951:18;;;10944:30;11010:34;10990:18;;;10983:62;-1:-1:-1;;;11061:18:1;;;11054:40;11111:19;;2720:85:0;10730:406:1;1046:374:0;1106:4;1329:20;;1172:66;1369:15;;;;;:42;;-1:-1:-1;1388:23:0;;;1361:51;-1:-1:-1;;1046:374:0:o;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:70;;177:1;174;167:12;192:328;269:6;277;285;338:2;326:9;317:7;313:23;309:32;306:52;;;354:1;351;344:12;306:52;377:29;396:9;377:29;:::i;:::-;367:39;;453:2;442:9;438:18;425:32;415:42;;476:38;510:2;499:9;495:18;476:38;:::i;:::-;466:48;;192:328;;;;;:::o;707:254::-;775:6;783;836:2;824:9;815:7;811:23;807:32;804:52;;;852:1;849;842:12;804:52;888:9;875:23;865:33;;917:38;951:2;940:9;936:18;917:38;:::i;:::-;907:48;;707:254;;;;;:::o;966:258::-;1038:1;1048:113;1062:6;1059:1;1056:13;1048:113;;;1138:11;;;1132:18;1119:11;;;1112:39;1084:2;1077:10;1048:113;;;1179:6;1176:1;1173:13;1170:48;;;-1:-1:-1;;1214:1:1;1196:16;;1189:27;966:258::o;1229:383::-;1378:2;1367:9;1360:21;1341:4;1410:6;1404:13;1453:6;1448:2;1437:9;1433:18;1426:34;1469:66;1528:6;1523:2;1512:9;1508:18;1503:2;1495:6;1491:15;1469:66;:::i;:::-;1596:2;1575:15;-1:-1:-1;;1571:29:1;1556:45;;;;1603:2;1552:54;;1229:383;-1:-1:-1;;1229:383:1:o;1617:254::-;1685:6;1693;1746:2;1734:9;1725:7;1721:23;1717:32;1714:52;;;1762:1;1759;1752:12;1714:52;1785:29;1804:9;1785:29;:::i;:::-;1775:39;1861:2;1846:18;;;;1833:32;;-1:-1:-1;;;1617:254:1:o;2068:328::-;2145:6;2153;2161;2214:2;2202:9;2193:7;2189:23;2185:32;2182:52;;;2230:1;2227;2220:12;2182:52;2253:29;2272:9;2253:29;:::i;:::-;2243:39;;2301:38;2335:2;2324:9;2320:18;2301:38;:::i;:::-;2291:48;;2386:2;2375:9;2371:18;2358:32;2348:42;;2068:328;;;;;:::o;2401:180::-;2460:6;2513:2;2501:9;2492:7;2488:23;2484:32;2481:52;;;2529:1;2526;2519:12;2481:52;-1:-1:-1;2552:23:1;;2401:180;-1:-1:-1;2401:180:1:o;2586:186::-;2645:6;2698:2;2686:9;2677:7;2673:23;2669:32;2666:52;;;2714:1;2711;2704:12;2666:52;2737:29;2756:9;2737:29;:::i;3174:658::-;3345:2;3397:21;;;3467:13;;3370:18;;;3489:22;;;3316:4;;3345:2;3568:15;;;;3542:2;3527:18;;;3316:4;3611:195;3625:6;3622:1;3619:13;3611:195;;;3690:13;;-1:-1:-1;;;;;3686:39:1;3674:52;;3781:15;;;;3746:12;;;;3722:1;3640:9;3611:195;;;-1:-1:-1;3823:3:1;;3174:658;-1:-1:-1;;;;;;3174:658:1:o;3837:118::-;3923:5;3916:13;3909:21;3902:5;3899:32;3889:60;;3945:1;3942;3935:12;3889:60;3837:118;:::o;3960:241::-;4016:6;4069:2;4057:9;4048:7;4044:23;4040:32;4037:52;;;4085:1;4082;4075:12;4037:52;4124:9;4111:23;4143:28;4165:5;4143:28;:::i;4206:260::-;4274:6;4282;4335:2;4323:9;4314:7;4310:23;4306:32;4303:52;;;4351:1;4348;4341:12;4303:52;4374:29;4393:9;4374:29;:::i;:::-;4364:39;;4422:38;4456:2;4445:9;4441:18;4422:38;:::i;4471:322::-;4548:6;4556;4564;4617:2;4605:9;4596:7;4592:23;4588:32;4585:52;;;4633:1;4630;4623:12;4585:52;4669:9;4656:23;4646:33;;4698:38;4732:2;4721:9;4717:18;4698:38;:::i;4798:349::-;5000:2;4982:21;;;5039:2;5019:18;;;5012:30;5078:27;5073:2;5058:18;;5051:55;5138:2;5123:18;;4798:349::o;5152:380::-;5231:1;5227:12;;;;5274;;;5295:61;;5349:4;5341:6;5337:17;5327:27;;5295:61;5402:2;5394:6;5391:14;5371:18;5368:38;5365:161;;5448:10;5443:3;5439:20;5436:1;5429:31;5483:4;5480:1;5473:15;5511:4;5508:1;5501:15;5365:161;;5152:380;;;:::o;5947:127::-;6008:10;6003:3;5999:20;5996:1;5989:31;6039:4;6036:1;6029:15;6063:4;6060:1;6053:15;6079:125;6119:4;6147:1;6144;6141:8;6138:34;;;6152:18;;:::i;:::-;-1:-1:-1;6189:9:1;;6079:125::o;6209:411::-;6411:2;6393:21;;;6450:2;6430:18;;;6423:30;6489:34;6484:2;6469:18;;6462:62;-1:-1:-1;;;6555:2:1;6540:18;;6533:45;6610:3;6595:19;;6209:411::o;6625:128::-;6665:3;6696:1;6692:6;6689:1;6686:13;6683:39;;;6702:18;;:::i;:::-;-1:-1:-1;6738:9:1;;6625:128::o;6758:350::-;6960:2;6942:21;;;6999:2;6979:18;;;6972:30;7038:28;7033:2;7018:18;;7011:56;7099:2;7084:18;;6758:350::o;7467:184::-;7537:6;7590:2;7578:9;7569:7;7565:23;7561:32;7558:52;;;7606:1;7603;7596:12;7558:52;-1:-1:-1;7629:16:1;;7467:184;-1:-1:-1;7467:184:1:o;9840:274::-;9969:3;10007:6;10001:13;10023:53;10069:6;10064:3;10057:4;10049:6;10045:17;10023:53;:::i;:::-;10092:16;;;;;9840:274;-1:-1:-1;;9840:274:1:o;10480:245::-;10547:6;10600:2;10588:9;10579:7;10575:23;10571:32;10568:52;;;10616:1;10613;10606:12;10568:52;10648:9;10642:16;10667:28;10689:5;10667:28;:::i

Swarm Source

ipfs://1c49dbeb9d894f8c455ac820ce5781647d0eeb515f3c243bb3e39e4954821e05
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.