private void SignRequestByBit(ApiKeySet account, ref XchangeRequestObject paramArray, long timeExpires) { var signString = paramArray.AddApiKeyHeaders(account.ApiKey, timeExpires); string signature = _signatureProvider.CreateSignature(account.ApiSecret, signString); //{"ret_code":10007,"ret_msg":"Login failed, please login again.","ext_code":"","result":null,"ext_info":null,"token":"","time_now":"1580955671.063169"} paramArray.AddSignature(signature); }
public async Task <HttpResponseDto> SendRequestObjectAsync(Guid accountId, XchangeRequestObject routeObject, CancellationToken token = default) { var permit = await _requestAccessService.RequestAccess(accountId, token).ConfigureAwait(false); //if request was cancelled by CancellationToken, request gets aborted before execution, no permission to send then, otherwise it will wait until access is granted if (!permit) { return(default);
/// <summary> /// parameterString comes in as ObjectDictionary, headers and signature added /// </summary> /// <param name="accountId"></param> /// <param name="formParam"></param> /// <returns></returns> public void SignRequestObject(Guid accountId, ref XchangeRequestObject paramArray) { var keyPair = _apiKeySetStore.GetAccount(accountId); if (keyPair is null) { throw new InvalidOperationException($"account with given key was not found: {accountId}"); } switch (keyPair.Exchange) { default: var timeExpires = _expiresTimeProvider.Get(keyPair.Exchange); SignRequestByBit(keyPair, ref paramArray, timeExpires); return; } }