{
    "schemaVersion": "2.0.0",
    "contractName": "DummyERC20Token",
    "compilerOutput": {
        "abi": [
            {
                "inputs": [
                    { "internalType": "string", "name": "_name", "type": "string" },
                    { "internalType": "string", "name": "_symbol", "type": "string" },
                    { "internalType": "uint256", "name": "_decimals", "type": "uint256" },
                    { "internalType": "uint256", "name": "_totalSupply", "type": "uint256" }
                ],
                "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": "_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": "MAX_MINT_AMOUNT",
                "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
                "payable": false,
                "stateMutability": "view",
                "type": "function"
            },
            {
                "constant": true,
                "inputs": [
                    { "internalType": "address", "name": "_owner", "type": "address" },
                    { "internalType": "address", "name": "_spender", "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": "_owner", "type": "address" }],
                "name": "balanceOf",
                "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
                "payable": false,
                "stateMutability": "view",
                "type": "function"
            },
            {
                "constant": true,
                "inputs": [],
                "name": "decimals",
                "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
                "payable": false,
                "stateMutability": "view",
                "type": "function"
            },
            {
                "constant": false,
                "inputs": [{ "internalType": "uint256", "name": "_value", "type": "uint256" }],
                "name": "mint",
                "outputs": [],
                "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": [],
                "name": "owner",
                "outputs": [{ "internalType": "address", "name": "", "type": "address" }],
                "payable": false,
                "stateMutability": "view",
                "type": "function"
            },
            {
                "constant": false,
                "inputs": [
                    { "internalType": "address", "name": "_target", "type": "address" },
                    { "internalType": "uint256", "name": "_value", "type": "uint256" }
                ],
                "name": "setBalance",
                "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": 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"
            },
            {
                "constant": false,
                "inputs": [{ "internalType": "address", "name": "newOwner", "type": "address" }],
                "name": "transferOwnership",
                "outputs": [],
                "payable": false,
                "stateMutability": "nonpayable",
                "type": "function"
            }
        ],
        "devdoc": {
            "methods": {
                "allowance(address,address)": {
                    "params": {
                        "_owner": "The address of the account owning tokens",
                        "_spender": "The address of the account able to transfer the tokens"
                    },
                    "return": "Amount of remaining tokens allowed to spent"
                },
                "approve(address,uint256)": {
                    "details": "`msg.sender` approves `_spender` to spend `_value` tokens",
                    "params": {
                        "_spender": "The address of the account able to transfer the tokens",
                        "_value": "The amount of wei to be approved for transfer"
                    },
                    "return": "Always true if the call has enough gas to complete execution"
                },
                "balanceOf(address)": {
                    "details": "Query the balance of owner",
                    "params": { "_owner": "The address from which the balance will be retrieved" },
                    "return": "Balance of owner"
                },
                "mint(uint256)": {
                    "details": "Mints new tokens for sender",
                    "params": { "_value": "Amount of tokens to mint" }
                },
                "setBalance(address,uint256)": {
                    "details": "Sets the balance of target address",
                    "params": {
                        "_target": "Address or which balance will be updated",
                        "_value": "New balance of target address"
                    }
                },
                "totalSupply()": { "details": "Query total supply of token", "return": "Total supply of token" },
                "transfer(address,uint256)": {
                    "details": "send `value` token to `to` from `msg.sender`",
                    "params": {
                        "_to": "The address of the recipient",
                        "_value": "The amount of token to be transferred"
                    },
                    "return": "True if transfer was successful"
                },
                "transferFrom(address,address,uint256)": {
                    "details": "ERC20 transferFrom, modified such that an allowance of MAX_UINT represents an unlimited allowance. See https://github.com/ethereum/EIPs/issues/717",
                    "params": {
                        "_from": "Address to transfer from.",
                        "_to": "Address to transfer to.",
                        "_value": "Amount to transfer."
                    },
                    "return": "Success of transfer."
                }
            }
        },
        "evm": {
            "bytecode": {
                "object": "[encoded data, 8842 characters]"
            },
            "deployedBytecode": {
                "object": "[encoded data, 7438 characters]"
            }
        }
    },
    "compiler": {
        "name": "solc",
        "version": "soljson-v0.5.12+commit.7709ece9.js",
        "settings": {
            "optimizer": {
                "enabled": true,
                "runs": 1000000,
                "details": { "yul": true, "deduplicate": true, "cse": true, "constantOptimizer": true }
            },
            "outputSelection": {
                "*": {
                    "*": [
                        "abi",
                        "devdoc",
                        "evm.bytecode.object",
                        "evm.bytecode.sourceMap",
                        "evm.deployedBytecode.object",
                        "evm.deployedBytecode.sourceMap",
                        "devdoc"
                    ]
                }
            },
            "evmVersion": "constantinople"
        }
    },
    "networks": {}
}
