diff --git a/assets/svg/themed/dark/ethereum.svg b/assets/svg/themed/dark/ethereum.svg
new file mode 100644
index 000000000..df9a44d1e
--- /dev/null
+++ b/assets/svg/themed/dark/ethereum.svg
@@ -0,0 +1,174 @@
+
diff --git a/assets/svg/themed/fruitSorbet/ethereum.svg b/assets/svg/themed/fruitSorbet/ethereum.svg
new file mode 100644
index 000000000..df9a44d1e
--- /dev/null
+++ b/assets/svg/themed/fruitSorbet/ethereum.svg
@@ -0,0 +1,174 @@
+
diff --git a/assets/svg/themed/light/ethereum.svg b/assets/svg/themed/light/ethereum.svg
new file mode 100644
index 000000000..df9a44d1e
--- /dev/null
+++ b/assets/svg/themed/light/ethereum.svg
@@ -0,0 +1,174 @@
+
diff --git a/assets/svg/themed/oceanBreeze/ethereum.svg b/assets/svg/themed/oceanBreeze/ethereum.svg
new file mode 100644
index 000000000..df9a44d1e
--- /dev/null
+++ b/assets/svg/themed/oceanBreeze/ethereum.svg
@@ -0,0 +1,174 @@
+
diff --git a/assets/svg/themed/oledBlack/ethereum.svg b/assets/svg/themed/oledBlack/ethereum.svg
new file mode 100644
index 000000000..df9a44d1e
--- /dev/null
+++ b/assets/svg/themed/oledBlack/ethereum.svg
@@ -0,0 +1,174 @@
+
diff --git a/lib/db/isar/main_db.dart b/lib/db/isar/main_db.dart
index 57efc4c87..efe2fdd6b 100644
--- a/lib/db/isar/main_db.dart
+++ b/lib/db/isar/main_db.dart
@@ -8,7 +8,7 @@ import 'package:stackwallet/utilities/format.dart';
import 'package:stackwallet/utilities/stack_file_system.dart';
import 'package:tuple/tuple.dart';
-part 'queries/queries.dart';
+part '../queries/queries.dart';
class MainDB {
MainDB._();
diff --git a/lib/db/queries/queries.dart b/lib/db/queries/queries.dart
index 2995de06d..bc0307572 100644
--- a/lib/db/queries/queries.dart
+++ b/lib/db/queries/queries.dart
@@ -1,4 +1,4 @@
-part of 'package:stackwallet/db/main_db.dart';
+part of 'package:stackwallet/db/isar/main_db.dart';
enum CCFilter {
all,
diff --git a/lib/pages/coin_control/coin_control_view.dart b/lib/pages/coin_control/coin_control_view.dart
index 0eeff1089..de12dba39 100644
--- a/lib/pages/coin_control/coin_control_view.dart
+++ b/lib/pages/coin_control/coin_control_view.dart
@@ -4,7 +4,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:isar/isar.dart';
-import 'package:stackwallet/db/main_db.dart';
+import 'package:stackwallet/db/isar/main_db.dart';
import 'package:stackwallet/models/isar/models/isar_models.dart';
import 'package:stackwallet/pages/coin_control/utxo_card.dart';
import 'package:stackwallet/pages/coin_control/utxo_details_view.dart';
@@ -16,6 +16,7 @@ import 'package:stackwallet/utilities/enums/coin_enum.dart';
import 'package:stackwallet/utilities/format.dart';
import 'package:stackwallet/utilities/text_styles.dart';
import 'package:stackwallet/utilities/theme/stack_colors.dart';
+import 'package:stackwallet/widgets/animated_widgets/rotate_icon.dart';
import 'package:stackwallet/widgets/app_bar_field.dart';
import 'package:stackwallet/widgets/background.dart';
import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart';
@@ -24,13 +25,11 @@ import 'package:stackwallet/widgets/desktop/primary_button.dart';
import 'package:stackwallet/widgets/desktop/secondary_button.dart';
import 'package:stackwallet/widgets/expandable2.dart';
import 'package:stackwallet/widgets/icon_widgets/x_icon.dart';
+import 'package:stackwallet/widgets/rounded_container.dart';
import 'package:stackwallet/widgets/rounded_white_container.dart';
import 'package:stackwallet/widgets/toggle.dart';
import 'package:tuple/tuple.dart';
-import '../../widgets/animated_widgets/rotate_icon.dart';
-import '../../widgets/rounded_container.dart';
-
enum CoinControlViewType {
manage,
use;
diff --git a/lib/pages/coin_control/utxo_card.dart b/lib/pages/coin_control/utxo_card.dart
index e2900a48b..685f94272 100644
--- a/lib/pages/coin_control/utxo_card.dart
+++ b/lib/pages/coin_control/utxo_card.dart
@@ -1,6 +1,6 @@
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
-import 'package:stackwallet/db/main_db.dart';
+import 'package:stackwallet/db/isar/main_db.dart';
import 'package:stackwallet/models/isar/models/isar_models.dart';
import 'package:stackwallet/providers/global/wallets_provider.dart';
import 'package:stackwallet/utilities/constants.dart';
diff --git a/lib/pages/coin_control/utxo_details_view.dart b/lib/pages/coin_control/utxo_details_view.dart
index e4b31c63d..e5bcba57e 100644
--- a/lib/pages/coin_control/utxo_details_view.dart
+++ b/lib/pages/coin_control/utxo_details_view.dart
@@ -3,7 +3,7 @@ import 'dart:async';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:isar/isar.dart';
-import 'package:stackwallet/db/main_db.dart';
+import 'package:stackwallet/db/isar/main_db.dart';
import 'package:stackwallet/models/isar/models/isar_models.dart';
import 'package:stackwallet/pages/wallet_view/transaction_views/transaction_details_view.dart';
import 'package:stackwallet/providers/global/wallets_provider.dart';
diff --git a/lib/pages/receive_view/addresses/edit_address_label_view.dart b/lib/pages/receive_view/addresses/edit_address_label_view.dart
index 35102e7f9..7d9aa6635 100644
--- a/lib/pages/receive_view/addresses/edit_address_label_view.dart
+++ b/lib/pages/receive_view/addresses/edit_address_label_view.dart
@@ -1,7 +1,7 @@
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
-import 'package:stackwallet/db/isar/main_db.dart';
import 'package:isar/isar.dart';
+import 'package:stackwallet/db/isar/main_db.dart';
import 'package:stackwallet/models/isar/models/address_label.dart';
import 'package:stackwallet/utilities/constants.dart';
import 'package:stackwallet/utilities/text_styles.dart';
diff --git a/lib/pages/receive_view/addresses/receiving_addresses_view.dart b/lib/pages/receive_view/addresses/receiving_addresses_view.dart
deleted file mode 100644
index d2b513a46..000000000
--- a/lib/pages/receive_view/addresses/receiving_addresses_view.dart
+++ /dev/null
@@ -1,96 +0,0 @@
-import 'package:flutter/material.dart';
-import 'package:flutter_riverpod/flutter_riverpod.dart';
-import 'package:isar/isar.dart';
-import 'package:stackwallet/db/isar/main_db.dart';
-import 'package:stackwallet/models/isar/models/isar_models.dart';
-import 'package:stackwallet/pages/receive_view/addresses/address_card.dart';
-import 'package:stackwallet/providers/global/wallets_provider.dart';
-import 'package:stackwallet/utilities/clipboard_interface.dart';
-import 'package:stackwallet/utilities/text_styles.dart';
-import 'package:stackwallet/utilities/theme/stack_colors.dart';
-import 'package:stackwallet/widgets/background.dart';
-import 'package:stackwallet/widgets/conditional_parent.dart';
-import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart';
-import 'package:stackwallet/widgets/loading_indicator.dart';
-
-class ReceivingAddressesView extends ConsumerWidget {
- const ReceivingAddressesView({
- Key? key,
- required this.walletId,
- required this.isDesktop,
- this.clipboard = const ClipboardWrapper(),
- }) : super(key: key);
-
- static const String routeName = "/receivingAddressesView";
-
- final String walletId;
- final bool isDesktop;
- final ClipboardInterface clipboard;
-
- @override
- Widget build(BuildContext context, WidgetRef ref) {
- final coin = ref.watch(walletsChangeNotifierProvider
- .select((value) => value.getManager(walletId).coin));
- return ConditionalParent(
- condition: !isDesktop,
- builder: (child) => Background(
- child: Scaffold(
- backgroundColor:
- Theme.of(context).extension()!.background,
- appBar: AppBar(
- backgroundColor:
- Theme.of(context).extension()!.backgroundAppBar,
- leading: AppBarBackButton(
- onPressed: () {
- Navigator.of(context).pop();
- },
- ),
- title: Text(
- "Receiving addresses",
- style: STextStyles.navBarTitle(context),
- ),
- ),
- body: Padding(
- padding: const EdgeInsets.all(16),
- child: child,
- ),
- ),
- ),
- child: FutureBuilder(
- future: MainDB.instance
- .getAddresses(walletId)
- .filter()
- .subTypeEqualTo(AddressSubType.receiving)
- .and()
- .not()
- .typeEqualTo(AddressType.nonWallet)
- .sortByDerivationIndex()
- .findAll(),
- builder: (context, AsyncSnapshot> snapshot) {
- if (snapshot.connectionState == ConnectionState.done &&
- snapshot.data != null) {
- // listview
- return ListView.separated(
- itemCount: snapshot.data!.length,
- separatorBuilder: (_, __) => Container(
- height: 10,
- ),
- itemBuilder: (_, index) => AddressCard(
- walletId: walletId,
- address: snapshot.data![index],
- coin: coin,
- ),
- );
- } else {
- return const Center(
- child: LoadingIndicator(
- height: 200,
- width: 200,
- ),
- );
- }
- },
- ),
- );
- }
-}
diff --git a/lib/pages/receive_view/addresses/wallet_addresses_view.dart b/lib/pages/receive_view/addresses/wallet_addresses_view.dart
index aec8f24c3..dad379988 100644
--- a/lib/pages/receive_view/addresses/wallet_addresses_view.dart
+++ b/lib/pages/receive_view/addresses/wallet_addresses_view.dart
@@ -1,7 +1,7 @@
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:isar/isar.dart';
-import 'package:stackwallet/db/main_db.dart';
+import 'package:stackwallet/db/isar/main_db.dart';
import 'package:stackwallet/models/isar/models/isar_models.dart';
import 'package:stackwallet/pages/receive_view/addresses/address_card.dart';
import 'package:stackwallet/providers/global/wallets_provider.dart';
diff --git a/lib/pages/wallet_view/sub_widgets/wallet_navigation_bar.dart b/lib/pages/wallet_view/sub_widgets/wallet_navigation_bar.dart
index e69de29bb..8b1378917 100644
--- a/lib/pages/wallet_view/sub_widgets/wallet_navigation_bar.dart
+++ b/lib/pages/wallet_view/sub_widgets/wallet_navigation_bar.dart
@@ -0,0 +1 @@
+
diff --git a/lib/pages/wallet_view/wallet_view.dart b/lib/pages/wallet_view/wallet_view.dart
index 083b79990..eaea818e9 100644
--- a/lib/pages/wallet_view/wallet_view.dart
+++ b/lib/pages/wallet_view/wallet_view.dart
@@ -7,8 +7,6 @@ import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_svg/svg.dart';
import 'package:isar/isar.dart';
import 'package:stackwallet/models/isar/exchange_cache/currency.dart';
-import 'package:isar/isar.dart';
-import 'package:stackwallet/models/isar/exchange_cache/currency.dart';
import 'package:stackwallet/notifications/show_flush_bar.dart';
import 'package:stackwallet/pages/buy_view/buy_in_wallet_view.dart';
import 'package:stackwallet/pages/coin_control/coin_control_view.dart';
@@ -20,10 +18,10 @@ import 'package:stackwallet/pages/paynym/paynym_home_view.dart';
import 'package:stackwallet/pages/receive_view/receive_view.dart';
import 'package:stackwallet/pages/send_view/send_view.dart';
import 'package:stackwallet/pages/settings_views/wallet_settings_view/wallet_network_settings_view/wallet_network_settings_view.dart';
-import 'package:stackwallet/pages/settings_views/wallet_settings_view/wallet_settingew/transaction_views/all_transactions_view.dart';
-import 'package:stackwallet/pages/coin_control/coin_control_view.dart';
-import 'package:stackwallet/pages/paynym/paynym_claim_view.dart';
-import 'package:stackwallet/pages/paynym/paynym_home_view.dart';
+import 'package:stackwallet/pages/settings_views/wallet_settings_view/wallet_settings_view.dart';
+import 'package:stackwallet/pages/wallet_view/sub_widgets/transactions_list.dart';
+import 'package:stackwallet/pages/wallet_view/sub_widgets/wallet_summary.dart';
+import 'package:stackwallet/pages/wallet_view/transaction_views/all_transactions_view.dart';
import 'package:stackwallet/providers/global/auto_swb_service_provider.dart';
import 'package:stackwallet/providers/global/paynym_api_provider.dart';
import 'package:stackwallet/providers/providers.dart';
diff --git a/lib/pages_desktop_specific/coin_control/desktop_coin_control_use_dialog.dart b/lib/pages_desktop_specific/coin_control/desktop_coin_control_use_dialog.dart
index d0ba9ecbd..bf65a2923 100644
--- a/lib/pages_desktop_specific/coin_control/desktop_coin_control_use_dialog.dart
+++ b/lib/pages_desktop_specific/coin_control/desktop_coin_control_use_dialog.dart
@@ -3,7 +3,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_svg/svg.dart';
import 'package:isar/isar.dart';
-import 'package:stackwallet/db/main_db.dart';
+import 'package:stackwallet/db/isar/main_db.dart';
import 'package:stackwallet/models/isar/models/blockchain_data/utxo.dart';
import 'package:stackwallet/pages_desktop_specific/coin_control/utxo_row.dart';
import 'package:stackwallet/providers/global/wallets_provider.dart';
diff --git a/lib/pages_desktop_specific/coin_control/desktop_coin_control_view.dart b/lib/pages_desktop_specific/coin_control/desktop_coin_control_view.dart
index cf27cc80e..593666c3c 100644
--- a/lib/pages_desktop_specific/coin_control/desktop_coin_control_view.dart
+++ b/lib/pages_desktop_specific/coin_control/desktop_coin_control_view.dart
@@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_svg/svg.dart';
import 'package:isar/isar.dart';
-import 'package:stackwallet/db/main_db.dart';
+import 'package:stackwallet/db/isar/main_db.dart';
import 'package:stackwallet/models/isar/models/blockchain_data/utxo.dart';
import 'package:stackwallet/pages_desktop_specific/coin_control/freeze_button.dart';
import 'package:stackwallet/pages_desktop_specific/coin_control/utxo_row.dart';
diff --git a/lib/pages_desktop_specific/coin_control/freeze_button.dart b/lib/pages_desktop_specific/coin_control/freeze_button.dart
index f50e4661e..b33bc89fa 100644
--- a/lib/pages_desktop_specific/coin_control/freeze_button.dart
+++ b/lib/pages_desktop_specific/coin_control/freeze_button.dart
@@ -1,7 +1,7 @@
import 'package:async/async.dart';
import 'package:flutter/material.dart';
import 'package:isar/isar.dart';
-import 'package:stackwallet/db/main_db.dart';
+import 'package:stackwallet/db/isar/main_db.dart';
import 'package:stackwallet/models/isar/models/blockchain_data/utxo.dart';
import 'package:stackwallet/pages_desktop_specific/coin_control/utxo_row.dart';
import 'package:stackwallet/utilities/logger.dart';
diff --git a/lib/pages_desktop_specific/coin_control/utxo_row.dart b/lib/pages_desktop_specific/coin_control/utxo_row.dart
index e5ddf2f06..10348f409 100644
--- a/lib/pages_desktop_specific/coin_control/utxo_row.dart
+++ b/lib/pages_desktop_specific/coin_control/utxo_row.dart
@@ -1,7 +1,7 @@
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:isar/isar.dart';
-import 'package:stackwallet/db/main_db.dart';
+import 'package:stackwallet/db/isar/main_db.dart';
import 'package:stackwallet/models/isar/models/isar_models.dart';
import 'package:stackwallet/pages/coin_control/utxo_details_view.dart';
import 'package:stackwallet/providers/global/wallets_provider.dart';
diff --git a/lib/route_generator.dart b/lib/route_generator.dart
index 2cc28d52d..c94867a00 100644
--- a/lib/route_generator.dart
+++ b/lib/route_generator.dart
@@ -2,8 +2,8 @@ import 'package:decimal/decimal.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
-import 'package:stackwallet/models/add_wallet_list_entity/add_wallet_list_entity.dart';
import 'package:isar/isar.dart';
+import 'package:stackwallet/models/add_wallet_list_entity/add_wallet_list_entity.dart';
import 'package:stackwallet/models/buy/response_objects/quote.dart';
import 'package:stackwallet/models/contact_address_entry.dart';
import 'package:stackwallet/models/exchange/incomplete_exchange.dart';
diff --git a/lib/services/mixins/coin_control_interface.dart b/lib/services/mixins/coin_control_interface.dart
index ceebb6416..f41f5214a 100644
--- a/lib/services/mixins/coin_control_interface.dart
+++ b/lib/services/mixins/coin_control_interface.dart
@@ -1,7 +1,7 @@
import 'dart:async';
import 'package:isar/isar.dart';
-import 'package:stackwallet/db/main_db.dart';
+import 'package:stackwallet/db/isar/main_db.dart';
import 'package:stackwallet/models/balance.dart';
import 'package:stackwallet/services/event_bus/events/global/balance_refreshed_event.dart';
import 'package:stackwallet/services/event_bus/global_event_bus.dart';
diff --git a/lib/utilities/assets.dart b/lib/utilities/assets.dart
index 189a34c3b..5d5f97feb 100644
--- a/lib/utilities/assets.dart
+++ b/lib/utilities/assets.dart
@@ -298,20 +298,6 @@ class _SVG {
String get bnbIcon => "assets/svg/coin_icons/bnb_icon.svg";
- String get chevronRight => "assets/svg/chevron-right.svg";
- String get minimize => "assets/svg/minimize.svg";
- String get walletFa => "assets/svg/wallet-fa.svg";
- String get exchange3 => "assets/svg/exchange-3.svg";
- String get messageQuestion => "assets/svg/message-question-1.svg";
-
-// TODO provide proper assets
- String get bitcoinTestnet => "assets/svg/coin_icons/Bitcoin.svg";
- String get bitcoincashTestnet => "assets/svg/coin_icons/Bitcoincash.svg";
- String get firoTestnet => "assets/svg/coin_icons/Firo.svg";
- String get dogecoinTestnet => "assets/svg/coin_icons/Dogecoin.svg";
- String get particlTestnet =>
- "assets/svg/coin_icons/Dogecoin.svg"; //TODO - Update icon to particl
-
String iconFor({required Coin coin}) {
switch (coin) {
case Coin.bitcoin:
diff --git a/lib/utilities/enums/coin_enum.dart b/lib/utilities/enums/coin_enum.dart
index 0463b4fa4..b4c994f8c 100644
--- a/lib/utilities/enums/coin_enum.dart
+++ b/lib/utilities/enums/coin_enum.dart
@@ -216,6 +216,7 @@ extension CoinExt on Coin {
case Coin.namecoin:
case Coin.particl:
case Coin.epicCash:
+ case Coin.ethereum:
case Coin.monero:
case Coin.wownero:
return false;
@@ -239,6 +240,7 @@ extension CoinExt on Coin {
case Coin.namecoin:
case Coin.particl:
case Coin.epicCash:
+ case Coin.ethereum:
case Coin.monero:
case Coin.wownero:
return this;
diff --git a/pubspec.lock b/pubspec.lock
index fdf6de547..6aed3f88c 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -395,7 +395,7 @@ packages:
source: hosted
version: "1.0.0"
dart_bs58:
- dependency: transitive
+ dependency: "direct main"
description:
name: dart_bs58
sha256: e2fff08fca810d5215f6fca3ea713d8a4a9728aaf1b1658472863b2de7377234
@@ -403,7 +403,7 @@ packages:
source: hosted
version: "1.0.1"
dart_bs58check:
- dependency: transitive
+ dependency: "direct main"
description:
name: dart_bs58check
sha256: "4284e606795a18c1df5a955928bdc4e1b6f908da7ab0e87f49db51b3774e9e6c"
@@ -514,6 +514,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.0.5"
+ ethereum_addresses:
+ dependency: "direct main"
+ description:
+ name: ethereum_addresses
+ sha256: e6ba01d44ecb9c5634367b017d6e94598fc937be8b28fc406d0e51ed6e9513dd
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.0.2"
event_bus:
dependency: "direct main"
description:
@@ -794,7 +802,7 @@ packages:
source: hosted
version: "2.2.0"
hex:
- dependency: transitive
+ dependency: "direct main"
description:
name: hex
sha256: "4e7cd54e4b59ba026432a6be2dd9d96e4c5205725194997193bf871703b82c4a"
@@ -942,6 +950,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "4.8.0"
+ json_rpc_2:
+ dependency: transitive
+ description:
+ name: json_rpc_2
+ sha256: "5e469bffa23899edacb7b22787780068d650b106a21c76db3c49218ab7ca447e"
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.0.2"
jsonrpc2:
dependency: "direct main"
description:
@@ -1579,6 +1595,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.2.0"
+ string_to_hex:
+ dependency: "direct main"
+ description:
+ name: string_to_hex
+ sha256: "63e5dc1f4821a2449d505033fbd4569f7020ebf30ddffb54d00ebaba8e144a49"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.2.2"
string_validator:
dependency: "direct main"
description:
@@ -1827,6 +1851,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.0.2"
+ web3dart:
+ dependency: "direct main"
+ description:
+ name: web3dart
+ sha256: "48b89a5fac0029770a18d1a8bd05ce8431722bacf76184e4301dae05781565e5"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.3.5"
web_socket_channel:
dependency: transitive
description: