import { ContractTransaction, Contract as EthersContract, BigNumber } from "ethers"; import { ContractName } from "../contracts"; export interface TransactionMetadata { contractName: ContractName; contractFunctionName: ContractFunctionName; args: Parameters; txPayload?: { from?: string; to?: string; inputData?: string; }; } interface IGetTransactionParams extends TransactionMetadata { account: string; contract: Contract; bypassGasEstimation?: boolean; value?: BigNumber; } export declare function getTransaction({ value, account, contract, bypassGasEstimation, // NOTE: easily to debug ...metadata }: IGetTransactionParams): Promise<{ transaction: ContractTransaction; metadata: { contractName: ContractName; contractFunctionName: keyof EthersContract; args: unknown[]; txPayload: { from?: string | undefined; to?: string | undefined; inputData?: string | undefined; } | { from: string; to: string; value: BigNumber | undefined; inputData: string; }; }; gasLimit: string; }>; export {};