1 | import { providers, ContractFactory, Signer, Wallet, Contract } from 'ethers';
|
2 | import { ContractJSON } from './ContractJSON';
|
3 | declare type Newable<T> = {
|
4 | new (...args: any): T;
|
5 | };
|
6 | declare type ContractFactoryOrJSON = Newable<ContractFactory> | ContractJSON;
|
7 | declare type ContractTypeOf<T> = T extends Newable<infer U> ? (U extends ContractFactory ? ReturnType<U['deploy']> : never) : Contract;
|
8 | declare type DeployArgumentsOf<T> = T extends Newable<infer U> ? (U extends ContractFactory ? Parameters<U['deploy']> : never) : any[];
|
9 | export declare function deployContract<T extends ContractFactoryOrJSON>(wallet: Wallet | Signer, factoryOrContractJson: T, args?: DeployArgumentsOf<T>, overrideOptions?: providers.TransactionRequest): Promise<ContractTypeOf<T>>;
|
10 | export {};
|
11 |
|
\ | No newline at end of file |