Flutter upgrade

This commit is contained in:
M
2022-10-12 13:09:57 -04:00
parent c921ad890a
commit 1beb18b045
505 changed files with 6657 additions and 5875 deletions
+92 -96
View File
@@ -67,9 +67,9 @@ class Unspent {
abstract class Bitcoin {
TransactionPriority getMediumTransactionPriority();
WalletCredentials createBitcoinRestoreWalletFromSeedCredentials({String name, String mnemonic, String password});
WalletCredentials createBitcoinRestoreWalletFromWIFCredentials({String name, String password, String wif, WalletInfo walletInfo});
WalletCredentials createBitcoinNewWalletCredentials({String name, WalletInfo walletInfo});
WalletCredentials createBitcoinRestoreWalletFromSeedCredentials({required String name, required String mnemonic, required String password});
WalletCredentials createBitcoinRestoreWalletFromWIFCredentials({required String name, required String password, required String wif, WalletInfo? walletInfo});
WalletCredentials createBitcoinNewWalletCredentials({required String name, WalletInfo? walletInfo});
List<String> getWordList();
Map<String, String> getWalletKeys(Object wallet);
List<TransactionPriority> getTransactionPriorities();
@@ -77,14 +77,14 @@ abstract class Bitcoin {
TransactionPriority deserializeBitcoinTransactionPriority(int raw);
int getFeeRate(Object wallet, TransactionPriority priority);
Future<void> generateNewAddress(Object wallet);
Object createBitcoinTransactionCredentials(List<Output> outputs, {TransactionPriority priority, int feeRate});
Object createBitcoinTransactionCredentialsRaw(List<OutputInfo> outputs, {TransactionPriority priority, int feeRate});
Object createBitcoinTransactionCredentials(List<Output> outputs, {required TransactionPriority priority, int? feeRate});
Object createBitcoinTransactionCredentialsRaw(List<OutputInfo> outputs, {TransactionPriority? priority, required int feeRate});
List<String> getAddresses(Object wallet);
String getAddress(Object wallet);
String formatterBitcoinAmountToString({int amount});
double formatterBitcoinAmountToDouble({int amount});
String formatterBitcoinAmountToString({required int amount});
double formatterBitcoinAmountToDouble({required int amount});
int formatterStringDoubleToBitcoinAmount(String amount);
List<Unspent> getUnspents(Object wallet);
@@ -94,8 +94,8 @@ abstract class Bitcoin {
}
""";
const bitcoinEmptyDefinition = 'Bitcoin bitcoin;\n';
const bitcoinCWDefinition = 'Bitcoin bitcoin = CWBitcoin();\n';
const bitcoinEmptyDefinition = 'Bitcoin? bitcoin;\n';
const bitcoinCWDefinition = 'Bitcoin? bitcoin = CWBitcoin();\n';
final output = '$bitcoinCommonHeaders\n'
+ (hasImplementation ? '$bitcoinCWHeaders\n' : '\n')
@@ -152,33 +152,35 @@ import 'package:cw_monero/pending_monero_transaction.dart';
const moneroCwPart = "part 'cw_monero.dart';";
const moneroContent = """
class Account {
Account({this.id, this.label});
Account({required this.id, required this.label});
final int id;
final String label;
}
class Subaddress {
Subaddress({this.id, this.accountId, this.label, this.address});
Subaddress({
required this.id,
required this.label,
required this.address});
final int id;
final int accountId;
final String label;
final String address;
}
class MoneroBalance extends Balance {
MoneroBalance({@required this.fullBalance, @required this.unlockedBalance})
: formattedFullBalance = monero.formatterMoneroAmountToString(amount: fullBalance),
MoneroBalance({required this.fullBalance, required this.unlockedBalance})
: formattedFullBalance = monero!.formatterMoneroAmountToString(amount: fullBalance),
formattedUnlockedBalance =
monero.formatterMoneroAmountToString(amount: unlockedBalance),
monero!.formatterMoneroAmountToString(amount: unlockedBalance),
super(unlockedBalance, fullBalance);
MoneroBalance.fromString(
{@required this.formattedFullBalance,
@required this.formattedUnlockedBalance})
: fullBalance = monero.formatterMoneroParseAmount(amount: formattedFullBalance),
unlockedBalance = monero.formatterMoneroParseAmount(amount: formattedUnlockedBalance),
super(monero.formatterMoneroParseAmount(amount: formattedUnlockedBalance),
monero.formatterMoneroParseAmount(amount: formattedFullBalance));
{required this.formattedFullBalance,
required this.formattedUnlockedBalance})
: fullBalance = monero!.formatterMoneroParseAmount(amount: formattedFullBalance),
unlockedBalance = monero!.formatterMoneroParseAmount(amount: formattedUnlockedBalance),
super(monero!.formatterMoneroParseAmount(amount: formattedUnlockedBalance),
monero!.formatterMoneroParseAmount(amount: formattedFullBalance));
final int fullBalance;
final int unlockedBalance;
@@ -194,10 +196,10 @@ class MoneroBalance extends Balance {
abstract class MoneroWalletDetails {
@observable
Account account;
late Account account;
@observable
MoneroBalance balance;
late MoneroBalance balance;
}
abstract class Monero {
@@ -213,28 +215,28 @@ abstract class Monero {
String getSubaddressLabel(Object wallet, int accountIndex, int addressIndex);
int getHeigthByDate({DateTime date});
int getHeigthByDate({required DateTime date});
TransactionPriority getDefaultTransactionPriority();
TransactionPriority deserializeMoneroTransactionPriority({int raw});
TransactionPriority deserializeMoneroTransactionPriority({required int raw});
List<TransactionPriority> getTransactionPriorities();
List<String> getMoneroWordList(String language);
WalletCredentials createMoneroRestoreWalletFromKeysCredentials({
String name,
String spendKey,
String viewKey,
String address,
String password,
String language,
int height});
WalletCredentials createMoneroRestoreWalletFromSeedCredentials({String name, String password, int height, String mnemonic});
WalletCredentials createMoneroNewWalletCredentials({String name, String password, String language});
required String name,
required String spendKey,
required String viewKey,
required String address,
required String password,
required String language,
required int height});
WalletCredentials createMoneroRestoreWalletFromSeedCredentials({required String name, required String password, required int height, required String mnemonic});
WalletCredentials createMoneroNewWalletCredentials({required String name, required String language, String password,});
Map<String, String> getKeys(Object wallet);
Object createMoneroTransactionCreationCredentials({List<Output> outputs, TransactionPriority priority});
Object createMoneroTransactionCreationCredentialsRaw({List<OutputInfo> outputs, TransactionPriority priority});
String formatterMoneroAmountToString({int amount});
double formatterMoneroAmountToDouble({int amount});
int formatterMoneroParseAmount({String amount});
Object createMoneroTransactionCreationCredentials({required List<Output> outputs, required TransactionPriority priority});
Object createMoneroTransactionCreationCredentialsRaw({required List<OutputInfo> outputs, required TransactionPriority priority});
String formatterMoneroAmountToString({required int amount});
double formatterMoneroAmountToDouble({required int amount});
int formatterMoneroParseAmount({required String amount});
Account getCurrentAccount(Object wallet);
void setCurrentAccount(Object wallet, int id, String label);
void onStartup();
@@ -245,12 +247,12 @@ abstract class Monero {
abstract class MoneroSubaddressList {
ObservableList<Subaddress> get subaddresses;
void update(Object wallet, {int accountIndex});
void refresh(Object wallet, {int accountIndex});
void update(Object wallet, {required int accountIndex});
void refresh(Object wallet, {required int accountIndex});
List<Subaddress> getAll(Object wallet);
Future<void> addSubaddress(Object wallet, {int accountIndex, String label});
Future<void> addSubaddress(Object wallet, {required int accountIndex, required String label});
Future<void> setLabelSubaddress(Object wallet,
{int accountIndex, int addressIndex, String label});
{required int accountIndex, required int addressIndex, required String label});
}
abstract class MoneroAccountList {
@@ -258,13 +260,13 @@ abstract class MoneroAccountList {
void update(Object wallet);
void refresh(Object wallet);
List<Account> getAll(Object wallet);
Future<void> addAccount(Object wallet, {String label});
Future<void> setLabelAccount(Object wallet, {int accountIndex, String label});
Future<void> addAccount(Object wallet, {required String label});
Future<void> setLabelAccount(Object wallet, {required int accountIndex, required String label});
}
""";
const moneroEmptyDefinition = 'Monero monero;\n';
const moneroCWDefinition = 'Monero monero = CWMonero();\n';
const moneroEmptyDefinition = 'Monero? monero;\n';
const moneroCWDefinition = 'Monero? monero = CWMonero();\n';
final output = '$moneroCommonHeaders\n'
+ (hasImplementation ? '$moneroCWHeaders\n' : '\n')
@@ -323,33 +325,35 @@ import 'package:cw_haven/api/balance_list.dart';
const havenCwPart = "part 'cw_haven.dart';";
const havenContent = """
class Account {
Account({this.id, this.label});
Account({required this.id, required this.label});
final int id;
final String label;
}
class Subaddress {
Subaddress({this.id, this.accountId, this.label, this.address});
Subaddress({
required this.id,
required this.label,
required this.address});
final int id;
final int accountId;
final String label;
final String address;
}
class HavenBalance extends Balance {
HavenBalance({@required this.fullBalance, @required this.unlockedBalance})
: formattedFullBalance = haven.formatterMoneroAmountToString(amount: fullBalance),
HavenBalance({required this.fullBalance, required this.unlockedBalance})
: formattedFullBalance = haven!.formatterMoneroAmountToString(amount: fullBalance),
formattedUnlockedBalance =
haven.formatterMoneroAmountToString(amount: unlockedBalance),
haven!.formatterMoneroAmountToString(amount: unlockedBalance),
super(unlockedBalance, fullBalance);
HavenBalance.fromString(
{@required this.formattedFullBalance,
@required this.formattedUnlockedBalance})
: fullBalance = haven.formatterMoneroParseAmount(amount: formattedFullBalance),
unlockedBalance = haven.formatterMoneroParseAmount(amount: formattedUnlockedBalance),
super(haven.formatterMoneroParseAmount(amount: formattedUnlockedBalance),
haven.formatterMoneroParseAmount(amount: formattedFullBalance));
{required this.formattedFullBalance,
required this.formattedUnlockedBalance})
: fullBalance = haven!.formatterMoneroParseAmount(amount: formattedFullBalance),
unlockedBalance = haven!.formatterMoneroParseAmount(amount: formattedUnlockedBalance),
super(haven!.formatterMoneroParseAmount(amount: formattedUnlockedBalance),
haven!.formatterMoneroParseAmount(amount: formattedFullBalance));
final int fullBalance;
final int unlockedBalance;
@@ -364,18 +368,19 @@ class HavenBalance extends Balance {
}
class AssetRate {
AssetRate(this.asset, this.rate);
final String asset;
final int rate;
AssetRate(this.asset, this.rate);
}
abstract class HavenWalletDetails {
// FIX-ME: it's abstruct class
@observable
Account account;
late Account account;
// FIX-ME: it's abstruct class
@observable
HavenBalance balance;
late HavenBalance balance;
}
abstract class Haven {
@@ -389,27 +394,27 @@ abstract class Haven {
String getTransactionAddress(Object wallet, int accountIndex, int addressIndex);
int getHeigthByDate({DateTime date});
int getHeigthByDate({required DateTime date});
TransactionPriority getDefaultTransactionPriority();
TransactionPriority deserializeMoneroTransactionPriority({int raw});
TransactionPriority deserializeMoneroTransactionPriority({required int raw});
List<TransactionPriority> getTransactionPriorities();
List<String> getMoneroWordList(String language);
WalletCredentials createHavenRestoreWalletFromKeysCredentials({
String name,
String spendKey,
String viewKey,
String address,
String password,
String language,
int height});
WalletCredentials createHavenRestoreWalletFromSeedCredentials({String name, String password, int height, String mnemonic});
WalletCredentials createHavenNewWalletCredentials({String name, String password, String language});
required String name,
required String spendKey,
required String viewKey,
required String address,
required String password,
required String language,
required int height});
WalletCredentials createHavenRestoreWalletFromSeedCredentials({required String name, required String password, required int height, required String mnemonic});
WalletCredentials createHavenNewWalletCredentials({required String name, required String language, String password});
Map<String, String> getKeys(Object wallet);
Object createHavenTransactionCreationCredentials({List<Output> outputs, TransactionPriority priority, String assetType});
String formatterMoneroAmountToString({int amount});
double formatterMoneroAmountToDouble({int amount});
int formatterMoneroParseAmount({String amount});
Object createHavenTransactionCreationCredentials({required List<Output> outputs, required TransactionPriority priority, required String assetType});
String formatterMoneroAmountToString({required int amount});
double formatterMoneroAmountToDouble({required int amount});
int formatterMoneroParseAmount({required String amount});
Account getCurrentAccount(Object wallet);
void setCurrentAccount(Object wallet, int id, String label);
void onStartup();
@@ -421,26 +426,17 @@ abstract class Haven {
abstract class MoneroSubaddressList {
ObservableList<Subaddress> get subaddresses;
void update(Object wallet, {int accountIndex});
void refresh(Object wallet, {int accountIndex});
void update(Object wallet, {required int accountIndex});
void refresh(Object wallet, {required int accountIndex});
List<Subaddress> getAll(Object wallet);
Future<void> addSubaddress(Object wallet, {int accountIndex, String label});
Future<void> addSubaddress(Object wallet, {required int accountIndex, required String label});
Future<void> setLabelSubaddress(Object wallet,
{int accountIndex, int addressIndex, String label});
}
abstract class HavenAccountList {
ObservableList<Account> get accounts;
void update(Object wallet);
void refresh(Object wallet);
List<Account> getAll(Object wallet);
Future<void> addAccount(Object wallet, {String label});
Future<void> setLabelAccount(Object wallet, {int accountIndex, String label});
{required int accountIndex, required int addressIndex, required String label});
}
""";
const havenEmptyDefinition = 'Haven haven;\n';
const havenCWDefinition = 'Haven haven = CWHaven();\n';
const havenEmptyDefinition = 'Haven? haven;\n';
const havenCWDefinition = 'Haven? haven = CWHaven();\n';
final output = '$havenCommonHeaders\n'
+ (hasImplementation ? '$havenCWHeaders\n' : '\n')
@@ -456,7 +452,7 @@ abstract class HavenAccountList {
await outputFile.writeAsString(output);
}
Future<void> generatePubspec({bool hasMonero, bool hasBitcoin, bool hasHaven}) async {
Future<void> generatePubspec({required bool hasMonero, required bool hasBitcoin, required bool hasHaven}) async {
const cwCore = """
cw_core:
path: ./cw_core
@@ -509,7 +505,7 @@ Future<void> generatePubspec({bool hasMonero, bool hasBitcoin, bool hasHaven}) a
await outputFile.writeAsString(outputContent);
}
Future<void> generateWalletTypes({bool hasMonero, bool hasBitcoin, bool hasHaven}) async {
Future<void> generateWalletTypes({required bool hasMonero, required bool hasBitcoin, required bool hasHaven}) async {
final walletTypesFile = File(walletTypesPath);
if (walletTypesFile.existsSync()) {
+1 -1
View File
@@ -120,7 +120,7 @@ Future<void> main(List<String> args) async {
});
}
String localizedStrings({Map<String, dynamic> config, bool hasOverride}) {
String localizedStrings({required Map<String, dynamic> config, required bool hasOverride}) {
var output = '';
final pattern = RegExp('[\$]{(.*?)}');
@@ -33,8 +33,8 @@ const part2 = """
];
}
LocaleListResolutionCallback listResolution({Locale fallback, bool withCountry = true}) {
return (List<Locale> locales, Iterable<Locale> supported) {
LocaleListResolutionCallback listResolution({required Locale fallback, bool withCountry = true}) {
return (List<Locale>? locales, Iterable<Locale> supported) {
if (locales == null || locales.isEmpty) {
return fallback ?? supported.first;
} else {
@@ -43,8 +43,8 @@ const part2 = """
};
}
LocaleResolutionCallback resolution({Locale fallback, bool withCountry = true}) {
return (Locale locale, Iterable<Locale> supported) {
LocaleResolutionCallback resolution({required Locale fallback, bool withCountry = true}) {
return (Locale? locale, Iterable<Locale> supported) {
return _resolve(locale, fallback, supported, withCountry);
};
}
@@ -70,7 +70,7 @@ const part3 = """
@override
bool shouldReload(GeneratedLocalizationsDelegate old) => false;
Locale _resolve(Locale locale, Locale fallback, Iterable<Locale> supported, bool withCountry) {
Locale _resolve(Locale? locale, Locale fallback, Iterable<Locale> supported, bool withCountry) {
if (locale == null || !_isSupported(locale, withCountry)) {
return fallback ?? supported.first;
}
@@ -95,7 +95,7 @@ const part3 = """
if (supportedLocale.countryCode == locale.countryCode) {
return true;
}
if (true != withCountry && (supportedLocale.countryCode == null || supportedLocale.countryCode.isEmpty)) {
if (true != withCountry && (supportedLocale.countryCode == null || supportedLocale.countryCode!.isEmpty)) {
return true;
}
}
@@ -105,8 +105,8 @@ const part3 = """
}
String getLang(Locale l) => l == null
? null
: l.countryCode != null && l.countryCode.isEmpty
? throw Exception('Incorrect local')
: l.countryCode != null && l.countryCode!.isEmpty
? l.languageCode
: l.toString();
""";
+1 -1
View File
@@ -5,7 +5,7 @@ String normalizeKeyName(String key) {
final firstWord = parts.removeAt(0);
final capitalized = parts
.map((e) => toBeginningOfSentenceCase(e))
.fold('', (String acc, String word) => acc + word);
.fold('', (String acc, String? word) => acc + (word ?? ''));
return firstWord + capitalized;
}