/* 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 {
  DeployFactory,
  DeployFactoryInterface,
} from "../../DeployFactory.s.sol/DeployFactory";

const _abi = [
  {
    type: "function",
    name: "IS_SCRIPT",
    inputs: [],
    outputs: [
      {
        name: "",
        type: "bool",
        internalType: "bool",
      },
    ],
    stateMutability: "view",
  },
  {
    type: "function",
    name: "run",
    inputs: [],
    outputs: [],
    stateMutability: "nonpayable",
  },
] as const;

const _bytecode =
  "0x6080604052600c805462ff00ff191662010001179055348015601f575f5ffd5b506105f88061002d5f395ff3fe608060405234801561000f575f5ffd5b5060043610610034575f3560e01c8063c040622614610038578063f8ccbf4714610042575b5f5ffd5b610040610069565b005b600c546100559062010000900460ff1681565b604051901515815260200160405180910390f35b610071610073565b565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d5f1c73ffffffffffffffffffffffffffffffffffffffff1663afc980406040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156100da575f5ffd5b505af11580156100ec573d5f5f3e3d5ffd5b505050505f6040516100fd90610213565b604051809103905ff080158015610116573d5f5f3e3d5ffd5b5090506101586040518060400160405280601d81526020017f4352454154453220466163746f7279206465706c6f7965642061743a200000008152508261015b565b50565b6101ec8282604051602401610171929190610220565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f319af333000000000000000000000000000000000000000000000000000000001790526101f0565b5050565b610158815f6a636f6e736f6c652e6c6f6790505f5f835160208501845afa505050565b6103328061029183390190565b604081525f83518060408401528060208601606085015e5f6060828501015260607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505073ffffffffffffffffffffffffffffffffffffffff83166020830152939250505056fe6080604052348015600e575f5ffd5b506103168061001c5f395ff3fe608060405260043610610028575f3560e01c8063481286e61461002c578063cdcb760a14610074575b5f5ffd5b348015610037575f5ffd5b5061004b610046366004610199565b610087565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61004b6100823660046101e6565b6100b1565b6040805190810182905260208101839052308082525f91600b0160ff815360559020949350505050565b5f81515f036100ec576040517f4ca249dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8282516020840134f5905073ffffffffffffffffffffffffffffffffffffffff8116610144576040517f741752c200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805173ffffffffffffffffffffffffffffffffffffffff83168152602081018590527f4108529e399e9cd5343c48ae06aa62a23c8c1b7c93f59d4691a0ea1e6f5b4603910160405180910390a192915050565b5f5f604083850312156101aa575f5ffd5b50508035926020909101359150565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f5f604083850312156101f7575f5ffd5b82359150602083013567ffffffffffffffff811115610214575f5ffd5b8301601f81018513610224575f5ffd5b803567ffffffffffffffff81111561023e5761023e6101b9565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff821117156102aa576102aa6101b9565b6040528181528282016020018710156102c1575f5ffd5b816020840160208301375f60208383010152809350505050925092905056fea2646970667358221220f9f265fabcdae1b307c601685613090a21ab49968566e35913736297c758400464736f6c634300081c0033a264697066735822122068a76e74b9611080160228a63471e1d8f7cc49c6331a9829099805aadd33ff7a64736f6c634300081c0033";

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

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

export class DeployFactory__factory extends ContractFactory {
  constructor(...args: DeployFactoryConstructorParams) {
    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<
      DeployFactory & {
        deploymentTransaction(): ContractTransactionResponse;
      }
    >;
  }
  override connect(runner: ContractRunner | null): DeployFactory__factory {
    return super.connect(runner) as DeployFactory__factory;
  }

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