enable bch

This commit is contained in:
julian 2022-09-26 14:32:53 -06:00
parent 1c889fd054
commit 84db4ac17f
13 changed files with 3227 additions and 3224 deletions

View file

@ -113,12 +113,12 @@ class _AddEditNodeViewState extends ConsumerState<AddEditNodeView> {
break; break;
case Coin.bitcoin: case Coin.bitcoin:
// case Coin.bitcoincash: case Coin.bitcoincash:
case Coin.dogecoin: case Coin.dogecoin:
case Coin.firo: case Coin.firo:
case Coin.namecoin: case Coin.namecoin:
case Coin.bitcoinTestNet: case Coin.bitcoinTestNet:
// case Coin.bitcoincashTestnet: case Coin.bitcoincashTestnet:
case Coin.firoTestNet: case Coin.firoTestNet:
case Coin.dogecoinTestNet: case Coin.dogecoinTestNet:
final client = ElectrumX( final client = ElectrumX(
@ -530,9 +530,9 @@ class _NodeFormState extends ConsumerState<NodeForm> {
case Coin.dogecoin: case Coin.dogecoin:
case Coin.firo: case Coin.firo:
case Coin.namecoin: case Coin.namecoin:
// case Coin.bitcoincash: case Coin.bitcoincash:
case Coin.bitcoinTestNet: case Coin.bitcoinTestNet:
// case Coin.bitcoincashTestnet: case Coin.bitcoincashTestnet:
case Coin.firoTestNet: case Coin.firoTestNet:
case Coin.dogecoinTestNet: case Coin.dogecoinTestNet:
return false; return false;

View file

@ -102,9 +102,9 @@ class _NodeDetailsViewState extends ConsumerState<NodeDetailsView> {
case Coin.bitcoinTestNet: case Coin.bitcoinTestNet:
case Coin.firoTestNet: case Coin.firoTestNet:
case Coin.dogecoinTestNet: case Coin.dogecoinTestNet:
// case Coin.bitcoincash: case Coin.bitcoincash:
case Coin.namecoin: case Coin.namecoin:
// case Coin.bitcoincashTestnet: case Coin.bitcoincashTestnet:
final client = ElectrumX( final client = ElectrumX(
host: node!.host, host: node!.host,
port: node.port, port: node.port,

File diff suppressed because it is too large Load diff

View file

@ -4,6 +4,7 @@ import 'package:stackwallet/electrumx_rpc/electrumx.dart';
import 'package:stackwallet/models/models.dart'; import 'package:stackwallet/models/models.dart';
import 'package:stackwallet/models/node_model.dart'; import 'package:stackwallet/models/node_model.dart';
import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart'; import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart';
import 'package:stackwallet/services/coins/bitcoincash/bitcoincash_wallet.dart';
import 'package:stackwallet/services/coins/dogecoin/dogecoin_wallet.dart'; import 'package:stackwallet/services/coins/dogecoin/dogecoin_wallet.dart';
import 'package:stackwallet/services/coins/epiccash/epiccash_wallet.dart'; import 'package:stackwallet/services/coins/epiccash/epiccash_wallet.dart';
import 'package:stackwallet/services/coins/firo/firo_wallet.dart'; import 'package:stackwallet/services/coins/firo/firo_wallet.dart';
@ -98,25 +99,25 @@ abstract class CoinServiceAPI {
tracker: tracker, tracker: tracker,
); );
// case Coin.bitcoincash: case Coin.bitcoincash:
// return BitcoinCashWallet( return BitcoinCashWallet(
// walletId: walletId, walletId: walletId,
// walletName: walletName, walletName: walletName,
// coin: coin, coin: coin,
// client: client, client: client,
// cachedClient: cachedClient, cachedClient: cachedClient,
// tracker: tracker, tracker: tracker,
// ); );
//
// case Coin.bitcoincashTestnet: case Coin.bitcoincashTestnet:
// return BitcoinCashWallet( return BitcoinCashWallet(
// walletId: walletId, walletId: walletId,
// walletName: walletName, walletName: walletName,
// coin: coin, coin: coin,
// client: client, client: client,
// cachedClient: cachedClient, cachedClient: cachedClient,
// tracker: tracker, tracker: tracker,
// ); );
case Coin.dogecoin: case Coin.dogecoin:
return DogecoinWallet( return DogecoinWallet(

View file

@ -3,7 +3,7 @@ import 'dart:convert';
import 'package:bitcoindart/bitcoindart.dart'; import 'package:bitcoindart/bitcoindart.dart';
import 'package:crypto/crypto.dart'; import 'package:crypto/crypto.dart';
import 'package:flutter_libepiccash/epic_cash.dart'; import 'package:flutter_libepiccash/epic_cash.dart';
// import 'package:stackwallet/services/coins/bitcoincash/bitcoincash_wallet.dart'; import 'package:stackwallet/services/coins/bitcoincash/bitcoincash_wallet.dart';
import 'package:stackwallet/services/coins/dogecoin/dogecoin_wallet.dart'; import 'package:stackwallet/services/coins/dogecoin/dogecoin_wallet.dart';
import 'package:stackwallet/services/coins/firo/firo_wallet.dart'; import 'package:stackwallet/services/coins/firo/firo_wallet.dart';
import 'package:stackwallet/services/coins/namecoin/namecoin_wallet.dart'; import 'package:stackwallet/services/coins/namecoin/namecoin_wallet.dart';
@ -42,8 +42,8 @@ class AddressUtils {
switch (coin) { switch (coin) {
case Coin.bitcoin: case Coin.bitcoin:
return Address.validateAddress(address, bitcoin); return Address.validateAddress(address, bitcoin);
// case Coin.bitcoincash: case Coin.bitcoincash:
// return Address.validateAddress(address, bitcoincash); return Address.validateAddress(address, bitcoincash);
case Coin.dogecoin: case Coin.dogecoin:
return Address.validateAddress(address, dogecoin); return Address.validateAddress(address, dogecoin);
case Coin.epicCash: case Coin.epicCash:
@ -57,8 +57,8 @@ class AddressUtils {
return Address.validateAddress(address, namecoin, namecoin.bech32!); return Address.validateAddress(address, namecoin, namecoin.bech32!);
case Coin.bitcoinTestNet: case Coin.bitcoinTestNet:
return Address.validateAddress(address, testnet); return Address.validateAddress(address, testnet);
// case Coin.bitcoincashTestnet: case Coin.bitcoincashTestnet:
// return Address.validateAddress(address, bitcoincashtestnet); return Address.validateAddress(address, bitcoincashtestnet);
case Coin.firoTestNet: case Coin.firoTestNet:
return Address.validateAddress(address, firoTestNetwork); return Address.validateAddress(address, firoTestNetwork);
case Coin.dogecoinTestNet: case Coin.dogecoinTestNet:

View file

@ -145,8 +145,8 @@ class _SVG {
switch (coin) { switch (coin) {
case Coin.bitcoin: case Coin.bitcoin:
return bitcoin; return bitcoin;
// case Coin.bitcoincash: case Coin.bitcoincash:
// return bitcoincash; return bitcoincash;
case Coin.dogecoin: case Coin.dogecoin:
return dogecoin; return dogecoin;
case Coin.epicCash: case Coin.epicCash:
@ -159,8 +159,8 @@ class _SVG {
return namecoin; return namecoin;
case Coin.bitcoinTestNet: case Coin.bitcoinTestNet:
return bitcoinTestnet; return bitcoinTestnet;
// case Coin.bitcoincashTestnet: case Coin.bitcoincashTestnet:
// return bitcoincashTestnet; return bitcoincashTestnet;
case Coin.firoTestNet: case Coin.firoTestNet:
return firoTestnet; return firoTestnet;
case Coin.dogecoinTestNet: case Coin.dogecoinTestNet:
@ -188,9 +188,9 @@ class _PNG {
case Coin.bitcoin: case Coin.bitcoin:
case Coin.bitcoinTestNet: case Coin.bitcoinTestNet:
return bitcoin; return bitcoin;
// case Coin.bitcoincash: case Coin.bitcoincash:
// case Coin.bitcoincashTestnet: case Coin.bitcoincashTestnet:
// return bitcoincash; return bitcoincash;
case Coin.dogecoin: case Coin.dogecoin:
case Coin.dogecoinTestNet: case Coin.dogecoinTestNet:
return dogecoin; return dogecoin;

View file

@ -22,11 +22,11 @@ Uri getBlockExplorerTransactionUrlFor({
return Uri.parse("https://explorer.firo.org/tx/$txid"); return Uri.parse("https://explorer.firo.org/tx/$txid");
case Coin.firoTestNet: case Coin.firoTestNet:
return Uri.parse("https://testexplorer.firo.org/tx/$txid"); return Uri.parse("https://testexplorer.firo.org/tx/$txid");
// case Coin.bitcoincash: case Coin.bitcoincash:
// return Uri.parse("https://blockchair.com/bitcoin-cash/transaction/$txid"); return Uri.parse("https://blockchair.com/bitcoin-cash/transaction/$txid");
// case Coin.bitcoincashTestnet: case Coin.bitcoincashTestnet:
// return Uri.parse( return Uri.parse(
// "https://blockexplorer.one/bitcoin-cash/testnet/tx/$txid"); "https://blockexplorer.one/bitcoin-cash/testnet/tx/$txid");
case Coin.namecoin: case Coin.namecoin:
return Uri.parse("https://chainz.cryptoid.info/nmc/tx.dws?$txid.htm"); return Uri.parse("https://chainz.cryptoid.info/nmc/tx.dws?$txid.htm");
} }

View file

@ -39,8 +39,8 @@ abstract class Constants {
final List<int> values = []; final List<int> values = [];
switch (coin) { switch (coin) {
case Coin.bitcoin: case Coin.bitcoin:
// case Coin.bitcoincash: case Coin.bitcoincash:
// case Coin.bitcoincashTestnet: case Coin.bitcoincashTestnet:
case Coin.dogecoin: case Coin.dogecoin:
case Coin.firo: case Coin.firo:
case Coin.bitcoinTestNet: case Coin.bitcoinTestNet:
@ -65,9 +65,9 @@ abstract class Constants {
case Coin.bitcoinTestNet: case Coin.bitcoinTestNet:
return 600; return 600;
// case Coin.bitcoincash: case Coin.bitcoincash:
// case Coin.bitcoincashTestnet: case Coin.bitcoincashTestnet:
// return 600; return 600;
case Coin.dogecoin: case Coin.dogecoin:
case Coin.dogecoinTestNet: case Coin.dogecoinTestNet:

View file

@ -33,17 +33,17 @@ abstract class DefaultNodes {
isDown: false, isDown: false,
); );
// static NodeModel get bitcoincash => NodeModel( static NodeModel get bitcoincash => NodeModel(
// host: "bitcoincash.stackwallet.com", host: "bitcoincash.stackwallet.com",
// port: 50002, port: 50002,
// name: defaultName, name: defaultName,
// id: _nodeId(Coin.bitcoincash), id: _nodeId(Coin.bitcoincash),
// useSSL: true, useSSL: true,
// enabled: true, enabled: true,
// coinName: Coin.bitcoincash.name, coinName: Coin.bitcoincash.name,
// isFailover: true, isFailover: true,
// isDown: false, isDown: false,
// ); );
static NodeModel get dogecoin => NodeModel( static NodeModel get dogecoin => NodeModel(
host: "dogecoin.stackwallet.com", host: "dogecoin.stackwallet.com",
@ -143,25 +143,25 @@ abstract class DefaultNodes {
isDown: false, isDown: false,
); );
// static NodeModel get bitcoincashTestnet => NodeModel( static NodeModel get bitcoincashTestnet => NodeModel(
// host: "testnet.hsmiths.com", host: "testnet.hsmiths.com",
// port: 53012, port: 53012,
// name: defaultName, name: defaultName,
// id: _nodeId(Coin.bitcoincash), id: _nodeId(Coin.bitcoincash),
// useSSL: true, useSSL: true,
// enabled: true, enabled: true,
// coinName: Coin.bitcoincash.name, coinName: Coin.bitcoincash.name,
// isFailover: true, isFailover: true,
// isDown: false, isDown: false,
// ); );
static NodeModel getNodeFor(Coin coin) { static NodeModel getNodeFor(Coin coin) {
switch (coin) { switch (coin) {
case Coin.bitcoin: case Coin.bitcoin:
return bitcoin; return bitcoin;
//
// case Coin.bitcoincash: case Coin.bitcoincash:
// return bitcoincash; return bitcoincash;
case Coin.dogecoin: case Coin.dogecoin:
return dogecoin; return dogecoin;
@ -181,8 +181,8 @@ abstract class DefaultNodes {
case Coin.bitcoinTestNet: case Coin.bitcoinTestNet:
return bitcoinTestnet; return bitcoinTestnet;
// case Coin.bitcoincashTestnet: case Coin.bitcoincashTestnet:
// return bitcoincashTestnet; return bitcoincashTestnet;
case Coin.firoTestNet: case Coin.firoTestNet:
return firoTestnet; return firoTestnet;

View file

@ -1,4 +1,6 @@
import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as btc; import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart' as btc;
import 'package:stackwallet/services/coins/bitcoincash/bitcoincash_wallet.dart'
as bch;
import 'package:stackwallet/services/coins/dogecoin/dogecoin_wallet.dart' import 'package:stackwallet/services/coins/dogecoin/dogecoin_wallet.dart'
as doge; as doge;
import 'package:stackwallet/services/coins/epiccash/epiccash_wallet.dart' import 'package:stackwallet/services/coins/epiccash/epiccash_wallet.dart'
@ -10,7 +12,7 @@ import 'package:stackwallet/services/coins/namecoin/namecoin_wallet.dart'
enum Coin { enum Coin {
bitcoin, bitcoin,
// bitcoincash, bitcoincash,
dogecoin, dogecoin,
epicCash, epicCash,
firo, firo,
@ -22,7 +24,7 @@ enum Coin {
/// ///
bitcoinTestNet, bitcoinTestNet,
// bitcoincashTestnet, bitcoincashTestnet,
dogecoinTestNet, dogecoinTestNet,
firoTestNet, firoTestNet,
} }
@ -35,8 +37,8 @@ extension CoinExt on Coin {
switch (this) { switch (this) {
case Coin.bitcoin: case Coin.bitcoin:
return "Bitcoin"; return "Bitcoin";
// case Coin.bitcoincash: case Coin.bitcoincash:
// return "Bitcoin Cash"; return "Bitcoin Cash";
case Coin.dogecoin: case Coin.dogecoin:
return "Dogecoin"; return "Dogecoin";
case Coin.epicCash: case Coin.epicCash:
@ -49,8 +51,8 @@ extension CoinExt on Coin {
return "Namecoin"; return "Namecoin";
case Coin.bitcoinTestNet: case Coin.bitcoinTestNet:
return "tBitcoin"; return "tBitcoin";
// case Coin.bitcoincashTestnet: case Coin.bitcoincashTestnet:
// return "tBitcoin Cash"; return "tBitcoin Cash";
case Coin.firoTestNet: case Coin.firoTestNet:
return "tFiro"; return "tFiro";
case Coin.dogecoinTestNet: case Coin.dogecoinTestNet:
@ -62,8 +64,8 @@ extension CoinExt on Coin {
switch (this) { switch (this) {
case Coin.bitcoin: case Coin.bitcoin:
return "BTC"; return "BTC";
// case Coin.bitcoincash: case Coin.bitcoincash:
// return "BCH"; return "BCH";
case Coin.dogecoin: case Coin.dogecoin:
return "DOGE"; return "DOGE";
case Coin.epicCash: case Coin.epicCash:
@ -76,8 +78,8 @@ extension CoinExt on Coin {
return "NMC"; return "NMC";
case Coin.bitcoinTestNet: case Coin.bitcoinTestNet:
return "tBTC"; return "tBTC";
// case Coin.bitcoincashTestnet: case Coin.bitcoincashTestnet:
// return "tBCH"; return "tBCH";
case Coin.firoTestNet: case Coin.firoTestNet:
return "tFIRO"; return "tFIRO";
case Coin.dogecoinTestNet: case Coin.dogecoinTestNet:
@ -89,8 +91,8 @@ extension CoinExt on Coin {
switch (this) { switch (this) {
case Coin.bitcoin: case Coin.bitcoin:
return "bitcoin"; return "bitcoin";
// case Coin.bitcoincash: case Coin.bitcoincash:
// return "bitcoincash"; return "bitcoincash";
case Coin.dogecoin: case Coin.dogecoin:
return "dogecoin"; return "dogecoin";
case Coin.epicCash: case Coin.epicCash:
@ -104,8 +106,8 @@ extension CoinExt on Coin {
return "namecoin"; return "namecoin";
case Coin.bitcoinTestNet: case Coin.bitcoinTestNet:
return "bitcoin"; return "bitcoin";
// case Coin.bitcoincashTestnet: case Coin.bitcoincashTestnet:
// return "bitcoincash"; return "bitcoincash";
case Coin.firoTestNet: case Coin.firoTestNet:
return "firo"; return "firo";
case Coin.dogecoinTestNet: case Coin.dogecoinTestNet:
@ -116,12 +118,12 @@ extension CoinExt on Coin {
bool get isElectrumXCoin { bool get isElectrumXCoin {
switch (this) { switch (this) {
case Coin.bitcoin: case Coin.bitcoin:
// case Coin.bitcoincash: case Coin.bitcoincash:
case Coin.dogecoin: case Coin.dogecoin:
case Coin.firo: case Coin.firo:
case Coin.namecoin: case Coin.namecoin:
case Coin.bitcoinTestNet: case Coin.bitcoinTestNet:
// case Coin.bitcoincashTestnet: case Coin.bitcoincashTestnet:
case Coin.firoTestNet: case Coin.firoTestNet:
case Coin.dogecoinTestNet: case Coin.dogecoinTestNet:
return true; return true;
@ -138,9 +140,9 @@ extension CoinExt on Coin {
case Coin.bitcoinTestNet: case Coin.bitcoinTestNet:
return btc.MINIMUM_CONFIRMATIONS; return btc.MINIMUM_CONFIRMATIONS;
// case Coin.bitcoincash: case Coin.bitcoincash:
// case Coin.bitcoincashTestnet: case Coin.bitcoincashTestnet:
// return bch.MINIMUM_CONFIRMATIONS; return bch.MINIMUM_CONFIRMATIONS;
case Coin.firo: case Coin.firo:
case Coin.firoTestNet: case Coin.firoTestNet:
@ -166,10 +168,10 @@ Coin coinFromPrettyName(String name) {
case "Bitcoin": case "Bitcoin":
case "bitcoin": case "bitcoin":
return Coin.bitcoin; return Coin.bitcoin;
// case "Bitcoincash": case "Bitcoincash":
// case "bitcoincash": case "bitcoincash":
// case "Bitcoin Cash": case "Bitcoin Cash":
// return Coin.bitcoincash; return Coin.bitcoincash;
case "Dogecoin": case "Dogecoin":
case "dogecoin": case "dogecoin":
return Coin.dogecoin; return Coin.dogecoin;
@ -190,10 +192,10 @@ Coin coinFromPrettyName(String name) {
case "bitcoinTestNet": case "bitcoinTestNet":
return Coin.bitcoinTestNet; return Coin.bitcoinTestNet;
// case "Bitcoincash Testnet": case "Bitcoincash Testnet":
// case "tBitcoin Cash": case "tBitcoin Cash":
// case "Bitcoin Cash Testnet": case "Bitcoin Cash Testnet":
// return Coin.bitcoincashTestnet; return Coin.bitcoincashTestnet;
case "Firo Testnet": case "Firo Testnet":
case "tFiro": case "tFiro":
case "firoTestNet": case "firoTestNet":
@ -212,8 +214,8 @@ Coin coinFromTickerCaseInsensitive(String ticker) {
switch (ticker.toLowerCase()) { switch (ticker.toLowerCase()) {
case "btc": case "btc":
return Coin.bitcoin; return Coin.bitcoin;
// case "bch": case "bch":
// return Coin.bitcoincash; return Coin.bitcoincash;
case "doge": case "doge":
return Coin.dogecoin; return Coin.dogecoin;
case "epic": case "epic":
@ -226,8 +228,8 @@ Coin coinFromTickerCaseInsensitive(String ticker) {
return Coin.namecoin; return Coin.namecoin;
case "tbtc": case "tbtc":
return Coin.bitcoinTestNet; return Coin.bitcoinTestNet;
// case "tbch": case "tbch":
// return Coin.bitcoincashTestnet; return Coin.bitcoincashTestnet;
case "tfiro": case "tfiro":
return Coin.firoTestNet; return Coin.firoTestNet;
case "tdoge": case "tdoge":

View file

@ -194,9 +194,9 @@ class CoinThemeColor {
case Coin.bitcoin: case Coin.bitcoin:
case Coin.bitcoinTestNet: case Coin.bitcoinTestNet:
return bitcoin; return bitcoin;
// case Coin.bitcoincash: case Coin.bitcoincash:
// case Coin.bitcoincashTestnet: case Coin.bitcoincashTestnet:
// return bitcoincash; return bitcoincash;
case Coin.dogecoin: case Coin.dogecoin:
case Coin.dogecoinTestNet: case Coin.dogecoinTestNet:
return dogecoin; return dogecoin;

View file

@ -1407,9 +1407,9 @@ class StackColors extends ThemeExtension<StackColors> {
case Coin.bitcoin: case Coin.bitcoin:
case Coin.bitcoinTestNet: case Coin.bitcoinTestNet:
return _coin.bitcoin; return _coin.bitcoin;
// case Coin.bitcoincash: case Coin.bitcoincash:
// case Coin.bitcoincashTestnet: case Coin.bitcoincashTestnet:
// return _coin.bitcoincash; return _coin.bitcoincash;
case Coin.dogecoin: case Coin.dogecoin:
case Coin.dogecoinTestNet: case Coin.dogecoinTestNet:
return _coin.dogecoin; return _coin.dogecoin;

View file

@ -106,9 +106,9 @@ class NodeOptionsSheet extends ConsumerWidget {
case Coin.bitcoinTestNet: case Coin.bitcoinTestNet:
case Coin.firoTestNet: case Coin.firoTestNet:
case Coin.dogecoinTestNet: case Coin.dogecoinTestNet:
// case Coin.bitcoincash: case Coin.bitcoincash:
case Coin.namecoin: case Coin.namecoin:
// case Coin.bitcoincashTestnet: case Coin.bitcoincashTestnet:
final client = ElectrumX( final client = ElectrumX(
host: node.host, host: node.host,
port: node.port, port: node.port,