{
  "_format": "hh3-artifact-1",
  "contractName": "MockReentrantTarget",
  "sourceName": "contracts/test/allocate/MockReentrantTarget.sol",
  "abi": [
    {
      "anonymous": false,
      "inputs": [],
      "name": "BeforeIssuanceAllocationChange",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "oldIssuanceAllocator",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newIssuanceAllocator",
          "type": "address"
        }
      ],
      "name": "IssuanceAllocatorSet",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "actionToPerform",
      "outputs": [
        {
          "internalType": "enum MockReentrantTarget.ReentrantAction",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "beforeIssuanceAllocationChange",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "issuanceAllocator",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_issuanceAllocator",
          "type": "address"
        }
      ],
      "name": "setIssuanceAllocator",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "enum MockReentrantTarget.ReentrantAction",
          "name": "_action",
          "type": "uint8"
        }
      ],
      "name": "setReentrantAction",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "shouldAttemptReentrancy",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "interfaceId",
          "type": "bytes4"
        }
      ],
      "name": "supportsInterface",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x60808060405234601557610624908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a71461019457508063368b381f1461014c5780633df8d68214610132578063931c0ac1146100f7578063c3e15de1146100d0578063e4679dd2146100ac5763feeeda7914610069575f80fd5b346100a8575f3660031901126100a85760ff5f5460a01c16604051600c821015610094576020918152f35b634e487b7160e01b5f52602160045260245ffd5b5f80fd5b346100a8575f3660031901126100a857602060ff5f5460a81c166040519015158152f35b346100a8575f3660031901126100a8575f546040516001600160a01b039091168152602090f35b346100a85760203660031901126100a8576004356001600160a01b038116908190036100a8575f80546001600160a01b031916919091179055005b346100a8575f3660031901126100a85761014a610244565b005b346100a85760203660031901126100a857600435600c8110156100a8575f805461ffff60a01b191660a083901b60ff60a01b161791151560a81b60ff60a81b16919091179055005b346100a85760203660031901126100a8576004359063ffffffff60e01b82168092036100a85760209163aee4dc4360e01b81149081156101d6575b5015158152f35b6301ffc9a760e01b149050836101cf565b90601f8019910116810190811067ffffffffffffffff82111761020957604052565b634e487b7160e01b5f52604160045260245ffd5b908160209103126100a8575190565b908160209103126100a8575180151581036100a85790565b5f5460ff8160a81c161561029e5760ff8160a01c16600c81101561009457600181036102d45750505f805460405163049bdfcb60e41b81529160209183916004918391906001600160a01b03165af180156102c9576102a1575b50565b61029e9060203d6020116102c2575b6102ba81836101e7565b81019061021d565b503d6102b0565b6040513d5f823e3d90fd5b600281036103485750505f805460405163221cc87d60e11b81523060048201526103e860248201529160209183916044918391906001600160a01b03165af180156102c9576103205750565b61029e9060203d602011610341575b61033981836101e7565b81019061022c565b503d61032f565b6003810361039b5750505f805460405163323d9b4160e11b81523060048201526103e86024820152604481018390529160209183916064918391906001600160a01b03165af180156102c9576103205750565b600481036103f45750505f80546040516330b2cd5160e21b81523060048201526103e86024820152604481018390524360648201529160209183916084918391906001600160a01b03165af180156102c9576103205750565b6005810361043a5750505f8054604051631156bdc160e01b81526103e860048201529160209183916024918391906001600160a01b03165af180156102c9576103205750565b600681036104865750505f8054604051633189ede960e21b81526103e860048201524360248201529160209183916044918391906001600160a01b03165af180156102c9576103205750565b600781036104ca5750505f8054604051631221da4f60e21b81523060048201529160209183916024918391906001600160a01b03165af180156102c9576103205750565b6008810361050e5750505f80546040516334be799160e11b81523060048201529160209183916024918391906001600160a01b03165af180156102c9576103205750565b600981036105585750505f805460405163d012a15b60e01b81523060048201524360248201529160209183916044918391906001600160a01b03165af180156102c9576103205750565b600a81036105965750505f8054604051633af5b07360e01b81529160209183916004918391906001600160a01b03165af180156102c9576102a15750565b600b146105a05750565b6040516314b0386360e21b815243600482015290602090829060249082905f906001600160a01b03165af180156102c9571561029e5761029e9060203d6020116102c2576102ba81836101e756fea2646970667358221220961968de7337b4acbe65ee12039e87c610dc85c7f493667e92b0e5feb6780dd864736f6c63430008210033",
  "deployedBytecode": "0x6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a71461019457508063368b381f1461014c5780633df8d68214610132578063931c0ac1146100f7578063c3e15de1146100d0578063e4679dd2146100ac5763feeeda7914610069575f80fd5b346100a8575f3660031901126100a85760ff5f5460a01c16604051600c821015610094576020918152f35b634e487b7160e01b5f52602160045260245ffd5b5f80fd5b346100a8575f3660031901126100a857602060ff5f5460a81c166040519015158152f35b346100a8575f3660031901126100a8575f546040516001600160a01b039091168152602090f35b346100a85760203660031901126100a8576004356001600160a01b038116908190036100a8575f80546001600160a01b031916919091179055005b346100a8575f3660031901126100a85761014a610244565b005b346100a85760203660031901126100a857600435600c8110156100a8575f805461ffff60a01b191660a083901b60ff60a01b161791151560a81b60ff60a81b16919091179055005b346100a85760203660031901126100a8576004359063ffffffff60e01b82168092036100a85760209163aee4dc4360e01b81149081156101d6575b5015158152f35b6301ffc9a760e01b149050836101cf565b90601f8019910116810190811067ffffffffffffffff82111761020957604052565b634e487b7160e01b5f52604160045260245ffd5b908160209103126100a8575190565b908160209103126100a8575180151581036100a85790565b5f5460ff8160a81c161561029e5760ff8160a01c16600c81101561009457600181036102d45750505f805460405163049bdfcb60e41b81529160209183916004918391906001600160a01b03165af180156102c9576102a1575b50565b61029e9060203d6020116102c2575b6102ba81836101e7565b81019061021d565b503d6102b0565b6040513d5f823e3d90fd5b600281036103485750505f805460405163221cc87d60e11b81523060048201526103e860248201529160209183916044918391906001600160a01b03165af180156102c9576103205750565b61029e9060203d602011610341575b61033981836101e7565b81019061022c565b503d61032f565b6003810361039b5750505f805460405163323d9b4160e11b81523060048201526103e86024820152604481018390529160209183916064918391906001600160a01b03165af180156102c9576103205750565b600481036103f45750505f80546040516330b2cd5160e21b81523060048201526103e86024820152604481018390524360648201529160209183916084918391906001600160a01b03165af180156102c9576103205750565b6005810361043a5750505f8054604051631156bdc160e01b81526103e860048201529160209183916024918391906001600160a01b03165af180156102c9576103205750565b600681036104865750505f8054604051633189ede960e21b81526103e860048201524360248201529160209183916044918391906001600160a01b03165af180156102c9576103205750565b600781036104ca5750505f8054604051631221da4f60e21b81523060048201529160209183916024918391906001600160a01b03165af180156102c9576103205750565b6008810361050e5750505f80546040516334be799160e11b81523060048201529160209183916024918391906001600160a01b03165af180156102c9576103205750565b600981036105585750505f805460405163d012a15b60e01b81523060048201524360248201529160209183916044918391906001600160a01b03165af180156102c9576103205750565b600a81036105965750505f8054604051633af5b07360e01b81529160209183916004918391906001600160a01b03165af180156102c9576102a15750565b600b146105a05750565b6040516314b0386360e21b815243600482015290602090829060249082905f906001600160a01b03165af180156102c9571561029e5761029e9060203d6020116102c2576102ba81836101e756fea2646970667358221220961968de7337b4acbe65ee12039e87c610dc85c7f493667e92b0e5feb6780dd864736f6c63430008210033",
  "linkReferences": {},
  "deployedLinkReferences": {},
  "immutableReferences": {},
  "inputSourceName": "project/contracts/test/allocate/MockReentrantTarget.sol",
  "buildInfoId": "solc-0_8_33-4b238b4fe0cedd7be5f2b0aa5999a5f7433e9c71"
}