type ParseTransactionReceipt<TResult = TransactionResult> = | ((receipt: providers.TransactionReceipt) => TResult) | ((receipt: providers.TransactionReceipt) => Promise<TResult>);