{
  "contractName": "StakingPoolWorker",
  "sourceName": "contracts/interfaces/StakingPoolWorker.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "workerAddress",
          "type": "address"
        }
      ],
      "name": "cancelHire",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address payable",
          "name": "workerAddress",
          "type": "address"
        }
      ],
      "name": "hire",
      "outputs": [],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address payable",
          "name": "workerAddress",
          "type": "address"
        }
      ],
      "name": "retire",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "selfhire",
      "outputs": [],
      "stateMutability": "payable",
      "type": "function"
    }
  ],
  "bytecode": "0x",
  "deployedBytecode": "0x",
  "linkReferences": {},
  "deployedLinkReferences": {},
  "devdoc": {
    "kind": "dev",
    "methods": {
      "cancelHire(address)": {
        "params": {
          "workerAddress": "address of the worker node"
        }
      },
      "hire(address)": {
        "params": {
          "workerAddress": "address of the worker"
        }
      },
      "retire(address)": {
        "details": "this also removes all authorizations in place",
        "params": {
          "workerAddress": "address of the worker to be retired"
        }
      }
    },
    "version": 1
  },
  "userdoc": {
    "kind": "user",
    "methods": {
      "cancelHire(address)": {
        "notice": "Called by the user to cancel a job offer"
      },
      "hire(address)": {
        "notice": "Asks the worker to work for the sender. Sender needs to pay something."
      },
      "retire(address)": {
        "notice": "Called by the user to retire his worker."
      },
      "selfhire()": {
        "notice": "allows for the pool to act on its own behalf when producing blocks."
      }
    },
    "version": 1
  },
  "evm": {
    "gasEstimates": null,
    "methodIdentifiers": {
      "cancelHire(address)": "b64b3bed",
      "hire(address)": "d9d6bd86",
      "retire(address)": "9e6371ba",
      "selfhire()": "6ff46a6c"
    }
  }
}