{
  "_format": "hh-sol-artifact-1",
  "contractName": "TestERC20",
  "sourceName": "contracts/test-helpers/TestERC20.sol",
  "abi": [
    {
      "inputs": [],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "spender",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "Approval",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "Transfer",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "allowance",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "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": [],
      "name": "decimals",
      "outputs": [
        {
          "internalType": "uint8",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "mint",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "name",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "symbol",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "totalSupply",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "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"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b506106fc806100206000396000f3fe608060405234801561001057600080fd5b50600436106100be5760003560e01c806340c10f191161007657806395d89b411161005b57806395d89b41146101b1578063a9059cbb146101ed578063dd62ed3e1461020057600080fd5b806340c10f191461017c57806370a082311461019157600080fd5b806318160ddd116100a757806318160ddd1461013857806323b872dd1461014f578063313ce5671461016257600080fd5b806306fdde03146100c3578063095ea7b314610115575b600080fd5b6100ff6040518060400160405280600481526020017f546573740000000000000000000000000000000000000000000000000000000081525081565b60405161010c9190610511565b60405180910390f35b6101286101233660046105ad565b61022b565b604051901515815260200161010c565b61014160005481565b60405190815260200161010c565b61012861015d3660046105d7565b610241565b61016a601281565b60405160ff909116815260200161010c565b61018f61018a3660046105ad565b61031b565b005b61014161019f366004610613565b60016020526000908152604090205481565b6100ff6040518060400160405280600381526020017f545354000000000000000000000000000000000000000000000000000000000081525081565b6101286101fb3660046105ad565b6103c6565b61014161020e366004610635565b600260209081526000928352604080842090915290825290205481565b60006102383384846103d3565b50600192915050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff146103065773ffffffffffffffffffffffffffffffffffffffff841660009081526002602090815260408083203384529091529020546102d4908390610697565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610311848484610442565b5060019392505050565b8060005461032991906106ae565b600090815573ffffffffffffffffffffffffffffffffffffffff831681526001602052604090205461035c9082906106ae565b73ffffffffffffffffffffffffffffffffffffffff83166000818152600160205260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906103ba9085815260200190565b60405180910390a35050565b6000610238338484610442565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054610473908290610697565b73ffffffffffffffffffffffffffffffffffffffff80851660009081526001602052604080822093909355908416815220546104b09082906106ae565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906104359085815260200190565b600060208083528351808285015260005b8181101561053e57858101830151858201604001528201610522565b81811115610550576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146105a857600080fd5b919050565b600080604083850312156105c057600080fd5b6105c983610584565b946020939093013593505050565b6000806000606084860312156105ec57600080fd5b6105f584610584565b925061060360208501610584565b9150604084013590509250925092565b60006020828403121561062557600080fd5b61062e82610584565b9392505050565b6000806040838503121561064857600080fd5b61065183610584565b915061065f60208401610584565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000828210156106a9576106a9610668565b500390565b600082198211156106c1576106c1610668565b50019056fea26469706673582212207a1f707b02a468c7d6ee167006bef894f4d7f95db5673fc0ca44671bc63c4c8f64736f6c634300080f0033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100be5760003560e01c806340c10f191161007657806395d89b411161005b57806395d89b41146101b1578063a9059cbb146101ed578063dd62ed3e1461020057600080fd5b806340c10f191461017c57806370a082311461019157600080fd5b806318160ddd116100a757806318160ddd1461013857806323b872dd1461014f578063313ce5671461016257600080fd5b806306fdde03146100c3578063095ea7b314610115575b600080fd5b6100ff6040518060400160405280600481526020017f546573740000000000000000000000000000000000000000000000000000000081525081565b60405161010c9190610511565b60405180910390f35b6101286101233660046105ad565b61022b565b604051901515815260200161010c565b61014160005481565b60405190815260200161010c565b61012861015d3660046105d7565b610241565b61016a601281565b60405160ff909116815260200161010c565b61018f61018a3660046105ad565b61031b565b005b61014161019f366004610613565b60016020526000908152604090205481565b6100ff6040518060400160405280600381526020017f545354000000000000000000000000000000000000000000000000000000000081525081565b6101286101fb3660046105ad565b6103c6565b61014161020e366004610635565b600260209081526000928352604080842090915290825290205481565b60006102383384846103d3565b50600192915050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff146103065773ffffffffffffffffffffffffffffffffffffffff841660009081526002602090815260408083203384529091529020546102d4908390610697565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610311848484610442565b5060019392505050565b8060005461032991906106ae565b600090815573ffffffffffffffffffffffffffffffffffffffff831681526001602052604090205461035c9082906106ae565b73ffffffffffffffffffffffffffffffffffffffff83166000818152600160205260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906103ba9085815260200190565b60405180910390a35050565b6000610238338484610442565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054610473908290610697565b73ffffffffffffffffffffffffffffffffffffffff80851660009081526001602052604080822093909355908416815220546104b09082906106ae565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906104359085815260200190565b600060208083528351808285015260005b8181101561053e57858101830151858201604001528201610522565b81811115610550576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146105a857600080fd5b919050565b600080604083850312156105c057600080fd5b6105c983610584565b946020939093013593505050565b6000806000606084860312156105ec57600080fd5b6105f584610584565b925061060360208501610584565b9150604084013590509250925092565b60006020828403121561062557600080fd5b61062e82610584565b9392505050565b6000806040838503121561064857600080fd5b61065183610584565b915061065f60208401610584565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000828210156106a9576106a9610668565b500390565b600082198211156106c1576106c1610668565b50019056fea26469706673582212207a1f707b02a468c7d6ee167006bef894f4d7f95db5673fc0ca44671bc63c4c8f64736f6c634300080f0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
