public void test_subscribe_command()
        {
            var btcUsd = new GdaxAsset("BTC-USD");

            var cmd = SimpleSubscribe.CreateLevel2WithHeartbeat(new [] { btcUsd });

            Console.WriteLine(JsonConvert.SerializeObject(cmd));
        }
 private static IObservable <Unit> SubscribeOnConnect(
     IObservable <ISocketEvent> wsClient,
     GdaxAsset[] assets)
 {
     return(wsClient
            .Where(x => x is SocketConnected)
            .SelectMany(async s =>
     {
         await s.Session.SendAsJson(SimpleSubscribe.CreateLevel2WithHeartbeat(assets));
         return Unit.Default;
     }));
 }