{
  "name": "bsc_testnet",
  "chainId": "97",
  "contracts": {
    "ComputeInstantiator": {
      "address": "0x7629c1225790670481e58b55d0852a8CB700757d",
      "abi": [
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "_vgInstantiatorAddress",
              "type": "address"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "constructor"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "ChallengeStarted",
          "type": "event"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            },
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "_claimedFinalHash",
              "type": "bytes32"
            }
          ],
          "name": "ClaimSubmitted",
          "type": "event"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            },
            {
              "indexed": false,
              "internalType": "address",
              "name": "_challenger",
              "type": "address"
            },
            {
              "indexed": false,
              "internalType": "address",
              "name": "_claimer",
              "type": "address"
            },
            {
              "indexed": false,
              "internalType": "uint256",
              "name": "_roundDuration",
              "type": "uint256"
            },
            {
              "indexed": false,
              "internalType": "address",
              "name": "_machineAddress",
              "type": "address"
            },
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "_initialHash",
              "type": "bytes32"
            },
            {
              "indexed": false,
              "internalType": "uint256",
              "name": "_finalTime",
              "type": "uint256"
            }
          ],
          "name": "ComputeCreated",
          "type": "event"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            },
            {
              "indexed": false,
              "internalType": "uint8",
              "name": "_state",
              "type": "uint8"
            }
          ],
          "name": "ComputeFinished",
          "type": "event"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "ResultConfirmed",
          "type": "event"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "challenge",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "claimVictoryByTime",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "confirm",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [],
          "name": "currentIndex",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "getCurrentState",
          "outputs": [
            {
              "internalType": "bytes32",
              "name": "",
              "type": "bytes32"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_roundDuration",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "_timeToStartMachine",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "_partitionSize",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "_maxCycle",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "_picoSecondsToRunInsn",
              "type": "uint256"
            }
          ],
          "name": "getMaxInstanceDuration",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "getNonce",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "currentNonce",
              "type": "uint256"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            },
            {
              "internalType": "address",
              "name": "",
              "type": "address"
            }
          ],
          "name": "getState",
          "outputs": [
            {
              "internalType": "address",
              "name": "_challenger",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "_claimer",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "_deadline",
              "type": "uint256"
            },
            {
              "internalType": "address",
              "name": "_machine",
              "type": "address"
            },
            {
              "internalType": "bytes32",
              "name": "_initialHash",
              "type": "bytes32"
            },
            {
              "internalType": "uint256",
              "name": "_finalTime",
              "type": "uint256"
            },
            {
              "internalType": "bytes32",
              "name": "_claimedFinalHash",
              "type": "bytes32"
            },
            {
              "internalType": "bytes32",
              "name": "_currentState",
              "type": "bytes32"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            },
            {
              "internalType": "address",
              "name": "",
              "type": "address"
            }
          ],
          "name": "getSubInstances",
          "outputs": [
            {
              "internalType": "address[]",
              "name": "_addresses",
              "type": "address[]"
            },
            {
              "internalType": "uint256[]",
              "name": "_indices",
              "type": "uint256[]"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "_challenger",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "_claimer",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "_roundDuration",
              "type": "uint256"
            },
            {
              "internalType": "address",
              "name": "_machineAddress",
              "type": "address"
            },
            {
              "internalType": "bytes32",
              "name": "_initialHash",
              "type": "bytes32"
            },
            {
              "internalType": "uint256",
              "name": "_finalTime",
              "type": "uint256"
            }
          ],
          "name": "instantiate",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "isActive",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            },
            {
              "internalType": "address",
              "name": "_user",
              "type": "address"
            }
          ],
          "name": "isConcerned",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "stateIsChallengerWon",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "stateIsClaimerMissedDeadline",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "stateIsClaimerWon",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "stateIsConsensusResult",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "stateIsWaitingChallange",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "stateIsWaitingClaim",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "stateIsWaitingConfirmation",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            },
            {
              "internalType": "bytes32",
              "name": "_claimedFinalHash",
              "type": "bytes32"
            }
          ],
          "name": "submitClaim",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "winByVG",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        }
      ]
    },
    "MMInstantiator": {
      "address": "0x7925A01C44eC8206F03435847503C65C6d1A5ab4",
      "abi": [
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "FinishedProofs",
          "type": "event"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "FinishedReplay",
          "type": "event"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            },
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "_initialHash",
              "type": "bytes32"
            }
          ],
          "name": "MemoryCreated",
          "type": "event"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            },
            {
              "indexed": false,
              "internalType": "bool",
              "name": "_wasRead",
              "type": "bool"
            },
            {
              "indexed": false,
              "internalType": "uint64",
              "name": "_position",
              "type": "uint64"
            },
            {
              "indexed": false,
              "internalType": "bytes8",
              "name": "_value",
              "type": "bytes8"
            }
          ],
          "name": "ValueProved",
          "type": "event"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            },
            {
              "indexed": false,
              "internalType": "uint64",
              "name": "_position",
              "type": "uint64"
            },
            {
              "indexed": false,
              "internalType": "bytes8",
              "name": "_value",
              "type": "bytes8"
            }
          ],
          "name": "ValueRead",
          "type": "event"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            },
            {
              "indexed": false,
              "internalType": "uint64",
              "name": "_position",
              "type": "uint64"
            },
            {
              "indexed": false,
              "internalType": "bytes8",
              "name": "_value",
              "type": "bytes8"
            }
          ],
          "name": "ValueWritten",
          "type": "event"
        },
        {
          "inputs": [],
          "name": "currentIndex",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "finishProofPhase",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "finishReplayPhase",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "getCurrentState",
          "outputs": [
            {
              "internalType": "bytes32",
              "name": "",
              "type": "bytes32"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "_roundDuration",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "_timeToStartMachine",
              "type": "uint256"
            }
          ],
          "name": "getCurrentStateDeadline",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_roundDuration",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "_timeToStartMachine",
              "type": "uint256"
            }
          ],
          "name": "getMaxInstanceDuration",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "pure",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "getNonce",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "currentNonce",
              "type": "uint256"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "getRWArrays",
          "outputs": [
            {
              "internalType": "uint64[]",
              "name": "",
              "type": "uint64[]"
            },
            {
              "internalType": "bytes8[]",
              "name": "",
              "type": "bytes8[]"
            },
            {
              "internalType": "bool[]",
              "name": "",
              "type": "bool[]"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            },
            {
              "internalType": "address",
              "name": "",
              "type": "address"
            }
          ],
          "name": "getState",
          "outputs": [
            {
              "internalType": "address",
              "name": "_provider",
              "type": "address"
            },
            {
              "internalType": "bytes32",
              "name": "_initialHash",
              "type": "bytes32"
            },
            {
              "internalType": "bytes32",
              "name": "_newHash",
              "type": "bytes32"
            },
            {
              "internalType": "uint256",
              "name": "_numberSubmitted",
              "type": "uint256"
            },
            {
              "internalType": "bytes32",
              "name": "_currentState",
              "type": "bytes32"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "",
              "type": "uint256"
            },
            {
              "internalType": "address",
              "name": "",
              "type": "address"
            }
          ],
          "name": "getSubInstances",
          "outputs": [
            {
              "internalType": "address[]",
              "name": "",
              "type": "address[]"
            },
            {
              "internalType": "uint256[]",
              "name": "",
              "type": "uint256[]"
            }
          ],
          "stateMutability": "pure",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "initialHash",
          "outputs": [
            {
              "internalType": "bytes32",
              "name": "",
              "type": "bytes32"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "_owner",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "_provider",
              "type": "address"
            },
            {
              "internalType": "bytes32",
              "name": "_initialHash",
              "type": "bytes32"
            }
          ],
          "name": "instantiate",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "isActive",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            },
            {
              "internalType": "address",
              "name": "_user",
              "type": "address"
            }
          ],
          "name": "isConcerned",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "newHash",
          "outputs": [
            {
              "internalType": "bytes32",
              "name": "",
              "type": "bytes32"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            },
            {
              "internalType": "uint64",
              "name": "_position",
              "type": "uint64"
            },
            {
              "internalType": "bytes8",
              "name": "_value",
              "type": "bytes8"
            },
            {
              "internalType": "bytes32[]",
              "name": "proof",
              "type": "bytes32[]"
            }
          ],
          "name": "proveRead",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            },
            {
              "internalType": "uint64",
              "name": "_position",
              "type": "uint64"
            },
            {
              "internalType": "bytes8",
              "name": "_oldValue",
              "type": "bytes8"
            },
            {
              "internalType": "bytes8",
              "name": "_newValue",
              "type": "bytes8"
            },
            {
              "internalType": "bytes32[]",
              "name": "proof",
              "type": "bytes32[]"
            }
          ],
          "name": "proveWrite",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "provider",
          "outputs": [
            {
              "internalType": "address",
              "name": "",
              "type": "address"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "stateIsFinishedReplay",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "stateIsWaitingProofs",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "stateIsWaitingReplay",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        }
      ]
    },
    "PartitionInstantiator": {
      "address": "0x7A94F2D64cafAb906E0a4F4753F6d103Dc218cc4",
      "abi": [
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            },
            {
              "indexed": false,
              "internalType": "uint8",
              "name": "_state",
              "type": "uint8"
            }
          ],
          "name": "ChallengeEnded",
          "type": "event"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            },
            {
              "indexed": false,
              "internalType": "uint256",
              "name": "_timeOfDivergence",
              "type": "uint256"
            },
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "_hashAtDivergenceTime",
              "type": "bytes32"
            },
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "_hashRigthAfterDivergenceTime",
              "type": "bytes32"
            }
          ],
          "name": "DivergenceFound",
          "type": "event"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "HashesPosted",
          "type": "event"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "PartitionCreated",
          "type": "event"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "QueryPosted",
          "type": "event"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "claimVictoryByTime",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [],
          "name": "currentIndex",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "divergenceTime",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "getCurrentState",
          "outputs": [
            {
              "internalType": "bytes32",
              "name": "",
              "type": "bytes32"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "getCurrentStateDeadline",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "time",
              "type": "uint256"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_roundDuration",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "_timeToStartMachine",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "_partitionSize",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "_maxCycle",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "_picoSecondsToRunInsn",
              "type": "uint256"
            }
          ],
          "name": "getMaxInstanceDuration",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "pure",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "getNonce",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "currentNonce",
              "type": "uint256"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "getPartitionGameIndex",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "getQuerySize",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            },
            {
              "internalType": "address",
              "name": "",
              "type": "address"
            }
          ],
          "name": "getState",
          "outputs": [
            {
              "internalType": "address",
              "name": "_challenger",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "_claimer",
              "type": "address"
            },
            {
              "internalType": "uint256[]",
              "name": "_queryArray",
              "type": "uint256[]"
            },
            {
              "internalType": "bool[]",
              "name": "_submittedArray",
              "type": "bool[]"
            },
            {
              "internalType": "bytes32[]",
              "name": "_hashArray",
              "type": "bytes32[]"
            },
            {
              "internalType": "bytes32",
              "name": "_currentState",
              "type": "bytes32"
            },
            {
              "internalType": "uint256[]",
              "name": "_uintValues",
              "type": "uint256[]"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "",
              "type": "uint256"
            },
            {
              "internalType": "address",
              "name": "",
              "type": "address"
            }
          ],
          "name": "getSubInstances",
          "outputs": [
            {
              "internalType": "address[]",
              "name": "",
              "type": "address[]"
            },
            {
              "internalType": "uint256[]",
              "name": "",
              "type": "uint256[]"
            }
          ],
          "stateMutability": "pure",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "_challenger",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "_claimer",
              "type": "address"
            },
            {
              "internalType": "bytes32",
              "name": "_initialHash",
              "type": "bytes32"
            },
            {
              "internalType": "bytes32",
              "name": "_claimerFinalHash",
              "type": "bytes32"
            },
            {
              "internalType": "uint256",
              "name": "_finalTime",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "_querySize",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "_roundDuration",
              "type": "uint256"
            }
          ],
          "name": "instantiate",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "isActive",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            },
            {
              "internalType": "address",
              "name": "_user",
              "type": "address"
            }
          ],
          "name": "isConcerned",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "x",
              "type": "uint256"
            }
          ],
          "name": "log2OverTwo",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "y",
              "type": "uint256"
            }
          ],
          "stateMutability": "pure",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "queryPiece",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "leftPoint",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "rightPoint",
              "type": "uint256"
            }
          ],
          "name": "makeQuery",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "_divergenceTime",
              "type": "uint256"
            }
          ],
          "name": "presentDivergence",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "i",
              "type": "uint256"
            }
          ],
          "name": "queryArray",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            },
            {
              "internalType": "uint256[]",
              "name": "postedTimes",
              "type": "uint256[]"
            },
            {
              "internalType": "bytes32[]",
              "name": "postedHashes",
              "type": "bytes32[]"
            }
          ],
          "name": "replyQuery",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "stateIsChallengerWon",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "stateIsClaimerWon",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "stateIsDivergenceFound",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "stateIsWaitingHashes",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "stateIsWaitingQuery",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "key",
              "type": "uint256"
            }
          ],
          "name": "timeHash",
          "outputs": [
            {
              "internalType": "bytes32",
              "name": "",
              "type": "bytes32"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "key",
              "type": "uint256"
            }
          ],
          "name": "timeSubmitted",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        }
      ]
    },
    "VGInstantiator": {
      "address": "0xEF370c63569b2d8d9a66788758Ec57cA4dfd97c3",
      "abi": [
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "_partitionInstantiatorAddress",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "_mmInstantiatorAddress",
              "type": "address"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "constructor"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "MemoryWriten",
          "type": "event"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            },
            {
              "indexed": false,
              "internalType": "uint256",
              "name": "_mmInstance",
              "type": "uint256"
            }
          ],
          "name": "PartitionDivergenceFound",
          "type": "event"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            },
            {
              "indexed": false,
              "internalType": "address",
              "name": "_challenger",
              "type": "address"
            },
            {
              "indexed": false,
              "internalType": "address",
              "name": "_claimer",
              "type": "address"
            },
            {
              "indexed": false,
              "internalType": "uint256",
              "name": "_roundDuration",
              "type": "uint256"
            },
            {
              "indexed": false,
              "internalType": "address",
              "name": "_machineAddress",
              "type": "address"
            },
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "_initialHash",
              "type": "bytes32"
            },
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "_claimerFinalHash",
              "type": "bytes32"
            },
            {
              "indexed": false,
              "internalType": "uint256",
              "name": "_finalTime",
              "type": "uint256"
            },
            {
              "indexed": false,
              "internalType": "uint256",
              "name": "_partitionInstance",
              "type": "uint256"
            }
          ],
          "name": "VGCreated",
          "type": "event"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "enum VGInterface.state",
              "name": "_finalState",
              "type": "uint8"
            }
          ],
          "name": "VGFinished",
          "type": "event"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "claimVictoryByTime",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [],
          "name": "currentIndex",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "getCurrentState",
          "outputs": [
            {
              "internalType": "bytes32",
              "name": "",
              "type": "bytes32"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "getCurrentStateDeadline",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "time",
              "type": "uint256"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_roundDuration",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "_timeToStartMachine",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "_partitionSize",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "_maxCycle",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "_picoSecondsToRunInsn",
              "type": "uint256"
            }
          ],
          "name": "getMaxInstanceDuration",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "getNonce",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "currentNonce",
              "type": "uint256"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "getPartitionGameIndex",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "getPartitionQuerySize",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            },
            {
              "internalType": "address",
              "name": "",
              "type": "address"
            }
          ],
          "name": "getState",
          "outputs": [
            {
              "internalType": "address",
              "name": "_challenger",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "_claimer",
              "type": "address"
            },
            {
              "internalType": "contract MachineInterface",
              "name": "_machine",
              "type": "address"
            },
            {
              "internalType": "bytes32",
              "name": "_initialHash",
              "type": "bytes32"
            },
            {
              "internalType": "bytes32",
              "name": "_claimerFinalHash",
              "type": "bytes32"
            },
            {
              "internalType": "bytes32",
              "name": "_hashBeforeDivergence",
              "type": "bytes32"
            },
            {
              "internalType": "bytes32",
              "name": "_hashAfterDivergence",
              "type": "bytes32"
            },
            {
              "internalType": "bytes32",
              "name": "_currentState",
              "type": "bytes32"
            },
            {
              "internalType": "uint256[]",
              "name": "_uintValues",
              "type": "uint256[]"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            },
            {
              "internalType": "address",
              "name": "",
              "type": "address"
            }
          ],
          "name": "getSubInstances",
          "outputs": [
            {
              "internalType": "address[]",
              "name": "_addresses",
              "type": "address[]"
            },
            {
              "internalType": "uint256[]",
              "name": "_indices",
              "type": "uint256[]"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "_challenger",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "_claimer",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "_roundDuration",
              "type": "uint256"
            },
            {
              "internalType": "address",
              "name": "_machineAddress",
              "type": "address"
            },
            {
              "internalType": "bytes32",
              "name": "_initialHash",
              "type": "bytes32"
            },
            {
              "internalType": "bytes32",
              "name": "_claimerFinalHash",
              "type": "bytes32"
            },
            {
              "internalType": "uint256",
              "name": "_finalTime",
              "type": "uint256"
            }
          ],
          "name": "instantiate",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "isActive",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            },
            {
              "internalType": "address",
              "name": "_user",
              "type": "address"
            }
          ],
          "name": "isConcerned",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "x",
              "type": "uint256"
            }
          ],
          "name": "log2OverTwo",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "y",
              "type": "uint256"
            }
          ],
          "stateMutability": "pure",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "settleVerificationGame",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "startMachineRunChallenge",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "stateIsFinishedChallengerWon",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "stateIsFinishedClaimerWon",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_index",
              "type": "uint256"
            }
          ],
          "name": "winByPartitionTimeout",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        }
      ]
    },
    "BitsManipulationLibrary": {
      "address": "0xc411FDBCac6537051A4339FD30823467D573bE64",
      "abi": [
        {
          "inputs": [
            {
              "internalType": "int32",
              "name": "number",
              "type": "int32"
            },
            {
              "internalType": "uint32",
              "name": "wordSize",
              "type": "uint32"
            }
          ],
          "name": "int32SignExtension",
          "outputs": [
            {
              "internalType": "int32",
              "name": "",
              "type": "int32"
            }
          ],
          "stateMutability": "pure",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint32",
              "name": "num",
              "type": "uint32"
            }
          ],
          "name": "uint32SwapEndian",
          "outputs": [
            {
              "internalType": "uint32",
              "name": "",
              "type": "uint32"
            }
          ],
          "stateMutability": "pure",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint64",
              "name": "number",
              "type": "uint64"
            },
            {
              "internalType": "uint64",
              "name": "wordSize",
              "type": "uint64"
            }
          ],
          "name": "uint64SignExtension",
          "outputs": [
            {
              "internalType": "uint64",
              "name": "",
              "type": "uint64"
            }
          ],
          "stateMutability": "pure",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint64",
              "name": "num",
              "type": "uint64"
            }
          ],
          "name": "uint64SwapEndian",
          "outputs": [
            {
              "internalType": "uint64",
              "name": "",
              "type": "uint64"
            }
          ],
          "stateMutability": "pure",
          "type": "function"
        }
      ]
    },
    "CartesiMath": {
      "address": "0x0eA9fB188804da5449A424C6cAac3dAA63370E60",
      "abi": [
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_num",
              "type": "uint256"
            }
          ],
          "name": "getLog2TableTimes1M",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "pure",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_num",
              "type": "uint256"
            }
          ],
          "name": "log2ApproxTimes1M",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "",
              "type": "uint256"
            }
          ],
          "stateMutability": "pure",
          "type": "function"
        }
      ]
    },
    "Merkle": {
      "address": "0xD47860593fe40b3D0E04460e54bFE0b84E1E6922",
      "abi": [
        {
          "inputs": [
            {
              "internalType": "bytes32[]",
              "name": "hashes",
              "type": "bytes32[]"
            }
          ],
          "name": "calculateRootFromPowerOfTwo",
          "outputs": [
            {
              "internalType": "bytes32",
              "name": "",
              "type": "bytes32"
            }
          ],
          "stateMutability": "pure",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "number",
              "type": "uint256"
            }
          ],
          "name": "getLog2Floor",
          "outputs": [
            {
              "internalType": "uint8",
              "name": "",
              "type": "uint8"
            }
          ],
          "stateMutability": "pure",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint8",
              "name": "_log2Size",
              "type": "uint8"
            }
          ],
          "name": "getPristineHash",
          "outputs": [
            {
              "internalType": "bytes32",
              "name": "",
              "type": "bytes32"
            }
          ],
          "stateMutability": "pure",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint64",
              "name": "_position",
              "type": "uint64"
            },
            {
              "internalType": "bytes8",
              "name": "_value",
              "type": "bytes8"
            },
            {
              "internalType": "bytes32[]",
              "name": "proof",
              "type": "bytes32[]"
            }
          ],
          "name": "getRoot",
          "outputs": [
            {
              "internalType": "bytes32",
              "name": "",
              "type": "bytes32"
            }
          ],
          "stateMutability": "pure",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint64",
              "name": "_position",
              "type": "uint64"
            },
            {
              "internalType": "uint8",
              "name": "_logOfSize",
              "type": "uint8"
            },
            {
              "internalType": "bytes32",
              "name": "_drive",
              "type": "bytes32"
            },
            {
              "internalType": "bytes32[]",
              "name": "siblings",
              "type": "bytes32[]"
            }
          ],
          "name": "getRootWithDrive",
          "outputs": [
            {
              "internalType": "bytes32",
              "name": "",
              "type": "bytes32"
            }
          ],
          "stateMutability": "pure",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "number",
              "type": "uint256"
            }
          ],
          "name": "isPowerOf2",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "pure",
          "type": "function"
        }
      ]
    },
    "WorkerAuthManagerImpl": {
      "address": "0x85C1929cC1794dd7c25d16d095a09318Cc57d174",
      "abi": [
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "_workerManager",
              "type": "address"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "constructor"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "internalType": "address",
              "name": "user",
              "type": "address"
            },
            {
              "indexed": true,
              "internalType": "address",
              "name": "worker",
              "type": "address"
            },
            {
              "indexed": true,
              "internalType": "address",
              "name": "dapp",
              "type": "address"
            }
          ],
          "name": "Authorization",
          "type": "event"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "internalType": "address",
              "name": "user",
              "type": "address"
            },
            {
              "indexed": true,
              "internalType": "address",
              "name": "worker",
              "type": "address"
            },
            {
              "indexed": true,
              "internalType": "address",
              "name": "dapp",
              "type": "address"
            }
          ],
          "name": "Deauthorization",
          "type": "event"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "_workerAddress",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "_dappAddress",
              "type": "address"
            }
          ],
          "name": "authorize",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "_workerAddress",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "_dappAddress",
              "type": "address"
            }
          ],
          "name": "deauthorize",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "_workerAddress",
              "type": "address"
            }
          ],
          "name": "getOwner",
          "outputs": [
            {
              "internalType": "address",
              "name": "",
              "type": "address"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "_workerAddress",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "_dappAddress",
              "type": "address"
            }
          ],
          "name": "isAuthorized",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        }
      ]
    },
    "WorkerManagerAuthManagerImpl": {
      "address": "0x4b637E2957C96BA8892A6C51259F35C803Dd913F",
      "abi": [
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "internalType": "address",
              "name": "user",
              "type": "address"
            },
            {
              "indexed": true,
              "internalType": "address",
              "name": "worker",
              "type": "address"
            },
            {
              "indexed": true,
              "internalType": "address",
              "name": "dapp",
              "type": "address"
            }
          ],
          "name": "Authorization",
          "type": "event"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "internalType": "address",
              "name": "user",
              "type": "address"
            },
            {
              "indexed": true,
              "internalType": "address",
              "name": "worker",
              "type": "address"
            },
            {
              "indexed": true,
              "internalType": "address",
              "name": "dapp",
              "type": "address"
            }
          ],
          "name": "Deauthorization",
          "type": "event"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "internalType": "address",
              "name": "worker",
              "type": "address"
            },
            {
              "indexed": true,
              "internalType": "address",
              "name": "user",
              "type": "address"
            }
          ],
          "name": "JobAccepted",
          "type": "event"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "internalType": "address",
              "name": "worker",
              "type": "address"
            },
            {
              "indexed": true,
              "internalType": "address",
              "name": "user",
              "type": "address"
            }
          ],
          "name": "JobOffer",
          "type": "event"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "internalType": "address",
              "name": "worker",
              "type": "address"
            },
            {
              "indexed": true,
              "internalType": "address",
              "name": "user",
              "type": "address"
            }
          ],
          "name": "JobRejected",
          "type": "event"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "internalType": "address",
              "name": "worker",
              "type": "address"
            },
            {
              "indexed": true,
              "internalType": "address",
              "name": "user",
              "type": "address"
            }
          ],
          "name": "Retired",
          "type": "event"
        },
        {
          "inputs": [],
          "name": "acceptJob",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "_workerAddress",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "_dappAddress",
              "type": "address"
            }
          ],
          "name": "authorize",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "_workerAddress",
              "type": "address"
            }
          ],
          "name": "cancelHire",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "_workerAddress",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "_dappAddress",
              "type": "address"
            }
          ],
          "name": "deauthorize",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "_workerAddress",
              "type": "address"
            }
          ],
          "name": "getOwner",
          "outputs": [
            {
              "internalType": "address",
              "name": "",
              "type": "address"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "_workerAddress",
              "type": "address"
            }
          ],
          "name": "getUser",
          "outputs": [
            {
              "internalType": "address",
              "name": "",
              "type": "address"
            }
          ],
          "stateMutability": "view",
          "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"
            },
            {
              "internalType": "address",
              "name": "_dappAddress",
              "type": "address"
            }
          ],
          "name": "hireAndAuthorize",
          "outputs": [],
          "stateMutability": "payable",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "_workerAddress",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "_dappAddress",
              "type": "address"
            }
          ],
          "name": "isAuthorized",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "workerAddress",
              "type": "address"
            }
          ],
          "name": "isAvailable",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "_workerAddress",
              "type": "address"
            }
          ],
          "name": "isOwned",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "workerAddress",
              "type": "address"
            }
          ],
          "name": "isPending",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "_workerAddress",
              "type": "address"
            }
          ],
          "name": "isRetired",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [],
          "name": "rejectJob",
          "outputs": [],
          "stateMutability": "payable",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "address payable",
              "name": "_workerAddress",
              "type": "address"
            }
          ],
          "name": "retire",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        }
      ]
    },
    "WorkerManagerImpl": {
      "address": "0x767F4294434be981447B6d23f9565d02A6858fF2",
      "abi": [
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "internalType": "address",
              "name": "worker",
              "type": "address"
            },
            {
              "indexed": true,
              "internalType": "address",
              "name": "user",
              "type": "address"
            }
          ],
          "name": "JobAccepted",
          "type": "event"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "internalType": "address",
              "name": "worker",
              "type": "address"
            },
            {
              "indexed": true,
              "internalType": "address",
              "name": "user",
              "type": "address"
            }
          ],
          "name": "JobOffer",
          "type": "event"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "internalType": "address",
              "name": "worker",
              "type": "address"
            },
            {
              "indexed": true,
              "internalType": "address",
              "name": "user",
              "type": "address"
            }
          ],
          "name": "JobRejected",
          "type": "event"
        },
        {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "internalType": "address",
              "name": "worker",
              "type": "address"
            },
            {
              "indexed": true,
              "internalType": "address",
              "name": "user",
              "type": "address"
            }
          ],
          "name": "Retired",
          "type": "event"
        },
        {
          "inputs": [],
          "name": "acceptJob",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "_workerAddress",
              "type": "address"
            }
          ],
          "name": "cancelHire",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "_workerAddress",
              "type": "address"
            }
          ],
          "name": "getOwner",
          "outputs": [
            {
              "internalType": "address",
              "name": "",
              "type": "address"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "_workerAddress",
              "type": "address"
            }
          ],
          "name": "getUser",
          "outputs": [
            {
              "internalType": "address",
              "name": "",
              "type": "address"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "address payable",
              "name": "_workerAddress",
              "type": "address"
            }
          ],
          "name": "hire",
          "outputs": [],
          "stateMutability": "payable",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "workerAddress",
              "type": "address"
            }
          ],
          "name": "isAvailable",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "_workerAddress",
              "type": "address"
            }
          ],
          "name": "isOwned",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "workerAddress",
              "type": "address"
            }
          ],
          "name": "isPending",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "_workerAddress",
              "type": "address"
            }
          ],
          "name": "isRetired",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ],
          "stateMutability": "view",
          "type": "function"
        },
        {
          "inputs": [],
          "name": "rejectJob",
          "outputs": [],
          "stateMutability": "payable",
          "type": "function"
        },
        {
          "inputs": [
            {
              "internalType": "address payable",
              "name": "_workerAddress",
              "type": "address"
            }
          ],
          "name": "retire",
          "outputs": [],
          "stateMutability": "nonpayable",
          "type": "function"
        }
      ]
    }
  }
}