UNPKG

@cheethas/splits-sdk

Version:

Fork of the splits SDK for the 0xSplits protocol, testing experimental features

32 lines (27 loc) 775 B
import { EventFilter, Event } from '@ethersproject/contracts' import { Result } from '@ethersproject/abi' export type TypedEventFilter<_EventArgsArray, _EventArgsObject> = EventFilter export interface TypedEvent<EventArgs extends Result> extends Event { args: EventArgs } export type TypedListener< EventArgsArray extends Array<any>, EventArgsObject, > = ( ...listenerArg: [ ...EventArgsArray, TypedEvent<EventArgsArray & EventArgsObject>, ] ) => void export type MinEthersFactory<C, ARGS> = { deploy(...a: ARGS[]): Promise<C> } export type GetContractTypeFromFactory<F> = F extends MinEthersFactory< infer C, any > ? C : never export type GetARGsTypeFromFactory<F> = F extends MinEthersFactory<any, any> ? Parameters<F['deploy']> : never