//========================================================= // Peer eventing public Task PeerVentAsync(TransactionContext tcontext, CancellationToken token = default(CancellationToken)) { try { SeekPosition start = new SeekPosition(); if (peerOptions.Newest != null) { start.Newest = new SeekNewest(); } else if (peerOptions.StartEventsBlock != null) { start.Specified = new SeekSpecified { Number = (ulong)peerOptions.StartEventsBlock.Value }; } else { start.Newest = new SeekNewest(); } // properties. Envelope envelope = ProtoUtils.CreateSeekInfoEnvelope(tcontext, start, new SeekPosition { Specified = new SeekSpecified { Number = (ulong)peerOptions.StopEventsBlock } }, SeekInfo.Types.SeekBehavior.BlockUntilReady, clientTLSCertificateDigest); return(ConnectEnvelopeAsync(envelope, token)); } catch (CryptoException e) { throw new TransactionException($"{ToString()} error message {e.Message}", e); } }