fix backtest credit
This commit is contained in:
@@ -99,6 +99,7 @@ namespace Managing.Application.Backtesting
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
var candles = GetCandles(config.Ticker, config.Timeframe, startDate, endDate);
|
var candles = GetCandles(config.Ticker, config.Timeframe, startDate, endDate);
|
||||||
|
throw new Exception();
|
||||||
return await RunBacktestWithCandles(config, candles, user, save, withCandles, requestId, metadata);
|
return await RunBacktestWithCandles(config, candles, user, save, withCandles, requestId, metadata);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
|
|||||||
@@ -99,25 +99,15 @@ public class KaigenService : IKaigenService
|
|||||||
"Debiting {Amount} credits for user {UserName} (wallet: {WalletAddress}) with request ID {RequestId}",
|
"Debiting {Amount} credits for user {UserName} (wallet: {WalletAddress}) with request ID {RequestId}",
|
||||||
debitAmount, user.Name, walletAddress, requestId);
|
debitAmount, user.Name, walletAddress, requestId);
|
||||||
|
|
||||||
var response = await SendAuthenticatedRequestAsync(
|
var result = await SendAuthenticatedRequestAsync(
|
||||||
$"{_settings.BaseUrl}{_settings.DebitEndpoint}",
|
$"{_settings.BaseUrl}{_settings.DebitEndpoint}",
|
||||||
requestPayload,
|
requestPayload,
|
||||||
user);
|
user);
|
||||||
|
|
||||||
if (!response.IsSuccessStatusCode)
|
if (!result.Success)
|
||||||
{
|
{
|
||||||
var errorContent = await response.Content.ReadAsStringAsync();
|
_logger.LogError("Debit request failed: {Message}", result.Message);
|
||||||
_logger.LogError("Failed to debit credits. Status: {StatusCode}, Error: {Error}",
|
throw new Exception($"Debit request failed: {result.Message}");
|
||||||
response.StatusCode, errorContent);
|
|
||||||
throw new Exception($"Failed to debit credits: {response.StatusCode} - {errorContent}");
|
|
||||||
}
|
|
||||||
|
|
||||||
var result = await response.Content.ReadFromJsonAsync<KaigenResponse>(_jsonOptions);
|
|
||||||
|
|
||||||
if (result == null || !result.Success)
|
|
||||||
{
|
|
||||||
_logger.LogError("Debit request failed: {Message}", result?.Message ?? "Unknown error");
|
|
||||||
throw new Exception($"Debit request failed: {result?.Message}");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_logger.LogInformation(
|
_logger.LogInformation(
|
||||||
@@ -157,16 +147,14 @@ public class KaigenService : IKaigenService
|
|||||||
"Refunding credits for user {UserName} (wallet: {WalletAddress}) with request ID {RequestId}",
|
"Refunding credits for user {UserName} (wallet: {WalletAddress}) with request ID {RequestId}",
|
||||||
user.Name, walletAddress, requestId);
|
user.Name, walletAddress, requestId);
|
||||||
|
|
||||||
var response = await SendAuthenticatedRequestAsync(
|
var result = await SendAuthenticatedRequestAsync(
|
||||||
$"{_settings.BaseUrl}{_settings.RefundEndpoint}",
|
$"{_settings.BaseUrl}{_settings.RefundEndpoint}",
|
||||||
requestPayload,
|
requestPayload,
|
||||||
user);
|
user);
|
||||||
|
|
||||||
if (!response.IsSuccessStatusCode)
|
if (!result.Success)
|
||||||
{
|
{
|
||||||
var errorContent = await response.Content.ReadAsStringAsync();
|
_logger.LogError("Failed to refund credits: {Message}", result.Message);
|
||||||
_logger.LogError("Failed to refund credits. Status: {StatusCode}, Error: {Error}",
|
|
||||||
response.StatusCode, errorContent);
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -181,7 +169,7 @@ public class KaigenService : IKaigenService
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task<HttpResponseMessage> SendAuthenticatedRequestAsync(string url, object payload, User user)
|
private async Task<KaigenResponse> SendAuthenticatedRequestAsync(string url, object payload, User user)
|
||||||
{
|
{
|
||||||
// Create the auth token: "walletaddress-username"
|
// Create the auth token: "walletaddress-username"
|
||||||
var authToken = $"{GetUserWalletAddress(user)}-{user.Name}";
|
var authToken = $"{GetUserWalletAddress(user)}-{user.Name}";
|
||||||
@@ -200,7 +188,18 @@ public class KaigenService : IKaigenService
|
|||||||
};
|
};
|
||||||
request.Headers.Authorization = new AuthenticationHeaderValue("Basic", base64Auth);
|
request.Headers.Authorization = new AuthenticationHeaderValue("Basic", base64Auth);
|
||||||
|
|
||||||
return await _httpClient.SendAsync(request);
|
var response = await _httpClient.SendAsync(request);
|
||||||
|
|
||||||
|
if (!response.IsSuccessStatusCode)
|
||||||
|
{
|
||||||
|
var errorContent = await response.Content.ReadAsStringAsync();
|
||||||
|
_logger.LogError("Request failed. Status: {StatusCode}, Error: {Error}",
|
||||||
|
response.StatusCode, errorContent);
|
||||||
|
return new KaigenResponse { Success = false, Message = $"HTTP {response.StatusCode}: {errorContent}" };
|
||||||
|
}
|
||||||
|
|
||||||
|
var result = await response.Content.ReadFromJsonAsync<KaigenResponse>(_jsonOptions);
|
||||||
|
return result ?? new KaigenResponse { Success = false, Message = "Failed to parse response" };
|
||||||
}
|
}
|
||||||
|
|
||||||
private string GetUserWalletAddress(User user)
|
private string GetUserWalletAddress(User user)
|
||||||
|
|||||||
Reference in New Issue
Block a user