/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
import { Contract, ContractFactory, ContractTransactionResponse, Interface } from 'ethers'
import type { Signer, ContractDeployTransaction, ContractRunner } from 'ethers'
import type { NonPayableOverrides } from '../../../common'
import type { CurationMock, CurationMockInterface } from '../../../contracts/mocks/CurationMock'

const _abi = [
  {
    inputs: [
      {
        internalType: 'bytes32',
        name: 'subgraphDeploymentID',
        type: 'bytes32',
      },
      {
        internalType: 'uint256',
        name: 'tokens',
        type: 'uint256',
      },
    ],
    name: 'collect',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'bytes32',
        name: 'subgraphDeploymentID',
        type: 'bytes32',
      },
    ],
    name: 'curation',
    outputs: [
      {
        internalType: 'uint256',
        name: 'tokens',
        type: 'uint256',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'bytes32',
        name: 'subgraphDeploymentID',
        type: 'bytes32',
      },
    ],
    name: 'isCurated',
    outputs: [
      {
        internalType: 'bool',
        name: '',
        type: 'bool',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'bytes32',
        name: 'subgraphDeploymentID',
        type: 'bytes32',
      },
      {
        internalType: 'uint256',
        name: 'tokens',
        type: 'uint256',
      },
    ],
    name: 'signal',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
] as const

const _bytecode =
  '0x6080604052348015600f57600080fd5b5061018a8061001f6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806304aaea1e146100515780634c4ea0ed1461008457806359e98790146100b657806381573288146100b6575b600080fd5b61007161005f3660046100f2565b60006020819052908152604090205481565b6040519081526020015b60405180910390f35b6100a66100923660046100f2565b600090815260208190526040902054151590565b604051901515815260200161007b565b6100c96100c436600461010b565b6100cb565b005b600082815260208190526040812080548392906100e990849061012d565b90915550505050565b60006020828403121561010457600080fd5b5035919050565b6000806040838503121561011e57600080fd5b50508035926020909101359150565b8082018082111561014e57634e487b7160e01b600052601160045260246000fd5b9291505056fea2646970667358221220fea64318512653894e823d2837ff45132ac62c6df996408d81d01648a2d0ae4364736f6c634300081b0033'

type CurationMockConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>

const isSuperArgs = (xs: CurationMockConstructorParams): xs is ConstructorParameters<typeof ContractFactory> =>
  xs.length > 1

export class CurationMock__factory extends ContractFactory {
  constructor(...args: CurationMockConstructorParams) {
    if (isSuperArgs(args)) {
      super(...args)
    } else {
      super(_abi, _bytecode, args[0])
    }
  }

  override getDeployTransaction(
    overrides?: NonPayableOverrides & { from?: string },
  ): Promise<ContractDeployTransaction> {
    return super.getDeployTransaction(overrides || {})
  }
  override deploy(overrides?: NonPayableOverrides & { from?: string }) {
    return super.deploy(overrides || {}) as Promise<
      CurationMock & {
        deploymentTransaction(): ContractTransactionResponse
      }
    >
  }
  override connect(runner: ContractRunner | null): CurationMock__factory {
    return super.connect(runner) as CurationMock__factory
  }

  static readonly bytecode = _bytecode
  static readonly abi = _abi
  static createInterface(): CurationMockInterface {
    return new Interface(_abi) as CurationMockInterface
  }
  static connect(address: string, runner?: ContractRunner | null): CurationMock {
    return new Contract(address, _abi, runner) as unknown as CurationMock
  }
}
