mirror of
https://github.com/Such-Software/hash-wallet.git
synced 2026-10-21 06:18:42 +02:00
Strip remaining cakewallet.com endpoints + delete Monerocom assets
- Stub dashboard bulletin (was polling service-api.cakewallet.com); returns empty ServicesResponse until we stand up our own notice service. - Repoint changelog 'View more info' link to hash.boats (modal trigger remains disabled; this is just for when we re-enable it). - Replace exchange-helper.cakewallet.com with exchange-helper.such.software in moonpay/robinhood/onramper providers. Buy providers are still dormant (empty getAvailable*ProviderTypes); URL change is a fail-loudly placeholder to ensure we stand up our own proxy before re-enabling any of them. - Delete Monerocom_Terms_of_Use.txt and Monerocom_Release_Notes.txt — these were Cake's Monero.com brand variant, never used by Hash Wallet. Collapse the isMoneroOnly branch in disclaimer_page.dart to always load Terms_of_Use.txt. - Add docs/links.md (gitignored) inventorying all public-facing URLs and emails shipped in the binary.
This commit is contained in:
@@ -48,7 +48,7 @@ class MoonPayProvider extends BuyProvider {
|
||||
static const _baseSellProductUrl = 'sell.moonpay.com';
|
||||
static const _baseBuyTestUrl = 'buy-staging.moonpay.com';
|
||||
static const _baseBuyProductUrl = 'buy.moonpay.com';
|
||||
static const _cIdBaseUrl = 'exchange-helper.cakewallet.com';
|
||||
static const _cIdBaseUrl = 'exchange-helper.such.software';
|
||||
static const _apiUrl = 'https://api.moonpay.com';
|
||||
static const _baseUrl = 'api.moonpay.com';
|
||||
static const _currenciesPath = '/v3/currencies';
|
||||
|
||||
@@ -28,7 +28,7 @@ class OnRamperBuyProvider extends BuyProvider {
|
||||
|
||||
static const _baseUrl = 'buy.onramper.com';
|
||||
static const _baseApiUrl = 'api.onramper.com';
|
||||
static const _cIdBaseUrl = 'exchange-helper.cakewallet.com';
|
||||
static const _cIdBaseUrl = 'exchange-helper.such.software';
|
||||
static const quotes = '/quotes';
|
||||
static const paymentTypes = '/payment-types';
|
||||
static const supported = '/supported';
|
||||
|
||||
@@ -37,7 +37,7 @@ class RobinhoodBuyProvider extends BuyProvider {
|
||||
);
|
||||
|
||||
static const _baseUrl = 'applink.robinhood.com';
|
||||
static const _cIdBaseUrl = 'exchange-helper.cakewallet.com';
|
||||
static const _cIdBaseUrl = 'exchange-helper.such.software';
|
||||
static const _apiBaseUrl = 'api.robinhood.com';
|
||||
static const _assetsPath = '/catpay/v1/supported_currencies/';
|
||||
|
||||
|
||||
@@ -107,7 +107,7 @@ class _ChangelogModalState extends State<ChangelogModal> {
|
||||
NewPrimaryButton(
|
||||
onPressed: () {
|
||||
try {
|
||||
launchUrl(Uri.https("blog.cakewallet.com"));
|
||||
launchUrl(Uri.https("hash.boats"));
|
||||
} catch (_) {}
|
||||
},
|
||||
text: S.of(context).view_more_info,
|
||||
|
||||
@@ -4,7 +4,6 @@ import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:hash_wallet/src/screens/base_page.dart';
|
||||
import 'package:hash_wallet/src/widgets/primary_button.dart';
|
||||
import 'package:hash_wallet/wallet_type_utils.dart';
|
||||
import 'package:modal_bottom_sheet/modal_bottom_sheet.dart';
|
||||
|
||||
class DisclaimerPage extends BasePage {
|
||||
@@ -36,8 +35,7 @@ class DisclaimerBodyState extends State<DisclaimerPageBody> {
|
||||
String _fileText = '';
|
||||
|
||||
void getFileLines() {
|
||||
final fileName =
|
||||
isMoneroOnly ? 'assets/text/Monerocom_Terms_of_Use.txt' : 'assets/text/Terms_of_Use.txt';
|
||||
const fileName = 'assets/text/Terms_of_Use.txt';
|
||||
rootBundle.loadString(fileName).then((text) => setState(() => _fileText = text));
|
||||
}
|
||||
|
||||
|
||||
@@ -1466,42 +1466,15 @@ abstract class DashboardViewModelBase with Store {
|
||||
}
|
||||
|
||||
Future<ServicesResponse> _getServicesStatus() async {
|
||||
try {
|
||||
if (isEnabledBulletinAction) {
|
||||
final res = await ProxyWrapper().get(
|
||||
clearnetUri: Uri.https(
|
||||
"service-api.cakewallet.com",
|
||||
"/v1/active-notices",
|
||||
{'key': secrets.fiatApiKey},
|
||||
),
|
||||
onionUri: Uri.http(
|
||||
"jpirgl4lrwzjgdqj2nsv3g7twhp2efzty5d3cnypktyczzqfc5qcwwyd.onion",
|
||||
"/v1/active-notices",
|
||||
{'key': secrets.fiatApiKey},
|
||||
),
|
||||
);
|
||||
if (res.statusCode < 200 || res.statusCode >= 300) {
|
||||
throw res.body;
|
||||
}
|
||||
|
||||
final oldSha = sharedPreferences.getString(PreferencesKey.serviceStatusShaKey);
|
||||
|
||||
final hash = await Cryptography.instance.sha256().hash(utf8.encode(res.body));
|
||||
final currentSha = bytesToHex(hash.bytes);
|
||||
|
||||
final hasUpdates = oldSha != currentSha;
|
||||
|
||||
return ServicesResponse.fromJson(
|
||||
json.decode(res.body) as Map<String, dynamic>,
|
||||
hasUpdates,
|
||||
currentSha,
|
||||
);
|
||||
} else {
|
||||
return ServicesResponse([], false, '');
|
||||
}
|
||||
} catch (e) {
|
||||
return ServicesResponse([], false, '');
|
||||
}
|
||||
// Hash Wallet: bulletin endpoint stubbed. The original implementation
|
||||
// polled Cake's service-api.cakewallet.com/v1/active-notices (gated by
|
||||
// the Cake-issued fiatApiKey) to surface push notices to all wallets.
|
||||
// We don't run our own bulletin service yet. To restore: stand up an
|
||||
// equivalent endpoint (likely under hash.boats or such.software) that
|
||||
// returns the same JSON shape as service_status.dart expects, and put
|
||||
// the network call back in place. Keep the user-facing toggle alive
|
||||
// for forward-compat with the settings UI.
|
||||
return ServicesResponse([], false, '');
|
||||
}
|
||||
|
||||
String getTransactionType(TransactionInfo tx) {
|
||||
|
||||
Reference in New Issue
Block a user