{"status":"1","message":"OK","result":[{"SourceCode":"{{\"language\":\"Solidity\",\"sources\":{\"AnyswapV6ERC20.sol\":{\"content\":\"// SPDX-License-Identifier: GPL-3.0-or-later\\r\\n\\r\\npragma solidity ^0.8.2;\\r\\n\\r\\n/**\\r\\n * @dev Interface of the ERC20 standard as defined in the EIP.\\r\\n */\\r\\ninterface IERC20 {\\r\\n    function totalSupply() external view returns (uint256);\\r\\n    function decimals() external view returns (uint8);\\r\\n    function balanceOf(address account) external view returns (uint256);\\r\\n    function transfer(address recipient, uint256 amount) external returns (bool);\\r\\n    function allowance(address owner, address spender) external view returns (uint256);\\r\\n    function approve(address spender, uint256 amount) external returns (bool);\\r\\n    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);\\r\\n    event Transfer(address indexed from, address indexed to, uint256 value);\\r\\n    event Approval(address indexed owner, address indexed spender, uint256 value);\\r\\n}\\r\\n\\r\\nlibrary Address {\\r\\n    function isContract(address account) internal view returns (bool) {\\r\\n        bytes32 codehash;\\r\\n        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;\\r\\n        // solhint-disable-next-line no-inline-assembly\\r\\n        assembly { codehash := extcodehash(account) }\\r\\n        return (codehash != 0x0 && codehash != accountHash);\\r\\n    }\\r\\n}\\r\\n\\r\\nlibrary SafeERC20 {\\r\\n    using Address for address;\\r\\n\\r\\n    function safeTransfer(IERC20 token, address to, uint value) internal {\\r\\n        callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value));\\r\\n    }\\r\\n\\r\\n    function safeTransferFrom(IERC20 token, address from, address to, uint value) internal {\\r\\n        callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value));\\r\\n    }\\r\\n\\r\\n    function safeApprove(IERC20 token, address spender, uint value) internal {\\r\\n        require((value == 0) || (token.allowance(address(this), spender) == 0),\\r\\n            \\\"SafeERC20: approve from non-zero to non-zero allowance\\\"\\r\\n        );\\r\\n        callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value));\\r\\n    }\\r\\n    function callOptionalReturn(IERC20 token, bytes memory data) private {\\r\\n        require(address(token).isContract(), \\\"SafeERC20: call to non-contract\\\");\\r\\n\\r\\n        // solhint-disable-next-line avoid-low-level-calls\\r\\n        (bool success, bytes memory returndata) = address(token).call(data);\\r\\n        require(success, \\\"SafeERC20: low-level call failed\\\");\\r\\n\\r\\n        if (returndata.length > 0) { // Return data is optional\\r\\n            // solhint-disable-next-line max-line-length\\r\\n            require(abi.decode(returndata, (bool)), \\\"SafeERC20: ERC20 operation did not succeed\\\");\\r\\n        }\\r\\n    }\\r\\n}\\r\\n\\r\\ncontract AnyswapV6ERC20 is IERC20 {\\r\\n    using SafeERC20 for IERC20;\\r\\n    string public name;\\r\\n    string public symbol;\\r\\n    uint8  public immutable override decimals;\\r\\n\\r\\n    address public immutable underlying;\\r\\n    bool public constant underlyingIsMinted = false;\\r\\n\\r\\n    /// @dev Records amount of AnyswapV6ERC20 token owned by account.\\r\\n    mapping (address => uint256) public override balanceOf;\\r\\n    uint256 private _totalSupply;\\r\\n\\r\\n    // init flag for setting immediate vault, needed for CREATE2 support\\r\\n    bool private _init;\\r\\n\\r\\n    // flag to enable/disable swapout vs vault.burn so multiple events are triggered\\r\\n    bool private _vaultOnly;\\r\\n\\r\\n    // delay for timelock functions\\r\\n    uint public constant DELAY = 2 days;\\r\\n\\r\\n    // set of minters, can be this bridge or other bridges\\r\\n    mapping(address => bool) public isMinter;\\r\\n    address[] public minters;\\r\\n\\r\\n    // primary controller of the token contract\\r\\n    address public vault;\\r\\n\\r\\n    address public pendingMinter;\\r\\n    uint public delayMinter;\\r\\n\\r\\n    address public pendingVault;\\r\\n    uint public delayVault;\\r\\n\\r\\n    modifier onlyAuth() {\\r\\n        require(isMinter[msg.sender], \\\"AnyswapV6ERC20: FORBIDDEN\\\");\\r\\n        _;\\r\\n    }\\r\\n\\r\\n    modifier onlyVault() {\\r\\n        require(msg.sender == vault, \\\"AnyswapV6ERC20: FORBIDDEN\\\");\\r\\n        _;\\r\\n    }\\r\\n\\r\\n    function owner() external view returns (address) {\\r\\n        return vault;\\r\\n    }\\r\\n\\r\\n    function mpc() external view returns (address) {\\r\\n        return vault;\\r\\n    }\\r\\n\\r\\n    function setVaultOnly(bool enabled) external onlyVault {\\r\\n        _vaultOnly = enabled;\\r\\n    }\\r\\n\\r\\n    function initVault(address _vault) external onlyVault {\\r\\n        require(_init);\\r\\n        _init = false;\\r\\n        vault = _vault;\\r\\n        isMinter[_vault] = true;\\r\\n        minters.push(_vault);\\r\\n    }\\r\\n\\r\\n    function setVault(address _vault) external onlyVault {\\r\\n        require(_vault != address(0), \\\"AnyswapV6ERC20: address(0)\\\");\\r\\n        pendingVault = _vault;\\r\\n        delayVault = block.timestamp + DELAY;\\r\\n    }\\r\\n\\r\\n    function applyVault() external onlyVault {\\r\\n        require(pendingVault != address(0) && block.timestamp >= delayVault);\\r\\n        vault = pendingVault;\\r\\n\\r\\n        pendingVault = address(0);\\r\\n        delayVault = 0;\\r\\n    }\\r\\n\\r\\n    function setMinter(address _auth) external onlyVault {\\r\\n        require(_auth != address(0), \\\"AnyswapV6ERC20: address(0)\\\");\\r\\n        pendingMinter = _auth;\\r\\n        delayMinter = block.timestamp + DELAY;\\r\\n    }\\r\\n\\r\\n    function applyMinter() external onlyVault {\\r\\n        require(pendingMinter != address(0) && block.timestamp >= delayMinter);\\r\\n        isMinter[pendingMinter] = true;\\r\\n        minters.push(pendingMinter);\\r\\n\\r\\n        pendingMinter = address(0);\\r\\n        delayMinter = 0;\\r\\n    }\\r\\n\\r\\n    // No time delay revoke minter emergency function\\r\\n    function revokeMinter(address _auth) external onlyVault {\\r\\n        isMinter[_auth] = false;\\r\\n    }\\r\\n\\r\\n    function getAllMinters() external view returns (address[] memory) {\\r\\n        return minters;\\r\\n    }\\r\\n\\r\\n    function changeVault(address newVault) external onlyVault returns (bool) {\\r\\n        require(newVault != address(0), \\\"AnyswapV6ERC20: address(0)\\\");\\r\\n        emit LogChangeVault(vault, newVault, block.timestamp);\\r\\n        vault = newVault;\\r\\n        pendingVault = address(0);\\r\\n        delayVault = 0;\\r\\n        return true;\\r\\n    }\\r\\n\\r\\n    function mint(address to, uint256 amount) external onlyAuth returns (bool) {\\r\\n        _mint(to, amount);\\r\\n        return true;\\r\\n    }\\r\\n\\r\\n    function burn(address from, uint256 amount) external onlyAuth returns (bool) {\\r\\n        _burn(from, amount);\\r\\n        return true;\\r\\n    }\\r\\n\\r\\n    function Swapin(bytes32 txhash, address account, uint256 amount) external onlyAuth returns (bool) {\\r\\n        if (underlying != address(0) && IERC20(underlying).balanceOf(address(this)) >= amount) {\\r\\n            IERC20(underlying).safeTransfer(account, amount);\\r\\n        } else {\\r\\n            _mint(account, amount);\\r\\n        }\\r\\n        emit LogSwapin(txhash, account, amount);\\r\\n        return true;\\r\\n    }\\r\\n\\r\\n    function Swapout(uint256 amount, address bindaddr) external returns (bool) {\\r\\n        require(!_vaultOnly, \\\"AnyswapV6ERC20: vaultOnly\\\");\\r\\n        require(bindaddr != address(0), \\\"AnyswapV6ERC20: address(0)\\\");\\r\\n        if (underlying != address(0) && balanceOf[msg.sender] < amount) {\\r\\n            IERC20(underlying).safeTransferFrom(msg.sender, address(this), amount);\\r\\n        } else {\\r\\n            _burn(msg.sender, amount);\\r\\n        }\\r\\n        emit LogSwapout(msg.sender, bindaddr, amount);\\r\\n        return true;\\r\\n    }\\r\\n\\r\\n    /// @dev Records number of AnyswapV6ERC20 token that account (second) will be allowed to spend on behalf of another account (first) through {transferFrom}.\\r\\n    mapping (address => mapping (address => uint256)) public override allowance;\\r\\n\\r\\n    event LogChangeVault(address indexed oldVault, address indexed newVault, uint indexed effectiveTime);\\r\\n    event LogSwapin(bytes32 indexed txhash, address indexed account, uint amount);\\r\\n    event LogSwapout(address indexed account, address indexed bindaddr, uint amount);\\r\\n\\r\\n    constructor(string memory _name, string memory _symbol, uint8 _decimals, address _underlying, address _vault) {\\r\\n        name = _name;\\r\\n        symbol = _symbol;\\r\\n        decimals = _decimals;\\r\\n        underlying = _underlying;\\r\\n        if (_underlying != address(0)) {\\r\\n            require(_decimals == IERC20(_underlying).decimals());\\r\\n        }\\r\\n\\r\\n        // Use init to allow for CREATE2 accross all chains\\r\\n        _init = true;\\r\\n\\r\\n        // Disable/Enable swapout for v1 tokens vs mint/burn for v3 tokens\\r\\n        _vaultOnly = false;\\r\\n\\r\\n        vault = _vault;\\r\\n    }\\r\\n\\r\\n    /// @dev Returns the total supply of AnyswapV6ERC20 token as the ETH held in this contract.\\r\\n    function totalSupply() external view override returns (uint256) {\\r\\n        return _totalSupply;\\r\\n    }\\r\\n\\r\\n    function deposit() external returns (uint) {\\r\\n        uint _amount = IERC20(underlying).balanceOf(msg.sender);\\r\\n        IERC20(underlying).safeTransferFrom(msg.sender, address(this), _amount);\\r\\n        return _deposit(_amount, msg.sender);\\r\\n    }\\r\\n\\r\\n    function deposit(uint amount) external returns (uint) {\\r\\n        IERC20(underlying).safeTransferFrom(msg.sender, address(this), amount);\\r\\n        return _deposit(amount, msg.sender);\\r\\n    }\\r\\n\\r\\n    function deposit(uint amount, address to) external returns (uint) {\\r\\n        IERC20(underlying).safeTransferFrom(msg.sender, address(this), amount);\\r\\n        return _deposit(amount, to);\\r\\n    }\\r\\n\\r\\n    function depositVault(uint amount, address to) external onlyVault returns (uint) {\\r\\n        return _deposit(amount, to);\\r\\n    }\\r\\n\\r\\n    function _deposit(uint amount, address to) internal returns (uint) {\\r\\n        require(!underlyingIsMinted);\\r\\n        require(underlying != address(0) && underlying != address(this));\\r\\n        _mint(to, amount);\\r\\n        return amount;\\r\\n    }\\r\\n\\r\\n    function withdraw() external returns (uint) {\\r\\n        return _withdraw(msg.sender, balanceOf[msg.sender], msg.sender);\\r\\n    }\\r\\n\\r\\n    function withdraw(uint amount) external returns (uint) {\\r\\n        return _withdraw(msg.sender, amount, msg.sender);\\r\\n    }\\r\\n\\r\\n    function withdraw(uint amount, address to) external returns (uint) {\\r\\n        return _withdraw(msg.sender, amount, to);\\r\\n    }\\r\\n\\r\\n    function withdrawVault(address from, uint amount, address to) external onlyVault returns (uint) {\\r\\n        return _withdraw(from, amount, to);\\r\\n    }\\r\\n\\r\\n    function _withdraw(address from, uint amount, address to) internal returns (uint) {\\r\\n        require(!underlyingIsMinted);\\r\\n        require(underlying != address(0) && underlying != address(this));\\r\\n        _burn(from, amount);\\r\\n        IERC20(underlying).safeTransfer(to, amount);\\r\\n        return amount;\\r\\n    }\\r\\n\\r\\n    /** @dev Creates `amount` tokens and assigns them to `account`, increasing\\r\\n     * the total supply.\\r\\n     *\\r\\n     * Emits a {Transfer} event with `from` set to the zero address.\\r\\n     *\\r\\n     * Requirements\\r\\n     *\\r\\n     * - `to` cannot be the zero address.\\r\\n     */\\r\\n    function _mint(address account, uint256 amount) internal {\\r\\n        require(account != address(0), \\\"ERC20: mint to the zero address\\\");\\r\\n\\r\\n        _totalSupply += amount;\\r\\n        balanceOf[account] += amount;\\r\\n        emit Transfer(address(0), account, amount);\\r\\n    }\\r\\n\\r\\n    /**\\r\\n     * @dev Destroys `amount` tokens from `account`, reducing the\\r\\n     * total supply.\\r\\n     *\\r\\n     * Emits a {Transfer} event with `to` set to the zero address.\\r\\n     *\\r\\n     * Requirements\\r\\n     *\\r\\n     * - `account` cannot be the zero address.\\r\\n     * - `account` must have at least `amount` tokens.\\r\\n     */\\r\\n    function _burn(address account, uint256 amount) internal {\\r\\n        require(account != address(0), \\\"ERC20: burn from the zero address\\\");\\r\\n\\r\\n        uint256 balance = balanceOf[account];\\r\\n        require(balance >= amount, \\\"ERC20: burn amount exceeds balance\\\");\\r\\n\\r\\n        balanceOf[account] = balance - amount;\\r\\n        _totalSupply -= amount;\\r\\n        emit Transfer(account, address(0), amount);\\r\\n    }\\r\\n\\r\\n    /// @dev Sets `value` as allowance of `spender` account over caller account's AnyswapV6ERC20 token.\\r\\n    /// Emits {Approval} event.\\r\\n    /// Returns boolean value indicating whether operation succeeded.\\r\\n    function approve(address spender, uint256 value) external override returns (bool) {\\r\\n        allowance[msg.sender][spender] = value;\\r\\n        emit Approval(msg.sender, spender, value);\\r\\n\\r\\n        return true;\\r\\n    }\\r\\n\\r\\n    /// @dev Moves `value` AnyswapV6ERC20 token from caller's account to account (`to`).\\r\\n    /// Emits {Transfer} event.\\r\\n    /// Returns boolean value indicating whether operation succeeded.\\r\\n    /// Requirements:\\r\\n    ///   - caller account must have at least `value` AnyswapV6ERC20 token.\\r\\n    function transfer(address to, uint256 value) external override returns (bool) {\\r\\n        require(to != address(0) && to != address(this));\\r\\n        uint256 balance = balanceOf[msg.sender];\\r\\n        require(balance >= value, \\\"AnyswapV6ERC20: transfer amount exceeds balance\\\");\\r\\n\\r\\n        balanceOf[msg.sender] = balance - value;\\r\\n        balanceOf[to] += value;\\r\\n        emit Transfer(msg.sender, to, value);\\r\\n\\r\\n        return true;\\r\\n    }\\r\\n\\r\\n    /// @dev Moves `value` AnyswapV6ERC20 token from account (`from`) to account (`to`) using allowance mechanism.\\r\\n    /// `value` is then deducted from caller account's allowance, unless set to `type(uint256).max`.\\r\\n    /// Emits {Approval} event to reflect reduced allowance `value` for caller account to spend from account (`from`),\\r\\n    /// unless allowance is set to `type(uint256).max`\\r\\n    /// Emits {Transfer} event.\\r\\n    /// Returns boolean value indicating whether operation succeeded.\\r\\n    /// Requirements:\\r\\n    ///   - `from` account must have at least `value` balance of AnyswapV6ERC20 token.\\r\\n    ///   - `from` account must have approved caller to spend at least `value` of AnyswapV6ERC20 token, unless `from` and caller are the same account.\\r\\n    function transferFrom(address from, address to, uint256 value) external override returns (bool) {\\r\\n        require(to != address(0) && to != address(this));\\r\\n        if (from != msg.sender) {\\r\\n            uint256 allowed = allowance[from][msg.sender];\\r\\n            if (allowed != type(uint256).max) {\\r\\n                require(allowed >= value, \\\"AnyswapV6ERC20: request exceeds allowance\\\");\\r\\n                uint256 reduced = allowed - value;\\r\\n                allowance[from][msg.sender] = reduced;\\r\\n                emit Approval(from, msg.sender, reduced);\\r\\n            }\\r\\n        }\\r\\n\\r\\n        uint256 balance = balanceOf[from];\\r\\n        require(balance >= value, \\\"AnyswapV6ERC20: transfer amount exceeds balance\\\");\\r\\n\\r\\n        balanceOf[from] = balance - value;\\r\\n        balanceOf[to] += value;\\r\\n        emit Transfer(from, to, value);\\r\\n\\r\\n        return true;\\r\\n    }\\r\\n}\"}},\"settings\":{\"remappings\":[],\"optimizer\":{\"enabled\":true,\"runs\":200},\"outputSelection\":{\"AnyswapV6ERC20.sol\":{\"AnyswapV6ERC20\":[\"*\"]}}}}}","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\"}]","ContractName":"AnyswapV6ERC20","CompilerVersion":"v0.8.17+commit.8df45f5f","OptimizationUsed":"1","Runs":"200","ConstructorArguments":"0x00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fa9da51631268a30ec3ddd1ccbf46c65fad992510000000000000000000000000000000000000000000000000000000000000013446f6c612055534420537461626c65636f696e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004444f4c4100000000000000000000000000000000000000000000000000000000","EVMVersion":"","Library":"","LicenseType":"","Proxy":"0","Implementation":"","SwarmSource":""}]}