/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers";
import type { Provider, TransactionRequest } from "@ethersproject/providers";
import type {
  LiquidityPoolCreate,
  LiquidityPoolCreateInterface,
} from "../../BeamUSDTPool.s.sol/LiquidityPoolCreate";

const _abi = [
  {
    type: "function",
    name: "IS_SCRIPT",
    inputs: [],
    outputs: [
      {
        name: "",
        type: "bool",
        internalType: "bool",
      },
    ],
    stateMutability: "view",
  },
  {
    type: "function",
    name: "USDT",
    inputs: [],
    outputs: [
      {
        name: "",
        type: "address",
        internalType: "address",
      },
    ],
    stateMutability: "view",
  },
  {
    type: "function",
    name: "run",
    inputs: [],
    outputs: [],
    stateMutability: "nonpayable",
  },
] as const;

const _bytecode =
  "0x6080604052600c805461ff01600160b81b03191676721dc57c1d8446f0104f082d8acc3c0f8e3bcaf201000117905534801561003a57600080fd5b5061069a8061004a6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063c040622614610046578063c54e44eb14610050578063f8ccbf4714610087575b600080fd5b61004e6100aa565b005b600c5461006a90630100000090046001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b600c5461009a9062010000900460ff1681565b604051901515815260200161007e565b6100b26100b4565b565b600c5460405163c1978d1f60e01b815260206004808301919091526024820152632ab9b2b960e11b604482015273b4cfbc4836c5a0eb27a502b6008f9baf3bf8b3ee91630100000090046001600160a01b031690600090737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c1978d1f9060640160206040518083038186803b15801561014257600080fd5b505afa158015610156573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061017a91906105b1565b60405163ce817d4760e01b815260048101829052909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ce817d4790602401600060405180830381600087803b1580156101ca57600080fd5b505af11580156101de573d6000803e3d6000fd5b5060009250600291506101ee9050565b604051908082528060200260200182016040528015610217578160200160208202803683370190505b509050600c60039054906101000a90046001600160a01b03168160008151811061024357610243610661565b60200260200101906001600160a01b031690816001600160a01b031681525050836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561029c57600080fd5b505afa1580156102b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102d4919061049a565b816001815181106102e7576102e7610661565b6001600160a01b03928316602091820292909201015260405163095ea7b360e01b815285821660048201526402540be40060248201529084169063095ea7b390604401602060405180830381600087803b15801561034457600080fd5b505af1158015610358573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061037c919061058f565b506001600160a01b0384166318cbafe56402540be40060008473bc67629883fbdf808acbfc1fcc608b757be9d3786103b6426103e861063b565b6040518663ffffffff1660e01b81526004016103d69594939291906105ca565b600060405180830381600087803b1580156103f057600080fd5b505af1158015610404573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261042c91908101906104ca565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d6001600160a01b03166376eadd366040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561047c57600080fd5b505af1158015610490573d6000803e3d6000fd5b5050505050505050565b6000602082840312156104ac57600080fd5b81516001600160a01b03811681146104c357600080fd5b9392505050565b600060208083850312156104dd57600080fd5b825167ffffffffffffffff808211156104f557600080fd5b818501915085601f83011261050957600080fd5b81518181111561051b5761051b610677565b8060051b604051601f19603f8301168101818110858211171561054057610540610677565b604052828152858101935084860182860187018a101561055f57600080fd5b600095505b83861015610582578051855260019590950194938601938601610564565b5098975050505050505050565b6000602082840312156105a157600080fd5b815180151581146104c357600080fd5b6000602082840312156105c357600080fd5b5051919050565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561061a5784516001600160a01b0316835293830193918301916001016105f5565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561065c57634e487b7160e01b600052601160045260246000fd5b500190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fdfea164736f6c6343000807000a";

type LiquidityPoolCreateConstructorParams =
  | [signer?: Signer]
  | ConstructorParameters<typeof ContractFactory>;

const isSuperArgs = (
  xs: LiquidityPoolCreateConstructorParams
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;

export class LiquidityPoolCreate__factory extends ContractFactory {
  constructor(...args: LiquidityPoolCreateConstructorParams) {
    if (isSuperArgs(args)) {
      super(...args);
    } else {
      super(_abi, _bytecode, args[0]);
    }
  }

  override deploy(
    overrides?: Overrides & { from?: string }
  ): Promise<LiquidityPoolCreate> {
    return super.deploy(overrides || {}) as Promise<LiquidityPoolCreate>;
  }
  override getDeployTransaction(
    overrides?: Overrides & { from?: string }
  ): TransactionRequest {
    return super.getDeployTransaction(overrides || {});
  }
  override attach(address: string): LiquidityPoolCreate {
    return super.attach(address) as LiquidityPoolCreate;
  }
  override connect(signer: Signer): LiquidityPoolCreate__factory {
    return super.connect(signer) as LiquidityPoolCreate__factory;
  }

  static readonly bytecode = _bytecode;
  static readonly abi = _abi;
  static createInterface(): LiquidityPoolCreateInterface {
    return new utils.Interface(_abi) as LiquidityPoolCreateInterface;
  }
  static connect(
    address: string,
    signerOrProvider: Signer | Provider
  ): LiquidityPoolCreate {
    return new Contract(address, _abi, signerOrProvider) as LiquidityPoolCreate;
  }
}
