ethereum-waffle
Version:
Sweeter, faster and simpler than truffle.
11 lines • 818 B
TypeScript
import { providers, ContractFactory, Signer, Wallet, Contract } from 'ethers';
import { ContractJSON } from './ContractJSON';
declare type Newable<T> = {
new (...args: any): T;
};
declare type ContractFactoryOrJSON = Newable<ContractFactory> | ContractJSON;
declare type ContractTypeOf<T> = T extends Newable<infer U> ? (U extends ContractFactory ? ReturnType<U['deploy']> : never) : Contract;
declare type DeployArgumentsOf<T> = T extends Newable<infer U> ? (U extends ContractFactory ? Parameters<U['deploy']> : never) : any[];
export declare function deployContract<T extends ContractFactoryOrJSON>(wallet: Wallet | Signer, factoryOrContractJson: T, args?: DeployArgumentsOf<T>, overrideOptions?: providers.TransactionRequest): Promise<ContractTypeOf<T>>;
export {};
//# sourceMappingURL=deployContract.d.ts.map