{
  "name": "avax_testnet",
  "chainId": "43113",
  "contracts": {
    "ComputeInstantiator": {
      "address": "0xFa88aDb853f48Eb533940Af2C33A99803531870c",
      "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": "0x31b3C8DF612a1255a54DEc11A0030820cF914b1B",
      "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": "0x0f4E152E9bc18De7043aB842B2445d8Cfa780336",
      "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": "0xc9129903751dA0855c7a7df7ab4b2b5e1DDd0C5c",
      "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": "0xdecac9ff6b588642887414e85dfdde740a797f56",
      "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": "0x50bEFaEfD3AAaFac11Fd936A8dfEB1050eC5Cf00",
      "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": "0x89f1f1bc37Ef872ff0073bee7eE6d6B0D94Fd166",
      "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": "0x3F62ccC0e41287ea4d28dce6582a215B75bB43fd",
      "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": "0x7db3A9BdA16D1C295b23B94a61808EFf82288269",
      "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": "0x91E780568A1FEdd5d01E1c1E4cAed68E3a849345",
      "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"
        }
      ]
    }
  }
}