UNPKG

@lido-sdk/contracts

Version:

This project is being slowly deprecated and may not receive further updates. Check out [modern Lido SDK](https://github.com/lidofinance/lido-ethereum-sdk/pulls) to access latest functionality. It is actively maintained and is built for interacting with Li

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