publish method
      
  
Future<void> 
publish({ 
    
    
- required String topic,
- required String message,
- required PublishOptions options,
override
    Implementation
@override
Future<void> publish({
  required String topic,
  required String message,
  required PublishOptions options,
}) async {
  _checkInitialized();
  final Map<String, dynamic> parameters = {
    'topic': topic,
    'message': message,
    ...options.toMap(),
  };
  core.logger.d('[$runtimeType] publish topic: $topic, $parameters');
  try {
    await messageTracker.recordMessageEvent(topic, message);
    final _ = await _sendJsonRpcRequest(
      id: JsonRpcUtils.payloadId(entropy: 6),
      method: _buildIRNMethod(IRN_PUBLISH),
      parameters: parameters,
    );
  } catch (e, s) {
    core.logger.e('[$runtimeType], publish: $e', stackTrace: s);
    onRelayClientError.broadcast(ErrorEvent(e));
  }
}