diff --git a/.github/workflows/automated_integration_test.yml b/.github/workflows/automated_integration_test.yml
index 95a3197d4f..eee1407c1d 100644
--- a/.github/workflows/automated_integration_test.yml
+++ b/.github/workflows/automated_integration_test.yml
@@ -57,6 +57,7 @@ jobs:
- name: Add secrets
run: |
touch lib/.secrets.g.dart
+ touch cw_bitcoin/lib/.secrets.g.dart
touch cw_evm/lib/.secrets.g.dart
touch cw_solana/lib/.secrets.g.dart
touch cw_core/lib/.secrets.g.dart
@@ -130,6 +131,7 @@ jobs:
echo "const etherScanApiKey = '${{ secrets.ETHER_SCAN_API_KEY }}';" >> cw_evm/lib/.secrets.g.dart
echo "const moralisApiKey = '${{ secrets.MORALIS_API_KEY }}';" >> cw_evm/lib/.secrets.g.dart
echo "const nowNodesApiKey = '${{ secrets.EVM_NOWNODES_API_KEY }}';" >> cw_evm/lib/.secrets.g.dart
+ echo "const breezApiKey = '${{ secrets.BREEZ_API_KEY }}';" >> cw_bitcoin/lib/.secrets.g.dart
echo "const chatwootWebsiteToken = '${{ secrets.CHATWOOT_WEBSITE_TOKEN }}';" >> lib/.secrets.g.dart
echo "const exolixCakeWalletApiKey = '${{ secrets.EXOLIX_API_KEY }}';" >> lib/.secrets.g.dart
echo "const exolixMoneroApiKey = '${{ secrets.EXOLIX_API_KEY }}';" >> lib/.secrets.g.dart
diff --git a/.github/workflows/pr_test_build_android.yml b/.github/workflows/pr_test_build_android.yml
index 7d7a196c13..53ce074e69 100644
--- a/.github/workflows/pr_test_build_android.yml
+++ b/.github/workflows/pr_test_build_android.yml
@@ -51,6 +51,7 @@ jobs:
- name: Add secrets
run: |
touch lib/.secrets.g.dart
+ touch cw_bitcoin/lib/.secrets.g.dart
touch cw_evm/lib/.secrets.g.dart
touch cw_solana/lib/.secrets.g.dart
touch cw_core/lib/.secrets.g.dart
@@ -124,6 +125,7 @@ jobs:
echo "const etherScanApiKey = '${{ secrets.ETHER_SCAN_API_KEY }}';" >> cw_evm/lib/.secrets.g.dart
echo "const moralisApiKey = '${{ secrets.MORALIS_API_KEY }}';" >> cw_evm/lib/.secrets.g.dart
echo "const nowNodesApiKey = '${{ secrets.EVM_NOWNODES_API_KEY }}';" >> cw_evm/lib/.secrets.g.dart
+ echo "const breezApiKey = '${{ secrets.BREEZ_API_KEY }}';" >> cw_bitcoin/lib/.secrets.g.dart
echo "const chatwootWebsiteToken = '${{ secrets.CHATWOOT_WEBSITE_TOKEN }}';" >> lib/.secrets.g.dart
echo "const exolixCakeWalletApiKey = '${{ secrets.EXOLIX_API_KEY }}';" >> lib/.secrets.g.dart
echo "const exolixMoneroApiKey = '${{ secrets.EXOLIX_API_KEY }}';" >> lib/.secrets.g.dart
@@ -340,4 +342,4 @@ jobs:
cd build/app/outputs/flutter-apk
for i in arm64-v8a x86_64; do
../../../../scripts/android/check_16kb_align.sh app-$i-release.apk
- done
\ No newline at end of file
+ done
diff --git a/.github/workflows/pr_test_build_linux.yml b/.github/workflows/pr_test_build_linux.yml
index 92eae19db2..10bd5557b7 100644
--- a/.github/workflows/pr_test_build_linux.yml
+++ b/.github/workflows/pr_test_build_linux.yml
@@ -44,6 +44,7 @@ jobs:
- name: Add secrets
run: |
touch lib/.secrets.g.dart
+ touch cw_bitcoin/lib/.secrets.g.dart
touch cw_evm/lib/.secrets.g.dart
touch cw_solana/lib/.secrets.g.dart
touch cw_core/lib/.secrets.g.dart
@@ -117,6 +118,7 @@ jobs:
echo "const etherScanApiKey = '${{ secrets.ETHER_SCAN_API_KEY }}';" >> cw_evm/lib/.secrets.g.dart
echo "const moralisApiKey = '${{ secrets.MORALIS_API_KEY }}';" >> cw_evm/lib/.secrets.g.dart
echo "const nowNodesApiKey = '${{ secrets.EVM_NOWNODES_API_KEY }}';" >> cw_evm/lib/.secrets.g.dart
+ echo "const breezApiKey = '${{ secrets.BREEZ_API_KEY }}';" >> cw_bitcoin/lib/.secrets.g.dart
echo "const chatwootWebsiteToken = '${{ secrets.CHATWOOT_WEBSITE_TOKEN }}';" >> lib/.secrets.g.dart
echo "const exolixCakeWalletApiKey = '${{ secrets.EXOLIX_API_KEY }}';" >> lib/.secrets.g.dart
echo "const exolixMoneroApiKey = '${{ secrets.EXOLIX_API_KEY }}';" >> lib/.secrets.g.dart
diff --git a/.gitignore b/.gitignore
index cd2230504d..018d05ca22 100644
--- a/.gitignore
+++ b/.gitignore
@@ -97,6 +97,7 @@ android/app/key.jks
**/tool/.solana-secrets-config.json
**/tool/.nano-secrets-config.json
**/tool/.tron-secrets-config.json
+**/tool/.bitcoin-secrets-config.json
**/lib/.secrets.g.dart
**/cw_evm/lib/.secrets.g.dart
**/cw_solana/lib/.secrets.g.dart
diff --git a/assets/fonts/WixMadeforText-VariableFont_wght.ttf b/assets/fonts/WixMadeforText-VariableFont_wght.ttf
new file mode 100644
index 0000000000..5994d24be6
Binary files /dev/null and b/assets/fonts/WixMadeforText-VariableFont_wght.ttf differ
diff --git a/assets/images/btc_chain_qr_lightning.svg b/assets/images/btc_chain_qr_lightning.svg
new file mode 100644
index 0000000000..b18ac0b9f8
--- /dev/null
+++ b/assets/images/btc_chain_qr_lightning.svg
@@ -0,0 +1,5 @@
+
diff --git a/assets/images/lightning-icon.svg b/assets/images/lightning-icon.svg
new file mode 100644
index 0000000000..aa4d3a9225
--- /dev/null
+++ b/assets/images/lightning-icon.svg
@@ -0,0 +1,46 @@
+
diff --git a/assets/new-ui/3dots.svg b/assets/new-ui/3dots.svg
new file mode 100644
index 0000000000..5b8896d066
--- /dev/null
+++ b/assets/new-ui/3dots.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/assets/new-ui/Apps.svg b/assets/new-ui/Apps.svg
new file mode 100644
index 0000000000..334d800349
--- /dev/null
+++ b/assets/new-ui/Apps.svg
@@ -0,0 +1,21 @@
+
diff --git a/assets/new-ui/Charts.svg b/assets/new-ui/Charts.svg
new file mode 100644
index 0000000000..cc86078e64
--- /dev/null
+++ b/assets/new-ui/Charts.svg
@@ -0,0 +1,10 @@
+
diff --git a/assets/new-ui/Contacts.svg b/assets/new-ui/Contacts.svg
new file mode 100644
index 0000000000..a0b0f28945
--- /dev/null
+++ b/assets/new-ui/Contacts.svg
@@ -0,0 +1,3 @@
+
diff --git a/assets/new-ui/Home.svg b/assets/new-ui/Home.svg
new file mode 100644
index 0000000000..31a55b115b
--- /dev/null
+++ b/assets/new-ui/Home.svg
@@ -0,0 +1,16 @@
+
diff --git a/assets/new-ui/Wallets.svg b/assets/new-ui/Wallets.svg
new file mode 100644
index 0000000000..04c91d0e87
--- /dev/null
+++ b/assets/new-ui/Wallets.svg
@@ -0,0 +1,3 @@
+
diff --git a/assets/new-ui/addr-book.svg b/assets/new-ui/addr-book.svg
new file mode 100644
index 0000000000..c25d3b7dbc
--- /dev/null
+++ b/assets/new-ui/addr-book.svg
@@ -0,0 +1,3 @@
+
diff --git a/assets/new-ui/balance_card_icons/bitcoin.svg b/assets/new-ui/balance_card_icons/bitcoin.svg
new file mode 100644
index 0000000000..7060f10467
--- /dev/null
+++ b/assets/new-ui/balance_card_icons/bitcoin.svg
@@ -0,0 +1,5 @@
+
diff --git a/assets/new-ui/balance_card_icons/lightning.svg b/assets/new-ui/balance_card_icons/lightning.svg
new file mode 100644
index 0000000000..3548851d19
--- /dev/null
+++ b/assets/new-ui/balance_card_icons/lightning.svg
@@ -0,0 +1,3 @@
+
diff --git a/assets/new-ui/bitcoin.svg b/assets/new-ui/bitcoin.svg
new file mode 100644
index 0000000000..391f3c289e
--- /dev/null
+++ b/assets/new-ui/bitcoin.svg
@@ -0,0 +1,13 @@
+
+
+
\ No newline at end of file
diff --git a/assets/new-ui/blank.svg b/assets/new-ui/blank.svg
new file mode 100644
index 0000000000..cb30dd8701
--- /dev/null
+++ b/assets/new-ui/blank.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/assets/new-ui/btcqr.png b/assets/new-ui/btcqr.png
new file mode 100644
index 0000000000..a5c34ed1f5
Binary files /dev/null and b/assets/new-ui/btcqr.png differ
diff --git a/assets/new-ui/copy-icon.svg b/assets/new-ui/copy-icon.svg
new file mode 100644
index 0000000000..3cc98258d7
--- /dev/null
+++ b/assets/new-ui/copy-icon.svg
@@ -0,0 +1,11 @@
+
diff --git a/assets/new-ui/exchange.svg b/assets/new-ui/exchange.svg
new file mode 100644
index 0000000000..0bf048de8e
--- /dev/null
+++ b/assets/new-ui/exchange.svg
@@ -0,0 +1,11 @@
+
diff --git a/assets/new-ui/history-received.svg b/assets/new-ui/history-received.svg
new file mode 100644
index 0000000000..3dab9e7312
--- /dev/null
+++ b/assets/new-ui/history-received.svg
@@ -0,0 +1,3 @@
+
diff --git a/assets/new-ui/history-receiving.svg b/assets/new-ui/history-receiving.svg
new file mode 100644
index 0000000000..cec2958dc6
--- /dev/null
+++ b/assets/new-ui/history-receiving.svg
@@ -0,0 +1,3 @@
+
diff --git a/assets/new-ui/history-sending.svg b/assets/new-ui/history-sending.svg
new file mode 100644
index 0000000000..f40ec89a0c
--- /dev/null
+++ b/assets/new-ui/history-sending.svg
@@ -0,0 +1,3 @@
+
diff --git a/assets/new-ui/history-sent.svg b/assets/new-ui/history-sent.svg
new file mode 100644
index 0000000000..649e03d087
--- /dev/null
+++ b/assets/new-ui/history-sent.svg
@@ -0,0 +1,3 @@
+
diff --git a/assets/new-ui/lightning.svg b/assets/new-ui/lightning.svg
new file mode 100644
index 0000000000..9788dcc17e
--- /dev/null
+++ b/assets/new-ui/lightning.svg
@@ -0,0 +1,14 @@
+
+
+
+
\ No newline at end of file
diff --git a/assets/new-ui/receive.svg b/assets/new-ui/receive.svg
new file mode 100644
index 0000000000..fc420ad694
--- /dev/null
+++ b/assets/new-ui/receive.svg
@@ -0,0 +1,10 @@
+
diff --git a/assets/new-ui/scan.svg b/assets/new-ui/scan.svg
new file mode 100644
index 0000000000..b3e6a3258b
--- /dev/null
+++ b/assets/new-ui/scan.svg
@@ -0,0 +1,10 @@
+
diff --git a/assets/new-ui/send.svg b/assets/new-ui/send.svg
new file mode 100644
index 0000000000..cde7609f63
--- /dev/null
+++ b/assets/new-ui/send.svg
@@ -0,0 +1,3 @@
+
diff --git a/assets/new-ui/settings.png b/assets/new-ui/settings.png
new file mode 100644
index 0000000000..b6cfb5b088
Binary files /dev/null and b/assets/new-ui/settings.png differ
diff --git a/assets/new-ui/switcher-bitcoin-off.svg b/assets/new-ui/switcher-bitcoin-off.svg
new file mode 100644
index 0000000000..d529c77e28
--- /dev/null
+++ b/assets/new-ui/switcher-bitcoin-off.svg
@@ -0,0 +1,3 @@
+
diff --git a/assets/new-ui/switcher-bitcoin.svg b/assets/new-ui/switcher-bitcoin.svg
new file mode 100644
index 0000000000..1fadb6eb10
--- /dev/null
+++ b/assets/new-ui/switcher-bitcoin.svg
@@ -0,0 +1,4 @@
+
diff --git a/assets/new-ui/switcher-lightning-off.svg b/assets/new-ui/switcher-lightning-off.svg
new file mode 100644
index 0000000000..d72c681b09
--- /dev/null
+++ b/assets/new-ui/switcher-lightning-off.svg
@@ -0,0 +1,3 @@
+
diff --git a/assets/new-ui/switcher-lightning.svg b/assets/new-ui/switcher-lightning.svg
new file mode 100644
index 0000000000..f9c5f40a1f
--- /dev/null
+++ b/assets/new-ui/switcher-lightning.svg
@@ -0,0 +1,4 @@
+
diff --git a/assets/new-ui/top-settings.svg b/assets/new-ui/top-settings.svg
new file mode 100644
index 0000000000..ba716f8d5f
--- /dev/null
+++ b/assets/new-ui/top-settings.svg
@@ -0,0 +1,5 @@
+
diff --git a/assets/new-ui/wallet-trezor.svg b/assets/new-ui/wallet-trezor.svg
new file mode 100644
index 0000000000..d0747c4444
--- /dev/null
+++ b/assets/new-ui/wallet-trezor.svg
@@ -0,0 +1,10 @@
+
diff --git a/cw_bitcoin/lib/bitcoin_receive_page_option.dart b/cw_bitcoin/lib/bitcoin_receive_page_option.dart
index 8491ae8e3f..5e07ac63b8 100644
--- a/cw_bitcoin/lib/bitcoin_receive_page_option.dart
+++ b/cw_bitcoin/lib/bitcoin_receive_page_option.dart
@@ -1,4 +1,5 @@
import 'package:bitcoin_base/bitcoin_base.dart';
+import 'package:cw_bitcoin/lightning/lightning_addres_type.dart';
import 'package:cw_core/receive_page_option.dart';
class BitcoinReceivePageOption implements ReceivePageOption {
@@ -10,6 +11,7 @@ class BitcoinReceivePageOption implements ReceivePageOption {
static const mweb = BitcoinReceivePageOption._('MWEB');
static const silent_payments = BitcoinReceivePageOption._('Silent Payments');
+ static const lightning = BitcoinReceivePageOption._('Lightning');
const BitcoinReceivePageOption._(this.value);
@@ -20,6 +22,7 @@ class BitcoinReceivePageOption implements ReceivePageOption {
}
static const all = [
+ BitcoinReceivePageOption.lightning,
BitcoinReceivePageOption.silent_payments,
BitcoinReceivePageOption.p2wpkh,
BitcoinReceivePageOption.p2tr,
@@ -55,6 +58,8 @@ class BitcoinReceivePageOption implements ReceivePageOption {
return P2shAddressType.p2wpkhInP2sh;
case BitcoinReceivePageOption.silent_payments:
return SilentPaymentsAddresType.p2sp;
+ case BitcoinReceivePageOption.lightning:
+ return LightningAddressType.p2l;
case BitcoinReceivePageOption.mweb:
return SegwitAddresType.mweb;
case BitcoinReceivePageOption.p2wpkh:
@@ -77,6 +82,8 @@ class BitcoinReceivePageOption implements ReceivePageOption {
return BitcoinReceivePageOption.p2sh;
case SilentPaymentsAddresType.p2sp:
return BitcoinReceivePageOption.silent_payments;
+ case LightningAddressType.p2l:
+ return BitcoinReceivePageOption.lightning;
case SegwitAddresType.p2wpkh:
default:
return BitcoinReceivePageOption.p2wpkh;
diff --git a/cw_bitcoin/lib/bitcoin_wallet.dart b/cw_bitcoin/lib/bitcoin_wallet.dart
index 0a2b54913a..a3e601b175 100644
--- a/cw_bitcoin/lib/bitcoin_wallet.dart
+++ b/cw_bitcoin/lib/bitcoin_wallet.dart
@@ -3,6 +3,7 @@ import 'dart:convert';
import 'package:bip39/bip39.dart' as bip39;
import 'package:bitcoin_base/bitcoin_base.dart';
import 'package:blockchain_utils/blockchain_utils.dart';
+import 'package:cw_bitcoin/.secrets.g.dart' as secrets;
import 'package:cw_bitcoin/address_from_output.dart';
import 'package:cw_bitcoin/bitcoin_address_record.dart';
import 'package:cw_bitcoin/bitcoin_mnemonic.dart';
@@ -10,9 +11,11 @@ import 'package:cw_bitcoin/bitcoin_transaction_credentials.dart';
import 'package:cw_bitcoin/bitcoin_wallet_addresses.dart';
import 'package:cw_bitcoin/electrum_balance.dart';
import 'package:cw_bitcoin/electrum_derivations.dart';
+import 'package:cw_bitcoin/electrum_transaction_info.dart';
import 'package:cw_bitcoin/electrum_wallet.dart';
import 'package:cw_bitcoin/electrum_wallet_snapshot.dart';
import 'package:cw_bitcoin/hardware/bitcoin_hardware_wallet_service.dart';
+import 'package:cw_bitcoin/lightning/lightning_wallet.dart';
import 'package:cw_bitcoin/payjoin/manager.dart';
import 'package:cw_bitcoin/payjoin/storage.dart';
import 'package:cw_bitcoin/pending_bitcoin_transaction.dart';
@@ -23,17 +26,18 @@ import 'package:cw_bitcoin/psbt/v0_finalizer.dart';
import 'package:cw_core/crypto_currency.dart';
import 'package:cw_core/encryption_file_utils.dart';
import 'package:cw_core/output_info.dart';
+import 'package:cw_core/parse_fixed.dart';
import 'package:cw_core/payjoin_session.dart';
import 'package:cw_core/pending_transaction.dart';
+import 'package:cw_core/unspent_coin_type.dart';
import 'package:cw_core/unspent_coins_info.dart';
+import 'package:cw_core/utils/print_verbose.dart';
import 'package:cw_core/utils/zpub.dart';
import 'package:cw_core/wallet_info.dart';
import 'package:cw_core/wallet_keys_file.dart';
import 'package:flutter/foundation.dart';
import 'package:hive/hive.dart';
-import 'package:ledger_bitcoin/ledger_bitcoin.dart';
import 'package:ledger_bitcoin/psbt.dart';
-import 'package:ledger_flutter_plus/ledger_flutter_plus.dart';
import 'package:mobx/mobx.dart';
import 'package:ur/cbor_lite.dart';
import 'package:ur/ur.dart';
@@ -81,9 +85,8 @@ abstract class BitcoinWalletBase extends ElectrumWallet with Store {
initialBalance: initialBalance,
seedBytes: seedBytes,
encryptionFileUtils: encryptionFileUtils,
- currency: networkParam == BitcoinNetwork.testnet
- ? CryptoCurrency.tbtc
- : CryptoCurrency.btc,
+ currency:
+ networkParam == BitcoinNetwork.testnet ? CryptoCurrency.tbtc : CryptoCurrency.btc,
alwaysScan: alwaysScan,
) {
// in a standard BIP44 wallet, mainHd derivation path = m/84'/0'/0'/0 (account 0, index unspecified here)
@@ -92,24 +95,45 @@ abstract class BitcoinWalletBase extends ElectrumWallet with Store {
// String sideDerivationPath = derivationPath.substring(0, derivationPath.length - 1) + "1";
// final hd = bitcoin.HDWallet.fromSeed(seedBytes, network: networkType);
+ if (mnemonic != null) {
+ try {
+ lightningWallet = LightningWallet(
+ mnemonic: mnemonic,
+ passphrase: passphrase,
+ seedBytes: seedBytes,
+ apiKey: secrets.breezApiKey,
+ lnurlDomain: "cake.cash",
+ );
+ } catch (e) {
+ printV(e);
+ lightningWallet = null;
+ }
+ } else {
+ lightningWallet = null;
+ }
+
payjoinManager = PayjoinManager(PayjoinStorage(payjoinBox), this);
- walletAddresses = BitcoinWalletAddresses(walletInfo,
- initialAddresses: initialAddresses,
- initialRegularAddressIndex: initialRegularAddressIndex,
- initialChangeAddressIndex: initialChangeAddressIndex,
- initialSilentAddresses: initialSilentAddresses,
- initialSilentAddressIndex: initialSilentAddressIndex,
- mainHd: hd,
- sideHd: accountHD.childKey(Bip32KeyIndex(1)),
- network: networkParam ?? network,
- masterHd:
- seedBytes != null ? Bip32Slip10Secp256k1.fromSeed(seedBytes) : null,
- isHardwareWallet: walletInfo.isHardwareWallet,
- payjoinManager: payjoinManager);
+ walletAddresses = BitcoinWalletAddresses(
+ walletInfo,
+ initialAddresses: initialAddresses,
+ initialRegularAddressIndex: initialRegularAddressIndex,
+ initialChangeAddressIndex: initialChangeAddressIndex,
+ initialSilentAddresses: initialSilentAddresses,
+ initialSilentAddressIndex: initialSilentAddressIndex,
+ mainHd: hd,
+ sideHd: accountHD.childKey(Bip32KeyIndex(1)),
+ network: networkParam ?? network,
+ masterHd: seedBytes != null ? Bip32Slip10Secp256k1.fromSeed(seedBytes) : null,
+ isHardwareWallet: walletInfo.isHardwareWallet,
+ payjoinManager: payjoinManager,
+ lightningWallet: lightningWallet,
+ );
+ if (lightningWallet != null) {
+ walletAddresses.setLightningAddress(walletInfo.name);
+ }
autorun((_) {
- this.walletAddresses.isEnabledAutoGenerateSubaddress =
- this.isEnabledAutoGenerateSubaddress;
+ this.walletAddresses.isEnabledAutoGenerateSubaddress = this.isEnabledAutoGenerateSubaddress;
});
}
@@ -146,8 +170,7 @@ abstract class BitcoinWalletBase extends ElectrumWallet with Store {
break;
case DerivationType.electrum:
default:
- seedBytes =
- await mnemonicToSeedBytes(mnemonic, passphrase: passphrase ?? "");
+ seedBytes = await mnemonicToSeedBytes(mnemonic, passphrase: passphrase ?? "");
break;
}
@@ -220,10 +243,8 @@ abstract class BitcoinWalletBase extends ElectrumWallet with Store {
final derivationInfo = await walletInfo.getDerivationInfo();
// set the default if not present:
- derivationInfo.derivationPath ??=
- snp?.derivationPath ?? electrum_path;
- derivationInfo.derivationType ??=
- snp?.derivationType ?? DerivationType.electrum;
+ derivationInfo.derivationPath ??= snp?.derivationPath ?? electrum_path;
+ derivationInfo.derivationType ??= snp?.derivationType ?? DerivationType.electrum;
await derivationInfo.save();
Uint8List? seedBytes = null;
@@ -233,8 +254,7 @@ abstract class BitcoinWalletBase extends ElectrumWallet with Store {
if (mnemonic != null) {
switch (derivationInfo.derivationType) {
case DerivationType.electrum:
- seedBytes =
- await mnemonicToSeedBytes(mnemonic, passphrase: passphrase ?? "");
+ seedBytes = await mnemonicToSeedBytes(mnemonic, passphrase: passphrase ?? "");
break;
case DerivationType.bip39:
default:
@@ -274,11 +294,40 @@ abstract class BitcoinWalletBase extends ElectrumWallet with Store {
super.close(shouldCleanup: shouldCleanup);
}
+ @override
+ Future fetchBalances() async {
+ final balance = await super.fetchBalances();
+ if (lightningWallet == null) {
+ return balance;
+ }
+
+ final lBalance = await lightningWallet!.getBalance();
+
+ return ElectrumBalance(
+ confirmed: balance.confirmed,
+ unconfirmed: balance.unconfirmed,
+ frozen: balance.frozen,
+ secondConfirmed: lBalance.toInt(),
+ );
+ }
+
+ @override
+ Future