{
  "_format": "hh-sol-artifact-1",
  "contractName": "ISubgraphService",
  "sourceName": "contracts/subgraph-service/ISubgraphService.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "claimId",
          "type": "bytes32"
        }
      ],
      "name": "DataServiceFeesClaimNotFound",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "DataServiceFeesZeroTokens",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "allocationId",
          "type": "address"
        }
      ],
      "name": "SubgraphServiceAllocationIsAltruistic",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "indexer",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "allocationId",
          "type": "address"
        }
      ],
      "name": "SubgraphServiceAllocationNotAuthorized",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "allocationId",
          "type": "address"
        }
      ],
      "name": "SubgraphServiceCannotForceCloseAllocation",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "SubgraphServiceEmptyGeohash",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "SubgraphServiceEmptyUrl",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "balanceBefore",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "balanceAfter",
          "type": "uint256"
        }
      ],
      "name": "SubgraphServiceInconsistentCollection",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "providedIndexer",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "expectedIndexer",
          "type": "address"
        }
      ],
      "name": "SubgraphServiceIndexerMismatch",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "indexer",
          "type": "address"
        }
      ],
      "name": "SubgraphServiceIndexerNotRegistered",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "collectionId",
          "type": "bytes32"
        }
      ],
      "name": "SubgraphServiceInvalidCollectionId",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "curationCut",
          "type": "uint256"
        }
      ],
      "name": "SubgraphServiceInvalidCurationCut",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "enum IGraphPayments.PaymentTypes",
          "name": "paymentType",
          "type": "uint8"
        }
      ],
      "name": "SubgraphServiceInvalidPaymentType",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "ravIndexer",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "allocationIndexer",
          "type": "address"
        }
      ],
      "name": "SubgraphServiceInvalidRAV",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "SubgraphServiceInvalidZeroStakeToFeesRatio",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "curationCut",
          "type": "uint256"
        }
      ],
      "name": "CurationCutSet",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "indexer",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "paymentsDestination",
          "type": "address"
        }
      ],
      "name": "PaymentsDestinationSet",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "serviceProvider",
          "type": "address"
        }
      ],
      "name": "ProvisionPendingParametersAccepted",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "serviceProvider",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "payer",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "allocationId",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "subgraphDeploymentId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "tokensCollected",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "tokensCurators",
          "type": "uint256"
        }
      ],
      "name": "QueryFeesCollected",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "serviceProvider",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "enum IGraphPayments.PaymentTypes",
          "name": "feeType",
          "type": "uint8"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "tokens",
          "type": "uint256"
        }
      ],
      "name": "ServicePaymentCollected",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "serviceProvider",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "ServiceProviderRegistered",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "serviceProvider",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "tokens",
          "type": "uint256"
        }
      ],
      "name": "ServiceProviderSlashed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "serviceProvider",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "ServiceStarted",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "serviceProvider",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "ServiceStopped",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "serviceProvider",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "claimId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "tokens",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "unlockTimestamp",
          "type": "uint256"
        }
      ],
      "name": "StakeClaimLocked",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "serviceProvider",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "claimId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "tokens",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "releasableAt",
          "type": "uint256"
        }
      ],
      "name": "StakeClaimReleased",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "serviceProvider",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "claimsCount",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "tokensReleased",
          "type": "uint256"
        }
      ],
      "name": "StakeClaimsReleased",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "ratio",
          "type": "uint256"
        }
      ],
      "name": "StakeToFeesRatioSet",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "serviceProvider",
          "type": "address"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "acceptProvisionPendingParameters",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "allocationId",
          "type": "address"
        }
      ],
      "name": "closeStaleAllocation",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "serviceProvider",
          "type": "address"
        },
        {
          "internalType": "enum IGraphPayments.PaymentTypes",
          "name": "feeType",
          "type": "uint8"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "collect",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "indexer",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "allocationId",
          "type": "address"
        }
      ],
      "name": "encodeAllocationProof",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "allocationId",
          "type": "address"
        }
      ],
      "name": "getAllocation",
      "outputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "indexer",
              "type": "address"
            },
            {
              "internalType": "bytes32",
              "name": "subgraphDeploymentId",
              "type": "bytes32"
            },
            {
              "internalType": "uint256",
              "name": "tokens",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "createdAt",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "closedAt",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "lastPOIPresentedAt",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "accRewardsPerAllocatedToken",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "accRewardsPending",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "createdAtEpoch",
              "type": "uint256"
            }
          ],
          "internalType": "struct IAllocation.State",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getCuration",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getDelegationRatio",
      "outputs": [
        {
          "internalType": "uint32",
          "name": "",
          "type": "uint32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getDisputeManager",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getGraphTallyCollector",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "allocationId",
          "type": "address"
        }
      ],
      "name": "getLegacyAllocation",
      "outputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "indexer",
              "type": "address"
            },
            {
              "internalType": "bytes32",
              "name": "subgraphDeploymentId",
              "type": "bytes32"
            }
          ],
          "internalType": "struct ILegacyAllocation.State",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getProvisionTokensRange",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getThawingPeriodRange",
      "outputs": [
        {
          "internalType": "uint64",
          "name": "",
          "type": "uint64"
        },
        {
          "internalType": "uint64",
          "name": "",
          "type": "uint64"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getVerifierCutRange",
      "outputs": [
        {
          "internalType": "uint32",
          "name": "",
          "type": "uint32"
        },
        {
          "internalType": "uint32",
          "name": "",
          "type": "uint32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "minimumProvisionTokens",
          "type": "uint256"
        },
        {
          "internalType": "uint32",
          "name": "maximumDelegationRatio",
          "type": "uint32"
        },
        {
          "internalType": "uint256",
          "name": "stakeToFeesRatio",
          "type": "uint256"
        }
      ],
      "name": "initialize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "allocationId",
          "type": "address"
        }
      ],
      "name": "isOverAllocated",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "indexer",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "allocationId",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "subgraphDeploymentId",
          "type": "bytes32"
        }
      ],
      "name": "migrateLegacyAllocation",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "serviceProvider",
          "type": "address"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "register",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "numClaimsToRelease",
          "type": "uint256"
        }
      ],
      "name": "releaseStake",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "indexer",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "allocationId",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "tokens",
          "type": "uint256"
        }
      ],
      "name": "resizeAllocation",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "curationCut",
          "type": "uint256"
        }
      ],
      "name": "setCurationCut",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint32",
          "name": "delegationRatio",
          "type": "uint32"
        }
      ],
      "name": "setDelegationRatio",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "maxPOIStaleness",
          "type": "uint256"
        }
      ],
      "name": "setMaxPOIStaleness",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "minimumProvisionTokens",
          "type": "uint256"
        }
      ],
      "name": "setMinimumProvisionTokens",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "pauseGuardian",
          "type": "address"
        },
        {
          "internalType": "bool",
          "name": "allowed",
          "type": "bool"
        }
      ],
      "name": "setPauseGuardian",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "paymentsDestination",
          "type": "address"
        }
      ],
      "name": "setPaymentsDestination",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "stakeToFeesRatio",
          "type": "uint256"
        }
      ],
      "name": "setStakeToFeesRatio",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "serviceProvider",
          "type": "address"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "slash",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "serviceProvider",
          "type": "address"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "startService",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "serviceProvider",
          "type": "address"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "stopService",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x",
  "deployedBytecode": "0x",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
