mirror of
https://github.com/cypherstack/stack_wallet.git
synced 2025-03-25 08:38:45 +00:00
feat: add xtz
This commit is contained in:
parent
7f4526feee
commit
0ae747aebc
16 changed files with 571 additions and 98 deletions
|
@ -1921,6 +1921,7 @@ class ThemeAssets implements IThemeAssets {
|
||||||
late final String wownero;
|
late final String wownero;
|
||||||
late final String namecoin;
|
late final String namecoin;
|
||||||
late final String particl;
|
late final String particl;
|
||||||
|
late final String tezos;
|
||||||
late final String bitcoinImage;
|
late final String bitcoinImage;
|
||||||
late final String bitcoincashImage;
|
late final String bitcoincashImage;
|
||||||
late final String dogecoinImage;
|
late final String dogecoinImage;
|
||||||
|
@ -1932,6 +1933,7 @@ class ThemeAssets implements IThemeAssets {
|
||||||
late final String wowneroImage;
|
late final String wowneroImage;
|
||||||
late final String namecoinImage;
|
late final String namecoinImage;
|
||||||
late final String particlImage;
|
late final String particlImage;
|
||||||
|
late final String tezosImage;
|
||||||
late final String bitcoinImageSecondary;
|
late final String bitcoinImageSecondary;
|
||||||
late final String bitcoincashImageSecondary;
|
late final String bitcoincashImageSecondary;
|
||||||
late final String dogecoinImageSecondary;
|
late final String dogecoinImageSecondary;
|
||||||
|
@ -1943,6 +1945,7 @@ class ThemeAssets implements IThemeAssets {
|
||||||
late final String wowneroImageSecondary;
|
late final String wowneroImageSecondary;
|
||||||
late final String namecoinImageSecondary;
|
late final String namecoinImageSecondary;
|
||||||
late final String particlImageSecondary;
|
late final String particlImageSecondary;
|
||||||
|
late final String tezosImageSecondary;
|
||||||
@override
|
@override
|
||||||
late final String? loadingGif;
|
late final String? loadingGif;
|
||||||
@override
|
@override
|
||||||
|
@ -1988,6 +1991,8 @@ class ThemeAssets implements IThemeAssets {
|
||||||
..wownero = "$themeId/assets/${json["wownero"] as String}"
|
..wownero = "$themeId/assets/${json["wownero"] as String}"
|
||||||
..namecoin = "$themeId/assets/${json["namecoin"] as String}"
|
..namecoin = "$themeId/assets/${json["namecoin"] as String}"
|
||||||
..particl = "$themeId/assets/${json["particl"] as String}"
|
..particl = "$themeId/assets/${json["particl"] as String}"
|
||||||
|
..tezos =
|
||||||
|
"$themeId/assets/${json["bitcoin"] as String}"
|
||||||
..bitcoinImage = "$themeId/assets/${json["bitcoin_image"] as String}"
|
..bitcoinImage = "$themeId/assets/${json["bitcoin_image"] as String}"
|
||||||
..bitcoincashImage =
|
..bitcoincashImage =
|
||||||
"$themeId/assets/${json["bitcoincash_image"] as String}"
|
"$themeId/assets/${json["bitcoincash_image"] as String}"
|
||||||
|
@ -2000,6 +2005,8 @@ class ThemeAssets implements IThemeAssets {
|
||||||
..wowneroImage = "$themeId/assets/${json["wownero_image"] as String}"
|
..wowneroImage = "$themeId/assets/${json["wownero_image"] as String}"
|
||||||
..namecoinImage = "$themeId/assets/${json["namecoin_image"] as String}"
|
..namecoinImage = "$themeId/assets/${json["namecoin_image"] as String}"
|
||||||
..particlImage = "$themeId/assets/${json["particl_image"] as String}"
|
..particlImage = "$themeId/assets/${json["particl_image"] as String}"
|
||||||
|
..tezosImage =
|
||||||
|
"$themeId/assets/${json["bitcoin_image"] as String}"
|
||||||
..bitcoinImageSecondary =
|
..bitcoinImageSecondary =
|
||||||
"$themeId/assets/${json["bitcoin_image_secondary"] as String}"
|
"$themeId/assets/${json["bitcoin_image_secondary"] as String}"
|
||||||
..bitcoincashImageSecondary =
|
..bitcoincashImageSecondary =
|
||||||
|
@ -2022,6 +2029,8 @@ class ThemeAssets implements IThemeAssets {
|
||||||
"$themeId/assets/${json["namecoin_image_secondary"] as String}"
|
"$themeId/assets/${json["namecoin_image_secondary"] as String}"
|
||||||
..particlImageSecondary =
|
..particlImageSecondary =
|
||||||
"$themeId/assets/${json["particl_image_secondary"] as String}"
|
"$themeId/assets/${json["particl_image_secondary"] as String}"
|
||||||
|
..tezosImageSecondary =
|
||||||
|
"$themeId/assets/${json["bitcoin_image_secondary"] as String}" // TODO: change to tezos
|
||||||
..loadingGif = json["loading_gif"] is String
|
..loadingGif = json["loading_gif"] is String
|
||||||
? "$themeId/assets/${json["loading_gif"] as String}"
|
? "$themeId/assets/${json["loading_gif"] as String}"
|
||||||
: null
|
: null
|
||||||
|
|
|
@ -727,6 +727,7 @@ class _NodeFormState extends ConsumerState<NodeForm> {
|
||||||
case Coin.namecoin:
|
case Coin.namecoin:
|
||||||
case Coin.bitcoincash:
|
case Coin.bitcoincash:
|
||||||
case Coin.particl:
|
case Coin.particl:
|
||||||
|
case Coin.tezos:
|
||||||
case Coin.bitcoinTestNet:
|
case Coin.bitcoinTestNet:
|
||||||
case Coin.litecoinTestNet:
|
case Coin.litecoinTestNet:
|
||||||
case Coin.bitcoincashTestnet:
|
case Coin.bitcoincashTestnet:
|
||||||
|
|
|
@ -27,6 +27,7 @@ import 'package:stackwallet/services/coins/monero/monero_wallet.dart';
|
||||||
import 'package:stackwallet/services/coins/namecoin/namecoin_wallet.dart';
|
import 'package:stackwallet/services/coins/namecoin/namecoin_wallet.dart';
|
||||||
import 'package:stackwallet/services/coins/nano/nano_wallet.dart';
|
import 'package:stackwallet/services/coins/nano/nano_wallet.dart';
|
||||||
import 'package:stackwallet/services/coins/particl/particl_wallet.dart';
|
import 'package:stackwallet/services/coins/particl/particl_wallet.dart';
|
||||||
|
import 'package:stackwallet/services/coins/tezos/tezos_wallet.dart';
|
||||||
import 'package:stackwallet/services/coins/wownero/wownero_wallet.dart';
|
import 'package:stackwallet/services/coins/wownero/wownero_wallet.dart';
|
||||||
import 'package:stackwallet/services/transaction_notification_tracker.dart';
|
import 'package:stackwallet/services/transaction_notification_tracker.dart';
|
||||||
import 'package:stackwallet/utilities/amount/amount.dart';
|
import 'package:stackwallet/utilities/amount/amount.dart';
|
||||||
|
@ -218,6 +219,15 @@ abstract class CoinServiceAPI {
|
||||||
cachedClient: cachedClient,
|
cachedClient: cachedClient,
|
||||||
tracker: tracker);
|
tracker: tracker);
|
||||||
|
|
||||||
|
case Coin.tezos:
|
||||||
|
return TezosWallet(
|
||||||
|
walletId: walletId,
|
||||||
|
walletName: walletName,
|
||||||
|
coin: coin,
|
||||||
|
secureStore: secureStorageInterface,
|
||||||
|
tracker: tracker,
|
||||||
|
);
|
||||||
|
|
||||||
case Coin.wownero:
|
case Coin.wownero:
|
||||||
return WowneroWallet(
|
return WowneroWallet(
|
||||||
walletId: walletId,
|
walletId: walletId,
|
||||||
|
|
314
lib/services/coins/tezos/tezos_wallet.dart
Normal file
314
lib/services/coins/tezos/tezos_wallet.dart
Normal file
|
@ -0,0 +1,314 @@
|
||||||
|
import 'dart:async';
|
||||||
|
|
||||||
|
import 'package:http/http.dart';
|
||||||
|
import 'package:stackwallet/models/balance.dart';
|
||||||
|
import 'package:stackwallet/models/isar/models/blockchain_data/address.dart';
|
||||||
|
import 'package:stackwallet/models/isar/models/blockchain_data/transaction.dart';
|
||||||
|
import 'package:stackwallet/models/isar/models/blockchain_data/utxo.dart';
|
||||||
|
import 'package:stackwallet/models/paymint/fee_object_model.dart';
|
||||||
|
import 'package:stackwallet/services/coins/coin_service.dart';
|
||||||
|
import 'package:stackwallet/services/node_service.dart';
|
||||||
|
import 'package:stackwallet/utilities/amount/amount.dart';
|
||||||
|
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
||||||
|
import 'package:stackwallet/utilities/default_nodes.dart';
|
||||||
|
|
||||||
|
import 'package:tezart/tezart.dart';
|
||||||
|
|
||||||
|
import '../../../db/isar/main_db.dart';
|
||||||
|
import '../../../models/node_model.dart';
|
||||||
|
import '../../../utilities/flutter_secure_storage_interface.dart';
|
||||||
|
import '../../../utilities/logger.dart';
|
||||||
|
import '../../../utilities/prefs.dart';
|
||||||
|
import '../../mixins/wallet_cache.dart';
|
||||||
|
import '../../mixins/wallet_db.dart';
|
||||||
|
import '../../transaction_notification_tracker.dart';
|
||||||
|
|
||||||
|
const int MINIMUM_CONFIRMATIONS = 1;
|
||||||
|
|
||||||
|
class TezosWallet extends CoinServiceAPI with WalletCache, WalletDB {
|
||||||
|
TezosWallet({
|
||||||
|
required String walletId,
|
||||||
|
required String walletName,
|
||||||
|
required Coin coin,
|
||||||
|
required SecureStorageInterface secureStore,
|
||||||
|
required TransactionNotificationTracker tracker,
|
||||||
|
MainDB? mockableOverride,
|
||||||
|
}) {
|
||||||
|
txTracker = tracker;
|
||||||
|
_walletId = walletId;
|
||||||
|
_walletName = walletName;
|
||||||
|
_coin = coin;
|
||||||
|
_secureStore = secureStore;
|
||||||
|
initCache(walletId, coin);
|
||||||
|
initWalletDB(mockableOverride: mockableOverride);
|
||||||
|
}
|
||||||
|
|
||||||
|
NodeModel? _xtzNode;
|
||||||
|
|
||||||
|
NodeModel getCurrentNode() {
|
||||||
|
return _xtzNode ?? NodeService(secureStorageInterface: _secureStore).getPrimaryNodeFor(coin: Coin.tezos) ?? DefaultNodes.getNodeFor(Coin.tezos);
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get walletId => _walletId;
|
||||||
|
late String _walletId;
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get walletName => _walletName;
|
||||||
|
late String _walletName;
|
||||||
|
|
||||||
|
@override
|
||||||
|
set walletName(String name) => _walletName = name;
|
||||||
|
|
||||||
|
@override
|
||||||
|
set isFavorite(bool markFavorite) {
|
||||||
|
_isFavorite = markFavorite;
|
||||||
|
updateCachedIsFavorite(markFavorite);
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
bool get isFavorite => _isFavorite ??= getCachedIsFavorite();
|
||||||
|
bool? _isFavorite;
|
||||||
|
|
||||||
|
@override
|
||||||
|
Coin get coin => _coin;
|
||||||
|
late Coin _coin;
|
||||||
|
|
||||||
|
late SecureStorageInterface _secureStore;
|
||||||
|
late final TransactionNotificationTracker txTracker;
|
||||||
|
final _prefs = Prefs.instance;
|
||||||
|
|
||||||
|
Timer? timer;
|
||||||
|
bool _shouldAutoSync = false;
|
||||||
|
|
||||||
|
@override
|
||||||
|
bool get shouldAutoSync => _shouldAutoSync;
|
||||||
|
|
||||||
|
@override
|
||||||
|
set shouldAutoSync(bool shouldAutoSync) {
|
||||||
|
if (_shouldAutoSync != shouldAutoSync) {
|
||||||
|
_shouldAutoSync = shouldAutoSync;
|
||||||
|
if (!shouldAutoSync) {
|
||||||
|
timer?.cancel();
|
||||||
|
timer = null;
|
||||||
|
} else {
|
||||||
|
refresh();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Balance get balance => _balance ??= getCachedBalance();
|
||||||
|
Balance? _balance;
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<String> confirmSend({required Map<String, dynamic> txData}) {
|
||||||
|
// TODO: implement confirmSend,
|
||||||
|
// NOTE FROM DETHERMINAL: I couldnt write this function because I dont have any tezos to test with
|
||||||
|
throw UnimplementedError();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<String> get currentReceivingAddress async {
|
||||||
|
var mneString = await mnemonicString;
|
||||||
|
if (mneString == null) {
|
||||||
|
throw Exception("No mnemonic found!");
|
||||||
|
}
|
||||||
|
return Future.value(Keystore.fromMnemonic(mneString).address);
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<Amount> estimateFeeFor(Amount amount, int feeRate) {
|
||||||
|
// TODO: implement estimateFeeFor
|
||||||
|
throw UnimplementedError();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<void> exit() {
|
||||||
|
_hasCalledExit = true;
|
||||||
|
return Future.value();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
// TODO: implement fees
|
||||||
|
Future<FeeObject> get fees => throw UnimplementedError();
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<void> fullRescan(int maxUnusedAddressGap, int maxNumberOfIndexesToCheck) {
|
||||||
|
// TODO: implement fullRescan
|
||||||
|
throw UnimplementedError();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<bool> generateNewAddress() {
|
||||||
|
// TODO: implement generateNewAddress
|
||||||
|
throw UnimplementedError();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
bool get hasCalledExit => _hasCalledExit;
|
||||||
|
bool _hasCalledExit = false;
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<void> initializeExisting() async {
|
||||||
|
await _prefs.init();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<void> initializeNew() async {
|
||||||
|
var newKeystore = Keystore.random();
|
||||||
|
await _secureStore.write(
|
||||||
|
key: '${_walletId}_mnemonic',
|
||||||
|
value: newKeystore.mnemonic,
|
||||||
|
);
|
||||||
|
await _secureStore.write(
|
||||||
|
key: '${_walletId}_mnemonicPassphrase',
|
||||||
|
value: "",
|
||||||
|
);
|
||||||
|
|
||||||
|
final address = Address(
|
||||||
|
walletId: walletId,
|
||||||
|
value: newKeystore.address,
|
||||||
|
publicKey: [], // TODO: Add public key
|
||||||
|
derivationIndex: 0,
|
||||||
|
derivationPath: null,
|
||||||
|
type: AddressType.unknown,
|
||||||
|
subType: AddressSubType.unknown,
|
||||||
|
);
|
||||||
|
|
||||||
|
await db.putAddress(address);
|
||||||
|
|
||||||
|
await Future.wait([
|
||||||
|
updateCachedId(walletId),
|
||||||
|
updateCachedIsFavorite(false),
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
bool get isConnected => _isConnected;
|
||||||
|
bool _isConnected = false;
|
||||||
|
|
||||||
|
@override
|
||||||
|
bool get isRefreshing => refreshMutex;
|
||||||
|
bool refreshMutex = false;
|
||||||
|
|
||||||
|
@override
|
||||||
|
// TODO: implement maxFee
|
||||||
|
Future<int> get maxFee => throw UnimplementedError();
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<List<String>> get mnemonic async {
|
||||||
|
final mnemonic = await mnemonicString;
|
||||||
|
final mnemonicPassphrase = await this.mnemonicPassphrase;
|
||||||
|
if (mnemonic == null) {
|
||||||
|
throw Exception("No mnemonic found!");
|
||||||
|
}
|
||||||
|
if (mnemonicPassphrase == null) {
|
||||||
|
throw Exception("No mnemonic passphrase found!");
|
||||||
|
}
|
||||||
|
return mnemonic.split(" ");
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<String?> get mnemonicPassphrase => _secureStore.read(key: '${_walletId}_mnemonicPassphrase');
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<String?> get mnemonicString => _secureStore.read(key: '${_walletId}_mnemonic');
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<Map<String, dynamic>> prepareSend({required String address, required Amount amount, Map<String, dynamic>? args}) {
|
||||||
|
// TODO: implement prepareSend
|
||||||
|
// NOTE FROM DETHERMINAL: I couldnt write this function because I dont have any tezos to test with
|
||||||
|
throw UnimplementedError();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<void> recoverFromMnemonic({required String mnemonic, String? mnemonicPassphrase, required int maxUnusedAddressGap, required int maxNumberOfIndexesToCheck, required int height}) async {
|
||||||
|
if ((await mnemonicString) != null ||
|
||||||
|
(await this.mnemonicPassphrase) != null) {
|
||||||
|
throw Exception("Attempted to overwrite mnemonic on restore!");
|
||||||
|
}
|
||||||
|
await _secureStore.write(
|
||||||
|
key: '${_walletId}_mnemonic', value: mnemonic.trim());
|
||||||
|
await _secureStore.write(
|
||||||
|
key: '${_walletId}_mnemonicPassphrase',
|
||||||
|
value: mnemonicPassphrase ?? "",
|
||||||
|
);
|
||||||
|
|
||||||
|
final address = Address(
|
||||||
|
walletId: walletId,
|
||||||
|
value: Keystore.fromMnemonic(mnemonic).address,
|
||||||
|
publicKey: [], // TODO: Add public key
|
||||||
|
derivationIndex: 0,
|
||||||
|
derivationPath: null,
|
||||||
|
type: AddressType.unknown,
|
||||||
|
subType: AddressSubType.unknown,
|
||||||
|
);
|
||||||
|
|
||||||
|
await db.putAddress(address);
|
||||||
|
|
||||||
|
await Future.wait([
|
||||||
|
updateCachedId(walletId),
|
||||||
|
updateCachedIsFavorite(false),
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<void> updateBalance() async {
|
||||||
|
var api = "https://api.mainnet.tzkt.io/v1/accounts/${await currentReceivingAddress}/balance"; // TODO: Can we use current node instead of this?
|
||||||
|
var theBalance = await get(Uri.parse(api)).then((value) => value.body);
|
||||||
|
Logging.instance.log("Balance for ${await currentReceivingAddress}: $theBalance", level: LogLevel.Info);
|
||||||
|
var balanceInAmount = Amount(rawValue: BigInt.parse(theBalance.toString()), fractionDigits: 6);
|
||||||
|
_balance = Balance(
|
||||||
|
total: balanceInAmount,
|
||||||
|
spendable: balanceInAmount,
|
||||||
|
blockedTotal: Amount(rawValue: BigInt.parse("0"), fractionDigits: 6),
|
||||||
|
pendingSpendable: Amount(rawValue: BigInt.parse("0"), fractionDigits: 6),
|
||||||
|
);
|
||||||
|
await updateCachedBalance(_balance!);
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<void> refresh() {
|
||||||
|
updateBalance();
|
||||||
|
return Future.value();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
int get storedChainHeight => getCachedChainHeight();
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<bool> testNetworkConnection() {
|
||||||
|
// TODO: implement testNetworkConnection
|
||||||
|
throw UnimplementedError();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
// TODO: implement transactions
|
||||||
|
Future<List<Transaction>> get transactions async {
|
||||||
|
// TODO: Maybe we can use this -> https://api.tzkt.io/#operation/Accounts_GetBalanceHistory
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<void> updateNode(bool shouldRefresh) async {
|
||||||
|
_xtzNode = NodeService(secureStorageInterface: _secureStore).getPrimaryNodeFor(coin: coin) ?? DefaultNodes.getNodeFor(coin);
|
||||||
|
|
||||||
|
if (shouldRefresh) {
|
||||||
|
await refresh();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<void> updateSentCachedTxData(Map<String, dynamic> txData) {
|
||||||
|
// TODO: implement updateSentCachedTxData
|
||||||
|
throw UnimplementedError();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
// TODO: implement utxos
|
||||||
|
Future<List<UTXO>> get utxos => throw UnimplementedError();
|
||||||
|
|
||||||
|
@override
|
||||||
|
bool validateAddress(String address) {
|
||||||
|
return RegExp(r"^tz[1-9A-HJ-NP-Za-km-z]{34}$").hasMatch(address);
|
||||||
|
}
|
||||||
|
}
|
|
@ -43,6 +43,8 @@ final coinIconProvider = Provider.family<String, Coin>((ref, coin) {
|
||||||
return assets.namecoin;
|
return assets.namecoin;
|
||||||
case Coin.particl:
|
case Coin.particl:
|
||||||
return assets.particl;
|
return assets.particl;
|
||||||
|
case Coin.tezos:
|
||||||
|
return assets.tezos;
|
||||||
case Coin.ethereum:
|
case Coin.ethereum:
|
||||||
return assets.ethereum;
|
return assets.ethereum;
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -41,6 +41,8 @@ final coinImageProvider = Provider.family<String, Coin>((ref, coin) {
|
||||||
return assets.namecoinImage;
|
return assets.namecoinImage;
|
||||||
case Coin.particl:
|
case Coin.particl:
|
||||||
return assets.particlImage;
|
return assets.particlImage;
|
||||||
|
case Coin.tezos:
|
||||||
|
return assets.tezosImage;
|
||||||
case Coin.bitcoinTestNet:
|
case Coin.bitcoinTestNet:
|
||||||
return assets.bitcoinImage;
|
return assets.bitcoinImage;
|
||||||
case Coin.bitcoincashTestnet:
|
case Coin.bitcoincashTestnet:
|
||||||
|
@ -89,6 +91,8 @@ final coinImageSecondaryProvider = Provider.family<String, Coin>((ref, coin) {
|
||||||
return assets.namecoinImageSecondary;
|
return assets.namecoinImageSecondary;
|
||||||
case Coin.particl:
|
case Coin.particl:
|
||||||
return assets.particlImageSecondary;
|
return assets.particlImageSecondary;
|
||||||
|
case Coin.tezos:
|
||||||
|
return assets.tezosImageSecondary;
|
||||||
case Coin.bitcoinTestNet:
|
case Coin.bitcoinTestNet:
|
||||||
return assets.bitcoinImageSecondary;
|
return assets.bitcoinImageSecondary;
|
||||||
case Coin.bitcoincashTestnet:
|
case Coin.bitcoincashTestnet:
|
||||||
|
|
|
@ -30,6 +30,7 @@ class CoinThemeColorDefault {
|
||||||
Color get particl => const Color(0xFF8175BD);
|
Color get particl => const Color(0xFF8175BD);
|
||||||
Color get nano => const Color(0xFF209CE9);
|
Color get nano => const Color(0xFF209CE9);
|
||||||
Color get banano => const Color(0xFFFBDD11);
|
Color get banano => const Color(0xFFFBDD11);
|
||||||
|
Color get tezos => const Color(0xFF0F61FF);
|
||||||
|
|
||||||
Color forCoin(Coin coin) {
|
Color forCoin(Coin coin) {
|
||||||
switch (coin) {
|
switch (coin) {
|
||||||
|
@ -66,6 +67,8 @@ class CoinThemeColorDefault {
|
||||||
return nano;
|
return nano;
|
||||||
case Coin.banano:
|
case Coin.banano:
|
||||||
return banano;
|
return banano;
|
||||||
|
case Coin.tezos:
|
||||||
|
return tezos;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1711,6 +1711,8 @@ class StackColors extends ThemeExtension<StackColors> {
|
||||||
return _coin.nano;
|
return _coin.nano;
|
||||||
case Coin.banano:
|
case Coin.banano:
|
||||||
return _coin.banano;
|
return _coin.banano;
|
||||||
|
case Coin.tezos:
|
||||||
|
return _coin.tezos;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -109,6 +109,8 @@ class AddressUtils {
|
||||||
return NanoAccounts.isValid(NanoAccountType.NANO, address);
|
return NanoAccounts.isValid(NanoAccountType.NANO, address);
|
||||||
case Coin.banano:
|
case Coin.banano:
|
||||||
return NanoAccounts.isValid(NanoAccountType.BANANO, address);
|
return NanoAccounts.isValid(NanoAccountType.BANANO, address);
|
||||||
|
case Coin.tezos:
|
||||||
|
return RegExp(r"^tz[1-9A-HJ-NP-Za-km-z]{34}$").hasMatch(address);
|
||||||
case Coin.bitcoinTestNet:
|
case Coin.bitcoinTestNet:
|
||||||
return Address.validateAddress(address, testnet);
|
return Address.validateAddress(address, testnet);
|
||||||
case Coin.litecoinTestNet:
|
case Coin.litecoinTestNet:
|
||||||
|
|
|
@ -58,6 +58,8 @@ Uri getDefaultBlockExplorerUrlFor({
|
||||||
return Uri.parse("https://www.nanolooker.com/block/$txid");
|
return Uri.parse("https://www.nanolooker.com/block/$txid");
|
||||||
case Coin.banano:
|
case Coin.banano:
|
||||||
return Uri.parse("https://www.bananolooker.com/block/$txid");
|
return Uri.parse("https://www.bananolooker.com/block/$txid");
|
||||||
|
case Coin.tezos:
|
||||||
|
return Uri.parse("https://tzstats.com/$txid");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -44,6 +44,7 @@ abstract class Constants {
|
||||||
static final BigInt _satsPerCoinBanano =
|
static final BigInt _satsPerCoinBanano =
|
||||||
BigInt.parse("100000000000000000000000000000"); // 1*10^29
|
BigInt.parse("100000000000000000000000000000"); // 1*10^29
|
||||||
static final BigInt _satsPerCoin = BigInt.from(100000000);
|
static final BigInt _satsPerCoin = BigInt.from(100000000);
|
||||||
|
static final BigInt _satsPerCoinTezos = BigInt.from(1000000);
|
||||||
static const int _decimalPlaces = 8;
|
static const int _decimalPlaces = 8;
|
||||||
static const int _decimalPlacesNano = 30;
|
static const int _decimalPlacesNano = 30;
|
||||||
static const int _decimalPlacesBanano = 29;
|
static const int _decimalPlacesBanano = 29;
|
||||||
|
@ -51,6 +52,7 @@ abstract class Constants {
|
||||||
static const int _decimalPlacesMonero = 12;
|
static const int _decimalPlacesMonero = 12;
|
||||||
static const int _decimalPlacesEthereum = 18;
|
static const int _decimalPlacesEthereum = 18;
|
||||||
static const int _decimalPlacesECash = 2;
|
static const int _decimalPlacesECash = 2;
|
||||||
|
static const int _decimalPlacesTezos = 6;
|
||||||
|
|
||||||
static const int notificationsMax = 0xFFFFFFFF;
|
static const int notificationsMax = 0xFFFFFFFF;
|
||||||
static const Duration networkAliveTimerDuration = Duration(seconds: 10);
|
static const Duration networkAliveTimerDuration = Duration(seconds: 10);
|
||||||
|
@ -96,6 +98,9 @@ abstract class Constants {
|
||||||
|
|
||||||
case Coin.eCash:
|
case Coin.eCash:
|
||||||
return _satsPerCoinECash;
|
return _satsPerCoinECash;
|
||||||
|
|
||||||
|
case Coin.tezos:
|
||||||
|
return _satsPerCoinTezos;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -133,6 +138,9 @@ abstract class Constants {
|
||||||
|
|
||||||
case Coin.eCash:
|
case Coin.eCash:
|
||||||
return _decimalPlacesECash;
|
return _decimalPlacesECash;
|
||||||
|
|
||||||
|
case Coin.tezos:
|
||||||
|
return _decimalPlacesTezos;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -160,6 +168,8 @@ abstract class Constants {
|
||||||
case Coin.banano:
|
case Coin.banano:
|
||||||
values.addAll([24, 12]);
|
values.addAll([24, 12]);
|
||||||
break;
|
break;
|
||||||
|
case Coin.tezos:
|
||||||
|
values.addAll([24, 12]);
|
||||||
|
|
||||||
case Coin.monero:
|
case Coin.monero:
|
||||||
values.addAll([25]);
|
values.addAll([25]);
|
||||||
|
@ -214,6 +224,9 @@ abstract class Constants {
|
||||||
case Coin.nano: // TODO: Verify this
|
case Coin.nano: // TODO: Verify this
|
||||||
case Coin.banano: // TODO: Verify this
|
case Coin.banano: // TODO: Verify this
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
|
case Coin.tezos:
|
||||||
|
return 60;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -241,6 +254,7 @@ abstract class Constants {
|
||||||
|
|
||||||
case Coin.nano:
|
case Coin.nano:
|
||||||
case Coin.banano:
|
case Coin.banano:
|
||||||
|
case Coin.tezos:
|
||||||
return 24;
|
return 24;
|
||||||
|
|
||||||
case Coin.monero:
|
case Coin.monero:
|
||||||
|
|
|
@ -179,7 +179,20 @@ abstract class DefaultNodes {
|
||||||
enabled: true,
|
enabled: true,
|
||||||
coinName: Coin.particl.name,
|
coinName: Coin.particl.name,
|
||||||
isFailover: true,
|
isFailover: true,
|
||||||
isDown: false);
|
isDown: false
|
||||||
|
);
|
||||||
|
|
||||||
|
static NodeModel get tezos => NodeModel( // TODO: Change this to original one
|
||||||
|
host: "https://mainnet.api.tez.ie",
|
||||||
|
port: 443,
|
||||||
|
name: defaultName,
|
||||||
|
id: _nodeId(Coin.tezos),
|
||||||
|
useSSL: true,
|
||||||
|
enabled: true,
|
||||||
|
coinName: Coin.tezos.name,
|
||||||
|
isFailover: true,
|
||||||
|
isDown: false
|
||||||
|
);
|
||||||
|
|
||||||
static NodeModel get nano => NodeModel(
|
static NodeModel get nano => NodeModel(
|
||||||
host: "https://rainstorm.city/api",
|
host: "https://rainstorm.city/api",
|
||||||
|
@ -300,12 +313,13 @@ abstract class DefaultNodes {
|
||||||
|
|
||||||
case Coin.particl:
|
case Coin.particl:
|
||||||
return particl;
|
return particl;
|
||||||
|
|
||||||
case Coin.nano:
|
case Coin.nano:
|
||||||
return nano;
|
return nano;
|
||||||
|
|
||||||
case Coin.banano:
|
case Coin.banano:
|
||||||
return banano;
|
return banano;
|
||||||
|
case Coin.tezos:
|
||||||
|
return tezos;
|
||||||
|
|
||||||
case Coin.bitcoinTestNet:
|
case Coin.bitcoinTestNet:
|
||||||
return bitcoinTestnet;
|
return bitcoinTestnet;
|
||||||
|
|
|
@ -27,6 +27,7 @@ import 'package:stackwallet/services/coins/namecoin/namecoin_wallet.dart'
|
||||||
import 'package:stackwallet/services/coins/nano/nano_wallet.dart' as nano;
|
import 'package:stackwallet/services/coins/nano/nano_wallet.dart' as nano;
|
||||||
import 'package:stackwallet/services/coins/particl/particl_wallet.dart'
|
import 'package:stackwallet/services/coins/particl/particl_wallet.dart'
|
||||||
as particl;
|
as particl;
|
||||||
|
import 'package:stackwallet/services/coins/tezos/tezos_wallet.dart' as tezos;
|
||||||
import 'package:stackwallet/services/coins/wownero/wownero_wallet.dart' as wow;
|
import 'package:stackwallet/services/coins/wownero/wownero_wallet.dart' as wow;
|
||||||
import 'package:stackwallet/utilities/constants.dart';
|
import 'package:stackwallet/utilities/constants.dart';
|
||||||
|
|
||||||
|
@ -44,6 +45,7 @@ enum Coin {
|
||||||
namecoin,
|
namecoin,
|
||||||
nano,
|
nano,
|
||||||
particl,
|
particl,
|
||||||
|
tezos,
|
||||||
wownero,
|
wownero,
|
||||||
|
|
||||||
///
|
///
|
||||||
|
@ -84,6 +86,8 @@ extension CoinExt on Coin {
|
||||||
return "Monero";
|
return "Monero";
|
||||||
case Coin.particl:
|
case Coin.particl:
|
||||||
return "Particl";
|
return "Particl";
|
||||||
|
case Coin.tezos:
|
||||||
|
return "Tezos";
|
||||||
case Coin.wownero:
|
case Coin.wownero:
|
||||||
return "Wownero";
|
return "Wownero";
|
||||||
case Coin.namecoin:
|
case Coin.namecoin:
|
||||||
|
@ -127,6 +131,8 @@ extension CoinExt on Coin {
|
||||||
return "XMR";
|
return "XMR";
|
||||||
case Coin.particl:
|
case Coin.particl:
|
||||||
return "PART";
|
return "PART";
|
||||||
|
case Coin.tezos:
|
||||||
|
return "XTZ";
|
||||||
case Coin.wownero:
|
case Coin.wownero:
|
||||||
return "WOW";
|
return "WOW";
|
||||||
case Coin.namecoin:
|
case Coin.namecoin:
|
||||||
|
@ -171,6 +177,8 @@ extension CoinExt on Coin {
|
||||||
return "monero";
|
return "monero";
|
||||||
case Coin.particl:
|
case Coin.particl:
|
||||||
return "particl";
|
return "particl";
|
||||||
|
case Coin.tezos:
|
||||||
|
return "tezos";
|
||||||
case Coin.wownero:
|
case Coin.wownero:
|
||||||
return "wownero";
|
return "wownero";
|
||||||
case Coin.namecoin:
|
case Coin.namecoin:
|
||||||
|
@ -212,6 +220,7 @@ extension CoinExt on Coin {
|
||||||
case Coin.epicCash:
|
case Coin.epicCash:
|
||||||
case Coin.ethereum:
|
case Coin.ethereum:
|
||||||
case Coin.monero:
|
case Coin.monero:
|
||||||
|
case Coin.tezos:
|
||||||
case Coin.wownero:
|
case Coin.wownero:
|
||||||
case Coin.nano:
|
case Coin.nano:
|
||||||
case Coin.banano:
|
case Coin.banano:
|
||||||
|
@ -234,6 +243,7 @@ extension CoinExt on Coin {
|
||||||
case Coin.eCash:
|
case Coin.eCash:
|
||||||
case Coin.epicCash:
|
case Coin.epicCash:
|
||||||
case Coin.monero:
|
case Coin.monero:
|
||||||
|
case Coin.tezos:
|
||||||
case Coin.wownero:
|
case Coin.wownero:
|
||||||
case Coin.dogecoinTestNet:
|
case Coin.dogecoinTestNet:
|
||||||
case Coin.bitcoinTestNet:
|
case Coin.bitcoinTestNet:
|
||||||
|
@ -258,6 +268,7 @@ extension CoinExt on Coin {
|
||||||
case Coin.epicCash:
|
case Coin.epicCash:
|
||||||
case Coin.ethereum:
|
case Coin.ethereum:
|
||||||
case Coin.monero:
|
case Coin.monero:
|
||||||
|
case Coin.tezos:
|
||||||
case Coin.wownero:
|
case Coin.wownero:
|
||||||
case Coin.nano:
|
case Coin.nano:
|
||||||
case Coin.banano:
|
case Coin.banano:
|
||||||
|
@ -285,6 +296,7 @@ extension CoinExt on Coin {
|
||||||
case Coin.epicCash:
|
case Coin.epicCash:
|
||||||
case Coin.ethereum:
|
case Coin.ethereum:
|
||||||
case Coin.monero:
|
case Coin.monero:
|
||||||
|
case Coin.tezos:
|
||||||
case Coin.wownero:
|
case Coin.wownero:
|
||||||
case Coin.nano:
|
case Coin.nano:
|
||||||
case Coin.banano:
|
case Coin.banano:
|
||||||
|
@ -345,6 +357,9 @@ extension CoinExt on Coin {
|
||||||
case Coin.particl:
|
case Coin.particl:
|
||||||
return particl.MINIMUM_CONFIRMATIONS;
|
return particl.MINIMUM_CONFIRMATIONS;
|
||||||
|
|
||||||
|
case Coin.tezos:
|
||||||
|
return tezos.MINIMUM_CONFIRMATIONS;
|
||||||
|
|
||||||
case Coin.wownero:
|
case Coin.wownero:
|
||||||
return wow.MINIMUM_CONFIRMATIONS;
|
return wow.MINIMUM_CONFIRMATIONS;
|
||||||
|
|
||||||
|
@ -404,6 +419,10 @@ Coin coinFromPrettyName(String name) {
|
||||||
case "particl":
|
case "particl":
|
||||||
return Coin.particl;
|
return Coin.particl;
|
||||||
|
|
||||||
|
case "Tezos":
|
||||||
|
case "tezos":
|
||||||
|
return Coin.tezos;
|
||||||
|
|
||||||
case "Namecoin":
|
case "Namecoin":
|
||||||
case "namecoin":
|
case "namecoin":
|
||||||
return Coin.namecoin;
|
return Coin.namecoin;
|
||||||
|
@ -481,6 +500,8 @@ Coin coinFromTickerCaseInsensitive(String ticker) {
|
||||||
return Coin.namecoin;
|
return Coin.namecoin;
|
||||||
case "part":
|
case "part":
|
||||||
return Coin.particl;
|
return Coin.particl;
|
||||||
|
case "xtz":
|
||||||
|
return Coin.tezos;
|
||||||
case "tltc":
|
case "tltc":
|
||||||
return Coin.litecoinTestNet;
|
return Coin.litecoinTestNet;
|
||||||
case "tbtc":
|
case "tbtc":
|
||||||
|
|
|
@ -49,6 +49,7 @@ extension DerivePathTypeExt on DerivePathType {
|
||||||
case Coin.wownero:
|
case Coin.wownero:
|
||||||
case Coin.nano:
|
case Coin.nano:
|
||||||
case Coin.banano:
|
case Coin.banano:
|
||||||
|
case Coin.tezos: // TODO: Is this true?
|
||||||
throw UnsupportedError(
|
throw UnsupportedError(
|
||||||
"$coin does not use bitcoin style derivation paths");
|
"$coin does not use bitcoin style derivation paths");
|
||||||
}
|
}
|
||||||
|
|
260
pubspec.lock
260
pubspec.lock
|
@ -25,6 +25,14 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.12.30"
|
version: "1.12.30"
|
||||||
|
ansicolor:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: ansicolor
|
||||||
|
sha256: "607f8fa9786f392043f169898923e6c59b4518242b68b8862eb8a8b7d9c30b4a"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.0.1"
|
||||||
archive:
|
archive:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
@ -37,18 +45,18 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: args
|
name: args
|
||||||
sha256: c372bb384f273f0c2a8aaaa226dad84dc27c8519a691b888725dec59518ad53a
|
sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.4.1"
|
version: "2.4.2"
|
||||||
asn1lib:
|
asn1lib:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: asn1lib
|
name: asn1lib
|
||||||
sha256: ab96a1cb3beeccf8145c52e449233fe68364c9641623acd3adad66f8184f1039
|
sha256: b74e3842a52c61f8819a1ec8444b4de5419b41a7465e69d4aa681445377398b0
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.4.0"
|
version: "1.4.1"
|
||||||
async:
|
async:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
@ -146,10 +154,10 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: build
|
name: build
|
||||||
sha256: "43865b79fbb78532e4bff7c33087aa43b1d488c4fdef014eaef568af6d8016dc"
|
sha256: "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.4.0"
|
version: "2.4.1"
|
||||||
build_config:
|
build_config:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -170,26 +178,26 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: build_resolvers
|
name: build_resolvers
|
||||||
sha256: db49b8609ef8c81cca2b310618c3017c00f03a92af44c04d310b907b2d692d95
|
sha256: "6c4dd11d05d056e76320b828a1db0fc01ccd376922526f8e9d6c796a5adbac20"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.2.0"
|
version: "2.2.1"
|
||||||
build_runner:
|
build_runner:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description:
|
description:
|
||||||
name: build_runner
|
name: build_runner
|
||||||
sha256: "220ae4553e50d7c21a17c051afc7b183d28a24a420502e842f303f8e4e6edced"
|
sha256: "10c6bcdbf9d049a0b666702cf1cee4ddfdc38f02a19d35ae392863b47519848b"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.4.4"
|
version: "2.4.6"
|
||||||
build_runner_core:
|
build_runner_core:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: build_runner_core
|
name: build_runner_core
|
||||||
sha256: "88a57f2ac99849362e73878334caa9f06ee25f31d2adced882b8337838c84e1e"
|
sha256: "6d6ee4276b1c5f34f21fdf39425202712d2be82019983d52f351c94aafbc2c41"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "7.2.9"
|
version: "7.2.10"
|
||||||
built_collection:
|
built_collection:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -202,10 +210,10 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: built_value
|
name: built_value
|
||||||
sha256: "7dd62d9faf105c434f3d829bbe9c4be02ec67f5ed94832222116122df67c5452"
|
sha256: "598a2a682e2a7a90f08ba39c0aaa9374c5112340f0a2e275f61b59389543d166"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "8.6.0"
|
version: "8.6.1"
|
||||||
characters:
|
characters:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -242,10 +250,10 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: code_builder
|
name: code_builder
|
||||||
sha256: "0d43dd1288fd145de1ecc9a3948ad4a6d5a82f0a14c4fdd0892260787d975cbe"
|
sha256: "4ad01d6e56db961d29661561effde45e519939fdaeb46c351275b182eac70189"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.4.0"
|
version: "4.5.0"
|
||||||
collection:
|
collection:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -298,10 +306,10 @@ packages:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: crypto
|
name: crypto
|
||||||
sha256: aa274aa7774f8964e4f4f38cc994db7b6158dd36e9187aaceaddc994b35c6c67
|
sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.0.2"
|
version: "3.0.3"
|
||||||
cryptography:
|
cryptography:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -314,10 +322,10 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: csslib
|
name: csslib
|
||||||
sha256: "831883fb353c8bdc1d71979e5b342c7d88acfbc643113c14ae51e2442ea0f20f"
|
sha256: "706b5707578e0c1b4b7550f64078f0a0f19dec3f50a178ffae7006b0a9ca58fb"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.17.3"
|
version: "1.0.0"
|
||||||
cw_core:
|
cw_core:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
@ -382,18 +390,18 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: dart_style
|
name: dart_style
|
||||||
sha256: f4f1f73ab3fd2afcbcca165ee601fe980d966af6a21b5970c6c9376955c528ad
|
sha256: "1efa911ca7086affd35f463ca2fc1799584fb6aa89883cf0af8e3664d6a02d55"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.3.1"
|
version: "2.3.2"
|
||||||
dartx:
|
dartx:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: dartx
|
name: dartx
|
||||||
sha256: "45d7176701f16c5a5e00a4798791c1964bc231491b879369c818dd9a9c764871"
|
sha256: "8b25435617027257d43e6508b5fe061012880ddfdaa75a71d607c3de2a13d244"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.0"
|
version: "1.2.0"
|
||||||
dbus:
|
dbus:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -406,10 +414,10 @@ packages:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: decimal
|
name: decimal
|
||||||
sha256: eece91944f523657c75a3a008a90ec7f7eb3986191153a78570c7d0ac8ef3d01
|
sha256: "24a261d5d5c87e86c7651c417a5dbdf8bcd7080dd592533910e8d0505a279f21"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.3.2"
|
version: "2.3.3"
|
||||||
dependency_validator:
|
dependency_validator:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description:
|
description:
|
||||||
|
@ -450,14 +458,22 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.6.0"
|
version: "0.6.0"
|
||||||
|
dio:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: dio
|
||||||
|
sha256: "7d328c4d898a61efc3cd93655a0955858e29a0aa647f0f9e02d59b3bb275e2e8"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "4.0.6"
|
||||||
dropdown_button2:
|
dropdown_button2:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: dropdown_button2
|
name: dropdown_button2
|
||||||
sha256: "374f2390161bf782b4896f0b1b24cbb2b5daaa1cfb11047c3307461dcdf44e07"
|
sha256: "83c54a5022f898d63e3abe21240b64b937e676103207287e6705d3f9bb04d654"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.3"
|
version: "2.3.6"
|
||||||
eip1559:
|
eip1559:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -542,10 +558,10 @@ packages:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: file_picker
|
name: file_picker
|
||||||
sha256: "9d6e95ec73abbd31ec54d0e0df8a961017e165aba1395e462e5b31ea0c165daf"
|
sha256: b1729fc96627dd44012d0a901558177418818d6bd428df59dcfeb594e5f66432
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "5.3.1"
|
version: "5.3.2"
|
||||||
fixnum:
|
fixnum:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -606,10 +622,10 @@ packages:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description:
|
description:
|
||||||
name: flutter_lints
|
name: flutter_lints
|
||||||
sha256: aeb0b80a8b3709709c9cc496cdc027c5b3216796bc0af0ce1007eaf24464fd4c
|
sha256: "2118df84ef0c3ca93f96123a616ae8540879991b8b57af2f81b76a7ada49b2a4"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.1"
|
version: "2.0.2"
|
||||||
flutter_local_notifications:
|
flutter_local_notifications:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
@ -670,10 +686,10 @@ packages:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: flutter_rounded_date_picker
|
name: flutter_rounded_date_picker
|
||||||
sha256: e7143cc5cbf3aec1536286653e38b0809abc99fb76c91bd910dbd98ae003d890
|
sha256: e6aa2dc5d3b44e8bbe85ef901be69eac59ba4136427f11f4c8b2a303e1e774e7
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.0.3"
|
version: "3.0.4"
|
||||||
flutter_secure_storage:
|
flutter_secure_storage:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
@ -821,10 +837,10 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: html
|
name: html
|
||||||
sha256: "58e3491f7bf0b6a4ea5110c0c688877460d1a6366731155c4a4580e7ded773e8"
|
sha256: "3a7812d5bcd2894edf53dfaf8cd640876cf6cef50a8f238745c8b8120ea74d3a"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.15.3"
|
version: "0.15.4"
|
||||||
http:
|
http:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
@ -934,6 +950,14 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.0.2"
|
version: "3.0.2"
|
||||||
|
json_serializable:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: json_serializable
|
||||||
|
sha256: aa1f5a8912615733e0fdc7a02af03308933c93235bdc8d50d0b0c8a8ccb0b969
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "6.7.1"
|
||||||
keyboard_dismisser:
|
keyboard_dismisser:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
@ -953,10 +977,10 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: lints
|
name: lints
|
||||||
sha256: "6b0206b0bf4f04961fc5438198ccb3a885685cd67d4d4a32cc20ad7f8adbe015"
|
sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.0"
|
version: "2.1.1"
|
||||||
local_auth:
|
local_auth:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
@ -977,10 +1001,10 @@ packages:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: lottie
|
name: lottie
|
||||||
sha256: "23522951540d20a57a60202ed7022e6376bed206a4eee1c347a91f58bd57eb9f"
|
sha256: "0793a5866062e5cc8a8b24892fa94c3095953ea914a7fdf790f550dd7537fe60"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.3.2"
|
version: "2.5.0"
|
||||||
matcher:
|
matcher:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -997,6 +1021,14 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.2.0"
|
version: "0.2.0"
|
||||||
|
memoize:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: memoize
|
||||||
|
sha256: "51481d328c86cbdc59711369179bac88551ca0556569249be5317e66fc796cac"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "3.0.0"
|
||||||
meta:
|
meta:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -1033,10 +1065,10 @@ packages:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description:
|
description:
|
||||||
name: mockito
|
name: mockito
|
||||||
sha256: "8b46d7eb40abdda92d62edd01546051f0c27365e65608c284de336dccfef88cc"
|
sha256: "7d5b53bcd556c1bc7ffbe4e4d5a19c3e112b7e925e9e172dd7c6ad0630812616"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "5.4.1"
|
version: "5.4.2"
|
||||||
mocktail:
|
mocktail:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -1145,10 +1177,10 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: path_provider_foundation
|
name: path_provider_foundation
|
||||||
sha256: "1995d88ec2948dac43edf8fe58eb434d35d22a2940ecee1a9fefcd62beee6eb3"
|
sha256: "916731ccbdce44d545414dd9961f26ba5fbaa74bcbb55237d8e65a623a8c7297"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.2.3"
|
version: "2.2.4"
|
||||||
path_provider_linux:
|
path_provider_linux:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -1169,50 +1201,50 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: path_provider_windows
|
name: path_provider_windows
|
||||||
sha256: d3f80b32e83ec208ac95253e0cd4d298e104fbc63cb29c5c69edaed43b0c69d6
|
sha256: "1cb68ba4cd3a795033de62ba1b7b4564dace301f952de6bfb3cd91b202b6ee96"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.6"
|
version: "2.1.7"
|
||||||
permission_handler:
|
permission_handler:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: permission_handler
|
name: permission_handler
|
||||||
sha256: "33c6a1253d1f95fd06fa74b65b7ba907ae9811f9d5c1d3150e51417d04b8d6a8"
|
sha256: "63e5216aae014a72fe9579ccd027323395ce7a98271d9defa9d57320d001af81"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "10.2.0"
|
version: "10.4.3"
|
||||||
permission_handler_android:
|
permission_handler_android:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: permission_handler_android
|
name: permission_handler_android
|
||||||
sha256: d8cc6a62ded6d0f49c6eac337e080b066ee3bce4d405bd9439a61e1f1927bfe8
|
sha256: c0c9754479a4c4b1c1f3862ddc11930c9b3f03bef2816bb4ea6eed1e13551d6f
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "10.2.1"
|
version: "10.3.2"
|
||||||
permission_handler_apple:
|
permission_handler_apple:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: permission_handler_apple
|
name: permission_handler_apple
|
||||||
sha256: ee96ac32f5a8e6f80756e25b25b9f8e535816c8e6665a96b6d70681f8c4f7e85
|
sha256: "99e220bce3f8877c78e4ace901082fb29fa1b4ebde529ad0932d8d664b34f3f5"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "9.0.8"
|
version: "9.1.4"
|
||||||
permission_handler_platform_interface:
|
permission_handler_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: permission_handler_platform_interface
|
name: permission_handler_platform_interface
|
||||||
sha256: "68abbc472002b5e6dfce47fe9898c6b7d8328d58b5d2524f75e277c07a97eb84"
|
sha256: "7c6b1500385dd1d2ca61bb89e2488ca178e274a69144d26bbd65e33eae7c02a9"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.9.0"
|
version: "3.11.3"
|
||||||
permission_handler_windows:
|
permission_handler_windows:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: permission_handler_windows
|
name: permission_handler_windows
|
||||||
sha256: f67cab14b4328574938ecea2db3475dad7af7ead6afab6338772c5f88963e38b
|
sha256: cc074aace208760f1eee6aa4fae766b45d947df85bc831cde77009cdb4720098
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.1.2"
|
version: "0.1.3"
|
||||||
petitparser:
|
petitparser:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -1221,6 +1253,14 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "5.4.0"
|
version: "5.4.0"
|
||||||
|
pinenacl:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: pinenacl
|
||||||
|
sha256: e5fb0bce1717b7f136f35ee98b5c02b3e6383211f8a77ca882fa7812232a07b9
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "0.3.4"
|
||||||
platform:
|
platform:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -1253,6 +1293,14 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.5.1"
|
version: "1.5.1"
|
||||||
|
pretty_dio_logger:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: pretty_dio_logger
|
||||||
|
sha256: "948f7eeb36e7aa0760b51c1a8e3331d4b21e36fabd39efca81f585ed93893544"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.2.0-beta-1"
|
||||||
process:
|
process:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -1301,6 +1349,14 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.1.0"
|
version: "4.1.0"
|
||||||
|
quiver:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: quiver
|
||||||
|
sha256: b1c1ac5ce6688d77f65f3375a9abb9319b3cb32486bdc7a1e0fdf004d7ba4e47
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "3.2.1"
|
||||||
rational:
|
rational:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -1309,6 +1365,14 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.2.2"
|
version: "2.2.2"
|
||||||
|
retry:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: retry
|
||||||
|
sha256: "822e118d5b3aafed083109c72d5f484c6dc66707885e07c0fbcb8b986bba7efc"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "3.1.2"
|
||||||
riverpod:
|
riverpod:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -1353,58 +1417,58 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: shared_preferences
|
name: shared_preferences
|
||||||
sha256: "16d3fb6b3692ad244a695c0183fca18cf81fd4b821664394a781de42386bf022"
|
sha256: "0344316c947ffeb3a529eac929e1978fcd37c26be4e8468628bac399365a3ca1"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.1"
|
version: "2.2.0"
|
||||||
shared_preferences_android:
|
shared_preferences_android:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: shared_preferences_android
|
name: shared_preferences_android
|
||||||
sha256: "6478c6bbbecfe9aced34c483171e90d7c078f5883558b30ec3163cf18402c749"
|
sha256: fe8401ec5b6dcd739a0fe9588802069e608c3fdbfd3c3c93e546cf2f90438076
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.4"
|
version: "2.2.0"
|
||||||
shared_preferences_foundation:
|
shared_preferences_foundation:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: shared_preferences_foundation
|
name: shared_preferences_foundation
|
||||||
sha256: e014107bb79d6d3297196f4f2d0db54b5d1f85b8ea8ff63b8e8b391a02700feb
|
sha256: f39696b83e844923b642ce9dd4bd31736c17e697f6731a5adf445b1274cf3cd4
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.2.2"
|
version: "2.3.2"
|
||||||
shared_preferences_linux:
|
shared_preferences_linux:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: shared_preferences_linux
|
name: shared_preferences_linux
|
||||||
sha256: "9d387433ca65717bbf1be88f4d5bb18f10508917a8fa2fb02e0fd0d7479a9afa"
|
sha256: "71d6806d1449b0a9d4e85e0c7a917771e672a3d5dc61149cc9fac871115018e1"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.2.0"
|
version: "2.3.0"
|
||||||
shared_preferences_platform_interface:
|
shared_preferences_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: shared_preferences_platform_interface
|
name: shared_preferences_platform_interface
|
||||||
sha256: fb5cf25c0235df2d0640ac1b1174f6466bd311f621574997ac59018a6664548d
|
sha256: "23b052f17a25b90ff2b61aad4cc962154da76fb62848a9ce088efe30d7c50ab1"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.2.0"
|
version: "2.3.0"
|
||||||
shared_preferences_web:
|
shared_preferences_web:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: shared_preferences_web
|
name: shared_preferences_web
|
||||||
sha256: "74083203a8eae241e0de4a0d597dbedab3b8fef5563f33cf3c12d7e93c655ca5"
|
sha256: "7347b194fb0bbeb4058e6a4e87ee70350b6b2b90f8ac5f8bd5b3a01548f6d33a"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.0"
|
version: "2.2.0"
|
||||||
shared_preferences_windows:
|
shared_preferences_windows:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: shared_preferences_windows
|
name: shared_preferences_windows
|
||||||
sha256: "5e588e2efef56916a3b229c3bfe81e6a525665a454519ca51dbcc4236a274173"
|
sha256: f95e6a43162bce43c9c3405f3eb6f39e5b5d11f65fab19196cf8225e2777624d
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.2.0"
|
version: "2.3.0"
|
||||||
shelf:
|
shelf:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -1446,18 +1510,18 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: source_gen
|
name: source_gen
|
||||||
sha256: "373f96cf5a8744bc9816c1ff41cf5391bbdbe3d7a96fe98c622b6738a8a7bd33"
|
sha256: fc0da689e5302edb6177fdd964efcb7f58912f43c28c2047a808f5bfff643d16
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.3.2"
|
version: "1.4.0"
|
||||||
source_helper:
|
source_helper:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: source_helper
|
name: source_helper
|
||||||
sha256: "3b67aade1d52416149c633ba1bb36df44d97c6b51830c2198e934e3fca87ca1f"
|
sha256: "6adebc0006c37dd63fe05bca0a929b99f06402fc95aa35bf36d67f5c06de01fd"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.3.3"
|
version: "1.3.4"
|
||||||
source_map_stack_trace:
|
source_map_stack_trace:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -1579,6 +1643,14 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.5.1"
|
version: "0.5.1"
|
||||||
|
tezart:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: tezart
|
||||||
|
sha256: "35d526f2e6ca250c64461ebfb4fa9f64b6599fab8c4242c8e89ae27d4ac2e15a"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.0.5"
|
||||||
time:
|
time:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -1615,10 +1687,10 @@ packages:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: tuple
|
name: tuple
|
||||||
sha256: "0ea99cd2f9352b2586583ab2ce6489d1f95a5f6de6fb9492faaf97ae2060f0aa"
|
sha256: a97ce2013f240b2f3807bcbaf218765b6f301c3eff91092bcfa23a039e7dd151
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.1"
|
version: "2.0.2"
|
||||||
typed_data:
|
typed_data:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -1631,26 +1703,26 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: universal_io
|
name: universal_io
|
||||||
sha256: "06866290206d196064fd61df4c7aea1ffe9a4e7c4ccaa8fcded42dd41948005d"
|
sha256: "1722b2dcc462b4b2f3ee7d188dad008b6eb4c40bbd03a3de451d82c78bba9aad"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.2.0"
|
version: "2.2.2"
|
||||||
url_launcher:
|
url_launcher:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: url_launcher
|
name: url_launcher
|
||||||
sha256: eb1e00ab44303d50dd487aab67ebc575456c146c6af44422f9c13889984c00f3
|
sha256: "781bd58a1eb16069412365c98597726cd8810ae27435f04b3b4d3a470bacd61e"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "6.1.11"
|
version: "6.1.12"
|
||||||
url_launcher_android:
|
url_launcher_android:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: url_launcher_android
|
name: url_launcher_android
|
||||||
sha256: eed4e6a1164aa9794409325c3b707ff424d4d1c2a785e7db67f8bbda00e36e51
|
sha256: "15f5acbf0dce90146a0f5a2c4a002b1814a6303c4c5c075aa2623b2d16156f03"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "6.0.35"
|
version: "6.0.36"
|
||||||
url_launcher_ios:
|
url_launcher_ios:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -1671,34 +1743,34 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: url_launcher_macos
|
name: url_launcher_macos
|
||||||
sha256: "91ee3e75ea9dadf38036200c5d3743518f4a5eb77a8d13fda1ee5764373f185e"
|
sha256: "1c4fdc0bfea61a70792ce97157e5cc17260f61abbe4f39354513f39ec6fd73b1"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.0.5"
|
version: "3.0.6"
|
||||||
url_launcher_platform_interface:
|
url_launcher_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: url_launcher_platform_interface
|
name: url_launcher_platform_interface
|
||||||
sha256: "6c9ca697a5ae218ce56cece69d46128169a58aa8653c1b01d26fcd4aad8c4370"
|
sha256: bfdfa402f1f3298637d71ca8ecfe840b4696698213d5346e9d12d4ab647ee2ea
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.2"
|
version: "2.1.3"
|
||||||
url_launcher_web:
|
url_launcher_web:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: url_launcher_web
|
name: url_launcher_web
|
||||||
sha256: "6bb1e5d7fe53daf02a8fee85352432a40b1f868a81880e99ec7440113d5cfcab"
|
sha256: cc26720eefe98c1b71d85f9dc7ef0cada5132617046369d9dc296b3ecaa5cbb4
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.17"
|
version: "2.0.18"
|
||||||
url_launcher_windows:
|
url_launcher_windows:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: url_launcher_windows
|
name: url_launcher_windows
|
||||||
sha256: "254708f17f7c20a9c8c471f67d86d76d4a3f9c1591aad1e15292008aceb82771"
|
sha256: "7967065dd2b5fccc18c653b97958fdf839c5478c28e767c61ee879f4e7882422"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.0.6"
|
version: "3.0.7"
|
||||||
uuid:
|
uuid:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
@ -1824,18 +1896,18 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: win32
|
name: win32
|
||||||
sha256: "5a751eddf9db89b3e5f9d50c20ab8612296e4e8db69009788d6c8b060a84191c"
|
sha256: dfdf0136e0aa7a1b474ea133e67cb0154a0acd2599c4f3ada3b49d38d38793ee
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.1.4"
|
version: "5.0.5"
|
||||||
win32_registry:
|
win32_registry:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: win32_registry
|
name: win32_registry
|
||||||
sha256: "1c52f994bdccb77103a6231ad4ea331a244dbcef5d1f37d8462f713143b0bfae"
|
sha256: e4506d60b7244251bc59df15656a3093501c37fb5af02105a944d73eb95be4c9
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.0"
|
version: "1.1.1"
|
||||||
window_size:
|
window_size:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
|
|
@ -138,6 +138,7 @@ dependencies:
|
||||||
desktop_drop: ^0.4.1
|
desktop_drop: ^0.4.1
|
||||||
nanodart: ^2.0.0
|
nanodart: ^2.0.0
|
||||||
basic_utils: ^5.5.4
|
basic_utils: ^5.5.4
|
||||||
|
tezart: ^2.0.5
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
flutter_test:
|
flutter_test:
|
||||||
|
@ -196,9 +197,10 @@ dependency_overrides:
|
||||||
bip39:
|
bip39:
|
||||||
git:
|
git:
|
||||||
url: https://github.com/cypherstack/stack-bip39.git
|
url: https://github.com/cypherstack/stack-bip39.git
|
||||||
|
|
||||||
ref: 0cd6d54e2860bea68fc50c801cb9db2a760192fb
|
ref: 0cd6d54e2860bea68fc50c801cb9db2a760192fb
|
||||||
|
crypto: ^3.0.2
|
||||||
|
analyzer: ^5.2.0
|
||||||
# For information on the generic Dart part of this file, see the
|
# For information on the generic Dart part of this file, see the
|
||||||
# following page: https://dart.dev/tools/pub/pubspec
|
# following page: https://dart.dev/tools/pub/pubspec
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue