@excubiae/contracts
Version:
52 lines • 1.26 kB
TypeScript
import type { BaseContract, ContractFactory, Signer, TransactionReceipt } from "ethers";
import type { Factory } from "../typechain-types";
import type { TypedContractMethod } from "../typechain-types/common";
/**
* Type for the factory like contract
*/
export type IFactoryLike = Factory & BaseContract & {
deploy: TypedContractMethod<unknown[], unknown, "nonpayable">;
};
/**
* Interface that represents deploy clone arguments
*/
export interface IDeployCloneArgs<T extends unknown[] = unknown[]> {
/**
* Arguments for clone initialization
*/
args: T;
/**
* Proxied contract factory
*/
factory: ContractFactory;
/**
* Proxy contract factory
*/
proxyFactory: IFactoryLike;
/**
* Ethereum signer
*/
signer: Signer;
}
/**
* Interface that represents the argument for the get proxy contract function
*/
export interface IGetProxyContractArgs<F = ContractFactory> {
/**
* Proxied contract factory
*/
factory: F;
/**
* Proxy contract factory
*/
proxyFactory: Factory;
/**
* Ethereum signer
*/
signer?: Signer;
/**
* Transaction receipt
*/
receipt?: TransactionReceipt | null;
}
//# sourceMappingURL=types.d.ts.map