/* 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 { LibAsset, LibAssetInterface } from "../LibAsset";

const _abi = [
  {
    inputs: [
      {
        internalType: "bytes8",
        name: "c__4e3cd818",
        type: "bytes8",
      },
    ],
    name: "c_4e3cd818",
    outputs: [],
    stateMutability: "pure",
    type: "function",
  },
  {
    inputs: [
      {
        internalType: "bytes8",
        name: "c__4e3cd818",
        type: "bytes8",
      },
    ],
    name: "c_false4e3cd818",
    outputs: [
      {
        internalType: "bool",
        name: "",
        type: "bool",
      },
    ],
    stateMutability: "pure",
    type: "function",
  },
  {
    inputs: [
      {
        internalType: "bytes8",
        name: "c__4e3cd818",
        type: "bytes8",
      },
    ],
    name: "c_true4e3cd818",
    outputs: [
      {
        internalType: "bool",
        name: "",
        type: "bool",
      },
    ],
    stateMutability: "pure",
    type: "function",
  },
];

const _bytecode =
  "0x6101a5610053600b82828239805160001a607314610046577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c8063658c96a914610050578063804207cf14610080578063f772e4af1461009c575b600080fd5b61006a600480360381019061006591906100f6565b6100cc565b604051610077919061012e565b60405180910390f35b61009a600480360381019061009591906100f6565b6100d3565b005b6100b660048036038101906100b191906100f6565b6100d6565b6040516100c3919061012e565b60405180910390f35b6000919050565b50565b600060019050919050565b6000813590506100f081610181565b92915050565b60006020828403121561010857600080fd5b6000610116848285016100e1565b91505092915050565b61012881610149565b82525050565b6000602082019050610143600083018461011f565b92915050565b60008115159050919050565b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b61018a81610155565b811461019557600080fd5b5056fea164736f6c6343000804000a";

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

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

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

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