Nuke buy providers + flip node defaults from Cake to community

Buy providers (Robinhood Connect, DFX, Onramper, MoonPay, Kryptonim, Meld):
- lib/entities/provider_types.dart: getAvailable{Buy,Sell}ProviderTypes()
  both return [] now. Each provider requires a formal partner contract
  with revenue-share — no free integrations exist. Re-add to the list
  once Such Software has registered the partner relationship per provider.
  Buy/Sell UI surfaces (cards_view.dart's onramp button -> Routes.buySellPage)
  still render but the provider list is empty, so the screen shows nothing.
- lib/view_model/support_view_model.dart: removed the third-party support
  LinkListItem entries for the dead buy providers. Kept the swap-provider
  support links (ChangeNow, SideShift, SimpleSwap, Exolix, SwapTrade,
  Trocador) — Trocador is still active and the others are useful for
  legacy users who created swaps before the trim.

Default node flip (per user request — 'someone else top choice, Cake nodes
stay in the list of others'):
- xmr-node.cakewallet.com:18081  -> node.sethforprivacy.com:443
- electrum.cakewallet.com:50002  -> electrum.blockstream.info:50002
- ltc-electrum.cakewallet.com:50002 -> electrum-ltc.bysh.me:50002
- btc-electrum.cakewallet.com:50002 -> electrum.blockstream.info:50002
Cake's nodes remain in the augmented lists (see asset/*_node_list.yml).
Silent-payments Electrs (electrs.cakewallet.com) + zcash default URI
unchanged — no good free alternative for silent payments, and zcash is
removed anyway.
This commit is contained in:
jwinterm
2026-05-16 12:08:02 -04:00
parent 04ed46aca3
commit 6ec755ec2c
3 changed files with 11 additions and 49 deletions
+4 -4
View File
@@ -30,14 +30,14 @@ import 'package:shared_preferences/shared_preferences.dart';
import 'package:cw_core/cake_hive.dart';
import 'package:cw_core/erc20_token.dart';
const newCakeWalletMoneroUri = 'xmr-node.cakewallet.com:18081';
const cakeWalletBitcoinElectrumUri = 'electrum.cakewallet.com:50002';
const newCakeWalletMoneroUri = 'node.sethforprivacy.com:443'; // Hash Wallet: default flipped to community node
const cakeWalletBitcoinElectrumUri = 'electrum.blockstream.info:50002'; // Hash Wallet: default flipped to Blockstream
const cakeWalletSilentPaymentsElectrsUri = 'electrs.cakewallet.com:50001';
const publicBitcoinTestnetElectrumAddress = 'electrs.cakewallet.com';
const publicBitcoinTestnetElectrumPort = '50002';
const publicBitcoinTestnetElectrumUri =
'$publicBitcoinTestnetElectrumAddress:$publicBitcoinTestnetElectrumPort';
const cakeWalletLitecoinElectrumUri = 'ltc-electrum.cakewallet.com:50002';
const cakeWalletLitecoinElectrumUri = 'electrum-ltc.bysh.me:50002'; // Hash Wallet: default flipped to bysh.me community node
const havenDefaultNodeUri = 'nodes.havenprotocol.org:443';
const ethereumDefaultNodeUri = 'ethereum-rpc.publicnode.com';
const polygonDefaultNodeUri = 'polygon-bor-rpc.publicnode.com';
@@ -46,7 +46,7 @@ const nanoDefaultNodeUri = 'rpc.nano.to';
const nanoDefaultPowNodeUri = 'rpc.nano.to';
const solanaDefaultNodeUri = 'solana-mainnet.core.chainstack.com';
const tronDefaultNodeUri = 'api.trongrid.io';
const newCakeWalletBitcoinUri = 'btc-electrum.cakewallet.com:50002';
const newCakeWalletBitcoinUri = 'electrum.blockstream.info:50002'; // Hash Wallet: default flipped to Blockstream
const wowneroDefaultNodeUri = 'node3.monerodevs.org:34568';
const zanoDefaultNodeUri = '37.27.100.59:10500';
const moneroWorldNodeUri = '.moneroworld.com';
+7 -15
View File
@@ -46,21 +46,13 @@ extension ProviderTypeName on ProviderType {
}
class ProvidersHelper {
static List<ProviderType> getAvailableBuyProviderTypes() => [
ProviderType.robinhood,
ProviderType.dfx,
ProviderType.onramper,
ProviderType.moonpay,
ProviderType.kriptonim
];
static List<ProviderType> getAvailableSellProviderTypes() => [
// ProviderType.robinhood, // ToDo: (Konsti) Enable once fixed in Exchange Helper, but still waiting for new Docs
ProviderType.dfx,
ProviderType.onramper,
ProviderType.moonpay,
ProviderType.kriptonim
];
// Hash Wallet: all buy/sell providers (Robinhood Connect, DFX, Onramper,
// MoonPay, Kryptonim, Meld) gutted. Each requires a formal partner
// agreement with a revenue-share contract — no free integrations exist.
// Re-add providers here once Such Software has registered the affiliate
// relationship for that provider.
static List<ProviderType> getAvailableBuyProviderTypes() => [];
static List<ProviderType> getAvailableSellProviderTypes() => [];
static BuyProvider getProviderByType(ProviderType type) {
switch (type) {
-30
View File
@@ -63,37 +63,7 @@ abstract class SupportViewModelBase with Store {
icon: 'assets/images/trocador.png',
linkTitle: 'mail@trocador.app',
link: 'mailto:mail@trocador.app'),
LinkListItem(
title: 'Onramper',
icon: 'assets/images/onramper_dark.png',
lightIcon: 'assets/images/onramper_light.png',
linkTitle: 'View exchanges',
link: 'https://onramper.com/'),
LinkListItem(
title: 'DFX',
icon: 'assets/images/dfx_dark.png',
lightIcon: 'assets/images/dfx_light.png',
linkTitle: 'support@dfx.swiss',
link: 'mailto:support@dfx.swiss'),
if (!isMoneroOnly) ...[
LinkListItem(
title: 'MoonPay',
icon: 'assets/images/moonpay.png',
linkTitle: S.current.submit_request,
link: 'https://support.moonpay.com/hc/en-gb/requests/new'),
LinkListItem(
title: 'Robinhood Connect',
icon: 'assets/images/robinhood_dark.png',
lightIcon: 'assets/images/robinhood_light.png',
linkTitle: S.current.submit_request,
link: 'https://robinhood.com/contact')
],
LinkListItem(
title: 'Kryptonim',
icon: 'assets/images/kryptonim_dark.png',
lightIcon: 'assets/images/kryptonim_light.png',
linkTitle: 'contact@support.kryptonim.com',
link: 'mailto:contact@support.kryptonim.com'),
];
final docsUrl = 'https://github.com/Such-Software/hash-wallet';