/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers";
import { Provider, TransactionRequest } from "@ethersproject/providers";
import type { NoArgument, NoArgumentInterface } from "../NoArgument";

const _abi = [
  {
    anonymous: false,
    inputs: [],
    name: "NoArgumentCalled",
    type: "event",
  },
  {
    inputs: [],
    name: "noArgument",
    outputs: [],
    stateMutability: "nonpayable",
    type: "function",
  },
];

const _bytecode =
  "0x6080604052348015600f57600080fd5b5060968061001e6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063568959ca14602d575b600080fd5b60336035565b005b6040517fc582abe1670c5a7f7cad8f171e4af03c793dd9f59fee6714179f56b6e9aea26f90600090a156fea2646970667358221220ce07272ce7d152a89ea4579e3d450bf103e0a58e94254e444aff7d2a77ab05ce64736f6c634300060c0033";

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

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

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

  deploy(
    overrides?: Overrides & { from?: string | Promise<string> }
  ): Promise<NoArgument> {
    return super.deploy(overrides || {}) as Promise<NoArgument>;
  }
  getDeployTransaction(
    overrides?: Overrides & { from?: string | Promise<string> }
  ): TransactionRequest {
    return super.getDeployTransaction(overrides || {});
  }
  attach(address: string): NoArgument {
    return super.attach(address) as NoArgument;
  }
  connect(signer: Signer): NoArgument__factory {
    return super.connect(signer) as NoArgument__factory;
  }
  static readonly bytecode = _bytecode;
  static readonly abi = _abi;
  static createInterface(): NoArgumentInterface {
    return new utils.Interface(_abi) as NoArgumentInterface;
  }
  static connect(
    address: string,
    signerOrProvider: Signer | Provider
  ): NoArgument {
    return new Contract(address, _abi, signerOrProvider) as NoArgument;
  }
}
