{
  "_format": "hh-sol-artifact-1",
  "contractName": "TestMulticall",
  "sourceName": "contracts/elixir-periphery/test/TestMulticall.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "a",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "b",
          "type": "uint256"
        }
      ],
      "name": "functionThatReturnsTuple",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint256",
              "name": "a",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "b",
              "type": "uint256"
            }
          ],
          "internalType": "struct TestMulticall.Tuple",
          "name": "tuple",
          "type": "tuple"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "error",
          "type": "string"
        }
      ],
      "name": "functionThatRevertsWithError",
      "outputs": [],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes[]",
          "name": "data",
          "type": "bytes[]"
        }
      ],
      "name": "multicall",
      "outputs": [
        {
          "internalType": "bytes[]",
          "name": "results",
          "type": "bytes[]"
        }
      ],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "paid",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "pays",
      "outputs": [],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "returnSender",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b5061064b806100206000396000f3fe6080604052600436106100655760003560e01c80635170a9d0116100435780635170a9d0146100e4578063ac9650d814610106578063f3e222971461012657610065565b8063295b4e171461006a57806334621235146100955780633b16a6a3146100b7575b600080fd5b34801561007657600080fd5b5061007f61012e565b60405161008c919061054a565b60405180910390f35b3480156100a157600080fd5b506100b56100b036600461034f565b610134565b005b3480156100c357600080fd5b506100d76100d236600461043b565b610157565b60405161008c9190610533565b3480156100f057600080fd5b506100f9610178565b60405161008c9190610498565b6101196101143660046102e0565b61017c565b60405161008c91906104b9565b6100b56102bc565b60005481565b8060405162461bcd60e51b815260040161014e9190610519565b60405180910390fd5b61015f6102c6565b5060408051808201909152908152602081019190915290565b3390565b60608167ffffffffffffffff8111801561019557600080fd5b506040519080825280602002602001820160405280156101c957816020015b60608152602001906001900390816101b45790505b50905060005b828110156102b557600080308686858181106101e757fe5b90506020028101906101f99190610553565b604051610207929190610488565b600060405180830381855af49150503d8060008114610242576040519150601f19603f3d011682016040523d82523d6000602084013e610247565b606091505b5091509150816102935760448151101561026057600080fd5b6004810190508080602001905181019061027a91906103c8565b60405162461bcd60e51b815260040161014e9190610519565b808484815181106102a057fe5b602090810291909101015250506001016101cf565b5092915050565b6000805434019055565b604051806040016040528060008152602001600081525090565b600080602083850312156102f2578182fd5b823567ffffffffffffffff80821115610309578384fd5b818501915085601f83011261031c578384fd5b81358181111561032a578485fd5b866020808302850101111561033d578485fd5b60209290920196919550909350505050565b600060208284031215610360578081fd5b813567ffffffffffffffff811115610376578182fd5b8201601f81018413610386578182fd5b8035610399610394826105c3565b61059f565b8181528560208385010111156103ad578384fd5b81602084016020830137908101602001929092525092915050565b6000602082840312156103d9578081fd5b815167ffffffffffffffff8111156103ef578182fd5b8201601f810184136103ff578182fd5b805161040d610394826105c3565b818152856020838501011115610421578384fd5b6104328260208301602086016105e5565b95945050505050565b6000806040838503121561044d578182fd5b50508035926020909101359150565b600081518084526104748160208601602086016105e5565b601f01601f19169290920160200192915050565b6000828483379101908152919050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b6000602080830181845280855180835260408601915060408482028701019250838701855b8281101561050c57603f198886030184526104fa85835161045c565b945092850192908501906001016104de565b5092979650505050505050565b60006020825261052c602083018461045c565b9392505050565b815181526020918201519181019190915260400190565b90815260200190565b6000808335601e19843603018112610569578283fd5b83018035915067ffffffffffffffff821115610583578283fd5b60200191503681900382131561059857600080fd5b9250929050565b60405181810167ffffffffffffffff811182821017156105bb57fe5b604052919050565b600067ffffffffffffffff8211156105d757fe5b50601f01601f191660200190565b60005b838110156106005781810151838201526020016105e8565b8381111561060f576000848401525b5050505056fea2646970667358221220b13d4213db839a1febd7a14be2530dceed743435eed5999e4e8d9e9290a227f964736f6c63430007060033",
  "deployedBytecode": "0x6080604052600436106100655760003560e01c80635170a9d0116100435780635170a9d0146100e4578063ac9650d814610106578063f3e222971461012657610065565b8063295b4e171461006a57806334621235146100955780633b16a6a3146100b7575b600080fd5b34801561007657600080fd5b5061007f61012e565b60405161008c919061054a565b60405180910390f35b3480156100a157600080fd5b506100b56100b036600461034f565b610134565b005b3480156100c357600080fd5b506100d76100d236600461043b565b610157565b60405161008c9190610533565b3480156100f057600080fd5b506100f9610178565b60405161008c9190610498565b6101196101143660046102e0565b61017c565b60405161008c91906104b9565b6100b56102bc565b60005481565b8060405162461bcd60e51b815260040161014e9190610519565b60405180910390fd5b61015f6102c6565b5060408051808201909152908152602081019190915290565b3390565b60608167ffffffffffffffff8111801561019557600080fd5b506040519080825280602002602001820160405280156101c957816020015b60608152602001906001900390816101b45790505b50905060005b828110156102b557600080308686858181106101e757fe5b90506020028101906101f99190610553565b604051610207929190610488565b600060405180830381855af49150503d8060008114610242576040519150601f19603f3d011682016040523d82523d6000602084013e610247565b606091505b5091509150816102935760448151101561026057600080fd5b6004810190508080602001905181019061027a91906103c8565b60405162461bcd60e51b815260040161014e9190610519565b808484815181106102a057fe5b602090810291909101015250506001016101cf565b5092915050565b6000805434019055565b604051806040016040528060008152602001600081525090565b600080602083850312156102f2578182fd5b823567ffffffffffffffff80821115610309578384fd5b818501915085601f83011261031c578384fd5b81358181111561032a578485fd5b866020808302850101111561033d578485fd5b60209290920196919550909350505050565b600060208284031215610360578081fd5b813567ffffffffffffffff811115610376578182fd5b8201601f81018413610386578182fd5b8035610399610394826105c3565b61059f565b8181528560208385010111156103ad578384fd5b81602084016020830137908101602001929092525092915050565b6000602082840312156103d9578081fd5b815167ffffffffffffffff8111156103ef578182fd5b8201601f810184136103ff578182fd5b805161040d610394826105c3565b818152856020838501011115610421578384fd5b6104328260208301602086016105e5565b95945050505050565b6000806040838503121561044d578182fd5b50508035926020909101359150565b600081518084526104748160208601602086016105e5565b601f01601f19169290920160200192915050565b6000828483379101908152919050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b6000602080830181845280855180835260408601915060408482028701019250838701855b8281101561050c57603f198886030184526104fa85835161045c565b945092850192908501906001016104de565b5092979650505050505050565b60006020825261052c602083018461045c565b9392505050565b815181526020918201519181019190915260400190565b90815260200190565b6000808335601e19843603018112610569578283fd5b83018035915067ffffffffffffffff821115610583578283fd5b60200191503681900382131561059857600080fd5b9250929050565b60405181810167ffffffffffffffff811182821017156105bb57fe5b604052919050565b600067ffffffffffffffff8211156105d757fe5b50601f01601f191660200190565b60005b838110156106005781810151838201526020016105e8565b8381111561060f576000848401525b5050505056fea2646970667358221220b13d4213db839a1febd7a14be2530dceed743435eed5999e4e8d9e9290a227f964736f6c63430007060033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
