{
  "_format": "hh-sol-artifact-1",
  "contractName": "SafeERC20Mock",
  "sourceName": "contracts/test/SafeERC20Mock.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "contract IERC20",
          "name": "_token",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "address",
          "name": "_spender",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_value",
          "type": "uint256"
        }
      ],
      "name": "approveWithFix",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "token",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "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": "transferFromWithFix",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "address",
          "name": "_to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_value",
          "type": "uint256"
        }
      ],
      "name": "transferWithFix",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b506040516107ad3803806107ad8339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b0319909216919091179055610748806100656000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80633a4ac55d1461005c5780638a076ab21461009c578063a9059cbb146100c8578063ac6e0f90146100f4578063fc0c546a1461012a575b600080fd5b6100886004803603604081101561007257600080fd5b506001600160a01b03813516906020013561014e565b604080519115158252519081900360200190f35b610088600480360360408110156100b257600080fd5b506001600160a01b038135169060200135610176565b610088600480360360408110156100de57600080fd5b506001600160a01b038135169060200135610194565b6100886004803603606081101561010a57600080fd5b506001600160a01b0381358116916020810135909116906040013561021f565b610132610248565b604080516001600160a01b039092168252519081900360200190f35b6000805461016c906001600160a01b0316848463ffffffff61025716565b5060015b92915050565b6000805461016c906001600160a01b0316848463ffffffff61046816565b600080546040805163a9059cbb60e01b81526001600160a01b038681166004830152602482018690529151919092169163a9059cbb91604480830192602092919082900301818787803b1580156101ea57600080fd5b505af11580156101fe573d6000803e3d6000fd5b505050506040513d602081101561021457600080fd5b505161017057600080fd5b6000805461023e906001600160a01b031685858563ffffffff61052f16565b5060019392505050565b6000546001600160a01b031681565b610269836001600160a01b03166106b2565b61027257600080fd5b8015806102f8575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156102ca57600080fd5b505afa1580156102de573d6000803e3d6000fd5b505050506040513d60208110156102f457600080fd5b5051155b61030157600080fd5b604080518082018252601881527f617070726f766528616464726573732c75696e7432353629000000000000000060209182015281516001600160a01b0385811660248301526044808301869052845180840390910181526064909201845291810180516001600160e01b031663095ea7b360e01b1781529251815160009460609489169392918291908083835b602083106103ae5780518252601f19909201916020918201910161038f565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610410576040519150601f19603f3d011682016040523d82523d6000602084013e610415565b606091505b50915091508161042457600080fd5b80511580610458575080516020148015610458575080601f8151811061044657fe5b01602001516001600160f81b03191615155b61046157600080fd5b5050505050565b61047a836001600160a01b03166106b2565b61048357600080fd5b604080518082018252601981527f7472616e7366657228616464726573732c75696e74323536290000000000000060209182015281516001600160a01b0385811660248301526044808301869052845180840390910181526064909201845291810180516001600160e01b031663a9059cbb60e01b178152925181516000946060948916939291829190808383602083106103ae5780518252601f19909201916020918201910161038f565b610541846001600160a01b03166106b2565b61054a57600080fd5b60006060856001600160a01b03166040518060600160405280602581526020016106ef602591398051602091820120604080516001600160a01b03808b166024830152891660448201526064808201899052825180830390910181526084909101825292830180516001600160e01b03166001600160e01b0319909316929092178252518251909182918083835b602083106105f75780518252601f1990920191602091820191016105d8565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610659576040519150601f19603f3d011682016040523d82523d6000602084013e61065e565b606091505b50915091508161066d57600080fd5b805115806106a15750805160201480156106a1575080601f8151811061068f57fe5b01602001516001600160f81b03191615155b6106aa57600080fd5b505050505050565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081158015906106e65750808214155b94935050505056fe7472616e7366657246726f6d28616464726573732c616464726573732c75696e7432353629a265627a7a723158209b5f95af18bcf431cc77ab0f2b5f292f60002b6d97493deea0139c5b2856f69564736f6c63430005110032",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c80633a4ac55d1461005c5780638a076ab21461009c578063a9059cbb146100c8578063ac6e0f90146100f4578063fc0c546a1461012a575b600080fd5b6100886004803603604081101561007257600080fd5b506001600160a01b03813516906020013561014e565b604080519115158252519081900360200190f35b610088600480360360408110156100b257600080fd5b506001600160a01b038135169060200135610176565b610088600480360360408110156100de57600080fd5b506001600160a01b038135169060200135610194565b6100886004803603606081101561010a57600080fd5b506001600160a01b0381358116916020810135909116906040013561021f565b610132610248565b604080516001600160a01b039092168252519081900360200190f35b6000805461016c906001600160a01b0316848463ffffffff61025716565b5060015b92915050565b6000805461016c906001600160a01b0316848463ffffffff61046816565b600080546040805163a9059cbb60e01b81526001600160a01b038681166004830152602482018690529151919092169163a9059cbb91604480830192602092919082900301818787803b1580156101ea57600080fd5b505af11580156101fe573d6000803e3d6000fd5b505050506040513d602081101561021457600080fd5b505161017057600080fd5b6000805461023e906001600160a01b031685858563ffffffff61052f16565b5060019392505050565b6000546001600160a01b031681565b610269836001600160a01b03166106b2565b61027257600080fd5b8015806102f8575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156102ca57600080fd5b505afa1580156102de573d6000803e3d6000fd5b505050506040513d60208110156102f457600080fd5b5051155b61030157600080fd5b604080518082018252601881527f617070726f766528616464726573732c75696e7432353629000000000000000060209182015281516001600160a01b0385811660248301526044808301869052845180840390910181526064909201845291810180516001600160e01b031663095ea7b360e01b1781529251815160009460609489169392918291908083835b602083106103ae5780518252601f19909201916020918201910161038f565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610410576040519150601f19603f3d011682016040523d82523d6000602084013e610415565b606091505b50915091508161042457600080fd5b80511580610458575080516020148015610458575080601f8151811061044657fe5b01602001516001600160f81b03191615155b61046157600080fd5b5050505050565b61047a836001600160a01b03166106b2565b61048357600080fd5b604080518082018252601981527f7472616e7366657228616464726573732c75696e74323536290000000000000060209182015281516001600160a01b0385811660248301526044808301869052845180840390910181526064909201845291810180516001600160e01b031663a9059cbb60e01b178152925181516000946060948916939291829190808383602083106103ae5780518252601f19909201916020918201910161038f565b610541846001600160a01b03166106b2565b61054a57600080fd5b60006060856001600160a01b03166040518060600160405280602581526020016106ef602591398051602091820120604080516001600160a01b03808b166024830152891660448201526064808201899052825180830390910181526084909101825292830180516001600160e01b03166001600160e01b0319909316929092178252518251909182918083835b602083106105f75780518252601f1990920191602091820191016105d8565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610659576040519150601f19603f3d011682016040523d82523d6000602084013e61065e565b606091505b50915091508161066d57600080fd5b805115806106a15750805160201480156106a1575080601f8151811061068f57fe5b01602001516001600160f81b03191615155b6106aa57600080fd5b505050505050565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081158015906106e65750808214155b94935050505056fe7472616e7366657246726f6d28616464726573732c616464726573732c75696e7432353629a265627a7a723158209b5f95af18bcf431cc77ab0f2b5f292f60002b6d97493deea0139c5b2856f69564736f6c63430005110032",
  "linkReferences": {},
  "deployedLinkReferences": {}
}