public override void Connect() { _publicKey = ((ServerParameterString)ServerParameters[0]).Value; _secretKey = ((ServerParameterPassword)ServerParameters[1]).Value; _urlBuilder = new PublicUrlBuilder(_host); _privateUriBuilder = new PrivateUrlBuilder(_publicKey, _secretKey, _host); _cancelTokenSource = new CancellationTokenSource(); StartMessageReader(); StartMarketDataReader(); _signer = new Signer(_secretKey); _wsSource = new WsSource("wss://" + _host + _path); _wsSource.MessageEvent += WsSourceOnMessageEvent; _wsSource.ByteDataEvent += WsSourceOnByteDataEvent; _wsSource.Start(); _marketDataSource = new WsSource("wss://" + _host + "/swap-ws"); _marketDataSource.ByteDataEvent += MarketDataSourceOnMessageEvent; _marketDataSource.Start(); }
/// <summary> /// Constructor /// </summary> /// <param name="accessKey">Access Key</param> /// <param name="secretKey">Secret Key</param> /// <param name="host">the host that the client connects to</param> public ETFClient(string accessKey, string secretKey, string host = DEFAULT_HOST, ILogger logger = null) { _urlBuilder = new PrivateUrlBuilder(accessKey, secretKey, host); if (logger != null && HttpRequest.logger != null) { HttpRequest.logger = logger; } }
public void Build_NoRequestParameter_Success() { var builder = new PrivateUrlBuilder("abcdefg-hijklmn-opqrst-uvwxyz", "12345-67890-12345-67890", "api.huobi.pro"); string result = builder.Build("GET", "/v1/account/accounts"); string expected = @"https://api.huobi.pro/v1/account/accounts?AccessKeyId=abcdefg-hijklmn-opqrst-uvwxyz&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2020-04-01T12%3A34%3A56&Signature=3IUZcEak4IIRrh7%2FidFrP2Jj77MaWGXR%2FoQbe9gL4%2BI%3D"; Assert.Equal(expected, result); }
public void Build_NoRequestParameter_Success() { var builder = new PrivateUrlBuilder("access", "secret", "api.huobi.pro"); DateTime dateTime = new DateTime(2019, 11, 21, 10, 0, 0); string result = builder.Build("GET", "/v1/account/accounts", dateTime); string escapedTime = Uri.EscapeDataString(dateTime.ToString("s")); string expected = string.Format(@"https://api.huobi.pro/v1/account/accounts?AccessKeyId=access&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp={0}&Signature=rWnLcMt3XBAsmXoNHtTQVpvMbH%2FcE1PXFwQAGeYwt3s%3D", escapedTime); Assert.Equal(expected, result); }
public void Build_RequestParameter_Success() { var builder = new PrivateUrlBuilder("access", "secret", "api.huobi.pro"); DateTime dateTime = new DateTime(2019, 11, 21, 10, 0, 0); var request = new GetRequest() .AddParam("account-id", "123") .AddParam("currency", "btc"); string result = builder.Build("GET", "/v1/account/history", dateTime, request); string escapedTime = Uri.EscapeDataString(dateTime.ToString("s")); string expected = string.Format(@"https://api.huobi.pro/v1/account/history?AccessKeyId=access&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp={0}&account-id=123¤cy=btc&Signature=SGZYJ9Ub%2FhFerEBbSWsCxl8Djk%2BLRBgEZOB4fLc4T9Q%3D", escapedTime); Assert.Equal(expected, result); }
/// <summary> /// Constructor /// </summary> /// <param name="accessKey">Access Key</param> /// <param name="secretKey">Secret Key</param> /// <param name="host">the host that the client connects to</param> public OrderClient(string accessKey, string secretKey, string host = DEFAULT_HOST) { _urlBuilder = new PrivateUrlBuilder(accessKey, secretKey, host); }
/// <summary> /// Constructor /// </summary> /// <param name="accessKey">Access Key</param> /// <param name="secretKey">Secret Key</param> /// <param name="host">the host that the client connects to</param> public StableCointClient(string accessKey, string secretKey, string host = Host.SPOT) { _urlBuilder = new PrivateUrlBuilder(accessKey, secretKey, host); }
/// <summary> /// Constructor /// </summary> /// <param name="accessKey">Access Key</param> /// <param name="secretKey">Secret Key</param> public TransferClient(string accessKey, string secretKey) { _urlBuilder = new PrivateUrlBuilder(accessKey, secretKey, Host.FUTURES); }
/// <summary> /// Constructor /// </summary> /// <param name="accessKey">Access Key</param> /// <param name="secretKey">Secret Key</param> /// <param name="host">the host that the client connects to</param> public AccountClient(string accessKey, string secretKey, string host = Host.FUTURES) { _urlBuilder = new PrivateUrlBuilder(accessKey, secretKey, host); }
/// <summary> /// Constructor /// </summary> /// <param name="accessKey">Access Key</param> /// <param name="secretKey">Secret Key</param> /// <param name="host">the host that the client connects to</param> public TriggerOrderClient(string accessKey, string secretKey, string host = Host.FUTURES) { _urlBuilder = new PrivateUrlBuilder(accessKey, secretKey, host); }
/// <summary> /// Constructor /// </summary> /// <param name="accessKey">Access Key</param> /// <param name="secretKey">Secret Key</param> public TransferClient(string accessKey, string secretKey) { _urlBuilder = new PrivateUrlBuilder(accessKey, secretKey, DEFAULT_HOST); }
/// <summary> /// Constructor /// </summary> /// <param name="accessKey">Access Key</param> /// <param name="secretKey">Secret Key</param> /// <param name="host">the host that the client connects to</param> public AlgoOrderClient(string accessKey, string secretKey, string host = Host.SPOT) { _urlBuilder = new PrivateUrlBuilder(accessKey, secretKey, host); }