{
  "_format": "hh-sol-artifact-1",
  "contractName": "RevertingERC20Mock",
  "sourceName": "contracts/mocks/RevertingERC20Mock.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "name_",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "symbol_",
          "type": "string"
        },
        {
          "internalType": "uint8",
          "name": "decimals_",
          "type": "uint8"
        },
        {
          "internalType": "uint256",
          "name": "supply",
          "type": "uint256"
        }
      ],
      "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": "amount",
          "type": "uint256"
        }
      ],
      "name": "approve",
      "outputs": [
        {
          "internalType": "bool",
          "name": "success",
          "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": [],
      "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": "amount",
          "type": "uint256"
        }
      ],
      "name": "transfer",
      "outputs": [
        {
          "internalType": "bool",
          "name": "success",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "transferFrom",
      "outputs": [
        {
          "internalType": "bool",
          "name": "success",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x60a060405234801561001057600080fd5b506040516109f53803806109f58339818101604052608081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156100ff57600080fd5b90830190602082018581111561011457600080fd5b825164010000000081118282018810171561012e57600080fd5b82525081516020918201929091019080838360005b8381101561015b578181015183820152602001610143565b50505050905090810190601f1680156101885780820380516001836020036101000a031916815260200191505b5060409081526020828101519290910151865192945092506101af9160019187019061020c565b5082516101c390600090602086019061020c565b5060f89190911b7fff00000000000000000000000000000000000000000000000000000000000000166080526002819055336000908152600360205260409020555061029f9050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061024d57805160ff191683800117855561027a565b8280016001018555821561027a579182015b8281111561027a57825182559160200191906001019061025f565b5061028692915061028a565b5090565b5b80821115610286576000815560010161028b565b60805160f81c6107396102bc6000398061051c52506107396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063313ce56711610066578063313ce567146101a557806370a08231146101c357806395d89b41146101e9578063a9059cbb146101f1578063dd62ed3e1461021d57610093565b806306fdde0314610098578063095ea7b31461011557806318160ddd1461015557806323b872dd1461016f575b600080fd5b6100a061024b565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100da5781810151838201526020016100c2565b50505050905090810190601f1680156101075780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101416004803603604081101561012b57600080fd5b506001600160a01b0381351690602001356102d8565b604080519115158252519081900360200190f35b61015d61033e565b60408051918252519081900360200190f35b6101416004803603606081101561018557600080fd5b506001600160a01b03813581169160208101359091169060400135610344565b6101ad61051a565b6040805160ff9092168252519081900360200190f35b61015d600480360360208110156101d957600080fd5b50356001600160a01b031661053e565b6100a0610550565b6101416004803603604081101561020757600080fd5b506001600160a01b0381351690602001356105ab565b61015d6004803603604081101561023357600080fd5b506001600160a01b03813581169160200135166106e6565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156102d05780601f106102a5576101008083540402835291602001916102d0565b820191906000526020600020905b8154815290600101906020018083116102b357829003601f168201915b505050505081565b3360008181526004602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60025481565b6001600160a01b0383166000908152600360205260408120548211156103ab576040805162461bcd60e51b8152602060048201526017602482015276546f6b656e423a2062616c616e636520746f6f206c6f7760481b604482015290519081900360640190fd5b6001600160a01b0384166000908152600460209081526040808320338452909152902054821115610423576040805162461bcd60e51b815260206004820152601960248201527f546f6b656e423a20616c6c6f77616e636520746f6f206c6f7700000000000000604482015290519081900360640190fd5b6001600160a01b0383166000908152600360205260409020548281011015610492576040805162461bcd60e51b815260206004820152601960248201527f546f6b656e423a206f766572666c6f7720646574656374656400000000000000604482015290519081900360640190fd5b6001600160a01b0380851660008181526003602081815260408084208054899003905560048252808420338552825280842080548990039055948816808452918152918490208054870190558351868152935190937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92908290030190a35060019392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60036020526000908152604090205481565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156102d05780601f106102a5576101008083540402835291602001916102d0565b33600090815260036020526040812054821115610609576040805162461bcd60e51b8152602060048201526017602482015276546f6b656e423a2062616c616e636520746f6f206c6f7760481b604482015290519081900360640190fd5b6001600160a01b0383166000908152600360205260409020548281011015610678576040805162461bcd60e51b815260206004820152601960248201527f546f6b656e423a206f766572666c6f7720646574656374656400000000000000604482015290519081900360640190fd5b336000818152600360209081526040808320805487900390556001600160a01b03871680845292819020805487019055805186815290519293927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a350600192915050565b60046020908152600092835260408084209091529082529020548156fea2646970667358221220405669b6a6a204ac30fc9666a634f99bc67f00d5ef4a9d274e454709a0acc41f64736f6c634300060c0033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c8063313ce56711610066578063313ce567146101a557806370a08231146101c357806395d89b41146101e9578063a9059cbb146101f1578063dd62ed3e1461021d57610093565b806306fdde0314610098578063095ea7b31461011557806318160ddd1461015557806323b872dd1461016f575b600080fd5b6100a061024b565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100da5781810151838201526020016100c2565b50505050905090810190601f1680156101075780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101416004803603604081101561012b57600080fd5b506001600160a01b0381351690602001356102d8565b604080519115158252519081900360200190f35b61015d61033e565b60408051918252519081900360200190f35b6101416004803603606081101561018557600080fd5b506001600160a01b03813581169160208101359091169060400135610344565b6101ad61051a565b6040805160ff9092168252519081900360200190f35b61015d600480360360208110156101d957600080fd5b50356001600160a01b031661053e565b6100a0610550565b6101416004803603604081101561020757600080fd5b506001600160a01b0381351690602001356105ab565b61015d6004803603604081101561023357600080fd5b506001600160a01b03813581169160200135166106e6565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156102d05780601f106102a5576101008083540402835291602001916102d0565b820191906000526020600020905b8154815290600101906020018083116102b357829003601f168201915b505050505081565b3360008181526004602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60025481565b6001600160a01b0383166000908152600360205260408120548211156103ab576040805162461bcd60e51b8152602060048201526017602482015276546f6b656e423a2062616c616e636520746f6f206c6f7760481b604482015290519081900360640190fd5b6001600160a01b0384166000908152600460209081526040808320338452909152902054821115610423576040805162461bcd60e51b815260206004820152601960248201527f546f6b656e423a20616c6c6f77616e636520746f6f206c6f7700000000000000604482015290519081900360640190fd5b6001600160a01b0383166000908152600360205260409020548281011015610492576040805162461bcd60e51b815260206004820152601960248201527f546f6b656e423a206f766572666c6f7720646574656374656400000000000000604482015290519081900360640190fd5b6001600160a01b0380851660008181526003602081815260408084208054899003905560048252808420338552825280842080548990039055948816808452918152918490208054870190558351868152935190937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92908290030190a35060019392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60036020526000908152604090205481565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156102d05780601f106102a5576101008083540402835291602001916102d0565b33600090815260036020526040812054821115610609576040805162461bcd60e51b8152602060048201526017602482015276546f6b656e423a2062616c616e636520746f6f206c6f7760481b604482015290519081900360640190fd5b6001600160a01b0383166000908152600360205260409020548281011015610678576040805162461bcd60e51b815260206004820152601960248201527f546f6b656e423a206f766572666c6f7720646574656374656400000000000000604482015290519081900360640190fd5b336000818152600360209081526040808320805487900390556001600160a01b03871680845292819020805487019055805186815290519293927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a350600192915050565b60046020908152600092835260408084209091529082529020548156fea2646970667358221220405669b6a6a204ac30fc9666a634f99bc67f00d5ef4a9d274e454709a0acc41f64736f6c634300060c0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
