mirror of
https://github.com/cake-tech/cake_wallet.git
synced 2024-12-25 04:59:33 +00:00
66301ff247
* initial commit
* creating and restoring a wallet
* [skip ci] add transaction priority
* fix send and unspent screen
* fix transaction priority type
* replace Unspend with BitcoinUnspent
* add transaction creation
* fix transaction details screen
* minor fix
* fix create side wallet
* basic transaction creation flow
* fix fiat amount calculation
* edit wallet
* minor fix
* fix address book parsing
* merge commit fixes
* minor fixes
* Update gradle.properties
* fix bch unspent coins
* minor fix
* fix BitcoinCashTransactionPriority
* Fetch tags first before switching to one of them
* Update build_haven.sh
* Update build_haven.sh
* Update build_haven.sh
* Update build_haven.sh
* update transaction build function
* Update build_haven.sh
* add ability to rename and delete
* fix address format
* Update pubspec.lock
* Revert "fix address format"
This reverts commit 1549bf4d8c
.
* fix address format for exange
* restore from qr
* Update configure.dart
* [skip ci] minor fix
* fix default fee rate
* Update onramper_buy_provider.dart
* Update wallet_address_list_view_model.dart
* PR comments fixes
* Update exchange_view_model.dart
* fix merge conflict
* Update address_validator.dart
* merge fixes
* update initialMigrationVersion
* move cw_bitbox to Cake tech
* PR fixes
* PR fixes
* Fix configure.dart brackets
* update the new version text after macos
* dummy change to run workflow
* Fix Nano restore from QR issue
Fix Conflicts with main
* PR fixes
* Update app_config.sh
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
153 lines
4.5 KiB
Dart
153 lines
4.5 KiB
Dart
import 'package:cw_core/transaction_priority.dart';
|
|
|
|
class BitcoinTransactionPriority extends TransactionPriority {
|
|
const BitcoinTransactionPriority({required String title, required int raw})
|
|
: super(title: title, raw: raw);
|
|
|
|
static const List<BitcoinTransactionPriority> all = [fast, medium, slow];
|
|
static const BitcoinTransactionPriority slow =
|
|
BitcoinTransactionPriority(title: 'Slow', raw: 0);
|
|
static const BitcoinTransactionPriority medium =
|
|
BitcoinTransactionPriority(title: 'Medium', raw: 1);
|
|
static const BitcoinTransactionPriority fast =
|
|
BitcoinTransactionPriority(title: 'Fast', raw: 2);
|
|
|
|
static BitcoinTransactionPriority deserialize({required int raw}) {
|
|
switch (raw) {
|
|
case 0:
|
|
return slow;
|
|
case 1:
|
|
return medium;
|
|
case 2:
|
|
return fast;
|
|
default:
|
|
throw Exception('Unexpected token: $raw for BitcoinTransactionPriority deserialize');
|
|
}
|
|
}
|
|
|
|
String get units => 'sat';
|
|
|
|
@override
|
|
String toString() {
|
|
var label = '';
|
|
|
|
switch (this) {
|
|
case BitcoinTransactionPriority.slow:
|
|
label = 'Slow ~24hrs'; // '${S.current.transaction_priority_slow} ~24hrs';
|
|
break;
|
|
case BitcoinTransactionPriority.medium:
|
|
label = 'Medium'; // S.current.transaction_priority_medium;
|
|
break;
|
|
case BitcoinTransactionPriority.fast:
|
|
label = 'Fast'; // S.current.transaction_priority_fast;
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
|
|
return label;
|
|
}
|
|
|
|
String labelWithRate(int rate) => '${toString()} ($rate ${units}/byte)';
|
|
}
|
|
|
|
class LitecoinTransactionPriority extends BitcoinTransactionPriority {
|
|
const LitecoinTransactionPriority({required String title, required int raw})
|
|
: super(title: title, raw: raw);
|
|
|
|
static const List<LitecoinTransactionPriority> all = [fast, medium, slow];
|
|
static const LitecoinTransactionPriority slow =
|
|
LitecoinTransactionPriority(title: 'Slow', raw: 0);
|
|
static const LitecoinTransactionPriority medium =
|
|
LitecoinTransactionPriority(title: 'Medium', raw: 1);
|
|
static const LitecoinTransactionPriority fast =
|
|
LitecoinTransactionPriority(title: 'Fast', raw: 2);
|
|
|
|
static LitecoinTransactionPriority deserialize({required int raw}) {
|
|
switch (raw) {
|
|
case 0:
|
|
return slow;
|
|
case 1:
|
|
return medium;
|
|
case 2:
|
|
return fast;
|
|
default:
|
|
throw Exception('Unexpected token: $raw for LitecoinTransactionPriority deserialize');
|
|
}
|
|
}
|
|
|
|
@override
|
|
String get units => 'Latoshi';
|
|
|
|
@override
|
|
String toString() {
|
|
var label = '';
|
|
|
|
switch (this) {
|
|
case LitecoinTransactionPriority.slow:
|
|
label = 'Slow'; // S.current.transaction_priority_slow;
|
|
break;
|
|
case LitecoinTransactionPriority.medium:
|
|
label = 'Medium'; // S.current.transaction_priority_medium;
|
|
break;
|
|
case LitecoinTransactionPriority.fast:
|
|
label = 'Fast'; // S.current.transaction_priority_fast;
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
|
|
return label;
|
|
}
|
|
|
|
}
|
|
class BitcoinCashTransactionPriority extends BitcoinTransactionPriority {
|
|
const BitcoinCashTransactionPriority({required String title, required int raw})
|
|
: super(title: title, raw: raw);
|
|
|
|
static const List<BitcoinCashTransactionPriority> all = [fast, medium, slow];
|
|
static const BitcoinCashTransactionPriority slow =
|
|
BitcoinCashTransactionPriority(title: 'Slow', raw: 0);
|
|
static const BitcoinCashTransactionPriority medium =
|
|
BitcoinCashTransactionPriority(title: 'Medium', raw: 1);
|
|
static const BitcoinCashTransactionPriority fast =
|
|
BitcoinCashTransactionPriority(title: 'Fast', raw: 2);
|
|
|
|
static BitcoinCashTransactionPriority deserialize({required int raw}) {
|
|
switch (raw) {
|
|
case 0:
|
|
return slow;
|
|
case 1:
|
|
return medium;
|
|
case 2:
|
|
return fast;
|
|
default:
|
|
throw Exception('Unexpected token: $raw for BitcoinCashTransactionPriority deserialize');
|
|
}
|
|
}
|
|
|
|
@override
|
|
String get units => 'Satoshi';
|
|
|
|
@override
|
|
String toString() {
|
|
var label = '';
|
|
|
|
switch (this) {
|
|
case BitcoinCashTransactionPriority.slow:
|
|
label = 'Slow'; // S.current.transaction_priority_slow;
|
|
break;
|
|
case BitcoinCashTransactionPriority.medium:
|
|
label = 'Medium'; // S.current.transaction_priority_medium;
|
|
break;
|
|
case BitcoinCashTransactionPriority.fast:
|
|
label = 'Fast'; // S.current.transaction_priority_fast;
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
|
|
return label;
|
|
}
|
|
}
|
|
|