2023-04-14 04:39:08 +00:00
|
|
|
import 'package:cake_wallet/.secrets.g.dart' as secrets;
|
|
|
|
import 'package:cake_wallet/store/settings_store.dart';
|
|
|
|
import 'package:cake_wallet/themes/theme_base.dart';
|
2023-05-10 13:58:31 +00:00
|
|
|
import 'package:cw_core/crypto_currency.dart';
|
2023-04-14 04:39:08 +00:00
|
|
|
import 'package:cw_core/wallet_base.dart';
|
|
|
|
|
|
|
|
class OnRamperBuyProvider {
|
|
|
|
OnRamperBuyProvider({required SettingsStore settingsStore, required WalletBase wallet})
|
|
|
|
: this._settingsStore = settingsStore,
|
|
|
|
this._wallet = wallet;
|
|
|
|
|
|
|
|
final SettingsStore _settingsStore;
|
|
|
|
final WalletBase _wallet;
|
|
|
|
|
|
|
|
static const _baseUrl = 'buy.onramper.com';
|
|
|
|
|
2023-05-10 13:58:31 +00:00
|
|
|
String get _apiKey => secrets.onramperApiKey;
|
|
|
|
|
|
|
|
String get _normalizeCryptoCurrency {
|
|
|
|
switch (_wallet.currency) {
|
|
|
|
case CryptoCurrency.ltc:
|
|
|
|
return "LTC_LITECOIN";
|
2023-07-26 16:48:53 +00:00
|
|
|
case CryptoCurrency.xmr:
|
|
|
|
return "XMR_MONERO";
|
2023-05-10 13:58:31 +00:00
|
|
|
default:
|
|
|
|
return _wallet.currency.title;
|
|
|
|
}
|
|
|
|
}
|
2023-04-14 04:39:08 +00:00
|
|
|
|
|
|
|
Uri requestUrl() {
|
|
|
|
String primaryColor,
|
|
|
|
secondaryColor,
|
|
|
|
primaryTextColor,
|
|
|
|
secondaryTextColor,
|
|
|
|
containerColor,
|
|
|
|
cardColor;
|
|
|
|
|
|
|
|
switch (_settingsStore.currentTheme.type) {
|
|
|
|
case ThemeType.bright:
|
|
|
|
primaryColor = '815dfbff';
|
|
|
|
secondaryColor = 'ffffff';
|
|
|
|
primaryTextColor = '141519';
|
|
|
|
secondaryTextColor = '6b6f80';
|
|
|
|
containerColor = 'ffffff';
|
|
|
|
cardColor = 'f2f0faff';
|
|
|
|
break;
|
|
|
|
case ThemeType.light:
|
|
|
|
primaryColor = '2194ffff';
|
|
|
|
secondaryColor = 'ffffff';
|
|
|
|
primaryTextColor = '141519';
|
|
|
|
secondaryTextColor = '6b6f80';
|
|
|
|
containerColor = 'ffffff';
|
|
|
|
cardColor = 'e5f7ff';
|
|
|
|
break;
|
|
|
|
case ThemeType.dark:
|
|
|
|
primaryColor = '456effff';
|
|
|
|
secondaryColor = '1b2747ff';
|
|
|
|
primaryTextColor = 'ffffff';
|
|
|
|
secondaryTextColor = 'ffffff';
|
|
|
|
containerColor = '19233C';
|
|
|
|
cardColor = '232f4fff';
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
2023-07-26 16:48:53 +00:00
|
|
|
final networkName = _wallet.currency.fullName?.toUpperCase().replaceAll(" ", "");
|
2023-04-14 04:39:08 +00:00
|
|
|
|
|
|
|
return Uri.https(_baseUrl, '', <String, dynamic>{
|
|
|
|
'apiKey': _apiKey,
|
2023-05-10 13:58:31 +00:00
|
|
|
'defaultCrypto': _normalizeCryptoCurrency,
|
2023-07-26 16:48:53 +00:00
|
|
|
'networkWallets': '${networkName}:${_wallet.walletAddresses.address}',
|
2023-04-14 04:39:08 +00:00
|
|
|
'supportSell': "false",
|
|
|
|
'supportSwap': "false",
|
|
|
|
'primaryColor': primaryColor,
|
|
|
|
'secondaryColor': secondaryColor,
|
|
|
|
'primaryTextColor': primaryTextColor,
|
|
|
|
'secondaryTextColor': secondaryTextColor,
|
|
|
|
'containerColor': containerColor,
|
|
|
|
'cardColor': cardColor
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|