common.ts 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /* Autogenerated file. Do not edit manually. */
  2. /* tslint:disable */
  3. /* eslint-disable */
  4. import type { Listener } from "@ethersproject/providers";
  5. import type { Event, EventFilter } from "ethers";
  6. export interface TypedEvent<
  7. TArgsArray extends Array<any> = any,
  8. TArgsObject = any
  9. > extends Event {
  10. args: TArgsArray & TArgsObject;
  11. }
  12. export interface TypedEventFilter<_TEvent extends TypedEvent>
  13. extends EventFilter {}
  14. export interface TypedListener<TEvent extends TypedEvent> {
  15. (...listenerArg: [...__TypechainArgsArray<TEvent>, TEvent]): void;
  16. }
  17. type __TypechainArgsArray<T> = T extends TypedEvent<infer U> ? U : never;
  18. export interface OnEvent<TRes> {
  19. <TEvent extends TypedEvent>(
  20. eventFilter: TypedEventFilter<TEvent>,
  21. listener: TypedListener<TEvent>
  22. ): TRes;
  23. (eventName: string, listener: Listener): TRes;
  24. }
  25. export type MinEthersFactory<C, ARGS> = {
  26. deploy(...a: ARGS[]): Promise<C>;
  27. };
  28. export type GetContractTypeFromFactory<F> = F extends MinEthersFactory<
  29. infer C,
  30. any
  31. >
  32. ? C
  33. : never;
  34. export type GetARGsTypeFromFactory<F> = F extends MinEthersFactory<any, any>
  35. ? Parameters<F["deploy"]>
  36. : never;
  37. export type PromiseOrValue<T> = T | Promise<T>;