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/cake_hive.dart';
import 'package:cw_core/erc20_token.dart'; import 'package:cw_core/erc20_token.dart';
const newCakeWalletMoneroUri = 'xmr-node.cakewallet.com:18081'; const newCakeWalletMoneroUri = 'node.sethforprivacy.com:443'; // Hash Wallet: default flipped to community node
const cakeWalletBitcoinElectrumUri = 'electrum.cakewallet.com:50002'; const cakeWalletBitcoinElectrumUri = 'electrum.blockstream.info:50002'; // Hash Wallet: default flipped to Blockstream
const cakeWalletSilentPaymentsElectrsUri = 'electrs.cakewallet.com:50001'; const cakeWalletSilentPaymentsElectrsUri = 'electrs.cakewallet.com:50001';
const publicBitcoinTestnetElectrumAddress = 'electrs.cakewallet.com'; const publicBitcoinTestnetElectrumAddress = 'electrs.cakewallet.com';
const publicBitcoinTestnetElectrumPort = '50002'; const publicBitcoinTestnetElectrumPort = '50002';
const publicBitcoinTestnetElectrumUri = const publicBitcoinTestnetElectrumUri =
'$publicBitcoinTestnetElectrumAddress:$publicBitcoinTestnetElectrumPort'; '$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 havenDefaultNodeUri = 'nodes.havenprotocol.org:443';
const ethereumDefaultNodeUri = 'ethereum-rpc.publicnode.com'; const ethereumDefaultNodeUri = 'ethereum-rpc.publicnode.com';
const polygonDefaultNodeUri = 'polygon-bor-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 nanoDefaultPowNodeUri = 'rpc.nano.to';
const solanaDefaultNodeUri = 'solana-mainnet.core.chainstack.com'; const solanaDefaultNodeUri = 'solana-mainnet.core.chainstack.com';
const tronDefaultNodeUri = 'api.trongrid.io'; 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 wowneroDefaultNodeUri = 'node3.monerodevs.org:34568';
const zanoDefaultNodeUri = '37.27.100.59:10500'; const zanoDefaultNodeUri = '37.27.100.59:10500';
const moneroWorldNodeUri = '.moneroworld.com'; const moneroWorldNodeUri = '.moneroworld.com';
+7 -15
View File
@@ -46,21 +46,13 @@ extension ProviderTypeName on ProviderType {
} }
class ProvidersHelper { class ProvidersHelper {
static List<ProviderType> getAvailableBuyProviderTypes() => [ // Hash Wallet: all buy/sell providers (Robinhood Connect, DFX, Onramper,
ProviderType.robinhood, // MoonPay, Kryptonim, Meld) gutted. Each requires a formal partner
ProviderType.dfx, // agreement with a revenue-share contract — no free integrations exist.
ProviderType.onramper, // Re-add providers here once Such Software has registered the affiliate
ProviderType.moonpay, // relationship for that provider.
ProviderType.kriptonim static List<ProviderType> getAvailableBuyProviderTypes() => [];
]; static List<ProviderType> getAvailableSellProviderTypes() => [];
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
];
static BuyProvider getProviderByType(ProviderType type) { static BuyProvider getProviderByType(ProviderType type) {
switch (type) { switch (type) {
-30
View File
@@ -63,37 +63,7 @@ abstract class SupportViewModelBase with Store {
icon: 'assets/images/trocador.png', icon: 'assets/images/trocador.png',
linkTitle: 'mail@trocador.app', linkTitle: 'mail@trocador.app',
link: 'mailto: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) ...[ 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'; final docsUrl = 'https://github.com/Such-Software/hash-wallet';