LP_TOKEN_ABI = [{"inputs": [], "payable": False, "stateMutability": "nonpayable", "type": "constructor"}, {
    "anonymous": False, "inputs": [{"indexed": True, "internalType": "address", "name": "owner", "type": "address"},
                                   {"indexed": True, "internalType": "address", "name": "spender", "type": "address"},
                                   {"indexed": False, "internalType": "uint256", "name": "value", "type": "uint256"}],
    "name": "Approval", "type": "event"}, {
                    "anonymous": False,
                    "inputs": [{"indexed": True, "internalType": "address", "name": "sender", "type": "address"},
                               {"indexed": False, "internalType": "uint256", "name": "amount0", "type": "uint256"},
                               {"indexed": False, "internalType": "uint256", "name": "amount1", "type": "uint256"},
                               {"indexed": True, "internalType": "address", "name": "to", "type": "address"}],
                    "name": "Burn", "type": "event"}, {
                    "anonymous": False,
                    "inputs": [{"indexed": True, "internalType": "address", "name": "sender", "type": "address"},
                               {"indexed": False, "internalType": "uint256", "name": "amount0", "type": "uint256"},
                               {"indexed": False, "internalType": "uint256", "name": "amount1", "type": "uint256"}],
                    "name": "Mint", "type": "event"}, {
                    "anonymous": False,
                    "inputs": [{"indexed": True, "internalType": "address", "name": "sender", "type": "address"},
                               {"indexed": False, "internalType": "uint256", "name": "amount0In", "type": "uint256"},
                               {"indexed": False, "internalType": "uint256", "name": "amount1In", "type": "uint256"},
                               {"indexed": False, "internalType": "uint256", "name": "amount0Out", "type": "uint256"},
                               {"indexed": False, "internalType": "uint256", "name": "amount1Out", "type": "uint256"},
                               {"indexed": True, "internalType": "address", "name": "to", "type": "address"}],
                    "name": "Swap", "type": "event"}, {
                    "anonymous": False,
                    "inputs": [{"indexed": False, "internalType": "uint112", "name": "reserve0", "type": "uint112"},
                               {"indexed": False, "internalType": "uint112", "name": "reserve1", "type": "uint112"}],
                    "name": "Sync", "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"}, {
                    "constant": True, "inputs": [], "name": "DOMAIN_SEPARATOR",
                    "outputs": [{"internalType": "bytes32", "name": "", "type": "bytes32"}], "payable": False,
                    "stateMutability": "view", "type": "function"}, {
                    "constant": True, "inputs": [], "name": "MINIMUM_LIQUIDITY",
                    "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": False,
                    "stateMutability": "view", "type": "function"}, {
                    "constant": True, "inputs": [], "name": "PERMIT_TYPEHASH",
                    "outputs": [{"internalType": "bytes32", "name": "", "type": "bytes32"}], "payable": False,
                    "stateMutability": "view", "type": "function"}, {
                    "constant": True, "inputs": [{"internalType": "address", "name": "", "type": "address"},
                                                 {"internalType": "address", "name": "", "type": "address"}],
                    "name": "allowance", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}],
                    "payable": False, "stateMutability": "view", "type": "function"}, {
                    "constant": False, "inputs": [{"internalType": "address", "name": "spender", "type": "address"},
                                                  {"internalType": "uint256", "name": "value", "type": "uint256"}],
                    "name": "approve", "outputs": [{"internalType": "bool", "name": "", "type": "bool"}],
                    "payable": False, "stateMutability": "nonpayable", "type": "function"}, {
                    "constant": True, "inputs": [{"internalType": "address", "name": "", "type": "address"}],
                    "name": "balanceOf", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}],
                    "payable": False, "stateMutability": "view", "type": "function"}, {
                    "constant": False, "inputs": [{"internalType": "address", "name": "to", "type": "address"}],
                    "name": "burn", "outputs": [{"internalType": "uint256", "name": "amount0", "type": "uint256"},
                                                {"internalType": "uint256", "name": "amount1", "type": "uint256"}],
                    "payable": False, "stateMutability": "nonpayable", "type": "function"}, {
                    "constant": True, "inputs": [], "name": "decimals",
                    "outputs": [{"internalType": "uint8", "name": "", "type": "uint8"}], "payable": False,
                    "stateMutability": "view", "type": "function"}, {
                    "constant": True, "inputs": [], "name": "factory",
                    "outputs": [{"internalType": "address", "name": "", "type": "address"}], "payable": False,
                    "stateMutability": "view", "type": "function"}, {
                    "constant": True, "inputs": [], "name": "getReserves",
                    "outputs": [{"internalType": "uint112", "name": "_reserve0", "type": "uint112"},
                                {"internalType": "uint112", "name": "_reserve1", "type": "uint112"},
                                {"internalType": "uint32", "name": "_blockTimestampLast", "type": "uint32"}],
                    "payable": False, "stateMutability": "view", "type": "function"}, {
                    "constant": False, "inputs": [{"internalType": "address", "name": "_token0", "type": "address"},
                                                  {"internalType": "address", "name": "_token1", "type": "address"}],
                    "name": "initialize", "outputs": [], "payable": False, "stateMutability": "nonpayable",
                    "type": "function"}, {
                    "constant": True, "inputs": [], "name": "kLast",
                    "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": False,
                    "stateMutability": "view", "type": "function"}, {
                    "constant": False, "inputs": [{"internalType": "address", "name": "to", "type": "address"}],
                    "name": "mint", "outputs": [{"internalType": "uint256", "name": "liquidity", "type": "uint256"}],
                    "payable": False, "stateMutability": "nonpayable", "type": "function"}, {
                    "constant": True, "inputs": [], "name": "name",
                    "outputs": [{"internalType": "string", "name": "", "type": "string"}], "payable": False,
                    "stateMutability": "view", "type": "function"}, {
                    "constant": True, "inputs": [{"internalType": "address", "name": "", "type": "address"}],
                    "name": "nonces", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}],
                    "payable": False, "stateMutability": "view", "type": "function"}, {
                    "constant": False, "inputs": [{"internalType": "address", "name": "owner", "type": "address"},
                                                  {"internalType": "address", "name": "spender", "type": "address"},
                                                  {"internalType": "uint256", "name": "value", "type": "uint256"},
                                                  {"internalType": "uint256", "name": "deadline", "type": "uint256"},
                                                  {"internalType": "uint8", "name": "v", "type": "uint8"},
                                                  {"internalType": "bytes32", "name": "r", "type": "bytes32"},
                                                  {"internalType": "bytes32", "name": "s", "type": "bytes32"}],
                    "name": "permit", "outputs": [], "payable": False, "stateMutability": "nonpayable",
                    "type": "function"}, {
                    "constant": True, "inputs": [], "name": "price0CumulativeLast",
                    "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": False,
                    "stateMutability": "view", "type": "function"}, {
                    "constant": True, "inputs": [], "name": "price1CumulativeLast",
                    "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": False,
                    "stateMutability": "view", "type": "function"}, {
                    "constant": False, "inputs": [{"internalType": "address", "name": "to", "type": "address"}],
                    "name": "skim", "outputs": [], "payable": False, "stateMutability": "nonpayable",
                    "type": "function"}, {
                    "constant": False, "inputs": [{"internalType": "uint256", "name": "amount0Out", "type": "uint256"},
                                                  {"internalType": "uint256", "name": "amount1Out", "type": "uint256"},
                                                  {"internalType": "address", "name": "to", "type": "address"},
                                                  {"internalType": "bytes", "name": "data", "type": "bytes"}],
                    "name": "swap", "outputs": [], "payable": False, "stateMutability": "nonpayable",
                    "type": "function"}, {
                    "constant": True, "inputs": [], "name": "symbol",
                    "outputs": [{"internalType": "string", "name": "", "type": "string"}], "payable": False,
                    "stateMutability": "view", "type": "function"}, {
                    "constant": False, "inputs": [], "name": "sync", "outputs": [], "payable": False,
                    "stateMutability": "nonpayable", "type": "function"}, {
                    "constant": True, "inputs": [], "name": "token0",
                    "outputs": [{"internalType": "address", "name": "", "type": "address"}], "payable": False,
                    "stateMutability": "view", "type": "function"}, {
                    "constant": True, "inputs": [], "name": "token1",
                    "outputs": [{"internalType": "address", "name": "", "type": "address"}], "payable": False,
                    "stateMutability": "view", "type": "function"}, {
                    "constant": True, "inputs": [], "name": "totalSupply",
                    "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "payable": False,
                    "stateMutability": "view", "type": "function"}, {
                    "constant": False, "inputs": [{"internalType": "address", "name": "to", "type": "address"},
                                                  {"internalType": "uint256", "name": "value", "type": "uint256"}],
                    "name": "transfer", "outputs": [{"internalType": "bool", "name": "", "type": "bool"}],
                    "payable": False, "stateMutability": "nonpayable", "type": "function"}, {
                    "constant": False, "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"}],
                    "payable": False, "stateMutability": "nonpayable", "type": "function"}]
