mirror of
https://github.com/cypherstack/stack_wallet.git
synced 2024-11-17 17:57:40 +00:00
do not check server features on wallet creation (allow offline new wallet creation)
This commit is contained in:
parent
b11888f8bd
commit
745abe0f10
6 changed files with 122 additions and 140 deletions
|
@ -1516,27 +1516,27 @@ class BitcoinWallet extends CoinServiceAPI {
|
|||
}
|
||||
|
||||
Future<void> _generateNewWallet() async {
|
||||
Logging.instance
|
||||
.log("IS_INTEGRATION_TEST: $integrationTestFlag", level: LogLevel.Info);
|
||||
if (!integrationTestFlag) {
|
||||
final features = await electrumXClient.getServerFeatures();
|
||||
Logging.instance.log("features: $features", level: LogLevel.Info);
|
||||
switch (coin) {
|
||||
case Coin.bitcoin:
|
||||
if (features['genesis_hash'] != GENESIS_HASH_MAINNET) {
|
||||
throw Exception("genesis hash does not match main net!");
|
||||
}
|
||||
break;
|
||||
case Coin.bitcoinTestNet:
|
||||
if (features['genesis_hash'] != GENESIS_HASH_TESTNET) {
|
||||
throw Exception("genesis hash does not match test net!");
|
||||
}
|
||||
break;
|
||||
default:
|
||||
throw Exception(
|
||||
"Attempted to generate a BitcoinWallet using a non bitcoin coin type: ${coin.name}");
|
||||
}
|
||||
}
|
||||
// Logging.instance
|
||||
// .log("IS_INTEGRATION_TEST: $integrationTestFlag", level: LogLevel.Info);
|
||||
// if (!integrationTestFlag) {
|
||||
// final features = await electrumXClient.getServerFeatures();
|
||||
// Logging.instance.log("features: $features", level: LogLevel.Info);
|
||||
// switch (coin) {
|
||||
// case Coin.bitcoin:
|
||||
// if (features['genesis_hash'] != GENESIS_HASH_MAINNET) {
|
||||
// throw Exception("genesis hash does not match main net!");
|
||||
// }
|
||||
// break;
|
||||
// case Coin.bitcoinTestNet:
|
||||
// if (features['genesis_hash'] != GENESIS_HASH_TESTNET) {
|
||||
// throw Exception("genesis hash does not match test net!");
|
||||
// }
|
||||
// break;
|
||||
// default:
|
||||
// throw Exception(
|
||||
// "Attempted to generate a BitcoinWallet using a non bitcoin coin type: ${coin.name}");
|
||||
// }
|
||||
// }
|
||||
|
||||
// this should never fail
|
||||
if ((await _secureStore.read(key: '${_walletId}_mnemonic')) != null) {
|
||||
|
|
|
@ -1402,27 +1402,27 @@ class BitcoinCashWallet extends CoinServiceAPI {
|
|||
}
|
||||
|
||||
Future<void> _generateNewWallet() async {
|
||||
Logging.instance
|
||||
.log("IS_INTEGRATION_TEST: $integrationTestFlag", level: LogLevel.Info);
|
||||
if (!integrationTestFlag) {
|
||||
final features = await electrumXClient.getServerFeatures();
|
||||
Logging.instance.log("features: $features", level: LogLevel.Info);
|
||||
switch (coin) {
|
||||
case Coin.bitcoincash:
|
||||
if (features['genesis_hash'] != GENESIS_HASH_MAINNET) {
|
||||
throw Exception("genesis hash does not match main net!");
|
||||
}
|
||||
break;
|
||||
case Coin.bitcoincashTestnet:
|
||||
if (features['genesis_hash'] != GENESIS_HASH_TESTNET) {
|
||||
throw Exception("genesis hash does not match test net!");
|
||||
}
|
||||
break;
|
||||
default:
|
||||
throw Exception(
|
||||
"Attempted to generate a BitcoinWallet using a non bitcoin coin type: ${coin.name}");
|
||||
}
|
||||
}
|
||||
// Logging.instance
|
||||
// .log("IS_INTEGRATION_TEST: $integrationTestFlag", level: LogLevel.Info);
|
||||
// if (!integrationTestFlag) {
|
||||
// final features = await electrumXClient.getServerFeatures();
|
||||
// Logging.instance.log("features: $features", level: LogLevel.Info);
|
||||
// switch (coin) {
|
||||
// case Coin.bitcoincash:
|
||||
// if (features['genesis_hash'] != GENESIS_HASH_MAINNET) {
|
||||
// throw Exception("genesis hash does not match main net!");
|
||||
// }
|
||||
// break;
|
||||
// case Coin.bitcoincashTestnet:
|
||||
// if (features['genesis_hash'] != GENESIS_HASH_TESTNET) {
|
||||
// throw Exception("genesis hash does not match test net!");
|
||||
// }
|
||||
// break;
|
||||
// default:
|
||||
// throw Exception(
|
||||
// "Attempted to generate a BitcoinWallet using a non bitcoin coin type: ${coin.name}");
|
||||
// }
|
||||
// }
|
||||
|
||||
// this should never fail
|
||||
if ((await _secureStore.read(key: '${_walletId}_mnemonic')) != null) {
|
||||
|
|
|
@ -1265,27 +1265,27 @@ class DogecoinWallet extends CoinServiceAPI {
|
|||
}
|
||||
|
||||
Future<void> _generateNewWallet() async {
|
||||
Logging.instance
|
||||
.log("IS_INTEGRATION_TEST: $integrationTestFlag", level: LogLevel.Info);
|
||||
if (!integrationTestFlag) {
|
||||
final features = await electrumXClient.getServerFeatures();
|
||||
Logging.instance.log("features: $features", level: LogLevel.Info);
|
||||
switch (coin) {
|
||||
case Coin.dogecoin:
|
||||
if (features['genesis_hash'] != GENESIS_HASH_MAINNET) {
|
||||
throw Exception("genesis hash does not match main net!");
|
||||
}
|
||||
break;
|
||||
case Coin.dogecoinTestNet:
|
||||
if (features['genesis_hash'] != GENESIS_HASH_TESTNET) {
|
||||
throw Exception("genesis hash does not match test net!");
|
||||
}
|
||||
break;
|
||||
default:
|
||||
throw Exception(
|
||||
"Attempted to generate a BitcoinWallet using a non bitcoin coin type: ${coin.name}");
|
||||
}
|
||||
}
|
||||
// Logging.instance
|
||||
// .log("IS_INTEGRATION_TEST: $integrationTestFlag", level: LogLevel.Info);
|
||||
// if (!integrationTestFlag) {
|
||||
// final features = await electrumXClient.getServerFeatures();
|
||||
// Logging.instance.log("features: $features", level: LogLevel.Info);
|
||||
// switch (coin) {
|
||||
// case Coin.dogecoin:
|
||||
// if (features['genesis_hash'] != GENESIS_HASH_MAINNET) {
|
||||
// throw Exception("genesis hash does not match main net!");
|
||||
// }
|
||||
// break;
|
||||
// case Coin.dogecoinTestNet:
|
||||
// if (features['genesis_hash'] != GENESIS_HASH_TESTNET) {
|
||||
// throw Exception("genesis hash does not match test net!");
|
||||
// }
|
||||
// break;
|
||||
// default:
|
||||
// throw Exception(
|
||||
// "Attempted to generate a BitcoinWallet using a non bitcoin coin type: ${coin.name}");
|
||||
// }
|
||||
// }
|
||||
|
||||
// this should never fail
|
||||
if ((await _secureStore.read(key: '${_walletId}_mnemonic')) != null) {
|
||||
|
|
|
@ -2145,36 +2145,27 @@ class FiroWallet extends CoinServiceAPI {
|
|||
|
||||
/// Generates initial wallet values such as mnemonic, chain (receive/change) arrays and indexes.
|
||||
Future<void> _generateNewWallet() async {
|
||||
Logging.instance
|
||||
.log("IS_INTEGRATION_TEST: $integrationTestFlag", level: LogLevel.Info);
|
||||
if (!integrationTestFlag) {
|
||||
final features = await electrumXClient.getServerFeatures();
|
||||
Logging.instance.log("features: $features", level: LogLevel.Info);
|
||||
switch (coin) {
|
||||
case Coin.firo:
|
||||
if (features['genesis_hash'] != GENESIS_HASH_MAINNET) {
|
||||
throw Exception("genesis hash does not match main net!");
|
||||
}
|
||||
break;
|
||||
case Coin.firoTestNet:
|
||||
if (features['genesis_hash'] != GENESIS_HASH_TESTNET) {
|
||||
throw Exception("genesis hash does not match test net!");
|
||||
}
|
||||
break;
|
||||
default:
|
||||
throw Exception(
|
||||
"Attempted to generate a FiroWallet using a non firo coin type: ${coin.name}");
|
||||
}
|
||||
// if (_networkType == BasicNetworkType.main) {
|
||||
// if (features['genesis_hash'] != GENESIS_HASH_MAINNET) {
|
||||
// throw Exception("genesis hash does not match!");
|
||||
// }
|
||||
// } else if (_networkType == BasicNetworkType.test) {
|
||||
// if (features['genesis_hash'] != GENESIS_HASH_TESTNET) {
|
||||
// throw Exception("genesis hash does not match!");
|
||||
// }
|
||||
// }
|
||||
}
|
||||
// Logging.instance
|
||||
// .log("IS_INTEGRATION_TEST: $integrationTestFlag", level: LogLevel.Info);
|
||||
// if (!integrationTestFlag) {
|
||||
// final features = await electrumXClient.getServerFeatures();
|
||||
// Logging.instance.log("features: $features", level: LogLevel.Info);
|
||||
// switch (coin) {
|
||||
// case Coin.firo:
|
||||
// if (features['genesis_hash'] != GENESIS_HASH_MAINNET) {
|
||||
// throw Exception("genesis hash does not match main net!");
|
||||
// }
|
||||
// break;
|
||||
// case Coin.firoTestNet:
|
||||
// if (features['genesis_hash'] != GENESIS_HASH_TESTNET) {
|
||||
// throw Exception("genesis hash does not match test net!");
|
||||
// }
|
||||
// break;
|
||||
// default:
|
||||
// throw Exception(
|
||||
// "Attempted to generate a FiroWallet using a non firo coin type: ${coin.name}");
|
||||
// }
|
||||
// }
|
||||
|
||||
// this should never fail as overwriting a mnemonic is big bad
|
||||
assert((await _secureStore.read(key: '${_walletId}_mnemonic')) == null);
|
||||
|
|
|
@ -1518,28 +1518,28 @@ class LitecoinWallet extends CoinServiceAPI {
|
|||
}
|
||||
|
||||
Future<void> _generateNewWallet() async {
|
||||
Logging.instance
|
||||
.log("IS_INTEGRATION_TEST: $integrationTestFlag", level: LogLevel.Info);
|
||||
if (!integrationTestFlag) {
|
||||
final features = await electrumXClient.getServerFeatures();
|
||||
Logging.instance.log("features: $features", level: LogLevel.Info);
|
||||
switch (coin) {
|
||||
case Coin.litecoin:
|
||||
if (features['genesis_hash'] != GENESIS_HASH_MAINNET) {
|
||||
print(features['genesis_hash']);
|
||||
throw Exception("genesis hash does not match main net!");
|
||||
}
|
||||
break;
|
||||
case Coin.litecoinTestNet:
|
||||
if (features['genesis_hash'] != GENESIS_HASH_TESTNET) {
|
||||
throw Exception("genesis hash does not match test net!");
|
||||
}
|
||||
break;
|
||||
default:
|
||||
throw Exception(
|
||||
"Attempted to generate a LitecoinWallet using a non litecoin coin type: ${coin.name}");
|
||||
}
|
||||
}
|
||||
// Logging.instance
|
||||
// .log("IS_INTEGRATION_TEST: $integrationTestFlag", level: LogLevel.Info);
|
||||
// if (!integrationTestFlag) {
|
||||
// final features = await electrumXClient.getServerFeatures();
|
||||
// Logging.instance.log("features: $features", level: LogLevel.Info);
|
||||
// switch (coin) {
|
||||
// case Coin.litecoin:
|
||||
// if (features['genesis_hash'] != GENESIS_HASH_MAINNET) {
|
||||
// print(features['genesis_hash']);
|
||||
// throw Exception("genesis hash does not match main net!");
|
||||
// }
|
||||
// break;
|
||||
// case Coin.litecoinTestNet:
|
||||
// if (features['genesis_hash'] != GENESIS_HASH_TESTNET) {
|
||||
// throw Exception("genesis hash does not match test net!");
|
||||
// }
|
||||
// break;
|
||||
// default:
|
||||
// throw Exception(
|
||||
// "Attempted to generate a LitecoinWallet using a non litecoin coin type: ${coin.name}");
|
||||
// }
|
||||
// }
|
||||
|
||||
// this should never fail
|
||||
if ((await _secureStore.read(key: '${_walletId}_mnemonic')) != null) {
|
||||
|
|
|
@ -341,31 +341,22 @@ class NamecoinWallet extends CoinServiceAPI {
|
|||
longMutex = true;
|
||||
final start = DateTime.now();
|
||||
try {
|
||||
Logging.instance.log("IS_INTEGRATION_TEST: $integrationTestFlag",
|
||||
level: LogLevel.Info);
|
||||
if (!integrationTestFlag) {
|
||||
final features = await electrumXClient.getServerFeatures();
|
||||
Logging.instance.log("features: $features", level: LogLevel.Info);
|
||||
switch (coin) {
|
||||
case Coin.namecoin:
|
||||
if (features['genesis_hash'] != GENESIS_HASH_MAINNET) {
|
||||
throw Exception("genesis hash does not match main net!");
|
||||
}
|
||||
break;
|
||||
default:
|
||||
throw Exception(
|
||||
"Attempted to generate a NamecoinWallet using a non namecoin coin type: ${coin.name}");
|
||||
}
|
||||
// if (_networkType == BasicNetworkType.main) {
|
||||
// if (features['genesis_hash'] != GENESIS_HASH_MAINNET) {
|
||||
// throw Exception("genesis hash does not match main net!");
|
||||
// }
|
||||
// } else if (_networkType == BasicNetworkType.test) {
|
||||
// if (features['genesis_hash'] != GENESIS_HASH_TESTNET) {
|
||||
// throw Exception("genesis hash does not match test net!");
|
||||
// }
|
||||
// }
|
||||
}
|
||||
// Logging.instance.log("IS_INTEGRATION_TEST: $integrationTestFlag",
|
||||
// level: LogLevel.Info);
|
||||
// if (!integrationTestFlag) {
|
||||
// final features = await electrumXClient.getServerFeatures();
|
||||
// Logging.instance.log("features: $features", level: LogLevel.Info);
|
||||
// switch (coin) {
|
||||
// case Coin.namecoin:
|
||||
// if (features['genesis_hash'] != GENESIS_HASH_MAINNET) {
|
||||
// throw Exception("genesis hash does not match main net!");
|
||||
// }
|
||||
// break;
|
||||
// default:
|
||||
// throw Exception(
|
||||
// "Attempted to generate a NamecoinWallet using a non namecoin coin type: ${coin.name}");
|
||||
// }
|
||||
// }
|
||||
// check to make sure we aren't overwriting a mnemonic
|
||||
// this should never fail
|
||||
if ((await _secureStore.read(key: '${_walletId}_mnemonic')) != null) {
|
||||
|
|
Loading…
Reference in a new issue