/* Generated by ts-generator ver. 0.0.8 */
/* tslint:disable */

import { Contract, ContractFactory, Signer } from "ethers";
import { Provider } from "ethers/providers";
import { UnsignedTransaction } from "ethers/utils/transaction";

import { TransactionOverrides } from ".";
import { Example } from "./Example";

export class ExampleFactory extends ContractFactory {
  constructor(signer?: Signer) {
    super(_abi, _bytecode, signer);
  }

  deploy(overrides?: TransactionOverrides): Promise<Example> {
    return super.deploy(overrides) as Promise<Example>;
  }
  getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction {
    return super.getDeployTransaction(overrides);
  }
  attach(address: string): Example {
    return super.attach(address) as Example;
  }
  connect(signer: Signer): ExampleFactory {
    return super.connect(signer) as ExampleFactory;
  }
  static connect(
    address: string,
    signerOrProvider: Signer | Provider
  ): Example {
    return new Contract(address, _abi, signerOrProvider) as Example;
  }
}

const _abi = [
  {
    inputs: [],
    stateMutability: "nonpayable",
    type: "constructor"
  },
  {
    inputs: [],
    name: "_n",
    outputs: [
      {
        internalType: "uint256",
        name: "",
        type: "uint256"
      }
    ],
    stateMutability: "view",
    type: "function"
  },
  {
    inputs: [],
    name: "test",
    outputs: [
      {
        internalType: "uint256",
        name: "n",
        type: "uint256"
      }
    ],
    stateMutability: "view",
    type: "function"
  }
];

const _bytecode =
  "0x6080604052348015600f57600080fd5b5060056000556097806100236000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c80631aadff81146037578063f8a8fd6d14604f575b600080fd5b603d6055565b60408051918252519081900360200190f35b603d605b565b60005481565b6000549056fea2646970667358221220db729e656432d2a44942aae506cff90eea05978605f6847ecdf717665d7a04e664736f6c63430006080033";