mirror of
https://github.com/Such-Software/hash-wallet.git
synced 2026-10-24 06:48:38 +02:00
CW-674: Improve Exchange Flow With Timeout For Rates (#1536)
* fix: Improve exchange flow by adding a timeout to the call to fetch rate from providers * fix: Adjust time limit for fetching rate to 7 seconds and add timelimit to fetching limits * Improve loadlimits function [skip ci] --------- Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
This commit is contained in:
co-authored by
OmarHatem
parent
415d2a3573
commit
341e06196d
@@ -1,4 +1,5 @@
|
||||
import 'dart:convert';
|
||||
import 'dart:developer';
|
||||
|
||||
import 'package:cake_wallet/.secrets.g.dart' as secrets;
|
||||
import 'package:cake_wallet/exchange/provider/exchange_provider.dart';
|
||||
@@ -29,6 +30,7 @@ class SideShiftExchangeProvider extends ExchangeProvider {
|
||||
CryptoCurrency.bttc,
|
||||
CryptoCurrency.usdt,
|
||||
CryptoCurrency.eos,
|
||||
CryptoCurrency.xmr,
|
||||
];
|
||||
|
||||
static const affiliateId = secrets.sideShiftAffiliateId;
|
||||
@@ -137,8 +139,20 @@ class SideShiftExchangeProvider extends ExchangeProvider {
|
||||
final response = await get(uri);
|
||||
final responseJSON = json.decode(response.body) as Map<String, dynamic>;
|
||||
|
||||
if (response.statusCode == 500) {
|
||||
final responseJSON = json.decode(response.body) as Map<String, dynamic>;
|
||||
final error = responseJSON['error']['message'] as String;
|
||||
|
||||
throw Exception('SideShift Internal Server Error: $error');
|
||||
}
|
||||
|
||||
if (response.statusCode != 200) {
|
||||
throw Exception('Unexpected http status: ${response.statusCode}');
|
||||
}
|
||||
|
||||
return double.parse(responseJSON['rate'] as String);
|
||||
} catch (_) {
|
||||
} catch (e) {
|
||||
log('Error fetching rate in SideShift Provider: ${e.toString()}');
|
||||
return 0.00;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user