/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */

import { Contract, Interface, type ContractRunner } from 'ethers'
import type {
  GraphDirectory,
  GraphDirectoryInterface,
} from '../../../../../@graphprotocol/horizon/contracts/utilities/GraphDirectory'

const _abi = [
  {
    inputs: [
      {
        internalType: 'bytes',
        name: 'contractName',
        type: 'bytes',
      },
    ],
    name: 'GraphDirectoryInvalidZeroAddress',
    type: 'error',
  },
  {
    anonymous: false,
    inputs: [
      {
        indexed: true,
        internalType: 'address',
        name: 'graphToken',
        type: 'address',
      },
      {
        indexed: true,
        internalType: 'address',
        name: 'graphStaking',
        type: 'address',
      },
      {
        indexed: false,
        internalType: 'address',
        name: 'graphPayments',
        type: 'address',
      },
      {
        indexed: false,
        internalType: 'address',
        name: 'graphEscrow',
        type: 'address',
      },
      {
        indexed: true,
        internalType: 'address',
        name: 'graphController',
        type: 'address',
      },
      {
        indexed: false,
        internalType: 'address',
        name: 'graphEpochManager',
        type: 'address',
      },
      {
        indexed: false,
        internalType: 'address',
        name: 'graphRewardsManager',
        type: 'address',
      },
      {
        indexed: false,
        internalType: 'address',
        name: 'graphTokenGateway',
        type: 'address',
      },
      {
        indexed: false,
        internalType: 'address',
        name: 'graphProxyAdmin',
        type: 'address',
      },
      {
        indexed: false,
        internalType: 'address',
        name: 'graphCuration',
        type: 'address',
      },
    ],
    name: 'GraphDirectoryInitialized',
    type: 'event',
  },
] as const

export class GraphDirectory__factory {
  static readonly abi = _abi
  static createInterface(): GraphDirectoryInterface {
    return new Interface(_abi) as GraphDirectoryInterface
  }
  static connect(address: string, runner?: ContractRunner | null): GraphDirectory {
    return new Contract(address, _abi, runner) as unknown as GraphDirectory
  }
}
