{
  "_format": "hh-sol-artifact-1",
  "contractName": "ERC20ReceiverMock",
  "sourceName": "contracts/mocks/token/ERC20/ERC20ReceiverMock.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "bool",
          "name": "accept",
          "type": "bool"
        },
        {
          "internalType": "address",
          "name": "tokenAddress",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "IllegalInterfaceId",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "WrongToken",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "sender",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "ERC20Received",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "sender",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "onERC20Received",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "interfaceId",
          "type": "bytes4"
        }
      ],
      "name": "supportsInterface",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x60c0346100e057601f61056b38819003918201601f19168301916001600160401b038311848410176100e55780849260409485528339810103126100e05780519081151582036100e05760200151906001600160a01b03821682036100e057634fc3585960e01b6000527fca9d3e17f264b0f3984e2634e94adb37fa3e6a8103f06aeae6fa59e21c769f5d6020527fe65694af8bc898f30b0dd47956ad372c47424e060a94ef47c1bbc9231c44a84b805460ff1916600117905560805260a05260405161046f90816100fc82396080518161025b015260a051816102330152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001257600080fd5b60003560e01c806301ffc9a7146101a757634fc358591461003257600080fd5b346101735760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101735760043573ffffffffffffffffffffffffffffffffffffffff811681036101735760243573ffffffffffffffffffffffffffffffffffffffff81168103610173576064359067ffffffffffffffff821161017357366023830112156101735781600401359267ffffffffffffffff841161017857604051917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f8801160116830183811067ffffffffffffffff821117610178576040528483523660248686010111610173576000602086819760246101499801838801378501015260443591610217565b7fffffffff0000000000000000000000000000000000000000000000000000000060405191168152f35b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b346101735760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610173576004357fffffffff00000000000000000000000000000000000000000000000000000000811681036101735761020d60209161038a565b6040519015158152f35b919093929373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163303610360577f0000000000000000000000000000000000000000000000000000000000000000156103575773ffffffffffffffffffffffffffffffffffffffff90816040519416845216602083015260408201526080606082015282519283608083015260005b84811061034157505060a0817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f866000857faf27e222a631278dbe6529e0dbf9fca686cfc255d167f9f68192a8e30ba6fa6298998601015201168101030190a17f4fc358590000000000000000000000000000000000000000000000000000000090565b80602080928401015160a08286010152016102bb565b50600093505050565b7fa0f3feea0000000000000000000000000000000000000000000000000000000060005260046000fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167fffffffff000000000000000000000000000000000000000000000000000000008114610433577f01ffc9a700000000000000000000000000000000000000000000000000000000811461042d576000527fca9d3e17f264b0f3984e2634e94adb37fa3e6a8103f06aeae6fa59e21c769f5d60205260ff6040600020541690565b50600190565b5060009056fea26469706673582212202dd524751b9e7dd156cb4d081136e6182d506b2a3bd9f2298fe45635964e8b4964736f6c634300081e0033",
  "deployedBytecode": "0x6080604052600436101561001257600080fd5b60003560e01c806301ffc9a7146101a757634fc358591461003257600080fd5b346101735760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101735760043573ffffffffffffffffffffffffffffffffffffffff811681036101735760243573ffffffffffffffffffffffffffffffffffffffff81168103610173576064359067ffffffffffffffff821161017357366023830112156101735781600401359267ffffffffffffffff841161017857604051917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f8801160116830183811067ffffffffffffffff821117610178576040528483523660248686010111610173576000602086819760246101499801838801378501015260443591610217565b7fffffffff0000000000000000000000000000000000000000000000000000000060405191168152f35b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b346101735760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610173576004357fffffffff00000000000000000000000000000000000000000000000000000000811681036101735761020d60209161038a565b6040519015158152f35b919093929373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163303610360577f0000000000000000000000000000000000000000000000000000000000000000156103575773ffffffffffffffffffffffffffffffffffffffff90816040519416845216602083015260408201526080606082015282519283608083015260005b84811061034157505060a0817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f866000857faf27e222a631278dbe6529e0dbf9fca686cfc255d167f9f68192a8e30ba6fa6298998601015201168101030190a17f4fc358590000000000000000000000000000000000000000000000000000000090565b80602080928401015160a08286010152016102bb565b50600093505050565b7fa0f3feea0000000000000000000000000000000000000000000000000000000060005260046000fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167fffffffff000000000000000000000000000000000000000000000000000000008114610433577f01ffc9a700000000000000000000000000000000000000000000000000000000811461042d576000527fca9d3e17f264b0f3984e2634e94adb37fa3e6a8103f06aeae6fa59e21c769f5d60205260ff6040600020541690565b50600190565b5060009056fea26469706673582212202dd524751b9e7dd156cb4d081136e6182d506b2a3bd9f2298fe45635964e8b4964736f6c634300081e0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
