Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
Exemplo n.º 3
0
        /// <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;
            }
        }