/// <summary> /// Connects the asynchronous. /// </summary> /// <param name="webSocketUrl">The web socket URL.</param> private async Task ConnectAsync(string webSocketUrl) { Logger.Info($"Connecting to {webSocketUrl}"); Client = new SubstrateClient(new Uri(webSocketUrl)); //TODO check if that can be made generic as parameter Client.RegisterTypeConverter(new GenericTypeConverter <MogwaiStruct>()); Client.RegisterTypeConverter(new GenericTypeConverter <MogwaiBios>()); await Client.ConnectAsync(_connectTokenSource.Token); if (!IsConnected) { Logger.Error("Connection couldn't be established!"); return; } var systemName = await Client.System.NameAsync(_connectTokenSource.Token); var systemVersion = await Client.System.VersionAsync(_connectTokenSource.Token); var systemChain = await Client.System.ChainAsync(_connectTokenSource.Token); ChainInfo = new ChainInfo(systemName, systemVersion, systemChain, Client.RuntimeVersion); Logger.Info($"Connection established to {ChainInfo}"); }
public async Task ConnectAsync(string webSocketUrl) { Logger.Info($"Connecting to {webSocketUrl}"); _client = new SubstrateClient(new Uri(webSocketUrl)); _client.RegisterTypeConverter(new MogwaiStructTypeConverter()); await _client.ConnectAsync(_connectTokenSource.Token); if (!IsConnected) { Logger.Error($"Connection couldn't be established!"); return; } var systemName = await _client.System.NameAsync(_connectTokenSource.Token); var systemVersion = await _client.System.VersionAsync(_connectTokenSource.Token); var systemChain = await _client.System.ChainAsync(_connectTokenSource.Token); ChainInfo = new ChainInfo(systemName, systemVersion, systemChain); Logger.Info($"Connection established to {ChainInfo}"); }
/// <summary> /// Calls the back finalized heads. /// </summary> /// <param name="subscriptionId">The subscription identifier.</param> /// <param name="header">The header.</param> public virtual void CallBackFinalizedHeads(string subscriptionId, Header header) { ChainInfo.UpdateFinalizedHeader(header); ChainInfoUpdated?.Invoke(this, ChainInfo); }