From a9dca3090ef26c7495c1a04ca3d6791f7d1296c0 Mon Sep 17 00:00:00 2001 From: Siphamandla brian Mjoli Date: Wed, 14 Dec 2022 19:54:39 +0200 Subject: [PATCH 01/58] update(appbar): replaced appbar with appbarv2 --- ios/Flutter/AppFrameworkInfo.plist | 2 +- ios/Podfile | 2 +- ios/Podfile.lock | 4 +-- lib/generated/assets.dart | 0 lib/presentation/home/home_page.dart | 17 ++-------- pubspec.lock | 50 ++++++++++++++-------------- pubspec.yaml | 2 +- 7 files changed, 32 insertions(+), 45 deletions(-) create mode 100644 lib/generated/assets.dart diff --git a/ios/Flutter/AppFrameworkInfo.plist b/ios/Flutter/AppFrameworkInfo.plist index 8d4492f9..9625e105 100644 --- a/ios/Flutter/AppFrameworkInfo.plist +++ b/ios/Flutter/AppFrameworkInfo.plist @@ -21,6 +21,6 @@ CFBundleVersion 1.0 MinimumOSVersion - 9.0 + 11.0 diff --git a/ios/Podfile b/ios/Podfile index 1e8c3c90..88359b22 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -1,5 +1,5 @@ # Uncomment this line to define a global platform for your project -# platform :ios, '9.0' +# platform :ios, '11.0' # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 54e5b008..54f54225 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -96,7 +96,7 @@ SPEC CHECKSUMS: DKImagePickerController: b512c28220a2b8ac7419f21c491fc8534b7601ac DKPhotoGallery: fdfad5125a9fdda9cc57df834d49df790dbb4179 file_picker: 817ab1d8cd2da9d2da412a417162deee3500fc95 - Flutter: 50d75fe2f02b26cc09d224853bb45737f8b3214a + Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854 flutter_keyboard_visibility: 0339d06371254c3eb25eeb90ba8d17dca8f9c069 flutter_native_splash: 52501b97d1c0a5f898d687f1646226c1f93c56ef flutter_secure_storage: 7953c38a04c3fdbb00571bcd87d8e3b5ceb9daec @@ -106,6 +106,6 @@ SPEC CHECKSUMS: SwiftyGif: 6c3eafd0ce693cad58bb63d2b2fb9bacb8552780 url_launcher_ios: 839c58cdb4279282219f5e248c3321761ff3c4de -PODFILE CHECKSUM: aafe91acc616949ddb318b77800a7f51bffa2a4c +PODFILE CHECKSUM: ef19549a9bc3046e7bb7d2fab4d021637c0c58a3 COCOAPODS: 1.11.3 diff --git a/lib/generated/assets.dart b/lib/generated/assets.dart new file mode 100644 index 00000000..e69de29b diff --git a/lib/presentation/home/home_page.dart b/lib/presentation/home/home_page.dart index 920e1939..af711079 100644 --- a/lib/presentation/home/home_page.dart +++ b/lib/presentation/home/home_page.dart @@ -8,6 +8,7 @@ import 'package:ribn/presentation/transfers/mint_input_page.dart'; import 'package:ribn/widgets/ribn_app_bar_wapper.dart'; import 'package:ribn_toolkit/constants/colors.dart'; import 'package:ribn_toolkit/widgets/organisms/ribn_bottom_app_bar.dart'; +import 'package:ribn_toolkit/widgets/organisms/ribn_bottom_app_barV2.dart'; /// The 'home page' of Ribn. /// @@ -22,17 +23,14 @@ class HomePage extends StatefulWidget { class _HomePageState extends State with TickerProviderStateMixin { final List _pages = [ const WalletBalancePage(), - const MintInputPage(), const TxHistoryPage(), ]; final List _pageIcons = [ Image.asset(RibnAssets.walletGrey), - Image.asset(RibnAssets.circlePlus), Image.asset(RibnAssets.clockGrey) ]; final List _activePageIcons = [ Image.asset(RibnAssets.walletBlue), - Image.asset(RibnAssets.circlePlus), Image.asset(RibnAssets.clockBlue) ]; int _currPage = 0; @@ -41,7 +39,7 @@ class _HomePageState extends State with TickerProviderStateMixin { Widget build(BuildContext context) { return Scaffold( appBar: const RibnAppBarWrapper(), - bottomNavigationBar: RibnBottomAppBar( + bottomNavigationBar: RibnBottomAppBarV2( pages: _pages, currPage: _currPage, activePageIcons: _activePageIcons, @@ -56,17 +54,6 @@ class _HomePageState extends State with TickerProviderStateMixin { void setCurrentPage(key) { setState(() { _currPage = key; - - if (_currPage == 1) { - _currPage = 0; - Keys.navigatorKey.currentState?.pushNamed( - Routes.mintInput, - arguments: { - 'mintingNewAsset': true, - 'mintingToMyWallet': false, - }, - ); - } }); } } diff --git a/pubspec.lock b/pubspec.lock index b50cd7c3..881413f7 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -49,7 +49,7 @@ packages: name: async url: "https://pub.dartlang.org" source: hosted - version: "2.8.2" + version: "2.9.0" back_button_interceptor: dependency: transitive description: @@ -163,7 +163,7 @@ packages: name: characters url: "https://pub.dartlang.org" source: hosted - version: "1.2.0" + version: "1.2.1" charcode: dependency: transitive description: @@ -198,7 +198,7 @@ packages: name: clock url: "https://pub.dartlang.org" source: hosted - version: "1.1.0" + version: "1.1.1" code_builder: dependency: transitive description: @@ -219,14 +219,14 @@ packages: name: convert url: "https://pub.dartlang.org" source: hosted - version: "3.1.0" + version: "3.1.1" coverage: dependency: transitive description: name: coverage url: "https://pub.dartlang.org" source: hosted - version: "1.3.2" + version: "1.6.1" crypto: dependency: transitive description: @@ -282,14 +282,14 @@ packages: name: dropdown_button2 url: "https://pub.dartlang.org" source: hosted - version: "1.9.1" + version: "1.9.2" fake_async: dependency: transitive description: name: fake_async url: "https://pub.dartlang.org" source: hosted - version: "1.3.0" + version: "1.3.1" ffi: dependency: transitive description: @@ -668,28 +668,28 @@ packages: name: matcher url: "https://pub.dartlang.org" source: hosted - version: "0.12.11" + version: "0.12.12" material_color_utilities: dependency: transitive description: name: material_color_utilities url: "https://pub.dartlang.org" source: hosted - version: "0.1.4" + version: "0.1.5" meta: dependency: transitive description: name: meta url: "https://pub.dartlang.org" source: hosted - version: "1.7.0" + version: "1.8.0" mime: dependency: transitive description: name: mime url: "https://pub.dartlang.org" source: hosted - version: "1.0.2" + version: "1.0.3" mockito: dependency: "direct main" description: @@ -731,7 +731,7 @@ packages: name: path url: "https://pub.dartlang.org" source: hosted - version: "1.8.1" + version: "1.8.2" path_drawing: dependency: transitive description: @@ -801,7 +801,7 @@ packages: name: petitparser url: "https://pub.dartlang.org" source: hosted - version: "5.0.0" + version: "5.1.0" pinenacl: dependency: transitive description: @@ -864,7 +864,7 @@ packages: name: provider url: "https://pub.dartlang.org" source: hosted - version: "6.0.4" + version: "6.0.5" pub_semver: dependency: transitive description: @@ -911,8 +911,8 @@ packages: dependency: "direct main" description: path: "." - ref: "0.4-front-end" - resolved-ref: "62ba848e6d0044f39000b77fc656bd4c11e55506" + ref: RIBN-559 + resolved-ref: bc9e928a7daa9879577c25293fbf18551b8d207b url: "https://github.com/Topl/ribn-toolkit" source: git version: "1.0.0+1" @@ -990,14 +990,14 @@ packages: name: source_maps url: "https://pub.dartlang.org" source: hosted - version: "0.10.10" + version: "0.10.11" source_span: dependency: transitive description: name: source_span url: "https://pub.dartlang.org" source: hosted - version: "1.8.2" + version: "1.9.0" stack_trace: dependency: transitive description: @@ -1039,35 +1039,35 @@ packages: name: string_scanner url: "https://pub.dartlang.org" source: hosted - version: "1.1.0" + version: "1.1.1" term_glyph: dependency: transitive description: name: term_glyph url: "https://pub.dartlang.org" source: hosted - version: "1.2.0" + version: "1.2.1" test: dependency: transitive description: name: test url: "https://pub.dartlang.org" source: hosted - version: "1.21.1" + version: "1.21.4" test_api: dependency: transitive description: name: test_api url: "https://pub.dartlang.org" source: hosted - version: "0.4.9" + version: "0.4.12" test_core: dependency: transitive description: name: test_core url: "https://pub.dartlang.org" source: hosted - version: "0.4.13" + version: "0.4.16" test_process: dependency: transitive description: @@ -1186,7 +1186,7 @@ packages: name: vm_service url: "https://pub.dartlang.org" source: hosted - version: "8.3.0" + version: "9.4.0" watcher: dependency: transitive description: @@ -1274,5 +1274,5 @@ packages: source: hosted version: "3.1.1" sdks: - dart: ">=2.17.0 <3.0.0" + dart: ">=2.18.0 <3.0.0" flutter: ">=3.0.1" diff --git a/pubspec.yaml b/pubspec.yaml index b2f896ce..ada56679 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -54,7 +54,7 @@ dependencies: ribn_toolkit: git: url: https://github.com/Topl/ribn-toolkit - ref: 0.4-front-end + ref: RIBN-559 # ribn_toolkit: # path: ../ribn_toolkit brambldart: From 8db84a0e82ad92959640446c704566fdbb1df73f Mon Sep 17 00:00:00 2001 From: Rex Serubii Date: Wed, 14 Dec 2022 16:12:26 -0300 Subject: [PATCH 02/58] Upgrade Dependencies Bit of a big one considering all the formatting --- android/app/build.gradle | 2 +- lib/actions/keychain_actions.dart | 5 +- lib/actions/restore_wallet_actions.dart | 10 +- lib/constants/assets.dart | 87 ++- lib/constants/keys.dart | 3 +- lib/constants/network_utils.dart | 6 +- lib/constants/routes.dart | 12 +- lib/constants/rules.dart | 36 +- lib/constants/strings.dart | 105 ++-- .../asset_transfer_input_container.dart | 15 +- lib/containers/create_password_container.dart | 18 +- lib/containers/login_container.dart | 13 +- lib/containers/mint_input_container.dart | 22 +- .../poly_transfer_input_container.dart | 17 +- lib/containers/ribn_app_bar_container.dart | 9 +- .../seed_phrase_confirmation_container.dart | 13 +- lib/containers/settings_container.dart | 3 +- .../transaction_history_container.dart | 35 +- lib/containers/wallet_balance_container.dart | 19 +- lib/generated_plugin_registrant.dart | 25 - lib/genus/generated/blocks_query.pb.dart | 440 ++++++++++---- lib/genus/generated/blocks_query.pbenum.dart | 1 - lib/genus/generated/blocks_query.pbgrpc.dart | 9 +- lib/genus/generated/blocks_query.pbjson.dart | 218 ++++++- .../generated/blocks_subscription.pb.dart | 128 ++-- .../generated/blocks_subscription.pbenum.dart | 1 - .../generated/blocks_subscription.pbgrpc.dart | 9 +- .../generated/blocks_subscription.pbjson.dart | 63 +- lib/genus/generated/filters.pb.dart | 569 ++++++++++++------ lib/genus/generated/filters.pbenum.dart | 1 - lib/genus/generated/filters.pbjson.dart | 444 ++++++++++++-- lib/genus/generated/services_types.pb.dart | 28 +- .../generated/services_types.pbenum.dart | 1 - .../generated/services_types.pbjson.dart | 4 +- .../generated/transactions_query.pb.dart | 376 ++++++++---- .../generated/transactions_query.pbenum.dart | 1 - .../generated/transactions_query.pbgrpc.dart | 3 +- .../generated/transactions_query.pbjson.dart | 207 ++++++- .../transactions_subscription.pb.dart | 116 ++-- .../transactions_subscription.pbenum.dart | 1 - .../transactions_subscription.pbgrpc.dart | 6 +- .../transactions_subscription.pbjson.dart | 63 +- lib/genus/generated/types.pb.dart | 462 ++++++++++---- lib/genus/generated/types.pbenum.dart | 1 - lib/genus/generated/types.pbjson.dart | 138 ++++- lib/js_workers/generate_keystore_worker.dart | 3 +- lib/js_workers/login_worker.dart | 3 +- lib/main.dart | 7 +- lib/middlewares/epic_middleware.dart | 43 +- .../internal_message_middleware.dart | 14 +- lib/middlewares/keychain_middleware.dart | 49 +- lib/middlewares/login_middleware.dart | 33 +- lib/middlewares/misc_middleware.dart | 24 +- lib/middlewares/onboarding_middleware.dart | 33 +- .../restore_wallet_middleware.dart | 28 +- lib/middlewares/transaction_middleware.dart | 66 +- lib/models/app_state.dart | 3 +- lib/models/asset_details.dart | 11 +- lib/models/internal_message.dart | 11 +- lib/models/keychain_state.dart | 11 +- lib/models/login_state.dart | 10 +- lib/models/onboarding_state.dart | 5 +- lib/models/raw_tx.dart | 15 +- lib/models/ribn_network.dart | 28 +- lib/models/transfer_details.dart | 3 - lib/models/user_details_state.dart | 12 +- lib/platform/interfaces.dart | 2 - lib/platform/mobile/storage.dart | 11 +- lib/platform/mobile/utils.dart | 2 +- lib/platform/mobile/worker_runner.dart | 4 +- lib/platform/web/genus_config.dart | 3 +- lib/platform/web/messenger.dart | 3 +- lib/platform/web/platform_web.dart | 2 +- lib/platform/web/wallet.dart | 3 - lib/platform/web/worker_runner.dart | 4 +- .../asset_icon_edit_section.dart | 29 +- .../asset_long_name_edit_section.dart | 18 +- .../asset_unit_edit_section.dart | 15 +- .../asset_icon_details.dart | 3 +- .../asset_long_name_details.dart | 8 +- .../asset_unit_details.dart | 3 +- .../asset_details/asset_details_page.dart | 36 +- .../input_dropdown_wrapper.dart | 3 +- .../authorize_and_sign/loading_dapp.dart | 6 - .../transaction_row_details.dart | 9 +- lib/presentation/empty_state_screen.dart | 8 +- lib/presentation/enable_page.dart | 12 +- lib/presentation/external_signing_page.dart | 3 +- .../home/wallet_balance_page.dart | 83 +-- lib/presentation/login/login_page.dart | 24 +- .../create_wallet/create_password_page.dart | 43 +- .../create_wallet/enable_biometrics_page.dart | 15 +- .../create_wallet/getting_started_page.dart | 3 +- .../seed_phrase_confirmation_page.dart | 52 +- .../seed_phrase_display_page.dart | 49 +- .../seed_phrase_generating_page.dart | 7 +- .../seed_phrase_info_checklist_page.dart | 20 +- .../seed_phrase_instructions_page.dart | 11 +- .../create_wallet/select_action_page.dart | 9 +- .../create_wallet/wallet_created_page.dart | 9 +- .../wallet_info_checklist_page.dart | 31 +- .../create_wallet/welcome_page.dart | 7 +- .../onboarding/extension_info_page.dart | 6 +- .../create_new_wallet_password_page.dart | 39 +- .../enter_wallet_password_page.dart | 3 +- .../restore_wallet/restore_wallet_page.dart | 23 +- .../restore_with_topl_key_page.dart | 21 +- lib/presentation/onboarding/utils.dart | 6 +- .../widgets/onboarding_container.dart | 9 +- .../widgets/uploaded_file_container.dart | 3 +- .../onboarding/widgets/warning_section.dart | 3 +- .../settings/sections/biometrics_section.dart | 6 +- .../delete_wallet_confirmation_dialog.dart | 16 +- .../sections/delete_wallet_section.dart | 11 +- .../settings/sections/links_section.dart | 6 +- lib/presentation/settings/settings_page.dart | 34 +- .../dashed_list_separator.dart | 10 +- .../transaction_data_row.dart | 76 ++- .../transaction_history_data_tile.dart | 4 +- .../transaction_history_details_page.dart | 106 +++- .../transaction_history_page.dart | 13 +- .../transfers/asset_transfer_page.dart | 12 +- .../transfers/asset_transfer_section.dart | 55 +- .../transfers/bottom_review_action.dart | 2 +- .../transfers/mint_input_page.dart | 35 +- .../transfers/poly_transfer_section.dart | 12 +- .../transfers/tx_confirmation_page.dart | 47 +- .../transfers/tx_review_page.dart | 35 +- lib/reducers/internal_message_reducer.dart | 9 +- lib/reducers/keychain_reducer.dart | 37 +- lib/reducers/onboarding_reducer.dart | 17 +- lib/reducers/user_details_reducer.dart | 21 +- lib/redux.dart | 15 +- lib/repositories/keychain_repository.dart | 40 +- lib/repositories/login_repository.dart | 6 +- lib/repositories/onboarding_repository.dart | 20 +- lib/repositories/transaction_repository.dart | 32 +- lib/router/root_router.dart | 190 ++++-- lib/utils.dart | 7 +- lib/widgets/address_display_container.dart | 6 +- lib/widgets/custom_page_title.dart | 7 +- pubspec.lock | 70 +-- pubspec.yaml | 21 +- test/middleware_test.dart | 57 +- test/reducer_test.dart | 19 +- test/test_data.dart | 9 +- 146 files changed, 4332 insertions(+), 1551 deletions(-) delete mode 100644 lib/generated_plugin_registrant.dart diff --git a/android/app/build.gradle b/android/app/build.gradle index cf8e2855..72b89e05 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -33,7 +33,7 @@ apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" android { - compileSdkVersion 31 + compileSdkVersion 33 compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 diff --git a/lib/actions/keychain_actions.dart b/lib/actions/keychain_actions.dart index cc74b50d..fa9d17d0 100644 --- a/lib/actions/keychain_actions.dart +++ b/lib/actions/keychain_actions.dart @@ -7,7 +7,10 @@ import 'package:ribn/models/ribn_network.dart'; class InitializeHDWalletAction { final String? keyStoreJson; final Uint8List toplExtendedPrivateKey; - const InitializeHDWalletAction({this.keyStoreJson, required this.toplExtendedPrivateKey}); + const InitializeHDWalletAction({ + this.keyStoreJson, + required this.toplExtendedPrivateKey, + }); } class GenerateInitialAddressesAction { diff --git a/lib/actions/restore_wallet_actions.dart b/lib/actions/restore_wallet_actions.dart index 866bff88..21937120 100644 --- a/lib/actions/restore_wallet_actions.dart +++ b/lib/actions/restore_wallet_actions.dart @@ -4,7 +4,10 @@ import 'dart:typed_data'; class RestoreWalletWithMnemonicAction { final String mnemonic; final String password; - RestoreWalletWithMnemonicAction({required this.mnemonic, required this.password}); + RestoreWalletWithMnemonicAction({ + required this.mnemonic, + required this.password, + }); } class RestoreWalletWithToplKeyAction { @@ -22,7 +25,10 @@ class RestoreWalletWithToplKeyAction { class SuccessfullyRestoredWalletAction { final String keyStoreJson; final Uint8List toplExtendedPrivateKey; - const SuccessfullyRestoredWalletAction({required this.keyStoreJson, required this.toplExtendedPrivateKey}); + const SuccessfullyRestoredWalletAction({ + required this.keyStoreJson, + required this.toplExtendedPrivateKey, + }); } class FailedToRestoreWalletAction {} diff --git a/lib/constants/assets.dart b/lib/constants/assets.dart index 1df7b818..fa40246a 100644 --- a/lib/constants/assets.dart +++ b/lib/constants/assets.dart @@ -10,13 +10,15 @@ class RibnAssets { static const seedPhraseCreatedIcon = 'assets/icons/seedphrase_created.png'; static const passwordManagerIcon = 'assets/icons/password_manager.svg'; static const encryptFileIcon = 'assets/icons/encrypt_file.svg'; - static const seedPhraseConfirmedIcon = 'assets/icons/seed_phrase_confirmed.svg'; + static const seedPhraseConfirmedIcon = + 'assets/icons/seed_phrase_confirmed.svg'; static const walletPasswordIcon = 'assets/icons/wallet_password.svg'; static const addIcon = 'assets/icons/add.svg'; static const removeIcon = 'assets/icons/remove.svg'; static const extensionIcon = 'assets/icons/extension.svg'; static const plusIcon = 'assets/icons/plus.svg'; - static const importWalletIcon = 'packages/ribn_toolkit/assets/icons/restore_wallet.png'; + static const importWalletIcon = + 'packages/ribn_toolkit/assets/icons/restore_wallet.png'; static const closeGreyIcon = 'assets/icons/close_grey.svg'; static const downloadIcon = 'assets/icons/download.svg'; static const infoIcon = 'assets/icons/info.png'; @@ -24,7 +26,8 @@ class RibnAssets { static const sentIcon = 'assets/icons/sent.svg'; static const receiveIcon = 'assets/icons/receive.png'; static const menuIcon = 'assets/icons/menu.svg'; - static const txHistoryPageActiveIcon = 'assets/icons/tx_history_page_active.svg'; + static const txHistoryPageActiveIcon = + 'assets/icons/tx_history_page_active.svg'; static const txHistoryPageIcon = 'assets/icons/tx_history_page.svg'; static const settingsIcon = 'packages/ribn_toolkit/assets/icons/settings.png'; static const supportIcon = 'packages/ribn_toolkit/assets/icons/support.png'; @@ -45,15 +48,24 @@ class RibnAssets { static const copyUnselectedIcon = 'assets/icons/copy_unselected.png'; static const copySelectedIcon = 'assets/icons/copy_selected.png'; static const unselectedAsset = 'assets/icons/asset_unselected.png'; - static const coffBlueIcon = 'packages/ribn_toolkit/assets/asset_icons/coff_blue_icon.png'; - static const coffBrownIcon = 'packages/ribn_toolkit/assets/asset_icons/coff_brown_icon.png'; - static const coffGreenIcon = 'packages/ribn_toolkit/assets/asset_icons/coff_green_icon.png'; - static const coffPurpleIcon = 'packages/ribn_toolkit/assets/asset_icons/coff_purple_icon.png'; - static const coffYellowIcon = 'packages/ribn_toolkit/assets/asset_icons/coff_yellow_icon.png'; - static const diaBlueIcon = 'packages/ribn_toolkit/assets/asset_icons/dia_blue_icon.png'; - static const diaGreenIcon = 'packages/ribn_toolkit/assets/asset_icons/dia_green_icon.png'; - static const diaPurpleIcon = 'packages/ribn_toolkit/assets/asset_icons/dia_purple_icon.png'; - static const diaYellowIcon = 'packages/ribn_toolkit/assets/asset_icons/dia_yellow_icon.png'; + static const coffBlueIcon = + 'packages/ribn_toolkit/assets/asset_icons/coff_blue_icon.png'; + static const coffBrownIcon = + 'packages/ribn_toolkit/assets/asset_icons/coff_brown_icon.png'; + static const coffGreenIcon = + 'packages/ribn_toolkit/assets/asset_icons/coff_green_icon.png'; + static const coffPurpleIcon = + 'packages/ribn_toolkit/assets/asset_icons/coff_purple_icon.png'; + static const coffYellowIcon = + 'packages/ribn_toolkit/assets/asset_icons/coff_yellow_icon.png'; + static const diaBlueIcon = + 'packages/ribn_toolkit/assets/asset_icons/dia_blue_icon.png'; + static const diaGreenIcon = + 'packages/ribn_toolkit/assets/asset_icons/dia_green_icon.png'; + static const diaPurpleIcon = + 'packages/ribn_toolkit/assets/asset_icons/dia_purple_icon.png'; + static const diaYellowIcon = + 'packages/ribn_toolkit/assets/asset_icons/dia_yellow_icon.png'; static const addressCopiedIcon = 'assets/icons/address_copied.png'; static const polysIcon = 'assets/icons/polysIcon.png'; static const undefinedIcon = 'assets/icons/undefined_icon.png'; @@ -66,22 +78,32 @@ class RibnAssets { static const smsFailed = 'assets/icons/sms_failed.png'; static const openInNewWindow = 'assets/icons/open_in_new.png'; static const roundInfoCircle = 'assets/icons/round_info_circle.png'; - static const newRibnLogo = 'packages/ribn_toolkit/assets/icons/new_ribn_logo.png'; - static const newCircleRibnLogo = 'packages/ribn_toolkit/assets/icons/ribn_circle_logo.png'; - static const chevronDown = 'packages/ribn_toolkit/assets/icons/chevron_down.png'; - static const chevronDownDark = 'packages/ribn_toolkit/assets/icons/chevron_down_dark.png'; - static const hamburgerMenu = 'packages/ribn_toolkit/assets/icons/hamburger_menu.png'; - static const circleExclamation = 'packages/ribn_toolkit/assets/icons/error.png'; + static const newRibnLogo = + 'packages/ribn_toolkit/assets/icons/new_ribn_logo.png'; + static const newCircleRibnLogo = + 'packages/ribn_toolkit/assets/icons/ribn_circle_logo.png'; + static const chevronDown = + 'packages/ribn_toolkit/assets/icons/chevron_down.png'; + static const chevronDownDark = + 'packages/ribn_toolkit/assets/icons/chevron_down_dark.png'; + static const hamburgerMenu = + 'packages/ribn_toolkit/assets/icons/hamburger_menu.png'; + static const circleExclamation = + 'packages/ribn_toolkit/assets/icons/error.png'; static const circleInfo = 'assets/icons/circle_info.png'; - static const greyHelpBubble = 'packages/ribn_toolkit/assets/icons/gray_help_bubble.png'; + static const greyHelpBubble = + 'packages/ribn_toolkit/assets/icons/gray_help_bubble.png'; static const plusBlue = 'packages/ribn_toolkit/assets/icons/plus_blue.png'; static const plusGrey = 'packages/ribn_toolkit/assets/icons/plus_grey.png'; - static const walletBlue = 'packages/ribn_toolkit/assets/icons/wallet_blue.png'; - static const walletGrey = 'packages/ribn_toolkit/assets/icons/wallet_grey.png'; + static const walletBlue = + 'packages/ribn_toolkit/assets/icons/wallet_blue.png'; + static const walletGrey = + 'packages/ribn_toolkit/assets/icons/wallet_grey.png'; static const clockBlue = 'packages/ribn_toolkit/assets/icons/clock_blue.png'; static const clockGrey = 'packages/ribn_toolkit/assets/icons/clock_grey.png'; static const copyIcon = 'packages/ribn_toolkit/assets/icons/copy_icon.png'; - static const circlePlus = 'packages/ribn_toolkit/assets/icons/circle_plus.png'; + static const circlePlus = + 'packages/ribn_toolkit/assets/icons/circle_plus.png'; static const copyIconAlternate = 'assets/icons/copy_icon_alternate.png'; static const fingerPrintAssets = 'assets/icons/finger_print_assets.png'; static const redDangerTriangle = 'assets/icons/red_danger_triangle.png'; @@ -91,11 +113,16 @@ class RibnAssets { static const passwordLockPng = 'assets/icons/password_lock.png'; static const penPaperPng = 'assets/icons/pen_paper.png'; static const programPng = 'assets/icons/program.png'; - static const onboardingBackgroundSvg = 'assets/icons/onboarding_background.svg'; - static const onboardingBackgroundPng = 'assets/icons/onboarding_background.png'; - static const createWalletPng = 'packages/ribn_toolkit/assets/icons/create_wallet.png'; - static const createWalletPngWithShadow = 'packages/ribn_toolkit/assets/icons/create_wallet_shadow.png'; - static const importWalletPng = 'packages/ribn_toolkit/assets/icons/import_wallet.png'; + static const onboardingBackgroundSvg = + 'assets/icons/onboarding_background.svg'; + static const onboardingBackgroundPng = + 'assets/icons/onboarding_background.png'; + static const createWalletPng = + 'packages/ribn_toolkit/assets/icons/create_wallet.png'; + static const createWalletPngWithShadow = + 'packages/ribn_toolkit/assets/icons/create_wallet_shadow.png'; + static const importWalletPng = + 'packages/ribn_toolkit/assets/icons/import_wallet.png'; static const walletLockPng = 'assets/icons/wallet_lock.png'; static const passwordVisiblePng = 'assets/icons/password_visible.png'; static const passwordHiddenPng = 'assets/icons/password_hidden.png'; @@ -110,9 +137,11 @@ class RibnAssets { static const touchID = 'assets/icons/touch_id.png'; static const touchIDCutout = 'assets/icons/touch_id_cutout.png'; static const iosBiometrics = 'assets/icons/iphone_biometrics.png'; - static const iosBiometricsOutline = 'assets/icons/iphone_biometrics_outline.png'; + static const iosBiometricsOutline = + 'assets/icons/iphone_biometrics_outline.png'; static const andriodBiometrics = 'assets/icons/android_biometrics.png'; - static const andriodBiometricsOutline = 'assets/icons/android_biometrics_outline.png'; + static const andriodBiometricsOutline = + 'assets/icons/android_biometrics_outline.png'; static const addPlusPng = 'assets/icons/add_plus.png'; static const documentPng = 'assets/icons/document.png'; static const polyIconCircle = 'assets/icons/poly_icon_circle.png'; diff --git a/lib/constants/keys.dart b/lib/constants/keys.dart index 3add3a55..76ed092c 100644 --- a/lib/constants/keys.dart +++ b/lib/constants/keys.dart @@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; class Keys { Keys._(); - static final GlobalKey navigatorKey = GlobalKey(); + static final GlobalKey navigatorKey = + GlobalKey(); static const isTestingEnvironment = bool.fromEnvironment('FLUTTER_TEST'); } diff --git a/lib/constants/network_utils.dart b/lib/constants/network_utils.dart index 342c90e8..471803ac 100644 --- a/lib/constants/network_utils.dart +++ b/lib/constants/network_utils.dart @@ -11,8 +11,10 @@ class NetworkUtils { static int valhallaId = constants.networkRegistry[valhalla]!; static int privateId = constants.networkRegistry[private]!; static Map networkFees = { - valhallaId: PolyAmount.fromUnitAndValue(PolyUnit.nanopoly, constants.valhallaFee), - toplNetId: PolyAmount.fromUnitAndValue(PolyUnit.nanopoly, constants.toplnetFee), + valhallaId: + PolyAmount.fromUnitAndValue(PolyUnit.nanopoly, constants.valhallaFee), + toplNetId: + PolyAmount.fromUnitAndValue(PolyUnit.nanopoly, constants.toplnetFee), privateId: PolyAmount.zero(), }; static const String projectId = '60ff001754b7c75558146daf'; diff --git a/lib/constants/routes.dart b/lib/constants/routes.dart index a697f6ae..8ac1cd05 100644 --- a/lib/constants/routes.dart +++ b/lib/constants/routes.dart @@ -27,10 +27,14 @@ class Routes { static const restoreWalletNewPassword = '/restore-wallet/new-password'; static const enterWalletPassword = '/restore-wallet/topl-key/enter-password'; static const loginRestoreWalletWithToplKey = '/login/restore-wallet/topl-key'; - static const loginRestoreWalletEnterPassword = '/login/restore-wallet/enter-password'; - static const onboardingRestoreWalletWithMnemonic = '/onboarding/restore-wallet/mnemonic'; - static const onboardingRestoreWalletWithToplKey = '/onboarding/restore-wallet/topl-key'; - static const onboardingRestoreWalletEnterPassword = '/onboarding/restore-wallet/enter-password'; + static const loginRestoreWalletEnterPassword = + '/login/restore-wallet/enter-password'; + static const onboardingRestoreWalletWithMnemonic = + '/onboarding/restore-wallet/mnemonic'; + static const onboardingRestoreWalletWithToplKey = + '/onboarding/restore-wallet/topl-key'; + static const onboardingRestoreWalletEnterPassword = + '/onboarding/restore-wallet/enter-password'; static const onboardingEnableBiometrics = '/onboarding/enable-biometrics'; static const assetsTransferInput = '/asset-transfer'; static const polyTransferInput = '/poly-transfer-input'; diff --git a/lib/constants/rules.dart b/lib/constants/rules.dart index 5ecda1e1..9425d5c4 100644 --- a/lib/constants/rules.dart +++ b/lib/constants/rules.dart @@ -7,34 +7,50 @@ import 'package:ribn/constants/strings.dart'; class Rules { Rules._(); + static const int minPasswordLength = 8; static const int scryptN = 8192; static const int extendedSecretKeySize = hd.extendedSecretKeySize; static const int toplKeyDepth = 2; static const int hardenedOffset = constants.hardenedOffset; + // Reference: [CIP-1852](https://github.com/cardano-foundation/CIPs/blob/master/CIP-1852/CIP-1852.md) // m / purpose' / coin_type' / account' / role / index static const int defaultPurpose = constants.defaultPurpose; // 1852' static const int defaultCoinType = constants.defaultCoinType; // 7091' static const int defaultAccountIndex = constants.defaultAccountIndex; // 0' - static const int defaultChangeIndex = - constants.defaultChangeIndex; // 0=external/payments, 1=internal/change, 2=staking + static const int defaultChangeIndex = constants + .defaultChangeIndex; // 0=external/payments, 1=internal/change, 2=staking static const int defaultAddressIndex = constants.defaultAddressIndex; static const int assetCodeVersion = constants.supportedAssetCodeVersion; static const int internalIdx = 1; static Map txHistoryUrls = { - NetworkUtils.valhallaId: 'https://annulus-api.topl.services/staging/valhalla', + NetworkUtils.valhallaId: + 'https://annulus-api.topl.services/staging/valhalla', NetworkUtils.toplNetId: 'https://annulus-api.topl.services/staging/toplnet', - NetworkUtils.privateId: 'https://annulus-api.topl.services/staging/valhalla', + NetworkUtils.privateId: + 'https://annulus-api.topl.services/staging/valhalla', }; static Map txDetailsRedirectUrls = { - NetworkUtils.valhallaId: 'https://staging.valhalla.annulus.topl.services/#/transaction/', - NetworkUtils.toplNetId: 'https://staging.toplnet.annulus.topl.services/#/transaction/', - NetworkUtils.privateId: 'https://staging.valhalla.annulus.topl.services/#/transaction/', + NetworkUtils.valhallaId: + 'https://staging.valhalla.annulus.topl.services/#/transaction/', + NetworkUtils.toplNetId: + 'https://staging.toplnet.annulus.topl.services/#/transaction/', + NetworkUtils.privateId: + 'https://staging.valhalla.annulus.topl.services/#/transaction/', }; - static String txHistoryUrl(String addr, int networkId) => '${txHistoryUrls[networkId]!}/v1/address/history/$addr'; - static String txDetailsUrl(String txId, int networkId) => '${txDetailsRedirectUrls[networkId]!}$txId'; - static const transferTypes = [Strings.polyTransfer, Strings.assetTransfer, Strings.minting]; + + static String txHistoryUrl(String addr, int networkId) => + '${txHistoryUrls[networkId]!}/v1/address/history/$addr'; + + static String txDetailsUrl(String txId, int networkId) => + '${txDetailsRedirectUrls[networkId]!}$txId'; + static const transferTypes = [ + Strings.polyTransfer, + Strings.assetTransfer, + Strings.minting + ]; + static BramblClient getBramblCient(int networkId) { final Dio httpClient = Dio( BaseOptions( diff --git a/lib/constants/strings.dart b/lib/constants/strings.dart index 5efaf717..bdbac6d0 100644 --- a/lib/constants/strings.dart +++ b/lib/constants/strings.dart @@ -41,13 +41,16 @@ class Strings { static const String sign = 'Sign'; static const String back = 'Back'; static const String welcomeToRibn = 'Welcome to Ribn'; - static const String intro = 'Topl’s blockchain wallet used to track, tokenize, and transact impact.'; + static const String intro = + 'Topl’s blockchain wallet used to track, tokenize, and transact impact.'; static const String getStarted = 'Get started'; static const String createWallet = 'Create wallet'; - static const String createWalletDescription = 'First time? Create your new wallet\nand 15 word Seed Phrase.'; + static const String createWalletDescription = + 'First time? Create your new wallet\nand 15 word Seed Phrase.'; static const String importWallet = 'Import wallet'; static const String restoreWallet = 'Restore wallet'; - static const String restoreWalletDescription = 'Restore your existing Ribn wallet\nusing a Seed Phrase or Topl key.'; + static const String restoreWalletDescription = + 'Restore your existing Ribn wallet\nusing a Seed Phrase or Topl key.'; static const String gettingStarted = 'Getting started'; static const String download = 'Download'; static const String gettingStartedDescription = @@ -64,22 +67,27 @@ This 15-word phrase will be used to restore your assets if this device is lost o static const String beforeYouStart = 'Before you start'; static const String okLetsGo = "Ok, let's go!"; static const String weRecommend = 'We Recommend:'; - static const String weRecommendSub = 'At least one of the following to record your Seed Phrase safely:'; + static const String weRecommendSub = + 'At least one of the following to record your Seed Phrase safely:'; static const String paperAndPen = 'A paper and pen.'; static const String securePasswordManager = 'A secure password manager.'; - static const String encryptTextFile = 'A program such as PGP to encrypt your text file.'; + static const String encryptTextFile = + 'A program such as PGP to encrypt your text file.'; static const String writeDownSeedPhrase = 'Write down Seed Phrase'; static const String seedPhraseFileName = 'seed_phrase'; static const String letsTryThatAgain = 'Now, Let’s Try That Again'; static const String heyIWasntKidding = '''Hey I wasn’t kidding, write these words down in the exact order they are shown. Remember don’t take any screenshots!'''; - static const String writeDownSeedPhraseDesc = '''Now, you will write each word of your Seed Phrase down carefully. + static const String writeDownSeedPhraseDesc = + '''Now, you will write each word of your Seed Phrase down carefully. Make sure they are in the exact order shown below. Don’t take screenshots!'''; static const String done = 'Done'; static const String confirmYourSeedPhrase = 'Confirm your Seed Phrase'; - static const String confirmYourSeedPhraseDesc = 'Click each word in the correct order.'; + static const String confirmYourSeedPhraseDesc = + 'Click each word in the correct order.'; static const String seedPhraseConfirmed = 'Seed Phrase Confirmed!'; - static const String seedPhraseConfirmedDesc = '''Good job! Each word in your Seed Phrase has been input correctly. + static const String seedPhraseConfirmedDesc = + '''Good job! Each word in your Seed Phrase has been input correctly. Rest assured, you have saved the correct words, in the correct order.'''; static const String cont = 'Continue'; static const String finalReview = 'Final Review'; @@ -95,7 +103,8 @@ Rest assured, you have saved the correct words, in the correct order.'''; static const String readFollowingCarefully = 'Read Following Carefully'; static const String savedMyWalletPasswordSafely = 'I have saved my Wallet Password safely. I will use this password to unlock my wallet.'; - static const String toplCannotRecoverForMe = 'I understand that Topl cannot recover my Wallet Password for me.'; + static const String toplCannotRecoverForMe = + 'I understand that Topl cannot recover my Wallet Password for me.'; static const String spAndPasswordUnrecoverable = 'I understand that my Seed phrase and Wallet Password are both unrecoverable.'; static const String walletCreated = '''Success!\nWallet Created'''; @@ -103,13 +112,16 @@ Rest assured, you have saved the correct words, in the correct order.'''; '''You’re all set. Make sure to keep your 15 word Seed phrase safe and private.\n You'll need it to recover your wallet if your device is lost or broken.'''; static const String frequentlyAskedQuestions = 'Frequently Asked Questions:'; - static const String howCanIKeepMySeedPhraseSecure = 'How can I keep my Seed Phrase secure?'; + static const String howCanIKeepMySeedPhraseSecure = + 'How can I keep my Seed Phrase secure?'; static const String howCanIKeepMySeedPhraseSecureAns = '''• Save in a password manager.\n• Keep in a safe deposit box.\n• Encrypt and store on an external drive.'''; - static const String howIsASeedPhraseDifferent = 'How is a Seed Phrase different from a Wallet Password?'; + static const String howIsASeedPhraseDifferent = + 'How is a Seed Phrase different from a Wallet Password?'; static const String howIsASeedPhraseDifferentAns = '''The Seed Phrase is different because you can restore your wallet with it. The Wallet Password is for security and only lets you unlock the wallet after it has been imported (or created) in wallet software. Your Wallet Password isn't required to lock your wallet.'''; - static const String howIsMySeedPhraseUnrecoverable = 'How is my Seed Phrase or Wallet Password unrecoverable?'; + static const String howIsMySeedPhraseUnrecoverable = + 'How is my Seed Phrase or Wallet Password unrecoverable?'; static const String howIsMySeedPhraseUnrecoverableAns = '''You are the only one with a record of your Seed Phrase or Wallet Password. Topl does not maintain or have any way to generate either of these for you.'''; static const String howIsMySeedPhraseUnrecoverableNewLine = @@ -117,8 +129,10 @@ You'll need it to recover your wallet if your device is lost or broken.'''; static const String seedPhraseGenerating = 'Seed Phrase Generating...'; static const String goGrabAPenAndPaper = 'Go grab a pen and paper'; - static const String seriouslyGetAPenAndPaper = 'Seriously, get a pen and paper'; - static const String aboutToShowSeedPhrase = '''We are about to show you 15 words.\n + static const String seriouslyGetAPenAndPaper = + 'Seriously, get a pen and paper'; + static const String aboutToShowSeedPhrase = + '''We are about to show you 15 words.\n These words need to be written down carefully and in the exact order shown.'''; static const String seedPhraseGenerated = 'Seed Phrase generated!'; static const String seedPhraseGeneratedDesc = @@ -131,8 +145,10 @@ Write down the each word in the exact order it is presented.'''; static const String ribnWallet = 'Ribn Wallet'; static const String openTheWalletBy = 'Open the Ribn Wallet extension by:'; static const String clickingTheIconPartOne = 'Clicking the '; - static const String clickingTheIconPartTwo = ''' icon on the top right of your browser.\n\nOr, clicking the '''; - static const String clickingTheIconPartThree = ' to find the Ribn Wallet extension in the Chrome extension list.'; + static const String clickingTheIconPartTwo = + ''' icon on the top right of your browser.\n\nOr, clicking the '''; + static const String clickingTheIconPartThree = + ' to find the Ribn Wallet extension in the Chrome extension list.'; static const String ribnVersion = 'Ribn Version'; static const String links = 'Links'; static const String termsOfUse = 'Terms of Use'; @@ -143,13 +159,15 @@ Write down the each word in the exact order it is presented.'''; '''Export Topl Main Key and save it somewhere secure.\nYou can reimport this to restore your wallet.'''; static const String exportWallet = 'Export Wallet'; static const String dangerZone = 'Danger Zone'; - static const String actionNotReversible = 'Careful, these actions are not reversible!'; + static const String actionNotReversible = + 'Careful, these actions are not reversible!'; static const String removeWallet = 'Remove wallet from your device'; static const String disconnectDApps = 'Disconnect DApps from Ribn'; static const String delete = 'Delete'; static const String disconnect = 'Disconnect'; static const String deleteRibnWallet = 'Delete Ribn Wallet'; - static const String disconnectRibnWalletDApps = 'Disconnect all DApps from Ribn wallet?'; + static const String disconnectRibnWalletDApps = + 'Disconnect all DApps from Ribn wallet?'; static const String deleteRibnWalletDesc = 'Enter your wallet password to delete this wallet.\n\nThis action is not reversible. Your Ribn wallet will be deleted from this device.'; static const String disconnectRibnWalletDAppsDesc = @@ -165,11 +183,13 @@ Write down the each word in the exact order it is presented.'''; static const String restoreWalletNewline = 'RESTORE\nWALLET'; static const String restoreWalletDesc = 'You can either use your 15-word Seed Phrase or your Top Level Key to import or recover your wallet.'; - static const String seedPhraseDiffFromTopLevelKey = 'How is a Seed Phrase different from a Top Level Key?'; + static const String seedPhraseDiffFromTopLevelKey = + 'How is a Seed Phrase different from a Top Level Key?'; static const String seedPhraseDiffFromTopLevelKeyDesc = '''Your Seed Phrase is a combination of words that you can use to maintain accounts across multiple blockchains including Topl's. Meanwhile, your Top Level Key is a unique key file, specific to the Topl Blockchain. Either one can be used to access your wallet.'''; - static const String whereCanIFindMyTopLevelKey = 'Where can I find my Top Level Key?'; + static const String whereCanIFindMyTopLevelKey = + 'Where can I find my Top Level Key?'; static const String whereCanIFindMyTopLevelKeyDesc = '''You can find and export your Top Level Key under settings. Please make sure to save this in a secure location as we cannot provide it to you if you lose access to your wallet.'''; static const String hintSeedPhrase = @@ -181,10 +201,12 @@ Write down the each word in the exact order it is presented.'''; static const String needHelp = 'Need help? Contact '; static const String ribnSupport = 'Ribn Support'; - static const String importWalletUsingSeedPhrase = 'Import an existing Ribn wallet using your Seed Phrase.'; + static const String importWalletUsingSeedPhrase = + 'Import an existing Ribn wallet using your Seed Phrase.'; static const String typeSomething = 'Type something'; static const String supportEmail = 'support@topl.me'; - static const String supportEmailLink = 'mailto:$supportEmail?subject=Ribn Support&body='; + static const String supportEmailLink = + 'mailto:$supportEmail?subject=Ribn Support&body='; static const String sendAssets = 'Send assets'; static const String sendNativeCoins = 'Send native coins'; static const String yourRibnWalletAddress = 'Your Ribn Wallet address'; @@ -214,13 +236,15 @@ Write down the each word in the exact order it is presented.'''; static const String mintExistingAsset = 'Mint existing asset'; static const String myRibnWallet = 'MY\nRIBN WALLET'; static const String anotherRecipientsWallet = 'ANOTHER RECIPIENT\'S WALLET '; - static const String mintAssetDesc = 'Where would you like your Asset to be minted?'; + static const String mintAssetDesc = + 'Where would you like your Asset to be minted?'; static const String issuerAddress = 'Issuer address'; static const String walletPasswordInfo = 'Your Wallet Password can lock and unlock your\nwallet on a device where it is already stored.'; static const String assetLongNameInfo = 'The descriptive name used to identify your\nassets locally in your Ribn Wallet.'; - static const String assetCodeLongInfo = 'Asset code serves as a unique identifier\nfor user issued assets.'; + static const String assetCodeLongInfo = + 'Asset code serves as a unique identifier\nfor user issued assets.'; static const String assetCodeShortInfo = 'This is used to view the short name for your \nasset as this will be the information used to\nidentify a particular asset on the blockchain.'; static const String issuerAddressInfo = @@ -229,7 +253,8 @@ Write down the each word in the exact order it is presented.'''; static const String newWalletPassword = 'New Wallet Password'; static const String newWalletPasswordHint = 'Min 8 characters'; static const String confirmWalletPassword = 'Confirm Wallet Password'; - static const String confirmWalletPasswordHint = 'Re-type your Wallet Password'; + static const String confirmWalletPasswordHint = + 'Re-type your Wallet Password'; static const String warning = 'Warning'; static const String restoreWalletWarning = '''For your security, restoration of a wallet will overwrite all previously stored Ribn activity. This will not affect any activity recorded on the blockchain itself.'''; @@ -254,19 +279,24 @@ Write down the each word in the exact order it is presented.'''; static const String myRibnWalletAddress = 'My Ribn Wallet Address'; static const String copyAddress = 'Copy address'; static const String privacyPolicyUrl = 'https://legal.topl.co/Privacy_Policy'; - static const String termsOfUseUrl = 'https://legal.topl.co/Ribn_License_Agreement'; + static const String termsOfUseUrl = + 'https://legal.topl.co/Ribn_License_Agreement'; static const String loginPasswordInfo = 'Your Wallet Password can lock and unlock your\n wallet on a device where it is already stored.'; - static const String refillCurrentPolyBalance = 'You can refill your Poly balance anytime by\n signing into'; - static const String refillEmptyPolyBalance = 'Time to refill your Poly balance.\nSign into'; + static const String refillCurrentPolyBalance = + 'You can refill your Poly balance anytime by\n signing into'; + static const String refillEmptyPolyBalance = + 'Time to refill your Poly balance.\nSign into'; static const String forgotPassword = 'Forgot password?'; static const String invalidAmountError = 'The amount you entered exceeds\nyour wallet balance for this asset.\nPlease enter a valid amount!'; static const String invalidRecipientAddressError = "Hmmm... That's not a valid Recipient address.\nTip: Instead of typing it out, try copy\nand pasting your Recipient's address."; static const String invalidSeedPhrase = 'Invalid Seed Phrase'; - static const String importExistingWallet = 'Import an existing Ribn wallet using your Seed Phrase.'; - static const String firstTimeWallet = 'First time? Create a new wallet and 15 word Seed Phrase.'; + static const String importExistingWallet = + 'Import an existing Ribn wallet using your Seed Phrase.'; + static const String firstTimeWallet = + 'First time? Create a new wallet and 15 word Seed Phrase.'; static const String passwordExample = 'Example: tree-mice-house'; static const String writeDownSeedPhraseInExactOrder = 'Now, you will write your Seed Phrase in the exact order shown below.'; @@ -279,15 +309,16 @@ Write down the each word in the exact order it is presented.'''; Ribn Wallet does not control the functionality of biometrics and does not have access to your biometrics information.'''; static const String recentActivity = 'Recent Activity'; static const String transactionDetails = 'Transaction Details'; - static const String noActivityToReview = 'You currently have no wallet activity to review.'; - static const String noAssetsInWallet = 'You currently have no assets in your wallet'; + static const String noActivityToReview = + 'You currently have no wallet activity to review.'; + static const String noAssetsInWallet = + 'You currently have no assets in your wallet'; static const String emptyStateBody = 'Here’s how you can get started:\n • Mint a new asset to a wallet address\n • Share your address to receive assets'; static const String connect = 'Connect'; - static const String connectDApp = ' allowing this site to see my Ribn address, and suggest transactions to approve.'; + static const String connectDApp = + ' allowing this site to see my Ribn address, and suggest transactions to approve.'; static const String connecting = 'Connecting...'; - static const String executeTransaction = 'You are about to execute the following transaction on'; - - - + static const String executeTransaction = + 'You are about to execute the following transaction on'; } diff --git a/lib/containers/asset_transfer_input_container.dart b/lib/containers/asset_transfer_input_container.dart index c7f21ca3..b25414ea 100644 --- a/lib/containers/asset_transfer_input_container.dart +++ b/lib/containers/asset_transfer_input_container.dart @@ -93,16 +93,20 @@ class AssetTransferInputViewModel { (TransferDetails? transferDetails) { final success = transferDetails != null; onRawTxCreated(success); - Keys.navigatorKey.currentState?.pushNamed(Routes.txReview, arguments: transferDetails); + Keys.navigatorKey.currentState + ?.pushNamed(Routes.txReview, arguments: transferDetails); }, ); }, assets: store.state.keychainState.currentNetwork.getAllAssetsInWallet(), currentNetwork: store.state.keychainState.currentNetwork, - networkFee: NetworkUtils.networkFees[store.state.keychainState.currentNetwork.networkId]!.getInNanopoly, + networkFee: NetworkUtils + .networkFees[store.state.keychainState.currentNetwork.networkId]! + .getInNanopoly, assetDetails: store.state.userDetailsState.assetDetails, getAssetBalance: (String? assetCode) { - final List myAssets = store.state.keychainState.currentNetwork.getAllAssetsInWallet(); + final List myAssets = + store.state.keychainState.currentNetwork.getAllAssetsInWallet(); return myAssets .where((element) => element.assetCode.toString() == assetCode) .fold(0, (prev, value) => prev + value.quantity); @@ -123,6 +127,9 @@ class AssetTransferInputViewModel { @override int get hashCode { - return assets.hashCode ^ networkFee.hashCode ^ assetDetails.hashCode ^ currentNetwork.hashCode; + return assets.hashCode ^ + networkFee.hashCode ^ + assetDetails.hashCode ^ + currentNetwork.hashCode; } } diff --git a/lib/containers/create_password_container.dart b/lib/containers/create_password_container.dart index 5c347d28..cb961729 100644 --- a/lib/containers/create_password_container.dart +++ b/lib/containers/create_password_container.dart @@ -6,9 +6,14 @@ import 'package:ribn/actions/onboarding_actions.dart'; import 'package:ribn/models/app_state.dart'; class CreatePasswordContainer extends StatelessWidget { - const CreatePasswordContainer({Key? key, required this.builder, required this.onDidChange}) : super(key: key); + const CreatePasswordContainer({ + Key? key, + required this.builder, + required this.onDidChange, + }) : super(key: key); final ViewModelBuilder builder; - final Function(CreatePasswordViewModel?, CreatePasswordViewModel)? onDidChange; + final Function(CreatePasswordViewModel?, CreatePasswordViewModel)? + onDidChange; @override Widget build(BuildContext context) { @@ -33,8 +38,10 @@ class CreatePasswordViewModel { }); static CreatePasswordViewModel fromStore(Store store) { return CreatePasswordViewModel( - attemptCreatePassword: (String password) => store.dispatch(CreatePasswordAction(password)), - passwordSuccessfullyCreated: store.state.keychainState.keyStoreJson != null, + attemptCreatePassword: (String password) => + store.dispatch(CreatePasswordAction(password)), + passwordSuccessfullyCreated: + store.state.keychainState.keyStoreJson != null, keyStoreJson: store.state.keychainState.keyStoreJson, ); } @@ -49,5 +56,6 @@ class CreatePasswordViewModel { } @override - int get hashCode => passwordSuccessfullyCreated.hashCode & keyStoreJson.hashCode; + int get hashCode => + passwordSuccessfullyCreated.hashCode & keyStoreJson.hashCode; } diff --git a/lib/containers/login_container.dart b/lib/containers/login_container.dart index 281ed2bd..c917ac58 100644 --- a/lib/containers/login_container.dart +++ b/lib/containers/login_container.dart @@ -33,7 +33,10 @@ class LoginContainer extends StatelessWidget { class LoginViewModel { /// Handler for when there is an attempt to login using [password]. - final Function({required String password, required VoidCallback onIncorrectPasswordEntered}) attemptLogin; + final Function({ + required String password, + required VoidCallback onIncorrectPasswordEntered, + }) attemptLogin; /// Handler for when there is attempt to restore wallet from the login page. final VoidCallback restoreWallet; @@ -48,7 +51,10 @@ class LoginViewModel { }); static LoginViewModel fromStore(Store store) { return LoginViewModel( - attemptLogin: ({required String password, required VoidCallback onIncorrectPasswordEntered}) async { + attemptLogin: ({ + required String password, + required VoidCallback onIncorrectPasswordEntered, + }) async { final Completer loginCompleter = Completer(); store.dispatch(AttemptLoginAction(password, loginCompleter)); await loginCompleter.future.then((bool loginSuccess) { @@ -59,7 +65,8 @@ class LoginViewModel { } }); }, - restoreWallet: () => store.dispatch(NavigateToRoute(Routes.restoreWallet)), + restoreWallet: () => + store.dispatch(NavigateToRoute(Routes.restoreWallet)), isBiometricsEnabled: store.state.userDetailsState.isBiometricsEnabled, ); } diff --git a/lib/containers/mint_input_container.dart b/lib/containers/mint_input_container.dart index e0f188c4..6e37dc9e 100644 --- a/lib/containers/mint_input_container.dart +++ b/lib/containers/mint_input_container.dart @@ -76,8 +76,11 @@ class MintInputViewmodel { AssetDetails? assetDetails, required Function(bool success) onRawTxCreated, }) async { - final ToplAddress issuerAddress = store.state.keychainState.currentNetwork.myWalletAddress!.toplAddress; - final TransferType transferType = mintingNewAsset ? TransferType.mintingAsset : TransferType.remintingAsset; + final ToplAddress issuerAddress = store + .state.keychainState.currentNetwork.myWalletAddress!.toplAddress; + final TransferType transferType = mintingNewAsset + ? TransferType.mintingAsset + : TransferType.remintingAsset; final TransferDetails transferDetails = TransferDetails( transferType: transferType, assetCode: AssetCode.initialize( @@ -96,13 +99,17 @@ class MintInputViewmodel { await actionCompleter.future.then( (TransferDetails? transferDetails) { onRawTxCreated(transferDetails != null); - Keys.navigatorKey.currentState?.pushNamed(Routes.txReview, arguments: transferDetails); + Keys.navigatorKey.currentState + ?.pushNamed(Routes.txReview, arguments: transferDetails); }, ); }, - assets: store.state.keychainState.currentNetwork.getAssetsIssuedByWallet(), + assets: + store.state.keychainState.currentNetwork.getAssetsIssuedByWallet(), currentNetwork: store.state.keychainState.currentNetwork, - networkFee: NetworkUtils.networkFees[store.state.keychainState.currentNetwork.networkId]!.getInNanopoly, + networkFee: NetworkUtils + .networkFees[store.state.keychainState.currentNetwork.networkId]! + .getInNanopoly, assetDetails: store.state.userDetailsState.assetDetails, ); } @@ -120,6 +127,9 @@ class MintInputViewmodel { @override int get hashCode { - return networkFee.hashCode ^ assets.hashCode ^ currentNetwork.hashCode ^ assetDetails.hashCode; + return networkFee.hashCode ^ + assets.hashCode ^ + currentNetwork.hashCode ^ + assetDetails.hashCode; } } diff --git a/lib/containers/poly_transfer_input_container.dart b/lib/containers/poly_transfer_input_container.dart index 2d8a0823..0d07378c 100644 --- a/lib/containers/poly_transfer_input_container.dart +++ b/lib/containers/poly_transfer_input_container.dart @@ -16,7 +16,8 @@ import 'package:ribn/models/transfer_details.dart'; /// Intended to wrap the [PolyTransferInputPage] and provide it with the the [PolyTransferInputViewModel]. class PolyTransferInputContainer extends StatelessWidget { - const PolyTransferInputContainer({Key? key, required this.builder}) : super(key: key); + const PolyTransferInputContainer({Key? key, required this.builder}) + : super(key: key); final ViewModelBuilder builder; @override @@ -61,7 +62,9 @@ class PolyTransferInputViewModel { }); static PolyTransferInputViewModel fromStore(Store store) { - final num networkFee = NetworkUtils.networkFees[store.state.keychainState.currentNetwork.networkId]!.getInNanopoly; + final num networkFee = NetworkUtils + .networkFees[store.state.keychainState.currentNetwork.networkId]! + .getInNanopoly; return PolyTransferInputViewModel( initiateTx: ({ required String amount, @@ -83,14 +86,18 @@ class PolyTransferInputViewModel { (TransferDetails? transferDetails) { final success = transferDetails != null; onRawTxCreated(success); - Keys.navigatorKey.currentState?.pushNamed(Routes.txReview, arguments: transferDetails); + Keys.navigatorKey.currentState + ?.pushNamed(Routes.txReview, arguments: transferDetails); }, ); }, currentNetwork: store.state.keychainState.currentNetwork, networkFee: networkFee, - maxTransferrableAmount: store.state.keychainState.currentNetwork.getPolysInWallet() - networkFee, - navigateToSendAssets: () => store.dispatch(NavigateToRoute(Routes.assetsTransferInput)), + maxTransferrableAmount: + store.state.keychainState.currentNetwork.getPolysInWallet() - + networkFee, + navigateToSendAssets: () => + store.dispatch(NavigateToRoute(Routes.assetsTransferInput)), ); } diff --git a/lib/containers/ribn_app_bar_container.dart b/lib/containers/ribn_app_bar_container.dart index 706c6708..7972b737 100644 --- a/lib/containers/ribn_app_bar_container.dart +++ b/lib/containers/ribn_app_bar_container.dart @@ -55,7 +55,9 @@ class RibnAppBarViewModel { }); static RibnAppBarViewModel fromStore(Store store) { return RibnAppBarViewModel( - networks: store.state.keychainState.allNetworks.map((e) => e.networkName).toList(), + networks: store.state.keychainState.allNetworks + .map((e) => e.networkName) + .toList(), currentNetworkName: store.state.keychainState.currentNetworkName, updateNetwork: (String network) { store.dispatch(UpdateCurrentNetworkAction(network)); @@ -92,6 +94,9 @@ class RibnAppBarViewModel { @override int get hashCode { - return networks.hashCode ^ currentNetworkName.hashCode ^ updateNetwork.hashCode ^ selectSettingsOption.hashCode; + return networks.hashCode ^ + currentNetworkName.hashCode ^ + updateNetwork.hashCode ^ + selectSettingsOption.hashCode; } } diff --git a/lib/containers/seed_phrase_confirmation_container.dart b/lib/containers/seed_phrase_confirmation_container.dart index cdcc3ede..b1b5a59d 100644 --- a/lib/containers/seed_phrase_confirmation_container.dart +++ b/lib/containers/seed_phrase_confirmation_container.dart @@ -46,10 +46,12 @@ class SeedPhraseConfirmationViewModel { static SeedPhraseConfirmationViewModel fromStore(Store store) { return SeedPhraseConfirmationViewModel( shuffledMnemonic: store.state.onboardingState.shuffledMnemonic!, - mnemonicWordsList: store.state.onboardingState.mnemonic!.split(' ').toList(), + mnemonicWordsList: + store.state.onboardingState.mnemonic!.split(' ').toList(), userSelectedIndices: store.state.onboardingState.userSelectedIndices!, - finishedInputting: store.state.onboardingState.userSelectedIndices?.length == - store.state.onboardingState.shuffledMnemonic?.length, + finishedInputting: + store.state.onboardingState.userSelectedIndices?.length == + store.state.onboardingState.shuffledMnemonic?.length, selectWord: (idx) => store.dispatch(UserSelectedWordAction(idx)), confirmeIdxs: store.state.onboardingState.mobileConfirmIdxs, ); @@ -68,6 +70,9 @@ class SeedPhraseConfirmationViewModel { @override int get hashCode { - return shuffledMnemonic.hashCode ^ mnemonicWordsList.hashCode ^ userSelectedIndices.hashCode ^ selectWord.hashCode; + return shuffledMnemonic.hashCode ^ + mnemonicWordsList.hashCode ^ + userSelectedIndices.hashCode ^ + selectWord.hashCode; } } diff --git a/lib/containers/settings_container.dart b/lib/containers/settings_container.dart index b8cec0ba..492926fe 100644 --- a/lib/containers/settings_container.dart +++ b/lib/containers/settings_container.dart @@ -10,7 +10,6 @@ import 'package:ribn/platform/platform.dart'; import 'package:ribn/presentation/settings/sections/delete_wallet_confirmation_dialog.dart'; import 'package:ribn/presentation/settings/sections/disconnect_wallet_confirmation_dialog.dart'; - /// Intended to wrap the [SettingsPage] and provide it with the the [SettingsViewModel]. class SettingsContainer extends StatelessWidget { const SettingsContainer({Key? key, required this.builder}) : super(key: key); @@ -86,7 +85,7 @@ class SettingsViewModel { onDisconnectPressed: (BuildContext context) async { final dApps = await PlatformUtils.instance .convertToFuture(PlatformUtils.instance.getDAppList()); - await PlatformUtils.instance.consoleLog(dApps); + // await PlatformUtils.instance.consoleLog(dApps); // final bool disconnectResult = await showDialog( context: context, diff --git a/lib/containers/transaction_history_container.dart b/lib/containers/transaction_history_container.dart index 91d5fca2..510aa412 100644 --- a/lib/containers/transaction_history_container.dart +++ b/lib/containers/transaction_history_container.dart @@ -12,7 +12,8 @@ import 'package:ribn/platform/platform.dart'; /// Intended to wrap the [TransactionHistoryPage] and provide it with the the [TransactionHistoryViewmodel]. class TransactionHistoryContainer extends StatelessWidget { - const TransactionHistoryContainer({Key? key, required this.builder}) : super(key: key); + const TransactionHistoryContainer({Key? key, required this.builder}) + : super(key: key); final ViewModelBuilder builder; @override @@ -39,7 +40,8 @@ class TransactionHistoryViewmodel { final Future? blockHeight; /// Gets transactions associated with my wallet address from the Mempool and Genus - final Future> Function({int pageNum}) getTransactions; + final Future> Function({int pageNum}) + getTransactions; TransactionHistoryViewmodel({ required this.toplAddress, @@ -55,10 +57,15 @@ class TransactionHistoryViewmodel { toplAddress: currNetwork.myWalletAddress!.toplAddress, networkId: store.state.keychainState.currentNetwork.networkId, assets: store.state.keychainState.currentNetwork.getAllAssetsInWallet(), - blockHeight: store.state.keychainState.currentNetwork.client!.getBlockNumber(), + blockHeight: + store.state.keychainState.currentNetwork.client!.getBlockNumber(), getTransactions: ({int pageNum = 0}) async { - final myWalletAddress = currNetwork.myWalletAddress!.toplAddress.toBase58(); - final mempoolTxs = await getMempoolTxs(client: currNetwork.client!, walletAddress: myWalletAddress); + final myWalletAddress = + currNetwork.myWalletAddress!.toplAddress.toBase58(); + final mempoolTxs = await getMempoolTxs( + client: currNetwork.client!, + walletAddress: myWalletAddress, + ); final genusTxs = await getGenusTxs(walletAddress: myWalletAddress); return [...mempoolTxs, ...genusTxs]; }, @@ -71,9 +78,13 @@ class TransactionHistoryViewmodel { }) async { final mempoolTxs = await client.getMempool(); final pendingTxsForWallet = mempoolTxs.where((tx) { - final walletAddrInSenders = tx.from?.any((sender) => sender.senderAddress.toBase58() == walletAddress) ?? false; + final walletAddrInSenders = tx.from?.any( + (sender) => sender.senderAddress.toBase58() == walletAddress, + ) ?? + false; // simple recipient or asset recipient - final walletAddrInRecipients = tx.to.any((recipient) => recipient.toJson()[0] == walletAddress); + final walletAddrInRecipients = + tx.to.any((recipient) => recipient.toJson()[0] == walletAddress); return walletAddrInSenders || walletAddrInRecipients; }).toList(); final List formattedTxs = []; @@ -116,14 +127,17 @@ class TransactionHistoryViewmodel { confirmationDepth: 1, ), ); - final Map txResultJson = txQueryResult.toProto3Json() as Map; + final Map txResultJson = + txQueryResult.toProto3Json() as Map; final List txs = []; for (var element in (txResultJson['success']['transactions'] as List)) { if (element['inputs'] == null) continue; try { final outputs = formatRecipients(element['outputs'] as List); final newBoxes = formatNewBoxes(element['newBoxes']); - final inputs = (element['inputs'] as List).map((input) => [input['address'], input['nonce']]).toList(); + final inputs = (element['inputs'] as List) + .map((input) => [input['address'], input['nonce']]) + .toList(); if (inputs.isEmpty) continue; // get tx per recipient outputs.toList().forEach((output) { @@ -159,7 +173,8 @@ class TransactionHistoryViewmodel { final String type = (e['value'] as Map).keys.first; final quantity = (e['value'] as Map)[type]['quantity']; final assetCode = (e['value'] as Map)[type]['code']; - final securityRoot = (e['value'] as Map)[type]['securityRoot']; + final securityRoot = + (e['value'] as Map)[type]['securityRoot']; final metadata = (e['value'] as Map)[type]['metadata']; formattedOutputs.add([ address, diff --git a/lib/containers/wallet_balance_container.dart b/lib/containers/wallet_balance_container.dart index 229d1788..a4a6164c 100644 --- a/lib/containers/wallet_balance_container.dart +++ b/lib/containers/wallet_balance_container.dart @@ -17,7 +17,8 @@ import 'package:ribn/models/ribn_network.dart'; class WalletBalanceContainer extends StatelessWidget { final ViewModelBuilder builder; final void Function(WalletBalanceViewModel vm) onInitialBuild; - final void Function(WalletBalanceViewModel?, WalletBalanceViewModel) onWillChange; + final void Function(WalletBalanceViewModel?, WalletBalanceViewModel) + onWillChange; const WalletBalanceContainer({ Key? key, required this.builder, @@ -57,7 +58,8 @@ class WalletBalanceViewModel { final Function(AssetAmount) viewAssetDetails; /// Callback to refresh balances. - final void Function({required Function(bool success) onBalancesRefreshed}) refreshBalances; + final void Function({required Function(bool success) onBalancesRefreshed}) + refreshBalances; /// The current network being viewed. final RibnNetwork currentNetwork; @@ -82,8 +84,10 @@ class WalletBalanceViewModel { polyBalance: store.state.keychainState.currentNetwork.getPolysInWallet(), assets: store.state.keychainState.currentNetwork.getAllAssetsInWallet(), assetDetails: store.state.userDetailsState.assetDetails, - navigateToSendAssets: () => store.dispatch(NavigateToRoute(Routes.assetsTransferInput)), - navigateToSendPolys: () => store.dispatch(NavigateToRoute(Routes.polyTransferInput)), + navigateToSendAssets: () => + store.dispatch(NavigateToRoute(Routes.assetsTransferInput)), + navigateToSendPolys: () => + store.dispatch(NavigateToRoute(Routes.polyTransferInput)), viewAssetDetails: (AssetAmount assetAmount) => store.dispatch( NavigateToRoute( Routes.assetDetails, @@ -94,7 +98,12 @@ class WalletBalanceViewModel { ), refreshBalances: ({required Function(bool success) onBalancesRefreshed}) { final Completer actionCompleter = Completer(); - store.dispatch(RefreshBalancesAction(actionCompleter, store.state.keychainState.currentNetwork)); + store.dispatch( + RefreshBalancesAction( + actionCompleter, + store.state.keychainState.currentNetwork, + ), + ); actionCompleter.future.then((bool value) => onBalancesRefreshed(value)); }, currentNetwork: store.state.keychainState.currentNetwork, diff --git a/lib/generated_plugin_registrant.dart b/lib/generated_plugin_registrant.dart deleted file mode 100644 index a242e23e..00000000 --- a/lib/generated_plugin_registrant.dart +++ /dev/null @@ -1,25 +0,0 @@ -// -// Generated file. Do not edit. -// - -// ignore_for_file: directives_ordering -// ignore_for_file: lines_longer_than_80_chars -// ignore_for_file: depend_on_referenced_packages - -import 'package:file_picker/_internal/file_picker_web.dart'; -import 'package:flutter_keyboard_visibility_web/flutter_keyboard_visibility_web.dart'; -import 'package:flutter_native_splash/flutter_native_splash_web.dart'; -import 'package:flutter_secure_storage_web/flutter_secure_storage_web.dart'; -import 'package:url_launcher_web/url_launcher_web.dart'; - -import 'package:flutter_web_plugins/flutter_web_plugins.dart'; - -// ignore: public_member_api_docs -void registerPlugins(Registrar registrar) { - FilePickerWeb.registerWith(registrar); - FlutterKeyboardVisibilityPlugin.registerWith(registrar); - FlutterNativeSplashWeb.registerWith(registrar); - FlutterSecureStorageWeb.registerWith(registrar); - UrlLauncherPlugin.registerWith(registrar); - registrar.registerMessageHandler(); -} diff --git a/lib/genus/generated/blocks_query.pb.dart b/lib/genus/generated/blocks_query.pb.dart index f953dbb4..6c8311cb 100644 --- a/lib/genus/generated/blocks_query.pb.dart +++ b/lib/genus/generated/blocks_query.pb.dart @@ -15,13 +15,21 @@ import 'types.pb.dart' as $6; class BlockSorting_Height extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'BlockSorting.Height', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'BlockSorting.Height', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) - ..aOB(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'descending') + ..aOB( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'descending') ..hasRequiredFields = false; BlockSorting_Height._() : super(); @@ -39,7 +47,8 @@ class BlockSorting_Height extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory BlockSorting_Height.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory BlockSorting_Height.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -59,10 +68,11 @@ class BlockSorting_Height extends $pb.GeneratedMessage { @$core.pragma('dart2js:noInline') static BlockSorting_Height create() => BlockSorting_Height._(); BlockSorting_Height createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static BlockSorting_Height getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static BlockSorting_Height getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static BlockSorting_Height? _defaultInstance; @$pb.TagNumber(1) @@ -80,13 +90,21 @@ class BlockSorting_Height extends $pb.GeneratedMessage { class BlockSorting_Timestamp extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'BlockSorting.Timestamp', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'BlockSorting.Timestamp', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) - ..aOB(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'descending') + ..aOB( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'descending') ..hasRequiredFields = false; BlockSorting_Timestamp._() : super(); @@ -104,30 +122,34 @@ class BlockSorting_Timestamp extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory BlockSorting_Timestamp.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory BlockSorting_Timestamp.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - BlockSorting_Timestamp clone() => BlockSorting_Timestamp()..mergeFromMessage(this); + BlockSorting_Timestamp clone() => + BlockSorting_Timestamp()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 'Will be removed in next major version', ) - BlockSorting_Timestamp copyWith(void Function(BlockSorting_Timestamp) updates) => + BlockSorting_Timestamp copyWith( + void Function(BlockSorting_Timestamp) updates) => super.copyWith((message) => updates(message as BlockSorting_Timestamp)) as BlockSorting_Timestamp; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static BlockSorting_Timestamp create() => BlockSorting_Timestamp._(); BlockSorting_Timestamp createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static BlockSorting_Timestamp getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static BlockSorting_Timestamp getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static BlockSorting_Timestamp? _defaultInstance; @$pb.TagNumber(1) @@ -145,13 +167,21 @@ class BlockSorting_Timestamp extends $pb.GeneratedMessage { class BlockSorting_Difficulty extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'BlockSorting.Difficulty', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'BlockSorting.Difficulty', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) - ..aOB(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'descending') + ..aOB( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'descending') ..hasRequiredFields = false; BlockSorting_Difficulty._() : super(); @@ -169,30 +199,34 @@ class BlockSorting_Difficulty extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory BlockSorting_Difficulty.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory BlockSorting_Difficulty.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - BlockSorting_Difficulty clone() => BlockSorting_Difficulty()..mergeFromMessage(this); + BlockSorting_Difficulty clone() => + BlockSorting_Difficulty()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 'Will be removed in next major version', ) - BlockSorting_Difficulty copyWith(void Function(BlockSorting_Difficulty) updates) => + BlockSorting_Difficulty copyWith( + void Function(BlockSorting_Difficulty) updates) => super.copyWith((message) => updates(message as BlockSorting_Difficulty)) as BlockSorting_Difficulty; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static BlockSorting_Difficulty create() => BlockSorting_Difficulty._(); BlockSorting_Difficulty createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static BlockSorting_Difficulty getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static BlockSorting_Difficulty getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static BlockSorting_Difficulty? _defaultInstance; @$pb.TagNumber(1) @@ -210,13 +244,21 @@ class BlockSorting_Difficulty extends $pb.GeneratedMessage { class BlockSorting_NumberOfTransactions extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'BlockSorting.NumberOfTransactions', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'BlockSorting.NumberOfTransactions', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) - ..aOB(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'descending') + ..aOB( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'descending') ..hasRequiredFields = false; BlockSorting_NumberOfTransactions._() : super(); @@ -244,24 +286,29 @@ class BlockSorting_NumberOfTransactions extends $pb.GeneratedMessage { 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - BlockSorting_NumberOfTransactions clone() => BlockSorting_NumberOfTransactions()..mergeFromMessage(this); + BlockSorting_NumberOfTransactions clone() => + BlockSorting_NumberOfTransactions()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 'Will be removed in next major version', ) - BlockSorting_NumberOfTransactions copyWith(void Function(BlockSorting_NumberOfTransactions) updates) => - super.copyWith((message) => updates(message as BlockSorting_NumberOfTransactions)) + BlockSorting_NumberOfTransactions copyWith( + void Function(BlockSorting_NumberOfTransactions) updates) => + super.copyWith((message) => + updates(message as BlockSorting_NumberOfTransactions)) as BlockSorting_NumberOfTransactions; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') - static BlockSorting_NumberOfTransactions create() => BlockSorting_NumberOfTransactions._(); + static BlockSorting_NumberOfTransactions create() => + BlockSorting_NumberOfTransactions._(); BlockSorting_NumberOfTransactions createEmptyInstance() => create(); static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static BlockSorting_NumberOfTransactions getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static BlockSorting_NumberOfTransactions getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor( + create); static BlockSorting_NumberOfTransactions? _defaultInstance; @$pb.TagNumber(1) @@ -277,10 +324,17 @@ class BlockSorting_NumberOfTransactions extends $pb.GeneratedMessage { void clearDescending() => clearField(1); } -enum BlockSorting_SortBy { height, timestamp, difficulty, numberOfTransactions, notSet } +enum BlockSorting_SortBy { + height, + timestamp, + difficulty, + numberOfTransactions, + notSet +} class BlockSorting extends $pb.GeneratedMessage { - static const $core.Map<$core.int, BlockSorting_SortBy> _BlockSorting_SortByByTag = { + static const $core.Map<$core.int, BlockSorting_SortBy> + _BlockSorting_SortByByTag = { 1: BlockSorting_SortBy.height, 2: BlockSorting_SortBy.timestamp, 3: BlockSorting_SortBy.difficulty, @@ -288,31 +342,43 @@ class BlockSorting extends $pb.GeneratedMessage { 0: BlockSorting_SortBy.notSet }; static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'BlockSorting', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'BlockSorting', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) ..oo(0, [1, 2, 3, 4]) ..aOM( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'height', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'height', subBuilder: BlockSorting_Height.create, ) ..aOM( 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'timestamp', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'timestamp', subBuilder: BlockSorting_Timestamp.create, ) ..aOM( 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'difficulty', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'difficulty', subBuilder: BlockSorting_Difficulty.create, ) ..aOM( 4, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'numberOfTransactions', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'numberOfTransactions', subBuilder: BlockSorting_NumberOfTransactions.create, ) ..hasRequiredFields = false; @@ -339,9 +405,11 @@ class BlockSorting extends $pb.GeneratedMessage { } return _result; } - factory BlockSorting.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory BlockSorting.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); - factory BlockSorting.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory BlockSorting.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -355,17 +423,21 @@ class BlockSorting extends $pb.GeneratedMessage { 'Will be removed in next major version', ) BlockSorting copyWith(void Function(BlockSorting) updates) => - super.copyWith((message) => updates(message as BlockSorting)) as BlockSorting; // ignore: deprecated_member_use + super.copyWith((message) => updates(message as BlockSorting)) + as BlockSorting; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static BlockSorting create() => BlockSorting._(); BlockSorting createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static BlockSorting getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static BlockSorting getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static BlockSorting? _defaultInstance; - BlockSorting_SortBy whichSortBy() => _BlockSorting_SortByByTag[$_whichOneof(0)]!; + BlockSorting_SortBy whichSortBy() => + _BlockSorting_SortByByTag[$_whichOneof(0)]!; void clearSortBy() => clearField($_whichOneof(0)); @$pb.TagNumber(1) @@ -427,30 +499,42 @@ class BlockSorting extends $pb.GeneratedMessage { class QueryBlocksReq extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'QueryBlocksReq', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'QueryBlocksReq', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) ..aOM<$4.BlockFilter>( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'filter', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'filter', subBuilder: $4.BlockFilter.create, ) ..aOM( 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'sorting', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'sorting', subBuilder: BlockSorting.create, ) ..a<$core.int>( 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'confirmationDepth', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'confirmationDepth', $pb.PbFieldType.OU3, ) ..aOM<$5.Paging>( 4, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'pagingOptions', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'pagingOptions', subBuilder: $5.Paging.create, ) ..hasRequiredFields = false; @@ -477,9 +561,11 @@ class QueryBlocksReq extends $pb.GeneratedMessage { } return _result; } - factory QueryBlocksReq.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory QueryBlocksReq.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); - factory QueryBlocksReq.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory QueryBlocksReq.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -499,9 +585,11 @@ class QueryBlocksReq extends $pb.GeneratedMessage { @$core.pragma('dart2js:noInline') static QueryBlocksReq create() => QueryBlocksReq._(); QueryBlocksReq createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static QueryBlocksReq getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static QueryBlocksReq getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static QueryBlocksReq? _defaultInstance; @$pb.TagNumber(1) @@ -561,15 +649,21 @@ class QueryBlocksReq extends $pb.GeneratedMessage { class QueryBlocksRes_Success extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'QueryBlocksRes.Success', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'QueryBlocksRes.Success', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) ..pc<$6.Block>( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'blocks', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'blocks', $pb.PbFieldType.PM, subBuilder: $6.Block.create, ) @@ -590,56 +684,82 @@ class QueryBlocksRes_Success extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory QueryBlocksRes_Success.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory QueryBlocksRes_Success.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - QueryBlocksRes_Success clone() => QueryBlocksRes_Success()..mergeFromMessage(this); + QueryBlocksRes_Success clone() => + QueryBlocksRes_Success()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 'Will be removed in next major version', ) - QueryBlocksRes_Success copyWith(void Function(QueryBlocksRes_Success) updates) => + QueryBlocksRes_Success copyWith( + void Function(QueryBlocksRes_Success) updates) => super.copyWith((message) => updates(message as QueryBlocksRes_Success)) as QueryBlocksRes_Success; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static QueryBlocksRes_Success create() => QueryBlocksRes_Success._(); QueryBlocksRes_Success createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static QueryBlocksRes_Success getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static QueryBlocksRes_Success getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static QueryBlocksRes_Success? _defaultInstance; @$pb.TagNumber(1) $core.List<$6.Block> get blocks => $_getList(0); } -enum QueryBlocksRes_Failure_Reason { dataStoreConnectionError, queryTimeout, invalidQuery, notSet } +enum QueryBlocksRes_Failure_Reason { + dataStoreConnectionError, + queryTimeout, + invalidQuery, + notSet +} class QueryBlocksRes_Failure extends $pb.GeneratedMessage { - static const $core.Map<$core.int, QueryBlocksRes_Failure_Reason> _QueryBlocksRes_Failure_ReasonByTag = { + static const $core.Map<$core.int, QueryBlocksRes_Failure_Reason> + _QueryBlocksRes_Failure_ReasonByTag = { 1: QueryBlocksRes_Failure_Reason.dataStoreConnectionError, 2: QueryBlocksRes_Failure_Reason.queryTimeout, 3: QueryBlocksRes_Failure_Reason.invalidQuery, 0: QueryBlocksRes_Failure_Reason.notSet }; static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'QueryBlocksRes.Failure', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'QueryBlocksRes.Failure', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) ..oo(0, [1, 2, 3]) - ..aOS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'dataStoreConnectionError') - ..aOS(2, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'queryTimeout') - ..aOS(3, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'invalidQuery') + ..aOS( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'dataStoreConnectionError') + ..aOS( + 2, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'queryTimeout') + ..aOS( + 3, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'invalidQuery') ..hasRequiredFields = false; QueryBlocksRes_Failure._() : super(); @@ -665,33 +785,38 @@ class QueryBlocksRes_Failure extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory QueryBlocksRes_Failure.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory QueryBlocksRes_Failure.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - QueryBlocksRes_Failure clone() => QueryBlocksRes_Failure()..mergeFromMessage(this); + QueryBlocksRes_Failure clone() => + QueryBlocksRes_Failure()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 'Will be removed in next major version', ) - QueryBlocksRes_Failure copyWith(void Function(QueryBlocksRes_Failure) updates) => + QueryBlocksRes_Failure copyWith( + void Function(QueryBlocksRes_Failure) updates) => super.copyWith((message) => updates(message as QueryBlocksRes_Failure)) as QueryBlocksRes_Failure; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static QueryBlocksRes_Failure create() => QueryBlocksRes_Failure._(); QueryBlocksRes_Failure createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static QueryBlocksRes_Failure getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static QueryBlocksRes_Failure getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static QueryBlocksRes_Failure? _defaultInstance; - QueryBlocksRes_Failure_Reason whichReason() => _QueryBlocksRes_Failure_ReasonByTag[$_whichOneof(0)]!; + QueryBlocksRes_Failure_Reason whichReason() => + _QueryBlocksRes_Failure_ReasonByTag[$_whichOneof(0)]!; void clearReason() => clearField($_whichOneof(0)); @$pb.TagNumber(1) @@ -734,27 +859,36 @@ class QueryBlocksRes_Failure extends $pb.GeneratedMessage { enum QueryBlocksRes_Result { success, failure, notSet } class QueryBlocksRes extends $pb.GeneratedMessage { - static const $core.Map<$core.int, QueryBlocksRes_Result> _QueryBlocksRes_ResultByTag = { + static const $core.Map<$core.int, QueryBlocksRes_Result> + _QueryBlocksRes_ResultByTag = { 1: QueryBlocksRes_Result.success, 2: QueryBlocksRes_Result.failure, 0: QueryBlocksRes_Result.notSet }; static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'QueryBlocksRes', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'QueryBlocksRes', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) ..oo(0, [1, 2]) ..aOM( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'success', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'success', subBuilder: QueryBlocksRes_Success.create, ) ..aOM( 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'failure', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'failure', subBuilder: QueryBlocksRes_Failure.create, ) ..hasRequiredFields = false; @@ -773,9 +907,11 @@ class QueryBlocksRes extends $pb.GeneratedMessage { } return _result; } - factory QueryBlocksRes.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory QueryBlocksRes.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); - factory QueryBlocksRes.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory QueryBlocksRes.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -795,12 +931,15 @@ class QueryBlocksRes extends $pb.GeneratedMessage { @$core.pragma('dart2js:noInline') static QueryBlocksRes create() => QueryBlocksRes._(); QueryBlocksRes createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static QueryBlocksRes getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static QueryBlocksRes getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static QueryBlocksRes? _defaultInstance; - QueryBlocksRes_Result whichResult() => _QueryBlocksRes_ResultByTag[$_whichOneof(0)]!; + QueryBlocksRes_Result whichResult() => + _QueryBlocksRes_ResultByTag[$_whichOneof(0)]!; void clearResult() => clearField($_whichOneof(0)); @$pb.TagNumber(1) @@ -834,25 +973,35 @@ class QueryBlocksRes extends $pb.GeneratedMessage { class BlocksQueryStreamReq extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'BlocksQueryStreamReq', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'BlocksQueryStreamReq', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) ..aOM<$4.BlockFilter>( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'filter', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'filter', subBuilder: $4.BlockFilter.create, ) ..aOM( 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'sorting', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'sorting', subBuilder: BlockSorting.create, ) ..a<$core.int>( 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'confirmationDepth', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'confirmationDepth', $pb.PbFieldType.OU3, ) ..hasRequiredFields = false; @@ -880,14 +1029,16 @@ class BlocksQueryStreamReq extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory BlocksQueryStreamReq.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory BlocksQueryStreamReq.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - BlocksQueryStreamReq clone() => BlocksQueryStreamReq()..mergeFromMessage(this); + BlocksQueryStreamReq clone() => + BlocksQueryStreamReq()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' @@ -900,10 +1051,11 @@ class BlocksQueryStreamReq extends $pb.GeneratedMessage { @$core.pragma('dart2js:noInline') static BlocksQueryStreamReq create() => BlocksQueryStreamReq._(); BlocksQueryStreamReq createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static BlocksQueryStreamReq getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static BlocksQueryStreamReq getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static BlocksQueryStreamReq? _defaultInstance; @$pb.TagNumber(1) @@ -947,24 +1099,41 @@ class BlocksQueryStreamReq extends $pb.GeneratedMessage { void clearConfirmationDepth() => clearField(3); } -enum BlocksQueryStreamRes_Failure_Reason { dataStoreConnectionError, invalidQuery, notSet } +enum BlocksQueryStreamRes_Failure_Reason { + dataStoreConnectionError, + invalidQuery, + notSet +} class BlocksQueryStreamRes_Failure extends $pb.GeneratedMessage { - static const $core.Map<$core.int, BlocksQueryStreamRes_Failure_Reason> _BlocksQueryStreamRes_Failure_ReasonByTag = { + static const $core.Map<$core.int, BlocksQueryStreamRes_Failure_Reason> + _BlocksQueryStreamRes_Failure_ReasonByTag = { 1: BlocksQueryStreamRes_Failure_Reason.dataStoreConnectionError, 2: BlocksQueryStreamRes_Failure_Reason.invalidQuery, 0: BlocksQueryStreamRes_Failure_Reason.notSet }; static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'BlocksQueryStreamRes.Failure', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'BlocksQueryStreamRes.Failure', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) ..oo(0, [1, 2]) - ..aOS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'dataStoreConnectionError') - ..aOS(2, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'invalidQuery') + ..aOS( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'dataStoreConnectionError') + ..aOS( + 2, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'invalidQuery') ..hasRequiredFields = false; BlocksQueryStreamRes_Failure._() : super(); @@ -996,26 +1165,32 @@ class BlocksQueryStreamRes_Failure extends $pb.GeneratedMessage { 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - BlocksQueryStreamRes_Failure clone() => BlocksQueryStreamRes_Failure()..mergeFromMessage(this); + BlocksQueryStreamRes_Failure clone() => + BlocksQueryStreamRes_Failure()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 'Will be removed in next major version', ) - BlocksQueryStreamRes_Failure copyWith(void Function(BlocksQueryStreamRes_Failure) updates) => - super.copyWith((message) => updates(message as BlocksQueryStreamRes_Failure)) + BlocksQueryStreamRes_Failure copyWith( + void Function(BlocksQueryStreamRes_Failure) updates) => + super.copyWith( + (message) => updates(message as BlocksQueryStreamRes_Failure)) as BlocksQueryStreamRes_Failure; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') - static BlocksQueryStreamRes_Failure create() => BlocksQueryStreamRes_Failure._(); + static BlocksQueryStreamRes_Failure create() => + BlocksQueryStreamRes_Failure._(); BlocksQueryStreamRes_Failure createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static BlocksQueryStreamRes_Failure getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static BlocksQueryStreamRes_Failure getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static BlocksQueryStreamRes_Failure? _defaultInstance; - BlocksQueryStreamRes_Failure_Reason whichReason() => _BlocksQueryStreamRes_Failure_ReasonByTag[$_whichOneof(0)]!; + BlocksQueryStreamRes_Failure_Reason whichReason() => + _BlocksQueryStreamRes_Failure_ReasonByTag[$_whichOneof(0)]!; void clearReason() => clearField($_whichOneof(0)); @$pb.TagNumber(1) @@ -1046,27 +1221,36 @@ class BlocksQueryStreamRes_Failure extends $pb.GeneratedMessage { enum BlocksQueryStreamRes_Result { block, failure, notSet } class BlocksQueryStreamRes extends $pb.GeneratedMessage { - static const $core.Map<$core.int, BlocksQueryStreamRes_Result> _BlocksQueryStreamRes_ResultByTag = { + static const $core.Map<$core.int, BlocksQueryStreamRes_Result> + _BlocksQueryStreamRes_ResultByTag = { 1: BlocksQueryStreamRes_Result.block, 2: BlocksQueryStreamRes_Result.failure, 0: BlocksQueryStreamRes_Result.notSet }; static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'BlocksQueryStreamRes', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'BlocksQueryStreamRes', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) ..oo(0, [1, 2]) ..aOM<$6.Block>( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'block', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'block', subBuilder: $6.Block.create, ) ..aOM( 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'failure', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'failure', subBuilder: BlocksQueryStreamRes_Failure.create, ) ..hasRequiredFields = false; @@ -1090,14 +1274,16 @@ class BlocksQueryStreamRes extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory BlocksQueryStreamRes.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory BlocksQueryStreamRes.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - BlocksQueryStreamRes clone() => BlocksQueryStreamRes()..mergeFromMessage(this); + BlocksQueryStreamRes clone() => + BlocksQueryStreamRes()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' @@ -1110,13 +1296,15 @@ class BlocksQueryStreamRes extends $pb.GeneratedMessage { @$core.pragma('dart2js:noInline') static BlocksQueryStreamRes create() => BlocksQueryStreamRes._(); BlocksQueryStreamRes createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static BlocksQueryStreamRes getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static BlocksQueryStreamRes getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static BlocksQueryStreamRes? _defaultInstance; - BlocksQueryStreamRes_Result whichResult() => _BlocksQueryStreamRes_ResultByTag[$_whichOneof(0)]!; + BlocksQueryStreamRes_Result whichResult() => + _BlocksQueryStreamRes_ResultByTag[$_whichOneof(0)]!; void clearResult() => clearField($_whichOneof(0)); @$pb.TagNumber(1) diff --git a/lib/genus/generated/blocks_query.pbenum.dart b/lib/genus/generated/blocks_query.pbenum.dart index 02741272..e2619d12 100644 --- a/lib/genus/generated/blocks_query.pbenum.dart +++ b/lib/genus/generated/blocks_query.pbenum.dart @@ -4,4 +4,3 @@ // // @dart = 2.12 // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name - diff --git a/lib/genus/generated/blocks_query.pbgrpc.dart b/lib/genus/generated/blocks_query.pbgrpc.dart index b2cf221f..be84f643 100644 --- a/lib/genus/generated/blocks_query.pbgrpc.dart +++ b/lib/genus/generated/blocks_query.pbgrpc.dart @@ -14,12 +14,14 @@ import 'blocks_query.pb.dart' as $1; export 'blocks_query.pb.dart'; class BlocksQueryClient extends $grpc.Client { - static final _$query = $grpc.ClientMethod<$1.QueryBlocksReq, $1.QueryBlocksRes>( + static final _$query = + $grpc.ClientMethod<$1.QueryBlocksReq, $1.QueryBlocksRes>( '/co.topl.genus.services.BlocksQuery/Query', ($1.QueryBlocksReq value) => value.writeToBuffer(), ($core.List<$core.int> value) => $1.QueryBlocksRes.fromBuffer(value), ); - static final _$queryStream = $grpc.ClientMethod<$1.BlocksQueryStreamReq, $1.BlocksQueryStreamRes>( + static final _$queryStream = + $grpc.ClientMethod<$1.BlocksQueryStreamReq, $1.BlocksQueryStreamRes>( '/co.topl.genus.services.BlocksQuery/QueryStream', ($1.BlocksQueryStreamReq value) => value.writeToBuffer(), ($core.List<$core.int> value) => $1.BlocksQueryStreamRes.fromBuffer(value), @@ -70,7 +72,8 @@ abstract class BlocksQueryServiceBase extends $grpc.Service { queryStream_Pre, false, true, - ($core.List<$core.int> value) => $1.BlocksQueryStreamReq.fromBuffer(value), + ($core.List<$core.int> value) => + $1.BlocksQueryStreamReq.fromBuffer(value), ($1.BlocksQueryStreamRes value) => value.writeToBuffer(), ), ); diff --git a/lib/genus/generated/blocks_query.pbjson.dart b/lib/genus/generated/blocks_query.pbjson.dart index 672868d0..652ecfb3 100644 --- a/lib/genus/generated/blocks_query.pbjson.dart +++ b/lib/genus/generated/blocks_query.pbjson.dart @@ -8,16 +8,54 @@ import 'dart:core' as $core; import 'dart:convert' as $convert; import 'dart:typed_data' as $typed_data; + @$core.Deprecated('Use blockSortingDescriptor instead') const BlockSorting$json = const { '1': 'BlockSorting', '2': const [ - const {'1': 'height', '3': 1, '4': 1, '5': 11, '6': '.co.topl.genus.services.BlockSorting.Height', '9': 0, '10': 'height'}, - const {'1': 'timestamp', '3': 2, '4': 1, '5': 11, '6': '.co.topl.genus.services.BlockSorting.Timestamp', '9': 0, '10': 'timestamp'}, - const {'1': 'difficulty', '3': 3, '4': 1, '5': 11, '6': '.co.topl.genus.services.BlockSorting.Difficulty', '9': 0, '10': 'difficulty'}, - const {'1': 'number_of_transactions', '3': 4, '4': 1, '5': 11, '6': '.co.topl.genus.services.BlockSorting.NumberOfTransactions', '9': 0, '10': 'numberOfTransactions'}, + const { + '1': 'height', + '3': 1, + '4': 1, + '5': 11, + '6': '.co.topl.genus.services.BlockSorting.Height', + '9': 0, + '10': 'height' + }, + const { + '1': 'timestamp', + '3': 2, + '4': 1, + '5': 11, + '6': '.co.topl.genus.services.BlockSorting.Timestamp', + '9': 0, + '10': 'timestamp' + }, + const { + '1': 'difficulty', + '3': 3, + '4': 1, + '5': 11, + '6': '.co.topl.genus.services.BlockSorting.Difficulty', + '9': 0, + '10': 'difficulty' + }, + const { + '1': 'number_of_transactions', + '3': 4, + '4': 1, + '5': 11, + '6': '.co.topl.genus.services.BlockSorting.NumberOfTransactions', + '9': 0, + '10': 'numberOfTransactions' + }, + ], + '3': const [ + BlockSorting_Height$json, + BlockSorting_Timestamp$json, + BlockSorting_Difficulty$json, + BlockSorting_NumberOfTransactions$json ], - '3': const [BlockSorting_Height$json, BlockSorting_Timestamp$json, BlockSorting_Difficulty$json, BlockSorting_NumberOfTransactions$json], '8': const [ const {'1': 'sort_by'}, ], @@ -56,26 +94,71 @@ const BlockSorting_NumberOfTransactions$json = const { }; /// Descriptor for `BlockSorting`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List blockSortingDescriptor = $convert.base64Decode('CgxCbG9ja1NvcnRpbmcSRQoGaGVpZ2h0GAEgASgLMisuY28udG9wbC5nZW51cy5zZXJ2aWNlcy5CbG9ja1NvcnRpbmcuSGVpZ2h0SABSBmhlaWdodBJOCgl0aW1lc3RhbXAYAiABKAsyLi5jby50b3BsLmdlbnVzLnNlcnZpY2VzLkJsb2NrU29ydGluZy5UaW1lc3RhbXBIAFIJdGltZXN0YW1wElEKCmRpZmZpY3VsdHkYAyABKAsyLy5jby50b3BsLmdlbnVzLnNlcnZpY2VzLkJsb2NrU29ydGluZy5EaWZmaWN1bHR5SABSCmRpZmZpY3VsdHkScQoWbnVtYmVyX29mX3RyYW5zYWN0aW9ucxgEIAEoCzI5LmNvLnRvcGwuZ2VudXMuc2VydmljZXMuQmxvY2tTb3J0aW5nLk51bWJlck9mVHJhbnNhY3Rpb25zSABSFG51bWJlck9mVHJhbnNhY3Rpb25zGigKBkhlaWdodBIeCgpkZXNjZW5kaW5nGAEgASgIUgpkZXNjZW5kaW5nGisKCVRpbWVzdGFtcBIeCgpkZXNjZW5kaW5nGAEgASgIUgpkZXNjZW5kaW5nGiwKCkRpZmZpY3VsdHkSHgoKZGVzY2VuZGluZxgBIAEoCFIKZGVzY2VuZGluZxo2ChROdW1iZXJPZlRyYW5zYWN0aW9ucxIeCgpkZXNjZW5kaW5nGAEgASgIUgpkZXNjZW5kaW5nQgkKB3NvcnRfYnk='); +final $typed_data.Uint8List blockSortingDescriptor = $convert.base64Decode( + 'CgxCbG9ja1NvcnRpbmcSRQoGaGVpZ2h0GAEgASgLMisuY28udG9wbC5nZW51cy5zZXJ2aWNlcy5CbG9ja1NvcnRpbmcuSGVpZ2h0SABSBmhlaWdodBJOCgl0aW1lc3RhbXAYAiABKAsyLi5jby50b3BsLmdlbnVzLnNlcnZpY2VzLkJsb2NrU29ydGluZy5UaW1lc3RhbXBIAFIJdGltZXN0YW1wElEKCmRpZmZpY3VsdHkYAyABKAsyLy5jby50b3BsLmdlbnVzLnNlcnZpY2VzLkJsb2NrU29ydGluZy5EaWZmaWN1bHR5SABSCmRpZmZpY3VsdHkScQoWbnVtYmVyX29mX3RyYW5zYWN0aW9ucxgEIAEoCzI5LmNvLnRvcGwuZ2VudXMuc2VydmljZXMuQmxvY2tTb3J0aW5nLk51bWJlck9mVHJhbnNhY3Rpb25zSABSFG51bWJlck9mVHJhbnNhY3Rpb25zGigKBkhlaWdodBIeCgpkZXNjZW5kaW5nGAEgASgIUgpkZXNjZW5kaW5nGisKCVRpbWVzdGFtcBIeCgpkZXNjZW5kaW5nGAEgASgIUgpkZXNjZW5kaW5nGiwKCkRpZmZpY3VsdHkSHgoKZGVzY2VuZGluZxgBIAEoCFIKZGVzY2VuZGluZxo2ChROdW1iZXJPZlRyYW5zYWN0aW9ucxIeCgpkZXNjZW5kaW5nGAEgASgIUgpkZXNjZW5kaW5nQgkKB3NvcnRfYnk='); @$core.Deprecated('Use queryBlocksReqDescriptor instead') const QueryBlocksReq$json = const { '1': 'QueryBlocksReq', '2': const [ - const {'1': 'filter', '3': 1, '4': 1, '5': 11, '6': '.co.topl.genus.BlockFilter', '10': 'filter'}, - const {'1': 'sorting', '3': 2, '4': 1, '5': 11, '6': '.co.topl.genus.services.BlockSorting', '10': 'sorting'}, - const {'1': 'confirmation_depth', '3': 3, '4': 1, '5': 13, '10': 'confirmationDepth'}, - const {'1': 'paging_options', '3': 4, '4': 1, '5': 11, '6': '.co.topl.genus.services.Paging', '10': 'pagingOptions'}, + const { + '1': 'filter', + '3': 1, + '4': 1, + '5': 11, + '6': '.co.topl.genus.BlockFilter', + '10': 'filter' + }, + const { + '1': 'sorting', + '3': 2, + '4': 1, + '5': 11, + '6': '.co.topl.genus.services.BlockSorting', + '10': 'sorting' + }, + const { + '1': 'confirmation_depth', + '3': 3, + '4': 1, + '5': 13, + '10': 'confirmationDepth' + }, + const { + '1': 'paging_options', + '3': 4, + '4': 1, + '5': 11, + '6': '.co.topl.genus.services.Paging', + '10': 'pagingOptions' + }, ], }; /// Descriptor for `QueryBlocksReq`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List queryBlocksReqDescriptor = $convert.base64Decode('Cg5RdWVyeUJsb2Nrc1JlcRIyCgZmaWx0ZXIYASABKAsyGi5jby50b3BsLmdlbnVzLkJsb2NrRmlsdGVyUgZmaWx0ZXISPgoHc29ydGluZxgCIAEoCzIkLmNvLnRvcGwuZ2VudXMuc2VydmljZXMuQmxvY2tTb3J0aW5nUgdzb3J0aW5nEi0KEmNvbmZpcm1hdGlvbl9kZXB0aBgDIAEoDVIRY29uZmlybWF0aW9uRGVwdGgSRQoOcGFnaW5nX29wdGlvbnMYBCABKAsyHi5jby50b3BsLmdlbnVzLnNlcnZpY2VzLlBhZ2luZ1INcGFnaW5nT3B0aW9ucw=='); +final $typed_data.Uint8List queryBlocksReqDescriptor = $convert.base64Decode( + 'Cg5RdWVyeUJsb2Nrc1JlcRIyCgZmaWx0ZXIYASABKAsyGi5jby50b3BsLmdlbnVzLkJsb2NrRmlsdGVyUgZmaWx0ZXISPgoHc29ydGluZxgCIAEoCzIkLmNvLnRvcGwuZ2VudXMuc2VydmljZXMuQmxvY2tTb3J0aW5nUgdzb3J0aW5nEi0KEmNvbmZpcm1hdGlvbl9kZXB0aBgDIAEoDVIRY29uZmlybWF0aW9uRGVwdGgSRQoOcGFnaW5nX29wdGlvbnMYBCABKAsyHi5jby50b3BsLmdlbnVzLnNlcnZpY2VzLlBhZ2luZ1INcGFnaW5nT3B0aW9ucw=='); @$core.Deprecated('Use queryBlocksResDescriptor instead') const QueryBlocksRes$json = const { '1': 'QueryBlocksRes', '2': const [ - const {'1': 'success', '3': 1, '4': 1, '5': 11, '6': '.co.topl.genus.services.QueryBlocksRes.Success', '9': 0, '10': 'success'}, - const {'1': 'failure', '3': 2, '4': 1, '5': 11, '6': '.co.topl.genus.services.QueryBlocksRes.Failure', '9': 0, '10': 'failure'}, + const { + '1': 'success', + '3': 1, + '4': 1, + '5': 11, + '6': '.co.topl.genus.services.QueryBlocksRes.Success', + '9': 0, + '10': 'success' + }, + const { + '1': 'failure', + '3': 2, + '4': 1, + '5': 11, + '6': '.co.topl.genus.services.QueryBlocksRes.Failure', + '9': 0, + '10': 'failure' + }, ], '3': const [QueryBlocksRes_Success$json, QueryBlocksRes_Failure$json], '8': const [ @@ -87,7 +170,14 @@ const QueryBlocksRes$json = const { const QueryBlocksRes_Success$json = const { '1': 'Success', '2': const [ - const {'1': 'blocks', '3': 1, '4': 3, '5': 11, '6': '.co.topl.genus.Block', '10': 'blocks'}, + const { + '1': 'blocks', + '3': 1, + '4': 3, + '5': 11, + '6': '.co.topl.genus.Block', + '10': 'blocks' + }, ], }; @@ -95,9 +185,30 @@ const QueryBlocksRes_Success$json = const { const QueryBlocksRes_Failure$json = const { '1': 'Failure', '2': const [ - const {'1': 'data_store_connection_error', '3': 1, '4': 1, '5': 9, '9': 0, '10': 'dataStoreConnectionError'}, - const {'1': 'query_timeout', '3': 2, '4': 1, '5': 9, '9': 0, '10': 'queryTimeout'}, - const {'1': 'invalid_query', '3': 3, '4': 1, '5': 9, '9': 0, '10': 'invalidQuery'}, + const { + '1': 'data_store_connection_error', + '3': 1, + '4': 1, + '5': 9, + '9': 0, + '10': 'dataStoreConnectionError' + }, + const { + '1': 'query_timeout', + '3': 2, + '4': 1, + '5': 9, + '9': 0, + '10': 'queryTimeout' + }, + const { + '1': 'invalid_query', + '3': 3, + '4': 1, + '5': 9, + '9': 0, + '10': 'invalidQuery' + }, ], '8': const [ const {'1': 'reason'}, @@ -105,25 +216,63 @@ const QueryBlocksRes_Failure$json = const { }; /// Descriptor for `QueryBlocksRes`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List queryBlocksResDescriptor = $convert.base64Decode('Cg5RdWVyeUJsb2Nrc1JlcxJKCgdzdWNjZXNzGAEgASgLMi4uY28udG9wbC5nZW51cy5zZXJ2aWNlcy5RdWVyeUJsb2Nrc1Jlcy5TdWNjZXNzSABSB3N1Y2Nlc3MSSgoHZmFpbHVyZRgCIAEoCzIuLmNvLnRvcGwuZ2VudXMuc2VydmljZXMuUXVlcnlCbG9ja3NSZXMuRmFpbHVyZUgAUgdmYWlsdXJlGjcKB1N1Y2Nlc3MSLAoGYmxvY2tzGAEgAygLMhQuY28udG9wbC5nZW51cy5CbG9ja1IGYmxvY2tzGqIBCgdGYWlsdXJlEj8KG2RhdGFfc3RvcmVfY29ubmVjdGlvbl9lcnJvchgBIAEoCUgAUhhkYXRhU3RvcmVDb25uZWN0aW9uRXJyb3ISJQoNcXVlcnlfdGltZW91dBgCIAEoCUgAUgxxdWVyeVRpbWVvdXQSJQoNaW52YWxpZF9xdWVyeRgDIAEoCUgAUgxpbnZhbGlkUXVlcnlCCAoGcmVhc29uQggKBnJlc3VsdA=='); +final $typed_data.Uint8List queryBlocksResDescriptor = $convert.base64Decode( + 'Cg5RdWVyeUJsb2Nrc1JlcxJKCgdzdWNjZXNzGAEgASgLMi4uY28udG9wbC5nZW51cy5zZXJ2aWNlcy5RdWVyeUJsb2Nrc1Jlcy5TdWNjZXNzSABSB3N1Y2Nlc3MSSgoHZmFpbHVyZRgCIAEoCzIuLmNvLnRvcGwuZ2VudXMuc2VydmljZXMuUXVlcnlCbG9ja3NSZXMuRmFpbHVyZUgAUgdmYWlsdXJlGjcKB1N1Y2Nlc3MSLAoGYmxvY2tzGAEgAygLMhQuY28udG9wbC5nZW51cy5CbG9ja1IGYmxvY2tzGqIBCgdGYWlsdXJlEj8KG2RhdGFfc3RvcmVfY29ubmVjdGlvbl9lcnJvchgBIAEoCUgAUhhkYXRhU3RvcmVDb25uZWN0aW9uRXJyb3ISJQoNcXVlcnlfdGltZW91dBgCIAEoCUgAUgxxdWVyeVRpbWVvdXQSJQoNaW52YWxpZF9xdWVyeRgDIAEoCUgAUgxpbnZhbGlkUXVlcnlCCAoGcmVhc29uQggKBnJlc3VsdA=='); @$core.Deprecated('Use blocksQueryStreamReqDescriptor instead') const BlocksQueryStreamReq$json = const { '1': 'BlocksQueryStreamReq', '2': const [ - const {'1': 'filter', '3': 1, '4': 1, '5': 11, '6': '.co.topl.genus.BlockFilter', '10': 'filter'}, - const {'1': 'sorting', '3': 2, '4': 1, '5': 11, '6': '.co.topl.genus.services.BlockSorting', '10': 'sorting'}, - const {'1': 'confirmation_depth', '3': 3, '4': 1, '5': 13, '10': 'confirmationDepth'}, + const { + '1': 'filter', + '3': 1, + '4': 1, + '5': 11, + '6': '.co.topl.genus.BlockFilter', + '10': 'filter' + }, + const { + '1': 'sorting', + '3': 2, + '4': 1, + '5': 11, + '6': '.co.topl.genus.services.BlockSorting', + '10': 'sorting' + }, + const { + '1': 'confirmation_depth', + '3': 3, + '4': 1, + '5': 13, + '10': 'confirmationDepth' + }, ], }; /// Descriptor for `BlocksQueryStreamReq`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List blocksQueryStreamReqDescriptor = $convert.base64Decode('ChRCbG9ja3NRdWVyeVN0cmVhbVJlcRIyCgZmaWx0ZXIYASABKAsyGi5jby50b3BsLmdlbnVzLkJsb2NrRmlsdGVyUgZmaWx0ZXISPgoHc29ydGluZxgCIAEoCzIkLmNvLnRvcGwuZ2VudXMuc2VydmljZXMuQmxvY2tTb3J0aW5nUgdzb3J0aW5nEi0KEmNvbmZpcm1hdGlvbl9kZXB0aBgDIAEoDVIRY29uZmlybWF0aW9uRGVwdGg='); +final $typed_data.Uint8List blocksQueryStreamReqDescriptor = $convert.base64Decode( + 'ChRCbG9ja3NRdWVyeVN0cmVhbVJlcRIyCgZmaWx0ZXIYASABKAsyGi5jby50b3BsLmdlbnVzLkJsb2NrRmlsdGVyUgZmaWx0ZXISPgoHc29ydGluZxgCIAEoCzIkLmNvLnRvcGwuZ2VudXMuc2VydmljZXMuQmxvY2tTb3J0aW5nUgdzb3J0aW5nEi0KEmNvbmZpcm1hdGlvbl9kZXB0aBgDIAEoDVIRY29uZmlybWF0aW9uRGVwdGg='); @$core.Deprecated('Use blocksQueryStreamResDescriptor instead') const BlocksQueryStreamRes$json = const { '1': 'BlocksQueryStreamRes', '2': const [ - const {'1': 'block', '3': 1, '4': 1, '5': 11, '6': '.co.topl.genus.Block', '9': 0, '10': 'block'}, - const {'1': 'failure', '3': 2, '4': 1, '5': 11, '6': '.co.topl.genus.services.BlocksQueryStreamRes.Failure', '9': 0, '10': 'failure'}, + const { + '1': 'block', + '3': 1, + '4': 1, + '5': 11, + '6': '.co.topl.genus.Block', + '9': 0, + '10': 'block' + }, + const { + '1': 'failure', + '3': 2, + '4': 1, + '5': 11, + '6': '.co.topl.genus.services.BlocksQueryStreamRes.Failure', + '9': 0, + '10': 'failure' + }, ], '3': const [BlocksQueryStreamRes_Failure$json], '8': const [ @@ -135,8 +284,22 @@ const BlocksQueryStreamRes$json = const { const BlocksQueryStreamRes_Failure$json = const { '1': 'Failure', '2': const [ - const {'1': 'data_store_connection_error', '3': 1, '4': 1, '5': 9, '9': 0, '10': 'dataStoreConnectionError'}, - const {'1': 'invalid_query', '3': 2, '4': 1, '5': 9, '9': 0, '10': 'invalidQuery'}, + const { + '1': 'data_store_connection_error', + '3': 1, + '4': 1, + '5': 9, + '9': 0, + '10': 'dataStoreConnectionError' + }, + const { + '1': 'invalid_query', + '3': 2, + '4': 1, + '5': 9, + '9': 0, + '10': 'invalidQuery' + }, ], '8': const [ const {'1': 'reason'}, @@ -144,4 +307,5 @@ const BlocksQueryStreamRes_Failure$json = const { }; /// Descriptor for `BlocksQueryStreamRes`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List blocksQueryStreamResDescriptor = $convert.base64Decode('ChRCbG9ja3NRdWVyeVN0cmVhbVJlcxIsCgVibG9jaxgBIAEoCzIULmNvLnRvcGwuZ2VudXMuQmxvY2tIAFIFYmxvY2sSUAoHZmFpbHVyZRgCIAEoCzI0LmNvLnRvcGwuZ2VudXMuc2VydmljZXMuQmxvY2tzUXVlcnlTdHJlYW1SZXMuRmFpbHVyZUgAUgdmYWlsdXJlGnsKB0ZhaWx1cmUSPwobZGF0YV9zdG9yZV9jb25uZWN0aW9uX2Vycm9yGAEgASgJSABSGGRhdGFTdG9yZUNvbm5lY3Rpb25FcnJvchIlCg1pbnZhbGlkX3F1ZXJ5GAIgASgJSABSDGludmFsaWRRdWVyeUIICgZyZWFzb25CCAoGcmVzdWx0'); +final $typed_data.Uint8List blocksQueryStreamResDescriptor = $convert.base64Decode( + 'ChRCbG9ja3NRdWVyeVN0cmVhbVJlcxIsCgVibG9jaxgBIAEoCzIULmNvLnRvcGwuZ2VudXMuQmxvY2tIAFIFYmxvY2sSUAoHZmFpbHVyZRgCIAEoCzI0LmNvLnRvcGwuZ2VudXMuc2VydmljZXMuQmxvY2tzUXVlcnlTdHJlYW1SZXMuRmFpbHVyZUgAUgdmYWlsdXJlGnsKB0ZhaWx1cmUSPwobZGF0YV9zdG9yZV9jb25uZWN0aW9uX2Vycm9yGAEgASgJSABSGGRhdGFTdG9yZUNvbm5lY3Rpb25FcnJvchIlCg1pbnZhbGlkX3F1ZXJ5GAIgASgJSABSDGludmFsaWRRdWVyeUIICgZyZWFzb25CCAoGcmVzdWx0'); diff --git a/lib/genus/generated/blocks_subscription.pb.dart b/lib/genus/generated/blocks_subscription.pb.dart index 4570eddc..0bd67694 100644 --- a/lib/genus/generated/blocks_subscription.pb.dart +++ b/lib/genus/generated/blocks_subscription.pb.dart @@ -15,25 +15,35 @@ import 'types.pb.dart' as $6; class CreateBlocksSubscriptionReq extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'CreateBlocksSubscriptionReq', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'CreateBlocksSubscriptionReq', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) ..aOM<$4.BlockFilter>( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'filter', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'filter', subBuilder: $4.BlockFilter.create, ) ..a<$core.int>( 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'confirmationDepth', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'confirmationDepth', $pb.PbFieldType.OU3, ) ..a<$fixnum.Int64>( 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'startHeight', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'startHeight', $pb.PbFieldType.OU6, defaultOrMaker: $fixnum.Int64.ZERO, ) @@ -72,23 +82,28 @@ class CreateBlocksSubscriptionReq extends $pb.GeneratedMessage { 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - CreateBlocksSubscriptionReq clone() => CreateBlocksSubscriptionReq()..mergeFromMessage(this); + CreateBlocksSubscriptionReq clone() => + CreateBlocksSubscriptionReq()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 'Will be removed in next major version', ) - CreateBlocksSubscriptionReq copyWith(void Function(CreateBlocksSubscriptionReq) updates) => - super.copyWith((message) => updates(message as CreateBlocksSubscriptionReq)) + CreateBlocksSubscriptionReq copyWith( + void Function(CreateBlocksSubscriptionReq) updates) => + super.copyWith( + (message) => updates(message as CreateBlocksSubscriptionReq)) as CreateBlocksSubscriptionReq; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') - static CreateBlocksSubscriptionReq create() => CreateBlocksSubscriptionReq._(); + static CreateBlocksSubscriptionReq create() => + CreateBlocksSubscriptionReq._(); CreateBlocksSubscriptionReq createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static CreateBlocksSubscriptionReq getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static CreateBlocksSubscriptionReq getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static CreateBlocksSubscriptionReq? _defaultInstance; @$pb.TagNumber(1) @@ -130,24 +145,41 @@ class CreateBlocksSubscriptionReq extends $pb.GeneratedMessage { void clearStartHeight() => clearField(3); } -enum BlocksSubscriptionRes_Failure_Reason { invalidRequest, dataConnectionError, notSet } +enum BlocksSubscriptionRes_Failure_Reason { + invalidRequest, + dataConnectionError, + notSet +} class BlocksSubscriptionRes_Failure extends $pb.GeneratedMessage { - static const $core.Map<$core.int, BlocksSubscriptionRes_Failure_Reason> _BlocksSubscriptionRes_Failure_ReasonByTag = { + static const $core.Map<$core.int, BlocksSubscriptionRes_Failure_Reason> + _BlocksSubscriptionRes_Failure_ReasonByTag = { 1: BlocksSubscriptionRes_Failure_Reason.invalidRequest, 2: BlocksSubscriptionRes_Failure_Reason.dataConnectionError, 0: BlocksSubscriptionRes_Failure_Reason.notSet }; static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'BlocksSubscriptionRes.Failure', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'BlocksSubscriptionRes.Failure', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) ..oo(0, [1, 2]) - ..aOS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'invalidRequest') - ..aOS(2, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'dataConnectionError') + ..aOS( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'invalidRequest') + ..aOS( + 2, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'dataConnectionError') ..hasRequiredFields = false; BlocksSubscriptionRes_Failure._() : super(); @@ -179,26 +211,32 @@ class BlocksSubscriptionRes_Failure extends $pb.GeneratedMessage { 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - BlocksSubscriptionRes_Failure clone() => BlocksSubscriptionRes_Failure()..mergeFromMessage(this); + BlocksSubscriptionRes_Failure clone() => + BlocksSubscriptionRes_Failure()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 'Will be removed in next major version', ) - BlocksSubscriptionRes_Failure copyWith(void Function(BlocksSubscriptionRes_Failure) updates) => - super.copyWith((message) => updates(message as BlocksSubscriptionRes_Failure)) + BlocksSubscriptionRes_Failure copyWith( + void Function(BlocksSubscriptionRes_Failure) updates) => + super.copyWith( + (message) => updates(message as BlocksSubscriptionRes_Failure)) as BlocksSubscriptionRes_Failure; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') - static BlocksSubscriptionRes_Failure create() => BlocksSubscriptionRes_Failure._(); + static BlocksSubscriptionRes_Failure create() => + BlocksSubscriptionRes_Failure._(); BlocksSubscriptionRes_Failure createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static BlocksSubscriptionRes_Failure getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static BlocksSubscriptionRes_Failure getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static BlocksSubscriptionRes_Failure? _defaultInstance; - BlocksSubscriptionRes_Failure_Reason whichReason() => _BlocksSubscriptionRes_Failure_ReasonByTag[$_whichOneof(0)]!; + BlocksSubscriptionRes_Failure_Reason whichReason() => + _BlocksSubscriptionRes_Failure_ReasonByTag[$_whichOneof(0)]!; void clearReason() => clearField($_whichOneof(0)); @$pb.TagNumber(1) @@ -229,27 +267,36 @@ class BlocksSubscriptionRes_Failure extends $pb.GeneratedMessage { enum BlocksSubscriptionRes_Result { success, failure, notSet } class BlocksSubscriptionRes extends $pb.GeneratedMessage { - static const $core.Map<$core.int, BlocksSubscriptionRes_Result> _BlocksSubscriptionRes_ResultByTag = { + static const $core.Map<$core.int, BlocksSubscriptionRes_Result> + _BlocksSubscriptionRes_ResultByTag = { 1: BlocksSubscriptionRes_Result.success, 2: BlocksSubscriptionRes_Result.failure, 0: BlocksSubscriptionRes_Result.notSet }; static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'BlocksSubscriptionRes', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'BlocksSubscriptionRes', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) ..oo(0, [1, 2]) ..aOM<$6.Block>( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'success', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'success', subBuilder: $6.Block.create, ) ..aOM( 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'failure', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'failure', subBuilder: BlocksSubscriptionRes_Failure.create, ) ..hasRequiredFields = false; @@ -273,33 +320,38 @@ class BlocksSubscriptionRes extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory BlocksSubscriptionRes.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory BlocksSubscriptionRes.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - BlocksSubscriptionRes clone() => BlocksSubscriptionRes()..mergeFromMessage(this); + BlocksSubscriptionRes clone() => + BlocksSubscriptionRes()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 'Will be removed in next major version', ) - BlocksSubscriptionRes copyWith(void Function(BlocksSubscriptionRes) updates) => + BlocksSubscriptionRes copyWith( + void Function(BlocksSubscriptionRes) updates) => super.copyWith((message) => updates(message as BlocksSubscriptionRes)) as BlocksSubscriptionRes; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static BlocksSubscriptionRes create() => BlocksSubscriptionRes._(); BlocksSubscriptionRes createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static BlocksSubscriptionRes getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static BlocksSubscriptionRes getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static BlocksSubscriptionRes? _defaultInstance; - BlocksSubscriptionRes_Result whichResult() => _BlocksSubscriptionRes_ResultByTag[$_whichOneof(0)]!; + BlocksSubscriptionRes_Result whichResult() => + _BlocksSubscriptionRes_ResultByTag[$_whichOneof(0)]!; void clearResult() => clearField($_whichOneof(0)); @$pb.TagNumber(1) diff --git a/lib/genus/generated/blocks_subscription.pbenum.dart b/lib/genus/generated/blocks_subscription.pbenum.dart index 9a9d8098..54539585 100644 --- a/lib/genus/generated/blocks_subscription.pbenum.dart +++ b/lib/genus/generated/blocks_subscription.pbenum.dart @@ -4,4 +4,3 @@ // // @dart = 2.12 // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name - diff --git a/lib/genus/generated/blocks_subscription.pbgrpc.dart b/lib/genus/generated/blocks_subscription.pbgrpc.dart index 08c06e81..e8e868b2 100644 --- a/lib/genus/generated/blocks_subscription.pbgrpc.dart +++ b/lib/genus/generated/blocks_subscription.pbgrpc.dart @@ -14,7 +14,8 @@ import 'blocks_subscription.pb.dart' as $3; export 'blocks_subscription.pb.dart'; class BlocksSubscriptionClient extends $grpc.Client { - static final _$create = $grpc.ClientMethod<$3.CreateBlocksSubscriptionReq, $3.BlocksSubscriptionRes>( + static final _$create = $grpc.ClientMethod<$3.CreateBlocksSubscriptionReq, + $3.BlocksSubscriptionRes>( '/co.topl.genus.services.BlocksSubscription/Create', ($3.CreateBlocksSubscriptionReq value) => value.writeToBuffer(), ($core.List<$core.int> value) => $3.BlocksSubscriptionRes.fromBuffer(value), @@ -43,12 +44,14 @@ abstract class BlocksSubscriptionServiceBase extends $grpc.Service { BlocksSubscriptionServiceBase() { $addMethod( - $grpc.ServiceMethod<$3.CreateBlocksSubscriptionReq, $3.BlocksSubscriptionRes>( + $grpc.ServiceMethod<$3.CreateBlocksSubscriptionReq, + $3.BlocksSubscriptionRes>( 'Create', create_Pre, false, true, - ($core.List<$core.int> value) => $3.CreateBlocksSubscriptionReq.fromBuffer(value), + ($core.List<$core.int> value) => + $3.CreateBlocksSubscriptionReq.fromBuffer(value), ($3.BlocksSubscriptionRes value) => value.writeToBuffer(), ), ); diff --git a/lib/genus/generated/blocks_subscription.pbjson.dart b/lib/genus/generated/blocks_subscription.pbjson.dart index 37f49830..dc0a6b17 100644 --- a/lib/genus/generated/blocks_subscription.pbjson.dart +++ b/lib/genus/generated/blocks_subscription.pbjson.dart @@ -8,24 +8,56 @@ import 'dart:core' as $core; import 'dart:convert' as $convert; import 'dart:typed_data' as $typed_data; + @$core.Deprecated('Use createBlocksSubscriptionReqDescriptor instead') const CreateBlocksSubscriptionReq$json = const { '1': 'CreateBlocksSubscriptionReq', '2': const [ - const {'1': 'filter', '3': 1, '4': 1, '5': 11, '6': '.co.topl.genus.BlockFilter', '10': 'filter'}, - const {'1': 'confirmation_depth', '3': 2, '4': 1, '5': 13, '10': 'confirmationDepth'}, + const { + '1': 'filter', + '3': 1, + '4': 1, + '5': 11, + '6': '.co.topl.genus.BlockFilter', + '10': 'filter' + }, + const { + '1': 'confirmation_depth', + '3': 2, + '4': 1, + '5': 13, + '10': 'confirmationDepth' + }, const {'1': 'start_height', '3': 3, '4': 1, '5': 4, '10': 'startHeight'}, ], }; /// Descriptor for `CreateBlocksSubscriptionReq`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List createBlocksSubscriptionReqDescriptor = $convert.base64Decode('ChtDcmVhdGVCbG9ja3NTdWJzY3JpcHRpb25SZXESMgoGZmlsdGVyGAEgASgLMhouY28udG9wbC5nZW51cy5CbG9ja0ZpbHRlclIGZmlsdGVyEi0KEmNvbmZpcm1hdGlvbl9kZXB0aBgCIAEoDVIRY29uZmlybWF0aW9uRGVwdGgSIQoMc3RhcnRfaGVpZ2h0GAMgASgEUgtzdGFydEhlaWdodA=='); +final $typed_data.Uint8List createBlocksSubscriptionReqDescriptor = + $convert.base64Decode( + 'ChtDcmVhdGVCbG9ja3NTdWJzY3JpcHRpb25SZXESMgoGZmlsdGVyGAEgASgLMhouY28udG9wbC5nZW51cy5CbG9ja0ZpbHRlclIGZmlsdGVyEi0KEmNvbmZpcm1hdGlvbl9kZXB0aBgCIAEoDVIRY29uZmlybWF0aW9uRGVwdGgSIQoMc3RhcnRfaGVpZ2h0GAMgASgEUgtzdGFydEhlaWdodA=='); @$core.Deprecated('Use blocksSubscriptionResDescriptor instead') const BlocksSubscriptionRes$json = const { '1': 'BlocksSubscriptionRes', '2': const [ - const {'1': 'success', '3': 1, '4': 1, '5': 11, '6': '.co.topl.genus.Block', '9': 0, '10': 'success'}, - const {'1': 'failure', '3': 2, '4': 1, '5': 11, '6': '.co.topl.genus.services.BlocksSubscriptionRes.Failure', '9': 0, '10': 'failure'}, + const { + '1': 'success', + '3': 1, + '4': 1, + '5': 11, + '6': '.co.topl.genus.Block', + '9': 0, + '10': 'success' + }, + const { + '1': 'failure', + '3': 2, + '4': 1, + '5': 11, + '6': '.co.topl.genus.services.BlocksSubscriptionRes.Failure', + '9': 0, + '10': 'failure' + }, ], '3': const [BlocksSubscriptionRes_Failure$json], '8': const [ @@ -37,8 +69,22 @@ const BlocksSubscriptionRes$json = const { const BlocksSubscriptionRes_Failure$json = const { '1': 'Failure', '2': const [ - const {'1': 'invalid_request', '3': 1, '4': 1, '5': 9, '9': 0, '10': 'invalidRequest'}, - const {'1': 'data_connection_error', '3': 2, '4': 1, '5': 9, '9': 0, '10': 'dataConnectionError'}, + const { + '1': 'invalid_request', + '3': 1, + '4': 1, + '5': 9, + '9': 0, + '10': 'invalidRequest' + }, + const { + '1': 'data_connection_error', + '3': 2, + '4': 1, + '5': 9, + '9': 0, + '10': 'dataConnectionError' + }, ], '8': const [ const {'1': 'reason'}, @@ -46,4 +92,5 @@ const BlocksSubscriptionRes_Failure$json = const { }; /// Descriptor for `BlocksSubscriptionRes`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List blocksSubscriptionResDescriptor = $convert.base64Decode('ChVCbG9ja3NTdWJzY3JpcHRpb25SZXMSMAoHc3VjY2VzcxgBIAEoCzIULmNvLnRvcGwuZ2VudXMuQmxvY2tIAFIHc3VjY2VzcxJRCgdmYWlsdXJlGAIgASgLMjUuY28udG9wbC5nZW51cy5zZXJ2aWNlcy5CbG9ja3NTdWJzY3JpcHRpb25SZXMuRmFpbHVyZUgAUgdmYWlsdXJlGnQKB0ZhaWx1cmUSKQoPaW52YWxpZF9yZXF1ZXN0GAEgASgJSABSDmludmFsaWRSZXF1ZXN0EjQKFWRhdGFfY29ubmVjdGlvbl9lcnJvchgCIAEoCUgAUhNkYXRhQ29ubmVjdGlvbkVycm9yQggKBnJlYXNvbkIICgZyZXN1bHQ='); +final $typed_data.Uint8List blocksSubscriptionResDescriptor = $convert.base64Decode( + 'ChVCbG9ja3NTdWJzY3JpcHRpb25SZXMSMAoHc3VjY2VzcxgBIAEoCzIULmNvLnRvcGwuZ2VudXMuQmxvY2tIAFIHc3VjY2VzcxJRCgdmYWlsdXJlGAIgASgLMjUuY28udG9wbC5nZW51cy5zZXJ2aWNlcy5CbG9ja3NTdWJzY3JpcHRpb25SZXMuRmFpbHVyZUgAUgdmYWlsdXJlGnQKB0ZhaWx1cmUSKQoPaW52YWxpZF9yZXF1ZXN0GAEgASgJSABSDmludmFsaWRSZXF1ZXN0EjQKFWRhdGFfY29ubmVjdGlvbl9lcnJvchgCIAEoCUgAUhNkYXRhQ29ubmVjdGlvbkVycm9yQggKBnJlYXNvbkIICgZyZXN1bHQ='); diff --git a/lib/genus/generated/filters.pb.dart b/lib/genus/generated/filters.pb.dart index 747418db..90ac0cf2 100644 --- a/lib/genus/generated/filters.pb.dart +++ b/lib/genus/generated/filters.pb.dart @@ -12,12 +12,20 @@ import 'package:protobuf/protobuf.dart' as $pb; class StringSelection extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'StringSelection', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'StringSelection', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, ) - ..pPS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'values') + ..pPS( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'values') ..hasRequiredFields = false; StringSelection._() : super(); @@ -35,7 +43,8 @@ class StringSelection extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory StringSelection.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory StringSelection.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -55,10 +64,11 @@ class StringSelection extends $pb.GeneratedMessage { @$core.pragma('dart2js:noInline') static StringSelection create() => StringSelection._(); StringSelection createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static StringSelection getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static StringSelection getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static StringSelection? _defaultInstance; @$pb.TagNumber(1) @@ -68,27 +78,36 @@ class StringSelection extends $pb.GeneratedMessage { enum NumberRange_FilterType { min, max, notSet } class NumberRange extends $pb.GeneratedMessage { - static const $core.Map<$core.int, NumberRange_FilterType> _NumberRange_FilterTypeByTag = { + static const $core.Map<$core.int, NumberRange_FilterType> + _NumberRange_FilterTypeByTag = { 1: NumberRange_FilterType.min, 2: NumberRange_FilterType.max, 0: NumberRange_FilterType.notSet }; static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'NumberRange', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'NumberRange', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, ) ..oo(0, [1, 2]) ..a<$fixnum.Int64>( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'min', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'min', $pb.PbFieldType.OU6, defaultOrMaker: $fixnum.Int64.ZERO, ) ..a<$fixnum.Int64>( 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'max', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'max', $pb.PbFieldType.OU6, defaultOrMaker: $fixnum.Int64.ZERO, ) @@ -108,9 +127,11 @@ class NumberRange extends $pb.GeneratedMessage { } return _result; } - factory NumberRange.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory NumberRange.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); - factory NumberRange.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory NumberRange.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -124,17 +145,20 @@ class NumberRange extends $pb.GeneratedMessage { 'Will be removed in next major version', ) NumberRange copyWith(void Function(NumberRange) updates) => - super.copyWith((message) => updates(message as NumberRange)) as NumberRange; // ignore: deprecated_member_use + super.copyWith((message) => updates(message as NumberRange)) + as NumberRange; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static NumberRange create() => NumberRange._(); NumberRange createEmptyInstance() => create(); static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static NumberRange getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static NumberRange getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static NumberRange? _defaultInstance; - NumberRange_FilterType whichFilterType() => _NumberRange_FilterTypeByTag[$_whichOneof(0)]!; + NumberRange_FilterType whichFilterType() => + _NumberRange_FilterTypeByTag[$_whichOneof(0)]!; void clearFilterType() => clearField($_whichOneof(0)); @$pb.TagNumber(1) @@ -164,14 +188,20 @@ class NumberRange extends $pb.GeneratedMessage { class NumberSelection extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'NumberSelection', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'NumberSelection', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, ) ..p<$fixnum.Int64>( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'values', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'values', $pb.PbFieldType.KU6, ) ..hasRequiredFields = false; @@ -191,7 +221,8 @@ class NumberSelection extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory NumberSelection.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory NumberSelection.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -211,10 +242,11 @@ class NumberSelection extends $pb.GeneratedMessage { @$core.pragma('dart2js:noInline') static NumberSelection create() => NumberSelection._(); NumberSelection createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static NumberSelection getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static NumberSelection getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static NumberSelection? _defaultInstance; @$pb.TagNumber(1) @@ -223,12 +255,20 @@ class NumberSelection extends $pb.GeneratedMessage { class BooleanSelection extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'BooleanSelection', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'BooleanSelection', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, ) - ..aOB(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'value') + ..aOB( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'value') ..hasRequiredFields = false; BooleanSelection._() : super(); @@ -246,7 +286,8 @@ class BooleanSelection extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory BooleanSelection.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory BooleanSelection.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -266,10 +307,11 @@ class BooleanSelection extends $pb.GeneratedMessage { @$core.pragma('dart2js:noInline') static BooleanSelection create() => BooleanSelection._(); BooleanSelection createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static BooleanSelection getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static BooleanSelection getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static BooleanSelection? _defaultInstance; @$pb.TagNumber(1) @@ -285,35 +327,51 @@ class BooleanSelection extends $pb.GeneratedMessage { void clearValue() => clearField(1); } -enum TokenValueFilter_FilterType { assetCodeSelection, quantityRange, tokenValueTypeSelection, notSet } +enum TokenValueFilter_FilterType { + assetCodeSelection, + quantityRange, + tokenValueTypeSelection, + notSet +} class TokenValueFilter extends $pb.GeneratedMessage { - static const $core.Map<$core.int, TokenValueFilter_FilterType> _TokenValueFilter_FilterTypeByTag = { + static const $core.Map<$core.int, TokenValueFilter_FilterType> + _TokenValueFilter_FilterTypeByTag = { 1: TokenValueFilter_FilterType.assetCodeSelection, 2: TokenValueFilter_FilterType.quantityRange, 3: TokenValueFilter_FilterType.tokenValueTypeSelection, 0: TokenValueFilter_FilterType.notSet }; static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'TokenValueFilter', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'TokenValueFilter', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, ) ..oo(0, [1, 2, 3]) ..aOM( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'assetCodeSelection', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'assetCodeSelection', subBuilder: StringSelection.create, ) ..aOM( 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'quantityRange', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'quantityRange', subBuilder: NumberRange.create, ) ..aOM( 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'tokenValueTypeSelection', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'tokenValueTypeSelection', subBuilder: StringSelection.create, ) ..hasRequiredFields = false; @@ -341,7 +399,8 @@ class TokenValueFilter extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory TokenValueFilter.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory TokenValueFilter.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -361,13 +420,15 @@ class TokenValueFilter extends $pb.GeneratedMessage { @$core.pragma('dart2js:noInline') static TokenValueFilter create() => TokenValueFilter._(); TokenValueFilter createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static TokenValueFilter getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TokenValueFilter getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static TokenValueFilter? _defaultInstance; - TokenValueFilter_FilterType whichFilterType() => _TokenValueFilter_FilterTypeByTag[$_whichOneof(0)]!; + TokenValueFilter_FilterType whichFilterType() => + _TokenValueFilter_FilterTypeByTag[$_whichOneof(0)]!; void clearFilterType() => clearField($_whichOneof(0)); @$pb.TagNumber(1) @@ -415,14 +476,20 @@ class TokenValueFilter extends $pb.GeneratedMessage { class TransactionFilter_AndFilter extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'TransactionFilter.AndFilter', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'TransactionFilter.AndFilter', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, ) ..pc( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'filters', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'filters', $pb.PbFieldType.PM, subBuilder: TransactionFilter.create, ) @@ -453,23 +520,28 @@ class TransactionFilter_AndFilter extends $pb.GeneratedMessage { 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - TransactionFilter_AndFilter clone() => TransactionFilter_AndFilter()..mergeFromMessage(this); + TransactionFilter_AndFilter clone() => + TransactionFilter_AndFilter()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 'Will be removed in next major version', ) - TransactionFilter_AndFilter copyWith(void Function(TransactionFilter_AndFilter) updates) => - super.copyWith((message) => updates(message as TransactionFilter_AndFilter)) + TransactionFilter_AndFilter copyWith( + void Function(TransactionFilter_AndFilter) updates) => + super.copyWith( + (message) => updates(message as TransactionFilter_AndFilter)) as TransactionFilter_AndFilter; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') - static TransactionFilter_AndFilter create() => TransactionFilter_AndFilter._(); + static TransactionFilter_AndFilter create() => + TransactionFilter_AndFilter._(); TransactionFilter_AndFilter createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static TransactionFilter_AndFilter getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TransactionFilter_AndFilter getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static TransactionFilter_AndFilter? _defaultInstance; @$pb.TagNumber(1) @@ -478,14 +550,20 @@ class TransactionFilter_AndFilter extends $pb.GeneratedMessage { class TransactionFilter_OrFilter extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'TransactionFilter.OrFilter', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'TransactionFilter.OrFilter', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, ) ..pc( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'filters', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'filters', $pb.PbFieldType.PM, subBuilder: TransactionFilter.create, ) @@ -516,23 +594,27 @@ class TransactionFilter_OrFilter extends $pb.GeneratedMessage { 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - TransactionFilter_OrFilter clone() => TransactionFilter_OrFilter()..mergeFromMessage(this); + TransactionFilter_OrFilter clone() => + TransactionFilter_OrFilter()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 'Will be removed in next major version', ) - TransactionFilter_OrFilter copyWith(void Function(TransactionFilter_OrFilter) updates) => - super.copyWith((message) => updates(message as TransactionFilter_OrFilter)) + TransactionFilter_OrFilter copyWith( + void Function(TransactionFilter_OrFilter) updates) => + super.copyWith( + (message) => updates(message as TransactionFilter_OrFilter)) as TransactionFilter_OrFilter; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static TransactionFilter_OrFilter create() => TransactionFilter_OrFilter._(); TransactionFilter_OrFilter createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static TransactionFilter_OrFilter getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TransactionFilter_OrFilter getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static TransactionFilter_OrFilter? _defaultInstance; @$pb.TagNumber(1) @@ -541,14 +623,20 @@ class TransactionFilter_OrFilter extends $pb.GeneratedMessage { class TransactionFilter_NotFilter extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'TransactionFilter.NotFilter', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'TransactionFilter.NotFilter', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, ) ..aOM( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'filter', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'filter', subBuilder: TransactionFilter.create, ) ..hasRequiredFields = false; @@ -578,23 +666,28 @@ class TransactionFilter_NotFilter extends $pb.GeneratedMessage { 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - TransactionFilter_NotFilter clone() => TransactionFilter_NotFilter()..mergeFromMessage(this); + TransactionFilter_NotFilter clone() => + TransactionFilter_NotFilter()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 'Will be removed in next major version', ) - TransactionFilter_NotFilter copyWith(void Function(TransactionFilter_NotFilter) updates) => - super.copyWith((message) => updates(message as TransactionFilter_NotFilter)) + TransactionFilter_NotFilter copyWith( + void Function(TransactionFilter_NotFilter) updates) => + super.copyWith( + (message) => updates(message as TransactionFilter_NotFilter)) as TransactionFilter_NotFilter; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') - static TransactionFilter_NotFilter create() => TransactionFilter_NotFilter._(); + static TransactionFilter_NotFilter create() => + TransactionFilter_NotFilter._(); TransactionFilter_NotFilter createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static TransactionFilter_NotFilter getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TransactionFilter_NotFilter getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static TransactionFilter_NotFilter? _defaultInstance; @$pb.TagNumber(1) @@ -614,9 +707,13 @@ class TransactionFilter_NotFilter extends $pb.GeneratedMessage { class TransactionFilter_AllFilter extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'TransactionFilter.AllFilter', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'TransactionFilter.AllFilter', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, )..hasRequiredFields = false; @@ -637,23 +734,28 @@ class TransactionFilter_AllFilter extends $pb.GeneratedMessage { 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - TransactionFilter_AllFilter clone() => TransactionFilter_AllFilter()..mergeFromMessage(this); + TransactionFilter_AllFilter clone() => + TransactionFilter_AllFilter()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 'Will be removed in next major version', ) - TransactionFilter_AllFilter copyWith(void Function(TransactionFilter_AllFilter) updates) => - super.copyWith((message) => updates(message as TransactionFilter_AllFilter)) + TransactionFilter_AllFilter copyWith( + void Function(TransactionFilter_AllFilter) updates) => + super.copyWith( + (message) => updates(message as TransactionFilter_AllFilter)) as TransactionFilter_AllFilter; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') - static TransactionFilter_AllFilter create() => TransactionFilter_AllFilter._(); + static TransactionFilter_AllFilter create() => + TransactionFilter_AllFilter._(); TransactionFilter_AllFilter createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static TransactionFilter_AllFilter getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TransactionFilter_AllFilter getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static TransactionFilter_AllFilter? _defaultInstance; } @@ -680,7 +782,8 @@ enum TransactionFilter_FilterType { } class TransactionFilter extends $pb.GeneratedMessage { - static const $core.Map<$core.int, TransactionFilter_FilterType> _TransactionFilter_FilterTypeByTag = { + static const $core.Map<$core.int, TransactionFilter_FilterType> + _TransactionFilter_FilterTypeByTag = { 1: TransactionFilter_FilterType.txTypeSelection, 2: TransactionFilter_FilterType.timestampRange, 3: TransactionFilter_FilterType.inputAddressSelection, @@ -702,85 +805,119 @@ class TransactionFilter extends $pb.GeneratedMessage { 0: TransactionFilter_FilterType.notSet }; static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'TransactionFilter', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'TransactionFilter', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, ) ..oo(0, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18]) ..aOM( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'txTypeSelection', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'txTypeSelection', subBuilder: StringSelection.create, ) ..aOM( 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'timestampRange', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'timestampRange', subBuilder: NumberRange.create, ) ..aOM( 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'inputAddressSelection', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'inputAddressSelection', subBuilder: StringSelection.create, ) ..aOM( 4, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'inputNonceSelection', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'inputNonceSelection', subBuilder: NumberSelection.create, ) ..aOM( 5, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'outputTokenBoxTypeSelection', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'outputTokenBoxTypeSelection', subBuilder: StringSelection.create, ) ..aOM( 6, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'outputTokenValueFilter', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'outputTokenValueFilter', subBuilder: TokenValueFilter.create, ) ..aOM( 7, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'outputAddressSelection', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'outputAddressSelection', subBuilder: StringSelection.create, ) ..aOM( 8, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'mintingSelection', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'mintingSelection', subBuilder: BooleanSelection.create, ) ..aOM( 9, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'txIdSelection', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'txIdSelection', subBuilder: StringSelection.create, ) ..aOM( 10, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'boxesToRemoveSelection', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'boxesToRemoveSelection', subBuilder: StringSelection.create, ) ..aOM( 11, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'feeRange', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'feeRange', subBuilder: NumberRange.create, ) ..aOM( 12, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'propositionSelection', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'propositionSelection', subBuilder: StringSelection.create, ) ..aOM( 13, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'blockIdSelection', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'blockIdSelection', subBuilder: StringSelection.create, ) ..aOM( 14, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'blockHeightRange', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'blockHeightRange', subBuilder: NumberRange.create, ) ..aOM( 15, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'and', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'and', subBuilder: TransactionFilter_AndFilter.create, ) ..aOM( @@ -790,12 +927,16 @@ class TransactionFilter extends $pb.GeneratedMessage { ) ..aOM( 17, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'not', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'not', subBuilder: TransactionFilter_NotFilter.create, ) ..aOM( 18, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'all', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'all', subBuilder: TransactionFilter_AllFilter.create, ) ..hasRequiredFields = false; @@ -883,7 +1024,8 @@ class TransactionFilter extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory TransactionFilter.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory TransactionFilter.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -903,13 +1045,15 @@ class TransactionFilter extends $pb.GeneratedMessage { @$core.pragma('dart2js:noInline') static TransactionFilter create() => TransactionFilter._(); TransactionFilter createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static TransactionFilter getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TransactionFilter getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static TransactionFilter? _defaultInstance; - TransactionFilter_FilterType whichFilterType() => _TransactionFilter_FilterTypeByTag[$_whichOneof(0)]!; + TransactionFilter_FilterType whichFilterType() => + _TransactionFilter_FilterTypeByTag[$_whichOneof(0)]!; void clearFilterType() => clearField($_whichOneof(0)); @$pb.TagNumber(1) @@ -1167,14 +1311,20 @@ class TransactionFilter extends $pb.GeneratedMessage { class BlockFilter_AndFilter extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'BlockFilter.AndFilter', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'BlockFilter.AndFilter', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, ) ..pc( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'filters', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'filters', $pb.PbFieldType.PM, subBuilder: BlockFilter.create, ) @@ -1195,30 +1345,34 @@ class BlockFilter_AndFilter extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory BlockFilter_AndFilter.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory BlockFilter_AndFilter.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - BlockFilter_AndFilter clone() => BlockFilter_AndFilter()..mergeFromMessage(this); + BlockFilter_AndFilter clone() => + BlockFilter_AndFilter()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 'Will be removed in next major version', ) - BlockFilter_AndFilter copyWith(void Function(BlockFilter_AndFilter) updates) => + BlockFilter_AndFilter copyWith( + void Function(BlockFilter_AndFilter) updates) => super.copyWith((message) => updates(message as BlockFilter_AndFilter)) as BlockFilter_AndFilter; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static BlockFilter_AndFilter create() => BlockFilter_AndFilter._(); BlockFilter_AndFilter createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static BlockFilter_AndFilter getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static BlockFilter_AndFilter getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static BlockFilter_AndFilter? _defaultInstance; @$pb.TagNumber(1) @@ -1227,14 +1381,20 @@ class BlockFilter_AndFilter extends $pb.GeneratedMessage { class BlockFilter_OrFilter extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'BlockFilter.OrFilter', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'BlockFilter.OrFilter', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, ) ..pc( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'filters', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'filters', $pb.PbFieldType.PM, subBuilder: BlockFilter.create, ) @@ -1255,14 +1415,16 @@ class BlockFilter_OrFilter extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory BlockFilter_OrFilter.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory BlockFilter_OrFilter.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - BlockFilter_OrFilter clone() => BlockFilter_OrFilter()..mergeFromMessage(this); + BlockFilter_OrFilter clone() => + BlockFilter_OrFilter()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' @@ -1275,10 +1437,11 @@ class BlockFilter_OrFilter extends $pb.GeneratedMessage { @$core.pragma('dart2js:noInline') static BlockFilter_OrFilter create() => BlockFilter_OrFilter._(); BlockFilter_OrFilter createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static BlockFilter_OrFilter getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static BlockFilter_OrFilter getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static BlockFilter_OrFilter? _defaultInstance; @$pb.TagNumber(1) @@ -1287,14 +1450,20 @@ class BlockFilter_OrFilter extends $pb.GeneratedMessage { class BlockFilter_NotFilter extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'BlockFilter.NotFilter', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'BlockFilter.NotFilter', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, ) ..aOM( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'filter', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'filter', subBuilder: BlockFilter.create, ) ..hasRequiredFields = false; @@ -1314,30 +1483,34 @@ class BlockFilter_NotFilter extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory BlockFilter_NotFilter.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory BlockFilter_NotFilter.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - BlockFilter_NotFilter clone() => BlockFilter_NotFilter()..mergeFromMessage(this); + BlockFilter_NotFilter clone() => + BlockFilter_NotFilter()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 'Will be removed in next major version', ) - BlockFilter_NotFilter copyWith(void Function(BlockFilter_NotFilter) updates) => + BlockFilter_NotFilter copyWith( + void Function(BlockFilter_NotFilter) updates) => super.copyWith((message) => updates(message as BlockFilter_NotFilter)) as BlockFilter_NotFilter; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static BlockFilter_NotFilter create() => BlockFilter_NotFilter._(); BlockFilter_NotFilter createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static BlockFilter_NotFilter getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static BlockFilter_NotFilter getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static BlockFilter_NotFilter? _defaultInstance; @$pb.TagNumber(1) @@ -1357,9 +1530,13 @@ class BlockFilter_NotFilter extends $pb.GeneratedMessage { class BlockFilter_AllFilter extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'BlockFilter.AllFilter', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'BlockFilter.AllFilter', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, )..hasRequiredFields = false; @@ -1370,30 +1547,34 @@ class BlockFilter_AllFilter extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory BlockFilter_AllFilter.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory BlockFilter_AllFilter.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - BlockFilter_AllFilter clone() => BlockFilter_AllFilter()..mergeFromMessage(this); + BlockFilter_AllFilter clone() => + BlockFilter_AllFilter()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 'Will be removed in next major version', ) - BlockFilter_AllFilter copyWith(void Function(BlockFilter_AllFilter) updates) => + BlockFilter_AllFilter copyWith( + void Function(BlockFilter_AllFilter) updates) => super.copyWith((message) => updates(message as BlockFilter_AllFilter)) as BlockFilter_AllFilter; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static BlockFilter_AllFilter create() => BlockFilter_AllFilter._(); BlockFilter_AllFilter createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static BlockFilter_AllFilter getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static BlockFilter_AllFilter getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static BlockFilter_AllFilter? _defaultInstance; } @@ -1416,7 +1597,8 @@ enum BlockFilter_FilterType { } class BlockFilter extends $pb.GeneratedMessage { - static const $core.Map<$core.int, BlockFilter_FilterType> _BlockFilter_FilterTypeByTag = { + static const $core.Map<$core.int, BlockFilter_FilterType> + _BlockFilter_FilterTypeByTag = { 1: BlockFilter_FilterType.idSelection, 2: BlockFilter_FilterType.parentIdSelection, 3: BlockFilter_FilterType.timestampRange, @@ -1434,65 +1616,91 @@ class BlockFilter extends $pb.GeneratedMessage { 0: BlockFilter_FilterType.notSet }; static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'BlockFilter', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'BlockFilter', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, ) ..oo(0, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 16, 17, 18]) ..aOM( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'idSelection', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'idSelection', subBuilder: StringSelection.create, ) ..aOM( 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'parentIdSelection', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'parentIdSelection', subBuilder: StringSelection.create, ) ..aOM( 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'timestampRange', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'timestampRange', subBuilder: NumberRange.create, ) ..aOM( 4, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'generatorBoxTokenValueFilter', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'generatorBoxTokenValueFilter', subBuilder: TokenValueFilter.create, ) ..aOM( 5, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'publicKeySelection', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'publicKeySelection', subBuilder: StringSelection.create, ) ..aOM( 6, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'heightRange', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'heightRange', subBuilder: NumberRange.create, ) ..aOM( 7, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'heightSelection', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'heightSelection', subBuilder: NumberSelection.create, ) ..aOM( 8, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'difficultyRange', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'difficultyRange', subBuilder: NumberRange.create, ) ..aOM( 9, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'versionSelection', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'versionSelection', subBuilder: NumberSelection.create, ) ..aOM( 10, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'numTransactionRange', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'numTransactionRange', subBuilder: NumberRange.create, ) ..aOM( 15, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'and', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'and', subBuilder: BlockFilter_AndFilter.create, ) ..aOM( @@ -1502,12 +1710,16 @@ class BlockFilter extends $pb.GeneratedMessage { ) ..aOM( 17, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'not', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'not', subBuilder: BlockFilter_NotFilter.create, ) ..aOM( 18, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'all', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'all', subBuilder: BlockFilter_AllFilter.create, ) ..hasRequiredFields = false; @@ -1574,9 +1786,11 @@ class BlockFilter extends $pb.GeneratedMessage { } return _result; } - factory BlockFilter.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory BlockFilter.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); - factory BlockFilter.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory BlockFilter.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -1590,17 +1804,20 @@ class BlockFilter extends $pb.GeneratedMessage { 'Will be removed in next major version', ) BlockFilter copyWith(void Function(BlockFilter) updates) => - super.copyWith((message) => updates(message as BlockFilter)) as BlockFilter; // ignore: deprecated_member_use + super.copyWith((message) => updates(message as BlockFilter)) + as BlockFilter; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static BlockFilter create() => BlockFilter._(); BlockFilter createEmptyInstance() => create(); static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static BlockFilter getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static BlockFilter getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static BlockFilter? _defaultInstance; - BlockFilter_FilterType whichFilterType() => _BlockFilter_FilterTypeByTag[$_whichOneof(0)]!; + BlockFilter_FilterType whichFilterType() => + _BlockFilter_FilterTypeByTag[$_whichOneof(0)]!; void clearFilterType() => clearField($_whichOneof(0)); @$pb.TagNumber(1) diff --git a/lib/genus/generated/filters.pbenum.dart b/lib/genus/generated/filters.pbenum.dart index 67c28c19..ef47b98d 100644 --- a/lib/genus/generated/filters.pbenum.dart +++ b/lib/genus/generated/filters.pbenum.dart @@ -4,4 +4,3 @@ // // @dart = 2.12 // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name - diff --git a/lib/genus/generated/filters.pbjson.dart b/lib/genus/generated/filters.pbjson.dart index deb829bc..7244a99c 100644 --- a/lib/genus/generated/filters.pbjson.dart +++ b/lib/genus/generated/filters.pbjson.dart @@ -8,6 +8,7 @@ import 'dart:core' as $core; import 'dart:convert' as $convert; import 'dart:typed_data' as $typed_data; + @$core.Deprecated('Use stringSelectionDescriptor instead') const StringSelection$json = const { '1': 'StringSelection', @@ -17,7 +18,8 @@ const StringSelection$json = const { }; /// Descriptor for `StringSelection`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List stringSelectionDescriptor = $convert.base64Decode('Cg9TdHJpbmdTZWxlY3Rpb24SFgoGdmFsdWVzGAEgAygJUgZ2YWx1ZXM='); +final $typed_data.Uint8List stringSelectionDescriptor = $convert + .base64Decode('Cg9TdHJpbmdTZWxlY3Rpb24SFgoGdmFsdWVzGAEgAygJUgZ2YWx1ZXM='); @$core.Deprecated('Use numberRangeDescriptor instead') const NumberRange$json = const { '1': 'NumberRange', @@ -31,7 +33,8 @@ const NumberRange$json = const { }; /// Descriptor for `NumberRange`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List numberRangeDescriptor = $convert.base64Decode('CgtOdW1iZXJSYW5nZRISCgNtaW4YASABKARIAFIDbWluEhIKA21heBgCIAEoBEgAUgNtYXhCDQoLZmlsdGVyX3R5cGU='); +final $typed_data.Uint8List numberRangeDescriptor = $convert.base64Decode( + 'CgtOdW1iZXJSYW5nZRISCgNtaW4YASABKARIAFIDbWluEhIKA21heBgCIAEoBEgAUgNtYXhCDQoLZmlsdGVyX3R5cGU='); @$core.Deprecated('Use numberSelectionDescriptor instead') const NumberSelection$json = const { '1': 'NumberSelection', @@ -41,7 +44,8 @@ const NumberSelection$json = const { }; /// Descriptor for `NumberSelection`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List numberSelectionDescriptor = $convert.base64Decode('Cg9OdW1iZXJTZWxlY3Rpb24SFgoGdmFsdWVzGAEgAygEUgZ2YWx1ZXM='); +final $typed_data.Uint8List numberSelectionDescriptor = $convert + .base64Decode('Cg9OdW1iZXJTZWxlY3Rpb24SFgoGdmFsdWVzGAEgAygEUgZ2YWx1ZXM='); @$core.Deprecated('Use booleanSelectionDescriptor instead') const BooleanSelection$json = const { '1': 'BooleanSelection', @@ -51,14 +55,39 @@ const BooleanSelection$json = const { }; /// Descriptor for `BooleanSelection`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List booleanSelectionDescriptor = $convert.base64Decode('ChBCb29sZWFuU2VsZWN0aW9uEhQKBXZhbHVlGAEgASgIUgV2YWx1ZQ=='); +final $typed_data.Uint8List booleanSelectionDescriptor = $convert + .base64Decode('ChBCb29sZWFuU2VsZWN0aW9uEhQKBXZhbHVlGAEgASgIUgV2YWx1ZQ=='); @$core.Deprecated('Use tokenValueFilterDescriptor instead') const TokenValueFilter$json = const { '1': 'TokenValueFilter', '2': const [ - const {'1': 'asset_code_selection', '3': 1, '4': 1, '5': 11, '6': '.co.topl.genus.StringSelection', '9': 0, '10': 'assetCodeSelection'}, - const {'1': 'quantity_range', '3': 2, '4': 1, '5': 11, '6': '.co.topl.genus.NumberRange', '9': 0, '10': 'quantityRange'}, - const {'1': 'token_value_type_selection', '3': 3, '4': 1, '5': 11, '6': '.co.topl.genus.StringSelection', '9': 0, '10': 'tokenValueTypeSelection'}, + const { + '1': 'asset_code_selection', + '3': 1, + '4': 1, + '5': 11, + '6': '.co.topl.genus.StringSelection', + '9': 0, + '10': 'assetCodeSelection' + }, + const { + '1': 'quantity_range', + '3': 2, + '4': 1, + '5': 11, + '6': '.co.topl.genus.NumberRange', + '9': 0, + '10': 'quantityRange' + }, + const { + '1': 'token_value_type_selection', + '3': 3, + '4': 1, + '5': 11, + '6': '.co.topl.genus.StringSelection', + '9': 0, + '10': 'tokenValueTypeSelection' + }, ], '8': const [ const {'1': 'filter_type'}, @@ -66,31 +95,181 @@ const TokenValueFilter$json = const { }; /// Descriptor for `TokenValueFilter`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List tokenValueFilterDescriptor = $convert.base64Decode('ChBUb2tlblZhbHVlRmlsdGVyElIKFGFzc2V0X2NvZGVfc2VsZWN0aW9uGAEgASgLMh4uY28udG9wbC5nZW51cy5TdHJpbmdTZWxlY3Rpb25IAFISYXNzZXRDb2RlU2VsZWN0aW9uEkMKDnF1YW50aXR5X3JhbmdlGAIgASgLMhouY28udG9wbC5nZW51cy5OdW1iZXJSYW5nZUgAUg1xdWFudGl0eVJhbmdlEl0KGnRva2VuX3ZhbHVlX3R5cGVfc2VsZWN0aW9uGAMgASgLMh4uY28udG9wbC5nZW51cy5TdHJpbmdTZWxlY3Rpb25IAFIXdG9rZW5WYWx1ZVR5cGVTZWxlY3Rpb25CDQoLZmlsdGVyX3R5cGU='); +final $typed_data.Uint8List tokenValueFilterDescriptor = $convert.base64Decode( + 'ChBUb2tlblZhbHVlRmlsdGVyElIKFGFzc2V0X2NvZGVfc2VsZWN0aW9uGAEgASgLMh4uY28udG9wbC5nZW51cy5TdHJpbmdTZWxlY3Rpb25IAFISYXNzZXRDb2RlU2VsZWN0aW9uEkMKDnF1YW50aXR5X3JhbmdlGAIgASgLMhouY28udG9wbC5nZW51cy5OdW1iZXJSYW5nZUgAUg1xdWFudGl0eVJhbmdlEl0KGnRva2VuX3ZhbHVlX3R5cGVfc2VsZWN0aW9uGAMgASgLMh4uY28udG9wbC5nZW51cy5TdHJpbmdTZWxlY3Rpb25IAFIXdG9rZW5WYWx1ZVR5cGVTZWxlY3Rpb25CDQoLZmlsdGVyX3R5cGU='); @$core.Deprecated('Use transactionFilterDescriptor instead') const TransactionFilter$json = const { '1': 'TransactionFilter', '2': const [ - const {'1': 'tx_type_selection', '3': 1, '4': 1, '5': 11, '6': '.co.topl.genus.StringSelection', '9': 0, '10': 'txTypeSelection'}, - const {'1': 'timestamp_range', '3': 2, '4': 1, '5': 11, '6': '.co.topl.genus.NumberRange', '9': 0, '10': 'timestampRange'}, - const {'1': 'input_address_selection', '3': 3, '4': 1, '5': 11, '6': '.co.topl.genus.StringSelection', '9': 0, '10': 'inputAddressSelection'}, - const {'1': 'input_nonce_selection', '3': 4, '4': 1, '5': 11, '6': '.co.topl.genus.NumberSelection', '9': 0, '10': 'inputNonceSelection'}, - const {'1': 'output_token_box_type_selection', '3': 5, '4': 1, '5': 11, '6': '.co.topl.genus.StringSelection', '9': 0, '10': 'outputTokenBoxTypeSelection'}, - const {'1': 'output_token_value_filter', '3': 6, '4': 1, '5': 11, '6': '.co.topl.genus.TokenValueFilter', '9': 0, '10': 'outputTokenValueFilter'}, - const {'1': 'output_address_selection', '3': 7, '4': 1, '5': 11, '6': '.co.topl.genus.StringSelection', '9': 0, '10': 'outputAddressSelection'}, - const {'1': 'minting_selection', '3': 8, '4': 1, '5': 11, '6': '.co.topl.genus.BooleanSelection', '9': 0, '10': 'mintingSelection'}, - const {'1': 'tx_id_selection', '3': 9, '4': 1, '5': 11, '6': '.co.topl.genus.StringSelection', '9': 0, '10': 'txIdSelection'}, - const {'1': 'boxes_to_remove_selection', '3': 10, '4': 1, '5': 11, '6': '.co.topl.genus.StringSelection', '9': 0, '10': 'boxesToRemoveSelection'}, - const {'1': 'fee_range', '3': 11, '4': 1, '5': 11, '6': '.co.topl.genus.NumberRange', '9': 0, '10': 'feeRange'}, - const {'1': 'proposition_selection', '3': 12, '4': 1, '5': 11, '6': '.co.topl.genus.StringSelection', '9': 0, '10': 'propositionSelection'}, - const {'1': 'block_id_selection', '3': 13, '4': 1, '5': 11, '6': '.co.topl.genus.StringSelection', '9': 0, '10': 'blockIdSelection'}, - const {'1': 'block_height_range', '3': 14, '4': 1, '5': 11, '6': '.co.topl.genus.NumberRange', '9': 0, '10': 'blockHeightRange'}, - const {'1': 'and', '3': 15, '4': 1, '5': 11, '6': '.co.topl.genus.TransactionFilter.AndFilter', '9': 0, '10': 'and'}, - const {'1': 'or', '3': 16, '4': 1, '5': 11, '6': '.co.topl.genus.TransactionFilter.OrFilter', '9': 0, '10': 'or'}, - const {'1': 'not', '3': 17, '4': 1, '5': 11, '6': '.co.topl.genus.TransactionFilter.NotFilter', '9': 0, '10': 'not'}, - const {'1': 'all', '3': 18, '4': 1, '5': 11, '6': '.co.topl.genus.TransactionFilter.AllFilter', '9': 0, '10': 'all'}, - ], - '3': const [TransactionFilter_AndFilter$json, TransactionFilter_OrFilter$json, TransactionFilter_NotFilter$json, TransactionFilter_AllFilter$json], + const { + '1': 'tx_type_selection', + '3': 1, + '4': 1, + '5': 11, + '6': '.co.topl.genus.StringSelection', + '9': 0, + '10': 'txTypeSelection' + }, + const { + '1': 'timestamp_range', + '3': 2, + '4': 1, + '5': 11, + '6': '.co.topl.genus.NumberRange', + '9': 0, + '10': 'timestampRange' + }, + const { + '1': 'input_address_selection', + '3': 3, + '4': 1, + '5': 11, + '6': '.co.topl.genus.StringSelection', + '9': 0, + '10': 'inputAddressSelection' + }, + const { + '1': 'input_nonce_selection', + '3': 4, + '4': 1, + '5': 11, + '6': '.co.topl.genus.NumberSelection', + '9': 0, + '10': 'inputNonceSelection' + }, + const { + '1': 'output_token_box_type_selection', + '3': 5, + '4': 1, + '5': 11, + '6': '.co.topl.genus.StringSelection', + '9': 0, + '10': 'outputTokenBoxTypeSelection' + }, + const { + '1': 'output_token_value_filter', + '3': 6, + '4': 1, + '5': 11, + '6': '.co.topl.genus.TokenValueFilter', + '9': 0, + '10': 'outputTokenValueFilter' + }, + const { + '1': 'output_address_selection', + '3': 7, + '4': 1, + '5': 11, + '6': '.co.topl.genus.StringSelection', + '9': 0, + '10': 'outputAddressSelection' + }, + const { + '1': 'minting_selection', + '3': 8, + '4': 1, + '5': 11, + '6': '.co.topl.genus.BooleanSelection', + '9': 0, + '10': 'mintingSelection' + }, + const { + '1': 'tx_id_selection', + '3': 9, + '4': 1, + '5': 11, + '6': '.co.topl.genus.StringSelection', + '9': 0, + '10': 'txIdSelection' + }, + const { + '1': 'boxes_to_remove_selection', + '3': 10, + '4': 1, + '5': 11, + '6': '.co.topl.genus.StringSelection', + '9': 0, + '10': 'boxesToRemoveSelection' + }, + const { + '1': 'fee_range', + '3': 11, + '4': 1, + '5': 11, + '6': '.co.topl.genus.NumberRange', + '9': 0, + '10': 'feeRange' + }, + const { + '1': 'proposition_selection', + '3': 12, + '4': 1, + '5': 11, + '6': '.co.topl.genus.StringSelection', + '9': 0, + '10': 'propositionSelection' + }, + const { + '1': 'block_id_selection', + '3': 13, + '4': 1, + '5': 11, + '6': '.co.topl.genus.StringSelection', + '9': 0, + '10': 'blockIdSelection' + }, + const { + '1': 'block_height_range', + '3': 14, + '4': 1, + '5': 11, + '6': '.co.topl.genus.NumberRange', + '9': 0, + '10': 'blockHeightRange' + }, + const { + '1': 'and', + '3': 15, + '4': 1, + '5': 11, + '6': '.co.topl.genus.TransactionFilter.AndFilter', + '9': 0, + '10': 'and' + }, + const { + '1': 'or', + '3': 16, + '4': 1, + '5': 11, + '6': '.co.topl.genus.TransactionFilter.OrFilter', + '9': 0, + '10': 'or' + }, + const { + '1': 'not', + '3': 17, + '4': 1, + '5': 11, + '6': '.co.topl.genus.TransactionFilter.NotFilter', + '9': 0, + '10': 'not' + }, + const { + '1': 'all', + '3': 18, + '4': 1, + '5': 11, + '6': '.co.topl.genus.TransactionFilter.AllFilter', + '9': 0, + '10': 'all' + }, + ], + '3': const [ + TransactionFilter_AndFilter$json, + TransactionFilter_OrFilter$json, + TransactionFilter_NotFilter$json, + TransactionFilter_AllFilter$json + ], '8': const [ const {'1': 'filter_type'}, ], @@ -100,7 +279,14 @@ const TransactionFilter$json = const { const TransactionFilter_AndFilter$json = const { '1': 'AndFilter', '2': const [ - const {'1': 'filters', '3': 1, '4': 3, '5': 11, '6': '.co.topl.genus.TransactionFilter', '10': 'filters'}, + const { + '1': 'filters', + '3': 1, + '4': 3, + '5': 11, + '6': '.co.topl.genus.TransactionFilter', + '10': 'filters' + }, ], }; @@ -108,7 +294,14 @@ const TransactionFilter_AndFilter$json = const { const TransactionFilter_OrFilter$json = const { '1': 'OrFilter', '2': const [ - const {'1': 'filters', '3': 1, '4': 3, '5': 11, '6': '.co.topl.genus.TransactionFilter', '10': 'filters'}, + const { + '1': 'filters', + '3': 1, + '4': 3, + '5': 11, + '6': '.co.topl.genus.TransactionFilter', + '10': 'filters' + }, ], }; @@ -116,7 +309,14 @@ const TransactionFilter_OrFilter$json = const { const TransactionFilter_NotFilter$json = const { '1': 'NotFilter', '2': const [ - const {'1': 'filter', '3': 1, '4': 1, '5': 11, '6': '.co.topl.genus.TransactionFilter', '10': 'filter'}, + const { + '1': 'filter', + '3': 1, + '4': 1, + '5': 11, + '6': '.co.topl.genus.TransactionFilter', + '10': 'filter' + }, ], }; @@ -126,27 +326,145 @@ const TransactionFilter_AllFilter$json = const { }; /// Descriptor for `TransactionFilter`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List transactionFilterDescriptor = $convert.base64Decode('ChFUcmFuc2FjdGlvbkZpbHRlchJMChF0eF90eXBlX3NlbGVjdGlvbhgBIAEoCzIeLmNvLnRvcGwuZ2VudXMuU3RyaW5nU2VsZWN0aW9uSABSD3R4VHlwZVNlbGVjdGlvbhJFCg90aW1lc3RhbXBfcmFuZ2UYAiABKAsyGi5jby50b3BsLmdlbnVzLk51bWJlclJhbmdlSABSDnRpbWVzdGFtcFJhbmdlElgKF2lucHV0X2FkZHJlc3Nfc2VsZWN0aW9uGAMgASgLMh4uY28udG9wbC5nZW51cy5TdHJpbmdTZWxlY3Rpb25IAFIVaW5wdXRBZGRyZXNzU2VsZWN0aW9uElQKFWlucHV0X25vbmNlX3NlbGVjdGlvbhgEIAEoCzIeLmNvLnRvcGwuZ2VudXMuTnVtYmVyU2VsZWN0aW9uSABSE2lucHV0Tm9uY2VTZWxlY3Rpb24SZgofb3V0cHV0X3Rva2VuX2JveF90eXBlX3NlbGVjdGlvbhgFIAEoCzIeLmNvLnRvcGwuZ2VudXMuU3RyaW5nU2VsZWN0aW9uSABSG291dHB1dFRva2VuQm94VHlwZVNlbGVjdGlvbhJcChlvdXRwdXRfdG9rZW5fdmFsdWVfZmlsdGVyGAYgASgLMh8uY28udG9wbC5nZW51cy5Ub2tlblZhbHVlRmlsdGVySABSFm91dHB1dFRva2VuVmFsdWVGaWx0ZXISWgoYb3V0cHV0X2FkZHJlc3Nfc2VsZWN0aW9uGAcgASgLMh4uY28udG9wbC5nZW51cy5TdHJpbmdTZWxlY3Rpb25IAFIWb3V0cHV0QWRkcmVzc1NlbGVjdGlvbhJOChFtaW50aW5nX3NlbGVjdGlvbhgIIAEoCzIfLmNvLnRvcGwuZ2VudXMuQm9vbGVhblNlbGVjdGlvbkgAUhBtaW50aW5nU2VsZWN0aW9uEkgKD3R4X2lkX3NlbGVjdGlvbhgJIAEoCzIeLmNvLnRvcGwuZ2VudXMuU3RyaW5nU2VsZWN0aW9uSABSDXR4SWRTZWxlY3Rpb24SWwoZYm94ZXNfdG9fcmVtb3ZlX3NlbGVjdGlvbhgKIAEoCzIeLmNvLnRvcGwuZ2VudXMuU3RyaW5nU2VsZWN0aW9uSABSFmJveGVzVG9SZW1vdmVTZWxlY3Rpb24SOQoJZmVlX3JhbmdlGAsgASgLMhouY28udG9wbC5nZW51cy5OdW1iZXJSYW5nZUgAUghmZWVSYW5nZRJVChVwcm9wb3NpdGlvbl9zZWxlY3Rpb24YDCABKAsyHi5jby50b3BsLmdlbnVzLlN0cmluZ1NlbGVjdGlvbkgAUhRwcm9wb3NpdGlvblNlbGVjdGlvbhJOChJibG9ja19pZF9zZWxlY3Rpb24YDSABKAsyHi5jby50b3BsLmdlbnVzLlN0cmluZ1NlbGVjdGlvbkgAUhBibG9ja0lkU2VsZWN0aW9uEkoKEmJsb2NrX2hlaWdodF9yYW5nZRgOIAEoCzIaLmNvLnRvcGwuZ2VudXMuTnVtYmVyUmFuZ2VIAFIQYmxvY2tIZWlnaHRSYW5nZRI+CgNhbmQYDyABKAsyKi5jby50b3BsLmdlbnVzLlRyYW5zYWN0aW9uRmlsdGVyLkFuZEZpbHRlckgAUgNhbmQSOwoCb3IYECABKAsyKS5jby50b3BsLmdlbnVzLlRyYW5zYWN0aW9uRmlsdGVyLk9yRmlsdGVySABSAm9yEj4KA25vdBgRIAEoCzIqLmNvLnRvcGwuZ2VudXMuVHJhbnNhY3Rpb25GaWx0ZXIuTm90RmlsdGVySABSA25vdBI+CgNhbGwYEiABKAsyKi5jby50b3BsLmdlbnVzLlRyYW5zYWN0aW9uRmlsdGVyLkFsbEZpbHRlckgAUgNhbGwaRwoJQW5kRmlsdGVyEjoKB2ZpbHRlcnMYASADKAsyIC5jby50b3BsLmdlbnVzLlRyYW5zYWN0aW9uRmlsdGVyUgdmaWx0ZXJzGkYKCE9yRmlsdGVyEjoKB2ZpbHRlcnMYASADKAsyIC5jby50b3BsLmdlbnVzLlRyYW5zYWN0aW9uRmlsdGVyUgdmaWx0ZXJzGkUKCU5vdEZpbHRlchI4CgZmaWx0ZXIYASABKAsyIC5jby50b3BsLmdlbnVzLlRyYW5zYWN0aW9uRmlsdGVyUgZmaWx0ZXIaCwoJQWxsRmlsdGVyQg0KC2ZpbHRlcl90eXBl'); +final $typed_data.Uint8List transactionFilterDescriptor = $convert.base64Decode( + 'ChFUcmFuc2FjdGlvbkZpbHRlchJMChF0eF90eXBlX3NlbGVjdGlvbhgBIAEoCzIeLmNvLnRvcGwuZ2VudXMuU3RyaW5nU2VsZWN0aW9uSABSD3R4VHlwZVNlbGVjdGlvbhJFCg90aW1lc3RhbXBfcmFuZ2UYAiABKAsyGi5jby50b3BsLmdlbnVzLk51bWJlclJhbmdlSABSDnRpbWVzdGFtcFJhbmdlElgKF2lucHV0X2FkZHJlc3Nfc2VsZWN0aW9uGAMgASgLMh4uY28udG9wbC5nZW51cy5TdHJpbmdTZWxlY3Rpb25IAFIVaW5wdXRBZGRyZXNzU2VsZWN0aW9uElQKFWlucHV0X25vbmNlX3NlbGVjdGlvbhgEIAEoCzIeLmNvLnRvcGwuZ2VudXMuTnVtYmVyU2VsZWN0aW9uSABSE2lucHV0Tm9uY2VTZWxlY3Rpb24SZgofb3V0cHV0X3Rva2VuX2JveF90eXBlX3NlbGVjdGlvbhgFIAEoCzIeLmNvLnRvcGwuZ2VudXMuU3RyaW5nU2VsZWN0aW9uSABSG291dHB1dFRva2VuQm94VHlwZVNlbGVjdGlvbhJcChlvdXRwdXRfdG9rZW5fdmFsdWVfZmlsdGVyGAYgASgLMh8uY28udG9wbC5nZW51cy5Ub2tlblZhbHVlRmlsdGVySABSFm91dHB1dFRva2VuVmFsdWVGaWx0ZXISWgoYb3V0cHV0X2FkZHJlc3Nfc2VsZWN0aW9uGAcgASgLMh4uY28udG9wbC5nZW51cy5TdHJpbmdTZWxlY3Rpb25IAFIWb3V0cHV0QWRkcmVzc1NlbGVjdGlvbhJOChFtaW50aW5nX3NlbGVjdGlvbhgIIAEoCzIfLmNvLnRvcGwuZ2VudXMuQm9vbGVhblNlbGVjdGlvbkgAUhBtaW50aW5nU2VsZWN0aW9uEkgKD3R4X2lkX3NlbGVjdGlvbhgJIAEoCzIeLmNvLnRvcGwuZ2VudXMuU3RyaW5nU2VsZWN0aW9uSABSDXR4SWRTZWxlY3Rpb24SWwoZYm94ZXNfdG9fcmVtb3ZlX3NlbGVjdGlvbhgKIAEoCzIeLmNvLnRvcGwuZ2VudXMuU3RyaW5nU2VsZWN0aW9uSABSFmJveGVzVG9SZW1vdmVTZWxlY3Rpb24SOQoJZmVlX3JhbmdlGAsgASgLMhouY28udG9wbC5nZW51cy5OdW1iZXJSYW5nZUgAUghmZWVSYW5nZRJVChVwcm9wb3NpdGlvbl9zZWxlY3Rpb24YDCABKAsyHi5jby50b3BsLmdlbnVzLlN0cmluZ1NlbGVjdGlvbkgAUhRwcm9wb3NpdGlvblNlbGVjdGlvbhJOChJibG9ja19pZF9zZWxlY3Rpb24YDSABKAsyHi5jby50b3BsLmdlbnVzLlN0cmluZ1NlbGVjdGlvbkgAUhBibG9ja0lkU2VsZWN0aW9uEkoKEmJsb2NrX2hlaWdodF9yYW5nZRgOIAEoCzIaLmNvLnRvcGwuZ2VudXMuTnVtYmVyUmFuZ2VIAFIQYmxvY2tIZWlnaHRSYW5nZRI+CgNhbmQYDyABKAsyKi5jby50b3BsLmdlbnVzLlRyYW5zYWN0aW9uRmlsdGVyLkFuZEZpbHRlckgAUgNhbmQSOwoCb3IYECABKAsyKS5jby50b3BsLmdlbnVzLlRyYW5zYWN0aW9uRmlsdGVyLk9yRmlsdGVySABSAm9yEj4KA25vdBgRIAEoCzIqLmNvLnRvcGwuZ2VudXMuVHJhbnNhY3Rpb25GaWx0ZXIuTm90RmlsdGVySABSA25vdBI+CgNhbGwYEiABKAsyKi5jby50b3BsLmdlbnVzLlRyYW5zYWN0aW9uRmlsdGVyLkFsbEZpbHRlckgAUgNhbGwaRwoJQW5kRmlsdGVyEjoKB2ZpbHRlcnMYASADKAsyIC5jby50b3BsLmdlbnVzLlRyYW5zYWN0aW9uRmlsdGVyUgdmaWx0ZXJzGkYKCE9yRmlsdGVyEjoKB2ZpbHRlcnMYASADKAsyIC5jby50b3BsLmdlbnVzLlRyYW5zYWN0aW9uRmlsdGVyUgdmaWx0ZXJzGkUKCU5vdEZpbHRlchI4CgZmaWx0ZXIYASABKAsyIC5jby50b3BsLmdlbnVzLlRyYW5zYWN0aW9uRmlsdGVyUgZmaWx0ZXIaCwoJQWxsRmlsdGVyQg0KC2ZpbHRlcl90eXBl'); @$core.Deprecated('Use blockFilterDescriptor instead') const BlockFilter$json = const { '1': 'BlockFilter', '2': const [ - const {'1': 'id_selection', '3': 1, '4': 1, '5': 11, '6': '.co.topl.genus.StringSelection', '9': 0, '10': 'idSelection'}, - const {'1': 'parent_id_selection', '3': 2, '4': 1, '5': 11, '6': '.co.topl.genus.StringSelection', '9': 0, '10': 'parentIdSelection'}, - const {'1': 'timestamp_range', '3': 3, '4': 1, '5': 11, '6': '.co.topl.genus.NumberRange', '9': 0, '10': 'timestampRange'}, - const {'1': 'generator_box_token_value_filter', '3': 4, '4': 1, '5': 11, '6': '.co.topl.genus.TokenValueFilter', '9': 0, '10': 'generatorBoxTokenValueFilter'}, - const {'1': 'public_key_selection', '3': 5, '4': 1, '5': 11, '6': '.co.topl.genus.StringSelection', '9': 0, '10': 'publicKeySelection'}, - const {'1': 'height_range', '3': 6, '4': 1, '5': 11, '6': '.co.topl.genus.NumberRange', '9': 0, '10': 'heightRange'}, - const {'1': 'height_selection', '3': 7, '4': 1, '5': 11, '6': '.co.topl.genus.NumberSelection', '9': 0, '10': 'heightSelection'}, - const {'1': 'difficulty_range', '3': 8, '4': 1, '5': 11, '6': '.co.topl.genus.NumberRange', '9': 0, '10': 'difficultyRange'}, - const {'1': 'version_selection', '3': 9, '4': 1, '5': 11, '6': '.co.topl.genus.NumberSelection', '9': 0, '10': 'versionSelection'}, - const {'1': 'num_transaction_range', '3': 10, '4': 1, '5': 11, '6': '.co.topl.genus.NumberRange', '9': 0, '10': 'numTransactionRange'}, - const {'1': 'and', '3': 15, '4': 1, '5': 11, '6': '.co.topl.genus.BlockFilter.AndFilter', '9': 0, '10': 'and'}, - const {'1': 'or', '3': 16, '4': 1, '5': 11, '6': '.co.topl.genus.BlockFilter.OrFilter', '9': 0, '10': 'or'}, - const {'1': 'not', '3': 17, '4': 1, '5': 11, '6': '.co.topl.genus.BlockFilter.NotFilter', '9': 0, '10': 'not'}, - const {'1': 'all', '3': 18, '4': 1, '5': 11, '6': '.co.topl.genus.BlockFilter.AllFilter', '9': 0, '10': 'all'}, - ], - '3': const [BlockFilter_AndFilter$json, BlockFilter_OrFilter$json, BlockFilter_NotFilter$json, BlockFilter_AllFilter$json], + const { + '1': 'id_selection', + '3': 1, + '4': 1, + '5': 11, + '6': '.co.topl.genus.StringSelection', + '9': 0, + '10': 'idSelection' + }, + const { + '1': 'parent_id_selection', + '3': 2, + '4': 1, + '5': 11, + '6': '.co.topl.genus.StringSelection', + '9': 0, + '10': 'parentIdSelection' + }, + const { + '1': 'timestamp_range', + '3': 3, + '4': 1, + '5': 11, + '6': '.co.topl.genus.NumberRange', + '9': 0, + '10': 'timestampRange' + }, + const { + '1': 'generator_box_token_value_filter', + '3': 4, + '4': 1, + '5': 11, + '6': '.co.topl.genus.TokenValueFilter', + '9': 0, + '10': 'generatorBoxTokenValueFilter' + }, + const { + '1': 'public_key_selection', + '3': 5, + '4': 1, + '5': 11, + '6': '.co.topl.genus.StringSelection', + '9': 0, + '10': 'publicKeySelection' + }, + const { + '1': 'height_range', + '3': 6, + '4': 1, + '5': 11, + '6': '.co.topl.genus.NumberRange', + '9': 0, + '10': 'heightRange' + }, + const { + '1': 'height_selection', + '3': 7, + '4': 1, + '5': 11, + '6': '.co.topl.genus.NumberSelection', + '9': 0, + '10': 'heightSelection' + }, + const { + '1': 'difficulty_range', + '3': 8, + '4': 1, + '5': 11, + '6': '.co.topl.genus.NumberRange', + '9': 0, + '10': 'difficultyRange' + }, + const { + '1': 'version_selection', + '3': 9, + '4': 1, + '5': 11, + '6': '.co.topl.genus.NumberSelection', + '9': 0, + '10': 'versionSelection' + }, + const { + '1': 'num_transaction_range', + '3': 10, + '4': 1, + '5': 11, + '6': '.co.topl.genus.NumberRange', + '9': 0, + '10': 'numTransactionRange' + }, + const { + '1': 'and', + '3': 15, + '4': 1, + '5': 11, + '6': '.co.topl.genus.BlockFilter.AndFilter', + '9': 0, + '10': 'and' + }, + const { + '1': 'or', + '3': 16, + '4': 1, + '5': 11, + '6': '.co.topl.genus.BlockFilter.OrFilter', + '9': 0, + '10': 'or' + }, + const { + '1': 'not', + '3': 17, + '4': 1, + '5': 11, + '6': '.co.topl.genus.BlockFilter.NotFilter', + '9': 0, + '10': 'not' + }, + const { + '1': 'all', + '3': 18, + '4': 1, + '5': 11, + '6': '.co.topl.genus.BlockFilter.AllFilter', + '9': 0, + '10': 'all' + }, + ], + '3': const [ + BlockFilter_AndFilter$json, + BlockFilter_OrFilter$json, + BlockFilter_NotFilter$json, + BlockFilter_AllFilter$json + ], '8': const [ const {'1': 'filter_type'}, ], @@ -156,7 +474,14 @@ const BlockFilter$json = const { const BlockFilter_AndFilter$json = const { '1': 'AndFilter', '2': const [ - const {'1': 'filters', '3': 1, '4': 3, '5': 11, '6': '.co.topl.genus.BlockFilter', '10': 'filters'}, + const { + '1': 'filters', + '3': 1, + '4': 3, + '5': 11, + '6': '.co.topl.genus.BlockFilter', + '10': 'filters' + }, ], }; @@ -164,7 +489,14 @@ const BlockFilter_AndFilter$json = const { const BlockFilter_OrFilter$json = const { '1': 'OrFilter', '2': const [ - const {'1': 'filters', '3': 1, '4': 3, '5': 11, '6': '.co.topl.genus.BlockFilter', '10': 'filters'}, + const { + '1': 'filters', + '3': 1, + '4': 3, + '5': 11, + '6': '.co.topl.genus.BlockFilter', + '10': 'filters' + }, ], }; @@ -172,7 +504,14 @@ const BlockFilter_OrFilter$json = const { const BlockFilter_NotFilter$json = const { '1': 'NotFilter', '2': const [ - const {'1': 'filter', '3': 1, '4': 1, '5': 11, '6': '.co.topl.genus.BlockFilter', '10': 'filter'}, + const { + '1': 'filter', + '3': 1, + '4': 1, + '5': 11, + '6': '.co.topl.genus.BlockFilter', + '10': 'filter' + }, ], }; @@ -182,4 +521,5 @@ const BlockFilter_AllFilter$json = const { }; /// Descriptor for `BlockFilter`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List blockFilterDescriptor = $convert.base64Decode('CgtCbG9ja0ZpbHRlchJDCgxpZF9zZWxlY3Rpb24YASABKAsyHi5jby50b3BsLmdlbnVzLlN0cmluZ1NlbGVjdGlvbkgAUgtpZFNlbGVjdGlvbhJQChNwYXJlbnRfaWRfc2VsZWN0aW9uGAIgASgLMh4uY28udG9wbC5nZW51cy5TdHJpbmdTZWxlY3Rpb25IAFIRcGFyZW50SWRTZWxlY3Rpb24SRQoPdGltZXN0YW1wX3JhbmdlGAMgASgLMhouY28udG9wbC5nZW51cy5OdW1iZXJSYW5nZUgAUg50aW1lc3RhbXBSYW5nZRJpCiBnZW5lcmF0b3JfYm94X3Rva2VuX3ZhbHVlX2ZpbHRlchgEIAEoCzIfLmNvLnRvcGwuZ2VudXMuVG9rZW5WYWx1ZUZpbHRlckgAUhxnZW5lcmF0b3JCb3hUb2tlblZhbHVlRmlsdGVyElIKFHB1YmxpY19rZXlfc2VsZWN0aW9uGAUgASgLMh4uY28udG9wbC5nZW51cy5TdHJpbmdTZWxlY3Rpb25IAFIScHVibGljS2V5U2VsZWN0aW9uEj8KDGhlaWdodF9yYW5nZRgGIAEoCzIaLmNvLnRvcGwuZ2VudXMuTnVtYmVyUmFuZ2VIAFILaGVpZ2h0UmFuZ2USSwoQaGVpZ2h0X3NlbGVjdGlvbhgHIAEoCzIeLmNvLnRvcGwuZ2VudXMuTnVtYmVyU2VsZWN0aW9uSABSD2hlaWdodFNlbGVjdGlvbhJHChBkaWZmaWN1bHR5X3JhbmdlGAggASgLMhouY28udG9wbC5nZW51cy5OdW1iZXJSYW5nZUgAUg9kaWZmaWN1bHR5UmFuZ2USTQoRdmVyc2lvbl9zZWxlY3Rpb24YCSABKAsyHi5jby50b3BsLmdlbnVzLk51bWJlclNlbGVjdGlvbkgAUhB2ZXJzaW9uU2VsZWN0aW9uElAKFW51bV90cmFuc2FjdGlvbl9yYW5nZRgKIAEoCzIaLmNvLnRvcGwuZ2VudXMuTnVtYmVyUmFuZ2VIAFITbnVtVHJhbnNhY3Rpb25SYW5nZRI4CgNhbmQYDyABKAsyJC5jby50b3BsLmdlbnVzLkJsb2NrRmlsdGVyLkFuZEZpbHRlckgAUgNhbmQSNQoCb3IYECABKAsyIy5jby50b3BsLmdlbnVzLkJsb2NrRmlsdGVyLk9yRmlsdGVySABSAm9yEjgKA25vdBgRIAEoCzIkLmNvLnRvcGwuZ2VudXMuQmxvY2tGaWx0ZXIuTm90RmlsdGVySABSA25vdBI4CgNhbGwYEiABKAsyJC5jby50b3BsLmdlbnVzLkJsb2NrRmlsdGVyLkFsbEZpbHRlckgAUgNhbGwaQQoJQW5kRmlsdGVyEjQKB2ZpbHRlcnMYASADKAsyGi5jby50b3BsLmdlbnVzLkJsb2NrRmlsdGVyUgdmaWx0ZXJzGkAKCE9yRmlsdGVyEjQKB2ZpbHRlcnMYASADKAsyGi5jby50b3BsLmdlbnVzLkJsb2NrRmlsdGVyUgdmaWx0ZXJzGj8KCU5vdEZpbHRlchIyCgZmaWx0ZXIYASABKAsyGi5jby50b3BsLmdlbnVzLkJsb2NrRmlsdGVyUgZmaWx0ZXIaCwoJQWxsRmlsdGVyQg0KC2ZpbHRlcl90eXBl'); +final $typed_data.Uint8List blockFilterDescriptor = $convert.base64Decode( + 'CgtCbG9ja0ZpbHRlchJDCgxpZF9zZWxlY3Rpb24YASABKAsyHi5jby50b3BsLmdlbnVzLlN0cmluZ1NlbGVjdGlvbkgAUgtpZFNlbGVjdGlvbhJQChNwYXJlbnRfaWRfc2VsZWN0aW9uGAIgASgLMh4uY28udG9wbC5nZW51cy5TdHJpbmdTZWxlY3Rpb25IAFIRcGFyZW50SWRTZWxlY3Rpb24SRQoPdGltZXN0YW1wX3JhbmdlGAMgASgLMhouY28udG9wbC5nZW51cy5OdW1iZXJSYW5nZUgAUg50aW1lc3RhbXBSYW5nZRJpCiBnZW5lcmF0b3JfYm94X3Rva2VuX3ZhbHVlX2ZpbHRlchgEIAEoCzIfLmNvLnRvcGwuZ2VudXMuVG9rZW5WYWx1ZUZpbHRlckgAUhxnZW5lcmF0b3JCb3hUb2tlblZhbHVlRmlsdGVyElIKFHB1YmxpY19rZXlfc2VsZWN0aW9uGAUgASgLMh4uY28udG9wbC5nZW51cy5TdHJpbmdTZWxlY3Rpb25IAFIScHVibGljS2V5U2VsZWN0aW9uEj8KDGhlaWdodF9yYW5nZRgGIAEoCzIaLmNvLnRvcGwuZ2VudXMuTnVtYmVyUmFuZ2VIAFILaGVpZ2h0UmFuZ2USSwoQaGVpZ2h0X3NlbGVjdGlvbhgHIAEoCzIeLmNvLnRvcGwuZ2VudXMuTnVtYmVyU2VsZWN0aW9uSABSD2hlaWdodFNlbGVjdGlvbhJHChBkaWZmaWN1bHR5X3JhbmdlGAggASgLMhouY28udG9wbC5nZW51cy5OdW1iZXJSYW5nZUgAUg9kaWZmaWN1bHR5UmFuZ2USTQoRdmVyc2lvbl9zZWxlY3Rpb24YCSABKAsyHi5jby50b3BsLmdlbnVzLk51bWJlclNlbGVjdGlvbkgAUhB2ZXJzaW9uU2VsZWN0aW9uElAKFW51bV90cmFuc2FjdGlvbl9yYW5nZRgKIAEoCzIaLmNvLnRvcGwuZ2VudXMuTnVtYmVyUmFuZ2VIAFITbnVtVHJhbnNhY3Rpb25SYW5nZRI4CgNhbmQYDyABKAsyJC5jby50b3BsLmdlbnVzLkJsb2NrRmlsdGVyLkFuZEZpbHRlckgAUgNhbmQSNQoCb3IYECABKAsyIy5jby50b3BsLmdlbnVzLkJsb2NrRmlsdGVyLk9yRmlsdGVySABSAm9yEjgKA25vdBgRIAEoCzIkLmNvLnRvcGwuZ2VudXMuQmxvY2tGaWx0ZXIuTm90RmlsdGVySABSA25vdBI4CgNhbGwYEiABKAsyJC5jby50b3BsLmdlbnVzLkJsb2NrRmlsdGVyLkFsbEZpbHRlckgAUgNhbGwaQQoJQW5kRmlsdGVyEjQKB2ZpbHRlcnMYASADKAsyGi5jby50b3BsLmdlbnVzLkJsb2NrRmlsdGVyUgdmaWx0ZXJzGkAKCE9yRmlsdGVyEjQKB2ZpbHRlcnMYASADKAsyGi5jby50b3BsLmdlbnVzLkJsb2NrRmlsdGVyUgdmaWx0ZXJzGj8KCU5vdEZpbHRlchIyCgZmaWx0ZXIYASABKAsyGi5jby50b3BsLmdlbnVzLkJsb2NrRmlsdGVyUgZmaWx0ZXIaCwoJQWxsRmlsdGVyQg0KC2ZpbHRlcl90eXBl'); diff --git a/lib/genus/generated/services_types.pb.dart b/lib/genus/generated/services_types.pb.dart index 95911845..993a28e6 100644 --- a/lib/genus/generated/services_types.pb.dart +++ b/lib/genus/generated/services_types.pb.dart @@ -11,20 +11,28 @@ import 'package:protobuf/protobuf.dart' as $pb; class Paging extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'Paging', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'Paging', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) ..a<$core.int>( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'pageNumber', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'pageNumber', $pb.PbFieldType.OU3, ) ..a<$core.int>( 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'pageSize', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'pageSize', $pb.PbFieldType.OU3, ) ..hasRequiredFields = false; @@ -43,9 +51,11 @@ class Paging extends $pb.GeneratedMessage { } return _result; } - factory Paging.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory Paging.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); - factory Paging.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory Paging.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -59,14 +69,16 @@ class Paging extends $pb.GeneratedMessage { 'Will be removed in next major version', ) Paging copyWith(void Function(Paging) updates) => - super.copyWith((message) => updates(message as Paging)) as Paging; // ignore: deprecated_member_use + super.copyWith((message) => updates(message as Paging)) + as Paging; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static Paging create() => Paging._(); Paging createEmptyInstance() => create(); static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static Paging getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Paging getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static Paging? _defaultInstance; @$pb.TagNumber(1) diff --git a/lib/genus/generated/services_types.pbenum.dart b/lib/genus/generated/services_types.pbenum.dart index f1c28728..7998c993 100644 --- a/lib/genus/generated/services_types.pbenum.dart +++ b/lib/genus/generated/services_types.pbenum.dart @@ -4,4 +4,3 @@ // // @dart = 2.12 // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name - diff --git a/lib/genus/generated/services_types.pbjson.dart b/lib/genus/generated/services_types.pbjson.dart index 7847a65f..2044041f 100644 --- a/lib/genus/generated/services_types.pbjson.dart +++ b/lib/genus/generated/services_types.pbjson.dart @@ -8,6 +8,7 @@ import 'dart:core' as $core; import 'dart:convert' as $convert; import 'dart:typed_data' as $typed_data; + @$core.Deprecated('Use pagingDescriptor instead') const Paging$json = const { '1': 'Paging', @@ -18,4 +19,5 @@ const Paging$json = const { }; /// Descriptor for `Paging`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List pagingDescriptor = $convert.base64Decode('CgZQYWdpbmcSHwoLcGFnZV9udW1iZXIYASABKA1SCnBhZ2VOdW1iZXISGwoJcGFnZV9zaXplGAIgASgNUghwYWdlU2l6ZQ=='); +final $typed_data.Uint8List pagingDescriptor = $convert.base64Decode( + 'CgZQYWdpbmcSHwoLcGFnZV9udW1iZXIYASABKA1SCnBhZ2VOdW1iZXISGwoJcGFnZV9zaXplGAIgASgNUghwYWdlU2l6ZQ=='); diff --git a/lib/genus/generated/transactions_query.pb.dart b/lib/genus/generated/transactions_query.pb.dart index 89906d4d..ff799f04 100644 --- a/lib/genus/generated/transactions_query.pb.dart +++ b/lib/genus/generated/transactions_query.pb.dart @@ -15,13 +15,21 @@ import 'types.pb.dart' as $6; class TransactionSorting_Height extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'TransactionSorting.Height', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'TransactionSorting.Height', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) - ..aOB(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'descending') + ..aOB( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'descending') ..hasRequiredFields = false; TransactionSorting_Height._() : super(); @@ -39,30 +47,34 @@ class TransactionSorting_Height extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory TransactionSorting_Height.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory TransactionSorting_Height.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - TransactionSorting_Height clone() => TransactionSorting_Height()..mergeFromMessage(this); + TransactionSorting_Height clone() => + TransactionSorting_Height()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 'Will be removed in next major version', ) - TransactionSorting_Height copyWith(void Function(TransactionSorting_Height) updates) => + TransactionSorting_Height copyWith( + void Function(TransactionSorting_Height) updates) => super.copyWith((message) => updates(message as TransactionSorting_Height)) as TransactionSorting_Height; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static TransactionSorting_Height create() => TransactionSorting_Height._(); TransactionSorting_Height createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static TransactionSorting_Height getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TransactionSorting_Height getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static TransactionSorting_Height? _defaultInstance; @$pb.TagNumber(1) @@ -80,13 +92,21 @@ class TransactionSorting_Height extends $pb.GeneratedMessage { class TransactionSorting_Fee extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'TransactionSorting.Fee', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'TransactionSorting.Fee', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) - ..aOB(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'descending') + ..aOB( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'descending') ..hasRequiredFields = false; TransactionSorting_Fee._() : super(); @@ -104,30 +124,34 @@ class TransactionSorting_Fee extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory TransactionSorting_Fee.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory TransactionSorting_Fee.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - TransactionSorting_Fee clone() => TransactionSorting_Fee()..mergeFromMessage(this); + TransactionSorting_Fee clone() => + TransactionSorting_Fee()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 'Will be removed in next major version', ) - TransactionSorting_Fee copyWith(void Function(TransactionSorting_Fee) updates) => + TransactionSorting_Fee copyWith( + void Function(TransactionSorting_Fee) updates) => super.copyWith((message) => updates(message as TransactionSorting_Fee)) as TransactionSorting_Fee; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static TransactionSorting_Fee create() => TransactionSorting_Fee._(); TransactionSorting_Fee createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static TransactionSorting_Fee getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TransactionSorting_Fee getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static TransactionSorting_Fee? _defaultInstance; @$pb.TagNumber(1) @@ -145,13 +169,21 @@ class TransactionSorting_Fee extends $pb.GeneratedMessage { class TransactionSorting_Timestamp extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'TransactionSorting.Timestamp', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'TransactionSorting.Timestamp', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) - ..aOB(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'descending') + ..aOB( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'descending') ..hasRequiredFields = false; TransactionSorting_Timestamp._() : super(); @@ -179,23 +211,28 @@ class TransactionSorting_Timestamp extends $pb.GeneratedMessage { 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - TransactionSorting_Timestamp clone() => TransactionSorting_Timestamp()..mergeFromMessage(this); + TransactionSorting_Timestamp clone() => + TransactionSorting_Timestamp()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 'Will be removed in next major version', ) - TransactionSorting_Timestamp copyWith(void Function(TransactionSorting_Timestamp) updates) => - super.copyWith((message) => updates(message as TransactionSorting_Timestamp)) + TransactionSorting_Timestamp copyWith( + void Function(TransactionSorting_Timestamp) updates) => + super.copyWith( + (message) => updates(message as TransactionSorting_Timestamp)) as TransactionSorting_Timestamp; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') - static TransactionSorting_Timestamp create() => TransactionSorting_Timestamp._(); + static TransactionSorting_Timestamp create() => + TransactionSorting_Timestamp._(); TransactionSorting_Timestamp createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static TransactionSorting_Timestamp getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TransactionSorting_Timestamp getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static TransactionSorting_Timestamp? _defaultInstance; @$pb.TagNumber(1) @@ -214,33 +251,44 @@ class TransactionSorting_Timestamp extends $pb.GeneratedMessage { enum TransactionSorting_SortBy { height, fee, timestamp, notSet } class TransactionSorting extends $pb.GeneratedMessage { - static const $core.Map<$core.int, TransactionSorting_SortBy> _TransactionSorting_SortByByTag = { + static const $core.Map<$core.int, TransactionSorting_SortBy> + _TransactionSorting_SortByByTag = { 1: TransactionSorting_SortBy.height, 2: TransactionSorting_SortBy.fee, 3: TransactionSorting_SortBy.timestamp, 0: TransactionSorting_SortBy.notSet }; static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'TransactionSorting', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'TransactionSorting', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) ..oo(0, [1, 2, 3]) ..aOM( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'height', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'height', subBuilder: TransactionSorting_Height.create, ) ..aOM( 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'fee', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'fee', subBuilder: TransactionSorting_Fee.create, ) ..aOM( 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'timestamp', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'timestamp', subBuilder: TransactionSorting_Timestamp.create, ) ..hasRequiredFields = false; @@ -268,7 +316,8 @@ class TransactionSorting extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory TransactionSorting.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory TransactionSorting.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -288,13 +337,15 @@ class TransactionSorting extends $pb.GeneratedMessage { @$core.pragma('dart2js:noInline') static TransactionSorting create() => TransactionSorting._(); TransactionSorting createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static TransactionSorting getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TransactionSorting getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static TransactionSorting? _defaultInstance; - TransactionSorting_SortBy whichSortBy() => _TransactionSorting_SortByByTag[$_whichOneof(0)]!; + TransactionSorting_SortBy whichSortBy() => + _TransactionSorting_SortByByTag[$_whichOneof(0)]!; void clearSortBy() => clearField($_whichOneof(0)); @$pb.TagNumber(1) @@ -342,30 +393,42 @@ class TransactionSorting extends $pb.GeneratedMessage { class QueryTxsReq extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'QueryTxsReq', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'QueryTxsReq', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) ..aOM<$4.TransactionFilter>( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'filter', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'filter', subBuilder: $4.TransactionFilter.create, ) ..aOM( 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'sorting', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'sorting', subBuilder: TransactionSorting.create, ) ..a<$core.int>( 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'confirmationDepth', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'confirmationDepth', $pb.PbFieldType.OU3, ) ..aOM<$5.Paging>( 4, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'pagingOptions', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'pagingOptions', subBuilder: $5.Paging.create, ) ..hasRequiredFields = false; @@ -392,9 +455,11 @@ class QueryTxsReq extends $pb.GeneratedMessage { } return _result; } - factory QueryTxsReq.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory QueryTxsReq.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); - factory QueryTxsReq.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory QueryTxsReq.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -408,14 +473,16 @@ class QueryTxsReq extends $pb.GeneratedMessage { 'Will be removed in next major version', ) QueryTxsReq copyWith(void Function(QueryTxsReq) updates) => - super.copyWith((message) => updates(message as QueryTxsReq)) as QueryTxsReq; // ignore: deprecated_member_use + super.copyWith((message) => updates(message as QueryTxsReq)) + as QueryTxsReq; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static QueryTxsReq create() => QueryTxsReq._(); QueryTxsReq createEmptyInstance() => create(); static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static QueryTxsReq getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static QueryTxsReq getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static QueryTxsReq? _defaultInstance; @$pb.TagNumber(1) @@ -475,15 +542,21 @@ class QueryTxsReq extends $pb.GeneratedMessage { class QueryTxsRes_Success extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'QueryTxsRes.Success', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'QueryTxsRes.Success', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) ..pc<$6.Transaction>( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'transactions', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'transactions', $pb.PbFieldType.PM, subBuilder: $6.Transaction.create, ) @@ -504,7 +577,8 @@ class QueryTxsRes_Success extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory QueryTxsRes_Success.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory QueryTxsRes_Success.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -524,36 +598,59 @@ class QueryTxsRes_Success extends $pb.GeneratedMessage { @$core.pragma('dart2js:noInline') static QueryTxsRes_Success create() => QueryTxsRes_Success._(); QueryTxsRes_Success createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static QueryTxsRes_Success getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static QueryTxsRes_Success getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static QueryTxsRes_Success? _defaultInstance; @$pb.TagNumber(1) $core.List<$6.Transaction> get transactions => $_getList(0); } -enum QueryTxsRes_Failure_Reason { dataStoreConnectionError, queryTimeout, invalidQuery, notSet } +enum QueryTxsRes_Failure_Reason { + dataStoreConnectionError, + queryTimeout, + invalidQuery, + notSet +} class QueryTxsRes_Failure extends $pb.GeneratedMessage { - static const $core.Map<$core.int, QueryTxsRes_Failure_Reason> _QueryTxsRes_Failure_ReasonByTag = { + static const $core.Map<$core.int, QueryTxsRes_Failure_Reason> + _QueryTxsRes_Failure_ReasonByTag = { 1: QueryTxsRes_Failure_Reason.dataStoreConnectionError, 2: QueryTxsRes_Failure_Reason.queryTimeout, 3: QueryTxsRes_Failure_Reason.invalidQuery, 0: QueryTxsRes_Failure_Reason.notSet }; static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'QueryTxsRes.Failure', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'QueryTxsRes.Failure', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) ..oo(0, [1, 2, 3]) - ..aOS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'dataStoreConnectionError') - ..aOS(2, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'queryTimeout') - ..aOS(3, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'invalidQuery') + ..aOS( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'dataStoreConnectionError') + ..aOS( + 2, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'queryTimeout') + ..aOS( + 3, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'invalidQuery') ..hasRequiredFields = false; QueryTxsRes_Failure._() : super(); @@ -579,7 +676,8 @@ class QueryTxsRes_Failure extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory QueryTxsRes_Failure.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory QueryTxsRes_Failure.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -599,13 +697,15 @@ class QueryTxsRes_Failure extends $pb.GeneratedMessage { @$core.pragma('dart2js:noInline') static QueryTxsRes_Failure create() => QueryTxsRes_Failure._(); QueryTxsRes_Failure createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static QueryTxsRes_Failure getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static QueryTxsRes_Failure getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static QueryTxsRes_Failure? _defaultInstance; - QueryTxsRes_Failure_Reason whichReason() => _QueryTxsRes_Failure_ReasonByTag[$_whichOneof(0)]!; + QueryTxsRes_Failure_Reason whichReason() => + _QueryTxsRes_Failure_ReasonByTag[$_whichOneof(0)]!; void clearReason() => clearField($_whichOneof(0)); @$pb.TagNumber(1) @@ -648,27 +748,36 @@ class QueryTxsRes_Failure extends $pb.GeneratedMessage { enum QueryTxsRes_Result { success, failure, notSet } class QueryTxsRes extends $pb.GeneratedMessage { - static const $core.Map<$core.int, QueryTxsRes_Result> _QueryTxsRes_ResultByTag = { + static const $core.Map<$core.int, QueryTxsRes_Result> + _QueryTxsRes_ResultByTag = { 1: QueryTxsRes_Result.success, 2: QueryTxsRes_Result.failure, 0: QueryTxsRes_Result.notSet }; static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'QueryTxsRes', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'QueryTxsRes', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) ..oo(0, [1, 2]) ..aOM( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'success', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'success', subBuilder: QueryTxsRes_Success.create, ) ..aOM( 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'failure', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'failure', subBuilder: QueryTxsRes_Failure.create, ) ..hasRequiredFields = false; @@ -687,9 +796,11 @@ class QueryTxsRes extends $pb.GeneratedMessage { } return _result; } - factory QueryTxsRes.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory QueryTxsRes.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); - factory QueryTxsRes.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory QueryTxsRes.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -703,17 +814,20 @@ class QueryTxsRes extends $pb.GeneratedMessage { 'Will be removed in next major version', ) QueryTxsRes copyWith(void Function(QueryTxsRes) updates) => - super.copyWith((message) => updates(message as QueryTxsRes)) as QueryTxsRes; // ignore: deprecated_member_use + super.copyWith((message) => updates(message as QueryTxsRes)) + as QueryTxsRes; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static QueryTxsRes create() => QueryTxsRes._(); QueryTxsRes createEmptyInstance() => create(); static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static QueryTxsRes getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static QueryTxsRes getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static QueryTxsRes? _defaultInstance; - QueryTxsRes_Result whichResult() => _QueryTxsRes_ResultByTag[$_whichOneof(0)]!; + QueryTxsRes_Result whichResult() => + _QueryTxsRes_ResultByTag[$_whichOneof(0)]!; void clearResult() => clearField($_whichOneof(0)); @$pb.TagNumber(1) @@ -747,25 +861,35 @@ class QueryTxsRes extends $pb.GeneratedMessage { class TxsQueryStreamReq extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'TxsQueryStreamReq', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'TxsQueryStreamReq', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) ..aOM<$4.TransactionFilter>( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'filter', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'filter', subBuilder: $4.TransactionFilter.create, ) ..a<$core.int>( 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'confirmationDepth', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'confirmationDepth', $pb.PbFieldType.OU3, ) ..aOM( 4, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'sorting', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'sorting', subBuilder: TransactionSorting.create, ) ..hasRequiredFields = false; @@ -793,7 +917,8 @@ class TxsQueryStreamReq extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory TxsQueryStreamReq.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory TxsQueryStreamReq.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -813,10 +938,11 @@ class TxsQueryStreamReq extends $pb.GeneratedMessage { @$core.pragma('dart2js:noInline') static TxsQueryStreamReq create() => TxsQueryStreamReq._(); TxsQueryStreamReq createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static TxsQueryStreamReq getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TxsQueryStreamReq getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static TxsQueryStreamReq? _defaultInstance; @$pb.TagNumber(1) @@ -860,24 +986,41 @@ class TxsQueryStreamReq extends $pb.GeneratedMessage { TransactionSorting ensureSorting() => $_ensure(2); } -enum TxsQueryStreamRes_Failure_Reason { dataStoreConnectionError, invalidQuery, notSet } +enum TxsQueryStreamRes_Failure_Reason { + dataStoreConnectionError, + invalidQuery, + notSet +} class TxsQueryStreamRes_Failure extends $pb.GeneratedMessage { - static const $core.Map<$core.int, TxsQueryStreamRes_Failure_Reason> _TxsQueryStreamRes_Failure_ReasonByTag = { + static const $core.Map<$core.int, TxsQueryStreamRes_Failure_Reason> + _TxsQueryStreamRes_Failure_ReasonByTag = { 1: TxsQueryStreamRes_Failure_Reason.dataStoreConnectionError, 2: TxsQueryStreamRes_Failure_Reason.invalidQuery, 0: TxsQueryStreamRes_Failure_Reason.notSet }; static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'TxsQueryStreamRes.Failure', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'TxsQueryStreamRes.Failure', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) ..oo(0, [1, 2]) - ..aOS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'dataStoreConnectionError') - ..aOS(2, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'invalidQuery') + ..aOS( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'dataStoreConnectionError') + ..aOS( + 2, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'invalidQuery') ..hasRequiredFields = false; TxsQueryStreamRes_Failure._() : super(); @@ -899,33 +1042,38 @@ class TxsQueryStreamRes_Failure extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory TxsQueryStreamRes_Failure.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory TxsQueryStreamRes_Failure.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - TxsQueryStreamRes_Failure clone() => TxsQueryStreamRes_Failure()..mergeFromMessage(this); + TxsQueryStreamRes_Failure clone() => + TxsQueryStreamRes_Failure()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 'Will be removed in next major version', ) - TxsQueryStreamRes_Failure copyWith(void Function(TxsQueryStreamRes_Failure) updates) => + TxsQueryStreamRes_Failure copyWith( + void Function(TxsQueryStreamRes_Failure) updates) => super.copyWith((message) => updates(message as TxsQueryStreamRes_Failure)) as TxsQueryStreamRes_Failure; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static TxsQueryStreamRes_Failure create() => TxsQueryStreamRes_Failure._(); TxsQueryStreamRes_Failure createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static TxsQueryStreamRes_Failure getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TxsQueryStreamRes_Failure getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static TxsQueryStreamRes_Failure? _defaultInstance; - TxsQueryStreamRes_Failure_Reason whichReason() => _TxsQueryStreamRes_Failure_ReasonByTag[$_whichOneof(0)]!; + TxsQueryStreamRes_Failure_Reason whichReason() => + _TxsQueryStreamRes_Failure_ReasonByTag[$_whichOneof(0)]!; void clearReason() => clearField($_whichOneof(0)); @$pb.TagNumber(1) @@ -956,15 +1104,20 @@ class TxsQueryStreamRes_Failure extends $pb.GeneratedMessage { enum TxsQueryStreamRes_Result { tx, failure, notSet } class TxsQueryStreamRes extends $pb.GeneratedMessage { - static const $core.Map<$core.int, TxsQueryStreamRes_Result> _TxsQueryStreamRes_ResultByTag = { + static const $core.Map<$core.int, TxsQueryStreamRes_Result> + _TxsQueryStreamRes_ResultByTag = { 1: TxsQueryStreamRes_Result.tx, 2: TxsQueryStreamRes_Result.failure, 0: TxsQueryStreamRes_Result.notSet }; static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'TxsQueryStreamRes', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'TxsQueryStreamRes', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) @@ -976,7 +1129,9 @@ class TxsQueryStreamRes extends $pb.GeneratedMessage { ) ..aOM( 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'failure', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'failure', subBuilder: TxsQueryStreamRes_Failure.create, ) ..hasRequiredFields = false; @@ -1000,7 +1155,8 @@ class TxsQueryStreamRes extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory TxsQueryStreamRes.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory TxsQueryStreamRes.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -1020,13 +1176,15 @@ class TxsQueryStreamRes extends $pb.GeneratedMessage { @$core.pragma('dart2js:noInline') static TxsQueryStreamRes create() => TxsQueryStreamRes._(); TxsQueryStreamRes createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static TxsQueryStreamRes getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TxsQueryStreamRes getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static TxsQueryStreamRes? _defaultInstance; - TxsQueryStreamRes_Result whichResult() => _TxsQueryStreamRes_ResultByTag[$_whichOneof(0)]!; + TxsQueryStreamRes_Result whichResult() => + _TxsQueryStreamRes_ResultByTag[$_whichOneof(0)]!; void clearResult() => clearField($_whichOneof(0)); @$pb.TagNumber(1) diff --git a/lib/genus/generated/transactions_query.pbenum.dart b/lib/genus/generated/transactions_query.pbenum.dart index 93d1c1e4..e348b39f 100644 --- a/lib/genus/generated/transactions_query.pbenum.dart +++ b/lib/genus/generated/transactions_query.pbenum.dart @@ -4,4 +4,3 @@ // // @dart = 2.12 // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name - diff --git a/lib/genus/generated/transactions_query.pbgrpc.dart b/lib/genus/generated/transactions_query.pbgrpc.dart index 1955c2d8..d97d0b4d 100644 --- a/lib/genus/generated/transactions_query.pbgrpc.dart +++ b/lib/genus/generated/transactions_query.pbgrpc.dart @@ -19,7 +19,8 @@ class TransactionsQueryClient extends $grpc.Client { ($0.QueryTxsReq value) => value.writeToBuffer(), ($core.List<$core.int> value) => $0.QueryTxsRes.fromBuffer(value), ); - static final _$queryStreamed = $grpc.ClientMethod<$0.TxsQueryStreamReq, $0.TxsQueryStreamRes>( + static final _$queryStreamed = + $grpc.ClientMethod<$0.TxsQueryStreamReq, $0.TxsQueryStreamRes>( '/co.topl.genus.services.TransactionsQuery/QueryStreamed', ($0.TxsQueryStreamReq value) => value.writeToBuffer(), ($core.List<$core.int> value) => $0.TxsQueryStreamRes.fromBuffer(value), diff --git a/lib/genus/generated/transactions_query.pbjson.dart b/lib/genus/generated/transactions_query.pbjson.dart index 82be5b98..fa77d5ac 100644 --- a/lib/genus/generated/transactions_query.pbjson.dart +++ b/lib/genus/generated/transactions_query.pbjson.dart @@ -8,15 +8,44 @@ import 'dart:core' as $core; import 'dart:convert' as $convert; import 'dart:typed_data' as $typed_data; + @$core.Deprecated('Use transactionSortingDescriptor instead') const TransactionSorting$json = const { '1': 'TransactionSorting', '2': const [ - const {'1': 'height', '3': 1, '4': 1, '5': 11, '6': '.co.topl.genus.services.TransactionSorting.Height', '9': 0, '10': 'height'}, - const {'1': 'fee', '3': 2, '4': 1, '5': 11, '6': '.co.topl.genus.services.TransactionSorting.Fee', '9': 0, '10': 'fee'}, - const {'1': 'timestamp', '3': 3, '4': 1, '5': 11, '6': '.co.topl.genus.services.TransactionSorting.Timestamp', '9': 0, '10': 'timestamp'}, + const { + '1': 'height', + '3': 1, + '4': 1, + '5': 11, + '6': '.co.topl.genus.services.TransactionSorting.Height', + '9': 0, + '10': 'height' + }, + const { + '1': 'fee', + '3': 2, + '4': 1, + '5': 11, + '6': '.co.topl.genus.services.TransactionSorting.Fee', + '9': 0, + '10': 'fee' + }, + const { + '1': 'timestamp', + '3': 3, + '4': 1, + '5': 11, + '6': '.co.topl.genus.services.TransactionSorting.Timestamp', + '9': 0, + '10': 'timestamp' + }, + ], + '3': const [ + TransactionSorting_Height$json, + TransactionSorting_Fee$json, + TransactionSorting_Timestamp$json ], - '3': const [TransactionSorting_Height$json, TransactionSorting_Fee$json, TransactionSorting_Timestamp$json], '8': const [ const {'1': 'sort_by'}, ], @@ -47,26 +76,71 @@ const TransactionSorting_Timestamp$json = const { }; /// Descriptor for `TransactionSorting`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List transactionSortingDescriptor = $convert.base64Decode('ChJUcmFuc2FjdGlvblNvcnRpbmcSSwoGaGVpZ2h0GAEgASgLMjEuY28udG9wbC5nZW51cy5zZXJ2aWNlcy5UcmFuc2FjdGlvblNvcnRpbmcuSGVpZ2h0SABSBmhlaWdodBJCCgNmZWUYAiABKAsyLi5jby50b3BsLmdlbnVzLnNlcnZpY2VzLlRyYW5zYWN0aW9uU29ydGluZy5GZWVIAFIDZmVlElQKCXRpbWVzdGFtcBgDIAEoCzI0LmNvLnRvcGwuZ2VudXMuc2VydmljZXMuVHJhbnNhY3Rpb25Tb3J0aW5nLlRpbWVzdGFtcEgAUgl0aW1lc3RhbXAaKAoGSGVpZ2h0Eh4KCmRlc2NlbmRpbmcYASABKAhSCmRlc2NlbmRpbmcaJQoDRmVlEh4KCmRlc2NlbmRpbmcYASABKAhSCmRlc2NlbmRpbmcaKwoJVGltZXN0YW1wEh4KCmRlc2NlbmRpbmcYASABKAhSCmRlc2NlbmRpbmdCCQoHc29ydF9ieQ=='); +final $typed_data.Uint8List transactionSortingDescriptor = $convert.base64Decode( + 'ChJUcmFuc2FjdGlvblNvcnRpbmcSSwoGaGVpZ2h0GAEgASgLMjEuY28udG9wbC5nZW51cy5zZXJ2aWNlcy5UcmFuc2FjdGlvblNvcnRpbmcuSGVpZ2h0SABSBmhlaWdodBJCCgNmZWUYAiABKAsyLi5jby50b3BsLmdlbnVzLnNlcnZpY2VzLlRyYW5zYWN0aW9uU29ydGluZy5GZWVIAFIDZmVlElQKCXRpbWVzdGFtcBgDIAEoCzI0LmNvLnRvcGwuZ2VudXMuc2VydmljZXMuVHJhbnNhY3Rpb25Tb3J0aW5nLlRpbWVzdGFtcEgAUgl0aW1lc3RhbXAaKAoGSGVpZ2h0Eh4KCmRlc2NlbmRpbmcYASABKAhSCmRlc2NlbmRpbmcaJQoDRmVlEh4KCmRlc2NlbmRpbmcYASABKAhSCmRlc2NlbmRpbmcaKwoJVGltZXN0YW1wEh4KCmRlc2NlbmRpbmcYASABKAhSCmRlc2NlbmRpbmdCCQoHc29ydF9ieQ=='); @$core.Deprecated('Use queryTxsReqDescriptor instead') const QueryTxsReq$json = const { '1': 'QueryTxsReq', '2': const [ - const {'1': 'filter', '3': 1, '4': 1, '5': 11, '6': '.co.topl.genus.TransactionFilter', '10': 'filter'}, - const {'1': 'sorting', '3': 2, '4': 1, '5': 11, '6': '.co.topl.genus.services.TransactionSorting', '10': 'sorting'}, - const {'1': 'confirmation_depth', '3': 3, '4': 1, '5': 13, '10': 'confirmationDepth'}, - const {'1': 'paging_options', '3': 4, '4': 1, '5': 11, '6': '.co.topl.genus.services.Paging', '10': 'pagingOptions'}, + const { + '1': 'filter', + '3': 1, + '4': 1, + '5': 11, + '6': '.co.topl.genus.TransactionFilter', + '10': 'filter' + }, + const { + '1': 'sorting', + '3': 2, + '4': 1, + '5': 11, + '6': '.co.topl.genus.services.TransactionSorting', + '10': 'sorting' + }, + const { + '1': 'confirmation_depth', + '3': 3, + '4': 1, + '5': 13, + '10': 'confirmationDepth' + }, + const { + '1': 'paging_options', + '3': 4, + '4': 1, + '5': 11, + '6': '.co.topl.genus.services.Paging', + '10': 'pagingOptions' + }, ], }; /// Descriptor for `QueryTxsReq`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List queryTxsReqDescriptor = $convert.base64Decode('CgtRdWVyeVR4c1JlcRI4CgZmaWx0ZXIYASABKAsyIC5jby50b3BsLmdlbnVzLlRyYW5zYWN0aW9uRmlsdGVyUgZmaWx0ZXISRAoHc29ydGluZxgCIAEoCzIqLmNvLnRvcGwuZ2VudXMuc2VydmljZXMuVHJhbnNhY3Rpb25Tb3J0aW5nUgdzb3J0aW5nEi0KEmNvbmZpcm1hdGlvbl9kZXB0aBgDIAEoDVIRY29uZmlybWF0aW9uRGVwdGgSRQoOcGFnaW5nX29wdGlvbnMYBCABKAsyHi5jby50b3BsLmdlbnVzLnNlcnZpY2VzLlBhZ2luZ1INcGFnaW5nT3B0aW9ucw=='); +final $typed_data.Uint8List queryTxsReqDescriptor = $convert.base64Decode( + 'CgtRdWVyeVR4c1JlcRI4CgZmaWx0ZXIYASABKAsyIC5jby50b3BsLmdlbnVzLlRyYW5zYWN0aW9uRmlsdGVyUgZmaWx0ZXISRAoHc29ydGluZxgCIAEoCzIqLmNvLnRvcGwuZ2VudXMuc2VydmljZXMuVHJhbnNhY3Rpb25Tb3J0aW5nUgdzb3J0aW5nEi0KEmNvbmZpcm1hdGlvbl9kZXB0aBgDIAEoDVIRY29uZmlybWF0aW9uRGVwdGgSRQoOcGFnaW5nX29wdGlvbnMYBCABKAsyHi5jby50b3BsLmdlbnVzLnNlcnZpY2VzLlBhZ2luZ1INcGFnaW5nT3B0aW9ucw=='); @$core.Deprecated('Use queryTxsResDescriptor instead') const QueryTxsRes$json = const { '1': 'QueryTxsRes', '2': const [ - const {'1': 'success', '3': 1, '4': 1, '5': 11, '6': '.co.topl.genus.services.QueryTxsRes.Success', '9': 0, '10': 'success'}, - const {'1': 'failure', '3': 2, '4': 1, '5': 11, '6': '.co.topl.genus.services.QueryTxsRes.Failure', '9': 0, '10': 'failure'}, + const { + '1': 'success', + '3': 1, + '4': 1, + '5': 11, + '6': '.co.topl.genus.services.QueryTxsRes.Success', + '9': 0, + '10': 'success' + }, + const { + '1': 'failure', + '3': 2, + '4': 1, + '5': 11, + '6': '.co.topl.genus.services.QueryTxsRes.Failure', + '9': 0, + '10': 'failure' + }, ], '3': const [QueryTxsRes_Success$json, QueryTxsRes_Failure$json], '8': const [ @@ -78,7 +152,14 @@ const QueryTxsRes$json = const { const QueryTxsRes_Success$json = const { '1': 'Success', '2': const [ - const {'1': 'transactions', '3': 1, '4': 3, '5': 11, '6': '.co.topl.genus.Transaction', '10': 'transactions'}, + const { + '1': 'transactions', + '3': 1, + '4': 3, + '5': 11, + '6': '.co.topl.genus.Transaction', + '10': 'transactions' + }, ], }; @@ -86,9 +167,30 @@ const QueryTxsRes_Success$json = const { const QueryTxsRes_Failure$json = const { '1': 'Failure', '2': const [ - const {'1': 'data_store_connection_error', '3': 1, '4': 1, '5': 9, '9': 0, '10': 'dataStoreConnectionError'}, - const {'1': 'query_timeout', '3': 2, '4': 1, '5': 9, '9': 0, '10': 'queryTimeout'}, - const {'1': 'invalid_query', '3': 3, '4': 1, '5': 9, '9': 0, '10': 'invalidQuery'}, + const { + '1': 'data_store_connection_error', + '3': 1, + '4': 1, + '5': 9, + '9': 0, + '10': 'dataStoreConnectionError' + }, + const { + '1': 'query_timeout', + '3': 2, + '4': 1, + '5': 9, + '9': 0, + '10': 'queryTimeout' + }, + const { + '1': 'invalid_query', + '3': 3, + '4': 1, + '5': 9, + '9': 0, + '10': 'invalidQuery' + }, ], '8': const [ const {'1': 'reason'}, @@ -96,25 +198,63 @@ const QueryTxsRes_Failure$json = const { }; /// Descriptor for `QueryTxsRes`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List queryTxsResDescriptor = $convert.base64Decode('CgtRdWVyeVR4c1JlcxJHCgdzdWNjZXNzGAEgASgLMisuY28udG9wbC5nZW51cy5zZXJ2aWNlcy5RdWVyeVR4c1Jlcy5TdWNjZXNzSABSB3N1Y2Nlc3MSRwoHZmFpbHVyZRgCIAEoCzIrLmNvLnRvcGwuZ2VudXMuc2VydmljZXMuUXVlcnlUeHNSZXMuRmFpbHVyZUgAUgdmYWlsdXJlGkkKB1N1Y2Nlc3MSPgoMdHJhbnNhY3Rpb25zGAEgAygLMhouY28udG9wbC5nZW51cy5UcmFuc2FjdGlvblIMdHJhbnNhY3Rpb25zGqIBCgdGYWlsdXJlEj8KG2RhdGFfc3RvcmVfY29ubmVjdGlvbl9lcnJvchgBIAEoCUgAUhhkYXRhU3RvcmVDb25uZWN0aW9uRXJyb3ISJQoNcXVlcnlfdGltZW91dBgCIAEoCUgAUgxxdWVyeVRpbWVvdXQSJQoNaW52YWxpZF9xdWVyeRgDIAEoCUgAUgxpbnZhbGlkUXVlcnlCCAoGcmVhc29uQggKBnJlc3VsdA=='); +final $typed_data.Uint8List queryTxsResDescriptor = $convert.base64Decode( + 'CgtRdWVyeVR4c1JlcxJHCgdzdWNjZXNzGAEgASgLMisuY28udG9wbC5nZW51cy5zZXJ2aWNlcy5RdWVyeVR4c1Jlcy5TdWNjZXNzSABSB3N1Y2Nlc3MSRwoHZmFpbHVyZRgCIAEoCzIrLmNvLnRvcGwuZ2VudXMuc2VydmljZXMuUXVlcnlUeHNSZXMuRmFpbHVyZUgAUgdmYWlsdXJlGkkKB1N1Y2Nlc3MSPgoMdHJhbnNhY3Rpb25zGAEgAygLMhouY28udG9wbC5nZW51cy5UcmFuc2FjdGlvblIMdHJhbnNhY3Rpb25zGqIBCgdGYWlsdXJlEj8KG2RhdGFfc3RvcmVfY29ubmVjdGlvbl9lcnJvchgBIAEoCUgAUhhkYXRhU3RvcmVDb25uZWN0aW9uRXJyb3ISJQoNcXVlcnlfdGltZW91dBgCIAEoCUgAUgxxdWVyeVRpbWVvdXQSJQoNaW52YWxpZF9xdWVyeRgDIAEoCUgAUgxpbnZhbGlkUXVlcnlCCAoGcmVhc29uQggKBnJlc3VsdA=='); @$core.Deprecated('Use txsQueryStreamReqDescriptor instead') const TxsQueryStreamReq$json = const { '1': 'TxsQueryStreamReq', '2': const [ - const {'1': 'filter', '3': 1, '4': 1, '5': 11, '6': '.co.topl.genus.TransactionFilter', '10': 'filter'}, - const {'1': 'sorting', '3': 4, '4': 1, '5': 11, '6': '.co.topl.genus.services.TransactionSorting', '10': 'sorting'}, - const {'1': 'confirmation_depth', '3': 2, '4': 1, '5': 13, '10': 'confirmationDepth'}, + const { + '1': 'filter', + '3': 1, + '4': 1, + '5': 11, + '6': '.co.topl.genus.TransactionFilter', + '10': 'filter' + }, + const { + '1': 'sorting', + '3': 4, + '4': 1, + '5': 11, + '6': '.co.topl.genus.services.TransactionSorting', + '10': 'sorting' + }, + const { + '1': 'confirmation_depth', + '3': 2, + '4': 1, + '5': 13, + '10': 'confirmationDepth' + }, ], }; /// Descriptor for `TxsQueryStreamReq`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List txsQueryStreamReqDescriptor = $convert.base64Decode('ChFUeHNRdWVyeVN0cmVhbVJlcRI4CgZmaWx0ZXIYASABKAsyIC5jby50b3BsLmdlbnVzLlRyYW5zYWN0aW9uRmlsdGVyUgZmaWx0ZXISRAoHc29ydGluZxgEIAEoCzIqLmNvLnRvcGwuZ2VudXMuc2VydmljZXMuVHJhbnNhY3Rpb25Tb3J0aW5nUgdzb3J0aW5nEi0KEmNvbmZpcm1hdGlvbl9kZXB0aBgCIAEoDVIRY29uZmlybWF0aW9uRGVwdGg='); +final $typed_data.Uint8List txsQueryStreamReqDescriptor = $convert.base64Decode( + 'ChFUeHNRdWVyeVN0cmVhbVJlcRI4CgZmaWx0ZXIYASABKAsyIC5jby50b3BsLmdlbnVzLlRyYW5zYWN0aW9uRmlsdGVyUgZmaWx0ZXISRAoHc29ydGluZxgEIAEoCzIqLmNvLnRvcGwuZ2VudXMuc2VydmljZXMuVHJhbnNhY3Rpb25Tb3J0aW5nUgdzb3J0aW5nEi0KEmNvbmZpcm1hdGlvbl9kZXB0aBgCIAEoDVIRY29uZmlybWF0aW9uRGVwdGg='); @$core.Deprecated('Use txsQueryStreamResDescriptor instead') const TxsQueryStreamRes$json = const { '1': 'TxsQueryStreamRes', '2': const [ - const {'1': 'tx', '3': 1, '4': 1, '5': 11, '6': '.co.topl.genus.Transaction', '9': 0, '10': 'tx'}, - const {'1': 'failure', '3': 2, '4': 1, '5': 11, '6': '.co.topl.genus.services.TxsQueryStreamRes.Failure', '9': 0, '10': 'failure'}, + const { + '1': 'tx', + '3': 1, + '4': 1, + '5': 11, + '6': '.co.topl.genus.Transaction', + '9': 0, + '10': 'tx' + }, + const { + '1': 'failure', + '3': 2, + '4': 1, + '5': 11, + '6': '.co.topl.genus.services.TxsQueryStreamRes.Failure', + '9': 0, + '10': 'failure' + }, ], '3': const [TxsQueryStreamRes_Failure$json], '8': const [ @@ -126,8 +266,22 @@ const TxsQueryStreamRes$json = const { const TxsQueryStreamRes_Failure$json = const { '1': 'Failure', '2': const [ - const {'1': 'data_store_connection_error', '3': 1, '4': 1, '5': 9, '9': 0, '10': 'dataStoreConnectionError'}, - const {'1': 'invalid_query', '3': 2, '4': 1, '5': 9, '9': 0, '10': 'invalidQuery'}, + const { + '1': 'data_store_connection_error', + '3': 1, + '4': 1, + '5': 9, + '9': 0, + '10': 'dataStoreConnectionError' + }, + const { + '1': 'invalid_query', + '3': 2, + '4': 1, + '5': 9, + '9': 0, + '10': 'invalidQuery' + }, ], '8': const [ const {'1': 'reason'}, @@ -135,4 +289,5 @@ const TxsQueryStreamRes_Failure$json = const { }; /// Descriptor for `TxsQueryStreamRes`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List txsQueryStreamResDescriptor = $convert.base64Decode('ChFUeHNRdWVyeVN0cmVhbVJlcxIsCgJ0eBgBIAEoCzIaLmNvLnRvcGwuZ2VudXMuVHJhbnNhY3Rpb25IAFICdHgSTQoHZmFpbHVyZRgCIAEoCzIxLmNvLnRvcGwuZ2VudXMuc2VydmljZXMuVHhzUXVlcnlTdHJlYW1SZXMuRmFpbHVyZUgAUgdmYWlsdXJlGnsKB0ZhaWx1cmUSPwobZGF0YV9zdG9yZV9jb25uZWN0aW9uX2Vycm9yGAEgASgJSABSGGRhdGFTdG9yZUNvbm5lY3Rpb25FcnJvchIlCg1pbnZhbGlkX3F1ZXJ5GAIgASgJSABSDGludmFsaWRRdWVyeUIICgZyZWFzb25CCAoGcmVzdWx0'); +final $typed_data.Uint8List txsQueryStreamResDescriptor = $convert.base64Decode( + 'ChFUeHNRdWVyeVN0cmVhbVJlcxIsCgJ0eBgBIAEoCzIaLmNvLnRvcGwuZ2VudXMuVHJhbnNhY3Rpb25IAFICdHgSTQoHZmFpbHVyZRgCIAEoCzIxLmNvLnRvcGwuZ2VudXMuc2VydmljZXMuVHhzUXVlcnlTdHJlYW1SZXMuRmFpbHVyZUgAUgdmYWlsdXJlGnsKB0ZhaWx1cmUSPwobZGF0YV9zdG9yZV9jb25uZWN0aW9uX2Vycm9yGAEgASgJSABSGGRhdGFTdG9yZUNvbm5lY3Rpb25FcnJvchIlCg1pbnZhbGlkX3F1ZXJ5GAIgASgJSABSDGludmFsaWRRdWVyeUIICgZyZWFzb25CCAoGcmVzdWx0'); diff --git a/lib/genus/generated/transactions_subscription.pb.dart b/lib/genus/generated/transactions_subscription.pb.dart index b377aeb2..d38dde1e 100644 --- a/lib/genus/generated/transactions_subscription.pb.dart +++ b/lib/genus/generated/transactions_subscription.pb.dart @@ -15,26 +15,36 @@ import 'types.pb.dart' as $6; class CreateTxsSubscriptionReq extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'CreateTxsSubscriptionReq', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'CreateTxsSubscriptionReq', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) ..aOM<$4.TransactionFilter>( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'filter', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'filter', subBuilder: $4.TransactionFilter.create, ) ..a<$fixnum.Int64>( 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'startHeight', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'startHeight', $pb.PbFieldType.OU6, defaultOrMaker: $fixnum.Int64.ZERO, ) ..a<$core.int>( 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'confirmationDepth', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'confirmationDepth', $pb.PbFieldType.OU3, ) ..hasRequiredFields = false; @@ -62,30 +72,34 @@ class CreateTxsSubscriptionReq extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory CreateTxsSubscriptionReq.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory CreateTxsSubscriptionReq.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - CreateTxsSubscriptionReq clone() => CreateTxsSubscriptionReq()..mergeFromMessage(this); + CreateTxsSubscriptionReq clone() => + CreateTxsSubscriptionReq()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 'Will be removed in next major version', ) - CreateTxsSubscriptionReq copyWith(void Function(CreateTxsSubscriptionReq) updates) => + CreateTxsSubscriptionReq copyWith( + void Function(CreateTxsSubscriptionReq) updates) => super.copyWith((message) => updates(message as CreateTxsSubscriptionReq)) as CreateTxsSubscriptionReq; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static CreateTxsSubscriptionReq create() => CreateTxsSubscriptionReq._(); CreateTxsSubscriptionReq createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static CreateTxsSubscriptionReq getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static CreateTxsSubscriptionReq getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static CreateTxsSubscriptionReq? _defaultInstance; @$pb.TagNumber(1) @@ -127,24 +141,41 @@ class CreateTxsSubscriptionReq extends $pb.GeneratedMessage { void clearConfirmationDepth() => clearField(3); } -enum TxsSubscriptionRes_Failure_Reason { invalidRequest, dataConnectionError, notSet } +enum TxsSubscriptionRes_Failure_Reason { + invalidRequest, + dataConnectionError, + notSet +} class TxsSubscriptionRes_Failure extends $pb.GeneratedMessage { - static const $core.Map<$core.int, TxsSubscriptionRes_Failure_Reason> _TxsSubscriptionRes_Failure_ReasonByTag = { + static const $core.Map<$core.int, TxsSubscriptionRes_Failure_Reason> + _TxsSubscriptionRes_Failure_ReasonByTag = { 1: TxsSubscriptionRes_Failure_Reason.invalidRequest, 2: TxsSubscriptionRes_Failure_Reason.dataConnectionError, 0: TxsSubscriptionRes_Failure_Reason.notSet }; static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'TxsSubscriptionRes.Failure', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'TxsSubscriptionRes.Failure', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) ..oo(0, [1, 2]) - ..aOS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'invalidRequest') - ..aOS(2, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'dataConnectionError') + ..aOS( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'invalidRequest') + ..aOS( + 2, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'dataConnectionError') ..hasRequiredFields = false; TxsSubscriptionRes_Failure._() : super(); @@ -176,26 +207,31 @@ class TxsSubscriptionRes_Failure extends $pb.GeneratedMessage { 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - TxsSubscriptionRes_Failure clone() => TxsSubscriptionRes_Failure()..mergeFromMessage(this); + TxsSubscriptionRes_Failure clone() => + TxsSubscriptionRes_Failure()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 'Will be removed in next major version', ) - TxsSubscriptionRes_Failure copyWith(void Function(TxsSubscriptionRes_Failure) updates) => - super.copyWith((message) => updates(message as TxsSubscriptionRes_Failure)) + TxsSubscriptionRes_Failure copyWith( + void Function(TxsSubscriptionRes_Failure) updates) => + super.copyWith( + (message) => updates(message as TxsSubscriptionRes_Failure)) as TxsSubscriptionRes_Failure; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static TxsSubscriptionRes_Failure create() => TxsSubscriptionRes_Failure._(); TxsSubscriptionRes_Failure createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static TxsSubscriptionRes_Failure getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TxsSubscriptionRes_Failure getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static TxsSubscriptionRes_Failure? _defaultInstance; - TxsSubscriptionRes_Failure_Reason whichReason() => _TxsSubscriptionRes_Failure_ReasonByTag[$_whichOneof(0)]!; + TxsSubscriptionRes_Failure_Reason whichReason() => + _TxsSubscriptionRes_Failure_ReasonByTag[$_whichOneof(0)]!; void clearReason() => clearField($_whichOneof(0)); @$pb.TagNumber(1) @@ -226,27 +262,36 @@ class TxsSubscriptionRes_Failure extends $pb.GeneratedMessage { enum TxsSubscriptionRes_Result { success, failure, notSet } class TxsSubscriptionRes extends $pb.GeneratedMessage { - static const $core.Map<$core.int, TxsSubscriptionRes_Result> _TxsSubscriptionRes_ResultByTag = { + static const $core.Map<$core.int, TxsSubscriptionRes_Result> + _TxsSubscriptionRes_ResultByTag = { 1: TxsSubscriptionRes_Result.success, 2: TxsSubscriptionRes_Result.failure, 0: TxsSubscriptionRes_Result.notSet }; static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'TxsSubscriptionRes', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'TxsSubscriptionRes', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) ..oo(0, [1, 2]) ..aOM<$6.Transaction>( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'success', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'success', subBuilder: $6.Transaction.create, ) ..aOM( 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'failure', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'failure', subBuilder: TxsSubscriptionRes_Failure.create, ) ..hasRequiredFields = false; @@ -270,7 +315,8 @@ class TxsSubscriptionRes extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory TxsSubscriptionRes.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory TxsSubscriptionRes.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -290,13 +336,15 @@ class TxsSubscriptionRes extends $pb.GeneratedMessage { @$core.pragma('dart2js:noInline') static TxsSubscriptionRes create() => TxsSubscriptionRes._(); TxsSubscriptionRes createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static TxsSubscriptionRes getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TxsSubscriptionRes getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static TxsSubscriptionRes? _defaultInstance; - TxsSubscriptionRes_Result whichResult() => _TxsSubscriptionRes_ResultByTag[$_whichOneof(0)]!; + TxsSubscriptionRes_Result whichResult() => + _TxsSubscriptionRes_ResultByTag[$_whichOneof(0)]!; void clearResult() => clearField($_whichOneof(0)); @$pb.TagNumber(1) diff --git a/lib/genus/generated/transactions_subscription.pbenum.dart b/lib/genus/generated/transactions_subscription.pbenum.dart index 1805fd92..27d5b188 100644 --- a/lib/genus/generated/transactions_subscription.pbenum.dart +++ b/lib/genus/generated/transactions_subscription.pbenum.dart @@ -4,4 +4,3 @@ // // @dart = 2.12 // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name - diff --git a/lib/genus/generated/transactions_subscription.pbgrpc.dart b/lib/genus/generated/transactions_subscription.pbgrpc.dart index bef8b66e..1f08cea6 100644 --- a/lib/genus/generated/transactions_subscription.pbgrpc.dart +++ b/lib/genus/generated/transactions_subscription.pbgrpc.dart @@ -14,7 +14,8 @@ import 'transactions_subscription.pb.dart' as $2; export 'transactions_subscription.pb.dart'; class TransactionsSubscriptionClient extends $grpc.Client { - static final _$create = $grpc.ClientMethod<$2.CreateTxsSubscriptionReq, $2.TxsSubscriptionRes>( + static final _$create = + $grpc.ClientMethod<$2.CreateTxsSubscriptionReq, $2.TxsSubscriptionRes>( '/co.topl.genus.services.TransactionsSubscription/Create', ($2.CreateTxsSubscriptionReq value) => value.writeToBuffer(), ($core.List<$core.int> value) => $2.TxsSubscriptionRes.fromBuffer(value), @@ -48,7 +49,8 @@ abstract class TransactionsSubscriptionServiceBase extends $grpc.Service { create_Pre, false, true, - ($core.List<$core.int> value) => $2.CreateTxsSubscriptionReq.fromBuffer(value), + ($core.List<$core.int> value) => + $2.CreateTxsSubscriptionReq.fromBuffer(value), ($2.TxsSubscriptionRes value) => value.writeToBuffer(), ), ); diff --git a/lib/genus/generated/transactions_subscription.pbjson.dart b/lib/genus/generated/transactions_subscription.pbjson.dart index f1e1afcb..6761d30e 100644 --- a/lib/genus/generated/transactions_subscription.pbjson.dart +++ b/lib/genus/generated/transactions_subscription.pbjson.dart @@ -8,24 +8,56 @@ import 'dart:core' as $core; import 'dart:convert' as $convert; import 'dart:typed_data' as $typed_data; + @$core.Deprecated('Use createTxsSubscriptionReqDescriptor instead') const CreateTxsSubscriptionReq$json = const { '1': 'CreateTxsSubscriptionReq', '2': const [ - const {'1': 'filter', '3': 1, '4': 1, '5': 11, '6': '.co.topl.genus.TransactionFilter', '10': 'filter'}, + const { + '1': 'filter', + '3': 1, + '4': 1, + '5': 11, + '6': '.co.topl.genus.TransactionFilter', + '10': 'filter' + }, const {'1': 'start_height', '3': 2, '4': 1, '5': 4, '10': 'startHeight'}, - const {'1': 'confirmation_depth', '3': 3, '4': 1, '5': 13, '10': 'confirmationDepth'}, + const { + '1': 'confirmation_depth', + '3': 3, + '4': 1, + '5': 13, + '10': 'confirmationDepth' + }, ], }; /// Descriptor for `CreateTxsSubscriptionReq`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List createTxsSubscriptionReqDescriptor = $convert.base64Decode('ChhDcmVhdGVUeHNTdWJzY3JpcHRpb25SZXESOAoGZmlsdGVyGAEgASgLMiAuY28udG9wbC5nZW51cy5UcmFuc2FjdGlvbkZpbHRlclIGZmlsdGVyEiEKDHN0YXJ0X2hlaWdodBgCIAEoBFILc3RhcnRIZWlnaHQSLQoSY29uZmlybWF0aW9uX2RlcHRoGAMgASgNUhFjb25maXJtYXRpb25EZXB0aA=='); +final $typed_data.Uint8List createTxsSubscriptionReqDescriptor = + $convert.base64Decode( + 'ChhDcmVhdGVUeHNTdWJzY3JpcHRpb25SZXESOAoGZmlsdGVyGAEgASgLMiAuY28udG9wbC5nZW51cy5UcmFuc2FjdGlvbkZpbHRlclIGZmlsdGVyEiEKDHN0YXJ0X2hlaWdodBgCIAEoBFILc3RhcnRIZWlnaHQSLQoSY29uZmlybWF0aW9uX2RlcHRoGAMgASgNUhFjb25maXJtYXRpb25EZXB0aA=='); @$core.Deprecated('Use txsSubscriptionResDescriptor instead') const TxsSubscriptionRes$json = const { '1': 'TxsSubscriptionRes', '2': const [ - const {'1': 'success', '3': 1, '4': 1, '5': 11, '6': '.co.topl.genus.Transaction', '9': 0, '10': 'success'}, - const {'1': 'failure', '3': 2, '4': 1, '5': 11, '6': '.co.topl.genus.services.TxsSubscriptionRes.Failure', '9': 0, '10': 'failure'}, + const { + '1': 'success', + '3': 1, + '4': 1, + '5': 11, + '6': '.co.topl.genus.Transaction', + '9': 0, + '10': 'success' + }, + const { + '1': 'failure', + '3': 2, + '4': 1, + '5': 11, + '6': '.co.topl.genus.services.TxsSubscriptionRes.Failure', + '9': 0, + '10': 'failure' + }, ], '3': const [TxsSubscriptionRes_Failure$json], '8': const [ @@ -37,8 +69,22 @@ const TxsSubscriptionRes$json = const { const TxsSubscriptionRes_Failure$json = const { '1': 'Failure', '2': const [ - const {'1': 'invalid_request', '3': 1, '4': 1, '5': 9, '9': 0, '10': 'invalidRequest'}, - const {'1': 'data_connection_error', '3': 2, '4': 1, '5': 9, '9': 0, '10': 'dataConnectionError'}, + const { + '1': 'invalid_request', + '3': 1, + '4': 1, + '5': 9, + '9': 0, + '10': 'invalidRequest' + }, + const { + '1': 'data_connection_error', + '3': 2, + '4': 1, + '5': 9, + '9': 0, + '10': 'dataConnectionError' + }, ], '8': const [ const {'1': 'reason'}, @@ -46,4 +92,5 @@ const TxsSubscriptionRes_Failure$json = const { }; /// Descriptor for `TxsSubscriptionRes`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List txsSubscriptionResDescriptor = $convert.base64Decode('ChJUeHNTdWJzY3JpcHRpb25SZXMSNgoHc3VjY2VzcxgBIAEoCzIaLmNvLnRvcGwuZ2VudXMuVHJhbnNhY3Rpb25IAFIHc3VjY2VzcxJOCgdmYWlsdXJlGAIgASgLMjIuY28udG9wbC5nZW51cy5zZXJ2aWNlcy5UeHNTdWJzY3JpcHRpb25SZXMuRmFpbHVyZUgAUgdmYWlsdXJlGnQKB0ZhaWx1cmUSKQoPaW52YWxpZF9yZXF1ZXN0GAEgASgJSABSDmludmFsaWRSZXF1ZXN0EjQKFWRhdGFfY29ubmVjdGlvbl9lcnJvchgCIAEoCUgAUhNkYXRhQ29ubmVjdGlvbkVycm9yQggKBnJlYXNvbkIICgZyZXN1bHQ='); +final $typed_data.Uint8List txsSubscriptionResDescriptor = $convert.base64Decode( + 'ChJUeHNTdWJzY3JpcHRpb25SZXMSNgoHc3VjY2VzcxgBIAEoCzIaLmNvLnRvcGwuZ2VudXMuVHJhbnNhY3Rpb25IAFIHc3VjY2VzcxJOCgdmYWlsdXJlGAIgASgLMjIuY28udG9wbC5nZW51cy5zZXJ2aWNlcy5UeHNTdWJzY3JpcHRpb25SZXMuRmFpbHVyZUgAUgdmYWlsdXJlGnQKB0ZhaWx1cmUSKQoPaW52YWxpZF9yZXF1ZXN0GAEgASgJSABSDmludmFsaWRSZXF1ZXN0EjQKFWRhdGFfY29ubmVjdGlvbl9lcnJvchgCIAEoCUgAUhNkYXRhQ29ubmVjdGlvbkVycm9yQggKBnJlYXNvbkIICgZyZXN1bHQ='); diff --git a/lib/genus/generated/types.pb.dart b/lib/genus/generated/types.pb.dart index f0d2fb10..c2e307b1 100644 --- a/lib/genus/generated/types.pb.dart +++ b/lib/genus/generated/types.pb.dart @@ -12,13 +12,25 @@ import 'package:protobuf/protobuf.dart' as $pb; class Attestation extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'Attestation', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'Attestation', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, ) - ..aOS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'publicKey') - ..aOS(2, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'signature') + ..aOS( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'publicKey') + ..aOS( + 2, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'signature') ..hasRequiredFields = false; Attestation._() : super(); @@ -35,9 +47,11 @@ class Attestation extends $pb.GeneratedMessage { } return _result; } - factory Attestation.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory Attestation.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); - factory Attestation.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory Attestation.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -51,14 +65,16 @@ class Attestation extends $pb.GeneratedMessage { 'Will be removed in next major version', ) Attestation copyWith(void Function(Attestation) updates) => - super.copyWith((message) => updates(message as Attestation)) as Attestation; // ignore: deprecated_member_use + super.copyWith((message) => updates(message as Attestation)) + as Attestation; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static Attestation create() => Attestation._(); Attestation createEmptyInstance() => create(); static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static Attestation getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Attestation getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static Attestation? _defaultInstance; @$pb.TagNumber(1) @@ -88,12 +104,20 @@ class Attestation extends $pb.GeneratedMessage { class SimpleValue extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'SimpleValue', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'SimpleValue', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, ) - ..aOS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'quantity') + ..aOS( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'quantity') ..hasRequiredFields = false; SimpleValue._() : super(); @@ -106,9 +130,11 @@ class SimpleValue extends $pb.GeneratedMessage { } return _result; } - factory SimpleValue.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory SimpleValue.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); - factory SimpleValue.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory SimpleValue.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -122,14 +148,16 @@ class SimpleValue extends $pb.GeneratedMessage { 'Will be removed in next major version', ) SimpleValue copyWith(void Function(SimpleValue) updates) => - super.copyWith((message) => updates(message as SimpleValue)) as SimpleValue; // ignore: deprecated_member_use + super.copyWith((message) => updates(message as SimpleValue)) + as SimpleValue; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static SimpleValue create() => SimpleValue._(); SimpleValue createEmptyInstance() => create(); static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static SimpleValue getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static SimpleValue getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static SimpleValue? _defaultInstance; @$pb.TagNumber(1) @@ -147,15 +175,35 @@ class SimpleValue extends $pb.GeneratedMessage { class AssetValue extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'AssetValue', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'AssetValue', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, ) - ..aOS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'code') - ..aOS(2, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'quantity') - ..aOS(3, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'securityRoot') - ..aOS(4, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'metadata') + ..aOS( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'code') + ..aOS( + 2, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'quantity') + ..aOS( + 3, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'securityRoot') + ..aOS( + 4, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'metadata') ..hasRequiredFields = false; AssetValue._() : super(); @@ -180,9 +228,11 @@ class AssetValue extends $pb.GeneratedMessage { } return _result; } - factory AssetValue.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory AssetValue.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); - factory AssetValue.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory AssetValue.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -196,14 +246,16 @@ class AssetValue extends $pb.GeneratedMessage { 'Will be removed in next major version', ) AssetValue copyWith(void Function(AssetValue) updates) => - super.copyWith((message) => updates(message as AssetValue)) as AssetValue; // ignore: deprecated_member_use + super.copyWith((message) => updates(message as AssetValue)) + as AssetValue; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static AssetValue create() => AssetValue._(); AssetValue createEmptyInstance() => create(); static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static AssetValue getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static AssetValue getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static AssetValue? _defaultInstance; @$pb.TagNumber(1) @@ -264,20 +316,28 @@ class TokenValue extends $pb.GeneratedMessage { 0: TokenValue_Value.notSet }; static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'TokenValue', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'TokenValue', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, ) ..oo(0, [1, 2]) ..aOM( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'simple', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'simple', subBuilder: SimpleValue.create, ) ..aOM( 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'asset', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'asset', subBuilder: AssetValue.create, ) ..hasRequiredFields = false; @@ -296,9 +356,11 @@ class TokenValue extends $pb.GeneratedMessage { } return _result; } - factory TokenValue.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory TokenValue.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); - factory TokenValue.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory TokenValue.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -312,14 +374,16 @@ class TokenValue extends $pb.GeneratedMessage { 'Will be removed in next major version', ) TokenValue copyWith(void Function(TokenValue) updates) => - super.copyWith((message) => updates(message as TokenValue)) as TokenValue; // ignore: deprecated_member_use + super.copyWith((message) => updates(message as TokenValue)) + as TokenValue; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static TokenValue create() => TokenValue._(); TokenValue createEmptyInstance() => create(); static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static TokenValue getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TokenValue getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static TokenValue? _defaultInstance; TokenValue_Value whichValue() => _TokenValue_ValueByTag[$_whichOneof(0)]!; @@ -356,18 +420,40 @@ class TokenValue extends $pb.GeneratedMessage { class TokenBox extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'TokenBox', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'TokenBox', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, ) - ..aOS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'boxType') - ..aOS(2, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'id') - ..aOS(3, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'nonce') - ..aOS(4, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'evidence') + ..aOS( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'boxType') + ..aOS( + 2, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'id') + ..aOS( + 3, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'nonce') + ..aOS( + 4, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'evidence') ..aOM( 5, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'value', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'value', subBuilder: TokenValue.create, ) ..hasRequiredFields = false; @@ -398,9 +484,11 @@ class TokenBox extends $pb.GeneratedMessage { } return _result; } - factory TokenBox.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory TokenBox.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); - factory TokenBox.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory TokenBox.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -414,14 +502,16 @@ class TokenBox extends $pb.GeneratedMessage { 'Will be removed in next major version', ) TokenBox copyWith(void Function(TokenBox) updates) => - super.copyWith((message) => updates(message as TokenBox)) as TokenBox; // ignore: deprecated_member_use + super.copyWith((message) => updates(message as TokenBox)) + as TokenBox; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static TokenBox create() => TokenBox._(); TokenBox createEmptyInstance() => create(); static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static TokenBox getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TokenBox getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static TokenBox? _defaultInstance; @$pb.TagNumber(1) @@ -489,13 +579,25 @@ class TokenBox extends $pb.GeneratedMessage { class InputBox extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'InputBox', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'InputBox', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, ) - ..aOS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'address') - ..aOS(2, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'nonce') + ..aOS( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'address') + ..aOS( + 2, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'nonce') ..hasRequiredFields = false; InputBox._() : super(); @@ -512,9 +614,11 @@ class InputBox extends $pb.GeneratedMessage { } return _result; } - factory InputBox.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory InputBox.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); - factory InputBox.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory InputBox.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -528,14 +632,16 @@ class InputBox extends $pb.GeneratedMessage { 'Will be removed in next major version', ) InputBox copyWith(void Function(InputBox) updates) => - super.copyWith((message) => updates(message as InputBox)) as InputBox; // ignore: deprecated_member_use + super.copyWith((message) => updates(message as InputBox)) + as InputBox; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static InputBox create() => InputBox._(); InputBox createEmptyInstance() => create(); static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static InputBox getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static InputBox getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static InputBox? _defaultInstance; @$pb.TagNumber(1) @@ -565,15 +671,25 @@ class InputBox extends $pb.GeneratedMessage { class OutputBox extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'OutputBox', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'OutputBox', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, ) - ..aOS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'address') + ..aOS( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'address') ..aOM( 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'value', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'value', subBuilder: TokenValue.create, ) ..hasRequiredFields = false; @@ -592,9 +708,11 @@ class OutputBox extends $pb.GeneratedMessage { } return _result; } - factory OutputBox.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory OutputBox.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); - factory OutputBox.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory OutputBox.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -608,14 +726,16 @@ class OutputBox extends $pb.GeneratedMessage { 'Will be removed in next major version', ) OutputBox copyWith(void Function(OutputBox) updates) => - super.copyWith((message) => updates(message as OutputBox)) as OutputBox; // ignore: deprecated_member_use + super.copyWith((message) => updates(message as OutputBox)) + as OutputBox; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static OutputBox create() => OutputBox._(); OutputBox createEmptyInstance() => create(); static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static OutputBox getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static OutputBox getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static OutputBox? _defaultInstance; @$pb.TagNumber(1) @@ -647,14 +767,20 @@ class OutputBox extends $pb.GeneratedMessage { class BlockHeight extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'BlockHeight', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'BlockHeight', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, ) ..a<$fixnum.Int64>( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'value', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'value', $pb.PbFieldType.OU6, defaultOrMaker: $fixnum.Int64.ZERO, ) @@ -670,9 +796,11 @@ class BlockHeight extends $pb.GeneratedMessage { } return _result; } - factory BlockHeight.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory BlockHeight.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); - factory BlockHeight.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory BlockHeight.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -686,14 +814,16 @@ class BlockHeight extends $pb.GeneratedMessage { 'Will be removed in next major version', ) BlockHeight copyWith(void Function(BlockHeight) updates) => - super.copyWith((message) => updates(message as BlockHeight)) as BlockHeight; // ignore: deprecated_member_use + super.copyWith((message) => updates(message as BlockHeight)) + as BlockHeight; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static BlockHeight create() => BlockHeight._(); BlockHeight createEmptyInstance() => create(); static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static BlockHeight getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static BlockHeight getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static BlockHeight? _defaultInstance; @$pb.TagNumber(1) @@ -711,47 +841,97 @@ class BlockHeight extends $pb.GeneratedMessage { class Transaction extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'Transaction', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'Transaction', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, ) - ..aOS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'txType') - ..aOS(2, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'timestamp') + ..aOS( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'txType') + ..aOS( + 2, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'timestamp') ..pc( 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'signatures', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'signatures', $pb.PbFieldType.PM, subBuilder: Attestation.create, ) ..pc( 4, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'newBoxes', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'newBoxes', $pb.PbFieldType.PM, subBuilder: TokenBox.create, ) - ..aOS(5, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'data') + ..aOS( + 5, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'data') ..pc( 6, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'inputs', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'inputs', $pb.PbFieldType.PM, subBuilder: InputBox.create, ) - ..aOB(7, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'minting') - ..aOS(8, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'txId') - ..pPS(9, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'boxesToRemove') - ..aOS(10, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'fee') + ..aOB( + 7, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'minting') + ..aOS( + 8, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'txId') + ..pPS( + 9, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'boxesToRemove') + ..aOS( + 10, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'fee') ..pc( 11, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'outputs', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'outputs', $pb.PbFieldType.PM, subBuilder: OutputBox.create, ) - ..aOS(12, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'propositionType') - ..aOS(13, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'blockId') + ..aOS( + 12, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'propositionType') + ..aOS( + 13, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'blockId') ..a<$fixnum.Int64>( 14, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'blockHeight', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'blockHeight', $pb.PbFieldType.OU6, defaultOrMaker: $fixnum.Int64.ZERO, ) @@ -819,9 +999,11 @@ class Transaction extends $pb.GeneratedMessage { } return _result; } - factory Transaction.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory Transaction.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); - factory Transaction.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory Transaction.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -835,14 +1017,16 @@ class Transaction extends $pb.GeneratedMessage { 'Will be removed in next major version', ) Transaction copyWith(void Function(Transaction) updates) => - super.copyWith((message) => updates(message as Transaction)) as Transaction; // ignore: deprecated_member_use + super.copyWith((message) => updates(message as Transaction)) + as Transaction; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static Transaction create() => Transaction._(); Transaction createEmptyInstance() => create(); static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static Transaction getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Transaction getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static Transaction? _defaultInstance; @$pb.TagNumber(1) @@ -971,38 +1155,82 @@ class Transaction extends $pb.GeneratedMessage { class Block extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'Block', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'Block', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, ) - ..aOS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'id') - ..aOS(2, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'parentId') - ..aOS(3, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'timestamp') + ..aOS( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'id') + ..aOS( + 2, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'parentId') + ..aOS( + 3, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'timestamp') ..aOM( 4, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'generator', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'generator', subBuilder: TokenBox.create, ) - ..aOS(5, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'publicKey') - ..aOS(6, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'signature') + ..aOS( + 5, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'publicKey') + ..aOS( + 6, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'signature') ..a<$fixnum.Int64>( 7, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'height', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'height', $pb.PbFieldType.OU6, defaultOrMaker: $fixnum.Int64.ZERO, ) - ..aOS(8, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'difficulty') - ..aOS(9, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'txRoot') - ..aOS(10, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'bloomFilter') + ..aOS( + 8, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'difficulty') + ..aOS( + 9, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'txRoot') + ..aOS( + 10, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'bloomFilter') ..a<$core.int>( 11, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'version', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'version', $pb.PbFieldType.OU3, ) ..a<$core.int>( 12, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'numTransactions', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'numTransactions', $pb.PbFieldType.OU3, ) ..hasRequiredFields = false; @@ -1061,9 +1289,11 @@ class Block extends $pb.GeneratedMessage { } return _result; } - factory Block.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory Block.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); - factory Block.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory Block.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -1077,14 +1307,16 @@ class Block extends $pb.GeneratedMessage { 'Will be removed in next major version', ) Block copyWith(void Function(Block) updates) => - super.copyWith((message) => updates(message as Block)) as Block; // ignore: deprecated_member_use + super.copyWith((message) => updates(message as Block)) + as Block; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static Block create() => Block._(); Block createEmptyInstance() => create(); static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static Block getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Block getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static Block? _defaultInstance; @$pb.TagNumber(1) diff --git a/lib/genus/generated/types.pbenum.dart b/lib/genus/generated/types.pbenum.dart index 8ed9e20b..aac01541 100644 --- a/lib/genus/generated/types.pbenum.dart +++ b/lib/genus/generated/types.pbenum.dart @@ -4,4 +4,3 @@ // // @dart = 2.12 // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name - diff --git a/lib/genus/generated/types.pbjson.dart b/lib/genus/generated/types.pbjson.dart index 970a3c71..a3d4c776 100644 --- a/lib/genus/generated/types.pbjson.dart +++ b/lib/genus/generated/types.pbjson.dart @@ -8,6 +8,7 @@ import 'dart:core' as $core; import 'dart:convert' as $convert; import 'dart:typed_data' as $typed_data; + @$core.Deprecated('Use attestationDescriptor instead') const Attestation$json = const { '1': 'Attestation', @@ -18,7 +19,8 @@ const Attestation$json = const { }; /// Descriptor for `Attestation`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List attestationDescriptor = $convert.base64Decode('CgtBdHRlc3RhdGlvbhIdCgpwdWJsaWNfa2V5GAEgASgJUglwdWJsaWNLZXkSHAoJc2lnbmF0dXJlGAIgASgJUglzaWduYXR1cmU='); +final $typed_data.Uint8List attestationDescriptor = $convert.base64Decode( + 'CgtBdHRlc3RhdGlvbhIdCgpwdWJsaWNfa2V5GAEgASgJUglwdWJsaWNLZXkSHAoJc2lnbmF0dXJlGAIgASgJUglzaWduYXR1cmU='); @$core.Deprecated('Use simpleValueDescriptor instead') const SimpleValue$json = const { '1': 'SimpleValue', @@ -28,7 +30,8 @@ const SimpleValue$json = const { }; /// Descriptor for `SimpleValue`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List simpleValueDescriptor = $convert.base64Decode('CgtTaW1wbGVWYWx1ZRIaCghxdWFudGl0eRgBIAEoCVIIcXVhbnRpdHk='); +final $typed_data.Uint8List simpleValueDescriptor = $convert + .base64Decode('CgtTaW1wbGVWYWx1ZRIaCghxdWFudGl0eRgBIAEoCVIIcXVhbnRpdHk='); @$core.Deprecated('Use assetValueDescriptor instead') const AssetValue$json = const { '1': 'AssetValue', @@ -41,13 +44,30 @@ const AssetValue$json = const { }; /// Descriptor for `AssetValue`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List assetValueDescriptor = $convert.base64Decode('CgpBc3NldFZhbHVlEhIKBGNvZGUYASABKAlSBGNvZGUSGgoIcXVhbnRpdHkYAiABKAlSCHF1YW50aXR5EiMKDXNlY3VyaXR5X3Jvb3QYAyABKAlSDHNlY3VyaXR5Um9vdBIaCghtZXRhZGF0YRgEIAEoCVIIbWV0YWRhdGE='); +final $typed_data.Uint8List assetValueDescriptor = $convert.base64Decode( + 'CgpBc3NldFZhbHVlEhIKBGNvZGUYASABKAlSBGNvZGUSGgoIcXVhbnRpdHkYAiABKAlSCHF1YW50aXR5EiMKDXNlY3VyaXR5X3Jvb3QYAyABKAlSDHNlY3VyaXR5Um9vdBIaCghtZXRhZGF0YRgEIAEoCVIIbWV0YWRhdGE='); @$core.Deprecated('Use tokenValueDescriptor instead') const TokenValue$json = const { '1': 'TokenValue', '2': const [ - const {'1': 'simple', '3': 1, '4': 1, '5': 11, '6': '.co.topl.genus.SimpleValue', '9': 0, '10': 'simple'}, - const {'1': 'asset', '3': 2, '4': 1, '5': 11, '6': '.co.topl.genus.AssetValue', '9': 0, '10': 'asset'}, + const { + '1': 'simple', + '3': 1, + '4': 1, + '5': 11, + '6': '.co.topl.genus.SimpleValue', + '9': 0, + '10': 'simple' + }, + const { + '1': 'asset', + '3': 2, + '4': 1, + '5': 11, + '6': '.co.topl.genus.AssetValue', + '9': 0, + '10': 'asset' + }, ], '8': const [ const {'1': 'value'}, @@ -55,7 +75,8 @@ const TokenValue$json = const { }; /// Descriptor for `TokenValue`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List tokenValueDescriptor = $convert.base64Decode('CgpUb2tlblZhbHVlEjQKBnNpbXBsZRgBIAEoCzIaLmNvLnRvcGwuZ2VudXMuU2ltcGxlVmFsdWVIAFIGc2ltcGxlEjEKBWFzc2V0GAIgASgLMhkuY28udG9wbC5nZW51cy5Bc3NldFZhbHVlSABSBWFzc2V0QgcKBXZhbHVl'); +final $typed_data.Uint8List tokenValueDescriptor = $convert.base64Decode( + 'CgpUb2tlblZhbHVlEjQKBnNpbXBsZRgBIAEoCzIaLmNvLnRvcGwuZ2VudXMuU2ltcGxlVmFsdWVIAFIGc2ltcGxlEjEKBWFzc2V0GAIgASgLMhkuY28udG9wbC5nZW51cy5Bc3NldFZhbHVlSABSBWFzc2V0QgcKBXZhbHVl'); @$core.Deprecated('Use tokenBoxDescriptor instead') const TokenBox$json = const { '1': 'TokenBox', @@ -64,12 +85,20 @@ const TokenBox$json = const { const {'1': 'id', '3': 2, '4': 1, '5': 9, '10': 'id'}, const {'1': 'nonce', '3': 3, '4': 1, '5': 9, '10': 'nonce'}, const {'1': 'evidence', '3': 4, '4': 1, '5': 9, '10': 'evidence'}, - const {'1': 'value', '3': 5, '4': 1, '5': 11, '6': '.co.topl.genus.TokenValue', '10': 'value'}, + const { + '1': 'value', + '3': 5, + '4': 1, + '5': 11, + '6': '.co.topl.genus.TokenValue', + '10': 'value' + }, ], }; /// Descriptor for `TokenBox`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List tokenBoxDescriptor = $convert.base64Decode('CghUb2tlbkJveBIZCghib3hfdHlwZRgBIAEoCVIHYm94VHlwZRIOCgJpZBgCIAEoCVICaWQSFAoFbm9uY2UYAyABKAlSBW5vbmNlEhoKCGV2aWRlbmNlGAQgASgJUghldmlkZW5jZRIvCgV2YWx1ZRgFIAEoCzIZLmNvLnRvcGwuZ2VudXMuVG9rZW5WYWx1ZVIFdmFsdWU='); +final $typed_data.Uint8List tokenBoxDescriptor = $convert.base64Decode( + 'CghUb2tlbkJveBIZCghib3hfdHlwZRgBIAEoCVIHYm94VHlwZRIOCgJpZBgCIAEoCVICaWQSFAoFbm9uY2UYAyABKAlSBW5vbmNlEhoKCGV2aWRlbmNlGAQgASgJUghldmlkZW5jZRIvCgV2YWx1ZRgFIAEoCzIZLmNvLnRvcGwuZ2VudXMuVG9rZW5WYWx1ZVIFdmFsdWU='); @$core.Deprecated('Use inputBoxDescriptor instead') const InputBox$json = const { '1': 'InputBox', @@ -80,18 +109,27 @@ const InputBox$json = const { }; /// Descriptor for `InputBox`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List inputBoxDescriptor = $convert.base64Decode('CghJbnB1dEJveBIYCgdhZGRyZXNzGAEgASgJUgdhZGRyZXNzEhQKBW5vbmNlGAIgASgJUgVub25jZQ=='); +final $typed_data.Uint8List inputBoxDescriptor = $convert.base64Decode( + 'CghJbnB1dEJveBIYCgdhZGRyZXNzGAEgASgJUgdhZGRyZXNzEhQKBW5vbmNlGAIgASgJUgVub25jZQ=='); @$core.Deprecated('Use outputBoxDescriptor instead') const OutputBox$json = const { '1': 'OutputBox', '2': const [ const {'1': 'address', '3': 1, '4': 1, '5': 9, '10': 'address'}, - const {'1': 'value', '3': 2, '4': 1, '5': 11, '6': '.co.topl.genus.TokenValue', '10': 'value'}, + const { + '1': 'value', + '3': 2, + '4': 1, + '5': 11, + '6': '.co.topl.genus.TokenValue', + '10': 'value' + }, ], }; /// Descriptor for `OutputBox`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List outputBoxDescriptor = $convert.base64Decode('CglPdXRwdXRCb3gSGAoHYWRkcmVzcxgBIAEoCVIHYWRkcmVzcxIvCgV2YWx1ZRgCIAEoCzIZLmNvLnRvcGwuZ2VudXMuVG9rZW5WYWx1ZVIFdmFsdWU='); +final $typed_data.Uint8List outputBoxDescriptor = $convert.base64Decode( + 'CglPdXRwdXRCb3gSGAoHYWRkcmVzcxgBIAEoCVIHYWRkcmVzcxIvCgV2YWx1ZRgCIAEoCzIZLmNvLnRvcGwuZ2VudXMuVG9rZW5WYWx1ZVIFdmFsdWU='); @$core.Deprecated('Use blockHeightDescriptor instead') const BlockHeight$json = const { '1': 'BlockHeight', @@ -101,30 +139,72 @@ const BlockHeight$json = const { }; /// Descriptor for `BlockHeight`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List blockHeightDescriptor = $convert.base64Decode('CgtCbG9ja0hlaWdodBIUCgV2YWx1ZRgBIAEoBFIFdmFsdWU='); +final $typed_data.Uint8List blockHeightDescriptor = + $convert.base64Decode('CgtCbG9ja0hlaWdodBIUCgV2YWx1ZRgBIAEoBFIFdmFsdWU='); @$core.Deprecated('Use transactionDescriptor instead') const Transaction$json = const { '1': 'Transaction', '2': const [ const {'1': 'tx_type', '3': 1, '4': 1, '5': 9, '10': 'txType'}, const {'1': 'timestamp', '3': 2, '4': 1, '5': 9, '10': 'timestamp'}, - const {'1': 'signatures', '3': 3, '4': 3, '5': 11, '6': '.co.topl.genus.Attestation', '10': 'signatures'}, - const {'1': 'new_boxes', '3': 4, '4': 3, '5': 11, '6': '.co.topl.genus.TokenBox', '10': 'newBoxes'}, + const { + '1': 'signatures', + '3': 3, + '4': 3, + '5': 11, + '6': '.co.topl.genus.Attestation', + '10': 'signatures' + }, + const { + '1': 'new_boxes', + '3': 4, + '4': 3, + '5': 11, + '6': '.co.topl.genus.TokenBox', + '10': 'newBoxes' + }, const {'1': 'data', '3': 5, '4': 1, '5': 9, '10': 'data'}, - const {'1': 'inputs', '3': 6, '4': 3, '5': 11, '6': '.co.topl.genus.InputBox', '10': 'inputs'}, + const { + '1': 'inputs', + '3': 6, + '4': 3, + '5': 11, + '6': '.co.topl.genus.InputBox', + '10': 'inputs' + }, const {'1': 'minting', '3': 7, '4': 1, '5': 8, '10': 'minting'}, const {'1': 'tx_id', '3': 8, '4': 1, '5': 9, '10': 'txId'}, - const {'1': 'boxes_to_remove', '3': 9, '4': 3, '5': 9, '10': 'boxesToRemove'}, + const { + '1': 'boxes_to_remove', + '3': 9, + '4': 3, + '5': 9, + '10': 'boxesToRemove' + }, const {'1': 'fee', '3': 10, '4': 1, '5': 9, '10': 'fee'}, - const {'1': 'outputs', '3': 11, '4': 3, '5': 11, '6': '.co.topl.genus.OutputBox', '10': 'outputs'}, - const {'1': 'proposition_type', '3': 12, '4': 1, '5': 9, '10': 'propositionType'}, + const { + '1': 'outputs', + '3': 11, + '4': 3, + '5': 11, + '6': '.co.topl.genus.OutputBox', + '10': 'outputs' + }, + const { + '1': 'proposition_type', + '3': 12, + '4': 1, + '5': 9, + '10': 'propositionType' + }, const {'1': 'block_id', '3': 13, '4': 1, '5': 9, '10': 'blockId'}, const {'1': 'block_height', '3': 14, '4': 1, '5': 4, '10': 'blockHeight'}, ], }; /// Descriptor for `Transaction`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List transactionDescriptor = $convert.base64Decode('CgtUcmFuc2FjdGlvbhIXCgd0eF90eXBlGAEgASgJUgZ0eFR5cGUSHAoJdGltZXN0YW1wGAIgASgJUgl0aW1lc3RhbXASOgoKc2lnbmF0dXJlcxgDIAMoCzIaLmNvLnRvcGwuZ2VudXMuQXR0ZXN0YXRpb25SCnNpZ25hdHVyZXMSNAoJbmV3X2JveGVzGAQgAygLMhcuY28udG9wbC5nZW51cy5Ub2tlbkJveFIIbmV3Qm94ZXMSEgoEZGF0YRgFIAEoCVIEZGF0YRIvCgZpbnB1dHMYBiADKAsyFy5jby50b3BsLmdlbnVzLklucHV0Qm94UgZpbnB1dHMSGAoHbWludGluZxgHIAEoCFIHbWludGluZxITCgV0eF9pZBgIIAEoCVIEdHhJZBImCg9ib3hlc190b19yZW1vdmUYCSADKAlSDWJveGVzVG9SZW1vdmUSEAoDZmVlGAogASgJUgNmZWUSMgoHb3V0cHV0cxgLIAMoCzIYLmNvLnRvcGwuZ2VudXMuT3V0cHV0Qm94UgdvdXRwdXRzEikKEHByb3Bvc2l0aW9uX3R5cGUYDCABKAlSD3Byb3Bvc2l0aW9uVHlwZRIZCghibG9ja19pZBgNIAEoCVIHYmxvY2tJZBIhCgxibG9ja19oZWlnaHQYDiABKARSC2Jsb2NrSGVpZ2h0'); +final $typed_data.Uint8List transactionDescriptor = $convert.base64Decode( + 'CgtUcmFuc2FjdGlvbhIXCgd0eF90eXBlGAEgASgJUgZ0eFR5cGUSHAoJdGltZXN0YW1wGAIgASgJUgl0aW1lc3RhbXASOgoKc2lnbmF0dXJlcxgDIAMoCzIaLmNvLnRvcGwuZ2VudXMuQXR0ZXN0YXRpb25SCnNpZ25hdHVyZXMSNAoJbmV3X2JveGVzGAQgAygLMhcuY28udG9wbC5nZW51cy5Ub2tlbkJveFIIbmV3Qm94ZXMSEgoEZGF0YRgFIAEoCVIEZGF0YRIvCgZpbnB1dHMYBiADKAsyFy5jby50b3BsLmdlbnVzLklucHV0Qm94UgZpbnB1dHMSGAoHbWludGluZxgHIAEoCFIHbWludGluZxITCgV0eF9pZBgIIAEoCVIEdHhJZBImCg9ib3hlc190b19yZW1vdmUYCSADKAlSDWJveGVzVG9SZW1vdmUSEAoDZmVlGAogASgJUgNmZWUSMgoHb3V0cHV0cxgLIAMoCzIYLmNvLnRvcGwuZ2VudXMuT3V0cHV0Qm94UgdvdXRwdXRzEikKEHByb3Bvc2l0aW9uX3R5cGUYDCABKAlSD3Byb3Bvc2l0aW9uVHlwZRIZCghibG9ja19pZBgNIAEoCVIHYmxvY2tJZBIhCgxibG9ja19oZWlnaHQYDiABKARSC2Jsb2NrSGVpZ2h0'); @$core.Deprecated('Use blockDescriptor instead') const Block$json = const { '1': 'Block', @@ -132,7 +212,14 @@ const Block$json = const { const {'1': 'id', '3': 1, '4': 1, '5': 9, '10': 'id'}, const {'1': 'parent_id', '3': 2, '4': 1, '5': 9, '10': 'parentId'}, const {'1': 'timestamp', '3': 3, '4': 1, '5': 9, '10': 'timestamp'}, - const {'1': 'generator', '3': 4, '4': 1, '5': 11, '6': '.co.topl.genus.TokenBox', '10': 'generator'}, + const { + '1': 'generator', + '3': 4, + '4': 1, + '5': 11, + '6': '.co.topl.genus.TokenBox', + '10': 'generator' + }, const {'1': 'public_key', '3': 5, '4': 1, '5': 9, '10': 'publicKey'}, const {'1': 'signature', '3': 6, '4': 1, '5': 9, '10': 'signature'}, const {'1': 'height', '3': 7, '4': 1, '5': 4, '10': 'height'}, @@ -140,9 +227,16 @@ const Block$json = const { const {'1': 'tx_root', '3': 9, '4': 1, '5': 9, '10': 'txRoot'}, const {'1': 'bloom_filter', '3': 10, '4': 1, '5': 9, '10': 'bloomFilter'}, const {'1': 'version', '3': 11, '4': 1, '5': 13, '10': 'version'}, - const {'1': 'num_transactions', '3': 12, '4': 1, '5': 13, '10': 'numTransactions'}, + const { + '1': 'num_transactions', + '3': 12, + '4': 1, + '5': 13, + '10': 'numTransactions' + }, ], }; /// Descriptor for `Block`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List blockDescriptor = $convert.base64Decode('CgVCbG9jaxIOCgJpZBgBIAEoCVICaWQSGwoJcGFyZW50X2lkGAIgASgJUghwYXJlbnRJZBIcCgl0aW1lc3RhbXAYAyABKAlSCXRpbWVzdGFtcBI1CglnZW5lcmF0b3IYBCABKAsyFy5jby50b3BsLmdlbnVzLlRva2VuQm94UglnZW5lcmF0b3ISHQoKcHVibGljX2tleRgFIAEoCVIJcHVibGljS2V5EhwKCXNpZ25hdHVyZRgGIAEoCVIJc2lnbmF0dXJlEhYKBmhlaWdodBgHIAEoBFIGaGVpZ2h0Eh4KCmRpZmZpY3VsdHkYCCABKAlSCmRpZmZpY3VsdHkSFwoHdHhfcm9vdBgJIAEoCVIGdHhSb290EiEKDGJsb29tX2ZpbHRlchgKIAEoCVILYmxvb21GaWx0ZXISGAoHdmVyc2lvbhgLIAEoDVIHdmVyc2lvbhIpChBudW1fdHJhbnNhY3Rpb25zGAwgASgNUg9udW1UcmFuc2FjdGlvbnM='); +final $typed_data.Uint8List blockDescriptor = $convert.base64Decode( + 'CgVCbG9jaxIOCgJpZBgBIAEoCVICaWQSGwoJcGFyZW50X2lkGAIgASgJUghwYXJlbnRJZBIcCgl0aW1lc3RhbXAYAyABKAlSCXRpbWVzdGFtcBI1CglnZW5lcmF0b3IYBCABKAsyFy5jby50b3BsLmdlbnVzLlRva2VuQm94UglnZW5lcmF0b3ISHQoKcHVibGljX2tleRgFIAEoCVIJcHVibGljS2V5EhwKCXNpZ25hdHVyZRgGIAEoCVIJc2lnbmF0dXJlEhYKBmhlaWdodBgHIAEoBFIGaGVpZ2h0Eh4KCmRpZmZpY3VsdHkYCCABKAlSCmRpZmZpY3VsdHkSFwoHdHhfcm9vdBgJIAEoCVIGdHhSb290EiEKDGJsb29tX2ZpbHRlchgKIAEoCVILYmxvb21GaWx0ZXISGAoHdmVyc2lvbhgLIAEoDVIHdmVyc2lvbhIpChBudW1fdHJhbnNhY3Rpb25zGAwgASgNUg9udW1UcmFuc2FjdGlvbnM='); diff --git a/lib/js_workers/generate_keystore_worker.dart b/lib/js_workers/generate_keystore_worker.dart index 7709f1a7..75a2ca2a 100644 --- a/lib/js_workers/generate_keystore_worker.dart +++ b/lib/js_workers/generate_keystore_worker.dart @@ -21,7 +21,8 @@ external DedicatedWorkerGlobalScope get self; void main() { self.onMessage.listen((e) { final Map params = jsonDecode(e.data); - final Map results = const OnboardingRespository().generateKeyStore({ + final Map results = + const OnboardingRespository().generateKeyStore({ 'mnemonic': params['mnemonic'], 'password': params['password'], }); diff --git a/lib/js_workers/login_worker.dart b/lib/js_workers/login_worker.dart index 63242a20..65de9e91 100644 --- a/lib/js_workers/login_worker.dart +++ b/lib/js_workers/login_worker.dart @@ -22,7 +22,8 @@ external DedicatedWorkerGlobalScope get self; void main() { self.onMessage.listen((e) { final Map params = jsonDecode(e.data); - final Uint8List toplExtendedPrvKeyUint8List = const LoginRepository().decryptKeyStore( + final Uint8List toplExtendedPrvKeyUint8List = + const LoginRepository().decryptKeyStore( { 'keyStoreJson': params['keyStoreJson'] as String, 'password': params['password'] as String, diff --git a/lib/main.dart b/lib/main.dart index 3940b38e..86e0fa1f 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -81,11 +81,10 @@ String getInitialRoute(Store store) { //v2 else if (store.state.internalMessage?.method == InternalMethods.authorize) { return Routes.connectDApp; - } - else if (store.state.internalMessage?.method == InternalMethods.getBalance) { + } else if (store.state.internalMessage?.method == + InternalMethods.getBalance) { return Routes.reviewAndSignDApp; - } - else if (store.state.internalMessage?.method == + } else if (store.state.internalMessage?.method == InternalMethods.signTransaction) { return Routes.reviewAndSignDApp; } diff --git a/lib/middlewares/epic_middleware.dart b/lib/middlewares/epic_middleware.dart index 98ed1cd7..0354a2f0 100644 --- a/lib/middlewares/epic_middleware.dart +++ b/lib/middlewares/epic_middleware.dart @@ -11,12 +11,15 @@ import 'package:ribn/repositories/misc_repository.dart'; import 'package:ribn/utils.dart'; import 'package:rxdart/rxdart.dart'; -Epic createEpicMiddleware(MiscRepository miscRepo) => combineEpics([ +Epic createEpicMiddleware(MiscRepository miscRepo) => + combineEpics([ _persistenceTriggerEpic(), TypedEpic(_onApiError()), TypedEpic(_onPersistAppState(miscRepo)), TypedEpic(_onNavigateToRoute()), - TypedEpic(_onSuccessfullyRestoredWallet(miscRepo)), + TypedEpic( + _onSuccessfullyRestoredWallet(miscRepo), + ), ]); /// A list of all the actions that should trigger appState persistence @@ -29,7 +32,8 @@ const List persistenceTriggers = [ ]; /// If an action that exists in the list [persistenceTriggers] is received, this epic emits the [PersistAppState] action. -Epic _persistenceTriggerEpic() => (Stream actions, EpicStore store) { +Epic _persistenceTriggerEpic() => + (Stream actions, EpicStore store) { return actions .where((action) => (persistenceTriggers.contains(action.runtimeType))) .switchMap((action) => Stream.value(PersistAppState())); @@ -51,16 +55,22 @@ Epic _persistenceTriggerEpic() => (Stream actions, EpicStore< // }; /// Redirects to [Routes.error] whenever [ApiErrorAction] is received. -Stream Function(Stream, EpicStore) _onApiError() { +Stream Function(Stream, EpicStore) + _onApiError() { return (actions, store) { - return actions.switchMap((action) => Stream.value(NavigateToRoute(Routes.error, arguments: action.errorMessage))); + return actions.switchMap( + (action) => Stream.value( + NavigateToRoute(Routes.error, arguments: action.errorMessage), + ), + ); }; } /// Handles [PersistAppState] action. /// /// Persists the current [AppState] to local storage. -Stream Function(Stream, EpicStore) _onPersistAppState(MiscRepository miscRepo) { +Stream Function(Stream, EpicStore) + _onPersistAppState(MiscRepository miscRepo) { return (actions, store) { return actions.whereType().switchMap( (action) { @@ -71,7 +81,9 @@ Stream Function(Stream, EpicStore) _onPersis await miscRepo.persistAppState(store.state.toJson()); } } catch (e) { - return ApiErrorAction('Failed to persist state. Error: ${e.toString()}'); + return ApiErrorAction( + 'Failed to persist state. Error: ${e.toString()}', + ); } } @@ -84,11 +96,13 @@ Stream Function(Stream, EpicStore) _onPersis /// Handles [NavigateToRoute] by pushing [action.route] on the current navigation stack. /// /// Only supports Web platform at this time, i.e. [kIsWeb] should be True. -Stream Function(Stream, EpicStore) _onNavigateToRoute() { +Stream Function(Stream, EpicStore) + _onNavigateToRoute() { return (actions, store) { return actions.switchMap( (action) { - Keys.navigatorKey.currentState?.pushNamed(action.route, arguments: action.arguments); + Keys.navigatorKey.currentState + ?.pushNamed(action.route, arguments: action.arguments); return const Stream.empty(); }, ); @@ -100,12 +114,16 @@ Stream Function(Stream, EpicStore) _onNaviga /// /// [navigateToRoute] is selected based on whether the app is open in extension view or full page, i.e. /// user is restoring wallet during onboarding (fullpage- iew) vs from the login page (extension view). -Stream Function(Stream, EpicStore) _onSuccessfullyRestoredWallet( +Stream Function( + Stream, + EpicStore, +) _onSuccessfullyRestoredWallet( MiscRepository miscRepo, ) { return (actions, store) { return actions.switchMap((action) { - const String navigateToRoute = kIsWeb ? Routes.extensionInfo : Routes.home; + const String navigateToRoute = + kIsWeb ? Routes.extensionInfo : Routes.home; return Stream.fromIterable([ const ResetAppStateAction(), InitializeHDWalletAction( @@ -113,7 +131,8 @@ Stream Function(Stream, EpicStore false), + Keys.navigatorKey.currentState + ?.pushNamedAndRemoveUntil(navigateToRoute, (route) => false), ]); }); }; diff --git a/lib/middlewares/internal_message_middleware.dart b/lib/middlewares/internal_message_middleware.dart index 3050b68f..921724cc 100644 --- a/lib/middlewares/internal_message_middleware.dart +++ b/lib/middlewares/internal_message_middleware.dart @@ -3,13 +3,21 @@ import 'package:ribn/actions/internal_message_actions.dart'; import 'package:ribn/models/app_state.dart'; import 'package:ribn/repositories/misc_repository.dart'; -List> createInternalMessageMiddleware(MiscRepository miscRepo) { +List> createInternalMessageMiddleware( + MiscRepository miscRepo, +) { return >[ - TypedMiddleware(_onSendInternalMsg(miscRepo)), + TypedMiddleware( + _onSendInternalMsg(miscRepo), + ), ]; } -void Function(Store store, SendInternalMsgAction action, NextDispatcher next) _onSendInternalMsg( +void Function( + Store store, + SendInternalMsgAction action, + NextDispatcher next, +) _onSendInternalMsg( MiscRepository miscRepo, ) { return (store, action, next) => miscRepo.sendInternalMessage(action.msg); diff --git a/lib/middlewares/keychain_middleware.dart b/lib/middlewares/keychain_middleware.dart index 9c926323..c031fdd6 100644 --- a/lib/middlewares/keychain_middleware.dart +++ b/lib/middlewares/keychain_middleware.dart @@ -6,25 +6,38 @@ import 'package:ribn/models/app_state.dart'; import 'package:ribn/models/ribn_address.dart'; import 'package:ribn/repositories/keychain_repository.dart'; -List> createKeychainMiddleware(KeychainRepository keyChainRepo) { +List> createKeychainMiddleware( + KeychainRepository keyChainRepo, +) { return >[ - TypedMiddleware(_onGenerateInitialAddresses(keyChainRepo)), - TypedMiddleware(_onGenerateAddress(keyChainRepo)), - TypedMiddleware(_onRefereshBalances(keyChainRepo)), + TypedMiddleware( + _onGenerateInitialAddresses(keyChainRepo), + ), + TypedMiddleware( + _onGenerateAddress(keyChainRepo), + ), + TypedMiddleware( + _onRefereshBalances(keyChainRepo), + ), ]; } /// Generates the initial addresses for each of the networks. /// /// Dispatches [UpdateNetworksWithAddressesAction] to update [RibnNetworks]s with the newly generated addreses. -void Function(Store store, GenerateInitialAddressesAction action, NextDispatcher next) - _onGenerateInitialAddresses(KeychainRepository keychainRepo) { +void Function( + Store store, + GenerateInitialAddressesAction action, + NextDispatcher next, +) _onGenerateInitialAddresses(KeychainRepository keychainRepo) { return (store, action, next) { try { final HdWallet hdWallet = store.state.keychainState.hdWallet!; final Map> networkAddresses = {}; store.state.keychainState.networks.forEach((networkName, network) { - networkAddresses[networkName] = [keychainRepo.generateAddress(hdWallet, networkId: network.networkId)]; + networkAddresses[networkName] = [ + keychainRepo.generateAddress(hdWallet, networkId: network.networkId) + ]; }); next(UpdateNetworksWithAddressesAction(networkAddresses)); } catch (e) { @@ -35,7 +48,11 @@ void Function(Store store, GenerateInitialAddressesAction action, Next /// On receiving [GenerateAddressAction] action, generates a new address and dispatches [AddAddressAction] /// to add the generated addresses under the current network. -void Function(Store store, GenerateAddressAction action, NextDispatcher next) _onGenerateAddress( +void Function( + Store store, + GenerateAddressAction action, + NextDispatcher next, +) _onGenerateAddress( KeychainRepository keychainRepo, ) { return (store, action, next) async { @@ -62,13 +79,18 @@ void Function(Store store, GenerateAddressAction action, NextDispatche /// Responds to [RefreshBalancesAction] by updating balances for the addresses in the wallet under the current network. /// /// If no addresses exist, a new address is generated. -void Function(Store store, RefreshBalancesAction action, NextDispatcher next) _onRefereshBalances( +void Function( + Store store, + RefreshBalancesAction action, + NextDispatcher next, +) _onRefereshBalances( KeychainRepository keychainRepo, ) { return (store, action, next) async { try { // get addresses in the wallet - final List currentAddresses = action.network.addresses.map((addr) => addr.toplAddress).toList(); + final List currentAddresses = + action.network.addresses.map((addr) => addr.toplAddress).toList(); // if no address in the wallet, generate a new address if (currentAddresses.isEmpty) { store.dispatch(GenerateAddressAction(0, network: action.network)); @@ -79,9 +101,12 @@ void Function(Store store, RefreshBalancesAction action, NextDispatche currentAddresses, ); // map addresses and balances - final Map addrBalanceMap = {for (Balance bal in balances) bal.address: bal}; + final Map addrBalanceMap = { + for (Balance bal in balances) bal.address: bal + }; // addresses with updated balances - final List addressesWithUpdatedBalances = action.network.addresses.map( + final List addressesWithUpdatedBalances = + action.network.addresses.map( (addr) { return addr.copyWith( balance: addrBalanceMap[addr.toplAddress.toBase58()], diff --git a/lib/middlewares/login_middleware.dart b/lib/middlewares/login_middleware.dart index b879ac09..02e6a819 100644 --- a/lib/middlewares/login_middleware.dart +++ b/lib/middlewares/login_middleware.dart @@ -12,23 +12,34 @@ import 'package:ribn/platform/platform.dart'; import 'package:ribn/repositories/login_repository.dart'; import 'package:ribn/utils.dart'; -List> createLoginMiddleware(LoginRepository loginRepository) { +List> createLoginMiddleware( + LoginRepository loginRepository, +) { return >[ - TypedMiddleware(_verifyPassword(loginRepository)), + TypedMiddleware( + _verifyPassword(loginRepository), + ), ]; } /// Verifies that the wallet password is correct by attempting to decrypt the keystore. -void Function(Store store, AttemptLoginAction action, NextDispatcher next) _verifyPassword( +void Function( + Store store, + AttemptLoginAction action, + NextDispatcher next, +) _verifyPassword( LoginRepository loginRepository, ) { return (store, action, next) async { try { - final AppViews currAppView = await PlatformUtils.instance.getCurrentAppView(); + final AppViews currAppView = + await PlatformUtils.instance.getCurrentAppView(); // create isolate/worker to avoid hanging the UI final List result = jsonDecode( await PlatformWorkerRunner.instance.runWorker( - workerScript: currAppView == AppViews.webDebug ? '/web/workers/login_worker.js' : '/workers/login_worker.js', + workerScript: currAppView == AppViews.webDebug + ? '/web/workers/login_worker.js' + : '/workers/login_worker.js', function: loginRepository.decryptKeyStore, params: { 'keyStoreJson': store.state.keychainState.keyStoreJson, @@ -36,10 +47,12 @@ void Function(Store store, AttemptLoginAction action, NextDispatcher n }, ), ); - final Uint8List toplExtendedPrvKeyUint8List = uint8ListFromDynamic(result); + final Uint8List toplExtendedPrvKeyUint8List = + uint8ListFromDynamic(result); // if extension: key is temporarily stored in `chrome.storage.session` & session alarm created // if mobile: key is persisted securely in secure storage - if (currAppView == AppViews.extension || currAppView == AppViews.extensionTab) { + if (currAppView == AppViews.extension || + currAppView == AppViews.extensionTab) { await PlatformLocalStorage.instance.saveKeyInSessionStorage( Base58Encoder.instance.encode(toplExtendedPrvKeyUint8List), ); @@ -50,7 +63,11 @@ void Function(Store store, AttemptLoginAction action, NextDispatcher n ); } // initialize hd wallet on success - next(InitializeHDWalletAction(toplExtendedPrivateKey: toplExtendedPrvKeyUint8List)); + next( + InitializeHDWalletAction( + toplExtendedPrivateKey: toplExtendedPrvKeyUint8List, + ), + ); action.completer.complete(true); } catch (e) { action.completer.complete(false); diff --git a/lib/middlewares/misc_middleware.dart b/lib/middlewares/misc_middleware.dart index fedb80ad..3445aea9 100644 --- a/lib/middlewares/misc_middleware.dart +++ b/lib/middlewares/misc_middleware.dart @@ -8,14 +8,23 @@ import 'package:ribn/platform/platform.dart'; import 'package:ribn/repositories/login_repository.dart'; import 'package:ribn/repositories/misc_repository.dart'; -List> createMiscMiddleware(LoginRepository loginRep, MiscRepository miscRepo) { +List> createMiscMiddleware( + LoginRepository loginRep, + MiscRepository miscRepo, +) { return >[ TypedMiddleware(_onDeleteWallet(loginRep)), - TypedMiddleware(_onDownloadAsFile(miscRepo)), + TypedMiddleware( + _onDownloadAsFile(miscRepo), + ), ]; } -void Function(Store store, DeleteWalletAction action, NextDispatcher next) _onDeleteWallet( +void Function( + Store store, + DeleteWalletAction action, + NextDispatcher next, +) _onDeleteWallet( LoginRepository loginRepo, ) { return (store, action, next) async { @@ -35,7 +44,8 @@ void Function(Store store, DeleteWalletAction action, NextDispatcher n PlatformUtils.instance.closeWindow(); } else { await PlatformLocalStorage.instance.clearSecureStorage(); - await Keys.navigatorKey.currentState?.pushNamedAndRemoveUntil(Routes.welcome, (_) => false); + await Keys.navigatorKey.currentState + ?.pushNamedAndRemoveUntil(Routes.welcome, (_) => false); } } catch (e) { // Complete with false to indicate error, i.e. incorrect password was entered @@ -44,7 +54,11 @@ void Function(Store store, DeleteWalletAction action, NextDispatcher n }; } -void Function(Store store, DownloadAsFileAction action, NextDispatcher next) _onDownloadAsFile( +void Function( + Store store, + DownloadAsFileAction action, + NextDispatcher next, +) _onDownloadAsFile( MiscRepository miscRepo, ) { return (store, action, next) { diff --git a/lib/middlewares/onboarding_middleware.dart b/lib/middlewares/onboarding_middleware.dart index c2a56ece..7c6a960b 100644 --- a/lib/middlewares/onboarding_middleware.dart +++ b/lib/middlewares/onboarding_middleware.dart @@ -13,15 +13,25 @@ import 'package:ribn/platform/platform.dart'; import 'package:ribn/repositories/onboarding_repository.dart'; import 'package:ribn/utils.dart'; -List> createOnboardingMiddleware(OnboardingRespository onboardingRespository) { +List> createOnboardingMiddleware( + OnboardingRespository onboardingRespository, +) { return >[ - TypedMiddleware(_generateMnemonic(onboardingRespository)), - TypedMiddleware(_createPassword(onboardingRespository)), + TypedMiddleware( + _generateMnemonic(onboardingRespository), + ), + TypedMiddleware( + _createPassword(onboardingRespository), + ), ]; } /// Generates mnemonic for the user and redirects to [Routes.onboardingSteps] -void Function(Store store, GenerateMnemonicAction action, NextDispatcher next) _generateMnemonic( +void Function( + Store store, + GenerateMnemonicAction action, + NextDispatcher next, +) _generateMnemonic( OnboardingRespository onboardingRespository, ) { return (store, action, next) async { @@ -35,12 +45,17 @@ void Function(Store store, GenerateMnemonicAction action, NextDispatch } /// Generates a [KeyStore] with the provided password and initializes the HdWallet -void Function(Store store, CreatePasswordAction action, NextDispatcher next) _createPassword( +void Function( + Store store, + CreatePasswordAction action, + NextDispatcher next, +) _createPassword( OnboardingRespository onboardingRespository, ) { return (store, action, next) async { try { - final AppViews currAppView = await PlatformUtils.instance.getCurrentAppView(); + final AppViews currAppView = + await PlatformUtils.instance.getCurrentAppView(); // create isolate/worker to avoid hanging the UI final Map results = jsonDecode( await PlatformWorkerRunner.instance.runWorker( @@ -54,10 +69,12 @@ void Function(Store store, CreatePasswordAction action, NextDispatcher }, ), ); - final Uint8List toplExtendedPrvKeyUint8List = uint8ListFromDynamic(results['toplExtendedPrvKeyUint8List']); + final Uint8List toplExtendedPrvKeyUint8List = + uint8ListFromDynamic(results['toplExtendedPrvKeyUint8List']); // if extension: key is temporarily stored in `chrome.storage.session` & session alarm created // if mobile: key is persisted securely in secure storage - if (currAppView == AppViews.extension || currAppView == AppViews.extensionTab) { + if (currAppView == AppViews.extension || + currAppView == AppViews.extensionTab) { await PlatformLocalStorage.instance.saveKeyInSessionStorage( Base58Encoder.instance.encode(toplExtendedPrvKeyUint8List), ); diff --git a/lib/middlewares/restore_wallet_middleware.dart b/lib/middlewares/restore_wallet_middleware.dart index 9e1ccd17..efed12ad 100644 --- a/lib/middlewares/restore_wallet_middleware.dart +++ b/lib/middlewares/restore_wallet_middleware.dart @@ -17,8 +17,12 @@ List> createRestorewalletMiddleware( LoginRepository loginRepo, ) { return >[ - TypedMiddleware(_restoreWalletWithMnemonic(onboardingRepo)), - TypedMiddleware(_restoreWalletWithToplKey(loginRepo)), + TypedMiddleware( + _restoreWalletWithMnemonic(onboardingRepo), + ), + TypedMiddleware( + _restoreWalletWithToplKey(loginRepo), + ), ]; } @@ -26,11 +30,15 @@ List> createRestorewalletMiddleware( /// /// Uses the [action.mnemonic] and [action.password] to generate a keystore. /// Dispatches [SuccessfullyRestoredWalletAction] if successfully generated keystore, otherwise [FailedToRestoreWalletAction]. -void Function(Store store, RestoreWalletWithMnemonicAction action, NextDispatcher next) - _restoreWalletWithMnemonic(OnboardingRespository onboardingRepo) { +void Function( + Store store, + RestoreWalletWithMnemonicAction action, + NextDispatcher next, +) _restoreWalletWithMnemonic(OnboardingRespository onboardingRepo) { return (store, action, next) async { try { - final AppViews currAppView = await PlatformUtils.instance.getCurrentAppView(); + final AppViews currAppView = + await PlatformUtils.instance.getCurrentAppView(); final Map results = jsonDecode( await PlatformWorkerRunner.instance.runWorker( workerScript: currAppView == AppViews.webDebug @@ -46,7 +54,8 @@ void Function(Store store, RestoreWalletWithMnemonicAction action, Nex next( SuccessfullyRestoredWalletAction( keyStoreJson: results['keyStoreJson'], - toplExtendedPrivateKey: uint8ListFromDynamic(results['toplExtendedPrvKeyUint8List']), + toplExtendedPrivateKey: + uint8ListFromDynamic(results['toplExtendedPrvKeyUint8List']), ), ); } catch (e) { @@ -59,8 +68,11 @@ void Function(Store store, RestoreWalletWithMnemonicAction action, Nex /// /// Attempts to decrypt [action.toplKeyStoreJson] using [action.password]. /// Dispatches [SuccessfullyRestoredWalletAction] upon success, otherwise [FailedToRestoreWalletAction]. -void Function(Store store, RestoreWalletWithToplKeyAction action, NextDispatcher next) - _restoreWalletWithToplKey(LoginRepository loginRepo) { +void Function( + Store store, + RestoreWalletWithToplKeyAction action, + NextDispatcher next, +) _restoreWalletWithToplKey(LoginRepository loginRepo) { return (store, action, next) async { try { final Uint8List toplExtendedPrvKeyUint8List = loginRepo.decryptKeyStore({ diff --git a/lib/middlewares/transaction_middleware.dart b/lib/middlewares/transaction_middleware.dart index 46824963..bee891d9 100644 --- a/lib/middlewares/transaction_middleware.dart +++ b/lib/middlewares/transaction_middleware.dart @@ -20,10 +20,16 @@ List> createTransactionMiddleware( KeychainRepository keychainRepo, ) { return >[ - TypedMiddleware(_initiateTx(transactionRepo, keychainRepo)), + TypedMiddleware( + _initiateTx(transactionRepo, keychainRepo), + ), TypedMiddleware(_createRawTx(transactionRepo)), - TypedMiddleware(_signAndBroadcastTx(transactionRepo, keychainRepo)), - TypedMiddleware(_signExternalTx(transactionRepo, keychainRepo)), + TypedMiddleware( + _signAndBroadcastTx(transactionRepo, keychainRepo), + ), + TypedMiddleware( + _signExternalTx(transactionRepo, keychainRepo), + ), ]; } @@ -31,14 +37,19 @@ List> createTransactionMiddleware( /// /// Updates the [TransferDetails] with some defaults like the sender, change, and consolidation addresses, as well as /// the current network, before dispatching [CreateRawTxAction]. -void Function(Store store, InitiateTxAction action, NextDispatcher next) _initiateTx( +void Function( + Store store, + InitiateTxAction action, + NextDispatcher next, +) _initiateTx( TransactionRepository transactionRepo, KeychainRepository keychainRepo, ) { return (store, action, next) async { try { /// The sender defaults to the first address in the list of locally stored addresses - final RibnAddress sender = store.state.keychainState.currentNetwork.addresses.first; + final RibnAddress sender = + store.state.keychainState.currentNetwork.addresses.first; final RibnNetwork currNetwork = store.state.keychainState.currentNetwork; final TransferDetails transferDetails = action.transferDetails.copyWith( senders: [sender], @@ -56,7 +67,11 @@ void Function(Store store, InitiateTxAction action, NextDispatcher nex /// Creates the rawTx and navigates to the [Routes.txReview] page. /// /// Also dispatches [ToggleLoadingRawTxAction] to stop the loading indicator. -void Function(Store store, CreateRawTxAction action, NextDispatcher next) _createRawTx( +void Function( + Store store, + CreateRawTxAction action, + NextDispatcher next, +) _createRawTx( TransactionRepository transactionRepo, ) { return (store, action, next) async { @@ -65,7 +80,8 @@ void Function(Store store, CreateRawTxAction action, NextDispatcher ne store.state.keychainState.currentNetwork.client!, action.transferDetails, ); - final TransactionReceipt transactionReceipt = result['rawTx'] as TransactionReceipt; + final TransactionReceipt transactionReceipt = + result['rawTx'] as TransactionReceipt; final Uint8List messageToSign = result['messageToSign'] as Uint8List; final TransferDetails transferDetails = action.transferDetails.copyWith( transactionReceipt: transactionReceipt, @@ -82,7 +98,11 @@ void Function(Store store, CreateRawTxAction action, NextDispatcher ne /// /// Signs and broadcasts the transactions, updates the [TransferDetails] with the txId, /// and navigates to the confirmation page. -void Function(Store store, SignAndBroadcastTxAction action, NextDispatcher next) _signAndBroadcastTx( +void Function( + Store store, + SignAndBroadcastTxAction action, + NextDispatcher next, +) _signAndBroadcastTx( TransactionRepository transactionRepo, KeychainRepository keychainRepo, ) { @@ -98,7 +118,8 @@ void Function(Store store, SignAndBroadcastTxAction action, NextDispat action.transferDetails.transactionReceipt!, action.transferDetails.messageToSign!, ); - final TransferDetails transferDetails = action.transferDetails.copyWith(transactionId: transactionId); + final TransferDetails transferDetails = + action.transferDetails.copyWith(transactionId: transactionId); /// Update the locally stored asset details if minting a new asset if (transferDetails.transferType == TransferType.mintingAsset) { @@ -118,26 +139,36 @@ void Function(Store store, SignAndBroadcastTxAction action, NextDispat }; } -void Function(Store store, SignExternalTxAction action, NextDispatcher next) _signExternalTx( +void Function( + Store store, + SignExternalTxAction action, + NextDispatcher next, +) _signExternalTx( TransactionRepository transactionRepo, KeychainRepository keychainRepo, ) { return (store, action, next) async { try { - final Map transferDetails = {}; - transferDetails['messageToSign'] = - Base58Data.validated(action.pendingRequest.data!['messageToSign'] as String).value; + transferDetails['messageToSign'] = Base58Data.validated( + action.pendingRequest.data!['messageToSign'] as String, + ).value; - final TransactionReceipt transactionReceipt = TransactionReceipt.fromJson(action.pendingRequest.data!['rawTx']); + final TransactionReceipt transactionReceipt = + TransactionReceipt.fromJson(action.pendingRequest.data!['rawTx']); transferDetails['rawTx'] = transactionReceipt; - final List rawTxSenders = transactionReceipt.from!.map((e) => e.senderAddress.toBase58()).toList(); + final List rawTxSenders = transactionReceipt.from! + .map((e) => e.senderAddress.toBase58()) + .toList(); - final List sendersInWallet = List.from(store.state.keychainState.currentNetwork.addresses) - ..retainWhere((addr) => rawTxSenders.contains(addr.toplAddress.toBase58())); + final List sendersInWallet = + List.from(store.state.keychainState.currentNetwork.addresses) + ..retainWhere( + (addr) => rawTxSenders.contains(addr.toplAddress.toBase58()), + ); if (sendersInWallet.isEmpty) { final InternalMessage response = InternalMessage( @@ -149,7 +180,6 @@ void Function(Store store, SignExternalTxAction action, NextDispatcher origin: action.pendingRequest.origin, ); next(SendInternalMsgAction(response)); - } else { final List credentials = keychainRepo.getCredentials( store.state.keychainState.hdWallet!, diff --git a/lib/models/app_state.dart b/lib/models/app_state.dart index 228b2764..654e9fde 100644 --- a/lib/models/app_state.dart +++ b/lib/models/app_state.dart @@ -123,7 +123,8 @@ class AppState { String toJson() => json.encode(toMap()); - factory AppState.fromJson(String source) => AppState.fromMap(json.decode(source)); + factory AppState.fromJson(String source) => + AppState.fromMap(json.decode(source)); @override String toString() { diff --git a/lib/models/asset_details.dart b/lib/models/asset_details.dart index 396245d2..920d5768 100644 --- a/lib/models/asset_details.dart +++ b/lib/models/asset_details.dart @@ -47,16 +47,21 @@ class AssetDetails { String toJson() => json.encode(toMap()); - factory AssetDetails.fromJson(String source) => AssetDetails.fromMap(json.decode(source)); + factory AssetDetails.fromJson(String source) => + AssetDetails.fromMap(json.decode(source)); @override - String toString() => 'AssetDetails(longName: $longName, icon: $icon, unit: $unit)'; + String toString() => + 'AssetDetails(longName: $longName, icon: $icon, unit: $unit)'; @override bool operator ==(Object other) { if (identical(this, other)) return true; - return other is AssetDetails && other.longName == longName && other.icon == icon && other.unit == unit; + return other is AssetDetails && + other.longName == longName && + other.icon == icon && + other.unit == unit; } @override diff --git a/lib/models/internal_message.dart b/lib/models/internal_message.dart index 14b738d3..c60ed1cb 100644 --- a/lib/models/internal_message.dart +++ b/lib/models/internal_message.dart @@ -52,7 +52,9 @@ class InternalMessage { factory InternalMessage.fromMap(Map map) { return InternalMessage( method: map['method'] as String, - data: map['data'] != null ? Map.from(map['data'] as Map) : null, + data: map['data'] != null + ? Map.from(map['data'] as Map) + : null, target: map['target'] as String, sender: map['sender'] as String, id: map['id'] as String, @@ -85,7 +87,12 @@ class InternalMessage { @override int get hashCode { - return method.hashCode ^ data.hashCode ^ target.hashCode ^ sender.hashCode ^ id.hashCode ^ origin.hashCode; + return method.hashCode ^ + data.hashCode ^ + target.hashCode ^ + sender.hashCode ^ + id.hashCode ^ + origin.hashCode; } } diff --git a/lib/models/keychain_state.dart b/lib/models/keychain_state.dart index 1e52556d..65714d0e 100644 --- a/lib/models/keychain_state.dart +++ b/lib/models/keychain_state.dart @@ -55,7 +55,8 @@ class KeychainState { return { 'keyStoreJson': keyStoreJson, 'currentNetworkName': currentNetworkName, - 'networks': networks.map((String key, RibnNetwork value) => MapEntry(key, value.toMap())), + 'networks': networks + .map((String key, RibnNetwork value) => MapEntry(key, value.toMap())), }; } @@ -84,7 +85,8 @@ class KeychainState { String toJson() => json.encode(toMap()); - factory KeychainState.fromJson(String source) => KeychainState.fromMap(json.decode(source)); + factory KeychainState.fromJson(String source) => + KeychainState.fromMap(json.decode(source)); @override String toString() { @@ -104,7 +106,10 @@ class KeychainState { @override int get hashCode { - return keyStoreJson.hashCode ^ hdWallet.hashCode ^ networks.hashCode ^ currentNetworkName.hashCode; + return keyStoreJson.hashCode ^ + hdWallet.hashCode ^ + networks.hashCode ^ + currentNetworkName.hashCode; } KeychainState copyWith({ diff --git a/lib/models/login_state.dart b/lib/models/login_state.dart index dd73ac60..b57b4c86 100644 --- a/lib/models/login_state.dart +++ b/lib/models/login_state.dart @@ -40,16 +40,20 @@ class LoginState { String toJson() => json.encode(toMap()); - factory LoginState.fromJson(String source) => LoginState.fromMap(json.decode(source)); + factory LoginState.fromJson(String source) => + LoginState.fromMap(json.decode(source)); @override - String toString() => 'LoginState(isLoggedIn: $isLoggedIn, lastLogin: $lastLogin)'; + String toString() => + 'LoginState(isLoggedIn: $isLoggedIn, lastLogin: $lastLogin)'; @override bool operator ==(Object other) { if (identical(this, other)) return true; - return other is LoginState && other.isLoggedIn == isLoggedIn && other.lastLogin == lastLogin; + return other is LoginState && + other.isLoggedIn == isLoggedIn && + other.lastLogin == lastLogin; } @override diff --git a/lib/models/onboarding_state.dart b/lib/models/onboarding_state.dart index 24ad7bb6..616c2b04 100644 --- a/lib/models/onboarding_state.dart +++ b/lib/models/onboarding_state.dart @@ -70,5 +70,8 @@ class OnboardingState { } @override - int get hashCode => mnemonic.hashCode ^ shuffledMnemonic.hashCode ^ userSelectedIndices.hashCode; + int get hashCode => + mnemonic.hashCode ^ + shuffledMnemonic.hashCode ^ + userSelectedIndices.hashCode; } diff --git a/lib/models/raw_tx.dart b/lib/models/raw_tx.dart index 99f1df32..ec522b81 100644 --- a/lib/models/raw_tx.dart +++ b/lib/models/raw_tx.dart @@ -44,13 +44,15 @@ class RawTx { List.from(json['newBoxes'].map((x) => NewBox.fromJson(x))), data: json['data'], from: List>.from( - json['from'].map((x) => List.from(x.map((x) => x))),), + json['from'].map((x) => List.from(x.map((x) => x))), + ), minting: json['minting'], txId: json['txId'], boxesToRemove: List.from(json['boxesToRemove'].map((x) => x)), fee: json['fee'], to: List>.from( - json['to'].map((x) => List.from(x.map((x) => x))),), + json['to'].map((x) => List.from(x.map((x) => x))), + ), propositionType: json['propositionType'], messageToSign: json['messageToSign'], ); @@ -61,13 +63,15 @@ class RawTx { 'newBoxes': List.from(newBoxes.map((x) => x.toJson())), 'data': data, 'from': List.from( - from.map((x) => List.from(x.map((x) => x))),), + from.map((x) => List.from(x.map((x) => x))), + ), 'minting': minting, 'txId': txId, 'boxesToRemove': List.from(boxesToRemove.map((x) => x)), 'fee': fee, 'to': List.from( - to.map((x) => List.from(x.map((x) => x))),), + to.map((x) => List.from(x.map((x) => x))), + ), 'propositionType': propositionType, 'messageToSign': messageToSign, }; @@ -125,8 +129,7 @@ class Value { quantity: json['quantity'], assetCode: json['assetCode'], metadata: json['metadata'], - securityRoot: - json['securityRoot'], + securityRoot: json['securityRoot'], ); Map toJson() => { diff --git a/lib/models/ribn_network.dart b/lib/models/ribn_network.dart index 98dc1692..22f54ad2 100644 --- a/lib/models/ribn_network.dart +++ b/lib/models/ribn_network.dart @@ -36,7 +36,10 @@ class RibnNetwork { this.lastCheckedTimestamp = -1, }); - factory RibnNetwork.initial({required int networkId, required String networkName}) { + factory RibnNetwork.initial({ + required int networkId, + required String networkName, + }) { return RibnNetwork( networkName: networkName, networkId: networkId, @@ -71,11 +74,16 @@ class RibnNetwork { } int getNextExternalAddressIndex() { - return addresses.lastIndexWhere((addr) => addr.changeIndex == Rules.defaultChangeIndex) + 1; + return addresses.lastIndexWhere( + (addr) => addr.changeIndex == Rules.defaultChangeIndex, + ) + + 1; } int getNextInternalAddressIndex() { - return addresses.lastIndexWhere((addr) => addr.changeIndex == Rules.internalIdx) + 1; + return addresses + .lastIndexWhere((addr) => addr.changeIndex == Rules.internalIdx) + + 1; } /// Returns a list of all the assets owned by [myWalletAddress] @@ -90,7 +98,10 @@ class RibnNetwork { myAssets.update( asset.assetCode.serialize(), (AssetAmount currAsset) { - return AssetAmount(quantity: currAsset.quantity + assetQuantity, assetCode: asset.assetCode); + return AssetAmount( + quantity: currAsset.quantity + assetQuantity, + assetCode: asset.assetCode, + ); }, ifAbsent: () => asset, ); @@ -106,7 +117,11 @@ class RibnNetwork { /// Returns the list of all assets issued/minted by this wallet. List getAssetsIssuedByWallet() { return getAllAssetsInWallet() - .where((AssetAmount asset) => asset.assetCode.issuer.toBase58() == myWalletAddress?.toplAddress.toBase58()) + .where( + (AssetAmount asset) => + asset.assetCode.issuer.toBase58() == + myWalletAddress?.toplAddress.toBase58(), + ) .toList(); } @@ -155,7 +170,8 @@ class RibnNetwork { String toJson() => json.encode(toMap()); - factory RibnNetwork.fromJson(String source) => RibnNetwork.fromMap(json.decode(source)); + factory RibnNetwork.fromJson(String source) => + RibnNetwork.fromMap(json.decode(source)); @override String toString() { diff --git a/lib/models/transfer_details.dart b/lib/models/transfer_details.dart index f8234171..5ae20e81 100644 --- a/lib/models/transfer_details.dart +++ b/lib/models/transfer_details.dart @@ -1,6 +1,3 @@ - -import 'dart:typed_data'; - import 'package:brambldart/brambldart.dart'; import 'package:flutter/foundation.dart'; diff --git a/lib/models/user_details_state.dart b/lib/models/user_details_state.dart index 6897a2ac..5872fc24 100644 --- a/lib/models/user_details_state.dart +++ b/lib/models/user_details_state.dart @@ -37,7 +37,8 @@ class UserDetailsState { Map toMap() { return { - 'assetDetails': assetDetails.map((key, value) => MapEntry(key, value.toMap())), + 'assetDetails': + assetDetails.map((key, value) => MapEntry(key, value.toMap())), 'isBiometricsEnabled': isBiometricsEnabled, }; } @@ -58,16 +59,19 @@ class UserDetailsState { String toJson() => json.encode(toMap()); - factory UserDetailsState.fromJson(String source) => UserDetailsState.fromMap(json.decode(source)); + factory UserDetailsState.fromJson(String source) => + UserDetailsState.fromMap(json.decode(source)); @override - String toString() => 'UserDetailsState(assetDetails: $assetDetails, isBiometricsEnabled: $isBiometricsEnabled)'; + String toString() => + 'UserDetailsState(assetDetails: $assetDetails, isBiometricsEnabled: $isBiometricsEnabled)'; @override bool operator ==(covariant UserDetailsState other) { if (identical(this, other)) return true; - return mapEquals(other.assetDetails, assetDetails) && other.isBiometricsEnabled == isBiometricsEnabled; + return mapEquals(other.assetDetails, assetDetails) && + other.isBiometricsEnabled == isBiometricsEnabled; } @override diff --git a/lib/platform/interfaces.dart b/lib/platform/interfaces.dart index 2bb92310..cec42497 100644 --- a/lib/platform/interfaces.dart +++ b/lib/platform/interfaces.dart @@ -42,7 +42,6 @@ abstract class IWallet { String getAddress(); } - abstract class IMessenger { /// Send [msg] to the background script. void sendMsg(String msg); @@ -68,7 +67,6 @@ abstract class IPlatformLocalStorage { /// [key] should be the Base58Encoded Topl Main Key. Future saveKeyInSessionStorage(String key); - /// Mobile-only /// /// Save [key] in seucre storage for future retrievals. diff --git a/lib/platform/mobile/storage.dart b/lib/platform/mobile/storage.dart index 2cc3e580..48508e35 100644 --- a/lib/platform/mobile/storage.dart +++ b/lib/platform/mobile/storage.dart @@ -21,13 +21,17 @@ class PlatformLocalStorage implements IPlatformLocalStorage { @override Future getState() async { - final File file = File('${(await getApplicationDocumentsDirectory()).path}/app_state.json'); + final File file = File( + '${(await getApplicationDocumentsDirectory()).path}/app_state.json', + ); return await file.readAsString(); } @override Future saveState(String data) async { - final file = File('${(await getApplicationDocumentsDirectory()).path}/app_state.json'); + final file = File( + '${(await getApplicationDocumentsDirectory()).path}/app_state.json', + ); await file.writeAsString(data, flush: true); } @@ -75,5 +79,6 @@ class PlatformLocalStorage implements IPlatformLocalStorage { /// Web-only @override - Future saveKeyInSessionStorage(String key) => throw UnimplementedError(); + Future saveKeyInSessionStorage(String key) => + throw UnimplementedError(); } diff --git a/lib/platform/mobile/utils.dart b/lib/platform/mobile/utils.dart index ff621d06..7acfa507 100644 --- a/lib/platform/mobile/utils.dart +++ b/lib/platform/mobile/utils.dart @@ -50,6 +50,7 @@ class PlatformUtils implements IPlatformUtils { Future getDAppList() { throw UnimplementedError(); } + @override Future consoleLog(dynamic item) { throw UnimplementedError(); @@ -59,5 +60,4 @@ class PlatformUtils implements IPlatformUtils { Future convertToFuture(Object jsPromise) { throw UnimplementedError(); } - } diff --git a/lib/platform/mobile/worker_runner.dart b/lib/platform/mobile/worker_runner.dart index 8eec1d6d..4ad137b6 100644 --- a/lib/platform/mobile/worker_runner.dart +++ b/lib/platform/mobile/worker_runner.dart @@ -19,7 +19,9 @@ class PlatformWorkerRunner implements IPlatformWorkerRunner { final String? workerScript, Map params = const {}, }) async { - if (function == null) throw Exception('Dart isolate requires `function` to not be null'); + if (function == null) { + throw Exception('Dart isolate requires `function` to not be null'); + } if (Keys.isTestingEnvironment) return jsonEncode(function(params)); try { return jsonEncode(await compute(function, params)); diff --git a/lib/platform/web/genus_config.dart b/lib/platform/web/genus_config.dart index c46f81a7..8320f768 100644 --- a/lib/platform/web/genus_config.dart +++ b/lib/platform/web/genus_config.dart @@ -1,5 +1,6 @@ import 'package:grpc/grpc_web.dart'; class PlatformGenusConfig { - static GrpcWebClientChannel channel = GrpcWebClientChannel.xhr(Uri.parse('http://35.226.176.100:8099')); + static GrpcWebClientChannel channel = + GrpcWebClientChannel.xhr(Uri.parse('http://35.226.176.100:8099')); } diff --git a/lib/platform/web/messenger.dart b/lib/platform/web/messenger.dart index 57c57367..71b8beba 100644 --- a/lib/platform/web/messenger.dart +++ b/lib/platform/web/messenger.dart @@ -22,7 +22,8 @@ class Messenger implements IMessenger { void connect() => openConnection(); @override - void initMsgListener(Function msgHandler) => addPortMessageListener(allowInterop(msgHandler)); + void initMsgListener(Function msgHandler) => + addPortMessageListener(allowInterop(msgHandler)); @override void sendMsg(String msg) => sendPortMessage(msg); diff --git a/lib/platform/web/platform_web.dart b/lib/platform/web/platform_web.dart index ee1bdfce..17eef76b 100644 --- a/lib/platform/web/platform_web.dart +++ b/lib/platform/web/platform_web.dart @@ -3,4 +3,4 @@ export 'package:ribn/platform/web/messenger.dart'; export 'package:ribn/platform/web/storage.dart'; export 'package:ribn/platform/web/utils.dart'; export 'package:ribn/platform/web/wallet.dart'; -export 'package:ribn/platform/web/worker_runner.dart'; \ No newline at end of file +export 'package:ribn/platform/web/worker_runner.dart'; diff --git a/lib/platform/web/wallet.dart b/lib/platform/web/wallet.dart index 825901e6..024fb30a 100644 --- a/lib/platform/web/wallet.dart +++ b/lib/platform/web/wallet.dart @@ -20,14 +20,12 @@ external String getBalance(void Function() f); @JS() external String getAddress(void Function() f); - void initialize() { getWalletBalance = allowInterop(_getBalance); getWalletAddress = allowInterop(_getAddress); // JavaScript code may now call `functionName()` or `window.functionName()`. } - String _getBalance() => StoreProvider.of(Keys.navigatorKey.currentContext!) .state @@ -45,4 +43,3 @@ String _getAddress() => .first .toplAddress .toBase58(); - diff --git a/lib/platform/web/worker_runner.dart b/lib/platform/web/worker_runner.dart index 803e04fe..35dbcfc1 100644 --- a/lib/platform/web/worker_runner.dart +++ b/lib/platform/web/worker_runner.dart @@ -22,7 +22,9 @@ class PlatformWorkerRunner implements IPlatformWorkerRunner { final String? workerScript, Map params = const {}, }) { - if (workerScript == null) throw Exception('JS worker requires `workerScript` to not be null'); + if (workerScript == null) { + throw Exception('JS worker requires `workerScript` to not be null'); + } final Completer completer = Completer(); try { final Worker worker = Worker(workerScript); diff --git a/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_icon_edit_section.dart b/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_icon_edit_section.dart index 80ac6a80..a0e3f29f 100644 --- a/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_icon_edit_section.dart +++ b/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_icon_edit_section.dart @@ -38,7 +38,14 @@ class _AssetIconEditSectionState extends State { width: 307, decoration: const BoxDecoration( color: RibnColors.whiteBackground, - boxShadow: [BoxShadow(color: Color(0x0f000000), offset: Offset(0, 4), blurRadius: 4, spreadRadius: 0)], + boxShadow: [ + BoxShadow( + color: Color(0x0f000000), + offset: Offset(0, 4), + blurRadius: 4, + spreadRadius: 0, + ) + ], ), child: Column( crossAxisAlignment: CrossAxisAlignment.start, @@ -52,7 +59,8 @@ class _AssetIconEditSectionState extends State { buttonHeight: 33, buttonChild: Text( 'Save', - style: RibnToolkitTextStyles.btnMedium.copyWith(color: Colors.white), + style: RibnToolkitTextStyles.btnMedium + .copyWith(color: Colors.white), ), backgroundColor: RibnColors.primary, onPressed: () { @@ -71,7 +79,8 @@ class _AssetIconEditSectionState extends State { buttonHeight: 33, buttonChild: Text( 'Cancel', - style: RibnToolkitTextStyles.btnMedium.copyWith(color: RibnColors.ghostButtonText), + style: RibnToolkitTextStyles.btnMedium + .copyWith(color: RibnColors.ghostButtonText), ), backgroundColor: Colors.transparent, hoverColor: Colors.transparent, @@ -105,6 +114,13 @@ class _AssetIconEditSectionState extends State { children: UIConstants.assetIconsList .map( (icon) => PortalEntry( + portal: Image.asset( + icon, + width: 31, + ), + portalAnchor: Alignment.bottomCenter, + childAnchor: Alignment.topCenter, + visible: _selectedIcon == icon, child: MaterialButton( padding: EdgeInsets.zero, minWidth: 0, @@ -115,13 +131,6 @@ class _AssetIconEditSectionState extends State { }, child: Image.asset(icon), ), - portal: Image.asset( - icon, - width: 31, - ), - portalAnchor: Alignment.bottomCenter, - childAnchor: Alignment.topCenter, - visible: _selectedIcon == icon, ), ) .toList(), diff --git a/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_long_name_edit_section.dart b/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_long_name_edit_section.dart index 6058d497..15cb9e16 100644 --- a/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_long_name_edit_section.dart +++ b/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_long_name_edit_section.dart @@ -27,7 +27,8 @@ class AssetLongNameEditSection extends StatefulWidget { }) : super(key: key); @override - _AssetLongNameEditSectionState createState() => _AssetLongNameEditSectionState(); + _AssetLongNameEditSectionState createState() => + _AssetLongNameEditSectionState(); } class _AssetLongNameEditSectionState extends State { @@ -53,7 +54,14 @@ class _AssetLongNameEditSectionState extends State { width: 307, decoration: const BoxDecoration( color: RibnColors.whiteBackground, - boxShadow: [BoxShadow(color: Color(0x0f000000), offset: Offset(0, 4), blurRadius: 4, spreadRadius: 0)], + boxShadow: [ + BoxShadow( + color: Color(0x0f000000), + offset: Offset(0, 4), + blurRadius: 4, + spreadRadius: 0, + ) + ], ), child: Column( crossAxisAlignment: CrossAxisAlignment.start, @@ -67,7 +75,8 @@ class _AssetLongNameEditSectionState extends State { buttonHeight: 33, buttonChild: Text( 'Save', - style: RibnToolkitTextStyles.btnMedium.copyWith(color: Colors.white), + style: RibnToolkitTextStyles.btnMedium + .copyWith(color: Colors.white), ), backgroundColor: RibnColors.primary, onPressed: () { @@ -86,7 +95,8 @@ class _AssetLongNameEditSectionState extends State { buttonHeight: 33, buttonChild: Text( 'Cancel', - style: RibnToolkitTextStyles.btnMedium.copyWith(color: RibnColors.ghostButtonText), + style: RibnToolkitTextStyles.btnMedium + .copyWith(color: RibnColors.ghostButtonText), ), backgroundColor: Colors.transparent, hoverColor: Colors.transparent, diff --git a/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_unit_edit_section.dart b/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_unit_edit_section.dart index e3b9f313..1ce3fd43 100644 --- a/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_unit_edit_section.dart +++ b/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_unit_edit_section.dart @@ -48,7 +48,14 @@ class _AssetUnitEditSectionState extends State { width: 307, decoration: const BoxDecoration( color: RibnColors.whiteBackground, - boxShadow: [BoxShadow(color: Color(0x0f000000), offset: Offset(0, 4), blurRadius: 4, spreadRadius: 0)], + boxShadow: [ + BoxShadow( + color: Color(0x0f000000), + offset: Offset(0, 4), + blurRadius: 4, + spreadRadius: 0, + ) + ], ), child: Column( crossAxisAlignment: CrossAxisAlignment.start, @@ -83,7 +90,8 @@ class _AssetUnitEditSectionState extends State { buttonHeight: 33, buttonChild: Text( 'Save', - style: RibnToolkitTextStyles.btnMedium.copyWith(color: Colors.white), + style: RibnToolkitTextStyles.btnMedium + .copyWith(color: Colors.white), ), backgroundColor: RibnColors.primary, onPressed: () { @@ -102,7 +110,8 @@ class _AssetUnitEditSectionState extends State { buttonHeight: 33, buttonChild: Text( 'Cancel', - style: RibnToolkitTextStyles.btnMedium.copyWith(color: RibnColors.ghostButtonText), + style: RibnToolkitTextStyles.btnMedium + .copyWith(color: RibnColors.ghostButtonText), ), backgroundColor: Colors.transparent, hoverColor: Colors.transparent, diff --git a/lib/presentation/asset_details/asset_detail_items/asset_icon_details.dart b/lib/presentation/asset_details/asset_detail_items/asset_icon_details.dart index cd52c75b..8e7971e4 100644 --- a/lib/presentation/asset_details/asset_detail_items/asset_icon_details.dart +++ b/lib/presentation/asset_details/asset_detail_items/asset_icon_details.dart @@ -40,7 +40,8 @@ class AssetIconDetails extends StatelessWidget { : HoverIconButton( buttonText: Text( 'Edit', - style: RibnToolkitTextStyles.dropdownButtonStyle.copyWith(color: RibnColors.primary), + style: RibnToolkitTextStyles.dropdownButtonStyle + .copyWith(color: RibnColors.primary), ), buttonIcon: Image.asset(RibnAssets.editIcon), onPressed: onEditPressed, diff --git a/lib/presentation/asset_details/asset_detail_items/asset_long_name_details.dart b/lib/presentation/asset_details/asset_detail_items/asset_long_name_details.dart index 182809f7..eb7d4c1b 100644 --- a/lib/presentation/asset_details/asset_detail_items/asset_long_name_details.dart +++ b/lib/presentation/asset_details/asset_detail_items/asset_long_name_details.dart @@ -43,7 +43,8 @@ class AssetLongNameDetails extends StatelessWidget { : HoverIconButton( buttonText: Text( 'Edit', - style: RibnToolkitTextStyles.dropdownButtonStyle.copyWith(color: RibnColors.primary), + style: RibnToolkitTextStyles.dropdownButtonStyle + .copyWith(color: RibnColors.primary), ), buttonIcon: Image.asset(RibnAssets.editIcon), onPressed: onEditPressed, @@ -51,7 +52,10 @@ class AssetLongNameDetails extends StatelessWidget { ], ), const SizedBox(height: 3), - Text(currLongName ?? 'Undefined', style: RibnToolkitTextStyles.smallBody), + Text( + currLongName ?? 'Undefined', + style: RibnToolkitTextStyles.smallBody, + ), ], ); } diff --git a/lib/presentation/asset_details/asset_detail_items/asset_unit_details.dart b/lib/presentation/asset_details/asset_detail_items/asset_unit_details.dart index 05c4b223..e68ae217 100644 --- a/lib/presentation/asset_details/asset_detail_items/asset_unit_details.dart +++ b/lib/presentation/asset_details/asset_detail_items/asset_unit_details.dart @@ -39,7 +39,8 @@ class AssetUnitDetails extends StatelessWidget { : HoverIconButton( buttonText: Text( 'Edit', - style: RibnToolkitTextStyles.dropdownButtonStyle.copyWith(color: RibnColors.primary), + style: RibnToolkitTextStyles.dropdownButtonStyle + .copyWith(color: RibnColors.primary), ), buttonIcon: Image.asset(RibnAssets.editIcon), onPressed: onEditPressed, diff --git a/lib/presentation/asset_details/asset_details_page.dart b/lib/presentation/asset_details/asset_details_page.dart index 7f6d40fd..14935c6e 100644 --- a/lib/presentation/asset_details/asset_details_page.dart +++ b/lib/presentation/asset_details/asset_details_page.dart @@ -64,7 +64,8 @@ class _AssetDetailsPageState extends State with RouteAware { /// /// When the user wants to edit an item on the page, [editSectionOverlay] is assigned the appropriate widget and displayed /// on the page. See [_buildEditSectionOverlay]. - OverlayEntry editSectionOverlay = OverlayEntry(builder: (context) => const SizedBox()); + OverlayEntry editSectionOverlay = + OverlayEntry(builder: (context) => const SizedBox()); /// True if the asset unit section is being edited. bool editingAssetUnit = false; @@ -100,7 +101,8 @@ class _AssetDetailsPageState extends State with RouteAware { Widget build(BuildContext context) { return StoreConnector( // Get access to AssetDetails for this asset from the store - converter: (store) => store.state.userDetailsState.assetDetails[widget.assetCode], + converter: (store) => + store.state.userDetailsState.assetDetails[widget.assetCode], builder: (context, assetDetails) { return Listener( onPointerDown: (_) { @@ -118,10 +120,14 @@ class _AssetDetailsPageState extends State with RouteAware { ), const SizedBox(height: 40), Container( - padding: const EdgeInsets.symmetric(horizontal: 20, vertical: 10), + padding: const EdgeInsets.symmetric( + horizontal: 20, + vertical: 10, + ), width: 309, decoration: BoxDecoration( - borderRadius: const BorderRadius.all(Radius.circular(11.6)), + borderRadius: + const BorderRadius.all(Radius.circular(11.6)), color: RibnColors.whiteBackground, border: Border.all(color: RibnColors.lightGrey, width: 1), boxShadow: const [ @@ -148,7 +154,10 @@ class _AssetDetailsPageState extends State with RouteAware { key: assetUnitKey, currUnit: assetDetails?.unit, editingSectionOpened: editingAssetUnit, - onEditPressed: () => _onEditPressed(key: assetUnitKey, assetDetails: assetDetails), + onEditPressed: () => _onEditPressed( + key: assetUnitKey, + assetDetails: assetDetails, + ), ), _buildDivider(), // asset long name display - can be edited @@ -156,7 +165,10 @@ class _AssetDetailsPageState extends State with RouteAware { key: assetLongNameKey, currLongName: assetDetails?.longName, editingSectionOpened: editingAssetLongName, - onEditPressed: () => _onEditPressed(key: assetLongNameKey, assetDetails: assetDetails), + onEditPressed: () => _onEditPressed( + key: assetLongNameKey, + assetDetails: assetDetails, + ), ), _buildDivider(), // asset icon display - can be edited @@ -164,11 +176,16 @@ class _AssetDetailsPageState extends State with RouteAware { key: assetIconKey, currIcon: assetDetails?.icon, editingSectionOpened: editingAssetIcon, - onEditPressed: () => _onEditPressed(key: assetIconKey, assetDetails: assetDetails), + onEditPressed: () => _onEditPressed( + key: assetIconKey, + assetDetails: assetDetails, + ), ), _buildDivider(), // asset issuer address display - IssuerAddressDetails(issuerAddress: widget.issuerAddress), + IssuerAddressDetails( + issuerAddress: widget.issuerAddress, + ), _buildDivider(), // asset code display AssetCodeDetails(assetCode: widget.assetCode), @@ -192,7 +209,8 @@ class _AssetDetailsPageState extends State with RouteAware { required GlobalKey key, required Widget editSection, }) async { - final RenderBox renderbox = key.currentContext!.findRenderObject() as RenderBox; + final RenderBox renderbox = + key.currentContext!.findRenderObject() as RenderBox; final Offset offset = renderbox.localToGlobal(Offset.zero); resetOverlays(); editSectionOverlay = OverlayEntry( diff --git a/lib/presentation/authorize_and_sign/input_dropdown_wrapper.dart b/lib/presentation/authorize_and_sign/input_dropdown_wrapper.dart index 6e9515f1..b5371763 100644 --- a/lib/presentation/authorize_and_sign/input_dropdown_wrapper.dart +++ b/lib/presentation/authorize_and_sign/input_dropdown_wrapper.dart @@ -5,7 +5,8 @@ import 'package:ribn_toolkit/widgets/molecules/input_dropdown.dart'; // import 'package:ribn_toolkit/widgets/organisms/ribn_app_bar.dart'; /// Builds a wrapper around the AppBar from ToplToolkit to provide ViewModel & AppBarContainer -class InputDropdownWrapper extends StatefulWidget implements PreferredSizeWidget { +class InputDropdownWrapper extends StatefulWidget + implements PreferredSizeWidget { const InputDropdownWrapper({ Key? key, }) : preferredSize = const Size.fromHeight(40), diff --git a/lib/presentation/authorize_and_sign/loading_dapp.dart b/lib/presentation/authorize_and_sign/loading_dapp.dart index b34671ae..38b74fe9 100644 --- a/lib/presentation/authorize_and_sign/loading_dapp.dart +++ b/lib/presentation/authorize_and_sign/loading_dapp.dart @@ -1,4 +1,3 @@ - import 'dart:async'; import 'package:flutter/material.dart'; @@ -21,8 +20,6 @@ class LoadingDApp extends StatefulWidget { } class _LoadingDAppState extends State { - - @override void initState() { super.initState(); @@ -31,10 +28,8 @@ class _LoadingDAppState extends State { .dispatch(SignExternalTxAction(widget.response)); Navigator.of(context).pop(); }); - } - @override Widget build(BuildContext context) { const String mockFaviconUrl = ''; @@ -128,5 +123,4 @@ class _LoadingDAppState extends State { ), ); } - } diff --git a/lib/presentation/authorize_and_sign/transaction_row_details.dart b/lib/presentation/authorize_and_sign/transaction_row_details.dart index 01cb73fe..f48e06ff 100644 --- a/lib/presentation/authorize_and_sign/transaction_row_details.dart +++ b/lib/presentation/authorize_and_sign/transaction_row_details.dart @@ -61,11 +61,16 @@ class TransactionRowDetails extends StatelessWidget { Row( children: [ Image.asset( - isPolyTransfer ? RibnAssets.polyIconCircle : RibnAssets.undefinedIcon, + isPolyTransfer + ? RibnAssets.polyIconCircle + : RibnAssets.undefinedIcon, width: 23, ), const SizedBox(width: 5), - Text(isPolyTransfer ? 'POLY' : 'OTHER ASSET', style: defaultTextStyle), + Text( + isPolyTransfer ? 'POLY' : 'OTHER ASSET', + style: defaultTextStyle, + ), ], ) ], diff --git a/lib/presentation/empty_state_screen.dart b/lib/presentation/empty_state_screen.dart index aad9f08c..36862a9e 100644 --- a/lib/presentation/empty_state_screen.dart +++ b/lib/presentation/empty_state_screen.dart @@ -41,7 +41,13 @@ class EmptyStateScreen extends StatelessWidget { padding: EdgeInsets.zero, decoration: BoxDecoration( color: RibnColors.paleGreen, - boxShadow: [BoxShadow(color: RibnColors.paleGreen.withOpacity(1), blurRadius: 8, spreadRadius: 8)], + boxShadow: [ + BoxShadow( + color: RibnColors.paleGreen.withOpacity(1), + blurRadius: 8, + spreadRadius: 8, + ) + ], ), width: width - 20, height: kIsWeb ? desktopHeight : mobileHeight, diff --git a/lib/presentation/enable_page.dart b/lib/presentation/enable_page.dart index 7b0d9808..a6708309 100644 --- a/lib/presentation/enable_page.dart +++ b/lib/presentation/enable_page.dart @@ -49,10 +49,18 @@ class EnablePage extends StatelessWidget { sender: InternalMessage.defaultSender, data: { 'enabled': accept, - 'walletAddress': StoreProvider.of(context).state.keychainState.currentNetwork.addresses.first.toplAddress.toBase58() + 'walletAddress': StoreProvider.of(context) + .state + .keychainState + .currentNetwork + .addresses + .first + .toplAddress + .toBase58() }, ); } - StoreProvider.of(context).dispatch(SendInternalMsgAction(response)); + StoreProvider.of(context) + .dispatch(SendInternalMsgAction(response)); } } diff --git a/lib/presentation/external_signing_page.dart b/lib/presentation/external_signing_page.dart index bd2f4aaf..c003280e 100644 --- a/lib/presentation/external_signing_page.dart +++ b/lib/presentation/external_signing_page.dart @@ -36,7 +36,8 @@ class _ExternalSigningPageState extends State { color: Colors.blue, child: const Text(Strings.sign), onPressed: () { - StoreProvider.of(context).dispatch(SignExternalTxAction(widget.request)); + StoreProvider.of(context) + .dispatch(SignExternalTxAction(widget.request)); }, ), ], diff --git a/lib/presentation/home/wallet_balance_page.dart b/lib/presentation/home/wallet_balance_page.dart index 5d6b23d2..55c6f7a8 100644 --- a/lib/presentation/home/wallet_balance_page.dart +++ b/lib/presentation/home/wallet_balance_page.dart @@ -68,39 +68,43 @@ class _WalletBalancePageState extends State { onWillChange: (prevVm, currVm) { // refresh balances on network toggle or when new addresses are generated final bool shouldRefresh = currVm.walletExists && - (prevVm?.currentNetwork.networkName != currVm.currentNetwork.networkName || - prevVm?.currentNetwork.lastCheckedTimestamp != currVm.currentNetwork.lastCheckedTimestamp || - prevVm?.currentNetwork.addresses.length != currVm.currentNetwork.addresses.length); + (prevVm?.currentNetwork.networkName != + currVm.currentNetwork.networkName || + prevVm?.currentNetwork.lastCheckedTimestamp != + currVm.currentNetwork.lastCheckedTimestamp || + prevVm?.currentNetwork.addresses.length != + currVm.currentNetwork.addresses.length); if (shouldRefresh) refreshBalances(currVm); }, - builder: (BuildContext context, WalletBalanceViewModel vm) => _failedToFetchBalances - ? Center( - child: ErrorSection( - onTryAgain: () => refreshBalances(vm), - ), - ) - : RefreshIndicator( - backgroundColor: RibnColors.primary, - color: RibnColors.secondaryDark, - onRefresh: () async { - return refreshBalances(vm); - }, - child: SingleChildScrollView( - child: Listener( - onPointerDown: (_) { - if (mounted) setState(() {}); + builder: (BuildContext context, WalletBalanceViewModel vm) => + _failedToFetchBalances + ? Center( + child: ErrorSection( + onTryAgain: () => refreshBalances(vm), + ), + ) + : RefreshIndicator( + backgroundColor: RibnColors.primary, + color: RibnColors.secondaryDark, + onRefresh: () async { + return refreshBalances(vm); }, - child: Column( - children: _fetchingBalances - ? [const WalletBalanceShimmer()] - : [ - _buildPolyContainer(vm), - _buildAssetsListView(vm), - ], + child: SingleChildScrollView( + child: Listener( + onPointerDown: (_) { + if (mounted) setState(() {}); + }, + child: Column( + children: _fetchingBalances + ? [const WalletBalanceShimmer()] + : [ + _buildPolyContainer(vm), + _buildAssetsListView(vm), + ], + ), + ), ), ), - ), - ), ); } @@ -123,7 +127,9 @@ class _WalletBalancePageState extends State { style: RibnToolkitTextStyles.toolTipTextStyle, children: [ TextSpan( - text: hasPolys ? Strings.refillCurrentPolyBalance : Strings.refillEmptyPolyBalance, + text: hasPolys + ? Strings.refillCurrentPolyBalance + : Strings.refillEmptyPolyBalance, ), WidgetSpan( child: GestureDetector( @@ -164,7 +170,10 @@ class _WalletBalancePageState extends State { _fetchingBalances ? const CircularProgressIndicator() : _failedToFetchBalances - ? const Text('Network Failure', style: TextStyle(color: Colors.red)) + ? const Text( + 'Network Failure', + style: TextStyle(color: Colors.red), + ) : Row( mainAxisAlignment: MainAxisAlignment.center, children: [ @@ -282,10 +291,13 @@ class _WalletBalancePageState extends State { required Function(AssetAmount) viewAssetDetails, }) { final String assetIcon = assetDetails?.icon ?? RibnAssets.undefinedIcon; - final String assetUnit = assetDetails?.unit != null ? formatAssetUnit(assetDetails!.unit) : 'Unit'; + final String assetUnit = assetDetails?.unit != null + ? formatAssetUnit(assetDetails!.unit) + : 'Unit'; final String assetLongName = assetDetails?.longName ?? ''; - final bool isMissingAssetDetails = - assetIcon == RibnAssets.undefinedIcon || assetUnit == 'Unit' || assetLongName.isEmpty; + final bool isMissingAssetDetails = assetIcon == RibnAssets.undefinedIcon || + assetUnit == 'Unit' || + assetLongName.isEmpty; return AssetCard( onCardPress: () => viewAssetDetails(asset), @@ -329,7 +341,10 @@ class _WalletBalancePageState extends State { buttonChild: Row( mainAxisAlignment: MainAxisAlignment.center, children: [ - Text(label, style: RibnToolkitTextStyles.h4.copyWith(color: Colors.white)), + Text( + label, + style: RibnToolkitTextStyles.h4.copyWith(color: Colors.white), + ), ], ), ), diff --git a/lib/presentation/login/login_page.dart b/lib/presentation/login/login_page.dart index a2d7f12e..31548db8 100644 --- a/lib/presentation/login/login_page.dart +++ b/lib/presentation/login/login_page.dart @@ -53,7 +53,8 @@ class _LoginPageState extends State { bool authenticated = false; try { authenticated = await authenticateWithBiometrics(_localAuthentication); - final String toplKey = (await PlatformLocalStorage.instance.getKeyFromSecureStorage())!; + final String toplKey = + (await PlatformLocalStorage.instance.getKeyFromSecureStorage())!; if (authenticated) { StoreProvider.of(context).dispatch( InitializeHDWalletAction( @@ -79,7 +80,10 @@ class _LoginPageState extends State { void _checkBiometrics(LoginViewModel vm) { if (vm.isBiometricsEnabled) { _biometricsLogin().then( - (value) => {if (_authorized) Keys.navigatorKey.currentState?.pushReplacementNamed(Routes.home)}, + (value) => { + if (_authorized) + Keys.navigatorKey.currentState?.pushReplacementNamed(Routes.home) + }, ); } } @@ -120,14 +124,19 @@ class _LoginPageState extends State { containerWidth: adaptWidth(1), waveAmplitude: 30, containerChild: Column( - mainAxisAlignment: kIsWeb ? MainAxisAlignment.start : MainAxisAlignment.spaceAround, + mainAxisAlignment: kIsWeb + ? MainAxisAlignment.start + : MainAxisAlignment.spaceAround, crossAxisAlignment: CrossAxisAlignment.center, children: [ Column( children: [ SizedBox(height: deviceTopPadding()), renderIfWeb(const SizedBox(height: 40)), - Image.asset(RibnAssets.newRibnLogo, width: kIsWeb ? 102 : 138), + Image.asset( + RibnAssets.newRibnLogo, + width: kIsWeb ? 102 : 138, + ), Text( Strings.ribnWallet, style: RibnToolkitTextStyles.h1.copyWith( @@ -166,7 +175,9 @@ class _LoginPageState extends State { ), ], ), - kIsWeb ? const SizedBox(height: 40) : const SizedBox(height: 25), + kIsWeb + ? const SizedBox(height: 40) + : const SizedBox(height: 25), LargeButton( backgroundColor: RibnColors.primary, dropShadowColor: RibnColors.whiteButtonShadow, @@ -272,7 +283,8 @@ class _LoginPageState extends State { children: [ TextSpan( text: Strings.forgotPassword, - recognizer: TapGestureRecognizer()..onTap = () => onButtonPress(), + recognizer: TapGestureRecognizer() + ..onTap = () => onButtonPress(), ) ], ), diff --git a/lib/presentation/onboarding/create_wallet/create_password_page.dart b/lib/presentation/onboarding/create_wallet/create_password_page.dart index c433c28f..12e877d3 100644 --- a/lib/presentation/onboarding/create_wallet/create_password_page.dart +++ b/lib/presentation/onboarding/create_wallet/create_password_page.dart @@ -29,7 +29,8 @@ class _CreatePasswordPageState extends State { final FocusNode _newPasswordFocus = FocusNode(); final FocusNode _confirmPasswordFocus = FocusNode(); final TextEditingController _newPasswordController = TextEditingController(); - final TextEditingController _confirmPasswordController = TextEditingController(); + final TextEditingController _confirmPasswordController = + TextEditingController(); bool _termsOfUseChecked = false; bool _atLeast8Chars = false; bool _passwordsMatch = false; @@ -38,15 +39,20 @@ class _CreatePasswordPageState extends State { void initState() { [_newPasswordFocus, _newPasswordController].toList().forEach((elem) { elem.addListener(() { - if (!_newPasswordFocus.hasPrimaryFocus || _newPasswordController.text.length >= 8) { - _atLeast8Chars = _newPasswordController.text.isNotEmpty && _newPasswordController.text.length >= 8; + if (!_newPasswordFocus.hasPrimaryFocus || + _newPasswordController.text.length >= 8) { + _atLeast8Chars = _newPasswordController.text.isNotEmpty && + _newPasswordController.text.length >= 8; setState(() {}); } }); }); - [_confirmPasswordFocus, _confirmPasswordController].toList().forEach((elem) { + [_confirmPasswordFocus, _confirmPasswordController] + .toList() + .forEach((elem) { elem.addListener(() { - if (!_confirmPasswordFocus.hasPrimaryFocus || _confirmPasswordController.text == _newPasswordController.text) { + if (!_confirmPasswordFocus.hasPrimaryFocus || + _confirmPasswordController.text == _newPasswordController.text) { _passwordsMatch = _confirmPasswordController.text.isNotEmpty && _confirmPasswordController.text == _newPasswordController.text; setState(() {}); @@ -60,7 +66,8 @@ class _CreatePasswordPageState extends State { Widget build(BuildContext context) { return CreatePasswordContainer( onDidChange: (prevVm, newVm) { - if (prevVm?.keyStoreJson != newVm.keyStoreJson && newVm.passwordSuccessfullyCreated) { + if (prevVm?.keyStoreJson != newVm.keyStoreJson && + newVm.passwordSuccessfullyCreated) { context.loaderOverlay.hide(); navigateToRoute(context, Routes.walletInfoChecklist); } @@ -104,7 +111,9 @@ class _CreatePasswordPageState extends State { SizedBox(height: adaptHeight(0.02)), CheckboxWrappableText( wrapText: false, - borderColor: _termsOfUseChecked ? const Color(0xff80FF00) : RibnColors.lightGreyTitle, + borderColor: _termsOfUseChecked + ? const Color(0xff80FF00) + : RibnColors.lightGreyTitle, value: _termsOfUseChecked, onChanged: (bool? checked) { setState(() { @@ -131,7 +140,8 @@ class _CreatePasswordPageState extends State { ), recognizer: TapGestureRecognizer() ..onTap = () async { - final Uri url = Uri.parse(Strings.termsOfUseUrl); + final Uri url = + Uri.parse(Strings.termsOfUseUrl); await launchUrl(url); }, @@ -145,10 +155,14 @@ class _CreatePasswordPageState extends State { ), ), const SizedBox(height: 40), - renderIfMobile(const MobileOnboardingProgressBar(currStep: 2)), + renderIfMobile( + const MobileOnboardingProgressBar(currStep: 2), + ), ConfirmationButton( text: Strings.done, - disabled: !_atLeast8Chars || !_passwordsMatch || !_termsOfUseChecked, + disabled: !_atLeast8Chars || + !_passwordsMatch || + !_termsOfUseChecked, onPressed: () { context.loaderOverlay.show(); vm.attemptCreatePassword(_confirmPasswordController.text); @@ -197,7 +211,9 @@ class _CreatePasswordPageState extends State { Strings.atLeast8Chars, textAlign: TextAlign.left, style: RibnToolkitTextStyles.h3.copyWith( - color: !_atLeast8Chars && _newPasswordController.text.isNotEmpty ? Colors.red : Colors.white, + color: !_atLeast8Chars && _newPasswordController.text.isNotEmpty + ? Colors.red + : Colors.white, ), ), ), @@ -248,7 +264,10 @@ class _CreatePasswordPageState extends State { Strings.passwordsMustMatch, textAlign: TextAlign.left, style: RibnToolkitTextStyles.h3.copyWith( - color: !_passwordsMatch && _confirmPasswordController.text.isNotEmpty ? Colors.red : Colors.white, + color: + !_passwordsMatch && _confirmPasswordController.text.isNotEmpty + ? Colors.red + : Colors.white, ), ), ), diff --git a/lib/presentation/onboarding/create_wallet/enable_biometrics_page.dart b/lib/presentation/onboarding/create_wallet/enable_biometrics_page.dart index 943a86bf..49cea189 100644 --- a/lib/presentation/onboarding/create_wallet/enable_biometrics_page.dart +++ b/lib/presentation/onboarding/create_wallet/enable_biometrics_page.dart @@ -79,8 +79,8 @@ class _EnableBiometricsState extends State { }, ), const TextButton( - child: Text('Go to settings'), onPressed: AppSettings.openSecuritySettings, + child: Text('Go to settings'), ), ], ); @@ -100,7 +100,8 @@ class _EnableBiometricsState extends State { children: [ CustomIconButton( onPressed: () { - Keys.navigatorKey.currentState?.pushNamed(Routes.walletCreated); + Keys.navigatorKey.currentState + ?.pushNamed(Routes.walletCreated); }, icon: const Icon( Icons.close, @@ -119,7 +120,9 @@ class _EnableBiometricsState extends State { Padding( padding: const EdgeInsets.only(top: 30.0, bottom: 45), child: Image.asset( - Platform.isIOS ? RibnAssets.iosBiometrics : RibnAssets.andriodBiometrics, + Platform.isIOS + ? RibnAssets.iosBiometrics + : RibnAssets.andriodBiometrics, width: 111, ), ), @@ -152,7 +155,11 @@ class _EnableBiometricsState extends State { ), onPressed: () { runBiometrics(_localAuthentication).then( - (value) => {if (_authorized) Keys.navigatorKey.currentState?.pushNamed(Routes.walletCreated)}, + (value) => { + if (_authorized) + Keys.navigatorKey.currentState + ?.pushNamed(Routes.walletCreated) + }, ); }, backgroundColor: RibnColors.primary, diff --git a/lib/presentation/onboarding/create_wallet/getting_started_page.dart b/lib/presentation/onboarding/create_wallet/getting_started_page.dart index ff40f7b1..5ce7970d 100644 --- a/lib/presentation/onboarding/create_wallet/getting_started_page.dart +++ b/lib/presentation/onboarding/create_wallet/getting_started_page.dart @@ -47,7 +47,8 @@ class GettingStartedPage extends StatelessWidget { ConfirmationButton( text: Strings.okLetsGo, onPressed: () { - Keys.navigatorKey.currentState?.pushNamed(Routes.seedPhraseInfoChecklist); + Keys.navigatorKey.currentState + ?.pushNamed(Routes.seedPhraseInfoChecklist); }, ), ], diff --git a/lib/presentation/onboarding/create_wallet/seed_phrase_confirmation_page.dart b/lib/presentation/onboarding/create_wallet/seed_phrase_confirmation_page.dart index 1ffa3f9e..17220de3 100644 --- a/lib/presentation/onboarding/create_wallet/seed_phrase_confirmation_page.dart +++ b/lib/presentation/onboarding/create_wallet/seed_phrase_confirmation_page.dart @@ -19,10 +19,12 @@ class SeedPhraseConfirmationPage extends StatefulWidget { const SeedPhraseConfirmationPage({Key? key}) : super(key: key); @override - State createState() => _SeedPhraseConfirmationPageState(); + State createState() => + _SeedPhraseConfirmationPageState(); } -class _SeedPhraseConfirmationPageState extends State { +class _SeedPhraseConfirmationPageState + extends State { final Map idxControllerMap = {}; final Map controllerErrorMap = {}; @@ -48,19 +50,26 @@ class _SeedPhraseConfirmationPageState extends State SizedBox( child: Text( Strings.writeDownSeedPhrase, - style: RibnToolkitTextStyles.onboardingH1.copyWith(letterSpacing: 0.5), + style: RibnToolkitTextStyles.onboardingH1 + .copyWith(letterSpacing: 0.5), textAlign: TextAlign.center, ), ), Image.asset(RibnAssets.penPaperPng, width: 70), Padding( - padding: EdgeInsets.only(top: adaptHeight(0.04), bottom: adaptHeight(0.02)), + padding: EdgeInsets.only( + top: adaptHeight(0.04), + bottom: adaptHeight(0.02), + ), child: const Text( Strings.ensureYourWordsAreCorrect, style: RibnToolkitTextStyles.onboardingH3, ), ), - _buildSeedphraseConfirmationGrid(vm.confirmeIdxs, vm.mnemonicWordsList), + _buildSeedphraseConfirmationGrid( + vm.confirmeIdxs, + vm.mnemonicWordsList, + ), const SizedBox(height: 40), renderIfMobile( const Padding( @@ -73,12 +82,14 @@ class _SeedPhraseConfirmationPageState extends State onPressed: () { // Update errors if text entered does not match mnemonic word at specified idx idxControllerMap.forEach((idx, controller) { - final bool wordsMatch = controller.text.trim() == vm.mnemonicWordsList[idx]; + final bool wordsMatch = + controller.text.trim() == vm.mnemonicWordsList[idx]; controllerErrorMap[controller] = !wordsMatch; }); setState(() {}); if (!controllerErrorMap.values.contains(true)) { - Keys.navigatorKey.currentState?.pushNamed(Routes.createPassword); + Keys.navigatorKey.currentState + ?.pushNamed(Routes.createPassword); } }, ), @@ -91,13 +102,26 @@ class _SeedPhraseConfirmationPageState extends State ); } - Widget _buildSeedphraseConfirmationGrid(List confirmIdxs, List mnemonicWordsList) { + Widget _buildSeedphraseConfirmationGrid( + List confirmIdxs, + List mnemonicWordsList, + ) { final List mobileRows = []; List webRowChildren = []; final List> webRows = []; for (int i = 0; i < confirmIdxs.length; i++) { - mobileRows.add(_buildConfirmationTextField(confirmIdxs[i], mnemonicWordsList[confirmIdxs[i]])); - webRowChildren.add(_buildConfirmationTextField(confirmIdxs[i], mnemonicWordsList[confirmIdxs[i]])); + mobileRows.add( + _buildConfirmationTextField( + confirmIdxs[i], + mnemonicWordsList[confirmIdxs[i]], + ), + ); + webRowChildren.add( + _buildConfirmationTextField( + confirmIdxs[i], + mnemonicWordsList[confirmIdxs[i]], + ), + ); if ((i + 1) % 2 == 0) { webRows.add(webRowChildren); webRowChildren = []; @@ -126,7 +150,8 @@ class _SeedPhraseConfirmationPageState extends State Widget _buildConfirmationTextField(int idx, String word) { return Padding( - padding: const EdgeInsets.symmetric(vertical: 5, horizontal: kIsWeb ? 20 : 0), + padding: + const EdgeInsets.symmetric(vertical: 5, horizontal: kIsWeb ? 20 : 0), child: Align( alignment: Alignment.centerLeft, child: Column( @@ -159,7 +184,10 @@ class _SeedPhraseConfirmationPageState extends State class LowerCaseTextFormatter extends TextInputFormatter { @override - TextEditingValue formatEditUpdate(TextEditingValue oldValue, TextEditingValue newValue) { + TextEditingValue formatEditUpdate( + TextEditingValue oldValue, + TextEditingValue newValue, + ) { return TextEditingValue( text: newValue.text.toLowerCase(), selection: newValue.selection, diff --git a/lib/presentation/onboarding/create_wallet/seed_phrase_display_page.dart b/lib/presentation/onboarding/create_wallet/seed_phrase_display_page.dart index fdc5e3d4..1bb341de 100644 --- a/lib/presentation/onboarding/create_wallet/seed_phrase_display_page.dart +++ b/lib/presentation/onboarding/create_wallet/seed_phrase_display_page.dart @@ -40,24 +40,31 @@ class SeedPhraseDisplayPage extends StatelessWidget { child: Column( mainAxisAlignment: MainAxisAlignment.start, children: [ - kIsWeb ? const WebOnboardingAppBar(currStep: 0) : const SizedBox(), + kIsWeb + ? const WebOnboardingAppBar(currStep: 0) + : const SizedBox(), SizedBox( child: Text( Strings.writeDownSeedPhrase, - style: RibnToolkitTextStyles.onboardingH1.copyWith(letterSpacing: 0.5), + style: RibnToolkitTextStyles.onboardingH1 + .copyWith(letterSpacing: 0.5), textAlign: TextAlign.center, ), ), Image.asset(RibnAssets.penPaperPng, width: 70), Padding( - padding: EdgeInsets.symmetric(vertical: kIsWeb ? 40 : adaptHeight(0.03)), + padding: EdgeInsets.symmetric( + vertical: kIsWeb ? 40 : adaptHeight(0.03), + ), child: const Text( Strings.writeDownSeedPhraseInExactOrder, style: RibnToolkitTextStyles.onboardingH3, ), ), Container( - height: kIsWeb ? 280 : adaptHeight(isXsScreenSize ? 0.58 : 0.41), + height: kIsWeb + ? 280 + : adaptHeight(isXsScreenSize ? 0.58 : 0.41), width: kIsWeb ? 674 : adaptWidth(isXsScreenSize ? 1 : 0.9), decoration: BoxDecoration( color: RibnColors.greyText.withOpacity(0.24), @@ -75,7 +82,9 @@ class SeedPhraseDisplayPage extends StatelessWidget { alignment: Alignment.bottomRight, child: _buildButton( Strings.copy, - onPressed: () => Clipboard.setData(ClipboardData(text: seedPhrase)), + onPressed: () => Clipboard.setData( + ClipboardData(text: seedPhrase), + ), width: 19, height: 15, ), @@ -93,8 +102,13 @@ class SeedPhraseDisplayPage extends StatelessWidget { padding: const EdgeInsets.only(top: 8.0), child: _buildButton( Strings.download, - onPressed: () => StoreProvider.of(context).dispatch( - DownloadAsFileAction(Strings.seedPhraseFileName, seedPhrase), + onPressed: () => + StoreProvider.of(context) + .dispatch( + DownloadAsFileAction( + Strings.seedPhraseFileName, + seedPhrase, + ), ), width: 30, height: 23, @@ -104,11 +118,14 @@ class SeedPhraseDisplayPage extends StatelessWidget { : const SizedBox(), ), SizedBox(height: adaptHeight(0.1)), - renderIfMobile(const MobileOnboardingProgressBar(currStep: 0)), + renderIfMobile( + const MobileOnboardingProgressBar(currStep: 0), + ), ConfirmationButton( text: Strings.done, onPressed: () { - Keys.navigatorKey.currentState?.pushNamed(Routes.seedPhraseConfirm); + Keys.navigatorKey.currentState + ?.pushNamed(Routes.seedPhraseConfirm); }, ), ], @@ -161,7 +178,8 @@ class SeedPhraseDisplayPage extends StatelessWidget { width: 25, child: Text( '${idx + 1}. ', - style: RibnToolkitTextStyles.h3.copyWith(color: const Color(0xff00FFC5), letterSpacing: 0.5), + style: RibnToolkitTextStyles.h3 + .copyWith(color: const Color(0xff00FFC5), letterSpacing: 0.5), ), ), Text( @@ -179,7 +197,9 @@ class SeedPhraseDisplayPage extends StatelessWidget { required double width, required double height, }) { - final String icon = buttonText == Strings.download ? RibnAssets.downloadPng : RibnAssets.contentCopyPng; + final String icon = buttonText == Strings.download + ? RibnAssets.downloadPng + : RibnAssets.contentCopyPng; return TextButton( onPressed: onPressed, child: RichText( @@ -187,8 +207,11 @@ class SeedPhraseDisplayPage extends StatelessWidget { children: [ TextSpan( text: '$buttonText ', - style: RibnToolkitTextStyles.h3 - .copyWith(color: const Color(0xff00FFC5), letterSpacing: 0.5, height: kIsWeb ? 1 : 0), + style: RibnToolkitTextStyles.h3.copyWith( + color: const Color(0xff00FFC5), + letterSpacing: 0.5, + height: kIsWeb ? 1 : 0, + ), ), WidgetSpan( child: Padding( diff --git a/lib/presentation/onboarding/create_wallet/seed_phrase_generating_page.dart b/lib/presentation/onboarding/create_wallet/seed_phrase_generating_page.dart index cfa86c02..391d2d4e 100644 --- a/lib/presentation/onboarding/create_wallet/seed_phrase_generating_page.dart +++ b/lib/presentation/onboarding/create_wallet/seed_phrase_generating_page.dart @@ -21,7 +21,8 @@ class SeedPhraseGeneratingPage extends StatefulWidget { const SeedPhraseGeneratingPage({Key? key}) : super(key: key); @override - _SeedPhraseGeneratingPageState createState() => _SeedPhraseGeneratingPageState(); + _SeedPhraseGeneratingPageState createState() => + _SeedPhraseGeneratingPageState(); } class _SeedPhraseGeneratingPageState extends State { @@ -42,7 +43,9 @@ class _SeedPhraseGeneratingPageState extends State { clipBehavior: Clip.none, child: Center( child: Column( - children: seedPhraseGenerating ? seedPhraseGeneratingSection() : seedPhraseGeneratedSection(), + children: seedPhraseGenerating + ? seedPhraseGeneratingSection() + : seedPhraseGeneratedSection(), ), ), ), diff --git a/lib/presentation/onboarding/create_wallet/seed_phrase_info_checklist_page.dart b/lib/presentation/onboarding/create_wallet/seed_phrase_info_checklist_page.dart index 9595994d..75b2a1fc 100644 --- a/lib/presentation/onboarding/create_wallet/seed_phrase_info_checklist_page.dart +++ b/lib/presentation/onboarding/create_wallet/seed_phrase_info_checklist_page.dart @@ -18,10 +18,12 @@ class SeedPhraseInfoChecklistPage extends StatefulWidget { const SeedPhraseInfoChecklistPage({Key? key}) : super(key: key); @override - State createState() => _SeedPhraseInfoChecklistPageState(); + State createState() => + _SeedPhraseInfoChecklistPageState(); } -class _SeedPhraseInfoChecklistPageState extends State { +class _SeedPhraseInfoChecklistPageState + extends State { /// Checkboxes and their corresponding checked value final Map checkboxesState = { Strings.neverShareMySeedPhrase: false, @@ -51,22 +53,28 @@ class _SeedPhraseInfoChecklistPageState extends State onChecked(val ?? false, Strings.neverShareMySeedPhrase), + onChanged: (bool? val) => + onChecked(val ?? false, Strings.neverShareMySeedPhrase), ), const SizedBox(height: 40), _buildCheckboxListTile( - checked: checkboxesState[Strings.walletRecoveryUsingSeedPhrase]!, + checked: + checkboxesState[Strings.walletRecoveryUsingSeedPhrase]!, activeText: checkboxesState[Strings.neverShareMySeedPhrase]!, text: Strings.walletRecoveryUsingSeedPhrase, onChanged: checkboxesState[Strings.neverShareMySeedPhrase]! - ? (bool? val) => onChecked(val ?? false, Strings.walletRecoveryUsingSeedPhrase) + ? (bool? val) => onChecked( + val ?? false, + Strings.walletRecoveryUsingSeedPhrase, + ) : null, ), SizedBox(height: adaptHeight(0.1)), ConfirmationButton( text: Strings.iUnderstand, onPressed: () { - Keys.navigatorKey.currentState?.pushNamed(Routes.seedPhraseInstructions); + Keys.navigatorKey.currentState + ?.pushNamed(Routes.seedPhraseInstructions); }, disabled: checkboxesState.containsValue(false), ) diff --git a/lib/presentation/onboarding/create_wallet/seed_phrase_instructions_page.dart b/lib/presentation/onboarding/create_wallet/seed_phrase_instructions_page.dart index c21ca9e7..bb7cb620 100644 --- a/lib/presentation/onboarding/create_wallet/seed_phrase_instructions_page.dart +++ b/lib/presentation/onboarding/create_wallet/seed_phrase_instructions_page.dart @@ -69,7 +69,8 @@ class SeedPhraseInstructionsPage extends StatelessWidget { ConfirmationButton( text: Strings.iUnderstand, onPressed: () { - Keys.navigatorKey.currentState?.pushNamed(Routes.generateSeedPhrase); + Keys.navigatorKey.currentState + ?.pushNamed(Routes.generateSeedPhrase); }, ) ], @@ -99,7 +100,10 @@ class SeedPhraseInstructionsPage extends StatelessWidget { width: width, height: height, child: Padding( - padding: EdgeInsets.only(left: iconLeftPadding, right: iconRightPadding), + padding: EdgeInsets.only( + left: iconLeftPadding, + right: iconRightPadding, + ), child: Image.asset(pngIcon, width: 30), ), ), @@ -110,7 +114,8 @@ class SeedPhraseInstructionsPage extends StatelessWidget { width: kIsWeb ? 500 : 295, child: Text( text, - textHeightBehavior: const TextHeightBehavior(applyHeightToFirstAscent: false), + textHeightBehavior: + const TextHeightBehavior(applyHeightToFirstAscent: false), style: RibnToolkitTextStyles.h3.copyWith( color: RibnColors.lightGreyTitle, fontSize: 18, diff --git a/lib/presentation/onboarding/create_wallet/select_action_page.dart b/lib/presentation/onboarding/create_wallet/select_action_page.dart index 02153c4d..50b4c5c5 100644 --- a/lib/presentation/onboarding/create_wallet/select_action_page.dart +++ b/lib/presentation/onboarding/create_wallet/select_action_page.dart @@ -29,7 +29,9 @@ class SelectActionPage extends StatelessWidget { Keys.navigatorKey.currentState?.pushNamed(Routes.gettingStarted); }, ), - kIsWeb ? const SizedBox(width: 100, height: 50) : const SizedBox(height: 50), + kIsWeb + ? const SizedBox(width: 100, height: 50) + : const SizedBox(height: 50), OnboardingActionButton( backgroundColor: RibnColors.primary, icon: Image.asset(RibnAssets.importWalletPng), @@ -61,7 +63,10 @@ class SelectActionPage extends StatelessWidget { SizedBox(height: adaptHeight(0.1)), // display actionbuttons in row or column depending on platform kIsWeb - ? Row(mainAxisAlignment: MainAxisAlignment.center, children: actionButtons) + ? Row( + mainAxisAlignment: MainAxisAlignment.center, + children: actionButtons, + ) : Column(children: actionButtons), SizedBox(height: adaptHeight(0.1)), ], diff --git a/lib/presentation/onboarding/create_wallet/wallet_created_page.dart b/lib/presentation/onboarding/create_wallet/wallet_created_page.dart index 625bb151..13d64f69 100644 --- a/lib/presentation/onboarding/create_wallet/wallet_created_page.dart +++ b/lib/presentation/onboarding/create_wallet/wallet_created_page.dart @@ -25,9 +25,11 @@ class WalletCreatedPage extends StatefulWidget { class _WalletCreatedPageState extends State { /// FAQs and their corresponding answeres final Map faqs = { - Strings.howCanIKeepMySeedPhraseSecure: Strings.howCanIKeepMySeedPhraseSecureAns, + Strings.howCanIKeepMySeedPhraseSecure: + Strings.howCanIKeepMySeedPhraseSecureAns, Strings.howIsASeedPhraseDifferent: Strings.howIsASeedPhraseDifferentAns, - Strings.howIsMySeedPhraseUnrecoverable: Strings.howIsMySeedPhraseUnrecoverableAns, + Strings.howIsMySeedPhraseUnrecoverable: + Strings.howIsMySeedPhraseUnrecoverableAns, }; @override Widget build(BuildContext context) { @@ -110,7 +112,8 @@ class _WalletCreatedPageState extends State { if (kIsWeb) { navigateToRoute(context, Routes.extensionInfo); } else { - Keys.navigatorKey.currentState?.pushNamedAndRemoveUntil(Routes.home, (_) => false); + Keys.navigatorKey.currentState + ?.pushNamedAndRemoveUntil(Routes.home, (_) => false); } }, ), diff --git a/lib/presentation/onboarding/create_wallet/wallet_info_checklist_page.dart b/lib/presentation/onboarding/create_wallet/wallet_info_checklist_page.dart index 6a65838f..ff03b193 100644 --- a/lib/presentation/onboarding/create_wallet/wallet_info_checklist_page.dart +++ b/lib/presentation/onboarding/create_wallet/wallet_info_checklist_page.dart @@ -19,7 +19,8 @@ class WalletInfoChecklistPage extends StatefulWidget { const WalletInfoChecklistPage({Key? key}) : super(key: key); @override - State createState() => _WalletInfoChecklistPageState(); + State createState() => + _WalletInfoChecklistPageState(); } class _WalletInfoChecklistPageState extends State { @@ -40,9 +41,10 @@ class _WalletInfoChecklistPageState extends State { } Future runBiometrics() async { - final LocalAuthentication _localAuthentication = LocalAuthentication(); + final LocalAuthentication localAuthentication = LocalAuthentication(); - final bool isBioAuthenticationSupported = await isBiometricsAuthenticationSupported(_localAuthentication); + final bool isBioAuthenticationSupported = + await isBiometricsAuthenticationSupported(localAuthentication); setState(() { isBioSupported = isBioAuthenticationSupported ? true : false; @@ -73,15 +75,20 @@ class _WalletInfoChecklistPageState extends State { checked: checkboxesState[Strings.savedMyWalletPasswordSafely]!, activeText: true, text: Strings.savedMyWalletPasswordSafely, - onChanged: (bool? val) => onChecked(val ?? false, Strings.savedMyWalletPasswordSafely), + onChanged: (bool? val) => onChecked( + val ?? false, + Strings.savedMyWalletPasswordSafely, + ), ), SizedBox(height: adaptHeight(0.03)), _buildCheckboxListTile( checked: checkboxesState[Strings.toplCannotRecoverForMe]!, - activeText: checkboxesState[Strings.savedMyWalletPasswordSafely]!, + activeText: + checkboxesState[Strings.savedMyWalletPasswordSafely]!, text: Strings.toplCannotRecoverForMe, onChanged: checkboxesState[Strings.savedMyWalletPasswordSafely]! - ? (bool? val) => onChecked(val ?? false, Strings.toplCannotRecoverForMe) + ? (bool? val) => + onChecked(val ?? false, Strings.toplCannotRecoverForMe) : null, ), SizedBox(height: adaptHeight(0.03)), @@ -90,7 +97,10 @@ class _WalletInfoChecklistPageState extends State { activeText: checkboxesState[Strings.toplCannotRecoverForMe]!, text: Strings.spAndPasswordUnrecoverable, onChanged: checkboxesState[Strings.toplCannotRecoverForMe]! - ? (bool? val) => onChecked(val ?? false, Strings.spAndPasswordUnrecoverable) + ? (bool? val) => onChecked( + val ?? false, + Strings.spAndPasswordUnrecoverable, + ) : null, renderTooltipIcon: true, ), @@ -99,8 +109,11 @@ class _WalletInfoChecklistPageState extends State { ConfirmationButton( text: Strings.iUnderstand, onPressed: () { - Keys.navigatorKey.currentState - ?.pushNamed(isBioSupported ? Routes.onboardingEnableBiometrics : Routes.walletCreated); + Keys.navigatorKey.currentState?.pushNamed( + isBioSupported + ? Routes.onboardingEnableBiometrics + : Routes.walletCreated, + ); }, disabled: checkboxesState.containsValue(false), ) diff --git a/lib/presentation/onboarding/create_wallet/welcome_page.dart b/lib/presentation/onboarding/create_wallet/welcome_page.dart index 63711a55..5ba291a0 100644 --- a/lib/presentation/onboarding/create_wallet/welcome_page.dart +++ b/lib/presentation/onboarding/create_wallet/welcome_page.dart @@ -39,7 +39,9 @@ class WelcomePage extends StatelessWidget { ), const SizedBox(height: 20), ConstrainedBox( - constraints: const BoxConstraints(maxWidth: kIsWeb ? double.infinity : 310), + constraints: const BoxConstraints( + maxWidth: kIsWeb ? double.infinity : 310, + ), child: Text( Strings.intro, textAlign: TextAlign.center, @@ -53,7 +55,8 @@ class WelcomePage extends StatelessWidget { ConfirmationButton( text: Strings.getStarted, onPressed: () { - Keys.navigatorKey.currentState?.pushNamed(Routes.selectAction); + Keys.navigatorKey.currentState + ?.pushNamed(Routes.selectAction); }, ), ], diff --git a/lib/presentation/onboarding/extension_info_page.dart b/lib/presentation/onboarding/extension_info_page.dart index ef87d2fc..a755dfa9 100644 --- a/lib/presentation/onboarding/extension_info_page.dart +++ b/lib/presentation/onboarding/extension_info_page.dart @@ -64,7 +64,11 @@ class ExtensionInfoPage extends StatelessWidget { ), ), WidgetSpan( - child: SvgPicture.asset(RibnAssets.extensionIcon, height: inlineIconHeight, width: inlineIconWidth), + child: SvgPicture.asset( + RibnAssets.extensionIcon, + height: inlineIconHeight, + width: inlineIconWidth, + ), ), TextSpan( text: Strings.clickingTheIconPartThree, diff --git a/lib/presentation/onboarding/restore_wallet/create_new_wallet_password_page.dart b/lib/presentation/onboarding/restore_wallet/create_new_wallet_password_page.dart index 96661bf3..0de6a328 100644 --- a/lib/presentation/onboarding/restore_wallet/create_new_wallet_password_page.dart +++ b/lib/presentation/onboarding/restore_wallet/create_new_wallet_password_page.dart @@ -36,7 +36,8 @@ class NewWalletPasswordPage extends StatefulWidget { class _NewWalletPasswordPageState extends State { /// Controllers for password textfields. final TextEditingController _newPasswordController = TextEditingController(); - final TextEditingController _confirmPasswordController = TextEditingController(); + final TextEditingController _confirmPasswordController = + TextEditingController(); /// True if the password entered is at least 8 characters. bool _atLeast8Chars = false; @@ -52,12 +53,15 @@ class _NewWalletPasswordPageState extends State { @override void initState() { // Initialize listeners for each controller. - [_newPasswordController, _confirmPasswordController].toList().forEach((controller) { + [_newPasswordController, _confirmPasswordController] + .toList() + .forEach((controller) { controller.addListener(() { setState(() { hasErrors[controller] = false; _atLeast8Chars = _newPasswordController.text.length >= 8; - _passwordsMatch = _newPasswordController.text == _confirmPasswordController.text; + _passwordsMatch = + _newPasswordController.text == _confirmPasswordController.text; }); }); }); @@ -67,7 +71,9 @@ class _NewWalletPasswordPageState extends State { @override void dispose() { // Dispose listeners for each controller. - [_newPasswordController, _confirmPasswordController].toList().forEach((controller) { + [_newPasswordController, _confirmPasswordController] + .toList() + .forEach((controller) { controller.dispose(); }); super.dispose(); @@ -84,7 +90,9 @@ class _NewWalletPasswordPageState extends State { child: Column( mainAxisSize: MainAxisSize.min, children: [ - renderIfWeb(const WebOnboardingAppBar(currStep: 1, numSteps: 2)), + renderIfWeb( + const WebOnboardingAppBar(currStep: 1, numSteps: 2), + ), const Text( Strings.restoreWallet, style: RibnToolkitTextStyles.onboardingH1, @@ -108,11 +116,15 @@ class _NewWalletPasswordPageState extends State { ), ), const SizedBox(height: 40), - renderIfMobile(const OnboardingProgressBar(numSteps: 2, currStep: 0)), + renderIfMobile( + const OnboardingProgressBar(numSteps: 2, currStep: 0), + ), const SizedBox(height: 20), ConfirmationButton( text: Strings.done, - disabled: !_atLeast8Chars || !_passwordsMatch || !_termsOfUseChecked, + disabled: !_atLeast8Chars || + !_passwordsMatch || + !_termsOfUseChecked, onPressed: () { context.loaderOverlay.show(); StoreProvider.of(context).dispatch( @@ -164,7 +176,9 @@ class _NewWalletPasswordPageState extends State { Strings.atLeast8Chars, textAlign: TextAlign.left, style: RibnToolkitTextStyles.h3.copyWith( - color: !_atLeast8Chars && _newPasswordController.text.isNotEmpty ? Colors.red : Colors.white, + color: !_atLeast8Chars && _newPasswordController.text.isNotEmpty + ? Colors.red + : Colors.white, ), ), ), @@ -214,7 +228,10 @@ class _NewWalletPasswordPageState extends State { Strings.passwordsMustMatch, textAlign: TextAlign.left, style: RibnToolkitTextStyles.h3.copyWith( - color: !_passwordsMatch && _confirmPasswordController.text.isNotEmpty ? Colors.red : Colors.white, + color: + !_passwordsMatch && _confirmPasswordController.text.isNotEmpty + ? Colors.red + : Colors.white, ), ), ), @@ -226,7 +243,9 @@ class _NewWalletPasswordPageState extends State { final url = Uri.parse(Strings.termsOfUseUrl); return CheckboxWrappableText( wrapText: false, - borderColor: _termsOfUseChecked ? const Color(0xff80FF00) : RibnColors.lightGreyTitle, + borderColor: _termsOfUseChecked + ? const Color(0xff80FF00) + : RibnColors.lightGreyTitle, value: _termsOfUseChecked, onChanged: (bool? checked) { setState(() { diff --git a/lib/presentation/onboarding/restore_wallet/enter_wallet_password_page.dart b/lib/presentation/onboarding/restore_wallet/enter_wallet_password_page.dart index 9fd8f460..1208ce8f 100644 --- a/lib/presentation/onboarding/restore_wallet/enter_wallet_password_page.dart +++ b/lib/presentation/onboarding/restore_wallet/enter_wallet_password_page.dart @@ -24,7 +24,8 @@ class EnterWalletPasswordPage extends StatefulWidget { }) : super(key: key); @override - _EnterWalletPasswordPageState createState() => _EnterWalletPasswordPageState(); + _EnterWalletPasswordPageState createState() => + _EnterWalletPasswordPageState(); } class _EnterWalletPasswordPageState extends State { diff --git a/lib/presentation/onboarding/restore_wallet/restore_wallet_page.dart b/lib/presentation/onboarding/restore_wallet/restore_wallet_page.dart index 1eba6463..7a9fc413 100644 --- a/lib/presentation/onboarding/restore_wallet/restore_wallet_page.dart +++ b/lib/presentation/onboarding/restore_wallet/restore_wallet_page.dart @@ -98,12 +98,19 @@ class _RestoreWalletPageState extends State { hasError: invalidSeedPhraseEntered, ), ), - kIsWeb ? Align(alignment: Alignment.centerLeft, child: _buildAdvancedOption()) : const SizedBox(), + kIsWeb + ? Align( + alignment: Alignment.centerLeft, + child: _buildAdvancedOption(), + ) + : const SizedBox(), ], ), ), adaptableSpacer(), - renderIfMobile(const OnboardingProgressBar(numSteps: 2, currStep: 0)), + renderIfMobile( + const OnboardingProgressBar(numSteps: 2, currStep: 0), + ), const SizedBox(height: 20), ConfirmationButton( text: Strings.next, @@ -142,20 +149,24 @@ class _RestoreWalletPageState extends State { child: PeekabooButton( buttonText: Text( Strings.advancedOption, - style: RibnToolkitTextStyles.smallBody.copyWith(fontSize: 15, color: RibnColors.whiteBackground), + style: RibnToolkitTextStyles.smallBody + .copyWith(fontSize: 15, color: RibnColors.whiteBackground), ), buttonChild: Padding( padding: const EdgeInsets.only(left: 8), child: RichText( text: TextSpan( - style: RibnToolkitTextStyles.body1Bold.copyWith(color: RibnColors.whiteBackground), + style: RibnToolkitTextStyles.body1Bold + .copyWith(color: RibnColors.whiteBackground), children: [ const TextSpan(text: 'Use '), TextSpan( text: 'Topl main key file', - style: RibnToolkitTextStyles.body1Bold.copyWith(color: RibnColors.secondaryDark), + style: RibnToolkitTextStyles.body1Bold + .copyWith(color: RibnColors.secondaryDark), recognizer: TapGestureRecognizer() - ..onTap = () => Keys.navigatorKey.currentState?.pushNamed(Routes.restoreWithToplKey), + ..onTap = () => Keys.navigatorKey.currentState + ?.pushNamed(Routes.restoreWithToplKey), ), ], ), diff --git a/lib/presentation/onboarding/restore_wallet/restore_with_topl_key_page.dart b/lib/presentation/onboarding/restore_wallet/restore_with_topl_key_page.dart index 6842d185..a909b487 100644 --- a/lib/presentation/onboarding/restore_wallet/restore_with_topl_key_page.dart +++ b/lib/presentation/onboarding/restore_wallet/restore_with_topl_key_page.dart @@ -55,7 +55,9 @@ class _RestoreWithToplKeyPageState extends State { _buildUploadFileButton(), SizedBox( height: 150, - child: uploadedFileName.isNotEmpty ? _buildUploadedFileContainer() : const SizedBox(), + child: uploadedFileName.isNotEmpty + ? _buildUploadedFileContainer() + : const SizedBox(), ), errorUploadingFile ? const Text( @@ -107,7 +109,10 @@ class _RestoreWithToplKeyPageState extends State { ), ), const SizedBox(height: 5), - const Text(Strings.fileUploadLimit, style: RibnToolkitTextStyles.onboardingH3), + const Text( + Strings.fileUploadLimit, + style: RibnToolkitTextStyles.onboardingH3, + ), const SizedBox(height: 20), Image.asset(RibnAssets.addPlusPng, width: 70), ], @@ -115,7 +120,8 @@ class _RestoreWithToplKeyPageState extends State { ), onPressed: () async { try { - final FilePickerResult? result = await FilePicker.platform.pickFiles(); + final FilePickerResult? result = + await FilePicker.platform.pickFiles(); if (result != null) { final PlatformFile file = result.files.first; // utf8.decode the file bytes to get the file content as a string @@ -145,10 +151,15 @@ class _RestoreWithToplKeyPageState extends State { children: [ Text( 'Uploaded file', - style: RibnToolkitTextStyles.body1Bold.copyWith(color: Colors.white), + style: + RibnToolkitTextStyles.body1Bold.copyWith(color: Colors.white), ), const SizedBox(height: 5), - UploadedFileContainer(uploadedFileName: uploadedFileName, width: 484, height: 46), + UploadedFileContainer( + uploadedFileName: uploadedFileName, + width: 484, + height: 46, + ), ], ), ); diff --git a/lib/presentation/onboarding/utils.dart b/lib/presentation/onboarding/utils.dart index ca195756..67a4399d 100644 --- a/lib/presentation/onboarding/utils.dart +++ b/lib/presentation/onboarding/utils.dart @@ -1,7 +1,9 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; -Widget adaptableSpacer() => kIsWeb ? const SizedBox(height: 100) : const Spacer(); +Widget adaptableSpacer() => + kIsWeb ? const SizedBox(height: 100) : const Spacer(); Widget renderIfMobile(Widget widget) => kIsWeb ? const SizedBox() : widget; Widget renderIfWeb(Widget widget) => kIsWeb ? widget : const SizedBox(); -Widget scrollableIfWeb(Widget child) => kIsWeb ? SingleChildScrollView(child: child) : SizedBox(child: child); +Widget scrollableIfWeb(Widget child) => + kIsWeb ? SingleChildScrollView(child: child) : SizedBox(child: child); diff --git a/lib/presentation/onboarding/widgets/onboarding_container.dart b/lib/presentation/onboarding/widgets/onboarding_container.dart index 07ab1db2..47fb27d2 100644 --- a/lib/presentation/onboarding/widgets/onboarding_container.dart +++ b/lib/presentation/onboarding/widgets/onboarding_container.dart @@ -14,7 +14,8 @@ class OnboardingContainer extends StatelessWidget { @override Widget build(BuildContext context) { - final double topPadding = kIsWeb ? 50 : MediaQuery.of(context).size.height * 0.12; + final double topPadding = + kIsWeb ? 50 : MediaQuery.of(context).size.height * 0.12; return Container( height: double.infinity, width: double.infinity, @@ -26,7 +27,11 @@ class OnboardingContainer extends StatelessWidget { ), ), child: Padding( - padding: EdgeInsets.only(top: topPadding, left: isXsScreenSize ? 10 : 20, right: isXsScreenSize ? 10 : 20), + padding: EdgeInsets.only( + top: topPadding, + left: isXsScreenSize ? 10 : 20, + right: isXsScreenSize ? 10 : 20, + ), child: child, ), ); diff --git a/lib/presentation/onboarding/widgets/uploaded_file_container.dart b/lib/presentation/onboarding/widgets/uploaded_file_container.dart index 43db5118..a1085ee6 100644 --- a/lib/presentation/onboarding/widgets/uploaded_file_container.dart +++ b/lib/presentation/onboarding/widgets/uploaded_file_container.dart @@ -40,7 +40,8 @@ class UploadedFileContainer extends StatelessWidget { const SizedBox(width: 8), Text( uploadedFileName, - style: RibnToolkitTextStyles.onboardingH3.copyWith(fontSize: 15), + style: + RibnToolkitTextStyles.onboardingH3.copyWith(fontSize: 15), ), const Spacer(), Image.asset(RibnAssets.checkCircleIcon, width: 20), diff --git a/lib/presentation/onboarding/widgets/warning_section.dart b/lib/presentation/onboarding/widgets/warning_section.dart index 349c798e..623f0533 100644 --- a/lib/presentation/onboarding/widgets/warning_section.dart +++ b/lib/presentation/onboarding/widgets/warning_section.dart @@ -56,7 +56,8 @@ class WarningSection extends StatelessWidget { Strings.restoreWalletWarning, style: kIsWeb ? RibnToolkitTextStyles.onboardingH3 - : RibnToolkitTextStyles.smallBody.copyWith(fontSize: 15, color: Colors.white), + : RibnToolkitTextStyles.smallBody + .copyWith(fontSize: 15, color: Colors.white), ), ), ), diff --git a/lib/presentation/settings/sections/biometrics_section.dart b/lib/presentation/settings/sections/biometrics_section.dart index a7eeef53..50367061 100644 --- a/lib/presentation/settings/sections/biometrics_section.dart +++ b/lib/presentation/settings/sections/biometrics_section.dart @@ -82,8 +82,8 @@ class _BiometricsSectionState extends State { }, ), const TextButton( - child: Text('Go to settings'), onPressed: AppSettings.openSecuritySettings, + child: Text('Go to settings'), ), ], ); @@ -105,7 +105,9 @@ class _BiometricsSectionState extends State { Padding( padding: const EdgeInsets.only(left: 10), child: Image.asset( - Platform.isIOS ? RibnAssets.iosBiometricsOutline : RibnAssets.andriodBiometricsOutline, + Platform.isIOS + ? RibnAssets.iosBiometricsOutline + : RibnAssets.andriodBiometricsOutline, width: 40, ), ), diff --git a/lib/presentation/settings/sections/delete_wallet_confirmation_dialog.dart b/lib/presentation/settings/sections/delete_wallet_confirmation_dialog.dart index 6b43a0c0..245dc45b 100644 --- a/lib/presentation/settings/sections/delete_wallet_confirmation_dialog.dart +++ b/lib/presentation/settings/sections/delete_wallet_confirmation_dialog.dart @@ -16,13 +16,18 @@ class DeleteWalletConfirmationDialog extends StatefulWidget { VoidCallback onIncorrectPasswordEntered, ) onConfirmDeletePressed; - const DeleteWalletConfirmationDialog({required this.onConfirmDeletePressed, Key? key}) : super(key: key); + const DeleteWalletConfirmationDialog({ + required this.onConfirmDeletePressed, + Key? key, + }) : super(key: key); @override - _DeleteWalletConfirmationDialogState createState() => _DeleteWalletConfirmationDialogState(); + _DeleteWalletConfirmationDialogState createState() => + _DeleteWalletConfirmationDialogState(); } -class _DeleteWalletConfirmationDialogState extends State { +class _DeleteWalletConfirmationDialogState + extends State { final TextEditingController _passwordController = TextEditingController(); /// True if incorrect password was entered. @@ -69,7 +74,10 @@ class _DeleteWalletConfirmationDialogState extends State canDisconnect ? - onDisconnectPressed(context) : null,), + borderColor: RibnColors.primary + .withOpacity(canDisconnect == true ? 1.0 : 0.3), + onPressed: () => + canDisconnect ? onDisconnectPressed(context) : null, + ), ), ], ), diff --git a/lib/presentation/settings/sections/links_section.dart b/lib/presentation/settings/sections/links_section.dart index 189f489c..a4e64dd1 100644 --- a/lib/presentation/settings/sections/links_section.dart +++ b/lib/presentation/settings/sections/links_section.dart @@ -31,7 +31,8 @@ class LinksSection extends StatelessWidget { RichText( text: TextSpan( text: Strings.privacyPolicy, - recognizer: TapGestureRecognizer()..onTap = () async => await launchUrl(url1), + recognizer: TapGestureRecognizer() + ..onTap = () async => await launchUrl(url1), style: linkStyle, ), ), @@ -39,7 +40,8 @@ class LinksSection extends StatelessWidget { RichText( text: TextSpan( text: Strings.termsOfUse, - recognizer: TapGestureRecognizer()..onTap = () async => await launchUrl(url2), + recognizer: TapGestureRecognizer() + ..onTap = () async => await launchUrl(url2), style: linkStyle, ), ), diff --git a/lib/presentation/settings/settings_page.dart b/lib/presentation/settings/settings_page.dart index 0679c6c2..e3940271 100644 --- a/lib/presentation/settings/settings_page.dart +++ b/lib/presentation/settings/settings_page.dart @@ -1,5 +1,3 @@ - - import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:local_auth/local_auth.dart'; @@ -35,8 +33,9 @@ class _SettingsPageState extends State { if (!kIsWeb) { runBiometrics(); } else { - final List dApps = await PlatformUtils.instance.convertToFuture(PlatformUtils.instance.getDAppList()); - PlatformUtils.instance.consoleLog(dApps.toString()); + final List dApps = await PlatformUtils.instance + .convertToFuture(PlatformUtils.instance.getDAppList()); + // await PlatformUtils.instance.consoleLog(dApps.toString()); setState(() async { canDisconnect = dApps.isNotEmpty; @@ -46,10 +45,10 @@ class _SettingsPageState extends State { } runBiometrics() async { - final LocalAuthentication _localAuthentication = LocalAuthentication(); + final LocalAuthentication localAuthentication = LocalAuthentication(); final bool isBioAuthenticationSupported = - await isBiometricsAuthenticationSupported(_localAuthentication); + await isBiometricsAuthenticationSupported(localAuthentication); setState(() { isBioSupported = isBioAuthenticationSupported ? true : false; @@ -58,23 +57,22 @@ class _SettingsPageState extends State { @override Widget build(BuildContext context) { - return SettingsContainer( builder: (BuildContext context, SettingsViewModel vm) { vm.canDisconnect = canDisconnect; return Scaffold( - body: SingleChildScrollView( - child: Column( - children: [ - const CustomPageTextTitle( - title: Strings.settings, - hideBackArrow: true, - ), - _buildSettingsListItems(vm, context), - ], + body: SingleChildScrollView( + child: Column( + children: [ + const CustomPageTextTitle( + title: Strings.settings, + hideBackArrow: true, + ), + _buildSettingsListItems(vm, context), + ], + ), ), - ), - ); + ); }, ); } diff --git a/lib/presentation/transaction_history/dashed_list_separator/dashed_list_separator.dart b/lib/presentation/transaction_history/dashed_list_separator/dashed_list_separator.dart index 94ef67fd..6cb37dfb 100644 --- a/lib/presentation/transaction_history/dashed_list_separator/dashed_list_separator.dart +++ b/lib/presentation/transaction_history/dashed_list_separator/dashed_list_separator.dart @@ -1,7 +1,11 @@ import 'package:flutter/material.dart'; class DashedListSeparator extends StatelessWidget { - const DashedListSeparator({Key? key, this.height = 1, this.color = Colors.black}) : super(key: key); + const DashedListSeparator({ + Key? key, + this.height = 1, + this.color = Colors.black, + }) : super(key: key); final double height; final Color color; @@ -14,6 +18,8 @@ class DashedListSeparator extends StatelessWidget { final dashHeight = height; final dashCount = (boxWidth / (2 * dashWidth)).floor(); return Flex( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + direction: Axis.horizontal, children: List.generate(dashCount, (_) { return SizedBox( width: dashWidth, @@ -23,8 +29,6 @@ class DashedListSeparator extends StatelessWidget { ), ); }), - mainAxisAlignment: MainAxisAlignment.spaceBetween, - direction: Axis.horizontal, ); }, ); diff --git a/lib/presentation/transaction_history/transaction_data_row/transaction_data_row.dart b/lib/presentation/transaction_history/transaction_data_row/transaction_data_row.dart index 32a451c9..1f83b66f 100644 --- a/lib/presentation/transaction_history/transaction_data_row/transaction_data_row.dart +++ b/lib/presentation/transaction_history/transaction_data_row/transaction_data_row.dart @@ -43,7 +43,8 @@ class _TransactionDataRowState extends State { } getBlockHeight() async { - final transactionBlockHeightNum = int.parse('${widget.transactionReceipt.blockNumber}'); + final transactionBlockHeightNum = + int.parse('${widget.transactionReceipt.blockNumber}'); final blockHeightString = await widget.blockHeight; final blockHeightNum = int.parse(blockHeightString!); @@ -58,7 +59,8 @@ class _TransactionDataRowState extends State { @override Widget build(BuildContext context) { - final bool isPolyTransaction = widget.transactionReceipt.txType == 'PolyTransfer' || + final bool isPolyTransaction = widget.transactionReceipt.txType == + 'PolyTransfer' || widget.transactionReceipt.to.first.toJson()[1].runtimeType == String; final int timestampInt = widget.transactionReceipt.timestamp; final DateTime date = DateTime.fromMillisecondsSinceEpoch(timestampInt); @@ -66,29 +68,42 @@ class _TransactionDataRowState extends State { final DateFormat dateFormatAlternate = DateFormat('MM-dd-yyyy'); final String formattedDate = dateFormat.format(date); final String formattedDateAlternate = dateFormatAlternate.format(date); - final String transactionReceiverAddress = widget.transactionReceipt.to.first.toJson()[0].toString(); + final String transactionReceiverAddress = + widget.transactionReceipt.to.first.toJson()[0].toString(); final String transactionQuantity = isPolyTransaction ? widget.transactionReceipt.to.first.toJson()[1] : widget.transactionReceipt.to.first.toJson()[1]['quantity']; final Sender transactionSenderAddress = widget.transactionReceipt.from![0]; - final String? fee = '${widget.transactionReceipt.fee!.quantity} nanoPOLYs'; + final String fee = '${widget.transactionReceipt.fee!.quantity} nanoPOLYs'; final Latin1Data? note = widget.transactionReceipt.data; - final String securityRoot = isPolyTransaction ? '' : widget.transactionReceipt.to.first.toJson()[1]['securityRoot']; - final String assetCode = - isPolyTransaction ? '' : widget.transactionReceipt.to.first.toJson()[1]['assetCode'].toString(); + final String securityRoot = isPolyTransaction + ? '' + : widget.transactionReceipt.to.first.toJson()[1]['securityRoot']; + final String assetCode = isPolyTransaction + ? '' + : widget.transactionReceipt.to.first + .toJson()[1]['assetCode'] + .toString(); final ModifierId? blockId = widget.transactionReceipt.blockId; final BlockNum? blockNumber = widget.transactionReceipt.blockNumber; final ModifierId transactionId = widget.transactionReceipt.id; final String renderPlusOrMinusPolyTransfer = - transactionReceiverAddress == widget.myRibnWalletAddress && isPolyTransaction ? '+' : '-'; - final String transactionAmountForPolyTransfer = '$renderPlusOrMinusPolyTransfer$transactionQuantity'; + transactionReceiverAddress == widget.myRibnWalletAddress && + isPolyTransaction + ? '+' + : '-'; + final String transactionAmountForPolyTransfer = + '$renderPlusOrMinusPolyTransfer$transactionQuantity'; String? transactionAmountForAssetTransfer() { - if (transactionReceiverAddress == widget.myRibnWalletAddress && !transactionQuantity.contains('-')) { + if (transactionReceiverAddress == widget.myRibnWalletAddress && + !transactionQuantity.contains('-')) { return '+$transactionQuantity'; - } else if (transactionReceiverAddress == widget.myRibnWalletAddress && transactionQuantity.contains('-')) { + } else if (transactionReceiverAddress == widget.myRibnWalletAddress && + transactionQuantity.contains('-')) { return transactionQuantity; - } else if (transactionReceiverAddress != widget.myRibnWalletAddress && transactionQuantity.contains('-')) { + } else if (transactionReceiverAddress != widget.myRibnWalletAddress && + transactionQuantity.contains('-')) { return transactionQuantity; } else if (transactionReceiverAddress != widget.myRibnWalletAddress && widget.transactionReceipt.minting == true) { @@ -99,7 +114,8 @@ class _TransactionDataRowState extends State { } String? renderSentReceivedMintedText() { - if (transactionReceiverAddress == widget.myRibnWalletAddress && !transactionQuantity.contains('-')) { + if (transactionReceiverAddress == widget.myRibnWalletAddress && + !transactionQuantity.contains('-')) { return 'Received'; } return 'Sent'; @@ -161,11 +177,13 @@ class _TransactionDataRowState extends State { children: [ Text( transactionAmountForPolyTransfer, - style: RibnToolkitTextStyles.extH3.copyWith(fontSize: 14), + style: RibnToolkitTextStyles.extH3 + .copyWith(fontSize: 14), ), Text( 'POLY', - style: RibnToolkitTextStyles.assetLongNameStyle.copyWith(fontSize: 11), + style: RibnToolkitTextStyles.assetLongNameStyle + .copyWith(fontSize: 11), ), ], ), @@ -182,7 +200,8 @@ class _TransactionDataRowState extends State { StatusChip(status: transactionStatus), Text( '${renderSentReceivedMintedText()} on $formattedDate', - style: RibnToolkitTextStyles.assetLongNameStyle.copyWith(fontSize: 11), + style: RibnToolkitTextStyles.assetLongNameStyle + .copyWith(fontSize: 11), ), ], ), @@ -197,7 +216,8 @@ class _TransactionDataRowState extends State { return StoreConnector( // Get access to AssetDetails for this asset from the store only if not poly transaction - converter: (store) => store.state.userDetailsState.assetDetails[assetCode], + converter: (store) => + store.state.userDetailsState.assetDetails[assetCode], builder: (context, assetDetails) { final List filteredAsset = widget.assets .where( @@ -215,7 +235,11 @@ class _TransactionDataRowState extends State { 'timestamp': formattedDateAlternate, 'assetDetails': assetDetails, 'icon': renderAssetIcon(assetDetails?.icon), - 'shortName': filteredAsset[0].assetCode.shortName.show.replaceAll('\x00', ''), + 'shortName': filteredAsset[0] + .assetCode + .shortName + .show + .replaceAll('\x00', ''), 'transactionStatus': transactionStatus, 'transactionAmount': '${transactionAmountForAssetTransfer()} ${formatAssetUnit(assetDetails?.unit ?? 'Unit')}', @@ -261,11 +285,18 @@ class _TransactionDataRowState extends State { children: [ Text( '${transactionAmountForAssetTransfer()} ${formatAssetUnit(assetDetails?.unit ?? 'Unit')}', - style: RibnToolkitTextStyles.extH3.copyWith(fontSize: 14), + style: RibnToolkitTextStyles.extH3 + .copyWith(fontSize: 14), ), Text( - filteredAsset[0].assetCode.shortName.show.replaceAll('\x00', ''), - style: RibnToolkitTextStyles.assetLongNameStyle.copyWith(fontSize: 11), + filteredAsset[0] + .assetCode + .shortName + .show + .replaceAll('\x00', ''), + style: RibnToolkitTextStyles + .assetLongNameStyle + .copyWith(fontSize: 11), ), ], ), @@ -282,7 +313,8 @@ class _TransactionDataRowState extends State { StatusChip(status: transactionStatus), Text( '${renderSentReceivedMintedText()} on $formattedDate', - style: RibnToolkitTextStyles.assetLongNameStyle.copyWith(fontSize: 11), + style: RibnToolkitTextStyles.assetLongNameStyle + .copyWith(fontSize: 11), ), ], ), diff --git a/lib/presentation/transaction_history/transaction_history_details_page/transaction_history_data_tile.dart b/lib/presentation/transaction_history/transaction_history_details_page/transaction_history_data_tile.dart index afe82a9d..6104890f 100644 --- a/lib/presentation/transaction_history/transaction_history_details_page/transaction_history_data_tile.dart +++ b/lib/presentation/transaction_history/transaction_history_details_page/transaction_history_data_tile.dart @@ -16,7 +16,9 @@ class TransactionHistoryDataTile extends StatelessWidget { @override Widget build(BuildContext context) { return ConstrainedBox( - constraints: reducedWidth == true ? const BoxConstraints(minWidth: 70) : const BoxConstraints(minWidth: 163), + constraints: reducedWidth == true + ? const BoxConstraints(minWidth: 70) + : const BoxConstraints(minWidth: 163), child: Column( crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.spaceAround, diff --git a/lib/presentation/transaction_history/transaction_history_details_page/transaction_history_details_page.dart b/lib/presentation/transaction_history/transaction_history_details_page/transaction_history_details_page.dart index 7390e75f..2bc2f2c7 100644 --- a/lib/presentation/transaction_history/transaction_history_details_page/transaction_history_details_page.dart +++ b/lib/presentation/transaction_history/transaction_history_details_page/transaction_history_details_page.dart @@ -28,7 +28,7 @@ class TxHistoryDetailsPage extends StatefulWidget { class _TxHistoryPageDetailsState extends State { @override Widget build(BuildContext context) { - final _scrollController = ScrollController(); + final scrollController = ScrollController(); final dataTileTextStyle = RibnToolkitTextStyles.hintStyle.copyWith( fontWeight: FontWeight.w400, @@ -39,9 +39,9 @@ class _TxHistoryPageDetailsState extends State { backgroundColor: RibnColors.background, body: Scrollbar( thumbVisibility: true, - controller: _scrollController, + controller: scrollController, child: SingleChildScrollView( - controller: _scrollController, + controller: scrollController, child: Column( children: [ const CustomPageTextTitle( @@ -101,7 +101,9 @@ class _TxHistoryPageDetailsState extends State { const SizedBox( height: 16, ), - const DashedListSeparator(color: RibnColors.lightGreyDivider), + const DashedListSeparator( + color: RibnColors.lightGreyDivider, + ), const SizedBox( height: 16, ), @@ -140,7 +142,9 @@ class _TxHistoryPageDetailsState extends State { const SizedBox( height: 16, ), - const DashedListSeparator(color: RibnColors.lightGreyDivider), + const DashedListSeparator( + color: RibnColors.lightGreyDivider, + ), const SizedBox( height: 16, ), @@ -150,7 +154,8 @@ class _TxHistoryPageDetailsState extends State { TransactionHistoryDataTile( tileTitle: 'Status', tileValue: StatusChip( - status: widget.transactionDetails!['transactionStatus'], + status: widget + .transactionDetails!['transactionStatus'], ), ), TransactionHistoryDataTile( @@ -166,7 +171,9 @@ class _TxHistoryPageDetailsState extends State { const SizedBox( height: 16, ), - const DashedListSeparator(color: RibnColors.lightGreyDivider), + const DashedListSeparator( + color: RibnColors.lightGreyDivider, + ), const SizedBox( height: 16, ), @@ -178,17 +185,20 @@ class _TxHistoryPageDetailsState extends State { SizedBox( width: 26, height: 26, - child: SvgPicture.asset(RibnAssets.myFingerprint), + child: + SvgPicture.asset(RibnAssets.myFingerprint), ), Padding( - padding: const EdgeInsets.symmetric(horizontal: 10), + padding: + const EdgeInsets.symmetric(horizontal: 10), child: Text( Strings.yourRibnWalletAddress, style: dataTileTextStyle, ), ), CustomCopyButton( - textToBeCopied: widget.transactionDetails!['myRibnWalletAddress'], + textToBeCopied: widget + .transactionDetails!['myRibnWalletAddress'], icon: Image.asset( RibnAssets.copyIcon, width: 20, @@ -200,7 +210,9 @@ class _TxHistoryPageDetailsState extends State { const SizedBox( height: 16, ), - const DashedListSeparator(color: RibnColors.lightGreyDivider), + const DashedListSeparator( + color: RibnColors.lightGreyDivider, + ), const SizedBox( height: 16, ), @@ -212,17 +224,26 @@ class _TxHistoryPageDetailsState extends State { SizedBox( width: 26, height: 26, - child: SvgPicture.asset(RibnAssets.recipientFingerprint), + child: SvgPicture.asset( + RibnAssets.recipientFingerprint, + ), ), Padding( - padding: const EdgeInsets.symmetric(horizontal: 10), + padding: + const EdgeInsets.symmetric(horizontal: 10), child: Text( - formatAddrString(widget.transactionDetails!['transactionSenderAddress'].toString()), + formatAddrString( + widget.transactionDetails![ + 'transactionSenderAddress'] + .toString(), + ), style: dataTileTextStyle, ), ), CustomCopyButton( - textToBeCopied: widget.transactionDetails!['transactionSenderAddress'].toString(), + textToBeCopied: widget.transactionDetails![ + 'transactionSenderAddress'] + .toString(), icon: Image.asset( RibnAssets.copyIcon, width: 20, @@ -234,7 +255,9 @@ class _TxHistoryPageDetailsState extends State { const SizedBox( height: 16, ), - const DashedListSeparator(color: RibnColors.lightGreyDivider), + const DashedListSeparator( + color: RibnColors.lightGreyDivider, + ), const SizedBox( height: 16, ), @@ -253,7 +276,9 @@ class _TxHistoryPageDetailsState extends State { const SizedBox( height: 16, ), - const DashedListSeparator(color: RibnColors.lightGreyDivider), + const DashedListSeparator( + color: RibnColors.lightGreyDivider, + ), widget.transactionDetails!['securityRoot'] == null ? const SizedBox() : Column( @@ -262,25 +287,32 @@ class _TxHistoryPageDetailsState extends State { height: 16, ), Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, + mainAxisAlignment: + MainAxisAlignment.spaceBetween, children: [ TransactionHistoryDataTile( tileTitle: 'Security Root', tileValue: Row( - mainAxisAlignment: MainAxisAlignment.start, + mainAxisAlignment: + MainAxisAlignment.start, children: [ Padding( - padding: const EdgeInsets.only(right: 10), + padding: const EdgeInsets.only( + right: 10, + ), child: Text( formatAddrString( - widget.transactionDetails!['securityRoot'], + widget.transactionDetails![ + 'securityRoot'], charsToDisplay: 4, ), style: dataTileTextStyle, ), ), CustomCopyButton( - textToBeCopied: widget.transactionDetails!['securityRoot'], + textToBeCopied: + widget.transactionDetails![ + 'securityRoot'], icon: Image.asset( RibnAssets.copyIcon, width: 20, @@ -294,7 +326,9 @@ class _TxHistoryPageDetailsState extends State { const SizedBox( height: 16, ), - const DashedListSeparator(color: RibnColors.lightGreyDivider), + const DashedListSeparator( + color: RibnColors.lightGreyDivider, + ), ], ), const SizedBox( @@ -312,14 +346,17 @@ class _TxHistoryPageDetailsState extends State { padding: const EdgeInsets.only(right: 10), child: Text( formatAddrString( - widget.transactionDetails!['blockId'].toString(), + widget.transactionDetails!['blockId'] + .toString(), charsToDisplay: 4, ), style: dataTileTextStyle, ), ), CustomCopyButton( - textToBeCopied: widget.transactionDetails!['blockId'].toString(), + textToBeCopied: widget + .transactionDetails!['blockId'] + .toString(), icon: Image.asset( RibnAssets.copyIcon, width: 20, @@ -337,12 +374,15 @@ class _TxHistoryPageDetailsState extends State { Padding( padding: const EdgeInsets.only(right: 10), child: Text( - widget.transactionDetails!['blockHeight'].toString(), + widget.transactionDetails!['blockHeight'] + .toString(), style: dataTileTextStyle, ), ), CustomCopyButton( - textToBeCopied: widget.transactionDetails!['blockHeight'].toString(), + textToBeCopied: widget + .transactionDetails!['blockHeight'] + .toString(), icon: Image.asset( RibnAssets.copyIcon, width: 20, @@ -356,7 +396,9 @@ class _TxHistoryPageDetailsState extends State { const SizedBox( height: 16, ), - const DashedListSeparator(color: RibnColors.lightGreyDivider), + const DashedListSeparator( + color: RibnColors.lightGreyDivider, + ), const SizedBox( height: 16, ), @@ -372,14 +414,18 @@ class _TxHistoryPageDetailsState extends State { padding: const EdgeInsets.only(right: 10), child: Text( formatAddrString( - widget.transactionDetails!['transactionId'].toString(), + widget.transactionDetails![ + 'transactionId'] + .toString(), charsToDisplay: 4, ), style: dataTileTextStyle, ), ), CustomCopyButton( - textToBeCopied: widget.transactionDetails!['transactionId'].toString(), + textToBeCopied: widget + .transactionDetails!['transactionId'] + .toString(), icon: Image.asset( RibnAssets.copyIcon, width: 20, diff --git a/lib/presentation/transaction_history/transaction_history_page.dart b/lib/presentation/transaction_history/transaction_history_page.dart index f3971c74..97931f0a 100644 --- a/lib/presentation/transaction_history/transaction_history_page.dart +++ b/lib/presentation/transaction_history/transaction_history_page.dart @@ -134,7 +134,11 @@ class _TxHistoryPageState extends State { ), FutureBuilder( future: fetchTxHistory( - context, vm.toplAddress, vm.networkId, vm,), + context, + vm.toplAddress, + vm.networkId, + vm, + ), builder: (context, AsyncSnapshot snapshot) { switch (snapshot.connectionState) { case ConnectionState.done: @@ -176,7 +180,9 @@ class _TxHistoryPageState extends State { borderRadius: BorderRadius.circular(11.6), color: RibnColors.whiteBackground, border: Border.all( - color: RibnColors.lightGrey, width: 1,), + color: RibnColors.lightGrey, + width: 1, + ), boxShadow: const [ BoxShadow( color: RibnColors.greyShadow, @@ -215,7 +221,8 @@ class _TxHistoryPageState extends State { }, separatorBuilder: (context, index) { return const DashedListSeparator( - color: RibnColors.lightGreyDivider,); + color: RibnColors.lightGreyDivider, + ); }, ), ), diff --git a/lib/presentation/transfers/asset_transfer_page.dart b/lib/presentation/transfers/asset_transfer_page.dart index 0396f473..36c12bf8 100644 --- a/lib/presentation/transfers/asset_transfer_page.dart +++ b/lib/presentation/transfers/asset_transfer_page.dart @@ -69,14 +69,16 @@ class _AssetTransferPageState extends State { padding: const EdgeInsets.symmetric(horizontal: 10), child: Text( Strings.sendAssets, - style: RibnToolkitTextStyles.btnMedium.copyWith(color: RibnColors.defaultText), + style: RibnToolkitTextStyles.btnMedium + .copyWith(color: RibnColors.defaultText), ), ), 1: Padding( padding: const EdgeInsets.symmetric(horizontal: 10), child: Text( Strings.sendNativeCoins, - style: RibnToolkitTextStyles.btnMedium.copyWith(color: RibnColors.defaultText), + style: RibnToolkitTextStyles.btnMedium + .copyWith(color: RibnColors.defaultText), ), ), }, @@ -87,13 +89,15 @@ class _AssetTransferPageState extends State { ? AssetTransferInputContainer( builder: (context, vm) => AssetTransferSection( vm: vm, - updateButton: (val) => setState(() => bottomButton = val), + updateButton: (val) => + setState(() => bottomButton = val), ), ) : PolyTransferInputContainer( builder: (context, vm) => PolyTransferSection( vm: vm, - updateButton: (val) => setState(() => bottomButton = val), + updateButton: (val) => + setState(() => bottomButton = val), ), ), const SizedBox(height: 18), diff --git a/lib/presentation/transfers/asset_transfer_section.dart b/lib/presentation/transfers/asset_transfer_section.dart index ddd51c18..33be2bca 100644 --- a/lib/presentation/transfers/asset_transfer_section.dart +++ b/lib/presentation/transfers/asset_transfer_section.dart @@ -83,7 +83,8 @@ class _AssetTransferSectionState extends State { }); } - void disposeController(TextEditingController controller) => controller.dispose(); + void disposeController(TextEditingController controller) => + controller.dispose(); void renderBottomButton() { return WidgetsBinding.instance.addPostFrameCallback((_) { @@ -139,15 +140,25 @@ class _AssetTransferSectionState extends State { AssetSelectionField( formattedSelectedAsset: { 'assetCode': _selectedAsset?.assetCode.toString(), - 'longName': widget.vm.assetDetails[_selectedAsset?.assetCode.toString()]?.longName, + 'longName': widget + .vm + .assetDetails[_selectedAsset?.assetCode.toString()] + ?.longName, 'shortName': _selectedAsset?.assetCode.shortName.show, - 'assetIcon': widget.vm.assetDetails[_selectedAsset?.assetCode.toString()]?.icon, + 'assetIcon': widget + .vm + .assetDetails[_selectedAsset?.assetCode.toString()] + ?.icon, }, formattedAsset: (asset) { return { - 'longName': widget.vm.assetDetails[asset!.assetCode.toString()]?.longName, + 'longName': widget + .vm + .assetDetails[asset!.assetCode.toString()] + ?.longName, 'shortName': asset.assetCode.shortName.show, - 'assetIcon': widget.vm.assetDetails[asset!.assetCode.toString()]?.icon, + 'assetIcon': widget + .vm.assetDetails[asset!.assetCode.toString()]?.icon, }; }, assets: widget.vm.assets, @@ -175,18 +186,25 @@ class _AssetTransferSectionState extends State { setState(() { _validAmount = TransferUtils.validateAmount( amount, - widget.vm.getAssetBalance(_selectedAsset?.assetCode.toString()), + widget.vm.getAssetBalance( + _selectedAsset?.assetCode.toString(), + ), ); }); }, - selectedUnit: widget.vm.assetDetails[_selectedAsset?.assetCode.toString()]?.unit, + selectedUnit: widget + .vm + .assetDetails[_selectedAsset?.assetCode.toString()] + ?.unit, controller: _amountController, allowEditingUnit: false, onUnitSelected: (String amount) { setState(() { _validAmount = TransferUtils.validateAmount( amount, - widget.vm.getAssetBalance(_selectedAsset?.assetCode.toString()), + widget.vm.getAssetBalance( + _selectedAsset?.assetCode.toString(), + ), ); }); }, @@ -194,7 +212,8 @@ class _AssetTransferSectionState extends State { RibnAssets.chevronDownDark, width: 24, ), - maxTransferrableAmount: widget.vm.getAssetBalance(_selectedAsset?.assetCode.toString()), + maxTransferrableAmount: widget.vm + .getAssetBalance(_selectedAsset?.assetCode.toString()), ), // Displays the sender address. const FromAddressField(), @@ -210,7 +229,8 @@ class _AssetTransferSectionState extends State { if (mounted) { setState(() { if (result) { - _validRecipientAddress = _recipientController.text; + _validRecipientAddress = + _recipientController.text; _recipientController.text = ''; } else { _validRecipientAddress = ''; @@ -231,8 +251,11 @@ class _AssetTransferSectionState extends State { if (_validRecipientAddress.isNotEmpty) { _recipientController.text = _validRecipientAddress; _recipientController - ..text = _recipientController.text.substring(0, _recipientController.text.length) - ..selection = TextSelection.collapsed(offset: _recipientController.text.length); + ..text = _recipientController.text + .substring(0, _recipientController.text.length) + ..selection = TextSelection.collapsed( + offset: _recipientController.text.length, + ); } _validRecipientAddress = ''; }); @@ -257,8 +280,9 @@ class _AssetTransferSectionState extends State { } Widget _buildReviewButton(AssetTransferInputViewModel vm) { - final bool enteredValidInputs = - _validRecipientAddress.isNotEmpty && _amountController.text.isNotEmpty && _validAmount; + final bool enteredValidInputs = _validRecipientAddress.isNotEmpty && + _amountController.text.isNotEmpty && + _validAmount; return Padding( padding: const EdgeInsets.only(top: 10, bottom: 10), @@ -279,7 +303,8 @@ class _AssetTransferSectionState extends State { amount: _amountController.text, note: _noteController.text, assetCode: _selectedAsset!.assetCode, - assetDetails: vm.assetDetails[_selectedAsset!.assetCode.toString()], + assetDetails: + vm.assetDetails[_selectedAsset!.assetCode.toString()], onRawTxCreated: (bool success) async { context.loaderOverlay.hide(); // Display error dialog if failed to create raw tx diff --git a/lib/presentation/transfers/bottom_review_action.dart b/lib/presentation/transfers/bottom_review_action.dart index 1979874a..95a59c12 100644 --- a/lib/presentation/transfers/bottom_review_action.dart +++ b/lib/presentation/transfers/bottom_review_action.dart @@ -36,11 +36,11 @@ class BottomReviewAction extends StatelessWidget { ), child: BottomAppBar( color: transparentBackground ? Colors.transparent : Colors.white, + elevation: 0, child: Padding( padding: const EdgeInsets.fromLTRB(20, 16, 20, kIsWeb ? 16 : 0), child: children, ), - elevation: 0, ), ), ); diff --git a/lib/presentation/transfers/mint_input_page.dart b/lib/presentation/transfers/mint_input_page.dart index 2666b224..53871776 100644 --- a/lib/presentation/transfers/mint_input_page.dart +++ b/lib/presentation/transfers/mint_input_page.dart @@ -38,8 +38,10 @@ class MintInputPage extends StatefulWidget { class _MintInputPageState extends State { final TextEditingController _noteController = TextEditingController(); - final TextEditingController _assetLongNameController = TextEditingController(); - final TextEditingController _assetShortNameController = TextEditingController(); + final TextEditingController _assetLongNameController = + TextEditingController(); + final TextEditingController _assetShortNameController = + TextEditingController(); final TextEditingController _amountController = TextEditingController(); final TextEditingController _recipientController = TextEditingController(); late List _controllers; @@ -158,7 +160,9 @@ class _MintInputPageState extends State { ), ), // ignore: prefer_const_constructors - IssuerAddressField(width: 213), // const ignored here so that tooltip can be dismissed + IssuerAddressField( + width: 213, + ), // const ignored here so that tooltip can be dismissed // field for entering the recipient address RecipientField( controller: _recipientController, @@ -183,8 +187,11 @@ class _MintInputPageState extends State { if (_validRecipientAddress.isNotEmpty) { _recipientController.text = _validRecipientAddress; _recipientController - ..text = _recipientController.text.substring(0, _recipientController.text.length) - ..selection = TextSelection.collapsed(offset: _recipientController.text.length); + ..text = _recipientController.text + .substring(0, _recipientController.text.length) + ..selection = TextSelection.collapsed( + offset: _recipientController.text.length, + ); } _validRecipientAddress = ''; }); @@ -242,14 +249,16 @@ class _MintInputPageState extends State { padding: const EdgeInsets.symmetric(horizontal: 10), child: Text( Strings.mintAsset, - style: RibnToolkitTextStyles.btnMedium.copyWith(color: RibnColors.defaultText), + style: RibnToolkitTextStyles.btnMedium + .copyWith(color: RibnColors.defaultText), ), ), 1: Padding( padding: const EdgeInsets.symmetric(horizontal: 10), child: Text( Strings.mintExistingAsset, - style: RibnToolkitTextStyles.btnMedium.copyWith(color: RibnColors.defaultText), + style: RibnToolkitTextStyles.btnMedium + .copyWith(color: RibnColors.defaultText), ), ), }, @@ -312,13 +321,16 @@ class _MintInputPageState extends State { : AssetSelectionField( formattedSelectedAsset: { 'assetCode': _selectedAsset?.assetCode.toString(), - 'longName': vm.assetDetails[_selectedAsset?.assetCode.toString()]?.longName, + 'longName': vm + .assetDetails[_selectedAsset?.assetCode.toString()]?.longName, 'shortName': _selectedAsset?.assetCode.shortName.show, - 'assetIcon': vm.assetDetails[_selectedAsset?.assetCode.toString()]?.icon, + 'assetIcon': + vm.assetDetails[_selectedAsset?.assetCode.toString()]?.icon, }, formattedAsset: (asset) { return { - 'longName': vm.assetDetails[asset!.assetCode.toString()]?.longName, + 'longName': + vm.assetDetails[asset!.assetCode.toString()]?.longName, 'shortName': asset.assetCode.shortName.show, 'assetIcon': vm.assetDetails[asset!.assetCode.toString()]?.icon, }; @@ -327,7 +339,8 @@ class _MintInputPageState extends State { onSelected: (AssetAmount? asset) { setState(() { _selectedAsset = asset; - _selectedUnit = vm.assetDetails[asset!.assetCode.toString()]?.unit; + _selectedUnit = + vm.assetDetails[asset!.assetCode.toString()]?.unit; _assetShortNameController.text = asset.assetCode.shortName.show; }); }, diff --git a/lib/presentation/transfers/poly_transfer_section.dart b/lib/presentation/transfers/poly_transfer_section.dart index 2a73b69a..19262b52 100644 --- a/lib/presentation/transfers/poly_transfer_section.dart +++ b/lib/presentation/transfers/poly_transfer_section.dart @@ -145,8 +145,11 @@ class _PolyTransferSectionState extends State { if (_validRecipientAddress.isNotEmpty) { _recipientController.text = _validRecipientAddress; _recipientController - ..text = _recipientController.text.substring(0, _recipientController.text.length) - ..selection = TextSelection.collapsed(offset: _recipientController.text.length); + ..text = _recipientController.text + .substring(0, _recipientController.text.length) + ..selection = TextSelection.collapsed( + offset: _recipientController.text.length, + ); } _validRecipientAddress = ''; }); @@ -229,8 +232,9 @@ class _PolyTransferSectionState extends State { } Widget _buildReviewButton(PolyTransferInputViewModel vm) { - final bool enteredValidInputs = - _validRecipientAddress.isNotEmpty && _amountController.text.isNotEmpty && _validAmount; + final bool enteredValidInputs = _validRecipientAddress.isNotEmpty && + _amountController.text.isNotEmpty && + _validAmount; return Padding( padding: const EdgeInsets.only(top: 10, bottom: 10), diff --git a/lib/presentation/transfers/tx_confirmation_page.dart b/lib/presentation/transfers/tx_confirmation_page.dart index d152005c..ff5680ee 100644 --- a/lib/presentation/transfers/tx_confirmation_page.dart +++ b/lib/presentation/transfers/tx_confirmation_page.dart @@ -77,7 +77,9 @@ class TxConfirmationPage extends StatelessWidget { ), ), onPressed: () { - Keys.navigatorKey.currentState!.popUntil((route) => route.settings.name == Routes.home); + Keys.navigatorKey.currentState!.popUntil( + (route) => route.settings.name == Routes.home, + ); }, ), ), @@ -105,13 +107,15 @@ class TxConfirmationPage extends StatelessWidget { /// /// Different for minting asset and asset/poly transfer. Widget _buildsPageTitle() { - final String text = mintedAsset ? Strings.assetIsBeingMinted : Strings.txWasBroadcasted; + final String text = + mintedAsset ? Strings.assetIsBeingMinted : Strings.txWasBroadcasted; return SizedBox( width: 220, child: Text( text, - style: RibnToolkitTextStyles.h2.copyWith(color: RibnColors.lightGreyTitle), + style: + RibnToolkitTextStyles.h2.copyWith(color: RibnColors.lightGreyTitle), textAlign: TextAlign.center, ), ); @@ -119,7 +123,8 @@ class TxConfirmationPage extends StatelessWidget { /// Displays information about the tx that was broadcasted. Widget _buildTxInfo() { - final String txInfo = transferDetails.transferType == TransferType.polyTransfer + final String txInfo = transferDetails.transferType == + TransferType.polyTransfer ? '${transferDetails.amount} ${'POLY'}' : '${transferDetails.amount} of ${transferDetails.assetCode!.shortName.show}'; @@ -130,22 +135,31 @@ class TxConfirmationPage extends StatelessWidget { RichText( textAlign: TextAlign.center, text: TextSpan( - style: RibnToolkitTextStyles.h3.copyWith(fontWeight: FontWeight.bold, color: RibnColors.lightGreyTitle), + style: RibnToolkitTextStyles.h3.copyWith( + fontWeight: FontWeight.bold, + color: RibnColors.lightGreyTitle, + ), children: [ TextSpan( text: 'Your ', - style: - RibnToolkitTextStyles.h3.copyWith(fontWeight: FontWeight.bold, color: RibnColors.lightGreyTitle), + style: RibnToolkitTextStyles.h3.copyWith( + fontWeight: FontWeight.bold, + color: RibnColors.lightGreyTitle, + ), ), TextSpan( text: txInfo, - style: - RibnToolkitTextStyles.h3.copyWith(fontWeight: FontWeight.bold, color: RibnColors.lightGreyTitle), + style: RibnToolkitTextStyles.h3.copyWith( + fontWeight: FontWeight.bold, + color: RibnColors.lightGreyTitle, + ), ), TextSpan( text: ' was sent to the Topl blockchain.', - style: - RibnToolkitTextStyles.h3.copyWith(fontWeight: FontWeight.bold, color: RibnColors.lightGreyTitle), + style: RibnToolkitTextStyles.h3.copyWith( + fontWeight: FontWeight.bold, + color: RibnColors.lightGreyTitle, + ), ), ], ), @@ -163,7 +177,10 @@ class TxConfirmationPage extends StatelessWidget { children: [ Text( 'Transaction ID: ${formatAddrString(transferDetails.transactionId!, charsToDisplay: 4)}', - style: RibnToolkitTextStyles.h4.copyWith(fontWeight: FontWeight.w400, color: RibnColors.lightGreyTitle), + style: RibnToolkitTextStyles.h4.copyWith( + fontWeight: FontWeight.w400, + color: RibnColors.lightGreyTitle, + ), textAlign: TextAlign.center, ), const SizedBox(width: 5), @@ -197,8 +214,10 @@ class TxConfirmationPage extends StatelessWidget { children: [ Text( Strings.viewInToplExplorer, - style: - RibnToolkitTextStyles.h4.copyWith(fontWeight: FontWeight.w400, color: RibnColors.secondaryDark), + style: RibnToolkitTextStyles.h4.copyWith( + fontWeight: FontWeight.w400, + color: RibnColors.secondaryDark, + ), ), const SizedBox(width: 5), Image.asset( diff --git a/lib/presentation/transfers/tx_review_page.dart b/lib/presentation/transfers/tx_review_page.dart index 66cc1148..d9286019 100644 --- a/lib/presentation/transfers/tx_review_page.dart +++ b/lib/presentation/transfers/tx_review_page.dart @@ -71,7 +71,8 @@ class TxReviewPage extends StatelessWidget { decoration: BoxDecoration( borderRadius: BorderRadius.circular(11.6), color: RibnColors.whiteBackground, - border: Border.all(color: RibnColors.lightGrey, width: 1), + border: + Border.all(color: RibnColors.lightGrey, width: 1), boxShadow: const [ BoxShadow( color: RibnColors.greyShadow, @@ -100,7 +101,10 @@ class TxReviewPage extends StatelessWidget { padding: const EdgeInsets.symmetric(vertical: 38), child: SizedBox( width: 310, - child: FeeInfo(fee: transferDetails.transactionReceipt!.fee!.getInNanopoly), + child: FeeInfo( + fee: transferDetails + .transactionReceipt!.fee!.getInNanopoly, + ), ), ), ], @@ -127,8 +131,11 @@ class TxReviewPage extends StatelessWidget { onPressed: () async { context.loaderOverlay.show(); final Completer txCompleter = Completer(); - StoreProvider.of(context).dispatch(SignAndBroadcastTxAction(transferDetails, txCompleter)); - await txCompleter.future.then((TransferDetails? transferDetails) { + StoreProvider.of(context).dispatch( + SignAndBroadcastTxAction(transferDetails, txCompleter), + ); + await txCompleter.future + .then((TransferDetails? transferDetails) { if (transferDetails != null) { Keys.navigatorKey.currentState?.pushNamed( Routes.txConfirmation, @@ -157,7 +164,8 @@ class TxReviewPage extends StatelessWidget { dropShadowColor: Colors.transparent, borderColor: RibnColors.ghostButtonText, onPressed: () { - Keys.navigatorKey.currentState!.popUntil((route) => route.settings.name == Routes.home); + Keys.navigatorKey.currentState! + .popUntil((route) => route.settings.name == Routes.home); }, ), const SizedBox(height: 13), @@ -169,7 +177,11 @@ class TxReviewPage extends StatelessWidget { } /// A helper function used to build review items on this page. - Widget _buildReviewItem({required String itemLabel, required Widget item, bool divider = true}) { + Widget _buildReviewItem({ + required String itemLabel, + required Widget item, + bool divider = true, + }) { return Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ @@ -218,7 +230,10 @@ class TxReviewPage extends StatelessWidget { Text('POLY', style: defaultTextStyle), ], ) - : AssetInfo(assetCode: transferDetails.assetCode!, assetDetails: transferDetails.assetDetails), + : AssetInfo( + assetCode: transferDetails.assetCode!, + assetDetails: transferDetails.assetDetails, + ), ], ), ); @@ -246,7 +261,8 @@ class TxReviewPage extends StatelessWidget { ), ), CustomCopyButton( - textToBeCopied: transferDetails.senders.first.toplAddress.toBase58(), + textToBeCopied: + transferDetails.senders.first.toplAddress.toBase58(), icon: Image.asset( RibnAssets.copyIcon, width: 26, @@ -279,7 +295,8 @@ class TxReviewPage extends StatelessWidget { ), ), CustomCopyButton( - textToBeCopied: transferDetails.senders.first.toplAddress.toBase58(), + textToBeCopied: + transferDetails.senders.first.toplAddress.toBase58(), icon: Image.asset( RibnAssets.copyIcon, width: 26, diff --git a/lib/reducers/internal_message_reducer.dart b/lib/reducers/internal_message_reducer.dart index 93e21ac1..65a9e66d 100644 --- a/lib/reducers/internal_message_reducer.dart +++ b/lib/reducers/internal_message_reducer.dart @@ -5,10 +5,15 @@ import 'package:ribn/models/internal_message.dart'; /// Reducer responsible for updating currently pending [InternalMessage], i.e. [AppState.internalMessage]. final internalMessageReducer = combineReducers( [ - TypedReducer(_onReceivedInternalMsg), + TypedReducer( + _onReceivedInternalMsg, + ), ], ); -InternalMessage _onReceivedInternalMsg(InternalMessage? internalMessage, ReceivedInternalMsgAction action) { +InternalMessage _onReceivedInternalMsg( + InternalMessage? internalMessage, + ReceivedInternalMsgAction action, +) { return action.pendingRequest; } diff --git a/lib/reducers/keychain_reducer.dart b/lib/reducers/keychain_reducer.dart index 091902b4..8c4b5f2f 100644 --- a/lib/reducers/keychain_reducer.dart +++ b/lib/reducers/keychain_reducer.dart @@ -9,10 +9,16 @@ import 'package:ribn/models/ribn_network.dart'; /// Reducer responsible for updating [KeyChainState] final keychainReducer = combineReducers( [ - TypedReducer(_onHdWalletInitialization), - TypedReducer(_onNetworksUpdated), + TypedReducer( + _onHdWalletInitialization, + ), + TypedReducer( + _onNetworksUpdated, + ), TypedReducer(_onAddAddresses), - TypedReducer(_onCurrentNetworkUpdated), + TypedReducer( + _onCurrentNetworkUpdated, + ), TypedReducer(_onBalancesUpdated), ], ); @@ -20,7 +26,10 @@ final keychainReducer = combineReducers( /// Creates a new [HdWallet] upon successful login, where root = toplExtendedPrivateKey. /// /// Optionally updates the [keyStoreJson], for instance, when creating a new wallet for the first time. -KeychainState _onHdWalletInitialization(KeychainState keychainState, InitializeHDWalletAction action) { +KeychainState _onHdWalletInitialization( + KeychainState keychainState, + InitializeHDWalletAction action, +) { return keychainState.copyWith( keyStoreJson: action.keyStoreJson ?? keychainState.keyStoreJson, hdWallet: HdWallet( @@ -33,7 +42,10 @@ KeychainState _onHdWalletInitialization(KeychainState keychainState, InitializeH } /// Updates ribn networks with [action.networkAddresses]. -KeychainState _onNetworksUpdated(KeychainState keychainState, UpdateNetworksWithAddressesAction action) { +KeychainState _onNetworksUpdated( + KeychainState keychainState, + UpdateNetworksWithAddressesAction action, +) { final Map networks = Map.from(keychainState.networks); networks.forEach( (networkName, ribnNetwork) { @@ -46,7 +58,10 @@ KeychainState _onNetworksUpdated(KeychainState keychainState, UpdateNetworksWith } /// Add [action.addresses] to the list of addresses under the network specified by [action.networkName]. -KeychainState _onAddAddresses(KeychainState keychainState, AddAddressAction action) { +KeychainState _onAddAddresses( + KeychainState keychainState, + AddAddressAction action, +) { final RibnNetwork network = keychainState.networks[action.networkName]!; final RibnNetwork updatedNetwork = network.copyWith( addresses: List.from(network.addresses)..add(action.address), @@ -63,7 +78,10 @@ KeychainState _onAddAddresses(KeychainState keychainState, AddAddressAction acti /// /// More specifically, updates the [keychainState.currentNetworkName] and the [lastCheckedTimestamp] of the network associated with /// [action.networkName]. -KeychainState _onCurrentNetworkUpdated(KeychainState keychainState, UpdateCurrentNetworkAction action) { +KeychainState _onCurrentNetworkUpdated( + KeychainState keychainState, + UpdateCurrentNetworkAction action, +) { return keychainState.copyWith( currentNetworkName: action.networkName, networks: { @@ -76,7 +94,10 @@ KeychainState _onCurrentNetworkUpdated(KeychainState keychainState, UpdateCurren } /// Updates the current network with a list of addresses that have updated balances. -KeychainState _onBalancesUpdated(KeychainState keychainState, UpdateBalancesAction action) { +KeychainState _onBalancesUpdated( + KeychainState keychainState, + UpdateBalancesAction action, +) { return keychainState.copyWith( networks: { ...keychainState.networks, diff --git a/lib/reducers/onboarding_reducer.dart b/lib/reducers/onboarding_reducer.dart index b0190383..b17ba7e0 100644 --- a/lib/reducers/onboarding_reducer.dart +++ b/lib/reducers/onboarding_reducer.dart @@ -7,12 +7,17 @@ import 'package:ribn/models/onboarding_state.dart'; final onboardingReducer = combineReducers( [ TypedReducer(_onUserSelectedWord), - TypedReducer(_onMnemonicGenerated), + TypedReducer( + _onMnemonicGenerated, + ), ], ); /// Updates the mnemonic in [AppState] -OnboardingState _onMnemonicGenerated(OnboardingState onboardingState, MnemonicSuccessfullyGeneratedAction action) { +OnboardingState _onMnemonicGenerated( + OnboardingState onboardingState, + MnemonicSuccessfullyGeneratedAction action, +) { return onboardingState.copyWith( mnemonic: action.mnemonic, shuffledMnemonic: List.from(action.mnemonic.split(' '))..shuffle(Random()), @@ -20,8 +25,12 @@ OnboardingState _onMnemonicGenerated(OnboardingState onboardingState, MnemonicSu ); } -OnboardingState _onUserSelectedWord(OnboardingState onboardingState, UserSelectedWordAction action) { +OnboardingState _onUserSelectedWord( + OnboardingState onboardingState, + UserSelectedWordAction action, +) { return onboardingState.copyWith( - userSelectedIndices: List.from(onboardingState.userSelectedIndices ?? [])..add(action.idx), + userSelectedIndices: List.from(onboardingState.userSelectedIndices ?? []) + ..add(action.idx), ); } diff --git a/lib/reducers/user_details_reducer.dart b/lib/reducers/user_details_reducer.dart index 07481bad..02072070 100644 --- a/lib/reducers/user_details_reducer.dart +++ b/lib/reducers/user_details_reducer.dart @@ -5,15 +5,23 @@ import 'package:ribn/models/user_details_state.dart'; final userDetailsReducer = combineReducers( [ - TypedReducer(_updateAssetDetails), - TypedReducer(_updateBiometricsAction), + TypedReducer( + _updateAssetDetails, + ), + TypedReducer( + _updateBiometricsAction, + ), ], ); /// Handles [UpdateAssetDetailsAction] and updates the [assetDetails] that are stored locally, associated /// with [action.assetCode]. -UserDetailsState _updateAssetDetails(UserDetailsState userDetails, UpdateAssetDetailsAction action) { - final AssetDetails? currAssetDetails = userDetails.assetDetails[action.assetCode]; +UserDetailsState _updateAssetDetails( + UserDetailsState userDetails, + UpdateAssetDetailsAction action, +) { + final AssetDetails? currAssetDetails = + userDetails.assetDetails[action.assetCode]; return userDetails.copyWith( assetDetails: { ...userDetails.assetDetails, @@ -27,7 +35,10 @@ UserDetailsState _updateAssetDetails(UserDetailsState userDetails, UpdateAssetDe } /// Handles [UpdateBiometricsAction] and updates [isBiometricsEnabled] that is stored locally -UserDetailsState _updateBiometricsAction(UserDetailsState userDetails, UpdateBiometricsAction action) { +UserDetailsState _updateBiometricsAction( + UserDetailsState userDetails, + UpdateBiometricsAction action, +) { return userDetails.copyWith( isBiometricsEnabled: action.isBiometricsEnabled, ); diff --git a/lib/redux.dart b/lib/redux.dart index 9ce50007..552c9294 100644 --- a/lib/redux.dart +++ b/lib/redux.dart @@ -15,11 +15,13 @@ import 'package:ribn/repositories/transaction_repository.dart'; class Redux { static Store? _store; - static const OnboardingRespository onboardingRespository = OnboardingRespository(); + static const OnboardingRespository onboardingRespository = + OnboardingRespository(); static const LoginRepository loginRepository = LoginRepository(); static const MiscRepository miscRepository = MiscRepository(); static const KeychainRepository keychainRepository = KeychainRepository(); - static const TransactionRepository transactionRepository = TransactionRepository(); + static const TransactionRepository transactionRepository = + TransactionRepository(); static Store? get store { if (_store == null) { @@ -55,8 +57,10 @@ class Redux { static Future> getPersistedAppState() async { try { - final String persistedAppState = await PlatformLocalStorage.instance.getState(); - final Map mappedAppState = jsonDecode(persistedAppState) as Map; + final String persistedAppState = + await PlatformLocalStorage.instance.getState(); + final Map mappedAppState = + jsonDecode(persistedAppState) as Map; return mappedAppState; } catch (e) { return {}; @@ -70,7 +74,8 @@ class Redux { try { final Map appState = await getPersistedAppState(); if (kIsWeb) { - final String? toplKey = await PlatformLocalStorage.instance.getKeyFromSessionStorage(); + final String? toplKey = + await PlatformLocalStorage.instance.getKeyFromSessionStorage(); appState['keychainState']['toplKey'] = toplKey; } return AppState.fromMap(appState); diff --git a/lib/repositories/keychain_repository.dart b/lib/repositories/keychain_repository.dart index 4fa1dd24..c6fe5bb9 100644 --- a/lib/repositories/keychain_repository.dart +++ b/lib/repositories/keychain_repository.dart @@ -21,8 +21,13 @@ class KeychainRepository { int addr = Rules.defaultAddressIndex, required int networkId, }) { - final Bip32KeyPair keyPair = hdWallet.deriveLastThreeLayers(account: account, change: change, address: addr); - final ToplAddress toplAddress = hdWallet.toBaseAddress(spend: keyPair.publicKey!, networkId: networkId); + final Bip32KeyPair keyPair = hdWallet.deriveLastThreeLayers( + account: account, + change: change, + address: addr, + ); + final ToplAddress toplAddress = + hdWallet.toBaseAddress(spend: keyPair.publicKey!, networkId: networkId); final String keyPath = getKeyPath(purpose, coinType, account, change, addr); final RibnAddress newAddress = RibnAddress( toplAddress: toplAddress, @@ -36,13 +41,27 @@ class KeychainRepository { } /// Constructs the key path, given the indices for [purpose], [coinType], [account], [change], and [address]. - String getKeyPath(int purpose, int coinType, int account, int change, int address) { + String getKeyPath( + int purpose, + int coinType, + int account, + int change, + int address, + ) { String keyPath = 'm/'; - keyPath += isHardened(purpose) ? "${purpose - Rules.hardenedOffset}'/" : '$purpose/'; - keyPath += isHardened(coinType) ? "${coinType - Rules.hardenedOffset}'/" : '$coinType/'; - keyPath += isHardened(account) ? "${account - Rules.hardenedOffset}'/" : '$account/'; - keyPath += isHardened(change) ? "${change - Rules.hardenedOffset}'/" : '$change/'; - keyPath += isHardened(address) ? "${address - Rules.hardenedOffset}'" : '$address'; + keyPath += isHardened(purpose) + ? "${purpose - Rules.hardenedOffset}'/" + : '$purpose/'; + keyPath += isHardened(coinType) + ? "${coinType - Rules.hardenedOffset}'/" + : '$coinType/'; + keyPath += isHardened(account) + ? "${account - Rules.hardenedOffset}'/" + : '$account/'; + keyPath += + isHardened(change) ? "${change - Rules.hardenedOffset}'/" : '$change/'; + keyPath += + isHardened(address) ? "${address - Rules.hardenedOffset}'" : '$address'; return keyPath; } @@ -55,7 +74,10 @@ class KeychainRepository { } /// Get corresponding crendentials of the [addresses] provided, using [hdWallet]. - List getCredentials(HdWallet hdWallet, List addresses) { + List getCredentials( + HdWallet hdWallet, + List addresses, + ) { final List creds = []; for (RibnAddress addr in addresses) { final Bip32KeyPair keyPair = hdWallet.deriveLastThreeLayers( diff --git a/lib/repositories/login_repository.dart b/lib/repositories/login_repository.dart index 4a125f64..4c900d7c 100644 --- a/lib/repositories/login_repository.dart +++ b/lib/repositories/login_repository.dart @@ -11,8 +11,10 @@ class LoginRepository { /// [params] must have a `keyStoreJson` and `password`. Uint8List decryptKeyStore(Map params) { const Base58Encoder base58Encoder = Base58Encoder.instance; - final KeyStore keyStore = KeyStore.fromV1Json(params['keyStoreJson'], params['password']); - final Uint8List toplExtendedPrvKeyUint8List = base58Encoder.decode(keyStore.privateKey); + final KeyStore keyStore = + KeyStore.fromV1Json(params['keyStoreJson'], params['password']); + final Uint8List toplExtendedPrvKeyUint8List = + base58Encoder.decode(keyStore.privateKey); return toplExtendedPrvKeyUint8List; } } diff --git a/lib/repositories/onboarding_repository.dart b/lib/repositories/onboarding_repository.dart index 36fa3d18..4a7ac1f1 100644 --- a/lib/repositories/onboarding_repository.dart +++ b/lib/repositories/onboarding_repository.dart @@ -19,8 +19,10 @@ class OnboardingRespository { const Base58Encoder base58Encoder = Base58Encoder.instance; final String mnemonic = generateMnemonic(random); final Bip32KeyPair toplExtendedKeyPair = deriveToplExtendedKeys(mnemonic); - final Uint8List toplExtendedPrvKeyUint8List = Uint8List.fromList(toplExtendedKeyPair.privateKey!); - final String base58EncodedToplExtendedPrvKey = base58Encoder.encode(toplExtendedPrvKeyUint8List); + final Uint8List toplExtendedPrvKeyUint8List = + Uint8List.fromList(toplExtendedKeyPair.privateKey!); + final String base58EncodedToplExtendedPrvKey = + base58Encoder.encode(toplExtendedPrvKeyUint8List); final KeyStore keyStore = KeyStore.createNew( base58EncodedToplExtendedPrvKey, password, @@ -45,9 +47,12 @@ class OnboardingRespository { Map generateKeyStore(Map params) { const Base58Encoder base58Encoder = Base58Encoder.instance; final Random random = Random.secure(); - final Bip32KeyPair toplExtendedKeyPair = deriveToplExtendedKeys(params['mnemonic']); - final Uint8List toplExtendedPrvKeyUint8List = Uint8List.fromList(toplExtendedKeyPair.privateKey!); - final String base58EncodedToplExtendedPrvKey = base58Encoder.encode(toplExtendedPrvKeyUint8List); + final Bip32KeyPair toplExtendedKeyPair = + deriveToplExtendedKeys(params['mnemonic']); + final Uint8List toplExtendedPrvKeyUint8List = + Uint8List.fromList(toplExtendedKeyPair.privateKey!); + final String base58EncodedToplExtendedPrvKey = + base58Encoder.encode(toplExtendedPrvKeyUint8List); final KeyStore keyStore = KeyStore.createNew( base58EncodedToplExtendedPrvKey, params['password'], @@ -63,6 +68,9 @@ class OnboardingRespository { Bip32KeyPair deriveToplExtendedKeys(String mnemonic) { final HdWallet hdWallet = HdWallet.fromMnemonic(mnemonic); - return hdWallet.deriveBaseAddress(purpose: Rules.defaultPurpose, coinType: Rules.defaultCoinType); + return hdWallet.deriveBaseAddress( + purpose: Rules.defaultPurpose, + coinType: Rules.defaultCoinType, + ); } } diff --git a/lib/repositories/transaction_repository.dart b/lib/repositories/transaction_repository.dart index d66368a5..5b93dab2 100644 --- a/lib/repositories/transaction_repository.dart +++ b/lib/repositories/transaction_repository.dart @@ -19,8 +19,10 @@ class TransactionRepository { switch (transferDetails.transferType) { case TransferType.polyTransfer: { - final List senders = transferDetails.senders.map((e) => e.toplAddress).toList(); - final ToplAddress recipient = ToplAddress.fromBase58(transferDetails.recipient); + final List senders = + transferDetails.senders.map((e) => e.toplAddress).toList(); + final ToplAddress recipient = + ToplAddress.fromBase58(transferDetails.recipient); final PolyTransaction polyTransaction = PolyTransaction( recipients: [ SimpleRecipient( @@ -34,13 +36,17 @@ class TransactionRepository { fee: NetworkUtils.networkFees[transferDetails.networkId], data: Latin1Data.validated(transferDetails.data), ); - final Map rawTx = await client.sendRawPolyTransfer(polyTransaction: polyTransaction); + final Map rawTx = await client.sendRawPolyTransfer( + polyTransaction: polyTransaction, + ); return rawTx; } case TransferType.assetTransfer: { - final List senders = transferDetails.senders.map((e) => e.toplAddress).toList(); - final ToplAddress recipient = ToplAddress.fromBase58(transferDetails.recipient); + final List senders = + transferDetails.senders.map((e) => e.toplAddress).toList(); + final ToplAddress recipient = + ToplAddress.fromBase58(transferDetails.recipient); final AssetValue assetValue = AssetValue( transferDetails.amount, transferDetails.assetCode!, @@ -59,14 +65,17 @@ class TransactionRepository { fee: NetworkUtils.networkFees[transferDetails.networkId], data: Latin1Data.validated(transferDetails.data), ); - final Map rawTx = await client.sendRawAssetTransfer(assetTransaction: assetTransaction); + final Map rawTx = await client.sendRawAssetTransfer( + assetTransaction: assetTransaction, + ); return rawTx; } case (TransferType.mintingAsset): case (TransferType.remintingAsset): { final ToplAddress issuer = transferDetails.assetCode!.issuer; - final ToplAddress recipient = ToplAddress.fromBase58(transferDetails.recipient); + final ToplAddress recipient = + ToplAddress.fromBase58(transferDetails.recipient); final AssetValue assetValue = AssetValue( transferDetails.amount, transferDetails.assetCode!, @@ -85,7 +94,9 @@ class TransactionRepository { fee: NetworkUtils.networkFees[transferDetails.networkId], data: Latin1Data.validated(transferDetails.data), ); - final Map rawTx = await client.sendRawAssetTransfer(assetTransaction: assetTransaction); + final Map rawTx = await client.sendRawAssetTransfer( + assetTransaction: assetTransaction, + ); return rawTx; } default: @@ -107,7 +118,10 @@ class TransactionRepository { ); } - Future broadcastTx(BramblClient client, TransactionReceipt signedTx) async { + Future broadcastTx( + BramblClient client, + TransactionReceipt signedTx, + ) async { return await client.sendSignedTransaction(signedTx); } diff --git a/lib/router/root_router.dart b/lib/router/root_router.dart index b0a44bdd..f738a184 100644 --- a/lib/router/root_router.dart +++ b/lib/router/root_router.dart @@ -42,22 +42,33 @@ class RootRouter { switch (settings.name) { case Routes.welcome: { - if (kIsWeb) return pageRouteNotAnimated(const WelcomePage(), settings); + if (kIsWeb) { + return pageRouteNotAnimated(const WelcomePage(), settings); + } return pageRoute(const WelcomePage(), settings); } case Routes.selectAction: { - if (kIsWeb) return pageRouteNotAnimated(const SelectActionPage(), settings); + if (kIsWeb) { + return pageRouteNotAnimated(const SelectActionPage(), settings); + } return pageRoute(const SelectActionPage(), settings); } case Routes.gettingStarted: { - if (kIsWeb) return pageRouteNotAnimated(const GettingStartedPage(), settings); + if (kIsWeb) { + return pageRouteNotAnimated(const GettingStartedPage(), settings); + } return pageRoute(const GettingStartedPage(), settings); } case Routes.seedPhraseInfoChecklist: { - if (kIsWeb) return pageRouteNotAnimated(const SeedPhraseInfoChecklistPage(), settings); + if (kIsWeb) { + return pageRouteNotAnimated( + const SeedPhraseInfoChecklistPage(), + settings, + ); + } return pageRoute( const SeedPhraseInfoChecklistPage(), settings, @@ -65,37 +76,66 @@ class RootRouter { } case Routes.seedPhraseInstructions: { - if (kIsWeb) return pageRouteNotAnimated(const SeedPhraseInstructionsPage(), settings); + if (kIsWeb) { + return pageRouteNotAnimated( + const SeedPhraseInstructionsPage(), + settings, + ); + } return pageRoute(const SeedPhraseInstructionsPage(), settings); } case Routes.generateSeedPhrase: { - if (kIsWeb) return pageRouteNotAnimated(const SeedPhraseGeneratingPage(), settings); + if (kIsWeb) { + return pageRouteNotAnimated( + const SeedPhraseGeneratingPage(), + settings, + ); + } return pageRoute(const SeedPhraseGeneratingPage(), settings); } case Routes.displaySeedphrase: { - if (kIsWeb) return pageRouteNotAnimated(const SeedPhraseDisplayPage(), settings); + if (kIsWeb) { + return pageRouteNotAnimated( + const SeedPhraseDisplayPage(), + settings, + ); + } return pageRoute(const SeedPhraseDisplayPage(), settings); } case Routes.seedPhraseConfirm: { - if (kIsWeb) return pageRouteNotAnimated(const SeedPhraseConfirmationPage(), settings); + if (kIsWeb) { + return pageRouteNotAnimated( + const SeedPhraseConfirmationPage(), + settings, + ); + } return pageRoute(const SeedPhraseConfirmationPage(), settings); } case Routes.walletInfoChecklist: { - if (kIsWeb) return pageRouteNotAnimated(const WalletInfoChecklistPage(), settings); + if (kIsWeb) { + return pageRouteNotAnimated( + const WalletInfoChecklistPage(), + settings, + ); + } return pageRoute(const WalletInfoChecklistPage(), settings); } case Routes.createPassword: { - if (kIsWeb) return pageRouteNotAnimated(const CreatePasswordPage(), settings); + if (kIsWeb) { + return pageRouteNotAnimated(const CreatePasswordPage(), settings); + } return pageRoute(const CreatePasswordPage(), settings); } case Routes.extensionInfo: { - if (kIsWeb) return pageRouteNotAnimated(const ExtensionInfoPage(), settings); + if (kIsWeb) { + return pageRouteNotAnimated(const ExtensionInfoPage(), settings); + } return pageRoute(const ExtensionInfoPage(), settings); } case Routes.login: @@ -105,7 +145,9 @@ class RootRouter { } case Routes.walletCreated: { - if (kIsWeb) return pageRouteNotAnimated(const WalletCreatedPage(), settings); + if (kIsWeb) { + return pageRouteNotAnimated(const WalletCreatedPage(), settings); + } return pageRoute(const WalletCreatedPage(), settings); } case Routes.home: @@ -115,17 +157,26 @@ class RootRouter { } case Routes.assetsTransferInput: { - if (kIsWeb) return pageRouteNotAnimated(const AssetTransferPage(), settings); + if (kIsWeb) { + return pageRouteNotAnimated(const AssetTransferPage(), settings); + } return pageRouteNotAnimated(const AssetTransferPage(), settings); } case Routes.restoreWallet: { - if (kIsWeb) return pageRouteNotAnimated(const RestoreWalletPage(), settings); + if (kIsWeb) { + return pageRouteNotAnimated(const RestoreWalletPage(), settings); + } return pageRoute(const RestoreWalletPage(), settings); } case Routes.restoreWithToplKey: { - if (kIsWeb) return pageRouteNotAnimated(const RestoreWithToplKeyPage(), settings); + if (kIsWeb) { + return pageRouteNotAnimated( + const RestoreWithToplKeyPage(), + settings, + ); + } return pageRoute(const RestoreWithToplKeyPage(), settings); } case Routes.restoreWalletNewPassword: @@ -148,13 +199,20 @@ class RootRouter { } case Routes.onboardingEnableBiometrics: { - if (kIsWeb) return pageRouteNotAnimated(const EnableBiometrics(), settings); + if (kIsWeb) { + return pageRouteNotAnimated(const EnableBiometrics(), settings); + } return pageRoute(const EnableBiometrics(), settings); } case Routes.enterWalletPassword: { final String keyStoreJson = settings.arguments as String; - if (kIsWeb) return pageRouteNotAnimated(EnterWalletPasswordPage(toplKeyStoreJson: keyStoreJson), settings); + if (kIsWeb) { + return pageRouteNotAnimated( + EnterWalletPasswordPage(toplKeyStoreJson: keyStoreJson), + settings, + ); + } return pageRoute( EnterWalletPasswordPage(toplKeyStoreJson: keyStoreJson), settings, @@ -162,20 +220,40 @@ class RootRouter { } case Routes.txReview: { - final TransferDetails transferDetails = settings.arguments as TransferDetails; + final TransferDetails transferDetails = + settings.arguments as TransferDetails; - if (kIsWeb) return pageRouteNotAnimated(TxReviewPage(transferDetails: transferDetails), settings); - return pageRoute(TxReviewPage(transferDetails: transferDetails), settings); + if (kIsWeb) { + return pageRouteNotAnimated( + TxReviewPage(transferDetails: transferDetails), + settings, + ); + } + return pageRoute( + TxReviewPage(transferDetails: transferDetails), + settings, + ); } case Routes.txConfirmation: { - final TransferDetails transferDetails = settings.arguments as TransferDetails; - if (kIsWeb) return pageRouteNotAnimated(TxConfirmationPage(transferDetails: transferDetails), settings); - return pageRoute(TxConfirmationPage(transferDetails: transferDetails), settings); + final TransferDetails transferDetails = + settings.arguments as TransferDetails; + if (kIsWeb) { + return pageRouteNotAnimated( + TxConfirmationPage(transferDetails: transferDetails), + settings, + ); + } + return pageRoute( + TxConfirmationPage(transferDetails: transferDetails), + settings, + ); } case Routes.mintInput: { - if (kIsWeb) return pageRouteNotAnimated(const MintInputPage(), settings); + if (kIsWeb) { + return pageRouteNotAnimated(const MintInputPage(), settings); + } return pageRoute( const MintInputPage(), settings, @@ -183,9 +261,13 @@ class RootRouter { } case Routes.assetDetails: { - final Map assetDetailsPageArgs = settings.arguments as Map; + final Map assetDetailsPageArgs = + settings.arguments as Map; if (kIsWeb) { - return pageRouteNotAnimated(AssetDetailsPage(asset: assetDetailsPageArgs['assetAmount']!), settings); + return pageRouteNotAnimated( + AssetDetailsPage(asset: assetDetailsPageArgs['assetAmount']!), + settings, + ); } return pageRoute( AssetDetailsPage(asset: assetDetailsPageArgs['assetAmount']!), @@ -197,7 +279,7 @@ class RootRouter { return pageRoute(const TxHistoryPage(), settings); } case Routes.txHistoryDetails: - final Map? transactionDetails = settings.arguments as Map; + final Map transactionDetails = settings.arguments as Map; { return pageRoute( @@ -209,49 +291,74 @@ class RootRouter { } case Routes.settings: { - if (kIsWeb) return pageRouteNotAnimated(const SettingsPage(), settings); + if (kIsWeb) { + return pageRouteNotAnimated(const SettingsPage(), settings); + } return pageRoute(const SettingsPage(), settings); } case Routes.enable: { - final InternalMessage pendingRequest = settings.arguments as InternalMessage; - if (kIsWeb) return pageRouteNotAnimated(EnablePage(pendingRequest), settings); + final InternalMessage pendingRequest = + settings.arguments as InternalMessage; + if (kIsWeb) { + return pageRouteNotAnimated(EnablePage(pendingRequest), settings); + } return pageRoute(EnablePage(pendingRequest), settings); } case Routes.externalSigning: { - final InternalMessage pendingRequest = settings.arguments as InternalMessage; - if (kIsWeb) return pageRouteNotAnimated(ExternalSigningPage(pendingRequest), settings); + final InternalMessage pendingRequest = + settings.arguments as InternalMessage; + if (kIsWeb) { + return pageRouteNotAnimated( + ExternalSigningPage(pendingRequest), + settings, + ); + } return pageRoute(ExternalSigningPage(pendingRequest), settings); } case Routes.error: { - final String errorMessage = (settings.arguments ?? 'Unknown error occurred') as String; + final String errorMessage = + (settings.arguments ?? 'Unknown error occurred') as String; return errorRoute(errorMsg: errorMessage); } case Routes.connectDApp: { - final InternalMessage pendingRequest = settings.arguments as InternalMessage; + final InternalMessage pendingRequest = + settings.arguments as InternalMessage; return pageRouteNotAnimated(ConnectDApp(pendingRequest), settings); } case Routes.reviewAndSignDApp: { - final InternalMessage pendingRequest = settings.arguments as InternalMessage; - if (kIsWeb) return pageRouteNotAnimated(ReviewAndSignDApp(pendingRequest), settings); + final InternalMessage pendingRequest = + settings.arguments as InternalMessage; + if (kIsWeb) { + return pageRouteNotAnimated( + ReviewAndSignDApp(pendingRequest), + settings, + ); + } return pageRoute(ReviewAndSignDApp(pendingRequest), settings); } case Routes.loadingDApp: { - final InternalMessage response = settings.arguments as InternalMessage; - return pageRouteNotAnimated(LoadingDApp(response: response), settings); + final InternalMessage response = + settings.arguments as InternalMessage; + return pageRouteNotAnimated( + LoadingDApp(response: response), + settings, + ); } default: return errorRoute(); } } - Route errorRoute({String errorMsg = 'Unknown error occurred'}) { + Route errorRoute({ + String errorMsg = 'Unknown error occurred', + }) { return MaterialPageRoute( builder: (context) { return Center( @@ -273,7 +380,10 @@ class RootRouter { } /// Builds a page route without an animation. - Route pageRouteNotAnimated(Widget page, RouteSettings settings) { + Route pageRouteNotAnimated( + Widget page, + RouteSettings settings, + ) { return PageRouteBuilder( settings: settings, pageBuilder: (context, animation, secondaryAnimation) => page, diff --git a/lib/utils.dart b/lib/utils.dart index f909e1cc..0444733b 100644 --- a/lib/utils.dart +++ b/lib/utils.dart @@ -1,4 +1,3 @@ -import 'dart:typed_data'; import 'dart:ui'; import 'package:barcode_widget/barcode_widget.dart'; @@ -56,7 +55,8 @@ void validateRecipientAddress({ } Future isBiometricsAuthenticationSupported( - LocalAuthentication auth) async { + LocalAuthentication auth, +) async { final bool canCheckBiometrics = await auth.canCheckBiometrics; final bool isDeviceSupported = await auth.isDeviceSupported(); @@ -64,7 +64,8 @@ Future isBiometricsAuthenticationSupported( } Future isBiometricsAuthenticationEnrolled( - LocalAuthentication auth) async { + LocalAuthentication auth, +) async { final bool canCheckBiometrics = await auth.canCheckBiometrics; final bool isDeviceSupported = await auth.isDeviceSupported(); final List enrolledBiometrics = await auth.getAvailableBiometrics(); diff --git a/lib/widgets/address_display_container.dart b/lib/widgets/address_display_container.dart index 1bcae604..59f3f5cb 100644 --- a/lib/widgets/address_display_container.dart +++ b/lib/widgets/address_display_container.dart @@ -18,14 +18,16 @@ class AddressDisplayContainer extends StatefulWidget { final double width; @override - State createState() => _AddressDisplayContainerState(); + State createState() => + _AddressDisplayContainerState(); } class _AddressDisplayContainerState extends State { @override Widget build(BuildContext context) { return StoreConnector( - converter: (store) => store.state.keychainState.currentNetwork.addresses.first, + converter: (store) => + store.state.keychainState.currentNetwork.addresses.first, builder: (context, ribnAddress) => RoundedCopyTextField( text: widget.text, icon: SvgPicture.asset(widget.icon), diff --git a/lib/widgets/custom_page_title.dart b/lib/widgets/custom_page_title.dart index 52ff0be7..c40ef7b8 100644 --- a/lib/widgets/custom_page_title.dart +++ b/lib/widgets/custom_page_title.dart @@ -6,7 +6,12 @@ import 'package:ribn_toolkit/widgets/atoms/custom_icon_button.dart'; /// /// Used during the transfer flows. class CustomPageTitle extends StatelessWidget { - const CustomPageTitle({required this.title, this.top = 5, this.left = 10, Key? key}) : super(key: key); + const CustomPageTitle({ + required this.title, + this.top = 5, + this.left = 10, + Key? key, + }) : super(key: key); final String title; final double top; final double left; diff --git a/pubspec.lock b/pubspec.lock index b50cd7c3..22733f8d 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -49,7 +49,7 @@ packages: name: async url: "https://pub.dartlang.org" source: hosted - version: "2.8.2" + version: "2.9.0" back_button_interceptor: dependency: transitive description: @@ -163,7 +163,7 @@ packages: name: characters url: "https://pub.dartlang.org" source: hosted - version: "1.2.0" + version: "1.2.1" charcode: dependency: transitive description: @@ -198,7 +198,7 @@ packages: name: clock url: "https://pub.dartlang.org" source: hosted - version: "1.1.0" + version: "1.1.1" code_builder: dependency: transitive description: @@ -219,14 +219,14 @@ packages: name: convert url: "https://pub.dartlang.org" source: hosted - version: "3.1.0" + version: "3.1.1" coverage: dependency: transitive description: name: coverage url: "https://pub.dartlang.org" source: hosted - version: "1.3.2" + version: "1.6.1" crypto: dependency: transitive description: @@ -256,7 +256,7 @@ packages: source: hosted version: "1.1.0" dio: - dependency: transitive + dependency: "direct main" description: name: dio url: "https://pub.dartlang.org" @@ -282,21 +282,21 @@ packages: name: dropdown_button2 url: "https://pub.dartlang.org" source: hosted - version: "1.9.1" + version: "1.9.2" fake_async: dependency: transitive description: name: fake_async url: "https://pub.dartlang.org" source: hosted - version: "1.3.0" + version: "1.3.1" ffi: dependency: transitive description: name: ffi url: "https://pub.dartlang.org" source: hosted - version: "1.2.1" + version: "2.0.1" file: dependency: transitive description: @@ -310,7 +310,7 @@ packages: name: file_picker url: "https://pub.dartlang.org" source: hosted - version: "4.6.1" + version: "5.2.4" fixnum: dependency: transitive description: @@ -371,14 +371,14 @@ packages: name: flutter_launcher_icons url: "https://pub.dartlang.org" source: hosted - version: "0.9.3" + version: "0.11.0" flutter_lints: dependency: "direct dev" description: name: flutter_lints url: "https://pub.dartlang.org" source: hosted - version: "1.0.4" + version: "2.0.1" flutter_native_splash: dependency: "direct main" description: @@ -413,7 +413,7 @@ packages: name: flutter_secure_storage url: "https://pub.dartlang.org" source: hosted - version: "5.1.2" + version: "7.0.1" flutter_secure_storage_linux: dependency: transitive description: @@ -427,7 +427,7 @@ packages: name: flutter_secure_storage_macos url: "https://pub.dartlang.org" source: hosted - version: "1.1.2" + version: "2.0.0" flutter_secure_storage_platform_interface: dependency: transitive description: @@ -507,7 +507,7 @@ packages: name: google_fonts url: "https://pub.dartlang.org" source: hosted - version: "2.3.3" + version: "3.0.1" googleapis_auth: dependency: transitive description: @@ -612,7 +612,7 @@ packages: name: lints url: "https://pub.dartlang.org" source: hosted - version: "1.0.1" + version: "2.0.1" loader_overlay: dependency: "direct main" description: @@ -668,28 +668,28 @@ packages: name: matcher url: "https://pub.dartlang.org" source: hosted - version: "0.12.11" + version: "0.12.12" material_color_utilities: dependency: transitive description: name: material_color_utilities url: "https://pub.dartlang.org" source: hosted - version: "0.1.4" + version: "0.1.5" meta: dependency: transitive description: name: meta url: "https://pub.dartlang.org" source: hosted - version: "1.7.0" + version: "1.8.0" mime: dependency: transitive description: name: mime url: "https://pub.dartlang.org" source: hosted - version: "1.0.2" + version: "1.0.3" mockito: dependency: "direct main" description: @@ -731,7 +731,7 @@ packages: name: path url: "https://pub.dartlang.org" source: hosted - version: "1.8.1" + version: "1.8.2" path_drawing: dependency: transitive description: @@ -794,14 +794,14 @@ packages: name: path_provider_windows url: "https://pub.dartlang.org" source: hosted - version: "2.0.7" + version: "2.1.3" petitparser: dependency: transitive description: name: petitparser url: "https://pub.dartlang.org" source: hosted - version: "5.0.0" + version: "5.1.0" pinenacl: dependency: transitive description: @@ -864,7 +864,7 @@ packages: name: provider url: "https://pub.dartlang.org" source: hosted - version: "6.0.4" + version: "6.0.5" pub_semver: dependency: transitive description: @@ -922,7 +922,7 @@ packages: name: rxdart url: "https://pub.dartlang.org" source: hosted - version: "0.26.0" + version: "0.27.7" scroll_to_index: dependency: transitive description: @@ -990,14 +990,14 @@ packages: name: source_maps url: "https://pub.dartlang.org" source: hosted - version: "0.10.10" + version: "0.10.11" source_span: dependency: transitive description: name: source_span url: "https://pub.dartlang.org" source: hosted - version: "1.8.2" + version: "1.9.0" stack_trace: dependency: transitive description: @@ -1039,35 +1039,35 @@ packages: name: string_scanner url: "https://pub.dartlang.org" source: hosted - version: "1.1.0" + version: "1.1.1" term_glyph: dependency: transitive description: name: term_glyph url: "https://pub.dartlang.org" source: hosted - version: "1.2.0" + version: "1.2.1" test: dependency: transitive description: name: test url: "https://pub.dartlang.org" source: hosted - version: "1.21.1" + version: "1.21.4" test_api: dependency: transitive description: name: test_api url: "https://pub.dartlang.org" source: hosted - version: "0.4.9" + version: "0.4.12" test_core: dependency: transitive description: name: test_core url: "https://pub.dartlang.org" source: hosted - version: "0.4.13" + version: "0.4.16" test_process: dependency: transitive description: @@ -1186,7 +1186,7 @@ packages: name: vm_service url: "https://pub.dartlang.org" source: hosted - version: "8.3.0" + version: "9.4.0" watcher: dependency: transitive description: @@ -1251,7 +1251,7 @@ packages: name: win32 url: "https://pub.dartlang.org" source: hosted - version: "2.6.1" + version: "3.1.2" xdg_directories: dependency: transitive description: @@ -1274,5 +1274,5 @@ packages: source: hosted version: "3.1.1" sdks: - dart: ">=2.17.0 <3.0.0" + dart: ">=2.18.0 <3.0.0" flutter: ">=3.0.1" diff --git a/pubspec.yaml b/pubspec.yaml index b2f896ce..e44743f1 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -32,25 +32,26 @@ dependencies: # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. - cupertino_icons: ^1.0.2 - mockito: ^5.0.14 - built_value: ^8.1.2 + cupertino_icons: ^1.0.5 + mockito: ^5.3.2 + built_value: ^8.4.2 flutter_redux: ^0.10.0 redux: ^5.0.0 redux_epics: ^0.15.0 - rxdart: ^0.26.0 + rxdart: ^0.27.7 step_progress_indicator: ^1.0.1 steps_indicator: ^1.3.0 bip_topl: ^0.0.2 - google_fonts: ^2.1.0 - flutter_svg: ^1.0.3 + google_fonts: ^3.0.1 + flutter_svg: ^1.0.3 dotted_border: ^2.0.0+1 accordion: ^2.1.1 progress_indicators: ^1.0.0 url_launcher: ^6.0.12 barcode_widget: ^2.0.1 flutter_portal: ^0.4.0 - file_picker: ^4.3.3 + file_picker: ^5.2.4 + dio: ^4.0.6 ribn_toolkit: git: url: https://github.com/Topl/ribn-toolkit @@ -65,7 +66,7 @@ dependencies: shimmer_animation: ^2.1.0+1 grpc: ^3.0.2 path_provider: ^2.0.9 - flutter_secure_storage: ^5.0.2 + flutter_secure_storage: ^7.0.1 local_auth: ^2.0.0 url_strategy: ^0.2.0 flutter_native_splash: #^2.2.3+1 @@ -79,14 +80,14 @@ dev_dependencies: sdk: flutter build_runner: ^2.1.1 built_value_generator: ^8.1.2 - flutter_launcher_icons: "^0.9.3" + flutter_launcher_icons: ^0.11.0 # The "flutter_lints" package below contains a set of recommended lints to # encourage good coding practices. The lint set provided by the package is # activated in the `analysis_options.yaml` file located at the root of your # package. See that file for information about deactivating specific lint # rules and activating additional ones. - flutter_lints: ^1.0.0 + flutter_lints: ^2.0.1 # For information on the generic Dart part of this file, see the # following page: https://dart.dev/tools/pub/pubspec diff --git a/test/middleware_test.dart b/test/middleware_test.dart index cc79382c..fc604173 100644 --- a/test/middleware_test.dart +++ b/test/middleware_test.dart @@ -30,7 +30,8 @@ void main() { final String invalidPassword = testData['invalidPassword']!; final String testKeyStore = testData['keyStoreJson']!; final RibnAddress testAddress = testData['address']; - final Uint8List testToplExtendedPrivKey = Uint8List.fromList(toList(testData['toplExtendedPrvKey']!)); + final Uint8List testToplExtendedPrivKey = + Uint8List.fromList(toList(testData['toplExtendedPrvKey']!)); late Store testStore; @@ -51,14 +52,17 @@ void main() { setUp(reset); group('Onboarding middleware', () { test('should generate mnemonic', () { - when(onboardingRepo.generateMnemonicForUser()).thenAnswer((_) => testMnemonic); + when(onboardingRepo.generateMnemonicForUser()) + .thenAnswer((_) => testMnemonic); testStore.dispatch(GenerateMnemonicAction()); verify(onboardingRepo.generateMnemonicForUser()).called(1); expect(testStore.state.onboardingState.mnemonic, testMnemonic); - expect(testStore.state.onboardingState.shuffledMnemonic, unorderedEquals(testMnemonic.split(' '))); + expect(testStore.state.onboardingState.shuffledMnemonic, + unorderedEquals(testMnemonic.split(' '))); }); test('should generate keystore and initialize hd wallet', () async { - when(onboardingRepo.generateMnemonicForUser()).thenAnswer((_) => testMnemonic); + when(onboardingRepo.generateMnemonicForUser()) + .thenAnswer((_) => testMnemonic); testStore.dispatch(GenerateMnemonicAction()); // mnemonic: captureAnyNamed('mnemonic'), // password: captureAnyNamed('password'), @@ -89,7 +93,8 @@ void main() { group('Login middleware', () { setUp(() { // generate mnemonic - when(onboardingRepo.generateMnemonicForUser()).thenAnswer((_) => testMnemonic); + when(onboardingRepo.generateMnemonicForUser()) + .thenAnswer((_) => testMnemonic); testStore.dispatch(GenerateMnemonicAction()); // generate keystore when( @@ -119,7 +124,8 @@ void main() { when( loginRepo.decryptKeyStore(argThat(isNotNull)), ).thenAnswer( - (_) => const LoginRepository().decryptKeyStore({'keyStoreJson': testKeyStore, 'password': invalidPassword}), + (_) => const LoginRepository().decryptKeyStore( + {'keyStoreJson': testKeyStore, 'password': invalidPassword}), ); final Completer completer = Completer(); testStore.dispatch(AttemptLoginAction(invalidPassword, completer)); @@ -133,44 +139,53 @@ void main() { group('Keychain middleware', () { setUp(() { // generate mnemonic - when(onboardingRepo.generateMnemonicForUser()).thenAnswer((_) => testMnemonic); + when(onboardingRepo.generateMnemonicForUser()) + .thenAnswer((_) => testMnemonic); testStore.dispatch(GenerateMnemonicAction()); // generate keystore - when(onboardingRepo.generateKeyStore(argThat(isNotNull))) - .thenReturn({'keyStoreJson': testKeyStore, 'toplExtendedPrvKeyUint8List': testToplExtendedPrivKey}); + when(onboardingRepo.generateKeyStore(argThat(isNotNull))).thenReturn({ + 'keyStoreJson': testKeyStore, + 'toplExtendedPrvKeyUint8List': testToplExtendedPrivKey + }); testStore.dispatch(CreatePasswordAction(validPassword)); // login - when(loginRepo.decryptKeyStore(captureAny)).thenReturn(testToplExtendedPrivKey); + when(loginRepo.decryptKeyStore(captureAny)) + .thenReturn(testToplExtendedPrivKey); }); test('Should refresh balances', () async { const testPolys = 10000; await Future.delayed( Duration.zero, () => testStore.dispatch( - InitializeHDWalletAction(toplExtendedPrivateKey: TestData.toplExtendedPrvKeyUint8List), + InitializeHDWalletAction( + toplExtendedPrivateKey: TestData.toplExtendedPrvKeyUint8List), ), ); - when(keychainRepo.generateAddress(argThat(isNotNull), networkId: captureAnyNamed('networkId'))) + when(keychainRepo.generateAddress(argThat(isNotNull), + networkId: captureAnyNamed('networkId'))) .thenAnswer((_) => testAddress); - testStore.dispatch(GenerateAddressAction(0, network: testStore.state.keychainState.currentNetwork)); + testStore.dispatch(GenerateAddressAction(0, + network: testStore.state.keychainState.currentNetwork)); when(keychainRepo.getBalances(captureAny, captureAny)).thenAnswer((_) { return Future.value( (_.positionalArguments[1] as List) .map( - (e) => Balance( - address: e.toBase58(), - polys: PolyAmount.inNanopoly(quantity: testPolys), - arbits: ArbitAmount.zero(), - ), - ) + (e) => Balance( + address: e.toBase58(), + polys: PolyAmount.inNanopoly(quantity: testPolys), + arbits: ArbitAmount.zero(), + ), + ) .toList(), ); }); final Completer completer = Completer(); - testStore.dispatch(RefreshBalancesAction(completer, testStore.state.keychainState.currentNetwork)); + testStore.dispatch(RefreshBalancesAction( + completer, testStore.state.keychainState.currentNetwork)); await expectLater(completer.future, completion(true)); expect( - testStore.state.keychainState.currentNetwork.addresses.first.balance.polys, + testStore + .state.keychainState.currentNetwork.addresses.first.balance.polys, PolyAmount.inNanopoly(quantity: testPolys), ); }); diff --git a/test/reducer_test.dart b/test/reducer_test.dart index 32264632..0f306715 100644 --- a/test/reducer_test.dart +++ b/test/reducer_test.dart @@ -1,5 +1,3 @@ -import 'dart:typed_data'; - import 'package:bip_topl/bip_topl.dart' as bip_topl; import 'package:brambldart/brambldart.dart'; import 'package:flutter/foundation.dart'; @@ -52,8 +50,10 @@ void main() { ), ); expect(testStore.state.keychainState.keyStoreJson, testKeyStore); - expect(testStore.state.keychainState.hdWallet!.rootVerifyKey, - hdWallet.rootVerifyKey); + expect( + testStore.state.keychainState.hdWallet!.rootVerifyKey, + hdWallet.rootVerifyKey, + ); }); test('update network with addresses', () async { const KeychainRepository keychainRepo = KeychainRepository(); @@ -72,14 +72,17 @@ void main() { testStore.dispatch(UpdateNetworksWithAddressesAction(networkAddresses)); testStore.state.keychainState.networks.forEach((networkName, network) { listEquals( - testStore.state.keychainState.networks[networkName]!.addresses, - networkAddresses[networkName]); + testStore.state.keychainState.networks[networkName]!.addresses, + networkAddresses[networkName], + ); }); }); test('toggle network', () async { testStore.dispatch(UpdateCurrentNetworkAction(NetworkUtils.private)); - expect(testStore.state.keychainState.currentNetwork.networkName, - NetworkUtils.private); + expect( + testStore.state.keychainState.currentNetwork.networkName, + NetworkUtils.private, + ); }); }); }); diff --git a/test/test_data.dart b/test/test_data.dart index ebabc060..88c72748 100644 --- a/test/test_data.dart +++ b/test/test_data.dart @@ -4,7 +4,8 @@ import 'package:ribn/constants/rules.dart'; import 'package:ribn/models/ribn_address.dart'; Map testData = { - 'mnemonic': 'napkin they pupil disorder junior tonight harsh mobile equal explain allow fancy', + 'mnemonic': + 'napkin they pupil disorder junior tonight harsh mobile equal explain allow fancy', 'rootExtendedPrvKey': '64, 152, 147, 162, 27, 218, 199, 183, 63, 203, 225, 8, 66, 19, 70, 136, 195, 167, 2, 80, 205, 2, 101, 184, 123, 4, 1, 243, 211, 71, 151, 94, 55, 233, 205, 8, 240, 57, 245, 113, 25, 135, 174, 17, 19, 89, 46, 188, 137, 86, 233, 16, 223, 41, 177, 217, 128, 221, 55, 128, 147, 74, 229, 221, 235, 233, 231, 45, 1, 34, 13, 37, 45, 17, 170, 166, 208, 154, 59, 17, 179, 13, 219, 191, 21, 64, 115, 19, 223, 133, 72, 255, 45, 171, 47, 108', 'toplExtendedPrvKey': @@ -14,10 +15,12 @@ Map testData = { 'validPassword': '12345678', 'invalidPassword': '1234567', 'address': RibnAddress( - toplAddress: ToplAddress.fromBase58('AUDxRxPtWPeejAMfEeYMYfwQ7Shk5qLw4swZkW6sek3D4FMDrQ6D'), + toplAddress: ToplAddress.fromBase58( + 'AUDxRxPtWPeejAMfEeYMYfwQ7Shk5qLw4swZkW6sek3D4FMDrQ6D'), addressIndex: 0, keyPath: '', - balance: Rules.initBalance('AUDxRxPtWPeejAMfEeYMYfwQ7Shk5qLw4swZkW6sek3D4FMDrQ6D'), + balance: Rules.initBalance( + 'AUDxRxPtWPeejAMfEeYMYfwQ7Shk5qLw4swZkW6sek3D4FMDrQ6D'), networkId: NetworkUtils.privateId, ), }; From 78d1ffb79de33f525a456600c1e2cbdede0275f1 Mon Sep 17 00:00:00 2001 From: Siphamandla brian Mjoli Date: Wed, 14 Dec 2022 23:32:37 +0200 Subject: [PATCH 03/58] update(fix): fixed missing paramater --- .../create_wallet/seed_phrase_generating_page.dart | 8 ++++++-- pubspec.lock | 6 +++--- pubspec.yaml | 2 +- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/lib/presentation/onboarding/create_wallet/seed_phrase_generating_page.dart b/lib/presentation/onboarding/create_wallet/seed_phrase_generating_page.dart index cfa86c02..7d481732 100644 --- a/lib/presentation/onboarding/create_wallet/seed_phrase_generating_page.dart +++ b/lib/presentation/onboarding/create_wallet/seed_phrase_generating_page.dart @@ -21,7 +21,8 @@ class SeedPhraseGeneratingPage extends StatefulWidget { const SeedPhraseGeneratingPage({Key? key}) : super(key: key); @override - _SeedPhraseGeneratingPageState createState() => _SeedPhraseGeneratingPageState(); + _SeedPhraseGeneratingPageState createState() => + _SeedPhraseGeneratingPageState(); } class _SeedPhraseGeneratingPageState extends State { @@ -42,7 +43,9 @@ class _SeedPhraseGeneratingPageState extends State { clipBehavior: Clip.none, child: Center( child: Column( - children: seedPhraseGenerating ? seedPhraseGeneratingSection() : seedPhraseGeneratedSection(), + children: seedPhraseGenerating + ? seedPhraseGeneratingSection() + : seedPhraseGeneratedSection(), ), ), ), @@ -73,6 +76,7 @@ class _SeedPhraseGeneratingPageState extends State { activeCircleRadius: 8, inactiveCircleRadius: 4.5, dotPadding: 8, + renderCenterIcon: false, ), SizedBox( width: descriptionBoxWidth, diff --git a/pubspec.lock b/pubspec.lock index 881413f7..6ec68c5a 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -633,7 +633,7 @@ packages: name: local_auth_android url: "https://pub.dartlang.org" source: hosted - version: "1.0.15" + version: "1.0.16" local_auth_ios: dependency: transitive description: @@ -911,8 +911,8 @@ packages: dependency: "direct main" description: path: "." - ref: RIBN-559 - resolved-ref: bc9e928a7daa9879577c25293fbf18551b8d207b + ref: main + resolved-ref: eddadffd87f25a336e4f5d262476d744174e3ff9 url: "https://github.com/Topl/ribn-toolkit" source: git version: "1.0.0+1" diff --git a/pubspec.yaml b/pubspec.yaml index ada56679..cbe6a67b 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -54,7 +54,7 @@ dependencies: ribn_toolkit: git: url: https://github.com/Topl/ribn-toolkit - ref: RIBN-559 + ref: main # ribn_toolkit: # path: ../ribn_toolkit brambldart: From c3a45602c7ca849129e5ad1f4707d37d43691f9c Mon Sep 17 00:00:00 2001 From: Siphamandla brian Mjoli Date: Wed, 14 Dec 2022 23:36:48 +0200 Subject: [PATCH 04/58] update(warnings): removed warnings --- lib/presentation/home/home_page.dart | 4 --- lib/presentation/settings/settings_page.dart | 31 +++++++++----------- lib/utils.dart | 4 +-- test/reducer_test.dart | 6 ++-- 4 files changed, 19 insertions(+), 26 deletions(-) diff --git a/lib/presentation/home/home_page.dart b/lib/presentation/home/home_page.dart index af711079..ab53cd41 100644 --- a/lib/presentation/home/home_page.dart +++ b/lib/presentation/home/home_page.dart @@ -1,13 +1,9 @@ import 'package:flutter/material.dart'; import 'package:ribn/constants/assets.dart'; -import 'package:ribn/constants/keys.dart'; -import 'package:ribn/constants/routes.dart'; import 'package:ribn/presentation/home/wallet_balance_page.dart'; import 'package:ribn/presentation/transaction_history/transaction_history_page.dart'; -import 'package:ribn/presentation/transfers/mint_input_page.dart'; import 'package:ribn/widgets/ribn_app_bar_wapper.dart'; import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/widgets/organisms/ribn_bottom_app_bar.dart'; import 'package:ribn_toolkit/widgets/organisms/ribn_bottom_app_barV2.dart'; /// The 'home page' of Ribn. diff --git a/lib/presentation/settings/settings_page.dart b/lib/presentation/settings/settings_page.dart index 0679c6c2..1d2e5553 100644 --- a/lib/presentation/settings/settings_page.dart +++ b/lib/presentation/settings/settings_page.dart @@ -1,5 +1,3 @@ - - import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:local_auth/local_auth.dart'; @@ -35,9 +33,9 @@ class _SettingsPageState extends State { if (!kIsWeb) { runBiometrics(); } else { - final List dApps = await PlatformUtils.instance.convertToFuture(PlatformUtils.instance.getDAppList()); - PlatformUtils.instance.consoleLog(dApps.toString()); - + final List dApps = await PlatformUtils.instance + .convertToFuture(PlatformUtils.instance.getDAppList()); + await PlatformUtils.instance.consoleLog(dApps.toString()); setState(() async { canDisconnect = dApps.isNotEmpty; }); @@ -58,23 +56,22 @@ class _SettingsPageState extends State { @override Widget build(BuildContext context) { - return SettingsContainer( builder: (BuildContext context, SettingsViewModel vm) { vm.canDisconnect = canDisconnect; return Scaffold( - body: SingleChildScrollView( - child: Column( - children: [ - const CustomPageTextTitle( - title: Strings.settings, - hideBackArrow: true, - ), - _buildSettingsListItems(vm, context), - ], + body: SingleChildScrollView( + child: Column( + children: [ + const CustomPageTextTitle( + title: Strings.settings, + hideBackArrow: true, + ), + _buildSettingsListItems(vm, context), + ], + ), ), - ), - ); + ); }, ); } diff --git a/lib/utils.dart b/lib/utils.dart index f909e1cc..88e98226 100644 --- a/lib/utils.dart +++ b/lib/utils.dart @@ -56,7 +56,7 @@ void validateRecipientAddress({ } Future isBiometricsAuthenticationSupported( - LocalAuthentication auth) async { + LocalAuthentication auth,) async { final bool canCheckBiometrics = await auth.canCheckBiometrics; final bool isDeviceSupported = await auth.isDeviceSupported(); @@ -64,7 +64,7 @@ Future isBiometricsAuthenticationSupported( } Future isBiometricsAuthenticationEnrolled( - LocalAuthentication auth) async { + LocalAuthentication auth,) async { final bool canCheckBiometrics = await auth.canCheckBiometrics; final bool isDeviceSupported = await auth.isDeviceSupported(); final List enrolledBiometrics = await auth.getAvailableBiometrics(); diff --git a/test/reducer_test.dart b/test/reducer_test.dart index 32264632..4ec8111f 100644 --- a/test/reducer_test.dart +++ b/test/reducer_test.dart @@ -53,7 +53,7 @@ void main() { ); expect(testStore.state.keychainState.keyStoreJson, testKeyStore); expect(testStore.state.keychainState.hdWallet!.rootVerifyKey, - hdWallet.rootVerifyKey); + hdWallet.rootVerifyKey,); }); test('update network with addresses', () async { const KeychainRepository keychainRepo = KeychainRepository(); @@ -73,13 +73,13 @@ void main() { testStore.state.keychainState.networks.forEach((networkName, network) { listEquals( testStore.state.keychainState.networks[networkName]!.addresses, - networkAddresses[networkName]); + networkAddresses[networkName],); }); }); test('toggle network', () async { testStore.dispatch(UpdateCurrentNetworkAction(NetworkUtils.private)); expect(testStore.state.keychainState.currentNetwork.networkName, - NetworkUtils.private); + NetworkUtils.private,); }); }); }); From 1d0432f8ac83e75e39b862e96a46cf8b0ed7b3ae Mon Sep 17 00:00:00 2001 From: Siphamandla brian Mjoli Date: Tue, 20 Dec 2022 22:29:52 +0200 Subject: [PATCH 05/58] update(RIBN-566): final push --- lib/actions/internal_message_actions.dart | 1 + lib/actions/keychain_actions.dart | 6 +- lib/actions/login_actions.dart | 1 + lib/actions/misc_actions.dart | 1 + lib/actions/restore_wallet_actions.dart | 7 +- lib/actions/transaction_actions.dart | 3 + lib/constants/assets.dart | 87 ++- lib/constants/keys.dart | 4 +- lib/constants/network_utils.dart | 9 +- lib/constants/routes.dart | 13 +- lib/constants/rules.dart | 34 +- lib/constants/strings.dart | 105 ++-- lib/constants/test_data.dart | 1 + lib/constants/ui_constants.dart | 3 + .../asset_transfer_input_container.dart | 22 +- lib/containers/create_password_container.dart | 20 +- lib/containers/login_container.dart | 16 +- lib/containers/mint_input_container.dart | 29 +- .../poly_transfer_input_container.dart | 24 +- lib/containers/ribn_app_bar_container.dart | 15 +- .../seed_phrase_confirmation_container.dart | 17 +- lib/containers/settings_container.dart | 8 +- .../transaction_history_container.dart | 8 +- lib/containers/wallet_balance_container.dart | 22 +- lib/generated/assets.dart | 1 + lib/genus/generated/blocks_query.pb.dart | 443 ++++++++++---- lib/genus/generated/blocks_query.pbenum.dart | 1 - lib/genus/generated/blocks_query.pbgrpc.dart | 15 +- lib/genus/generated/blocks_query.pbjson.dart | 221 ++++++- .../generated/blocks_subscription.pb.dart | 131 ++-- .../generated/blocks_subscription.pbenum.dart | 1 - .../generated/blocks_subscription.pbgrpc.dart | 15 +- .../generated/blocks_subscription.pbjson.dart | 66 +- lib/genus/generated/filters.pb.dart | 571 ++++++++++++------ lib/genus/generated/filters.pbenum.dart | 1 - lib/genus/generated/filters.pbjson.dart | 447 ++++++++++++-- lib/genus/generated/services_types.pb.dart | 30 +- .../generated/services_types.pbenum.dart | 1 - .../generated/services_types.pbjson.dart | 7 +- .../generated/transactions_query.pb.dart | 379 ++++++++---- .../generated/transactions_query.pbenum.dart | 1 - .../generated/transactions_query.pbgrpc.dart | 9 +- .../generated/transactions_query.pbjson.dart | 210 ++++++- .../transactions_subscription.pb.dart | 119 ++-- .../transactions_subscription.pbenum.dart | 1 - .../transactions_subscription.pbgrpc.dart | 12 +- .../transactions_subscription.pbjson.dart | 66 +- lib/genus/generated/types.pb.dart | 464 ++++++++++---- lib/genus/generated/types.pbenum.dart | 1 - lib/genus/generated/types.pbjson.dart | 141 ++++- lib/helpers/helper_functions.dart | 7 +- lib/js_workers/generate_keystore_worker.dart | 7 +- lib/js_workers/login_worker.dart | 7 +- lib/main.dart | 17 +- lib/middlewares/app_middleware.dart | 3 + lib/middlewares/epic_middleware.dart | 44 +- .../internal_message_middleware.dart | 12 +- lib/middlewares/keychain_middleware.dart | 38 +- lib/middlewares/login_middleware.dart | 31 +- lib/middlewares/misc_middleware.dart | 22 +- lib/middlewares/onboarding_middleware.dart | 29 +- .../restore_wallet_middleware.dart | 23 +- lib/middlewares/transaction_middleware.dart | 58 +- lib/models/app_state.dart | 4 + lib/models/asset_details.dart | 12 +- lib/models/internal_message.dart | 13 +- lib/models/keychain_state.dart | 18 +- lib/models/login_state.dart | 11 +- lib/models/onboarding_state.dart | 9 +- lib/models/raw_tx.dart | 16 +- lib/models/ribn_address.dart | 7 +- lib/models/ribn_network.dart | 29 +- lib/models/transfer_details.dart | 11 +- lib/models/user_details_state.dart | 16 +- lib/platform/interfaces.dart | 3 +- lib/platform/mobile/genus_config.dart | 3 + lib/platform/mobile/messenger.dart | 1 + lib/platform/mobile/storage.dart | 13 +- lib/platform/mobile/utils.dart | 3 +- lib/platform/mobile/worker_runner.dart | 7 +- lib/platform/web/genus_config.dart | 7 +- lib/platform/web/messenger.dart | 6 +- lib/platform/web/platform_web.dart | 2 +- lib/platform/web/storage.dart | 4 + lib/platform/web/utils.dart | 4 + lib/platform/web/wallet.dart | 7 +- lib/platform/web/worker_runner.dart | 5 +- .../asset_icon_edit_section.dart | 25 +- .../asset_long_name_edit_section.dart | 28 +- .../asset_unit_edit_section.dart | 27 +- .../asset_amount_details.dart | 3 + .../asset_code_details.dart | 11 +- .../asset_code_short_details.dart | 9 +- .../asset_icon_details.dart | 6 +- .../asset_long_name_details.dart | 15 +- .../asset_unit_details.dart | 7 +- .../issuer_address_details.dart | 11 +- .../asset_details/asset_details_page.dart | 39 +- .../authorize_and_sign/connect_dapp.dart | 16 +- .../input_dropdown_wrapper.dart | 11 +- .../authorize_and_sign/loading_dapp.dart | 16 +- .../authorize_and_sign/review_and_sign.dart | 19 +- .../transaction_row_details.dart | 16 +- lib/presentation/empty_state_screen.dart | 32 +- lib/presentation/enable_page.dart | 19 +- lib/presentation/error_section.dart | 9 +- lib/presentation/external_signing_page.dart | 8 +- lib/presentation/home/home_page.dart | 9 +- .../home/wallet_balance_page.dart | 111 ++-- .../home/wallet_balance_shimmer.dart | 3 + lib/presentation/login/login_page.dart | 43 +- .../create_wallet/create_password_page.dart | 57 +- .../create_wallet/enable_biometrics_page.dart | 29 +- .../create_wallet/getting_started_page.dart | 12 +- .../seed_phrase_confirmation_page.dart | 47 +- .../seed_phrase_display_page.dart | 52 +- .../seed_phrase_generating_page.dart | 11 +- .../seed_phrase_info_checklist_page.dart | 29 +- .../seed_phrase_instructions_page.dart | 18 +- .../create_wallet/select_action_page.dart | 18 +- .../create_wallet/wallet_created_page.dart | 20 +- .../wallet_info_checklist_page.dart | 34 +- .../create_wallet/welcome_page.dart | 17 +- .../onboarding/extension_info_page.dart | 12 +- .../create_new_wallet_password_page.dart | 54 +- .../enter_wallet_password_page.dart | 15 +- .../restore_wallet/restore_wallet_page.dart | 40 +- .../restore_with_topl_key_page.dart | 26 +- lib/presentation/onboarding/utils.dart | 7 +- .../widgets/confirmation_button.dart | 3 + .../mobile_onboarding_progress_bar.dart | 3 + .../widgets/onboarding_container.dart | 11 +- .../widgets/uploaded_file_container.dart | 10 +- .../onboarding/widgets/warning_section.dart | 12 +- .../widgets/web_onboarding_app_bar.dart | 3 + .../settings/sections/biometrics_section.dart | 18 +- .../delete_wallet_confirmation_dialog.dart | 20 +- .../sections/delete_wallet_section.dart | 18 +- ...disconnect_wallet_confirmation_dialog.dart | 9 +- .../export_topl_main_key_section.dart | 7 +- .../settings/sections/links_section.dart | 13 +- .../sections/ribn_version_section.dart | 7 +- lib/presentation/settings/settings_page.dart | 9 +- .../dashed_list_separator.dart | 5 +- .../helpers/tx_history_helper_functions.dart | 6 +- .../service_locator/locator.dart | 2 + .../transaction_data_row.dart | 277 +++------ .../transaction_history_data_tile.dart | 7 +- .../transaction_history_details_page.dart | 452 +------------- .../transaction_history_page.dart | 39 +- .../widgets/listeners/scroll_listener.dart | 1 + .../misc/keep_alive_future_builder.dart | 9 +- .../transfers/asset_transfer_page.dart | 13 +- .../transfers/asset_transfer_section.dart | 83 ++- .../transfers/bottom_review_action.dart | 1 + .../transfers/mint_input_page.dart | 74 ++- .../transfers/poly_transfer_section.dart | 28 +- .../transfers/transfer_utils.dart | 3 + .../transfers/tx_confirmation_page.dart | 56 +- .../transfers/tx_review_page.dart | 47 +- .../transfers/widgets/custom_input_field.dart | 7 +- .../transfers/widgets/from_address_field.dart | 7 +- .../widgets/issuer_address_field.dart | 7 +- lib/reducers/app_reducer.dart | 1 + lib/reducers/internal_message_reducer.dart | 9 +- lib/reducers/keychain_reducer.dart | 27 +- lib/reducers/login_reducer.dart | 3 + lib/reducers/onboarding_reducer.dart | 17 +- lib/reducers/user_details_reducer.dart | 18 +- lib/redux.dart | 7 + lib/repositories/keychain_repository.dart | 35 +- lib/repositories/login_repository.dart | 10 +- lib/repositories/misc_repository.dart | 1 + lib/repositories/onboarding_repository.dart | 23 +- lib/repositories/transaction_repository.dart | 34 +- lib/router/root_router.dart | 10 - lib/utils.dart | 26 +- lib/widgets/address_display_container.dart | 13 +- lib/widgets/asset_info.dart | 9 +- lib/widgets/custom_divider.dart | 1 + lib/widgets/custom_page_title.dart | 7 +- lib/widgets/fee_info.dart | 7 +- lib/widgets/ribn_app_bar_wapper.dart | 7 +- pubspec.lock | 28 +- pubspec.yaml | 3 +- test/main_test.dart | 2 + test/middleware_test.dart | 50 +- test/reducer_test.dart | 27 +- test/shared_mocks.dart | 3 + test/shared_mocks.mocks.dart | 4 + test/test_data.dart | 12 +- 191 files changed, 4721 insertions(+), 2250 deletions(-) diff --git a/lib/actions/internal_message_actions.dart b/lib/actions/internal_message_actions.dart index 38ac2dd2..2ac072cc 100644 --- a/lib/actions/internal_message_actions.dart +++ b/lib/actions/internal_message_actions.dart @@ -1,3 +1,4 @@ +// Project imports: import 'package:ribn/models/internal_message.dart'; class SendInternalMsgAction { diff --git a/lib/actions/keychain_actions.dart b/lib/actions/keychain_actions.dart index cc74b50d..d9845944 100644 --- a/lib/actions/keychain_actions.dart +++ b/lib/actions/keychain_actions.dart @@ -1,5 +1,8 @@ +// Dart imports: import 'dart:async'; import 'dart:typed_data'; + +// Project imports: import 'package:ribn/constants/rules.dart'; import 'package:ribn/models/ribn_address.dart'; import 'package:ribn/models/ribn_network.dart'; @@ -7,7 +10,8 @@ import 'package:ribn/models/ribn_network.dart'; class InitializeHDWalletAction { final String? keyStoreJson; final Uint8List toplExtendedPrivateKey; - const InitializeHDWalletAction({this.keyStoreJson, required this.toplExtendedPrivateKey}); + const InitializeHDWalletAction( + {this.keyStoreJson, required this.toplExtendedPrivateKey}); } class GenerateInitialAddressesAction { diff --git a/lib/actions/login_actions.dart b/lib/actions/login_actions.dart index bce336a4..ea2f4389 100644 --- a/lib/actions/login_actions.dart +++ b/lib/actions/login_actions.dart @@ -1,3 +1,4 @@ +// Dart imports: import 'dart:async'; import 'dart:typed_data'; diff --git a/lib/actions/misc_actions.dart b/lib/actions/misc_actions.dart index c506e571..db8f37fb 100644 --- a/lib/actions/misc_actions.dart +++ b/lib/actions/misc_actions.dart @@ -1,3 +1,4 @@ +// Dart imports: import 'dart:async'; class PersistAppState {} diff --git a/lib/actions/restore_wallet_actions.dart b/lib/actions/restore_wallet_actions.dart index 866bff88..56272c0e 100644 --- a/lib/actions/restore_wallet_actions.dart +++ b/lib/actions/restore_wallet_actions.dart @@ -1,10 +1,12 @@ +// Dart imports: import 'dart:async'; import 'dart:typed_data'; class RestoreWalletWithMnemonicAction { final String mnemonic; final String password; - RestoreWalletWithMnemonicAction({required this.mnemonic, required this.password}); + RestoreWalletWithMnemonicAction( + {required this.mnemonic, required this.password}); } class RestoreWalletWithToplKeyAction { @@ -22,7 +24,8 @@ class RestoreWalletWithToplKeyAction { class SuccessfullyRestoredWalletAction { final String keyStoreJson; final Uint8List toplExtendedPrivateKey; - const SuccessfullyRestoredWalletAction({required this.keyStoreJson, required this.toplExtendedPrivateKey}); + const SuccessfullyRestoredWalletAction( + {required this.keyStoreJson, required this.toplExtendedPrivateKey}); } class FailedToRestoreWalletAction {} diff --git a/lib/actions/transaction_actions.dart b/lib/actions/transaction_actions.dart index 79e91c91..6ea8e94c 100644 --- a/lib/actions/transaction_actions.dart +++ b/lib/actions/transaction_actions.dart @@ -1,7 +1,10 @@ +// Dart imports: import 'dart:async'; +// Package imports: import 'package:brambldart/model.dart'; +// Project imports: import 'package:ribn/models/internal_message.dart'; import 'package:ribn/models/ribn_address.dart'; import 'package:ribn/models/transfer_details.dart'; diff --git a/lib/constants/assets.dart b/lib/constants/assets.dart index 1df7b818..fa40246a 100644 --- a/lib/constants/assets.dart +++ b/lib/constants/assets.dart @@ -10,13 +10,15 @@ class RibnAssets { static const seedPhraseCreatedIcon = 'assets/icons/seedphrase_created.png'; static const passwordManagerIcon = 'assets/icons/password_manager.svg'; static const encryptFileIcon = 'assets/icons/encrypt_file.svg'; - static const seedPhraseConfirmedIcon = 'assets/icons/seed_phrase_confirmed.svg'; + static const seedPhraseConfirmedIcon = + 'assets/icons/seed_phrase_confirmed.svg'; static const walletPasswordIcon = 'assets/icons/wallet_password.svg'; static const addIcon = 'assets/icons/add.svg'; static const removeIcon = 'assets/icons/remove.svg'; static const extensionIcon = 'assets/icons/extension.svg'; static const plusIcon = 'assets/icons/plus.svg'; - static const importWalletIcon = 'packages/ribn_toolkit/assets/icons/restore_wallet.png'; + static const importWalletIcon = + 'packages/ribn_toolkit/assets/icons/restore_wallet.png'; static const closeGreyIcon = 'assets/icons/close_grey.svg'; static const downloadIcon = 'assets/icons/download.svg'; static const infoIcon = 'assets/icons/info.png'; @@ -24,7 +26,8 @@ class RibnAssets { static const sentIcon = 'assets/icons/sent.svg'; static const receiveIcon = 'assets/icons/receive.png'; static const menuIcon = 'assets/icons/menu.svg'; - static const txHistoryPageActiveIcon = 'assets/icons/tx_history_page_active.svg'; + static const txHistoryPageActiveIcon = + 'assets/icons/tx_history_page_active.svg'; static const txHistoryPageIcon = 'assets/icons/tx_history_page.svg'; static const settingsIcon = 'packages/ribn_toolkit/assets/icons/settings.png'; static const supportIcon = 'packages/ribn_toolkit/assets/icons/support.png'; @@ -45,15 +48,24 @@ class RibnAssets { static const copyUnselectedIcon = 'assets/icons/copy_unselected.png'; static const copySelectedIcon = 'assets/icons/copy_selected.png'; static const unselectedAsset = 'assets/icons/asset_unselected.png'; - static const coffBlueIcon = 'packages/ribn_toolkit/assets/asset_icons/coff_blue_icon.png'; - static const coffBrownIcon = 'packages/ribn_toolkit/assets/asset_icons/coff_brown_icon.png'; - static const coffGreenIcon = 'packages/ribn_toolkit/assets/asset_icons/coff_green_icon.png'; - static const coffPurpleIcon = 'packages/ribn_toolkit/assets/asset_icons/coff_purple_icon.png'; - static const coffYellowIcon = 'packages/ribn_toolkit/assets/asset_icons/coff_yellow_icon.png'; - static const diaBlueIcon = 'packages/ribn_toolkit/assets/asset_icons/dia_blue_icon.png'; - static const diaGreenIcon = 'packages/ribn_toolkit/assets/asset_icons/dia_green_icon.png'; - static const diaPurpleIcon = 'packages/ribn_toolkit/assets/asset_icons/dia_purple_icon.png'; - static const diaYellowIcon = 'packages/ribn_toolkit/assets/asset_icons/dia_yellow_icon.png'; + static const coffBlueIcon = + 'packages/ribn_toolkit/assets/asset_icons/coff_blue_icon.png'; + static const coffBrownIcon = + 'packages/ribn_toolkit/assets/asset_icons/coff_brown_icon.png'; + static const coffGreenIcon = + 'packages/ribn_toolkit/assets/asset_icons/coff_green_icon.png'; + static const coffPurpleIcon = + 'packages/ribn_toolkit/assets/asset_icons/coff_purple_icon.png'; + static const coffYellowIcon = + 'packages/ribn_toolkit/assets/asset_icons/coff_yellow_icon.png'; + static const diaBlueIcon = + 'packages/ribn_toolkit/assets/asset_icons/dia_blue_icon.png'; + static const diaGreenIcon = + 'packages/ribn_toolkit/assets/asset_icons/dia_green_icon.png'; + static const diaPurpleIcon = + 'packages/ribn_toolkit/assets/asset_icons/dia_purple_icon.png'; + static const diaYellowIcon = + 'packages/ribn_toolkit/assets/asset_icons/dia_yellow_icon.png'; static const addressCopiedIcon = 'assets/icons/address_copied.png'; static const polysIcon = 'assets/icons/polysIcon.png'; static const undefinedIcon = 'assets/icons/undefined_icon.png'; @@ -66,22 +78,32 @@ class RibnAssets { static const smsFailed = 'assets/icons/sms_failed.png'; static const openInNewWindow = 'assets/icons/open_in_new.png'; static const roundInfoCircle = 'assets/icons/round_info_circle.png'; - static const newRibnLogo = 'packages/ribn_toolkit/assets/icons/new_ribn_logo.png'; - static const newCircleRibnLogo = 'packages/ribn_toolkit/assets/icons/ribn_circle_logo.png'; - static const chevronDown = 'packages/ribn_toolkit/assets/icons/chevron_down.png'; - static const chevronDownDark = 'packages/ribn_toolkit/assets/icons/chevron_down_dark.png'; - static const hamburgerMenu = 'packages/ribn_toolkit/assets/icons/hamburger_menu.png'; - static const circleExclamation = 'packages/ribn_toolkit/assets/icons/error.png'; + static const newRibnLogo = + 'packages/ribn_toolkit/assets/icons/new_ribn_logo.png'; + static const newCircleRibnLogo = + 'packages/ribn_toolkit/assets/icons/ribn_circle_logo.png'; + static const chevronDown = + 'packages/ribn_toolkit/assets/icons/chevron_down.png'; + static const chevronDownDark = + 'packages/ribn_toolkit/assets/icons/chevron_down_dark.png'; + static const hamburgerMenu = + 'packages/ribn_toolkit/assets/icons/hamburger_menu.png'; + static const circleExclamation = + 'packages/ribn_toolkit/assets/icons/error.png'; static const circleInfo = 'assets/icons/circle_info.png'; - static const greyHelpBubble = 'packages/ribn_toolkit/assets/icons/gray_help_bubble.png'; + static const greyHelpBubble = + 'packages/ribn_toolkit/assets/icons/gray_help_bubble.png'; static const plusBlue = 'packages/ribn_toolkit/assets/icons/plus_blue.png'; static const plusGrey = 'packages/ribn_toolkit/assets/icons/plus_grey.png'; - static const walletBlue = 'packages/ribn_toolkit/assets/icons/wallet_blue.png'; - static const walletGrey = 'packages/ribn_toolkit/assets/icons/wallet_grey.png'; + static const walletBlue = + 'packages/ribn_toolkit/assets/icons/wallet_blue.png'; + static const walletGrey = + 'packages/ribn_toolkit/assets/icons/wallet_grey.png'; static const clockBlue = 'packages/ribn_toolkit/assets/icons/clock_blue.png'; static const clockGrey = 'packages/ribn_toolkit/assets/icons/clock_grey.png'; static const copyIcon = 'packages/ribn_toolkit/assets/icons/copy_icon.png'; - static const circlePlus = 'packages/ribn_toolkit/assets/icons/circle_plus.png'; + static const circlePlus = + 'packages/ribn_toolkit/assets/icons/circle_plus.png'; static const copyIconAlternate = 'assets/icons/copy_icon_alternate.png'; static const fingerPrintAssets = 'assets/icons/finger_print_assets.png'; static const redDangerTriangle = 'assets/icons/red_danger_triangle.png'; @@ -91,11 +113,16 @@ class RibnAssets { static const passwordLockPng = 'assets/icons/password_lock.png'; static const penPaperPng = 'assets/icons/pen_paper.png'; static const programPng = 'assets/icons/program.png'; - static const onboardingBackgroundSvg = 'assets/icons/onboarding_background.svg'; - static const onboardingBackgroundPng = 'assets/icons/onboarding_background.png'; - static const createWalletPng = 'packages/ribn_toolkit/assets/icons/create_wallet.png'; - static const createWalletPngWithShadow = 'packages/ribn_toolkit/assets/icons/create_wallet_shadow.png'; - static const importWalletPng = 'packages/ribn_toolkit/assets/icons/import_wallet.png'; + static const onboardingBackgroundSvg = + 'assets/icons/onboarding_background.svg'; + static const onboardingBackgroundPng = + 'assets/icons/onboarding_background.png'; + static const createWalletPng = + 'packages/ribn_toolkit/assets/icons/create_wallet.png'; + static const createWalletPngWithShadow = + 'packages/ribn_toolkit/assets/icons/create_wallet_shadow.png'; + static const importWalletPng = + 'packages/ribn_toolkit/assets/icons/import_wallet.png'; static const walletLockPng = 'assets/icons/wallet_lock.png'; static const passwordVisiblePng = 'assets/icons/password_visible.png'; static const passwordHiddenPng = 'assets/icons/password_hidden.png'; @@ -110,9 +137,11 @@ class RibnAssets { static const touchID = 'assets/icons/touch_id.png'; static const touchIDCutout = 'assets/icons/touch_id_cutout.png'; static const iosBiometrics = 'assets/icons/iphone_biometrics.png'; - static const iosBiometricsOutline = 'assets/icons/iphone_biometrics_outline.png'; + static const iosBiometricsOutline = + 'assets/icons/iphone_biometrics_outline.png'; static const andriodBiometrics = 'assets/icons/android_biometrics.png'; - static const andriodBiometricsOutline = 'assets/icons/android_biometrics_outline.png'; + static const andriodBiometricsOutline = + 'assets/icons/android_biometrics_outline.png'; static const addPlusPng = 'assets/icons/add_plus.png'; static const documentPng = 'assets/icons/document.png'; static const polyIconCircle = 'assets/icons/poly_icon_circle.png'; diff --git a/lib/constants/keys.dart b/lib/constants/keys.dart index 3add3a55..cfcbb9e7 100644 --- a/lib/constants/keys.dart +++ b/lib/constants/keys.dart @@ -1,7 +1,9 @@ +// Flutter imports: import 'package:flutter/material.dart'; class Keys { Keys._(); - static final GlobalKey navigatorKey = GlobalKey(); + static final GlobalKey navigatorKey = + GlobalKey(); static const isTestingEnvironment = bool.fromEnvironment('FLUTTER_TEST'); } diff --git a/lib/constants/network_utils.dart b/lib/constants/network_utils.dart index c1115ebc..10731458 100644 --- a/lib/constants/network_utils.dart +++ b/lib/constants/network_utils.dart @@ -1,3 +1,4 @@ +// Package imports: import 'package:brambldart/brambldart.dart'; import 'package:brambldart/utils.dart' as constants; @@ -7,13 +8,15 @@ class NetworkUtils { static const String toplNet = 'toplnet'; static const String valhalla = 'valhalla'; static const String private = 'private'; - static const String privateIP = '35.226.176.100'; + static const String privateIP = '35.226.176.100'; static int toplNetId = constants.networkRegistry[toplNet]!; static int valhallaId = constants.networkRegistry[valhalla]!; static int privateId = constants.networkRegistry[private]!; static Map networkFees = { - valhallaId: PolyAmount.fromUnitAndValue(PolyUnit.nanopoly, constants.valhallaFee), - toplNetId: PolyAmount.fromUnitAndValue(PolyUnit.nanopoly, constants.toplnetFee), + valhallaId: + PolyAmount.fromUnitAndValue(PolyUnit.nanopoly, constants.valhallaFee), + toplNetId: + PolyAmount.fromUnitAndValue(PolyUnit.nanopoly, constants.toplnetFee), privateId: PolyAmount.zero(), }; static const String projectId = '60ff001754b7c75558146daf'; diff --git a/lib/constants/routes.dart b/lib/constants/routes.dart index a697f6ae..41e4b5d6 100644 --- a/lib/constants/routes.dart +++ b/lib/constants/routes.dart @@ -1,3 +1,4 @@ +// Flutter imports: import 'package:flutter/material.dart'; class Routes { @@ -27,10 +28,14 @@ class Routes { static const restoreWalletNewPassword = '/restore-wallet/new-password'; static const enterWalletPassword = '/restore-wallet/topl-key/enter-password'; static const loginRestoreWalletWithToplKey = '/login/restore-wallet/topl-key'; - static const loginRestoreWalletEnterPassword = '/login/restore-wallet/enter-password'; - static const onboardingRestoreWalletWithMnemonic = '/onboarding/restore-wallet/mnemonic'; - static const onboardingRestoreWalletWithToplKey = '/onboarding/restore-wallet/topl-key'; - static const onboardingRestoreWalletEnterPassword = '/onboarding/restore-wallet/enter-password'; + static const loginRestoreWalletEnterPassword = + '/login/restore-wallet/enter-password'; + static const onboardingRestoreWalletWithMnemonic = + '/onboarding/restore-wallet/mnemonic'; + static const onboardingRestoreWalletWithToplKey = + '/onboarding/restore-wallet/topl-key'; + static const onboardingRestoreWalletEnterPassword = + '/onboarding/restore-wallet/enter-password'; static const onboardingEnableBiometrics = '/onboarding/enable-biometrics'; static const assetsTransferInput = '/asset-transfer'; static const polyTransferInput = '/poly-transfer-input'; diff --git a/lib/constants/rules.dart b/lib/constants/rules.dart index 5ecda1e1..b3dc82ee 100644 --- a/lib/constants/rules.dart +++ b/lib/constants/rules.dart @@ -1,7 +1,10 @@ +// Package imports: import 'package:brambldart/brambldart.dart'; import 'package:brambldart/credentials.dart' as hd; import 'package:brambldart/utils.dart' as constants; import 'package:dio/dio.dart'; + +// Project imports: import 'package:ribn/constants/network_utils.dart'; import 'package:ribn/constants/strings.dart'; @@ -17,24 +20,35 @@ class Rules { static const int defaultPurpose = constants.defaultPurpose; // 1852' static const int defaultCoinType = constants.defaultCoinType; // 7091' static const int defaultAccountIndex = constants.defaultAccountIndex; // 0' - static const int defaultChangeIndex = - constants.defaultChangeIndex; // 0=external/payments, 1=internal/change, 2=staking + static const int defaultChangeIndex = constants + .defaultChangeIndex; // 0=external/payments, 1=internal/change, 2=staking static const int defaultAddressIndex = constants.defaultAddressIndex; static const int assetCodeVersion = constants.supportedAssetCodeVersion; static const int internalIdx = 1; static Map txHistoryUrls = { - NetworkUtils.valhallaId: 'https://annulus-api.topl.services/staging/valhalla', + NetworkUtils.valhallaId: + 'https://annulus-api.topl.services/staging/valhalla', NetworkUtils.toplNetId: 'https://annulus-api.topl.services/staging/toplnet', - NetworkUtils.privateId: 'https://annulus-api.topl.services/staging/valhalla', + NetworkUtils.privateId: + 'https://annulus-api.topl.services/staging/valhalla', }; static Map txDetailsRedirectUrls = { - NetworkUtils.valhallaId: 'https://staging.valhalla.annulus.topl.services/#/transaction/', - NetworkUtils.toplNetId: 'https://staging.toplnet.annulus.topl.services/#/transaction/', - NetworkUtils.privateId: 'https://staging.valhalla.annulus.topl.services/#/transaction/', + NetworkUtils.valhallaId: + 'https://staging.valhalla.annulus.topl.services/#/transaction/', + NetworkUtils.toplNetId: + 'https://staging.toplnet.annulus.topl.services/#/transaction/', + NetworkUtils.privateId: + 'https://staging.valhalla.annulus.topl.services/#/transaction/', }; - static String txHistoryUrl(String addr, int networkId) => '${txHistoryUrls[networkId]!}/v1/address/history/$addr'; - static String txDetailsUrl(String txId, int networkId) => '${txDetailsRedirectUrls[networkId]!}$txId'; - static const transferTypes = [Strings.polyTransfer, Strings.assetTransfer, Strings.minting]; + static String txHistoryUrl(String addr, int networkId) => + '${txHistoryUrls[networkId]!}/v1/address/history/$addr'; + static String txDetailsUrl(String txId, int networkId) => + '${txDetailsRedirectUrls[networkId]!}$txId'; + static const transferTypes = [ + Strings.polyTransfer, + Strings.assetTransfer, + Strings.minting + ]; static BramblClient getBramblCient(int networkId) { final Dio httpClient = Dio( BaseOptions( diff --git a/lib/constants/strings.dart b/lib/constants/strings.dart index b0dd61ad..daed319e 100644 --- a/lib/constants/strings.dart +++ b/lib/constants/strings.dart @@ -41,13 +41,16 @@ class Strings { static const String sign = 'Sign'; static const String back = 'Back'; static const String welcomeToRibn = 'Welcome to Ribn'; - static const String intro = 'Topl’s blockchain wallet used to track, tokenize, and transact impact.'; + static const String intro = + 'Topl’s blockchain wallet used to track, tokenize, and transact impact.'; static const String getStarted = 'Get started'; static const String createWallet = 'Create wallet'; - static const String createWalletDescription = 'First time? Create your new wallet\nand 15 word Seed Phrase.'; + static const String createWalletDescription = + 'First time? Create your new wallet\nand 15 word Seed Phrase.'; static const String importWallet = 'Import wallet'; static const String restoreWallet = 'Restore wallet'; - static const String restoreWalletDescription = 'Restore your existing Ribn wallet\nusing a Seed Phrase or Topl key.'; + static const String restoreWalletDescription = + 'Restore your existing Ribn wallet\nusing a Seed Phrase or Topl key.'; static const String gettingStarted = 'Getting started'; static const String download = 'Download'; static const String gettingStartedDescription = @@ -64,22 +67,27 @@ This 15-word phrase will be used to restore your assets if this device is lost o static const String beforeYouStart = 'Before you start'; static const String okLetsGo = "Ok, let's go!"; static const String weRecommend = 'We Recommend:'; - static const String weRecommendSub = 'At least one of the following to record your Seed Phrase safely:'; + static const String weRecommendSub = + 'At least one of the following to record your Seed Phrase safely:'; static const String paperAndPen = 'A paper and pen.'; static const String securePasswordManager = 'A secure password manager.'; - static const String encryptTextFile = 'A program such as PGP to encrypt your text file.'; + static const String encryptTextFile = + 'A program such as PGP to encrypt your text file.'; static const String writeDownSeedPhrase = 'Write down Seed Phrase'; static const String seedPhraseFileName = 'seed_phrase'; static const String letsTryThatAgain = 'Now, Let’s Try That Again'; static const String heyIWasntKidding = '''Hey I wasn’t kidding, write these words down in the exact order they are shown. Remember don’t take any screenshots!'''; - static const String writeDownSeedPhraseDesc = '''Now, you will write each word of your Seed Phrase down carefully. + static const String writeDownSeedPhraseDesc = + '''Now, you will write each word of your Seed Phrase down carefully. Make sure they are in the exact order shown below. Don’t take screenshots!'''; static const String done = 'Done'; static const String confirmYourSeedPhrase = 'Confirm your Seed Phrase'; - static const String confirmYourSeedPhraseDesc = 'Click each word in the correct order.'; + static const String confirmYourSeedPhraseDesc = + 'Click each word in the correct order.'; static const String seedPhraseConfirmed = 'Seed Phrase Confirmed!'; - static const String seedPhraseConfirmedDesc = '''Good job! Each word in your Seed Phrase has been input correctly. + static const String seedPhraseConfirmedDesc = + '''Good job! Each word in your Seed Phrase has been input correctly. Rest assured, you have saved the correct words, in the correct order.'''; static const String cont = 'Continue'; static const String finalReview = 'Final Review'; @@ -95,7 +103,8 @@ Rest assured, you have saved the correct words, in the correct order.'''; static const String readFollowingCarefully = 'Read Following Carefully'; static const String savedMyWalletPasswordSafely = 'I have saved my Wallet Password safely. I will use this password to unlock my wallet.'; - static const String toplCannotRecoverForMe = 'I understand that Topl cannot recover my Wallet Password for me.'; + static const String toplCannotRecoverForMe = + 'I understand that Topl cannot recover my Wallet Password for me.'; static const String spAndPasswordUnrecoverable = 'I understand that my Seed phrase and Wallet Password are both unrecoverable.'; static const String walletCreated = '''Success!\nWallet Created'''; @@ -103,13 +112,16 @@ Rest assured, you have saved the correct words, in the correct order.'''; '''You’re all set. Make sure to keep your 15 word Seed phrase safe and private.\n You'll need it to recover your wallet if your device is lost or broken.'''; static const String frequentlyAskedQuestions = 'Frequently Asked Questions:'; - static const String howCanIKeepMySeedPhraseSecure = 'How can I keep my Seed Phrase secure?'; + static const String howCanIKeepMySeedPhraseSecure = + 'How can I keep my Seed Phrase secure?'; static const String howCanIKeepMySeedPhraseSecureAns = '''• Save in a password manager.\n• Keep in a safe deposit box.\n• Encrypt and store on an external drive.'''; - static const String howIsASeedPhraseDifferent = 'How is a Seed Phrase different from a Wallet Password?'; + static const String howIsASeedPhraseDifferent = + 'How is a Seed Phrase different from a Wallet Password?'; static const String howIsASeedPhraseDifferentAns = '''The Seed Phrase is different because you can restore your wallet with it. The Wallet Password is for security and only lets you unlock the wallet after it has been imported (or created) in wallet software. Your Wallet Password isn't required to lock your wallet.'''; - static const String howIsMySeedPhraseUnrecoverable = 'How is my Seed Phrase or Wallet Password unrecoverable?'; + static const String howIsMySeedPhraseUnrecoverable = + 'How is my Seed Phrase or Wallet Password unrecoverable?'; static const String howIsMySeedPhraseUnrecoverableAns = '''You are the only one with a record of your Seed Phrase or Wallet Password. Topl does not maintain or have any way to generate either of these for you.'''; static const String howIsMySeedPhraseUnrecoverableNewLine = @@ -117,8 +129,10 @@ You'll need it to recover your wallet if your device is lost or broken.'''; static const String seedPhraseGenerating = 'Seed Phrase Generating...'; static const String goGrabAPenAndPaper = 'Go grab a pen and paper'; - static const String seriouslyGetAPenAndPaper = 'Seriously, get a pen and paper'; - static const String aboutToShowSeedPhrase = '''We are about to show you 15 words.\n + static const String seriouslyGetAPenAndPaper = + 'Seriously, get a pen and paper'; + static const String aboutToShowSeedPhrase = + '''We are about to show you 15 words.\n These words need to be written down carefully and in the exact order shown.'''; static const String seedPhraseGenerated = 'Seed Phrase generated!'; static const String seedPhraseGeneratedDesc = @@ -131,8 +145,10 @@ Write down the each word in the exact order it is presented.'''; static const String ribnWallet = 'Ribn Wallet'; static const String openTheWalletBy = 'Open the Ribn Wallet extension by:'; static const String clickingTheIconPartOne = 'Clicking the '; - static const String clickingTheIconPartTwo = ''' icon on the top right of your browser.\n\nOr, clicking the '''; - static const String clickingTheIconPartThree = ' to find the Ribn Wallet extension in the Chrome extension list.'; + static const String clickingTheIconPartTwo = + ''' icon on the top right of your browser.\n\nOr, clicking the '''; + static const String clickingTheIconPartThree = + ' to find the Ribn Wallet extension in the Chrome extension list.'; static const String ribnVersion = 'Ribn Version'; static const String links = 'Links'; static const String termsOfUse = 'Terms of Use'; @@ -143,13 +159,15 @@ Write down the each word in the exact order it is presented.'''; '''Export Topl Main Key and save it somewhere secure.\nYou can reimport this to restore your wallet.'''; static const String exportWallet = 'Export Wallet'; static const String dangerZone = 'Danger Zone'; - static const String actionNotReversible = 'Careful, these actions are not reversible!'; + static const String actionNotReversible = + 'Careful, these actions are not reversible!'; static const String removeWallet = 'Remove wallet from your device'; static const String disconnectDApps = 'Disconnect DApps from Ribn'; static const String delete = 'Delete'; static const String disconnect = 'Disconnect'; static const String deleteRibnWallet = 'Delete Ribn Wallet'; - static const String disconnectRibnWalletDApps = 'Disconnect all DApps from Ribn wallet?'; + static const String disconnectRibnWalletDApps = + 'Disconnect all DApps from Ribn wallet?'; static const String deleteRibnWalletDesc = 'Enter your wallet password to delete this wallet.\n\nThis action is not reversible. Your Ribn wallet will be deleted from this device.'; static const String disconnectRibnWalletDAppsDesc = @@ -165,11 +183,13 @@ Write down the each word in the exact order it is presented.'''; static const String restoreWalletNewline = 'RESTORE\nWALLET'; static const String restoreWalletDesc = 'You can either use your 15-word Seed Phrase or your Top Level Key to import or recover your wallet.'; - static const String seedPhraseDiffFromTopLevelKey = 'How is a Seed Phrase different from a Top Level Key?'; + static const String seedPhraseDiffFromTopLevelKey = + 'How is a Seed Phrase different from a Top Level Key?'; static const String seedPhraseDiffFromTopLevelKeyDesc = '''Your Seed Phrase is a combination of words that you can use to maintain accounts across multiple blockchains including Topl's. Meanwhile, your Top Level Key is a unique key file, specific to the Topl Blockchain. Either one can be used to access your wallet.'''; - static const String whereCanIFindMyTopLevelKey = 'Where can I find my Top Level Key?'; + static const String whereCanIFindMyTopLevelKey = + 'Where can I find my Top Level Key?'; static const String whereCanIFindMyTopLevelKeyDesc = '''You can find and export your Top Level Key under settings. Please make sure to save this in a secure location as we cannot provide it to you if you lose access to your wallet.'''; static const String hintSeedPhrase = @@ -181,10 +201,12 @@ Write down the each word in the exact order it is presented.'''; static const String needHelp = 'Need help? Contact '; static const String ribnSupport = 'Ribn Support'; - static const String importWalletUsingSeedPhrase = 'Import an existing Ribn wallet using your Seed Phrase.'; + static const String importWalletUsingSeedPhrase = + 'Import an existing Ribn wallet using your Seed Phrase.'; static const String typeSomething = 'Type something'; static const String supportEmail = 'support@topl.me'; - static const String supportEmailLink = 'mailto:$supportEmail?subject=Ribn Support&body='; + static const String supportEmailLink = + 'mailto:$supportEmail?subject=Ribn Support&body='; static const String sendAssets = 'Send assets'; static const String sendNativeCoins = 'Send native coins'; static const String yourRibnWalletAddress = 'Your Ribn Wallet address'; @@ -214,13 +236,15 @@ Write down the each word in the exact order it is presented.'''; static const String mintExistingAsset = 'Mint existing asset'; static const String myRibnWallet = 'MY\nRIBN WALLET'; static const String anotherRecipientsWallet = 'ANOTHER RECIPIENT\'S WALLET '; - static const String mintAssetDesc = 'Where would you like your Asset to be minted?'; + static const String mintAssetDesc = + 'Where would you like your Asset to be minted?'; static const String issuerAddress = 'Issuer address'; static const String walletPasswordInfo = 'Your Wallet Password can lock and unlock your\nwallet on a device where it is already stored.'; static const String assetLongNameInfo = 'The descriptive name used to identify your\nassets locally in your Ribn Wallet.'; - static const String assetCodeLongInfo = 'Asset code serves as a unique identifier\nfor user issued assets.'; + static const String assetCodeLongInfo = + 'Asset code serves as a unique identifier\nfor user issued assets.'; static const String assetCodeShortInfo = 'This is used to view the short name for your \nasset as this will be the information used to\nidentify a particular asset on the blockchain.'; static const String issuerAddressInfo = @@ -229,7 +253,8 @@ Write down the each word in the exact order it is presented.'''; static const String newWalletPassword = 'New Wallet Password'; static const String newWalletPasswordHint = 'Min 8 characters'; static const String confirmWalletPassword = 'Confirm Wallet Password'; - static const String confirmWalletPasswordHint = 'Re-type your Wallet Password'; + static const String confirmWalletPasswordHint = + 'Re-type your Wallet Password'; static const String warning = 'Warning'; static const String restoreWalletWarning = '''For your security, restoration of a wallet will overwrite all previously stored Ribn activity. This will not affect any activity recorded on the blockchain itself.'''; @@ -254,19 +279,24 @@ Write down the each word in the exact order it is presented.'''; static const String myRibnWalletAddress = 'My Ribn Wallet Address'; static const String copyAddress = 'Copy address'; static const String privacyPolicyUrl = 'https://legal.topl.co/Privacy_Policy'; - static const String termsOfUseUrl = 'https://legal.topl.co/Ribn_License_Agreement'; + static const String termsOfUseUrl = + 'https://legal.topl.co/Ribn_License_Agreement'; static const String loginPasswordInfo = 'Your Wallet Password can lock and unlock your\n wallet on a device where it is already stored.'; - static const String refillCurrentPolyBalance = 'You can refill your Poly balance anytime by\n signing into'; - static const String refillEmptyPolyBalance = 'Time to refill your Poly balance.\nSign into'; + static const String refillCurrentPolyBalance = + 'You can refill your Poly balance anytime by\n signing into'; + static const String refillEmptyPolyBalance = + 'Time to refill your Poly balance.\nSign into'; static const String forgotPassword = 'Forgot password?'; static const String invalidAmountError = 'The amount you entered exceeds\nyour wallet balance for this asset.\nPlease enter a valid amount!'; static const String invalidRecipientAddressError = "Hmmm... That's not a valid Recipient address.\nTip: Instead of typing it out, try copy\nand pasting your Recipient's address."; static const String invalidSeedPhrase = 'Invalid Seed Phrase'; - static const String importExistingWallet = 'Import an existing Ribn wallet using your Seed Phrase.'; - static const String firstTimeWallet = 'First time? Create a new wallet and 15 word Seed Phrase.'; + static const String importExistingWallet = + 'Import an existing Ribn wallet using your Seed Phrase.'; + static const String firstTimeWallet = + 'First time? Create a new wallet and 15 word Seed Phrase.'; static const String passwordExample = 'Example: tree-mice-house'; static const String writeDownSeedPhraseInExactOrder = 'Now, you will write your Seed Phrase in the exact order shown below.'; @@ -279,15 +309,16 @@ Write down the each word in the exact order it is presented.'''; Ribn Wallet does not control the functionality of biometrics and does not have access to your biometrics information.'''; static const String recentActivity = 'Recent Activity'; static const String transactionDetails = 'Activity details'; - static const String noActivityToReview = 'You currently have no wallet activity to review.'; - static const String noAssetsInWallet = 'You currently have no assets in your wallet'; + static const String noActivityToReview = + 'You currently have no wallet activity to review.'; + static const String noAssetsInWallet = + 'You currently have no assets in your wallet'; static const String emptyStateBody = 'Here’s how you can get started:\n • Mint a new asset to a wallet address\n • Share your address to receive assets'; static const String connect = 'Connect'; - static const String connectDApp = ' allowing this site to see my Ribn address, and suggest transactions to approve.'; + static const String connectDApp = + ' allowing this site to see my Ribn address, and suggest transactions to approve.'; static const String connecting = 'Connecting...'; - static const String executeTransaction = 'You are about to execute the following transaction on'; - - - + static const String executeTransaction = + 'You are about to execute the following transaction on'; } diff --git a/lib/constants/test_data.dart b/lib/constants/test_data.dart index 871f1189..67c94dbe 100644 --- a/lib/constants/test_data.dart +++ b/lib/constants/test_data.dart @@ -1,3 +1,4 @@ +// Dart imports: import 'dart:typed_data'; /// This class holds some test data that can be used to initialize a test redux store during development. diff --git a/lib/constants/ui_constants.dart b/lib/constants/ui_constants.dart index 33ea0dca..e65e8eb8 100644 --- a/lib/constants/ui_constants.dart +++ b/lib/constants/ui_constants.dart @@ -1,4 +1,7 @@ +// Flutter imports: import 'package:flutter/material.dart'; + +// Project imports: import 'package:ribn/constants/assets.dart'; class UIConstants { diff --git a/lib/containers/asset_transfer_input_container.dart b/lib/containers/asset_transfer_input_container.dart index c7f21ca3..efcfb7fd 100644 --- a/lib/containers/asset_transfer_input_container.dart +++ b/lib/containers/asset_transfer_input_container.dart @@ -1,11 +1,16 @@ +// Dart imports: import 'dart:async'; -import 'package:brambldart/brambldart.dart'; +// Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; + +// Package imports: +import 'package:brambldart/brambldart.dart'; import 'package:flutter_redux/flutter_redux.dart'; import 'package:redux/redux.dart'; +// Project imports: import 'package:ribn/actions/transaction_actions.dart'; import 'package:ribn/constants/keys.dart'; import 'package:ribn/constants/network_utils.dart'; @@ -93,16 +98,20 @@ class AssetTransferInputViewModel { (TransferDetails? transferDetails) { final success = transferDetails != null; onRawTxCreated(success); - Keys.navigatorKey.currentState?.pushNamed(Routes.txReview, arguments: transferDetails); + Keys.navigatorKey.currentState + ?.pushNamed(Routes.txReview, arguments: transferDetails); }, ); }, assets: store.state.keychainState.currentNetwork.getAllAssetsInWallet(), currentNetwork: store.state.keychainState.currentNetwork, - networkFee: NetworkUtils.networkFees[store.state.keychainState.currentNetwork.networkId]!.getInNanopoly, + networkFee: NetworkUtils + .networkFees[store.state.keychainState.currentNetwork.networkId]! + .getInNanopoly, assetDetails: store.state.userDetailsState.assetDetails, getAssetBalance: (String? assetCode) { - final List myAssets = store.state.keychainState.currentNetwork.getAllAssetsInWallet(); + final List myAssets = + store.state.keychainState.currentNetwork.getAllAssetsInWallet(); return myAssets .where((element) => element.assetCode.toString() == assetCode) .fold(0, (prev, value) => prev + value.quantity); @@ -123,6 +132,9 @@ class AssetTransferInputViewModel { @override int get hashCode { - return assets.hashCode ^ networkFee.hashCode ^ assetDetails.hashCode ^ currentNetwork.hashCode; + return assets.hashCode ^ + networkFee.hashCode ^ + assetDetails.hashCode ^ + currentNetwork.hashCode; } } diff --git a/lib/containers/create_password_container.dart b/lib/containers/create_password_container.dart index 5c347d28..d981c2a2 100644 --- a/lib/containers/create_password_container.dart +++ b/lib/containers/create_password_container.dart @@ -1,14 +1,21 @@ +// Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: import 'package:flutter_redux/flutter_redux.dart'; import 'package:redux/redux.dart'; +// Project imports: import 'package:ribn/actions/onboarding_actions.dart'; import 'package:ribn/models/app_state.dart'; class CreatePasswordContainer extends StatelessWidget { - const CreatePasswordContainer({Key? key, required this.builder, required this.onDidChange}) : super(key: key); + const CreatePasswordContainer( + {Key? key, required this.builder, required this.onDidChange}) + : super(key: key); final ViewModelBuilder builder; - final Function(CreatePasswordViewModel?, CreatePasswordViewModel)? onDidChange; + final Function(CreatePasswordViewModel?, CreatePasswordViewModel)? + onDidChange; @override Widget build(BuildContext context) { @@ -33,8 +40,10 @@ class CreatePasswordViewModel { }); static CreatePasswordViewModel fromStore(Store store) { return CreatePasswordViewModel( - attemptCreatePassword: (String password) => store.dispatch(CreatePasswordAction(password)), - passwordSuccessfullyCreated: store.state.keychainState.keyStoreJson != null, + attemptCreatePassword: (String password) => + store.dispatch(CreatePasswordAction(password)), + passwordSuccessfullyCreated: + store.state.keychainState.keyStoreJson != null, keyStoreJson: store.state.keychainState.keyStoreJson, ); } @@ -49,5 +58,6 @@ class CreatePasswordViewModel { } @override - int get hashCode => passwordSuccessfullyCreated.hashCode & keyStoreJson.hashCode; + int get hashCode => + passwordSuccessfullyCreated.hashCode & keyStoreJson.hashCode; } diff --git a/lib/containers/login_container.dart b/lib/containers/login_container.dart index 281ed2bd..8b55bbb7 100644 --- a/lib/containers/login_container.dart +++ b/lib/containers/login_container.dart @@ -1,9 +1,14 @@ +// Dart imports: import 'dart:async'; +// Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: import 'package:flutter_redux/flutter_redux.dart'; import 'package:redux/redux.dart'; +// Project imports: import 'package:ribn/actions/login_actions.dart'; import 'package:ribn/actions/misc_actions.dart'; import 'package:ribn/constants/keys.dart'; @@ -33,7 +38,9 @@ class LoginContainer extends StatelessWidget { class LoginViewModel { /// Handler for when there is an attempt to login using [password]. - final Function({required String password, required VoidCallback onIncorrectPasswordEntered}) attemptLogin; + final Function( + {required String password, + required VoidCallback onIncorrectPasswordEntered}) attemptLogin; /// Handler for when there is attempt to restore wallet from the login page. final VoidCallback restoreWallet; @@ -48,7 +55,9 @@ class LoginViewModel { }); static LoginViewModel fromStore(Store store) { return LoginViewModel( - attemptLogin: ({required String password, required VoidCallback onIncorrectPasswordEntered}) async { + attemptLogin: ( + {required String password, + required VoidCallback onIncorrectPasswordEntered}) async { final Completer loginCompleter = Completer(); store.dispatch(AttemptLoginAction(password, loginCompleter)); await loginCompleter.future.then((bool loginSuccess) { @@ -59,7 +68,8 @@ class LoginViewModel { } }); }, - restoreWallet: () => store.dispatch(NavigateToRoute(Routes.restoreWallet)), + restoreWallet: () => + store.dispatch(NavigateToRoute(Routes.restoreWallet)), isBiometricsEnabled: store.state.userDetailsState.isBiometricsEnabled, ); } diff --git a/lib/containers/mint_input_container.dart b/lib/containers/mint_input_container.dart index e0f188c4..15c8689b 100644 --- a/lib/containers/mint_input_container.dart +++ b/lib/containers/mint_input_container.dart @@ -1,11 +1,16 @@ +// Dart imports: import 'dart:async'; -import 'package:brambldart/brambldart.dart'; +// Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; + +// Package imports: +import 'package:brambldart/brambldart.dart'; import 'package:flutter_redux/flutter_redux.dart'; import 'package:redux/redux.dart'; +// Project imports: import 'package:ribn/actions/transaction_actions.dart'; import 'package:ribn/constants/keys.dart'; import 'package:ribn/constants/network_utils.dart'; @@ -76,8 +81,11 @@ class MintInputViewmodel { AssetDetails? assetDetails, required Function(bool success) onRawTxCreated, }) async { - final ToplAddress issuerAddress = store.state.keychainState.currentNetwork.myWalletAddress!.toplAddress; - final TransferType transferType = mintingNewAsset ? TransferType.mintingAsset : TransferType.remintingAsset; + final ToplAddress issuerAddress = store + .state.keychainState.currentNetwork.myWalletAddress!.toplAddress; + final TransferType transferType = mintingNewAsset + ? TransferType.mintingAsset + : TransferType.remintingAsset; final TransferDetails transferDetails = TransferDetails( transferType: transferType, assetCode: AssetCode.initialize( @@ -96,13 +104,17 @@ class MintInputViewmodel { await actionCompleter.future.then( (TransferDetails? transferDetails) { onRawTxCreated(transferDetails != null); - Keys.navigatorKey.currentState?.pushNamed(Routes.txReview, arguments: transferDetails); + Keys.navigatorKey.currentState + ?.pushNamed(Routes.txReview, arguments: transferDetails); }, ); }, - assets: store.state.keychainState.currentNetwork.getAssetsIssuedByWallet(), + assets: + store.state.keychainState.currentNetwork.getAssetsIssuedByWallet(), currentNetwork: store.state.keychainState.currentNetwork, - networkFee: NetworkUtils.networkFees[store.state.keychainState.currentNetwork.networkId]!.getInNanopoly, + networkFee: NetworkUtils + .networkFees[store.state.keychainState.currentNetwork.networkId]! + .getInNanopoly, assetDetails: store.state.userDetailsState.assetDetails, ); } @@ -120,6 +132,9 @@ class MintInputViewmodel { @override int get hashCode { - return networkFee.hashCode ^ assets.hashCode ^ currentNetwork.hashCode ^ assetDetails.hashCode; + return networkFee.hashCode ^ + assets.hashCode ^ + currentNetwork.hashCode ^ + assetDetails.hashCode; } } diff --git a/lib/containers/poly_transfer_input_container.dart b/lib/containers/poly_transfer_input_container.dart index 2d8a0823..ed20a012 100644 --- a/lib/containers/poly_transfer_input_container.dart +++ b/lib/containers/poly_transfer_input_container.dart @@ -1,10 +1,15 @@ +// Dart imports: import 'dart:async'; +// Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: import 'package:flutter_redux/flutter_redux.dart'; import 'package:redux/redux.dart'; -import 'package:ribn/actions/misc_actions.dart'; +// Project imports: +import 'package:ribn/actions/misc_actions.dart'; import 'package:ribn/actions/transaction_actions.dart'; import 'package:ribn/constants/keys.dart'; import 'package:ribn/constants/network_utils.dart'; @@ -16,7 +21,8 @@ import 'package:ribn/models/transfer_details.dart'; /// Intended to wrap the [PolyTransferInputPage] and provide it with the the [PolyTransferInputViewModel]. class PolyTransferInputContainer extends StatelessWidget { - const PolyTransferInputContainer({Key? key, required this.builder}) : super(key: key); + const PolyTransferInputContainer({Key? key, required this.builder}) + : super(key: key); final ViewModelBuilder builder; @override @@ -61,7 +67,9 @@ class PolyTransferInputViewModel { }); static PolyTransferInputViewModel fromStore(Store store) { - final num networkFee = NetworkUtils.networkFees[store.state.keychainState.currentNetwork.networkId]!.getInNanopoly; + final num networkFee = NetworkUtils + .networkFees[store.state.keychainState.currentNetwork.networkId]! + .getInNanopoly; return PolyTransferInputViewModel( initiateTx: ({ required String amount, @@ -83,14 +91,18 @@ class PolyTransferInputViewModel { (TransferDetails? transferDetails) { final success = transferDetails != null; onRawTxCreated(success); - Keys.navigatorKey.currentState?.pushNamed(Routes.txReview, arguments: transferDetails); + Keys.navigatorKey.currentState + ?.pushNamed(Routes.txReview, arguments: transferDetails); }, ); }, currentNetwork: store.state.keychainState.currentNetwork, networkFee: networkFee, - maxTransferrableAmount: store.state.keychainState.currentNetwork.getPolysInWallet() - networkFee, - navigateToSendAssets: () => store.dispatch(NavigateToRoute(Routes.assetsTransferInput)), + maxTransferrableAmount: + store.state.keychainState.currentNetwork.getPolysInWallet() - + networkFee, + navigateToSendAssets: () => + store.dispatch(NavigateToRoute(Routes.assetsTransferInput)), ); } diff --git a/lib/containers/ribn_app_bar_container.dart b/lib/containers/ribn_app_bar_container.dart index 706c6708..073ba0a5 100644 --- a/lib/containers/ribn_app_bar_container.dart +++ b/lib/containers/ribn_app_bar_container.dart @@ -1,15 +1,19 @@ +// Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; + +// Package imports: import 'package:flutter_redux/flutter_redux.dart'; import 'package:redux/redux.dart'; +import 'package:url_launcher/url_launcher_string.dart'; +// Project imports: import 'package:ribn/actions/keychain_actions.dart'; import 'package:ribn/actions/misc_actions.dart'; import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/routes.dart'; import 'package:ribn/constants/strings.dart'; import 'package:ribn/models/app_state.dart'; -import 'package:url_launcher/url_launcher_string.dart'; class RibnAppBarContainer extends StatelessWidget { const RibnAppBarContainer({ @@ -55,7 +59,9 @@ class RibnAppBarViewModel { }); static RibnAppBarViewModel fromStore(Store store) { return RibnAppBarViewModel( - networks: store.state.keychainState.allNetworks.map((e) => e.networkName).toList(), + networks: store.state.keychainState.allNetworks + .map((e) => e.networkName) + .toList(), currentNetworkName: store.state.keychainState.currentNetworkName, updateNetwork: (String network) { store.dispatch(UpdateCurrentNetworkAction(network)); @@ -92,6 +98,9 @@ class RibnAppBarViewModel { @override int get hashCode { - return networks.hashCode ^ currentNetworkName.hashCode ^ updateNetwork.hashCode ^ selectSettingsOption.hashCode; + return networks.hashCode ^ + currentNetworkName.hashCode ^ + updateNetwork.hashCode ^ + selectSettingsOption.hashCode; } } diff --git a/lib/containers/seed_phrase_confirmation_container.dart b/lib/containers/seed_phrase_confirmation_container.dart index cdcc3ede..60b00a4d 100644 --- a/lib/containers/seed_phrase_confirmation_container.dart +++ b/lib/containers/seed_phrase_confirmation_container.dart @@ -1,8 +1,12 @@ +// Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; + +// Package imports: import 'package:flutter_redux/flutter_redux.dart'; import 'package:redux/redux.dart'; +// Project imports: import 'package:ribn/actions/onboarding_actions.dart'; import 'package:ribn/models/app_state.dart'; @@ -46,10 +50,12 @@ class SeedPhraseConfirmationViewModel { static SeedPhraseConfirmationViewModel fromStore(Store store) { return SeedPhraseConfirmationViewModel( shuffledMnemonic: store.state.onboardingState.shuffledMnemonic!, - mnemonicWordsList: store.state.onboardingState.mnemonic!.split(' ').toList(), + mnemonicWordsList: + store.state.onboardingState.mnemonic!.split(' ').toList(), userSelectedIndices: store.state.onboardingState.userSelectedIndices!, - finishedInputting: store.state.onboardingState.userSelectedIndices?.length == - store.state.onboardingState.shuffledMnemonic?.length, + finishedInputting: + store.state.onboardingState.userSelectedIndices?.length == + store.state.onboardingState.shuffledMnemonic?.length, selectWord: (idx) => store.dispatch(UserSelectedWordAction(idx)), confirmeIdxs: store.state.onboardingState.mobileConfirmIdxs, ); @@ -68,6 +74,9 @@ class SeedPhraseConfirmationViewModel { @override int get hashCode { - return shuffledMnemonic.hashCode ^ mnemonicWordsList.hashCode ^ userSelectedIndices.hashCode ^ selectWord.hashCode; + return shuffledMnemonic.hashCode ^ + mnemonicWordsList.hashCode ^ + userSelectedIndices.hashCode ^ + selectWord.hashCode; } } diff --git a/lib/containers/settings_container.dart b/lib/containers/settings_container.dart index b8cec0ba..c3e8112e 100644 --- a/lib/containers/settings_container.dart +++ b/lib/containers/settings_container.dart @@ -1,16 +1,22 @@ // ignore_for_file: public_member_api_docs, sort_constructors_first + +// Dart imports: import 'dart:async'; +// Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: import 'package:flutter_redux/flutter_redux.dart'; import 'package:redux/redux.dart'; + +// Project imports: import 'package:ribn/actions/misc_actions.dart'; import 'package:ribn/models/app_state.dart'; import 'package:ribn/platform/platform.dart'; import 'package:ribn/presentation/settings/sections/delete_wallet_confirmation_dialog.dart'; import 'package:ribn/presentation/settings/sections/disconnect_wallet_confirmation_dialog.dart'; - /// Intended to wrap the [SettingsPage] and provide it with the the [SettingsViewModel]. class SettingsContainer extends StatelessWidget { const SettingsContainer({Key? key, required this.builder}) : super(key: key); diff --git a/lib/containers/transaction_history_container.dart b/lib/containers/transaction_history_container.dart index 510aa412..d99936a3 100644 --- a/lib/containers/transaction_history_container.dart +++ b/lib/containers/transaction_history_container.dart @@ -1,12 +1,16 @@ -import 'package:brambldart/brambldart.dart'; +// Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; + +// Package imports: +import 'package:brambldart/brambldart.dart'; import 'package:flutter_redux/flutter_redux.dart'; import 'package:redux/redux.dart'; + +// Project imports: import 'package:ribn/genus/generated/filters.pb.dart'; import 'package:ribn/genus/generated/services_types.pb.dart'; import 'package:ribn/genus/generated/transactions_query.pbgrpc.dart'; - import 'package:ribn/models/app_state.dart'; import 'package:ribn/platform/platform.dart'; diff --git a/lib/containers/wallet_balance_container.dart b/lib/containers/wallet_balance_container.dart index 229d1788..622d2be7 100644 --- a/lib/containers/wallet_balance_container.dart +++ b/lib/containers/wallet_balance_container.dart @@ -1,11 +1,16 @@ +// Dart imports: import 'dart:async'; -import 'package:brambldart/model.dart'; +// Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; + +// Package imports: +import 'package:brambldart/model.dart'; import 'package:flutter_redux/flutter_redux.dart'; import 'package:redux/redux.dart'; +// Project imports: import 'package:ribn/actions/keychain_actions.dart'; import 'package:ribn/actions/misc_actions.dart'; import 'package:ribn/constants/routes.dart'; @@ -17,7 +22,8 @@ import 'package:ribn/models/ribn_network.dart'; class WalletBalanceContainer extends StatelessWidget { final ViewModelBuilder builder; final void Function(WalletBalanceViewModel vm) onInitialBuild; - final void Function(WalletBalanceViewModel?, WalletBalanceViewModel) onWillChange; + final void Function(WalletBalanceViewModel?, WalletBalanceViewModel) + onWillChange; const WalletBalanceContainer({ Key? key, required this.builder, @@ -57,7 +63,8 @@ class WalletBalanceViewModel { final Function(AssetAmount) viewAssetDetails; /// Callback to refresh balances. - final void Function({required Function(bool success) onBalancesRefreshed}) refreshBalances; + final void Function({required Function(bool success) onBalancesRefreshed}) + refreshBalances; /// The current network being viewed. final RibnNetwork currentNetwork; @@ -82,8 +89,10 @@ class WalletBalanceViewModel { polyBalance: store.state.keychainState.currentNetwork.getPolysInWallet(), assets: store.state.keychainState.currentNetwork.getAllAssetsInWallet(), assetDetails: store.state.userDetailsState.assetDetails, - navigateToSendAssets: () => store.dispatch(NavigateToRoute(Routes.assetsTransferInput)), - navigateToSendPolys: () => store.dispatch(NavigateToRoute(Routes.polyTransferInput)), + navigateToSendAssets: () => + store.dispatch(NavigateToRoute(Routes.assetsTransferInput)), + navigateToSendPolys: () => + store.dispatch(NavigateToRoute(Routes.polyTransferInput)), viewAssetDetails: (AssetAmount assetAmount) => store.dispatch( NavigateToRoute( Routes.assetDetails, @@ -94,7 +103,8 @@ class WalletBalanceViewModel { ), refreshBalances: ({required Function(bool success) onBalancesRefreshed}) { final Completer actionCompleter = Completer(); - store.dispatch(RefreshBalancesAction(actionCompleter, store.state.keychainState.currentNetwork)); + store.dispatch(RefreshBalancesAction( + actionCompleter, store.state.keychainState.currentNetwork)); actionCompleter.future.then((bool value) => onBalancesRefreshed(value)); }, currentNetwork: store.state.keychainState.currentNetwork, diff --git a/lib/generated/assets.dart b/lib/generated/assets.dart index e69de29b..8b137891 100644 --- a/lib/generated/assets.dart +++ b/lib/generated/assets.dart @@ -0,0 +1 @@ + diff --git a/lib/genus/generated/blocks_query.pb.dart b/lib/genus/generated/blocks_query.pb.dart index f953dbb4..ef306c6d 100644 --- a/lib/genus/generated/blocks_query.pb.dart +++ b/lib/genus/generated/blocks_query.pb.dart @@ -5,23 +5,34 @@ // @dart = 2.12 // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name +// Dart imports: import 'dart:core' as $core; +// Package imports: import 'package:protobuf/protobuf.dart' as $pb; +// Project imports: import 'filters.pb.dart' as $4; import 'services_types.pb.dart' as $5; import 'types.pb.dart' as $6; class BlockSorting_Height extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'BlockSorting.Height', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'BlockSorting.Height', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) - ..aOB(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'descending') + ..aOB( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'descending') ..hasRequiredFields = false; BlockSorting_Height._() : super(); @@ -39,7 +50,8 @@ class BlockSorting_Height extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory BlockSorting_Height.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory BlockSorting_Height.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -59,10 +71,11 @@ class BlockSorting_Height extends $pb.GeneratedMessage { @$core.pragma('dart2js:noInline') static BlockSorting_Height create() => BlockSorting_Height._(); BlockSorting_Height createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static BlockSorting_Height getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static BlockSorting_Height getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static BlockSorting_Height? _defaultInstance; @$pb.TagNumber(1) @@ -80,13 +93,21 @@ class BlockSorting_Height extends $pb.GeneratedMessage { class BlockSorting_Timestamp extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'BlockSorting.Timestamp', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'BlockSorting.Timestamp', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) - ..aOB(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'descending') + ..aOB( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'descending') ..hasRequiredFields = false; BlockSorting_Timestamp._() : super(); @@ -104,30 +125,34 @@ class BlockSorting_Timestamp extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory BlockSorting_Timestamp.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory BlockSorting_Timestamp.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - BlockSorting_Timestamp clone() => BlockSorting_Timestamp()..mergeFromMessage(this); + BlockSorting_Timestamp clone() => + BlockSorting_Timestamp()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 'Will be removed in next major version', ) - BlockSorting_Timestamp copyWith(void Function(BlockSorting_Timestamp) updates) => + BlockSorting_Timestamp copyWith( + void Function(BlockSorting_Timestamp) updates) => super.copyWith((message) => updates(message as BlockSorting_Timestamp)) as BlockSorting_Timestamp; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static BlockSorting_Timestamp create() => BlockSorting_Timestamp._(); BlockSorting_Timestamp createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static BlockSorting_Timestamp getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static BlockSorting_Timestamp getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static BlockSorting_Timestamp? _defaultInstance; @$pb.TagNumber(1) @@ -145,13 +170,21 @@ class BlockSorting_Timestamp extends $pb.GeneratedMessage { class BlockSorting_Difficulty extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'BlockSorting.Difficulty', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'BlockSorting.Difficulty', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) - ..aOB(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'descending') + ..aOB( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'descending') ..hasRequiredFields = false; BlockSorting_Difficulty._() : super(); @@ -169,30 +202,34 @@ class BlockSorting_Difficulty extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory BlockSorting_Difficulty.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory BlockSorting_Difficulty.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - BlockSorting_Difficulty clone() => BlockSorting_Difficulty()..mergeFromMessage(this); + BlockSorting_Difficulty clone() => + BlockSorting_Difficulty()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 'Will be removed in next major version', ) - BlockSorting_Difficulty copyWith(void Function(BlockSorting_Difficulty) updates) => + BlockSorting_Difficulty copyWith( + void Function(BlockSorting_Difficulty) updates) => super.copyWith((message) => updates(message as BlockSorting_Difficulty)) as BlockSorting_Difficulty; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static BlockSorting_Difficulty create() => BlockSorting_Difficulty._(); BlockSorting_Difficulty createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static BlockSorting_Difficulty getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static BlockSorting_Difficulty getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static BlockSorting_Difficulty? _defaultInstance; @$pb.TagNumber(1) @@ -210,13 +247,21 @@ class BlockSorting_Difficulty extends $pb.GeneratedMessage { class BlockSorting_NumberOfTransactions extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'BlockSorting.NumberOfTransactions', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'BlockSorting.NumberOfTransactions', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) - ..aOB(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'descending') + ..aOB( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'descending') ..hasRequiredFields = false; BlockSorting_NumberOfTransactions._() : super(); @@ -244,24 +289,29 @@ class BlockSorting_NumberOfTransactions extends $pb.GeneratedMessage { 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - BlockSorting_NumberOfTransactions clone() => BlockSorting_NumberOfTransactions()..mergeFromMessage(this); + BlockSorting_NumberOfTransactions clone() => + BlockSorting_NumberOfTransactions()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 'Will be removed in next major version', ) - BlockSorting_NumberOfTransactions copyWith(void Function(BlockSorting_NumberOfTransactions) updates) => - super.copyWith((message) => updates(message as BlockSorting_NumberOfTransactions)) + BlockSorting_NumberOfTransactions copyWith( + void Function(BlockSorting_NumberOfTransactions) updates) => + super.copyWith((message) => + updates(message as BlockSorting_NumberOfTransactions)) as BlockSorting_NumberOfTransactions; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') - static BlockSorting_NumberOfTransactions create() => BlockSorting_NumberOfTransactions._(); + static BlockSorting_NumberOfTransactions create() => + BlockSorting_NumberOfTransactions._(); BlockSorting_NumberOfTransactions createEmptyInstance() => create(); static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static BlockSorting_NumberOfTransactions getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static BlockSorting_NumberOfTransactions getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor( + create); static BlockSorting_NumberOfTransactions? _defaultInstance; @$pb.TagNumber(1) @@ -277,10 +327,17 @@ class BlockSorting_NumberOfTransactions extends $pb.GeneratedMessage { void clearDescending() => clearField(1); } -enum BlockSorting_SortBy { height, timestamp, difficulty, numberOfTransactions, notSet } +enum BlockSorting_SortBy { + height, + timestamp, + difficulty, + numberOfTransactions, + notSet +} class BlockSorting extends $pb.GeneratedMessage { - static const $core.Map<$core.int, BlockSorting_SortBy> _BlockSorting_SortByByTag = { + static const $core.Map<$core.int, BlockSorting_SortBy> + _BlockSorting_SortByByTag = { 1: BlockSorting_SortBy.height, 2: BlockSorting_SortBy.timestamp, 3: BlockSorting_SortBy.difficulty, @@ -288,31 +345,43 @@ class BlockSorting extends $pb.GeneratedMessage { 0: BlockSorting_SortBy.notSet }; static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'BlockSorting', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'BlockSorting', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) ..oo(0, [1, 2, 3, 4]) ..aOM( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'height', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'height', subBuilder: BlockSorting_Height.create, ) ..aOM( 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'timestamp', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'timestamp', subBuilder: BlockSorting_Timestamp.create, ) ..aOM( 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'difficulty', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'difficulty', subBuilder: BlockSorting_Difficulty.create, ) ..aOM( 4, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'numberOfTransactions', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'numberOfTransactions', subBuilder: BlockSorting_NumberOfTransactions.create, ) ..hasRequiredFields = false; @@ -339,9 +408,11 @@ class BlockSorting extends $pb.GeneratedMessage { } return _result; } - factory BlockSorting.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory BlockSorting.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); - factory BlockSorting.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory BlockSorting.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -355,17 +426,21 @@ class BlockSorting extends $pb.GeneratedMessage { 'Will be removed in next major version', ) BlockSorting copyWith(void Function(BlockSorting) updates) => - super.copyWith((message) => updates(message as BlockSorting)) as BlockSorting; // ignore: deprecated_member_use + super.copyWith((message) => updates(message as BlockSorting)) + as BlockSorting; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static BlockSorting create() => BlockSorting._(); BlockSorting createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static BlockSorting getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static BlockSorting getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static BlockSorting? _defaultInstance; - BlockSorting_SortBy whichSortBy() => _BlockSorting_SortByByTag[$_whichOneof(0)]!; + BlockSorting_SortBy whichSortBy() => + _BlockSorting_SortByByTag[$_whichOneof(0)]!; void clearSortBy() => clearField($_whichOneof(0)); @$pb.TagNumber(1) @@ -427,30 +502,42 @@ class BlockSorting extends $pb.GeneratedMessage { class QueryBlocksReq extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'QueryBlocksReq', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'QueryBlocksReq', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) ..aOM<$4.BlockFilter>( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'filter', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'filter', subBuilder: $4.BlockFilter.create, ) ..aOM( 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'sorting', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'sorting', subBuilder: BlockSorting.create, ) ..a<$core.int>( 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'confirmationDepth', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'confirmationDepth', $pb.PbFieldType.OU3, ) ..aOM<$5.Paging>( 4, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'pagingOptions', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'pagingOptions', subBuilder: $5.Paging.create, ) ..hasRequiredFields = false; @@ -477,9 +564,11 @@ class QueryBlocksReq extends $pb.GeneratedMessage { } return _result; } - factory QueryBlocksReq.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory QueryBlocksReq.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); - factory QueryBlocksReq.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory QueryBlocksReq.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -499,9 +588,11 @@ class QueryBlocksReq extends $pb.GeneratedMessage { @$core.pragma('dart2js:noInline') static QueryBlocksReq create() => QueryBlocksReq._(); QueryBlocksReq createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static QueryBlocksReq getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static QueryBlocksReq getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static QueryBlocksReq? _defaultInstance; @$pb.TagNumber(1) @@ -561,15 +652,21 @@ class QueryBlocksReq extends $pb.GeneratedMessage { class QueryBlocksRes_Success extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'QueryBlocksRes.Success', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'QueryBlocksRes.Success', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) ..pc<$6.Block>( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'blocks', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'blocks', $pb.PbFieldType.PM, subBuilder: $6.Block.create, ) @@ -590,56 +687,82 @@ class QueryBlocksRes_Success extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory QueryBlocksRes_Success.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory QueryBlocksRes_Success.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - QueryBlocksRes_Success clone() => QueryBlocksRes_Success()..mergeFromMessage(this); + QueryBlocksRes_Success clone() => + QueryBlocksRes_Success()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 'Will be removed in next major version', ) - QueryBlocksRes_Success copyWith(void Function(QueryBlocksRes_Success) updates) => + QueryBlocksRes_Success copyWith( + void Function(QueryBlocksRes_Success) updates) => super.copyWith((message) => updates(message as QueryBlocksRes_Success)) as QueryBlocksRes_Success; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static QueryBlocksRes_Success create() => QueryBlocksRes_Success._(); QueryBlocksRes_Success createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static QueryBlocksRes_Success getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static QueryBlocksRes_Success getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static QueryBlocksRes_Success? _defaultInstance; @$pb.TagNumber(1) $core.List<$6.Block> get blocks => $_getList(0); } -enum QueryBlocksRes_Failure_Reason { dataStoreConnectionError, queryTimeout, invalidQuery, notSet } +enum QueryBlocksRes_Failure_Reason { + dataStoreConnectionError, + queryTimeout, + invalidQuery, + notSet +} class QueryBlocksRes_Failure extends $pb.GeneratedMessage { - static const $core.Map<$core.int, QueryBlocksRes_Failure_Reason> _QueryBlocksRes_Failure_ReasonByTag = { + static const $core.Map<$core.int, QueryBlocksRes_Failure_Reason> + _QueryBlocksRes_Failure_ReasonByTag = { 1: QueryBlocksRes_Failure_Reason.dataStoreConnectionError, 2: QueryBlocksRes_Failure_Reason.queryTimeout, 3: QueryBlocksRes_Failure_Reason.invalidQuery, 0: QueryBlocksRes_Failure_Reason.notSet }; static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'QueryBlocksRes.Failure', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'QueryBlocksRes.Failure', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) ..oo(0, [1, 2, 3]) - ..aOS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'dataStoreConnectionError') - ..aOS(2, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'queryTimeout') - ..aOS(3, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'invalidQuery') + ..aOS( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'dataStoreConnectionError') + ..aOS( + 2, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'queryTimeout') + ..aOS( + 3, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'invalidQuery') ..hasRequiredFields = false; QueryBlocksRes_Failure._() : super(); @@ -665,33 +788,38 @@ class QueryBlocksRes_Failure extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory QueryBlocksRes_Failure.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory QueryBlocksRes_Failure.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - QueryBlocksRes_Failure clone() => QueryBlocksRes_Failure()..mergeFromMessage(this); + QueryBlocksRes_Failure clone() => + QueryBlocksRes_Failure()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 'Will be removed in next major version', ) - QueryBlocksRes_Failure copyWith(void Function(QueryBlocksRes_Failure) updates) => + QueryBlocksRes_Failure copyWith( + void Function(QueryBlocksRes_Failure) updates) => super.copyWith((message) => updates(message as QueryBlocksRes_Failure)) as QueryBlocksRes_Failure; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static QueryBlocksRes_Failure create() => QueryBlocksRes_Failure._(); QueryBlocksRes_Failure createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static QueryBlocksRes_Failure getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static QueryBlocksRes_Failure getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static QueryBlocksRes_Failure? _defaultInstance; - QueryBlocksRes_Failure_Reason whichReason() => _QueryBlocksRes_Failure_ReasonByTag[$_whichOneof(0)]!; + QueryBlocksRes_Failure_Reason whichReason() => + _QueryBlocksRes_Failure_ReasonByTag[$_whichOneof(0)]!; void clearReason() => clearField($_whichOneof(0)); @$pb.TagNumber(1) @@ -734,27 +862,36 @@ class QueryBlocksRes_Failure extends $pb.GeneratedMessage { enum QueryBlocksRes_Result { success, failure, notSet } class QueryBlocksRes extends $pb.GeneratedMessage { - static const $core.Map<$core.int, QueryBlocksRes_Result> _QueryBlocksRes_ResultByTag = { + static const $core.Map<$core.int, QueryBlocksRes_Result> + _QueryBlocksRes_ResultByTag = { 1: QueryBlocksRes_Result.success, 2: QueryBlocksRes_Result.failure, 0: QueryBlocksRes_Result.notSet }; static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'QueryBlocksRes', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'QueryBlocksRes', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) ..oo(0, [1, 2]) ..aOM( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'success', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'success', subBuilder: QueryBlocksRes_Success.create, ) ..aOM( 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'failure', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'failure', subBuilder: QueryBlocksRes_Failure.create, ) ..hasRequiredFields = false; @@ -773,9 +910,11 @@ class QueryBlocksRes extends $pb.GeneratedMessage { } return _result; } - factory QueryBlocksRes.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory QueryBlocksRes.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); - factory QueryBlocksRes.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory QueryBlocksRes.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -795,12 +934,15 @@ class QueryBlocksRes extends $pb.GeneratedMessage { @$core.pragma('dart2js:noInline') static QueryBlocksRes create() => QueryBlocksRes._(); QueryBlocksRes createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static QueryBlocksRes getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static QueryBlocksRes getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static QueryBlocksRes? _defaultInstance; - QueryBlocksRes_Result whichResult() => _QueryBlocksRes_ResultByTag[$_whichOneof(0)]!; + QueryBlocksRes_Result whichResult() => + _QueryBlocksRes_ResultByTag[$_whichOneof(0)]!; void clearResult() => clearField($_whichOneof(0)); @$pb.TagNumber(1) @@ -834,25 +976,35 @@ class QueryBlocksRes extends $pb.GeneratedMessage { class BlocksQueryStreamReq extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'BlocksQueryStreamReq', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'BlocksQueryStreamReq', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) ..aOM<$4.BlockFilter>( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'filter', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'filter', subBuilder: $4.BlockFilter.create, ) ..aOM( 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'sorting', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'sorting', subBuilder: BlockSorting.create, ) ..a<$core.int>( 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'confirmationDepth', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'confirmationDepth', $pb.PbFieldType.OU3, ) ..hasRequiredFields = false; @@ -880,14 +1032,16 @@ class BlocksQueryStreamReq extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory BlocksQueryStreamReq.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory BlocksQueryStreamReq.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - BlocksQueryStreamReq clone() => BlocksQueryStreamReq()..mergeFromMessage(this); + BlocksQueryStreamReq clone() => + BlocksQueryStreamReq()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' @@ -900,10 +1054,11 @@ class BlocksQueryStreamReq extends $pb.GeneratedMessage { @$core.pragma('dart2js:noInline') static BlocksQueryStreamReq create() => BlocksQueryStreamReq._(); BlocksQueryStreamReq createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static BlocksQueryStreamReq getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static BlocksQueryStreamReq getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static BlocksQueryStreamReq? _defaultInstance; @$pb.TagNumber(1) @@ -947,24 +1102,41 @@ class BlocksQueryStreamReq extends $pb.GeneratedMessage { void clearConfirmationDepth() => clearField(3); } -enum BlocksQueryStreamRes_Failure_Reason { dataStoreConnectionError, invalidQuery, notSet } +enum BlocksQueryStreamRes_Failure_Reason { + dataStoreConnectionError, + invalidQuery, + notSet +} class BlocksQueryStreamRes_Failure extends $pb.GeneratedMessage { - static const $core.Map<$core.int, BlocksQueryStreamRes_Failure_Reason> _BlocksQueryStreamRes_Failure_ReasonByTag = { + static const $core.Map<$core.int, BlocksQueryStreamRes_Failure_Reason> + _BlocksQueryStreamRes_Failure_ReasonByTag = { 1: BlocksQueryStreamRes_Failure_Reason.dataStoreConnectionError, 2: BlocksQueryStreamRes_Failure_Reason.invalidQuery, 0: BlocksQueryStreamRes_Failure_Reason.notSet }; static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'BlocksQueryStreamRes.Failure', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'BlocksQueryStreamRes.Failure', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) ..oo(0, [1, 2]) - ..aOS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'dataStoreConnectionError') - ..aOS(2, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'invalidQuery') + ..aOS( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'dataStoreConnectionError') + ..aOS( + 2, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'invalidQuery') ..hasRequiredFields = false; BlocksQueryStreamRes_Failure._() : super(); @@ -996,26 +1168,32 @@ class BlocksQueryStreamRes_Failure extends $pb.GeneratedMessage { 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - BlocksQueryStreamRes_Failure clone() => BlocksQueryStreamRes_Failure()..mergeFromMessage(this); + BlocksQueryStreamRes_Failure clone() => + BlocksQueryStreamRes_Failure()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 'Will be removed in next major version', ) - BlocksQueryStreamRes_Failure copyWith(void Function(BlocksQueryStreamRes_Failure) updates) => - super.copyWith((message) => updates(message as BlocksQueryStreamRes_Failure)) + BlocksQueryStreamRes_Failure copyWith( + void Function(BlocksQueryStreamRes_Failure) updates) => + super.copyWith( + (message) => updates(message as BlocksQueryStreamRes_Failure)) as BlocksQueryStreamRes_Failure; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') - static BlocksQueryStreamRes_Failure create() => BlocksQueryStreamRes_Failure._(); + static BlocksQueryStreamRes_Failure create() => + BlocksQueryStreamRes_Failure._(); BlocksQueryStreamRes_Failure createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static BlocksQueryStreamRes_Failure getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static BlocksQueryStreamRes_Failure getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static BlocksQueryStreamRes_Failure? _defaultInstance; - BlocksQueryStreamRes_Failure_Reason whichReason() => _BlocksQueryStreamRes_Failure_ReasonByTag[$_whichOneof(0)]!; + BlocksQueryStreamRes_Failure_Reason whichReason() => + _BlocksQueryStreamRes_Failure_ReasonByTag[$_whichOneof(0)]!; void clearReason() => clearField($_whichOneof(0)); @$pb.TagNumber(1) @@ -1046,27 +1224,36 @@ class BlocksQueryStreamRes_Failure extends $pb.GeneratedMessage { enum BlocksQueryStreamRes_Result { block, failure, notSet } class BlocksQueryStreamRes extends $pb.GeneratedMessage { - static const $core.Map<$core.int, BlocksQueryStreamRes_Result> _BlocksQueryStreamRes_ResultByTag = { + static const $core.Map<$core.int, BlocksQueryStreamRes_Result> + _BlocksQueryStreamRes_ResultByTag = { 1: BlocksQueryStreamRes_Result.block, 2: BlocksQueryStreamRes_Result.failure, 0: BlocksQueryStreamRes_Result.notSet }; static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'BlocksQueryStreamRes', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'BlocksQueryStreamRes', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) ..oo(0, [1, 2]) ..aOM<$6.Block>( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'block', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'block', subBuilder: $6.Block.create, ) ..aOM( 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'failure', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'failure', subBuilder: BlocksQueryStreamRes_Failure.create, ) ..hasRequiredFields = false; @@ -1090,14 +1277,16 @@ class BlocksQueryStreamRes extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory BlocksQueryStreamRes.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory BlocksQueryStreamRes.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - BlocksQueryStreamRes clone() => BlocksQueryStreamRes()..mergeFromMessage(this); + BlocksQueryStreamRes clone() => + BlocksQueryStreamRes()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' @@ -1110,13 +1299,15 @@ class BlocksQueryStreamRes extends $pb.GeneratedMessage { @$core.pragma('dart2js:noInline') static BlocksQueryStreamRes create() => BlocksQueryStreamRes._(); BlocksQueryStreamRes createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static BlocksQueryStreamRes getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static BlocksQueryStreamRes getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static BlocksQueryStreamRes? _defaultInstance; - BlocksQueryStreamRes_Result whichResult() => _BlocksQueryStreamRes_ResultByTag[$_whichOneof(0)]!; + BlocksQueryStreamRes_Result whichResult() => + _BlocksQueryStreamRes_ResultByTag[$_whichOneof(0)]!; void clearResult() => clearField($_whichOneof(0)); @$pb.TagNumber(1) diff --git a/lib/genus/generated/blocks_query.pbenum.dart b/lib/genus/generated/blocks_query.pbenum.dart index 02741272..e2619d12 100644 --- a/lib/genus/generated/blocks_query.pbenum.dart +++ b/lib/genus/generated/blocks_query.pbenum.dart @@ -4,4 +4,3 @@ // // @dart = 2.12 // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name - diff --git a/lib/genus/generated/blocks_query.pbgrpc.dart b/lib/genus/generated/blocks_query.pbgrpc.dart index b2cf221f..17a81ce9 100644 --- a/lib/genus/generated/blocks_query.pbgrpc.dart +++ b/lib/genus/generated/blocks_query.pbgrpc.dart @@ -5,21 +5,27 @@ // @dart = 2.12 // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name +// Dart imports: import 'dart:async' as $async; - import 'dart:core' as $core; +// Package imports: import 'package:grpc/service_api.dart' as $grpc; + +// Project imports: import 'blocks_query.pb.dart' as $1; + export 'blocks_query.pb.dart'; class BlocksQueryClient extends $grpc.Client { - static final _$query = $grpc.ClientMethod<$1.QueryBlocksReq, $1.QueryBlocksRes>( + static final _$query = + $grpc.ClientMethod<$1.QueryBlocksReq, $1.QueryBlocksRes>( '/co.topl.genus.services.BlocksQuery/Query', ($1.QueryBlocksReq value) => value.writeToBuffer(), ($core.List<$core.int> value) => $1.QueryBlocksRes.fromBuffer(value), ); - static final _$queryStream = $grpc.ClientMethod<$1.BlocksQueryStreamReq, $1.BlocksQueryStreamRes>( + static final _$queryStream = + $grpc.ClientMethod<$1.BlocksQueryStreamReq, $1.BlocksQueryStreamRes>( '/co.topl.genus.services.BlocksQuery/QueryStream', ($1.BlocksQueryStreamReq value) => value.writeToBuffer(), ($core.List<$core.int> value) => $1.BlocksQueryStreamRes.fromBuffer(value), @@ -70,7 +76,8 @@ abstract class BlocksQueryServiceBase extends $grpc.Service { queryStream_Pre, false, true, - ($core.List<$core.int> value) => $1.BlocksQueryStreamReq.fromBuffer(value), + ($core.List<$core.int> value) => + $1.BlocksQueryStreamReq.fromBuffer(value), ($1.BlocksQueryStreamRes value) => value.writeToBuffer(), ), ); diff --git a/lib/genus/generated/blocks_query.pbjson.dart b/lib/genus/generated/blocks_query.pbjson.dart index 672868d0..9abd574f 100644 --- a/lib/genus/generated/blocks_query.pbjson.dart +++ b/lib/genus/generated/blocks_query.pbjson.dart @@ -5,19 +5,58 @@ // @dart = 2.12 // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,deprecated_member_use_from_same_package,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name -import 'dart:core' as $core; +// Dart imports: import 'dart:convert' as $convert; +import 'dart:core' as $core; import 'dart:typed_data' as $typed_data; + @$core.Deprecated('Use blockSortingDescriptor instead') const BlockSorting$json = const { '1': 'BlockSorting', '2': const [ - const {'1': 'height', '3': 1, '4': 1, '5': 11, '6': '.co.topl.genus.services.BlockSorting.Height', '9': 0, '10': 'height'}, - const {'1': 'timestamp', '3': 2, '4': 1, '5': 11, '6': '.co.topl.genus.services.BlockSorting.Timestamp', '9': 0, '10': 'timestamp'}, - const {'1': 'difficulty', '3': 3, '4': 1, '5': 11, '6': '.co.topl.genus.services.BlockSorting.Difficulty', '9': 0, '10': 'difficulty'}, - const {'1': 'number_of_transactions', '3': 4, '4': 1, '5': 11, '6': '.co.topl.genus.services.BlockSorting.NumberOfTransactions', '9': 0, '10': 'numberOfTransactions'}, + const { + '1': 'height', + '3': 1, + '4': 1, + '5': 11, + '6': '.co.topl.genus.services.BlockSorting.Height', + '9': 0, + '10': 'height' + }, + const { + '1': 'timestamp', + '3': 2, + '4': 1, + '5': 11, + '6': '.co.topl.genus.services.BlockSorting.Timestamp', + '9': 0, + '10': 'timestamp' + }, + const { + '1': 'difficulty', + '3': 3, + '4': 1, + '5': 11, + '6': '.co.topl.genus.services.BlockSorting.Difficulty', + '9': 0, + '10': 'difficulty' + }, + const { + '1': 'number_of_transactions', + '3': 4, + '4': 1, + '5': 11, + '6': '.co.topl.genus.services.BlockSorting.NumberOfTransactions', + '9': 0, + '10': 'numberOfTransactions' + }, + ], + '3': const [ + BlockSorting_Height$json, + BlockSorting_Timestamp$json, + BlockSorting_Difficulty$json, + BlockSorting_NumberOfTransactions$json ], - '3': const [BlockSorting_Height$json, BlockSorting_Timestamp$json, BlockSorting_Difficulty$json, BlockSorting_NumberOfTransactions$json], '8': const [ const {'1': 'sort_by'}, ], @@ -56,26 +95,71 @@ const BlockSorting_NumberOfTransactions$json = const { }; /// Descriptor for `BlockSorting`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List blockSortingDescriptor = $convert.base64Decode('CgxCbG9ja1NvcnRpbmcSRQoGaGVpZ2h0GAEgASgLMisuY28udG9wbC5nZW51cy5zZXJ2aWNlcy5CbG9ja1NvcnRpbmcuSGVpZ2h0SABSBmhlaWdodBJOCgl0aW1lc3RhbXAYAiABKAsyLi5jby50b3BsLmdlbnVzLnNlcnZpY2VzLkJsb2NrU29ydGluZy5UaW1lc3RhbXBIAFIJdGltZXN0YW1wElEKCmRpZmZpY3VsdHkYAyABKAsyLy5jby50b3BsLmdlbnVzLnNlcnZpY2VzLkJsb2NrU29ydGluZy5EaWZmaWN1bHR5SABSCmRpZmZpY3VsdHkScQoWbnVtYmVyX29mX3RyYW5zYWN0aW9ucxgEIAEoCzI5LmNvLnRvcGwuZ2VudXMuc2VydmljZXMuQmxvY2tTb3J0aW5nLk51bWJlck9mVHJhbnNhY3Rpb25zSABSFG51bWJlck9mVHJhbnNhY3Rpb25zGigKBkhlaWdodBIeCgpkZXNjZW5kaW5nGAEgASgIUgpkZXNjZW5kaW5nGisKCVRpbWVzdGFtcBIeCgpkZXNjZW5kaW5nGAEgASgIUgpkZXNjZW5kaW5nGiwKCkRpZmZpY3VsdHkSHgoKZGVzY2VuZGluZxgBIAEoCFIKZGVzY2VuZGluZxo2ChROdW1iZXJPZlRyYW5zYWN0aW9ucxIeCgpkZXNjZW5kaW5nGAEgASgIUgpkZXNjZW5kaW5nQgkKB3NvcnRfYnk='); +final $typed_data.Uint8List blockSortingDescriptor = $convert.base64Decode( + 'CgxCbG9ja1NvcnRpbmcSRQoGaGVpZ2h0GAEgASgLMisuY28udG9wbC5nZW51cy5zZXJ2aWNlcy5CbG9ja1NvcnRpbmcuSGVpZ2h0SABSBmhlaWdodBJOCgl0aW1lc3RhbXAYAiABKAsyLi5jby50b3BsLmdlbnVzLnNlcnZpY2VzLkJsb2NrU29ydGluZy5UaW1lc3RhbXBIAFIJdGltZXN0YW1wElEKCmRpZmZpY3VsdHkYAyABKAsyLy5jby50b3BsLmdlbnVzLnNlcnZpY2VzLkJsb2NrU29ydGluZy5EaWZmaWN1bHR5SABSCmRpZmZpY3VsdHkScQoWbnVtYmVyX29mX3RyYW5zYWN0aW9ucxgEIAEoCzI5LmNvLnRvcGwuZ2VudXMuc2VydmljZXMuQmxvY2tTb3J0aW5nLk51bWJlck9mVHJhbnNhY3Rpb25zSABSFG51bWJlck9mVHJhbnNhY3Rpb25zGigKBkhlaWdodBIeCgpkZXNjZW5kaW5nGAEgASgIUgpkZXNjZW5kaW5nGisKCVRpbWVzdGFtcBIeCgpkZXNjZW5kaW5nGAEgASgIUgpkZXNjZW5kaW5nGiwKCkRpZmZpY3VsdHkSHgoKZGVzY2VuZGluZxgBIAEoCFIKZGVzY2VuZGluZxo2ChROdW1iZXJPZlRyYW5zYWN0aW9ucxIeCgpkZXNjZW5kaW5nGAEgASgIUgpkZXNjZW5kaW5nQgkKB3NvcnRfYnk='); @$core.Deprecated('Use queryBlocksReqDescriptor instead') const QueryBlocksReq$json = const { '1': 'QueryBlocksReq', '2': const [ - const {'1': 'filter', '3': 1, '4': 1, '5': 11, '6': '.co.topl.genus.BlockFilter', '10': 'filter'}, - const {'1': 'sorting', '3': 2, '4': 1, '5': 11, '6': '.co.topl.genus.services.BlockSorting', '10': 'sorting'}, - const {'1': 'confirmation_depth', '3': 3, '4': 1, '5': 13, '10': 'confirmationDepth'}, - const {'1': 'paging_options', '3': 4, '4': 1, '5': 11, '6': '.co.topl.genus.services.Paging', '10': 'pagingOptions'}, + const { + '1': 'filter', + '3': 1, + '4': 1, + '5': 11, + '6': '.co.topl.genus.BlockFilter', + '10': 'filter' + }, + const { + '1': 'sorting', + '3': 2, + '4': 1, + '5': 11, + '6': '.co.topl.genus.services.BlockSorting', + '10': 'sorting' + }, + const { + '1': 'confirmation_depth', + '3': 3, + '4': 1, + '5': 13, + '10': 'confirmationDepth' + }, + const { + '1': 'paging_options', + '3': 4, + '4': 1, + '5': 11, + '6': '.co.topl.genus.services.Paging', + '10': 'pagingOptions' + }, ], }; /// Descriptor for `QueryBlocksReq`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List queryBlocksReqDescriptor = $convert.base64Decode('Cg5RdWVyeUJsb2Nrc1JlcRIyCgZmaWx0ZXIYASABKAsyGi5jby50b3BsLmdlbnVzLkJsb2NrRmlsdGVyUgZmaWx0ZXISPgoHc29ydGluZxgCIAEoCzIkLmNvLnRvcGwuZ2VudXMuc2VydmljZXMuQmxvY2tTb3J0aW5nUgdzb3J0aW5nEi0KEmNvbmZpcm1hdGlvbl9kZXB0aBgDIAEoDVIRY29uZmlybWF0aW9uRGVwdGgSRQoOcGFnaW5nX29wdGlvbnMYBCABKAsyHi5jby50b3BsLmdlbnVzLnNlcnZpY2VzLlBhZ2luZ1INcGFnaW5nT3B0aW9ucw=='); +final $typed_data.Uint8List queryBlocksReqDescriptor = $convert.base64Decode( + 'Cg5RdWVyeUJsb2Nrc1JlcRIyCgZmaWx0ZXIYASABKAsyGi5jby50b3BsLmdlbnVzLkJsb2NrRmlsdGVyUgZmaWx0ZXISPgoHc29ydGluZxgCIAEoCzIkLmNvLnRvcGwuZ2VudXMuc2VydmljZXMuQmxvY2tTb3J0aW5nUgdzb3J0aW5nEi0KEmNvbmZpcm1hdGlvbl9kZXB0aBgDIAEoDVIRY29uZmlybWF0aW9uRGVwdGgSRQoOcGFnaW5nX29wdGlvbnMYBCABKAsyHi5jby50b3BsLmdlbnVzLnNlcnZpY2VzLlBhZ2luZ1INcGFnaW5nT3B0aW9ucw=='); @$core.Deprecated('Use queryBlocksResDescriptor instead') const QueryBlocksRes$json = const { '1': 'QueryBlocksRes', '2': const [ - const {'1': 'success', '3': 1, '4': 1, '5': 11, '6': '.co.topl.genus.services.QueryBlocksRes.Success', '9': 0, '10': 'success'}, - const {'1': 'failure', '3': 2, '4': 1, '5': 11, '6': '.co.topl.genus.services.QueryBlocksRes.Failure', '9': 0, '10': 'failure'}, + const { + '1': 'success', + '3': 1, + '4': 1, + '5': 11, + '6': '.co.topl.genus.services.QueryBlocksRes.Success', + '9': 0, + '10': 'success' + }, + const { + '1': 'failure', + '3': 2, + '4': 1, + '5': 11, + '6': '.co.topl.genus.services.QueryBlocksRes.Failure', + '9': 0, + '10': 'failure' + }, ], '3': const [QueryBlocksRes_Success$json, QueryBlocksRes_Failure$json], '8': const [ @@ -87,7 +171,14 @@ const QueryBlocksRes$json = const { const QueryBlocksRes_Success$json = const { '1': 'Success', '2': const [ - const {'1': 'blocks', '3': 1, '4': 3, '5': 11, '6': '.co.topl.genus.Block', '10': 'blocks'}, + const { + '1': 'blocks', + '3': 1, + '4': 3, + '5': 11, + '6': '.co.topl.genus.Block', + '10': 'blocks' + }, ], }; @@ -95,9 +186,30 @@ const QueryBlocksRes_Success$json = const { const QueryBlocksRes_Failure$json = const { '1': 'Failure', '2': const [ - const {'1': 'data_store_connection_error', '3': 1, '4': 1, '5': 9, '9': 0, '10': 'dataStoreConnectionError'}, - const {'1': 'query_timeout', '3': 2, '4': 1, '5': 9, '9': 0, '10': 'queryTimeout'}, - const {'1': 'invalid_query', '3': 3, '4': 1, '5': 9, '9': 0, '10': 'invalidQuery'}, + const { + '1': 'data_store_connection_error', + '3': 1, + '4': 1, + '5': 9, + '9': 0, + '10': 'dataStoreConnectionError' + }, + const { + '1': 'query_timeout', + '3': 2, + '4': 1, + '5': 9, + '9': 0, + '10': 'queryTimeout' + }, + const { + '1': 'invalid_query', + '3': 3, + '4': 1, + '5': 9, + '9': 0, + '10': 'invalidQuery' + }, ], '8': const [ const {'1': 'reason'}, @@ -105,25 +217,63 @@ const QueryBlocksRes_Failure$json = const { }; /// Descriptor for `QueryBlocksRes`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List queryBlocksResDescriptor = $convert.base64Decode('Cg5RdWVyeUJsb2Nrc1JlcxJKCgdzdWNjZXNzGAEgASgLMi4uY28udG9wbC5nZW51cy5zZXJ2aWNlcy5RdWVyeUJsb2Nrc1Jlcy5TdWNjZXNzSABSB3N1Y2Nlc3MSSgoHZmFpbHVyZRgCIAEoCzIuLmNvLnRvcGwuZ2VudXMuc2VydmljZXMuUXVlcnlCbG9ja3NSZXMuRmFpbHVyZUgAUgdmYWlsdXJlGjcKB1N1Y2Nlc3MSLAoGYmxvY2tzGAEgAygLMhQuY28udG9wbC5nZW51cy5CbG9ja1IGYmxvY2tzGqIBCgdGYWlsdXJlEj8KG2RhdGFfc3RvcmVfY29ubmVjdGlvbl9lcnJvchgBIAEoCUgAUhhkYXRhU3RvcmVDb25uZWN0aW9uRXJyb3ISJQoNcXVlcnlfdGltZW91dBgCIAEoCUgAUgxxdWVyeVRpbWVvdXQSJQoNaW52YWxpZF9xdWVyeRgDIAEoCUgAUgxpbnZhbGlkUXVlcnlCCAoGcmVhc29uQggKBnJlc3VsdA=='); +final $typed_data.Uint8List queryBlocksResDescriptor = $convert.base64Decode( + 'Cg5RdWVyeUJsb2Nrc1JlcxJKCgdzdWNjZXNzGAEgASgLMi4uY28udG9wbC5nZW51cy5zZXJ2aWNlcy5RdWVyeUJsb2Nrc1Jlcy5TdWNjZXNzSABSB3N1Y2Nlc3MSSgoHZmFpbHVyZRgCIAEoCzIuLmNvLnRvcGwuZ2VudXMuc2VydmljZXMuUXVlcnlCbG9ja3NSZXMuRmFpbHVyZUgAUgdmYWlsdXJlGjcKB1N1Y2Nlc3MSLAoGYmxvY2tzGAEgAygLMhQuY28udG9wbC5nZW51cy5CbG9ja1IGYmxvY2tzGqIBCgdGYWlsdXJlEj8KG2RhdGFfc3RvcmVfY29ubmVjdGlvbl9lcnJvchgBIAEoCUgAUhhkYXRhU3RvcmVDb25uZWN0aW9uRXJyb3ISJQoNcXVlcnlfdGltZW91dBgCIAEoCUgAUgxxdWVyeVRpbWVvdXQSJQoNaW52YWxpZF9xdWVyeRgDIAEoCUgAUgxpbnZhbGlkUXVlcnlCCAoGcmVhc29uQggKBnJlc3VsdA=='); @$core.Deprecated('Use blocksQueryStreamReqDescriptor instead') const BlocksQueryStreamReq$json = const { '1': 'BlocksQueryStreamReq', '2': const [ - const {'1': 'filter', '3': 1, '4': 1, '5': 11, '6': '.co.topl.genus.BlockFilter', '10': 'filter'}, - const {'1': 'sorting', '3': 2, '4': 1, '5': 11, '6': '.co.topl.genus.services.BlockSorting', '10': 'sorting'}, - const {'1': 'confirmation_depth', '3': 3, '4': 1, '5': 13, '10': 'confirmationDepth'}, + const { + '1': 'filter', + '3': 1, + '4': 1, + '5': 11, + '6': '.co.topl.genus.BlockFilter', + '10': 'filter' + }, + const { + '1': 'sorting', + '3': 2, + '4': 1, + '5': 11, + '6': '.co.topl.genus.services.BlockSorting', + '10': 'sorting' + }, + const { + '1': 'confirmation_depth', + '3': 3, + '4': 1, + '5': 13, + '10': 'confirmationDepth' + }, ], }; /// Descriptor for `BlocksQueryStreamReq`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List blocksQueryStreamReqDescriptor = $convert.base64Decode('ChRCbG9ja3NRdWVyeVN0cmVhbVJlcRIyCgZmaWx0ZXIYASABKAsyGi5jby50b3BsLmdlbnVzLkJsb2NrRmlsdGVyUgZmaWx0ZXISPgoHc29ydGluZxgCIAEoCzIkLmNvLnRvcGwuZ2VudXMuc2VydmljZXMuQmxvY2tTb3J0aW5nUgdzb3J0aW5nEi0KEmNvbmZpcm1hdGlvbl9kZXB0aBgDIAEoDVIRY29uZmlybWF0aW9uRGVwdGg='); +final $typed_data.Uint8List blocksQueryStreamReqDescriptor = $convert.base64Decode( + 'ChRCbG9ja3NRdWVyeVN0cmVhbVJlcRIyCgZmaWx0ZXIYASABKAsyGi5jby50b3BsLmdlbnVzLkJsb2NrRmlsdGVyUgZmaWx0ZXISPgoHc29ydGluZxgCIAEoCzIkLmNvLnRvcGwuZ2VudXMuc2VydmljZXMuQmxvY2tTb3J0aW5nUgdzb3J0aW5nEi0KEmNvbmZpcm1hdGlvbl9kZXB0aBgDIAEoDVIRY29uZmlybWF0aW9uRGVwdGg='); @$core.Deprecated('Use blocksQueryStreamResDescriptor instead') const BlocksQueryStreamRes$json = const { '1': 'BlocksQueryStreamRes', '2': const [ - const {'1': 'block', '3': 1, '4': 1, '5': 11, '6': '.co.topl.genus.Block', '9': 0, '10': 'block'}, - const {'1': 'failure', '3': 2, '4': 1, '5': 11, '6': '.co.topl.genus.services.BlocksQueryStreamRes.Failure', '9': 0, '10': 'failure'}, + const { + '1': 'block', + '3': 1, + '4': 1, + '5': 11, + '6': '.co.topl.genus.Block', + '9': 0, + '10': 'block' + }, + const { + '1': 'failure', + '3': 2, + '4': 1, + '5': 11, + '6': '.co.topl.genus.services.BlocksQueryStreamRes.Failure', + '9': 0, + '10': 'failure' + }, ], '3': const [BlocksQueryStreamRes_Failure$json], '8': const [ @@ -135,8 +285,22 @@ const BlocksQueryStreamRes$json = const { const BlocksQueryStreamRes_Failure$json = const { '1': 'Failure', '2': const [ - const {'1': 'data_store_connection_error', '3': 1, '4': 1, '5': 9, '9': 0, '10': 'dataStoreConnectionError'}, - const {'1': 'invalid_query', '3': 2, '4': 1, '5': 9, '9': 0, '10': 'invalidQuery'}, + const { + '1': 'data_store_connection_error', + '3': 1, + '4': 1, + '5': 9, + '9': 0, + '10': 'dataStoreConnectionError' + }, + const { + '1': 'invalid_query', + '3': 2, + '4': 1, + '5': 9, + '9': 0, + '10': 'invalidQuery' + }, ], '8': const [ const {'1': 'reason'}, @@ -144,4 +308,5 @@ const BlocksQueryStreamRes_Failure$json = const { }; /// Descriptor for `BlocksQueryStreamRes`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List blocksQueryStreamResDescriptor = $convert.base64Decode('ChRCbG9ja3NRdWVyeVN0cmVhbVJlcxIsCgVibG9jaxgBIAEoCzIULmNvLnRvcGwuZ2VudXMuQmxvY2tIAFIFYmxvY2sSUAoHZmFpbHVyZRgCIAEoCzI0LmNvLnRvcGwuZ2VudXMuc2VydmljZXMuQmxvY2tzUXVlcnlTdHJlYW1SZXMuRmFpbHVyZUgAUgdmYWlsdXJlGnsKB0ZhaWx1cmUSPwobZGF0YV9zdG9yZV9jb25uZWN0aW9uX2Vycm9yGAEgASgJSABSGGRhdGFTdG9yZUNvbm5lY3Rpb25FcnJvchIlCg1pbnZhbGlkX3F1ZXJ5GAIgASgJSABSDGludmFsaWRRdWVyeUIICgZyZWFzb25CCAoGcmVzdWx0'); +final $typed_data.Uint8List blocksQueryStreamResDescriptor = $convert.base64Decode( + 'ChRCbG9ja3NRdWVyeVN0cmVhbVJlcxIsCgVibG9jaxgBIAEoCzIULmNvLnRvcGwuZ2VudXMuQmxvY2tIAFIFYmxvY2sSUAoHZmFpbHVyZRgCIAEoCzI0LmNvLnRvcGwuZ2VudXMuc2VydmljZXMuQmxvY2tzUXVlcnlTdHJlYW1SZXMuRmFpbHVyZUgAUgdmYWlsdXJlGnsKB0ZhaWx1cmUSPwobZGF0YV9zdG9yZV9jb25uZWN0aW9uX2Vycm9yGAEgASgJSABSGGRhdGFTdG9yZUNvbm5lY3Rpb25FcnJvchIlCg1pbnZhbGlkX3F1ZXJ5GAIgASgJSABSDGludmFsaWRRdWVyeUIICgZyZWFzb25CCAoGcmVzdWx0'); diff --git a/lib/genus/generated/blocks_subscription.pb.dart b/lib/genus/generated/blocks_subscription.pb.dart index 4570eddc..ca911396 100644 --- a/lib/genus/generated/blocks_subscription.pb.dart +++ b/lib/genus/generated/blocks_subscription.pb.dart @@ -5,35 +5,48 @@ // @dart = 2.12 // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name +// Dart imports: import 'dart:core' as $core; +// Package imports: import 'package:fixnum/fixnum.dart' as $fixnum; import 'package:protobuf/protobuf.dart' as $pb; +// Project imports: import 'filters.pb.dart' as $4; import 'types.pb.dart' as $6; class CreateBlocksSubscriptionReq extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'CreateBlocksSubscriptionReq', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'CreateBlocksSubscriptionReq', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) ..aOM<$4.BlockFilter>( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'filter', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'filter', subBuilder: $4.BlockFilter.create, ) ..a<$core.int>( 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'confirmationDepth', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'confirmationDepth', $pb.PbFieldType.OU3, ) ..a<$fixnum.Int64>( 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'startHeight', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'startHeight', $pb.PbFieldType.OU6, defaultOrMaker: $fixnum.Int64.ZERO, ) @@ -72,23 +85,28 @@ class CreateBlocksSubscriptionReq extends $pb.GeneratedMessage { 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - CreateBlocksSubscriptionReq clone() => CreateBlocksSubscriptionReq()..mergeFromMessage(this); + CreateBlocksSubscriptionReq clone() => + CreateBlocksSubscriptionReq()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 'Will be removed in next major version', ) - CreateBlocksSubscriptionReq copyWith(void Function(CreateBlocksSubscriptionReq) updates) => - super.copyWith((message) => updates(message as CreateBlocksSubscriptionReq)) + CreateBlocksSubscriptionReq copyWith( + void Function(CreateBlocksSubscriptionReq) updates) => + super.copyWith( + (message) => updates(message as CreateBlocksSubscriptionReq)) as CreateBlocksSubscriptionReq; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') - static CreateBlocksSubscriptionReq create() => CreateBlocksSubscriptionReq._(); + static CreateBlocksSubscriptionReq create() => + CreateBlocksSubscriptionReq._(); CreateBlocksSubscriptionReq createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static CreateBlocksSubscriptionReq getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static CreateBlocksSubscriptionReq getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static CreateBlocksSubscriptionReq? _defaultInstance; @$pb.TagNumber(1) @@ -130,24 +148,41 @@ class CreateBlocksSubscriptionReq extends $pb.GeneratedMessage { void clearStartHeight() => clearField(3); } -enum BlocksSubscriptionRes_Failure_Reason { invalidRequest, dataConnectionError, notSet } +enum BlocksSubscriptionRes_Failure_Reason { + invalidRequest, + dataConnectionError, + notSet +} class BlocksSubscriptionRes_Failure extends $pb.GeneratedMessage { - static const $core.Map<$core.int, BlocksSubscriptionRes_Failure_Reason> _BlocksSubscriptionRes_Failure_ReasonByTag = { + static const $core.Map<$core.int, BlocksSubscriptionRes_Failure_Reason> + _BlocksSubscriptionRes_Failure_ReasonByTag = { 1: BlocksSubscriptionRes_Failure_Reason.invalidRequest, 2: BlocksSubscriptionRes_Failure_Reason.dataConnectionError, 0: BlocksSubscriptionRes_Failure_Reason.notSet }; static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'BlocksSubscriptionRes.Failure', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'BlocksSubscriptionRes.Failure', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) ..oo(0, [1, 2]) - ..aOS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'invalidRequest') - ..aOS(2, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'dataConnectionError') + ..aOS( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'invalidRequest') + ..aOS( + 2, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'dataConnectionError') ..hasRequiredFields = false; BlocksSubscriptionRes_Failure._() : super(); @@ -179,26 +214,32 @@ class BlocksSubscriptionRes_Failure extends $pb.GeneratedMessage { 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - BlocksSubscriptionRes_Failure clone() => BlocksSubscriptionRes_Failure()..mergeFromMessage(this); + BlocksSubscriptionRes_Failure clone() => + BlocksSubscriptionRes_Failure()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 'Will be removed in next major version', ) - BlocksSubscriptionRes_Failure copyWith(void Function(BlocksSubscriptionRes_Failure) updates) => - super.copyWith((message) => updates(message as BlocksSubscriptionRes_Failure)) + BlocksSubscriptionRes_Failure copyWith( + void Function(BlocksSubscriptionRes_Failure) updates) => + super.copyWith( + (message) => updates(message as BlocksSubscriptionRes_Failure)) as BlocksSubscriptionRes_Failure; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') - static BlocksSubscriptionRes_Failure create() => BlocksSubscriptionRes_Failure._(); + static BlocksSubscriptionRes_Failure create() => + BlocksSubscriptionRes_Failure._(); BlocksSubscriptionRes_Failure createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static BlocksSubscriptionRes_Failure getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static BlocksSubscriptionRes_Failure getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static BlocksSubscriptionRes_Failure? _defaultInstance; - BlocksSubscriptionRes_Failure_Reason whichReason() => _BlocksSubscriptionRes_Failure_ReasonByTag[$_whichOneof(0)]!; + BlocksSubscriptionRes_Failure_Reason whichReason() => + _BlocksSubscriptionRes_Failure_ReasonByTag[$_whichOneof(0)]!; void clearReason() => clearField($_whichOneof(0)); @$pb.TagNumber(1) @@ -229,27 +270,36 @@ class BlocksSubscriptionRes_Failure extends $pb.GeneratedMessage { enum BlocksSubscriptionRes_Result { success, failure, notSet } class BlocksSubscriptionRes extends $pb.GeneratedMessage { - static const $core.Map<$core.int, BlocksSubscriptionRes_Result> _BlocksSubscriptionRes_ResultByTag = { + static const $core.Map<$core.int, BlocksSubscriptionRes_Result> + _BlocksSubscriptionRes_ResultByTag = { 1: BlocksSubscriptionRes_Result.success, 2: BlocksSubscriptionRes_Result.failure, 0: BlocksSubscriptionRes_Result.notSet }; static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'BlocksSubscriptionRes', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'BlocksSubscriptionRes', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) ..oo(0, [1, 2]) ..aOM<$6.Block>( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'success', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'success', subBuilder: $6.Block.create, ) ..aOM( 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'failure', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'failure', subBuilder: BlocksSubscriptionRes_Failure.create, ) ..hasRequiredFields = false; @@ -273,33 +323,38 @@ class BlocksSubscriptionRes extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory BlocksSubscriptionRes.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory BlocksSubscriptionRes.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - BlocksSubscriptionRes clone() => BlocksSubscriptionRes()..mergeFromMessage(this); + BlocksSubscriptionRes clone() => + BlocksSubscriptionRes()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 'Will be removed in next major version', ) - BlocksSubscriptionRes copyWith(void Function(BlocksSubscriptionRes) updates) => + BlocksSubscriptionRes copyWith( + void Function(BlocksSubscriptionRes) updates) => super.copyWith((message) => updates(message as BlocksSubscriptionRes)) as BlocksSubscriptionRes; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static BlocksSubscriptionRes create() => BlocksSubscriptionRes._(); BlocksSubscriptionRes createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static BlocksSubscriptionRes getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static BlocksSubscriptionRes getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static BlocksSubscriptionRes? _defaultInstance; - BlocksSubscriptionRes_Result whichResult() => _BlocksSubscriptionRes_ResultByTag[$_whichOneof(0)]!; + BlocksSubscriptionRes_Result whichResult() => + _BlocksSubscriptionRes_ResultByTag[$_whichOneof(0)]!; void clearResult() => clearField($_whichOneof(0)); @$pb.TagNumber(1) diff --git a/lib/genus/generated/blocks_subscription.pbenum.dart b/lib/genus/generated/blocks_subscription.pbenum.dart index 9a9d8098..54539585 100644 --- a/lib/genus/generated/blocks_subscription.pbenum.dart +++ b/lib/genus/generated/blocks_subscription.pbenum.dart @@ -4,4 +4,3 @@ // // @dart = 2.12 // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name - diff --git a/lib/genus/generated/blocks_subscription.pbgrpc.dart b/lib/genus/generated/blocks_subscription.pbgrpc.dart index 08c06e81..9d7c3891 100644 --- a/lib/genus/generated/blocks_subscription.pbgrpc.dart +++ b/lib/genus/generated/blocks_subscription.pbgrpc.dart @@ -5,16 +5,21 @@ // @dart = 2.12 // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name +// Dart imports: import 'dart:async' as $async; - import 'dart:core' as $core; +// Package imports: import 'package:grpc/service_api.dart' as $grpc; + +// Project imports: import 'blocks_subscription.pb.dart' as $3; + export 'blocks_subscription.pb.dart'; class BlocksSubscriptionClient extends $grpc.Client { - static final _$create = $grpc.ClientMethod<$3.CreateBlocksSubscriptionReq, $3.BlocksSubscriptionRes>( + static final _$create = $grpc.ClientMethod<$3.CreateBlocksSubscriptionReq, + $3.BlocksSubscriptionRes>( '/co.topl.genus.services.BlocksSubscription/Create', ($3.CreateBlocksSubscriptionReq value) => value.writeToBuffer(), ($core.List<$core.int> value) => $3.BlocksSubscriptionRes.fromBuffer(value), @@ -43,12 +48,14 @@ abstract class BlocksSubscriptionServiceBase extends $grpc.Service { BlocksSubscriptionServiceBase() { $addMethod( - $grpc.ServiceMethod<$3.CreateBlocksSubscriptionReq, $3.BlocksSubscriptionRes>( + $grpc.ServiceMethod<$3.CreateBlocksSubscriptionReq, + $3.BlocksSubscriptionRes>( 'Create', create_Pre, false, true, - ($core.List<$core.int> value) => $3.CreateBlocksSubscriptionReq.fromBuffer(value), + ($core.List<$core.int> value) => + $3.CreateBlocksSubscriptionReq.fromBuffer(value), ($3.BlocksSubscriptionRes value) => value.writeToBuffer(), ), ); diff --git a/lib/genus/generated/blocks_subscription.pbjson.dart b/lib/genus/generated/blocks_subscription.pbjson.dart index 37f49830..ca0d1d77 100644 --- a/lib/genus/generated/blocks_subscription.pbjson.dart +++ b/lib/genus/generated/blocks_subscription.pbjson.dart @@ -5,27 +5,60 @@ // @dart = 2.12 // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,deprecated_member_use_from_same_package,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name -import 'dart:core' as $core; +// Dart imports: import 'dart:convert' as $convert; +import 'dart:core' as $core; import 'dart:typed_data' as $typed_data; + @$core.Deprecated('Use createBlocksSubscriptionReqDescriptor instead') const CreateBlocksSubscriptionReq$json = const { '1': 'CreateBlocksSubscriptionReq', '2': const [ - const {'1': 'filter', '3': 1, '4': 1, '5': 11, '6': '.co.topl.genus.BlockFilter', '10': 'filter'}, - const {'1': 'confirmation_depth', '3': 2, '4': 1, '5': 13, '10': 'confirmationDepth'}, + const { + '1': 'filter', + '3': 1, + '4': 1, + '5': 11, + '6': '.co.topl.genus.BlockFilter', + '10': 'filter' + }, + const { + '1': 'confirmation_depth', + '3': 2, + '4': 1, + '5': 13, + '10': 'confirmationDepth' + }, const {'1': 'start_height', '3': 3, '4': 1, '5': 4, '10': 'startHeight'}, ], }; /// Descriptor for `CreateBlocksSubscriptionReq`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List createBlocksSubscriptionReqDescriptor = $convert.base64Decode('ChtDcmVhdGVCbG9ja3NTdWJzY3JpcHRpb25SZXESMgoGZmlsdGVyGAEgASgLMhouY28udG9wbC5nZW51cy5CbG9ja0ZpbHRlclIGZmlsdGVyEi0KEmNvbmZpcm1hdGlvbl9kZXB0aBgCIAEoDVIRY29uZmlybWF0aW9uRGVwdGgSIQoMc3RhcnRfaGVpZ2h0GAMgASgEUgtzdGFydEhlaWdodA=='); +final $typed_data.Uint8List createBlocksSubscriptionReqDescriptor = + $convert.base64Decode( + 'ChtDcmVhdGVCbG9ja3NTdWJzY3JpcHRpb25SZXESMgoGZmlsdGVyGAEgASgLMhouY28udG9wbC5nZW51cy5CbG9ja0ZpbHRlclIGZmlsdGVyEi0KEmNvbmZpcm1hdGlvbl9kZXB0aBgCIAEoDVIRY29uZmlybWF0aW9uRGVwdGgSIQoMc3RhcnRfaGVpZ2h0GAMgASgEUgtzdGFydEhlaWdodA=='); @$core.Deprecated('Use blocksSubscriptionResDescriptor instead') const BlocksSubscriptionRes$json = const { '1': 'BlocksSubscriptionRes', '2': const [ - const {'1': 'success', '3': 1, '4': 1, '5': 11, '6': '.co.topl.genus.Block', '9': 0, '10': 'success'}, - const {'1': 'failure', '3': 2, '4': 1, '5': 11, '6': '.co.topl.genus.services.BlocksSubscriptionRes.Failure', '9': 0, '10': 'failure'}, + const { + '1': 'success', + '3': 1, + '4': 1, + '5': 11, + '6': '.co.topl.genus.Block', + '9': 0, + '10': 'success' + }, + const { + '1': 'failure', + '3': 2, + '4': 1, + '5': 11, + '6': '.co.topl.genus.services.BlocksSubscriptionRes.Failure', + '9': 0, + '10': 'failure' + }, ], '3': const [BlocksSubscriptionRes_Failure$json], '8': const [ @@ -37,8 +70,22 @@ const BlocksSubscriptionRes$json = const { const BlocksSubscriptionRes_Failure$json = const { '1': 'Failure', '2': const [ - const {'1': 'invalid_request', '3': 1, '4': 1, '5': 9, '9': 0, '10': 'invalidRequest'}, - const {'1': 'data_connection_error', '3': 2, '4': 1, '5': 9, '9': 0, '10': 'dataConnectionError'}, + const { + '1': 'invalid_request', + '3': 1, + '4': 1, + '5': 9, + '9': 0, + '10': 'invalidRequest' + }, + const { + '1': 'data_connection_error', + '3': 2, + '4': 1, + '5': 9, + '9': 0, + '10': 'dataConnectionError' + }, ], '8': const [ const {'1': 'reason'}, @@ -46,4 +93,5 @@ const BlocksSubscriptionRes_Failure$json = const { }; /// Descriptor for `BlocksSubscriptionRes`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List blocksSubscriptionResDescriptor = $convert.base64Decode('ChVCbG9ja3NTdWJzY3JpcHRpb25SZXMSMAoHc3VjY2VzcxgBIAEoCzIULmNvLnRvcGwuZ2VudXMuQmxvY2tIAFIHc3VjY2VzcxJRCgdmYWlsdXJlGAIgASgLMjUuY28udG9wbC5nZW51cy5zZXJ2aWNlcy5CbG9ja3NTdWJzY3JpcHRpb25SZXMuRmFpbHVyZUgAUgdmYWlsdXJlGnQKB0ZhaWx1cmUSKQoPaW52YWxpZF9yZXF1ZXN0GAEgASgJSABSDmludmFsaWRSZXF1ZXN0EjQKFWRhdGFfY29ubmVjdGlvbl9lcnJvchgCIAEoCUgAUhNkYXRhQ29ubmVjdGlvbkVycm9yQggKBnJlYXNvbkIICgZyZXN1bHQ='); +final $typed_data.Uint8List blocksSubscriptionResDescriptor = $convert.base64Decode( + 'ChVCbG9ja3NTdWJzY3JpcHRpb25SZXMSMAoHc3VjY2VzcxgBIAEoCzIULmNvLnRvcGwuZ2VudXMuQmxvY2tIAFIHc3VjY2VzcxJRCgdmYWlsdXJlGAIgASgLMjUuY28udG9wbC5nZW51cy5zZXJ2aWNlcy5CbG9ja3NTdWJzY3JpcHRpb25SZXMuRmFpbHVyZUgAUgdmYWlsdXJlGnQKB0ZhaWx1cmUSKQoPaW52YWxpZF9yZXF1ZXN0GAEgASgJSABSDmludmFsaWRSZXF1ZXN0EjQKFWRhdGFfY29ubmVjdGlvbl9lcnJvchgCIAEoCUgAUhNkYXRhQ29ubmVjdGlvbkVycm9yQggKBnJlYXNvbkIICgZyZXN1bHQ='); diff --git a/lib/genus/generated/filters.pb.dart b/lib/genus/generated/filters.pb.dart index 747418db..f3b57d43 100644 --- a/lib/genus/generated/filters.pb.dart +++ b/lib/genus/generated/filters.pb.dart @@ -5,19 +5,29 @@ // @dart = 2.12 // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name +// Dart imports: import 'dart:core' as $core; +// Package imports: import 'package:fixnum/fixnum.dart' as $fixnum; import 'package:protobuf/protobuf.dart' as $pb; class StringSelection extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'StringSelection', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'StringSelection', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, ) - ..pPS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'values') + ..pPS( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'values') ..hasRequiredFields = false; StringSelection._() : super(); @@ -35,7 +45,8 @@ class StringSelection extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory StringSelection.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory StringSelection.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -55,10 +66,11 @@ class StringSelection extends $pb.GeneratedMessage { @$core.pragma('dart2js:noInline') static StringSelection create() => StringSelection._(); StringSelection createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static StringSelection getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static StringSelection getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static StringSelection? _defaultInstance; @$pb.TagNumber(1) @@ -68,27 +80,36 @@ class StringSelection extends $pb.GeneratedMessage { enum NumberRange_FilterType { min, max, notSet } class NumberRange extends $pb.GeneratedMessage { - static const $core.Map<$core.int, NumberRange_FilterType> _NumberRange_FilterTypeByTag = { + static const $core.Map<$core.int, NumberRange_FilterType> + _NumberRange_FilterTypeByTag = { 1: NumberRange_FilterType.min, 2: NumberRange_FilterType.max, 0: NumberRange_FilterType.notSet }; static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'NumberRange', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'NumberRange', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, ) ..oo(0, [1, 2]) ..a<$fixnum.Int64>( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'min', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'min', $pb.PbFieldType.OU6, defaultOrMaker: $fixnum.Int64.ZERO, ) ..a<$fixnum.Int64>( 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'max', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'max', $pb.PbFieldType.OU6, defaultOrMaker: $fixnum.Int64.ZERO, ) @@ -108,9 +129,11 @@ class NumberRange extends $pb.GeneratedMessage { } return _result; } - factory NumberRange.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory NumberRange.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); - factory NumberRange.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory NumberRange.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -124,17 +147,20 @@ class NumberRange extends $pb.GeneratedMessage { 'Will be removed in next major version', ) NumberRange copyWith(void Function(NumberRange) updates) => - super.copyWith((message) => updates(message as NumberRange)) as NumberRange; // ignore: deprecated_member_use + super.copyWith((message) => updates(message as NumberRange)) + as NumberRange; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static NumberRange create() => NumberRange._(); NumberRange createEmptyInstance() => create(); static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static NumberRange getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static NumberRange getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static NumberRange? _defaultInstance; - NumberRange_FilterType whichFilterType() => _NumberRange_FilterTypeByTag[$_whichOneof(0)]!; + NumberRange_FilterType whichFilterType() => + _NumberRange_FilterTypeByTag[$_whichOneof(0)]!; void clearFilterType() => clearField($_whichOneof(0)); @$pb.TagNumber(1) @@ -164,14 +190,20 @@ class NumberRange extends $pb.GeneratedMessage { class NumberSelection extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'NumberSelection', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'NumberSelection', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, ) ..p<$fixnum.Int64>( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'values', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'values', $pb.PbFieldType.KU6, ) ..hasRequiredFields = false; @@ -191,7 +223,8 @@ class NumberSelection extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory NumberSelection.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory NumberSelection.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -211,10 +244,11 @@ class NumberSelection extends $pb.GeneratedMessage { @$core.pragma('dart2js:noInline') static NumberSelection create() => NumberSelection._(); NumberSelection createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static NumberSelection getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static NumberSelection getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static NumberSelection? _defaultInstance; @$pb.TagNumber(1) @@ -223,12 +257,20 @@ class NumberSelection extends $pb.GeneratedMessage { class BooleanSelection extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'BooleanSelection', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'BooleanSelection', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, ) - ..aOB(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'value') + ..aOB( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'value') ..hasRequiredFields = false; BooleanSelection._() : super(); @@ -246,7 +288,8 @@ class BooleanSelection extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory BooleanSelection.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory BooleanSelection.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -266,10 +309,11 @@ class BooleanSelection extends $pb.GeneratedMessage { @$core.pragma('dart2js:noInline') static BooleanSelection create() => BooleanSelection._(); BooleanSelection createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static BooleanSelection getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static BooleanSelection getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static BooleanSelection? _defaultInstance; @$pb.TagNumber(1) @@ -285,35 +329,51 @@ class BooleanSelection extends $pb.GeneratedMessage { void clearValue() => clearField(1); } -enum TokenValueFilter_FilterType { assetCodeSelection, quantityRange, tokenValueTypeSelection, notSet } +enum TokenValueFilter_FilterType { + assetCodeSelection, + quantityRange, + tokenValueTypeSelection, + notSet +} class TokenValueFilter extends $pb.GeneratedMessage { - static const $core.Map<$core.int, TokenValueFilter_FilterType> _TokenValueFilter_FilterTypeByTag = { + static const $core.Map<$core.int, TokenValueFilter_FilterType> + _TokenValueFilter_FilterTypeByTag = { 1: TokenValueFilter_FilterType.assetCodeSelection, 2: TokenValueFilter_FilterType.quantityRange, 3: TokenValueFilter_FilterType.tokenValueTypeSelection, 0: TokenValueFilter_FilterType.notSet }; static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'TokenValueFilter', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'TokenValueFilter', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, ) ..oo(0, [1, 2, 3]) ..aOM( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'assetCodeSelection', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'assetCodeSelection', subBuilder: StringSelection.create, ) ..aOM( 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'quantityRange', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'quantityRange', subBuilder: NumberRange.create, ) ..aOM( 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'tokenValueTypeSelection', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'tokenValueTypeSelection', subBuilder: StringSelection.create, ) ..hasRequiredFields = false; @@ -341,7 +401,8 @@ class TokenValueFilter extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory TokenValueFilter.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory TokenValueFilter.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -361,13 +422,15 @@ class TokenValueFilter extends $pb.GeneratedMessage { @$core.pragma('dart2js:noInline') static TokenValueFilter create() => TokenValueFilter._(); TokenValueFilter createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static TokenValueFilter getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TokenValueFilter getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static TokenValueFilter? _defaultInstance; - TokenValueFilter_FilterType whichFilterType() => _TokenValueFilter_FilterTypeByTag[$_whichOneof(0)]!; + TokenValueFilter_FilterType whichFilterType() => + _TokenValueFilter_FilterTypeByTag[$_whichOneof(0)]!; void clearFilterType() => clearField($_whichOneof(0)); @$pb.TagNumber(1) @@ -415,14 +478,20 @@ class TokenValueFilter extends $pb.GeneratedMessage { class TransactionFilter_AndFilter extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'TransactionFilter.AndFilter', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'TransactionFilter.AndFilter', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, ) ..pc( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'filters', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'filters', $pb.PbFieldType.PM, subBuilder: TransactionFilter.create, ) @@ -453,23 +522,28 @@ class TransactionFilter_AndFilter extends $pb.GeneratedMessage { 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - TransactionFilter_AndFilter clone() => TransactionFilter_AndFilter()..mergeFromMessage(this); + TransactionFilter_AndFilter clone() => + TransactionFilter_AndFilter()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 'Will be removed in next major version', ) - TransactionFilter_AndFilter copyWith(void Function(TransactionFilter_AndFilter) updates) => - super.copyWith((message) => updates(message as TransactionFilter_AndFilter)) + TransactionFilter_AndFilter copyWith( + void Function(TransactionFilter_AndFilter) updates) => + super.copyWith( + (message) => updates(message as TransactionFilter_AndFilter)) as TransactionFilter_AndFilter; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') - static TransactionFilter_AndFilter create() => TransactionFilter_AndFilter._(); + static TransactionFilter_AndFilter create() => + TransactionFilter_AndFilter._(); TransactionFilter_AndFilter createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static TransactionFilter_AndFilter getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TransactionFilter_AndFilter getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static TransactionFilter_AndFilter? _defaultInstance; @$pb.TagNumber(1) @@ -478,14 +552,20 @@ class TransactionFilter_AndFilter extends $pb.GeneratedMessage { class TransactionFilter_OrFilter extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'TransactionFilter.OrFilter', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'TransactionFilter.OrFilter', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, ) ..pc( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'filters', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'filters', $pb.PbFieldType.PM, subBuilder: TransactionFilter.create, ) @@ -516,23 +596,27 @@ class TransactionFilter_OrFilter extends $pb.GeneratedMessage { 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - TransactionFilter_OrFilter clone() => TransactionFilter_OrFilter()..mergeFromMessage(this); + TransactionFilter_OrFilter clone() => + TransactionFilter_OrFilter()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 'Will be removed in next major version', ) - TransactionFilter_OrFilter copyWith(void Function(TransactionFilter_OrFilter) updates) => - super.copyWith((message) => updates(message as TransactionFilter_OrFilter)) + TransactionFilter_OrFilter copyWith( + void Function(TransactionFilter_OrFilter) updates) => + super.copyWith( + (message) => updates(message as TransactionFilter_OrFilter)) as TransactionFilter_OrFilter; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static TransactionFilter_OrFilter create() => TransactionFilter_OrFilter._(); TransactionFilter_OrFilter createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static TransactionFilter_OrFilter getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TransactionFilter_OrFilter getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static TransactionFilter_OrFilter? _defaultInstance; @$pb.TagNumber(1) @@ -541,14 +625,20 @@ class TransactionFilter_OrFilter extends $pb.GeneratedMessage { class TransactionFilter_NotFilter extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'TransactionFilter.NotFilter', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'TransactionFilter.NotFilter', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, ) ..aOM( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'filter', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'filter', subBuilder: TransactionFilter.create, ) ..hasRequiredFields = false; @@ -578,23 +668,28 @@ class TransactionFilter_NotFilter extends $pb.GeneratedMessage { 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - TransactionFilter_NotFilter clone() => TransactionFilter_NotFilter()..mergeFromMessage(this); + TransactionFilter_NotFilter clone() => + TransactionFilter_NotFilter()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 'Will be removed in next major version', ) - TransactionFilter_NotFilter copyWith(void Function(TransactionFilter_NotFilter) updates) => - super.copyWith((message) => updates(message as TransactionFilter_NotFilter)) + TransactionFilter_NotFilter copyWith( + void Function(TransactionFilter_NotFilter) updates) => + super.copyWith( + (message) => updates(message as TransactionFilter_NotFilter)) as TransactionFilter_NotFilter; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') - static TransactionFilter_NotFilter create() => TransactionFilter_NotFilter._(); + static TransactionFilter_NotFilter create() => + TransactionFilter_NotFilter._(); TransactionFilter_NotFilter createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static TransactionFilter_NotFilter getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TransactionFilter_NotFilter getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static TransactionFilter_NotFilter? _defaultInstance; @$pb.TagNumber(1) @@ -614,9 +709,13 @@ class TransactionFilter_NotFilter extends $pb.GeneratedMessage { class TransactionFilter_AllFilter extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'TransactionFilter.AllFilter', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'TransactionFilter.AllFilter', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, )..hasRequiredFields = false; @@ -637,23 +736,28 @@ class TransactionFilter_AllFilter extends $pb.GeneratedMessage { 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - TransactionFilter_AllFilter clone() => TransactionFilter_AllFilter()..mergeFromMessage(this); + TransactionFilter_AllFilter clone() => + TransactionFilter_AllFilter()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 'Will be removed in next major version', ) - TransactionFilter_AllFilter copyWith(void Function(TransactionFilter_AllFilter) updates) => - super.copyWith((message) => updates(message as TransactionFilter_AllFilter)) + TransactionFilter_AllFilter copyWith( + void Function(TransactionFilter_AllFilter) updates) => + super.copyWith( + (message) => updates(message as TransactionFilter_AllFilter)) as TransactionFilter_AllFilter; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') - static TransactionFilter_AllFilter create() => TransactionFilter_AllFilter._(); + static TransactionFilter_AllFilter create() => + TransactionFilter_AllFilter._(); TransactionFilter_AllFilter createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static TransactionFilter_AllFilter getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TransactionFilter_AllFilter getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static TransactionFilter_AllFilter? _defaultInstance; } @@ -680,7 +784,8 @@ enum TransactionFilter_FilterType { } class TransactionFilter extends $pb.GeneratedMessage { - static const $core.Map<$core.int, TransactionFilter_FilterType> _TransactionFilter_FilterTypeByTag = { + static const $core.Map<$core.int, TransactionFilter_FilterType> + _TransactionFilter_FilterTypeByTag = { 1: TransactionFilter_FilterType.txTypeSelection, 2: TransactionFilter_FilterType.timestampRange, 3: TransactionFilter_FilterType.inputAddressSelection, @@ -702,85 +807,119 @@ class TransactionFilter extends $pb.GeneratedMessage { 0: TransactionFilter_FilterType.notSet }; static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'TransactionFilter', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'TransactionFilter', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, ) ..oo(0, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18]) ..aOM( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'txTypeSelection', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'txTypeSelection', subBuilder: StringSelection.create, ) ..aOM( 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'timestampRange', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'timestampRange', subBuilder: NumberRange.create, ) ..aOM( 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'inputAddressSelection', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'inputAddressSelection', subBuilder: StringSelection.create, ) ..aOM( 4, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'inputNonceSelection', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'inputNonceSelection', subBuilder: NumberSelection.create, ) ..aOM( 5, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'outputTokenBoxTypeSelection', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'outputTokenBoxTypeSelection', subBuilder: StringSelection.create, ) ..aOM( 6, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'outputTokenValueFilter', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'outputTokenValueFilter', subBuilder: TokenValueFilter.create, ) ..aOM( 7, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'outputAddressSelection', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'outputAddressSelection', subBuilder: StringSelection.create, ) ..aOM( 8, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'mintingSelection', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'mintingSelection', subBuilder: BooleanSelection.create, ) ..aOM( 9, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'txIdSelection', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'txIdSelection', subBuilder: StringSelection.create, ) ..aOM( 10, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'boxesToRemoveSelection', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'boxesToRemoveSelection', subBuilder: StringSelection.create, ) ..aOM( 11, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'feeRange', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'feeRange', subBuilder: NumberRange.create, ) ..aOM( 12, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'propositionSelection', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'propositionSelection', subBuilder: StringSelection.create, ) ..aOM( 13, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'blockIdSelection', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'blockIdSelection', subBuilder: StringSelection.create, ) ..aOM( 14, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'blockHeightRange', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'blockHeightRange', subBuilder: NumberRange.create, ) ..aOM( 15, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'and', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'and', subBuilder: TransactionFilter_AndFilter.create, ) ..aOM( @@ -790,12 +929,16 @@ class TransactionFilter extends $pb.GeneratedMessage { ) ..aOM( 17, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'not', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'not', subBuilder: TransactionFilter_NotFilter.create, ) ..aOM( 18, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'all', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'all', subBuilder: TransactionFilter_AllFilter.create, ) ..hasRequiredFields = false; @@ -883,7 +1026,8 @@ class TransactionFilter extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory TransactionFilter.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory TransactionFilter.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -903,13 +1047,15 @@ class TransactionFilter extends $pb.GeneratedMessage { @$core.pragma('dart2js:noInline') static TransactionFilter create() => TransactionFilter._(); TransactionFilter createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static TransactionFilter getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TransactionFilter getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static TransactionFilter? _defaultInstance; - TransactionFilter_FilterType whichFilterType() => _TransactionFilter_FilterTypeByTag[$_whichOneof(0)]!; + TransactionFilter_FilterType whichFilterType() => + _TransactionFilter_FilterTypeByTag[$_whichOneof(0)]!; void clearFilterType() => clearField($_whichOneof(0)); @$pb.TagNumber(1) @@ -1167,14 +1313,20 @@ class TransactionFilter extends $pb.GeneratedMessage { class BlockFilter_AndFilter extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'BlockFilter.AndFilter', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'BlockFilter.AndFilter', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, ) ..pc( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'filters', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'filters', $pb.PbFieldType.PM, subBuilder: BlockFilter.create, ) @@ -1195,30 +1347,34 @@ class BlockFilter_AndFilter extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory BlockFilter_AndFilter.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory BlockFilter_AndFilter.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - BlockFilter_AndFilter clone() => BlockFilter_AndFilter()..mergeFromMessage(this); + BlockFilter_AndFilter clone() => + BlockFilter_AndFilter()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 'Will be removed in next major version', ) - BlockFilter_AndFilter copyWith(void Function(BlockFilter_AndFilter) updates) => + BlockFilter_AndFilter copyWith( + void Function(BlockFilter_AndFilter) updates) => super.copyWith((message) => updates(message as BlockFilter_AndFilter)) as BlockFilter_AndFilter; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static BlockFilter_AndFilter create() => BlockFilter_AndFilter._(); BlockFilter_AndFilter createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static BlockFilter_AndFilter getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static BlockFilter_AndFilter getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static BlockFilter_AndFilter? _defaultInstance; @$pb.TagNumber(1) @@ -1227,14 +1383,20 @@ class BlockFilter_AndFilter extends $pb.GeneratedMessage { class BlockFilter_OrFilter extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'BlockFilter.OrFilter', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'BlockFilter.OrFilter', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, ) ..pc( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'filters', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'filters', $pb.PbFieldType.PM, subBuilder: BlockFilter.create, ) @@ -1255,14 +1417,16 @@ class BlockFilter_OrFilter extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory BlockFilter_OrFilter.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory BlockFilter_OrFilter.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - BlockFilter_OrFilter clone() => BlockFilter_OrFilter()..mergeFromMessage(this); + BlockFilter_OrFilter clone() => + BlockFilter_OrFilter()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' @@ -1275,10 +1439,11 @@ class BlockFilter_OrFilter extends $pb.GeneratedMessage { @$core.pragma('dart2js:noInline') static BlockFilter_OrFilter create() => BlockFilter_OrFilter._(); BlockFilter_OrFilter createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static BlockFilter_OrFilter getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static BlockFilter_OrFilter getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static BlockFilter_OrFilter? _defaultInstance; @$pb.TagNumber(1) @@ -1287,14 +1452,20 @@ class BlockFilter_OrFilter extends $pb.GeneratedMessage { class BlockFilter_NotFilter extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'BlockFilter.NotFilter', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'BlockFilter.NotFilter', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, ) ..aOM( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'filter', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'filter', subBuilder: BlockFilter.create, ) ..hasRequiredFields = false; @@ -1314,30 +1485,34 @@ class BlockFilter_NotFilter extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory BlockFilter_NotFilter.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory BlockFilter_NotFilter.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - BlockFilter_NotFilter clone() => BlockFilter_NotFilter()..mergeFromMessage(this); + BlockFilter_NotFilter clone() => + BlockFilter_NotFilter()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 'Will be removed in next major version', ) - BlockFilter_NotFilter copyWith(void Function(BlockFilter_NotFilter) updates) => + BlockFilter_NotFilter copyWith( + void Function(BlockFilter_NotFilter) updates) => super.copyWith((message) => updates(message as BlockFilter_NotFilter)) as BlockFilter_NotFilter; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static BlockFilter_NotFilter create() => BlockFilter_NotFilter._(); BlockFilter_NotFilter createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static BlockFilter_NotFilter getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static BlockFilter_NotFilter getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static BlockFilter_NotFilter? _defaultInstance; @$pb.TagNumber(1) @@ -1357,9 +1532,13 @@ class BlockFilter_NotFilter extends $pb.GeneratedMessage { class BlockFilter_AllFilter extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'BlockFilter.AllFilter', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'BlockFilter.AllFilter', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, )..hasRequiredFields = false; @@ -1370,30 +1549,34 @@ class BlockFilter_AllFilter extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory BlockFilter_AllFilter.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory BlockFilter_AllFilter.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - BlockFilter_AllFilter clone() => BlockFilter_AllFilter()..mergeFromMessage(this); + BlockFilter_AllFilter clone() => + BlockFilter_AllFilter()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 'Will be removed in next major version', ) - BlockFilter_AllFilter copyWith(void Function(BlockFilter_AllFilter) updates) => + BlockFilter_AllFilter copyWith( + void Function(BlockFilter_AllFilter) updates) => super.copyWith((message) => updates(message as BlockFilter_AllFilter)) as BlockFilter_AllFilter; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static BlockFilter_AllFilter create() => BlockFilter_AllFilter._(); BlockFilter_AllFilter createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static BlockFilter_AllFilter getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static BlockFilter_AllFilter getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static BlockFilter_AllFilter? _defaultInstance; } @@ -1416,7 +1599,8 @@ enum BlockFilter_FilterType { } class BlockFilter extends $pb.GeneratedMessage { - static const $core.Map<$core.int, BlockFilter_FilterType> _BlockFilter_FilterTypeByTag = { + static const $core.Map<$core.int, BlockFilter_FilterType> + _BlockFilter_FilterTypeByTag = { 1: BlockFilter_FilterType.idSelection, 2: BlockFilter_FilterType.parentIdSelection, 3: BlockFilter_FilterType.timestampRange, @@ -1434,65 +1618,91 @@ class BlockFilter extends $pb.GeneratedMessage { 0: BlockFilter_FilterType.notSet }; static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'BlockFilter', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'BlockFilter', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, ) ..oo(0, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 16, 17, 18]) ..aOM( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'idSelection', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'idSelection', subBuilder: StringSelection.create, ) ..aOM( 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'parentIdSelection', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'parentIdSelection', subBuilder: StringSelection.create, ) ..aOM( 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'timestampRange', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'timestampRange', subBuilder: NumberRange.create, ) ..aOM( 4, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'generatorBoxTokenValueFilter', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'generatorBoxTokenValueFilter', subBuilder: TokenValueFilter.create, ) ..aOM( 5, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'publicKeySelection', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'publicKeySelection', subBuilder: StringSelection.create, ) ..aOM( 6, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'heightRange', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'heightRange', subBuilder: NumberRange.create, ) ..aOM( 7, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'heightSelection', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'heightSelection', subBuilder: NumberSelection.create, ) ..aOM( 8, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'difficultyRange', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'difficultyRange', subBuilder: NumberRange.create, ) ..aOM( 9, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'versionSelection', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'versionSelection', subBuilder: NumberSelection.create, ) ..aOM( 10, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'numTransactionRange', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'numTransactionRange', subBuilder: NumberRange.create, ) ..aOM( 15, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'and', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'and', subBuilder: BlockFilter_AndFilter.create, ) ..aOM( @@ -1502,12 +1712,16 @@ class BlockFilter extends $pb.GeneratedMessage { ) ..aOM( 17, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'not', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'not', subBuilder: BlockFilter_NotFilter.create, ) ..aOM( 18, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'all', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'all', subBuilder: BlockFilter_AllFilter.create, ) ..hasRequiredFields = false; @@ -1574,9 +1788,11 @@ class BlockFilter extends $pb.GeneratedMessage { } return _result; } - factory BlockFilter.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory BlockFilter.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); - factory BlockFilter.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory BlockFilter.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -1590,17 +1806,20 @@ class BlockFilter extends $pb.GeneratedMessage { 'Will be removed in next major version', ) BlockFilter copyWith(void Function(BlockFilter) updates) => - super.copyWith((message) => updates(message as BlockFilter)) as BlockFilter; // ignore: deprecated_member_use + super.copyWith((message) => updates(message as BlockFilter)) + as BlockFilter; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static BlockFilter create() => BlockFilter._(); BlockFilter createEmptyInstance() => create(); static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static BlockFilter getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static BlockFilter getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static BlockFilter? _defaultInstance; - BlockFilter_FilterType whichFilterType() => _BlockFilter_FilterTypeByTag[$_whichOneof(0)]!; + BlockFilter_FilterType whichFilterType() => + _BlockFilter_FilterTypeByTag[$_whichOneof(0)]!; void clearFilterType() => clearField($_whichOneof(0)); @$pb.TagNumber(1) diff --git a/lib/genus/generated/filters.pbenum.dart b/lib/genus/generated/filters.pbenum.dart index 67c28c19..ef47b98d 100644 --- a/lib/genus/generated/filters.pbenum.dart +++ b/lib/genus/generated/filters.pbenum.dart @@ -4,4 +4,3 @@ // // @dart = 2.12 // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name - diff --git a/lib/genus/generated/filters.pbjson.dart b/lib/genus/generated/filters.pbjson.dart index deb829bc..7c2f2a02 100644 --- a/lib/genus/generated/filters.pbjson.dart +++ b/lib/genus/generated/filters.pbjson.dart @@ -5,9 +5,11 @@ // @dart = 2.12 // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,deprecated_member_use_from_same_package,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name -import 'dart:core' as $core; +// Dart imports: import 'dart:convert' as $convert; +import 'dart:core' as $core; import 'dart:typed_data' as $typed_data; + @$core.Deprecated('Use stringSelectionDescriptor instead') const StringSelection$json = const { '1': 'StringSelection', @@ -17,7 +19,8 @@ const StringSelection$json = const { }; /// Descriptor for `StringSelection`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List stringSelectionDescriptor = $convert.base64Decode('Cg9TdHJpbmdTZWxlY3Rpb24SFgoGdmFsdWVzGAEgAygJUgZ2YWx1ZXM='); +final $typed_data.Uint8List stringSelectionDescriptor = $convert + .base64Decode('Cg9TdHJpbmdTZWxlY3Rpb24SFgoGdmFsdWVzGAEgAygJUgZ2YWx1ZXM='); @$core.Deprecated('Use numberRangeDescriptor instead') const NumberRange$json = const { '1': 'NumberRange', @@ -31,7 +34,8 @@ const NumberRange$json = const { }; /// Descriptor for `NumberRange`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List numberRangeDescriptor = $convert.base64Decode('CgtOdW1iZXJSYW5nZRISCgNtaW4YASABKARIAFIDbWluEhIKA21heBgCIAEoBEgAUgNtYXhCDQoLZmlsdGVyX3R5cGU='); +final $typed_data.Uint8List numberRangeDescriptor = $convert.base64Decode( + 'CgtOdW1iZXJSYW5nZRISCgNtaW4YASABKARIAFIDbWluEhIKA21heBgCIAEoBEgAUgNtYXhCDQoLZmlsdGVyX3R5cGU='); @$core.Deprecated('Use numberSelectionDescriptor instead') const NumberSelection$json = const { '1': 'NumberSelection', @@ -41,7 +45,8 @@ const NumberSelection$json = const { }; /// Descriptor for `NumberSelection`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List numberSelectionDescriptor = $convert.base64Decode('Cg9OdW1iZXJTZWxlY3Rpb24SFgoGdmFsdWVzGAEgAygEUgZ2YWx1ZXM='); +final $typed_data.Uint8List numberSelectionDescriptor = $convert + .base64Decode('Cg9OdW1iZXJTZWxlY3Rpb24SFgoGdmFsdWVzGAEgAygEUgZ2YWx1ZXM='); @$core.Deprecated('Use booleanSelectionDescriptor instead') const BooleanSelection$json = const { '1': 'BooleanSelection', @@ -51,14 +56,39 @@ const BooleanSelection$json = const { }; /// Descriptor for `BooleanSelection`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List booleanSelectionDescriptor = $convert.base64Decode('ChBCb29sZWFuU2VsZWN0aW9uEhQKBXZhbHVlGAEgASgIUgV2YWx1ZQ=='); +final $typed_data.Uint8List booleanSelectionDescriptor = $convert + .base64Decode('ChBCb29sZWFuU2VsZWN0aW9uEhQKBXZhbHVlGAEgASgIUgV2YWx1ZQ=='); @$core.Deprecated('Use tokenValueFilterDescriptor instead') const TokenValueFilter$json = const { '1': 'TokenValueFilter', '2': const [ - const {'1': 'asset_code_selection', '3': 1, '4': 1, '5': 11, '6': '.co.topl.genus.StringSelection', '9': 0, '10': 'assetCodeSelection'}, - const {'1': 'quantity_range', '3': 2, '4': 1, '5': 11, '6': '.co.topl.genus.NumberRange', '9': 0, '10': 'quantityRange'}, - const {'1': 'token_value_type_selection', '3': 3, '4': 1, '5': 11, '6': '.co.topl.genus.StringSelection', '9': 0, '10': 'tokenValueTypeSelection'}, + const { + '1': 'asset_code_selection', + '3': 1, + '4': 1, + '5': 11, + '6': '.co.topl.genus.StringSelection', + '9': 0, + '10': 'assetCodeSelection' + }, + const { + '1': 'quantity_range', + '3': 2, + '4': 1, + '5': 11, + '6': '.co.topl.genus.NumberRange', + '9': 0, + '10': 'quantityRange' + }, + const { + '1': 'token_value_type_selection', + '3': 3, + '4': 1, + '5': 11, + '6': '.co.topl.genus.StringSelection', + '9': 0, + '10': 'tokenValueTypeSelection' + }, ], '8': const [ const {'1': 'filter_type'}, @@ -66,31 +96,181 @@ const TokenValueFilter$json = const { }; /// Descriptor for `TokenValueFilter`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List tokenValueFilterDescriptor = $convert.base64Decode('ChBUb2tlblZhbHVlRmlsdGVyElIKFGFzc2V0X2NvZGVfc2VsZWN0aW9uGAEgASgLMh4uY28udG9wbC5nZW51cy5TdHJpbmdTZWxlY3Rpb25IAFISYXNzZXRDb2RlU2VsZWN0aW9uEkMKDnF1YW50aXR5X3JhbmdlGAIgASgLMhouY28udG9wbC5nZW51cy5OdW1iZXJSYW5nZUgAUg1xdWFudGl0eVJhbmdlEl0KGnRva2VuX3ZhbHVlX3R5cGVfc2VsZWN0aW9uGAMgASgLMh4uY28udG9wbC5nZW51cy5TdHJpbmdTZWxlY3Rpb25IAFIXdG9rZW5WYWx1ZVR5cGVTZWxlY3Rpb25CDQoLZmlsdGVyX3R5cGU='); +final $typed_data.Uint8List tokenValueFilterDescriptor = $convert.base64Decode( + 'ChBUb2tlblZhbHVlRmlsdGVyElIKFGFzc2V0X2NvZGVfc2VsZWN0aW9uGAEgASgLMh4uY28udG9wbC5nZW51cy5TdHJpbmdTZWxlY3Rpb25IAFISYXNzZXRDb2RlU2VsZWN0aW9uEkMKDnF1YW50aXR5X3JhbmdlGAIgASgLMhouY28udG9wbC5nZW51cy5OdW1iZXJSYW5nZUgAUg1xdWFudGl0eVJhbmdlEl0KGnRva2VuX3ZhbHVlX3R5cGVfc2VsZWN0aW9uGAMgASgLMh4uY28udG9wbC5nZW51cy5TdHJpbmdTZWxlY3Rpb25IAFIXdG9rZW5WYWx1ZVR5cGVTZWxlY3Rpb25CDQoLZmlsdGVyX3R5cGU='); @$core.Deprecated('Use transactionFilterDescriptor instead') const TransactionFilter$json = const { '1': 'TransactionFilter', '2': const [ - const {'1': 'tx_type_selection', '3': 1, '4': 1, '5': 11, '6': '.co.topl.genus.StringSelection', '9': 0, '10': 'txTypeSelection'}, - const {'1': 'timestamp_range', '3': 2, '4': 1, '5': 11, '6': '.co.topl.genus.NumberRange', '9': 0, '10': 'timestampRange'}, - const {'1': 'input_address_selection', '3': 3, '4': 1, '5': 11, '6': '.co.topl.genus.StringSelection', '9': 0, '10': 'inputAddressSelection'}, - const {'1': 'input_nonce_selection', '3': 4, '4': 1, '5': 11, '6': '.co.topl.genus.NumberSelection', '9': 0, '10': 'inputNonceSelection'}, - const {'1': 'output_token_box_type_selection', '3': 5, '4': 1, '5': 11, '6': '.co.topl.genus.StringSelection', '9': 0, '10': 'outputTokenBoxTypeSelection'}, - const {'1': 'output_token_value_filter', '3': 6, '4': 1, '5': 11, '6': '.co.topl.genus.TokenValueFilter', '9': 0, '10': 'outputTokenValueFilter'}, - const {'1': 'output_address_selection', '3': 7, '4': 1, '5': 11, '6': '.co.topl.genus.StringSelection', '9': 0, '10': 'outputAddressSelection'}, - const {'1': 'minting_selection', '3': 8, '4': 1, '5': 11, '6': '.co.topl.genus.BooleanSelection', '9': 0, '10': 'mintingSelection'}, - const {'1': 'tx_id_selection', '3': 9, '4': 1, '5': 11, '6': '.co.topl.genus.StringSelection', '9': 0, '10': 'txIdSelection'}, - const {'1': 'boxes_to_remove_selection', '3': 10, '4': 1, '5': 11, '6': '.co.topl.genus.StringSelection', '9': 0, '10': 'boxesToRemoveSelection'}, - const {'1': 'fee_range', '3': 11, '4': 1, '5': 11, '6': '.co.topl.genus.NumberRange', '9': 0, '10': 'feeRange'}, - const {'1': 'proposition_selection', '3': 12, '4': 1, '5': 11, '6': '.co.topl.genus.StringSelection', '9': 0, '10': 'propositionSelection'}, - const {'1': 'block_id_selection', '3': 13, '4': 1, '5': 11, '6': '.co.topl.genus.StringSelection', '9': 0, '10': 'blockIdSelection'}, - const {'1': 'block_height_range', '3': 14, '4': 1, '5': 11, '6': '.co.topl.genus.NumberRange', '9': 0, '10': 'blockHeightRange'}, - const {'1': 'and', '3': 15, '4': 1, '5': 11, '6': '.co.topl.genus.TransactionFilter.AndFilter', '9': 0, '10': 'and'}, - const {'1': 'or', '3': 16, '4': 1, '5': 11, '6': '.co.topl.genus.TransactionFilter.OrFilter', '9': 0, '10': 'or'}, - const {'1': 'not', '3': 17, '4': 1, '5': 11, '6': '.co.topl.genus.TransactionFilter.NotFilter', '9': 0, '10': 'not'}, - const {'1': 'all', '3': 18, '4': 1, '5': 11, '6': '.co.topl.genus.TransactionFilter.AllFilter', '9': 0, '10': 'all'}, - ], - '3': const [TransactionFilter_AndFilter$json, TransactionFilter_OrFilter$json, TransactionFilter_NotFilter$json, TransactionFilter_AllFilter$json], + const { + '1': 'tx_type_selection', + '3': 1, + '4': 1, + '5': 11, + '6': '.co.topl.genus.StringSelection', + '9': 0, + '10': 'txTypeSelection' + }, + const { + '1': 'timestamp_range', + '3': 2, + '4': 1, + '5': 11, + '6': '.co.topl.genus.NumberRange', + '9': 0, + '10': 'timestampRange' + }, + const { + '1': 'input_address_selection', + '3': 3, + '4': 1, + '5': 11, + '6': '.co.topl.genus.StringSelection', + '9': 0, + '10': 'inputAddressSelection' + }, + const { + '1': 'input_nonce_selection', + '3': 4, + '4': 1, + '5': 11, + '6': '.co.topl.genus.NumberSelection', + '9': 0, + '10': 'inputNonceSelection' + }, + const { + '1': 'output_token_box_type_selection', + '3': 5, + '4': 1, + '5': 11, + '6': '.co.topl.genus.StringSelection', + '9': 0, + '10': 'outputTokenBoxTypeSelection' + }, + const { + '1': 'output_token_value_filter', + '3': 6, + '4': 1, + '5': 11, + '6': '.co.topl.genus.TokenValueFilter', + '9': 0, + '10': 'outputTokenValueFilter' + }, + const { + '1': 'output_address_selection', + '3': 7, + '4': 1, + '5': 11, + '6': '.co.topl.genus.StringSelection', + '9': 0, + '10': 'outputAddressSelection' + }, + const { + '1': 'minting_selection', + '3': 8, + '4': 1, + '5': 11, + '6': '.co.topl.genus.BooleanSelection', + '9': 0, + '10': 'mintingSelection' + }, + const { + '1': 'tx_id_selection', + '3': 9, + '4': 1, + '5': 11, + '6': '.co.topl.genus.StringSelection', + '9': 0, + '10': 'txIdSelection' + }, + const { + '1': 'boxes_to_remove_selection', + '3': 10, + '4': 1, + '5': 11, + '6': '.co.topl.genus.StringSelection', + '9': 0, + '10': 'boxesToRemoveSelection' + }, + const { + '1': 'fee_range', + '3': 11, + '4': 1, + '5': 11, + '6': '.co.topl.genus.NumberRange', + '9': 0, + '10': 'feeRange' + }, + const { + '1': 'proposition_selection', + '3': 12, + '4': 1, + '5': 11, + '6': '.co.topl.genus.StringSelection', + '9': 0, + '10': 'propositionSelection' + }, + const { + '1': 'block_id_selection', + '3': 13, + '4': 1, + '5': 11, + '6': '.co.topl.genus.StringSelection', + '9': 0, + '10': 'blockIdSelection' + }, + const { + '1': 'block_height_range', + '3': 14, + '4': 1, + '5': 11, + '6': '.co.topl.genus.NumberRange', + '9': 0, + '10': 'blockHeightRange' + }, + const { + '1': 'and', + '3': 15, + '4': 1, + '5': 11, + '6': '.co.topl.genus.TransactionFilter.AndFilter', + '9': 0, + '10': 'and' + }, + const { + '1': 'or', + '3': 16, + '4': 1, + '5': 11, + '6': '.co.topl.genus.TransactionFilter.OrFilter', + '9': 0, + '10': 'or' + }, + const { + '1': 'not', + '3': 17, + '4': 1, + '5': 11, + '6': '.co.topl.genus.TransactionFilter.NotFilter', + '9': 0, + '10': 'not' + }, + const { + '1': 'all', + '3': 18, + '4': 1, + '5': 11, + '6': '.co.topl.genus.TransactionFilter.AllFilter', + '9': 0, + '10': 'all' + }, + ], + '3': const [ + TransactionFilter_AndFilter$json, + TransactionFilter_OrFilter$json, + TransactionFilter_NotFilter$json, + TransactionFilter_AllFilter$json + ], '8': const [ const {'1': 'filter_type'}, ], @@ -100,7 +280,14 @@ const TransactionFilter$json = const { const TransactionFilter_AndFilter$json = const { '1': 'AndFilter', '2': const [ - const {'1': 'filters', '3': 1, '4': 3, '5': 11, '6': '.co.topl.genus.TransactionFilter', '10': 'filters'}, + const { + '1': 'filters', + '3': 1, + '4': 3, + '5': 11, + '6': '.co.topl.genus.TransactionFilter', + '10': 'filters' + }, ], }; @@ -108,7 +295,14 @@ const TransactionFilter_AndFilter$json = const { const TransactionFilter_OrFilter$json = const { '1': 'OrFilter', '2': const [ - const {'1': 'filters', '3': 1, '4': 3, '5': 11, '6': '.co.topl.genus.TransactionFilter', '10': 'filters'}, + const { + '1': 'filters', + '3': 1, + '4': 3, + '5': 11, + '6': '.co.topl.genus.TransactionFilter', + '10': 'filters' + }, ], }; @@ -116,7 +310,14 @@ const TransactionFilter_OrFilter$json = const { const TransactionFilter_NotFilter$json = const { '1': 'NotFilter', '2': const [ - const {'1': 'filter', '3': 1, '4': 1, '5': 11, '6': '.co.topl.genus.TransactionFilter', '10': 'filter'}, + const { + '1': 'filter', + '3': 1, + '4': 1, + '5': 11, + '6': '.co.topl.genus.TransactionFilter', + '10': 'filter' + }, ], }; @@ -126,27 +327,145 @@ const TransactionFilter_AllFilter$json = const { }; /// Descriptor for `TransactionFilter`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List transactionFilterDescriptor = $convert.base64Decode('ChFUcmFuc2FjdGlvbkZpbHRlchJMChF0eF90eXBlX3NlbGVjdGlvbhgBIAEoCzIeLmNvLnRvcGwuZ2VudXMuU3RyaW5nU2VsZWN0aW9uSABSD3R4VHlwZVNlbGVjdGlvbhJFCg90aW1lc3RhbXBfcmFuZ2UYAiABKAsyGi5jby50b3BsLmdlbnVzLk51bWJlclJhbmdlSABSDnRpbWVzdGFtcFJhbmdlElgKF2lucHV0X2FkZHJlc3Nfc2VsZWN0aW9uGAMgASgLMh4uY28udG9wbC5nZW51cy5TdHJpbmdTZWxlY3Rpb25IAFIVaW5wdXRBZGRyZXNzU2VsZWN0aW9uElQKFWlucHV0X25vbmNlX3NlbGVjdGlvbhgEIAEoCzIeLmNvLnRvcGwuZ2VudXMuTnVtYmVyU2VsZWN0aW9uSABSE2lucHV0Tm9uY2VTZWxlY3Rpb24SZgofb3V0cHV0X3Rva2VuX2JveF90eXBlX3NlbGVjdGlvbhgFIAEoCzIeLmNvLnRvcGwuZ2VudXMuU3RyaW5nU2VsZWN0aW9uSABSG291dHB1dFRva2VuQm94VHlwZVNlbGVjdGlvbhJcChlvdXRwdXRfdG9rZW5fdmFsdWVfZmlsdGVyGAYgASgLMh8uY28udG9wbC5nZW51cy5Ub2tlblZhbHVlRmlsdGVySABSFm91dHB1dFRva2VuVmFsdWVGaWx0ZXISWgoYb3V0cHV0X2FkZHJlc3Nfc2VsZWN0aW9uGAcgASgLMh4uY28udG9wbC5nZW51cy5TdHJpbmdTZWxlY3Rpb25IAFIWb3V0cHV0QWRkcmVzc1NlbGVjdGlvbhJOChFtaW50aW5nX3NlbGVjdGlvbhgIIAEoCzIfLmNvLnRvcGwuZ2VudXMuQm9vbGVhblNlbGVjdGlvbkgAUhBtaW50aW5nU2VsZWN0aW9uEkgKD3R4X2lkX3NlbGVjdGlvbhgJIAEoCzIeLmNvLnRvcGwuZ2VudXMuU3RyaW5nU2VsZWN0aW9uSABSDXR4SWRTZWxlY3Rpb24SWwoZYm94ZXNfdG9fcmVtb3ZlX3NlbGVjdGlvbhgKIAEoCzIeLmNvLnRvcGwuZ2VudXMuU3RyaW5nU2VsZWN0aW9uSABSFmJveGVzVG9SZW1vdmVTZWxlY3Rpb24SOQoJZmVlX3JhbmdlGAsgASgLMhouY28udG9wbC5nZW51cy5OdW1iZXJSYW5nZUgAUghmZWVSYW5nZRJVChVwcm9wb3NpdGlvbl9zZWxlY3Rpb24YDCABKAsyHi5jby50b3BsLmdlbnVzLlN0cmluZ1NlbGVjdGlvbkgAUhRwcm9wb3NpdGlvblNlbGVjdGlvbhJOChJibG9ja19pZF9zZWxlY3Rpb24YDSABKAsyHi5jby50b3BsLmdlbnVzLlN0cmluZ1NlbGVjdGlvbkgAUhBibG9ja0lkU2VsZWN0aW9uEkoKEmJsb2NrX2hlaWdodF9yYW5nZRgOIAEoCzIaLmNvLnRvcGwuZ2VudXMuTnVtYmVyUmFuZ2VIAFIQYmxvY2tIZWlnaHRSYW5nZRI+CgNhbmQYDyABKAsyKi5jby50b3BsLmdlbnVzLlRyYW5zYWN0aW9uRmlsdGVyLkFuZEZpbHRlckgAUgNhbmQSOwoCb3IYECABKAsyKS5jby50b3BsLmdlbnVzLlRyYW5zYWN0aW9uRmlsdGVyLk9yRmlsdGVySABSAm9yEj4KA25vdBgRIAEoCzIqLmNvLnRvcGwuZ2VudXMuVHJhbnNhY3Rpb25GaWx0ZXIuTm90RmlsdGVySABSA25vdBI+CgNhbGwYEiABKAsyKi5jby50b3BsLmdlbnVzLlRyYW5zYWN0aW9uRmlsdGVyLkFsbEZpbHRlckgAUgNhbGwaRwoJQW5kRmlsdGVyEjoKB2ZpbHRlcnMYASADKAsyIC5jby50b3BsLmdlbnVzLlRyYW5zYWN0aW9uRmlsdGVyUgdmaWx0ZXJzGkYKCE9yRmlsdGVyEjoKB2ZpbHRlcnMYASADKAsyIC5jby50b3BsLmdlbnVzLlRyYW5zYWN0aW9uRmlsdGVyUgdmaWx0ZXJzGkUKCU5vdEZpbHRlchI4CgZmaWx0ZXIYASABKAsyIC5jby50b3BsLmdlbnVzLlRyYW5zYWN0aW9uRmlsdGVyUgZmaWx0ZXIaCwoJQWxsRmlsdGVyQg0KC2ZpbHRlcl90eXBl'); +final $typed_data.Uint8List transactionFilterDescriptor = $convert.base64Decode( + 'ChFUcmFuc2FjdGlvbkZpbHRlchJMChF0eF90eXBlX3NlbGVjdGlvbhgBIAEoCzIeLmNvLnRvcGwuZ2VudXMuU3RyaW5nU2VsZWN0aW9uSABSD3R4VHlwZVNlbGVjdGlvbhJFCg90aW1lc3RhbXBfcmFuZ2UYAiABKAsyGi5jby50b3BsLmdlbnVzLk51bWJlclJhbmdlSABSDnRpbWVzdGFtcFJhbmdlElgKF2lucHV0X2FkZHJlc3Nfc2VsZWN0aW9uGAMgASgLMh4uY28udG9wbC5nZW51cy5TdHJpbmdTZWxlY3Rpb25IAFIVaW5wdXRBZGRyZXNzU2VsZWN0aW9uElQKFWlucHV0X25vbmNlX3NlbGVjdGlvbhgEIAEoCzIeLmNvLnRvcGwuZ2VudXMuTnVtYmVyU2VsZWN0aW9uSABSE2lucHV0Tm9uY2VTZWxlY3Rpb24SZgofb3V0cHV0X3Rva2VuX2JveF90eXBlX3NlbGVjdGlvbhgFIAEoCzIeLmNvLnRvcGwuZ2VudXMuU3RyaW5nU2VsZWN0aW9uSABSG291dHB1dFRva2VuQm94VHlwZVNlbGVjdGlvbhJcChlvdXRwdXRfdG9rZW5fdmFsdWVfZmlsdGVyGAYgASgLMh8uY28udG9wbC5nZW51cy5Ub2tlblZhbHVlRmlsdGVySABSFm91dHB1dFRva2VuVmFsdWVGaWx0ZXISWgoYb3V0cHV0X2FkZHJlc3Nfc2VsZWN0aW9uGAcgASgLMh4uY28udG9wbC5nZW51cy5TdHJpbmdTZWxlY3Rpb25IAFIWb3V0cHV0QWRkcmVzc1NlbGVjdGlvbhJOChFtaW50aW5nX3NlbGVjdGlvbhgIIAEoCzIfLmNvLnRvcGwuZ2VudXMuQm9vbGVhblNlbGVjdGlvbkgAUhBtaW50aW5nU2VsZWN0aW9uEkgKD3R4X2lkX3NlbGVjdGlvbhgJIAEoCzIeLmNvLnRvcGwuZ2VudXMuU3RyaW5nU2VsZWN0aW9uSABSDXR4SWRTZWxlY3Rpb24SWwoZYm94ZXNfdG9fcmVtb3ZlX3NlbGVjdGlvbhgKIAEoCzIeLmNvLnRvcGwuZ2VudXMuU3RyaW5nU2VsZWN0aW9uSABSFmJveGVzVG9SZW1vdmVTZWxlY3Rpb24SOQoJZmVlX3JhbmdlGAsgASgLMhouY28udG9wbC5nZW51cy5OdW1iZXJSYW5nZUgAUghmZWVSYW5nZRJVChVwcm9wb3NpdGlvbl9zZWxlY3Rpb24YDCABKAsyHi5jby50b3BsLmdlbnVzLlN0cmluZ1NlbGVjdGlvbkgAUhRwcm9wb3NpdGlvblNlbGVjdGlvbhJOChJibG9ja19pZF9zZWxlY3Rpb24YDSABKAsyHi5jby50b3BsLmdlbnVzLlN0cmluZ1NlbGVjdGlvbkgAUhBibG9ja0lkU2VsZWN0aW9uEkoKEmJsb2NrX2hlaWdodF9yYW5nZRgOIAEoCzIaLmNvLnRvcGwuZ2VudXMuTnVtYmVyUmFuZ2VIAFIQYmxvY2tIZWlnaHRSYW5nZRI+CgNhbmQYDyABKAsyKi5jby50b3BsLmdlbnVzLlRyYW5zYWN0aW9uRmlsdGVyLkFuZEZpbHRlckgAUgNhbmQSOwoCb3IYECABKAsyKS5jby50b3BsLmdlbnVzLlRyYW5zYWN0aW9uRmlsdGVyLk9yRmlsdGVySABSAm9yEj4KA25vdBgRIAEoCzIqLmNvLnRvcGwuZ2VudXMuVHJhbnNhY3Rpb25GaWx0ZXIuTm90RmlsdGVySABSA25vdBI+CgNhbGwYEiABKAsyKi5jby50b3BsLmdlbnVzLlRyYW5zYWN0aW9uRmlsdGVyLkFsbEZpbHRlckgAUgNhbGwaRwoJQW5kRmlsdGVyEjoKB2ZpbHRlcnMYASADKAsyIC5jby50b3BsLmdlbnVzLlRyYW5zYWN0aW9uRmlsdGVyUgdmaWx0ZXJzGkYKCE9yRmlsdGVyEjoKB2ZpbHRlcnMYASADKAsyIC5jby50b3BsLmdlbnVzLlRyYW5zYWN0aW9uRmlsdGVyUgdmaWx0ZXJzGkUKCU5vdEZpbHRlchI4CgZmaWx0ZXIYASABKAsyIC5jby50b3BsLmdlbnVzLlRyYW5zYWN0aW9uRmlsdGVyUgZmaWx0ZXIaCwoJQWxsRmlsdGVyQg0KC2ZpbHRlcl90eXBl'); @$core.Deprecated('Use blockFilterDescriptor instead') const BlockFilter$json = const { '1': 'BlockFilter', '2': const [ - const {'1': 'id_selection', '3': 1, '4': 1, '5': 11, '6': '.co.topl.genus.StringSelection', '9': 0, '10': 'idSelection'}, - const {'1': 'parent_id_selection', '3': 2, '4': 1, '5': 11, '6': '.co.topl.genus.StringSelection', '9': 0, '10': 'parentIdSelection'}, - const {'1': 'timestamp_range', '3': 3, '4': 1, '5': 11, '6': '.co.topl.genus.NumberRange', '9': 0, '10': 'timestampRange'}, - const {'1': 'generator_box_token_value_filter', '3': 4, '4': 1, '5': 11, '6': '.co.topl.genus.TokenValueFilter', '9': 0, '10': 'generatorBoxTokenValueFilter'}, - const {'1': 'public_key_selection', '3': 5, '4': 1, '5': 11, '6': '.co.topl.genus.StringSelection', '9': 0, '10': 'publicKeySelection'}, - const {'1': 'height_range', '3': 6, '4': 1, '5': 11, '6': '.co.topl.genus.NumberRange', '9': 0, '10': 'heightRange'}, - const {'1': 'height_selection', '3': 7, '4': 1, '5': 11, '6': '.co.topl.genus.NumberSelection', '9': 0, '10': 'heightSelection'}, - const {'1': 'difficulty_range', '3': 8, '4': 1, '5': 11, '6': '.co.topl.genus.NumberRange', '9': 0, '10': 'difficultyRange'}, - const {'1': 'version_selection', '3': 9, '4': 1, '5': 11, '6': '.co.topl.genus.NumberSelection', '9': 0, '10': 'versionSelection'}, - const {'1': 'num_transaction_range', '3': 10, '4': 1, '5': 11, '6': '.co.topl.genus.NumberRange', '9': 0, '10': 'numTransactionRange'}, - const {'1': 'and', '3': 15, '4': 1, '5': 11, '6': '.co.topl.genus.BlockFilter.AndFilter', '9': 0, '10': 'and'}, - const {'1': 'or', '3': 16, '4': 1, '5': 11, '6': '.co.topl.genus.BlockFilter.OrFilter', '9': 0, '10': 'or'}, - const {'1': 'not', '3': 17, '4': 1, '5': 11, '6': '.co.topl.genus.BlockFilter.NotFilter', '9': 0, '10': 'not'}, - const {'1': 'all', '3': 18, '4': 1, '5': 11, '6': '.co.topl.genus.BlockFilter.AllFilter', '9': 0, '10': 'all'}, - ], - '3': const [BlockFilter_AndFilter$json, BlockFilter_OrFilter$json, BlockFilter_NotFilter$json, BlockFilter_AllFilter$json], + const { + '1': 'id_selection', + '3': 1, + '4': 1, + '5': 11, + '6': '.co.topl.genus.StringSelection', + '9': 0, + '10': 'idSelection' + }, + const { + '1': 'parent_id_selection', + '3': 2, + '4': 1, + '5': 11, + '6': '.co.topl.genus.StringSelection', + '9': 0, + '10': 'parentIdSelection' + }, + const { + '1': 'timestamp_range', + '3': 3, + '4': 1, + '5': 11, + '6': '.co.topl.genus.NumberRange', + '9': 0, + '10': 'timestampRange' + }, + const { + '1': 'generator_box_token_value_filter', + '3': 4, + '4': 1, + '5': 11, + '6': '.co.topl.genus.TokenValueFilter', + '9': 0, + '10': 'generatorBoxTokenValueFilter' + }, + const { + '1': 'public_key_selection', + '3': 5, + '4': 1, + '5': 11, + '6': '.co.topl.genus.StringSelection', + '9': 0, + '10': 'publicKeySelection' + }, + const { + '1': 'height_range', + '3': 6, + '4': 1, + '5': 11, + '6': '.co.topl.genus.NumberRange', + '9': 0, + '10': 'heightRange' + }, + const { + '1': 'height_selection', + '3': 7, + '4': 1, + '5': 11, + '6': '.co.topl.genus.NumberSelection', + '9': 0, + '10': 'heightSelection' + }, + const { + '1': 'difficulty_range', + '3': 8, + '4': 1, + '5': 11, + '6': '.co.topl.genus.NumberRange', + '9': 0, + '10': 'difficultyRange' + }, + const { + '1': 'version_selection', + '3': 9, + '4': 1, + '5': 11, + '6': '.co.topl.genus.NumberSelection', + '9': 0, + '10': 'versionSelection' + }, + const { + '1': 'num_transaction_range', + '3': 10, + '4': 1, + '5': 11, + '6': '.co.topl.genus.NumberRange', + '9': 0, + '10': 'numTransactionRange' + }, + const { + '1': 'and', + '3': 15, + '4': 1, + '5': 11, + '6': '.co.topl.genus.BlockFilter.AndFilter', + '9': 0, + '10': 'and' + }, + const { + '1': 'or', + '3': 16, + '4': 1, + '5': 11, + '6': '.co.topl.genus.BlockFilter.OrFilter', + '9': 0, + '10': 'or' + }, + const { + '1': 'not', + '3': 17, + '4': 1, + '5': 11, + '6': '.co.topl.genus.BlockFilter.NotFilter', + '9': 0, + '10': 'not' + }, + const { + '1': 'all', + '3': 18, + '4': 1, + '5': 11, + '6': '.co.topl.genus.BlockFilter.AllFilter', + '9': 0, + '10': 'all' + }, + ], + '3': const [ + BlockFilter_AndFilter$json, + BlockFilter_OrFilter$json, + BlockFilter_NotFilter$json, + BlockFilter_AllFilter$json + ], '8': const [ const {'1': 'filter_type'}, ], @@ -156,7 +475,14 @@ const BlockFilter$json = const { const BlockFilter_AndFilter$json = const { '1': 'AndFilter', '2': const [ - const {'1': 'filters', '3': 1, '4': 3, '5': 11, '6': '.co.topl.genus.BlockFilter', '10': 'filters'}, + const { + '1': 'filters', + '3': 1, + '4': 3, + '5': 11, + '6': '.co.topl.genus.BlockFilter', + '10': 'filters' + }, ], }; @@ -164,7 +490,14 @@ const BlockFilter_AndFilter$json = const { const BlockFilter_OrFilter$json = const { '1': 'OrFilter', '2': const [ - const {'1': 'filters', '3': 1, '4': 3, '5': 11, '6': '.co.topl.genus.BlockFilter', '10': 'filters'}, + const { + '1': 'filters', + '3': 1, + '4': 3, + '5': 11, + '6': '.co.topl.genus.BlockFilter', + '10': 'filters' + }, ], }; @@ -172,7 +505,14 @@ const BlockFilter_OrFilter$json = const { const BlockFilter_NotFilter$json = const { '1': 'NotFilter', '2': const [ - const {'1': 'filter', '3': 1, '4': 1, '5': 11, '6': '.co.topl.genus.BlockFilter', '10': 'filter'}, + const { + '1': 'filter', + '3': 1, + '4': 1, + '5': 11, + '6': '.co.topl.genus.BlockFilter', + '10': 'filter' + }, ], }; @@ -182,4 +522,5 @@ const BlockFilter_AllFilter$json = const { }; /// Descriptor for `BlockFilter`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List blockFilterDescriptor = $convert.base64Decode('CgtCbG9ja0ZpbHRlchJDCgxpZF9zZWxlY3Rpb24YASABKAsyHi5jby50b3BsLmdlbnVzLlN0cmluZ1NlbGVjdGlvbkgAUgtpZFNlbGVjdGlvbhJQChNwYXJlbnRfaWRfc2VsZWN0aW9uGAIgASgLMh4uY28udG9wbC5nZW51cy5TdHJpbmdTZWxlY3Rpb25IAFIRcGFyZW50SWRTZWxlY3Rpb24SRQoPdGltZXN0YW1wX3JhbmdlGAMgASgLMhouY28udG9wbC5nZW51cy5OdW1iZXJSYW5nZUgAUg50aW1lc3RhbXBSYW5nZRJpCiBnZW5lcmF0b3JfYm94X3Rva2VuX3ZhbHVlX2ZpbHRlchgEIAEoCzIfLmNvLnRvcGwuZ2VudXMuVG9rZW5WYWx1ZUZpbHRlckgAUhxnZW5lcmF0b3JCb3hUb2tlblZhbHVlRmlsdGVyElIKFHB1YmxpY19rZXlfc2VsZWN0aW9uGAUgASgLMh4uY28udG9wbC5nZW51cy5TdHJpbmdTZWxlY3Rpb25IAFIScHVibGljS2V5U2VsZWN0aW9uEj8KDGhlaWdodF9yYW5nZRgGIAEoCzIaLmNvLnRvcGwuZ2VudXMuTnVtYmVyUmFuZ2VIAFILaGVpZ2h0UmFuZ2USSwoQaGVpZ2h0X3NlbGVjdGlvbhgHIAEoCzIeLmNvLnRvcGwuZ2VudXMuTnVtYmVyU2VsZWN0aW9uSABSD2hlaWdodFNlbGVjdGlvbhJHChBkaWZmaWN1bHR5X3JhbmdlGAggASgLMhouY28udG9wbC5nZW51cy5OdW1iZXJSYW5nZUgAUg9kaWZmaWN1bHR5UmFuZ2USTQoRdmVyc2lvbl9zZWxlY3Rpb24YCSABKAsyHi5jby50b3BsLmdlbnVzLk51bWJlclNlbGVjdGlvbkgAUhB2ZXJzaW9uU2VsZWN0aW9uElAKFW51bV90cmFuc2FjdGlvbl9yYW5nZRgKIAEoCzIaLmNvLnRvcGwuZ2VudXMuTnVtYmVyUmFuZ2VIAFITbnVtVHJhbnNhY3Rpb25SYW5nZRI4CgNhbmQYDyABKAsyJC5jby50b3BsLmdlbnVzLkJsb2NrRmlsdGVyLkFuZEZpbHRlckgAUgNhbmQSNQoCb3IYECABKAsyIy5jby50b3BsLmdlbnVzLkJsb2NrRmlsdGVyLk9yRmlsdGVySABSAm9yEjgKA25vdBgRIAEoCzIkLmNvLnRvcGwuZ2VudXMuQmxvY2tGaWx0ZXIuTm90RmlsdGVySABSA25vdBI4CgNhbGwYEiABKAsyJC5jby50b3BsLmdlbnVzLkJsb2NrRmlsdGVyLkFsbEZpbHRlckgAUgNhbGwaQQoJQW5kRmlsdGVyEjQKB2ZpbHRlcnMYASADKAsyGi5jby50b3BsLmdlbnVzLkJsb2NrRmlsdGVyUgdmaWx0ZXJzGkAKCE9yRmlsdGVyEjQKB2ZpbHRlcnMYASADKAsyGi5jby50b3BsLmdlbnVzLkJsb2NrRmlsdGVyUgdmaWx0ZXJzGj8KCU5vdEZpbHRlchIyCgZmaWx0ZXIYASABKAsyGi5jby50b3BsLmdlbnVzLkJsb2NrRmlsdGVyUgZmaWx0ZXIaCwoJQWxsRmlsdGVyQg0KC2ZpbHRlcl90eXBl'); +final $typed_data.Uint8List blockFilterDescriptor = $convert.base64Decode( + 'CgtCbG9ja0ZpbHRlchJDCgxpZF9zZWxlY3Rpb24YASABKAsyHi5jby50b3BsLmdlbnVzLlN0cmluZ1NlbGVjdGlvbkgAUgtpZFNlbGVjdGlvbhJQChNwYXJlbnRfaWRfc2VsZWN0aW9uGAIgASgLMh4uY28udG9wbC5nZW51cy5TdHJpbmdTZWxlY3Rpb25IAFIRcGFyZW50SWRTZWxlY3Rpb24SRQoPdGltZXN0YW1wX3JhbmdlGAMgASgLMhouY28udG9wbC5nZW51cy5OdW1iZXJSYW5nZUgAUg50aW1lc3RhbXBSYW5nZRJpCiBnZW5lcmF0b3JfYm94X3Rva2VuX3ZhbHVlX2ZpbHRlchgEIAEoCzIfLmNvLnRvcGwuZ2VudXMuVG9rZW5WYWx1ZUZpbHRlckgAUhxnZW5lcmF0b3JCb3hUb2tlblZhbHVlRmlsdGVyElIKFHB1YmxpY19rZXlfc2VsZWN0aW9uGAUgASgLMh4uY28udG9wbC5nZW51cy5TdHJpbmdTZWxlY3Rpb25IAFIScHVibGljS2V5U2VsZWN0aW9uEj8KDGhlaWdodF9yYW5nZRgGIAEoCzIaLmNvLnRvcGwuZ2VudXMuTnVtYmVyUmFuZ2VIAFILaGVpZ2h0UmFuZ2USSwoQaGVpZ2h0X3NlbGVjdGlvbhgHIAEoCzIeLmNvLnRvcGwuZ2VudXMuTnVtYmVyU2VsZWN0aW9uSABSD2hlaWdodFNlbGVjdGlvbhJHChBkaWZmaWN1bHR5X3JhbmdlGAggASgLMhouY28udG9wbC5nZW51cy5OdW1iZXJSYW5nZUgAUg9kaWZmaWN1bHR5UmFuZ2USTQoRdmVyc2lvbl9zZWxlY3Rpb24YCSABKAsyHi5jby50b3BsLmdlbnVzLk51bWJlclNlbGVjdGlvbkgAUhB2ZXJzaW9uU2VsZWN0aW9uElAKFW51bV90cmFuc2FjdGlvbl9yYW5nZRgKIAEoCzIaLmNvLnRvcGwuZ2VudXMuTnVtYmVyUmFuZ2VIAFITbnVtVHJhbnNhY3Rpb25SYW5nZRI4CgNhbmQYDyABKAsyJC5jby50b3BsLmdlbnVzLkJsb2NrRmlsdGVyLkFuZEZpbHRlckgAUgNhbmQSNQoCb3IYECABKAsyIy5jby50b3BsLmdlbnVzLkJsb2NrRmlsdGVyLk9yRmlsdGVySABSAm9yEjgKA25vdBgRIAEoCzIkLmNvLnRvcGwuZ2VudXMuQmxvY2tGaWx0ZXIuTm90RmlsdGVySABSA25vdBI4CgNhbGwYEiABKAsyJC5jby50b3BsLmdlbnVzLkJsb2NrRmlsdGVyLkFsbEZpbHRlckgAUgNhbGwaQQoJQW5kRmlsdGVyEjQKB2ZpbHRlcnMYASADKAsyGi5jby50b3BsLmdlbnVzLkJsb2NrRmlsdGVyUgdmaWx0ZXJzGkAKCE9yRmlsdGVyEjQKB2ZpbHRlcnMYASADKAsyGi5jby50b3BsLmdlbnVzLkJsb2NrRmlsdGVyUgdmaWx0ZXJzGj8KCU5vdEZpbHRlchIyCgZmaWx0ZXIYASABKAsyGi5jby50b3BsLmdlbnVzLkJsb2NrRmlsdGVyUgZmaWx0ZXIaCwoJQWxsRmlsdGVyQg0KC2ZpbHRlcl90eXBl'); diff --git a/lib/genus/generated/services_types.pb.dart b/lib/genus/generated/services_types.pb.dart index 95911845..a954cea0 100644 --- a/lib/genus/generated/services_types.pb.dart +++ b/lib/genus/generated/services_types.pb.dart @@ -5,26 +5,36 @@ // @dart = 2.12 // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name +// Dart imports: import 'dart:core' as $core; +// Package imports: import 'package:protobuf/protobuf.dart' as $pb; class Paging extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'Paging', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'Paging', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) ..a<$core.int>( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'pageNumber', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'pageNumber', $pb.PbFieldType.OU3, ) ..a<$core.int>( 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'pageSize', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'pageSize', $pb.PbFieldType.OU3, ) ..hasRequiredFields = false; @@ -43,9 +53,11 @@ class Paging extends $pb.GeneratedMessage { } return _result; } - factory Paging.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory Paging.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); - factory Paging.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory Paging.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -59,14 +71,16 @@ class Paging extends $pb.GeneratedMessage { 'Will be removed in next major version', ) Paging copyWith(void Function(Paging) updates) => - super.copyWith((message) => updates(message as Paging)) as Paging; // ignore: deprecated_member_use + super.copyWith((message) => updates(message as Paging)) + as Paging; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static Paging create() => Paging._(); Paging createEmptyInstance() => create(); static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static Paging getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Paging getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static Paging? _defaultInstance; @$pb.TagNumber(1) diff --git a/lib/genus/generated/services_types.pbenum.dart b/lib/genus/generated/services_types.pbenum.dart index f1c28728..7998c993 100644 --- a/lib/genus/generated/services_types.pbenum.dart +++ b/lib/genus/generated/services_types.pbenum.dart @@ -4,4 +4,3 @@ // // @dart = 2.12 // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name - diff --git a/lib/genus/generated/services_types.pbjson.dart b/lib/genus/generated/services_types.pbjson.dart index 7847a65f..db9e68cc 100644 --- a/lib/genus/generated/services_types.pbjson.dart +++ b/lib/genus/generated/services_types.pbjson.dart @@ -5,9 +5,11 @@ // @dart = 2.12 // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,deprecated_member_use_from_same_package,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name -import 'dart:core' as $core; +// Dart imports: import 'dart:convert' as $convert; +import 'dart:core' as $core; import 'dart:typed_data' as $typed_data; + @$core.Deprecated('Use pagingDescriptor instead') const Paging$json = const { '1': 'Paging', @@ -18,4 +20,5 @@ const Paging$json = const { }; /// Descriptor for `Paging`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List pagingDescriptor = $convert.base64Decode('CgZQYWdpbmcSHwoLcGFnZV9udW1iZXIYASABKA1SCnBhZ2VOdW1iZXISGwoJcGFnZV9zaXplGAIgASgNUghwYWdlU2l6ZQ=='); +final $typed_data.Uint8List pagingDescriptor = $convert.base64Decode( + 'CgZQYWdpbmcSHwoLcGFnZV9udW1iZXIYASABKA1SCnBhZ2VOdW1iZXISGwoJcGFnZV9zaXplGAIgASgNUghwYWdlU2l6ZQ=='); diff --git a/lib/genus/generated/transactions_query.pb.dart b/lib/genus/generated/transactions_query.pb.dart index 89906d4d..dd1174b6 100644 --- a/lib/genus/generated/transactions_query.pb.dart +++ b/lib/genus/generated/transactions_query.pb.dart @@ -5,23 +5,34 @@ // @dart = 2.12 // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name +// Dart imports: import 'dart:core' as $core; +// Package imports: import 'package:protobuf/protobuf.dart' as $pb; +// Project imports: import 'filters.pb.dart' as $4; import 'services_types.pb.dart' as $5; import 'types.pb.dart' as $6; class TransactionSorting_Height extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'TransactionSorting.Height', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'TransactionSorting.Height', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) - ..aOB(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'descending') + ..aOB( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'descending') ..hasRequiredFields = false; TransactionSorting_Height._() : super(); @@ -39,30 +50,34 @@ class TransactionSorting_Height extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory TransactionSorting_Height.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory TransactionSorting_Height.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - TransactionSorting_Height clone() => TransactionSorting_Height()..mergeFromMessage(this); + TransactionSorting_Height clone() => + TransactionSorting_Height()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 'Will be removed in next major version', ) - TransactionSorting_Height copyWith(void Function(TransactionSorting_Height) updates) => + TransactionSorting_Height copyWith( + void Function(TransactionSorting_Height) updates) => super.copyWith((message) => updates(message as TransactionSorting_Height)) as TransactionSorting_Height; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static TransactionSorting_Height create() => TransactionSorting_Height._(); TransactionSorting_Height createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static TransactionSorting_Height getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TransactionSorting_Height getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static TransactionSorting_Height? _defaultInstance; @$pb.TagNumber(1) @@ -80,13 +95,21 @@ class TransactionSorting_Height extends $pb.GeneratedMessage { class TransactionSorting_Fee extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'TransactionSorting.Fee', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'TransactionSorting.Fee', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) - ..aOB(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'descending') + ..aOB( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'descending') ..hasRequiredFields = false; TransactionSorting_Fee._() : super(); @@ -104,30 +127,34 @@ class TransactionSorting_Fee extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory TransactionSorting_Fee.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory TransactionSorting_Fee.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - TransactionSorting_Fee clone() => TransactionSorting_Fee()..mergeFromMessage(this); + TransactionSorting_Fee clone() => + TransactionSorting_Fee()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 'Will be removed in next major version', ) - TransactionSorting_Fee copyWith(void Function(TransactionSorting_Fee) updates) => + TransactionSorting_Fee copyWith( + void Function(TransactionSorting_Fee) updates) => super.copyWith((message) => updates(message as TransactionSorting_Fee)) as TransactionSorting_Fee; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static TransactionSorting_Fee create() => TransactionSorting_Fee._(); TransactionSorting_Fee createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static TransactionSorting_Fee getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TransactionSorting_Fee getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static TransactionSorting_Fee? _defaultInstance; @$pb.TagNumber(1) @@ -145,13 +172,21 @@ class TransactionSorting_Fee extends $pb.GeneratedMessage { class TransactionSorting_Timestamp extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'TransactionSorting.Timestamp', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'TransactionSorting.Timestamp', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) - ..aOB(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'descending') + ..aOB( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'descending') ..hasRequiredFields = false; TransactionSorting_Timestamp._() : super(); @@ -179,23 +214,28 @@ class TransactionSorting_Timestamp extends $pb.GeneratedMessage { 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - TransactionSorting_Timestamp clone() => TransactionSorting_Timestamp()..mergeFromMessage(this); + TransactionSorting_Timestamp clone() => + TransactionSorting_Timestamp()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 'Will be removed in next major version', ) - TransactionSorting_Timestamp copyWith(void Function(TransactionSorting_Timestamp) updates) => - super.copyWith((message) => updates(message as TransactionSorting_Timestamp)) + TransactionSorting_Timestamp copyWith( + void Function(TransactionSorting_Timestamp) updates) => + super.copyWith( + (message) => updates(message as TransactionSorting_Timestamp)) as TransactionSorting_Timestamp; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') - static TransactionSorting_Timestamp create() => TransactionSorting_Timestamp._(); + static TransactionSorting_Timestamp create() => + TransactionSorting_Timestamp._(); TransactionSorting_Timestamp createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static TransactionSorting_Timestamp getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TransactionSorting_Timestamp getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static TransactionSorting_Timestamp? _defaultInstance; @$pb.TagNumber(1) @@ -214,33 +254,44 @@ class TransactionSorting_Timestamp extends $pb.GeneratedMessage { enum TransactionSorting_SortBy { height, fee, timestamp, notSet } class TransactionSorting extends $pb.GeneratedMessage { - static const $core.Map<$core.int, TransactionSorting_SortBy> _TransactionSorting_SortByByTag = { + static const $core.Map<$core.int, TransactionSorting_SortBy> + _TransactionSorting_SortByByTag = { 1: TransactionSorting_SortBy.height, 2: TransactionSorting_SortBy.fee, 3: TransactionSorting_SortBy.timestamp, 0: TransactionSorting_SortBy.notSet }; static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'TransactionSorting', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'TransactionSorting', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) ..oo(0, [1, 2, 3]) ..aOM( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'height', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'height', subBuilder: TransactionSorting_Height.create, ) ..aOM( 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'fee', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'fee', subBuilder: TransactionSorting_Fee.create, ) ..aOM( 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'timestamp', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'timestamp', subBuilder: TransactionSorting_Timestamp.create, ) ..hasRequiredFields = false; @@ -268,7 +319,8 @@ class TransactionSorting extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory TransactionSorting.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory TransactionSorting.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -288,13 +340,15 @@ class TransactionSorting extends $pb.GeneratedMessage { @$core.pragma('dart2js:noInline') static TransactionSorting create() => TransactionSorting._(); TransactionSorting createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static TransactionSorting getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TransactionSorting getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static TransactionSorting? _defaultInstance; - TransactionSorting_SortBy whichSortBy() => _TransactionSorting_SortByByTag[$_whichOneof(0)]!; + TransactionSorting_SortBy whichSortBy() => + _TransactionSorting_SortByByTag[$_whichOneof(0)]!; void clearSortBy() => clearField($_whichOneof(0)); @$pb.TagNumber(1) @@ -342,30 +396,42 @@ class TransactionSorting extends $pb.GeneratedMessage { class QueryTxsReq extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'QueryTxsReq', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'QueryTxsReq', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) ..aOM<$4.TransactionFilter>( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'filter', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'filter', subBuilder: $4.TransactionFilter.create, ) ..aOM( 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'sorting', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'sorting', subBuilder: TransactionSorting.create, ) ..a<$core.int>( 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'confirmationDepth', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'confirmationDepth', $pb.PbFieldType.OU3, ) ..aOM<$5.Paging>( 4, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'pagingOptions', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'pagingOptions', subBuilder: $5.Paging.create, ) ..hasRequiredFields = false; @@ -392,9 +458,11 @@ class QueryTxsReq extends $pb.GeneratedMessage { } return _result; } - factory QueryTxsReq.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory QueryTxsReq.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); - factory QueryTxsReq.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory QueryTxsReq.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -408,14 +476,16 @@ class QueryTxsReq extends $pb.GeneratedMessage { 'Will be removed in next major version', ) QueryTxsReq copyWith(void Function(QueryTxsReq) updates) => - super.copyWith((message) => updates(message as QueryTxsReq)) as QueryTxsReq; // ignore: deprecated_member_use + super.copyWith((message) => updates(message as QueryTxsReq)) + as QueryTxsReq; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static QueryTxsReq create() => QueryTxsReq._(); QueryTxsReq createEmptyInstance() => create(); static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static QueryTxsReq getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static QueryTxsReq getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static QueryTxsReq? _defaultInstance; @$pb.TagNumber(1) @@ -475,15 +545,21 @@ class QueryTxsReq extends $pb.GeneratedMessage { class QueryTxsRes_Success extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'QueryTxsRes.Success', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'QueryTxsRes.Success', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) ..pc<$6.Transaction>( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'transactions', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'transactions', $pb.PbFieldType.PM, subBuilder: $6.Transaction.create, ) @@ -504,7 +580,8 @@ class QueryTxsRes_Success extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory QueryTxsRes_Success.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory QueryTxsRes_Success.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -524,36 +601,59 @@ class QueryTxsRes_Success extends $pb.GeneratedMessage { @$core.pragma('dart2js:noInline') static QueryTxsRes_Success create() => QueryTxsRes_Success._(); QueryTxsRes_Success createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static QueryTxsRes_Success getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static QueryTxsRes_Success getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static QueryTxsRes_Success? _defaultInstance; @$pb.TagNumber(1) $core.List<$6.Transaction> get transactions => $_getList(0); } -enum QueryTxsRes_Failure_Reason { dataStoreConnectionError, queryTimeout, invalidQuery, notSet } +enum QueryTxsRes_Failure_Reason { + dataStoreConnectionError, + queryTimeout, + invalidQuery, + notSet +} class QueryTxsRes_Failure extends $pb.GeneratedMessage { - static const $core.Map<$core.int, QueryTxsRes_Failure_Reason> _QueryTxsRes_Failure_ReasonByTag = { + static const $core.Map<$core.int, QueryTxsRes_Failure_Reason> + _QueryTxsRes_Failure_ReasonByTag = { 1: QueryTxsRes_Failure_Reason.dataStoreConnectionError, 2: QueryTxsRes_Failure_Reason.queryTimeout, 3: QueryTxsRes_Failure_Reason.invalidQuery, 0: QueryTxsRes_Failure_Reason.notSet }; static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'QueryTxsRes.Failure', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'QueryTxsRes.Failure', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) ..oo(0, [1, 2, 3]) - ..aOS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'dataStoreConnectionError') - ..aOS(2, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'queryTimeout') - ..aOS(3, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'invalidQuery') + ..aOS( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'dataStoreConnectionError') + ..aOS( + 2, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'queryTimeout') + ..aOS( + 3, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'invalidQuery') ..hasRequiredFields = false; QueryTxsRes_Failure._() : super(); @@ -579,7 +679,8 @@ class QueryTxsRes_Failure extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory QueryTxsRes_Failure.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory QueryTxsRes_Failure.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -599,13 +700,15 @@ class QueryTxsRes_Failure extends $pb.GeneratedMessage { @$core.pragma('dart2js:noInline') static QueryTxsRes_Failure create() => QueryTxsRes_Failure._(); QueryTxsRes_Failure createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static QueryTxsRes_Failure getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static QueryTxsRes_Failure getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static QueryTxsRes_Failure? _defaultInstance; - QueryTxsRes_Failure_Reason whichReason() => _QueryTxsRes_Failure_ReasonByTag[$_whichOneof(0)]!; + QueryTxsRes_Failure_Reason whichReason() => + _QueryTxsRes_Failure_ReasonByTag[$_whichOneof(0)]!; void clearReason() => clearField($_whichOneof(0)); @$pb.TagNumber(1) @@ -648,27 +751,36 @@ class QueryTxsRes_Failure extends $pb.GeneratedMessage { enum QueryTxsRes_Result { success, failure, notSet } class QueryTxsRes extends $pb.GeneratedMessage { - static const $core.Map<$core.int, QueryTxsRes_Result> _QueryTxsRes_ResultByTag = { + static const $core.Map<$core.int, QueryTxsRes_Result> + _QueryTxsRes_ResultByTag = { 1: QueryTxsRes_Result.success, 2: QueryTxsRes_Result.failure, 0: QueryTxsRes_Result.notSet }; static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'QueryTxsRes', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'QueryTxsRes', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) ..oo(0, [1, 2]) ..aOM( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'success', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'success', subBuilder: QueryTxsRes_Success.create, ) ..aOM( 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'failure', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'failure', subBuilder: QueryTxsRes_Failure.create, ) ..hasRequiredFields = false; @@ -687,9 +799,11 @@ class QueryTxsRes extends $pb.GeneratedMessage { } return _result; } - factory QueryTxsRes.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory QueryTxsRes.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); - factory QueryTxsRes.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory QueryTxsRes.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -703,17 +817,20 @@ class QueryTxsRes extends $pb.GeneratedMessage { 'Will be removed in next major version', ) QueryTxsRes copyWith(void Function(QueryTxsRes) updates) => - super.copyWith((message) => updates(message as QueryTxsRes)) as QueryTxsRes; // ignore: deprecated_member_use + super.copyWith((message) => updates(message as QueryTxsRes)) + as QueryTxsRes; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static QueryTxsRes create() => QueryTxsRes._(); QueryTxsRes createEmptyInstance() => create(); static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static QueryTxsRes getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static QueryTxsRes getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static QueryTxsRes? _defaultInstance; - QueryTxsRes_Result whichResult() => _QueryTxsRes_ResultByTag[$_whichOneof(0)]!; + QueryTxsRes_Result whichResult() => + _QueryTxsRes_ResultByTag[$_whichOneof(0)]!; void clearResult() => clearField($_whichOneof(0)); @$pb.TagNumber(1) @@ -747,25 +864,35 @@ class QueryTxsRes extends $pb.GeneratedMessage { class TxsQueryStreamReq extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'TxsQueryStreamReq', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'TxsQueryStreamReq', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) ..aOM<$4.TransactionFilter>( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'filter', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'filter', subBuilder: $4.TransactionFilter.create, ) ..a<$core.int>( 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'confirmationDepth', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'confirmationDepth', $pb.PbFieldType.OU3, ) ..aOM( 4, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'sorting', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'sorting', subBuilder: TransactionSorting.create, ) ..hasRequiredFields = false; @@ -793,7 +920,8 @@ class TxsQueryStreamReq extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory TxsQueryStreamReq.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory TxsQueryStreamReq.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -813,10 +941,11 @@ class TxsQueryStreamReq extends $pb.GeneratedMessage { @$core.pragma('dart2js:noInline') static TxsQueryStreamReq create() => TxsQueryStreamReq._(); TxsQueryStreamReq createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static TxsQueryStreamReq getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TxsQueryStreamReq getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static TxsQueryStreamReq? _defaultInstance; @$pb.TagNumber(1) @@ -860,24 +989,41 @@ class TxsQueryStreamReq extends $pb.GeneratedMessage { TransactionSorting ensureSorting() => $_ensure(2); } -enum TxsQueryStreamRes_Failure_Reason { dataStoreConnectionError, invalidQuery, notSet } +enum TxsQueryStreamRes_Failure_Reason { + dataStoreConnectionError, + invalidQuery, + notSet +} class TxsQueryStreamRes_Failure extends $pb.GeneratedMessage { - static const $core.Map<$core.int, TxsQueryStreamRes_Failure_Reason> _TxsQueryStreamRes_Failure_ReasonByTag = { + static const $core.Map<$core.int, TxsQueryStreamRes_Failure_Reason> + _TxsQueryStreamRes_Failure_ReasonByTag = { 1: TxsQueryStreamRes_Failure_Reason.dataStoreConnectionError, 2: TxsQueryStreamRes_Failure_Reason.invalidQuery, 0: TxsQueryStreamRes_Failure_Reason.notSet }; static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'TxsQueryStreamRes.Failure', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'TxsQueryStreamRes.Failure', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) ..oo(0, [1, 2]) - ..aOS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'dataStoreConnectionError') - ..aOS(2, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'invalidQuery') + ..aOS( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'dataStoreConnectionError') + ..aOS( + 2, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'invalidQuery') ..hasRequiredFields = false; TxsQueryStreamRes_Failure._() : super(); @@ -899,33 +1045,38 @@ class TxsQueryStreamRes_Failure extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory TxsQueryStreamRes_Failure.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory TxsQueryStreamRes_Failure.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - TxsQueryStreamRes_Failure clone() => TxsQueryStreamRes_Failure()..mergeFromMessage(this); + TxsQueryStreamRes_Failure clone() => + TxsQueryStreamRes_Failure()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 'Will be removed in next major version', ) - TxsQueryStreamRes_Failure copyWith(void Function(TxsQueryStreamRes_Failure) updates) => + TxsQueryStreamRes_Failure copyWith( + void Function(TxsQueryStreamRes_Failure) updates) => super.copyWith((message) => updates(message as TxsQueryStreamRes_Failure)) as TxsQueryStreamRes_Failure; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static TxsQueryStreamRes_Failure create() => TxsQueryStreamRes_Failure._(); TxsQueryStreamRes_Failure createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static TxsQueryStreamRes_Failure getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TxsQueryStreamRes_Failure getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static TxsQueryStreamRes_Failure? _defaultInstance; - TxsQueryStreamRes_Failure_Reason whichReason() => _TxsQueryStreamRes_Failure_ReasonByTag[$_whichOneof(0)]!; + TxsQueryStreamRes_Failure_Reason whichReason() => + _TxsQueryStreamRes_Failure_ReasonByTag[$_whichOneof(0)]!; void clearReason() => clearField($_whichOneof(0)); @$pb.TagNumber(1) @@ -956,15 +1107,20 @@ class TxsQueryStreamRes_Failure extends $pb.GeneratedMessage { enum TxsQueryStreamRes_Result { tx, failure, notSet } class TxsQueryStreamRes extends $pb.GeneratedMessage { - static const $core.Map<$core.int, TxsQueryStreamRes_Result> _TxsQueryStreamRes_ResultByTag = { + static const $core.Map<$core.int, TxsQueryStreamRes_Result> + _TxsQueryStreamRes_ResultByTag = { 1: TxsQueryStreamRes_Result.tx, 2: TxsQueryStreamRes_Result.failure, 0: TxsQueryStreamRes_Result.notSet }; static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'TxsQueryStreamRes', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'TxsQueryStreamRes', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) @@ -976,7 +1132,9 @@ class TxsQueryStreamRes extends $pb.GeneratedMessage { ) ..aOM( 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'failure', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'failure', subBuilder: TxsQueryStreamRes_Failure.create, ) ..hasRequiredFields = false; @@ -1000,7 +1158,8 @@ class TxsQueryStreamRes extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory TxsQueryStreamRes.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory TxsQueryStreamRes.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -1020,13 +1179,15 @@ class TxsQueryStreamRes extends $pb.GeneratedMessage { @$core.pragma('dart2js:noInline') static TxsQueryStreamRes create() => TxsQueryStreamRes._(); TxsQueryStreamRes createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static TxsQueryStreamRes getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TxsQueryStreamRes getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static TxsQueryStreamRes? _defaultInstance; - TxsQueryStreamRes_Result whichResult() => _TxsQueryStreamRes_ResultByTag[$_whichOneof(0)]!; + TxsQueryStreamRes_Result whichResult() => + _TxsQueryStreamRes_ResultByTag[$_whichOneof(0)]!; void clearResult() => clearField($_whichOneof(0)); @$pb.TagNumber(1) diff --git a/lib/genus/generated/transactions_query.pbenum.dart b/lib/genus/generated/transactions_query.pbenum.dart index 93d1c1e4..e348b39f 100644 --- a/lib/genus/generated/transactions_query.pbenum.dart +++ b/lib/genus/generated/transactions_query.pbenum.dart @@ -4,4 +4,3 @@ // // @dart = 2.12 // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name - diff --git a/lib/genus/generated/transactions_query.pbgrpc.dart b/lib/genus/generated/transactions_query.pbgrpc.dart index 1955c2d8..681aa6fd 100644 --- a/lib/genus/generated/transactions_query.pbgrpc.dart +++ b/lib/genus/generated/transactions_query.pbgrpc.dart @@ -5,12 +5,16 @@ // @dart = 2.12 // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name +// Dart imports: import 'dart:async' as $async; - import 'dart:core' as $core; +// Package imports: import 'package:grpc/service_api.dart' as $grpc; + +// Project imports: import 'transactions_query.pb.dart' as $0; + export 'transactions_query.pb.dart'; class TransactionsQueryClient extends $grpc.Client { @@ -19,7 +23,8 @@ class TransactionsQueryClient extends $grpc.Client { ($0.QueryTxsReq value) => value.writeToBuffer(), ($core.List<$core.int> value) => $0.QueryTxsRes.fromBuffer(value), ); - static final _$queryStreamed = $grpc.ClientMethod<$0.TxsQueryStreamReq, $0.TxsQueryStreamRes>( + static final _$queryStreamed = + $grpc.ClientMethod<$0.TxsQueryStreamReq, $0.TxsQueryStreamRes>( '/co.topl.genus.services.TransactionsQuery/QueryStreamed', ($0.TxsQueryStreamReq value) => value.writeToBuffer(), ($core.List<$core.int> value) => $0.TxsQueryStreamRes.fromBuffer(value), diff --git a/lib/genus/generated/transactions_query.pbjson.dart b/lib/genus/generated/transactions_query.pbjson.dart index 82be5b98..e33f1be4 100644 --- a/lib/genus/generated/transactions_query.pbjson.dart +++ b/lib/genus/generated/transactions_query.pbjson.dart @@ -5,18 +5,48 @@ // @dart = 2.12 // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,deprecated_member_use_from_same_package,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name -import 'dart:core' as $core; +// Dart imports: import 'dart:convert' as $convert; +import 'dart:core' as $core; import 'dart:typed_data' as $typed_data; + @$core.Deprecated('Use transactionSortingDescriptor instead') const TransactionSorting$json = const { '1': 'TransactionSorting', '2': const [ - const {'1': 'height', '3': 1, '4': 1, '5': 11, '6': '.co.topl.genus.services.TransactionSorting.Height', '9': 0, '10': 'height'}, - const {'1': 'fee', '3': 2, '4': 1, '5': 11, '6': '.co.topl.genus.services.TransactionSorting.Fee', '9': 0, '10': 'fee'}, - const {'1': 'timestamp', '3': 3, '4': 1, '5': 11, '6': '.co.topl.genus.services.TransactionSorting.Timestamp', '9': 0, '10': 'timestamp'}, + const { + '1': 'height', + '3': 1, + '4': 1, + '5': 11, + '6': '.co.topl.genus.services.TransactionSorting.Height', + '9': 0, + '10': 'height' + }, + const { + '1': 'fee', + '3': 2, + '4': 1, + '5': 11, + '6': '.co.topl.genus.services.TransactionSorting.Fee', + '9': 0, + '10': 'fee' + }, + const { + '1': 'timestamp', + '3': 3, + '4': 1, + '5': 11, + '6': '.co.topl.genus.services.TransactionSorting.Timestamp', + '9': 0, + '10': 'timestamp' + }, + ], + '3': const [ + TransactionSorting_Height$json, + TransactionSorting_Fee$json, + TransactionSorting_Timestamp$json ], - '3': const [TransactionSorting_Height$json, TransactionSorting_Fee$json, TransactionSorting_Timestamp$json], '8': const [ const {'1': 'sort_by'}, ], @@ -47,26 +77,71 @@ const TransactionSorting_Timestamp$json = const { }; /// Descriptor for `TransactionSorting`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List transactionSortingDescriptor = $convert.base64Decode('ChJUcmFuc2FjdGlvblNvcnRpbmcSSwoGaGVpZ2h0GAEgASgLMjEuY28udG9wbC5nZW51cy5zZXJ2aWNlcy5UcmFuc2FjdGlvblNvcnRpbmcuSGVpZ2h0SABSBmhlaWdodBJCCgNmZWUYAiABKAsyLi5jby50b3BsLmdlbnVzLnNlcnZpY2VzLlRyYW5zYWN0aW9uU29ydGluZy5GZWVIAFIDZmVlElQKCXRpbWVzdGFtcBgDIAEoCzI0LmNvLnRvcGwuZ2VudXMuc2VydmljZXMuVHJhbnNhY3Rpb25Tb3J0aW5nLlRpbWVzdGFtcEgAUgl0aW1lc3RhbXAaKAoGSGVpZ2h0Eh4KCmRlc2NlbmRpbmcYASABKAhSCmRlc2NlbmRpbmcaJQoDRmVlEh4KCmRlc2NlbmRpbmcYASABKAhSCmRlc2NlbmRpbmcaKwoJVGltZXN0YW1wEh4KCmRlc2NlbmRpbmcYASABKAhSCmRlc2NlbmRpbmdCCQoHc29ydF9ieQ=='); +final $typed_data.Uint8List transactionSortingDescriptor = $convert.base64Decode( + 'ChJUcmFuc2FjdGlvblNvcnRpbmcSSwoGaGVpZ2h0GAEgASgLMjEuY28udG9wbC5nZW51cy5zZXJ2aWNlcy5UcmFuc2FjdGlvblNvcnRpbmcuSGVpZ2h0SABSBmhlaWdodBJCCgNmZWUYAiABKAsyLi5jby50b3BsLmdlbnVzLnNlcnZpY2VzLlRyYW5zYWN0aW9uU29ydGluZy5GZWVIAFIDZmVlElQKCXRpbWVzdGFtcBgDIAEoCzI0LmNvLnRvcGwuZ2VudXMuc2VydmljZXMuVHJhbnNhY3Rpb25Tb3J0aW5nLlRpbWVzdGFtcEgAUgl0aW1lc3RhbXAaKAoGSGVpZ2h0Eh4KCmRlc2NlbmRpbmcYASABKAhSCmRlc2NlbmRpbmcaJQoDRmVlEh4KCmRlc2NlbmRpbmcYASABKAhSCmRlc2NlbmRpbmcaKwoJVGltZXN0YW1wEh4KCmRlc2NlbmRpbmcYASABKAhSCmRlc2NlbmRpbmdCCQoHc29ydF9ieQ=='); @$core.Deprecated('Use queryTxsReqDescriptor instead') const QueryTxsReq$json = const { '1': 'QueryTxsReq', '2': const [ - const {'1': 'filter', '3': 1, '4': 1, '5': 11, '6': '.co.topl.genus.TransactionFilter', '10': 'filter'}, - const {'1': 'sorting', '3': 2, '4': 1, '5': 11, '6': '.co.topl.genus.services.TransactionSorting', '10': 'sorting'}, - const {'1': 'confirmation_depth', '3': 3, '4': 1, '5': 13, '10': 'confirmationDepth'}, - const {'1': 'paging_options', '3': 4, '4': 1, '5': 11, '6': '.co.topl.genus.services.Paging', '10': 'pagingOptions'}, + const { + '1': 'filter', + '3': 1, + '4': 1, + '5': 11, + '6': '.co.topl.genus.TransactionFilter', + '10': 'filter' + }, + const { + '1': 'sorting', + '3': 2, + '4': 1, + '5': 11, + '6': '.co.topl.genus.services.TransactionSorting', + '10': 'sorting' + }, + const { + '1': 'confirmation_depth', + '3': 3, + '4': 1, + '5': 13, + '10': 'confirmationDepth' + }, + const { + '1': 'paging_options', + '3': 4, + '4': 1, + '5': 11, + '6': '.co.topl.genus.services.Paging', + '10': 'pagingOptions' + }, ], }; /// Descriptor for `QueryTxsReq`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List queryTxsReqDescriptor = $convert.base64Decode('CgtRdWVyeVR4c1JlcRI4CgZmaWx0ZXIYASABKAsyIC5jby50b3BsLmdlbnVzLlRyYW5zYWN0aW9uRmlsdGVyUgZmaWx0ZXISRAoHc29ydGluZxgCIAEoCzIqLmNvLnRvcGwuZ2VudXMuc2VydmljZXMuVHJhbnNhY3Rpb25Tb3J0aW5nUgdzb3J0aW5nEi0KEmNvbmZpcm1hdGlvbl9kZXB0aBgDIAEoDVIRY29uZmlybWF0aW9uRGVwdGgSRQoOcGFnaW5nX29wdGlvbnMYBCABKAsyHi5jby50b3BsLmdlbnVzLnNlcnZpY2VzLlBhZ2luZ1INcGFnaW5nT3B0aW9ucw=='); +final $typed_data.Uint8List queryTxsReqDescriptor = $convert.base64Decode( + 'CgtRdWVyeVR4c1JlcRI4CgZmaWx0ZXIYASABKAsyIC5jby50b3BsLmdlbnVzLlRyYW5zYWN0aW9uRmlsdGVyUgZmaWx0ZXISRAoHc29ydGluZxgCIAEoCzIqLmNvLnRvcGwuZ2VudXMuc2VydmljZXMuVHJhbnNhY3Rpb25Tb3J0aW5nUgdzb3J0aW5nEi0KEmNvbmZpcm1hdGlvbl9kZXB0aBgDIAEoDVIRY29uZmlybWF0aW9uRGVwdGgSRQoOcGFnaW5nX29wdGlvbnMYBCABKAsyHi5jby50b3BsLmdlbnVzLnNlcnZpY2VzLlBhZ2luZ1INcGFnaW5nT3B0aW9ucw=='); @$core.Deprecated('Use queryTxsResDescriptor instead') const QueryTxsRes$json = const { '1': 'QueryTxsRes', '2': const [ - const {'1': 'success', '3': 1, '4': 1, '5': 11, '6': '.co.topl.genus.services.QueryTxsRes.Success', '9': 0, '10': 'success'}, - const {'1': 'failure', '3': 2, '4': 1, '5': 11, '6': '.co.topl.genus.services.QueryTxsRes.Failure', '9': 0, '10': 'failure'}, + const { + '1': 'success', + '3': 1, + '4': 1, + '5': 11, + '6': '.co.topl.genus.services.QueryTxsRes.Success', + '9': 0, + '10': 'success' + }, + const { + '1': 'failure', + '3': 2, + '4': 1, + '5': 11, + '6': '.co.topl.genus.services.QueryTxsRes.Failure', + '9': 0, + '10': 'failure' + }, ], '3': const [QueryTxsRes_Success$json, QueryTxsRes_Failure$json], '8': const [ @@ -78,7 +153,14 @@ const QueryTxsRes$json = const { const QueryTxsRes_Success$json = const { '1': 'Success', '2': const [ - const {'1': 'transactions', '3': 1, '4': 3, '5': 11, '6': '.co.topl.genus.Transaction', '10': 'transactions'}, + const { + '1': 'transactions', + '3': 1, + '4': 3, + '5': 11, + '6': '.co.topl.genus.Transaction', + '10': 'transactions' + }, ], }; @@ -86,9 +168,30 @@ const QueryTxsRes_Success$json = const { const QueryTxsRes_Failure$json = const { '1': 'Failure', '2': const [ - const {'1': 'data_store_connection_error', '3': 1, '4': 1, '5': 9, '9': 0, '10': 'dataStoreConnectionError'}, - const {'1': 'query_timeout', '3': 2, '4': 1, '5': 9, '9': 0, '10': 'queryTimeout'}, - const {'1': 'invalid_query', '3': 3, '4': 1, '5': 9, '9': 0, '10': 'invalidQuery'}, + const { + '1': 'data_store_connection_error', + '3': 1, + '4': 1, + '5': 9, + '9': 0, + '10': 'dataStoreConnectionError' + }, + const { + '1': 'query_timeout', + '3': 2, + '4': 1, + '5': 9, + '9': 0, + '10': 'queryTimeout' + }, + const { + '1': 'invalid_query', + '3': 3, + '4': 1, + '5': 9, + '9': 0, + '10': 'invalidQuery' + }, ], '8': const [ const {'1': 'reason'}, @@ -96,25 +199,63 @@ const QueryTxsRes_Failure$json = const { }; /// Descriptor for `QueryTxsRes`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List queryTxsResDescriptor = $convert.base64Decode('CgtRdWVyeVR4c1JlcxJHCgdzdWNjZXNzGAEgASgLMisuY28udG9wbC5nZW51cy5zZXJ2aWNlcy5RdWVyeVR4c1Jlcy5TdWNjZXNzSABSB3N1Y2Nlc3MSRwoHZmFpbHVyZRgCIAEoCzIrLmNvLnRvcGwuZ2VudXMuc2VydmljZXMuUXVlcnlUeHNSZXMuRmFpbHVyZUgAUgdmYWlsdXJlGkkKB1N1Y2Nlc3MSPgoMdHJhbnNhY3Rpb25zGAEgAygLMhouY28udG9wbC5nZW51cy5UcmFuc2FjdGlvblIMdHJhbnNhY3Rpb25zGqIBCgdGYWlsdXJlEj8KG2RhdGFfc3RvcmVfY29ubmVjdGlvbl9lcnJvchgBIAEoCUgAUhhkYXRhU3RvcmVDb25uZWN0aW9uRXJyb3ISJQoNcXVlcnlfdGltZW91dBgCIAEoCUgAUgxxdWVyeVRpbWVvdXQSJQoNaW52YWxpZF9xdWVyeRgDIAEoCUgAUgxpbnZhbGlkUXVlcnlCCAoGcmVhc29uQggKBnJlc3VsdA=='); +final $typed_data.Uint8List queryTxsResDescriptor = $convert.base64Decode( + 'CgtRdWVyeVR4c1JlcxJHCgdzdWNjZXNzGAEgASgLMisuY28udG9wbC5nZW51cy5zZXJ2aWNlcy5RdWVyeVR4c1Jlcy5TdWNjZXNzSABSB3N1Y2Nlc3MSRwoHZmFpbHVyZRgCIAEoCzIrLmNvLnRvcGwuZ2VudXMuc2VydmljZXMuUXVlcnlUeHNSZXMuRmFpbHVyZUgAUgdmYWlsdXJlGkkKB1N1Y2Nlc3MSPgoMdHJhbnNhY3Rpb25zGAEgAygLMhouY28udG9wbC5nZW51cy5UcmFuc2FjdGlvblIMdHJhbnNhY3Rpb25zGqIBCgdGYWlsdXJlEj8KG2RhdGFfc3RvcmVfY29ubmVjdGlvbl9lcnJvchgBIAEoCUgAUhhkYXRhU3RvcmVDb25uZWN0aW9uRXJyb3ISJQoNcXVlcnlfdGltZW91dBgCIAEoCUgAUgxxdWVyeVRpbWVvdXQSJQoNaW52YWxpZF9xdWVyeRgDIAEoCUgAUgxpbnZhbGlkUXVlcnlCCAoGcmVhc29uQggKBnJlc3VsdA=='); @$core.Deprecated('Use txsQueryStreamReqDescriptor instead') const TxsQueryStreamReq$json = const { '1': 'TxsQueryStreamReq', '2': const [ - const {'1': 'filter', '3': 1, '4': 1, '5': 11, '6': '.co.topl.genus.TransactionFilter', '10': 'filter'}, - const {'1': 'sorting', '3': 4, '4': 1, '5': 11, '6': '.co.topl.genus.services.TransactionSorting', '10': 'sorting'}, - const {'1': 'confirmation_depth', '3': 2, '4': 1, '5': 13, '10': 'confirmationDepth'}, + const { + '1': 'filter', + '3': 1, + '4': 1, + '5': 11, + '6': '.co.topl.genus.TransactionFilter', + '10': 'filter' + }, + const { + '1': 'sorting', + '3': 4, + '4': 1, + '5': 11, + '6': '.co.topl.genus.services.TransactionSorting', + '10': 'sorting' + }, + const { + '1': 'confirmation_depth', + '3': 2, + '4': 1, + '5': 13, + '10': 'confirmationDepth' + }, ], }; /// Descriptor for `TxsQueryStreamReq`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List txsQueryStreamReqDescriptor = $convert.base64Decode('ChFUeHNRdWVyeVN0cmVhbVJlcRI4CgZmaWx0ZXIYASABKAsyIC5jby50b3BsLmdlbnVzLlRyYW5zYWN0aW9uRmlsdGVyUgZmaWx0ZXISRAoHc29ydGluZxgEIAEoCzIqLmNvLnRvcGwuZ2VudXMuc2VydmljZXMuVHJhbnNhY3Rpb25Tb3J0aW5nUgdzb3J0aW5nEi0KEmNvbmZpcm1hdGlvbl9kZXB0aBgCIAEoDVIRY29uZmlybWF0aW9uRGVwdGg='); +final $typed_data.Uint8List txsQueryStreamReqDescriptor = $convert.base64Decode( + 'ChFUeHNRdWVyeVN0cmVhbVJlcRI4CgZmaWx0ZXIYASABKAsyIC5jby50b3BsLmdlbnVzLlRyYW5zYWN0aW9uRmlsdGVyUgZmaWx0ZXISRAoHc29ydGluZxgEIAEoCzIqLmNvLnRvcGwuZ2VudXMuc2VydmljZXMuVHJhbnNhY3Rpb25Tb3J0aW5nUgdzb3J0aW5nEi0KEmNvbmZpcm1hdGlvbl9kZXB0aBgCIAEoDVIRY29uZmlybWF0aW9uRGVwdGg='); @$core.Deprecated('Use txsQueryStreamResDescriptor instead') const TxsQueryStreamRes$json = const { '1': 'TxsQueryStreamRes', '2': const [ - const {'1': 'tx', '3': 1, '4': 1, '5': 11, '6': '.co.topl.genus.Transaction', '9': 0, '10': 'tx'}, - const {'1': 'failure', '3': 2, '4': 1, '5': 11, '6': '.co.topl.genus.services.TxsQueryStreamRes.Failure', '9': 0, '10': 'failure'}, + const { + '1': 'tx', + '3': 1, + '4': 1, + '5': 11, + '6': '.co.topl.genus.Transaction', + '9': 0, + '10': 'tx' + }, + const { + '1': 'failure', + '3': 2, + '4': 1, + '5': 11, + '6': '.co.topl.genus.services.TxsQueryStreamRes.Failure', + '9': 0, + '10': 'failure' + }, ], '3': const [TxsQueryStreamRes_Failure$json], '8': const [ @@ -126,8 +267,22 @@ const TxsQueryStreamRes$json = const { const TxsQueryStreamRes_Failure$json = const { '1': 'Failure', '2': const [ - const {'1': 'data_store_connection_error', '3': 1, '4': 1, '5': 9, '9': 0, '10': 'dataStoreConnectionError'}, - const {'1': 'invalid_query', '3': 2, '4': 1, '5': 9, '9': 0, '10': 'invalidQuery'}, + const { + '1': 'data_store_connection_error', + '3': 1, + '4': 1, + '5': 9, + '9': 0, + '10': 'dataStoreConnectionError' + }, + const { + '1': 'invalid_query', + '3': 2, + '4': 1, + '5': 9, + '9': 0, + '10': 'invalidQuery' + }, ], '8': const [ const {'1': 'reason'}, @@ -135,4 +290,5 @@ const TxsQueryStreamRes_Failure$json = const { }; /// Descriptor for `TxsQueryStreamRes`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List txsQueryStreamResDescriptor = $convert.base64Decode('ChFUeHNRdWVyeVN0cmVhbVJlcxIsCgJ0eBgBIAEoCzIaLmNvLnRvcGwuZ2VudXMuVHJhbnNhY3Rpb25IAFICdHgSTQoHZmFpbHVyZRgCIAEoCzIxLmNvLnRvcGwuZ2VudXMuc2VydmljZXMuVHhzUXVlcnlTdHJlYW1SZXMuRmFpbHVyZUgAUgdmYWlsdXJlGnsKB0ZhaWx1cmUSPwobZGF0YV9zdG9yZV9jb25uZWN0aW9uX2Vycm9yGAEgASgJSABSGGRhdGFTdG9yZUNvbm5lY3Rpb25FcnJvchIlCg1pbnZhbGlkX3F1ZXJ5GAIgASgJSABSDGludmFsaWRRdWVyeUIICgZyZWFzb25CCAoGcmVzdWx0'); +final $typed_data.Uint8List txsQueryStreamResDescriptor = $convert.base64Decode( + 'ChFUeHNRdWVyeVN0cmVhbVJlcxIsCgJ0eBgBIAEoCzIaLmNvLnRvcGwuZ2VudXMuVHJhbnNhY3Rpb25IAFICdHgSTQoHZmFpbHVyZRgCIAEoCzIxLmNvLnRvcGwuZ2VudXMuc2VydmljZXMuVHhzUXVlcnlTdHJlYW1SZXMuRmFpbHVyZUgAUgdmYWlsdXJlGnsKB0ZhaWx1cmUSPwobZGF0YV9zdG9yZV9jb25uZWN0aW9uX2Vycm9yGAEgASgJSABSGGRhdGFTdG9yZUNvbm5lY3Rpb25FcnJvchIlCg1pbnZhbGlkX3F1ZXJ5GAIgASgJSABSDGludmFsaWRRdWVyeUIICgZyZWFzb25CCAoGcmVzdWx0'); diff --git a/lib/genus/generated/transactions_subscription.pb.dart b/lib/genus/generated/transactions_subscription.pb.dart index b377aeb2..aa0117f0 100644 --- a/lib/genus/generated/transactions_subscription.pb.dart +++ b/lib/genus/generated/transactions_subscription.pb.dart @@ -5,36 +5,49 @@ // @dart = 2.12 // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name +// Dart imports: import 'dart:core' as $core; +// Package imports: import 'package:fixnum/fixnum.dart' as $fixnum; import 'package:protobuf/protobuf.dart' as $pb; +// Project imports: import 'filters.pb.dart' as $4; import 'types.pb.dart' as $6; class CreateTxsSubscriptionReq extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'CreateTxsSubscriptionReq', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'CreateTxsSubscriptionReq', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) ..aOM<$4.TransactionFilter>( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'filter', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'filter', subBuilder: $4.TransactionFilter.create, ) ..a<$fixnum.Int64>( 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'startHeight', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'startHeight', $pb.PbFieldType.OU6, defaultOrMaker: $fixnum.Int64.ZERO, ) ..a<$core.int>( 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'confirmationDepth', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'confirmationDepth', $pb.PbFieldType.OU3, ) ..hasRequiredFields = false; @@ -62,30 +75,34 @@ class CreateTxsSubscriptionReq extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory CreateTxsSubscriptionReq.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory CreateTxsSubscriptionReq.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - CreateTxsSubscriptionReq clone() => CreateTxsSubscriptionReq()..mergeFromMessage(this); + CreateTxsSubscriptionReq clone() => + CreateTxsSubscriptionReq()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 'Will be removed in next major version', ) - CreateTxsSubscriptionReq copyWith(void Function(CreateTxsSubscriptionReq) updates) => + CreateTxsSubscriptionReq copyWith( + void Function(CreateTxsSubscriptionReq) updates) => super.copyWith((message) => updates(message as CreateTxsSubscriptionReq)) as CreateTxsSubscriptionReq; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static CreateTxsSubscriptionReq create() => CreateTxsSubscriptionReq._(); CreateTxsSubscriptionReq createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static CreateTxsSubscriptionReq getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static CreateTxsSubscriptionReq getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static CreateTxsSubscriptionReq? _defaultInstance; @$pb.TagNumber(1) @@ -127,24 +144,41 @@ class CreateTxsSubscriptionReq extends $pb.GeneratedMessage { void clearConfirmationDepth() => clearField(3); } -enum TxsSubscriptionRes_Failure_Reason { invalidRequest, dataConnectionError, notSet } +enum TxsSubscriptionRes_Failure_Reason { + invalidRequest, + dataConnectionError, + notSet +} class TxsSubscriptionRes_Failure extends $pb.GeneratedMessage { - static const $core.Map<$core.int, TxsSubscriptionRes_Failure_Reason> _TxsSubscriptionRes_Failure_ReasonByTag = { + static const $core.Map<$core.int, TxsSubscriptionRes_Failure_Reason> + _TxsSubscriptionRes_Failure_ReasonByTag = { 1: TxsSubscriptionRes_Failure_Reason.invalidRequest, 2: TxsSubscriptionRes_Failure_Reason.dataConnectionError, 0: TxsSubscriptionRes_Failure_Reason.notSet }; static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'TxsSubscriptionRes.Failure', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'TxsSubscriptionRes.Failure', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) ..oo(0, [1, 2]) - ..aOS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'invalidRequest') - ..aOS(2, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'dataConnectionError') + ..aOS( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'invalidRequest') + ..aOS( + 2, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'dataConnectionError') ..hasRequiredFields = false; TxsSubscriptionRes_Failure._() : super(); @@ -176,26 +210,31 @@ class TxsSubscriptionRes_Failure extends $pb.GeneratedMessage { 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 'Will be removed in next major version', ) - TxsSubscriptionRes_Failure clone() => TxsSubscriptionRes_Failure()..mergeFromMessage(this); + TxsSubscriptionRes_Failure clone() => + TxsSubscriptionRes_Failure()..mergeFromMessage(this); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 'Will be removed in next major version', ) - TxsSubscriptionRes_Failure copyWith(void Function(TxsSubscriptionRes_Failure) updates) => - super.copyWith((message) => updates(message as TxsSubscriptionRes_Failure)) + TxsSubscriptionRes_Failure copyWith( + void Function(TxsSubscriptionRes_Failure) updates) => + super.copyWith( + (message) => updates(message as TxsSubscriptionRes_Failure)) as TxsSubscriptionRes_Failure; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static TxsSubscriptionRes_Failure create() => TxsSubscriptionRes_Failure._(); TxsSubscriptionRes_Failure createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static TxsSubscriptionRes_Failure getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TxsSubscriptionRes_Failure getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static TxsSubscriptionRes_Failure? _defaultInstance; - TxsSubscriptionRes_Failure_Reason whichReason() => _TxsSubscriptionRes_Failure_ReasonByTag[$_whichOneof(0)]!; + TxsSubscriptionRes_Failure_Reason whichReason() => + _TxsSubscriptionRes_Failure_ReasonByTag[$_whichOneof(0)]!; void clearReason() => clearField($_whichOneof(0)); @$pb.TagNumber(1) @@ -226,27 +265,36 @@ class TxsSubscriptionRes_Failure extends $pb.GeneratedMessage { enum TxsSubscriptionRes_Result { success, failure, notSet } class TxsSubscriptionRes extends $pb.GeneratedMessage { - static const $core.Map<$core.int, TxsSubscriptionRes_Result> _TxsSubscriptionRes_ResultByTag = { + static const $core.Map<$core.int, TxsSubscriptionRes_Result> + _TxsSubscriptionRes_ResultByTag = { 1: TxsSubscriptionRes_Result.success, 2: TxsSubscriptionRes_Result.failure, 0: TxsSubscriptionRes_Result.notSet }; static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'TxsSubscriptionRes', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'TxsSubscriptionRes', package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus.services', + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus.services', ), createEmptyInstance: create, ) ..oo(0, [1, 2]) ..aOM<$6.Transaction>( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'success', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'success', subBuilder: $6.Transaction.create, ) ..aOM( 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'failure', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'failure', subBuilder: TxsSubscriptionRes_Failure.create, ) ..hasRequiredFields = false; @@ -270,7 +318,8 @@ class TxsSubscriptionRes extends $pb.GeneratedMessage { $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, ]) => create()..mergeFromBuffer(i, r); - factory TxsSubscriptionRes.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory TxsSubscriptionRes.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -290,13 +339,15 @@ class TxsSubscriptionRes extends $pb.GeneratedMessage { @$core.pragma('dart2js:noInline') static TxsSubscriptionRes create() => TxsSubscriptionRes._(); TxsSubscriptionRes createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); + static $pb.PbList createRepeated() => + $pb.PbList(); @$core.pragma('dart2js:noInline') - static TxsSubscriptionRes getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TxsSubscriptionRes getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static TxsSubscriptionRes? _defaultInstance; - TxsSubscriptionRes_Result whichResult() => _TxsSubscriptionRes_ResultByTag[$_whichOneof(0)]!; + TxsSubscriptionRes_Result whichResult() => + _TxsSubscriptionRes_ResultByTag[$_whichOneof(0)]!; void clearResult() => clearField($_whichOneof(0)); @$pb.TagNumber(1) diff --git a/lib/genus/generated/transactions_subscription.pbenum.dart b/lib/genus/generated/transactions_subscription.pbenum.dart index 1805fd92..27d5b188 100644 --- a/lib/genus/generated/transactions_subscription.pbenum.dart +++ b/lib/genus/generated/transactions_subscription.pbenum.dart @@ -4,4 +4,3 @@ // // @dart = 2.12 // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name - diff --git a/lib/genus/generated/transactions_subscription.pbgrpc.dart b/lib/genus/generated/transactions_subscription.pbgrpc.dart index bef8b66e..2fab154c 100644 --- a/lib/genus/generated/transactions_subscription.pbgrpc.dart +++ b/lib/genus/generated/transactions_subscription.pbgrpc.dart @@ -5,16 +5,21 @@ // @dart = 2.12 // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name +// Dart imports: import 'dart:async' as $async; - import 'dart:core' as $core; +// Package imports: import 'package:grpc/service_api.dart' as $grpc; + +// Project imports: import 'transactions_subscription.pb.dart' as $2; + export 'transactions_subscription.pb.dart'; class TransactionsSubscriptionClient extends $grpc.Client { - static final _$create = $grpc.ClientMethod<$2.CreateTxsSubscriptionReq, $2.TxsSubscriptionRes>( + static final _$create = + $grpc.ClientMethod<$2.CreateTxsSubscriptionReq, $2.TxsSubscriptionRes>( '/co.topl.genus.services.TransactionsSubscription/Create', ($2.CreateTxsSubscriptionReq value) => value.writeToBuffer(), ($core.List<$core.int> value) => $2.TxsSubscriptionRes.fromBuffer(value), @@ -48,7 +53,8 @@ abstract class TransactionsSubscriptionServiceBase extends $grpc.Service { create_Pre, false, true, - ($core.List<$core.int> value) => $2.CreateTxsSubscriptionReq.fromBuffer(value), + ($core.List<$core.int> value) => + $2.CreateTxsSubscriptionReq.fromBuffer(value), ($2.TxsSubscriptionRes value) => value.writeToBuffer(), ), ); diff --git a/lib/genus/generated/transactions_subscription.pbjson.dart b/lib/genus/generated/transactions_subscription.pbjson.dart index f1e1afcb..69ae8e26 100644 --- a/lib/genus/generated/transactions_subscription.pbjson.dart +++ b/lib/genus/generated/transactions_subscription.pbjson.dart @@ -5,27 +5,60 @@ // @dart = 2.12 // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,deprecated_member_use_from_same_package,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name -import 'dart:core' as $core; +// Dart imports: import 'dart:convert' as $convert; +import 'dart:core' as $core; import 'dart:typed_data' as $typed_data; + @$core.Deprecated('Use createTxsSubscriptionReqDescriptor instead') const CreateTxsSubscriptionReq$json = const { '1': 'CreateTxsSubscriptionReq', '2': const [ - const {'1': 'filter', '3': 1, '4': 1, '5': 11, '6': '.co.topl.genus.TransactionFilter', '10': 'filter'}, + const { + '1': 'filter', + '3': 1, + '4': 1, + '5': 11, + '6': '.co.topl.genus.TransactionFilter', + '10': 'filter' + }, const {'1': 'start_height', '3': 2, '4': 1, '5': 4, '10': 'startHeight'}, - const {'1': 'confirmation_depth', '3': 3, '4': 1, '5': 13, '10': 'confirmationDepth'}, + const { + '1': 'confirmation_depth', + '3': 3, + '4': 1, + '5': 13, + '10': 'confirmationDepth' + }, ], }; /// Descriptor for `CreateTxsSubscriptionReq`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List createTxsSubscriptionReqDescriptor = $convert.base64Decode('ChhDcmVhdGVUeHNTdWJzY3JpcHRpb25SZXESOAoGZmlsdGVyGAEgASgLMiAuY28udG9wbC5nZW51cy5UcmFuc2FjdGlvbkZpbHRlclIGZmlsdGVyEiEKDHN0YXJ0X2hlaWdodBgCIAEoBFILc3RhcnRIZWlnaHQSLQoSY29uZmlybWF0aW9uX2RlcHRoGAMgASgNUhFjb25maXJtYXRpb25EZXB0aA=='); +final $typed_data.Uint8List createTxsSubscriptionReqDescriptor = + $convert.base64Decode( + 'ChhDcmVhdGVUeHNTdWJzY3JpcHRpb25SZXESOAoGZmlsdGVyGAEgASgLMiAuY28udG9wbC5nZW51cy5UcmFuc2FjdGlvbkZpbHRlclIGZmlsdGVyEiEKDHN0YXJ0X2hlaWdodBgCIAEoBFILc3RhcnRIZWlnaHQSLQoSY29uZmlybWF0aW9uX2RlcHRoGAMgASgNUhFjb25maXJtYXRpb25EZXB0aA=='); @$core.Deprecated('Use txsSubscriptionResDescriptor instead') const TxsSubscriptionRes$json = const { '1': 'TxsSubscriptionRes', '2': const [ - const {'1': 'success', '3': 1, '4': 1, '5': 11, '6': '.co.topl.genus.Transaction', '9': 0, '10': 'success'}, - const {'1': 'failure', '3': 2, '4': 1, '5': 11, '6': '.co.topl.genus.services.TxsSubscriptionRes.Failure', '9': 0, '10': 'failure'}, + const { + '1': 'success', + '3': 1, + '4': 1, + '5': 11, + '6': '.co.topl.genus.Transaction', + '9': 0, + '10': 'success' + }, + const { + '1': 'failure', + '3': 2, + '4': 1, + '5': 11, + '6': '.co.topl.genus.services.TxsSubscriptionRes.Failure', + '9': 0, + '10': 'failure' + }, ], '3': const [TxsSubscriptionRes_Failure$json], '8': const [ @@ -37,8 +70,22 @@ const TxsSubscriptionRes$json = const { const TxsSubscriptionRes_Failure$json = const { '1': 'Failure', '2': const [ - const {'1': 'invalid_request', '3': 1, '4': 1, '5': 9, '9': 0, '10': 'invalidRequest'}, - const {'1': 'data_connection_error', '3': 2, '4': 1, '5': 9, '9': 0, '10': 'dataConnectionError'}, + const { + '1': 'invalid_request', + '3': 1, + '4': 1, + '5': 9, + '9': 0, + '10': 'invalidRequest' + }, + const { + '1': 'data_connection_error', + '3': 2, + '4': 1, + '5': 9, + '9': 0, + '10': 'dataConnectionError' + }, ], '8': const [ const {'1': 'reason'}, @@ -46,4 +93,5 @@ const TxsSubscriptionRes_Failure$json = const { }; /// Descriptor for `TxsSubscriptionRes`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List txsSubscriptionResDescriptor = $convert.base64Decode('ChJUeHNTdWJzY3JpcHRpb25SZXMSNgoHc3VjY2VzcxgBIAEoCzIaLmNvLnRvcGwuZ2VudXMuVHJhbnNhY3Rpb25IAFIHc3VjY2VzcxJOCgdmYWlsdXJlGAIgASgLMjIuY28udG9wbC5nZW51cy5zZXJ2aWNlcy5UeHNTdWJzY3JpcHRpb25SZXMuRmFpbHVyZUgAUgdmYWlsdXJlGnQKB0ZhaWx1cmUSKQoPaW52YWxpZF9yZXF1ZXN0GAEgASgJSABSDmludmFsaWRSZXF1ZXN0EjQKFWRhdGFfY29ubmVjdGlvbl9lcnJvchgCIAEoCUgAUhNkYXRhQ29ubmVjdGlvbkVycm9yQggKBnJlYXNvbkIICgZyZXN1bHQ='); +final $typed_data.Uint8List txsSubscriptionResDescriptor = $convert.base64Decode( + 'ChJUeHNTdWJzY3JpcHRpb25SZXMSNgoHc3VjY2VzcxgBIAEoCzIaLmNvLnRvcGwuZ2VudXMuVHJhbnNhY3Rpb25IAFIHc3VjY2VzcxJOCgdmYWlsdXJlGAIgASgLMjIuY28udG9wbC5nZW51cy5zZXJ2aWNlcy5UeHNTdWJzY3JpcHRpb25SZXMuRmFpbHVyZUgAUgdmYWlsdXJlGnQKB0ZhaWx1cmUSKQoPaW52YWxpZF9yZXF1ZXN0GAEgASgJSABSDmludmFsaWRSZXF1ZXN0EjQKFWRhdGFfY29ubmVjdGlvbl9lcnJvchgCIAEoCUgAUhNkYXRhQ29ubmVjdGlvbkVycm9yQggKBnJlYXNvbkIICgZyZXN1bHQ='); diff --git a/lib/genus/generated/types.pb.dart b/lib/genus/generated/types.pb.dart index f0d2fb10..7f781f84 100644 --- a/lib/genus/generated/types.pb.dart +++ b/lib/genus/generated/types.pb.dart @@ -5,20 +5,34 @@ // @dart = 2.12 // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name +// Dart imports: import 'dart:core' as $core; +// Package imports: import 'package:fixnum/fixnum.dart' as $fixnum; import 'package:protobuf/protobuf.dart' as $pb; class Attestation extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'Attestation', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'Attestation', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, ) - ..aOS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'publicKey') - ..aOS(2, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'signature') + ..aOS( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'publicKey') + ..aOS( + 2, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'signature') ..hasRequiredFields = false; Attestation._() : super(); @@ -35,9 +49,11 @@ class Attestation extends $pb.GeneratedMessage { } return _result; } - factory Attestation.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory Attestation.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); - factory Attestation.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory Attestation.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -51,14 +67,16 @@ class Attestation extends $pb.GeneratedMessage { 'Will be removed in next major version', ) Attestation copyWith(void Function(Attestation) updates) => - super.copyWith((message) => updates(message as Attestation)) as Attestation; // ignore: deprecated_member_use + super.copyWith((message) => updates(message as Attestation)) + as Attestation; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static Attestation create() => Attestation._(); Attestation createEmptyInstance() => create(); static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static Attestation getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Attestation getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static Attestation? _defaultInstance; @$pb.TagNumber(1) @@ -88,12 +106,20 @@ class Attestation extends $pb.GeneratedMessage { class SimpleValue extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'SimpleValue', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'SimpleValue', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, ) - ..aOS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'quantity') + ..aOS( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'quantity') ..hasRequiredFields = false; SimpleValue._() : super(); @@ -106,9 +132,11 @@ class SimpleValue extends $pb.GeneratedMessage { } return _result; } - factory SimpleValue.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory SimpleValue.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); - factory SimpleValue.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory SimpleValue.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -122,14 +150,16 @@ class SimpleValue extends $pb.GeneratedMessage { 'Will be removed in next major version', ) SimpleValue copyWith(void Function(SimpleValue) updates) => - super.copyWith((message) => updates(message as SimpleValue)) as SimpleValue; // ignore: deprecated_member_use + super.copyWith((message) => updates(message as SimpleValue)) + as SimpleValue; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static SimpleValue create() => SimpleValue._(); SimpleValue createEmptyInstance() => create(); static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static SimpleValue getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static SimpleValue getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static SimpleValue? _defaultInstance; @$pb.TagNumber(1) @@ -147,15 +177,35 @@ class SimpleValue extends $pb.GeneratedMessage { class AssetValue extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'AssetValue', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'AssetValue', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, ) - ..aOS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'code') - ..aOS(2, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'quantity') - ..aOS(3, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'securityRoot') - ..aOS(4, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'metadata') + ..aOS( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'code') + ..aOS( + 2, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'quantity') + ..aOS( + 3, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'securityRoot') + ..aOS( + 4, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'metadata') ..hasRequiredFields = false; AssetValue._() : super(); @@ -180,9 +230,11 @@ class AssetValue extends $pb.GeneratedMessage { } return _result; } - factory AssetValue.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory AssetValue.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); - factory AssetValue.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory AssetValue.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -196,14 +248,16 @@ class AssetValue extends $pb.GeneratedMessage { 'Will be removed in next major version', ) AssetValue copyWith(void Function(AssetValue) updates) => - super.copyWith((message) => updates(message as AssetValue)) as AssetValue; // ignore: deprecated_member_use + super.copyWith((message) => updates(message as AssetValue)) + as AssetValue; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static AssetValue create() => AssetValue._(); AssetValue createEmptyInstance() => create(); static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static AssetValue getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static AssetValue getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static AssetValue? _defaultInstance; @$pb.TagNumber(1) @@ -264,20 +318,28 @@ class TokenValue extends $pb.GeneratedMessage { 0: TokenValue_Value.notSet }; static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'TokenValue', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'TokenValue', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, ) ..oo(0, [1, 2]) ..aOM( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'simple', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'simple', subBuilder: SimpleValue.create, ) ..aOM( 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'asset', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'asset', subBuilder: AssetValue.create, ) ..hasRequiredFields = false; @@ -296,9 +358,11 @@ class TokenValue extends $pb.GeneratedMessage { } return _result; } - factory TokenValue.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory TokenValue.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); - factory TokenValue.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory TokenValue.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -312,14 +376,16 @@ class TokenValue extends $pb.GeneratedMessage { 'Will be removed in next major version', ) TokenValue copyWith(void Function(TokenValue) updates) => - super.copyWith((message) => updates(message as TokenValue)) as TokenValue; // ignore: deprecated_member_use + super.copyWith((message) => updates(message as TokenValue)) + as TokenValue; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static TokenValue create() => TokenValue._(); TokenValue createEmptyInstance() => create(); static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static TokenValue getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TokenValue getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static TokenValue? _defaultInstance; TokenValue_Value whichValue() => _TokenValue_ValueByTag[$_whichOneof(0)]!; @@ -356,18 +422,40 @@ class TokenValue extends $pb.GeneratedMessage { class TokenBox extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'TokenBox', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'TokenBox', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, ) - ..aOS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'boxType') - ..aOS(2, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'id') - ..aOS(3, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'nonce') - ..aOS(4, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'evidence') + ..aOS( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'boxType') + ..aOS( + 2, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'id') + ..aOS( + 3, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'nonce') + ..aOS( + 4, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'evidence') ..aOM( 5, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'value', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'value', subBuilder: TokenValue.create, ) ..hasRequiredFields = false; @@ -398,9 +486,11 @@ class TokenBox extends $pb.GeneratedMessage { } return _result; } - factory TokenBox.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory TokenBox.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); - factory TokenBox.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory TokenBox.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -414,14 +504,16 @@ class TokenBox extends $pb.GeneratedMessage { 'Will be removed in next major version', ) TokenBox copyWith(void Function(TokenBox) updates) => - super.copyWith((message) => updates(message as TokenBox)) as TokenBox; // ignore: deprecated_member_use + super.copyWith((message) => updates(message as TokenBox)) + as TokenBox; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static TokenBox create() => TokenBox._(); TokenBox createEmptyInstance() => create(); static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static TokenBox getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TokenBox getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static TokenBox? _defaultInstance; @$pb.TagNumber(1) @@ -489,13 +581,25 @@ class TokenBox extends $pb.GeneratedMessage { class InputBox extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'InputBox', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'InputBox', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, ) - ..aOS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'address') - ..aOS(2, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'nonce') + ..aOS( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'address') + ..aOS( + 2, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'nonce') ..hasRequiredFields = false; InputBox._() : super(); @@ -512,9 +616,11 @@ class InputBox extends $pb.GeneratedMessage { } return _result; } - factory InputBox.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory InputBox.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); - factory InputBox.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory InputBox.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -528,14 +634,16 @@ class InputBox extends $pb.GeneratedMessage { 'Will be removed in next major version', ) InputBox copyWith(void Function(InputBox) updates) => - super.copyWith((message) => updates(message as InputBox)) as InputBox; // ignore: deprecated_member_use + super.copyWith((message) => updates(message as InputBox)) + as InputBox; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static InputBox create() => InputBox._(); InputBox createEmptyInstance() => create(); static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static InputBox getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static InputBox getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static InputBox? _defaultInstance; @$pb.TagNumber(1) @@ -565,15 +673,25 @@ class InputBox extends $pb.GeneratedMessage { class OutputBox extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'OutputBox', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'OutputBox', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, ) - ..aOS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'address') + ..aOS( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'address') ..aOM( 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'value', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'value', subBuilder: TokenValue.create, ) ..hasRequiredFields = false; @@ -592,9 +710,11 @@ class OutputBox extends $pb.GeneratedMessage { } return _result; } - factory OutputBox.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory OutputBox.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); - factory OutputBox.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory OutputBox.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -608,14 +728,16 @@ class OutputBox extends $pb.GeneratedMessage { 'Will be removed in next major version', ) OutputBox copyWith(void Function(OutputBox) updates) => - super.copyWith((message) => updates(message as OutputBox)) as OutputBox; // ignore: deprecated_member_use + super.copyWith((message) => updates(message as OutputBox)) + as OutputBox; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static OutputBox create() => OutputBox._(); OutputBox createEmptyInstance() => create(); static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static OutputBox getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static OutputBox getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static OutputBox? _defaultInstance; @$pb.TagNumber(1) @@ -647,14 +769,20 @@ class OutputBox extends $pb.GeneratedMessage { class BlockHeight extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'BlockHeight', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'BlockHeight', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, ) ..a<$fixnum.Int64>( 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'value', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'value', $pb.PbFieldType.OU6, defaultOrMaker: $fixnum.Int64.ZERO, ) @@ -670,9 +798,11 @@ class BlockHeight extends $pb.GeneratedMessage { } return _result; } - factory BlockHeight.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory BlockHeight.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); - factory BlockHeight.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory BlockHeight.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -686,14 +816,16 @@ class BlockHeight extends $pb.GeneratedMessage { 'Will be removed in next major version', ) BlockHeight copyWith(void Function(BlockHeight) updates) => - super.copyWith((message) => updates(message as BlockHeight)) as BlockHeight; // ignore: deprecated_member_use + super.copyWith((message) => updates(message as BlockHeight)) + as BlockHeight; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static BlockHeight create() => BlockHeight._(); BlockHeight createEmptyInstance() => create(); static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static BlockHeight getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static BlockHeight getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static BlockHeight? _defaultInstance; @$pb.TagNumber(1) @@ -711,47 +843,97 @@ class BlockHeight extends $pb.GeneratedMessage { class Transaction extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'Transaction', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'Transaction', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, ) - ..aOS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'txType') - ..aOS(2, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'timestamp') + ..aOS( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'txType') + ..aOS( + 2, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'timestamp') ..pc( 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'signatures', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'signatures', $pb.PbFieldType.PM, subBuilder: Attestation.create, ) ..pc( 4, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'newBoxes', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'newBoxes', $pb.PbFieldType.PM, subBuilder: TokenBox.create, ) - ..aOS(5, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'data') + ..aOS( + 5, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'data') ..pc( 6, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'inputs', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'inputs', $pb.PbFieldType.PM, subBuilder: InputBox.create, ) - ..aOB(7, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'minting') - ..aOS(8, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'txId') - ..pPS(9, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'boxesToRemove') - ..aOS(10, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'fee') + ..aOB( + 7, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'minting') + ..aOS( + 8, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'txId') + ..pPS( + 9, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'boxesToRemove') + ..aOS( + 10, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'fee') ..pc( 11, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'outputs', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'outputs', $pb.PbFieldType.PM, subBuilder: OutputBox.create, ) - ..aOS(12, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'propositionType') - ..aOS(13, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'blockId') + ..aOS( + 12, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'propositionType') + ..aOS( + 13, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'blockId') ..a<$fixnum.Int64>( 14, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'blockHeight', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'blockHeight', $pb.PbFieldType.OU6, defaultOrMaker: $fixnum.Int64.ZERO, ) @@ -819,9 +1001,11 @@ class Transaction extends $pb.GeneratedMessage { } return _result; } - factory Transaction.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory Transaction.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); - factory Transaction.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory Transaction.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -835,14 +1019,16 @@ class Transaction extends $pb.GeneratedMessage { 'Will be removed in next major version', ) Transaction copyWith(void Function(Transaction) updates) => - super.copyWith((message) => updates(message as Transaction)) as Transaction; // ignore: deprecated_member_use + super.copyWith((message) => updates(message as Transaction)) + as Transaction; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static Transaction create() => Transaction._(); Transaction createEmptyInstance() => create(); static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static Transaction getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Transaction getDefault() => _defaultInstance ??= + $pb.GeneratedMessage.$_defaultFor(create); static Transaction? _defaultInstance; @$pb.TagNumber(1) @@ -971,38 +1157,82 @@ class Transaction extends $pb.GeneratedMessage { class Block extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'Block', - package: - const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'co.topl.genus'), + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'Block', + package: const $pb.PackageName( + const $core.bool.fromEnvironment('protobuf.omit_message_names') + ? '' + : 'co.topl.genus'), createEmptyInstance: create, ) - ..aOS(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'id') - ..aOS(2, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'parentId') - ..aOS(3, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'timestamp') + ..aOS( + 1, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'id') + ..aOS( + 2, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'parentId') + ..aOS( + 3, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'timestamp') ..aOM( 4, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'generator', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'generator', subBuilder: TokenBox.create, ) - ..aOS(5, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'publicKey') - ..aOS(6, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'signature') + ..aOS( + 5, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'publicKey') + ..aOS( + 6, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'signature') ..a<$fixnum.Int64>( 7, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'height', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'height', $pb.PbFieldType.OU6, defaultOrMaker: $fixnum.Int64.ZERO, ) - ..aOS(8, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'difficulty') - ..aOS(9, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'txRoot') - ..aOS(10, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'bloomFilter') + ..aOS( + 8, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'difficulty') + ..aOS( + 9, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'txRoot') + ..aOS( + 10, + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'bloomFilter') ..a<$core.int>( 11, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'version', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'version', $pb.PbFieldType.OU3, ) ..a<$core.int>( 12, - const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'numTransactions', + const $core.bool.fromEnvironment('protobuf.omit_field_names') + ? '' + : 'numTransactions', $pb.PbFieldType.OU3, ) ..hasRequiredFields = false; @@ -1061,9 +1291,11 @@ class Block extends $pb.GeneratedMessage { } return _result; } - factory Block.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory Block.fromBuffer($core.List<$core.int> i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); - factory Block.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory Block.fromJson($core.String i, + [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' @@ -1077,14 +1309,16 @@ class Block extends $pb.GeneratedMessage { 'Will be removed in next major version', ) Block copyWith(void Function(Block) updates) => - super.copyWith((message) => updates(message as Block)) as Block; // ignore: deprecated_member_use + super.copyWith((message) => updates(message as Block)) + as Block; // ignore: deprecated_member_use $pb.BuilderInfo get info_ => _i; @$core.pragma('dart2js:noInline') static Block create() => Block._(); Block createEmptyInstance() => create(); static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static Block getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Block getDefault() => + _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static Block? _defaultInstance; @$pb.TagNumber(1) diff --git a/lib/genus/generated/types.pbenum.dart b/lib/genus/generated/types.pbenum.dart index 8ed9e20b..aac01541 100644 --- a/lib/genus/generated/types.pbenum.dart +++ b/lib/genus/generated/types.pbenum.dart @@ -4,4 +4,3 @@ // // @dart = 2.12 // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name - diff --git a/lib/genus/generated/types.pbjson.dart b/lib/genus/generated/types.pbjson.dart index 970a3c71..a38926d3 100644 --- a/lib/genus/generated/types.pbjson.dart +++ b/lib/genus/generated/types.pbjson.dart @@ -5,9 +5,11 @@ // @dart = 2.12 // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,deprecated_member_use_from_same_package,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name -import 'dart:core' as $core; +// Dart imports: import 'dart:convert' as $convert; +import 'dart:core' as $core; import 'dart:typed_data' as $typed_data; + @$core.Deprecated('Use attestationDescriptor instead') const Attestation$json = const { '1': 'Attestation', @@ -18,7 +20,8 @@ const Attestation$json = const { }; /// Descriptor for `Attestation`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List attestationDescriptor = $convert.base64Decode('CgtBdHRlc3RhdGlvbhIdCgpwdWJsaWNfa2V5GAEgASgJUglwdWJsaWNLZXkSHAoJc2lnbmF0dXJlGAIgASgJUglzaWduYXR1cmU='); +final $typed_data.Uint8List attestationDescriptor = $convert.base64Decode( + 'CgtBdHRlc3RhdGlvbhIdCgpwdWJsaWNfa2V5GAEgASgJUglwdWJsaWNLZXkSHAoJc2lnbmF0dXJlGAIgASgJUglzaWduYXR1cmU='); @$core.Deprecated('Use simpleValueDescriptor instead') const SimpleValue$json = const { '1': 'SimpleValue', @@ -28,7 +31,8 @@ const SimpleValue$json = const { }; /// Descriptor for `SimpleValue`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List simpleValueDescriptor = $convert.base64Decode('CgtTaW1wbGVWYWx1ZRIaCghxdWFudGl0eRgBIAEoCVIIcXVhbnRpdHk='); +final $typed_data.Uint8List simpleValueDescriptor = $convert + .base64Decode('CgtTaW1wbGVWYWx1ZRIaCghxdWFudGl0eRgBIAEoCVIIcXVhbnRpdHk='); @$core.Deprecated('Use assetValueDescriptor instead') const AssetValue$json = const { '1': 'AssetValue', @@ -41,13 +45,30 @@ const AssetValue$json = const { }; /// Descriptor for `AssetValue`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List assetValueDescriptor = $convert.base64Decode('CgpBc3NldFZhbHVlEhIKBGNvZGUYASABKAlSBGNvZGUSGgoIcXVhbnRpdHkYAiABKAlSCHF1YW50aXR5EiMKDXNlY3VyaXR5X3Jvb3QYAyABKAlSDHNlY3VyaXR5Um9vdBIaCghtZXRhZGF0YRgEIAEoCVIIbWV0YWRhdGE='); +final $typed_data.Uint8List assetValueDescriptor = $convert.base64Decode( + 'CgpBc3NldFZhbHVlEhIKBGNvZGUYASABKAlSBGNvZGUSGgoIcXVhbnRpdHkYAiABKAlSCHF1YW50aXR5EiMKDXNlY3VyaXR5X3Jvb3QYAyABKAlSDHNlY3VyaXR5Um9vdBIaCghtZXRhZGF0YRgEIAEoCVIIbWV0YWRhdGE='); @$core.Deprecated('Use tokenValueDescriptor instead') const TokenValue$json = const { '1': 'TokenValue', '2': const [ - const {'1': 'simple', '3': 1, '4': 1, '5': 11, '6': '.co.topl.genus.SimpleValue', '9': 0, '10': 'simple'}, - const {'1': 'asset', '3': 2, '4': 1, '5': 11, '6': '.co.topl.genus.AssetValue', '9': 0, '10': 'asset'}, + const { + '1': 'simple', + '3': 1, + '4': 1, + '5': 11, + '6': '.co.topl.genus.SimpleValue', + '9': 0, + '10': 'simple' + }, + const { + '1': 'asset', + '3': 2, + '4': 1, + '5': 11, + '6': '.co.topl.genus.AssetValue', + '9': 0, + '10': 'asset' + }, ], '8': const [ const {'1': 'value'}, @@ -55,7 +76,8 @@ const TokenValue$json = const { }; /// Descriptor for `TokenValue`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List tokenValueDescriptor = $convert.base64Decode('CgpUb2tlblZhbHVlEjQKBnNpbXBsZRgBIAEoCzIaLmNvLnRvcGwuZ2VudXMuU2ltcGxlVmFsdWVIAFIGc2ltcGxlEjEKBWFzc2V0GAIgASgLMhkuY28udG9wbC5nZW51cy5Bc3NldFZhbHVlSABSBWFzc2V0QgcKBXZhbHVl'); +final $typed_data.Uint8List tokenValueDescriptor = $convert.base64Decode( + 'CgpUb2tlblZhbHVlEjQKBnNpbXBsZRgBIAEoCzIaLmNvLnRvcGwuZ2VudXMuU2ltcGxlVmFsdWVIAFIGc2ltcGxlEjEKBWFzc2V0GAIgASgLMhkuY28udG9wbC5nZW51cy5Bc3NldFZhbHVlSABSBWFzc2V0QgcKBXZhbHVl'); @$core.Deprecated('Use tokenBoxDescriptor instead') const TokenBox$json = const { '1': 'TokenBox', @@ -64,12 +86,20 @@ const TokenBox$json = const { const {'1': 'id', '3': 2, '4': 1, '5': 9, '10': 'id'}, const {'1': 'nonce', '3': 3, '4': 1, '5': 9, '10': 'nonce'}, const {'1': 'evidence', '3': 4, '4': 1, '5': 9, '10': 'evidence'}, - const {'1': 'value', '3': 5, '4': 1, '5': 11, '6': '.co.topl.genus.TokenValue', '10': 'value'}, + const { + '1': 'value', + '3': 5, + '4': 1, + '5': 11, + '6': '.co.topl.genus.TokenValue', + '10': 'value' + }, ], }; /// Descriptor for `TokenBox`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List tokenBoxDescriptor = $convert.base64Decode('CghUb2tlbkJveBIZCghib3hfdHlwZRgBIAEoCVIHYm94VHlwZRIOCgJpZBgCIAEoCVICaWQSFAoFbm9uY2UYAyABKAlSBW5vbmNlEhoKCGV2aWRlbmNlGAQgASgJUghldmlkZW5jZRIvCgV2YWx1ZRgFIAEoCzIZLmNvLnRvcGwuZ2VudXMuVG9rZW5WYWx1ZVIFdmFsdWU='); +final $typed_data.Uint8List tokenBoxDescriptor = $convert.base64Decode( + 'CghUb2tlbkJveBIZCghib3hfdHlwZRgBIAEoCVIHYm94VHlwZRIOCgJpZBgCIAEoCVICaWQSFAoFbm9uY2UYAyABKAlSBW5vbmNlEhoKCGV2aWRlbmNlGAQgASgJUghldmlkZW5jZRIvCgV2YWx1ZRgFIAEoCzIZLmNvLnRvcGwuZ2VudXMuVG9rZW5WYWx1ZVIFdmFsdWU='); @$core.Deprecated('Use inputBoxDescriptor instead') const InputBox$json = const { '1': 'InputBox', @@ -80,18 +110,27 @@ const InputBox$json = const { }; /// Descriptor for `InputBox`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List inputBoxDescriptor = $convert.base64Decode('CghJbnB1dEJveBIYCgdhZGRyZXNzGAEgASgJUgdhZGRyZXNzEhQKBW5vbmNlGAIgASgJUgVub25jZQ=='); +final $typed_data.Uint8List inputBoxDescriptor = $convert.base64Decode( + 'CghJbnB1dEJveBIYCgdhZGRyZXNzGAEgASgJUgdhZGRyZXNzEhQKBW5vbmNlGAIgASgJUgVub25jZQ=='); @$core.Deprecated('Use outputBoxDescriptor instead') const OutputBox$json = const { '1': 'OutputBox', '2': const [ const {'1': 'address', '3': 1, '4': 1, '5': 9, '10': 'address'}, - const {'1': 'value', '3': 2, '4': 1, '5': 11, '6': '.co.topl.genus.TokenValue', '10': 'value'}, + const { + '1': 'value', + '3': 2, + '4': 1, + '5': 11, + '6': '.co.topl.genus.TokenValue', + '10': 'value' + }, ], }; /// Descriptor for `OutputBox`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List outputBoxDescriptor = $convert.base64Decode('CglPdXRwdXRCb3gSGAoHYWRkcmVzcxgBIAEoCVIHYWRkcmVzcxIvCgV2YWx1ZRgCIAEoCzIZLmNvLnRvcGwuZ2VudXMuVG9rZW5WYWx1ZVIFdmFsdWU='); +final $typed_data.Uint8List outputBoxDescriptor = $convert.base64Decode( + 'CglPdXRwdXRCb3gSGAoHYWRkcmVzcxgBIAEoCVIHYWRkcmVzcxIvCgV2YWx1ZRgCIAEoCzIZLmNvLnRvcGwuZ2VudXMuVG9rZW5WYWx1ZVIFdmFsdWU='); @$core.Deprecated('Use blockHeightDescriptor instead') const BlockHeight$json = const { '1': 'BlockHeight', @@ -101,30 +140,72 @@ const BlockHeight$json = const { }; /// Descriptor for `BlockHeight`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List blockHeightDescriptor = $convert.base64Decode('CgtCbG9ja0hlaWdodBIUCgV2YWx1ZRgBIAEoBFIFdmFsdWU='); +final $typed_data.Uint8List blockHeightDescriptor = + $convert.base64Decode('CgtCbG9ja0hlaWdodBIUCgV2YWx1ZRgBIAEoBFIFdmFsdWU='); @$core.Deprecated('Use transactionDescriptor instead') const Transaction$json = const { '1': 'Transaction', '2': const [ const {'1': 'tx_type', '3': 1, '4': 1, '5': 9, '10': 'txType'}, const {'1': 'timestamp', '3': 2, '4': 1, '5': 9, '10': 'timestamp'}, - const {'1': 'signatures', '3': 3, '4': 3, '5': 11, '6': '.co.topl.genus.Attestation', '10': 'signatures'}, - const {'1': 'new_boxes', '3': 4, '4': 3, '5': 11, '6': '.co.topl.genus.TokenBox', '10': 'newBoxes'}, + const { + '1': 'signatures', + '3': 3, + '4': 3, + '5': 11, + '6': '.co.topl.genus.Attestation', + '10': 'signatures' + }, + const { + '1': 'new_boxes', + '3': 4, + '4': 3, + '5': 11, + '6': '.co.topl.genus.TokenBox', + '10': 'newBoxes' + }, const {'1': 'data', '3': 5, '4': 1, '5': 9, '10': 'data'}, - const {'1': 'inputs', '3': 6, '4': 3, '5': 11, '6': '.co.topl.genus.InputBox', '10': 'inputs'}, + const { + '1': 'inputs', + '3': 6, + '4': 3, + '5': 11, + '6': '.co.topl.genus.InputBox', + '10': 'inputs' + }, const {'1': 'minting', '3': 7, '4': 1, '5': 8, '10': 'minting'}, const {'1': 'tx_id', '3': 8, '4': 1, '5': 9, '10': 'txId'}, - const {'1': 'boxes_to_remove', '3': 9, '4': 3, '5': 9, '10': 'boxesToRemove'}, + const { + '1': 'boxes_to_remove', + '3': 9, + '4': 3, + '5': 9, + '10': 'boxesToRemove' + }, const {'1': 'fee', '3': 10, '4': 1, '5': 9, '10': 'fee'}, - const {'1': 'outputs', '3': 11, '4': 3, '5': 11, '6': '.co.topl.genus.OutputBox', '10': 'outputs'}, - const {'1': 'proposition_type', '3': 12, '4': 1, '5': 9, '10': 'propositionType'}, + const { + '1': 'outputs', + '3': 11, + '4': 3, + '5': 11, + '6': '.co.topl.genus.OutputBox', + '10': 'outputs' + }, + const { + '1': 'proposition_type', + '3': 12, + '4': 1, + '5': 9, + '10': 'propositionType' + }, const {'1': 'block_id', '3': 13, '4': 1, '5': 9, '10': 'blockId'}, const {'1': 'block_height', '3': 14, '4': 1, '5': 4, '10': 'blockHeight'}, ], }; /// Descriptor for `Transaction`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List transactionDescriptor = $convert.base64Decode('CgtUcmFuc2FjdGlvbhIXCgd0eF90eXBlGAEgASgJUgZ0eFR5cGUSHAoJdGltZXN0YW1wGAIgASgJUgl0aW1lc3RhbXASOgoKc2lnbmF0dXJlcxgDIAMoCzIaLmNvLnRvcGwuZ2VudXMuQXR0ZXN0YXRpb25SCnNpZ25hdHVyZXMSNAoJbmV3X2JveGVzGAQgAygLMhcuY28udG9wbC5nZW51cy5Ub2tlbkJveFIIbmV3Qm94ZXMSEgoEZGF0YRgFIAEoCVIEZGF0YRIvCgZpbnB1dHMYBiADKAsyFy5jby50b3BsLmdlbnVzLklucHV0Qm94UgZpbnB1dHMSGAoHbWludGluZxgHIAEoCFIHbWludGluZxITCgV0eF9pZBgIIAEoCVIEdHhJZBImCg9ib3hlc190b19yZW1vdmUYCSADKAlSDWJveGVzVG9SZW1vdmUSEAoDZmVlGAogASgJUgNmZWUSMgoHb3V0cHV0cxgLIAMoCzIYLmNvLnRvcGwuZ2VudXMuT3V0cHV0Qm94UgdvdXRwdXRzEikKEHByb3Bvc2l0aW9uX3R5cGUYDCABKAlSD3Byb3Bvc2l0aW9uVHlwZRIZCghibG9ja19pZBgNIAEoCVIHYmxvY2tJZBIhCgxibG9ja19oZWlnaHQYDiABKARSC2Jsb2NrSGVpZ2h0'); +final $typed_data.Uint8List transactionDescriptor = $convert.base64Decode( + 'CgtUcmFuc2FjdGlvbhIXCgd0eF90eXBlGAEgASgJUgZ0eFR5cGUSHAoJdGltZXN0YW1wGAIgASgJUgl0aW1lc3RhbXASOgoKc2lnbmF0dXJlcxgDIAMoCzIaLmNvLnRvcGwuZ2VudXMuQXR0ZXN0YXRpb25SCnNpZ25hdHVyZXMSNAoJbmV3X2JveGVzGAQgAygLMhcuY28udG9wbC5nZW51cy5Ub2tlbkJveFIIbmV3Qm94ZXMSEgoEZGF0YRgFIAEoCVIEZGF0YRIvCgZpbnB1dHMYBiADKAsyFy5jby50b3BsLmdlbnVzLklucHV0Qm94UgZpbnB1dHMSGAoHbWludGluZxgHIAEoCFIHbWludGluZxITCgV0eF9pZBgIIAEoCVIEdHhJZBImCg9ib3hlc190b19yZW1vdmUYCSADKAlSDWJveGVzVG9SZW1vdmUSEAoDZmVlGAogASgJUgNmZWUSMgoHb3V0cHV0cxgLIAMoCzIYLmNvLnRvcGwuZ2VudXMuT3V0cHV0Qm94UgdvdXRwdXRzEikKEHByb3Bvc2l0aW9uX3R5cGUYDCABKAlSD3Byb3Bvc2l0aW9uVHlwZRIZCghibG9ja19pZBgNIAEoCVIHYmxvY2tJZBIhCgxibG9ja19oZWlnaHQYDiABKARSC2Jsb2NrSGVpZ2h0'); @$core.Deprecated('Use blockDescriptor instead') const Block$json = const { '1': 'Block', @@ -132,7 +213,14 @@ const Block$json = const { const {'1': 'id', '3': 1, '4': 1, '5': 9, '10': 'id'}, const {'1': 'parent_id', '3': 2, '4': 1, '5': 9, '10': 'parentId'}, const {'1': 'timestamp', '3': 3, '4': 1, '5': 9, '10': 'timestamp'}, - const {'1': 'generator', '3': 4, '4': 1, '5': 11, '6': '.co.topl.genus.TokenBox', '10': 'generator'}, + const { + '1': 'generator', + '3': 4, + '4': 1, + '5': 11, + '6': '.co.topl.genus.TokenBox', + '10': 'generator' + }, const {'1': 'public_key', '3': 5, '4': 1, '5': 9, '10': 'publicKey'}, const {'1': 'signature', '3': 6, '4': 1, '5': 9, '10': 'signature'}, const {'1': 'height', '3': 7, '4': 1, '5': 4, '10': 'height'}, @@ -140,9 +228,16 @@ const Block$json = const { const {'1': 'tx_root', '3': 9, '4': 1, '5': 9, '10': 'txRoot'}, const {'1': 'bloom_filter', '3': 10, '4': 1, '5': 9, '10': 'bloomFilter'}, const {'1': 'version', '3': 11, '4': 1, '5': 13, '10': 'version'}, - const {'1': 'num_transactions', '3': 12, '4': 1, '5': 13, '10': 'numTransactions'}, + const { + '1': 'num_transactions', + '3': 12, + '4': 1, + '5': 13, + '10': 'numTransactions' + }, ], }; /// Descriptor for `Block`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List blockDescriptor = $convert.base64Decode('CgVCbG9jaxIOCgJpZBgBIAEoCVICaWQSGwoJcGFyZW50X2lkGAIgASgJUghwYXJlbnRJZBIcCgl0aW1lc3RhbXAYAyABKAlSCXRpbWVzdGFtcBI1CglnZW5lcmF0b3IYBCABKAsyFy5jby50b3BsLmdlbnVzLlRva2VuQm94UglnZW5lcmF0b3ISHQoKcHVibGljX2tleRgFIAEoCVIJcHVibGljS2V5EhwKCXNpZ25hdHVyZRgGIAEoCVIJc2lnbmF0dXJlEhYKBmhlaWdodBgHIAEoBFIGaGVpZ2h0Eh4KCmRpZmZpY3VsdHkYCCABKAlSCmRpZmZpY3VsdHkSFwoHdHhfcm9vdBgJIAEoCVIGdHhSb290EiEKDGJsb29tX2ZpbHRlchgKIAEoCVILYmxvb21GaWx0ZXISGAoHdmVyc2lvbhgLIAEoDVIHdmVyc2lvbhIpChBudW1fdHJhbnNhY3Rpb25zGAwgASgNUg9udW1UcmFuc2FjdGlvbnM='); +final $typed_data.Uint8List blockDescriptor = $convert.base64Decode( + 'CgVCbG9jaxIOCgJpZBgBIAEoCVICaWQSGwoJcGFyZW50X2lkGAIgASgJUghwYXJlbnRJZBIcCgl0aW1lc3RhbXAYAyABKAlSCXRpbWVzdGFtcBI1CglnZW5lcmF0b3IYBCABKAsyFy5jby50b3BsLmdlbnVzLlRva2VuQm94UglnZW5lcmF0b3ISHQoKcHVibGljX2tleRgFIAEoCVIJcHVibGljS2V5EhwKCXNpZ25hdHVyZRgGIAEoCVIJc2lnbmF0dXJlEhYKBmhlaWdodBgHIAEoBFIGaGVpZ2h0Eh4KCmRpZmZpY3VsdHkYCCABKAlSCmRpZmZpY3VsdHkSFwoHdHhfcm9vdBgJIAEoCVIGdHhSb290EiEKDGJsb29tX2ZpbHRlchgKIAEoCVILYmxvb21GaWx0ZXISGAoHdmVyc2lvbhgLIAEoDVIHdmVyc2lvbhIpChBudW1fdHJhbnNhY3Rpb25zGAwgASgNUg9udW1UcmFuc2FjdGlvbnM='); diff --git a/lib/helpers/helper_functions.dart b/lib/helpers/helper_functions.dart index 7dbe08b9..d3c7b040 100644 --- a/lib/helpers/helper_functions.dart +++ b/lib/helpers/helper_functions.dart @@ -1,6 +1,11 @@ +// Flutter imports: +import 'package:flutter/cupertino.dart'; + +// Package imports: import 'package:brambldart/credentials.dart'; import 'package:brambldart/model.dart'; -import 'package:flutter/cupertino.dart'; + +// Project imports: import '../containers/transaction_history_container.dart'; /// @dev Function fetches all transactions diff --git a/lib/js_workers/generate_keystore_worker.dart b/lib/js_workers/generate_keystore_worker.dart index 7709f1a7..d2e4008f 100644 --- a/lib/js_workers/generate_keystore_worker.dart +++ b/lib/js_workers/generate_keystore_worker.dart @@ -3,10 +3,14 @@ @JS() library sample; +// Dart imports: import 'dart:convert'; import 'dart:html'; +// Package imports: import 'package:js/js.dart'; + +// Project imports: import 'package:ribn/repositories/onboarding_repository.dart'; @JS('self') @@ -21,7 +25,8 @@ external DedicatedWorkerGlobalScope get self; void main() { self.onMessage.listen((e) { final Map params = jsonDecode(e.data); - final Map results = const OnboardingRespository().generateKeyStore({ + final Map results = + const OnboardingRespository().generateKeyStore({ 'mnemonic': params['mnemonic'], 'password': params['password'], }); diff --git a/lib/js_workers/login_worker.dart b/lib/js_workers/login_worker.dart index 63242a20..5815b1db 100644 --- a/lib/js_workers/login_worker.dart +++ b/lib/js_workers/login_worker.dart @@ -3,11 +3,15 @@ @JS() library sample; +// Dart imports: import 'dart:convert'; import 'dart:html'; import 'dart:typed_data'; +// Package imports: import 'package:js/js.dart'; + +// Project imports: import 'package:ribn/repositories/login_repository.dart'; @JS('self') @@ -22,7 +26,8 @@ external DedicatedWorkerGlobalScope get self; void main() { self.onMessage.listen((e) { final Map params = jsonDecode(e.data); - final Uint8List toplExtendedPrvKeyUint8List = const LoginRepository().decryptKeyStore( + final Uint8List toplExtendedPrvKeyUint8List = + const LoginRepository().decryptKeyStore( { 'keyStoreJson': params['keyStoreJson'] as String, 'password': params['password'] as String, diff --git a/lib/main.dart b/lib/main.dart index 5ff882ef..bf756c3d 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,9 +1,16 @@ +// Dart imports: import 'dart:async'; import 'dart:convert'; + +// Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: import 'package:flutter_portal/flutter_portal.dart'; import 'package:flutter_redux/flutter_redux.dart'; import 'package:redux/redux.dart'; + +// Project imports: import 'package:ribn/actions/internal_message_actions.dart'; import 'package:ribn/constants/keys.dart'; import 'package:ribn/constants/routes.dart'; @@ -11,7 +18,6 @@ import 'package:ribn/constants/rules.dart'; import 'package:ribn/models/app_state.dart'; import 'package:ribn/models/internal_message.dart'; import 'package:ribn/platform/platform.dart'; -// import 'package:ribn/platform/web/wallet.dart'; import 'package:ribn/presentation/authorize_and_sign/connect_dapp.dart'; import 'package:ribn/presentation/authorize_and_sign/review_and_sign.dart'; import 'package:ribn/presentation/enable_page.dart'; @@ -23,6 +29,8 @@ import 'package:ribn/presentation/transaction_history/service_locator/locator.da import 'package:ribn/redux.dart'; import 'package:ribn/router/root_router.dart'; +// import 'package:ribn/platform/web/wallet.dart'; + void main() async { WidgetsFlutterBinding.ensureInitialized(); await Redux.initStore(initTestStore: false); @@ -84,11 +92,10 @@ String getInitialRoute(Store store) { //v2 else if (store.state.internalMessage?.method == InternalMethods.authorize) { return Routes.connectDApp; - } - else if (store.state.internalMessage?.method == InternalMethods.getBalance) { + } else if (store.state.internalMessage?.method == + InternalMethods.getBalance) { return Routes.reviewAndSignDApp; - } - else if (store.state.internalMessage?.method == + } else if (store.state.internalMessage?.method == InternalMethods.signTransaction) { return Routes.reviewAndSignDApp; } diff --git a/lib/middlewares/app_middleware.dart b/lib/middlewares/app_middleware.dart index 46c78ad6..13328930 100644 --- a/lib/middlewares/app_middleware.dart +++ b/lib/middlewares/app_middleware.dart @@ -1,5 +1,8 @@ +// Package imports: import 'package:redux/redux.dart'; import 'package:redux_epics/redux_epics.dart'; + +// Project imports: import 'package:ribn/middlewares/epic_middleware.dart'; import 'package:ribn/middlewares/internal_message_middleware.dart'; import 'package:ribn/middlewares/keychain_middleware.dart'; diff --git a/lib/middlewares/epic_middleware.dart b/lib/middlewares/epic_middleware.dart index 98ed1cd7..26a4e42f 100644 --- a/lib/middlewares/epic_middleware.dart +++ b/lib/middlewares/epic_middleware.dart @@ -1,5 +1,11 @@ +// Flutter imports: import 'package:flutter/foundation.dart'; + +// Package imports: import 'package:redux_epics/redux_epics.dart'; +import 'package:rxdart/rxdart.dart'; + +// Project imports: import 'package:ribn/actions/keychain_actions.dart'; import 'package:ribn/actions/misc_actions.dart'; import 'package:ribn/actions/restore_wallet_actions.dart'; @@ -9,14 +15,15 @@ import 'package:ribn/constants/routes.dart'; import 'package:ribn/models/app_state.dart'; import 'package:ribn/repositories/misc_repository.dart'; import 'package:ribn/utils.dart'; -import 'package:rxdart/rxdart.dart'; -Epic createEpicMiddleware(MiscRepository miscRepo) => combineEpics([ +Epic createEpicMiddleware(MiscRepository miscRepo) => + combineEpics([ _persistenceTriggerEpic(), TypedEpic(_onApiError()), TypedEpic(_onPersistAppState(miscRepo)), TypedEpic(_onNavigateToRoute()), - TypedEpic(_onSuccessfullyRestoredWallet(miscRepo)), + TypedEpic( + _onSuccessfullyRestoredWallet(miscRepo)), ]); /// A list of all the actions that should trigger appState persistence @@ -29,7 +36,8 @@ const List persistenceTriggers = [ ]; /// If an action that exists in the list [persistenceTriggers] is received, this epic emits the [PersistAppState] action. -Epic _persistenceTriggerEpic() => (Stream actions, EpicStore store) { +Epic _persistenceTriggerEpic() => + (Stream actions, EpicStore store) { return actions .where((action) => (persistenceTriggers.contains(action.runtimeType))) .switchMap((action) => Stream.value(PersistAppState())); @@ -51,16 +59,19 @@ Epic _persistenceTriggerEpic() => (Stream actions, EpicStore< // }; /// Redirects to [Routes.error] whenever [ApiErrorAction] is received. -Stream Function(Stream, EpicStore) _onApiError() { +Stream Function(Stream, EpicStore) + _onApiError() { return (actions, store) { - return actions.switchMap((action) => Stream.value(NavigateToRoute(Routes.error, arguments: action.errorMessage))); + return actions.switchMap((action) => Stream.value( + NavigateToRoute(Routes.error, arguments: action.errorMessage))); }; } /// Handles [PersistAppState] action. /// /// Persists the current [AppState] to local storage. -Stream Function(Stream, EpicStore) _onPersistAppState(MiscRepository miscRepo) { +Stream Function(Stream, EpicStore) + _onPersistAppState(MiscRepository miscRepo) { return (actions, store) { return actions.whereType().switchMap( (action) { @@ -71,7 +82,8 @@ Stream Function(Stream, EpicStore) _onPersis await miscRepo.persistAppState(store.state.toJson()); } } catch (e) { - return ApiErrorAction('Failed to persist state. Error: ${e.toString()}'); + return ApiErrorAction( + 'Failed to persist state. Error: ${e.toString()}'); } } @@ -84,11 +96,13 @@ Stream Function(Stream, EpicStore) _onPersis /// Handles [NavigateToRoute] by pushing [action.route] on the current navigation stack. /// /// Only supports Web platform at this time, i.e. [kIsWeb] should be True. -Stream Function(Stream, EpicStore) _onNavigateToRoute() { +Stream Function(Stream, EpicStore) + _onNavigateToRoute() { return (actions, store) { return actions.switchMap( (action) { - Keys.navigatorKey.currentState?.pushNamed(action.route, arguments: action.arguments); + Keys.navigatorKey.currentState + ?.pushNamed(action.route, arguments: action.arguments); return const Stream.empty(); }, ); @@ -100,12 +114,15 @@ Stream Function(Stream, EpicStore) _onNaviga /// /// [navigateToRoute] is selected based on whether the app is open in extension view or full page, i.e. /// user is restoring wallet during onboarding (fullpage- iew) vs from the login page (extension view). -Stream Function(Stream, EpicStore) _onSuccessfullyRestoredWallet( +Stream Function( + Stream, EpicStore) + _onSuccessfullyRestoredWallet( MiscRepository miscRepo, ) { return (actions, store) { return actions.switchMap((action) { - const String navigateToRoute = kIsWeb ? Routes.extensionInfo : Routes.home; + const String navigateToRoute = + kIsWeb ? Routes.extensionInfo : Routes.home; return Stream.fromIterable([ const ResetAppStateAction(), InitializeHDWalletAction( @@ -113,7 +130,8 @@ Stream Function(Stream, EpicStore false), + Keys.navigatorKey.currentState + ?.pushNamedAndRemoveUntil(navigateToRoute, (route) => false), ]); }); }; diff --git a/lib/middlewares/internal_message_middleware.dart b/lib/middlewares/internal_message_middleware.dart index 3050b68f..905cdd5a 100644 --- a/lib/middlewares/internal_message_middleware.dart +++ b/lib/middlewares/internal_message_middleware.dart @@ -1,15 +1,21 @@ +// Package imports: import 'package:redux/redux.dart'; + +// Project imports: import 'package:ribn/actions/internal_message_actions.dart'; import 'package:ribn/models/app_state.dart'; import 'package:ribn/repositories/misc_repository.dart'; -List> createInternalMessageMiddleware(MiscRepository miscRepo) { +List> createInternalMessageMiddleware( + MiscRepository miscRepo) { return >[ - TypedMiddleware(_onSendInternalMsg(miscRepo)), + TypedMiddleware( + _onSendInternalMsg(miscRepo)), ]; } -void Function(Store store, SendInternalMsgAction action, NextDispatcher next) _onSendInternalMsg( +void Function(Store store, SendInternalMsgAction action, + NextDispatcher next) _onSendInternalMsg( MiscRepository miscRepo, ) { return (store, action, next) => miscRepo.sendInternalMessage(action.msg); diff --git a/lib/middlewares/keychain_middleware.dart b/lib/middlewares/keychain_middleware.dart index 9c926323..43caa44b 100644 --- a/lib/middlewares/keychain_middleware.dart +++ b/lib/middlewares/keychain_middleware.dart @@ -1,30 +1,40 @@ +// Package imports: import 'package:brambldart/brambldart.dart'; import 'package:redux/redux.dart'; + +// Project imports: import 'package:ribn/actions/keychain_actions.dart'; import 'package:ribn/actions/misc_actions.dart'; import 'package:ribn/models/app_state.dart'; import 'package:ribn/models/ribn_address.dart'; import 'package:ribn/repositories/keychain_repository.dart'; -List> createKeychainMiddleware(KeychainRepository keyChainRepo) { +List> createKeychainMiddleware( + KeychainRepository keyChainRepo) { return >[ - TypedMiddleware(_onGenerateInitialAddresses(keyChainRepo)), - TypedMiddleware(_onGenerateAddress(keyChainRepo)), - TypedMiddleware(_onRefereshBalances(keyChainRepo)), + TypedMiddleware( + _onGenerateInitialAddresses(keyChainRepo)), + TypedMiddleware( + _onGenerateAddress(keyChainRepo)), + TypedMiddleware( + _onRefereshBalances(keyChainRepo)), ]; } /// Generates the initial addresses for each of the networks. /// /// Dispatches [UpdateNetworksWithAddressesAction] to update [RibnNetworks]s with the newly generated addreses. -void Function(Store store, GenerateInitialAddressesAction action, NextDispatcher next) +void Function(Store store, GenerateInitialAddressesAction action, + NextDispatcher next) _onGenerateInitialAddresses(KeychainRepository keychainRepo) { return (store, action, next) { try { final HdWallet hdWallet = store.state.keychainState.hdWallet!; final Map> networkAddresses = {}; store.state.keychainState.networks.forEach((networkName, network) { - networkAddresses[networkName] = [keychainRepo.generateAddress(hdWallet, networkId: network.networkId)]; + networkAddresses[networkName] = [ + keychainRepo.generateAddress(hdWallet, networkId: network.networkId) + ]; }); next(UpdateNetworksWithAddressesAction(networkAddresses)); } catch (e) { @@ -35,7 +45,8 @@ void Function(Store store, GenerateInitialAddressesAction action, Next /// On receiving [GenerateAddressAction] action, generates a new address and dispatches [AddAddressAction] /// to add the generated addresses under the current network. -void Function(Store store, GenerateAddressAction action, NextDispatcher next) _onGenerateAddress( +void Function(Store store, GenerateAddressAction action, + NextDispatcher next) _onGenerateAddress( KeychainRepository keychainRepo, ) { return (store, action, next) async { @@ -62,13 +73,15 @@ void Function(Store store, GenerateAddressAction action, NextDispatche /// Responds to [RefreshBalancesAction] by updating balances for the addresses in the wallet under the current network. /// /// If no addresses exist, a new address is generated. -void Function(Store store, RefreshBalancesAction action, NextDispatcher next) _onRefereshBalances( +void Function(Store store, RefreshBalancesAction action, + NextDispatcher next) _onRefereshBalances( KeychainRepository keychainRepo, ) { return (store, action, next) async { try { // get addresses in the wallet - final List currentAddresses = action.network.addresses.map((addr) => addr.toplAddress).toList(); + final List currentAddresses = + action.network.addresses.map((addr) => addr.toplAddress).toList(); // if no address in the wallet, generate a new address if (currentAddresses.isEmpty) { store.dispatch(GenerateAddressAction(0, network: action.network)); @@ -79,9 +92,12 @@ void Function(Store store, RefreshBalancesAction action, NextDispatche currentAddresses, ); // map addresses and balances - final Map addrBalanceMap = {for (Balance bal in balances) bal.address: bal}; + final Map addrBalanceMap = { + for (Balance bal in balances) bal.address: bal + }; // addresses with updated balances - final List addressesWithUpdatedBalances = action.network.addresses.map( + final List addressesWithUpdatedBalances = + action.network.addresses.map( (addr) { return addr.copyWith( balance: addrBalanceMap[addr.toplAddress.toBase58()], diff --git a/lib/middlewares/login_middleware.dart b/lib/middlewares/login_middleware.dart index b54af325..00e1485b 100644 --- a/lib/middlewares/login_middleware.dart +++ b/lib/middlewares/login_middleware.dart @@ -1,9 +1,12 @@ +// Dart imports: import 'dart:convert'; import 'dart:typed_data'; +// Package imports: import 'package:bip_topl/bip_topl.dart'; - import 'package:redux/redux.dart'; + +// Project imports: import 'package:ribn/actions/keychain_actions.dart'; import 'package:ribn/actions/login_actions.dart'; import 'package:ribn/constants/rules.dart'; @@ -12,23 +15,30 @@ import 'package:ribn/platform/platform.dart'; import 'package:ribn/repositories/login_repository.dart'; import 'package:ribn/utils.dart'; -List> createLoginMiddleware(LoginRepository loginRepository) { +List> createLoginMiddleware( + LoginRepository loginRepository) { return >[ - TypedMiddleware(_verifyPassword(loginRepository)), + TypedMiddleware( + _verifyPassword(loginRepository)), ]; } /// Verifies that the wallet password is correct by attempting to decrypt the keystore. -void Function(Store store, AttemptLoginAction action, NextDispatcher next) _verifyPassword( +void Function( + Store store, AttemptLoginAction action, NextDispatcher next) + _verifyPassword( LoginRepository loginRepository, ) { return (store, action, next) async { try { - final AppViews currAppView = await PlatformUtils.instance.getCurrentAppView(); + final AppViews currAppView = + await PlatformUtils.instance.getCurrentAppView(); // create isolate/worker to avoid hanging the UI final List result = jsonDecode( await PlatformWorkerRunner.instance.runWorker( - workerScript: currAppView == AppViews.webDebug ? '/web/workers/login_worker.js' : '/workers/login_worker.js', + workerScript: currAppView == AppViews.webDebug + ? '/web/workers/login_worker.js' + : '/workers/login_worker.js', function: loginRepository.decryptKeyStore, params: { 'keyStoreJson': store.state.keychainState.keyStoreJson, @@ -36,10 +46,12 @@ void Function(Store store, AttemptLoginAction action, NextDispatcher n }, ), ); - final Uint8List toplExtendedPrvKeyUint8List = uint8ListFromDynamic(result); + final Uint8List toplExtendedPrvKeyUint8List = + uint8ListFromDynamic(result); // if extension: key is temporarily stored in `chrome.storage.session` & session alarm created // if mobile: key is persisted securely in secure storage - if (currAppView == AppViews.extension || currAppView == AppViews.extensionTab) { + if (currAppView == AppViews.extension || + currAppView == AppViews.extensionTab) { await PlatformLocalStorage.instance.saveKeyInSessionStorage( Base58Encoder.instance.encode(toplExtendedPrvKeyUint8List), ); @@ -50,7 +62,8 @@ void Function(Store store, AttemptLoginAction action, NextDispatcher n ); } // initialize hd wallet on success - next(InitializeHDWalletAction(toplExtendedPrivateKey: toplExtendedPrvKeyUint8List)); + next(InitializeHDWalletAction( + toplExtendedPrivateKey: toplExtendedPrvKeyUint8List)); //Generate Initial addresses for every network next(GenerateInitialAddressesAction()); diff --git a/lib/middlewares/misc_middleware.dart b/lib/middlewares/misc_middleware.dart index fedb80ad..85b00f34 100644 --- a/lib/middlewares/misc_middleware.dart +++ b/lib/middlewares/misc_middleware.dart @@ -1,5 +1,10 @@ +// Flutter imports: import 'package:flutter/foundation.dart'; + +// Package imports: import 'package:redux/redux.dart'; + +// Project imports: import 'package:ribn/actions/misc_actions.dart'; import 'package:ribn/constants/keys.dart'; import 'package:ribn/constants/routes.dart'; @@ -8,14 +13,18 @@ import 'package:ribn/platform/platform.dart'; import 'package:ribn/repositories/login_repository.dart'; import 'package:ribn/repositories/misc_repository.dart'; -List> createMiscMiddleware(LoginRepository loginRep, MiscRepository miscRepo) { +List> createMiscMiddleware( + LoginRepository loginRep, MiscRepository miscRepo) { return >[ TypedMiddleware(_onDeleteWallet(loginRep)), - TypedMiddleware(_onDownloadAsFile(miscRepo)), + TypedMiddleware( + _onDownloadAsFile(miscRepo)), ]; } -void Function(Store store, DeleteWalletAction action, NextDispatcher next) _onDeleteWallet( +void Function( + Store store, DeleteWalletAction action, NextDispatcher next) + _onDeleteWallet( LoginRepository loginRepo, ) { return (store, action, next) async { @@ -35,7 +44,8 @@ void Function(Store store, DeleteWalletAction action, NextDispatcher n PlatformUtils.instance.closeWindow(); } else { await PlatformLocalStorage.instance.clearSecureStorage(); - await Keys.navigatorKey.currentState?.pushNamedAndRemoveUntil(Routes.welcome, (_) => false); + await Keys.navigatorKey.currentState + ?.pushNamedAndRemoveUntil(Routes.welcome, (_) => false); } } catch (e) { // Complete with false to indicate error, i.e. incorrect password was entered @@ -44,7 +54,9 @@ void Function(Store store, DeleteWalletAction action, NextDispatcher n }; } -void Function(Store store, DownloadAsFileAction action, NextDispatcher next) _onDownloadAsFile( +void Function( + Store store, DownloadAsFileAction action, NextDispatcher next) + _onDownloadAsFile( MiscRepository miscRepo, ) { return (store, action, next) { diff --git a/lib/middlewares/onboarding_middleware.dart b/lib/middlewares/onboarding_middleware.dart index c2a56ece..09b3e8b6 100644 --- a/lib/middlewares/onboarding_middleware.dart +++ b/lib/middlewares/onboarding_middleware.dart @@ -1,8 +1,12 @@ +// Dart imports: import 'dart:convert'; import 'dart:typed_data'; +// Package imports: import 'package:bip_topl/bip_topl.dart'; import 'package:redux/redux.dart'; + +// Project imports: import 'package:ribn/actions/keychain_actions.dart'; import 'package:ribn/actions/misc_actions.dart'; import 'package:ribn/actions/onboarding_actions.dart'; @@ -13,15 +17,19 @@ import 'package:ribn/platform/platform.dart'; import 'package:ribn/repositories/onboarding_repository.dart'; import 'package:ribn/utils.dart'; -List> createOnboardingMiddleware(OnboardingRespository onboardingRespository) { +List> createOnboardingMiddleware( + OnboardingRespository onboardingRespository) { return >[ - TypedMiddleware(_generateMnemonic(onboardingRespository)), - TypedMiddleware(_createPassword(onboardingRespository)), + TypedMiddleware( + _generateMnemonic(onboardingRespository)), + TypedMiddleware( + _createPassword(onboardingRespository)), ]; } /// Generates mnemonic for the user and redirects to [Routes.onboardingSteps] -void Function(Store store, GenerateMnemonicAction action, NextDispatcher next) _generateMnemonic( +void Function(Store store, GenerateMnemonicAction action, + NextDispatcher next) _generateMnemonic( OnboardingRespository onboardingRespository, ) { return (store, action, next) async { @@ -35,12 +43,15 @@ void Function(Store store, GenerateMnemonicAction action, NextDispatch } /// Generates a [KeyStore] with the provided password and initializes the HdWallet -void Function(Store store, CreatePasswordAction action, NextDispatcher next) _createPassword( +void Function( + Store store, CreatePasswordAction action, NextDispatcher next) + _createPassword( OnboardingRespository onboardingRespository, ) { return (store, action, next) async { try { - final AppViews currAppView = await PlatformUtils.instance.getCurrentAppView(); + final AppViews currAppView = + await PlatformUtils.instance.getCurrentAppView(); // create isolate/worker to avoid hanging the UI final Map results = jsonDecode( await PlatformWorkerRunner.instance.runWorker( @@ -54,10 +65,12 @@ void Function(Store store, CreatePasswordAction action, NextDispatcher }, ), ); - final Uint8List toplExtendedPrvKeyUint8List = uint8ListFromDynamic(results['toplExtendedPrvKeyUint8List']); + final Uint8List toplExtendedPrvKeyUint8List = + uint8ListFromDynamic(results['toplExtendedPrvKeyUint8List']); // if extension: key is temporarily stored in `chrome.storage.session` & session alarm created // if mobile: key is persisted securely in secure storage - if (currAppView == AppViews.extension || currAppView == AppViews.extensionTab) { + if (currAppView == AppViews.extension || + currAppView == AppViews.extensionTab) { await PlatformLocalStorage.instance.saveKeyInSessionStorage( Base58Encoder.instance.encode(toplExtendedPrvKeyUint8List), ); diff --git a/lib/middlewares/restore_wallet_middleware.dart b/lib/middlewares/restore_wallet_middleware.dart index 9e1ccd17..b98ce96b 100644 --- a/lib/middlewares/restore_wallet_middleware.dart +++ b/lib/middlewares/restore_wallet_middleware.dart @@ -1,7 +1,11 @@ +// Dart imports: import 'dart:convert'; import 'dart:typed_data'; +// Package imports: import 'package:redux/redux.dart'; + +// Project imports: import 'package:ribn/actions/misc_actions.dart'; import 'package:ribn/actions/restore_wallet_actions.dart'; import 'package:ribn/constants/rules.dart'; @@ -17,8 +21,10 @@ List> createRestorewalletMiddleware( LoginRepository loginRepo, ) { return >[ - TypedMiddleware(_restoreWalletWithMnemonic(onboardingRepo)), - TypedMiddleware(_restoreWalletWithToplKey(loginRepo)), + TypedMiddleware( + _restoreWalletWithMnemonic(onboardingRepo)), + TypedMiddleware( + _restoreWalletWithToplKey(loginRepo)), ]; } @@ -26,11 +32,13 @@ List> createRestorewalletMiddleware( /// /// Uses the [action.mnemonic] and [action.password] to generate a keystore. /// Dispatches [SuccessfullyRestoredWalletAction] if successfully generated keystore, otherwise [FailedToRestoreWalletAction]. -void Function(Store store, RestoreWalletWithMnemonicAction action, NextDispatcher next) +void Function(Store store, RestoreWalletWithMnemonicAction action, + NextDispatcher next) _restoreWalletWithMnemonic(OnboardingRespository onboardingRepo) { return (store, action, next) async { try { - final AppViews currAppView = await PlatformUtils.instance.getCurrentAppView(); + final AppViews currAppView = + await PlatformUtils.instance.getCurrentAppView(); final Map results = jsonDecode( await PlatformWorkerRunner.instance.runWorker( workerScript: currAppView == AppViews.webDebug @@ -46,7 +54,8 @@ void Function(Store store, RestoreWalletWithMnemonicAction action, Nex next( SuccessfullyRestoredWalletAction( keyStoreJson: results['keyStoreJson'], - toplExtendedPrivateKey: uint8ListFromDynamic(results['toplExtendedPrvKeyUint8List']), + toplExtendedPrivateKey: + uint8ListFromDynamic(results['toplExtendedPrvKeyUint8List']), ), ); } catch (e) { @@ -59,8 +68,8 @@ void Function(Store store, RestoreWalletWithMnemonicAction action, Nex /// /// Attempts to decrypt [action.toplKeyStoreJson] using [action.password]. /// Dispatches [SuccessfullyRestoredWalletAction] upon success, otherwise [FailedToRestoreWalletAction]. -void Function(Store store, RestoreWalletWithToplKeyAction action, NextDispatcher next) - _restoreWalletWithToplKey(LoginRepository loginRepo) { +void Function(Store store, RestoreWalletWithToplKeyAction action, + NextDispatcher next) _restoreWalletWithToplKey(LoginRepository loginRepo) { return (store, action, next) async { try { final Uint8List toplExtendedPrvKeyUint8List = loginRepo.decryptKeyStore({ diff --git a/lib/middlewares/transaction_middleware.dart b/lib/middlewares/transaction_middleware.dart index 46824963..b8b45d5b 100644 --- a/lib/middlewares/transaction_middleware.dart +++ b/lib/middlewares/transaction_middleware.dart @@ -1,6 +1,11 @@ +// Dart imports: import 'dart:typed_data'; + +// Package imports: import 'package:brambldart/brambldart.dart'; import 'package:redux/redux.dart'; + +// Project imports: import 'package:ribn/actions/internal_message_actions.dart'; import 'package:ribn/actions/transaction_actions.dart'; import 'package:ribn/actions/user_details_actions.dart'; @@ -20,10 +25,13 @@ List> createTransactionMiddleware( KeychainRepository keychainRepo, ) { return >[ - TypedMiddleware(_initiateTx(transactionRepo, keychainRepo)), + TypedMiddleware( + _initiateTx(transactionRepo, keychainRepo)), TypedMiddleware(_createRawTx(transactionRepo)), - TypedMiddleware(_signAndBroadcastTx(transactionRepo, keychainRepo)), - TypedMiddleware(_signExternalTx(transactionRepo, keychainRepo)), + TypedMiddleware( + _signAndBroadcastTx(transactionRepo, keychainRepo)), + TypedMiddleware( + _signExternalTx(transactionRepo, keychainRepo)), ]; } @@ -31,14 +39,17 @@ List> createTransactionMiddleware( /// /// Updates the [TransferDetails] with some defaults like the sender, change, and consolidation addresses, as well as /// the current network, before dispatching [CreateRawTxAction]. -void Function(Store store, InitiateTxAction action, NextDispatcher next) _initiateTx( +void Function( + Store store, InitiateTxAction action, NextDispatcher next) + _initiateTx( TransactionRepository transactionRepo, KeychainRepository keychainRepo, ) { return (store, action, next) async { try { /// The sender defaults to the first address in the list of locally stored addresses - final RibnAddress sender = store.state.keychainState.currentNetwork.addresses.first; + final RibnAddress sender = + store.state.keychainState.currentNetwork.addresses.first; final RibnNetwork currNetwork = store.state.keychainState.currentNetwork; final TransferDetails transferDetails = action.transferDetails.copyWith( senders: [sender], @@ -56,7 +67,9 @@ void Function(Store store, InitiateTxAction action, NextDispatcher nex /// Creates the rawTx and navigates to the [Routes.txReview] page. /// /// Also dispatches [ToggleLoadingRawTxAction] to stop the loading indicator. -void Function(Store store, CreateRawTxAction action, NextDispatcher next) _createRawTx( +void Function( + Store store, CreateRawTxAction action, NextDispatcher next) + _createRawTx( TransactionRepository transactionRepo, ) { return (store, action, next) async { @@ -65,7 +78,8 @@ void Function(Store store, CreateRawTxAction action, NextDispatcher ne store.state.keychainState.currentNetwork.client!, action.transferDetails, ); - final TransactionReceipt transactionReceipt = result['rawTx'] as TransactionReceipt; + final TransactionReceipt transactionReceipt = + result['rawTx'] as TransactionReceipt; final Uint8List messageToSign = result['messageToSign'] as Uint8List; final TransferDetails transferDetails = action.transferDetails.copyWith( transactionReceipt: transactionReceipt, @@ -82,7 +96,8 @@ void Function(Store store, CreateRawTxAction action, NextDispatcher ne /// /// Signs and broadcasts the transactions, updates the [TransferDetails] with the txId, /// and navigates to the confirmation page. -void Function(Store store, SignAndBroadcastTxAction action, NextDispatcher next) _signAndBroadcastTx( +void Function(Store store, SignAndBroadcastTxAction action, + NextDispatcher next) _signAndBroadcastTx( TransactionRepository transactionRepo, KeychainRepository keychainRepo, ) { @@ -98,7 +113,8 @@ void Function(Store store, SignAndBroadcastTxAction action, NextDispat action.transferDetails.transactionReceipt!, action.transferDetails.messageToSign!, ); - final TransferDetails transferDetails = action.transferDetails.copyWith(transactionId: transactionId); + final TransferDetails transferDetails = + action.transferDetails.copyWith(transactionId: transactionId); /// Update the locally stored asset details if minting a new asset if (transferDetails.transferType == TransferType.mintingAsset) { @@ -118,26 +134,33 @@ void Function(Store store, SignAndBroadcastTxAction action, NextDispat }; } -void Function(Store store, SignExternalTxAction action, NextDispatcher next) _signExternalTx( +void Function( + Store store, SignExternalTxAction action, NextDispatcher next) + _signExternalTx( TransactionRepository transactionRepo, KeychainRepository keychainRepo, ) { return (store, action, next) async { try { - final Map transferDetails = {}; - transferDetails['messageToSign'] = - Base58Data.validated(action.pendingRequest.data!['messageToSign'] as String).value; + transferDetails['messageToSign'] = Base58Data.validated( + action.pendingRequest.data!['messageToSign'] as String) + .value; - final TransactionReceipt transactionReceipt = TransactionReceipt.fromJson(action.pendingRequest.data!['rawTx']); + final TransactionReceipt transactionReceipt = + TransactionReceipt.fromJson(action.pendingRequest.data!['rawTx']); transferDetails['rawTx'] = transactionReceipt; - final List rawTxSenders = transactionReceipt.from!.map((e) => e.senderAddress.toBase58()).toList(); + final List rawTxSenders = transactionReceipt.from! + .map((e) => e.senderAddress.toBase58()) + .toList(); - final List sendersInWallet = List.from(store.state.keychainState.currentNetwork.addresses) - ..retainWhere((addr) => rawTxSenders.contains(addr.toplAddress.toBase58())); + final List sendersInWallet = + List.from(store.state.keychainState.currentNetwork.addresses) + ..retainWhere( + (addr) => rawTxSenders.contains(addr.toplAddress.toBase58())); if (sendersInWallet.isEmpty) { final InternalMessage response = InternalMessage( @@ -149,7 +172,6 @@ void Function(Store store, SignExternalTxAction action, NextDispatcher origin: action.pendingRequest.origin, ); next(SendInternalMsgAction(response)); - } else { final List credentials = keychainRepo.getCredentials( store.state.keychainState.hdWallet!, diff --git a/lib/models/app_state.dart b/lib/models/app_state.dart index 654e9fde..a5d8b978 100644 --- a/lib/models/app_state.dart +++ b/lib/models/app_state.dart @@ -1,6 +1,10 @@ +// Dart imports: import 'dart:convert'; +// Flutter imports: import 'package:flutter/material.dart'; + +// Project imports: import 'package:ribn/models/internal_message.dart'; import 'package:ribn/models/keychain_state.dart'; import 'package:ribn/models/login_state.dart'; diff --git a/lib/models/asset_details.dart b/lib/models/asset_details.dart index 396245d2..6f291661 100644 --- a/lib/models/asset_details.dart +++ b/lib/models/asset_details.dart @@ -1,3 +1,4 @@ +// Dart imports: import 'dart:convert'; /// User defined asset details. @@ -47,16 +48,21 @@ class AssetDetails { String toJson() => json.encode(toMap()); - factory AssetDetails.fromJson(String source) => AssetDetails.fromMap(json.decode(source)); + factory AssetDetails.fromJson(String source) => + AssetDetails.fromMap(json.decode(source)); @override - String toString() => 'AssetDetails(longName: $longName, icon: $icon, unit: $unit)'; + String toString() => + 'AssetDetails(longName: $longName, icon: $icon, unit: $unit)'; @override bool operator ==(Object other) { if (identical(this, other)) return true; - return other is AssetDetails && other.longName == longName && other.icon == icon && other.unit == unit; + return other is AssetDetails && + other.longName == longName && + other.icon == icon && + other.unit == unit; } @override diff --git a/lib/models/internal_message.dart b/lib/models/internal_message.dart index 14b738d3..e00b7bb8 100644 --- a/lib/models/internal_message.dart +++ b/lib/models/internal_message.dart @@ -1,5 +1,7 @@ +// Dart imports: import 'dart:convert'; +// Flutter imports: import 'package:flutter/foundation.dart'; class InternalMessage { @@ -52,7 +54,9 @@ class InternalMessage { factory InternalMessage.fromMap(Map map) { return InternalMessage( method: map['method'] as String, - data: map['data'] != null ? Map.from(map['data'] as Map) : null, + data: map['data'] != null + ? Map.from(map['data'] as Map) + : null, target: map['target'] as String, sender: map['sender'] as String, id: map['id'] as String, @@ -85,7 +89,12 @@ class InternalMessage { @override int get hashCode { - return method.hashCode ^ data.hashCode ^ target.hashCode ^ sender.hashCode ^ id.hashCode ^ origin.hashCode; + return method.hashCode ^ + data.hashCode ^ + target.hashCode ^ + sender.hashCode ^ + id.hashCode ^ + origin.hashCode; } } diff --git a/lib/models/keychain_state.dart b/lib/models/keychain_state.dart index 1e52556d..acb2baa4 100644 --- a/lib/models/keychain_state.dart +++ b/lib/models/keychain_state.dart @@ -1,9 +1,14 @@ +// Dart imports: import 'dart:convert'; +// Flutter imports: +import 'package:flutter/foundation.dart'; + +// Package imports: import 'package:bip_topl/bip_topl.dart' as bip_topl; import 'package:brambldart/credentials.dart'; -import 'package:flutter/foundation.dart'; +// Project imports: import 'package:ribn/constants/network_utils.dart'; import 'package:ribn/constants/rules.dart'; import 'package:ribn/constants/test_data.dart'; @@ -55,7 +60,8 @@ class KeychainState { return { 'keyStoreJson': keyStoreJson, 'currentNetworkName': currentNetworkName, - 'networks': networks.map((String key, RibnNetwork value) => MapEntry(key, value.toMap())), + 'networks': networks + .map((String key, RibnNetwork value) => MapEntry(key, value.toMap())), }; } @@ -84,7 +90,8 @@ class KeychainState { String toJson() => json.encode(toMap()); - factory KeychainState.fromJson(String source) => KeychainState.fromMap(json.decode(source)); + factory KeychainState.fromJson(String source) => + KeychainState.fromMap(json.decode(source)); @override String toString() { @@ -104,7 +111,10 @@ class KeychainState { @override int get hashCode { - return keyStoreJson.hashCode ^ hdWallet.hashCode ^ networks.hashCode ^ currentNetworkName.hashCode; + return keyStoreJson.hashCode ^ + hdWallet.hashCode ^ + networks.hashCode ^ + currentNetworkName.hashCode; } KeychainState copyWith({ diff --git a/lib/models/login_state.dart b/lib/models/login_state.dart index dd73ac60..414c9176 100644 --- a/lib/models/login_state.dart +++ b/lib/models/login_state.dart @@ -1,3 +1,4 @@ +// Dart imports: import 'dart:convert'; class LoginState { @@ -40,16 +41,20 @@ class LoginState { String toJson() => json.encode(toMap()); - factory LoginState.fromJson(String source) => LoginState.fromMap(json.decode(source)); + factory LoginState.fromJson(String source) => + LoginState.fromMap(json.decode(source)); @override - String toString() => 'LoginState(isLoggedIn: $isLoggedIn, lastLogin: $lastLogin)'; + String toString() => + 'LoginState(isLoggedIn: $isLoggedIn, lastLogin: $lastLogin)'; @override bool operator ==(Object other) { if (identical(this, other)) return true; - return other is LoginState && other.isLoggedIn == isLoggedIn && other.lastLogin == lastLogin; + return other is LoginState && + other.isLoggedIn == isLoggedIn && + other.lastLogin == lastLogin; } @override diff --git a/lib/models/onboarding_state.dart b/lib/models/onboarding_state.dart index 24ad7bb6..a9003815 100644 --- a/lib/models/onboarding_state.dart +++ b/lib/models/onboarding_state.dart @@ -1,6 +1,10 @@ +// Dart imports: import 'dart:convert'; +// Flutter imports: import 'package:flutter/foundation.dart'; + +// Project imports: import 'package:ribn/constants/test_data.dart'; @immutable @@ -70,5 +74,8 @@ class OnboardingState { } @override - int get hashCode => mnemonic.hashCode ^ shuffledMnemonic.hashCode ^ userSelectedIndices.hashCode; + int get hashCode => + mnemonic.hashCode ^ + shuffledMnemonic.hashCode ^ + userSelectedIndices.hashCode; } diff --git a/lib/models/raw_tx.dart b/lib/models/raw_tx.dart index 99f1df32..af6cbd3b 100644 --- a/lib/models/raw_tx.dart +++ b/lib/models/raw_tx.dart @@ -2,6 +2,7 @@ // // final rawTx = rawTxFromJson(jsonString); +// Dart imports: import 'dart:convert'; RawTx rawTxFromJson(String str) => RawTx.fromJson(json.decode(str)); @@ -44,13 +45,15 @@ class RawTx { List.from(json['newBoxes'].map((x) => NewBox.fromJson(x))), data: json['data'], from: List>.from( - json['from'].map((x) => List.from(x.map((x) => x))),), + json['from'].map((x) => List.from(x.map((x) => x))), + ), minting: json['minting'], txId: json['txId'], boxesToRemove: List.from(json['boxesToRemove'].map((x) => x)), fee: json['fee'], to: List>.from( - json['to'].map((x) => List.from(x.map((x) => x))),), + json['to'].map((x) => List.from(x.map((x) => x))), + ), propositionType: json['propositionType'], messageToSign: json['messageToSign'], ); @@ -61,13 +64,15 @@ class RawTx { 'newBoxes': List.from(newBoxes.map((x) => x.toJson())), 'data': data, 'from': List.from( - from.map((x) => List.from(x.map((x) => x))),), + from.map((x) => List.from(x.map((x) => x))), + ), 'minting': minting, 'txId': txId, 'boxesToRemove': List.from(boxesToRemove.map((x) => x)), 'fee': fee, 'to': List.from( - to.map((x) => List.from(x.map((x) => x))),), + to.map((x) => List.from(x.map((x) => x))), + ), 'propositionType': propositionType, 'messageToSign': messageToSign, }; @@ -125,8 +130,7 @@ class Value { quantity: json['quantity'], assetCode: json['assetCode'], metadata: json['metadata'], - securityRoot: - json['securityRoot'], + securityRoot: json['securityRoot'], ); Map toJson() => { diff --git a/lib/models/ribn_address.dart b/lib/models/ribn_address.dart index 6bc6bc02..9755e241 100644 --- a/lib/models/ribn_address.dart +++ b/lib/models/ribn_address.dart @@ -1,8 +1,13 @@ +// Dart imports: import 'dart:convert'; -import 'package:brambldart/brambldart.dart'; +// Flutter imports: import 'package:flutter/material.dart'; +// Package imports: +import 'package:brambldart/brambldart.dart'; + +// Project imports: import 'package:ribn/constants/rules.dart'; @immutable diff --git a/lib/models/ribn_network.dart b/lib/models/ribn_network.dart index 98dc1692..e208c7a4 100644 --- a/lib/models/ribn_network.dart +++ b/lib/models/ribn_network.dart @@ -1,8 +1,13 @@ +// Dart imports: import 'dart:convert'; -import 'package:brambldart/brambldart.dart'; +// Flutter imports: import 'package:flutter/foundation.dart'; +// Package imports: +import 'package:brambldart/brambldart.dart'; + +// Project imports: import 'package:ribn/constants/network_utils.dart'; import 'package:ribn/constants/rules.dart'; import 'package:ribn/models/ribn_address.dart'; @@ -36,7 +41,8 @@ class RibnNetwork { this.lastCheckedTimestamp = -1, }); - factory RibnNetwork.initial({required int networkId, required String networkName}) { + factory RibnNetwork.initial( + {required int networkId, required String networkName}) { return RibnNetwork( networkName: networkName, networkId: networkId, @@ -71,11 +77,15 @@ class RibnNetwork { } int getNextExternalAddressIndex() { - return addresses.lastIndexWhere((addr) => addr.changeIndex == Rules.defaultChangeIndex) + 1; + return addresses.lastIndexWhere( + (addr) => addr.changeIndex == Rules.defaultChangeIndex) + + 1; } int getNextInternalAddressIndex() { - return addresses.lastIndexWhere((addr) => addr.changeIndex == Rules.internalIdx) + 1; + return addresses + .lastIndexWhere((addr) => addr.changeIndex == Rules.internalIdx) + + 1; } /// Returns a list of all the assets owned by [myWalletAddress] @@ -90,7 +100,9 @@ class RibnNetwork { myAssets.update( asset.assetCode.serialize(), (AssetAmount currAsset) { - return AssetAmount(quantity: currAsset.quantity + assetQuantity, assetCode: asset.assetCode); + return AssetAmount( + quantity: currAsset.quantity + assetQuantity, + assetCode: asset.assetCode); }, ifAbsent: () => asset, ); @@ -106,7 +118,9 @@ class RibnNetwork { /// Returns the list of all assets issued/minted by this wallet. List getAssetsIssuedByWallet() { return getAllAssetsInWallet() - .where((AssetAmount asset) => asset.assetCode.issuer.toBase58() == myWalletAddress?.toplAddress.toBase58()) + .where((AssetAmount asset) => + asset.assetCode.issuer.toBase58() == + myWalletAddress?.toplAddress.toBase58()) .toList(); } @@ -155,7 +169,8 @@ class RibnNetwork { String toJson() => json.encode(toMap()); - factory RibnNetwork.fromJson(String source) => RibnNetwork.fromMap(json.decode(source)); + factory RibnNetwork.fromJson(String source) => + RibnNetwork.fromMap(json.decode(source)); @override String toString() { diff --git a/lib/models/transfer_details.dart b/lib/models/transfer_details.dart index 9c44f1b3..5f096a8d 100644 --- a/lib/models/transfer_details.dart +++ b/lib/models/transfer_details.dart @@ -1,12 +1,17 @@ - +// Dart imports: import 'dart:typed_data'; -import 'package:brambldart/brambldart.dart'; + +// Flutter imports: import 'package:flutter/foundation.dart'; + +// Package imports: +import 'package:brambldart/brambldart.dart'; + +// Project imports: import 'package:ribn/constants/rules.dart'; import 'package:ribn/models/asset_details.dart'; import 'package:ribn/models/ribn_address.dart'; - /// A helper class to hold all the details for a transfer being initiated inside Ribn. class TransferDetails { final TransferType transferType; diff --git a/lib/models/user_details_state.dart b/lib/models/user_details_state.dart index 6897a2ac..06281573 100644 --- a/lib/models/user_details_state.dart +++ b/lib/models/user_details_state.dart @@ -1,8 +1,12 @@ // ignore_for_file: public_member_api_docs, sort_constructors_first + +// Dart imports: import 'dart:convert'; +// Flutter imports: import 'package:flutter/foundation.dart'; +// Project imports: import 'package:ribn/models/asset_details.dart'; /// This class holds custom details about the wallet user. @@ -37,7 +41,8 @@ class UserDetailsState { Map toMap() { return { - 'assetDetails': assetDetails.map((key, value) => MapEntry(key, value.toMap())), + 'assetDetails': + assetDetails.map((key, value) => MapEntry(key, value.toMap())), 'isBiometricsEnabled': isBiometricsEnabled, }; } @@ -58,16 +63,19 @@ class UserDetailsState { String toJson() => json.encode(toMap()); - factory UserDetailsState.fromJson(String source) => UserDetailsState.fromMap(json.decode(source)); + factory UserDetailsState.fromJson(String source) => + UserDetailsState.fromMap(json.decode(source)); @override - String toString() => 'UserDetailsState(assetDetails: $assetDetails, isBiometricsEnabled: $isBiometricsEnabled)'; + String toString() => + 'UserDetailsState(assetDetails: $assetDetails, isBiometricsEnabled: $isBiometricsEnabled)'; @override bool operator ==(covariant UserDetailsState other) { if (identical(this, other)) return true; - return mapEquals(other.assetDetails, assetDetails) && other.isBiometricsEnabled == isBiometricsEnabled; + return mapEquals(other.assetDetails, assetDetails) && + other.isBiometricsEnabled == isBiometricsEnabled; } @override diff --git a/lib/platform/interfaces.dart b/lib/platform/interfaces.dart index 28874674..e7c3632b 100644 --- a/lib/platform/interfaces.dart +++ b/lib/platform/interfaces.dart @@ -1,3 +1,4 @@ +// Project imports: import 'package:ribn/constants/rules.dart'; abstract class IPlatformUtils { @@ -42,7 +43,6 @@ abstract class IWallet { String getAddress(); } - abstract class IMessenger { /// Send [msg] to the background script. void sendMsg(String msg); @@ -68,7 +68,6 @@ abstract class IPlatformLocalStorage { /// [key] should be the Base58Encoded Topl Main Key. Future saveKeyInSessionStorage(String key); - /// Mobile-only /// /// Save [key] in seucre storage for future retrievals. diff --git a/lib/platform/mobile/genus_config.dart b/lib/platform/mobile/genus_config.dart index 4ef180a8..05ce8aa0 100644 --- a/lib/platform/mobile/genus_config.dart +++ b/lib/platform/mobile/genus_config.dart @@ -1,4 +1,7 @@ +// Package imports: import 'package:grpc/grpc.dart'; + +// Project imports: import 'package:ribn/constants/network_utils.dart'; class PlatformGenusConfig { diff --git a/lib/platform/mobile/messenger.dart b/lib/platform/mobile/messenger.dart index 75ae0298..5df131b9 100644 --- a/lib/platform/mobile/messenger.dart +++ b/lib/platform/mobile/messenger.dart @@ -1,3 +1,4 @@ +// Project imports: import 'package:ribn/platform/interfaces.dart'; class Messenger implements IMessenger { diff --git a/lib/platform/mobile/storage.dart b/lib/platform/mobile/storage.dart index 2cc3e580..24d0c9ac 100644 --- a/lib/platform/mobile/storage.dart +++ b/lib/platform/mobile/storage.dart @@ -1,7 +1,11 @@ +// Dart imports: import 'dart:io'; +// Package imports: import 'package:flutter_secure_storage/flutter_secure_storage.dart'; import 'package:path_provider/path_provider.dart'; + +// Project imports: import 'package:ribn/constants/keys.dart'; import 'package:ribn/platform/interfaces.dart'; @@ -21,13 +25,15 @@ class PlatformLocalStorage implements IPlatformLocalStorage { @override Future getState() async { - final File file = File('${(await getApplicationDocumentsDirectory()).path}/app_state.json'); + final File file = File( + '${(await getApplicationDocumentsDirectory()).path}/app_state.json'); return await file.readAsString(); } @override Future saveState(String data) async { - final file = File('${(await getApplicationDocumentsDirectory()).path}/app_state.json'); + final file = File( + '${(await getApplicationDocumentsDirectory()).path}/app_state.json'); await file.writeAsString(data, flush: true); } @@ -75,5 +81,6 @@ class PlatformLocalStorage implements IPlatformLocalStorage { /// Web-only @override - Future saveKeyInSessionStorage(String key) => throw UnimplementedError(); + Future saveKeyInSessionStorage(String key) => + throw UnimplementedError(); } diff --git a/lib/platform/mobile/utils.dart b/lib/platform/mobile/utils.dart index 50aac62d..a1c9b754 100644 --- a/lib/platform/mobile/utils.dart +++ b/lib/platform/mobile/utils.dart @@ -1,3 +1,4 @@ +// Project imports: import 'package:ribn/constants/rules.dart'; import 'package:ribn/platform/interfaces.dart'; @@ -50,6 +51,7 @@ class PlatformUtils implements IPlatformUtils { Future getDAppList() { throw UnimplementedError(); } + @override Future consoleLog(dynamic item) { throw UnimplementedError(); @@ -59,5 +61,4 @@ class PlatformUtils implements IPlatformUtils { Future convertToFuture(Object jsPromise) { throw UnimplementedError(); } - } diff --git a/lib/platform/mobile/worker_runner.dart b/lib/platform/mobile/worker_runner.dart index 8eec1d6d..a5eb5059 100644 --- a/lib/platform/mobile/worker_runner.dart +++ b/lib/platform/mobile/worker_runner.dart @@ -1,6 +1,10 @@ +// Dart imports: import 'dart:convert'; +// Flutter imports: import 'package:flutter/foundation.dart'; + +// Project imports: import 'package:ribn/constants/keys.dart'; import 'package:ribn/platform/interfaces.dart'; @@ -19,7 +23,8 @@ class PlatformWorkerRunner implements IPlatformWorkerRunner { final String? workerScript, Map params = const {}, }) async { - if (function == null) throw Exception('Dart isolate requires `function` to not be null'); + if (function == null) + throw Exception('Dart isolate requires `function` to not be null'); if (Keys.isTestingEnvironment) return jsonEncode(function(params)); try { return jsonEncode(await compute(function, params)); diff --git a/lib/platform/web/genus_config.dart b/lib/platform/web/genus_config.dart index 712e5346..e236778d 100644 --- a/lib/platform/web/genus_config.dart +++ b/lib/platform/web/genus_config.dart @@ -1,7 +1,10 @@ +// Package imports: import 'package:grpc/grpc_web.dart'; -import 'package:ribn/constants/network_utils.dart'; +// Project imports: +import 'package:ribn/constants/network_utils.dart'; class PlatformGenusConfig { - static GrpcWebClientChannel channel = GrpcWebClientChannel.xhr(Uri.parse('http://${NetworkUtils.privateIP}:8099')); + static GrpcWebClientChannel channel = GrpcWebClientChannel.xhr( + Uri.parse('http://${NetworkUtils.privateIP}:8099')); } diff --git a/lib/platform/web/messenger.dart b/lib/platform/web/messenger.dart index 57c57367..5b1885ed 100644 --- a/lib/platform/web/messenger.dart +++ b/lib/platform/web/messenger.dart @@ -1,7 +1,10 @@ @JS('ribn_messenger') library messenger; +// Package imports: import 'package:js/js.dart'; + +// Project imports: import 'package:ribn/platform/interfaces.dart'; @JS() @@ -22,7 +25,8 @@ class Messenger implements IMessenger { void connect() => openConnection(); @override - void initMsgListener(Function msgHandler) => addPortMessageListener(allowInterop(msgHandler)); + void initMsgListener(Function msgHandler) => + addPortMessageListener(allowInterop(msgHandler)); @override void sendMsg(String msg) => sendPortMessage(msg); diff --git a/lib/platform/web/platform_web.dart b/lib/platform/web/platform_web.dart index ee1bdfce..17eef76b 100644 --- a/lib/platform/web/platform_web.dart +++ b/lib/platform/web/platform_web.dart @@ -3,4 +3,4 @@ export 'package:ribn/platform/web/messenger.dart'; export 'package:ribn/platform/web/storage.dart'; export 'package:ribn/platform/web/utils.dart'; export 'package:ribn/platform/web/wallet.dart'; -export 'package:ribn/platform/web/worker_runner.dart'; \ No newline at end of file +export 'package:ribn/platform/web/worker_runner.dart'; diff --git a/lib/platform/web/storage.dart b/lib/platform/web/storage.dart index 3a8c8d60..1bf3d29a 100644 --- a/lib/platform/web/storage.dart +++ b/lib/platform/web/storage.dart @@ -1,11 +1,15 @@ @JS('ext_storage') library platform_storage; +// Dart imports: import 'dart:async'; import 'dart:convert'; +// Package imports: import 'package:js/js.dart'; import 'package:js/js_util.dart'; + +// Project imports: import 'package:ribn/constants/keys.dart'; import 'package:ribn/platform/interfaces.dart'; diff --git a/lib/platform/web/utils.dart b/lib/platform/web/utils.dart index acd73196..7d778119 100644 --- a/lib/platform/web/utils.dart +++ b/lib/platform/web/utils.dart @@ -3,10 +3,14 @@ @JS('ext_utils') library ext_utils; +// Dart imports: import 'dart:html'; import 'dart:js_util'; +// Package imports: import 'package:js/js.dart'; + +// Project imports: import 'package:ribn/constants/rules.dart'; import 'package:ribn/platform/interfaces.dart'; diff --git a/lib/platform/web/wallet.dart b/lib/platform/web/wallet.dart index 825901e6..c159e674 100644 --- a/lib/platform/web/wallet.dart +++ b/lib/platform/web/wallet.dart @@ -1,10 +1,12 @@ @JS() library ribn_wallet; +// Package imports: import 'package:flutter_redux/flutter_redux.dart'; import 'package:js/js.dart'; -import 'package:ribn/models/app_state.dart'; +// Project imports: +import 'package:ribn/models/app_state.dart'; import '../../constants/keys.dart'; /// Allows assigning a function to be callable from `window.functionName()` @@ -20,14 +22,12 @@ external String getBalance(void Function() f); @JS() external String getAddress(void Function() f); - void initialize() { getWalletBalance = allowInterop(_getBalance); getWalletAddress = allowInterop(_getAddress); // JavaScript code may now call `functionName()` or `window.functionName()`. } - String _getBalance() => StoreProvider.of(Keys.navigatorKey.currentContext!) .state @@ -45,4 +45,3 @@ String _getAddress() => .first .toplAddress .toBase58(); - diff --git a/lib/platform/web/worker_runner.dart b/lib/platform/web/worker_runner.dart index 803e04fe..706546d7 100644 --- a/lib/platform/web/worker_runner.dart +++ b/lib/platform/web/worker_runner.dart @@ -1,9 +1,11 @@ // ignore_for_file: avoid_web_libraries_in_flutter +// Dart imports: import 'dart:async'; import 'dart:convert'; import 'dart:html'; +// Project imports: import 'package:ribn/platform/interfaces.dart'; class PlatformWorkerRunner implements IPlatformWorkerRunner { @@ -22,7 +24,8 @@ class PlatformWorkerRunner implements IPlatformWorkerRunner { final String? workerScript, Map params = const {}, }) { - if (workerScript == null) throw Exception('JS worker requires `workerScript` to not be null'); + if (workerScript == null) + throw Exception('JS worker requires `workerScript` to not be null'); final Completer completer = Completer(); try { final Worker worker = Worker(workerScript); diff --git a/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_icon_edit_section.dart b/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_icon_edit_section.dart index 80ac6a80..fbecb15b 100644 --- a/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_icon_edit_section.dart +++ b/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_icon_edit_section.dart @@ -1,13 +1,18 @@ +// Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: import 'package:flutter_portal/flutter_portal.dart'; import 'package:flutter_redux/flutter_redux.dart'; -import 'package:ribn/actions/user_details_actions.dart'; -import 'package:ribn/constants/ui_constants.dart'; -import 'package:ribn/models/app_state.dart'; import 'package:ribn_toolkit/constants/colors.dart'; import 'package:ribn_toolkit/constants/styles.dart'; import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; +// Project imports: +import 'package:ribn/actions/user_details_actions.dart'; +import 'package:ribn/constants/ui_constants.dart'; +import 'package:ribn/models/app_state.dart'; + /// The section for editing asset icon. /// /// The asset icon can be selected from a dropdown consisting of [UIConstants.assetIconsList]. @@ -38,7 +43,13 @@ class _AssetIconEditSectionState extends State { width: 307, decoration: const BoxDecoration( color: RibnColors.whiteBackground, - boxShadow: [BoxShadow(color: Color(0x0f000000), offset: Offset(0, 4), blurRadius: 4, spreadRadius: 0)], + boxShadow: [ + BoxShadow( + color: Color(0x0f000000), + offset: Offset(0, 4), + blurRadius: 4, + spreadRadius: 0) + ], ), child: Column( crossAxisAlignment: CrossAxisAlignment.start, @@ -52,7 +63,8 @@ class _AssetIconEditSectionState extends State { buttonHeight: 33, buttonChild: Text( 'Save', - style: RibnToolkitTextStyles.btnMedium.copyWith(color: Colors.white), + style: RibnToolkitTextStyles.btnMedium + .copyWith(color: Colors.white), ), backgroundColor: RibnColors.primary, onPressed: () { @@ -71,7 +83,8 @@ class _AssetIconEditSectionState extends State { buttonHeight: 33, buttonChild: Text( 'Cancel', - style: RibnToolkitTextStyles.btnMedium.copyWith(color: RibnColors.ghostButtonText), + style: RibnToolkitTextStyles.btnMedium + .copyWith(color: RibnColors.ghostButtonText), ), backgroundColor: Colors.transparent, hoverColor: Colors.transparent, diff --git a/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_long_name_edit_section.dart b/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_long_name_edit_section.dart index 6058d497..489fe8cb 100644 --- a/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_long_name_edit_section.dart +++ b/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_long_name_edit_section.dart @@ -1,13 +1,18 @@ +// Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: import 'package:flutter_redux/flutter_redux.dart'; -import 'package:ribn/actions/user_details_actions.dart'; -import 'package:ribn/constants/strings.dart'; -import 'package:ribn/models/app_state.dart'; import 'package:ribn_toolkit/constants/colors.dart'; import 'package:ribn_toolkit/constants/styles.dart'; import 'package:ribn_toolkit/widgets/atoms/custom_text_field.dart'; import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; +// Project imports: +import 'package:ribn/actions/user_details_actions.dart'; +import 'package:ribn/constants/strings.dart'; +import 'package:ribn/models/app_state.dart'; + /// The section for editing asset long anme. class AssetLongNameEditSection extends StatefulWidget { /// The asset code with which the long name will be associated. @@ -27,7 +32,8 @@ class AssetLongNameEditSection extends StatefulWidget { }) : super(key: key); @override - _AssetLongNameEditSectionState createState() => _AssetLongNameEditSectionState(); + _AssetLongNameEditSectionState createState() => + _AssetLongNameEditSectionState(); } class _AssetLongNameEditSectionState extends State { @@ -53,7 +59,13 @@ class _AssetLongNameEditSectionState extends State { width: 307, decoration: const BoxDecoration( color: RibnColors.whiteBackground, - boxShadow: [BoxShadow(color: Color(0x0f000000), offset: Offset(0, 4), blurRadius: 4, spreadRadius: 0)], + boxShadow: [ + BoxShadow( + color: Color(0x0f000000), + offset: Offset(0, 4), + blurRadius: 4, + spreadRadius: 0) + ], ), child: Column( crossAxisAlignment: CrossAxisAlignment.start, @@ -67,7 +79,8 @@ class _AssetLongNameEditSectionState extends State { buttonHeight: 33, buttonChild: Text( 'Save', - style: RibnToolkitTextStyles.btnMedium.copyWith(color: Colors.white), + style: RibnToolkitTextStyles.btnMedium + .copyWith(color: Colors.white), ), backgroundColor: RibnColors.primary, onPressed: () { @@ -86,7 +99,8 @@ class _AssetLongNameEditSectionState extends State { buttonHeight: 33, buttonChild: Text( 'Cancel', - style: RibnToolkitTextStyles.btnMedium.copyWith(color: RibnColors.ghostButtonText), + style: RibnToolkitTextStyles.btnMedium + .copyWith(color: RibnColors.ghostButtonText), ), backgroundColor: Colors.transparent, hoverColor: Colors.transparent, diff --git a/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_unit_edit_section.dart b/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_unit_edit_section.dart index e3b9f313..0e9c325f 100644 --- a/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_unit_edit_section.dart +++ b/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_unit_edit_section.dart @@ -1,14 +1,19 @@ +// Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: import 'package:flutter_redux/flutter_redux.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/custom_dropdown.dart'; +import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; + +// Project imports: import 'package:ribn/actions/user_details_actions.dart'; import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/ui_constants.dart'; import 'package:ribn/models/app_state.dart'; import 'package:ribn/utils.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/custom_dropdown.dart'; -import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; /// The section for editing asset unit. /// @@ -48,7 +53,13 @@ class _AssetUnitEditSectionState extends State { width: 307, decoration: const BoxDecoration( color: RibnColors.whiteBackground, - boxShadow: [BoxShadow(color: Color(0x0f000000), offset: Offset(0, 4), blurRadius: 4, spreadRadius: 0)], + boxShadow: [ + BoxShadow( + color: Color(0x0f000000), + offset: Offset(0, 4), + blurRadius: 4, + spreadRadius: 0) + ], ), child: Column( crossAxisAlignment: CrossAxisAlignment.start, @@ -83,7 +94,8 @@ class _AssetUnitEditSectionState extends State { buttonHeight: 33, buttonChild: Text( 'Save', - style: RibnToolkitTextStyles.btnMedium.copyWith(color: Colors.white), + style: RibnToolkitTextStyles.btnMedium + .copyWith(color: Colors.white), ), backgroundColor: RibnColors.primary, onPressed: () { @@ -102,7 +114,8 @@ class _AssetUnitEditSectionState extends State { buttonHeight: 33, buttonChild: Text( 'Cancel', - style: RibnToolkitTextStyles.btnMedium.copyWith(color: RibnColors.ghostButtonText), + style: RibnToolkitTextStyles.btnMedium + .copyWith(color: RibnColors.ghostButtonText), ), backgroundColor: Colors.transparent, hoverColor: Colors.transparent, diff --git a/lib/presentation/asset_details/asset_detail_items/asset_amount_details.dart b/lib/presentation/asset_details/asset_detail_items/asset_amount_details.dart index 65d574d3..64c392e1 100644 --- a/lib/presentation/asset_details/asset_detail_items/asset_amount_details.dart +++ b/lib/presentation/asset_details/asset_detail_items/asset_amount_details.dart @@ -1,4 +1,7 @@ +// Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: import 'package:ribn_toolkit/constants/styles.dart'; /// One of the asset details displayed on [AssetDetailsPage]. diff --git a/lib/presentation/asset_details/asset_detail_items/asset_code_details.dart b/lib/presentation/asset_details/asset_detail_items/asset_code_details.dart index 052487c1..89875e8e 100644 --- a/lib/presentation/asset_details/asset_detail_items/asset_code_details.dart +++ b/lib/presentation/asset_details/asset_detail_items/asset_code_details.dart @@ -1,11 +1,16 @@ +// Flutter imports: import 'package:flutter/material.dart'; -import 'package:ribn/constants/assets.dart'; -import 'package:ribn/constants/strings.dart'; -import 'package:ribn/utils.dart'; + +// Package imports: import 'package:ribn_toolkit/constants/styles.dart'; import 'package:ribn_toolkit/widgets/atoms/custom_copy_button.dart'; import 'package:ribn_toolkit/widgets/molecules/custom_tooltip.dart'; +// Project imports: +import 'package:ribn/constants/assets.dart'; +import 'package:ribn/constants/strings.dart'; +import 'package:ribn/utils.dart'; + /// One of the asset details displayed on [AssetDetailsPage]. /// /// Displays the asset code, a tooltip with more description, and a copy button. diff --git a/lib/presentation/asset_details/asset_detail_items/asset_code_short_details.dart b/lib/presentation/asset_details/asset_detail_items/asset_code_short_details.dart index 84d3f914..e0d99e69 100644 --- a/lib/presentation/asset_details/asset_detail_items/asset_code_short_details.dart +++ b/lib/presentation/asset_details/asset_detail_items/asset_code_short_details.dart @@ -1,9 +1,14 @@ +// Flutter imports: import 'package:flutter/material.dart'; -import 'package:ribn/constants/assets.dart'; -import 'package:ribn/constants/strings.dart'; + +// Package imports: import 'package:ribn_toolkit/constants/styles.dart'; import 'package:ribn_toolkit/widgets/molecules/custom_tooltip.dart'; +// Project imports: +import 'package:ribn/constants/assets.dart'; +import 'package:ribn/constants/strings.dart'; + /// One of the asset details displayed on [AssetDetailsPage]. /// /// Displays the asset short name. diff --git a/lib/presentation/asset_details/asset_detail_items/asset_icon_details.dart b/lib/presentation/asset_details/asset_detail_items/asset_icon_details.dart index cd52c75b..9264dffd 100644 --- a/lib/presentation/asset_details/asset_detail_items/asset_icon_details.dart +++ b/lib/presentation/asset_details/asset_detail_items/asset_icon_details.dart @@ -1,4 +1,7 @@ +// Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: import 'package:ribn_toolkit/constants/assets.dart'; import 'package:ribn_toolkit/constants/colors.dart'; import 'package:ribn_toolkit/constants/styles.dart'; @@ -40,7 +43,8 @@ class AssetIconDetails extends StatelessWidget { : HoverIconButton( buttonText: Text( 'Edit', - style: RibnToolkitTextStyles.dropdownButtonStyle.copyWith(color: RibnColors.primary), + style: RibnToolkitTextStyles.dropdownButtonStyle + .copyWith(color: RibnColors.primary), ), buttonIcon: Image.asset(RibnAssets.editIcon), onPressed: onEditPressed, diff --git a/lib/presentation/asset_details/asset_detail_items/asset_long_name_details.dart b/lib/presentation/asset_details/asset_detail_items/asset_long_name_details.dart index 182809f7..88ca7594 100644 --- a/lib/presentation/asset_details/asset_detail_items/asset_long_name_details.dart +++ b/lib/presentation/asset_details/asset_detail_items/asset_long_name_details.dart @@ -1,14 +1,19 @@ // ignore_for_file: unused_import +// Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: import 'package:flutter_redux/flutter_redux.dart'; -import 'package:ribn/models/app_state.dart'; -import 'package:ribn/models/asset_details.dart'; import 'package:ribn_toolkit/constants/assets.dart'; import 'package:ribn_toolkit/constants/colors.dart'; import 'package:ribn_toolkit/constants/styles.dart'; import 'package:ribn_toolkit/widgets/atoms/hover_icon_button.dart'; +// Project imports: +import 'package:ribn/models/app_state.dart'; +import 'package:ribn/models/asset_details.dart'; + /// One of the asset details displayed on [AssetDetailsPage]. /// /// Displays the custom long name assigned to the asset. @@ -43,7 +48,8 @@ class AssetLongNameDetails extends StatelessWidget { : HoverIconButton( buttonText: Text( 'Edit', - style: RibnToolkitTextStyles.dropdownButtonStyle.copyWith(color: RibnColors.primary), + style: RibnToolkitTextStyles.dropdownButtonStyle + .copyWith(color: RibnColors.primary), ), buttonIcon: Image.asset(RibnAssets.editIcon), onPressed: onEditPressed, @@ -51,7 +57,8 @@ class AssetLongNameDetails extends StatelessWidget { ], ), const SizedBox(height: 3), - Text(currLongName ?? 'Undefined', style: RibnToolkitTextStyles.smallBody), + Text(currLongName ?? 'Undefined', + style: RibnToolkitTextStyles.smallBody), ], ); } diff --git a/lib/presentation/asset_details/asset_detail_items/asset_unit_details.dart b/lib/presentation/asset_details/asset_detail_items/asset_unit_details.dart index 05c4b223..6857de94 100644 --- a/lib/presentation/asset_details/asset_detail_items/asset_unit_details.dart +++ b/lib/presentation/asset_details/asset_detail_items/asset_unit_details.dart @@ -1,7 +1,9 @@ +// Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: import 'package:ribn_toolkit/constants/assets.dart'; import 'package:ribn_toolkit/constants/colors.dart'; - import 'package:ribn_toolkit/constants/styles.dart'; import 'package:ribn_toolkit/widgets/atoms/hover_icon_button.dart'; @@ -39,7 +41,8 @@ class AssetUnitDetails extends StatelessWidget { : HoverIconButton( buttonText: Text( 'Edit', - style: RibnToolkitTextStyles.dropdownButtonStyle.copyWith(color: RibnColors.primary), + style: RibnToolkitTextStyles.dropdownButtonStyle + .copyWith(color: RibnColors.primary), ), buttonIcon: Image.asset(RibnAssets.editIcon), onPressed: onEditPressed, diff --git a/lib/presentation/asset_details/asset_detail_items/issuer_address_details.dart b/lib/presentation/asset_details/asset_detail_items/issuer_address_details.dart index 931284d9..9130d7d7 100644 --- a/lib/presentation/asset_details/asset_detail_items/issuer_address_details.dart +++ b/lib/presentation/asset_details/asset_detail_items/issuer_address_details.dart @@ -1,12 +1,17 @@ +// Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: import 'package:flutter_svg/svg.dart'; -import 'package:ribn/constants/assets.dart'; -import 'package:ribn/constants/strings.dart'; -import 'package:ribn/utils.dart'; import 'package:ribn_toolkit/constants/styles.dart'; import 'package:ribn_toolkit/widgets/atoms/custom_copy_button.dart'; import 'package:ribn_toolkit/widgets/molecules/custom_tooltip.dart'; +// Project imports: +import 'package:ribn/constants/assets.dart'; +import 'package:ribn/constants/strings.dart'; +import 'package:ribn/utils.dart'; + class IssuerAddressDetails extends StatelessWidget { final String issuerAddress; const IssuerAddressDetails({ diff --git a/lib/presentation/asset_details/asset_details_page.dart b/lib/presentation/asset_details/asset_details_page.dart index 7f6d40fd..d9801f0a 100644 --- a/lib/presentation/asset_details/asset_details_page.dart +++ b/lib/presentation/asset_details/asset_details_page.dart @@ -1,6 +1,13 @@ -import 'package:brambldart/brambldart.dart'; +// Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: +import 'package:brambldart/brambldart.dart'; import 'package:flutter_redux/flutter_redux.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/widgets/organisms/custom_page_text_title.dart'; + +// Project imports: import 'package:ribn/constants/routes.dart'; import 'package:ribn/constants/strings.dart'; import 'package:ribn/models/app_state.dart'; @@ -16,8 +23,6 @@ import 'package:ribn/presentation/asset_details/asset_detail_items/asset_long_na import 'package:ribn/presentation/asset_details/asset_detail_items/asset_unit_details.dart'; import 'package:ribn/presentation/asset_details/asset_detail_items/issuer_address_details.dart'; import 'package:ribn/widgets/custom_divider.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/widgets/organisms/custom_page_text_title.dart'; /// This page presents all details associated with an asset. /// @@ -64,7 +69,8 @@ class _AssetDetailsPageState extends State with RouteAware { /// /// When the user wants to edit an item on the page, [editSectionOverlay] is assigned the appropriate widget and displayed /// on the page. See [_buildEditSectionOverlay]. - OverlayEntry editSectionOverlay = OverlayEntry(builder: (context) => const SizedBox()); + OverlayEntry editSectionOverlay = + OverlayEntry(builder: (context) => const SizedBox()); /// True if the asset unit section is being edited. bool editingAssetUnit = false; @@ -100,7 +106,8 @@ class _AssetDetailsPageState extends State with RouteAware { Widget build(BuildContext context) { return StoreConnector( // Get access to AssetDetails for this asset from the store - converter: (store) => store.state.userDetailsState.assetDetails[widget.assetCode], + converter: (store) => + store.state.userDetailsState.assetDetails[widget.assetCode], builder: (context, assetDetails) { return Listener( onPointerDown: (_) { @@ -118,10 +125,12 @@ class _AssetDetailsPageState extends State with RouteAware { ), const SizedBox(height: 40), Container( - padding: const EdgeInsets.symmetric(horizontal: 20, vertical: 10), + padding: const EdgeInsets.symmetric( + horizontal: 20, vertical: 10), width: 309, decoration: BoxDecoration( - borderRadius: const BorderRadius.all(Radius.circular(11.6)), + borderRadius: + const BorderRadius.all(Radius.circular(11.6)), color: RibnColors.whiteBackground, border: Border.all(color: RibnColors.lightGrey, width: 1), boxShadow: const [ @@ -148,7 +157,8 @@ class _AssetDetailsPageState extends State with RouteAware { key: assetUnitKey, currUnit: assetDetails?.unit, editingSectionOpened: editingAssetUnit, - onEditPressed: () => _onEditPressed(key: assetUnitKey, assetDetails: assetDetails), + onEditPressed: () => _onEditPressed( + key: assetUnitKey, assetDetails: assetDetails), ), _buildDivider(), // asset long name display - can be edited @@ -156,7 +166,9 @@ class _AssetDetailsPageState extends State with RouteAware { key: assetLongNameKey, currLongName: assetDetails?.longName, editingSectionOpened: editingAssetLongName, - onEditPressed: () => _onEditPressed(key: assetLongNameKey, assetDetails: assetDetails), + onEditPressed: () => _onEditPressed( + key: assetLongNameKey, + assetDetails: assetDetails), ), _buildDivider(), // asset icon display - can be edited @@ -164,11 +176,13 @@ class _AssetDetailsPageState extends State with RouteAware { key: assetIconKey, currIcon: assetDetails?.icon, editingSectionOpened: editingAssetIcon, - onEditPressed: () => _onEditPressed(key: assetIconKey, assetDetails: assetDetails), + onEditPressed: () => _onEditPressed( + key: assetIconKey, assetDetails: assetDetails), ), _buildDivider(), // asset issuer address display - IssuerAddressDetails(issuerAddress: widget.issuerAddress), + IssuerAddressDetails( + issuerAddress: widget.issuerAddress), _buildDivider(), // asset code display AssetCodeDetails(assetCode: widget.assetCode), @@ -192,7 +206,8 @@ class _AssetDetailsPageState extends State with RouteAware { required GlobalKey key, required Widget editSection, }) async { - final RenderBox renderbox = key.currentContext!.findRenderObject() as RenderBox; + final RenderBox renderbox = + key.currentContext!.findRenderObject() as RenderBox; final Offset offset = renderbox.localToGlobal(Offset.zero); resetOverlays(); editSectionOverlay = OverlayEntry( diff --git a/lib/presentation/authorize_and_sign/connect_dapp.dart b/lib/presentation/authorize_and_sign/connect_dapp.dart index fdf62786..e8262857 100644 --- a/lib/presentation/authorize_and_sign/connect_dapp.dart +++ b/lib/presentation/authorize_and_sign/connect_dapp.dart @@ -1,18 +1,22 @@ +// Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; + +// Package imports: import 'package:flutter_redux/flutter_redux.dart'; -import 'package:ribn/actions/internal_message_actions.dart'; -import 'package:ribn/constants/assets.dart'; -import 'package:ribn/constants/strings.dart'; -import 'package:ribn/models/app_state.dart'; -import 'package:ribn/presentation/authorize_and_sign/input_dropdown_wrapper.dart'; -import 'package:ribn/presentation/transfers/bottom_review_action.dart'; import 'package:ribn_toolkit/constants/colors.dart'; import 'package:ribn_toolkit/constants/styles.dart'; import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; import 'package:ribn_toolkit/widgets/molecules/checkbox_wrappable_text.dart'; import 'package:ribn_toolkit/widgets/organisms/custom_page_text_title_with_leading_child.dart'; +// Project imports: +import 'package:ribn/actions/internal_message_actions.dart'; +import 'package:ribn/constants/assets.dart'; +import 'package:ribn/constants/strings.dart'; +import 'package:ribn/models/app_state.dart'; +import 'package:ribn/presentation/authorize_and_sign/input_dropdown_wrapper.dart'; +import 'package:ribn/presentation/transfers/bottom_review_action.dart'; import '../../models/internal_message.dart'; class ConnectDApp extends StatefulWidget { diff --git a/lib/presentation/authorize_and_sign/input_dropdown_wrapper.dart b/lib/presentation/authorize_and_sign/input_dropdown_wrapper.dart index 6e9515f1..01131750 100644 --- a/lib/presentation/authorize_and_sign/input_dropdown_wrapper.dart +++ b/lib/presentation/authorize_and_sign/input_dropdown_wrapper.dart @@ -1,11 +1,18 @@ +// Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: +import 'package:ribn_toolkit/widgets/molecules/input_dropdown.dart'; + +// Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/containers/ribn_app_bar_container.dart'; -import 'package:ribn_toolkit/widgets/molecules/input_dropdown.dart'; + // import 'package:ribn_toolkit/widgets/organisms/ribn_app_bar.dart'; /// Builds a wrapper around the AppBar from ToplToolkit to provide ViewModel & AppBarContainer -class InputDropdownWrapper extends StatefulWidget implements PreferredSizeWidget { +class InputDropdownWrapper extends StatefulWidget + implements PreferredSizeWidget { const InputDropdownWrapper({ Key? key, }) : preferredSize = const Size.fromHeight(40), diff --git a/lib/presentation/authorize_and_sign/loading_dapp.dart b/lib/presentation/authorize_and_sign/loading_dapp.dart index b34671ae..9041597c 100644 --- a/lib/presentation/authorize_and_sign/loading_dapp.dart +++ b/lib/presentation/authorize_and_sign/loading_dapp.dart @@ -1,15 +1,20 @@ - +// Dart imports: import 'dart:async'; +// Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: import 'package:flutter_redux/flutter_redux.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/widgets/molecules/animated_circle_step_loader.dart'; + +// Project imports: import 'package:ribn/actions/transaction_actions.dart'; import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/strings.dart'; import 'package:ribn/models/app_state.dart'; import 'package:ribn/models/internal_message.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/widgets/molecules/animated_circle_step_loader.dart'; class LoadingDApp extends StatefulWidget { const LoadingDApp({Key? key, required this.response}) : super(key: key); @@ -21,8 +26,6 @@ class LoadingDApp extends StatefulWidget { } class _LoadingDAppState extends State { - - @override void initState() { super.initState(); @@ -31,10 +34,8 @@ class _LoadingDAppState extends State { .dispatch(SignExternalTxAction(widget.response)); Navigator.of(context).pop(); }); - } - @override Widget build(BuildContext context) { const String mockFaviconUrl = ''; @@ -128,5 +129,4 @@ class _LoadingDAppState extends State { ), ); } - } diff --git a/lib/presentation/authorize_and_sign/review_and_sign.dart b/lib/presentation/authorize_and_sign/review_and_sign.dart index b382b250..f6a2a084 100644 --- a/lib/presentation/authorize_and_sign/review_and_sign.dart +++ b/lib/presentation/authorize_and_sign/review_and_sign.dart @@ -1,15 +1,12 @@ +// Dart imports: import 'dart:convert'; +// Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; + +// Package imports: import 'package:flutter_redux/flutter_redux.dart'; -import 'package:ribn/constants/assets.dart'; -import 'package:ribn/constants/strings.dart'; -import 'package:ribn/models/raw_tx.dart'; -import 'package:ribn/presentation/authorize_and_sign/input_dropdown_wrapper.dart'; -import 'package:ribn/presentation/authorize_and_sign/transaction_row_details.dart'; -import 'package:ribn/presentation/transfers/bottom_review_action.dart'; -import 'package:ribn/widgets/fee_info.dart'; import 'package:ribn_toolkit/constants/colors.dart'; import 'package:ribn_toolkit/constants/styles.dart'; import 'package:ribn_toolkit/widgets/atoms/animated_expand_button.dart'; @@ -17,6 +14,14 @@ import 'package:ribn_toolkit/widgets/atoms/custom_copy_button.dart'; import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; import 'package:ribn_toolkit/widgets/organisms/custom_page_text_title_with_leading_child.dart'; +// Project imports: +import 'package:ribn/constants/assets.dart'; +import 'package:ribn/constants/strings.dart'; +import 'package:ribn/models/raw_tx.dart'; +import 'package:ribn/presentation/authorize_and_sign/input_dropdown_wrapper.dart'; +import 'package:ribn/presentation/authorize_and_sign/transaction_row_details.dart'; +import 'package:ribn/presentation/transfers/bottom_review_action.dart'; +import 'package:ribn/widgets/fee_info.dart'; import '../../actions/internal_message_actions.dart'; import '../../constants/routes.dart'; import '../../models/app_state.dart'; diff --git a/lib/presentation/authorize_and_sign/transaction_row_details.dart b/lib/presentation/authorize_and_sign/transaction_row_details.dart index 01cb73fe..c38ad340 100644 --- a/lib/presentation/authorize_and_sign/transaction_row_details.dart +++ b/lib/presentation/authorize_and_sign/transaction_row_details.dart @@ -1,9 +1,14 @@ +// Flutter imports: import 'package:flutter/material.dart'; -import 'package:ribn/constants/assets.dart'; -import 'package:ribn/constants/strings.dart'; + +// Package imports: import 'package:ribn_toolkit/constants/colors.dart'; import 'package:ribn_toolkit/constants/styles.dart'; +// Project imports: +import 'package:ribn/constants/assets.dart'; +import 'package:ribn/constants/strings.dart'; + class TransactionRowDetails extends StatelessWidget { const TransactionRowDetails({ required this.quantity, @@ -61,11 +66,14 @@ class TransactionRowDetails extends StatelessWidget { Row( children: [ Image.asset( - isPolyTransfer ? RibnAssets.polyIconCircle : RibnAssets.undefinedIcon, + isPolyTransfer + ? RibnAssets.polyIconCircle + : RibnAssets.undefinedIcon, width: 23, ), const SizedBox(width: 5), - Text(isPolyTransfer ? 'POLY' : 'OTHER ASSET', style: defaultTextStyle), + Text(isPolyTransfer ? 'POLY' : 'OTHER ASSET', + style: defaultTextStyle), ], ) ], diff --git a/lib/presentation/empty_state_screen.dart b/lib/presentation/empty_state_screen.dart index aad9f08c..02e796ad 100644 --- a/lib/presentation/empty_state_screen.dart +++ b/lib/presentation/empty_state_screen.dart @@ -1,5 +1,8 @@ +// Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; + +// Package imports: import 'package:ribn_toolkit/constants/colors.dart'; import 'package:ribn_toolkit/constants/styles.dart'; import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; @@ -10,8 +13,6 @@ class EmptyStateScreen extends StatelessWidget { final dynamic body; final String buttonOneText; final void Function() buttonOneAction; - final String buttonTwoText; - final void Function() buttonTwoAction; final dynamic mobileHeight; final dynamic desktopHeight; @@ -21,8 +22,6 @@ class EmptyStateScreen extends StatelessWidget { required this.body, required this.buttonOneText, required this.buttonOneAction, - required this.buttonTwoText, - required this.buttonTwoAction, required this.mobileHeight, required this.desktopHeight, Key? key, @@ -41,7 +40,12 @@ class EmptyStateScreen extends StatelessWidget { padding: EdgeInsets.zero, decoration: BoxDecoration( color: RibnColors.paleGreen, - boxShadow: [BoxShadow(color: RibnColors.paleGreen.withOpacity(1), blurRadius: 8, spreadRadius: 8)], + boxShadow: [ + BoxShadow( + color: RibnColors.paleGreen.withOpacity(1), + blurRadius: 8, + spreadRadius: 8) + ], ), width: width - 20, height: kIsWeb ? desktopHeight : mobileHeight, @@ -74,29 +78,15 @@ class EmptyStateScreen extends StatelessWidget { ), Wrap( children: [ - LargeButton( - buttonWidth: buttonWidth, - buttonHeight: buttonHeight, - backgroundColor: RibnColors.primary, - onPressed: buttonOneAction, - buttonChild: Text( - buttonOneText, - style: RibnToolkitTextStyles.btnMedium.copyWith( - color: Colors.white, - fontWeight: FontWeight.w500, - ), - ), - ), - const SizedBox(width: 20), LargeButton( buttonWidth: buttonWidth, buttonHeight: buttonHeight, borderColor: const Color(0xff165867), backgroundColor: Colors.transparent, dropShadowColor: Colors.transparent, - onPressed: buttonTwoAction, + onPressed: buttonOneAction, buttonChild: Text( - buttonTwoText, + buttonOneText, style: RibnToolkitTextStyles.btnMedium.copyWith( color: RibnColors.primary, fontWeight: FontWeight.w500, diff --git a/lib/presentation/enable_page.dart b/lib/presentation/enable_page.dart index 7b0d9808..36489547 100644 --- a/lib/presentation/enable_page.dart +++ b/lib/presentation/enable_page.dart @@ -1,10 +1,15 @@ +// Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: import 'package:flutter_redux/flutter_redux.dart'; +import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; + +// Project imports: import 'package:ribn/actions/internal_message_actions.dart'; import 'package:ribn/constants/ui_constants.dart'; import 'package:ribn/models/app_state.dart'; import 'package:ribn/models/internal_message.dart'; -import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; class EnablePage extends StatelessWidget { final InternalMessage pendingRequest; @@ -49,10 +54,18 @@ class EnablePage extends StatelessWidget { sender: InternalMessage.defaultSender, data: { 'enabled': accept, - 'walletAddress': StoreProvider.of(context).state.keychainState.currentNetwork.addresses.first.toplAddress.toBase58() + 'walletAddress': StoreProvider.of(context) + .state + .keychainState + .currentNetwork + .addresses + .first + .toplAddress + .toBase58() }, ); } - StoreProvider.of(context).dispatch(SendInternalMsgAction(response)); + StoreProvider.of(context) + .dispatch(SendInternalMsgAction(response)); } } diff --git a/lib/presentation/error_section.dart b/lib/presentation/error_section.dart index b633c301..29631b50 100644 --- a/lib/presentation/error_section.dart +++ b/lib/presentation/error_section.dart @@ -1,11 +1,16 @@ +// Flutter imports: import 'package:flutter/material.dart'; -import 'package:ribn/constants/assets.dart'; -import 'package:ribn/constants/strings.dart'; + +// Package imports: import 'package:ribn_toolkit/constants/colors.dart'; import 'package:ribn_toolkit/constants/styles.dart'; import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; import 'package:url_launcher/url_launcher_string.dart'; +// Project imports: +import 'package:ribn/constants/assets.dart'; +import 'package:ribn/constants/strings.dart'; + /// A generic error section that is displayed in case of unexpected errors. class ErrorSection extends StatelessWidget { final VoidCallback onTryAgain; diff --git a/lib/presentation/external_signing_page.dart b/lib/presentation/external_signing_page.dart index bd2f4aaf..5b35acf0 100644 --- a/lib/presentation/external_signing_page.dart +++ b/lib/presentation/external_signing_page.dart @@ -1,5 +1,10 @@ +// Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: import 'package:flutter_redux/flutter_redux.dart'; + +// Project imports: import 'package:ribn/actions/transaction_actions.dart'; import 'package:ribn/constants/strings.dart'; import 'package:ribn/models/app_state.dart'; @@ -36,7 +41,8 @@ class _ExternalSigningPageState extends State { color: Colors.blue, child: const Text(Strings.sign), onPressed: () { - StoreProvider.of(context).dispatch(SignExternalTxAction(widget.request)); + StoreProvider.of(context) + .dispatch(SignExternalTxAction(widget.request)); }, ), ], diff --git a/lib/presentation/home/home_page.dart b/lib/presentation/home/home_page.dart index ab53cd41..9e3875ee 100644 --- a/lib/presentation/home/home_page.dart +++ b/lib/presentation/home/home_page.dart @@ -1,10 +1,15 @@ +// Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/widgets/organisms/ribn_bottom_app_bar_v2.dart'; + +// Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/presentation/home/wallet_balance_page.dart'; import 'package:ribn/presentation/transaction_history/transaction_history_page.dart'; import 'package:ribn/widgets/ribn_app_bar_wapper.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/widgets/organisms/ribn_bottom_app_barV2.dart'; /// The 'home page' of Ribn. /// diff --git a/lib/presentation/home/wallet_balance_page.dart b/lib/presentation/home/wallet_balance_page.dart index 5d6b23d2..df829bed 100644 --- a/lib/presentation/home/wallet_balance_page.dart +++ b/lib/presentation/home/wallet_balance_page.dart @@ -1,5 +1,16 @@ -import 'package:brambldart/brambldart.dart'; +// Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: +import 'package:brambldart/brambldart.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; +import 'package:ribn_toolkit/widgets/molecules/asset_card.dart'; +import 'package:ribn_toolkit/widgets/molecules/custom_tooltip.dart'; +import 'package:ribn_toolkit/widgets/molecules/wave_container.dart'; + +// Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/keys.dart'; import 'package:ribn/constants/routes.dart'; @@ -10,12 +21,7 @@ import 'package:ribn/presentation/empty_state_screen.dart'; import 'package:ribn/presentation/error_section.dart'; import 'package:ribn/presentation/home/wallet_balance_shimmer.dart'; import 'package:ribn/utils.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; -import 'package:ribn_toolkit/widgets/molecules/asset_card.dart'; -import 'package:ribn_toolkit/widgets/molecules/custom_tooltip.dart'; -import 'package:ribn_toolkit/widgets/molecules/wave_container.dart'; + // import 'package:url_launcher/url_launcher.dart'; /// One of the 3 main pages on the home screen. @@ -68,39 +74,43 @@ class _WalletBalancePageState extends State { onWillChange: (prevVm, currVm) { // refresh balances on network toggle or when new addresses are generated final bool shouldRefresh = currVm.walletExists && - (prevVm?.currentNetwork.networkName != currVm.currentNetwork.networkName || - prevVm?.currentNetwork.lastCheckedTimestamp != currVm.currentNetwork.lastCheckedTimestamp || - prevVm?.currentNetwork.addresses.length != currVm.currentNetwork.addresses.length); + (prevVm?.currentNetwork.networkName != + currVm.currentNetwork.networkName || + prevVm?.currentNetwork.lastCheckedTimestamp != + currVm.currentNetwork.lastCheckedTimestamp || + prevVm?.currentNetwork.addresses.length != + currVm.currentNetwork.addresses.length); if (shouldRefresh) refreshBalances(currVm); }, - builder: (BuildContext context, WalletBalanceViewModel vm) => _failedToFetchBalances - ? Center( - child: ErrorSection( - onTryAgain: () => refreshBalances(vm), - ), - ) - : RefreshIndicator( - backgroundColor: RibnColors.primary, - color: RibnColors.secondaryDark, - onRefresh: () async { - return refreshBalances(vm); - }, - child: SingleChildScrollView( - child: Listener( - onPointerDown: (_) { - if (mounted) setState(() {}); + builder: (BuildContext context, WalletBalanceViewModel vm) => + _failedToFetchBalances + ? Center( + child: ErrorSection( + onTryAgain: () => refreshBalances(vm), + ), + ) + : RefreshIndicator( + backgroundColor: RibnColors.primary, + color: RibnColors.secondaryDark, + onRefresh: () async { + return refreshBalances(vm); }, - child: Column( - children: _fetchingBalances - ? [const WalletBalanceShimmer()] - : [ - _buildPolyContainer(vm), - _buildAssetsListView(vm), - ], + child: SingleChildScrollView( + child: Listener( + onPointerDown: (_) { + if (mounted) setState(() {}); + }, + child: Column( + children: _fetchingBalances + ? [const WalletBalanceShimmer()] + : [ + _buildPolyContainer(vm), + _buildAssetsListView(vm), + ], + ), + ), ), ), - ), - ), ); } @@ -123,7 +133,9 @@ class _WalletBalancePageState extends State { style: RibnToolkitTextStyles.toolTipTextStyle, children: [ TextSpan( - text: hasPolys ? Strings.refillCurrentPolyBalance : Strings.refillEmptyPolyBalance, + text: hasPolys + ? Strings.refillCurrentPolyBalance + : Strings.refillEmptyPolyBalance, ), WidgetSpan( child: GestureDetector( @@ -164,7 +176,8 @@ class _WalletBalancePageState extends State { _fetchingBalances ? const CircularProgressIndicator() : _failedToFetchBalances - ? const Text('Network Failure', style: TextStyle(color: Colors.red)) + ? const Text('Network Failure', + style: TextStyle(color: Colors.red)) : Row( mainAxisAlignment: MainAxisAlignment.center, children: [ @@ -219,16 +232,8 @@ class _WalletBalancePageState extends State { icon: RibnAssets.walletWithBorder, title: Strings.noAssetsInWallet, body: emptyStateBody, - buttonOneText: 'Mint', - buttonOneAction: () => Keys.navigatorKey.currentState?.pushNamed( - Routes.mintInput, - arguments: { - 'mintingNewAsset': true, - 'mintingToMyWallet': true, - }, - ), - buttonTwoText: 'Share', - buttonTwoAction: () async => await showReceivingAddress(), + buttonOneText: 'Share', + buttonOneAction: () async => await showReceivingAddress(), mobileHeight: MediaQuery.of(context).size.height * 0.5, desktopHeight: 258, ); @@ -282,10 +287,13 @@ class _WalletBalancePageState extends State { required Function(AssetAmount) viewAssetDetails, }) { final String assetIcon = assetDetails?.icon ?? RibnAssets.undefinedIcon; - final String assetUnit = assetDetails?.unit != null ? formatAssetUnit(assetDetails!.unit) : 'Unit'; + final String assetUnit = assetDetails?.unit != null + ? formatAssetUnit(assetDetails!.unit) + : 'Unit'; final String assetLongName = assetDetails?.longName ?? ''; - final bool isMissingAssetDetails = - assetIcon == RibnAssets.undefinedIcon || assetUnit == 'Unit' || assetLongName.isEmpty; + final bool isMissingAssetDetails = assetIcon == RibnAssets.undefinedIcon || + assetUnit == 'Unit' || + assetLongName.isEmpty; return AssetCard( onCardPress: () => viewAssetDetails(asset), @@ -329,7 +337,8 @@ class _WalletBalancePageState extends State { buttonChild: Row( mainAxisAlignment: MainAxisAlignment.center, children: [ - Text(label, style: RibnToolkitTextStyles.h4.copyWith(color: Colors.white)), + Text(label, + style: RibnToolkitTextStyles.h4.copyWith(color: Colors.white)), ], ), ), diff --git a/lib/presentation/home/wallet_balance_shimmer.dart b/lib/presentation/home/wallet_balance_shimmer.dart index cbd71f43..9c34a3d6 100644 --- a/lib/presentation/home/wallet_balance_shimmer.dart +++ b/lib/presentation/home/wallet_balance_shimmer.dart @@ -1,4 +1,7 @@ +// Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: import 'package:ribn_toolkit/widgets/molecules/shimmer_loader.dart'; class WalletBalanceShimmer extends StatelessWidget { diff --git a/lib/presentation/login/login_page.dart b/lib/presentation/login/login_page.dart index a2d7f12e..20b6f929 100644 --- a/lib/presentation/login/login_page.dart +++ b/lib/presentation/login/login_page.dart @@ -1,10 +1,22 @@ -import 'package:bip_topl/bip_topl.dart'; +// Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; + +// Package imports: +import 'package:bip_topl/bip_topl.dart'; import 'package:flutter_redux/flutter_redux.dart'; import 'package:loader_overlay/loader_overlay.dart'; import 'package:local_auth/local_auth.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; +import 'package:ribn_toolkit/widgets/molecules/custom_tooltip.dart'; +import 'package:ribn_toolkit/widgets/molecules/password_text_field.dart'; +import 'package:ribn_toolkit/widgets/molecules/wave_container.dart'; +import 'package:url_launcher/url_launcher.dart'; + +// Project imports: import 'package:ribn/actions/keychain_actions.dart'; import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/keys.dart'; @@ -15,13 +27,6 @@ import 'package:ribn/models/app_state.dart'; import 'package:ribn/platform/platform.dart'; import 'package:ribn/presentation/onboarding/utils.dart'; import 'package:ribn/utils.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; -import 'package:ribn_toolkit/widgets/molecules/custom_tooltip.dart'; -import 'package:ribn_toolkit/widgets/molecules/password_text_field.dart'; -import 'package:ribn_toolkit/widgets/molecules/wave_container.dart'; -import 'package:url_launcher/url_launcher.dart'; /// Builds the login page. /// @@ -53,7 +58,8 @@ class _LoginPageState extends State { bool authenticated = false; try { authenticated = await authenticateWithBiometrics(_localAuthentication); - final String toplKey = (await PlatformLocalStorage.instance.getKeyFromSecureStorage())!; + final String toplKey = + (await PlatformLocalStorage.instance.getKeyFromSecureStorage())!; if (authenticated) { StoreProvider.of(context).dispatch( InitializeHDWalletAction( @@ -79,7 +85,10 @@ class _LoginPageState extends State { void _checkBiometrics(LoginViewModel vm) { if (vm.isBiometricsEnabled) { _biometricsLogin().then( - (value) => {if (_authorized) Keys.navigatorKey.currentState?.pushReplacementNamed(Routes.home)}, + (value) => { + if (_authorized) + Keys.navigatorKey.currentState?.pushReplacementNamed(Routes.home) + }, ); } } @@ -120,14 +129,17 @@ class _LoginPageState extends State { containerWidth: adaptWidth(1), waveAmplitude: 30, containerChild: Column( - mainAxisAlignment: kIsWeb ? MainAxisAlignment.start : MainAxisAlignment.spaceAround, + mainAxisAlignment: kIsWeb + ? MainAxisAlignment.start + : MainAxisAlignment.spaceAround, crossAxisAlignment: CrossAxisAlignment.center, children: [ Column( children: [ SizedBox(height: deviceTopPadding()), renderIfWeb(const SizedBox(height: 40)), - Image.asset(RibnAssets.newRibnLogo, width: kIsWeb ? 102 : 138), + Image.asset(RibnAssets.newRibnLogo, + width: kIsWeb ? 102 : 138), Text( Strings.ribnWallet, style: RibnToolkitTextStyles.h1.copyWith( @@ -166,7 +178,9 @@ class _LoginPageState extends State { ), ], ), - kIsWeb ? const SizedBox(height: 40) : const SizedBox(height: 25), + kIsWeb + ? const SizedBox(height: 40) + : const SizedBox(height: 25), LargeButton( backgroundColor: RibnColors.primary, dropShadowColor: RibnColors.whiteButtonShadow, @@ -272,7 +286,8 @@ class _LoginPageState extends State { children: [ TextSpan( text: Strings.forgotPassword, - recognizer: TapGestureRecognizer()..onTap = () => onButtonPress(), + recognizer: TapGestureRecognizer() + ..onTap = () => onButtonPress(), ) ], ), diff --git a/lib/presentation/onboarding/create_wallet/create_password_page.dart b/lib/presentation/onboarding/create_wallet/create_password_page.dart index c433c28f..c5e9440e 100644 --- a/lib/presentation/onboarding/create_wallet/create_password_page.dart +++ b/lib/presentation/onboarding/create_wallet/create_password_page.dart @@ -1,7 +1,17 @@ +// Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; + +// Package imports: import 'package:loader_overlay/loader_overlay.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/molecules/checkbox_wrappable_text.dart'; +import 'package:ribn_toolkit/widgets/molecules/password_text_field.dart'; +import 'package:url_launcher/url_launcher.dart'; + +// Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/routes.dart'; import 'package:ribn/constants/strings.dart'; @@ -12,11 +22,6 @@ import 'package:ribn/presentation/onboarding/widgets/mobile_onboarding_progress_ import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; import 'package:ribn/presentation/onboarding/widgets/web_onboarding_app_bar.dart'; import 'package:ribn/utils.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/molecules/checkbox_wrappable_text.dart'; -import 'package:ribn_toolkit/widgets/molecules/password_text_field.dart'; -import 'package:url_launcher/url_launcher.dart'; class CreatePasswordPage extends StatefulWidget { const CreatePasswordPage({Key? key}) : super(key: key); @@ -29,7 +34,8 @@ class _CreatePasswordPageState extends State { final FocusNode _newPasswordFocus = FocusNode(); final FocusNode _confirmPasswordFocus = FocusNode(); final TextEditingController _newPasswordController = TextEditingController(); - final TextEditingController _confirmPasswordController = TextEditingController(); + final TextEditingController _confirmPasswordController = + TextEditingController(); bool _termsOfUseChecked = false; bool _atLeast8Chars = false; bool _passwordsMatch = false; @@ -38,15 +44,20 @@ class _CreatePasswordPageState extends State { void initState() { [_newPasswordFocus, _newPasswordController].toList().forEach((elem) { elem.addListener(() { - if (!_newPasswordFocus.hasPrimaryFocus || _newPasswordController.text.length >= 8) { - _atLeast8Chars = _newPasswordController.text.isNotEmpty && _newPasswordController.text.length >= 8; + if (!_newPasswordFocus.hasPrimaryFocus || + _newPasswordController.text.length >= 8) { + _atLeast8Chars = _newPasswordController.text.isNotEmpty && + _newPasswordController.text.length >= 8; setState(() {}); } }); }); - [_confirmPasswordFocus, _confirmPasswordController].toList().forEach((elem) { + [_confirmPasswordFocus, _confirmPasswordController] + .toList() + .forEach((elem) { elem.addListener(() { - if (!_confirmPasswordFocus.hasPrimaryFocus || _confirmPasswordController.text == _newPasswordController.text) { + if (!_confirmPasswordFocus.hasPrimaryFocus || + _confirmPasswordController.text == _newPasswordController.text) { _passwordsMatch = _confirmPasswordController.text.isNotEmpty && _confirmPasswordController.text == _newPasswordController.text; setState(() {}); @@ -60,7 +71,8 @@ class _CreatePasswordPageState extends State { Widget build(BuildContext context) { return CreatePasswordContainer( onDidChange: (prevVm, newVm) { - if (prevVm?.keyStoreJson != newVm.keyStoreJson && newVm.passwordSuccessfullyCreated) { + if (prevVm?.keyStoreJson != newVm.keyStoreJson && + newVm.passwordSuccessfullyCreated) { context.loaderOverlay.hide(); navigateToRoute(context, Routes.walletInfoChecklist); } @@ -104,7 +116,9 @@ class _CreatePasswordPageState extends State { SizedBox(height: adaptHeight(0.02)), CheckboxWrappableText( wrapText: false, - borderColor: _termsOfUseChecked ? const Color(0xff80FF00) : RibnColors.lightGreyTitle, + borderColor: _termsOfUseChecked + ? const Color(0xff80FF00) + : RibnColors.lightGreyTitle, value: _termsOfUseChecked, onChanged: (bool? checked) { setState(() { @@ -131,7 +145,8 @@ class _CreatePasswordPageState extends State { ), recognizer: TapGestureRecognizer() ..onTap = () async { - final Uri url = Uri.parse(Strings.termsOfUseUrl); + final Uri url = + Uri.parse(Strings.termsOfUseUrl); await launchUrl(url); }, @@ -145,10 +160,13 @@ class _CreatePasswordPageState extends State { ), ), const SizedBox(height: 40), - renderIfMobile(const MobileOnboardingProgressBar(currStep: 2)), + renderIfMobile( + const MobileOnboardingProgressBar(currStep: 2)), ConfirmationButton( text: Strings.done, - disabled: !_atLeast8Chars || !_passwordsMatch || !_termsOfUseChecked, + disabled: !_atLeast8Chars || + !_passwordsMatch || + !_termsOfUseChecked, onPressed: () { context.loaderOverlay.show(); vm.attemptCreatePassword(_confirmPasswordController.text); @@ -197,7 +215,9 @@ class _CreatePasswordPageState extends State { Strings.atLeast8Chars, textAlign: TextAlign.left, style: RibnToolkitTextStyles.h3.copyWith( - color: !_atLeast8Chars && _newPasswordController.text.isNotEmpty ? Colors.red : Colors.white, + color: !_atLeast8Chars && _newPasswordController.text.isNotEmpty + ? Colors.red + : Colors.white, ), ), ), @@ -248,7 +268,10 @@ class _CreatePasswordPageState extends State { Strings.passwordsMustMatch, textAlign: TextAlign.left, style: RibnToolkitTextStyles.h3.copyWith( - color: !_passwordsMatch && _confirmPasswordController.text.isNotEmpty ? Colors.red : Colors.white, + color: + !_passwordsMatch && _confirmPasswordController.text.isNotEmpty + ? Colors.red + : Colors.white, ), ), ), diff --git a/lib/presentation/onboarding/create_wallet/enable_biometrics_page.dart b/lib/presentation/onboarding/create_wallet/enable_biometrics_page.dart index 943a86bf..cd626d19 100644 --- a/lib/presentation/onboarding/create_wallet/enable_biometrics_page.dart +++ b/lib/presentation/onboarding/create_wallet/enable_biometrics_page.dart @@ -1,10 +1,20 @@ +// Dart imports: import 'dart:io' show Platform; -import 'package:app_settings/app_settings.dart'; +// Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; + +// Package imports: +import 'package:app_settings/app_settings.dart'; import 'package:flutter_redux/flutter_redux.dart'; import 'package:local_auth/local_auth.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/custom_icon_button.dart'; +import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; + +// Project imports: import 'package:ribn/actions/user_details_actions.dart'; import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/keys.dart'; @@ -14,10 +24,6 @@ import 'package:ribn/models/app_state.dart'; import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; import 'package:ribn/presentation/transfers/bottom_review_action.dart'; import 'package:ribn/utils.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/custom_icon_button.dart'; -import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; class EnableBiometrics extends StatefulWidget { const EnableBiometrics({Key? key}) : super(key: key); @@ -100,7 +106,8 @@ class _EnableBiometricsState extends State { children: [ CustomIconButton( onPressed: () { - Keys.navigatorKey.currentState?.pushNamed(Routes.walletCreated); + Keys.navigatorKey.currentState + ?.pushNamed(Routes.walletCreated); }, icon: const Icon( Icons.close, @@ -119,7 +126,9 @@ class _EnableBiometricsState extends State { Padding( padding: const EdgeInsets.only(top: 30.0, bottom: 45), child: Image.asset( - Platform.isIOS ? RibnAssets.iosBiometrics : RibnAssets.andriodBiometrics, + Platform.isIOS + ? RibnAssets.iosBiometrics + : RibnAssets.andriodBiometrics, width: 111, ), ), @@ -152,7 +161,11 @@ class _EnableBiometricsState extends State { ), onPressed: () { runBiometrics(_localAuthentication).then( - (value) => {if (_authorized) Keys.navigatorKey.currentState?.pushNamed(Routes.walletCreated)}, + (value) => { + if (_authorized) + Keys.navigatorKey.currentState + ?.pushNamed(Routes.walletCreated) + }, ); }, backgroundColor: RibnColors.primary, diff --git a/lib/presentation/onboarding/create_wallet/getting_started_page.dart b/lib/presentation/onboarding/create_wallet/getting_started_page.dart index ff40f7b1..96b22aa4 100644 --- a/lib/presentation/onboarding/create_wallet/getting_started_page.dart +++ b/lib/presentation/onboarding/create_wallet/getting_started_page.dart @@ -1,5 +1,12 @@ +// Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; + +// Package imports: +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; + +// Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/keys.dart'; import 'package:ribn/constants/routes.dart'; @@ -8,8 +15,6 @@ import 'package:ribn/presentation/onboarding/utils.dart'; import 'package:ribn/presentation/onboarding/widgets/confirmation_button.dart'; import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; import 'package:ribn/presentation/onboarding/widgets/web_onboarding_app_bar.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; class GettingStartedPage extends StatelessWidget { const GettingStartedPage({Key? key}) : super(key: key); @@ -47,7 +52,8 @@ class GettingStartedPage extends StatelessWidget { ConfirmationButton( text: Strings.okLetsGo, onPressed: () { - Keys.navigatorKey.currentState?.pushNamed(Routes.seedPhraseInfoChecklist); + Keys.navigatorKey.currentState + ?.pushNamed(Routes.seedPhraseInfoChecklist); }, ), ], diff --git a/lib/presentation/onboarding/create_wallet/seed_phrase_confirmation_page.dart b/lib/presentation/onboarding/create_wallet/seed_phrase_confirmation_page.dart index 1ffa3f9e..660f9fea 100644 --- a/lib/presentation/onboarding/create_wallet/seed_phrase_confirmation_page.dart +++ b/lib/presentation/onboarding/create_wallet/seed_phrase_confirmation_page.dart @@ -1,6 +1,14 @@ +// Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; + +// Package imports: +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/custom_text_field.dart'; +import 'package:ribn_toolkit/widgets/organisms/onboarding_progress_bar.dart'; + +// Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/keys.dart'; import 'package:ribn/constants/routes.dart'; @@ -11,18 +19,17 @@ import 'package:ribn/presentation/onboarding/widgets/confirmation_button.dart'; import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; import 'package:ribn/presentation/onboarding/widgets/web_onboarding_app_bar.dart'; import 'package:ribn/utils.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/custom_text_field.dart'; -import 'package:ribn_toolkit/widgets/organisms/onboarding_progress_bar.dart'; class SeedPhraseConfirmationPage extends StatefulWidget { const SeedPhraseConfirmationPage({Key? key}) : super(key: key); @override - State createState() => _SeedPhraseConfirmationPageState(); + State createState() => + _SeedPhraseConfirmationPageState(); } -class _SeedPhraseConfirmationPageState extends State { +class _SeedPhraseConfirmationPageState + extends State { final Map idxControllerMap = {}; final Map controllerErrorMap = {}; @@ -48,19 +55,22 @@ class _SeedPhraseConfirmationPageState extends State SizedBox( child: Text( Strings.writeDownSeedPhrase, - style: RibnToolkitTextStyles.onboardingH1.copyWith(letterSpacing: 0.5), + style: RibnToolkitTextStyles.onboardingH1 + .copyWith(letterSpacing: 0.5), textAlign: TextAlign.center, ), ), Image.asset(RibnAssets.penPaperPng, width: 70), Padding( - padding: EdgeInsets.only(top: adaptHeight(0.04), bottom: adaptHeight(0.02)), + padding: EdgeInsets.only( + top: adaptHeight(0.04), bottom: adaptHeight(0.02)), child: const Text( Strings.ensureYourWordsAreCorrect, style: RibnToolkitTextStyles.onboardingH3, ), ), - _buildSeedphraseConfirmationGrid(vm.confirmeIdxs, vm.mnemonicWordsList), + _buildSeedphraseConfirmationGrid( + vm.confirmeIdxs, vm.mnemonicWordsList), const SizedBox(height: 40), renderIfMobile( const Padding( @@ -73,12 +83,14 @@ class _SeedPhraseConfirmationPageState extends State onPressed: () { // Update errors if text entered does not match mnemonic word at specified idx idxControllerMap.forEach((idx, controller) { - final bool wordsMatch = controller.text.trim() == vm.mnemonicWordsList[idx]; + final bool wordsMatch = + controller.text.trim() == vm.mnemonicWordsList[idx]; controllerErrorMap[controller] = !wordsMatch; }); setState(() {}); if (!controllerErrorMap.values.contains(true)) { - Keys.navigatorKey.currentState?.pushNamed(Routes.createPassword); + Keys.navigatorKey.currentState + ?.pushNamed(Routes.createPassword); } }, ), @@ -91,13 +103,16 @@ class _SeedPhraseConfirmationPageState extends State ); } - Widget _buildSeedphraseConfirmationGrid(List confirmIdxs, List mnemonicWordsList) { + Widget _buildSeedphraseConfirmationGrid( + List confirmIdxs, List mnemonicWordsList) { final List mobileRows = []; List webRowChildren = []; final List> webRows = []; for (int i = 0; i < confirmIdxs.length; i++) { - mobileRows.add(_buildConfirmationTextField(confirmIdxs[i], mnemonicWordsList[confirmIdxs[i]])); - webRowChildren.add(_buildConfirmationTextField(confirmIdxs[i], mnemonicWordsList[confirmIdxs[i]])); + mobileRows.add(_buildConfirmationTextField( + confirmIdxs[i], mnemonicWordsList[confirmIdxs[i]])); + webRowChildren.add(_buildConfirmationTextField( + confirmIdxs[i], mnemonicWordsList[confirmIdxs[i]])); if ((i + 1) % 2 == 0) { webRows.add(webRowChildren); webRowChildren = []; @@ -126,7 +141,8 @@ class _SeedPhraseConfirmationPageState extends State Widget _buildConfirmationTextField(int idx, String word) { return Padding( - padding: const EdgeInsets.symmetric(vertical: 5, horizontal: kIsWeb ? 20 : 0), + padding: + const EdgeInsets.symmetric(vertical: 5, horizontal: kIsWeb ? 20 : 0), child: Align( alignment: Alignment.centerLeft, child: Column( @@ -159,7 +175,8 @@ class _SeedPhraseConfirmationPageState extends State class LowerCaseTextFormatter extends TextInputFormatter { @override - TextEditingValue formatEditUpdate(TextEditingValue oldValue, TextEditingValue newValue) { + TextEditingValue formatEditUpdate( + TextEditingValue oldValue, TextEditingValue newValue) { return TextEditingValue( text: newValue.text.toLowerCase(), selection: newValue.selection, diff --git a/lib/presentation/onboarding/create_wallet/seed_phrase_display_page.dart b/lib/presentation/onboarding/create_wallet/seed_phrase_display_page.dart index fdc5e3d4..ec667ca4 100644 --- a/lib/presentation/onboarding/create_wallet/seed_phrase_display_page.dart +++ b/lib/presentation/onboarding/create_wallet/seed_phrase_display_page.dart @@ -1,7 +1,14 @@ +// Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; + +// Package imports: import 'package:flutter_redux/flutter_redux.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; + +// Project imports: import 'package:ribn/actions/misc_actions.dart'; import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/keys.dart'; @@ -14,8 +21,6 @@ import 'package:ribn/presentation/onboarding/widgets/mobile_onboarding_progress_ import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; import 'package:ribn/presentation/onboarding/widgets/web_onboarding_app_bar.dart'; import 'package:ribn/utils.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; class SeedPhraseDisplayPage extends StatelessWidget { const SeedPhraseDisplayPage({Key? key}) : super(key: key); @@ -40,24 +45,30 @@ class SeedPhraseDisplayPage extends StatelessWidget { child: Column( mainAxisAlignment: MainAxisAlignment.start, children: [ - kIsWeb ? const WebOnboardingAppBar(currStep: 0) : const SizedBox(), + kIsWeb + ? const WebOnboardingAppBar(currStep: 0) + : const SizedBox(), SizedBox( child: Text( Strings.writeDownSeedPhrase, - style: RibnToolkitTextStyles.onboardingH1.copyWith(letterSpacing: 0.5), + style: RibnToolkitTextStyles.onboardingH1 + .copyWith(letterSpacing: 0.5), textAlign: TextAlign.center, ), ), Image.asset(RibnAssets.penPaperPng, width: 70), Padding( - padding: EdgeInsets.symmetric(vertical: kIsWeb ? 40 : adaptHeight(0.03)), + padding: EdgeInsets.symmetric( + vertical: kIsWeb ? 40 : adaptHeight(0.03)), child: const Text( Strings.writeDownSeedPhraseInExactOrder, style: RibnToolkitTextStyles.onboardingH3, ), ), Container( - height: kIsWeb ? 280 : adaptHeight(isXsScreenSize ? 0.58 : 0.41), + height: kIsWeb + ? 280 + : adaptHeight(isXsScreenSize ? 0.58 : 0.41), width: kIsWeb ? 674 : adaptWidth(isXsScreenSize ? 1 : 0.9), decoration: BoxDecoration( color: RibnColors.greyText.withOpacity(0.24), @@ -75,7 +86,8 @@ class SeedPhraseDisplayPage extends StatelessWidget { alignment: Alignment.bottomRight, child: _buildButton( Strings.copy, - onPressed: () => Clipboard.setData(ClipboardData(text: seedPhrase)), + onPressed: () => Clipboard.setData( + ClipboardData(text: seedPhrase)), width: 19, height: 15, ), @@ -93,8 +105,11 @@ class SeedPhraseDisplayPage extends StatelessWidget { padding: const EdgeInsets.only(top: 8.0), child: _buildButton( Strings.download, - onPressed: () => StoreProvider.of(context).dispatch( - DownloadAsFileAction(Strings.seedPhraseFileName, seedPhrase), + onPressed: () => + StoreProvider.of(context) + .dispatch( + DownloadAsFileAction( + Strings.seedPhraseFileName, seedPhrase), ), width: 30, height: 23, @@ -104,11 +119,13 @@ class SeedPhraseDisplayPage extends StatelessWidget { : const SizedBox(), ), SizedBox(height: adaptHeight(0.1)), - renderIfMobile(const MobileOnboardingProgressBar(currStep: 0)), + renderIfMobile( + const MobileOnboardingProgressBar(currStep: 0)), ConfirmationButton( text: Strings.done, onPressed: () { - Keys.navigatorKey.currentState?.pushNamed(Routes.seedPhraseConfirm); + Keys.navigatorKey.currentState + ?.pushNamed(Routes.seedPhraseConfirm); }, ), ], @@ -161,7 +178,8 @@ class SeedPhraseDisplayPage extends StatelessWidget { width: 25, child: Text( '${idx + 1}. ', - style: RibnToolkitTextStyles.h3.copyWith(color: const Color(0xff00FFC5), letterSpacing: 0.5), + style: RibnToolkitTextStyles.h3 + .copyWith(color: const Color(0xff00FFC5), letterSpacing: 0.5), ), ), Text( @@ -179,7 +197,9 @@ class SeedPhraseDisplayPage extends StatelessWidget { required double width, required double height, }) { - final String icon = buttonText == Strings.download ? RibnAssets.downloadPng : RibnAssets.contentCopyPng; + final String icon = buttonText == Strings.download + ? RibnAssets.downloadPng + : RibnAssets.contentCopyPng; return TextButton( onPressed: onPressed, child: RichText( @@ -187,8 +207,10 @@ class SeedPhraseDisplayPage extends StatelessWidget { children: [ TextSpan( text: '$buttonText ', - style: RibnToolkitTextStyles.h3 - .copyWith(color: const Color(0xff00FFC5), letterSpacing: 0.5, height: kIsWeb ? 1 : 0), + style: RibnToolkitTextStyles.h3.copyWith( + color: const Color(0xff00FFC5), + letterSpacing: 0.5, + height: kIsWeb ? 1 : 0), ), WidgetSpan( child: Padding( diff --git a/lib/presentation/onboarding/create_wallet/seed_phrase_generating_page.dart b/lib/presentation/onboarding/create_wallet/seed_phrase_generating_page.dart index 7d481732..f16a9edd 100644 --- a/lib/presentation/onboarding/create_wallet/seed_phrase_generating_page.dart +++ b/lib/presentation/onboarding/create_wallet/seed_phrase_generating_page.dart @@ -1,6 +1,14 @@ +// Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; + +// Package imports: import 'package:flutter_redux/flutter_redux.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/molecules/animated_circle_step_loader.dart'; + +// Project imports: import 'package:ribn/actions/onboarding_actions.dart'; import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/keys.dart'; @@ -12,9 +20,6 @@ import 'package:ribn/presentation/onboarding/widgets/confirmation_button.dart'; import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; import 'package:ribn/presentation/onboarding/widgets/web_onboarding_app_bar.dart'; import 'package:ribn/utils.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/molecules/animated_circle_step_loader.dart'; /// This page shows a loading animation to indicate seed phrase generation. class SeedPhraseGeneratingPage extends StatefulWidget { diff --git a/lib/presentation/onboarding/create_wallet/seed_phrase_info_checklist_page.dart b/lib/presentation/onboarding/create_wallet/seed_phrase_info_checklist_page.dart index 9595994d..69b00cb1 100644 --- a/lib/presentation/onboarding/create_wallet/seed_phrase_info_checklist_page.dart +++ b/lib/presentation/onboarding/create_wallet/seed_phrase_info_checklist_page.dart @@ -1,5 +1,13 @@ +// Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; + +// Package imports: +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/molecules/checkbox_wrappable_text.dart'; + +// Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/keys.dart'; import 'package:ribn/constants/routes.dart'; @@ -9,19 +17,18 @@ import 'package:ribn/presentation/onboarding/widgets/confirmation_button.dart'; import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; import 'package:ribn/presentation/onboarding/widgets/web_onboarding_app_bar.dart'; import 'package:ribn/utils.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/molecules/checkbox_wrappable_text.dart'; /// Builds checks to ensure that the user understands the importance of the seed phrase. class SeedPhraseInfoChecklistPage extends StatefulWidget { const SeedPhraseInfoChecklistPage({Key? key}) : super(key: key); @override - State createState() => _SeedPhraseInfoChecklistPageState(); + State createState() => + _SeedPhraseInfoChecklistPageState(); } -class _SeedPhraseInfoChecklistPageState extends State { +class _SeedPhraseInfoChecklistPageState + extends State { /// Checkboxes and their corresponding checked value final Map checkboxesState = { Strings.neverShareMySeedPhrase: false, @@ -51,22 +58,26 @@ class _SeedPhraseInfoChecklistPageState extends State onChecked(val ?? false, Strings.neverShareMySeedPhrase), + onChanged: (bool? val) => + onChecked(val ?? false, Strings.neverShareMySeedPhrase), ), const SizedBox(height: 40), _buildCheckboxListTile( - checked: checkboxesState[Strings.walletRecoveryUsingSeedPhrase]!, + checked: + checkboxesState[Strings.walletRecoveryUsingSeedPhrase]!, activeText: checkboxesState[Strings.neverShareMySeedPhrase]!, text: Strings.walletRecoveryUsingSeedPhrase, onChanged: checkboxesState[Strings.neverShareMySeedPhrase]! - ? (bool? val) => onChecked(val ?? false, Strings.walletRecoveryUsingSeedPhrase) + ? (bool? val) => onChecked( + val ?? false, Strings.walletRecoveryUsingSeedPhrase) : null, ), SizedBox(height: adaptHeight(0.1)), ConfirmationButton( text: Strings.iUnderstand, onPressed: () { - Keys.navigatorKey.currentState?.pushNamed(Routes.seedPhraseInstructions); + Keys.navigatorKey.currentState + ?.pushNamed(Routes.seedPhraseInstructions); }, disabled: checkboxesState.containsValue(false), ) diff --git a/lib/presentation/onboarding/create_wallet/seed_phrase_instructions_page.dart b/lib/presentation/onboarding/create_wallet/seed_phrase_instructions_page.dart index c21ca9e7..ce8c8ccb 100644 --- a/lib/presentation/onboarding/create_wallet/seed_phrase_instructions_page.dart +++ b/lib/presentation/onboarding/create_wallet/seed_phrase_instructions_page.dart @@ -1,5 +1,12 @@ +// Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; + +// Package imports: +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; + +// Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/keys.dart'; import 'package:ribn/constants/routes.dart'; @@ -9,8 +16,6 @@ import 'package:ribn/presentation/onboarding/widgets/confirmation_button.dart'; import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; import 'package:ribn/presentation/onboarding/widgets/web_onboarding_app_bar.dart'; import 'package:ribn/utils.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; /// This page shows intructions on how to keep the seed phrase secure. class SeedPhraseInstructionsPage extends StatelessWidget { @@ -69,7 +74,8 @@ class SeedPhraseInstructionsPage extends StatelessWidget { ConfirmationButton( text: Strings.iUnderstand, onPressed: () { - Keys.navigatorKey.currentState?.pushNamed(Routes.generateSeedPhrase); + Keys.navigatorKey.currentState + ?.pushNamed(Routes.generateSeedPhrase); }, ) ], @@ -99,7 +105,8 @@ class SeedPhraseInstructionsPage extends StatelessWidget { width: width, height: height, child: Padding( - padding: EdgeInsets.only(left: iconLeftPadding, right: iconRightPadding), + padding: EdgeInsets.only( + left: iconLeftPadding, right: iconRightPadding), child: Image.asset(pngIcon, width: 30), ), ), @@ -110,7 +117,8 @@ class SeedPhraseInstructionsPage extends StatelessWidget { width: kIsWeb ? 500 : 295, child: Text( text, - textHeightBehavior: const TextHeightBehavior(applyHeightToFirstAscent: false), + textHeightBehavior: + const TextHeightBehavior(applyHeightToFirstAscent: false), style: RibnToolkitTextStyles.h3.copyWith( color: RibnColors.lightGreyTitle, fontSize: 18, diff --git a/lib/presentation/onboarding/create_wallet/select_action_page.dart b/lib/presentation/onboarding/create_wallet/select_action_page.dart index 02153c4d..7b1d968a 100644 --- a/lib/presentation/onboarding/create_wallet/select_action_page.dart +++ b/lib/presentation/onboarding/create_wallet/select_action_page.dart @@ -1,6 +1,13 @@ +// Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; +// Package imports: +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/molecules/onboarding_action_button.dart'; + +// Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/keys.dart'; import 'package:ribn/constants/routes.dart'; @@ -9,9 +16,6 @@ import 'package:ribn/presentation/onboarding/utils.dart'; import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; import 'package:ribn/presentation/onboarding/widgets/web_onboarding_app_bar.dart'; import 'package:ribn/utils.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/molecules/onboarding_action_button.dart'; /// This page allows the user to select between creating a new wallet or importing an existing wallet. class SelectActionPage extends StatelessWidget { @@ -29,7 +33,9 @@ class SelectActionPage extends StatelessWidget { Keys.navigatorKey.currentState?.pushNamed(Routes.gettingStarted); }, ), - kIsWeb ? const SizedBox(width: 100, height: 50) : const SizedBox(height: 50), + kIsWeb + ? const SizedBox(width: 100, height: 50) + : const SizedBox(height: 50), OnboardingActionButton( backgroundColor: RibnColors.primary, icon: Image.asset(RibnAssets.importWalletPng), @@ -61,7 +67,9 @@ class SelectActionPage extends StatelessWidget { SizedBox(height: adaptHeight(0.1)), // display actionbuttons in row or column depending on platform kIsWeb - ? Row(mainAxisAlignment: MainAxisAlignment.center, children: actionButtons) + ? Row( + mainAxisAlignment: MainAxisAlignment.center, + children: actionButtons) : Column(children: actionButtons), SizedBox(height: adaptHeight(0.1)), ], diff --git a/lib/presentation/onboarding/create_wallet/wallet_created_page.dart b/lib/presentation/onboarding/create_wallet/wallet_created_page.dart index 625bb151..9e69abdd 100644 --- a/lib/presentation/onboarding/create_wallet/wallet_created_page.dart +++ b/lib/presentation/onboarding/create_wallet/wallet_created_page.dart @@ -1,5 +1,13 @@ +// Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; + +// Package imports: +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/molecules/accordion.dart'; + +// Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/keys.dart'; import 'package:ribn/constants/routes.dart'; @@ -10,9 +18,6 @@ import 'package:ribn/presentation/onboarding/widgets/mobile_onboarding_progress_ import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; import 'package:ribn/presentation/onboarding/widgets/web_onboarding_app_bar.dart'; import 'package:ribn/utils.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/molecules/accordion.dart'; /// This page is displayed when user successfully creates their wallet. class WalletCreatedPage extends StatefulWidget { @@ -25,9 +30,11 @@ class WalletCreatedPage extends StatefulWidget { class _WalletCreatedPageState extends State { /// FAQs and their corresponding answeres final Map faqs = { - Strings.howCanIKeepMySeedPhraseSecure: Strings.howCanIKeepMySeedPhraseSecureAns, + Strings.howCanIKeepMySeedPhraseSecure: + Strings.howCanIKeepMySeedPhraseSecureAns, Strings.howIsASeedPhraseDifferent: Strings.howIsASeedPhraseDifferentAns, - Strings.howIsMySeedPhraseUnrecoverable: Strings.howIsMySeedPhraseUnrecoverableAns, + Strings.howIsMySeedPhraseUnrecoverable: + Strings.howIsMySeedPhraseUnrecoverableAns, }; @override Widget build(BuildContext context) { @@ -110,7 +117,8 @@ class _WalletCreatedPageState extends State { if (kIsWeb) { navigateToRoute(context, Routes.extensionInfo); } else { - Keys.navigatorKey.currentState?.pushNamedAndRemoveUntil(Routes.home, (_) => false); + Keys.navigatorKey.currentState + ?.pushNamedAndRemoveUntil(Routes.home, (_) => false); } }, ), diff --git a/lib/presentation/onboarding/create_wallet/wallet_info_checklist_page.dart b/lib/presentation/onboarding/create_wallet/wallet_info_checklist_page.dart index 6a65838f..b75b3191 100644 --- a/lib/presentation/onboarding/create_wallet/wallet_info_checklist_page.dart +++ b/lib/presentation/onboarding/create_wallet/wallet_info_checklist_page.dart @@ -1,6 +1,14 @@ +// Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; + +// Package imports: import 'package:local_auth/local_auth.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/molecules/checkbox_wrappable_text.dart'; + +// Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/keys.dart'; import 'package:ribn/constants/routes.dart'; @@ -11,15 +19,13 @@ import 'package:ribn/presentation/onboarding/widgets/mobile_onboarding_progress_ import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; import 'package:ribn/presentation/onboarding/widgets/web_onboarding_app_bar.dart'; import 'package:ribn/utils.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/molecules/checkbox_wrappable_text.dart'; class WalletInfoChecklistPage extends StatefulWidget { const WalletInfoChecklistPage({Key? key}) : super(key: key); @override - State createState() => _WalletInfoChecklistPageState(); + State createState() => + _WalletInfoChecklistPageState(); } class _WalletInfoChecklistPageState extends State { @@ -42,7 +48,8 @@ class _WalletInfoChecklistPageState extends State { Future runBiometrics() async { final LocalAuthentication _localAuthentication = LocalAuthentication(); - final bool isBioAuthenticationSupported = await isBiometricsAuthenticationSupported(_localAuthentication); + final bool isBioAuthenticationSupported = + await isBiometricsAuthenticationSupported(_localAuthentication); setState(() { isBioSupported = isBioAuthenticationSupported ? true : false; @@ -73,15 +80,18 @@ class _WalletInfoChecklistPageState extends State { checked: checkboxesState[Strings.savedMyWalletPasswordSafely]!, activeText: true, text: Strings.savedMyWalletPasswordSafely, - onChanged: (bool? val) => onChecked(val ?? false, Strings.savedMyWalletPasswordSafely), + onChanged: (bool? val) => onChecked( + val ?? false, Strings.savedMyWalletPasswordSafely), ), SizedBox(height: adaptHeight(0.03)), _buildCheckboxListTile( checked: checkboxesState[Strings.toplCannotRecoverForMe]!, - activeText: checkboxesState[Strings.savedMyWalletPasswordSafely]!, + activeText: + checkboxesState[Strings.savedMyWalletPasswordSafely]!, text: Strings.toplCannotRecoverForMe, onChanged: checkboxesState[Strings.savedMyWalletPasswordSafely]! - ? (bool? val) => onChecked(val ?? false, Strings.toplCannotRecoverForMe) + ? (bool? val) => + onChecked(val ?? false, Strings.toplCannotRecoverForMe) : null, ), SizedBox(height: adaptHeight(0.03)), @@ -90,7 +100,8 @@ class _WalletInfoChecklistPageState extends State { activeText: checkboxesState[Strings.toplCannotRecoverForMe]!, text: Strings.spAndPasswordUnrecoverable, onChanged: checkboxesState[Strings.toplCannotRecoverForMe]! - ? (bool? val) => onChecked(val ?? false, Strings.spAndPasswordUnrecoverable) + ? (bool? val) => onChecked( + val ?? false, Strings.spAndPasswordUnrecoverable) : null, renderTooltipIcon: true, ), @@ -99,8 +110,9 @@ class _WalletInfoChecklistPageState extends State { ConfirmationButton( text: Strings.iUnderstand, onPressed: () { - Keys.navigatorKey.currentState - ?.pushNamed(isBioSupported ? Routes.onboardingEnableBiometrics : Routes.walletCreated); + Keys.navigatorKey.currentState?.pushNamed(isBioSupported + ? Routes.onboardingEnableBiometrics + : Routes.walletCreated); }, disabled: checkboxesState.containsValue(false), ) diff --git a/lib/presentation/onboarding/create_wallet/welcome_page.dart b/lib/presentation/onboarding/create_wallet/welcome_page.dart index 63711a55..b1081deb 100644 --- a/lib/presentation/onboarding/create_wallet/welcome_page.dart +++ b/lib/presentation/onboarding/create_wallet/welcome_page.dart @@ -1,14 +1,19 @@ +// Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; + +// Package imports: +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/molecules/wave_container.dart'; + +// Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/keys.dart'; import 'package:ribn/constants/routes.dart'; import 'package:ribn/constants/strings.dart'; import 'package:ribn/presentation/onboarding/utils.dart'; import 'package:ribn/presentation/onboarding/widgets/confirmation_button.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/molecules/wave_container.dart'; /// The initial welcome page displayed during onboarding on mobile. class WelcomePage extends StatelessWidget { @@ -39,7 +44,8 @@ class WelcomePage extends StatelessWidget { ), const SizedBox(height: 20), ConstrainedBox( - constraints: const BoxConstraints(maxWidth: kIsWeb ? double.infinity : 310), + constraints: const BoxConstraints( + maxWidth: kIsWeb ? double.infinity : 310), child: Text( Strings.intro, textAlign: TextAlign.center, @@ -53,7 +59,8 @@ class WelcomePage extends StatelessWidget { ConfirmationButton( text: Strings.getStarted, onPressed: () { - Keys.navigatorKey.currentState?.pushNamed(Routes.selectAction); + Keys.navigatorKey.currentState + ?.pushNamed(Routes.selectAction); }, ), ], diff --git a/lib/presentation/onboarding/extension_info_page.dart b/lib/presentation/onboarding/extension_info_page.dart index ef87d2fc..b090bedc 100644 --- a/lib/presentation/onboarding/extension_info_page.dart +++ b/lib/presentation/onboarding/extension_info_page.dart @@ -1,10 +1,15 @@ +// Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: import 'package:flutter_svg/svg.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; + +// Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/strings.dart'; import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; class ExtensionInfoPage extends StatelessWidget { const ExtensionInfoPage({Key? key}) : super(key: key); @@ -64,7 +69,8 @@ class ExtensionInfoPage extends StatelessWidget { ), ), WidgetSpan( - child: SvgPicture.asset(RibnAssets.extensionIcon, height: inlineIconHeight, width: inlineIconWidth), + child: SvgPicture.asset(RibnAssets.extensionIcon, + height: inlineIconHeight, width: inlineIconWidth), ), TextSpan( text: Strings.clickingTheIconPartThree, diff --git a/lib/presentation/onboarding/restore_wallet/create_new_wallet_password_page.dart b/lib/presentation/onboarding/restore_wallet/create_new_wallet_password_page.dart index 96661bf3..1f87b2c2 100644 --- a/lib/presentation/onboarding/restore_wallet/create_new_wallet_password_page.dart +++ b/lib/presentation/onboarding/restore_wallet/create_new_wallet_password_page.dart @@ -1,8 +1,19 @@ +// Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; + +// Package imports: import 'package:flutter_redux/flutter_redux.dart'; import 'package:loader_overlay/loader_overlay.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/molecules/checkbox_wrappable_text.dart'; +import 'package:ribn_toolkit/widgets/molecules/password_text_field.dart'; +import 'package:ribn_toolkit/widgets/organisms/onboarding_progress_bar.dart'; +import 'package:url_launcher/url_launcher.dart'; + +// Project imports: import 'package:ribn/actions/restore_wallet_actions.dart'; import 'package:ribn/constants/strings.dart'; import 'package:ribn/models/app_state.dart'; @@ -12,12 +23,6 @@ import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; import 'package:ribn/presentation/onboarding/widgets/warning_section.dart'; import 'package:ribn/presentation/onboarding/widgets/web_onboarding_app_bar.dart'; import 'package:ribn/utils.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/molecules/checkbox_wrappable_text.dart'; -import 'package:ribn_toolkit/widgets/molecules/password_text_field.dart'; -import 'package:ribn_toolkit/widgets/organisms/onboarding_progress_bar.dart'; -import 'package:url_launcher/url_launcher.dart'; /// Page for creating a new wallet password, when restoring wallet with a [seedPhrase]. class NewWalletPasswordPage extends StatefulWidget { @@ -36,7 +41,8 @@ class NewWalletPasswordPage extends StatefulWidget { class _NewWalletPasswordPageState extends State { /// Controllers for password textfields. final TextEditingController _newPasswordController = TextEditingController(); - final TextEditingController _confirmPasswordController = TextEditingController(); + final TextEditingController _confirmPasswordController = + TextEditingController(); /// True if the password entered is at least 8 characters. bool _atLeast8Chars = false; @@ -52,12 +58,15 @@ class _NewWalletPasswordPageState extends State { @override void initState() { // Initialize listeners for each controller. - [_newPasswordController, _confirmPasswordController].toList().forEach((controller) { + [_newPasswordController, _confirmPasswordController] + .toList() + .forEach((controller) { controller.addListener(() { setState(() { hasErrors[controller] = false; _atLeast8Chars = _newPasswordController.text.length >= 8; - _passwordsMatch = _newPasswordController.text == _confirmPasswordController.text; + _passwordsMatch = + _newPasswordController.text == _confirmPasswordController.text; }); }); }); @@ -67,7 +76,9 @@ class _NewWalletPasswordPageState extends State { @override void dispose() { // Dispose listeners for each controller. - [_newPasswordController, _confirmPasswordController].toList().forEach((controller) { + [_newPasswordController, _confirmPasswordController] + .toList() + .forEach((controller) { controller.dispose(); }); super.dispose(); @@ -84,7 +95,8 @@ class _NewWalletPasswordPageState extends State { child: Column( mainAxisSize: MainAxisSize.min, children: [ - renderIfWeb(const WebOnboardingAppBar(currStep: 1, numSteps: 2)), + renderIfWeb( + const WebOnboardingAppBar(currStep: 1, numSteps: 2)), const Text( Strings.restoreWallet, style: RibnToolkitTextStyles.onboardingH1, @@ -108,11 +120,14 @@ class _NewWalletPasswordPageState extends State { ), ), const SizedBox(height: 40), - renderIfMobile(const OnboardingProgressBar(numSteps: 2, currStep: 0)), + renderIfMobile( + const OnboardingProgressBar(numSteps: 2, currStep: 0)), const SizedBox(height: 20), ConfirmationButton( text: Strings.done, - disabled: !_atLeast8Chars || !_passwordsMatch || !_termsOfUseChecked, + disabled: !_atLeast8Chars || + !_passwordsMatch || + !_termsOfUseChecked, onPressed: () { context.loaderOverlay.show(); StoreProvider.of(context).dispatch( @@ -164,7 +179,9 @@ class _NewWalletPasswordPageState extends State { Strings.atLeast8Chars, textAlign: TextAlign.left, style: RibnToolkitTextStyles.h3.copyWith( - color: !_atLeast8Chars && _newPasswordController.text.isNotEmpty ? Colors.red : Colors.white, + color: !_atLeast8Chars && _newPasswordController.text.isNotEmpty + ? Colors.red + : Colors.white, ), ), ), @@ -214,7 +231,10 @@ class _NewWalletPasswordPageState extends State { Strings.passwordsMustMatch, textAlign: TextAlign.left, style: RibnToolkitTextStyles.h3.copyWith( - color: !_passwordsMatch && _confirmPasswordController.text.isNotEmpty ? Colors.red : Colors.white, + color: + !_passwordsMatch && _confirmPasswordController.text.isNotEmpty + ? Colors.red + : Colors.white, ), ), ), @@ -226,7 +246,9 @@ class _NewWalletPasswordPageState extends State { final url = Uri.parse(Strings.termsOfUseUrl); return CheckboxWrappableText( wrapText: false, - borderColor: _termsOfUseChecked ? const Color(0xff80FF00) : RibnColors.lightGreyTitle, + borderColor: _termsOfUseChecked + ? const Color(0xff80FF00) + : RibnColors.lightGreyTitle, value: _termsOfUseChecked, onChanged: (bool? checked) { setState(() { diff --git a/lib/presentation/onboarding/restore_wallet/enter_wallet_password_page.dart b/lib/presentation/onboarding/restore_wallet/enter_wallet_password_page.dart index 9fd8f460..cb756046 100644 --- a/lib/presentation/onboarding/restore_wallet/enter_wallet_password_page.dart +++ b/lib/presentation/onboarding/restore_wallet/enter_wallet_password_page.dart @@ -1,7 +1,16 @@ +// Dart imports: import 'dart:async'; +// Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: import 'package:flutter_redux/flutter_redux.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/molecules/password_text_field.dart'; + +// Project imports: import 'package:ribn/actions/restore_wallet_actions.dart'; import 'package:ribn/constants/strings.dart'; import 'package:ribn/models/app_state.dart'; @@ -10,9 +19,6 @@ import 'package:ribn/presentation/onboarding/widgets/confirmation_button.dart'; import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; import 'package:ribn/presentation/onboarding/widgets/warning_section.dart'; import 'package:ribn/presentation/onboarding/widgets/web_onboarding_app_bar.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/molecules/password_text_field.dart'; /// Allows the user to enter their wallet password to decrypt the Topl Key in [toplKeyStoreJson]. class EnterWalletPasswordPage extends StatefulWidget { @@ -24,7 +30,8 @@ class EnterWalletPasswordPage extends StatefulWidget { }) : super(key: key); @override - _EnterWalletPasswordPageState createState() => _EnterWalletPasswordPageState(); + _EnterWalletPasswordPageState createState() => + _EnterWalletPasswordPageState(); } class _EnterWalletPasswordPageState extends State { diff --git a/lib/presentation/onboarding/restore_wallet/restore_wallet_page.dart b/lib/presentation/onboarding/restore_wallet/restore_wallet_page.dart index 1eba6463..19584e4c 100644 --- a/lib/presentation/onboarding/restore_wallet/restore_wallet_page.dart +++ b/lib/presentation/onboarding/restore_wallet/restore_wallet_page.dart @@ -1,8 +1,19 @@ -import 'package:bip_topl/bip_topl.dart'; +// Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; + +// Package imports: +import 'package:bip_topl/bip_topl.dart'; import 'package:flutter_redux/flutter_redux.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/custom_text_field.dart'; +import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; +import 'package:ribn_toolkit/widgets/atoms/peekaboo_button.dart'; +import 'package:ribn_toolkit/widgets/organisms/onboarding_progress_bar.dart'; + +// Project imports: import 'package:ribn/actions/misc_actions.dart'; import 'package:ribn/constants/keys.dart'; import 'package:ribn/constants/routes.dart'; @@ -12,12 +23,6 @@ import 'package:ribn/presentation/onboarding/utils.dart'; import 'package:ribn/presentation/onboarding/widgets/confirmation_button.dart'; import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; import 'package:ribn/presentation/onboarding/widgets/web_onboarding_app_bar.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/custom_text_field.dart'; -import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; -import 'package:ribn_toolkit/widgets/atoms/peekaboo_button.dart'; -import 'package:ribn_toolkit/widgets/organisms/onboarding_progress_bar.dart'; /// This page allows the user to enter a known mnemonic / seed phrase in order to restore a wallet. /// @@ -98,12 +103,17 @@ class _RestoreWalletPageState extends State { hasError: invalidSeedPhraseEntered, ), ), - kIsWeb ? Align(alignment: Alignment.centerLeft, child: _buildAdvancedOption()) : const SizedBox(), + kIsWeb + ? Align( + alignment: Alignment.centerLeft, + child: _buildAdvancedOption()) + : const SizedBox(), ], ), ), adaptableSpacer(), - renderIfMobile(const OnboardingProgressBar(numSteps: 2, currStep: 0)), + renderIfMobile( + const OnboardingProgressBar(numSteps: 2, currStep: 0)), const SizedBox(height: 20), ConfirmationButton( text: Strings.next, @@ -142,20 +152,24 @@ class _RestoreWalletPageState extends State { child: PeekabooButton( buttonText: Text( Strings.advancedOption, - style: RibnToolkitTextStyles.smallBody.copyWith(fontSize: 15, color: RibnColors.whiteBackground), + style: RibnToolkitTextStyles.smallBody + .copyWith(fontSize: 15, color: RibnColors.whiteBackground), ), buttonChild: Padding( padding: const EdgeInsets.only(left: 8), child: RichText( text: TextSpan( - style: RibnToolkitTextStyles.body1Bold.copyWith(color: RibnColors.whiteBackground), + style: RibnToolkitTextStyles.body1Bold + .copyWith(color: RibnColors.whiteBackground), children: [ const TextSpan(text: 'Use '), TextSpan( text: 'Topl main key file', - style: RibnToolkitTextStyles.body1Bold.copyWith(color: RibnColors.secondaryDark), + style: RibnToolkitTextStyles.body1Bold + .copyWith(color: RibnColors.secondaryDark), recognizer: TapGestureRecognizer() - ..onTap = () => Keys.navigatorKey.currentState?.pushNamed(Routes.restoreWithToplKey), + ..onTap = () => Keys.navigatorKey.currentState + ?.pushNamed(Routes.restoreWithToplKey), ), ], ), diff --git a/lib/presentation/onboarding/restore_wallet/restore_with_topl_key_page.dart b/lib/presentation/onboarding/restore_wallet/restore_with_topl_key_page.dart index 6842d185..7e3a6bf8 100644 --- a/lib/presentation/onboarding/restore_wallet/restore_with_topl_key_page.dart +++ b/lib/presentation/onboarding/restore_wallet/restore_with_topl_key_page.dart @@ -1,8 +1,15 @@ +// Dart imports: import 'dart:convert'; -import 'package:file_picker/file_picker.dart'; +// Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: +import 'package:file_picker/file_picker.dart'; import 'package:flutter_redux/flutter_redux.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; + +// Project imports: import 'package:ribn/actions/misc_actions.dart'; import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/routes.dart'; @@ -13,7 +20,6 @@ import 'package:ribn/presentation/onboarding/widgets/confirmation_button.dart'; import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; import 'package:ribn/presentation/onboarding/widgets/uploaded_file_container.dart'; import 'package:ribn/presentation/onboarding/widgets/web_onboarding_app_bar.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; /// This page allows the user to upload their Topl Main Key in order to restore a wallet. /// @@ -55,7 +61,9 @@ class _RestoreWithToplKeyPageState extends State { _buildUploadFileButton(), SizedBox( height: 150, - child: uploadedFileName.isNotEmpty ? _buildUploadedFileContainer() : const SizedBox(), + child: uploadedFileName.isNotEmpty + ? _buildUploadedFileContainer() + : const SizedBox(), ), errorUploadingFile ? const Text( @@ -107,7 +115,8 @@ class _RestoreWithToplKeyPageState extends State { ), ), const SizedBox(height: 5), - const Text(Strings.fileUploadLimit, style: RibnToolkitTextStyles.onboardingH3), + const Text(Strings.fileUploadLimit, + style: RibnToolkitTextStyles.onboardingH3), const SizedBox(height: 20), Image.asset(RibnAssets.addPlusPng, width: 70), ], @@ -115,7 +124,8 @@ class _RestoreWithToplKeyPageState extends State { ), onPressed: () async { try { - final FilePickerResult? result = await FilePicker.platform.pickFiles(); + final FilePickerResult? result = + await FilePicker.platform.pickFiles(); if (result != null) { final PlatformFile file = result.files.first; // utf8.decode the file bytes to get the file content as a string @@ -145,10 +155,12 @@ class _RestoreWithToplKeyPageState extends State { children: [ Text( 'Uploaded file', - style: RibnToolkitTextStyles.body1Bold.copyWith(color: Colors.white), + style: + RibnToolkitTextStyles.body1Bold.copyWith(color: Colors.white), ), const SizedBox(height: 5), - UploadedFileContainer(uploadedFileName: uploadedFileName, width: 484, height: 46), + UploadedFileContainer( + uploadedFileName: uploadedFileName, width: 484, height: 46), ], ), ); diff --git a/lib/presentation/onboarding/utils.dart b/lib/presentation/onboarding/utils.dart index ca195756..66bbe696 100644 --- a/lib/presentation/onboarding/utils.dart +++ b/lib/presentation/onboarding/utils.dart @@ -1,7 +1,10 @@ +// Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; -Widget adaptableSpacer() => kIsWeb ? const SizedBox(height: 100) : const Spacer(); +Widget adaptableSpacer() => + kIsWeb ? const SizedBox(height: 100) : const Spacer(); Widget renderIfMobile(Widget widget) => kIsWeb ? const SizedBox() : widget; Widget renderIfWeb(Widget widget) => kIsWeb ? widget : const SizedBox(); -Widget scrollableIfWeb(Widget child) => kIsWeb ? SingleChildScrollView(child: child) : SizedBox(child: child); +Widget scrollableIfWeb(Widget child) => + kIsWeb ? SingleChildScrollView(child: child) : SizedBox(child: child); diff --git a/lib/presentation/onboarding/widgets/confirmation_button.dart b/lib/presentation/onboarding/widgets/confirmation_button.dart index 03241279..d1986e14 100644 --- a/lib/presentation/onboarding/widgets/confirmation_button.dart +++ b/lib/presentation/onboarding/widgets/confirmation_button.dart @@ -1,4 +1,7 @@ +// Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: import 'package:ribn_toolkit/constants/colors.dart'; import 'package:ribn_toolkit/constants/styles.dart'; import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; diff --git a/lib/presentation/onboarding/widgets/mobile_onboarding_progress_bar.dart b/lib/presentation/onboarding/widgets/mobile_onboarding_progress_bar.dart index 24d9f1ff..8c44b223 100644 --- a/lib/presentation/onboarding/widgets/mobile_onboarding_progress_bar.dart +++ b/lib/presentation/onboarding/widgets/mobile_onboarding_progress_bar.dart @@ -1,4 +1,7 @@ +// Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: import 'package:ribn_toolkit/widgets/organisms/onboarding_progress_bar.dart'; class MobileOnboardingProgressBar extends StatelessWidget { diff --git a/lib/presentation/onboarding/widgets/onboarding_container.dart b/lib/presentation/onboarding/widgets/onboarding_container.dart index 07ab1db2..656e9498 100644 --- a/lib/presentation/onboarding/widgets/onboarding_container.dart +++ b/lib/presentation/onboarding/widgets/onboarding_container.dart @@ -1,5 +1,8 @@ +// Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; + +// Package imports: import 'package:ribn_toolkit/constants/colors.dart'; class OnboardingContainer extends StatelessWidget { @@ -14,7 +17,8 @@ class OnboardingContainer extends StatelessWidget { @override Widget build(BuildContext context) { - final double topPadding = kIsWeb ? 50 : MediaQuery.of(context).size.height * 0.12; + final double topPadding = + kIsWeb ? 50 : MediaQuery.of(context).size.height * 0.12; return Container( height: double.infinity, width: double.infinity, @@ -26,7 +30,10 @@ class OnboardingContainer extends StatelessWidget { ), ), child: Padding( - padding: EdgeInsets.only(top: topPadding, left: isXsScreenSize ? 10 : 20, right: isXsScreenSize ? 10 : 20), + padding: EdgeInsets.only( + top: topPadding, + left: isXsScreenSize ? 10 : 20, + right: isXsScreenSize ? 10 : 20), child: child, ), ); diff --git a/lib/presentation/onboarding/widgets/uploaded_file_container.dart b/lib/presentation/onboarding/widgets/uploaded_file_container.dart index 43db5118..5e29a0e3 100644 --- a/lib/presentation/onboarding/widgets/uploaded_file_container.dart +++ b/lib/presentation/onboarding/widgets/uploaded_file_container.dart @@ -1,7 +1,12 @@ +// Flutter imports: import 'package:flutter/material.dart'; -import 'package:ribn/constants/assets.dart'; + +// Package imports: import 'package:ribn_toolkit/constants/styles.dart'; +// Project imports: +import 'package:ribn/constants/assets.dart'; + /// A container that displays the uploaded file name, when restoring wallet with Topl Main Key. /// class UploadedFileContainer extends StatelessWidget { @@ -40,7 +45,8 @@ class UploadedFileContainer extends StatelessWidget { const SizedBox(width: 8), Text( uploadedFileName, - style: RibnToolkitTextStyles.onboardingH3.copyWith(fontSize: 15), + style: + RibnToolkitTextStyles.onboardingH3.copyWith(fontSize: 15), ), const Spacer(), Image.asset(RibnAssets.checkCircleIcon, width: 20), diff --git a/lib/presentation/onboarding/widgets/warning_section.dart b/lib/presentation/onboarding/widgets/warning_section.dart index 349c798e..61566322 100644 --- a/lib/presentation/onboarding/widgets/warning_section.dart +++ b/lib/presentation/onboarding/widgets/warning_section.dart @@ -1,10 +1,15 @@ +// Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; -import 'package:ribn/constants/assets.dart'; -import 'package:ribn/constants/strings.dart'; + +// Package imports: import 'package:ribn_toolkit/constants/colors.dart'; import 'package:ribn_toolkit/constants/styles.dart'; +// Project imports: +import 'package:ribn/constants/assets.dart'; +import 'package:ribn/constants/strings.dart'; + /// A section to display important warning message when restoring wallet. class WarningSection extends StatelessWidget { const WarningSection({ @@ -56,7 +61,8 @@ class WarningSection extends StatelessWidget { Strings.restoreWalletWarning, style: kIsWeb ? RibnToolkitTextStyles.onboardingH3 - : RibnToolkitTextStyles.smallBody.copyWith(fontSize: 15, color: Colors.white), + : RibnToolkitTextStyles.smallBody + .copyWith(fontSize: 15, color: Colors.white), ), ), ), diff --git a/lib/presentation/onboarding/widgets/web_onboarding_app_bar.dart b/lib/presentation/onboarding/widgets/web_onboarding_app_bar.dart index 004e709d..55b90ade 100644 --- a/lib/presentation/onboarding/widgets/web_onboarding_app_bar.dart +++ b/lib/presentation/onboarding/widgets/web_onboarding_app_bar.dart @@ -1,4 +1,7 @@ +// Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: import 'package:ribn_toolkit/constants/colors.dart'; import 'package:ribn_toolkit/widgets/organisms/onboarding_progress_bar.dart'; diff --git a/lib/presentation/settings/sections/biometrics_section.dart b/lib/presentation/settings/sections/biometrics_section.dart index a7eeef53..ba92a044 100644 --- a/lib/presentation/settings/sections/biometrics_section.dart +++ b/lib/presentation/settings/sections/biometrics_section.dart @@ -1,17 +1,23 @@ -import 'dart:io'; +// Dart imports: import 'dart:io' show Platform; +import 'dart:io'; -import 'package:app_settings/app_settings.dart'; +// Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: +import 'package:app_settings/app_settings.dart'; import 'package:flutter_redux/flutter_redux.dart'; import 'package:local_auth/local_auth.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/custom_toggle.dart'; + +// Project imports: import 'package:ribn/actions/user_details_actions.dart'; import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/strings.dart'; import 'package:ribn/models/app_state.dart'; import 'package:ribn/utils.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/custom_toggle.dart'; /// The section allows for users to toggle biometrics authentication on/off. class BiometricsSection extends StatefulWidget { @@ -105,7 +111,9 @@ class _BiometricsSectionState extends State { Padding( padding: const EdgeInsets.only(left: 10), child: Image.asset( - Platform.isIOS ? RibnAssets.iosBiometricsOutline : RibnAssets.andriodBiometricsOutline, + Platform.isIOS + ? RibnAssets.iosBiometricsOutline + : RibnAssets.andriodBiometricsOutline, width: 40, ), ), diff --git a/lib/presentation/settings/sections/delete_wallet_confirmation_dialog.dart b/lib/presentation/settings/sections/delete_wallet_confirmation_dialog.dart index 6b43a0c0..a85153b0 100644 --- a/lib/presentation/settings/sections/delete_wallet_confirmation_dialog.dart +++ b/lib/presentation/settings/sections/delete_wallet_confirmation_dialog.dart @@ -1,11 +1,16 @@ +// Flutter imports: import 'package:flutter/material.dart'; -import 'package:ribn/constants/strings.dart'; + +// Package imports: import 'package:ribn_toolkit/constants/colors.dart'; import 'package:ribn_toolkit/constants/styles.dart'; import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; import 'package:ribn_toolkit/widgets/molecules/custom_modal.dart'; import 'package:ribn_toolkit/widgets/molecules/password_text_field.dart'; +// Project imports: +import 'package:ribn/constants/strings.dart'; + /// The confimation dialog that is displayed before deleting the wallet. /// /// The user is prompted to enter their wallet password before confirming deletion. @@ -16,13 +21,17 @@ class DeleteWalletConfirmationDialog extends StatefulWidget { VoidCallback onIncorrectPasswordEntered, ) onConfirmDeletePressed; - const DeleteWalletConfirmationDialog({required this.onConfirmDeletePressed, Key? key}) : super(key: key); + const DeleteWalletConfirmationDialog( + {required this.onConfirmDeletePressed, Key? key}) + : super(key: key); @override - _DeleteWalletConfirmationDialogState createState() => _DeleteWalletConfirmationDialogState(); + _DeleteWalletConfirmationDialogState createState() => + _DeleteWalletConfirmationDialogState(); } -class _DeleteWalletConfirmationDialogState extends State { +class _DeleteWalletConfirmationDialogState + extends State { final TextEditingController _passwordController = TextEditingController(); /// True if incorrect password was entered. @@ -69,7 +78,8 @@ class _DeleteWalletConfirmationDialogState extends State canDisconnect ? - onDisconnectPressed(context) : null,), + borderColor: RibnColors.primary + .withOpacity(canDisconnect == true ? 1.0 : 0.3), + onPressed: () => + canDisconnect ? onDisconnectPressed(context) : null, + ), ), ], ), diff --git a/lib/presentation/settings/sections/disconnect_wallet_confirmation_dialog.dart b/lib/presentation/settings/sections/disconnect_wallet_confirmation_dialog.dart index 385e1cef..311304c7 100644 --- a/lib/presentation/settings/sections/disconnect_wallet_confirmation_dialog.dart +++ b/lib/presentation/settings/sections/disconnect_wallet_confirmation_dialog.dart @@ -1,11 +1,16 @@ +// Flutter imports: import 'package:flutter/material.dart'; -import 'package:ribn/constants/strings.dart'; -import 'package:ribn/platform/platform.dart'; + +// Package imports: import 'package:ribn_toolkit/constants/colors.dart'; import 'package:ribn_toolkit/constants/styles.dart'; import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; import 'package:ribn_toolkit/widgets/molecules/custom_modal.dart'; +// Project imports: +import 'package:ribn/constants/strings.dart'; +import 'package:ribn/platform/platform.dart'; + /// The confirmation dialog that is displayed before disconnecting the wallet. class DisconnectWalletConfirmationDialog extends StatefulWidget { const DisconnectWalletConfirmationDialog({Key? key, required this.dApps}) diff --git a/lib/presentation/settings/sections/export_topl_main_key_section.dart b/lib/presentation/settings/sections/export_topl_main_key_section.dart index 0c2553a0..f8f2b029 100644 --- a/lib/presentation/settings/sections/export_topl_main_key_section.dart +++ b/lib/presentation/settings/sections/export_topl_main_key_section.dart @@ -1,9 +1,14 @@ +// Flutter imports: import 'package:flutter/material.dart'; -import 'package:ribn/constants/strings.dart'; + +// Package imports: import 'package:ribn_toolkit/constants/colors.dart'; import 'package:ribn_toolkit/constants/styles.dart'; import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; +// Project imports: +import 'package:ribn/constants/strings.dart'; + /// The section that allows for downloading the Topl Main Key. class ExportToplMainKeySection extends StatelessWidget { /// Callback for when export button is pressed. diff --git a/lib/presentation/settings/sections/links_section.dart b/lib/presentation/settings/sections/links_section.dart index 189f489c..99d5c206 100644 --- a/lib/presentation/settings/sections/links_section.dart +++ b/lib/presentation/settings/sections/links_section.dart @@ -1,10 +1,15 @@ +// Flutter imports: import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; -import 'package:ribn/constants/strings.dart'; + +// Package imports: import 'package:ribn_toolkit/constants/colors.dart'; import 'package:ribn_toolkit/constants/styles.dart'; import 'package:url_launcher/url_launcher.dart'; +// Project imports: +import 'package:ribn/constants/strings.dart'; + /// The section for displaying helpful links. class LinksSection extends StatelessWidget { const LinksSection({Key? key}) : super(key: key); @@ -31,7 +36,8 @@ class LinksSection extends StatelessWidget { RichText( text: TextSpan( text: Strings.privacyPolicy, - recognizer: TapGestureRecognizer()..onTap = () async => await launchUrl(url1), + recognizer: TapGestureRecognizer() + ..onTap = () async => await launchUrl(url1), style: linkStyle, ), ), @@ -39,7 +45,8 @@ class LinksSection extends StatelessWidget { RichText( text: TextSpan( text: Strings.termsOfUse, - recognizer: TapGestureRecognizer()..onTap = () async => await launchUrl(url2), + recognizer: TapGestureRecognizer() + ..onTap = () async => await launchUrl(url2), style: linkStyle, ), ), diff --git a/lib/presentation/settings/sections/ribn_version_section.dart b/lib/presentation/settings/sections/ribn_version_section.dart index 37f5e28c..1b6f381a 100644 --- a/lib/presentation/settings/sections/ribn_version_section.dart +++ b/lib/presentation/settings/sections/ribn_version_section.dart @@ -1,7 +1,12 @@ +// Flutter imports: import 'package:flutter/material.dart'; -import 'package:ribn/constants/strings.dart'; + +// Package imports: import 'package:ribn_toolkit/constants/styles.dart'; +// Project imports: +import 'package:ribn/constants/strings.dart'; + /// The section for displaying the current Ribn version. class RibnVersionSection extends StatelessWidget { /// The current app version. diff --git a/lib/presentation/settings/settings_page.dart b/lib/presentation/settings/settings_page.dart index e6020f37..fd798125 100644 --- a/lib/presentation/settings/settings_page.dart +++ b/lib/presentation/settings/settings_page.dart @@ -1,6 +1,13 @@ +// Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; + +// Package imports: import 'package:local_auth/local_auth.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/widgets/organisms/custom_page_text_title.dart'; + +// Project imports: import 'package:ribn/constants/strings.dart'; import 'package:ribn/containers/settings_container.dart'; import 'package:ribn/platform/platform.dart'; @@ -10,8 +17,6 @@ import 'package:ribn/presentation/settings/sections/export_topl_main_key_section import 'package:ribn/presentation/settings/sections/links_section.dart'; import 'package:ribn/presentation/settings/sections/ribn_version_section.dart'; import 'package:ribn/utils.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/widgets/organisms/custom_page_text_title.dart'; /// The settings page of the application. class SettingsPage extends StatefulWidget { diff --git a/lib/presentation/transaction_history/dashed_list_separator/dashed_list_separator.dart b/lib/presentation/transaction_history/dashed_list_separator/dashed_list_separator.dart index 94ef67fd..770afa1b 100644 --- a/lib/presentation/transaction_history/dashed_list_separator/dashed_list_separator.dart +++ b/lib/presentation/transaction_history/dashed_list_separator/dashed_list_separator.dart @@ -1,7 +1,10 @@ +// Flutter imports: import 'package:flutter/material.dart'; class DashedListSeparator extends StatelessWidget { - const DashedListSeparator({Key? key, this.height = 1, this.color = Colors.black}) : super(key: key); + const DashedListSeparator( + {Key? key, this.height = 1, this.color = Colors.black}) + : super(key: key); final double height; final Color color; diff --git a/lib/presentation/transaction_history/helpers/tx_history_helper_functions.dart b/lib/presentation/transaction_history/helpers/tx_history_helper_functions.dart index 6869451c..e5964e8e 100644 --- a/lib/presentation/transaction_history/helpers/tx_history_helper_functions.dart +++ b/lib/presentation/transaction_history/helpers/tx_history_helper_functions.dart @@ -1,7 +1,11 @@ -import 'package:brambldart/model.dart'; +// Flutter imports: import 'package:flutter/cupertino.dart'; + +// Package imports: +import 'package:brambldart/model.dart'; import 'package:ribn_toolkit/constants/colors.dart'; +// Project imports: import '../../../containers/transaction_history_container.dart'; import '../dashed_list_separator/dashed_list_separator.dart'; import '../transaction_data_row/transaction_data_row.dart'; diff --git a/lib/presentation/transaction_history/service_locator/locator.dart b/lib/presentation/transaction_history/service_locator/locator.dart index 0cf9957d..af32685c 100644 --- a/lib/presentation/transaction_history/service_locator/locator.dart +++ b/lib/presentation/transaction_history/service_locator/locator.dart @@ -1,8 +1,10 @@ /// @dev File contains function that setups any singletons required within the app +// Package imports: import 'package:get_it/get_it.dart'; import 'package:redux/redux.dart'; +// Project imports: import '../../../models/app_state.dart'; final locator = GetIt.instance; diff --git a/lib/presentation/transaction_history/transaction_data_row/transaction_data_row.dart b/lib/presentation/transaction_history/transaction_data_row/transaction_data_row.dart index 22854a22..9b993d6c 100644 --- a/lib/presentation/transaction_history/transaction_data_row/transaction_data_row.dart +++ b/lib/presentation/transaction_history/transaction_data_row/transaction_data_row.dart @@ -1,16 +1,31 @@ +// Dart imports: +import 'dart:convert'; + +// Flutter imports: +import 'package:flutter/material.dart'; + +// Package imports: import 'package:brambldart/model.dart'; import 'package:brambldart/utils.dart'; -import 'package:flutter/material.dart'; import 'package:flutter_redux/flutter_redux.dart'; import 'package:intl/intl.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/ribn_sample_data_models.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/models/transactions/ribn_activity_details_model.dart'; +import 'package:ribn_toolkit/widgets/atoms/status_chip.dart'; +import 'package:ribn_toolkit/widgets/molecules/ribn_activity_details.dart'; +import 'package:ribn_toolkit/widgets/molecules/ribn_activity_tile.dart'; + +// Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/keys.dart'; import 'package:ribn/constants/routes.dart'; import 'package:ribn/models/app_state.dart'; import 'package:ribn/models/asset_details.dart'; import 'package:ribn/utils.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/status_chip.dart'; + +import '../transaction_history_details_page/transaction_history_details_page.dart'; class TransactionDataRow extends StatefulWidget { final List assets; @@ -117,99 +132,6 @@ class _TransactionDataRowState extends State { return 'Sent'; } - // Render poly specific section if poly transfer - if (isPolyTransaction) { - return GestureDetector( - onTap: () { - Keys.navigatorKey.currentState?.pushNamed( - Routes.txHistoryDetails, - arguments: { - 'isPolyTransaction': true, - 'transactionType': renderSentReceivedMintedText(), - 'timestamp': formattedDateAlternate, - 'assetDetails': {}, - 'icon': renderPolyIcon(), - 'shortName': 'POLY', - 'transactionStatus': transactionStatus, - 'transactionAmount': transactionAmountForPolyTransfer, - 'fee': fee, - 'myRibnWalletAddress': widget.myRibnWalletAddress, - 'transactionSenderAddress': transactionSenderAddress, - 'note': note, - 'blockId': blockId, - 'blockHeight': blockNumber, - 'transactionId': transactionId, - 'networkId': widget.networkId, - }, - ); - }, - child: Container( - color: Colors.transparent, - padding: const EdgeInsets.symmetric( - horizontal: 8, - vertical: 15, - ), - child: Column( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - SizedBox( - height: 40, - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceAround, - children: [ - SizedBox( - width: 25, - height: 25, - child: renderPolyIcon(), - ), - Padding( - padding: const EdgeInsets.only(left: 12), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisAlignment: MainAxisAlignment.spaceAround, - children: [ - Text( - transactionAmountForPolyTransfer, - style: RibnToolkitTextStyles.extH3 - .copyWith(fontSize: 14), - ), - Text( - 'POLY', - style: RibnToolkitTextStyles.assetLongNameStyle - .copyWith(fontSize: 11), - ), - ], - ), - ) - ], - ), - ), - SizedBox( - height: 40, - child: Column( - crossAxisAlignment: CrossAxisAlignment.end, - mainAxisAlignment: MainAxisAlignment.spaceAround, - children: [ - StatusChip(status: transactionStatus), - Text( - '${renderSentReceivedMintedText()} on $formattedDate', - style: RibnToolkitTextStyles.assetLongNameStyle - .copyWith(fontSize: 11), - ), - ], - ), - ), - ], - ), - ], - ), - ), - ); - } - return StoreConnector( // Get access to AssetDetails for this asset from the store only if not poly transaction converter: (store) => @@ -221,109 +143,84 @@ class _TransactionDataRowState extends State { ) .toList(); - return GestureDetector( + return RibnActivityTile( + tileColor: RibnColors.whiteColor, + assetIcon: isPolyTransaction + ? renderPolyIcon() + : renderAssetIcon(assetDetails?.icon), + assetBalance: + '${transactionAmountForAssetTransfer()} ${formatAssetUnit(assetDetails?.unit ?? 'Unit')}', + assetShortName: isPolyTransaction + ? 'POLY' + : filteredAsset.isNotEmpty + ? filteredAsset[0] + .assetCode + .shortName + .show + .replaceAll('\x00', '') + : 'Unknown', + transactionStatus: transactionStatus, + transactionDate: + '${renderSentReceivedMintedText()} on $formattedDate', onTap: () { - Keys.navigatorKey.currentState?.pushNamed( - Routes.txHistoryDetails, - arguments: { - 'isPolyTransaction': false, - 'transactionType': renderSentReceivedMintedText(), - 'timestamp': formattedDateAlternate, - 'assetDetails': assetDetails, - 'icon': renderAssetIcon(assetDetails?.icon), - 'shortName': filteredAsset.isNotEmpty ? filteredAsset[0].assetCode.shortName.show.replaceAll('\x00', '') : 'Unknown', - 'transactionStatus': transactionStatus, - 'transactionAmount': - '${transactionAmountForAssetTransfer()} ${formatAssetUnit(assetDetails?.unit ?? 'Unit')}', - 'fee': fee, - 'myRibnWalletAddress': widget.myRibnWalletAddress, - 'transactionSenderAddress': transactionSenderAddress, - 'note': note, - 'securityRoot': securityRoot, - 'blockId': blockId, - 'blockHeight': blockNumber, - 'transactionId': transactionId, - 'networkId': widget.networkId, - }, - ); + Map details = { + 'isPolyTransaction': isPolyTransaction, + 'transactionType': renderSentReceivedMintedText(), + 'timestamp': formattedDateAlternate, + 'assetDetails': isPolyTransaction ? {} : assetDetails, + 'icon': isPolyTransaction + ? renderPolyIcon() + : renderAssetIcon(assetDetails?.icon), + 'shortName': isPolyTransaction + ? 'POLY' + : filteredAsset.isNotEmpty + ? filteredAsset[0] + .assetCode + .shortName + .show + .replaceAll('\x00', '') + : 'Unknown', + 'transactionStatus': transactionStatus, + 'transactionAmount': isPolyTransaction + ? transactionAmountForPolyTransfer + : '${transactionAmountForAssetTransfer()} ${formatAssetUnit(assetDetails?.unit ?? 'Unit')}', + 'fee': fee, + 'myRibnWalletAddress': formatAddressString( + widget.myRibnWalletAddress, + charsToDisplay: 4), + 'transactionSenderAddress': formatAddressString( + transactionSenderAddress.senderAddress.toBase58(), + charsToDisplay: 4), + 'note': note, + 'securityRoot': isPolyTransaction ? '' : securityRoot, + 'blockId': + formatAddressString(blockId.toString(), charsToDisplay: 4), + 'blockHeight': blockNumber?.blockNum, + 'transactionId': formatAddressString(transactionId.toString(), + charsToDisplay: 4), + 'networkId': widget.networkId, + }; + Navigator.push( + context, + MaterialPageRoute( + builder: (_) => TxHistoryDetailsPage( + ribnActivityDetailsModel: + RibnActivityDetailsModel.fromJson( + jsonEncode(details)), + ))); }, - child: Container( - color: Colors.white, - padding: const EdgeInsets.symmetric( - horizontal: 8, - vertical: 15, - ), - child: Column( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - SizedBox( - height: 40, - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceAround, - children: [ - SizedBox( - width: 25, - height: 25, - child: renderAssetIcon(assetDetails?.icon), - ), - Padding( - padding: const EdgeInsets.only(left: 12), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisAlignment: MainAxisAlignment.spaceAround, - children: [ - Text( - '${transactionAmountForAssetTransfer()} ${formatAssetUnit(assetDetails?.unit ?? 'Unit')}', - style: RibnToolkitTextStyles.extH3 - .copyWith(fontSize: 14), - ), - Text( - filteredAsset.isNotEmpty ? filteredAsset[0].assetCode.shortName.show.replaceAll('\x00', '') : 'Unknown', - style: RibnToolkitTextStyles.assetLongNameStyle.copyWith(fontSize: 11), - ), - ], - ), - ) - ], - ), - ), - SizedBox( - height: 40, - child: Column( - crossAxisAlignment: CrossAxisAlignment.end, - mainAxisAlignment: MainAxisAlignment.spaceAround, - children: [ - StatusChip(status: transactionStatus), - Text( - '${renderSentReceivedMintedText()} on $formattedDate', - style: RibnToolkitTextStyles.assetLongNameStyle - .copyWith(fontSize: 11), - ), - ], - ), - ), - ], - ), - ], - ), - ), ); }, ); } - Image renderAssetIcon(assetDetailsIcon) { + String renderAssetIcon(assetDetailsIcon) { return assetDetailsIcon == null - ? Image.asset(RibnAssets.undefinedIcon) - : Image.asset( - assetDetailsIcon!, - ); + ? RibnAssets.undefinedIcon + : assetDetailsIcon!; } - Image renderPolyIcon() { - return Image.asset(RibnAssets.polyIconCircle); + String renderPolyIcon() { + return RibnAssets.polyIconCircle; } } diff --git a/lib/presentation/transaction_history/transaction_history_details_page/transaction_history_data_tile.dart b/lib/presentation/transaction_history/transaction_history_details_page/transaction_history_data_tile.dart index afe82a9d..60c65da4 100644 --- a/lib/presentation/transaction_history/transaction_history_details_page/transaction_history_data_tile.dart +++ b/lib/presentation/transaction_history/transaction_history_details_page/transaction_history_data_tile.dart @@ -1,4 +1,7 @@ +// Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: import 'package:ribn_toolkit/constants/styles.dart'; class TransactionHistoryDataTile extends StatelessWidget { @@ -16,7 +19,9 @@ class TransactionHistoryDataTile extends StatelessWidget { @override Widget build(BuildContext context) { return ConstrainedBox( - constraints: reducedWidth == true ? const BoxConstraints(minWidth: 70) : const BoxConstraints(minWidth: 163), + constraints: reducedWidth == true + ? const BoxConstraints(minWidth: 70) + : const BoxConstraints(minWidth: 163), child: Column( crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.spaceAround, diff --git a/lib/presentation/transaction_history/transaction_history_details_page/transaction_history_details_page.dart b/lib/presentation/transaction_history/transaction_history_details_page/transaction_history_details_page.dart index 9f649937..98e2da0d 100644 --- a/lib/presentation/transaction_history/transaction_history_details_page/transaction_history_details_page.dart +++ b/lib/presentation/transaction_history/transaction_history_details_page/transaction_history_details_page.dart @@ -1,23 +1,30 @@ +// Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: import 'package:flutter_svg/flutter_svg.dart'; -import 'package:ribn/constants/assets.dart'; -import 'package:ribn/constants/rules.dart'; -import 'package:ribn/constants/strings.dart'; -import 'package:ribn/presentation/transaction_history/dashed_list_separator/dashed_list_separator.dart'; -import 'package:ribn/presentation/transaction_history/transaction_history_details_page/transaction_history_data_tile.dart'; -import 'package:ribn/utils.dart'; import 'package:ribn_toolkit/constants/colors.dart'; import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/models/transactions/ribn_activity_details_model.dart'; import 'package:ribn_toolkit/widgets/atoms/custom_copy_button.dart'; import 'package:ribn_toolkit/widgets/atoms/status_chip.dart'; +import 'package:ribn_toolkit/widgets/molecules/ribn_activity_details.dart'; import 'package:ribn_toolkit/widgets/organisms/custom_page_text_title.dart'; import 'package:url_launcher/url_launcher.dart'; +// Project imports: +import 'package:ribn/constants/assets.dart'; +import 'package:ribn/constants/rules.dart'; +import 'package:ribn/constants/strings.dart'; +import 'package:ribn/presentation/transaction_history/dashed_list_separator/dashed_list_separator.dart'; +import 'package:ribn/presentation/transaction_history/transaction_history_details_page/transaction_history_data_tile.dart'; +import 'package:ribn/utils.dart'; + class TxHistoryDetailsPage extends StatefulWidget { - final Map? transactionDetails; + final RibnActivityDetailsModel ribnActivityDetailsModel; const TxHistoryDetailsPage({ - required this.transactionDetails, + required this.ribnActivityDetailsModel, Key? key, }) : super(key: key); @@ -40,426 +47,15 @@ class _TxHistoryPageDetailsState extends State { thumbVisibility: true, controller: _scrollController, child: SingleChildScrollView( - controller: _scrollController, - child: Column( - children: [ - const CustomPageTextTitle( - title: Strings.transactionDetails, - hideCloseCross: true, - ), - Padding( - padding: const EdgeInsets.only(top: 20, bottom: 20), - child: Container( - width: MediaQuery.of(context).size.width - 40, - padding: const EdgeInsets.symmetric( - horizontal: 8, - vertical: 8, - ), - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(11.6), - color: RibnColors.whiteBackground, - border: Border.all(color: RibnColors.lightGrey, width: 1), - boxShadow: const [ - BoxShadow( - color: RibnColors.greyShadow, - spreadRadius: 0, - blurRadius: 37.5, - offset: Offset(0, -6), - ), - ], - ), - child: Container( - color: Colors.white, - padding: const EdgeInsets.symmetric( - horizontal: 20, - vertical: 15, - ), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - TransactionHistoryDataTile( - tileTitle: 'Transaction Type', - tileValue: Text( - widget.transactionDetails!['transactionType'], - style: dataTileTextStyle, - ), - ), - TransactionHistoryDataTile( - reducedWidth: true, - tileTitle: 'Timestamp', - tileValue: Text( - widget.transactionDetails!['timestamp'], - style: dataTileTextStyle, - ), - ), - ], - ), - const SizedBox( - height: 16, - ), - const DashedListSeparator(color: RibnColors.lightGreyDivider), - const SizedBox( - height: 16, - ), - Row( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - TransactionHistoryDataTile( - tileTitle: 'Asset Code', - tileValue: Row( - children: [ - SizedBox( - width: 24, - height: 24, - child: widget.transactionDetails?['icon'], - ), - Padding( - padding: const EdgeInsets.only(left: 12), - child: Text( - widget.transactionDetails?['shortName'], - style: dataTileTextStyle, - ), - ), - ], - ), - ), - TransactionHistoryDataTile( - reducedWidth: true, - tileTitle: 'Amount', - tileValue: Text( - widget.transactionDetails!['transactionAmount'], - style: dataTileTextStyle, - ), - ), - ], - ), - const SizedBox( - height: 16, - ), - const DashedListSeparator(color: RibnColors.lightGreyDivider), - const SizedBox( - height: 16, - ), - Row( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - TransactionHistoryDataTile( - tileTitle: 'Status', - tileValue: StatusChip( - status: widget.transactionDetails!['transactionStatus'], - ), - ), - TransactionHistoryDataTile( - reducedWidth: true, - tileTitle: 'Fee', - tileValue: Text( - widget.transactionDetails!['fee'].toString(), - style: dataTileTextStyle, - ), - ), - ], - ), - const SizedBox( - height: 16, - ), - const DashedListSeparator(color: RibnColors.lightGreyDivider), - const SizedBox( - height: 16, - ), - TransactionHistoryDataTile( - tileTitle: 'To', - tileValue: Row( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - SizedBox( - width: 26, - height: 26, - child: SvgPicture.asset(RibnAssets.myFingerprint), - ), - Padding( - padding: const EdgeInsets.symmetric(horizontal: 10), - child: Text( - Strings.yourRibnWalletAddress, - style: dataTileTextStyle, - ), - ), - CustomCopyButton( - textToBeCopied: widget.transactionDetails!['myRibnWalletAddress'], - icon: Image.asset( - RibnAssets.copyIcon, - width: 20, - ), - ), - ], - ), - ), - const SizedBox( - height: 16, - ), - const DashedListSeparator(color: RibnColors.lightGreyDivider), - const SizedBox( - height: 16, - ), - TransactionHistoryDataTile( - tileTitle: 'From', - tileValue: Row( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - SizedBox( - width: 26, - height: 26, - child: SvgPicture.asset(RibnAssets.recipientFingerprint), - ), - Padding( - padding: const EdgeInsets.symmetric(horizontal: 10), - child: Text( - formatAddrString(widget.transactionDetails!['transactionSenderAddress'].toString()), - style: dataTileTextStyle, - ), - ), - CustomCopyButton( - textToBeCopied: widget.transactionDetails!['transactionSenderAddress'].toString(), - icon: Image.asset( - RibnAssets.copyIcon, - width: 20, - ), - ), - ], - ), - ), - const SizedBox( - height: 16, - ), - const DashedListSeparator(color: RibnColors.lightGreyDivider), - const SizedBox( - height: 16, - ), - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - TransactionHistoryDataTile( - tileTitle: 'Note', - tileValue: Text( - widget.transactionDetails!['note'] ?? '', - style: dataTileTextStyle, - ), - ), - ], - ), - const SizedBox( - height: 16, - ), - const DashedListSeparator(color: RibnColors.lightGreyDivider), - widget.transactionDetails!['securityRoot'] == null - ? const SizedBox() - : Column( - children: [ - const SizedBox( - height: 16, - ), - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - TransactionHistoryDataTile( - tileTitle: 'Security Root', - tileValue: Row( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(right: 10), - child: Text( - formatAddrString( - widget.transactionDetails!['securityRoot'], - charsToDisplay: 4, - ), - style: dataTileTextStyle, - ), - ), - CustomCopyButton( - textToBeCopied: widget.transactionDetails!['securityRoot'], - icon: Image.asset( - RibnAssets.copyIcon, - width: 20, - ), - ), - ], - ), - ), - ], - ), - const SizedBox( - height: 16, - ), - const DashedListSeparator(color: RibnColors.lightGreyDivider), - ], - ), - const SizedBox( - height: 16, - ), - Row( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - TransactionHistoryDataTile( - tileTitle: 'Block ID', - tileValue: Row( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(right: 10), - child: Text( - formatAddrString( - widget.transactionDetails!['blockId'].toString(), - charsToDisplay: 4, - ), - style: dataTileTextStyle, - ), - ), - CustomCopyButton( - textToBeCopied: widget.transactionDetails!['blockId'].toString(), - icon: Image.asset( - RibnAssets.copyIcon, - width: 20, - ), - ), - ], - ), - ), - TransactionHistoryDataTile( - reducedWidth: true, - tileTitle: 'Block height', - tileValue: Row( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(right: 10), - child: Text( - widget.transactionDetails!['blockHeight'].toString(), - style: dataTileTextStyle, - ), - ), - CustomCopyButton( - textToBeCopied: widget.transactionDetails!['blockHeight'].toString(), - icon: Image.asset( - RibnAssets.copyIcon, - width: 20, - ), - ), - ], - ), - ), - ], - ), - const SizedBox( - height: 16, - ), - const DashedListSeparator(color: RibnColors.lightGreyDivider), - const SizedBox( - height: 16, - ), - Row( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - TransactionHistoryDataTile( - tileTitle: 'Transaction ID', - tileValue: Row( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(right: 10), - child: Text( - formatAddrString( - widget.transactionDetails!['transactionId'].toString(), - charsToDisplay: 4, - ), - style: dataTileTextStyle, - ), - ), - CustomCopyButton( - textToBeCopied: widget.transactionDetails!['transactionId'].toString(), - icon: Image.asset( - RibnAssets.copyIcon, - width: 20, - ), - ), - ], - ), - ), - TransactionHistoryDataTile( - reducedWidth: true, - tileTitle: 'View Topl Explorer', - tileValue: _buildToplExplorerLink(), - ), - ], - ), - ], - ), - ), - ), - ) - ], - ), - ), - ), - ); - } - - Image renderAssetIcon(assetDetailsIcon) { - return assetDetailsIcon == null - ? Image.asset(RibnAssets.undefinedIcon) - : Image.asset( - assetDetailsIcon!, - ); - } - - Image renderPolyIcon() { - return Image.asset(RibnAssets.polyIconCircle); - } - - /// Redirects user to the Topl Explorer - RichText _buildToplExplorerLink() { - final url = Uri.parse( - '${Rules.txDetailsRedirectUrls[widget.transactionDetails!['networkId']] ?? ''}${widget.transactionDetails!['transactionId']}', - ); - - return RichText( - text: TextSpan( - children: [ - WidgetSpan( - child: GestureDetector( - onTap: () async => await launchUrl(url), - child: Row( - mainAxisAlignment: MainAxisAlignment.center, - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - Text( - 'www.topl.explorer', - style: RibnToolkitTextStyles.h4.copyWith( - fontSize: 12, - fontWeight: FontWeight.w400, - color: RibnColors.tertiary, - decoration: TextDecoration.underline, - ), - ), - const SizedBox(width: 5), - Container( - padding: const EdgeInsets.all(4), - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(50), - color: const Color(0xFFF9F9F9), - ), - child: Image.asset( - RibnAssets.openInNewWindow, - width: 12, - ), - ), - ], - ), - ), - ), - ], + controller: _scrollController, + child: RibnActivityDetails( + activityDetails: widget.ribnActivityDetailsModel, + dataTileTextStyle: const TextStyle( + fontFamily: 'DM Sans', + fontSize: 12, + color: RibnColors.hintTextColor, + fontWeight: FontWeight.normal, + ))), ), ); } diff --git a/lib/presentation/transaction_history/transaction_history_page.dart b/lib/presentation/transaction_history/transaction_history_page.dart index bb10248e..ba22ea9a 100644 --- a/lib/presentation/transaction_history/transaction_history_page.dart +++ b/lib/presentation/transaction_history/transaction_history_page.dart @@ -1,6 +1,13 @@ -import 'package:brambldart/brambldart.dart'; +// Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: +import 'package:brambldart/brambldart.dart'; import 'package:loader_overlay/loader_overlay.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/widgets/organisms/custom_page_dropdown_title.dart'; + +// Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/keys.dart'; import 'package:ribn/constants/routes.dart'; @@ -10,8 +17,6 @@ import 'package:ribn/presentation/empty_state_screen.dart'; import 'package:ribn/presentation/transaction_history/dashed_list_separator/dashed_list_separator.dart'; import 'package:ribn/presentation/transaction_history/transaction_data_row/transaction_data_row.dart'; import 'package:ribn/utils.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/widgets/organisms/custom_page_dropdown_title.dart'; class TxHistoryPage extends StatefulWidget { final Future? blockHeight; @@ -134,7 +139,11 @@ class _TxHistoryPageState extends State { ), FutureBuilder( future: fetchTxHistory( - context, vm.toplAddress, vm.networkId, vm,), + context, + vm.toplAddress, + vm.networkId, + vm, + ), builder: (context, AsyncSnapshot snapshot) { switch (snapshot.connectionState) { case ConnectionState.done: @@ -145,17 +154,8 @@ class _TxHistoryPageState extends State { icon: RibnAssets.clockWithBorder, title: Strings.noActivityToReview, body: emptyStateBody, - buttonOneText: 'Mint', - buttonOneAction: () => - Keys.navigatorKey.currentState?.pushNamed( - Routes.mintInput, - arguments: { - 'mintingNewAsset': true, - 'mintingToMyWallet': true, - }, - ), - buttonTwoText: 'Share', - buttonTwoAction: () async => + buttonOneText: 'Share', + buttonOneAction: () async => await showReceivingAddress(), mobileHeight: MediaQuery.of(context).size.height * 0.63, @@ -176,7 +176,9 @@ class _TxHistoryPageState extends State { borderRadius: BorderRadius.circular(11.6), color: RibnColors.whiteBackground, border: Border.all( - color: RibnColors.lightGrey, width: 1,), + color: RibnColors.lightGrey, + width: 1, + ), boxShadow: const [ BoxShadow( color: RibnColors.greyShadow, @@ -215,7 +217,8 @@ class _TxHistoryPageState extends State { }, separatorBuilder: (context, index) { return const DashedListSeparator( - color: RibnColors.lightGreyDivider,); + color: RibnColors.lightGreyDivider, + ); }, ), ), @@ -237,4 +240,4 @@ class _TxHistoryPageState extends State { ), ); } -} \ No newline at end of file +} diff --git a/lib/presentation/transaction_history/widgets/listeners/scroll_listener.dart b/lib/presentation/transaction_history/widgets/listeners/scroll_listener.dart index ede400c6..9f3be35b 100644 --- a/lib/presentation/transaction_history/widgets/listeners/scroll_listener.dart +++ b/lib/presentation/transaction_history/widgets/listeners/scroll_listener.dart @@ -1,3 +1,4 @@ +// Flutter imports: import 'package:flutter/cupertino.dart'; class ScrollListener extends StatefulWidget { diff --git a/lib/presentation/transaction_history/widgets/misc/keep_alive_future_builder.dart b/lib/presentation/transaction_history/widgets/misc/keep_alive_future_builder.dart index 26869269..b09e87b5 100644 --- a/lib/presentation/transaction_history/widgets/misc/keep_alive_future_builder.dart +++ b/lib/presentation/transaction_history/widgets/misc/keep_alive_future_builder.dart @@ -1,11 +1,14 @@ +// Flutter imports: import 'package:flutter/cupertino.dart'; class KeepAliveFutureBuilder extends StatefulWidget { final Future future; final AsyncWidgetBuilder builder; - const KeepAliveFutureBuilder( - {Key? key, required this.future, required this.builder,}) - : super(key: key); + const KeepAliveFutureBuilder({ + Key? key, + required this.future, + required this.builder, + }) : super(key: key); @override _KeepAliveFutureBuilderState createState() => _KeepAliveFutureBuilderState(); } diff --git a/lib/presentation/transfers/asset_transfer_page.dart b/lib/presentation/transfers/asset_transfer_page.dart index 8f8ea689..fa76c726 100644 --- a/lib/presentation/transfers/asset_transfer_page.dart +++ b/lib/presentation/transfers/asset_transfer_page.dart @@ -1,15 +1,20 @@ +// Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: import 'package:flutter_keyboard_visibility/flutter_keyboard_visibility.dart'; import 'package:loader_overlay/loader_overlay.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/molecules/sliding_segment_control.dart'; +import 'package:ribn_toolkit/widgets/organisms/custom_page_text_title.dart'; + +// Project imports: import 'package:ribn/constants/strings.dart'; import 'package:ribn/containers/asset_transfer_input_container.dart'; import 'package:ribn/containers/poly_transfer_input_container.dart'; import 'package:ribn/presentation/transfers/asset_transfer_section.dart'; import 'package:ribn/presentation/transfers/poly_transfer_section.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/molecules/sliding_segment_control.dart'; -import 'package:ribn_toolkit/widgets/organisms/custom_page_text_title.dart'; /// The asset transfer input page that allows the initiation of an asset transfer. /// diff --git a/lib/presentation/transfers/asset_transfer_section.dart b/lib/presentation/transfers/asset_transfer_section.dart index ddd51c18..c837692d 100644 --- a/lib/presentation/transfers/asset_transfer_section.dart +++ b/lib/presentation/transfers/asset_transfer_section.dart @@ -1,8 +1,19 @@ -import 'package:brambldart/brambldart.dart'; +// Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; + +// Package imports: +import 'package:brambldart/brambldart.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:loader_overlay/loader_overlay.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; +import 'package:ribn_toolkit/widgets/molecules/asset_amount_field.dart'; +import 'package:ribn_toolkit/widgets/molecules/asset_selection_field.dart'; +import 'package:ribn_toolkit/widgets/molecules/note_field.dart'; +import 'package:ribn_toolkit/widgets/molecules/recipient_field.dart'; + +// Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/keys.dart'; import 'package:ribn/constants/routes.dart'; @@ -15,12 +26,6 @@ import 'package:ribn/presentation/transfers/widgets/from_address_field.dart'; import 'package:ribn/utils.dart'; import 'package:ribn/widgets/address_display_container.dart'; import 'package:ribn/widgets/fee_info.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; -import 'package:ribn_toolkit/widgets/molecules/asset_amount_field.dart'; -import 'package:ribn_toolkit/widgets/molecules/asset_selection_field.dart'; -import 'package:ribn_toolkit/widgets/molecules/note_field.dart'; -import 'package:ribn_toolkit/widgets/molecules/recipient_field.dart'; /// The asset transfer input page that allows the initiation of an asset transfer. /// @@ -83,7 +88,8 @@ class _AssetTransferSectionState extends State { }); } - void disposeController(TextEditingController controller) => controller.dispose(); + void disposeController(TextEditingController controller) => + controller.dispose(); void renderBottomButton() { return WidgetsBinding.instance.addPostFrameCallback((_) { @@ -111,16 +117,8 @@ class _AssetTransferSectionState extends State { icon: RibnAssets.walletWithBorder, title: Strings.noAssetsInWallet, body: emptyStateBody, - buttonOneText: 'Mint', - buttonOneAction: () => Keys.navigatorKey.currentState?.pushNamed( - Routes.mintInput, - arguments: { - 'mintingNewAsset': true, - 'mintingToMyWallet': true, - }, - ), - buttonTwoText: 'Share', - buttonTwoAction: () async => await showReceivingAddress(), + buttonOneText: 'Share', + buttonOneAction: () async => await showReceivingAddress(), mobileHeight: MediaQuery.of(context).size.height * 0.63, desktopHeight: 258, ); @@ -139,15 +137,25 @@ class _AssetTransferSectionState extends State { AssetSelectionField( formattedSelectedAsset: { 'assetCode': _selectedAsset?.assetCode.toString(), - 'longName': widget.vm.assetDetails[_selectedAsset?.assetCode.toString()]?.longName, + 'longName': widget + .vm + .assetDetails[_selectedAsset?.assetCode.toString()] + ?.longName, 'shortName': _selectedAsset?.assetCode.shortName.show, - 'assetIcon': widget.vm.assetDetails[_selectedAsset?.assetCode.toString()]?.icon, + 'assetIcon': widget + .vm + .assetDetails[_selectedAsset?.assetCode.toString()] + ?.icon, }, formattedAsset: (asset) { return { - 'longName': widget.vm.assetDetails[asset!.assetCode.toString()]?.longName, + 'longName': widget + .vm + .assetDetails[asset!.assetCode.toString()] + ?.longName, 'shortName': asset.assetCode.shortName.show, - 'assetIcon': widget.vm.assetDetails[asset!.assetCode.toString()]?.icon, + 'assetIcon': widget + .vm.assetDetails[asset!.assetCode.toString()]?.icon, }; }, assets: widget.vm.assets, @@ -175,18 +183,23 @@ class _AssetTransferSectionState extends State { setState(() { _validAmount = TransferUtils.validateAmount( amount, - widget.vm.getAssetBalance(_selectedAsset?.assetCode.toString()), + widget.vm.getAssetBalance( + _selectedAsset?.assetCode.toString()), ); }); }, - selectedUnit: widget.vm.assetDetails[_selectedAsset?.assetCode.toString()]?.unit, + selectedUnit: widget + .vm + .assetDetails[_selectedAsset?.assetCode.toString()] + ?.unit, controller: _amountController, allowEditingUnit: false, onUnitSelected: (String amount) { setState(() { _validAmount = TransferUtils.validateAmount( amount, - widget.vm.getAssetBalance(_selectedAsset?.assetCode.toString()), + widget.vm.getAssetBalance( + _selectedAsset?.assetCode.toString()), ); }); }, @@ -194,7 +207,8 @@ class _AssetTransferSectionState extends State { RibnAssets.chevronDownDark, width: 24, ), - maxTransferrableAmount: widget.vm.getAssetBalance(_selectedAsset?.assetCode.toString()), + maxTransferrableAmount: widget.vm + .getAssetBalance(_selectedAsset?.assetCode.toString()), ), // Displays the sender address. const FromAddressField(), @@ -210,7 +224,8 @@ class _AssetTransferSectionState extends State { if (mounted) { setState(() { if (result) { - _validRecipientAddress = _recipientController.text; + _validRecipientAddress = + _recipientController.text; _recipientController.text = ''; } else { _validRecipientAddress = ''; @@ -231,8 +246,10 @@ class _AssetTransferSectionState extends State { if (_validRecipientAddress.isNotEmpty) { _recipientController.text = _validRecipientAddress; _recipientController - ..text = _recipientController.text.substring(0, _recipientController.text.length) - ..selection = TextSelection.collapsed(offset: _recipientController.text.length); + ..text = _recipientController.text + .substring(0, _recipientController.text.length) + ..selection = TextSelection.collapsed( + offset: _recipientController.text.length); } _validRecipientAddress = ''; }); @@ -257,8 +274,9 @@ class _AssetTransferSectionState extends State { } Widget _buildReviewButton(AssetTransferInputViewModel vm) { - final bool enteredValidInputs = - _validRecipientAddress.isNotEmpty && _amountController.text.isNotEmpty && _validAmount; + final bool enteredValidInputs = _validRecipientAddress.isNotEmpty && + _amountController.text.isNotEmpty && + _validAmount; return Padding( padding: const EdgeInsets.only(top: 10, bottom: 10), @@ -279,7 +297,8 @@ class _AssetTransferSectionState extends State { amount: _amountController.text, note: _noteController.text, assetCode: _selectedAsset!.assetCode, - assetDetails: vm.assetDetails[_selectedAsset!.assetCode.toString()], + assetDetails: + vm.assetDetails[_selectedAsset!.assetCode.toString()], onRawTxCreated: (bool success) async { context.loaderOverlay.hide(); // Display error dialog if failed to create raw tx diff --git a/lib/presentation/transfers/bottom_review_action.dart b/lib/presentation/transfers/bottom_review_action.dart index 1979874a..9fe70c1c 100644 --- a/lib/presentation/transfers/bottom_review_action.dart +++ b/lib/presentation/transfers/bottom_review_action.dart @@ -1,3 +1,4 @@ +// Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; diff --git a/lib/presentation/transfers/mint_input_page.dart b/lib/presentation/transfers/mint_input_page.dart index 2666b224..6dd3dc55 100644 --- a/lib/presentation/transfers/mint_input_page.dart +++ b/lib/presentation/transfers/mint_input_page.dart @@ -1,9 +1,25 @@ -import 'package:brambldart/brambldart.dart'; +// Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; + +// Package imports: +import 'package:brambldart/brambldart.dart'; import 'package:flutter_keyboard_visibility/flutter_keyboard_visibility.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:loader_overlay/loader_overlay.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; +import 'package:ribn_toolkit/widgets/molecules/asset_amount_field.dart'; +import 'package:ribn_toolkit/widgets/molecules/asset_long_name_field.dart'; +import 'package:ribn_toolkit/widgets/molecules/asset_selection_field.dart'; +import 'package:ribn_toolkit/widgets/molecules/asset_short_name_field.dart'; +import 'package:ribn_toolkit/widgets/molecules/note_field.dart'; +import 'package:ribn_toolkit/widgets/molecules/recipient_field.dart'; +import 'package:ribn_toolkit/widgets/molecules/sliding_segment_control.dart'; +import 'package:ribn_toolkit/widgets/organisms/custom_page_text_title.dart'; + +// Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/strings.dart'; import 'package:ribn/constants/ui_constants.dart'; @@ -16,17 +32,6 @@ import 'package:ribn/presentation/transfers/widgets/issuer_address_field.dart'; import 'package:ribn/utils.dart'; import 'package:ribn/widgets/address_display_container.dart'; import 'package:ribn/widgets/fee_info.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; -import 'package:ribn_toolkit/widgets/molecules/asset_amount_field.dart'; -import 'package:ribn_toolkit/widgets/molecules/asset_long_name_field.dart'; -import 'package:ribn_toolkit/widgets/molecules/asset_selection_field.dart'; -import 'package:ribn_toolkit/widgets/molecules/asset_short_name_field.dart'; -import 'package:ribn_toolkit/widgets/molecules/note_field.dart'; -import 'package:ribn_toolkit/widgets/molecules/recipient_field.dart'; -import 'package:ribn_toolkit/widgets/molecules/sliding_segment_control.dart'; -import 'package:ribn_toolkit/widgets/organisms/custom_page_text_title.dart'; /// The mint input page that allows the initiation of an mint asset transaction. class MintInputPage extends StatefulWidget { @@ -38,8 +43,10 @@ class MintInputPage extends StatefulWidget { class _MintInputPageState extends State { final TextEditingController _noteController = TextEditingController(); - final TextEditingController _assetLongNameController = TextEditingController(); - final TextEditingController _assetShortNameController = TextEditingController(); + final TextEditingController _assetLongNameController = + TextEditingController(); + final TextEditingController _assetShortNameController = + TextEditingController(); final TextEditingController _amountController = TextEditingController(); final TextEditingController _recipientController = TextEditingController(); late List _controllers; @@ -109,15 +116,8 @@ class _MintInputPageState extends State { icon: RibnAssets.walletWithBorder, title: Strings.noAssetsInWallet, body: emptyStateBody, - buttonOneText: 'Mint', - buttonOneAction: () => { - setState(() { - mintingNewAsset = true; - currentTabIndex = 0; - }) - }, - buttonTwoText: 'Share', - buttonTwoAction: () async => await showReceivingAddress(), + buttonOneText: 'Share', + buttonOneAction: () async => await showReceivingAddress(), mobileHeight: MediaQuery.of(context).size.height * 0.63, desktopHeight: 258, ); @@ -158,7 +158,9 @@ class _MintInputPageState extends State { ), ), // ignore: prefer_const_constructors - IssuerAddressField(width: 213), // const ignored here so that tooltip can be dismissed + IssuerAddressField( + width: + 213), // const ignored here so that tooltip can be dismissed // field for entering the recipient address RecipientField( controller: _recipientController, @@ -183,8 +185,10 @@ class _MintInputPageState extends State { if (_validRecipientAddress.isNotEmpty) { _recipientController.text = _validRecipientAddress; _recipientController - ..text = _recipientController.text.substring(0, _recipientController.text.length) - ..selection = TextSelection.collapsed(offset: _recipientController.text.length); + ..text = _recipientController.text + .substring(0, _recipientController.text.length) + ..selection = TextSelection.collapsed( + offset: _recipientController.text.length); } _validRecipientAddress = ''; }); @@ -242,14 +246,16 @@ class _MintInputPageState extends State { padding: const EdgeInsets.symmetric(horizontal: 10), child: Text( Strings.mintAsset, - style: RibnToolkitTextStyles.btnMedium.copyWith(color: RibnColors.defaultText), + style: RibnToolkitTextStyles.btnMedium + .copyWith(color: RibnColors.defaultText), ), ), 1: Padding( padding: const EdgeInsets.symmetric(horizontal: 10), child: Text( Strings.mintExistingAsset, - style: RibnToolkitTextStyles.btnMedium.copyWith(color: RibnColors.defaultText), + style: RibnToolkitTextStyles.btnMedium + .copyWith(color: RibnColors.defaultText), ), ), }, @@ -312,13 +318,16 @@ class _MintInputPageState extends State { : AssetSelectionField( formattedSelectedAsset: { 'assetCode': _selectedAsset?.assetCode.toString(), - 'longName': vm.assetDetails[_selectedAsset?.assetCode.toString()]?.longName, + 'longName': vm + .assetDetails[_selectedAsset?.assetCode.toString()]?.longName, 'shortName': _selectedAsset?.assetCode.shortName.show, - 'assetIcon': vm.assetDetails[_selectedAsset?.assetCode.toString()]?.icon, + 'assetIcon': + vm.assetDetails[_selectedAsset?.assetCode.toString()]?.icon, }, formattedAsset: (asset) { return { - 'longName': vm.assetDetails[asset!.assetCode.toString()]?.longName, + 'longName': + vm.assetDetails[asset!.assetCode.toString()]?.longName, 'shortName': asset.assetCode.shortName.show, 'assetIcon': vm.assetDetails[asset!.assetCode.toString()]?.icon, }; @@ -327,7 +336,8 @@ class _MintInputPageState extends State { onSelected: (AssetAmount? asset) { setState(() { _selectedAsset = asset; - _selectedUnit = vm.assetDetails[asset!.assetCode.toString()]?.unit; + _selectedUnit = + vm.assetDetails[asset!.assetCode.toString()]?.unit; _assetShortNameController.text = asset.assetCode.shortName.show; }); }, diff --git a/lib/presentation/transfers/poly_transfer_section.dart b/lib/presentation/transfers/poly_transfer_section.dart index 2a73b69a..d4b1f26e 100644 --- a/lib/presentation/transfers/poly_transfer_section.dart +++ b/lib/presentation/transfers/poly_transfer_section.dart @@ -1,8 +1,19 @@ +// Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; + +// Package imports: import 'package:flutter_svg/flutter_svg.dart'; import 'package:loader_overlay/loader_overlay.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/custom_text_field.dart'; +import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; +import 'package:ribn_toolkit/widgets/molecules/note_field.dart'; +import 'package:ribn_toolkit/widgets/molecules/recipient_field.dart'; + +// Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/strings.dart'; import 'package:ribn/containers/poly_transfer_input_container.dart'; @@ -13,12 +24,6 @@ import 'package:ribn/presentation/transfers/widgets/from_address_field.dart'; import 'package:ribn/utils.dart'; import 'package:ribn/widgets/address_display_container.dart'; import 'package:ribn/widgets/fee_info.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/custom_text_field.dart'; -import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; -import 'package:ribn_toolkit/widgets/molecules/note_field.dart'; -import 'package:ribn_toolkit/widgets/molecules/recipient_field.dart'; /// The input page that allows initiating poly transfer transaction. /// @@ -145,8 +150,10 @@ class _PolyTransferSectionState extends State { if (_validRecipientAddress.isNotEmpty) { _recipientController.text = _validRecipientAddress; _recipientController - ..text = _recipientController.text.substring(0, _recipientController.text.length) - ..selection = TextSelection.collapsed(offset: _recipientController.text.length); + ..text = _recipientController.text + .substring(0, _recipientController.text.length) + ..selection = TextSelection.collapsed( + offset: _recipientController.text.length); } _validRecipientAddress = ''; }); @@ -229,8 +236,9 @@ class _PolyTransferSectionState extends State { } Widget _buildReviewButton(PolyTransferInputViewModel vm) { - final bool enteredValidInputs = - _validRecipientAddress.isNotEmpty && _amountController.text.isNotEmpty && _validAmount; + final bool enteredValidInputs = _validRecipientAddress.isNotEmpty && + _amountController.text.isNotEmpty && + _validAmount; return Padding( padding: const EdgeInsets.only(top: 10, bottom: 10), diff --git a/lib/presentation/transfers/transfer_utils.dart b/lib/presentation/transfers/transfer_utils.dart index 8196cfdd..a9ec6a3a 100644 --- a/lib/presentation/transfers/transfer_utils.dart +++ b/lib/presentation/transfers/transfer_utils.dart @@ -1,4 +1,7 @@ +// Flutter imports: import 'package:flutter/material.dart'; + +// Project imports: import 'package:ribn/presentation/error_section.dart'; class TransferUtils { diff --git a/lib/presentation/transfers/tx_confirmation_page.dart b/lib/presentation/transfers/tx_confirmation_page.dart index d152005c..32ecfa57 100644 --- a/lib/presentation/transfers/tx_confirmation_page.dart +++ b/lib/presentation/transfers/tx_confirmation_page.dart @@ -1,4 +1,15 @@ +// Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/custom_copy_button.dart'; +import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; +import 'package:ribn_toolkit/widgets/molecules/wave_container.dart'; +import 'package:url_launcher/url_launcher.dart'; + +// Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/keys.dart'; import 'package:ribn/constants/routes.dart'; @@ -6,12 +17,6 @@ import 'package:ribn/constants/rules.dart'; import 'package:ribn/constants/strings.dart'; import 'package:ribn/models/transfer_details.dart'; import 'package:ribn/utils.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/custom_copy_button.dart'; -import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; -import 'package:ribn_toolkit/widgets/molecules/wave_container.dart'; -import 'package:url_launcher/url_launcher.dart'; /// The transaction confirmation page. /// @@ -77,7 +82,8 @@ class TxConfirmationPage extends StatelessWidget { ), ), onPressed: () { - Keys.navigatorKey.currentState!.popUntil((route) => route.settings.name == Routes.home); + Keys.navigatorKey.currentState!.popUntil( + (route) => route.settings.name == Routes.home); }, ), ), @@ -105,13 +111,15 @@ class TxConfirmationPage extends StatelessWidget { /// /// Different for minting asset and asset/poly transfer. Widget _buildsPageTitle() { - final String text = mintedAsset ? Strings.assetIsBeingMinted : Strings.txWasBroadcasted; + final String text = + mintedAsset ? Strings.assetIsBeingMinted : Strings.txWasBroadcasted; return SizedBox( width: 220, child: Text( text, - style: RibnToolkitTextStyles.h2.copyWith(color: RibnColors.lightGreyTitle), + style: + RibnToolkitTextStyles.h2.copyWith(color: RibnColors.lightGreyTitle), textAlign: TextAlign.center, ), ); @@ -119,7 +127,8 @@ class TxConfirmationPage extends StatelessWidget { /// Displays information about the tx that was broadcasted. Widget _buildTxInfo() { - final String txInfo = transferDetails.transferType == TransferType.polyTransfer + final String txInfo = transferDetails.transferType == + TransferType.polyTransfer ? '${transferDetails.amount} ${'POLY'}' : '${transferDetails.amount} of ${transferDetails.assetCode!.shortName.show}'; @@ -130,22 +139,27 @@ class TxConfirmationPage extends StatelessWidget { RichText( textAlign: TextAlign.center, text: TextSpan( - style: RibnToolkitTextStyles.h3.copyWith(fontWeight: FontWeight.bold, color: RibnColors.lightGreyTitle), + style: RibnToolkitTextStyles.h3.copyWith( + fontWeight: FontWeight.bold, + color: RibnColors.lightGreyTitle), children: [ TextSpan( text: 'Your ', - style: - RibnToolkitTextStyles.h3.copyWith(fontWeight: FontWeight.bold, color: RibnColors.lightGreyTitle), + style: RibnToolkitTextStyles.h3.copyWith( + fontWeight: FontWeight.bold, + color: RibnColors.lightGreyTitle), ), TextSpan( text: txInfo, - style: - RibnToolkitTextStyles.h3.copyWith(fontWeight: FontWeight.bold, color: RibnColors.lightGreyTitle), + style: RibnToolkitTextStyles.h3.copyWith( + fontWeight: FontWeight.bold, + color: RibnColors.lightGreyTitle), ), TextSpan( text: ' was sent to the Topl blockchain.', - style: - RibnToolkitTextStyles.h3.copyWith(fontWeight: FontWeight.bold, color: RibnColors.lightGreyTitle), + style: RibnToolkitTextStyles.h3.copyWith( + fontWeight: FontWeight.bold, + color: RibnColors.lightGreyTitle), ), ], ), @@ -163,7 +177,8 @@ class TxConfirmationPage extends StatelessWidget { children: [ Text( 'Transaction ID: ${formatAddrString(transferDetails.transactionId!, charsToDisplay: 4)}', - style: RibnToolkitTextStyles.h4.copyWith(fontWeight: FontWeight.w400, color: RibnColors.lightGreyTitle), + style: RibnToolkitTextStyles.h4.copyWith( + fontWeight: FontWeight.w400, color: RibnColors.lightGreyTitle), textAlign: TextAlign.center, ), const SizedBox(width: 5), @@ -197,8 +212,9 @@ class TxConfirmationPage extends StatelessWidget { children: [ Text( Strings.viewInToplExplorer, - style: - RibnToolkitTextStyles.h4.copyWith(fontWeight: FontWeight.w400, color: RibnColors.secondaryDark), + style: RibnToolkitTextStyles.h4.copyWith( + fontWeight: FontWeight.w400, + color: RibnColors.secondaryDark), ), const SizedBox(width: 5), Image.asset( diff --git a/lib/presentation/transfers/tx_review_page.dart b/lib/presentation/transfers/tx_review_page.dart index 66cc1148..321c3c63 100644 --- a/lib/presentation/transfers/tx_review_page.dart +++ b/lib/presentation/transfers/tx_review_page.dart @@ -1,10 +1,22 @@ +// Dart imports: import 'dart:async'; +// Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; + +// Package imports: import 'package:flutter_redux/flutter_redux.dart'; import 'package:flutter_svg/svg.dart'; import 'package:loader_overlay/loader_overlay.dart'; +import 'package:ribn_toolkit/constants/assets.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/custom_copy_button.dart'; +import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; +import 'package:ribn_toolkit/widgets/organisms/custom_page_text_title.dart'; + +// Project imports: import 'package:ribn/actions/transaction_actions.dart'; import 'package:ribn/constants/keys.dart'; import 'package:ribn/constants/routes.dart'; @@ -18,12 +30,6 @@ import 'package:ribn/utils.dart'; import 'package:ribn/widgets/asset_info.dart'; import 'package:ribn/widgets/custom_divider.dart'; import 'package:ribn/widgets/fee_info.dart'; -import 'package:ribn_toolkit/constants/assets.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/custom_copy_button.dart'; -import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; -import 'package:ribn_toolkit/widgets/organisms/custom_page_text_title.dart'; /// The transaction review page. /// @@ -71,7 +77,8 @@ class TxReviewPage extends StatelessWidget { decoration: BoxDecoration( borderRadius: BorderRadius.circular(11.6), color: RibnColors.whiteBackground, - border: Border.all(color: RibnColors.lightGrey, width: 1), + border: + Border.all(color: RibnColors.lightGrey, width: 1), boxShadow: const [ BoxShadow( color: RibnColors.greyShadow, @@ -100,7 +107,9 @@ class TxReviewPage extends StatelessWidget { padding: const EdgeInsets.symmetric(vertical: 38), child: SizedBox( width: 310, - child: FeeInfo(fee: transferDetails.transactionReceipt!.fee!.getInNanopoly), + child: FeeInfo( + fee: transferDetails + .transactionReceipt!.fee!.getInNanopoly), ), ), ], @@ -127,8 +136,10 @@ class TxReviewPage extends StatelessWidget { onPressed: () async { context.loaderOverlay.show(); final Completer txCompleter = Completer(); - StoreProvider.of(context).dispatch(SignAndBroadcastTxAction(transferDetails, txCompleter)); - await txCompleter.future.then((TransferDetails? transferDetails) { + StoreProvider.of(context).dispatch( + SignAndBroadcastTxAction(transferDetails, txCompleter)); + await txCompleter.future + .then((TransferDetails? transferDetails) { if (transferDetails != null) { Keys.navigatorKey.currentState?.pushNamed( Routes.txConfirmation, @@ -157,7 +168,8 @@ class TxReviewPage extends StatelessWidget { dropShadowColor: Colors.transparent, borderColor: RibnColors.ghostButtonText, onPressed: () { - Keys.navigatorKey.currentState!.popUntil((route) => route.settings.name == Routes.home); + Keys.navigatorKey.currentState! + .popUntil((route) => route.settings.name == Routes.home); }, ), const SizedBox(height: 13), @@ -169,7 +181,8 @@ class TxReviewPage extends StatelessWidget { } /// A helper function used to build review items on this page. - Widget _buildReviewItem({required String itemLabel, required Widget item, bool divider = true}) { + Widget _buildReviewItem( + {required String itemLabel, required Widget item, bool divider = true}) { return Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ @@ -218,7 +231,9 @@ class TxReviewPage extends StatelessWidget { Text('POLY', style: defaultTextStyle), ], ) - : AssetInfo(assetCode: transferDetails.assetCode!, assetDetails: transferDetails.assetDetails), + : AssetInfo( + assetCode: transferDetails.assetCode!, + assetDetails: transferDetails.assetDetails), ], ), ); @@ -246,7 +261,8 @@ class TxReviewPage extends StatelessWidget { ), ), CustomCopyButton( - textToBeCopied: transferDetails.senders.first.toplAddress.toBase58(), + textToBeCopied: + transferDetails.senders.first.toplAddress.toBase58(), icon: Image.asset( RibnAssets.copyIcon, width: 26, @@ -279,7 +295,8 @@ class TxReviewPage extends StatelessWidget { ), ), CustomCopyButton( - textToBeCopied: transferDetails.senders.first.toplAddress.toBase58(), + textToBeCopied: + transferDetails.senders.first.toplAddress.toBase58(), icon: Image.asset( RibnAssets.copyIcon, width: 26, diff --git a/lib/presentation/transfers/widgets/custom_input_field.dart b/lib/presentation/transfers/widgets/custom_input_field.dart index 78ebc7b1..a6ed517a 100644 --- a/lib/presentation/transfers/widgets/custom_input_field.dart +++ b/lib/presentation/transfers/widgets/custom_input_field.dart @@ -1,8 +1,13 @@ +// Flutter imports: import 'package:flutter/material.dart'; -import 'package:ribn/constants/assets.dart'; + +// Package imports: import 'package:ribn_toolkit/constants/styles.dart'; import 'package:ribn_toolkit/widgets/molecules/custom_tooltip.dart'; +// Project imports: +import 'package:ribn/constants/assets.dart'; + /// A wrapper widget used for custom input fields on transfer input pages. class CustomInputField extends StatelessWidget { /// Label for the input field. diff --git a/lib/presentation/transfers/widgets/from_address_field.dart b/lib/presentation/transfers/widgets/from_address_field.dart index 3764dc22..963f3ee5 100644 --- a/lib/presentation/transfers/widgets/from_address_field.dart +++ b/lib/presentation/transfers/widgets/from_address_field.dart @@ -1,8 +1,13 @@ +// Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: +import 'package:ribn_toolkit/constants/assets.dart'; + +// Project imports: import 'package:ribn/constants/strings.dart'; import 'package:ribn/presentation/transfers/widgets/custom_input_field.dart'; import 'package:ribn/widgets/address_display_container.dart'; -import 'package:ribn_toolkit/constants/assets.dart'; /// Custom display for the sender's address. /// diff --git a/lib/presentation/transfers/widgets/issuer_address_field.dart b/lib/presentation/transfers/widgets/issuer_address_field.dart index 55dd9060..8954beef 100644 --- a/lib/presentation/transfers/widgets/issuer_address_field.dart +++ b/lib/presentation/transfers/widgets/issuer_address_field.dart @@ -1,8 +1,13 @@ +// Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: +import 'package:ribn_toolkit/constants/assets.dart'; + +// Project imports: import 'package:ribn/constants/strings.dart'; import 'package:ribn/presentation/transfers/widgets/custom_input_field.dart'; import 'package:ribn/widgets/address_display_container.dart'; -import 'package:ribn_toolkit/constants/assets.dart'; /// Custom display for the issuer's address. /// diff --git a/lib/reducers/app_reducer.dart b/lib/reducers/app_reducer.dart index 760d48c9..431e7aca 100644 --- a/lib/reducers/app_reducer.dart +++ b/lib/reducers/app_reducer.dart @@ -1,3 +1,4 @@ +// Project imports: import 'package:ribn/actions/misc_actions.dart'; import 'package:ribn/models/app_state.dart'; import 'package:ribn/reducers/internal_message_reducer.dart'; diff --git a/lib/reducers/internal_message_reducer.dart b/lib/reducers/internal_message_reducer.dart index 93e21ac1..f2137a91 100644 --- a/lib/reducers/internal_message_reducer.dart +++ b/lib/reducers/internal_message_reducer.dart @@ -1,14 +1,19 @@ +// Package imports: import 'package:redux/redux.dart'; + +// Project imports: import 'package:ribn/actions/internal_message_actions.dart'; import 'package:ribn/models/internal_message.dart'; /// Reducer responsible for updating currently pending [InternalMessage], i.e. [AppState.internalMessage]. final internalMessageReducer = combineReducers( [ - TypedReducer(_onReceivedInternalMsg), + TypedReducer( + _onReceivedInternalMsg), ], ); -InternalMessage _onReceivedInternalMsg(InternalMessage? internalMessage, ReceivedInternalMsgAction action) { +InternalMessage _onReceivedInternalMsg( + InternalMessage? internalMessage, ReceivedInternalMsgAction action) { return action.pendingRequest; } diff --git a/lib/reducers/keychain_reducer.dart b/lib/reducers/keychain_reducer.dart index 091902b4..f64e58b3 100644 --- a/lib/reducers/keychain_reducer.dart +++ b/lib/reducers/keychain_reducer.dart @@ -1,6 +1,9 @@ +// Package imports: import 'package:bip_topl/bip_topl.dart'; import 'package:brambldart/credentials.dart'; import 'package:redux/redux.dart'; + +// Project imports: import 'package:ribn/actions/keychain_actions.dart'; import 'package:ribn/constants/rules.dart'; import 'package:ribn/models/keychain_state.dart'; @@ -9,10 +12,13 @@ import 'package:ribn/models/ribn_network.dart'; /// Reducer responsible for updating [KeyChainState] final keychainReducer = combineReducers( [ - TypedReducer(_onHdWalletInitialization), - TypedReducer(_onNetworksUpdated), + TypedReducer( + _onHdWalletInitialization), + TypedReducer( + _onNetworksUpdated), TypedReducer(_onAddAddresses), - TypedReducer(_onCurrentNetworkUpdated), + TypedReducer( + _onCurrentNetworkUpdated), TypedReducer(_onBalancesUpdated), ], ); @@ -20,7 +26,8 @@ final keychainReducer = combineReducers( /// Creates a new [HdWallet] upon successful login, where root = toplExtendedPrivateKey. /// /// Optionally updates the [keyStoreJson], for instance, when creating a new wallet for the first time. -KeychainState _onHdWalletInitialization(KeychainState keychainState, InitializeHDWalletAction action) { +KeychainState _onHdWalletInitialization( + KeychainState keychainState, InitializeHDWalletAction action) { return keychainState.copyWith( keyStoreJson: action.keyStoreJson ?? keychainState.keyStoreJson, hdWallet: HdWallet( @@ -33,7 +40,8 @@ KeychainState _onHdWalletInitialization(KeychainState keychainState, InitializeH } /// Updates ribn networks with [action.networkAddresses]. -KeychainState _onNetworksUpdated(KeychainState keychainState, UpdateNetworksWithAddressesAction action) { +KeychainState _onNetworksUpdated( + KeychainState keychainState, UpdateNetworksWithAddressesAction action) { final Map networks = Map.from(keychainState.networks); networks.forEach( (networkName, ribnNetwork) { @@ -46,7 +54,8 @@ KeychainState _onNetworksUpdated(KeychainState keychainState, UpdateNetworksWith } /// Add [action.addresses] to the list of addresses under the network specified by [action.networkName]. -KeychainState _onAddAddresses(KeychainState keychainState, AddAddressAction action) { +KeychainState _onAddAddresses( + KeychainState keychainState, AddAddressAction action) { final RibnNetwork network = keychainState.networks[action.networkName]!; final RibnNetwork updatedNetwork = network.copyWith( addresses: List.from(network.addresses)..add(action.address), @@ -63,7 +72,8 @@ KeychainState _onAddAddresses(KeychainState keychainState, AddAddressAction acti /// /// More specifically, updates the [keychainState.currentNetworkName] and the [lastCheckedTimestamp] of the network associated with /// [action.networkName]. -KeychainState _onCurrentNetworkUpdated(KeychainState keychainState, UpdateCurrentNetworkAction action) { +KeychainState _onCurrentNetworkUpdated( + KeychainState keychainState, UpdateCurrentNetworkAction action) { return keychainState.copyWith( currentNetworkName: action.networkName, networks: { @@ -76,7 +86,8 @@ KeychainState _onCurrentNetworkUpdated(KeychainState keychainState, UpdateCurren } /// Updates the current network with a list of addresses that have updated balances. -KeychainState _onBalancesUpdated(KeychainState keychainState, UpdateBalancesAction action) { +KeychainState _onBalancesUpdated( + KeychainState keychainState, UpdateBalancesAction action) { return keychainState.copyWith( networks: { ...keychainState.networks, diff --git a/lib/reducers/login_reducer.dart b/lib/reducers/login_reducer.dart index 394e7d6e..f2f6d143 100644 --- a/lib/reducers/login_reducer.dart +++ b/lib/reducers/login_reducer.dart @@ -1,4 +1,7 @@ +// Package imports: import 'package:redux/redux.dart'; + +// Project imports: import 'package:ribn/actions/login_actions.dart'; import 'package:ribn/models/login_state.dart'; diff --git a/lib/reducers/onboarding_reducer.dart b/lib/reducers/onboarding_reducer.dart index b0190383..6e574f87 100644 --- a/lib/reducers/onboarding_reducer.dart +++ b/lib/reducers/onboarding_reducer.dart @@ -1,5 +1,10 @@ +// Dart imports: import 'dart:math'; + +// Package imports: import 'package:redux/redux.dart'; + +// Project imports: import 'package:ribn/actions/onboarding_actions.dart'; import 'package:ribn/models/onboarding_state.dart'; @@ -7,12 +12,14 @@ import 'package:ribn/models/onboarding_state.dart'; final onboardingReducer = combineReducers( [ TypedReducer(_onUserSelectedWord), - TypedReducer(_onMnemonicGenerated), + TypedReducer( + _onMnemonicGenerated), ], ); /// Updates the mnemonic in [AppState] -OnboardingState _onMnemonicGenerated(OnboardingState onboardingState, MnemonicSuccessfullyGeneratedAction action) { +OnboardingState _onMnemonicGenerated(OnboardingState onboardingState, + MnemonicSuccessfullyGeneratedAction action) { return onboardingState.copyWith( mnemonic: action.mnemonic, shuffledMnemonic: List.from(action.mnemonic.split(' '))..shuffle(Random()), @@ -20,8 +27,10 @@ OnboardingState _onMnemonicGenerated(OnboardingState onboardingState, MnemonicSu ); } -OnboardingState _onUserSelectedWord(OnboardingState onboardingState, UserSelectedWordAction action) { +OnboardingState _onUserSelectedWord( + OnboardingState onboardingState, UserSelectedWordAction action) { return onboardingState.copyWith( - userSelectedIndices: List.from(onboardingState.userSelectedIndices ?? [])..add(action.idx), + userSelectedIndices: List.from(onboardingState.userSelectedIndices ?? []) + ..add(action.idx), ); } diff --git a/lib/reducers/user_details_reducer.dart b/lib/reducers/user_details_reducer.dart index 07481bad..49959e77 100644 --- a/lib/reducers/user_details_reducer.dart +++ b/lib/reducers/user_details_reducer.dart @@ -1,19 +1,26 @@ +// Package imports: import 'package:redux/redux.dart'; + +// Project imports: import 'package:ribn/actions/user_details_actions.dart'; import 'package:ribn/models/asset_details.dart'; import 'package:ribn/models/user_details_state.dart'; final userDetailsReducer = combineReducers( [ - TypedReducer(_updateAssetDetails), - TypedReducer(_updateBiometricsAction), + TypedReducer( + _updateAssetDetails), + TypedReducer( + _updateBiometricsAction), ], ); /// Handles [UpdateAssetDetailsAction] and updates the [assetDetails] that are stored locally, associated /// with [action.assetCode]. -UserDetailsState _updateAssetDetails(UserDetailsState userDetails, UpdateAssetDetailsAction action) { - final AssetDetails? currAssetDetails = userDetails.assetDetails[action.assetCode]; +UserDetailsState _updateAssetDetails( + UserDetailsState userDetails, UpdateAssetDetailsAction action) { + final AssetDetails? currAssetDetails = + userDetails.assetDetails[action.assetCode]; return userDetails.copyWith( assetDetails: { ...userDetails.assetDetails, @@ -27,7 +34,8 @@ UserDetailsState _updateAssetDetails(UserDetailsState userDetails, UpdateAssetDe } /// Handles [UpdateBiometricsAction] and updates [isBiometricsEnabled] that is stored locally -UserDetailsState _updateBiometricsAction(UserDetailsState userDetails, UpdateBiometricsAction action) { +UserDetailsState _updateBiometricsAction( + UserDetailsState userDetails, UpdateBiometricsAction action) { return userDetails.copyWith( isBiometricsEnabled: action.isBiometricsEnabled, ); diff --git a/lib/redux.dart b/lib/redux.dart index 2e2f4427..a595732d 100644 --- a/lib/redux.dart +++ b/lib/redux.dart @@ -1,7 +1,14 @@ +// Dart imports: import 'dart:async'; import 'dart:convert'; + +// Flutter imports: import 'package:flutter/foundation.dart'; + +// Package imports: import 'package:redux/redux.dart'; + +// Project imports: import 'package:ribn/middlewares/app_middleware.dart'; import 'package:ribn/models/app_state.dart'; import 'package:ribn/platform/platform.dart'; diff --git a/lib/repositories/keychain_repository.dart b/lib/repositories/keychain_repository.dart index 4fa1dd24..974259c4 100644 --- a/lib/repositories/keychain_repository.dart +++ b/lib/repositories/keychain_repository.dart @@ -1,8 +1,13 @@ // ignore_for_file: implementation_imports + +// Dart imports: import 'dart:typed_data'; +// Package imports: import 'package:bip_topl/bip_topl.dart'; import 'package:brambldart/brambldart.dart'; + +// Project imports: import 'package:ribn/constants/rules.dart'; import 'package:ribn/models/ribn_address.dart'; @@ -21,8 +26,10 @@ class KeychainRepository { int addr = Rules.defaultAddressIndex, required int networkId, }) { - final Bip32KeyPair keyPair = hdWallet.deriveLastThreeLayers(account: account, change: change, address: addr); - final ToplAddress toplAddress = hdWallet.toBaseAddress(spend: keyPair.publicKey!, networkId: networkId); + final Bip32KeyPair keyPair = hdWallet.deriveLastThreeLayers( + account: account, change: change, address: addr); + final ToplAddress toplAddress = + hdWallet.toBaseAddress(spend: keyPair.publicKey!, networkId: networkId); final String keyPath = getKeyPath(purpose, coinType, account, change, addr); final RibnAddress newAddress = RibnAddress( toplAddress: toplAddress, @@ -36,13 +43,22 @@ class KeychainRepository { } /// Constructs the key path, given the indices for [purpose], [coinType], [account], [change], and [address]. - String getKeyPath(int purpose, int coinType, int account, int change, int address) { + String getKeyPath( + int purpose, int coinType, int account, int change, int address) { String keyPath = 'm/'; - keyPath += isHardened(purpose) ? "${purpose - Rules.hardenedOffset}'/" : '$purpose/'; - keyPath += isHardened(coinType) ? "${coinType - Rules.hardenedOffset}'/" : '$coinType/'; - keyPath += isHardened(account) ? "${account - Rules.hardenedOffset}'/" : '$account/'; - keyPath += isHardened(change) ? "${change - Rules.hardenedOffset}'/" : '$change/'; - keyPath += isHardened(address) ? "${address - Rules.hardenedOffset}'" : '$address'; + keyPath += isHardened(purpose) + ? "${purpose - Rules.hardenedOffset}'/" + : '$purpose/'; + keyPath += isHardened(coinType) + ? "${coinType - Rules.hardenedOffset}'/" + : '$coinType/'; + keyPath += isHardened(account) + ? "${account - Rules.hardenedOffset}'/" + : '$account/'; + keyPath += + isHardened(change) ? "${change - Rules.hardenedOffset}'/" : '$change/'; + keyPath += + isHardened(address) ? "${address - Rules.hardenedOffset}'" : '$address'; return keyPath; } @@ -55,7 +71,8 @@ class KeychainRepository { } /// Get corresponding crendentials of the [addresses] provided, using [hdWallet]. - List getCredentials(HdWallet hdWallet, List addresses) { + List getCredentials( + HdWallet hdWallet, List addresses) { final List creds = []; for (RibnAddress addr in addresses) { final Bip32KeyPair keyPair = hdWallet.deriveLastThreeLayers( diff --git a/lib/repositories/login_repository.dart b/lib/repositories/login_repository.dart index 4a125f64..d12448a8 100644 --- a/lib/repositories/login_repository.dart +++ b/lib/repositories/login_repository.dart @@ -1,5 +1,9 @@ // ignore_for_file: implementation_imports + +// Dart imports: import 'dart:typed_data'; + +// Package imports: import 'package:bip_topl/bip_topl.dart'; import 'package:brambldart/crypto.dart'; @@ -11,8 +15,10 @@ class LoginRepository { /// [params] must have a `keyStoreJson` and `password`. Uint8List decryptKeyStore(Map params) { const Base58Encoder base58Encoder = Base58Encoder.instance; - final KeyStore keyStore = KeyStore.fromV1Json(params['keyStoreJson'], params['password']); - final Uint8List toplExtendedPrvKeyUint8List = base58Encoder.decode(keyStore.privateKey); + final KeyStore keyStore = + KeyStore.fromV1Json(params['keyStoreJson'], params['password']); + final Uint8List toplExtendedPrvKeyUint8List = + base58Encoder.decode(keyStore.privateKey); return toplExtendedPrvKeyUint8List; } } diff --git a/lib/repositories/misc_repository.dart b/lib/repositories/misc_repository.dart index 786c8318..3a4ad4bd 100644 --- a/lib/repositories/misc_repository.dart +++ b/lib/repositories/misc_repository.dart @@ -1,3 +1,4 @@ +// Project imports: import 'package:ribn/models/internal_message.dart'; import 'package:ribn/platform/platform.dart'; diff --git a/lib/repositories/onboarding_repository.dart b/lib/repositories/onboarding_repository.dart index 36fa3d18..f7e26277 100644 --- a/lib/repositories/onboarding_repository.dart +++ b/lib/repositories/onboarding_repository.dart @@ -1,9 +1,14 @@ +// Dart imports: import 'dart:async'; import 'dart:math'; import 'dart:typed_data'; + +// Package imports: import 'package:bip_topl/bip_topl.dart'; import 'package:brambldart/credentials.dart'; import 'package:brambldart/crypto.dart'; + +// Project imports: import 'package:ribn/constants/rules.dart'; class OnboardingRespository { @@ -19,8 +24,10 @@ class OnboardingRespository { const Base58Encoder base58Encoder = Base58Encoder.instance; final String mnemonic = generateMnemonic(random); final Bip32KeyPair toplExtendedKeyPair = deriveToplExtendedKeys(mnemonic); - final Uint8List toplExtendedPrvKeyUint8List = Uint8List.fromList(toplExtendedKeyPair.privateKey!); - final String base58EncodedToplExtendedPrvKey = base58Encoder.encode(toplExtendedPrvKeyUint8List); + final Uint8List toplExtendedPrvKeyUint8List = + Uint8List.fromList(toplExtendedKeyPair.privateKey!); + final String base58EncodedToplExtendedPrvKey = + base58Encoder.encode(toplExtendedPrvKeyUint8List); final KeyStore keyStore = KeyStore.createNew( base58EncodedToplExtendedPrvKey, password, @@ -45,9 +52,12 @@ class OnboardingRespository { Map generateKeyStore(Map params) { const Base58Encoder base58Encoder = Base58Encoder.instance; final Random random = Random.secure(); - final Bip32KeyPair toplExtendedKeyPair = deriveToplExtendedKeys(params['mnemonic']); - final Uint8List toplExtendedPrvKeyUint8List = Uint8List.fromList(toplExtendedKeyPair.privateKey!); - final String base58EncodedToplExtendedPrvKey = base58Encoder.encode(toplExtendedPrvKeyUint8List); + final Bip32KeyPair toplExtendedKeyPair = + deriveToplExtendedKeys(params['mnemonic']); + final Uint8List toplExtendedPrvKeyUint8List = + Uint8List.fromList(toplExtendedKeyPair.privateKey!); + final String base58EncodedToplExtendedPrvKey = + base58Encoder.encode(toplExtendedPrvKeyUint8List); final KeyStore keyStore = KeyStore.createNew( base58EncodedToplExtendedPrvKey, params['password'], @@ -63,6 +73,7 @@ class OnboardingRespository { Bip32KeyPair deriveToplExtendedKeys(String mnemonic) { final HdWallet hdWallet = HdWallet.fromMnemonic(mnemonic); - return hdWallet.deriveBaseAddress(purpose: Rules.defaultPurpose, coinType: Rules.defaultCoinType); + return hdWallet.deriveBaseAddress( + purpose: Rules.defaultPurpose, coinType: Rules.defaultCoinType); } } diff --git a/lib/repositories/transaction_repository.dart b/lib/repositories/transaction_repository.dart index d66368a5..8df6395d 100644 --- a/lib/repositories/transaction_repository.dart +++ b/lib/repositories/transaction_repository.dart @@ -1,12 +1,17 @@ +// Dart imports: import 'dart:typed_data'; +// Package imports: import 'package:brambldart/brambldart.dart'; -// import 'package:brambldart/src/model/box/token_value_holder.dart'; + +// Project imports: import 'package:ribn/constants/network_utils.dart'; import 'package:ribn/constants/rules.dart'; import 'package:ribn/constants/strings.dart'; import 'package:ribn/models/transfer_details.dart'; +// import 'package:brambldart/src/model/box/token_value_holder.dart'; + class TransactionRepository { const TransactionRepository(); @@ -19,8 +24,10 @@ class TransactionRepository { switch (transferDetails.transferType) { case TransferType.polyTransfer: { - final List senders = transferDetails.senders.map((e) => e.toplAddress).toList(); - final ToplAddress recipient = ToplAddress.fromBase58(transferDetails.recipient); + final List senders = + transferDetails.senders.map((e) => e.toplAddress).toList(); + final ToplAddress recipient = + ToplAddress.fromBase58(transferDetails.recipient); final PolyTransaction polyTransaction = PolyTransaction( recipients: [ SimpleRecipient( @@ -34,13 +41,16 @@ class TransactionRepository { fee: NetworkUtils.networkFees[transferDetails.networkId], data: Latin1Data.validated(transferDetails.data), ); - final Map rawTx = await client.sendRawPolyTransfer(polyTransaction: polyTransaction); + final Map rawTx = await client.sendRawPolyTransfer( + polyTransaction: polyTransaction); return rawTx; } case TransferType.assetTransfer: { - final List senders = transferDetails.senders.map((e) => e.toplAddress).toList(); - final ToplAddress recipient = ToplAddress.fromBase58(transferDetails.recipient); + final List senders = + transferDetails.senders.map((e) => e.toplAddress).toList(); + final ToplAddress recipient = + ToplAddress.fromBase58(transferDetails.recipient); final AssetValue assetValue = AssetValue( transferDetails.amount, transferDetails.assetCode!, @@ -59,14 +69,16 @@ class TransactionRepository { fee: NetworkUtils.networkFees[transferDetails.networkId], data: Latin1Data.validated(transferDetails.data), ); - final Map rawTx = await client.sendRawAssetTransfer(assetTransaction: assetTransaction); + final Map rawTx = await client.sendRawAssetTransfer( + assetTransaction: assetTransaction); return rawTx; } case (TransferType.mintingAsset): case (TransferType.remintingAsset): { final ToplAddress issuer = transferDetails.assetCode!.issuer; - final ToplAddress recipient = ToplAddress.fromBase58(transferDetails.recipient); + final ToplAddress recipient = + ToplAddress.fromBase58(transferDetails.recipient); final AssetValue assetValue = AssetValue( transferDetails.amount, transferDetails.assetCode!, @@ -85,7 +97,8 @@ class TransactionRepository { fee: NetworkUtils.networkFees[transferDetails.networkId], data: Latin1Data.validated(transferDetails.data), ); - final Map rawTx = await client.sendRawAssetTransfer(assetTransaction: assetTransaction); + final Map rawTx = await client.sendRawAssetTransfer( + assetTransaction: assetTransaction); return rawTx; } default: @@ -107,7 +120,8 @@ class TransactionRepository { ); } - Future broadcastTx(BramblClient client, TransactionReceipt signedTx) async { + Future broadcastTx( + BramblClient client, TransactionReceipt signedTx) async { return await client.sendSignedTransaction(signedTx); } diff --git a/lib/router/root_router.dart b/lib/router/root_router.dart index b0a44bdd..358cd2d9 100644 --- a/lib/router/root_router.dart +++ b/lib/router/root_router.dart @@ -196,17 +196,7 @@ class RootRouter { { return pageRoute(const TxHistoryPage(), settings); } - case Routes.txHistoryDetails: - final Map? transactionDetails = settings.arguments as Map; - { - return pageRoute( - TxHistoryDetailsPage( - transactionDetails: transactionDetails, - ), - settings, - ); - } case Routes.settings: { if (kIsWeb) return pageRouteNotAnimated(const SettingsPage(), settings); diff --git a/lib/utils.dart b/lib/utils.dart index c4d5484b..81bd3473 100644 --- a/lib/utils.dart +++ b/lib/utils.dart @@ -1,12 +1,22 @@ +// Dart imports: import 'dart:typed_data'; import 'dart:ui'; -import 'package:barcode_widget/barcode_widget.dart'; -import 'package:brambldart/utils.dart'; +// Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; + +// Package imports: +import 'package:barcode_widget/barcode_widget.dart'; +import 'package:brambldart/utils.dart'; import 'package:flutter_redux/flutter_redux.dart'; import 'package:local_auth/local_auth.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/custom_copy_button.dart'; +import 'package:ribn_toolkit/widgets/molecules/custom_modal.dart'; + +// Project imports: import 'package:ribn/actions/misc_actions.dart'; import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/keys.dart'; @@ -16,10 +26,6 @@ import 'package:ribn/models/app_state.dart'; import 'package:ribn/models/ribn_address.dart'; import 'package:ribn/platform/platform.dart'; import 'package:ribn/widgets/custom_divider.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/custom_copy_button.dart'; -import 'package:ribn_toolkit/widgets/molecules/custom_modal.dart'; /// Formats an address string to only dispaly its first and last 10 characters. String formatAddrString(String addr, {int charsToDisplay = 10}) { @@ -56,7 +62,8 @@ void validateRecipientAddress({ } Future isBiometricsAuthenticationSupported( - LocalAuthentication auth,) async { + LocalAuthentication auth, +) async { final bool canCheckBiometrics = await auth.canCheckBiometrics; final bool isDeviceSupported = await auth.isDeviceSupported(); @@ -64,7 +71,8 @@ Future isBiometricsAuthenticationSupported( } Future isBiometricsAuthenticationEnrolled( - LocalAuthentication auth,) async { + LocalAuthentication auth, +) async { final bool canCheckBiometrics = await auth.canCheckBiometrics; final bool isDeviceSupported = await auth.isDeviceSupported(); final List enrolledBiometrics = await auth.getAvailableBiometrics(); @@ -203,4 +211,4 @@ final emptyStateBody = RichText( TextSpan(text: Strings.emptyStateBody.substring(31, 111)), ], ), -); \ No newline at end of file +); diff --git a/lib/widgets/address_display_container.dart b/lib/widgets/address_display_container.dart index 1bcae604..45a63edc 100644 --- a/lib/widgets/address_display_container.dart +++ b/lib/widgets/address_display_container.dart @@ -1,10 +1,15 @@ +// Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: import 'package:flutter_redux/flutter_redux.dart'; import 'package:flutter_svg/flutter_svg.dart'; +import 'package:ribn_toolkit/widgets/atoms/rounded_copy_text_field.dart'; + +// Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/models/app_state.dart'; import 'package:ribn/models/ribn_address.dart'; -import 'package:ribn_toolkit/widgets/atoms/rounded_copy_text_field.dart'; class AddressDisplayContainer extends StatefulWidget { const AddressDisplayContainer({ @@ -18,14 +23,16 @@ class AddressDisplayContainer extends StatefulWidget { final double width; @override - State createState() => _AddressDisplayContainerState(); + State createState() => + _AddressDisplayContainerState(); } class _AddressDisplayContainerState extends State { @override Widget build(BuildContext context) { return StoreConnector( - converter: (store) => store.state.keychainState.currentNetwork.addresses.first, + converter: (store) => + store.state.keychainState.currentNetwork.addresses.first, builder: (context, ribnAddress) => RoundedCopyTextField( text: widget.text, icon: SvgPicture.asset(widget.icon), diff --git a/lib/widgets/asset_info.dart b/lib/widgets/asset_info.dart index 0073d035..53a08122 100644 --- a/lib/widgets/asset_info.dart +++ b/lib/widgets/asset_info.dart @@ -1,9 +1,14 @@ -import 'package:brambldart/model.dart'; +// Flutter imports: import 'package:flutter/material.dart'; -import 'package:ribn/models/asset_details.dart'; + +// Package imports: +import 'package:brambldart/model.dart'; import 'package:ribn_toolkit/constants/assets.dart'; import 'package:ribn_toolkit/constants/colors.dart'; +// Project imports: +import 'package:ribn/models/asset_details.dart'; + /// A custom display for asset information. class AssetInfo extends StatelessWidget { /// AssetCode for which information needs to be displayed. diff --git a/lib/widgets/custom_divider.dart b/lib/widgets/custom_divider.dart index 8817bb33..6e39760c 100644 --- a/lib/widgets/custom_divider.dart +++ b/lib/widgets/custom_divider.dart @@ -1,3 +1,4 @@ +// Flutter imports: import 'package:flutter/material.dart'; /// A custom divider used to separate items in a list. diff --git a/lib/widgets/custom_page_title.dart b/lib/widgets/custom_page_title.dart index 52ff0be7..c9d7a7df 100644 --- a/lib/widgets/custom_page_title.dart +++ b/lib/widgets/custom_page_title.dart @@ -1,4 +1,7 @@ +// Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: import 'package:ribn_toolkit/constants/styles.dart'; import 'package:ribn_toolkit/widgets/atoms/custom_icon_button.dart'; @@ -6,7 +9,9 @@ import 'package:ribn_toolkit/widgets/atoms/custom_icon_button.dart'; /// /// Used during the transfer flows. class CustomPageTitle extends StatelessWidget { - const CustomPageTitle({required this.title, this.top = 5, this.left = 10, Key? key}) : super(key: key); + const CustomPageTitle( + {required this.title, this.top = 5, this.left = 10, Key? key}) + : super(key: key); final String title; final double top; final double left; diff --git a/lib/widgets/fee_info.dart b/lib/widgets/fee_info.dart index f7aff945..8797d547 100644 --- a/lib/widgets/fee_info.dart +++ b/lib/widgets/fee_info.dart @@ -1,8 +1,13 @@ +// Flutter imports: import 'package:flutter/material.dart'; -import 'package:ribn/constants/strings.dart'; + +// Package imports: import 'package:ribn_toolkit/constants/colors.dart'; import 'package:ribn_toolkit/constants/styles.dart'; +// Project imports: +import 'package:ribn/constants/strings.dart'; + /// A widget that displays the fee info during the transfer flows in Ribn. class FeeInfo extends StatelessWidget { const FeeInfo({required this.fee, Key? key}) : super(key: key); diff --git a/lib/widgets/ribn_app_bar_wapper.dart b/lib/widgets/ribn_app_bar_wapper.dart index 6a3ef5a3..cdab31e5 100644 --- a/lib/widgets/ribn_app_bar_wapper.dart +++ b/lib/widgets/ribn_app_bar_wapper.dart @@ -1,7 +1,12 @@ +// Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: +import 'package:ribn_toolkit/widgets/organisms/ribn_app_bar.dart'; + +// Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/containers/ribn_app_bar_container.dart'; -import 'package:ribn_toolkit/widgets/organisms/ribn_app_bar.dart'; /// Builds a wrapper around the AppBar from ToplToolkit to provide ViewModel & AppBarContainer class RibnAppBarWrapper extends StatefulWidget implements PreferredSizeWidget { diff --git a/pubspec.lock b/pubspec.lock index 215f7564..f07934c1 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -578,6 +578,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "3.1.3" + import_sorter: + dependency: "direct main" + description: + name: import_sorter + url: "https://pub.dartlang.org" + source: hosted + version: "4.6.0" intl: dependency: "direct main" description: @@ -647,28 +654,28 @@ packages: name: local_auth url: "https://pub.dartlang.org" source: hosted - version: "2.1.2" + version: "2.1.3" local_auth_android: dependency: transitive description: name: local_auth_android url: "https://pub.dartlang.org" source: hosted - version: "1.0.16" + version: "1.0.17" local_auth_ios: dependency: transitive description: name: local_auth_ios url: "https://pub.dartlang.org" source: hosted - version: "1.0.10" + version: "1.0.12" local_auth_platform_interface: dependency: transitive description: name: local_auth_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "1.0.5" + version: "1.0.6" local_auth_windows: dependency: transitive description: @@ -913,7 +920,7 @@ packages: name: quiver url: "https://pub.dartlang.org" source: hosted - version: "3.1.0" + version: "3.2.1" redux: dependency: "direct main" description: @@ -932,8 +939,8 @@ packages: dependency: "direct main" description: path: "." - ref: main - resolved-ref: eddadffd87f25a336e4f5d262476d744174e3ff9 + ref: RIBN-566 + resolved-ref: d7a965dd5401992ca3688993195bfa30306362de url: "https://github.com/Topl/ribn-toolkit" source: git version: "1.0.0+1" @@ -1103,6 +1110,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.0.0" + tint: + dependency: transitive + description: + name: tint + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.0" typed_data: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index abd22285..9a58ed75 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -51,10 +51,11 @@ dependencies: barcode_widget: ^2.0.1 flutter_portal: ^0.4.0 file_picker: ^4.3.3 + import_sorter: ^4.6.0 ribn_toolkit: git: url: https://github.com/Topl/ribn-toolkit - ref: main + ref: RIBN-566 # ribn_toolkit: # path: ../ribn_toolkit brambldart: diff --git a/test/main_test.dart b/test/main_test.dart index 98c2e14c..98458b7a 100644 --- a/test/main_test.dart +++ b/test/main_test.dart @@ -1,5 +1,7 @@ +// Package imports: import 'package:flutter_test/flutter_test.dart'; +// Project imports: import 'middleware_test.dart' as middleware_test; import 'reducer_test.dart' as reducer_test; diff --git a/test/middleware_test.dart b/test/middleware_test.dart index cc79382c..385f68ea 100644 --- a/test/middleware_test.dart +++ b/test/middleware_test.dart @@ -1,10 +1,14 @@ +// Dart imports: import 'dart:async'; import 'dart:typed_data'; +// Package imports: import 'package:brambldart/brambldart.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart'; import 'package:redux/redux.dart'; + +// Project imports: import 'package:ribn/actions/keychain_actions.dart'; import 'package:ribn/actions/login_actions.dart'; import 'package:ribn/actions/onboarding_actions.dart'; @@ -14,7 +18,6 @@ import 'package:ribn/models/ribn_address.dart'; import 'package:ribn/redux.dart'; import 'package:ribn/repositories/login_repository.dart'; import 'package:ribn/repositories/onboarding_repository.dart'; - import 'shared_mocks.mocks.dart'; import 'test_data.dart'; @@ -30,7 +33,8 @@ void main() { final String invalidPassword = testData['invalidPassword']!; final String testKeyStore = testData['keyStoreJson']!; final RibnAddress testAddress = testData['address']; - final Uint8List testToplExtendedPrivKey = Uint8List.fromList(toList(testData['toplExtendedPrvKey']!)); + final Uint8List testToplExtendedPrivKey = + Uint8List.fromList(toList(testData['toplExtendedPrvKey']!)); late Store testStore; @@ -51,14 +55,17 @@ void main() { setUp(reset); group('Onboarding middleware', () { test('should generate mnemonic', () { - when(onboardingRepo.generateMnemonicForUser()).thenAnswer((_) => testMnemonic); + when(onboardingRepo.generateMnemonicForUser()) + .thenAnswer((_) => testMnemonic); testStore.dispatch(GenerateMnemonicAction()); verify(onboardingRepo.generateMnemonicForUser()).called(1); expect(testStore.state.onboardingState.mnemonic, testMnemonic); - expect(testStore.state.onboardingState.shuffledMnemonic, unorderedEquals(testMnemonic.split(' '))); + expect(testStore.state.onboardingState.shuffledMnemonic, + unorderedEquals(testMnemonic.split(' '))); }); test('should generate keystore and initialize hd wallet', () async { - when(onboardingRepo.generateMnemonicForUser()).thenAnswer((_) => testMnemonic); + when(onboardingRepo.generateMnemonicForUser()) + .thenAnswer((_) => testMnemonic); testStore.dispatch(GenerateMnemonicAction()); // mnemonic: captureAnyNamed('mnemonic'), // password: captureAnyNamed('password'), @@ -89,7 +96,8 @@ void main() { group('Login middleware', () { setUp(() { // generate mnemonic - when(onboardingRepo.generateMnemonicForUser()).thenAnswer((_) => testMnemonic); + when(onboardingRepo.generateMnemonicForUser()) + .thenAnswer((_) => testMnemonic); testStore.dispatch(GenerateMnemonicAction()); // generate keystore when( @@ -119,7 +127,8 @@ void main() { when( loginRepo.decryptKeyStore(argThat(isNotNull)), ).thenAnswer( - (_) => const LoginRepository().decryptKeyStore({'keyStoreJson': testKeyStore, 'password': invalidPassword}), + (_) => const LoginRepository().decryptKeyStore( + {'keyStoreJson': testKeyStore, 'password': invalidPassword}), ); final Completer completer = Completer(); testStore.dispatch(AttemptLoginAction(invalidPassword, completer)); @@ -133,26 +142,33 @@ void main() { group('Keychain middleware', () { setUp(() { // generate mnemonic - when(onboardingRepo.generateMnemonicForUser()).thenAnswer((_) => testMnemonic); + when(onboardingRepo.generateMnemonicForUser()) + .thenAnswer((_) => testMnemonic); testStore.dispatch(GenerateMnemonicAction()); // generate keystore - when(onboardingRepo.generateKeyStore(argThat(isNotNull))) - .thenReturn({'keyStoreJson': testKeyStore, 'toplExtendedPrvKeyUint8List': testToplExtendedPrivKey}); + when(onboardingRepo.generateKeyStore(argThat(isNotNull))).thenReturn({ + 'keyStoreJson': testKeyStore, + 'toplExtendedPrvKeyUint8List': testToplExtendedPrivKey + }); testStore.dispatch(CreatePasswordAction(validPassword)); // login - when(loginRepo.decryptKeyStore(captureAny)).thenReturn(testToplExtendedPrivKey); + when(loginRepo.decryptKeyStore(captureAny)) + .thenReturn(testToplExtendedPrivKey); }); test('Should refresh balances', () async { const testPolys = 10000; await Future.delayed( Duration.zero, () => testStore.dispatch( - InitializeHDWalletAction(toplExtendedPrivateKey: TestData.toplExtendedPrvKeyUint8List), + InitializeHDWalletAction( + toplExtendedPrivateKey: TestData.toplExtendedPrvKeyUint8List), ), ); - when(keychainRepo.generateAddress(argThat(isNotNull), networkId: captureAnyNamed('networkId'))) + when(keychainRepo.generateAddress(argThat(isNotNull), + networkId: captureAnyNamed('networkId'))) .thenAnswer((_) => testAddress); - testStore.dispatch(GenerateAddressAction(0, network: testStore.state.keychainState.currentNetwork)); + testStore.dispatch(GenerateAddressAction(0, + network: testStore.state.keychainState.currentNetwork)); when(keychainRepo.getBalances(captureAny, captureAny)).thenAnswer((_) { return Future.value( (_.positionalArguments[1] as List) @@ -167,10 +183,12 @@ void main() { ); }); final Completer completer = Completer(); - testStore.dispatch(RefreshBalancesAction(completer, testStore.state.keychainState.currentNetwork)); + testStore.dispatch(RefreshBalancesAction( + completer, testStore.state.keychainState.currentNetwork)); await expectLater(completer.future, completion(true)); expect( - testStore.state.keychainState.currentNetwork.addresses.first.balance.polys, + testStore + .state.keychainState.currentNetwork.addresses.first.balance.polys, PolyAmount.inNanopoly(quantity: testPolys), ); }); diff --git a/test/reducer_test.dart b/test/reducer_test.dart index 4b8b5673..3e298cda 100644 --- a/test/reducer_test.dart +++ b/test/reducer_test.dart @@ -1,10 +1,16 @@ +// Dart imports: import 'dart:typed_data'; +// Flutter imports: +import 'package:flutter/foundation.dart'; + +// Package imports: import 'package:bip_topl/bip_topl.dart' as bip_topl; import 'package:brambldart/brambldart.dart'; -import 'package:flutter/foundation.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:redux/redux.dart'; + +// Project imports: import 'package:ribn/actions/keychain_actions.dart'; import 'package:ribn/actions/onboarding_actions.dart'; import 'package:ribn/constants/network_utils.dart'; @@ -52,8 +58,10 @@ void main() { ), ); expect(testStore.state.keychainState.keyStoreJson, testKeyStore); - expect(testStore.state.keychainState.hdWallet!.rootVerifyKey, - hdWallet.rootVerifyKey,); + expect( + testStore.state.keychainState.hdWallet!.rootVerifyKey, + hdWallet.rootVerifyKey, + ); }); test('update network with addresses', () async { const KeychainRepository keychainRepo = KeychainRepository(); @@ -72,15 +80,18 @@ void main() { testStore.dispatch(UpdateNetworksWithAddressesAction(networkAddresses)); testStore.state.keychainState.networks.forEach((networkName, network) { listEquals( - testStore.state.keychainState.networks[networkName]!.addresses, - networkAddresses[networkName],); + testStore.state.keychainState.networks[networkName]!.addresses, + networkAddresses[networkName], + ); }); }); test('toggle network', () async { testStore.dispatch(UpdateCurrentNetworkAction(NetworkUtils.private)); - expect(testStore.state.keychainState.currentNetwork.networkName, - NetworkUtils.private,); + expect( + testStore.state.keychainState.currentNetwork.networkName, + NetworkUtils.private, + ); }); }); }); -} \ No newline at end of file +} diff --git a/test/shared_mocks.dart b/test/shared_mocks.dart index 6246689a..11dd186a 100644 --- a/test/shared_mocks.dart +++ b/test/shared_mocks.dart @@ -1,4 +1,7 @@ +// Package imports: import 'package:mockito/annotations.dart'; + +// Project imports: import 'package:ribn/models/ribn_address.dart'; import 'package:ribn/repositories/keychain_repository.dart'; import 'package:ribn/repositories/login_repository.dart'; diff --git a/test/shared_mocks.mocks.dart b/test/shared_mocks.mocks.dart index 1f4b4d3e..b8cc13e4 100644 --- a/test/shared_mocks.mocks.dart +++ b/test/shared_mocks.mocks.dart @@ -2,12 +2,16 @@ // in ribn/test/shared_mocks.dart. // Do not manually edit this file. +// Dart imports: import 'dart:async' as _i6; import 'dart:typed_data' as _i8; +// Package imports: import 'package:brambldart/brambldart.dart' as _i4; import 'package:brambldart/credentials.dart' as _i2; import 'package:mockito/mockito.dart' as _i1; + +// Project imports: import 'package:ribn/models/internal_message.dart' as _i10; import 'package:ribn/models/ribn_address.dart' as _i3; import 'package:ribn/models/transfer_details.dart' as _i13; diff --git a/test/test_data.dart b/test/test_data.dart index ebabc060..fc75efbe 100644 --- a/test/test_data.dart +++ b/test/test_data.dart @@ -1,10 +1,14 @@ +// Package imports: import 'package:brambldart/credentials.dart'; + +// Project imports: import 'package:ribn/constants/network_utils.dart'; import 'package:ribn/constants/rules.dart'; import 'package:ribn/models/ribn_address.dart'; Map testData = { - 'mnemonic': 'napkin they pupil disorder junior tonight harsh mobile equal explain allow fancy', + 'mnemonic': + 'napkin they pupil disorder junior tonight harsh mobile equal explain allow fancy', 'rootExtendedPrvKey': '64, 152, 147, 162, 27, 218, 199, 183, 63, 203, 225, 8, 66, 19, 70, 136, 195, 167, 2, 80, 205, 2, 101, 184, 123, 4, 1, 243, 211, 71, 151, 94, 55, 233, 205, 8, 240, 57, 245, 113, 25, 135, 174, 17, 19, 89, 46, 188, 137, 86, 233, 16, 223, 41, 177, 217, 128, 221, 55, 128, 147, 74, 229, 221, 235, 233, 231, 45, 1, 34, 13, 37, 45, 17, 170, 166, 208, 154, 59, 17, 179, 13, 219, 191, 21, 64, 115, 19, 223, 133, 72, 255, 45, 171, 47, 108', 'toplExtendedPrvKey': @@ -14,10 +18,12 @@ Map testData = { 'validPassword': '12345678', 'invalidPassword': '1234567', 'address': RibnAddress( - toplAddress: ToplAddress.fromBase58('AUDxRxPtWPeejAMfEeYMYfwQ7Shk5qLw4swZkW6sek3D4FMDrQ6D'), + toplAddress: ToplAddress.fromBase58( + 'AUDxRxPtWPeejAMfEeYMYfwQ7Shk5qLw4swZkW6sek3D4FMDrQ6D'), addressIndex: 0, keyPath: '', - balance: Rules.initBalance('AUDxRxPtWPeejAMfEeYMYfwQ7Shk5qLw4swZkW6sek3D4FMDrQ6D'), + balance: Rules.initBalance( + 'AUDxRxPtWPeejAMfEeYMYfwQ7Shk5qLw4swZkW6sek3D4FMDrQ6D'), networkId: NetworkUtils.privateId, ), }; From c41dbc7b04e956ad7014ad478f7cb6945d346a47 Mon Sep 17 00:00:00 2001 From: Siphamandla brian Mjoli Date: Wed, 21 Dec 2022 08:30:01 +0200 Subject: [PATCH 06/58] update(imports); removed imports --- .../transaction_data_row.dart | 5 ----- .../transaction_history_details_page.dart | 16 ---------------- .../transaction_history_page.dart | 2 -- .../transfers/asset_transfer_section.dart | 2 -- lib/router/root_router.dart | 1 - 5 files changed, 26 deletions(-) diff --git a/lib/presentation/transaction_history/transaction_data_row/transaction_data_row.dart b/lib/presentation/transaction_history/transaction_data_row/transaction_data_row.dart index 9b993d6c..a6b18f69 100644 --- a/lib/presentation/transaction_history/transaction_data_row/transaction_data_row.dart +++ b/lib/presentation/transaction_history/transaction_data_row/transaction_data_row.dart @@ -11,16 +11,11 @@ import 'package:flutter_redux/flutter_redux.dart'; import 'package:intl/intl.dart'; import 'package:ribn_toolkit/constants/colors.dart'; import 'package:ribn_toolkit/constants/ribn_sample_data_models.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; import 'package:ribn_toolkit/models/transactions/ribn_activity_details_model.dart'; -import 'package:ribn_toolkit/widgets/atoms/status_chip.dart'; -import 'package:ribn_toolkit/widgets/molecules/ribn_activity_details.dart'; import 'package:ribn_toolkit/widgets/molecules/ribn_activity_tile.dart'; // Project imports: import 'package:ribn/constants/assets.dart'; -import 'package:ribn/constants/keys.dart'; -import 'package:ribn/constants/routes.dart'; import 'package:ribn/models/app_state.dart'; import 'package:ribn/models/asset_details.dart'; import 'package:ribn/utils.dart'; diff --git a/lib/presentation/transaction_history/transaction_history_details_page/transaction_history_details_page.dart b/lib/presentation/transaction_history/transaction_history_details_page/transaction_history_details_page.dart index 98e2da0d..f640bea5 100644 --- a/lib/presentation/transaction_history/transaction_history_details_page/transaction_history_details_page.dart +++ b/lib/presentation/transaction_history/transaction_history_details_page/transaction_history_details_page.dart @@ -2,23 +2,11 @@ import 'package:flutter/material.dart'; // Package imports: -import 'package:flutter_svg/flutter_svg.dart'; import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; import 'package:ribn_toolkit/models/transactions/ribn_activity_details_model.dart'; -import 'package:ribn_toolkit/widgets/atoms/custom_copy_button.dart'; -import 'package:ribn_toolkit/widgets/atoms/status_chip.dart'; import 'package:ribn_toolkit/widgets/molecules/ribn_activity_details.dart'; -import 'package:ribn_toolkit/widgets/organisms/custom_page_text_title.dart'; -import 'package:url_launcher/url_launcher.dart'; // Project imports: -import 'package:ribn/constants/assets.dart'; -import 'package:ribn/constants/rules.dart'; -import 'package:ribn/constants/strings.dart'; -import 'package:ribn/presentation/transaction_history/dashed_list_separator/dashed_list_separator.dart'; -import 'package:ribn/presentation/transaction_history/transaction_history_details_page/transaction_history_data_tile.dart'; -import 'package:ribn/utils.dart'; class TxHistoryDetailsPage extends StatefulWidget { final RibnActivityDetailsModel ribnActivityDetailsModel; @@ -36,10 +24,6 @@ class _TxHistoryPageDetailsState extends State { @override Widget build(BuildContext context) { final _scrollController = ScrollController(); - final dataTileTextStyle = RibnToolkitTextStyles.hintStyle.copyWith( - fontWeight: FontWeight.w400, - color: const Color(0xff727372), - ); return Scaffold( backgroundColor: RibnColors.background, diff --git a/lib/presentation/transaction_history/transaction_history_page.dart b/lib/presentation/transaction_history/transaction_history_page.dart index ba22ea9a..7acab735 100644 --- a/lib/presentation/transaction_history/transaction_history_page.dart +++ b/lib/presentation/transaction_history/transaction_history_page.dart @@ -9,8 +9,6 @@ import 'package:ribn_toolkit/widgets/organisms/custom_page_dropdown_title.dart'; // Project imports: import 'package:ribn/constants/assets.dart'; -import 'package:ribn/constants/keys.dart'; -import 'package:ribn/constants/routes.dart'; import 'package:ribn/constants/strings.dart'; import 'package:ribn/containers/transaction_history_container.dart'; import 'package:ribn/presentation/empty_state_screen.dart'; diff --git a/lib/presentation/transfers/asset_transfer_section.dart b/lib/presentation/transfers/asset_transfer_section.dart index c837692d..6bc8c859 100644 --- a/lib/presentation/transfers/asset_transfer_section.dart +++ b/lib/presentation/transfers/asset_transfer_section.dart @@ -15,8 +15,6 @@ import 'package:ribn_toolkit/widgets/molecules/recipient_field.dart'; // Project imports: import 'package:ribn/constants/assets.dart'; -import 'package:ribn/constants/keys.dart'; -import 'package:ribn/constants/routes.dart'; import 'package:ribn/constants/strings.dart'; import 'package:ribn/containers/asset_transfer_input_container.dart'; import 'package:ribn/presentation/empty_state_screen.dart'; diff --git a/lib/router/root_router.dart b/lib/router/root_router.dart index 358cd2d9..603de703 100644 --- a/lib/router/root_router.dart +++ b/lib/router/root_router.dart @@ -30,7 +30,6 @@ import 'package:ribn/presentation/onboarding/restore_wallet/enter_wallet_passwor import 'package:ribn/presentation/onboarding/restore_wallet/restore_wallet_page.dart'; import 'package:ribn/presentation/onboarding/restore_wallet/restore_with_topl_key_page.dart'; import 'package:ribn/presentation/settings/settings_page.dart'; -import 'package:ribn/presentation/transaction_history/transaction_history_details_page/transaction_history_details_page.dart'; import 'package:ribn/presentation/transaction_history/transaction_history_page.dart'; import 'package:ribn/presentation/transfers/asset_transfer_page.dart'; import 'package:ribn/presentation/transfers/mint_input_page.dart'; From e968ff45348105c0fbe7532643f2657ca5e90380 Mon Sep 17 00:00:00 2001 From: Kalervo Hyyppa Date: Wed, 4 Jan 2023 14:20:50 -0700 Subject: [PATCH 07/58] Updates to line item --- README.md | 4 ++++ ios/Podfile.lock | 2 +- lib/main.dart | 24 +++++++------------ .../home/wallet_balance_page.dart | 16 +++++++++---- pubspec.lock | 8 +++---- pubspec.yaml | 11 +++++---- 6 files changed, 34 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index 160a684f..eeee69b2 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,10 @@ Ribn allows users to: * Navigate to and select the directory with path `ribn/build/web/` * The app should be loaded and you should be able to open it like you would any other extension +## Using Test Credentials +* Change `Line 28` in `main.dart` to: `await Redux.initStore(initTestStore: true);` +* PW is Topl1234 +* Seed phrase can be found in `test_data.dart` ## Feature requests and bugs Please file feature requests and bugs at the [issue tracker](https://github.com/Topl/ribn/issues). If you want to contribute to this library, please submit a Pull Request. diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 54f54225..7bcf2a85 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -108,4 +108,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: ef19549a9bc3046e7bb7d2fab4d021637c0c58a3 -COCOAPODS: 1.11.3 +COCOAPODS: 1.11.2 diff --git a/lib/main.dart b/lib/main.dart index 5ff882ef..53d8bbc6 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -25,9 +25,8 @@ import 'package:ribn/router/root_router.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); - await Redux.initStore(initTestStore: false); - final AppViews currentAppView = - await PlatformUtils.instance.getCurrentAppView(); + await Redux.initStore(initTestStore: true); + final AppViews currentAppView = await PlatformUtils.instance.getCurrentAppView(); final bool needsOnboarding = Redux.store!.state.needsOnboarding(); // Open app in new tab if user needs onboarding if (currentAppView == AppViews.extension && needsOnboarding) { @@ -60,8 +59,7 @@ class RibnApp extends StatelessWidget { title: 'Ribn', navigatorObservers: [Routes.routeObserver], onGenerateRoute: rootRouter.generateRoutes, - onGenerateInitialRoutes: (initialRoute) => - onGenerateInitialRoute(initialRoute, store), + onGenerateInitialRoutes: (initialRoute) => onGenerateInitialRoute(initialRoute, store), initialRoute: getInitialRoute(store), navigatorKey: Keys.navigatorKey, ), @@ -84,12 +82,9 @@ String getInitialRoute(Store store) { //v2 else if (store.state.internalMessage?.method == InternalMethods.authorize) { return Routes.connectDApp; - } - else if (store.state.internalMessage?.method == InternalMethods.getBalance) { + } else if (store.state.internalMessage?.method == InternalMethods.getBalance) { return Routes.reviewAndSignDApp; - } - else if (store.state.internalMessage?.method == - InternalMethods.signTransaction) { + } else if (store.state.internalMessage?.method == InternalMethods.signTransaction) { return Routes.reviewAndSignDApp; } @@ -126,8 +121,7 @@ List onGenerateInitialRoute(initialRoute, Store store) { case Routes.externalSigning: return [ MaterialPageRoute( - builder: (context) => - ExternalSigningPage(store.state.internalMessage!), + builder: (context) => ExternalSigningPage(store.state.internalMessage!), settings: const RouteSettings(name: Routes.externalSigning), ) ]; @@ -168,13 +162,11 @@ Future initBgConnection(Store store) async { try { Messenger.instance.connect(); Messenger.instance.initMsgListener((String msgFromBgScript) { - final InternalMessage pendingRequest = - InternalMessage.fromJson(msgFromBgScript); + final InternalMessage pendingRequest = InternalMessage.fromJson(msgFromBgScript); store.dispatch(ReceivedInternalMsgAction(pendingRequest)); completer.complete(); }); - Messenger.instance - .sendMsg(jsonEncode({'method': InternalMethods.checkPendingRequest})); + Messenger.instance.sendMsg(jsonEncode({'method': InternalMethods.checkPendingRequest})); } catch (e) { completer.complete(); PlatformUtils.instance.closeWindow(); diff --git a/lib/presentation/home/wallet_balance_page.dart b/lib/presentation/home/wallet_balance_page.dart index 5d6b23d2..ad5f6dc5 100644 --- a/lib/presentation/home/wallet_balance_page.dart +++ b/lib/presentation/home/wallet_balance_page.dart @@ -69,7 +69,8 @@ class _WalletBalancePageState extends State { // refresh balances on network toggle or when new addresses are generated final bool shouldRefresh = currVm.walletExists && (prevVm?.currentNetwork.networkName != currVm.currentNetwork.networkName || - prevVm?.currentNetwork.lastCheckedTimestamp != currVm.currentNetwork.lastCheckedTimestamp || + prevVm?.currentNetwork.lastCheckedTimestamp != + currVm.currentNetwork.lastCheckedTimestamp || prevVm?.currentNetwork.addresses.length != currVm.currentNetwork.addresses.length); if (shouldRefresh) refreshBalances(currVm); }, @@ -282,14 +283,21 @@ class _WalletBalancePageState extends State { required Function(AssetAmount) viewAssetDetails, }) { final String assetIcon = assetDetails?.icon ?? RibnAssets.undefinedIcon; - final String assetUnit = assetDetails?.unit != null ? formatAssetUnit(assetDetails!.unit) : 'Unit'; + + final String assetUnit = + assetDetails?.unit != null ? formatAssetUnit(assetDetails!.unit) : 'Unit'; final String assetLongName = assetDetails?.longName ?? ''; final bool isMissingAssetDetails = assetIcon == RibnAssets.undefinedIcon || assetUnit == 'Unit' || assetLongName.isEmpty; + bool isNft = false; return AssetCard( + isNft: isNft, onCardPress: () => viewAssetDetails(asset), - iconImage: Image.asset(assetIcon, width: 31), + iconImage: Image.asset( + assetIcon, + width: 300, + ), shortName: Text( asset.assetCode.shortName.show.replaceAll('\x00', ''), style: RibnToolkitTextStyles.assetShortNameStyle, @@ -307,7 +315,7 @@ class _WalletBalancePageState extends State { ), missingAsstDetailsCondition: isMissingAssetDetails, assetQuantityDetails: Text( - '${asset.quantity.toString()} $assetUnit', + isNft ? '${asset.quantity.toString()}' : '${asset.quantity.toString()} $assetUnit', overflow: TextOverflow.ellipsis, style: RibnToolkitTextStyles.assetShortNameStyle.copyWith( color: RibnColors.primary, diff --git a/pubspec.lock b/pubspec.lock index 215f7564..d342b221 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -931,11 +931,9 @@ packages: ribn_toolkit: dependency: "direct main" description: - path: "." - ref: main - resolved-ref: eddadffd87f25a336e4f5d262476d744174e3ff9 - url: "https://github.com/Topl/ribn-toolkit" - source: git + path: "../ribn-toolkit" + relative: true + source: path version: "1.0.0+1" rxdart: dependency: "direct main" diff --git a/pubspec.yaml b/pubspec.yaml index abd22285..1d11b0a7 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -51,12 +51,13 @@ dependencies: barcode_widget: ^2.0.1 flutter_portal: ^0.4.0 file_picker: ^4.3.3 + # ribn_toolkit: + # git: + # url: https://github.com/Topl/ribn-toolkit + # ref: main +# QQQQ change back ribn_toolkit: - git: - url: https://github.com/Topl/ribn-toolkit - ref: main -# ribn_toolkit: -# path: ../ribn_toolkit + path: ../ribn-toolkit brambldart: git: url: https://github.com/Topl/BramblDart From 344f4c5b7312eccfd880ee3f935611e8fb22c5b4 Mon Sep 17 00:00:00 2001 From: Kalervo Hyyppa Date: Wed, 4 Jan 2023 16:51:49 -0700 Subject: [PATCH 08/58] Updates to asset card layout --- .metadata | 10 +- .../home/wallet_balance_page.dart | 2 +- macos/.gitignore | 7 + macos/Flutter/Flutter-Debug.xcconfig | 2 + macos/Flutter/Flutter-Release.xcconfig | 2 + macos/Flutter/GeneratedPluginRegistrant.swift | 16 + macos/Podfile | 40 ++ macos/Podfile.lock | 34 + macos/Runner.xcodeproj/project.pbxproj | 632 ++++++++++++++++++ .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/xcschemes/Runner.xcscheme | 87 +++ .../contents.xcworkspacedata | 10 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + macos/Runner/AppDelegate.swift | 9 + .../AppIcon.appiconset/Contents.json | 68 ++ .../AppIcon.appiconset/app_icon_1024.png | Bin 0 -> 102994 bytes .../AppIcon.appiconset/app_icon_128.png | Bin 0 -> 5680 bytes .../AppIcon.appiconset/app_icon_16.png | Bin 0 -> 520 bytes .../AppIcon.appiconset/app_icon_256.png | Bin 0 -> 14142 bytes .../AppIcon.appiconset/app_icon_32.png | Bin 0 -> 1066 bytes .../AppIcon.appiconset/app_icon_512.png | Bin 0 -> 36406 bytes .../AppIcon.appiconset/app_icon_64.png | Bin 0 -> 2218 bytes macos/Runner/Base.lproj/MainMenu.xib | 343 ++++++++++ macos/Runner/Configs/AppInfo.xcconfig | 14 + macos/Runner/Configs/Debug.xcconfig | 2 + macos/Runner/Configs/Release.xcconfig | 2 + macos/Runner/Configs/Warnings.xcconfig | 13 + macos/Runner/DebugProfile.entitlements | 14 + macos/Runner/Info.plist | 32 + macos/Runner/MainFlutterWindow.swift | 15 + macos/Runner/Release.entitlements | 12 + test/widget_test.dart | 30 + 32 files changed, 1406 insertions(+), 6 deletions(-) create mode 100644 macos/.gitignore create mode 100644 macos/Flutter/Flutter-Debug.xcconfig create mode 100644 macos/Flutter/Flutter-Release.xcconfig create mode 100644 macos/Flutter/GeneratedPluginRegistrant.swift create mode 100644 macos/Podfile create mode 100644 macos/Podfile.lock create mode 100644 macos/Runner.xcodeproj/project.pbxproj create mode 100644 macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme create mode 100644 macos/Runner.xcworkspace/contents.xcworkspacedata create mode 100644 macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 macos/Runner/AppDelegate.swift create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png create mode 100644 macos/Runner/Base.lproj/MainMenu.xib create mode 100644 macos/Runner/Configs/AppInfo.xcconfig create mode 100644 macos/Runner/Configs/Debug.xcconfig create mode 100644 macos/Runner/Configs/Release.xcconfig create mode 100644 macos/Runner/Configs/Warnings.xcconfig create mode 100644 macos/Runner/DebugProfile.entitlements create mode 100644 macos/Runner/Info.plist create mode 100644 macos/Runner/MainFlutterWindow.swift create mode 100644 macos/Runner/Release.entitlements create mode 100644 test/widget_test.dart diff --git a/.metadata b/.metadata index 085e3196..5f48db11 100644 --- a/.metadata +++ b/.metadata @@ -4,7 +4,7 @@ # This file should be version controlled. version: - revision: fb57da5f945d02ef4f98dfd9409a72b7cce74268 + revision: 135454af32477f815a7525073027a3ff9eff1bfd channel: stable project_type: app @@ -13,11 +13,11 @@ project_type: app migration: platforms: - platform: root - create_revision: fb57da5f945d02ef4f98dfd9409a72b7cce74268 - base_revision: fb57da5f945d02ef4f98dfd9409a72b7cce74268 + create_revision: 135454af32477f815a7525073027a3ff9eff1bfd + base_revision: 135454af32477f815a7525073027a3ff9eff1bfd - platform: macos - create_revision: fb57da5f945d02ef4f98dfd9409a72b7cce74268 - base_revision: fb57da5f945d02ef4f98dfd9409a72b7cce74268 + create_revision: 135454af32477f815a7525073027a3ff9eff1bfd + base_revision: 135454af32477f815a7525073027a3ff9eff1bfd # User provided section diff --git a/lib/presentation/home/wallet_balance_page.dart b/lib/presentation/home/wallet_balance_page.dart index ad5f6dc5..f9738340 100644 --- a/lib/presentation/home/wallet_balance_page.dart +++ b/lib/presentation/home/wallet_balance_page.dart @@ -296,7 +296,7 @@ class _WalletBalancePageState extends State { onCardPress: () => viewAssetDetails(asset), iconImage: Image.asset( assetIcon, - width: 300, + width: 45, ), shortName: Text( asset.assetCode.shortName.show.replaceAll('\x00', ''), diff --git a/macos/.gitignore b/macos/.gitignore new file mode 100644 index 00000000..746adbb6 --- /dev/null +++ b/macos/.gitignore @@ -0,0 +1,7 @@ +# Flutter-related +**/Flutter/ephemeral/ +**/Pods/ + +# Xcode-related +**/dgph +**/xcuserdata/ diff --git a/macos/Flutter/Flutter-Debug.xcconfig b/macos/Flutter/Flutter-Debug.xcconfig new file mode 100644 index 00000000..4b81f9b2 --- /dev/null +++ b/macos/Flutter/Flutter-Debug.xcconfig @@ -0,0 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" +#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/macos/Flutter/Flutter-Release.xcconfig b/macos/Flutter/Flutter-Release.xcconfig new file mode 100644 index 00000000..5caa9d15 --- /dev/null +++ b/macos/Flutter/Flutter-Release.xcconfig @@ -0,0 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" +#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift new file mode 100644 index 00000000..ceaa73e4 --- /dev/null +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -0,0 +1,16 @@ +// +// Generated file. Do not edit. +// + +import FlutterMacOS +import Foundation + +import flutter_secure_storage_macos +import path_provider_macos +import url_launcher_macos + +func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { + FlutterSecureStorageMacosPlugin.register(with: registry.registrar(forPlugin: "FlutterSecureStorageMacosPlugin")) + PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) + UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin")) +} diff --git a/macos/Podfile b/macos/Podfile new file mode 100644 index 00000000..dade8dfa --- /dev/null +++ b/macos/Podfile @@ -0,0 +1,40 @@ +platform :osx, '10.11' + +# CocoaPods analytics sends network stats synchronously affecting flutter build latency. +ENV['COCOAPODS_DISABLE_STATS'] = 'true' + +project 'Runner', { + 'Debug' => :debug, + 'Profile' => :release, + 'Release' => :release, +} + +def flutter_root + generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'ephemeral', 'Flutter-Generated.xcconfig'), __FILE__) + unless File.exist?(generated_xcode_build_settings_path) + raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure \"flutter pub get\" is executed first" + end + + File.foreach(generated_xcode_build_settings_path) do |line| + matches = line.match(/FLUTTER_ROOT\=(.*)/) + return matches[1].strip if matches + end + raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Flutter-Generated.xcconfig, then run \"flutter pub get\"" +end + +require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) + +flutter_macos_podfile_setup + +target 'Runner' do + use_frameworks! + use_modular_headers! + + flutter_install_all_macos_pods File.dirname(File.realpath(__FILE__)) +end + +post_install do |installer| + installer.pods_project.targets.each do |target| + flutter_additional_macos_build_settings(target) + end +end diff --git a/macos/Podfile.lock b/macos/Podfile.lock new file mode 100644 index 00000000..b4d5ed96 --- /dev/null +++ b/macos/Podfile.lock @@ -0,0 +1,34 @@ +PODS: + - flutter_secure_storage_macos (3.3.1): + - FlutterMacOS + - FlutterMacOS (1.0.0) + - path_provider_macos (0.0.1): + - FlutterMacOS + - url_launcher_macos (0.0.1): + - FlutterMacOS + +DEPENDENCIES: + - flutter_secure_storage_macos (from `Flutter/ephemeral/.symlinks/plugins/flutter_secure_storage_macos/macos`) + - FlutterMacOS (from `Flutter/ephemeral`) + - path_provider_macos (from `Flutter/ephemeral/.symlinks/plugins/path_provider_macos/macos`) + - url_launcher_macos (from `Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos`) + +EXTERNAL SOURCES: + flutter_secure_storage_macos: + :path: Flutter/ephemeral/.symlinks/plugins/flutter_secure_storage_macos/macos + FlutterMacOS: + :path: Flutter/ephemeral + path_provider_macos: + :path: Flutter/ephemeral/.symlinks/plugins/path_provider_macos/macos + url_launcher_macos: + :path: Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos + +SPEC CHECKSUMS: + flutter_secure_storage_macos: 6ceee8fbc7f484553ad17f79361b556259df89aa + FlutterMacOS: ae6af50a8ea7d6103d888583d46bd8328a7e9811 + path_provider_macos: 3c0c3b4b0d4a76d2bf989a913c2de869c5641a19 + url_launcher_macos: 597e05b8e514239626bcf4a850fcf9ef5c856ec3 + +PODFILE CHECKSUM: 6eac6b3292e5142cfc23bdeb71848a40ec51c14c + +COCOAPODS: 1.11.2 diff --git a/macos/Runner.xcodeproj/project.pbxproj b/macos/Runner.xcodeproj/project.pbxproj new file mode 100644 index 00000000..0c72b13b --- /dev/null +++ b/macos/Runner.xcodeproj/project.pbxproj @@ -0,0 +1,632 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 51; + objects = { + +/* Begin PBXAggregateTarget section */ + 33CC111A2044C6BA0003C045 /* Flutter Assemble */ = { + isa = PBXAggregateTarget; + buildConfigurationList = 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */; + buildPhases = ( + 33CC111E2044C6BF0003C045 /* ShellScript */, + ); + dependencies = ( + ); + name = "Flutter Assemble"; + productName = FLX; + }; +/* End PBXAggregateTarget section */ + +/* Begin PBXBuildFile section */ + 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; + 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; + 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; + 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; + 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; + 9E91011A7785414DA681F391 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E3CCF3E45C9200824CFDC7C8 /* Pods_Runner.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 33CC10E52044A3C60003C045 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 33CC111A2044C6BA0003C045; + remoteInfo = FLX; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 33CC110E2044A8840003C045 /* Bundle Framework */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Bundle Framework"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 2F589A8836A4B35F08D8E292 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; + 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = ""; }; + 33CC10ED2044A3C60003C045 /* ribn.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ribn.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = ""; }; + 33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; }; + 33CC10F72044A3C60003C045 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Runner/Info.plist; sourceTree = ""; }; + 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainFlutterWindow.swift; sourceTree = ""; }; + 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Debug.xcconfig"; sourceTree = ""; }; + 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Release.xcconfig"; sourceTree = ""; }; + 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = "Flutter-Generated.xcconfig"; path = "ephemeral/Flutter-Generated.xcconfig"; sourceTree = ""; }; + 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; + 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; + 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; + 472D0EF9B5AA6DB5AA4917AC /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; + 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; + E3CCF3E45C9200824CFDC7C8 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + EBA1CDC88BCDFC586828817F /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 33CC10EA2044A3C60003C045 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 9E91011A7785414DA681F391 /* Pods_Runner.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 1B1893DE9973F14F70962A0B /* Pods */ = { + isa = PBXGroup; + children = ( + EBA1CDC88BCDFC586828817F /* Pods-Runner.debug.xcconfig */, + 472D0EF9B5AA6DB5AA4917AC /* Pods-Runner.release.xcconfig */, + 2F589A8836A4B35F08D8E292 /* Pods-Runner.profile.xcconfig */, + ); + name = Pods; + path = Pods; + sourceTree = ""; + }; + 33BA886A226E78AF003329D5 /* Configs */ = { + isa = PBXGroup; + children = ( + 33E5194F232828860026EE4D /* AppInfo.xcconfig */, + 9740EEB21CF90195004384FC /* Debug.xcconfig */, + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, + 333000ED22D3DE5D00554162 /* Warnings.xcconfig */, + ); + path = Configs; + sourceTree = ""; + }; + 33CC10E42044A3C60003C045 = { + isa = PBXGroup; + children = ( + 33FAB671232836740065AC1E /* Runner */, + 33CEB47122A05771004F2AC0 /* Flutter */, + 33CC10EE2044A3C60003C045 /* Products */, + D73912EC22F37F3D000D13A0 /* Frameworks */, + 1B1893DE9973F14F70962A0B /* Pods */, + ); + sourceTree = ""; + }; + 33CC10EE2044A3C60003C045 /* Products */ = { + isa = PBXGroup; + children = ( + 33CC10ED2044A3C60003C045 /* ribn.app */, + ); + name = Products; + sourceTree = ""; + }; + 33CC11242044D66E0003C045 /* Resources */ = { + isa = PBXGroup; + children = ( + 33CC10F22044A3C60003C045 /* Assets.xcassets */, + 33CC10F42044A3C60003C045 /* MainMenu.xib */, + 33CC10F72044A3C60003C045 /* Info.plist */, + ); + name = Resources; + path = ..; + sourceTree = ""; + }; + 33CEB47122A05771004F2AC0 /* Flutter */ = { + isa = PBXGroup; + children = ( + 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */, + 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */, + 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */, + 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */, + ); + path = Flutter; + sourceTree = ""; + }; + 33FAB671232836740065AC1E /* Runner */ = { + isa = PBXGroup; + children = ( + 33CC10F02044A3C60003C045 /* AppDelegate.swift */, + 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */, + 33E51913231747F40026EE4D /* DebugProfile.entitlements */, + 33E51914231749380026EE4D /* Release.entitlements */, + 33CC11242044D66E0003C045 /* Resources */, + 33BA886A226E78AF003329D5 /* Configs */, + ); + path = Runner; + sourceTree = ""; + }; + D73912EC22F37F3D000D13A0 /* Frameworks */ = { + isa = PBXGroup; + children = ( + E3CCF3E45C9200824CFDC7C8 /* Pods_Runner.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 33CC10EC2044A3C60003C045 /* Runner */ = { + isa = PBXNativeTarget; + buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; + buildPhases = ( + 0D9183B4C4320914BB88C5FE /* [CP] Check Pods Manifest.lock */, + 33CC10E92044A3C60003C045 /* Sources */, + 33CC10EA2044A3C60003C045 /* Frameworks */, + 33CC10EB2044A3C60003C045 /* Resources */, + 33CC110E2044A8840003C045 /* Bundle Framework */, + 3399D490228B24CF009A79C7 /* ShellScript */, + B8B5981410A923067E02256B /* [CP] Embed Pods Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + 33CC11202044C79F0003C045 /* PBXTargetDependency */, + ); + name = Runner; + productName = Runner; + productReference = 33CC10ED2044A3C60003C045 /* ribn.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 33CC10E52044A3C60003C045 /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 0920; + LastUpgradeCheck = 1300; + ORGANIZATIONNAME = ""; + TargetAttributes = { + 33CC10EC2044A3C60003C045 = { + CreatedOnToolsVersion = 9.2; + LastSwiftMigration = 1100; + ProvisioningStyle = Automatic; + SystemCapabilities = { + com.apple.Sandbox = { + enabled = 1; + }; + }; + }; + 33CC111A2044C6BA0003C045 = { + CreatedOnToolsVersion = 9.2; + ProvisioningStyle = Manual; + }; + }; + }; + buildConfigurationList = 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 33CC10E42044A3C60003C045; + productRefGroup = 33CC10EE2044A3C60003C045 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 33CC10EC2044A3C60003C045 /* Runner */, + 33CC111A2044C6BA0003C045 /* Flutter Assemble */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 33CC10EB2044A3C60003C045 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */, + 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 0D9183B4C4320914BB88C5FE /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + 3399D490228B24CF009A79C7 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; + }; + 33CC111E2044C6BF0003C045 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + Flutter/ephemeral/FlutterInputs.xcfilelist, + ); + inputPaths = ( + Flutter/ephemeral/tripwire, + ); + outputFileListPaths = ( + Flutter/ephemeral/FlutterOutputs.xcfilelist, + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; + }; + B8B5981410A923067E02256B /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 33CC10E92044A3C60003C045 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */, + 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */, + 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 33CC11202044C79F0003C045 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 33CC111A2044C6BA0003C045 /* Flutter Assemble */; + targetProxy = 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 33CC10F42044A3C60003C045 /* MainMenu.xib */ = { + isa = PBXVariantGroup; + children = ( + 33CC10F52044A3C60003C045 /* Base */, + ); + name = MainMenu.xib; + path = Runner; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 338D0CE9231458BD00FA5F75 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.11; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = macosx; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + }; + name = Profile; + }; + 338D0CEA231458BD00FA5F75 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_VERSION = 5.0; + }; + name = Profile; + }; + 338D0CEB231458BD00FA5F75 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Manual; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Profile; + }; + 33CC10F92044A3C60003C045 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.11; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + 33CC10FA2044A3C60003C045 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.11; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = macosx; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + }; + name = Release; + }; + 33CC10FC2044A3C60003C045 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + }; + name = Debug; + }; + 33CC10FD2044A3C60003C045 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_VERSION = 5.0; + }; + name = Release; + }; + 33CC111C2044C6BA0003C045 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Manual; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 33CC111D2044C6BA0003C045 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 33CC10F92044A3C60003C045 /* Debug */, + 33CC10FA2044A3C60003C045 /* Release */, + 338D0CE9231458BD00FA5F75 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 33CC10FC2044A3C60003C045 /* Debug */, + 33CC10FD2044A3C60003C045 /* Release */, + 338D0CEA231458BD00FA5F75 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 33CC111C2044C6BA0003C045 /* Debug */, + 33CC111D2044C6BA0003C045 /* Release */, + 338D0CEB231458BD00FA5F75 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 33CC10E52044A3C60003C045 /* Project object */; +} diff --git a/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 00000000..18d98100 --- /dev/null +++ b/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme new file mode 100644 index 00000000..7226c22a --- /dev/null +++ b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/macos/Runner.xcworkspace/contents.xcworkspacedata b/macos/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..21a3cc14 --- /dev/null +++ b/macos/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 00000000..18d98100 --- /dev/null +++ b/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/macos/Runner/AppDelegate.swift b/macos/Runner/AppDelegate.swift new file mode 100644 index 00000000..d53ef643 --- /dev/null +++ b/macos/Runner/AppDelegate.swift @@ -0,0 +1,9 @@ +import Cocoa +import FlutterMacOS + +@NSApplicationMain +class AppDelegate: FlutterAppDelegate { + override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { + return true + } +} diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 00000000..a2ec33f1 --- /dev/null +++ b/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,68 @@ +{ + "images" : [ + { + "size" : "16x16", + "idiom" : "mac", + "filename" : "app_icon_16.png", + "scale" : "1x" + }, + { + "size" : "16x16", + "idiom" : "mac", + "filename" : "app_icon_32.png", + "scale" : "2x" + }, + { + "size" : "32x32", + "idiom" : "mac", + "filename" : "app_icon_32.png", + "scale" : "1x" + }, + { + "size" : "32x32", + "idiom" : "mac", + "filename" : "app_icon_64.png", + "scale" : "2x" + }, + { + "size" : "128x128", + "idiom" : "mac", + "filename" : "app_icon_128.png", + "scale" : "1x" + }, + { + "size" : "128x128", + "idiom" : "mac", + "filename" : "app_icon_256.png", + "scale" : "2x" + }, + { + "size" : "256x256", + "idiom" : "mac", + "filename" : "app_icon_256.png", + "scale" : "1x" + }, + { + "size" : "256x256", + "idiom" : "mac", + "filename" : "app_icon_512.png", + "scale" : "2x" + }, + { + "size" : "512x512", + "idiom" : "mac", + "filename" : "app_icon_512.png", + "scale" : "1x" + }, + { + "size" : "512x512", + "idiom" : "mac", + "filename" : "app_icon_1024.png", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png new file mode 100644 index 0000000000000000000000000000000000000000..82b6f9d9a33e198f5747104729e1fcef999772a5 GIT binary patch literal 102994 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ⅅ8MglG&ER{i5lN315cO?EdHNLrg? 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 z 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 Pe7HEdAEg|=c=LY&YVNkY literal 0 HcmV?d00001 diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png new file mode 100644 index 0000000000000000000000000000000000000000..13b35eba55c6dabc3aac36f33d859266c18fa0d0 GIT binary patch literal 5680 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 literal 0 HcmV?d00001 diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png new file mode 100644 index 0000000000000000000000000000000000000000..0a3f5fa40fb3d1e0710331a48de5d256da3f275d GIT binary patch literal 520 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 literal 0 HcmV?d00001 diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png new file mode 100644 index 0000000000000000000000000000000000000000..2f1632cfddf3d9dade342351e627a0a75609fb46 GIT binary patch literal 2218 zcmV;b2vzrqP)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuE6iGxuRCodHTWf3-RTMruyW6Fu zQYeUM04eX6D5c0FCjKKPrco1(K`<0SL=crI{PC3-^hZU0kQie$gh-5!7z6SH6Q0J% zqot*`H1q{R5fHFYS}dje@;kG=v$L0(yY0?wY2%*c?A&{2?!D*x?m71{of2gv!$5|C z3>qG_BW}7K_yUcT3A5C6QD<+{aq?x;MAUyAiJn#Jv8_zZtQ{P zTRzbL3U9!qVuZzS$xKU10KiW~Bgdcv1-!uAhQxf3a7q+dU6lj?yoO4Lq4TUN4}h{N z*fIM=SS8|C2$(T>w$`t@3Tka!(r!7W`x z-isCVgQD^mG-MJ;XtJuK3V{Vy72GQ83KRWsHU?e*wrhKk=ApIYeDqLi;JI1e zuvv}5^Dc=k7F7?nm3nIw$NVmU-+R>> zyqOR$-2SDpJ}Pt;^RkJytDVXNTsu|mI1`~G7yw`EJR?VkGfNdqK9^^8P`JdtTV&tX4CNcV4 z&N06nZa??Fw1AgQOUSE2AmPE@WO(Fvo`%m`cDgiv(fAeRA%3AGXUbsGw{7Q`cY;1BI#ac3iN$$Hw z0LT0;xc%=q)me?Y*$xI@GRAw?+}>=9D+KTk??-HJ4=A>`V&vKFS75@MKdSF1JTq{S zc1!^8?YA|t+uKigaq!sT;Z!&0F2=k7F0PIU;F$leJLaw2UI6FL^w}OG&!;+b%ya1c z1n+6-inU<0VM-Y_s5iTElq)ThyF?StVcebpGI znw#+zLx2@ah{$_2jn+@}(zJZ{+}_N9BM;z)0yr|gF-4=Iyu@hI*Lk=-A8f#bAzc9f z`Kd6K--x@t04swJVC3JK1cHY-Hq+=|PN-VO;?^_C#;coU6TDP7Bt`;{JTG;!+jj(` zw5cLQ-(Cz-Tlb`A^w7|R56Ce;Wmr0)$KWOUZ6ai0PhzPeHwdl0H(etP zUV`va_i0s-4#DkNM8lUlqI7>YQLf)(lz9Q3Uw`)nc(z3{m5ZE77Ul$V%m)E}3&8L0 z-XaU|eB~Is08eORPk;=<>!1w)Kf}FOVS2l&9~A+@R#koFJ$Czd%Y(ENTV&A~U(IPI z;UY+gf+&6ioZ=roly<0Yst8ck>(M=S?B-ys3mLdM&)ex!hbt+ol|T6CTS+Sc0jv(& z7ijdvFwBq;0a{%3GGwkDKTeG`b+lyj0jjS1OMkYnepCdoosNY`*zmBIo*981BU%%U z@~$z0V`OVtIbEx5pa|Tct|Lg#ZQf5OYMUMRD>Wdxm5SAqV2}3!ceE-M2 z@O~lQ0OiKQp}o9I;?uxCgYVV?FH|?Riri*U$Zi_`V2eiA>l zdSm6;SEm6#T+SpcE8Ro_f2AwxzI z44hfe^WE3!h@W3RDyA_H440cpmYkv*)6m1XazTqw%=E5Xv7^@^^T7Q2wxr+Z2kVYr + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/macos/Runner/Configs/AppInfo.xcconfig b/macos/Runner/Configs/AppInfo.xcconfig new file mode 100644 index 00000000..6a04a091 --- /dev/null +++ b/macos/Runner/Configs/AppInfo.xcconfig @@ -0,0 +1,14 @@ +// Application-level settings for the Runner target. +// +// This may be replaced with something auto-generated from metadata (e.g., pubspec.yaml) in the +// future. If not, the values below would default to using the project name when this becomes a +// 'flutter create' template. + +// The application's name. By default this is also the title of the Flutter window. +PRODUCT_NAME = ribn + +// The application's bundle identifier +PRODUCT_BUNDLE_IDENTIFIER = co.topl.ribn + +// The copyright displayed in application information +PRODUCT_COPYRIGHT = Copyright © 2023 co.topl. All rights reserved. diff --git a/macos/Runner/Configs/Debug.xcconfig b/macos/Runner/Configs/Debug.xcconfig new file mode 100644 index 00000000..36b0fd94 --- /dev/null +++ b/macos/Runner/Configs/Debug.xcconfig @@ -0,0 +1,2 @@ +#include "../../Flutter/Flutter-Debug.xcconfig" +#include "Warnings.xcconfig" diff --git a/macos/Runner/Configs/Release.xcconfig b/macos/Runner/Configs/Release.xcconfig new file mode 100644 index 00000000..dff4f495 --- /dev/null +++ b/macos/Runner/Configs/Release.xcconfig @@ -0,0 +1,2 @@ +#include "../../Flutter/Flutter-Release.xcconfig" +#include "Warnings.xcconfig" diff --git a/macos/Runner/Configs/Warnings.xcconfig b/macos/Runner/Configs/Warnings.xcconfig new file mode 100644 index 00000000..42bcbf47 --- /dev/null +++ b/macos/Runner/Configs/Warnings.xcconfig @@ -0,0 +1,13 @@ +WARNING_CFLAGS = -Wall -Wconditional-uninitialized -Wnullable-to-nonnull-conversion -Wmissing-method-return-type -Woverlength-strings +GCC_WARN_UNDECLARED_SELECTOR = YES +CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY = YES +CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE +CLANG_WARN__DUPLICATE_METHOD_MATCH = YES +CLANG_WARN_PRAGMA_PACK = YES +CLANG_WARN_STRICT_PROTOTYPES = YES +CLANG_WARN_COMMA = YES +GCC_WARN_STRICT_SELECTOR_MATCH = YES +CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES +CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES +GCC_WARN_SHADOW = YES +CLANG_WARN_UNREACHABLE_CODE = YES diff --git a/macos/Runner/DebugProfile.entitlements b/macos/Runner/DebugProfile.entitlements new file mode 100644 index 00000000..3ba6c126 --- /dev/null +++ b/macos/Runner/DebugProfile.entitlements @@ -0,0 +1,14 @@ + + + + + com.apple.security.app-sandbox + + com.apple.security.cs.allow-jit + + com.apple.security.network.client + + com.apple.security.network.server + + + diff --git a/macos/Runner/Info.plist b/macos/Runner/Info.plist new file mode 100644 index 00000000..4789daa6 --- /dev/null +++ b/macos/Runner/Info.plist @@ -0,0 +1,32 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + $(FLUTTER_BUILD_NAME) + CFBundleVersion + $(FLUTTER_BUILD_NUMBER) + LSMinimumSystemVersion + $(MACOSX_DEPLOYMENT_TARGET) + NSHumanReadableCopyright + $(PRODUCT_COPYRIGHT) + NSMainNibFile + MainMenu + NSPrincipalClass + NSApplication + + diff --git a/macos/Runner/MainFlutterWindow.swift b/macos/Runner/MainFlutterWindow.swift new file mode 100644 index 00000000..2722837e --- /dev/null +++ b/macos/Runner/MainFlutterWindow.swift @@ -0,0 +1,15 @@ +import Cocoa +import FlutterMacOS + +class MainFlutterWindow: NSWindow { + override func awakeFromNib() { + let flutterViewController = FlutterViewController.init() + let windowFrame = self.frame + self.contentViewController = flutterViewController + self.setFrame(windowFrame, display: true) + + RegisterGeneratedPlugins(registry: flutterViewController) + + super.awakeFromNib() + } +} diff --git a/macos/Runner/Release.entitlements b/macos/Runner/Release.entitlements new file mode 100644 index 00000000..7a2230dc --- /dev/null +++ b/macos/Runner/Release.entitlements @@ -0,0 +1,12 @@ + + + + + com.apple.security.app-sandbox + + com.apple.security.network.client + + com.apple.security.network.server + + + diff --git a/test/widget_test.dart b/test/widget_test.dart new file mode 100644 index 00000000..f5dd0058 --- /dev/null +++ b/test/widget_test.dart @@ -0,0 +1,30 @@ +// This is a basic Flutter widget test. +// +// To perform an interaction with a widget in your test, use the WidgetTester +// utility in the flutter_test package. For example, you can send tap and scroll +// gestures. You can also use WidgetTester to find child widgets in the widget +// tree, read text, and verify that the values of widget properties are correct. + +import 'package:flutter/material.dart'; +import 'package:flutter_test/flutter_test.dart'; + +import 'package:ribn/main.dart'; + +void main() { + testWidgets('Counter increments smoke test', (WidgetTester tester) async { + // Build our app and trigger a frame. + await tester.pumpWidget(const MyApp()); + + // Verify that our counter starts at 0. + expect(find.text('0'), findsOneWidget); + expect(find.text('1'), findsNothing); + + // Tap the '+' icon and trigger a frame. + await tester.tap(find.byIcon(Icons.add)); + await tester.pump(); + + // Verify that our counter has incremented. + expect(find.text('0'), findsNothing); + expect(find.text('1'), findsOneWidget); + }); +} From f5e0216b371eb8afb7af3a5c5fdbb629b326d9a6 Mon Sep 17 00:00:00 2001 From: Selby Baidjnath Date: Thu, 5 Jan 2023 03:09:07 -0300 Subject: [PATCH 09/58] Hide Restore Wallet --- .../restore_wallet/restore_wallet_page.dart | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/lib/presentation/onboarding/restore_wallet/restore_wallet_page.dart b/lib/presentation/onboarding/restore_wallet/restore_wallet_page.dart index 1eba6463..22651826 100644 --- a/lib/presentation/onboarding/restore_wallet/restore_wallet_page.dart +++ b/lib/presentation/onboarding/restore_wallet/restore_wallet_page.dart @@ -98,12 +98,15 @@ class _RestoreWalletPageState extends State { hasError: invalidSeedPhraseEntered, ), ), - kIsWeb ? Align(alignment: Alignment.centerLeft, child: _buildAdvancedOption()) : const SizedBox(), + + /// Hidden for RIBN-557 + // kIsWeb ? Align(alignment: Alignment.centerLeft, child: _buildAdvancedOption()) : const SizedBox(), ], ), ), adaptableSpacer(), - renderIfMobile(const OnboardingProgressBar(numSteps: 2, currStep: 0)), + renderIfMobile( + const OnboardingProgressBar(numSteps: 2, currStep: 0)), const SizedBox(height: 20), ConfirmationButton( text: Strings.next, @@ -134,6 +137,7 @@ class _RestoreWalletPageState extends State { } } + /// Hidden for RIBN-557 Widget _buildAdvancedOption() { return Padding( padding: const EdgeInsets.only(top: 5.0), @@ -142,20 +146,24 @@ class _RestoreWalletPageState extends State { child: PeekabooButton( buttonText: Text( Strings.advancedOption, - style: RibnToolkitTextStyles.smallBody.copyWith(fontSize: 15, color: RibnColors.whiteBackground), + style: RibnToolkitTextStyles.smallBody + .copyWith(fontSize: 15, color: RibnColors.whiteBackground), ), buttonChild: Padding( padding: const EdgeInsets.only(left: 8), child: RichText( text: TextSpan( - style: RibnToolkitTextStyles.body1Bold.copyWith(color: RibnColors.whiteBackground), + style: RibnToolkitTextStyles.body1Bold + .copyWith(color: RibnColors.whiteBackground), children: [ const TextSpan(text: 'Use '), TextSpan( text: 'Topl main key file', - style: RibnToolkitTextStyles.body1Bold.copyWith(color: RibnColors.secondaryDark), + style: RibnToolkitTextStyles.body1Bold + .copyWith(color: RibnColors.secondaryDark), recognizer: TapGestureRecognizer() - ..onTap = () => Keys.navigatorKey.currentState?.pushNamed(Routes.restoreWithToplKey), + ..onTap = () => Keys.navigatorKey.currentState + ?.pushNamed(Routes.restoreWithToplKey), ), ], ), From d692c298847c2aae2b66eb0ab367205226727be5 Mon Sep 17 00:00:00 2001 From: Kalervo Hyyppa <51681634+KalervoHyyppa@users.noreply.github.com> Date: Thu, 5 Jan 2023 11:07:39 -0700 Subject: [PATCH 10/58] Update ci.yml Update to flutter version --- .github/workflows/ci.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0b1c486a..ea3de9c0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,7 +17,7 @@ jobs: - name: Setup Flutter uses: subosito/flutter-action@v2 with: - flutter-version: '3.0.1' + flutter-version: '3.3.10' channel: 'stable' - name: Flutter version run: flutter --version @@ -35,7 +35,7 @@ jobs: - name: Setup Flutter uses: subosito/flutter-action@v2 with: - flutter-version: '3.0.1' + flutter-version: '3.3.10' channel: 'stable' - name: Install dependencies run: flutter pub get @@ -54,7 +54,7 @@ jobs: - name: Setup Flutter uses: subosito/flutter-action@v2 with: - flutter-version: '3.0.1' + flutter-version: '3.3.10' channel: 'stable' - name: Install Flutter dependencies run: flutter pub get @@ -79,7 +79,7 @@ jobs: - name: Setup Flutter uses: subosito/flutter-action@v2 with: - flutter-version: '3.0.1' + flutter-version: '3.3.10' channel: 'stable' - name: Install Flutter dependencies run: flutter pub get @@ -106,7 +106,7 @@ jobs: - name: Setup Flutter uses: subosito/flutter-action@v2 with: - flutter-version: '3.0.1' + flutter-version: '3.3.10' channel: 'stable' - name: Install Flutter dependencies run: flutter pub get @@ -121,4 +121,4 @@ jobs: uses: actions/upload-artifact@v3 with: name: ribn_chrome_ext.zip - path: ribn_chrome_ext.zip \ No newline at end of file + path: ribn_chrome_ext.zip From 1b1d9a4bfafa8004ad88d37211bfbc6817d8b073 Mon Sep 17 00:00:00 2001 From: Kalervo Hyyppa Date: Thu, 5 Jan 2023 11:23:37 -0700 Subject: [PATCH 11/58] Macos --- macos/Flutter/GeneratedPluginRegistrant.swift | 16 ++++++++ .../ephemeral/Flutter-Generated.xcconfig | 11 +++++ .../ephemeral/flutter_export_environment.sh | 12 ++++++ macos/Podfile | 40 +++++++++++++++++++ 4 files changed, 79 insertions(+) create mode 100644 macos/Flutter/GeneratedPluginRegistrant.swift create mode 100644 macos/Flutter/ephemeral/Flutter-Generated.xcconfig create mode 100755 macos/Flutter/ephemeral/flutter_export_environment.sh create mode 100644 macos/Podfile diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift new file mode 100644 index 00000000..ceaa73e4 --- /dev/null +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -0,0 +1,16 @@ +// +// Generated file. Do not edit. +// + +import FlutterMacOS +import Foundation + +import flutter_secure_storage_macos +import path_provider_macos +import url_launcher_macos + +func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { + FlutterSecureStorageMacosPlugin.register(with: registry.registrar(forPlugin: "FlutterSecureStorageMacosPlugin")) + PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) + UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin")) +} diff --git a/macos/Flutter/ephemeral/Flutter-Generated.xcconfig b/macos/Flutter/ephemeral/Flutter-Generated.xcconfig new file mode 100644 index 00000000..db30c9c1 --- /dev/null +++ b/macos/Flutter/ephemeral/Flutter-Generated.xcconfig @@ -0,0 +1,11 @@ +// This is a generated file; do not edit or check into version control. +FLUTTER_ROOT=/Users/kalervohyyppa/FlutterDev/flutter +FLUTTER_APPLICATION_PATH=/Users/kalervohyyppa/Documents/programming/topl/ribn +COCOAPODS_PARALLEL_CODE_SIGN=true +FLUTTER_BUILD_DIR=build +FLUTTER_BUILD_NAME=0.3.2 +FLUTTER_BUILD_NUMBER=0.3.2 +DART_OBFUSCATION=false +TRACK_WIDGET_CREATION=true +TREE_SHAKE_ICONS=false +PACKAGE_CONFIG=.dart_tool/package_config.json diff --git a/macos/Flutter/ephemeral/flutter_export_environment.sh b/macos/Flutter/ephemeral/flutter_export_environment.sh new file mode 100755 index 00000000..625f6ae2 --- /dev/null +++ b/macos/Flutter/ephemeral/flutter_export_environment.sh @@ -0,0 +1,12 @@ +#!/bin/sh +# This is a generated file; do not edit or check into version control. +export "FLUTTER_ROOT=/Users/kalervohyyppa/FlutterDev/flutter" +export "FLUTTER_APPLICATION_PATH=/Users/kalervohyyppa/Documents/programming/topl/ribn" +export "COCOAPODS_PARALLEL_CODE_SIGN=true" +export "FLUTTER_BUILD_DIR=build" +export "FLUTTER_BUILD_NAME=0.3.2" +export "FLUTTER_BUILD_NUMBER=0.3.2" +export "DART_OBFUSCATION=false" +export "TRACK_WIDGET_CREATION=true" +export "TREE_SHAKE_ICONS=false" +export "PACKAGE_CONFIG=.dart_tool/package_config.json" diff --git a/macos/Podfile b/macos/Podfile new file mode 100644 index 00000000..dade8dfa --- /dev/null +++ b/macos/Podfile @@ -0,0 +1,40 @@ +platform :osx, '10.11' + +# CocoaPods analytics sends network stats synchronously affecting flutter build latency. +ENV['COCOAPODS_DISABLE_STATS'] = 'true' + +project 'Runner', { + 'Debug' => :debug, + 'Profile' => :release, + 'Release' => :release, +} + +def flutter_root + generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'ephemeral', 'Flutter-Generated.xcconfig'), __FILE__) + unless File.exist?(generated_xcode_build_settings_path) + raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure \"flutter pub get\" is executed first" + end + + File.foreach(generated_xcode_build_settings_path) do |line| + matches = line.match(/FLUTTER_ROOT\=(.*)/) + return matches[1].strip if matches + end + raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Flutter-Generated.xcconfig, then run \"flutter pub get\"" +end + +require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) + +flutter_macos_podfile_setup + +target 'Runner' do + use_frameworks! + use_modular_headers! + + flutter_install_all_macos_pods File.dirname(File.realpath(__FILE__)) +end + +post_install do |installer| + installer.pods_project.targets.each do |target| + flutter_additional_macos_build_settings(target) + end +end From 5aeb2f68c5ba904e4b84a0c2bdeaaec3bf36587d Mon Sep 17 00:00:00 2001 From: Kalervo Hyyppa Date: Thu, 5 Jan 2023 11:27:25 -0700 Subject: [PATCH 12/58] Gitignore --- .gitignore | 2 +- macos/Flutter/ephemeral/.app_filename | 1 - .../plugins/flutter_secure_storage_macos | 1 - .../.symlinks/plugins/path_provider_macos | 1 - .../.symlinks/plugins/url_launcher_macos | 1 - .../ephemeral/Flutter-Generated.xcconfig | 11 - .../ephemeral/FlutterInputs.xcfilelist | 2558 ----------------- macos/Flutter/ephemeral/FlutterMacOS.podspec | 18 - .../ephemeral/FlutterOutputs.xcfilelist | 212 -- .../ephemeral/flutter_export_environment.sh | 12 - macos/Flutter/ephemeral/tripwire | 0 11 files changed, 1 insertion(+), 2816 deletions(-) delete mode 100644 macos/Flutter/ephemeral/.app_filename delete mode 120000 macos/Flutter/ephemeral/.symlinks/plugins/flutter_secure_storage_macos delete mode 120000 macos/Flutter/ephemeral/.symlinks/plugins/path_provider_macos delete mode 120000 macos/Flutter/ephemeral/.symlinks/plugins/url_launcher_macos delete mode 100644 macos/Flutter/ephemeral/Flutter-Generated.xcconfig delete mode 100644 macos/Flutter/ephemeral/FlutterInputs.xcfilelist delete mode 100644 macos/Flutter/ephemeral/FlutterMacOS.podspec delete mode 100644 macos/Flutter/ephemeral/FlutterOutputs.xcfilelist delete mode 100755 macos/Flutter/ephemeral/flutter_export_environment.sh delete mode 100644 macos/Flutter/ephemeral/tripwire diff --git a/.gitignore b/.gitignore index 8bcba4e1..51462151 100644 --- a/.gitignore +++ b/.gitignore @@ -34,7 +34,7 @@ android_keys.zip # Flutter/Dart/Pub related **/doc/api/ **/ios/Flutter/.last_build_id -**/macos/Flutter/ephemeral +**/macos/Flutter/ephemeral/ .dart_tool/ .flutter-plugins .flutter-plugins-dependencies diff --git a/macos/Flutter/ephemeral/.app_filename b/macos/Flutter/ephemeral/.app_filename deleted file mode 100644 index 80738a05..00000000 --- a/macos/Flutter/ephemeral/.app_filename +++ /dev/null @@ -1 +0,0 @@ -ribn.app diff --git a/macos/Flutter/ephemeral/.symlinks/plugins/flutter_secure_storage_macos b/macos/Flutter/ephemeral/.symlinks/plugins/flutter_secure_storage_macos deleted file mode 120000 index b19c50b7..00000000 --- a/macos/Flutter/ephemeral/.symlinks/plugins/flutter_secure_storage_macos +++ /dev/null @@ -1 +0,0 @@ -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_secure_storage_macos-1.1.2/ \ No newline at end of file diff --git a/macos/Flutter/ephemeral/.symlinks/plugins/path_provider_macos b/macos/Flutter/ephemeral/.symlinks/plugins/path_provider_macos deleted file mode 120000 index 30df716a..00000000 --- a/macos/Flutter/ephemeral/.symlinks/plugins/path_provider_macos +++ /dev/null @@ -1 +0,0 @@ -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-2.0.6/ \ No newline at end of file diff --git a/macos/Flutter/ephemeral/.symlinks/plugins/url_launcher_macos b/macos/Flutter/ephemeral/.symlinks/plugins/url_launcher_macos deleted file mode 120000 index c64d9c08..00000000 --- a/macos/Flutter/ephemeral/.symlinks/plugins/url_launcher_macos +++ /dev/null @@ -1 +0,0 @@ -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/url_launcher_macos-3.0.1/ \ No newline at end of file diff --git a/macos/Flutter/ephemeral/Flutter-Generated.xcconfig b/macos/Flutter/ephemeral/Flutter-Generated.xcconfig deleted file mode 100644 index db30c9c1..00000000 --- a/macos/Flutter/ephemeral/Flutter-Generated.xcconfig +++ /dev/null @@ -1,11 +0,0 @@ -// This is a generated file; do not edit or check into version control. -FLUTTER_ROOT=/Users/kalervohyyppa/FlutterDev/flutter -FLUTTER_APPLICATION_PATH=/Users/kalervohyyppa/Documents/programming/topl/ribn -COCOAPODS_PARALLEL_CODE_SIGN=true -FLUTTER_BUILD_DIR=build -FLUTTER_BUILD_NAME=0.3.2 -FLUTTER_BUILD_NUMBER=0.3.2 -DART_OBFUSCATION=false -TRACK_WIDGET_CREATION=true -TREE_SHAKE_ICONS=false -PACKAGE_CONFIG=.dart_tool/package_config.json diff --git a/macos/Flutter/ephemeral/FlutterInputs.xcfilelist b/macos/Flutter/ephemeral/FlutterInputs.xcfilelist deleted file mode 100644 index b5da4536..00000000 --- a/macos/Flutter/ephemeral/FlutterInputs.xcfilelist +++ /dev/null @@ -1,2558 +0,0 @@ -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/LICENSE -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/brambldart.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/client.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/credentials.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/crypto.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/model.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/model.g.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/attestation/address_codec.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/core/amount.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/core/block_number.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/core/client.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/core/converters/converters.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/core/expensive_operations.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/core/interceptors.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/core/transaction/transaction.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/core/transaction/transaction_receipt.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/credentials/address.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/credentials/address_chain.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/credentials/addresses.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/credentials/credentials.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/credentials/hd_wallet_helper.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/credentials/seed.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/crypto/crypto.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/crypto/keystore.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/fetch/abstract_transaction_update_fetcher.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/fetch/polling.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/json_rpc.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/model/attestation/evidence.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/model/attestation/proposition.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/model/attestation/signature_container.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/model/balances.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/model/box/arbit_box.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/model/box/asset_box.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/model/box/asset_code.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/model/box/box.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/model/box/box_id.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/model/box/generic_box.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/model/box/poly_box.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/model/box/recipient.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/model/box/security_root.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/model/box/sender.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/model/box/token_value_holder.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/model/modifier/block/block.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/model/modifier/block/block_body.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/model/modifier/block/block_header.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/model/modifier/block/block_response.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/model/modifier/block/bloom_filter.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/model/modifier/modifier_id.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/model/modifier/node_view_modifier.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/utils/block_time.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/utils/codecs/string_data_types_codec.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/utils/constants.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/utils/errors.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/utils/extensions.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/utils/network.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/utils/poly_formatter.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/utils/proposition_type.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/utils/string_data_types.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/utils/util.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/src/utils/uuid.dart -/Users/kalervohyyppa/.pub-cache/git/BramblDart-fa1dc12f568120b60d1b2875c299a0efd9458925/lib/utils.dart -/Users/kalervohyyppa/.pub-cache/git/widgetbook-45493c98c086800ced701c48f8a2a895ec8ae2a4/packages/widgetbook/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/_fe_analyzer_shared-47.0.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/accordion-2.5.1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/analyzer-4.7.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/app_settings-4.1.8/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/app_settings-4.1.8/lib/app_settings.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/archive-3.3.5/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/archive-3.3.5/lib/archive.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/archive-3.3.5/lib/src/archive.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/archive-3.3.5/lib/src/archive_file.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/archive-3.3.5/lib/src/bzip2/bz2_bit_reader.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/archive-3.3.5/lib/src/bzip2/bz2_bit_writer.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/archive-3.3.5/lib/src/bzip2/bzip2.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/archive-3.3.5/lib/src/bzip2_decoder.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/archive-3.3.5/lib/src/bzip2_encoder.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/archive-3.3.5/lib/src/gzip_decoder.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/archive-3.3.5/lib/src/gzip_encoder.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/archive-3.3.5/lib/src/lzma/lzma_decoder.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/archive-3.3.5/lib/src/lzma/range_decoder.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/archive-3.3.5/lib/src/tar/tar_file.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/archive-3.3.5/lib/src/tar_decoder.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/archive-3.3.5/lib/src/tar_encoder.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/archive-3.3.5/lib/src/util/_crc64_io.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/archive-3.3.5/lib/src/util/_file_content.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/archive-3.3.5/lib/src/util/adler32.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/archive-3.3.5/lib/src/util/aes_decrypt.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/archive-3.3.5/lib/src/util/archive_exception.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/archive-3.3.5/lib/src/util/byte_order.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/archive-3.3.5/lib/src/util/crc32.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/archive-3.3.5/lib/src/util/crc64.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/archive-3.3.5/lib/src/util/input_stream.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/archive-3.3.5/lib/src/util/mem_ptr.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/archive-3.3.5/lib/src/util/output_stream.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/archive-3.3.5/lib/src/xz_decoder.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/archive-3.3.5/lib/src/zip/zip_directory.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/archive-3.3.5/lib/src/zip/zip_file.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/archive-3.3.5/lib/src/zip/zip_file_header.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/archive-3.3.5/lib/src/zip_decoder.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/archive-3.3.5/lib/src/zip_encoder.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/archive-3.3.5/lib/src/zlib/_inflate_buffer_io.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/archive-3.3.5/lib/src/zlib/_zlib_decoder_io.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/archive-3.3.5/lib/src/zlib/deflate.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/archive-3.3.5/lib/src/zlib/huffman_table.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/archive-3.3.5/lib/src/zlib/inflate.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/archive-3.3.5/lib/src/zlib/inflate_buffer.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/archive-3.3.5/lib/src/zlib/zlib_decoder_base.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/archive-3.3.5/lib/src/zlib/zlib_decoder_stub.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/archive-3.3.5/lib/src/zlib_decoder.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/archive-3.3.5/lib/src/zlib_encoder.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/args-2.3.1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/async.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/src/async_cache.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/src/async_memoizer.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/src/byte_collector.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/src/cancelable_operation.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/src/chunked_stream_reader.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/src/delegate/event_sink.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/src/delegate/future.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/src/delegate/sink.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/src/delegate/stream.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/src/delegate/stream_consumer.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/src/delegate/stream_sink.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/src/delegate/stream_subscription.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/src/future_group.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/src/lazy_stream.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/src/null_stream_sink.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/src/restartable_timer.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/src/result/capture_sink.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/src/result/capture_transformer.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/src/result/error.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/src/result/future.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/src/result/release_sink.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/src/result/release_transformer.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/src/result/result.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/src/result/value.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/src/single_subscription_transformer.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/src/sink_base.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/src/stream_closer.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/src/stream_completer.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/src/stream_extensions.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/src/stream_group.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/src/stream_queue.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/src/stream_sink_completer.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/src/stream_sink_extensions.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/src/stream_sink_transformer.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/src/stream_sink_transformer/handler_transformer.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/src/stream_sink_transformer/reject_errors.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/src/stream_sink_transformer/stream_transformer_wrapper.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/src/stream_sink_transformer/typed.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/src/stream_splitter.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/src/stream_subscription_transformer.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/src/stream_zip.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/src/subscription_stream.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/src/typed/stream_subscription.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/src/typed_stream_transformer.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/back_button_interceptor-6.0.2/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/back_button_interceptor-6.0.2/lib/back_button_interceptor.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/back_button_interceptor-6.0.2/lib/src/back_button_interceptor.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/back_button_interceptor-6.0.2/lib/src/merge_sort.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/barcode-2.2.3/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/barcode-2.2.3/lib/barcode.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/barcode-2.2.3/lib/src/aztec.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/barcode-2.2.3/lib/src/barcode.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/barcode-2.2.3/lib/src/barcode_1d.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/barcode-2.2.3/lib/src/barcode_2d.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/barcode-2.2.3/lib/src/barcode_exception.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/barcode-2.2.3/lib/src/barcode_hm.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/barcode-2.2.3/lib/src/barcode_maps.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/barcode-2.2.3/lib/src/barcode_operations.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/barcode-2.2.3/lib/src/barcode_types.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/barcode-2.2.3/lib/src/codabar.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/barcode-2.2.3/lib/src/code128.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/barcode-2.2.3/lib/src/code39.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/barcode-2.2.3/lib/src/code93.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/barcode-2.2.3/lib/src/datamatrix.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/barcode-2.2.3/lib/src/ean.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/barcode-2.2.3/lib/src/ean13.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/barcode-2.2.3/lib/src/ean2.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/barcode-2.2.3/lib/src/ean5.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/barcode-2.2.3/lib/src/ean8.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/barcode-2.2.3/lib/src/isbn.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/barcode-2.2.3/lib/src/itf.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/barcode-2.2.3/lib/src/itf14.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/barcode-2.2.3/lib/src/itf16.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/barcode-2.2.3/lib/src/mecard.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/barcode-2.2.3/lib/src/pdf417.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/barcode-2.2.3/lib/src/pdf417_codewords.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/barcode-2.2.3/lib/src/qrcode.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/barcode-2.2.3/lib/src/reedsolomon.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/barcode-2.2.3/lib/src/rm4scc.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/barcode-2.2.3/lib/src/telepen.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/barcode-2.2.3/lib/src/upca.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/barcode-2.2.3/lib/src/upce.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/barcode_widget-2.0.3/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/barcode_widget-2.0.3/lib/barcode_widget.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/barcode_widget-2.0.3/lib/src/painter.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/barcode_widget-2.0.3/lib/src/widget.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/bip_topl-0.0.2/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/bip_topl-0.0.2/lib/bip_topl.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/bip_topl-0.0.2/lib/src/bip32.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/bip_topl-0.0.2/lib/src/bip32_ed25519.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/bip_topl-0.0.2/lib/src/bip39_base.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/bip_topl-0.0.2/lib/src/cip-1852/cip-1852.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/bip_topl-0.0.2/lib/src/crypto/formatting.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/bip_topl-0.0.2/lib/src/crypto/random_bridge.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/bip_topl-0.0.2/lib/src/ed25519_extended.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/bip_topl-0.0.2/lib/src/encoding/base_58_encoder.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/bip_topl-0.0.2/lib/src/keygen.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/bip_topl-0.0.2/lib/src/utils/base58.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/bip_topl-0.0.2/lib/src/utils/constants.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/bip_topl-0.0.2/lib/src/utils/errors.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/bip_topl-0.0.2/lib/src/utils/utils.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/bip_topl-0.0.2/lib/src/wordlists/chinese_simplified.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/bip_topl-0.0.2/lib/src/wordlists/chinese_traditional.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/bip_topl-0.0.2/lib/src/wordlists/english.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/bip_topl-0.0.2/lib/src/wordlists/french.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/bip_topl-0.0.2/lib/src/wordlists/italian.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/bip_topl-0.0.2/lib/src/wordlists/japanese.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/bip_topl-0.0.2/lib/src/wordlists/korean.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/bip_topl-0.0.2/lib/src/wordlists/language_registry.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/bip_topl-0.0.2/lib/src/wordlists/spanish.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/boolean_selector-2.1.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/build-2.3.1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/build_config-1.1.1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/build_daemon-3.1.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/build_resolvers-2.0.10/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/build_runner-2.3.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/build_runner_core-7.2.7/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/built_collection-5.1.1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/built_value-8.4.2/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/built_value_generator-8.4.2/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/characters-1.2.1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/characters-1.2.1/lib/characters.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/characters-1.2.1/lib/src/characters.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/characters-1.2.1/lib/src/characters_impl.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/characters-1.2.1/lib/src/extensions.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/characters-1.2.1/lib/src/grapheme_clusters/breaks.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/characters-1.2.1/lib/src/grapheme_clusters/constants.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/characters-1.2.1/lib/src/grapheme_clusters/table.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/charcode-1.3.1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/checked_yaml-2.0.1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/cli_pkg-1.7.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/cli_util-0.3.5/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/clock-1.1.1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/clock-1.1.1/lib/clock.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/clock-1.1.1/lib/src/clock.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/clock-1.1.1/lib/src/default.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/clock-1.1.1/lib/src/stopwatch.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/clock-1.1.1/lib/src/utils.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/code_builder-4.3.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/collection-1.16.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/collection-1.16.0/lib/collection.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/collection-1.16.0/lib/src/algorithms.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/collection-1.16.0/lib/src/boollist.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/collection-1.16.0/lib/src/canonicalized_map.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/collection-1.16.0/lib/src/combined_wrappers/combined_iterable.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/collection-1.16.0/lib/src/combined_wrappers/combined_iterator.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/collection-1.16.0/lib/src/combined_wrappers/combined_list.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/collection-1.16.0/lib/src/combined_wrappers/combined_map.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/collection-1.16.0/lib/src/comparators.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/collection-1.16.0/lib/src/empty_unmodifiable_set.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/collection-1.16.0/lib/src/equality.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/collection-1.16.0/lib/src/equality_map.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/collection-1.16.0/lib/src/equality_set.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/collection-1.16.0/lib/src/functions.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/collection-1.16.0/lib/src/iterable_extensions.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/collection-1.16.0/lib/src/iterable_zip.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/collection-1.16.0/lib/src/list_extensions.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/collection-1.16.0/lib/src/priority_queue.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/collection-1.16.0/lib/src/queue_list.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/collection-1.16.0/lib/src/union_set.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/collection-1.16.0/lib/src/union_set_controller.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/collection-1.16.0/lib/src/unmodifiable_wrappers.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/collection-1.16.0/lib/src/utils.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/collection-1.16.0/lib/src/wrappers.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/convert-3.1.1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/convert-3.1.1/lib/convert.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/convert-3.1.1/lib/src/accumulator_sink.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/convert-3.1.1/lib/src/byte_accumulator_sink.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/convert-3.1.1/lib/src/charcodes.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/convert-3.1.1/lib/src/codepage.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/convert-3.1.1/lib/src/fixed_datetime_formatter.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/convert-3.1.1/lib/src/hex.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/convert-3.1.1/lib/src/hex/decoder.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/convert-3.1.1/lib/src/hex/encoder.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/convert-3.1.1/lib/src/identity_codec.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/convert-3.1.1/lib/src/percent.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/convert-3.1.1/lib/src/percent/decoder.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/convert-3.1.1/lib/src/percent/encoder.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/convert-3.1.1/lib/src/string_accumulator_sink.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/convert-3.1.1/lib/src/utils.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/coverage-1.6.1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/crypto-3.0.2/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/crypto-3.0.2/lib/crypto.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/crypto-3.0.2/lib/src/digest.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/crypto-3.0.2/lib/src/digest_sink.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/crypto-3.0.2/lib/src/hash.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/crypto-3.0.2/lib/src/hash_sink.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/crypto-3.0.2/lib/src/hmac.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/crypto-3.0.2/lib/src/md5.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/crypto-3.0.2/lib/src/sha1.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/crypto-3.0.2/lib/src/sha256.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/crypto-3.0.2/lib/src/sha512.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/crypto-3.0.2/lib/src/sha512_fastsinks.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/crypto-3.0.2/lib/src/utils.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/cupertino_icons-1.0.5/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/cupertino_icons-1.0.5/assets/CupertinoIcons.ttf -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/dart_style-2.2.4/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/device_frame-1.1.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/dio-4.0.6/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/dio-4.0.6/lib/dio.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/dio-4.0.6/lib/src/adapter.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/dio-4.0.6/lib/src/adapters/io_adapter.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/dio-4.0.6/lib/src/cancel_token.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/dio-4.0.6/lib/src/dio.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/dio-4.0.6/lib/src/dio_error.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/dio-4.0.6/lib/src/dio_mixin.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/dio-4.0.6/lib/src/entry/dio_for_native.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/dio-4.0.6/lib/src/form_data.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/dio-4.0.6/lib/src/headers.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/dio-4.0.6/lib/src/interceptor.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/dio-4.0.6/lib/src/interceptors/log.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/dio-4.0.6/lib/src/multipart_file.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/dio-4.0.6/lib/src/multipart_file_io.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/dio-4.0.6/lib/src/options.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/dio-4.0.6/lib/src/parameter.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/dio-4.0.6/lib/src/progress_stream/io_progress_stream.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/dio-4.0.6/lib/src/redirect_record.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/dio-4.0.6/lib/src/response.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/dio-4.0.6/lib/src/transformer.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/dio-4.0.6/lib/src/utils.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/docker_process-1.3.1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/dotted_border-2.0.0+3/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/dropdown_button2-1.9.2/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/fake_async-1.3.1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/ffi-1.2.1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/ffi-1.2.1/lib/ffi.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/ffi-1.2.1/lib/src/allocation.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/ffi-1.2.1/lib/src/arena.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/ffi-1.2.1/lib/src/utf16.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/ffi-1.2.1/lib/src/utf8.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/file-6.1.4/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/file-6.1.4/lib/file.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/file-6.1.4/lib/local.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/file-6.1.4/lib/src/backends/local.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/file-6.1.4/lib/src/backends/local/local_directory.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/file-6.1.4/lib/src/backends/local/local_file.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/file-6.1.4/lib/src/backends/local/local_file_system.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/file-6.1.4/lib/src/backends/local/local_file_system_entity.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/file-6.1.4/lib/src/backends/local/local_link.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/file-6.1.4/lib/src/common.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/file-6.1.4/lib/src/forwarding.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/file-6.1.4/lib/src/forwarding/forwarding_directory.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/file-6.1.4/lib/src/forwarding/forwarding_file.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/file-6.1.4/lib/src/forwarding/forwarding_file_system.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/file-6.1.4/lib/src/forwarding/forwarding_file_system_entity.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/file-6.1.4/lib/src/forwarding/forwarding_link.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/file-6.1.4/lib/src/forwarding/forwarding_random_access_file.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/file-6.1.4/lib/src/interface.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/file-6.1.4/lib/src/interface/directory.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/file-6.1.4/lib/src/interface/error_codes.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/file-6.1.4/lib/src/interface/error_codes_dart_io.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/file-6.1.4/lib/src/interface/file.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/file-6.1.4/lib/src/interface/file_system.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/file-6.1.4/lib/src/interface/file_system_entity.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/file-6.1.4/lib/src/interface/link.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/file-6.1.4/lib/src/io.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/file_picker-4.6.1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/file_picker-4.6.1/lib/file_picker.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/file_picker-4.6.1/lib/src/exceptions.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/file_picker-4.6.1/lib/src/file_picker.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/file_picker-4.6.1/lib/src/file_picker_io.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/file_picker-4.6.1/lib/src/file_picker_macos.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/file_picker-4.6.1/lib/src/file_picker_result.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/file_picker-4.6.1/lib/src/linux/dialog_handler.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/file_picker-4.6.1/lib/src/linux/file_picker_linux.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/file_picker-4.6.1/lib/src/linux/kdialog_handler.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/file_picker-4.6.1/lib/src/linux/qarma_and_zenity_handler.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/file_picker-4.6.1/lib/src/platform_file.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/file_picker-4.6.1/lib/src/utils.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/file_picker-4.6.1/lib/src/windows/file_picker_windows.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/file_picker-4.6.1/lib/src/windows/file_picker_windows_ffi_types.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/fixnum-1.0.1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/fixnum-1.0.1/lib/fixnum.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/fixnum-1.0.1/lib/src/int32.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/fixnum-1.0.1/lib/src/int64.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/fixnum-1.0.1/lib/src/intx.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_keyboard_visibility-5.4.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_keyboard_visibility-5.4.0/lib/flutter_keyboard_visibility.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_keyboard_visibility-5.4.0/lib/src/keyboard_visibility_controller.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_keyboard_visibility-5.4.0/lib/src/keyboard_visibility_handler.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_keyboard_visibility-5.4.0/lib/src/keyboard_visibility_test_util.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_keyboard_visibility-5.4.0/lib/src/ui/keyboard_dismiss_on_tap.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_keyboard_visibility-5.4.0/lib/src/ui/keyboard_visibility_builder.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_keyboard_visibility-5.4.0/lib/src/ui/keyboard_visibility_provider.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_keyboard_visibility_linux-1.0.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_keyboard_visibility_linux-1.0.0/lib/flutter_keyboard_visibility_linux.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_keyboard_visibility_macos-1.0.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_keyboard_visibility_macos-1.0.0/lib/flutter_keyboard_visibility_macos.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_keyboard_visibility_platform_interface-2.0.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_keyboard_visibility_platform_interface-2.0.0/lib/flutter_keyboard_visibility_platform_interface.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_keyboard_visibility_platform_interface-2.0.0/lib/src/method_channel_flutter_keyboard_visibility.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_keyboard_visibility_web-2.0.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_keyboard_visibility_windows-1.0.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_keyboard_visibility_windows-1.0.0/lib/flutter_keyboard_visibility_windows.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_launcher_icons-0.9.3/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_lints-1.0.4/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_native_splash-2.2.0+1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_plugin_android_lifecycle-2.0.7/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_portal-0.4.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_portal-0.4.0/lib/flutter_portal.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_portal-0.4.0/lib/src/custom_follower.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_portal-0.4.0/lib/src/portal.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_redux-0.10.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_redux-0.10.0/lib/flutter_redux.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_secure_storage-5.1.2/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_secure_storage-5.1.2/lib/flutter_secure_storage.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_secure_storage-5.1.2/lib/options/android_options.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_secure_storage-5.1.2/lib/options/apple_options.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_secure_storage-5.1.2/lib/options/ios_options.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_secure_storage-5.1.2/lib/options/linux_options.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_secure_storage-5.1.2/lib/options/macos_options.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_secure_storage-5.1.2/lib/options/web_options.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_secure_storage-5.1.2/lib/options/windows_options.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_secure_storage_linux-1.1.2/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_secure_storage_macos-1.1.2/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_secure_storage_platform_interface-1.0.1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_secure_storage_platform_interface-1.0.1/lib/flutter_secure_storage_platform_interface.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_secure_storage_platform_interface-1.0.1/lib/src/method_channel_flutter_secure_storage.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_secure_storage_platform_interface-1.0.1/lib/src/options.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_secure_storage_web-1.1.1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_secure_storage_windows-1.1.3/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_svg-1.0.3/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_svg-1.0.3/lib/flutter_svg.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_svg-1.0.3/lib/parser.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_svg-1.0.3/lib/src/picture_cache.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_svg-1.0.3/lib/src/picture_provider.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_svg-1.0.3/lib/src/picture_stream.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_svg-1.0.3/lib/src/render_picture.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_svg-1.0.3/lib/src/svg/default_theme.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_svg-1.0.3/lib/src/svg/parser_state.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_svg-1.0.3/lib/src/svg/parsers.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_svg-1.0.3/lib/src/svg/theme.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_svg-1.0.3/lib/src/utilities/_file_io.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_svg-1.0.3/lib/src/utilities/_http_io.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_svg-1.0.3/lib/src/utilities/errors.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_svg-1.0.3/lib/src/utilities/file.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_svg-1.0.3/lib/src/utilities/http.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_svg-1.0.3/lib/src/utilities/numbers.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_svg-1.0.3/lib/src/utilities/xml.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_svg-1.0.3/lib/src/vector_drawable.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_svg-1.0.3/lib/svg.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/freezed_annotation-2.2.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/frontend_server_client-2.1.3/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/get-4.6.5/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/get_it-7.2.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/get_it-7.2.0/lib/get_it.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/get_it-7.2.0/lib/get_it_impl.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/glob-2.1.1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/go_router-3.1.1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/google_fonts-2.3.3/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/googleapis_auth-1.3.1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/googleapis_auth-1.3.1/lib/auth_io.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/googleapis_auth-1.3.1/lib/googleapis_auth.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/googleapis_auth-1.3.1/lib/src/access_credentials.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/googleapis_auth-1.3.1/lib/src/access_token.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/googleapis_auth-1.3.1/lib/src/adc_utils.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/googleapis_auth-1.3.1/lib/src/auth_client.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/googleapis_auth-1.3.1/lib/src/auth_functions.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/googleapis_auth-1.3.1/lib/src/auth_http_utils.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/googleapis_auth-1.3.1/lib/src/client_id.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/googleapis_auth-1.3.1/lib/src/crypto/asn1.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/googleapis_auth-1.3.1/lib/src/crypto/pem.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/googleapis_auth-1.3.1/lib/src/crypto/rsa.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/googleapis_auth-1.3.1/lib/src/crypto/rsa_sign.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/googleapis_auth-1.3.1/lib/src/exceptions.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/googleapis_auth-1.3.1/lib/src/http_client_base.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/googleapis_auth-1.3.1/lib/src/known_uris.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/googleapis_auth-1.3.1/lib/src/metadata_server_client.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/googleapis_auth-1.3.1/lib/src/oauth2_flows/auth_code.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/googleapis_auth-1.3.1/lib/src/oauth2_flows/authorization_code_grant_abstract_flow.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/googleapis_auth-1.3.1/lib/src/oauth2_flows/authorization_code_grant_manual_flow.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/googleapis_auth-1.3.1/lib/src/oauth2_flows/authorization_code_grant_server_flow.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/googleapis_auth-1.3.1/lib/src/oauth2_flows/base_flow.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/googleapis_auth-1.3.1/lib/src/oauth2_flows/jwt.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/googleapis_auth-1.3.1/lib/src/oauth2_flows/metadata_server.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/googleapis_auth-1.3.1/lib/src/response_type.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/googleapis_auth-1.3.1/lib/src/service_account_client.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/googleapis_auth-1.3.1/lib/src/service_account_credentials.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/googleapis_auth-1.3.1/lib/src/typedefs.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/googleapis_auth-1.3.1/lib/src/utils.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/graphs-2.2.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/grinder-0.9.2/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/grpc-3.1.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/grpc-3.1.0/lib/grpc.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/grpc-3.1.0/lib/service_api.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/grpc-3.1.0/lib/src/auth/auth.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/grpc-3.1.0/lib/src/auth/auth_io.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/grpc-3.1.0/lib/src/auth/rsa.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/grpc-3.1.0/lib/src/client/call.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/grpc-3.1.0/lib/src/client/channel.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/grpc-3.1.0/lib/src/client/client.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/grpc-3.1.0/lib/src/client/client_transport_connector.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/grpc-3.1.0/lib/src/client/common.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/grpc-3.1.0/lib/src/client/connection.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/grpc-3.1.0/lib/src/client/http2_channel.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/grpc-3.1.0/lib/src/client/http2_connection.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/grpc-3.1.0/lib/src/client/interceptor.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/grpc-3.1.0/lib/src/client/method.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/grpc-3.1.0/lib/src/client/options.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/grpc-3.1.0/lib/src/client/transport/http2_credentials.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/grpc-3.1.0/lib/src/client/transport/http2_transport.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/grpc-3.1.0/lib/src/client/transport/transport.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/grpc-3.1.0/lib/src/generated/google/protobuf/any.pb.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/grpc-3.1.0/lib/src/generated/google/protobuf/duration.pb.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/grpc-3.1.0/lib/src/generated/google/rpc/code.pbenum.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/grpc-3.1.0/lib/src/generated/google/rpc/error_details.pb.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/grpc-3.1.0/lib/src/generated/google/rpc/status.pb.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/grpc-3.1.0/lib/src/server/call.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/grpc-3.1.0/lib/src/server/handler.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/grpc-3.1.0/lib/src/server/interceptor.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/grpc-3.1.0/lib/src/server/server.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/grpc-3.1.0/lib/src/server/service.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/grpc-3.1.0/lib/src/shared/api.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/grpc-3.1.0/lib/src/shared/codec.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/grpc-3.1.0/lib/src/shared/codec_registry.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/grpc-3.1.0/lib/src/shared/io_bits/io_bits.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/grpc-3.1.0/lib/src/shared/io_bits/io_bits_io.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/grpc-3.1.0/lib/src/shared/message.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/grpc-3.1.0/lib/src/shared/profiler.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/grpc-3.1.0/lib/src/shared/security.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/grpc-3.1.0/lib/src/shared/status.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/grpc-3.1.0/lib/src/shared/streams.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/grpc-3.1.0/lib/src/shared/timeout.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http-0.13.5/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http-0.13.5/lib/http.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http-0.13.5/lib/src/base_client.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http-0.13.5/lib/src/base_request.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http-0.13.5/lib/src/base_response.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http-0.13.5/lib/src/boundary_characters.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http-0.13.5/lib/src/byte_stream.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http-0.13.5/lib/src/client.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http-0.13.5/lib/src/exception.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http-0.13.5/lib/src/io_client.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http-0.13.5/lib/src/io_streamed_response.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http-0.13.5/lib/src/multipart_file.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http-0.13.5/lib/src/multipart_file_io.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http-0.13.5/lib/src/multipart_request.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http-0.13.5/lib/src/request.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http-0.13.5/lib/src/response.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http-0.13.5/lib/src/streamed_request.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http-0.13.5/lib/src/streamed_response.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http-0.13.5/lib/src/utils.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http2-2.0.1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http2-2.0.1/lib/src/async_utils/async_utils.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http2-2.0.1/lib/src/byte_utils.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http2-2.0.1/lib/src/connection.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http2-2.0.1/lib/src/connection_preface.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http2-2.0.1/lib/src/error_handler.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http2-2.0.1/lib/src/flowcontrol/connection_queues.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http2-2.0.1/lib/src/flowcontrol/queue_messages.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http2-2.0.1/lib/src/flowcontrol/stream_queues.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http2-2.0.1/lib/src/flowcontrol/window.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http2-2.0.1/lib/src/flowcontrol/window_handler.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http2-2.0.1/lib/src/frames/frame_defragmenter.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http2-2.0.1/lib/src/frames/frame_reader.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http2-2.0.1/lib/src/frames/frame_types.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http2-2.0.1/lib/src/frames/frame_utils.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http2-2.0.1/lib/src/frames/frame_writer.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http2-2.0.1/lib/src/frames/frames.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http2-2.0.1/lib/src/hpack/hpack.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http2-2.0.1/lib/src/hpack/huffman.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http2-2.0.1/lib/src/hpack/huffman_table.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http2-2.0.1/lib/src/ping/ping_handler.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http2-2.0.1/lib/src/settings/settings.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http2-2.0.1/lib/src/streams/stream_handler.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http2-2.0.1/lib/src/sync_errors.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http2-2.0.1/lib/transport.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http_multi_server-3.2.1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http_parser-4.0.2/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http_parser-4.0.2/lib/http_parser.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http_parser-4.0.2/lib/src/authentication_challenge.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http_parser-4.0.2/lib/src/case_insensitive_map.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http_parser-4.0.2/lib/src/chunked_coding.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http_parser-4.0.2/lib/src/chunked_coding/charcodes.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http_parser-4.0.2/lib/src/chunked_coding/decoder.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http_parser-4.0.2/lib/src/chunked_coding/encoder.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http_parser-4.0.2/lib/src/http_date.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http_parser-4.0.2/lib/src/media_type.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http_parser-4.0.2/lib/src/scan.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/http_parser-4.0.2/lib/src/utils.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/image-3.1.3/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/intl-0.17.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/intl-0.17.0/lib/date_symbols.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/intl-0.17.0/lib/intl.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/intl-0.17.0/lib/number_symbols.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/intl-0.17.0/lib/number_symbols_data.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/intl-0.17.0/lib/src/date_format_internal.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/intl-0.17.0/lib/src/global_state.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/intl-0.17.0/lib/src/intl/bidi.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/intl-0.17.0/lib/src/intl/bidi_formatter.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/intl-0.17.0/lib/src/intl/compact_number_format.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/intl-0.17.0/lib/src/intl/constants.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/intl-0.17.0/lib/src/intl/date_builder.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/intl-0.17.0/lib/src/intl/date_computation.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/intl-0.17.0/lib/src/intl/date_format.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/intl-0.17.0/lib/src/intl/date_format_field.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/intl-0.17.0/lib/src/intl/intl_stream.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/intl-0.17.0/lib/src/intl/micro_money.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/intl-0.17.0/lib/src/intl/number_format.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/intl-0.17.0/lib/src/intl/number_format_parser.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/intl-0.17.0/lib/src/intl/number_parser.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/intl-0.17.0/lib/src/intl/regexp.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/intl-0.17.0/lib/src/intl/string_iterator.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/intl-0.17.0/lib/src/intl/text_direction.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/intl-0.17.0/lib/src/intl_helpers.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/intl-0.17.0/lib/src/plural_rules.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/io-1.0.3/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/js-0.6.4/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/json_annotation-4.7.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/json_annotation-4.7.0/lib/json_annotation.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/json_annotation-4.7.0/lib/src/allowed_keys_helpers.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/json_annotation-4.7.0/lib/src/checked_helpers.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/json_annotation-4.7.0/lib/src/enum_helpers.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/json_annotation-4.7.0/lib/src/json_converter.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/json_annotation-4.7.0/lib/src/json_enum.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/json_annotation-4.7.0/lib/src/json_key.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/json_annotation-4.7.0/lib/src/json_literal.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/json_annotation-4.7.0/lib/src/json_serializable.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/json_annotation-4.7.0/lib/src/json_serializable.g.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/json_annotation-4.7.0/lib/src/json_value.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/lazy_load_scrollview-1.3.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/lint-1.10.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/lints-1.0.1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/loader_overlay-2.1.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/loader_overlay-2.1.0/lib/loader_overlay.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/loader_overlay-2.1.0/lib/src/global_loader_overlay.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/loader_overlay-2.1.0/lib/src/loader_overlay.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/loader_overlay-2.1.0/lib/src/overlay_controller_widget.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/loader_overlay-2.1.0/lib/src/overlay_controller_widget_extension.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/loading_overlay-0.3.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/local_auth-2.1.2/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/local_auth-2.1.2/lib/local_auth.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/local_auth-2.1.2/lib/src/local_auth.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/local_auth_android-1.0.16/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/local_auth_android-1.0.16/lib/local_auth_android.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/local_auth_android-1.0.16/lib/types/auth_messages_android.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/local_auth_ios-1.0.10/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/local_auth_ios-1.0.10/lib/local_auth_ios.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/local_auth_ios-1.0.10/lib/types/auth_messages_ios.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/local_auth_platform_interface-1.0.5/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/local_auth_platform_interface-1.0.5/lib/default_method_channel_platform.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/local_auth_platform_interface-1.0.5/lib/local_auth_platform_interface.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/local_auth_platform_interface-1.0.5/lib/types/auth_messages.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/local_auth_platform_interface-1.0.5/lib/types/auth_options.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/local_auth_platform_interface-1.0.5/lib/types/biometric_type.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/local_auth_platform_interface-1.0.5/lib/types/types.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/local_auth_windows-1.0.4/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/local_auth_windows-1.0.4/lib/local_auth_windows.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/local_auth_windows-1.0.4/lib/types/auth_messages_windows.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/logging-1.1.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/logging-1.1.0/lib/logging.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/logging-1.1.0/lib/src/level.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/logging-1.1.0/lib/src/log_record.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/logging-1.1.0/lib/src/logger.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/matcher-0.12.12/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/material_color_utilities-0.1.5/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/material_color_utilities-0.1.5/lib/blend/blend.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/material_color_utilities-0.1.5/lib/hct/cam16.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/material_color_utilities-0.1.5/lib/hct/cam_solver.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/material_color_utilities-0.1.5/lib/hct/hct.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/material_color_utilities-0.1.5/lib/hct/viewing_conditions.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/material_color_utilities-0.1.5/lib/material_color_utilities.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/material_color_utilities-0.1.5/lib/palettes/core_palette.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/material_color_utilities-0.1.5/lib/palettes/tonal_palette.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/material_color_utilities-0.1.5/lib/quantize/point_provider.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/material_color_utilities-0.1.5/lib/quantize/point_provider_lab.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/material_color_utilities-0.1.5/lib/quantize/quantizer.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/material_color_utilities-0.1.5/lib/quantize/quantizer_celebi.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/material_color_utilities-0.1.5/lib/quantize/quantizer_map.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/material_color_utilities-0.1.5/lib/quantize/quantizer_wsmeans.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/material_color_utilities-0.1.5/lib/quantize/quantizer_wu.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/material_color_utilities-0.1.5/lib/scheme/scheme.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/material_color_utilities-0.1.5/lib/score/score.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/material_color_utilities-0.1.5/lib/utils/color_utils.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/material_color_utilities-0.1.5/lib/utils/math_utils.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/meta-1.8.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/meta-1.8.0/lib/meta.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/meta-1.8.0/lib/meta_meta.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/mime-1.0.3/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/mockito-5.3.2/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/nested-1.0.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/node_interop-2.1.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/node_preamble-2.0.1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/package_config-2.1.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path-1.8.2/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path-1.8.2/lib/path.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path-1.8.2/lib/src/characters.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path-1.8.2/lib/src/context.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path-1.8.2/lib/src/internal_style.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path-1.8.2/lib/src/parsed_path.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path-1.8.2/lib/src/path_exception.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path-1.8.2/lib/src/path_map.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path-1.8.2/lib/src/path_set.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path-1.8.2/lib/src/style.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path-1.8.2/lib/src/style/posix.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path-1.8.2/lib/src/style/url.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path-1.8.2/lib/src/style/windows.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path-1.8.2/lib/src/utils.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path_drawing-1.0.1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path_drawing-1.0.1/lib/path_drawing.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path_drawing-1.0.1/lib/src/dash_path.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path_drawing-1.0.1/lib/src/parse_path.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path_drawing-1.0.1/lib/src/trim_path.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path_parsing-1.0.1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path_parsing-1.0.1/lib/path_parsing.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path_parsing-1.0.1/lib/src/path_parsing.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path_parsing-1.0.1/lib/src/path_segment_type.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path_provider-2.0.11/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path_provider-2.0.11/lib/path_provider.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path_provider_android-2.0.22/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path_provider_android-2.0.22/lib/messages.g.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path_provider_android-2.0.22/lib/path_provider_android.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path_provider_ios-2.0.11/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path_provider_ios-2.0.11/lib/messages.g.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path_provider_ios-2.0.11/lib/path_provider_ios.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-2.1.7/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-2.1.7/lib/path_provider_linux.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-2.1.7/lib/src/get_application_id.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-2.1.7/lib/src/get_application_id_real.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-2.1.7/lib/src/path_provider_linux.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-2.0.6/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-2.0.6/lib/path_provider_macos.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path_provider_platform_interface-2.0.5/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path_provider_platform_interface-2.0.5/lib/path_provider_platform_interface.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path_provider_platform_interface-2.0.5/lib/src/enums.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path_provider_platform_interface-2.0.5/lib/src/method_channel_path_provider.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-2.0.7/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-2.0.7/lib/path_provider_windows.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-2.0.7/lib/src/folders.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-2.0.7/lib/src/path_provider_windows_real.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/context.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/core.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/definition.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/expression.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/matcher.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/parser.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/petitparser.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/context/context.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/context/failure.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/context/result.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/context/success.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/core/exception.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/core/parser.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/core/token.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/definition/grammar.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/definition/internal/reference.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/definition/internal/undefined.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/definition/parser.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/definition/reference.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/definition/resolve.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/expression/builder.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/expression/group.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/expression/result.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/matcher/accept.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/matcher/matches.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/matcher/matches/matches_iterable.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/matcher/matches/matches_iterator.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/matcher/pattern.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/matcher/pattern/parser_match.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/matcher/pattern/parser_pattern.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/matcher/pattern/pattern_iterable.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/matcher/pattern/pattern_iterator.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/action/cast.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/action/cast_list.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/action/continuation.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/action/flatten.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/action/map.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/action/permute.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/action/pick.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/action/token.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/action/trimming.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/action/where.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/character/any_of.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/character/char.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/character/code.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/character/constant.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/character/digit.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/character/letter.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/character/lookup.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/character/lowercase.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/character/none_of.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/character/not.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/character/optimize.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/character/parser.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/character/pattern.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/character/predicate.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/character/range.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/character/uppercase.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/character/whitespace.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/character/word.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/combinator/and.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/combinator/choice.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/combinator/delegate.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/combinator/generated/sequence_2.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/combinator/generated/sequence_3.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/combinator/generated/sequence_4.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/combinator/generated/sequence_5.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/combinator/generated/sequence_6.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/combinator/generated/sequence_7.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/combinator/generated/sequence_8.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/combinator/generated/sequence_9.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/combinator/list.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/combinator/not.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/combinator/optional.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/combinator/sequence.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/combinator/settable.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/combinator/skip.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/misc/eof.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/misc/epsilon.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/misc/failure.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/misc/label.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/misc/newline.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/misc/position.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/predicate/any.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/predicate/pattern.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/predicate/predicate.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/predicate/string.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/repeater/greedy.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/repeater/lazy.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/repeater/limited.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/repeater/possessive.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/repeater/repeating.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/repeater/separated.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/repeater/separated_by.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/repeater/unbounded.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/utils/failure_joiner.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/utils/labeled.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/utils/resolvable.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/parser/utils/sequential.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/shared/annotations.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/petitparser-5.1.0/lib/src/shared/types.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pinenacl-0.3.4/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pinenacl-0.3.4/lib/api.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pinenacl-0.3.4/lib/api/api.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pinenacl-0.3.4/lib/api/authenticated_encryption.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pinenacl-0.3.4/lib/api/encoding.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pinenacl-0.3.4/lib/api/signatures.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pinenacl-0.3.4/lib/digests.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pinenacl-0.3.4/lib/ed25519.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pinenacl-0.3.4/lib/encoding.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pinenacl-0.3.4/lib/key_derivation.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pinenacl-0.3.4/lib/src/authenticated_encryption/public.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pinenacl-0.3.4/lib/src/authenticated_encryption/secret.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pinenacl-0.3.4/lib/src/digests/blake2b.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pinenacl-0.3.4/lib/src/digests/digests.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pinenacl-0.3.4/lib/src/encoding/base32_encoder.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pinenacl-0.3.4/lib/src/encoding/bech32_encoder.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pinenacl-0.3.4/lib/src/encoding/hex_encoder.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pinenacl-0.3.4/lib/src/key_derivation/pbkdf2.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pinenacl-0.3.4/lib/src/signatures/ed25519.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pinenacl-0.3.4/lib/src/tweetnacl/poly1305.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pinenacl-0.3.4/lib/src/tweetnacl/tweetnacl.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pinenacl-0.3.4/lib/src/tweetnacl/tweetnacl_ext.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pinenacl-0.3.4/lib/src/utils/utils.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pinenacl-0.3.4/lib/tweetnacl.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pinenacl-0.3.4/lib/x25519.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/platform-3.1.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/platform-3.1.0/lib/platform.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/platform-3.1.0/lib/src/interface/local_platform.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/platform-3.1.0/lib/src/interface/platform.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/platform-3.1.0/lib/src/testing/fake_platform.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/plugin_platform_interface-2.1.3/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/plugin_platform_interface-2.1.3/lib/plugin_platform_interface.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/adapters/stream_cipher_as_block_cipher.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/api.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/asymmetric/api.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/asymmetric/oaep.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/asymmetric/pkcs1.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/asymmetric/rsa.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/block/aes.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/block/aes_fast.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/block/modes/cbc.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/block/modes/ccm.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/block/modes/cfb.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/block/modes/ctr.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/block/modes/ecb.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/block/modes/gcm.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/block/modes/gctr.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/block/modes/ige.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/block/modes/ofb.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/block/modes/sic.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/digests/blake2b.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/digests/cshake.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/digests/keccak.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/digests/md2.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/digests/md4.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/digests/md5.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/digests/ripemd128.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/digests/ripemd160.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/digests/ripemd256.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/digests/ripemd320.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/digests/sha1.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/digests/sha224.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/digests/sha256.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/digests/sha3.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/digests/sha384.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/digests/sha512.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/digests/sha512t.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/digests/shake.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/digests/sm3.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/digests/tiger.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/digests/whirlpool.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/digests/xof_utils.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/ecc/api.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/ecc/curves/brainpoolp160r1.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/ecc/curves/brainpoolp160t1.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/ecc/curves/brainpoolp192r1.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/ecc/curves/brainpoolp192t1.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/ecc/curves/brainpoolp224r1.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/ecc/curves/brainpoolp224t1.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/ecc/curves/brainpoolp256r1.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/ecc/curves/brainpoolp256t1.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/ecc/curves/brainpoolp320r1.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/ecc/curves/brainpoolp320t1.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/ecc/curves/brainpoolp384r1.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/ecc/curves/brainpoolp384t1.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/ecc/curves/brainpoolp512r1.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/ecc/curves/brainpoolp512t1.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/ecc/curves/gostr3410_2001_cryptopro_a.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/ecc/curves/gostr3410_2001_cryptopro_b.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/ecc/curves/gostr3410_2001_cryptopro_c.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/ecc/curves/gostr3410_2001_cryptopro_xcha.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/ecc/curves/gostr3410_2001_cryptopro_xchb.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/ecc/curves/prime192v1.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/ecc/curves/prime192v2.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/ecc/curves/prime192v3.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/ecc/curves/prime239v1.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/ecc/curves/prime239v2.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/ecc/curves/prime239v3.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/ecc/curves/prime256v1.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/ecc/curves/secp112r1.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/ecc/curves/secp112r2.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/ecc/curves/secp128r1.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/ecc/curves/secp128r2.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/ecc/curves/secp160k1.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/ecc/curves/secp160r1.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/ecc/curves/secp160r2.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/ecc/curves/secp192k1.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/ecc/curves/secp192r1.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/ecc/curves/secp224k1.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/ecc/curves/secp224r1.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/ecc/curves/secp256k1.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/ecc/curves/secp256r1.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/ecc/curves/secp384r1.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/ecc/curves/secp521r1.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/ecc/ecc_base.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/ecc/ecc_fp.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/ecc/ecdh.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/export.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/impl.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/key_derivators/api.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/key_derivators/argon2.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/key_derivators/argon2_native_int_impl.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/key_derivators/concat_kdf.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/key_derivators/ecdh_kdf.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/key_derivators/hkdf.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/key_derivators/pbkdf2.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/key_derivators/scrypt.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/key_generators/api.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/key_generators/ec_key_generator.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/key_generators/rsa_key_generator.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/macs/cbc_block_cipher_mac.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/macs/cmac.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/macs/hmac.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/macs/poly1305.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/padded_block_cipher/padded_block_cipher_impl.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/paddings/iso7816d4.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/paddings/pkcs7.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/random/auto_seed_block_ctr_random.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/random/block_ctr_random.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/random/fortuna_random.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/signers/ecdsa_signer.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/signers/pss_signer.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/signers/rsa_signer.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/api/aead_block_cipher.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/api/aead_cipher.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/api/aead_parameters.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/api/algorithm.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/api/asymmetric_block_cipher.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/api/asymmetric_key.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/api/asymmetric_key_pair.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/api/asymmetric_key_parameter.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/api/block_cipher.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/api/cipher_parameters.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/api/digest.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/api/key_derivator.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/api/key_generator.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/api/key_generator_parameters.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/api/key_parameter.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/api/mac.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/api/padded_block_cipher.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/api/padded_block_cipher_parameters.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/api/padding.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/api/parameters_with_iv.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/api/parameters_with_random.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/api/parameters_with_salt.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/api/parameters_with_salt_configuration.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/api/private_key.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/api/private_key_parameter.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/api/public_key.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/api/public_key_parameter.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/api/registry_factory_exception.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/api/secure_random.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/api/signature.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/api/signer.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/api/srp_client.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/api/srp_server.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/api/stream_cipher.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/api/xof.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/ct.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/ec_standard_curve_constructor.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/impl/base_aead_block_cipher.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/impl/base_aead_cipher.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/impl/base_asymmetric_block_cipher.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/impl/base_block_cipher.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/impl/base_digest.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/impl/base_key_derivator.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/impl/base_mac.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/impl/base_padding.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/impl/base_stream_cipher.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/impl/entropy.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/impl/keccak_engine.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/impl/long_sha2_family_digest.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/impl/md4_family_digest.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/impl/secure_random_base.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/platform_check/native.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/platform_check/platform_check.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/registry/registration.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/registry/registry.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/ufixnum.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/src/utils.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/stream/chacha20.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/stream/chacha20poly1305.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/stream/chacha7539.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/stream/ctr.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/stream/salsa20.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.6.2/lib/stream/sic.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pool-1.5.1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/process-4.2.4/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/process-4.2.4/lib/process.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/process-4.2.4/lib/src/interface/common.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/process-4.2.4/lib/src/interface/exceptions.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/process-4.2.4/lib/src/interface/local_process_manager.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/process-4.2.4/lib/src/interface/process_manager.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/process-4.2.4/lib/src/interface/process_wrapper.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/progress_indicators-1.0.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/protobuf-2.1.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/protobuf-2.1.0/lib/protobuf.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/protobuf-2.1.0/lib/src/protobuf/builder_info.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/protobuf-2.1.0/lib/src/protobuf/coded_buffer.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/protobuf-2.1.0/lib/src/protobuf/coded_buffer_reader.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/protobuf-2.1.0/lib/src/protobuf/coded_buffer_writer.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/protobuf-2.1.0/lib/src/protobuf/consts.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/protobuf-2.1.0/lib/src/protobuf/event_plugin.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/protobuf-2.1.0/lib/src/protobuf/exceptions.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/protobuf-2.1.0/lib/src/protobuf/extension.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/protobuf-2.1.0/lib/src/protobuf/extension_field_set.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/protobuf-2.1.0/lib/src/protobuf/extension_registry.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/protobuf-2.1.0/lib/src/protobuf/field_error.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/protobuf-2.1.0/lib/src/protobuf/field_info.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/protobuf-2.1.0/lib/src/protobuf/field_set.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/protobuf-2.1.0/lib/src/protobuf/field_type.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/protobuf-2.1.0/lib/src/protobuf/generated_message.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/protobuf-2.1.0/lib/src/protobuf/generated_service.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/protobuf-2.1.0/lib/src/protobuf/json.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/protobuf-2.1.0/lib/src/protobuf/json_parsing_context.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/protobuf-2.1.0/lib/src/protobuf/mixins/well_known.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/protobuf-2.1.0/lib/src/protobuf/pb_list.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/protobuf-2.1.0/lib/src/protobuf/pb_map.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/protobuf-2.1.0/lib/src/protobuf/permissive_compare.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/protobuf-2.1.0/lib/src/protobuf/proto3_json.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/protobuf-2.1.0/lib/src/protobuf/protobuf_enum.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/protobuf-2.1.0/lib/src/protobuf/readonly_message.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/protobuf-2.1.0/lib/src/protobuf/rpc_client.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/protobuf-2.1.0/lib/src/protobuf/type_registry.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/protobuf-2.1.0/lib/src/protobuf/unknown_field_set.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/protobuf-2.1.0/lib/src/protobuf/unpack.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/protobuf-2.1.0/lib/src/protobuf/utils.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/protobuf-2.1.0/lib/src/protobuf/wire_format.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/provider-6.0.5/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pub_semver-2.1.3/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/pubspec_parse-1.2.1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/qr-3.0.1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/qr-3.0.1/lib/qr.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/qr-3.0.1/lib/src/bit_buffer.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/qr-3.0.1/lib/src/byte.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/qr-3.0.1/lib/src/error_correct_level.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/qr-3.0.1/lib/src/input_too_long_exception.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/qr-3.0.1/lib/src/mask_pattern.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/qr-3.0.1/lib/src/math.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/qr-3.0.1/lib/src/mode.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/qr-3.0.1/lib/src/polynomial.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/qr-3.0.1/lib/src/qr_code.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/qr-3.0.1/lib/src/qr_image.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/qr-3.0.1/lib/src/rs_block.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/qr-3.0.1/lib/src/util.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/quiver-3.1.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/redux-5.0.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/redux-5.0.0/lib/redux.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/redux-5.0.0/lib/src/store.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/redux-5.0.0/lib/src/utils.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/redux_epics-0.15.1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/redux_epics-0.15.1/lib/redux_epics.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/redux_epics-0.15.1/lib/src/combine_epics.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/redux_epics-0.15.1/lib/src/epic.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/redux_epics-0.15.1/lib/src/epic_middleware.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/redux_epics-0.15.1/lib/src/epic_store.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/rxdart.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/rx.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/streams/combine_latest.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/streams/concat.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/streams/concat_eager.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/streams/connectable_stream.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/streams/defer.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/streams/fork_join.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/streams/from_callable.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/streams/merge.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/streams/never.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/streams/race.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/streams/range.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/streams/repeat.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/streams/replay_stream.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/streams/retry.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/streams/retry_when.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/streams/sequence_equal.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/streams/switch_latest.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/streams/timer.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/streams/using.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/streams/value_stream.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/streams/zip.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/subjects/behavior_subject.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/subjects/publish_subject.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/subjects/replay_subject.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/subjects/subject.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/transformers/backpressure/backpressure.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/transformers/backpressure/buffer.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/transformers/backpressure/debounce.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/transformers/backpressure/pairwise.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/transformers/backpressure/sample.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/transformers/backpressure/throttle.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/transformers/backpressure/window.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/transformers/default_if_empty.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/transformers/delay.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/transformers/dematerialize.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/transformers/distinct_unique.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/transformers/do.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/transformers/end_with.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/transformers/end_with_many.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/transformers/exhaust_map.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/transformers/flat_map.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/transformers/group_by.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/transformers/ignore_elements.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/transformers/interval.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/transformers/map_to.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/transformers/materialize.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/transformers/max.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/transformers/min.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/transformers/on_error_resume.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/transformers/scan.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/transformers/skip_until.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/transformers/start_with.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/transformers/start_with_error.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/transformers/start_with_many.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/transformers/switch_if_empty.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/transformers/switch_map.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/transformers/take_last.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/transformers/take_until.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/transformers/take_while_inclusive.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/transformers/time_interval.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/transformers/timestamp.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/transformers/where_type.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/transformers/with_latest_from.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/utils/composite_subscription.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/utils/error_and_stacktrace.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/utils/forwarding_sink.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/utils/forwarding_stream.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/utils/min_max.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/utils/notification.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/src/utils/value_wrapper.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/streams.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/subjects.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/rxdart-0.26.0/lib/transformers.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/scroll_to_index-3.0.1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/shelf-1.4.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/shelf_packages_handler-3.0.1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/shelf_static-1.1.1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/shelf_web_socket-1.0.3/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/shimmer_animation-2.1.0+1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/shimmer_animation-2.1.0+1/lib/shimmer_animation.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/shimmer_animation-2.1.0+1/lib/src/custom_shimmer_animation.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/shimmer_animation-2.1.0+1/lib/src/shimmer_animator.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/source_gen-1.2.6/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/source_map_stack_trace-2.1.1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/source_maps-0.10.11/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/source_span-1.9.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/source_span-1.9.0/lib/source_span.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/source_span-1.9.0/lib/src/charcode.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/source_span-1.9.0/lib/src/colors.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/source_span-1.9.0/lib/src/file.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/source_span-1.9.0/lib/src/highlighter.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/source_span-1.9.0/lib/src/location.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/source_span-1.9.0/lib/src/location_mixin.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/source_span-1.9.0/lib/src/span.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/source_span-1.9.0/lib/src/span_exception.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/source_span-1.9.0/lib/src/span_mixin.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/source_span-1.9.0/lib/src/span_with_context.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/source_span-1.9.0/lib/src/utils.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/stack_trace-1.10.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/step_progress_indicator-1.0.2/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/steps_indicator-1.3.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/stream_channel-2.1.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/stream_transform-2.1.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/string_scanner-1.1.1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/string_scanner-1.1.1/lib/src/charcode.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/string_scanner-1.1.1/lib/src/eager_span_scanner.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/string_scanner-1.1.1/lib/src/exception.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/string_scanner-1.1.1/lib/src/line_scanner.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/string_scanner-1.1.1/lib/src/relative_span_scanner.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/string_scanner-1.1.1/lib/src/span_scanner.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/string_scanner-1.1.1/lib/src/string_scanner.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/string_scanner-1.1.1/lib/src/utils.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/string_scanner-1.1.1/lib/string_scanner.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/term_glyph-1.2.1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/term_glyph-1.2.1/lib/src/generated/ascii_glyph_set.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/term_glyph-1.2.1/lib/src/generated/glyph_set.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/term_glyph-1.2.1/lib/src/generated/top_level.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/term_glyph-1.2.1/lib/src/generated/unicode_glyph_set.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/term_glyph-1.2.1/lib/term_glyph.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/test-1.21.4/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/test_api-0.4.12/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/test_core-0.4.16/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/test_process-2.0.3/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/timing-1.0.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/typed_data-1.3.1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/typed_data-1.3.1/lib/src/typed_buffer.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/typed_data-1.3.1/lib/src/typed_queue.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/typed_data-1.3.1/lib/typed_buffers.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/typed_data-1.3.1/lib/typed_data.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/universal_io-2.0.4/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/unorm_dart-0.2.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/unorm_dart-0.2.0/lib/src/composite_iterator.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/unorm_dart-0.2.0/lib/src/decomposite_iterator.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/unorm_dart-0.2.0/lib/src/iterator.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/unorm_dart-0.2.0/lib/src/recursive_decomposite_iterator.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/unorm_dart-0.2.0/lib/src/uchar.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/unorm_dart-0.2.0/lib/src/uchar_iterator.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/unorm_dart-0.2.0/lib/src/unorm_dart_base.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/unorm_dart-0.2.0/lib/src/unormdata.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/unorm_dart-0.2.0/lib/src/utils.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/unorm_dart-0.2.0/lib/unorm_dart.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/url_launcher-6.1.7/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/url_launcher-6.1.7/lib/src/legacy_api.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/url_launcher-6.1.7/lib/src/type_conversion.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/url_launcher-6.1.7/lib/src/types.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/url_launcher-6.1.7/lib/src/url_launcher_string.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/url_launcher-6.1.7/lib/src/url_launcher_uri.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/url_launcher-6.1.7/lib/url_launcher.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/url_launcher-6.1.7/lib/url_launcher_string.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/url_launcher_android-6.0.22/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/url_launcher_android-6.0.22/lib/url_launcher_android.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/url_launcher_ios-6.0.17/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/url_launcher_ios-6.0.17/lib/url_launcher_ios.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/url_launcher_linux-3.0.1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/url_launcher_linux-3.0.1/lib/url_launcher_linux.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/url_launcher_macos-3.0.1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/url_launcher_macos-3.0.1/lib/url_launcher_macos.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/url_launcher_platform_interface-2.1.1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/url_launcher_platform_interface-2.1.1/lib/link.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/url_launcher_platform_interface-2.1.1/lib/method_channel_url_launcher.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/url_launcher_platform_interface-2.1.1/lib/src/types.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/url_launcher_platform_interface-2.1.1/lib/src/url_launcher_platform.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/url_launcher_platform_interface-2.1.1/lib/url_launcher_platform_interface.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/url_launcher_web-2.0.13/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/url_launcher_windows-3.0.1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/url_launcher_windows-3.0.1/lib/url_launcher_windows.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/url_strategy-0.2.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/uuid-3.0.7/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/uuid-3.0.7/lib/uuid.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/uuid-3.0.7/lib/uuid_util.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math/aabb2.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math/aabb3.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math/colors.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math/constants.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math/error_helpers.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math/frustum.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math/intersection_result.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math/matrix2.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math/matrix3.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math/matrix4.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math/obb3.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math/opengl.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math/plane.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math/quad.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math/quaternion.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math/ray.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math/sphere.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math/third_party/noise.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math/triangle.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math/utilities.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math/vector.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math/vector2.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math/vector3.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math/vector4.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math_64/aabb2.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math_64/aabb3.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math_64/colors.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math_64/constants.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math_64/error_helpers.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math_64/frustum.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math_64/intersection_result.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math_64/matrix2.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math_64/matrix3.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math_64/matrix4.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math_64/obb3.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math_64/opengl.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math_64/plane.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math_64/quad.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math_64/quaternion.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math_64/ray.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math_64/sphere.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math_64/third_party/noise.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math_64/triangle.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math_64/utilities.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math_64/vector.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math_64/vector2.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math_64/vector3.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/src/vector_math_64/vector4.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/vector_math.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/vector_math_64.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/vm_service-9.4.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/watcher-1.0.2/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/wave-0.2.2/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/wave-0.2.2/lib/config.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/wave-0.2.2/lib/wave.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/web_socket_channel-2.2.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/webkit_inspection_protocol-1.2.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/widgetbook_annotation-2.1.0/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/widgetbook_generator-2.4.1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/widgetbook_models-0.0.7/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/advapi32.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/api_ms_win_core_winrt_l1_1_0.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/api_ms_win_core_winrt_string_l1_1_0.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/api_ms_win_ro_typeresolution_l1_1_0.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/api_ms_win_wsl_api_l1_1_0.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/bluetoothapis.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/bstr.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/bthprops.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/callbacks.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/iapplicationactivationmanager.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/iappxfactory.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/iappxfile.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/iappxfilesenumerator.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/iappxmanifestapplication.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/iappxmanifestapplicationsenumerator.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/iappxmanifestospackagedependency.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/iappxmanifestpackagedependenciesenumerator.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/iappxmanifestpackagedependency.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/iappxmanifestpackageid.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/iappxmanifestproperties.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/iappxmanifestreader.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/iappxmanifestreader2.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/iappxmanifestreader3.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/iappxmanifestreader4.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/iappxmanifestreader5.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/iappxmanifestreader6.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/iappxmanifestreader7.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/iappxpackagereader.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/iaudiocaptureclient.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/iaudioclient.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/iaudioclock.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/iaudiorenderclient.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/iaudiosessioncontrol.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/iaudiosessionmanager.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/iaudiostreamvolume.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/ibindctx.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/ichannelaudiovolume.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/iclassfactory.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/iconnectionpoint.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/iconnectionpointcontainer.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/idesktopwallpaper.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/idispatch.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/ienumidlist.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/ienummoniker.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/ienumnetworkconnections.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/ienumnetworks.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/ienumresources.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/ienumspellingerror.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/ienumstring.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/ienumvariant.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/ienumwbemclassobject.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/ierrorinfo.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/ifiledialog.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/ifiledialog2.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/ifiledialogcustomize.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/ifileisinuse.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/ifileopendialog.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/ifilesavedialog.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/iinspectable.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/iknownfolder.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/iknownfoldermanager.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/immdevice.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/immdeviceenumerator.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/imodalwindow.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/imoniker.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/inetwork.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/inetworkconnection.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/inetworklistmanager.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/inetworklistmanagerevents.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/ipersist.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/ipersistfile.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/ipersistmemory.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/ipersiststream.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/iprovideclassinfo.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/irunningobjecttable.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/isequentialstream.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/ishellfolder.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/ishellitem.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/ishellitem2.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/ishellitemarray.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/ishellitemfilter.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/ishellitemresources.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/ishelllink.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/ishelllinkdatalist.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/ishelllinkdual.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/ishellservice.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/isimpleaudiovolume.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/ispeechobjecttoken.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/ispeechobjecttokens.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/ispellchecker.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/ispellchecker2.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/ispellcheckerchangedeventhandler.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/ispellcheckerfactory.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/ispellingerror.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/ispeventsource.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/ispnotifysource.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/ispvoice.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/istream.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/isupporterrorinfo.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/itypeinfo.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/iunknown.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/iuri.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/iuserdatapathsstatics.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/ivirtualdesktopmanager.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/iwbemclassobject.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/iwbemconfigurerefresher.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/iwbemcontext.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/iwbemhiperfenum.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/iwbemlocator.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/iwbemobjectaccess.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/iwbemrefresher.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/com/iwbemservices.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/combase.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/comctl32.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/comdlg32.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/constants.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/constants_nodoc.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/dbghelp.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/dwmapi.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/dxva2.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/exceptions.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/extensions/comobject_pointer.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/extensions/dialogs.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/extensions/hstring_array.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/extensions/int_to_hexstring.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/extensions/list_to_blob.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/extensions/set_ansi.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/extensions/set_string.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/extensions/set_string_array.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/extensions/unpack_utf16.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/gdi32.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/guid.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/inline.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/kernel32.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/kernelbase.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/macros.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/magnification.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/ole32.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/oleaut32.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/powrprof.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/rometadata.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/scarddlg.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/setupapi.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/shcore.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/shell32.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/spoolss.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/structs.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/structs.g.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/types.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/user32.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/utils.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/uxtheme.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/version.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/winmm.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/winrt/iasyncaction.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/winrt/iasyncinfo.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/winrt/icalendar.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/winrt/ifileopenpicker.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/winrt/ihostname.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/winrt/inetworkinformationstatics.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/winrt/internal/winrt_vector_helper.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/winrt/ipropertyvalue.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/winrt/itoastnotificationfactory.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/winrt/itoastnotificationmanagerstatics.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/winrt/ivector.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/winrt/ivectorview.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/winrt/toastnotification.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/winrt/userdatapaths.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/winrt_constants.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/winrt_helpers.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/winscard.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/winspool.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/wlanapi.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/src/xinput1_4.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/win32-2.6.1/lib/win32.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xdg_directories-0.2.0+2/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xdg_directories-0.2.0+2/lib/xdg_directories.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/LICENSE -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml/entities/default_mapping.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml/entities/entity_mapping.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml/entities/named_entities.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml/grammar.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml/mixins/has_attributes.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml/mixins/has_children.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml/mixins/has_name.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml/mixins/has_parent.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml/mixins/has_text.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml/mixins/has_visitor.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml/mixins/has_writer.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml/mixins/has_xml.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml/navigation/descendants.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml/navigation/parent.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml/nodes/attribute.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml/nodes/cdata.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml/nodes/comment.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml/nodes/data.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml/nodes/declaration.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml/nodes/doctype.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml/nodes/document.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml/nodes/document_fragment.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml/nodes/element.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml/nodes/node.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml/nodes/processing.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml/nodes/text.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml/parser.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml/production.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml/utils/attribute_type.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml/utils/cache.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml/utils/character_data_parser.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml/utils/exceptions.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml/utils/name.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml/utils/name_matcher.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml/utils/namespace.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml/utils/node_list.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml/utils/node_type.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml/utils/predicate.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml/utils/prefix_name.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml/utils/simple_name.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml/utils/token.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml/visitors/pretty_writer.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml/visitors/visitor.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml/visitors/writer.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml_events/codec/event_codec.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml_events/codec/node_codec.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml_events/converters/event_decoder.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml_events/converters/event_encoder.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml_events/converters/node_decoder.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml_events/converters/node_encoder.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml_events/event.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml_events/events/cdata.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml_events/events/comment.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml_events/events/declaration.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml_events/events/doctype.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml_events/events/end_element.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml_events/events/processing.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml_events/events/start_element.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml_events/events/text.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml_events/iterable.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml_events/iterator.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml_events/parser.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml_events/streams/flatten.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml_events/streams/for_each_event.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml_events/streams/normalizer.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml_events/streams/subtree_selector.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml_events/streams/with_parent.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml_events/utils/conversion_sink.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml_events/utils/event_attribute.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml_events/utils/list_converter.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml_events/utils/named.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml_events/utils/parented.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/src/xml_events/visitor.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/xml-5.4.1/lib/xml_events.dart -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/yaml-3.1.1/LICENSE -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/asset_icons/coff_blue_icon.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/asset_icons/coff_brown_icon.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/asset_icons/coff_green_icon.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/asset_icons/coff_purple_icon.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/asset_icons/coff_yellow_icon.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/asset_icons/dia_blue_icon.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/asset_icons/dia_green_icon.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/asset_icons/dia_purple_icon.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/asset_icons/dia_yellow_icon.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/fonts/DMSans-Bold.ttf -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/fonts/DMSans-Medium.ttf -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/fonts/DMSans-Regular.ttf -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/add.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/address_copied.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/another_wallet_button.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/asset_unselected.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/balance_page.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/balance_page_active.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/check_circle.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/chevron_down.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/chevron_down_dark.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/circle_plus.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/clock_blue.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/clock_grey.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/close_grey.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/coffee-green-icon.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/content_copy.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/copy_icon.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/copy_selected.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/copy_unselected.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/create_wallet.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/create_wallet_shadow.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/download.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/edit_icon.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/encrypt_file.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/error.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/error_face.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/extension.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/file_copy.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/finger_print_dark.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/finger_print_light.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/gray_help_bubble.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/hamburger_menu.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/help_icon.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/import.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/import_wallet.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/import_wallet.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/info.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/invalid_recipient.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/issuer_fingerprint.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/key_dark.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/key_light.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/menu.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/menu.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/mint_large.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/mint_new_asset.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/mint_page.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/mint_page_active.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/my_fingerprint.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/my_wallet_button.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/new_ribn_logo.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/open_in_new.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/paper_pen.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/password_hidden.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/password_manager.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/password_visible.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/plus.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/plus_blue.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/plus_grey.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/polysIcon.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/receive.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/recipient_fingerprint.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/remint_same_asset.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/remove.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/restore_wallet.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/ribn_circle_logo.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/round_info_circle.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/seed_phrase_confirmed.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/seedphrase_created.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/seedphrase_generated.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/send.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/sent.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/settings.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/sms_failed.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/support.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/topl_placeholder.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/topl_placeholder_card.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/tx_history_page.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/tx_history_page_active.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/undefined_icon.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/visibility.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/visibility_off.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/wallet_blue.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/wallet_grey.png -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/wallet_password.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/warning.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/assets/icons/wink.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/constants/assets.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/constants/colors.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/constants/strings.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/constants/styles.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/constants/ui_constants.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/fonts/DMSans-Bold.ttf -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/fonts/DMSans-Medium.ttf -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/fonts/DMSans-Regular.ttf -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/transfer_utils.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/utils.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/widgets/atoms/animated_expand_button.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/widgets/atoms/asset_info.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/widgets/atoms/custom_close_button.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/widgets/atoms/custom_copy_button.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/widgets/atoms/custom_dropdown.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/widgets/atoms/custom_icon_button.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/widgets/atoms/custom_input_field.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/widgets/atoms/custom_text_field.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/widgets/atoms/custom_toggle.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/widgets/atoms/error_bubble.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/widgets/atoms/hover_icon_button.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/widgets/atoms/large_button.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/widgets/atoms/peekaboo_button.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/widgets/atoms/rounded_copy_text_field.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/widgets/atoms/status_chip.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/widgets/molecules/accordion.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/widgets/molecules/animated_circle_step_loader.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/widgets/molecules/asset_amount_field.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/widgets/molecules/asset_card.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/widgets/molecules/asset_long_name_field.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/widgets/molecules/asset_selection_field.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/widgets/molecules/asset_short_name_field.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/widgets/molecules/checkbox_wrappable_text.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/widgets/molecules/custom_modal.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/widgets/molecules/custom_tooltip.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/widgets/molecules/input_dropdown.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/widgets/molecules/note_field.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/widgets/molecules/onboarding_action_button.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/widgets/molecules/password_text_field.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/widgets/molecules/recipient_field.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/widgets/molecules/shimmer_loader.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/widgets/molecules/sliding_segment_control.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/widgets/molecules/wave_container.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/widgets/organisms/custom_page_dropdown_title.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/widgets/organisms/custom_page_text_title.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/widgets/organisms/custom_page_text_title_with_leading_child.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/widgets/organisms/error_section.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/widgets/organisms/onboarding_progress_bar.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/widgets/organisms/ribn_app_bar.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn-toolkit/lib/widgets/organisms/ribn_bottom_app_barV2.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/DOES_NOT_EXIST_RERUN_FOR_WILDCARD872381815 -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/add.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/add_plus.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/address_copied.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/andriod_face_id_cutout.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/android_biometrics.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/android_biometrics_outline.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/android_face_id.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/another_wallet_button.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/asset_unselected.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/balance_page.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/balance_page_active.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/check_circle.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/circle_info.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/clock_border.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/close_grey.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/coffee-green-icon.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/connect_dapp.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/content_copy.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/content_copy.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/copy_icon.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/copy_icon_alternate.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/copy_selected.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/copy_unselected.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/document.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/download.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/download.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/edit_icon.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/encrypt_file.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/error_face.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/extension.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/file_copy.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/finger_print_assets.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/finger_print_dark.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/finger_print_light.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/getting_started.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/help_icon.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/import.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/import_wallet.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/info.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/invalid_recipient.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/ios_face_id.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/ios_face_id_cutout.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/iphone_biometrics.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/iphone_biometrics_outline.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/issuer_fingerprint.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/key_dark.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/key_light.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/menu.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/menu.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/mint_large.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/mint_new_asset.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/mint_page.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/mint_page_active.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/my_fingerprint.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/my_wallet_button.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/onboarding_background.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/onboarding_background.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/open_in_new.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/paper_pen.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/password_hidden.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/password_lock.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/password_manager.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/password_visible.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/pen_paper.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/plus.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/poly_icon_circle.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/polysIcon.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/program.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/receive.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/recipient_fingerprint.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/red_danger_triangle.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/remint_same_asset.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/remove.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/ribn_logo.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/round_info_circle.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/sad_face.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/seed_phrase_confirmed.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/seedphrase_created.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/seedphrase_generated.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/send.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/sent.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/settings.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/sms_failed.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/success.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/support.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/topl_placeholder.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/topl_placeholder_card.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/touch_id.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/touch_id_cutout.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/tx_history_page.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/tx_history_page_active.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/undefined_icon.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/visibility.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/visibility_off.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/wallet_lock.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/wallet_password.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/wallet_with_border.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/warning.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/warning_icon.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/assets/icons/wink.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/actions/internal_message_actions.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/actions/keychain_actions.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/actions/login_actions.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/actions/misc_actions.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/actions/onboarding_actions.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/actions/restore_wallet_actions.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/actions/transaction_actions.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/actions/user_details_actions.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/constants/assets.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/constants/keys.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/constants/network_utils.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/constants/routes.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/constants/rules.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/constants/strings.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/constants/test_data.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/constants/ui_constants.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/containers/asset_transfer_input_container.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/containers/create_password_container.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/containers/login_container.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/containers/mint_input_container.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/containers/poly_transfer_input_container.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/containers/ribn_app_bar_container.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/containers/seed_phrase_confirmation_container.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/containers/settings_container.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/containers/transaction_history_container.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/containers/wallet_balance_container.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/genus/generated/filters.pb.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/genus/generated/services_types.pb.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/genus/generated/transactions_query.pb.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/genus/generated/transactions_query.pbgrpc.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/genus/generated/types.pb.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/main.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/middlewares/app_middleware.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/middlewares/epic_middleware.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/middlewares/internal_message_middleware.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/middlewares/keychain_middleware.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/middlewares/login_middleware.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/middlewares/misc_middleware.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/middlewares/onboarding_middleware.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/middlewares/restore_wallet_middleware.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/middlewares/transaction_middleware.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/models/app_state.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/models/asset_details.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/models/internal_message.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/models/keychain_state.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/models/login_state.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/models/onboarding_state.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/models/raw_tx.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/models/ribn_address.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/models/ribn_network.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/models/transfer_details.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/models/user_details_state.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/platform/interfaces.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/platform/mobile/genus_config.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/platform/mobile/messenger.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/platform/mobile/platform_mobile.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/platform/mobile/storage.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/platform/mobile/utils.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/platform/mobile/worker_runner.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/platform/platform.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_icon_edit_section.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_long_name_edit_section.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_unit_edit_section.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/asset_details/asset_detail_items/asset_amount_details.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/asset_details/asset_detail_items/asset_code_details.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/asset_details/asset_detail_items/asset_code_short_details.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/asset_details/asset_detail_items/asset_icon_details.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/asset_details/asset_detail_items/asset_long_name_details.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/asset_details/asset_detail_items/asset_unit_details.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/asset_details/asset_detail_items/issuer_address_details.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/asset_details/asset_details_page.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/authorize_and_sign/connect_dapp.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/authorize_and_sign/input_dropdown_wrapper.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/authorize_and_sign/loading_dapp.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/authorize_and_sign/review_and_sign.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/authorize_and_sign/transaction_row_details.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/empty_state_screen.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/enable_page.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/error_section.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/external_signing_page.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/home/home_page.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/home/wallet_balance_page.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/home/wallet_balance_shimmer.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/login/login_page.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/onboarding/create_wallet/create_password_page.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/onboarding/create_wallet/enable_biometrics_page.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/onboarding/create_wallet/getting_started_page.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/onboarding/create_wallet/seed_phrase_confirmation_page.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/onboarding/create_wallet/seed_phrase_display_page.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/onboarding/create_wallet/seed_phrase_generating_page.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/onboarding/create_wallet/seed_phrase_info_checklist_page.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/onboarding/create_wallet/seed_phrase_instructions_page.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/onboarding/create_wallet/select_action_page.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/onboarding/create_wallet/wallet_created_page.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/onboarding/create_wallet/wallet_info_checklist_page.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/onboarding/create_wallet/welcome_page.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/onboarding/extension_info_page.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/onboarding/restore_wallet/create_new_wallet_password_page.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/onboarding/restore_wallet/enter_wallet_password_page.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/onboarding/restore_wallet/restore_wallet_page.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/onboarding/restore_wallet/restore_with_topl_key_page.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/onboarding/utils.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/onboarding/widgets/confirmation_button.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/onboarding/widgets/mobile_onboarding_progress_bar.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/onboarding/widgets/onboarding_container.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/onboarding/widgets/uploaded_file_container.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/onboarding/widgets/warning_section.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/onboarding/widgets/web_onboarding_app_bar.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/settings/sections/biometrics_section.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/settings/sections/delete_wallet_confirmation_dialog.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/settings/sections/delete_wallet_section.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/settings/sections/disconnect_wallet_confirmation_dialog.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/settings/sections/export_topl_main_key_section.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/settings/sections/links_section.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/settings/sections/ribn_version_section.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/settings/settings_page.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/transaction_history/dashed_list_separator/dashed_list_separator.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/transaction_history/service_locator/locator.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/transaction_history/transaction_data_row/transaction_data_row.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/transaction_history/transaction_history_details_page/transaction_history_data_tile.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/transaction_history/transaction_history_details_page/transaction_history_details_page.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/transaction_history/transaction_history_page.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/transfers/asset_transfer_page.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/transfers/asset_transfer_section.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/transfers/bottom_review_action.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/transfers/mint_input_page.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/transfers/poly_transfer_section.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/transfers/transfer_utils.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/transfers/tx_confirmation_page.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/transfers/tx_review_page.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/transfers/widgets/custom_input_field.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/transfers/widgets/from_address_field.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/presentation/transfers/widgets/issuer_address_field.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/reducers/app_reducer.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/reducers/internal_message_reducer.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/reducers/keychain_reducer.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/reducers/login_reducer.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/reducers/onboarding_reducer.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/reducers/user_details_reducer.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/redux.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/repositories/keychain_repository.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/repositories/login_repository.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/repositories/misc_repository.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/repositories/onboarding_repository.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/repositories/transaction_repository.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/router/root_router.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/utils.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/widgets/address_display_container.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/widgets/asset_info.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/widgets/custom_divider.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/widgets/fee_info.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/widgets/ribn_app_bar_wapper.dart -/Users/kalervohyyppa/Documents/programming/topl/ribn/pubspec.yaml -/Users/kalervohyyppa/FlutterDev/flutter/bin/cache/artifacts/material_fonts/MaterialIcons-Regular.otf -/Users/kalervohyyppa/FlutterDev/flutter/bin/cache/pkg/sky_engine/LICENSE -/Users/kalervohyyppa/FlutterDev/flutter/bin/internal/engine.version -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/LICENSE -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/animation.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/cupertino.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/foundation.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/gestures.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/material.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/painting.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/physics.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/rendering.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/scheduler.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/semantics.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/services.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/animation/animation.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/animation/animation_controller.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/animation/animations.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/animation/curves.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/animation/listener_helpers.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/animation/tween.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/animation/tween_sequence.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/cupertino/activity_indicator.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/cupertino/app.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/cupertino/bottom_tab_bar.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/cupertino/button.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/cupertino/colors.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/cupertino/constants.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/cupertino/context_menu.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/cupertino/context_menu_action.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/cupertino/date_picker.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/cupertino/debug.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/cupertino/desktop_text_selection.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/cupertino/dialog.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/cupertino/form_row.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/cupertino/form_section.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/cupertino/icon_theme_data.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/cupertino/icons.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/cupertino/interface_level.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/cupertino/localizations.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/cupertino/nav_bar.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/cupertino/page_scaffold.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/cupertino/picker.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/cupertino/refresh.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/cupertino/route.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/cupertino/scrollbar.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/cupertino/search_field.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/cupertino/segmented_control.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/cupertino/slider.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/cupertino/sliding_segmented_control.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/cupertino/switch.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/cupertino/tab_scaffold.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/cupertino/tab_view.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/cupertino/text_field.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/cupertino/text_form_field_row.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/cupertino/text_selection.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/cupertino/text_selection_toolbar.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/cupertino/text_selection_toolbar_button.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/cupertino/text_theme.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/cupertino/theme.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/cupertino/thumb_painter.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/dart_plugin_registrant.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/foundation/_bitfield_io.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/foundation/_isolates_io.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/foundation/_platform_io.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/foundation/annotations.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/foundation/assertions.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/foundation/basic_types.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/foundation/binding.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/foundation/bitfield.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/foundation/change_notifier.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/foundation/collections.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/foundation/consolidate_response.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/foundation/constants.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/foundation/debug.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/foundation/diagnostics.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/foundation/isolates.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/foundation/key.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/foundation/licenses.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/foundation/math.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/foundation/node.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/foundation/object.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/foundation/observer_list.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/foundation/platform.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/foundation/print.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/foundation/serialization.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/foundation/stack_frame.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/foundation/synchronous_future.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/foundation/unicode.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/gestures/arena.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/gestures/binding.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/gestures/constants.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/gestures/converter.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/gestures/debug.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/gestures/drag.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/gestures/drag_details.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/gestures/eager.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/gestures/events.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/gestures/force_press.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/gestures/gesture_settings.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/gestures/hit_test.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/gestures/long_press.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/gestures/lsq_solver.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/gestures/monodrag.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/gestures/multidrag.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/gestures/multitap.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/gestures/pointer_router.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/gestures/pointer_signal_resolver.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/gestures/recognizer.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/gestures/resampler.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/gestures/scale.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/gestures/tap.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/gestures/team.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/gestures/velocity_tracker.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/about.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/animated_icons.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/animated_icons/animated_icons.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/animated_icons/animated_icons_data.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/animated_icons/data/add_event.g.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/animated_icons/data/arrow_menu.g.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/animated_icons/data/close_menu.g.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/animated_icons/data/ellipsis_search.g.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/animated_icons/data/event_add.g.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/animated_icons/data/home_menu.g.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/animated_icons/data/list_view.g.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/animated_icons/data/menu_arrow.g.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/animated_icons/data/menu_close.g.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/animated_icons/data/menu_home.g.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/animated_icons/data/pause_play.g.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/animated_icons/data/play_pause.g.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/animated_icons/data/search_ellipsis.g.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/animated_icons/data/view_list.g.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/app.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/app_bar.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/app_bar_theme.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/arc.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/autocomplete.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/back_button.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/banner.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/banner_theme.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/bottom_app_bar.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/bottom_app_bar_theme.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/bottom_navigation_bar.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/bottom_navigation_bar_theme.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/bottom_sheet.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/bottom_sheet_theme.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/button.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/button_bar.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/button_bar_theme.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/button_style.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/button_style_button.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/button_theme.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/calendar_date_picker.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/card.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/card_theme.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/checkbox.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/checkbox_list_tile.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/checkbox_theme.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/chip.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/chip_action.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/chip_choice.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/chip_filter.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/chip_input.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/chip_theme.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/circle_avatar.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/color_scheme.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/colors.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/constants.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/curves.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/data_table.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/data_table_source.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/data_table_theme.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/date.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/date_picker.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/debug.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/desktop_text_selection.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/dialog.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/dialog_theme.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/divider.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/divider_theme.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/drawer.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/drawer_header.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/drawer_theme.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/dropdown.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/elevated_button.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/elevated_button_theme.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/elevation_overlay.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/expand_icon.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/expansion_panel.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/expansion_tile.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/expansion_tile_theme.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/feedback.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/flexible_space_bar.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/floating_action_button.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/floating_action_button_location.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/floating_action_button_theme.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/flutter_logo.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/grid_tile.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/grid_tile_bar.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/icon_button.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/icons.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/ink_decoration.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/ink_highlight.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/ink_ripple.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/ink_sparkle.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/ink_splash.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/ink_well.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/input_border.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/input_date_picker_form_field.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/input_decorator.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/list_tile.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/list_tile_theme.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/material.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/material_button.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/material_localizations.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/material_state.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/material_state_mixin.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/mergeable_material.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/navigation_bar.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/navigation_bar_theme.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/navigation_rail.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/navigation_rail_theme.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/no_splash.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/outlined_button.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/outlined_button_theme.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/page.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/page_transitions_theme.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/paginated_data_table.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/popup_menu.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/popup_menu_theme.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/progress_indicator.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/progress_indicator_theme.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/radio.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/radio_list_tile.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/radio_theme.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/range_slider.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/refresh_indicator.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/reorderable_list.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/scaffold.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/scrollbar.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/scrollbar_theme.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/search.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/selectable_text.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/selection_area.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/shaders/ink_sparkle.frag -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/shadows.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/slider.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/slider_theme.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/snack_bar.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/snack_bar_theme.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/stepper.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/switch.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/switch_list_tile.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/switch_theme.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/tab_bar_theme.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/tab_controller.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/tab_indicator.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/tabs.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/text_button.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/text_button_theme.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/text_field.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/text_form_field.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/text_selection.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/text_selection_theme.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/text_selection_toolbar.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/text_selection_toolbar_text_button.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/text_theme.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/theme.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/theme_data.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/time.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/time_picker.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/time_picker_theme.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/toggle_buttons.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/toggle_buttons_theme.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/toggleable.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/tooltip.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/tooltip_theme.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/tooltip_visibility.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/typography.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/material/user_accounts_drawer_header.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/painting/_network_image_io.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/painting/alignment.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/painting/basic_types.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/painting/beveled_rectangle_border.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/painting/binding.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/painting/border_radius.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/painting/borders.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/painting/box_border.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/painting/box_decoration.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/painting/box_fit.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/painting/box_shadow.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/painting/circle_border.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/painting/clip.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/painting/colors.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/painting/continuous_rectangle_border.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/painting/debug.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/painting/decoration.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/painting/decoration_image.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/painting/edge_insets.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/painting/flutter_logo.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/painting/fractional_offset.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/painting/geometry.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/painting/gradient.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/painting/image_cache.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/painting/image_decoder.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/painting/image_provider.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/painting/image_resolution.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/painting/image_stream.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/painting/inline_span.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/painting/matrix_utils.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/painting/notched_shapes.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/painting/paint_utilities.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/painting/placeholder_span.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/painting/rounded_rectangle_border.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/painting/shader_warm_up.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/painting/shape_decoration.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/painting/stadium_border.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/painting/strut_style.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/painting/text_painter.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/painting/text_span.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/painting/text_style.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/physics/clamped_simulation.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/physics/friction_simulation.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/physics/gravity_simulation.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/physics/simulation.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/physics/spring_simulation.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/physics/tolerance.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/physics/utils.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/rendering/animated_size.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/rendering/binding.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/rendering/box.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/rendering/custom_layout.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/rendering/custom_paint.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/rendering/debug.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/rendering/debug_overflow_indicator.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/rendering/editable.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/rendering/error.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/rendering/flex.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/rendering/flow.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/rendering/image.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/rendering/layer.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/rendering/layout_helper.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/rendering/list_body.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/rendering/list_wheel_viewport.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/rendering/mouse_tracker.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/rendering/object.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/rendering/paragraph.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/rendering/performance_overlay.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/rendering/platform_view.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/rendering/proxy_box.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/rendering/proxy_sliver.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/rendering/rotated_box.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/rendering/selection.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/rendering/shifted_box.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/rendering/sliver.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/rendering/sliver_fill.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/rendering/sliver_fixed_extent_list.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/rendering/sliver_grid.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/rendering/sliver_list.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/rendering/sliver_multi_box_adaptor.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/rendering/sliver_padding.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/rendering/sliver_persistent_header.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/rendering/stack.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/rendering/table.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/rendering/table_border.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/rendering/texture.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/rendering/tweens.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/rendering/view.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/rendering/viewport.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/rendering/viewport_offset.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/rendering/wrap.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/scheduler/binding.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/scheduler/debug.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/scheduler/priority.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/scheduler/ticker.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/semantics/binding.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/semantics/debug.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/semantics/semantics.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/semantics/semantics_event.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/semantics/semantics_service.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/services/asset_bundle.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/services/autofill.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/services/binary_messenger.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/services/binding.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/services/clipboard.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/services/debug.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/services/deferred_component.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/services/font_loader.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/services/haptic_feedback.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/services/hardware_keyboard.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/services/keyboard_key.g.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/services/keyboard_maps.g.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/services/message_codec.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/services/message_codecs.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/services/mouse_cursor.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/services/mouse_tracking.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/services/platform_channel.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/services/platform_views.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/services/raw_keyboard.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/services/raw_keyboard_android.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/services/raw_keyboard_fuchsia.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/services/raw_keyboard_ios.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/services/raw_keyboard_linux.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/services/raw_keyboard_macos.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/services/raw_keyboard_web.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/services/raw_keyboard_windows.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/services/restoration.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/services/system_channels.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/services/system_chrome.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/services/system_navigator.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/services/system_sound.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/services/text_editing.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/services/text_editing_delta.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/services/text_formatter.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/services/text_input.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/services/text_layout_metrics.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/actions.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/animated_cross_fade.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/animated_list.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/animated_size.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/animated_switcher.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/annotated_region.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/app.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/async.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/autocomplete.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/autofill.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/automatic_keep_alive.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/banner.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/basic.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/binding.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/bottom_navigation_bar_item.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/color_filter.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/constants.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/container.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/debug.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/default_selection_style.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/default_text_editing_shortcuts.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/desktop_text_selection_toolbar_layout_delegate.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/dismissible.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/display_feature_sub_screen.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/disposable_build_context.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/drag_target.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/draggable_scrollable_sheet.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/dual_transition_builder.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/editable_text.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/fade_in_image.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/focus_manager.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/focus_scope.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/focus_traversal.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/form.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/framework.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/gesture_detector.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/grid_paper.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/heroes.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/icon.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/icon_data.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/icon_theme.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/icon_theme_data.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/image.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/image_filter.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/image_icon.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/implicit_animations.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/inherited_model.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/inherited_notifier.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/inherited_theme.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/interactive_viewer.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/keyboard_listener.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/layout_builder.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/list_wheel_scroll_view.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/localizations.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/media_query.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/modal_barrier.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/navigation_toolbar.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/navigator.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/nested_scroll_view.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/notification_listener.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/orientation_builder.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/overflow_bar.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/overlay.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/overscroll_indicator.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/page_storage.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/page_view.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/pages.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/performance_overlay.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/placeholder.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/platform_menu_bar.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/platform_view.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/preferred_size.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/primary_scroll_controller.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/raw_keyboard_listener.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/reorderable_list.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/restoration.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/restoration_properties.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/router.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/routes.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/safe_area.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/scroll_activity.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/scroll_aware_image_provider.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/scroll_configuration.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/scroll_context.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/scroll_controller.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/scroll_metrics.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/scroll_notification.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/scroll_notification_observer.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/scroll_physics.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/scroll_position.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/scroll_position_with_single_context.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/scroll_simulation.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/scroll_view.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/scrollable.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/scrollbar.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/selectable_region.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/selection_container.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/semantics_debugger.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/shared_app_data.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/shortcuts.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/single_child_scroll_view.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/size_changed_layout_notifier.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/sliver.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/sliver_fill.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/sliver_layout_builder.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/sliver_persistent_header.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/sliver_prototype_extent_list.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/slotted_render_object_widget.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/spacer.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/status_transitions.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/table.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/text.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/text_editing_intents.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/text_selection.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/text_selection_toolbar_layout_delegate.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/texture.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/ticker_provider.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/title.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/transitions.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/tween_animation_builder.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/unique_widget.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/value_listenable_builder.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/viewport.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/visibility.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/widget_inspector.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/widget_span.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/src/widgets/will_pop_scope.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter/lib/widgets.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter_tools/lib/src/build_system/targets/common.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter_tools/lib/src/build_system/targets/icon_tree_shaker.dart -/Users/kalervohyyppa/FlutterDev/flutter/packages/flutter_tools/lib/src/build_system/targets/macos.dart diff --git a/macos/Flutter/ephemeral/FlutterMacOS.podspec b/macos/Flutter/ephemeral/FlutterMacOS.podspec deleted file mode 100644 index 0bac3e84..00000000 --- a/macos/Flutter/ephemeral/FlutterMacOS.podspec +++ /dev/null @@ -1,18 +0,0 @@ -# -# NOTE: This podspec is NOT to be published. It is only used as a local source! -# This is a generated file; do not edit or check into version control. -# - -Pod::Spec.new do |s| - s.name = 'FlutterMacOS' - s.version = '1.0.0' - s.summary = 'A UI toolkit for beautiful and fast apps.' - s.homepage = 'https://flutter.dev' - s.license = { :type => 'BSD' } - s.author = { 'Flutter Dev Team' => 'flutter-dev@googlegroups.com' } - s.source = { :git => 'https://github.com/flutter/engine', :tag => s.version.to_s } - s.osx.deployment_target = '10.11' - # Framework linking is handled by Flutter tooling, not CocoaPods. - # Add a placeholder to satisfy `s.dependency 'FlutterMacOS'` plugin podspecs. - s.vendored_frameworks = 'path/to/nothing' -end diff --git a/macos/Flutter/ephemeral/FlutterOutputs.xcfilelist b/macos/Flutter/ephemeral/FlutterOutputs.xcfilelist deleted file mode 100644 index 8218e83d..00000000 --- a/macos/Flutter/ephemeral/FlutterOutputs.xcfilelist +++ /dev/null @@ -1,212 +0,0 @@ -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/App -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/Info.plist -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/AssetManifest.json -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/FontManifest.json -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/NOTICES.Z -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/add.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/add_plus.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/address_copied.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/andriod_face_id_cutout.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/android_biometrics.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/android_biometrics_outline.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/android_face_id.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/another_wallet_button.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/asset_unselected.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/balance_page.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/balance_page_active.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/check_circle.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/circle_info.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/clock_border.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/close_grey.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/coffee-green-icon.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/connect_dapp.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/content_copy.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/content_copy.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/copy_icon.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/copy_icon_alternate.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/copy_selected.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/copy_unselected.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/document.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/download.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/download.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/edit_icon.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/encrypt_file.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/error_face.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/extension.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/file_copy.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/finger_print_assets.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/finger_print_dark.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/finger_print_light.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/getting_started.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/help_icon.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/import.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/import_wallet.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/info.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/invalid_recipient.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/ios_face_id.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/ios_face_id_cutout.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/iphone_biometrics.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/iphone_biometrics_outline.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/issuer_fingerprint.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/key_dark.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/key_light.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/menu.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/menu.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/mint_large.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/mint_new_asset.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/mint_page.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/mint_page_active.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/my_fingerprint.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/my_wallet_button.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/onboarding_background.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/onboarding_background.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/open_in_new.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/paper_pen.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/password_hidden.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/password_lock.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/password_manager.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/password_visible.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/pen_paper.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/plus.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/poly_icon_circle.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/polysIcon.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/program.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/receive.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/recipient_fingerprint.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/red_danger_triangle.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/remint_same_asset.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/remove.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/ribn_logo.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/round_info_circle.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/sad_face.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/seed_phrase_confirmed.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/seedphrase_created.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/seedphrase_generated.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/send.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/sent.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/settings.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/sms_failed.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/success.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/support.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/topl_placeholder.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/topl_placeholder_card.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/touch_id.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/touch_id_cutout.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/tx_history_page.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/tx_history_page_active.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/undefined_icon.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/visibility.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/visibility_off.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/wallet_lock.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/wallet_password.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/wallet_with_border.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/warning.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/warning_icon.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/icons/wink.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/fonts/MaterialIcons-Regular.otf -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/isolate_snapshot_data -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/kernel_blob.bin -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/asset_icons/coff_blue_icon.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/asset_icons/coff_brown_icon.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/asset_icons/coff_green_icon.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/asset_icons/coff_purple_icon.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/asset_icons/coff_yellow_icon.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/asset_icons/dia_blue_icon.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/asset_icons/dia_green_icon.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/asset_icons/dia_purple_icon.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/asset_icons/dia_yellow_icon.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/fonts/DMSans-Bold.ttf -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/fonts/DMSans-Medium.ttf -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/fonts/DMSans-Regular.ttf -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/add.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/address_copied.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/another_wallet_button.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/asset_unselected.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/balance_page.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/balance_page_active.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/check_circle.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/chevron_down.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/chevron_down_dark.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/circle_plus.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/clock_blue.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/clock_grey.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/close_grey.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/coffee-green-icon.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/content_copy.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/copy_icon.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/copy_selected.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/copy_unselected.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/create_wallet.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/create_wallet_shadow.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/download.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/edit_icon.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/encrypt_file.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/error.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/error_face.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/extension.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/file_copy.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/finger_print_dark.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/finger_print_light.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/gray_help_bubble.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/hamburger_menu.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/help_icon.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/import.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/import_wallet.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/import_wallet.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/info.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/invalid_recipient.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/issuer_fingerprint.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/key_dark.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/key_light.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/menu.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/menu.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/mint_large.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/mint_new_asset.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/mint_page.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/mint_page_active.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/my_fingerprint.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/my_wallet_button.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/new_ribn_logo.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/open_in_new.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/paper_pen.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/password_hidden.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/password_manager.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/password_visible.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/plus.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/plus_blue.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/plus_grey.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/polysIcon.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/receive.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/recipient_fingerprint.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/remint_same_asset.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/remove.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/restore_wallet.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/ribn_circle_logo.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/round_info_circle.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/seed_phrase_confirmed.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/seedphrase_created.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/seedphrase_generated.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/send.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/sent.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/settings.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/sms_failed.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/support.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/topl_placeholder.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/topl_placeholder_card.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/tx_history_page.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/tx_history_page_active.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/undefined_icon.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/visibility.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/visibility_off.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/wallet_blue.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/wallet_grey.png -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/wallet_password.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/warning.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/assets/icons/wink.svg -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/fonts/DMSans-Bold.ttf -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/fonts/DMSans-Medium.ttf -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/packages/ribn_toolkit/fonts/DMSans-Regular.ttf -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/shaders/ink_sparkle.frag -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/vm_snapshot_data -/Users/kalervohyyppa/Documents/programming/topl/ribn/build/macos/Build/Products/Debug/FlutterMacOS.framework/Versions/A/FlutterMacOS diff --git a/macos/Flutter/ephemeral/flutter_export_environment.sh b/macos/Flutter/ephemeral/flutter_export_environment.sh deleted file mode 100755 index 625f6ae2..00000000 --- a/macos/Flutter/ephemeral/flutter_export_environment.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# This is a generated file; do not edit or check into version control. -export "FLUTTER_ROOT=/Users/kalervohyyppa/FlutterDev/flutter" -export "FLUTTER_APPLICATION_PATH=/Users/kalervohyyppa/Documents/programming/topl/ribn" -export "COCOAPODS_PARALLEL_CODE_SIGN=true" -export "FLUTTER_BUILD_DIR=build" -export "FLUTTER_BUILD_NAME=0.3.2" -export "FLUTTER_BUILD_NUMBER=0.3.2" -export "DART_OBFUSCATION=false" -export "TRACK_WIDGET_CREATION=true" -export "TREE_SHAKE_ICONS=false" -export "PACKAGE_CONFIG=.dart_tool/package_config.json" diff --git a/macos/Flutter/ephemeral/tripwire b/macos/Flutter/ephemeral/tripwire deleted file mode 100644 index e69de29b..00000000 From 2b80f868cd957def68256e2225bb4e998a4a2c93 Mon Sep 17 00:00:00 2001 From: Siphamandla brian Mjoli Date: Thu, 5 Jan 2023 20:59:24 +0200 Subject: [PATCH 13/58] update(transaction_history): fixed overflow --- ios/Podfile.lock | 8 +- lib/main.dart | 2 +- .../transaction_data_row.dart | 24 +-- lib/router/root_router.dart | 146 +++++++++++++----- pubspec.lock | 6 +- 5 files changed, 127 insertions(+), 59 deletions(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 54f54225..184e3ecb 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -46,9 +46,9 @@ PODS: - Flutter - path_provider_ios (0.0.1): - Flutter - - SDWebImage (5.13.4): - - SDWebImage/Core (= 5.13.4) - - SDWebImage/Core (5.13.4) + - SDWebImage (5.14.2): + - SDWebImage/Core (= 5.14.2) + - SDWebImage/Core (5.14.2) - SwiftyGif (5.4.3) - url_launcher_ios (0.0.1): - Flutter @@ -102,7 +102,7 @@ SPEC CHECKSUMS: flutter_secure_storage: 7953c38a04c3fdbb00571bcd87d8e3b5ceb9daec local_auth_ios: 0d333dde7780f669e66f19d2ff6005f3ea84008d path_provider_ios: 14f3d2fd28c4fdb42f44e0f751d12861c43cee02 - SDWebImage: e5cc87bf736e60f49592f307bdf9e157189298a3 + SDWebImage: b9a731e1d6307f44ca703b3976d18c24ca561e84 SwiftyGif: 6c3eafd0ce693cad58bb63d2b2fb9bacb8552780 url_launcher_ios: 839c58cdb4279282219f5e248c3321761ff3c4de diff --git a/lib/main.dart b/lib/main.dart index bf756c3d..fb99e6e6 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -33,7 +33,7 @@ import 'package:ribn/router/root_router.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); - await Redux.initStore(initTestStore: false); + await Redux.initStore(initTestStore: true); final AppViews currentAppView = await PlatformUtils.instance.getCurrentAppView(); final bool needsOnboarding = Redux.store!.state.needsOnboarding(); diff --git a/lib/presentation/transaction_history/transaction_data_row/transaction_data_row.dart b/lib/presentation/transaction_history/transaction_data_row/transaction_data_row.dart index a6b18f69..a2696682 100644 --- a/lib/presentation/transaction_history/transaction_data_row/transaction_data_row.dart +++ b/lib/presentation/transaction_history/transaction_data_row/transaction_data_row.dart @@ -20,6 +20,7 @@ import 'package:ribn/models/app_state.dart'; import 'package:ribn/models/asset_details.dart'; import 'package:ribn/utils.dart'; +import '../../../constants/routes.dart'; import '../transaction_history_details_page/transaction_history_details_page.dart'; class TransactionDataRow extends StatefulWidget { @@ -153,7 +154,7 @@ class _TransactionDataRowState extends State { .shortName .show .replaceAll('\x00', '') - : 'Unknown', + : '', transactionStatus: transactionStatus, transactionDate: '${renderSentReceivedMintedText()} on $formattedDate', @@ -162,7 +163,10 @@ class _TransactionDataRowState extends State { 'isPolyTransaction': isPolyTransaction, 'transactionType': renderSentReceivedMintedText(), 'timestamp': formattedDateAlternate, - 'assetDetails': isPolyTransaction ? {} : assetDetails, + 'assetDetails': isPolyTransaction + ? {} + : assetDetails ?? + {"unit": transactionAmountForAssetTransfer()}, 'icon': isPolyTransaction ? renderPolyIcon() : renderAssetIcon(assetDetails?.icon), @@ -174,7 +178,7 @@ class _TransactionDataRowState extends State { .shortName .show .replaceAll('\x00', '') - : 'Unknown', + : '', 'transactionStatus': transactionStatus, 'transactionAmount': isPolyTransaction ? transactionAmountForPolyTransfer @@ -187,7 +191,9 @@ class _TransactionDataRowState extends State { transactionSenderAddress.senderAddress.toBase58(), charsToDisplay: 4), 'note': note, - 'securityRoot': isPolyTransaction ? '' : securityRoot, + 'securityRoot': isPolyTransaction + ? '' + : formatAddressString(securityRoot, charsToDisplay: 4), 'blockId': formatAddressString(blockId.toString(), charsToDisplay: 4), 'blockHeight': blockNumber?.blockNum, @@ -195,14 +201,8 @@ class _TransactionDataRowState extends State { charsToDisplay: 4), 'networkId': widget.networkId, }; - Navigator.push( - context, - MaterialPageRoute( - builder: (_) => TxHistoryDetailsPage( - ribnActivityDetailsModel: - RibnActivityDetailsModel.fromJson( - jsonEncode(details)), - ))); + Navigator.pushNamed(context, Routes.txHistoryDetails, + arguments: details); }, ); }, diff --git a/lib/router/root_router.dart b/lib/router/root_router.dart index 603de703..084d537c 100644 --- a/lib/router/root_router.dart +++ b/lib/router/root_router.dart @@ -1,3 +1,5 @@ +import 'dart:convert'; + import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:ribn/constants/routes.dart'; @@ -30,33 +32,40 @@ import 'package:ribn/presentation/onboarding/restore_wallet/enter_wallet_passwor import 'package:ribn/presentation/onboarding/restore_wallet/restore_wallet_page.dart'; import 'package:ribn/presentation/onboarding/restore_wallet/restore_with_topl_key_page.dart'; import 'package:ribn/presentation/settings/settings_page.dart'; +import 'package:ribn/presentation/transaction_history/transaction_history_details_page/transaction_history_details_page.dart'; import 'package:ribn/presentation/transaction_history/transaction_history_page.dart'; import 'package:ribn/presentation/transfers/asset_transfer_page.dart'; import 'package:ribn/presentation/transfers/mint_input_page.dart'; import 'package:ribn/presentation/transfers/tx_confirmation_page.dart'; import 'package:ribn/presentation/transfers/tx_review_page.dart'; +import 'package:ribn_toolkit/models/transactions/ribn_activity_details_model.dart'; class RootRouter { Route generateRoutes(RouteSettings settings) { switch (settings.name) { case Routes.welcome: { - if (kIsWeb) return pageRouteNotAnimated(const WelcomePage(), settings); + if (kIsWeb) + return pageRouteNotAnimated(const WelcomePage(), settings); return pageRoute(const WelcomePage(), settings); } case Routes.selectAction: { - if (kIsWeb) return pageRouteNotAnimated(const SelectActionPage(), settings); + if (kIsWeb) + return pageRouteNotAnimated(const SelectActionPage(), settings); return pageRoute(const SelectActionPage(), settings); } case Routes.gettingStarted: { - if (kIsWeb) return pageRouteNotAnimated(const GettingStartedPage(), settings); + if (kIsWeb) + return pageRouteNotAnimated(const GettingStartedPage(), settings); return pageRoute(const GettingStartedPage(), settings); } case Routes.seedPhraseInfoChecklist: { - if (kIsWeb) return pageRouteNotAnimated(const SeedPhraseInfoChecklistPage(), settings); + if (kIsWeb) + return pageRouteNotAnimated( + const SeedPhraseInfoChecklistPage(), settings); return pageRoute( const SeedPhraseInfoChecklistPage(), settings, @@ -64,37 +73,49 @@ class RootRouter { } case Routes.seedPhraseInstructions: { - if (kIsWeb) return pageRouteNotAnimated(const SeedPhraseInstructionsPage(), settings); + if (kIsWeb) + return pageRouteNotAnimated( + const SeedPhraseInstructionsPage(), settings); return pageRoute(const SeedPhraseInstructionsPage(), settings); } case Routes.generateSeedPhrase: { - if (kIsWeb) return pageRouteNotAnimated(const SeedPhraseGeneratingPage(), settings); + if (kIsWeb) + return pageRouteNotAnimated( + const SeedPhraseGeneratingPage(), settings); return pageRoute(const SeedPhraseGeneratingPage(), settings); } case Routes.displaySeedphrase: { - if (kIsWeb) return pageRouteNotAnimated(const SeedPhraseDisplayPage(), settings); + if (kIsWeb) + return pageRouteNotAnimated( + const SeedPhraseDisplayPage(), settings); return pageRoute(const SeedPhraseDisplayPage(), settings); } case Routes.seedPhraseConfirm: { - if (kIsWeb) return pageRouteNotAnimated(const SeedPhraseConfirmationPage(), settings); + if (kIsWeb) + return pageRouteNotAnimated( + const SeedPhraseConfirmationPage(), settings); return pageRoute(const SeedPhraseConfirmationPage(), settings); } case Routes.walletInfoChecklist: { - if (kIsWeb) return pageRouteNotAnimated(const WalletInfoChecklistPage(), settings); + if (kIsWeb) + return pageRouteNotAnimated( + const WalletInfoChecklistPage(), settings); return pageRoute(const WalletInfoChecklistPage(), settings); } case Routes.createPassword: { - if (kIsWeb) return pageRouteNotAnimated(const CreatePasswordPage(), settings); + if (kIsWeb) + return pageRouteNotAnimated(const CreatePasswordPage(), settings); return pageRoute(const CreatePasswordPage(), settings); } case Routes.extensionInfo: { - if (kIsWeb) return pageRouteNotAnimated(const ExtensionInfoPage(), settings); + if (kIsWeb) + return pageRouteNotAnimated(const ExtensionInfoPage(), settings); return pageRoute(const ExtensionInfoPage(), settings); } case Routes.login: @@ -104,7 +125,8 @@ class RootRouter { } case Routes.walletCreated: { - if (kIsWeb) return pageRouteNotAnimated(const WalletCreatedPage(), settings); + if (kIsWeb) + return pageRouteNotAnimated(const WalletCreatedPage(), settings); return pageRoute(const WalletCreatedPage(), settings); } case Routes.home: @@ -114,17 +136,21 @@ class RootRouter { } case Routes.assetsTransferInput: { - if (kIsWeb) return pageRouteNotAnimated(const AssetTransferPage(), settings); + if (kIsWeb) + return pageRouteNotAnimated(const AssetTransferPage(), settings); return pageRouteNotAnimated(const AssetTransferPage(), settings); } case Routes.restoreWallet: { - if (kIsWeb) return pageRouteNotAnimated(const RestoreWalletPage(), settings); + if (kIsWeb) + return pageRouteNotAnimated(const RestoreWalletPage(), settings); return pageRoute(const RestoreWalletPage(), settings); } case Routes.restoreWithToplKey: { - if (kIsWeb) return pageRouteNotAnimated(const RestoreWithToplKeyPage(), settings); + if (kIsWeb) + return pageRouteNotAnimated( + const RestoreWithToplKeyPage(), settings); return pageRoute(const RestoreWithToplKeyPage(), settings); } case Routes.restoreWalletNewPassword: @@ -147,13 +173,17 @@ class RootRouter { } case Routes.onboardingEnableBiometrics: { - if (kIsWeb) return pageRouteNotAnimated(const EnableBiometrics(), settings); + if (kIsWeb) + return pageRouteNotAnimated(const EnableBiometrics(), settings); return pageRoute(const EnableBiometrics(), settings); } case Routes.enterWalletPassword: { final String keyStoreJson = settings.arguments as String; - if (kIsWeb) return pageRouteNotAnimated(EnterWalletPasswordPage(toplKeyStoreJson: keyStoreJson), settings); + if (kIsWeb) + return pageRouteNotAnimated( + EnterWalletPasswordPage(toplKeyStoreJson: keyStoreJson), + settings); return pageRoute( EnterWalletPasswordPage(toplKeyStoreJson: keyStoreJson), settings, @@ -161,30 +191,53 @@ class RootRouter { } case Routes.txReview: { - final TransferDetails transferDetails = settings.arguments as TransferDetails; + final TransferDetails transferDetails = + settings.arguments as TransferDetails; - if (kIsWeb) return pageRouteNotAnimated(TxReviewPage(transferDetails: transferDetails), settings); - return pageRoute(TxReviewPage(transferDetails: transferDetails), settings); + if (kIsWeb) + return pageRouteNotAnimated( + TxReviewPage(transferDetails: transferDetails), settings); + return pageRoute( + TxReviewPage(transferDetails: transferDetails), settings); } case Routes.txConfirmation: { - final TransferDetails transferDetails = settings.arguments as TransferDetails; - if (kIsWeb) return pageRouteNotAnimated(TxConfirmationPage(transferDetails: transferDetails), settings); - return pageRoute(TxConfirmationPage(transferDetails: transferDetails), settings); + final TransferDetails transferDetails = + settings.arguments as TransferDetails; + if (kIsWeb) + return pageRouteNotAnimated( + TxConfirmationPage(transferDetails: transferDetails), settings); + return pageRoute( + TxConfirmationPage(transferDetails: transferDetails), settings); } case Routes.mintInput: { - if (kIsWeb) return pageRouteNotAnimated(const MintInputPage(), settings); + if (kIsWeb) + return pageRouteNotAnimated(const MintInputPage(), settings); return pageRoute( const MintInputPage(), settings, ); } + case Routes.txHistoryDetails: + final Map? transactionDetailsMap = settings.arguments as Map; + final RibnActivityDetailsModel transactionDetails = + RibnActivityDetailsModel.fromJson( + jsonEncode(transactionDetailsMap)); + { + return pageRoute( + TxHistoryDetailsPage(ribnActivityDetailsModel: transactionDetails), + settings, + ); + } case Routes.assetDetails: { - final Map assetDetailsPageArgs = settings.arguments as Map; + final Map assetDetailsPageArgs = + settings.arguments as Map; if (kIsWeb) { - return pageRouteNotAnimated(AssetDetailsPage(asset: assetDetailsPageArgs['assetAmount']!), settings); + return pageRouteNotAnimated( + AssetDetailsPage(asset: assetDetailsPageArgs['assetAmount']!), + settings); } return pageRoute( AssetDetailsPage(asset: assetDetailsPageArgs['assetAmount']!), @@ -198,49 +251,63 @@ class RootRouter { case Routes.settings: { - if (kIsWeb) return pageRouteNotAnimated(const SettingsPage(), settings); + if (kIsWeb) + return pageRouteNotAnimated(const SettingsPage(), settings); return pageRoute(const SettingsPage(), settings); } case Routes.enable: { - final InternalMessage pendingRequest = settings.arguments as InternalMessage; - if (kIsWeb) return pageRouteNotAnimated(EnablePage(pendingRequest), settings); + final InternalMessage pendingRequest = + settings.arguments as InternalMessage; + if (kIsWeb) + return pageRouteNotAnimated(EnablePage(pendingRequest), settings); return pageRoute(EnablePage(pendingRequest), settings); } case Routes.externalSigning: { - final InternalMessage pendingRequest = settings.arguments as InternalMessage; - if (kIsWeb) return pageRouteNotAnimated(ExternalSigningPage(pendingRequest), settings); + final InternalMessage pendingRequest = + settings.arguments as InternalMessage; + if (kIsWeb) + return pageRouteNotAnimated( + ExternalSigningPage(pendingRequest), settings); return pageRoute(ExternalSigningPage(pendingRequest), settings); } case Routes.error: { - final String errorMessage = (settings.arguments ?? 'Unknown error occurred') as String; + final String errorMessage = + (settings.arguments ?? 'Unknown error occurred') as String; return errorRoute(errorMsg: errorMessage); } case Routes.connectDApp: { - final InternalMessage pendingRequest = settings.arguments as InternalMessage; + final InternalMessage pendingRequest = + settings.arguments as InternalMessage; return pageRouteNotAnimated(ConnectDApp(pendingRequest), settings); } case Routes.reviewAndSignDApp: { - final InternalMessage pendingRequest = settings.arguments as InternalMessage; - if (kIsWeb) return pageRouteNotAnimated(ReviewAndSignDApp(pendingRequest), settings); + final InternalMessage pendingRequest = + settings.arguments as InternalMessage; + if (kIsWeb) + return pageRouteNotAnimated( + ReviewAndSignDApp(pendingRequest), settings); return pageRoute(ReviewAndSignDApp(pendingRequest), settings); } case Routes.loadingDApp: { - final InternalMessage response = settings.arguments as InternalMessage; - return pageRouteNotAnimated(LoadingDApp(response: response), settings); + final InternalMessage response = + settings.arguments as InternalMessage; + return pageRouteNotAnimated( + LoadingDApp(response: response), settings); } default: return errorRoute(); } } - Route errorRoute({String errorMsg = 'Unknown error occurred'}) { + Route errorRoute( + {String errorMsg = 'Unknown error occurred'}) { return MaterialPageRoute( builder: (context) { return Center( @@ -262,7 +329,8 @@ class RootRouter { } /// Builds a page route without an animation. - Route pageRouteNotAnimated(Widget page, RouteSettings settings) { + Route pageRouteNotAnimated( + Widget page, RouteSettings settings) { return PageRouteBuilder( settings: settings, pageBuilder: (context, animation, secondaryAnimation) => page, diff --git a/pubspec.lock b/pubspec.lock index f07934c1..c0572da0 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -177,7 +177,7 @@ packages: name: checked_yaml url: "https://pub.dartlang.org" source: hosted - version: "2.0.1" + version: "2.0.2" cli_pkg: dependency: transitive description: @@ -205,7 +205,7 @@ packages: name: code_builder url: "https://pub.dartlang.org" source: hosted - version: "4.3.0" + version: "4.4.0" collection: dependency: transitive description: @@ -940,7 +940,7 @@ packages: description: path: "." ref: RIBN-566 - resolved-ref: d7a965dd5401992ca3688993195bfa30306362de + resolved-ref: d68933263547ce494cb5c448ecc03bf37f1fddcc url: "https://github.com/Topl/ribn-toolkit" source: git version: "1.0.0+1" From ca0de84d4e9074c2d22b704268aacd9c937547bf Mon Sep 17 00:00:00 2001 From: Siphamandla brian Mjoli Date: Thu, 5 Jan 2023 21:33:02 +0200 Subject: [PATCH 14/58] update(merge): merge conflicts --- lib/presentation/settings/settings_page.dart | 4 ++-- test/middleware_test.dart | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/presentation/settings/settings_page.dart b/lib/presentation/settings/settings_page.dart index 18d65787..3fd3a8c3 100644 --- a/lib/presentation/settings/settings_page.dart +++ b/lib/presentation/settings/settings_page.dart @@ -38,8 +38,8 @@ class _SettingsPageState extends State { if (!kIsWeb) { runBiometrics(); } else { - final List dApps = - await PlatformUtils.instance.convertToFuture(PlatformUtils.instance.getDAppList()); + final List dApps = await PlatformUtils.instance + .convertToFuture(PlatformUtils.instance.getDAppList()); setState(() async { canDisconnect = dApps.isNotEmpty; diff --git a/test/middleware_test.dart b/test/middleware_test.dart index d9ee8fbb..385f68ea 100644 --- a/test/middleware_test.dart +++ b/test/middleware_test.dart @@ -173,12 +173,12 @@ void main() { return Future.value( (_.positionalArguments[1] as List) .map( - (e) => Balance( - address: e.toBase58(), - polys: PolyAmount.inNanopoly(quantity: testPolys), - arbits: ArbitAmount.zero(), - ), - ) + (e) => Balance( + address: e.toBase58(), + polys: PolyAmount.inNanopoly(quantity: testPolys), + arbits: ArbitAmount.zero(), + ), + ) .toList(), ); }); From bc23d3198a5b278bdac90b07c54d22d669e7515c Mon Sep 17 00:00:00 2001 From: Siphamandla brian Mjoli Date: Thu, 5 Jan 2023 22:25:10 +0200 Subject: [PATCH 15/58] update(pubspec): updated file --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index c64546f8..f38f8deb 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -55,7 +55,7 @@ dependencies: ribn_toolkit: git: url: https://github.com/Topl/ribn-toolkit - ref: RIBN-566 + ref: main # ribn_toolkit: # path: ../ribn_toolkit brambldart: From 3ab372af2d281ae5a6e2b0a27c39599e627c34ab Mon Sep 17 00:00:00 2001 From: Siphamandla brian Mjoli Date: Thu, 5 Jan 2023 22:45:36 +0200 Subject: [PATCH 16/58] update(formating): code formating --- lib/actions/keychain_actions.dart | 2 +- lib/actions/restore_wallet_actions.dart | 4 +- .../asset_transfer_input_container.dart | 6 +- lib/containers/create_password_container.dart | 2 +- lib/containers/login_container.dart | 4 +- lib/containers/mint_input_container.dart | 6 +- lib/containers/ribn_app_bar_container.dart | 4 +- .../transaction_history_container.dart | 6 +- lib/containers/wallet_balance_container.dart | 8 +- lib/helpers/helper_functions.dart | 3 +- lib/middlewares/epic_middleware.dart | 12 +- .../internal_message_middleware.dart | 6 +- lib/middlewares/keychain_middleware.dart | 14 +- lib/middlewares/login_middleware.dart | 8 +- lib/middlewares/misc_middleware.dart | 8 +- lib/middlewares/onboarding_middleware.dart | 10 +- .../restore_wallet_middleware.dart | 8 +- lib/middlewares/transaction_middleware.dart | 18 +- lib/models/keychain_state.dart | 6 +- lib/models/ribn_address.dart | 6 +- lib/models/ribn_network.dart | 14 +- lib/models/transfer_details.dart | 7 +- lib/platform/mobile/storage.dart | 4 +- lib/platform/mobile/worker_runner.dart | 3 +- lib/platform/web/genus_config.dart | 2 +- lib/platform/web/worker_runner.dart | 3 +- .../asset_icon_edit_section.dart | 10 +- .../asset_long_name_edit_section.dart | 12 +- .../asset_unit_edit_section.dart | 12 +- .../asset_code_details.dart | 10 +- .../asset_code_short_details.dart | 8 +- .../asset_long_name_details.dart | 10 +- .../issuer_address_details.dart | 8 +- .../asset_details/asset_details_page.dart | 18 +- .../authorize_and_sign/connect_dapp.dart | 13 +- .../input_dropdown_wrapper.dart | 6 +- .../authorize_and_sign/loading_dapp.dart | 6 +- .../authorize_and_sign/review_and_sign.dart | 15 +- .../transaction_row_details.dart | 10 +- lib/presentation/empty_state_screen.dart | 2 +- lib/presentation/enable_page.dart | 4 +- lib/presentation/error_section.dart | 8 +- lib/presentation/home/home_page.dart | 8 +- .../home/wallet_balance_page.dart | 20 +- lib/presentation/login/login_page.dart | 22 +- .../create_wallet/create_password_page.dart | 14 +- .../create_wallet/enable_biometrics_page.dart | 14 +- .../create_wallet/getting_started_page.dart | 8 +- .../seed_phrase_confirmation_page.dart | 22 +- .../seed_phrase_display_page.dart | 16 +- .../seed_phrase_generating_page.dart | 8 +- .../seed_phrase_info_checklist_page.dart | 12 +- .../seed_phrase_instructions_page.dart | 10 +- .../create_wallet/select_action_page.dart | 12 +- .../create_wallet/wallet_created_page.dart | 10 +- .../wallet_info_checklist_page.dart | 18 +- .../create_wallet/welcome_page.dart | 12 +- .../onboarding/extension_info_page.dart | 8 +- .../create_new_wallet_password_page.dart | 18 +- .../enter_wallet_password_page.dart | 8 +- .../restore_wallet/restore_wallet_page.dart | 22 +- .../restore_with_topl_key_page.dart | 12 +- .../widgets/onboarding_container.dart | 2 +- .../widgets/uploaded_file_container.dart | 6 +- .../onboarding/widgets/warning_section.dart | 8 +- .../settings/sections/biometrics_section.dart | 10 +- .../delete_wallet_confirmation_dialog.dart | 10 +- .../sections/delete_wallet_section.dart | 6 +- ...disconnect_wallet_confirmation_dialog.dart | 8 +- .../export_topl_main_key_section.dart | 6 +- .../settings/sections/links_section.dart | 6 +- .../sections/ribn_version_section.dart | 6 +- lib/presentation/settings/settings_page.dart | 6 +- .../dashed_list_separator.dart | 2 +- .../helpers/tx_history_helper_functions.dart | 3 +- .../transaction_data_row.dart | 28 +- .../transaction_history_details_page.dart | 8 +- .../transaction_history_page.dart | 8 +- .../transfers/asset_transfer_page.dart | 10 +- .../transfers/asset_transfer_section.dart | 24 +- .../transfers/mint_input_page.dart | 32 +- .../transfers/poly_transfer_section.dart | 16 +- .../transfers/tx_confirmation_page.dart | 30 +- .../transfers/tx_review_page.dart | 22 +- .../transfers/widgets/custom_input_field.dart | 6 +- .../transfers/widgets/from_address_field.dart | 6 +- .../widgets/issuer_address_field.dart | 6 +- lib/reducers/internal_message_reducer.dart | 4 +- lib/reducers/keychain_reducer.dart | 16 +- lib/reducers/onboarding_reducer.dart | 6 +- lib/reducers/user_details_reducer.dart | 8 +- lib/repositories/keychain_repository.dart | 6 +- lib/repositories/onboarding_repository.dart | 2 +- lib/repositories/transaction_repository.dart | 8 +- lib/router/root_router.dart | 119 +- lib/utils.dart | 17 +- lib/widgets/address_display_container.dart | 4 +- lib/widgets/asset_info.dart | 8 +- lib/widgets/custom_page_title.dart | 2 +- lib/widgets/fee_info.dart | 6 +- lib/widgets/ribn_app_bar_wapper.dart | 6 +- macos/Flutter/GeneratedPluginRegistrant.swift | 2 +- pubspec.lock | 1313 +++++++++++++++++ test/middleware_test.dart | 12 +- test/reducer_test.dart | 8 +- test/test_data.dart | 4 +- 106 files changed, 1810 insertions(+), 616 deletions(-) create mode 100644 pubspec.lock diff --git a/lib/actions/keychain_actions.dart b/lib/actions/keychain_actions.dart index d9845944..72b1f02c 100644 --- a/lib/actions/keychain_actions.dart +++ b/lib/actions/keychain_actions.dart @@ -11,7 +11,7 @@ class InitializeHDWalletAction { final String? keyStoreJson; final Uint8List toplExtendedPrivateKey; const InitializeHDWalletAction( - {this.keyStoreJson, required this.toplExtendedPrivateKey}); + {this.keyStoreJson, required this.toplExtendedPrivateKey,}); } class GenerateInitialAddressesAction { diff --git a/lib/actions/restore_wallet_actions.dart b/lib/actions/restore_wallet_actions.dart index 56272c0e..7f9c920b 100644 --- a/lib/actions/restore_wallet_actions.dart +++ b/lib/actions/restore_wallet_actions.dart @@ -6,7 +6,7 @@ class RestoreWalletWithMnemonicAction { final String mnemonic; final String password; RestoreWalletWithMnemonicAction( - {required this.mnemonic, required this.password}); + {required this.mnemonic, required this.password,}); } class RestoreWalletWithToplKeyAction { @@ -25,7 +25,7 @@ class SuccessfullyRestoredWalletAction { final String keyStoreJson; final Uint8List toplExtendedPrivateKey; const SuccessfullyRestoredWalletAction( - {required this.keyStoreJson, required this.toplExtendedPrivateKey}); + {required this.keyStoreJson, required this.toplExtendedPrivateKey,}); } class FailedToRestoreWalletAction {} diff --git a/lib/containers/asset_transfer_input_container.dart b/lib/containers/asset_transfer_input_container.dart index efcfb7fd..12d5df8c 100644 --- a/lib/containers/asset_transfer_input_container.dart +++ b/lib/containers/asset_transfer_input_container.dart @@ -1,15 +1,13 @@ // Dart imports: import 'dart:async'; +// Package imports: +import 'package:brambldart/brambldart.dart'; // Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; - -// Package imports: -import 'package:brambldart/brambldart.dart'; import 'package:flutter_redux/flutter_redux.dart'; import 'package:redux/redux.dart'; - // Project imports: import 'package:ribn/actions/transaction_actions.dart'; import 'package:ribn/constants/keys.dart'; diff --git a/lib/containers/create_password_container.dart b/lib/containers/create_password_container.dart index d981c2a2..17683c33 100644 --- a/lib/containers/create_password_container.dart +++ b/lib/containers/create_password_container.dart @@ -11,7 +11,7 @@ import 'package:ribn/models/app_state.dart'; class CreatePasswordContainer extends StatelessWidget { const CreatePasswordContainer( - {Key? key, required this.builder, required this.onDidChange}) + {Key? key, required this.builder, required this.onDidChange,}) : super(key: key); final ViewModelBuilder builder; final Function(CreatePasswordViewModel?, CreatePasswordViewModel)? diff --git a/lib/containers/login_container.dart b/lib/containers/login_container.dart index 8b55bbb7..077be0e5 100644 --- a/lib/containers/login_container.dart +++ b/lib/containers/login_container.dart @@ -40,7 +40,7 @@ class LoginViewModel { /// Handler for when there is an attempt to login using [password]. final Function( {required String password, - required VoidCallback onIncorrectPasswordEntered}) attemptLogin; + required VoidCallback onIncorrectPasswordEntered,}) attemptLogin; /// Handler for when there is attempt to restore wallet from the login page. final VoidCallback restoreWallet; @@ -57,7 +57,7 @@ class LoginViewModel { return LoginViewModel( attemptLogin: ( {required String password, - required VoidCallback onIncorrectPasswordEntered}) async { + required VoidCallback onIncorrectPasswordEntered,}) async { final Completer loginCompleter = Completer(); store.dispatch(AttemptLoginAction(password, loginCompleter)); await loginCompleter.future.then((bool loginSuccess) { diff --git a/lib/containers/mint_input_container.dart b/lib/containers/mint_input_container.dart index 15c8689b..386f6512 100644 --- a/lib/containers/mint_input_container.dart +++ b/lib/containers/mint_input_container.dart @@ -1,15 +1,13 @@ // Dart imports: import 'dart:async'; +// Package imports: +import 'package:brambldart/brambldart.dart'; // Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; - -// Package imports: -import 'package:brambldart/brambldart.dart'; import 'package:flutter_redux/flutter_redux.dart'; import 'package:redux/redux.dart'; - // Project imports: import 'package:ribn/actions/transaction_actions.dart'; import 'package:ribn/constants/keys.dart'; diff --git a/lib/containers/ribn_app_bar_container.dart b/lib/containers/ribn_app_bar_container.dart index 073ba0a5..a943ce61 100644 --- a/lib/containers/ribn_app_bar_container.dart +++ b/lib/containers/ribn_app_bar_container.dart @@ -1,12 +1,9 @@ // Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; - // Package imports: import 'package:flutter_redux/flutter_redux.dart'; import 'package:redux/redux.dart'; -import 'package:url_launcher/url_launcher_string.dart'; - // Project imports: import 'package:ribn/actions/keychain_actions.dart'; import 'package:ribn/actions/misc_actions.dart'; @@ -14,6 +11,7 @@ import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/routes.dart'; import 'package:ribn/constants/strings.dart'; import 'package:ribn/models/app_state.dart'; +import 'package:url_launcher/url_launcher_string.dart'; class RibnAppBarContainer extends StatelessWidget { const RibnAppBarContainer({ diff --git a/lib/containers/transaction_history_container.dart b/lib/containers/transaction_history_container.dart index d99936a3..c298b3b2 100644 --- a/lib/containers/transaction_history_container.dart +++ b/lib/containers/transaction_history_container.dart @@ -1,12 +1,10 @@ // Flutter imports: -import 'package:flutter/foundation.dart'; -import 'package:flutter/material.dart'; - // Package imports: import 'package:brambldart/brambldart.dart'; +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; import 'package:flutter_redux/flutter_redux.dart'; import 'package:redux/redux.dart'; - // Project imports: import 'package:ribn/genus/generated/filters.pb.dart'; import 'package:ribn/genus/generated/services_types.pb.dart'; diff --git a/lib/containers/wallet_balance_container.dart b/lib/containers/wallet_balance_container.dart index 622d2be7..6ed75a4b 100644 --- a/lib/containers/wallet_balance_container.dart +++ b/lib/containers/wallet_balance_container.dart @@ -1,15 +1,13 @@ // Dart imports: import 'dart:async'; +// Package imports: +import 'package:brambldart/model.dart'; // Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; - -// Package imports: -import 'package:brambldart/model.dart'; import 'package:flutter_redux/flutter_redux.dart'; import 'package:redux/redux.dart'; - // Project imports: import 'package:ribn/actions/keychain_actions.dart'; import 'package:ribn/actions/misc_actions.dart'; @@ -104,7 +102,7 @@ class WalletBalanceViewModel { refreshBalances: ({required Function(bool success) onBalancesRefreshed}) { final Completer actionCompleter = Completer(); store.dispatch(RefreshBalancesAction( - actionCompleter, store.state.keychainState.currentNetwork)); + actionCompleter, store.state.keychainState.currentNetwork,),); actionCompleter.future.then((bool value) => onBalancesRefreshed(value)); }, currentNetwork: store.state.keychainState.currentNetwork, diff --git a/lib/helpers/helper_functions.dart b/lib/helpers/helper_functions.dart index d3c7b040..3032e39b 100644 --- a/lib/helpers/helper_functions.dart +++ b/lib/helpers/helper_functions.dart @@ -1,9 +1,8 @@ // Flutter imports: -import 'package:flutter/cupertino.dart'; - // Package imports: import 'package:brambldart/credentials.dart'; import 'package:brambldart/model.dart'; +import 'package:flutter/cupertino.dart'; // Project imports: import '../containers/transaction_history_container.dart'; diff --git a/lib/middlewares/epic_middleware.dart b/lib/middlewares/epic_middleware.dart index 26a4e42f..1f6c4b29 100644 --- a/lib/middlewares/epic_middleware.dart +++ b/lib/middlewares/epic_middleware.dart @@ -1,10 +1,7 @@ // Flutter imports: import 'package:flutter/foundation.dart'; - // Package imports: import 'package:redux_epics/redux_epics.dart'; -import 'package:rxdart/rxdart.dart'; - // Project imports: import 'package:ribn/actions/keychain_actions.dart'; import 'package:ribn/actions/misc_actions.dart'; @@ -15,6 +12,7 @@ import 'package:ribn/constants/routes.dart'; import 'package:ribn/models/app_state.dart'; import 'package:ribn/repositories/misc_repository.dart'; import 'package:ribn/utils.dart'; +import 'package:rxdart/rxdart.dart'; Epic createEpicMiddleware(MiscRepository miscRepo) => combineEpics([ @@ -23,7 +21,7 @@ Epic createEpicMiddleware(MiscRepository miscRepo) => TypedEpic(_onPersistAppState(miscRepo)), TypedEpic(_onNavigateToRoute()), TypedEpic( - _onSuccessfullyRestoredWallet(miscRepo)), + _onSuccessfullyRestoredWallet(miscRepo),), ]); /// A list of all the actions that should trigger appState persistence @@ -63,7 +61,7 @@ Stream Function(Stream, EpicStore) _onApiError() { return (actions, store) { return actions.switchMap((action) => Stream.value( - NavigateToRoute(Routes.error, arguments: action.errorMessage))); + NavigateToRoute(Routes.error, arguments: action.errorMessage),),); }; } @@ -83,7 +81,7 @@ Stream Function(Stream, EpicStore) } } catch (e) { return ApiErrorAction( - 'Failed to persist state. Error: ${e.toString()}'); + 'Failed to persist state. Error: ${e.toString()}',); } } @@ -115,7 +113,7 @@ Stream Function(Stream, EpicStore) /// [navigateToRoute] is selected based on whether the app is open in extension view or full page, i.e. /// user is restoring wallet during onboarding (fullpage- iew) vs from the login page (extension view). Stream Function( - Stream, EpicStore) + Stream, EpicStore,) _onSuccessfullyRestoredWallet( MiscRepository miscRepo, ) { diff --git a/lib/middlewares/internal_message_middleware.dart b/lib/middlewares/internal_message_middleware.dart index 905cdd5a..4496f747 100644 --- a/lib/middlewares/internal_message_middleware.dart +++ b/lib/middlewares/internal_message_middleware.dart @@ -7,15 +7,15 @@ import 'package:ribn/models/app_state.dart'; import 'package:ribn/repositories/misc_repository.dart'; List> createInternalMessageMiddleware( - MiscRepository miscRepo) { + MiscRepository miscRepo,) { return >[ TypedMiddleware( - _onSendInternalMsg(miscRepo)), + _onSendInternalMsg(miscRepo),), ]; } void Function(Store store, SendInternalMsgAction action, - NextDispatcher next) _onSendInternalMsg( + NextDispatcher next,) _onSendInternalMsg( MiscRepository miscRepo, ) { return (store, action, next) => miscRepo.sendInternalMessage(action.msg); diff --git a/lib/middlewares/keychain_middleware.dart b/lib/middlewares/keychain_middleware.dart index 43caa44b..d5f8b643 100644 --- a/lib/middlewares/keychain_middleware.dart +++ b/lib/middlewares/keychain_middleware.dart @@ -10,14 +10,14 @@ import 'package:ribn/models/ribn_address.dart'; import 'package:ribn/repositories/keychain_repository.dart'; List> createKeychainMiddleware( - KeychainRepository keyChainRepo) { + KeychainRepository keyChainRepo,) { return >[ TypedMiddleware( - _onGenerateInitialAddresses(keyChainRepo)), + _onGenerateInitialAddresses(keyChainRepo),), TypedMiddleware( - _onGenerateAddress(keyChainRepo)), + _onGenerateAddress(keyChainRepo),), TypedMiddleware( - _onRefereshBalances(keyChainRepo)), + _onRefereshBalances(keyChainRepo),), ]; } @@ -25,7 +25,7 @@ List> createKeychainMiddleware( /// /// Dispatches [UpdateNetworksWithAddressesAction] to update [RibnNetworks]s with the newly generated addreses. void Function(Store store, GenerateInitialAddressesAction action, - NextDispatcher next) + NextDispatcher next,) _onGenerateInitialAddresses(KeychainRepository keychainRepo) { return (store, action, next) { try { @@ -46,7 +46,7 @@ void Function(Store store, GenerateInitialAddressesAction action, /// On receiving [GenerateAddressAction] action, generates a new address and dispatches [AddAddressAction] /// to add the generated addresses under the current network. void Function(Store store, GenerateAddressAction action, - NextDispatcher next) _onGenerateAddress( + NextDispatcher next,) _onGenerateAddress( KeychainRepository keychainRepo, ) { return (store, action, next) async { @@ -74,7 +74,7 @@ void Function(Store store, GenerateAddressAction action, /// /// If no addresses exist, a new address is generated. void Function(Store store, RefreshBalancesAction action, - NextDispatcher next) _onRefereshBalances( + NextDispatcher next,) _onRefereshBalances( KeychainRepository keychainRepo, ) { return (store, action, next) async { diff --git a/lib/middlewares/login_middleware.dart b/lib/middlewares/login_middleware.dart index 778dbd3b..0b46bdcc 100644 --- a/lib/middlewares/login_middleware.dart +++ b/lib/middlewares/login_middleware.dart @@ -16,16 +16,16 @@ import 'package:ribn/repositories/login_repository.dart'; import 'package:ribn/utils.dart'; List> createLoginMiddleware( - LoginRepository loginRepository) { + LoginRepository loginRepository,) { return >[ TypedMiddleware( - _verifyPassword(loginRepository)), + _verifyPassword(loginRepository),), ]; } /// Verifies that the wallet password is correct by attempting to decrypt the keystore. void Function( - Store store, AttemptLoginAction action, NextDispatcher next) + Store store, AttemptLoginAction action, NextDispatcher next,) _verifyPassword( LoginRepository loginRepository, ) { @@ -63,7 +63,7 @@ void Function( } // initialize hd wallet on success next(InitializeHDWalletAction( - toplExtendedPrivateKey: toplExtendedPrvKeyUint8List)); + toplExtendedPrivateKey: toplExtendedPrvKeyUint8List,),); //Generate Initial addresses for every network next(GenerateInitialAddressesAction()); diff --git a/lib/middlewares/misc_middleware.dart b/lib/middlewares/misc_middleware.dart index 85b00f34..e570a451 100644 --- a/lib/middlewares/misc_middleware.dart +++ b/lib/middlewares/misc_middleware.dart @@ -14,16 +14,16 @@ import 'package:ribn/repositories/login_repository.dart'; import 'package:ribn/repositories/misc_repository.dart'; List> createMiscMiddleware( - LoginRepository loginRep, MiscRepository miscRepo) { + LoginRepository loginRep, MiscRepository miscRepo,) { return >[ TypedMiddleware(_onDeleteWallet(loginRep)), TypedMiddleware( - _onDownloadAsFile(miscRepo)), + _onDownloadAsFile(miscRepo),), ]; } void Function( - Store store, DeleteWalletAction action, NextDispatcher next) + Store store, DeleteWalletAction action, NextDispatcher next,) _onDeleteWallet( LoginRepository loginRepo, ) { @@ -55,7 +55,7 @@ void Function( } void Function( - Store store, DownloadAsFileAction action, NextDispatcher next) + Store store, DownloadAsFileAction action, NextDispatcher next,) _onDownloadAsFile( MiscRepository miscRepo, ) { diff --git a/lib/middlewares/onboarding_middleware.dart b/lib/middlewares/onboarding_middleware.dart index 09b3e8b6..689c33c9 100644 --- a/lib/middlewares/onboarding_middleware.dart +++ b/lib/middlewares/onboarding_middleware.dart @@ -18,18 +18,18 @@ import 'package:ribn/repositories/onboarding_repository.dart'; import 'package:ribn/utils.dart'; List> createOnboardingMiddleware( - OnboardingRespository onboardingRespository) { + OnboardingRespository onboardingRespository,) { return >[ TypedMiddleware( - _generateMnemonic(onboardingRespository)), + _generateMnemonic(onboardingRespository),), TypedMiddleware( - _createPassword(onboardingRespository)), + _createPassword(onboardingRespository),), ]; } /// Generates mnemonic for the user and redirects to [Routes.onboardingSteps] void Function(Store store, GenerateMnemonicAction action, - NextDispatcher next) _generateMnemonic( + NextDispatcher next,) _generateMnemonic( OnboardingRespository onboardingRespository, ) { return (store, action, next) async { @@ -44,7 +44,7 @@ void Function(Store store, GenerateMnemonicAction action, /// Generates a [KeyStore] with the provided password and initializes the HdWallet void Function( - Store store, CreatePasswordAction action, NextDispatcher next) + Store store, CreatePasswordAction action, NextDispatcher next,) _createPassword( OnboardingRespository onboardingRespository, ) { diff --git a/lib/middlewares/restore_wallet_middleware.dart b/lib/middlewares/restore_wallet_middleware.dart index b98ce96b..74db3260 100644 --- a/lib/middlewares/restore_wallet_middleware.dart +++ b/lib/middlewares/restore_wallet_middleware.dart @@ -22,9 +22,9 @@ List> createRestorewalletMiddleware( ) { return >[ TypedMiddleware( - _restoreWalletWithMnemonic(onboardingRepo)), + _restoreWalletWithMnemonic(onboardingRepo),), TypedMiddleware( - _restoreWalletWithToplKey(loginRepo)), + _restoreWalletWithToplKey(loginRepo),), ]; } @@ -33,7 +33,7 @@ List> createRestorewalletMiddleware( /// Uses the [action.mnemonic] and [action.password] to generate a keystore. /// Dispatches [SuccessfullyRestoredWalletAction] if successfully generated keystore, otherwise [FailedToRestoreWalletAction]. void Function(Store store, RestoreWalletWithMnemonicAction action, - NextDispatcher next) + NextDispatcher next,) _restoreWalletWithMnemonic(OnboardingRespository onboardingRepo) { return (store, action, next) async { try { @@ -69,7 +69,7 @@ void Function(Store store, RestoreWalletWithMnemonicAction action, /// Attempts to decrypt [action.toplKeyStoreJson] using [action.password]. /// Dispatches [SuccessfullyRestoredWalletAction] upon success, otherwise [FailedToRestoreWalletAction]. void Function(Store store, RestoreWalletWithToplKeyAction action, - NextDispatcher next) _restoreWalletWithToplKey(LoginRepository loginRepo) { + NextDispatcher next,) _restoreWalletWithToplKey(LoginRepository loginRepo) { return (store, action, next) async { try { final Uint8List toplExtendedPrvKeyUint8List = loginRepo.decryptKeyStore({ diff --git a/lib/middlewares/transaction_middleware.dart b/lib/middlewares/transaction_middleware.dart index b8b45d5b..fe812f16 100644 --- a/lib/middlewares/transaction_middleware.dart +++ b/lib/middlewares/transaction_middleware.dart @@ -26,12 +26,12 @@ List> createTransactionMiddleware( ) { return >[ TypedMiddleware( - _initiateTx(transactionRepo, keychainRepo)), + _initiateTx(transactionRepo, keychainRepo),), TypedMiddleware(_createRawTx(transactionRepo)), TypedMiddleware( - _signAndBroadcastTx(transactionRepo, keychainRepo)), + _signAndBroadcastTx(transactionRepo, keychainRepo),), TypedMiddleware( - _signExternalTx(transactionRepo, keychainRepo)), + _signExternalTx(transactionRepo, keychainRepo),), ]; } @@ -40,7 +40,7 @@ List> createTransactionMiddleware( /// Updates the [TransferDetails] with some defaults like the sender, change, and consolidation addresses, as well as /// the current network, before dispatching [CreateRawTxAction]. void Function( - Store store, InitiateTxAction action, NextDispatcher next) + Store store, InitiateTxAction action, NextDispatcher next,) _initiateTx( TransactionRepository transactionRepo, KeychainRepository keychainRepo, @@ -68,7 +68,7 @@ void Function( /// /// Also dispatches [ToggleLoadingRawTxAction] to stop the loading indicator. void Function( - Store store, CreateRawTxAction action, NextDispatcher next) + Store store, CreateRawTxAction action, NextDispatcher next,) _createRawTx( TransactionRepository transactionRepo, ) { @@ -97,7 +97,7 @@ void Function( /// Signs and broadcasts the transactions, updates the [TransferDetails] with the txId, /// and navigates to the confirmation page. void Function(Store store, SignAndBroadcastTxAction action, - NextDispatcher next) _signAndBroadcastTx( + NextDispatcher next,) _signAndBroadcastTx( TransactionRepository transactionRepo, KeychainRepository keychainRepo, ) { @@ -135,7 +135,7 @@ void Function(Store store, SignAndBroadcastTxAction action, } void Function( - Store store, SignExternalTxAction action, NextDispatcher next) + Store store, SignExternalTxAction action, NextDispatcher next,) _signExternalTx( TransactionRepository transactionRepo, KeychainRepository keychainRepo, @@ -145,7 +145,7 @@ void Function( final Map transferDetails = {}; transferDetails['messageToSign'] = Base58Data.validated( - action.pendingRequest.data!['messageToSign'] as String) + action.pendingRequest.data!['messageToSign'] as String,) .value; final TransactionReceipt transactionReceipt = @@ -160,7 +160,7 @@ void Function( final List sendersInWallet = List.from(store.state.keychainState.currentNetwork.addresses) ..retainWhere( - (addr) => rawTxSenders.contains(addr.toplAddress.toBase58())); + (addr) => rawTxSenders.contains(addr.toplAddress.toBase58()),); if (sendersInWallet.isEmpty) { final InternalMessage response = InternalMessage( diff --git a/lib/models/keychain_state.dart b/lib/models/keychain_state.dart index acb2baa4..ab058d46 100644 --- a/lib/models/keychain_state.dart +++ b/lib/models/keychain_state.dart @@ -1,13 +1,11 @@ // Dart imports: import 'dart:convert'; -// Flutter imports: -import 'package:flutter/foundation.dart'; - // Package imports: import 'package:bip_topl/bip_topl.dart' as bip_topl; import 'package:brambldart/credentials.dart'; - +// Flutter imports: +import 'package:flutter/foundation.dart'; // Project imports: import 'package:ribn/constants/network_utils.dart'; import 'package:ribn/constants/rules.dart'; diff --git a/lib/models/ribn_address.dart b/lib/models/ribn_address.dart index 9755e241..5771adb3 100644 --- a/lib/models/ribn_address.dart +++ b/lib/models/ribn_address.dart @@ -1,12 +1,10 @@ // Dart imports: import 'dart:convert'; -// Flutter imports: -import 'package:flutter/material.dart'; - // Package imports: import 'package:brambldart/brambldart.dart'; - +// Flutter imports: +import 'package:flutter/material.dart'; // Project imports: import 'package:ribn/constants/rules.dart'; diff --git a/lib/models/ribn_network.dart b/lib/models/ribn_network.dart index e208c7a4..96961b5a 100644 --- a/lib/models/ribn_network.dart +++ b/lib/models/ribn_network.dart @@ -1,12 +1,10 @@ // Dart imports: import 'dart:convert'; -// Flutter imports: -import 'package:flutter/foundation.dart'; - // Package imports: import 'package:brambldart/brambldart.dart'; - +// Flutter imports: +import 'package:flutter/foundation.dart'; // Project imports: import 'package:ribn/constants/network_utils.dart'; import 'package:ribn/constants/rules.dart'; @@ -42,7 +40,7 @@ class RibnNetwork { }); factory RibnNetwork.initial( - {required int networkId, required String networkName}) { + {required int networkId, required String networkName,}) { return RibnNetwork( networkName: networkName, networkId: networkId, @@ -78,7 +76,7 @@ class RibnNetwork { int getNextExternalAddressIndex() { return addresses.lastIndexWhere( - (addr) => addr.changeIndex == Rules.defaultChangeIndex) + + (addr) => addr.changeIndex == Rules.defaultChangeIndex,) + 1; } @@ -102,7 +100,7 @@ class RibnNetwork { (AssetAmount currAsset) { return AssetAmount( quantity: currAsset.quantity + assetQuantity, - assetCode: asset.assetCode); + assetCode: asset.assetCode,); }, ifAbsent: () => asset, ); @@ -120,7 +118,7 @@ class RibnNetwork { return getAllAssetsInWallet() .where((AssetAmount asset) => asset.assetCode.issuer.toBase58() == - myWalletAddress?.toplAddress.toBase58()) + myWalletAddress?.toplAddress.toBase58(),) .toList(); } diff --git a/lib/models/transfer_details.dart b/lib/models/transfer_details.dart index 5f096a8d..391f2eb6 100644 --- a/lib/models/transfer_details.dart +++ b/lib/models/transfer_details.dart @@ -1,12 +1,9 @@ // Dart imports: -import 'dart:typed_data'; - -// Flutter imports: -import 'package:flutter/foundation.dart'; // Package imports: import 'package:brambldart/brambldart.dart'; - +// Flutter imports: +import 'package:flutter/foundation.dart'; // Project imports: import 'package:ribn/constants/rules.dart'; import 'package:ribn/models/asset_details.dart'; diff --git a/lib/platform/mobile/storage.dart b/lib/platform/mobile/storage.dart index 24d0c9ac..f3b1052b 100644 --- a/lib/platform/mobile/storage.dart +++ b/lib/platform/mobile/storage.dart @@ -26,14 +26,14 @@ class PlatformLocalStorage implements IPlatformLocalStorage { @override Future getState() async { final File file = File( - '${(await getApplicationDocumentsDirectory()).path}/app_state.json'); + '${(await getApplicationDocumentsDirectory()).path}/app_state.json',); return await file.readAsString(); } @override Future saveState(String data) async { final file = File( - '${(await getApplicationDocumentsDirectory()).path}/app_state.json'); + '${(await getApplicationDocumentsDirectory()).path}/app_state.json',); await file.writeAsString(data, flush: true); } diff --git a/lib/platform/mobile/worker_runner.dart b/lib/platform/mobile/worker_runner.dart index a5eb5059..fabfcd31 100644 --- a/lib/platform/mobile/worker_runner.dart +++ b/lib/platform/mobile/worker_runner.dart @@ -23,8 +23,9 @@ class PlatformWorkerRunner implements IPlatformWorkerRunner { final String? workerScript, Map params = const {}, }) async { - if (function == null) + if (function == null) { throw Exception('Dart isolate requires `function` to not be null'); + } if (Keys.isTestingEnvironment) return jsonEncode(function(params)); try { return jsonEncode(await compute(function, params)); diff --git a/lib/platform/web/genus_config.dart b/lib/platform/web/genus_config.dart index e236778d..01caa728 100644 --- a/lib/platform/web/genus_config.dart +++ b/lib/platform/web/genus_config.dart @@ -6,5 +6,5 @@ import 'package:ribn/constants/network_utils.dart'; class PlatformGenusConfig { static GrpcWebClientChannel channel = GrpcWebClientChannel.xhr( - Uri.parse('http://${NetworkUtils.privateIP}:8099')); + Uri.parse('http://${NetworkUtils.privateIP}:8099'),); } diff --git a/lib/platform/web/worker_runner.dart b/lib/platform/web/worker_runner.dart index 706546d7..b19f1677 100644 --- a/lib/platform/web/worker_runner.dart +++ b/lib/platform/web/worker_runner.dart @@ -24,8 +24,9 @@ class PlatformWorkerRunner implements IPlatformWorkerRunner { final String? workerScript, Map params = const {}, }) { - if (workerScript == null) + if (workerScript == null) { throw Exception('JS worker requires `workerScript` to not be null'); + } final Completer completer = Completer(); try { final Worker worker = Worker(workerScript); diff --git a/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_icon_edit_section.dart b/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_icon_edit_section.dart index 477a2843..6f74e07c 100644 --- a/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_icon_edit_section.dart +++ b/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_icon_edit_section.dart @@ -1,17 +1,15 @@ // Flutter imports: import 'package:flutter/material.dart'; - // Package imports: import 'package:flutter_portal/flutter_portal.dart'; import 'package:flutter_redux/flutter_redux.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; - // Project imports: import 'package:ribn/actions/user_details_actions.dart'; import 'package:ribn/constants/ui_constants.dart'; import 'package:ribn/models/app_state.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; /// The section for editing asset icon. /// @@ -48,7 +46,7 @@ class _AssetIconEditSectionState extends State { color: Color(0x0f000000), offset: Offset(0, 4), blurRadius: 4, - spreadRadius: 0) + spreadRadius: 0,) ], ), child: Column( diff --git a/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_long_name_edit_section.dart b/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_long_name_edit_section.dart index 489fe8cb..f0730f27 100644 --- a/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_long_name_edit_section.dart +++ b/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_long_name_edit_section.dart @@ -1,17 +1,15 @@ // Flutter imports: import 'package:flutter/material.dart'; - // Package imports: import 'package:flutter_redux/flutter_redux.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/custom_text_field.dart'; -import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; - // Project imports: import 'package:ribn/actions/user_details_actions.dart'; import 'package:ribn/constants/strings.dart'; import 'package:ribn/models/app_state.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/custom_text_field.dart'; +import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; /// The section for editing asset long anme. class AssetLongNameEditSection extends StatefulWidget { @@ -64,7 +62,7 @@ class _AssetLongNameEditSectionState extends State { color: Color(0x0f000000), offset: Offset(0, 4), blurRadius: 4, - spreadRadius: 0) + spreadRadius: 0,) ], ), child: Column( diff --git a/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_unit_edit_section.dart b/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_unit_edit_section.dart index 0e9c325f..311dc2e5 100644 --- a/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_unit_edit_section.dart +++ b/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_unit_edit_section.dart @@ -1,19 +1,17 @@ // Flutter imports: import 'package:flutter/material.dart'; - // Package imports: import 'package:flutter_redux/flutter_redux.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/custom_dropdown.dart'; -import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; - // Project imports: import 'package:ribn/actions/user_details_actions.dart'; import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/ui_constants.dart'; import 'package:ribn/models/app_state.dart'; import 'package:ribn/utils.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/custom_dropdown.dart'; +import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; /// The section for editing asset unit. /// @@ -58,7 +56,7 @@ class _AssetUnitEditSectionState extends State { color: Color(0x0f000000), offset: Offset(0, 4), blurRadius: 4, - spreadRadius: 0) + spreadRadius: 0,) ], ), child: Column( diff --git a/lib/presentation/asset_details/asset_detail_items/asset_code_details.dart b/lib/presentation/asset_details/asset_detail_items/asset_code_details.dart index 89875e8e..136dea29 100644 --- a/lib/presentation/asset_details/asset_detail_items/asset_code_details.dart +++ b/lib/presentation/asset_details/asset_detail_items/asset_code_details.dart @@ -1,15 +1,13 @@ // Flutter imports: import 'package:flutter/material.dart'; - -// Package imports: -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/custom_copy_button.dart'; -import 'package:ribn_toolkit/widgets/molecules/custom_tooltip.dart'; - // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/strings.dart'; import 'package:ribn/utils.dart'; +// Package imports: +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/custom_copy_button.dart'; +import 'package:ribn_toolkit/widgets/molecules/custom_tooltip.dart'; /// One of the asset details displayed on [AssetDetailsPage]. /// diff --git a/lib/presentation/asset_details/asset_detail_items/asset_code_short_details.dart b/lib/presentation/asset_details/asset_detail_items/asset_code_short_details.dart index e0d99e69..43e3bef0 100644 --- a/lib/presentation/asset_details/asset_detail_items/asset_code_short_details.dart +++ b/lib/presentation/asset_details/asset_detail_items/asset_code_short_details.dart @@ -1,13 +1,11 @@ // Flutter imports: import 'package:flutter/material.dart'; - -// Package imports: -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/molecules/custom_tooltip.dart'; - // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/strings.dart'; +// Package imports: +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/molecules/custom_tooltip.dart'; /// One of the asset details displayed on [AssetDetailsPage]. /// diff --git a/lib/presentation/asset_details/asset_detail_items/asset_long_name_details.dart b/lib/presentation/asset_details/asset_detail_items/asset_long_name_details.dart index 88ca7594..93c718d3 100644 --- a/lib/presentation/asset_details/asset_detail_items/asset_long_name_details.dart +++ b/lib/presentation/asset_details/asset_detail_items/asset_long_name_details.dart @@ -2,18 +2,16 @@ // Flutter imports: import 'package:flutter/material.dart'; - // Package imports: import 'package:flutter_redux/flutter_redux.dart'; +// Project imports: +import 'package:ribn/models/app_state.dart'; +import 'package:ribn/models/asset_details.dart'; import 'package:ribn_toolkit/constants/assets.dart'; import 'package:ribn_toolkit/constants/colors.dart'; import 'package:ribn_toolkit/constants/styles.dart'; import 'package:ribn_toolkit/widgets/atoms/hover_icon_button.dart'; -// Project imports: -import 'package:ribn/models/app_state.dart'; -import 'package:ribn/models/asset_details.dart'; - /// One of the asset details displayed on [AssetDetailsPage]. /// /// Displays the custom long name assigned to the asset. @@ -58,7 +56,7 @@ class AssetLongNameDetails extends StatelessWidget { ), const SizedBox(height: 3), Text(currLongName ?? 'Undefined', - style: RibnToolkitTextStyles.smallBody), + style: RibnToolkitTextStyles.smallBody,), ], ); } diff --git a/lib/presentation/asset_details/asset_detail_items/issuer_address_details.dart b/lib/presentation/asset_details/asset_detail_items/issuer_address_details.dart index 9130d7d7..3e8f3551 100644 --- a/lib/presentation/asset_details/asset_detail_items/issuer_address_details.dart +++ b/lib/presentation/asset_details/asset_detail_items/issuer_address_details.dart @@ -1,16 +1,14 @@ // Flutter imports: import 'package:flutter/material.dart'; - // Package imports: import 'package:flutter_svg/svg.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/custom_copy_button.dart'; -import 'package:ribn_toolkit/widgets/molecules/custom_tooltip.dart'; - // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/strings.dart'; import 'package:ribn/utils.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/custom_copy_button.dart'; +import 'package:ribn_toolkit/widgets/molecules/custom_tooltip.dart'; class IssuerAddressDetails extends StatelessWidget { final String issuerAddress; diff --git a/lib/presentation/asset_details/asset_details_page.dart b/lib/presentation/asset_details/asset_details_page.dart index d9801f0a..49dfc4dc 100644 --- a/lib/presentation/asset_details/asset_details_page.dart +++ b/lib/presentation/asset_details/asset_details_page.dart @@ -1,12 +1,8 @@ // Flutter imports: -import 'package:flutter/material.dart'; - // Package imports: import 'package:brambldart/brambldart.dart'; +import 'package:flutter/material.dart'; import 'package:flutter_redux/flutter_redux.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/widgets/organisms/custom_page_text_title.dart'; - // Project imports: import 'package:ribn/constants/routes.dart'; import 'package:ribn/constants/strings.dart'; @@ -23,6 +19,8 @@ import 'package:ribn/presentation/asset_details/asset_detail_items/asset_long_na import 'package:ribn/presentation/asset_details/asset_detail_items/asset_unit_details.dart'; import 'package:ribn/presentation/asset_details/asset_detail_items/issuer_address_details.dart'; import 'package:ribn/widgets/custom_divider.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/widgets/organisms/custom_page_text_title.dart'; /// This page presents all details associated with an asset. /// @@ -126,7 +124,7 @@ class _AssetDetailsPageState extends State with RouteAware { const SizedBox(height: 40), Container( padding: const EdgeInsets.symmetric( - horizontal: 20, vertical: 10), + horizontal: 20, vertical: 10,), width: 309, decoration: BoxDecoration( borderRadius: @@ -158,7 +156,7 @@ class _AssetDetailsPageState extends State with RouteAware { currUnit: assetDetails?.unit, editingSectionOpened: editingAssetUnit, onEditPressed: () => _onEditPressed( - key: assetUnitKey, assetDetails: assetDetails), + key: assetUnitKey, assetDetails: assetDetails,), ), _buildDivider(), // asset long name display - can be edited @@ -168,7 +166,7 @@ class _AssetDetailsPageState extends State with RouteAware { editingSectionOpened: editingAssetLongName, onEditPressed: () => _onEditPressed( key: assetLongNameKey, - assetDetails: assetDetails), + assetDetails: assetDetails,), ), _buildDivider(), // asset icon display - can be edited @@ -177,12 +175,12 @@ class _AssetDetailsPageState extends State with RouteAware { currIcon: assetDetails?.icon, editingSectionOpened: editingAssetIcon, onEditPressed: () => _onEditPressed( - key: assetIconKey, assetDetails: assetDetails), + key: assetIconKey, assetDetails: assetDetails,), ), _buildDivider(), // asset issuer address display IssuerAddressDetails( - issuerAddress: widget.issuerAddress), + issuerAddress: widget.issuerAddress,), _buildDivider(), // asset code display AssetCodeDetails(assetCode: widget.assetCode), diff --git a/lib/presentation/authorize_and_sign/connect_dapp.dart b/lib/presentation/authorize_and_sign/connect_dapp.dart index e8262857..8e4d79a6 100644 --- a/lib/presentation/authorize_and_sign/connect_dapp.dart +++ b/lib/presentation/authorize_and_sign/connect_dapp.dart @@ -1,15 +1,8 @@ // Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; - // Package imports: import 'package:flutter_redux/flutter_redux.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; -import 'package:ribn_toolkit/widgets/molecules/checkbox_wrappable_text.dart'; -import 'package:ribn_toolkit/widgets/organisms/custom_page_text_title_with_leading_child.dart'; - // Project imports: import 'package:ribn/actions/internal_message_actions.dart'; import 'package:ribn/constants/assets.dart'; @@ -17,6 +10,12 @@ import 'package:ribn/constants/strings.dart'; import 'package:ribn/models/app_state.dart'; import 'package:ribn/presentation/authorize_and_sign/input_dropdown_wrapper.dart'; import 'package:ribn/presentation/transfers/bottom_review_action.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; +import 'package:ribn_toolkit/widgets/molecules/checkbox_wrappable_text.dart'; +import 'package:ribn_toolkit/widgets/organisms/custom_page_text_title_with_leading_child.dart'; + import '../../models/internal_message.dart'; class ConnectDApp extends StatefulWidget { diff --git a/lib/presentation/authorize_and_sign/input_dropdown_wrapper.dart b/lib/presentation/authorize_and_sign/input_dropdown_wrapper.dart index 01131750..553c40f8 100644 --- a/lib/presentation/authorize_and_sign/input_dropdown_wrapper.dart +++ b/lib/presentation/authorize_and_sign/input_dropdown_wrapper.dart @@ -1,12 +1,10 @@ // Flutter imports: import 'package:flutter/material.dart'; - -// Package imports: -import 'package:ribn_toolkit/widgets/molecules/input_dropdown.dart'; - // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/containers/ribn_app_bar_container.dart'; +// Package imports: +import 'package:ribn_toolkit/widgets/molecules/input_dropdown.dart'; // import 'package:ribn_toolkit/widgets/organisms/ribn_app_bar.dart'; diff --git a/lib/presentation/authorize_and_sign/loading_dapp.dart b/lib/presentation/authorize_and_sign/loading_dapp.dart index 9041597c..0d397d1b 100644 --- a/lib/presentation/authorize_and_sign/loading_dapp.dart +++ b/lib/presentation/authorize_and_sign/loading_dapp.dart @@ -3,18 +3,16 @@ import 'dart:async'; // Flutter imports: import 'package:flutter/material.dart'; - // Package imports: import 'package:flutter_redux/flutter_redux.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/widgets/molecules/animated_circle_step_loader.dart'; - // Project imports: import 'package:ribn/actions/transaction_actions.dart'; import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/strings.dart'; import 'package:ribn/models/app_state.dart'; import 'package:ribn/models/internal_message.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/widgets/molecules/animated_circle_step_loader.dart'; class LoadingDApp extends StatefulWidget { const LoadingDApp({Key? key, required this.response}) : super(key: key); diff --git a/lib/presentation/authorize_and_sign/review_and_sign.dart b/lib/presentation/authorize_and_sign/review_and_sign.dart index f6a2a084..c7763619 100644 --- a/lib/presentation/authorize_and_sign/review_and_sign.dart +++ b/lib/presentation/authorize_and_sign/review_and_sign.dart @@ -4,16 +4,8 @@ import 'dart:convert'; // Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; - // Package imports: import 'package:flutter_redux/flutter_redux.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/animated_expand_button.dart'; -import 'package:ribn_toolkit/widgets/atoms/custom_copy_button.dart'; -import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; -import 'package:ribn_toolkit/widgets/organisms/custom_page_text_title_with_leading_child.dart'; - // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/strings.dart'; @@ -22,6 +14,13 @@ import 'package:ribn/presentation/authorize_and_sign/input_dropdown_wrapper.dart import 'package:ribn/presentation/authorize_and_sign/transaction_row_details.dart'; import 'package:ribn/presentation/transfers/bottom_review_action.dart'; import 'package:ribn/widgets/fee_info.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/animated_expand_button.dart'; +import 'package:ribn_toolkit/widgets/atoms/custom_copy_button.dart'; +import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; +import 'package:ribn_toolkit/widgets/organisms/custom_page_text_title_with_leading_child.dart'; + import '../../actions/internal_message_actions.dart'; import '../../constants/routes.dart'; import '../../models/app_state.dart'; diff --git a/lib/presentation/authorize_and_sign/transaction_row_details.dart b/lib/presentation/authorize_and_sign/transaction_row_details.dart index c38ad340..40738f5d 100644 --- a/lib/presentation/authorize_and_sign/transaction_row_details.dart +++ b/lib/presentation/authorize_and_sign/transaction_row_details.dart @@ -1,13 +1,11 @@ // Flutter imports: import 'package:flutter/material.dart'; - -// Package imports: -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; - // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/strings.dart'; +// Package imports: +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; class TransactionRowDetails extends StatelessWidget { const TransactionRowDetails({ @@ -73,7 +71,7 @@ class TransactionRowDetails extends StatelessWidget { ), const SizedBox(width: 5), Text(isPolyTransfer ? 'POLY' : 'OTHER ASSET', - style: defaultTextStyle), + style: defaultTextStyle,), ], ) ], diff --git a/lib/presentation/empty_state_screen.dart b/lib/presentation/empty_state_screen.dart index 02e796ad..952561d0 100644 --- a/lib/presentation/empty_state_screen.dart +++ b/lib/presentation/empty_state_screen.dart @@ -44,7 +44,7 @@ class EmptyStateScreen extends StatelessWidget { BoxShadow( color: RibnColors.paleGreen.withOpacity(1), blurRadius: 8, - spreadRadius: 8) + spreadRadius: 8,) ], ), width: width - 20, diff --git a/lib/presentation/enable_page.dart b/lib/presentation/enable_page.dart index 36489547..841cbdf6 100644 --- a/lib/presentation/enable_page.dart +++ b/lib/presentation/enable_page.dart @@ -1,15 +1,13 @@ // Flutter imports: import 'package:flutter/material.dart'; - // Package imports: import 'package:flutter_redux/flutter_redux.dart'; -import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; - // Project imports: import 'package:ribn/actions/internal_message_actions.dart'; import 'package:ribn/constants/ui_constants.dart'; import 'package:ribn/models/app_state.dart'; import 'package:ribn/models/internal_message.dart'; +import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; class EnablePage extends StatelessWidget { final InternalMessage pendingRequest; diff --git a/lib/presentation/error_section.dart b/lib/presentation/error_section.dart index 29631b50..c3e57201 100644 --- a/lib/presentation/error_section.dart +++ b/lib/presentation/error_section.dart @@ -1,16 +1,14 @@ // Flutter imports: import 'package:flutter/material.dart'; - +// Project imports: +import 'package:ribn/constants/assets.dart'; +import 'package:ribn/constants/strings.dart'; // Package imports: import 'package:ribn_toolkit/constants/colors.dart'; import 'package:ribn_toolkit/constants/styles.dart'; import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; import 'package:url_launcher/url_launcher_string.dart'; -// Project imports: -import 'package:ribn/constants/assets.dart'; -import 'package:ribn/constants/strings.dart'; - /// A generic error section that is displayed in case of unexpected errors. class ErrorSection extends StatelessWidget { final VoidCallback onTryAgain; diff --git a/lib/presentation/home/home_page.dart b/lib/presentation/home/home_page.dart index 9e3875ee..74621d46 100644 --- a/lib/presentation/home/home_page.dart +++ b/lib/presentation/home/home_page.dart @@ -1,15 +1,13 @@ // Flutter imports: import 'package:flutter/material.dart'; - -// Package imports: -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/widgets/organisms/ribn_bottom_app_bar_v2.dart'; - // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/presentation/home/wallet_balance_page.dart'; import 'package:ribn/presentation/transaction_history/transaction_history_page.dart'; import 'package:ribn/widgets/ribn_app_bar_wapper.dart'; +// Package imports: +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/widgets/organisms/ribn_bottom_app_bar_v2.dart'; /// The 'home page' of Ribn. /// diff --git a/lib/presentation/home/wallet_balance_page.dart b/lib/presentation/home/wallet_balance_page.dart index df829bed..dd7b9dc9 100644 --- a/lib/presentation/home/wallet_balance_page.dart +++ b/lib/presentation/home/wallet_balance_page.dart @@ -1,15 +1,7 @@ // Flutter imports: -import 'package:flutter/material.dart'; - // Package imports: import 'package:brambldart/brambldart.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; -import 'package:ribn_toolkit/widgets/molecules/asset_card.dart'; -import 'package:ribn_toolkit/widgets/molecules/custom_tooltip.dart'; -import 'package:ribn_toolkit/widgets/molecules/wave_container.dart'; - +import 'package:flutter/material.dart'; // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/keys.dart'; @@ -21,6 +13,12 @@ import 'package:ribn/presentation/empty_state_screen.dart'; import 'package:ribn/presentation/error_section.dart'; import 'package:ribn/presentation/home/wallet_balance_shimmer.dart'; import 'package:ribn/utils.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; +import 'package:ribn_toolkit/widgets/molecules/asset_card.dart'; +import 'package:ribn_toolkit/widgets/molecules/custom_tooltip.dart'; +import 'package:ribn_toolkit/widgets/molecules/wave_container.dart'; // import 'package:url_launcher/url_launcher.dart'; @@ -177,7 +175,7 @@ class _WalletBalancePageState extends State { ? const CircularProgressIndicator() : _failedToFetchBalances ? const Text('Network Failure', - style: TextStyle(color: Colors.red)) + style: TextStyle(color: Colors.red),) : Row( mainAxisAlignment: MainAxisAlignment.center, children: [ @@ -338,7 +336,7 @@ class _WalletBalancePageState extends State { mainAxisAlignment: MainAxisAlignment.center, children: [ Text(label, - style: RibnToolkitTextStyles.h4.copyWith(color: Colors.white)), + style: RibnToolkitTextStyles.h4.copyWith(color: Colors.white),), ], ), ), diff --git a/lib/presentation/login/login_page.dart b/lib/presentation/login/login_page.dart index 20b6f929..5b299148 100644 --- a/lib/presentation/login/login_page.dart +++ b/lib/presentation/login/login_page.dart @@ -1,21 +1,12 @@ // Flutter imports: +// Package imports: +import 'package:bip_topl/bip_topl.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; - -// Package imports: -import 'package:bip_topl/bip_topl.dart'; import 'package:flutter_redux/flutter_redux.dart'; import 'package:loader_overlay/loader_overlay.dart'; import 'package:local_auth/local_auth.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; -import 'package:ribn_toolkit/widgets/molecules/custom_tooltip.dart'; -import 'package:ribn_toolkit/widgets/molecules/password_text_field.dart'; -import 'package:ribn_toolkit/widgets/molecules/wave_container.dart'; -import 'package:url_launcher/url_launcher.dart'; - // Project imports: import 'package:ribn/actions/keychain_actions.dart'; import 'package:ribn/constants/assets.dart'; @@ -27,6 +18,13 @@ import 'package:ribn/models/app_state.dart'; import 'package:ribn/platform/platform.dart'; import 'package:ribn/presentation/onboarding/utils.dart'; import 'package:ribn/utils.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; +import 'package:ribn_toolkit/widgets/molecules/custom_tooltip.dart'; +import 'package:ribn_toolkit/widgets/molecules/password_text_field.dart'; +import 'package:ribn_toolkit/widgets/molecules/wave_container.dart'; +import 'package:url_launcher/url_launcher.dart'; /// Builds the login page. /// @@ -139,7 +137,7 @@ class _LoginPageState extends State { SizedBox(height: deviceTopPadding()), renderIfWeb(const SizedBox(height: 40)), Image.asset(RibnAssets.newRibnLogo, - width: kIsWeb ? 102 : 138), + width: kIsWeb ? 102 : 138,), Text( Strings.ribnWallet, style: RibnToolkitTextStyles.h1.copyWith( diff --git a/lib/presentation/onboarding/create_wallet/create_password_page.dart b/lib/presentation/onboarding/create_wallet/create_password_page.dart index c5e9440e..632ee15d 100644 --- a/lib/presentation/onboarding/create_wallet/create_password_page.dart +++ b/lib/presentation/onboarding/create_wallet/create_password_page.dart @@ -2,15 +2,8 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; - // Package imports: import 'package:loader_overlay/loader_overlay.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/molecules/checkbox_wrappable_text.dart'; -import 'package:ribn_toolkit/widgets/molecules/password_text_field.dart'; -import 'package:url_launcher/url_launcher.dart'; - // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/routes.dart'; @@ -22,6 +15,11 @@ import 'package:ribn/presentation/onboarding/widgets/mobile_onboarding_progress_ import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; import 'package:ribn/presentation/onboarding/widgets/web_onboarding_app_bar.dart'; import 'package:ribn/utils.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/molecules/checkbox_wrappable_text.dart'; +import 'package:ribn_toolkit/widgets/molecules/password_text_field.dart'; +import 'package:url_launcher/url_launcher.dart'; class CreatePasswordPage extends StatefulWidget { const CreatePasswordPage({Key? key}) : super(key: key); @@ -161,7 +159,7 @@ class _CreatePasswordPageState extends State { ), const SizedBox(height: 40), renderIfMobile( - const MobileOnboardingProgressBar(currStep: 2)), + const MobileOnboardingProgressBar(currStep: 2),), ConfirmationButton( text: Strings.done, disabled: !_atLeast8Chars || diff --git a/lib/presentation/onboarding/create_wallet/enable_biometrics_page.dart b/lib/presentation/onboarding/create_wallet/enable_biometrics_page.dart index 5fea4fe8..d67d1ba6 100644 --- a/lib/presentation/onboarding/create_wallet/enable_biometrics_page.dart +++ b/lib/presentation/onboarding/create_wallet/enable_biometrics_page.dart @@ -1,19 +1,13 @@ // Dart imports: import 'dart:io' show Platform; +// Package imports: +import 'package:app_settings/app_settings.dart'; // Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; - -// Package imports: -import 'package:app_settings/app_settings.dart'; import 'package:flutter_redux/flutter_redux.dart'; import 'package:local_auth/local_auth.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/custom_icon_button.dart'; -import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; - // Project imports: import 'package:ribn/actions/user_details_actions.dart'; import 'package:ribn/constants/assets.dart'; @@ -24,6 +18,10 @@ import 'package:ribn/models/app_state.dart'; import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; import 'package:ribn/presentation/transfers/bottom_review_action.dart'; import 'package:ribn/utils.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/custom_icon_button.dart'; +import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; class EnableBiometrics extends StatefulWidget { const EnableBiometrics({Key? key}) : super(key: key); diff --git a/lib/presentation/onboarding/create_wallet/getting_started_page.dart b/lib/presentation/onboarding/create_wallet/getting_started_page.dart index 96b22aa4..603d4f5e 100644 --- a/lib/presentation/onboarding/create_wallet/getting_started_page.dart +++ b/lib/presentation/onboarding/create_wallet/getting_started_page.dart @@ -1,11 +1,6 @@ // Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; - -// Package imports: -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; - // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/keys.dart'; @@ -15,6 +10,9 @@ import 'package:ribn/presentation/onboarding/utils.dart'; import 'package:ribn/presentation/onboarding/widgets/confirmation_button.dart'; import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; import 'package:ribn/presentation/onboarding/widgets/web_onboarding_app_bar.dart'; +// Package imports: +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; class GettingStartedPage extends StatelessWidget { const GettingStartedPage({Key? key}) : super(key: key); diff --git a/lib/presentation/onboarding/create_wallet/seed_phrase_confirmation_page.dart b/lib/presentation/onboarding/create_wallet/seed_phrase_confirmation_page.dart index 660f9fea..70fead16 100644 --- a/lib/presentation/onboarding/create_wallet/seed_phrase_confirmation_page.dart +++ b/lib/presentation/onboarding/create_wallet/seed_phrase_confirmation_page.dart @@ -2,12 +2,6 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; - -// Package imports: -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/custom_text_field.dart'; -import 'package:ribn_toolkit/widgets/organisms/onboarding_progress_bar.dart'; - // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/keys.dart'; @@ -19,6 +13,10 @@ import 'package:ribn/presentation/onboarding/widgets/confirmation_button.dart'; import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; import 'package:ribn/presentation/onboarding/widgets/web_onboarding_app_bar.dart'; import 'package:ribn/utils.dart'; +// Package imports: +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/custom_text_field.dart'; +import 'package:ribn_toolkit/widgets/organisms/onboarding_progress_bar.dart'; class SeedPhraseConfirmationPage extends StatefulWidget { const SeedPhraseConfirmationPage({Key? key}) : super(key: key); @@ -63,14 +61,14 @@ class _SeedPhraseConfirmationPageState Image.asset(RibnAssets.penPaperPng, width: 70), Padding( padding: EdgeInsets.only( - top: adaptHeight(0.04), bottom: adaptHeight(0.02)), + top: adaptHeight(0.04), bottom: adaptHeight(0.02),), child: const Text( Strings.ensureYourWordsAreCorrect, style: RibnToolkitTextStyles.onboardingH3, ), ), _buildSeedphraseConfirmationGrid( - vm.confirmeIdxs, vm.mnemonicWordsList), + vm.confirmeIdxs, vm.mnemonicWordsList,), const SizedBox(height: 40), renderIfMobile( const Padding( @@ -104,15 +102,15 @@ class _SeedPhraseConfirmationPageState } Widget _buildSeedphraseConfirmationGrid( - List confirmIdxs, List mnemonicWordsList) { + List confirmIdxs, List mnemonicWordsList,) { final List mobileRows = []; List webRowChildren = []; final List> webRows = []; for (int i = 0; i < confirmIdxs.length; i++) { mobileRows.add(_buildConfirmationTextField( - confirmIdxs[i], mnemonicWordsList[confirmIdxs[i]])); + confirmIdxs[i], mnemonicWordsList[confirmIdxs[i]],),); webRowChildren.add(_buildConfirmationTextField( - confirmIdxs[i], mnemonicWordsList[confirmIdxs[i]])); + confirmIdxs[i], mnemonicWordsList[confirmIdxs[i]],),); if ((i + 1) % 2 == 0) { webRows.add(webRowChildren); webRowChildren = []; @@ -176,7 +174,7 @@ class _SeedPhraseConfirmationPageState class LowerCaseTextFormatter extends TextInputFormatter { @override TextEditingValue formatEditUpdate( - TextEditingValue oldValue, TextEditingValue newValue) { + TextEditingValue oldValue, TextEditingValue newValue,) { return TextEditingValue( text: newValue.text.toLowerCase(), selection: newValue.selection, diff --git a/lib/presentation/onboarding/create_wallet/seed_phrase_display_page.dart b/lib/presentation/onboarding/create_wallet/seed_phrase_display_page.dart index ec667ca4..45847b38 100644 --- a/lib/presentation/onboarding/create_wallet/seed_phrase_display_page.dart +++ b/lib/presentation/onboarding/create_wallet/seed_phrase_display_page.dart @@ -2,12 +2,8 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; - // Package imports: import 'package:flutter_redux/flutter_redux.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; - // Project imports: import 'package:ribn/actions/misc_actions.dart'; import 'package:ribn/constants/assets.dart'; @@ -21,6 +17,8 @@ import 'package:ribn/presentation/onboarding/widgets/mobile_onboarding_progress_ import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; import 'package:ribn/presentation/onboarding/widgets/web_onboarding_app_bar.dart'; import 'package:ribn/utils.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; class SeedPhraseDisplayPage extends StatelessWidget { const SeedPhraseDisplayPage({Key? key}) : super(key: key); @@ -59,7 +57,7 @@ class SeedPhraseDisplayPage extends StatelessWidget { Image.asset(RibnAssets.penPaperPng, width: 70), Padding( padding: EdgeInsets.symmetric( - vertical: kIsWeb ? 40 : adaptHeight(0.03)), + vertical: kIsWeb ? 40 : adaptHeight(0.03),), child: const Text( Strings.writeDownSeedPhraseInExactOrder, style: RibnToolkitTextStyles.onboardingH3, @@ -87,7 +85,7 @@ class SeedPhraseDisplayPage extends StatelessWidget { child: _buildButton( Strings.copy, onPressed: () => Clipboard.setData( - ClipboardData(text: seedPhrase)), + ClipboardData(text: seedPhrase),), width: 19, height: 15, ), @@ -109,7 +107,7 @@ class SeedPhraseDisplayPage extends StatelessWidget { StoreProvider.of(context) .dispatch( DownloadAsFileAction( - Strings.seedPhraseFileName, seedPhrase), + Strings.seedPhraseFileName, seedPhrase,), ), width: 30, height: 23, @@ -120,7 +118,7 @@ class SeedPhraseDisplayPage extends StatelessWidget { ), SizedBox(height: adaptHeight(0.1)), renderIfMobile( - const MobileOnboardingProgressBar(currStep: 0)), + const MobileOnboardingProgressBar(currStep: 0),), ConfirmationButton( text: Strings.done, onPressed: () { @@ -210,7 +208,7 @@ class SeedPhraseDisplayPage extends StatelessWidget { style: RibnToolkitTextStyles.h3.copyWith( color: const Color(0xff00FFC5), letterSpacing: 0.5, - height: kIsWeb ? 1 : 0), + height: kIsWeb ? 1 : 0,), ), WidgetSpan( child: Padding( diff --git a/lib/presentation/onboarding/create_wallet/seed_phrase_generating_page.dart b/lib/presentation/onboarding/create_wallet/seed_phrase_generating_page.dart index f16a9edd..36fe08d3 100644 --- a/lib/presentation/onboarding/create_wallet/seed_phrase_generating_page.dart +++ b/lib/presentation/onboarding/create_wallet/seed_phrase_generating_page.dart @@ -1,13 +1,8 @@ // Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; - // Package imports: import 'package:flutter_redux/flutter_redux.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/molecules/animated_circle_step_loader.dart'; - // Project imports: import 'package:ribn/actions/onboarding_actions.dart'; import 'package:ribn/constants/assets.dart'; @@ -20,6 +15,9 @@ import 'package:ribn/presentation/onboarding/widgets/confirmation_button.dart'; import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; import 'package:ribn/presentation/onboarding/widgets/web_onboarding_app_bar.dart'; import 'package:ribn/utils.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/molecules/animated_circle_step_loader.dart'; /// This page shows a loading animation to indicate seed phrase generation. class SeedPhraseGeneratingPage extends StatefulWidget { diff --git a/lib/presentation/onboarding/create_wallet/seed_phrase_info_checklist_page.dart b/lib/presentation/onboarding/create_wallet/seed_phrase_info_checklist_page.dart index 69b00cb1..fcd47d32 100644 --- a/lib/presentation/onboarding/create_wallet/seed_phrase_info_checklist_page.dart +++ b/lib/presentation/onboarding/create_wallet/seed_phrase_info_checklist_page.dart @@ -1,12 +1,6 @@ // Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; - -// Package imports: -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/molecules/checkbox_wrappable_text.dart'; - // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/keys.dart'; @@ -17,6 +11,10 @@ import 'package:ribn/presentation/onboarding/widgets/confirmation_button.dart'; import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; import 'package:ribn/presentation/onboarding/widgets/web_onboarding_app_bar.dart'; import 'package:ribn/utils.dart'; +// Package imports: +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/molecules/checkbox_wrappable_text.dart'; /// Builds checks to ensure that the user understands the importance of the seed phrase. class SeedPhraseInfoChecklistPage extends StatefulWidget { @@ -69,7 +67,7 @@ class _SeedPhraseInfoChecklistPageState text: Strings.walletRecoveryUsingSeedPhrase, onChanged: checkboxesState[Strings.neverShareMySeedPhrase]! ? (bool? val) => onChecked( - val ?? false, Strings.walletRecoveryUsingSeedPhrase) + val ?? false, Strings.walletRecoveryUsingSeedPhrase,) : null, ), SizedBox(height: adaptHeight(0.1)), diff --git a/lib/presentation/onboarding/create_wallet/seed_phrase_instructions_page.dart b/lib/presentation/onboarding/create_wallet/seed_phrase_instructions_page.dart index ce8c8ccb..21e38cbc 100644 --- a/lib/presentation/onboarding/create_wallet/seed_phrase_instructions_page.dart +++ b/lib/presentation/onboarding/create_wallet/seed_phrase_instructions_page.dart @@ -1,11 +1,6 @@ // Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; - -// Package imports: -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; - // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/keys.dart'; @@ -16,6 +11,9 @@ import 'package:ribn/presentation/onboarding/widgets/confirmation_button.dart'; import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; import 'package:ribn/presentation/onboarding/widgets/web_onboarding_app_bar.dart'; import 'package:ribn/utils.dart'; +// Package imports: +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; /// This page shows intructions on how to keep the seed phrase secure. class SeedPhraseInstructionsPage extends StatelessWidget { @@ -106,7 +104,7 @@ class SeedPhraseInstructionsPage extends StatelessWidget { height: height, child: Padding( padding: EdgeInsets.only( - left: iconLeftPadding, right: iconRightPadding), + left: iconLeftPadding, right: iconRightPadding,), child: Image.asset(pngIcon, width: 30), ), ), diff --git a/lib/presentation/onboarding/create_wallet/select_action_page.dart b/lib/presentation/onboarding/create_wallet/select_action_page.dart index 7b1d968a..3dfa58df 100644 --- a/lib/presentation/onboarding/create_wallet/select_action_page.dart +++ b/lib/presentation/onboarding/create_wallet/select_action_page.dart @@ -1,12 +1,6 @@ // Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; - -// Package imports: -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/molecules/onboarding_action_button.dart'; - // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/keys.dart'; @@ -16,6 +10,10 @@ import 'package:ribn/presentation/onboarding/utils.dart'; import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; import 'package:ribn/presentation/onboarding/widgets/web_onboarding_app_bar.dart'; import 'package:ribn/utils.dart'; +// Package imports: +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/molecules/onboarding_action_button.dart'; /// This page allows the user to select between creating a new wallet or importing an existing wallet. class SelectActionPage extends StatelessWidget { @@ -69,7 +67,7 @@ class SelectActionPage extends StatelessWidget { kIsWeb ? Row( mainAxisAlignment: MainAxisAlignment.center, - children: actionButtons) + children: actionButtons,) : Column(children: actionButtons), SizedBox(height: adaptHeight(0.1)), ], diff --git a/lib/presentation/onboarding/create_wallet/wallet_created_page.dart b/lib/presentation/onboarding/create_wallet/wallet_created_page.dart index 9e69abdd..8b32ba32 100644 --- a/lib/presentation/onboarding/create_wallet/wallet_created_page.dart +++ b/lib/presentation/onboarding/create_wallet/wallet_created_page.dart @@ -1,12 +1,6 @@ // Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; - -// Package imports: -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/molecules/accordion.dart'; - // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/keys.dart'; @@ -18,6 +12,10 @@ import 'package:ribn/presentation/onboarding/widgets/mobile_onboarding_progress_ import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; import 'package:ribn/presentation/onboarding/widgets/web_onboarding_app_bar.dart'; import 'package:ribn/utils.dart'; +// Package imports: +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/molecules/accordion.dart'; /// This page is displayed when user successfully creates their wallet. class WalletCreatedPage extends StatefulWidget { diff --git a/lib/presentation/onboarding/create_wallet/wallet_info_checklist_page.dart b/lib/presentation/onboarding/create_wallet/wallet_info_checklist_page.dart index b75b3191..a7ea4837 100644 --- a/lib/presentation/onboarding/create_wallet/wallet_info_checklist_page.dart +++ b/lib/presentation/onboarding/create_wallet/wallet_info_checklist_page.dart @@ -1,13 +1,8 @@ // Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; - // Package imports: import 'package:local_auth/local_auth.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/molecules/checkbox_wrappable_text.dart'; - // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/keys.dart'; @@ -19,6 +14,9 @@ import 'package:ribn/presentation/onboarding/widgets/mobile_onboarding_progress_ import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; import 'package:ribn/presentation/onboarding/widgets/web_onboarding_app_bar.dart'; import 'package:ribn/utils.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/molecules/checkbox_wrappable_text.dart'; class WalletInfoChecklistPage extends StatefulWidget { const WalletInfoChecklistPage({Key? key}) : super(key: key); @@ -46,10 +44,10 @@ class _WalletInfoChecklistPageState extends State { } Future runBiometrics() async { - final LocalAuthentication _localAuthentication = LocalAuthentication(); + final LocalAuthentication localAuthentication = LocalAuthentication(); final bool isBioAuthenticationSupported = - await isBiometricsAuthenticationSupported(_localAuthentication); + await isBiometricsAuthenticationSupported(localAuthentication); setState(() { isBioSupported = isBioAuthenticationSupported ? true : false; @@ -81,7 +79,7 @@ class _WalletInfoChecklistPageState extends State { activeText: true, text: Strings.savedMyWalletPasswordSafely, onChanged: (bool? val) => onChecked( - val ?? false, Strings.savedMyWalletPasswordSafely), + val ?? false, Strings.savedMyWalletPasswordSafely,), ), SizedBox(height: adaptHeight(0.03)), _buildCheckboxListTile( @@ -101,7 +99,7 @@ class _WalletInfoChecklistPageState extends State { text: Strings.spAndPasswordUnrecoverable, onChanged: checkboxesState[Strings.toplCannotRecoverForMe]! ? (bool? val) => onChecked( - val ?? false, Strings.spAndPasswordUnrecoverable) + val ?? false, Strings.spAndPasswordUnrecoverable,) : null, renderTooltipIcon: true, ), @@ -112,7 +110,7 @@ class _WalletInfoChecklistPageState extends State { onPressed: () { Keys.navigatorKey.currentState?.pushNamed(isBioSupported ? Routes.onboardingEnableBiometrics - : Routes.walletCreated); + : Routes.walletCreated,); }, disabled: checkboxesState.containsValue(false), ) diff --git a/lib/presentation/onboarding/create_wallet/welcome_page.dart b/lib/presentation/onboarding/create_wallet/welcome_page.dart index b1081deb..012c5657 100644 --- a/lib/presentation/onboarding/create_wallet/welcome_page.dart +++ b/lib/presentation/onboarding/create_wallet/welcome_page.dart @@ -1,12 +1,6 @@ // Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; - -// Package imports: -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/molecules/wave_container.dart'; - // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/keys.dart'; @@ -14,6 +8,10 @@ import 'package:ribn/constants/routes.dart'; import 'package:ribn/constants/strings.dart'; import 'package:ribn/presentation/onboarding/utils.dart'; import 'package:ribn/presentation/onboarding/widgets/confirmation_button.dart'; +// Package imports: +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/molecules/wave_container.dart'; /// The initial welcome page displayed during onboarding on mobile. class WelcomePage extends StatelessWidget { @@ -45,7 +43,7 @@ class WelcomePage extends StatelessWidget { const SizedBox(height: 20), ConstrainedBox( constraints: const BoxConstraints( - maxWidth: kIsWeb ? double.infinity : 310), + maxWidth: kIsWeb ? double.infinity : 310,), child: Text( Strings.intro, textAlign: TextAlign.center, diff --git a/lib/presentation/onboarding/extension_info_page.dart b/lib/presentation/onboarding/extension_info_page.dart index b090bedc..b54e0bcf 100644 --- a/lib/presentation/onboarding/extension_info_page.dart +++ b/lib/presentation/onboarding/extension_info_page.dart @@ -1,15 +1,13 @@ // Flutter imports: import 'package:flutter/material.dart'; - // Package imports: import 'package:flutter_svg/svg.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; - // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/strings.dart'; import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; class ExtensionInfoPage extends StatelessWidget { const ExtensionInfoPage({Key? key}) : super(key: key); @@ -70,7 +68,7 @@ class ExtensionInfoPage extends StatelessWidget { ), WidgetSpan( child: SvgPicture.asset(RibnAssets.extensionIcon, - height: inlineIconHeight, width: inlineIconWidth), + height: inlineIconHeight, width: inlineIconWidth,), ), TextSpan( text: Strings.clickingTheIconPartThree, diff --git a/lib/presentation/onboarding/restore_wallet/create_new_wallet_password_page.dart b/lib/presentation/onboarding/restore_wallet/create_new_wallet_password_page.dart index 1f87b2c2..c6d90bef 100644 --- a/lib/presentation/onboarding/restore_wallet/create_new_wallet_password_page.dart +++ b/lib/presentation/onboarding/restore_wallet/create_new_wallet_password_page.dart @@ -2,17 +2,9 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; - // Package imports: import 'package:flutter_redux/flutter_redux.dart'; import 'package:loader_overlay/loader_overlay.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/molecules/checkbox_wrappable_text.dart'; -import 'package:ribn_toolkit/widgets/molecules/password_text_field.dart'; -import 'package:ribn_toolkit/widgets/organisms/onboarding_progress_bar.dart'; -import 'package:url_launcher/url_launcher.dart'; - // Project imports: import 'package:ribn/actions/restore_wallet_actions.dart'; import 'package:ribn/constants/strings.dart'; @@ -23,6 +15,12 @@ import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; import 'package:ribn/presentation/onboarding/widgets/warning_section.dart'; import 'package:ribn/presentation/onboarding/widgets/web_onboarding_app_bar.dart'; import 'package:ribn/utils.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/molecules/checkbox_wrappable_text.dart'; +import 'package:ribn_toolkit/widgets/molecules/password_text_field.dart'; +import 'package:ribn_toolkit/widgets/organisms/onboarding_progress_bar.dart'; +import 'package:url_launcher/url_launcher.dart'; /// Page for creating a new wallet password, when restoring wallet with a [seedPhrase]. class NewWalletPasswordPage extends StatefulWidget { @@ -96,7 +94,7 @@ class _NewWalletPasswordPageState extends State { mainAxisSize: MainAxisSize.min, children: [ renderIfWeb( - const WebOnboardingAppBar(currStep: 1, numSteps: 2)), + const WebOnboardingAppBar(currStep: 1, numSteps: 2),), const Text( Strings.restoreWallet, style: RibnToolkitTextStyles.onboardingH1, @@ -121,7 +119,7 @@ class _NewWalletPasswordPageState extends State { ), const SizedBox(height: 40), renderIfMobile( - const OnboardingProgressBar(numSteps: 2, currStep: 0)), + const OnboardingProgressBar(numSteps: 2, currStep: 0),), const SizedBox(height: 20), ConfirmationButton( text: Strings.done, diff --git a/lib/presentation/onboarding/restore_wallet/enter_wallet_password_page.dart b/lib/presentation/onboarding/restore_wallet/enter_wallet_password_page.dart index cb756046..a205e44f 100644 --- a/lib/presentation/onboarding/restore_wallet/enter_wallet_password_page.dart +++ b/lib/presentation/onboarding/restore_wallet/enter_wallet_password_page.dart @@ -3,13 +3,8 @@ import 'dart:async'; // Flutter imports: import 'package:flutter/material.dart'; - // Package imports: import 'package:flutter_redux/flutter_redux.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/molecules/password_text_field.dart'; - // Project imports: import 'package:ribn/actions/restore_wallet_actions.dart'; import 'package:ribn/constants/strings.dart'; @@ -19,6 +14,9 @@ import 'package:ribn/presentation/onboarding/widgets/confirmation_button.dart'; import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; import 'package:ribn/presentation/onboarding/widgets/warning_section.dart'; import 'package:ribn/presentation/onboarding/widgets/web_onboarding_app_bar.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/molecules/password_text_field.dart'; /// Allows the user to enter their wallet password to decrypt the Topl Key in [toplKeyStoreJson]. class EnterWalletPasswordPage extends StatefulWidget { diff --git a/lib/presentation/onboarding/restore_wallet/restore_wallet_page.dart b/lib/presentation/onboarding/restore_wallet/restore_wallet_page.dart index 19584e4c..3c7db160 100644 --- a/lib/presentation/onboarding/restore_wallet/restore_wallet_page.dart +++ b/lib/presentation/onboarding/restore_wallet/restore_wallet_page.dart @@ -1,18 +1,10 @@ // Flutter imports: +// Package imports: +import 'package:bip_topl/bip_topl.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; - -// Package imports: -import 'package:bip_topl/bip_topl.dart'; import 'package:flutter_redux/flutter_redux.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/custom_text_field.dart'; -import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; -import 'package:ribn_toolkit/widgets/atoms/peekaboo_button.dart'; -import 'package:ribn_toolkit/widgets/organisms/onboarding_progress_bar.dart'; - // Project imports: import 'package:ribn/actions/misc_actions.dart'; import 'package:ribn/constants/keys.dart'; @@ -23,6 +15,12 @@ import 'package:ribn/presentation/onboarding/utils.dart'; import 'package:ribn/presentation/onboarding/widgets/confirmation_button.dart'; import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; import 'package:ribn/presentation/onboarding/widgets/web_onboarding_app_bar.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/custom_text_field.dart'; +import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; +import 'package:ribn_toolkit/widgets/atoms/peekaboo_button.dart'; +import 'package:ribn_toolkit/widgets/organisms/onboarding_progress_bar.dart'; /// This page allows the user to enter a known mnemonic / seed phrase in order to restore a wallet. /// @@ -106,14 +104,14 @@ class _RestoreWalletPageState extends State { kIsWeb ? Align( alignment: Alignment.centerLeft, - child: _buildAdvancedOption()) + child: _buildAdvancedOption(),) : const SizedBox(), ], ), ), adaptableSpacer(), renderIfMobile( - const OnboardingProgressBar(numSteps: 2, currStep: 0)), + const OnboardingProgressBar(numSteps: 2, currStep: 0),), const SizedBox(height: 20), ConfirmationButton( text: Strings.next, diff --git a/lib/presentation/onboarding/restore_wallet/restore_with_topl_key_page.dart b/lib/presentation/onboarding/restore_wallet/restore_with_topl_key_page.dart index 7e3a6bf8..fa786c9e 100644 --- a/lib/presentation/onboarding/restore_wallet/restore_with_topl_key_page.dart +++ b/lib/presentation/onboarding/restore_wallet/restore_with_topl_key_page.dart @@ -1,14 +1,11 @@ // Dart imports: import 'dart:convert'; -// Flutter imports: -import 'package:flutter/material.dart'; - // Package imports: import 'package:file_picker/file_picker.dart'; +// Flutter imports: +import 'package:flutter/material.dart'; import 'package:flutter_redux/flutter_redux.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; - // Project imports: import 'package:ribn/actions/misc_actions.dart'; import 'package:ribn/constants/assets.dart'; @@ -20,6 +17,7 @@ import 'package:ribn/presentation/onboarding/widgets/confirmation_button.dart'; import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; import 'package:ribn/presentation/onboarding/widgets/uploaded_file_container.dart'; import 'package:ribn/presentation/onboarding/widgets/web_onboarding_app_bar.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; /// This page allows the user to upload their Topl Main Key in order to restore a wallet. /// @@ -116,7 +114,7 @@ class _RestoreWithToplKeyPageState extends State { ), const SizedBox(height: 5), const Text(Strings.fileUploadLimit, - style: RibnToolkitTextStyles.onboardingH3), + style: RibnToolkitTextStyles.onboardingH3,), const SizedBox(height: 20), Image.asset(RibnAssets.addPlusPng, width: 70), ], @@ -160,7 +158,7 @@ class _RestoreWithToplKeyPageState extends State { ), const SizedBox(height: 5), UploadedFileContainer( - uploadedFileName: uploadedFileName, width: 484, height: 46), + uploadedFileName: uploadedFileName, width: 484, height: 46,), ], ), ); diff --git a/lib/presentation/onboarding/widgets/onboarding_container.dart b/lib/presentation/onboarding/widgets/onboarding_container.dart index 656e9498..239183f7 100644 --- a/lib/presentation/onboarding/widgets/onboarding_container.dart +++ b/lib/presentation/onboarding/widgets/onboarding_container.dart @@ -33,7 +33,7 @@ class OnboardingContainer extends StatelessWidget { padding: EdgeInsets.only( top: topPadding, left: isXsScreenSize ? 10 : 20, - right: isXsScreenSize ? 10 : 20), + right: isXsScreenSize ? 10 : 20,), child: child, ), ); diff --git a/lib/presentation/onboarding/widgets/uploaded_file_container.dart b/lib/presentation/onboarding/widgets/uploaded_file_container.dart index 5e29a0e3..f4a3f0ff 100644 --- a/lib/presentation/onboarding/widgets/uploaded_file_container.dart +++ b/lib/presentation/onboarding/widgets/uploaded_file_container.dart @@ -1,11 +1,9 @@ // Flutter imports: import 'package:flutter/material.dart'; - -// Package imports: -import 'package:ribn_toolkit/constants/styles.dart'; - // Project imports: import 'package:ribn/constants/assets.dart'; +// Package imports: +import 'package:ribn_toolkit/constants/styles.dart'; /// A container that displays the uploaded file name, when restoring wallet with Topl Main Key. /// diff --git a/lib/presentation/onboarding/widgets/warning_section.dart b/lib/presentation/onboarding/widgets/warning_section.dart index 61566322..4affc342 100644 --- a/lib/presentation/onboarding/widgets/warning_section.dart +++ b/lib/presentation/onboarding/widgets/warning_section.dart @@ -1,14 +1,12 @@ // Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; - -// Package imports: -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; - // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/strings.dart'; +// Package imports: +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; /// A section to display important warning message when restoring wallet. class WarningSection extends StatelessWidget { diff --git a/lib/presentation/settings/sections/biometrics_section.dart b/lib/presentation/settings/sections/biometrics_section.dart index dbbec720..5e6a7720 100644 --- a/lib/presentation/settings/sections/biometrics_section.dart +++ b/lib/presentation/settings/sections/biometrics_section.dart @@ -2,22 +2,20 @@ import 'dart:io' show Platform; import 'dart:io'; -// Flutter imports: -import 'package:flutter/material.dart'; - // Package imports: import 'package:app_settings/app_settings.dart'; +// Flutter imports: +import 'package:flutter/material.dart'; import 'package:flutter_redux/flutter_redux.dart'; import 'package:local_auth/local_auth.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/custom_toggle.dart'; - // Project imports: import 'package:ribn/actions/user_details_actions.dart'; import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/strings.dart'; import 'package:ribn/models/app_state.dart'; import 'package:ribn/utils.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/custom_toggle.dart'; /// The section allows for users to toggle biometrics authentication on/off. class BiometricsSection extends StatefulWidget { diff --git a/lib/presentation/settings/sections/delete_wallet_confirmation_dialog.dart b/lib/presentation/settings/sections/delete_wallet_confirmation_dialog.dart index a85153b0..b88e34d1 100644 --- a/lib/presentation/settings/sections/delete_wallet_confirmation_dialog.dart +++ b/lib/presentation/settings/sections/delete_wallet_confirmation_dialog.dart @@ -1,6 +1,7 @@ // Flutter imports: import 'package:flutter/material.dart'; - +// Project imports: +import 'package:ribn/constants/strings.dart'; // Package imports: import 'package:ribn_toolkit/constants/colors.dart'; import 'package:ribn_toolkit/constants/styles.dart'; @@ -8,9 +9,6 @@ import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; import 'package:ribn_toolkit/widgets/molecules/custom_modal.dart'; import 'package:ribn_toolkit/widgets/molecules/password_text_field.dart'; -// Project imports: -import 'package:ribn/constants/strings.dart'; - /// The confimation dialog that is displayed before deleting the wallet. /// /// The user is prompted to enter their wallet password before confirming deletion. @@ -22,7 +20,7 @@ class DeleteWalletConfirmationDialog extends StatefulWidget { ) onConfirmDeletePressed; const DeleteWalletConfirmationDialog( - {required this.onConfirmDeletePressed, Key? key}) + {required this.onConfirmDeletePressed, Key? key,}) : super(key: key); @override @@ -79,7 +77,7 @@ class _DeleteWalletConfirmationDialogState ), _incorrectPasswordError ? const Text('Incorrect Password', - style: TextStyle(color: Colors.red)) + style: TextStyle(color: Colors.red),) : const SizedBox() ], ), diff --git a/lib/presentation/settings/sections/delete_wallet_section.dart b/lib/presentation/settings/sections/delete_wallet_section.dart index e4143977..39e58f37 100644 --- a/lib/presentation/settings/sections/delete_wallet_section.dart +++ b/lib/presentation/settings/sections/delete_wallet_section.dart @@ -1,14 +1,12 @@ // Flutter imports: import 'package:flutter/material.dart'; - +// Project imports: +import 'package:ribn/constants/strings.dart'; // Package imports: import 'package:ribn_toolkit/constants/colors.dart'; import 'package:ribn_toolkit/constants/styles.dart'; import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; -// Project imports: -import 'package:ribn/constants/strings.dart'; - /// The section on the settings page that allows user to delete their wallet. class DeleteWalletSection extends StatelessWidget { /// Handler for when user confirms wallet deletion. diff --git a/lib/presentation/settings/sections/disconnect_wallet_confirmation_dialog.dart b/lib/presentation/settings/sections/disconnect_wallet_confirmation_dialog.dart index 311304c7..f5e60815 100644 --- a/lib/presentation/settings/sections/disconnect_wallet_confirmation_dialog.dart +++ b/lib/presentation/settings/sections/disconnect_wallet_confirmation_dialog.dart @@ -1,16 +1,14 @@ // Flutter imports: import 'package:flutter/material.dart'; - +// Project imports: +import 'package:ribn/constants/strings.dart'; +import 'package:ribn/platform/platform.dart'; // Package imports: import 'package:ribn_toolkit/constants/colors.dart'; import 'package:ribn_toolkit/constants/styles.dart'; import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; import 'package:ribn_toolkit/widgets/molecules/custom_modal.dart'; -// Project imports: -import 'package:ribn/constants/strings.dart'; -import 'package:ribn/platform/platform.dart'; - /// The confirmation dialog that is displayed before disconnecting the wallet. class DisconnectWalletConfirmationDialog extends StatefulWidget { const DisconnectWalletConfirmationDialog({Key? key, required this.dApps}) diff --git a/lib/presentation/settings/sections/export_topl_main_key_section.dart b/lib/presentation/settings/sections/export_topl_main_key_section.dart index f8f2b029..0a39f0c1 100644 --- a/lib/presentation/settings/sections/export_topl_main_key_section.dart +++ b/lib/presentation/settings/sections/export_topl_main_key_section.dart @@ -1,14 +1,12 @@ // Flutter imports: import 'package:flutter/material.dart'; - +// Project imports: +import 'package:ribn/constants/strings.dart'; // Package imports: import 'package:ribn_toolkit/constants/colors.dart'; import 'package:ribn_toolkit/constants/styles.dart'; import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; -// Project imports: -import 'package:ribn/constants/strings.dart'; - /// The section that allows for downloading the Topl Main Key. class ExportToplMainKeySection extends StatelessWidget { /// Callback for when export button is pressed. diff --git a/lib/presentation/settings/sections/links_section.dart b/lib/presentation/settings/sections/links_section.dart index 99d5c206..f7f755ef 100644 --- a/lib/presentation/settings/sections/links_section.dart +++ b/lib/presentation/settings/sections/links_section.dart @@ -1,15 +1,13 @@ // Flutter imports: import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; - +// Project imports: +import 'package:ribn/constants/strings.dart'; // Package imports: import 'package:ribn_toolkit/constants/colors.dart'; import 'package:ribn_toolkit/constants/styles.dart'; import 'package:url_launcher/url_launcher.dart'; -// Project imports: -import 'package:ribn/constants/strings.dart'; - /// The section for displaying helpful links. class LinksSection extends StatelessWidget { const LinksSection({Key? key}) : super(key: key); diff --git a/lib/presentation/settings/sections/ribn_version_section.dart b/lib/presentation/settings/sections/ribn_version_section.dart index 1b6f381a..b74e858d 100644 --- a/lib/presentation/settings/sections/ribn_version_section.dart +++ b/lib/presentation/settings/sections/ribn_version_section.dart @@ -1,11 +1,9 @@ // Flutter imports: import 'package:flutter/material.dart'; - -// Package imports: -import 'package:ribn_toolkit/constants/styles.dart'; - // Project imports: import 'package:ribn/constants/strings.dart'; +// Package imports: +import 'package:ribn_toolkit/constants/styles.dart'; /// The section for displaying the current Ribn version. class RibnVersionSection extends StatelessWidget { diff --git a/lib/presentation/settings/settings_page.dart b/lib/presentation/settings/settings_page.dart index 3fd3a8c3..15a070d2 100644 --- a/lib/presentation/settings/settings_page.dart +++ b/lib/presentation/settings/settings_page.dart @@ -1,12 +1,8 @@ // Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; - // Package imports: import 'package:local_auth/local_auth.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/widgets/organisms/custom_page_text_title.dart'; - // Project imports: import 'package:ribn/constants/strings.dart'; import 'package:ribn/containers/settings_container.dart'; @@ -17,6 +13,8 @@ import 'package:ribn/presentation/settings/sections/export_topl_main_key_section import 'package:ribn/presentation/settings/sections/links_section.dart'; import 'package:ribn/presentation/settings/sections/ribn_version_section.dart'; import 'package:ribn/utils.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/widgets/organisms/custom_page_text_title.dart'; /// The settings page of the application. class SettingsPage extends StatefulWidget { diff --git a/lib/presentation/transaction_history/dashed_list_separator/dashed_list_separator.dart b/lib/presentation/transaction_history/dashed_list_separator/dashed_list_separator.dart index 225001bc..fb63b893 100644 --- a/lib/presentation/transaction_history/dashed_list_separator/dashed_list_separator.dart +++ b/lib/presentation/transaction_history/dashed_list_separator/dashed_list_separator.dart @@ -3,7 +3,7 @@ import 'package:flutter/material.dart'; class DashedListSeparator extends StatelessWidget { const DashedListSeparator( - {Key? key, this.height = 1, this.color = Colors.black}) + {Key? key, this.height = 1, this.color = Colors.black,}) : super(key: key); final double height; final Color color; diff --git a/lib/presentation/transaction_history/helpers/tx_history_helper_functions.dart b/lib/presentation/transaction_history/helpers/tx_history_helper_functions.dart index e5964e8e..0bc085c2 100644 --- a/lib/presentation/transaction_history/helpers/tx_history_helper_functions.dart +++ b/lib/presentation/transaction_history/helpers/tx_history_helper_functions.dart @@ -1,8 +1,7 @@ // Flutter imports: -import 'package:flutter/cupertino.dart'; - // Package imports: import 'package:brambldart/model.dart'; +import 'package:flutter/cupertino.dart'; import 'package:ribn_toolkit/constants/colors.dart'; // Project imports: diff --git a/lib/presentation/transaction_history/transaction_data_row/transaction_data_row.dart b/lib/presentation/transaction_history/transaction_data_row/transaction_data_row.dart index c2447186..7036b94c 100644 --- a/lib/presentation/transaction_history/transaction_data_row/transaction_data_row.dart +++ b/lib/presentation/transaction_history/transaction_data_row/transaction_data_row.dart @@ -1,27 +1,21 @@ // Dart imports: -import 'dart:convert'; - -// Flutter imports: -import 'package:flutter/material.dart'; - // Package imports: import 'package:brambldart/model.dart'; import 'package:brambldart/utils.dart'; +// Flutter imports: +import 'package:flutter/material.dart'; import 'package:flutter_redux/flutter_redux.dart'; import 'package:intl/intl.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/ribn_sample_data_models.dart'; -import 'package:ribn_toolkit/models/transactions/ribn_activity_details_model.dart'; -import 'package:ribn_toolkit/widgets/molecules/ribn_activity_tile.dart'; - // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/models/app_state.dart'; import 'package:ribn/models/asset_details.dart'; import 'package:ribn/utils.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/ribn_sample_data_models.dart'; +import 'package:ribn_toolkit/widgets/molecules/ribn_activity_tile.dart'; import '../../../constants/routes.dart'; -import '../transaction_history_details_page/transaction_history_details_page.dart'; class TransactionDataRow extends StatefulWidget { final List assets; @@ -159,14 +153,14 @@ class _TransactionDataRowState extends State { transactionDate: '${renderSentReceivedMintedText()} on $formattedDate', onTap: () { - Map details = { + final Map details = { 'isPolyTransaction': isPolyTransaction, 'transactionType': renderSentReceivedMintedText(), 'timestamp': formattedDateAlternate, 'assetDetails': isPolyTransaction ? {} : assetDetails ?? - {"unit": transactionAmountForAssetTransfer()}, + {'unit': transactionAmountForAssetTransfer()}, 'icon': isPolyTransaction ? renderPolyIcon() : renderAssetIcon(assetDetails?.icon), @@ -186,10 +180,10 @@ class _TransactionDataRowState extends State { 'fee': fee, 'myRibnWalletAddress': formatAddressString( widget.myRibnWalletAddress, - charsToDisplay: 4), + charsToDisplay: 4,), 'transactionSenderAddress': formatAddressString( transactionSenderAddress.senderAddress.toBase58(), - charsToDisplay: 4), + charsToDisplay: 4,), 'note': note, 'securityRoot': isPolyTransaction ? '' @@ -198,11 +192,11 @@ class _TransactionDataRowState extends State { formatAddressString(blockId.toString(), charsToDisplay: 4), 'blockHeight': blockNumber?.blockNum, 'transactionId': formatAddressString(transactionId.toString(), - charsToDisplay: 4), + charsToDisplay: 4,), 'networkId': widget.networkId, }; Navigator.pushNamed(context, Routes.txHistoryDetails, - arguments: details); + arguments: details,); }, ); }, diff --git a/lib/presentation/transaction_history/transaction_history_details_page/transaction_history_details_page.dart b/lib/presentation/transaction_history/transaction_history_details_page/transaction_history_details_page.dart index f640bea5..26a4785e 100644 --- a/lib/presentation/transaction_history/transaction_history_details_page/transaction_history_details_page.dart +++ b/lib/presentation/transaction_history/transaction_history_details_page/transaction_history_details_page.dart @@ -23,15 +23,15 @@ class TxHistoryDetailsPage extends StatefulWidget { class _TxHistoryPageDetailsState extends State { @override Widget build(BuildContext context) { - final _scrollController = ScrollController(); + final scrollController = ScrollController(); return Scaffold( backgroundColor: RibnColors.background, body: Scrollbar( thumbVisibility: true, - controller: _scrollController, + controller: scrollController, child: SingleChildScrollView( - controller: _scrollController, + controller: scrollController, child: RibnActivityDetails( activityDetails: widget.ribnActivityDetailsModel, dataTileTextStyle: const TextStyle( @@ -39,7 +39,7 @@ class _TxHistoryPageDetailsState extends State { fontSize: 12, color: RibnColors.hintTextColor, fontWeight: FontWeight.normal, - ))), + ),),), ), ); } diff --git a/lib/presentation/transaction_history/transaction_history_page.dart b/lib/presentation/transaction_history/transaction_history_page.dart index 7acab735..d314c645 100644 --- a/lib/presentation/transaction_history/transaction_history_page.dart +++ b/lib/presentation/transaction_history/transaction_history_page.dart @@ -1,12 +1,8 @@ // Flutter imports: -import 'package:flutter/material.dart'; - // Package imports: import 'package:brambldart/brambldart.dart'; +import 'package:flutter/material.dart'; import 'package:loader_overlay/loader_overlay.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/widgets/organisms/custom_page_dropdown_title.dart'; - // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/strings.dart'; @@ -15,6 +11,8 @@ import 'package:ribn/presentation/empty_state_screen.dart'; import 'package:ribn/presentation/transaction_history/dashed_list_separator/dashed_list_separator.dart'; import 'package:ribn/presentation/transaction_history/transaction_data_row/transaction_data_row.dart'; import 'package:ribn/utils.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/widgets/organisms/custom_page_dropdown_title.dart'; class TxHistoryPage extends StatefulWidget { final Future? blockHeight; diff --git a/lib/presentation/transfers/asset_transfer_page.dart b/lib/presentation/transfers/asset_transfer_page.dart index fa76c726..598977f6 100644 --- a/lib/presentation/transfers/asset_transfer_page.dart +++ b/lib/presentation/transfers/asset_transfer_page.dart @@ -1,20 +1,18 @@ // Flutter imports: import 'package:flutter/material.dart'; - // Package imports: import 'package:flutter_keyboard_visibility/flutter_keyboard_visibility.dart'; import 'package:loader_overlay/loader_overlay.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/molecules/sliding_segment_control.dart'; -import 'package:ribn_toolkit/widgets/organisms/custom_page_text_title.dart'; - // Project imports: import 'package:ribn/constants/strings.dart'; import 'package:ribn/containers/asset_transfer_input_container.dart'; import 'package:ribn/containers/poly_transfer_input_container.dart'; import 'package:ribn/presentation/transfers/asset_transfer_section.dart'; import 'package:ribn/presentation/transfers/poly_transfer_section.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/molecules/sliding_segment_control.dart'; +import 'package:ribn_toolkit/widgets/organisms/custom_page_text_title.dart'; /// The asset transfer input page that allows the initiation of an asset transfer. /// diff --git a/lib/presentation/transfers/asset_transfer_section.dart b/lib/presentation/transfers/asset_transfer_section.dart index 6bc8c859..3f9fda90 100644 --- a/lib/presentation/transfers/asset_transfer_section.dart +++ b/lib/presentation/transfers/asset_transfer_section.dart @@ -1,18 +1,10 @@ // Flutter imports: -import 'package:flutter/foundation.dart'; -import 'package:flutter/material.dart'; - // Package imports: import 'package:brambldart/brambldart.dart'; +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:loader_overlay/loader_overlay.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; -import 'package:ribn_toolkit/widgets/molecules/asset_amount_field.dart'; -import 'package:ribn_toolkit/widgets/molecules/asset_selection_field.dart'; -import 'package:ribn_toolkit/widgets/molecules/note_field.dart'; -import 'package:ribn_toolkit/widgets/molecules/recipient_field.dart'; - // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/strings.dart'; @@ -24,6 +16,12 @@ import 'package:ribn/presentation/transfers/widgets/from_address_field.dart'; import 'package:ribn/utils.dart'; import 'package:ribn/widgets/address_display_container.dart'; import 'package:ribn/widgets/fee_info.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; +import 'package:ribn_toolkit/widgets/molecules/asset_amount_field.dart'; +import 'package:ribn_toolkit/widgets/molecules/asset_selection_field.dart'; +import 'package:ribn_toolkit/widgets/molecules/note_field.dart'; +import 'package:ribn_toolkit/widgets/molecules/recipient_field.dart'; /// The asset transfer input page that allows the initiation of an asset transfer. /// @@ -182,7 +180,7 @@ class _AssetTransferSectionState extends State { _validAmount = TransferUtils.validateAmount( amount, widget.vm.getAssetBalance( - _selectedAsset?.assetCode.toString()), + _selectedAsset?.assetCode.toString(),), ); }); }, @@ -197,7 +195,7 @@ class _AssetTransferSectionState extends State { _validAmount = TransferUtils.validateAmount( amount, widget.vm.getAssetBalance( - _selectedAsset?.assetCode.toString()), + _selectedAsset?.assetCode.toString(),), ); }); }, @@ -247,7 +245,7 @@ class _AssetTransferSectionState extends State { ..text = _recipientController.text .substring(0, _recipientController.text.length) ..selection = TextSelection.collapsed( - offset: _recipientController.text.length); + offset: _recipientController.text.length,); } _validRecipientAddress = ''; }); diff --git a/lib/presentation/transfers/mint_input_page.dart b/lib/presentation/transfers/mint_input_page.dart index 6dd3dc55..acff09ae 100644 --- a/lib/presentation/transfers/mint_input_page.dart +++ b/lib/presentation/transfers/mint_input_page.dart @@ -1,24 +1,11 @@ // Flutter imports: -import 'package:flutter/foundation.dart'; -import 'package:flutter/material.dart'; - // Package imports: import 'package:brambldart/brambldart.dart'; +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; import 'package:flutter_keyboard_visibility/flutter_keyboard_visibility.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:loader_overlay/loader_overlay.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; -import 'package:ribn_toolkit/widgets/molecules/asset_amount_field.dart'; -import 'package:ribn_toolkit/widgets/molecules/asset_long_name_field.dart'; -import 'package:ribn_toolkit/widgets/molecules/asset_selection_field.dart'; -import 'package:ribn_toolkit/widgets/molecules/asset_short_name_field.dart'; -import 'package:ribn_toolkit/widgets/molecules/note_field.dart'; -import 'package:ribn_toolkit/widgets/molecules/recipient_field.dart'; -import 'package:ribn_toolkit/widgets/molecules/sliding_segment_control.dart'; -import 'package:ribn_toolkit/widgets/organisms/custom_page_text_title.dart'; - // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/strings.dart'; @@ -32,6 +19,17 @@ import 'package:ribn/presentation/transfers/widgets/issuer_address_field.dart'; import 'package:ribn/utils.dart'; import 'package:ribn/widgets/address_display_container.dart'; import 'package:ribn/widgets/fee_info.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; +import 'package:ribn_toolkit/widgets/molecules/asset_amount_field.dart'; +import 'package:ribn_toolkit/widgets/molecules/asset_long_name_field.dart'; +import 'package:ribn_toolkit/widgets/molecules/asset_selection_field.dart'; +import 'package:ribn_toolkit/widgets/molecules/asset_short_name_field.dart'; +import 'package:ribn_toolkit/widgets/molecules/note_field.dart'; +import 'package:ribn_toolkit/widgets/molecules/recipient_field.dart'; +import 'package:ribn_toolkit/widgets/molecules/sliding_segment_control.dart'; +import 'package:ribn_toolkit/widgets/organisms/custom_page_text_title.dart'; /// The mint input page that allows the initiation of an mint asset transaction. class MintInputPage extends StatefulWidget { @@ -160,7 +158,7 @@ class _MintInputPageState extends State { // ignore: prefer_const_constructors IssuerAddressField( width: - 213), // const ignored here so that tooltip can be dismissed + 213,), // const ignored here so that tooltip can be dismissed // field for entering the recipient address RecipientField( controller: _recipientController, @@ -188,7 +186,7 @@ class _MintInputPageState extends State { ..text = _recipientController.text .substring(0, _recipientController.text.length) ..selection = TextSelection.collapsed( - offset: _recipientController.text.length); + offset: _recipientController.text.length,); } _validRecipientAddress = ''; }); diff --git a/lib/presentation/transfers/poly_transfer_section.dart b/lib/presentation/transfers/poly_transfer_section.dart index d4b1f26e..7556ab6b 100644 --- a/lib/presentation/transfers/poly_transfer_section.dart +++ b/lib/presentation/transfers/poly_transfer_section.dart @@ -2,17 +2,9 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; - // Package imports: import 'package:flutter_svg/flutter_svg.dart'; import 'package:loader_overlay/loader_overlay.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/custom_text_field.dart'; -import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; -import 'package:ribn_toolkit/widgets/molecules/note_field.dart'; -import 'package:ribn_toolkit/widgets/molecules/recipient_field.dart'; - // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/strings.dart'; @@ -24,6 +16,12 @@ import 'package:ribn/presentation/transfers/widgets/from_address_field.dart'; import 'package:ribn/utils.dart'; import 'package:ribn/widgets/address_display_container.dart'; import 'package:ribn/widgets/fee_info.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/custom_text_field.dart'; +import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; +import 'package:ribn_toolkit/widgets/molecules/note_field.dart'; +import 'package:ribn_toolkit/widgets/molecules/recipient_field.dart'; /// The input page that allows initiating poly transfer transaction. /// @@ -153,7 +151,7 @@ class _PolyTransferSectionState extends State { ..text = _recipientController.text .substring(0, _recipientController.text.length) ..selection = TextSelection.collapsed( - offset: _recipientController.text.length); + offset: _recipientController.text.length,); } _validRecipientAddress = ''; }); diff --git a/lib/presentation/transfers/tx_confirmation_page.dart b/lib/presentation/transfers/tx_confirmation_page.dart index 32ecfa57..363e75ce 100644 --- a/lib/presentation/transfers/tx_confirmation_page.dart +++ b/lib/presentation/transfers/tx_confirmation_page.dart @@ -1,14 +1,5 @@ // Flutter imports: import 'package:flutter/material.dart'; - -// Package imports: -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/custom_copy_button.dart'; -import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; -import 'package:ribn_toolkit/widgets/molecules/wave_container.dart'; -import 'package:url_launcher/url_launcher.dart'; - // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/keys.dart'; @@ -17,6 +8,13 @@ import 'package:ribn/constants/rules.dart'; import 'package:ribn/constants/strings.dart'; import 'package:ribn/models/transfer_details.dart'; import 'package:ribn/utils.dart'; +// Package imports: +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/custom_copy_button.dart'; +import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; +import 'package:ribn_toolkit/widgets/molecules/wave_container.dart'; +import 'package:url_launcher/url_launcher.dart'; /// The transaction confirmation page. /// @@ -83,7 +81,7 @@ class TxConfirmationPage extends StatelessWidget { ), onPressed: () { Keys.navigatorKey.currentState!.popUntil( - (route) => route.settings.name == Routes.home); + (route) => route.settings.name == Routes.home,); }, ), ), @@ -141,25 +139,25 @@ class TxConfirmationPage extends StatelessWidget { text: TextSpan( style: RibnToolkitTextStyles.h3.copyWith( fontWeight: FontWeight.bold, - color: RibnColors.lightGreyTitle), + color: RibnColors.lightGreyTitle,), children: [ TextSpan( text: 'Your ', style: RibnToolkitTextStyles.h3.copyWith( fontWeight: FontWeight.bold, - color: RibnColors.lightGreyTitle), + color: RibnColors.lightGreyTitle,), ), TextSpan( text: txInfo, style: RibnToolkitTextStyles.h3.copyWith( fontWeight: FontWeight.bold, - color: RibnColors.lightGreyTitle), + color: RibnColors.lightGreyTitle,), ), TextSpan( text: ' was sent to the Topl blockchain.', style: RibnToolkitTextStyles.h3.copyWith( fontWeight: FontWeight.bold, - color: RibnColors.lightGreyTitle), + color: RibnColors.lightGreyTitle,), ), ], ), @@ -178,7 +176,7 @@ class TxConfirmationPage extends StatelessWidget { Text( 'Transaction ID: ${formatAddrString(transferDetails.transactionId!, charsToDisplay: 4)}', style: RibnToolkitTextStyles.h4.copyWith( - fontWeight: FontWeight.w400, color: RibnColors.lightGreyTitle), + fontWeight: FontWeight.w400, color: RibnColors.lightGreyTitle,), textAlign: TextAlign.center, ), const SizedBox(width: 5), @@ -214,7 +212,7 @@ class TxConfirmationPage extends StatelessWidget { Strings.viewInToplExplorer, style: RibnToolkitTextStyles.h4.copyWith( fontWeight: FontWeight.w400, - color: RibnColors.secondaryDark), + color: RibnColors.secondaryDark,), ), const SizedBox(width: 5), Image.asset( diff --git a/lib/presentation/transfers/tx_review_page.dart b/lib/presentation/transfers/tx_review_page.dart index 321c3c63..0d4f16b5 100644 --- a/lib/presentation/transfers/tx_review_page.dart +++ b/lib/presentation/transfers/tx_review_page.dart @@ -4,18 +4,10 @@ import 'dart:async'; // Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; - // Package imports: import 'package:flutter_redux/flutter_redux.dart'; import 'package:flutter_svg/svg.dart'; import 'package:loader_overlay/loader_overlay.dart'; -import 'package:ribn_toolkit/constants/assets.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/custom_copy_button.dart'; -import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; -import 'package:ribn_toolkit/widgets/organisms/custom_page_text_title.dart'; - // Project imports: import 'package:ribn/actions/transaction_actions.dart'; import 'package:ribn/constants/keys.dart'; @@ -30,6 +22,12 @@ import 'package:ribn/utils.dart'; import 'package:ribn/widgets/asset_info.dart'; import 'package:ribn/widgets/custom_divider.dart'; import 'package:ribn/widgets/fee_info.dart'; +import 'package:ribn_toolkit/constants/assets.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/custom_copy_button.dart'; +import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; +import 'package:ribn_toolkit/widgets/organisms/custom_page_text_title.dart'; /// The transaction review page. /// @@ -109,7 +107,7 @@ class TxReviewPage extends StatelessWidget { width: 310, child: FeeInfo( fee: transferDetails - .transactionReceipt!.fee!.getInNanopoly), + .transactionReceipt!.fee!.getInNanopoly,), ), ), ], @@ -137,7 +135,7 @@ class TxReviewPage extends StatelessWidget { context.loaderOverlay.show(); final Completer txCompleter = Completer(); StoreProvider.of(context).dispatch( - SignAndBroadcastTxAction(transferDetails, txCompleter)); + SignAndBroadcastTxAction(transferDetails, txCompleter),); await txCompleter.future .then((TransferDetails? transferDetails) { if (transferDetails != null) { @@ -182,7 +180,7 @@ class TxReviewPage extends StatelessWidget { /// A helper function used to build review items on this page. Widget _buildReviewItem( - {required String itemLabel, required Widget item, bool divider = true}) { + {required String itemLabel, required Widget item, bool divider = true,}) { return Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ @@ -233,7 +231,7 @@ class TxReviewPage extends StatelessWidget { ) : AssetInfo( assetCode: transferDetails.assetCode!, - assetDetails: transferDetails.assetDetails), + assetDetails: transferDetails.assetDetails,), ], ), ); diff --git a/lib/presentation/transfers/widgets/custom_input_field.dart b/lib/presentation/transfers/widgets/custom_input_field.dart index a6ed517a..76505313 100644 --- a/lib/presentation/transfers/widgets/custom_input_field.dart +++ b/lib/presentation/transfers/widgets/custom_input_field.dart @@ -1,13 +1,11 @@ // Flutter imports: import 'package:flutter/material.dart'; - +// Project imports: +import 'package:ribn/constants/assets.dart'; // Package imports: import 'package:ribn_toolkit/constants/styles.dart'; import 'package:ribn_toolkit/widgets/molecules/custom_tooltip.dart'; -// Project imports: -import 'package:ribn/constants/assets.dart'; - /// A wrapper widget used for custom input fields on transfer input pages. class CustomInputField extends StatelessWidget { /// Label for the input field. diff --git a/lib/presentation/transfers/widgets/from_address_field.dart b/lib/presentation/transfers/widgets/from_address_field.dart index 963f3ee5..77db0dcd 100644 --- a/lib/presentation/transfers/widgets/from_address_field.dart +++ b/lib/presentation/transfers/widgets/from_address_field.dart @@ -1,13 +1,11 @@ // Flutter imports: import 'package:flutter/material.dart'; - -// Package imports: -import 'package:ribn_toolkit/constants/assets.dart'; - // Project imports: import 'package:ribn/constants/strings.dart'; import 'package:ribn/presentation/transfers/widgets/custom_input_field.dart'; import 'package:ribn/widgets/address_display_container.dart'; +// Package imports: +import 'package:ribn_toolkit/constants/assets.dart'; /// Custom display for the sender's address. /// diff --git a/lib/presentation/transfers/widgets/issuer_address_field.dart b/lib/presentation/transfers/widgets/issuer_address_field.dart index 8954beef..febc7cbf 100644 --- a/lib/presentation/transfers/widgets/issuer_address_field.dart +++ b/lib/presentation/transfers/widgets/issuer_address_field.dart @@ -1,13 +1,11 @@ // Flutter imports: import 'package:flutter/material.dart'; - -// Package imports: -import 'package:ribn_toolkit/constants/assets.dart'; - // Project imports: import 'package:ribn/constants/strings.dart'; import 'package:ribn/presentation/transfers/widgets/custom_input_field.dart'; import 'package:ribn/widgets/address_display_container.dart'; +// Package imports: +import 'package:ribn_toolkit/constants/assets.dart'; /// Custom display for the issuer's address. /// diff --git a/lib/reducers/internal_message_reducer.dart b/lib/reducers/internal_message_reducer.dart index f2137a91..ec7d5730 100644 --- a/lib/reducers/internal_message_reducer.dart +++ b/lib/reducers/internal_message_reducer.dart @@ -9,11 +9,11 @@ import 'package:ribn/models/internal_message.dart'; final internalMessageReducer = combineReducers( [ TypedReducer( - _onReceivedInternalMsg), + _onReceivedInternalMsg,), ], ); InternalMessage _onReceivedInternalMsg( - InternalMessage? internalMessage, ReceivedInternalMsgAction action) { + InternalMessage? internalMessage, ReceivedInternalMsgAction action,) { return action.pendingRequest; } diff --git a/lib/reducers/keychain_reducer.dart b/lib/reducers/keychain_reducer.dart index f64e58b3..d5a3ace3 100644 --- a/lib/reducers/keychain_reducer.dart +++ b/lib/reducers/keychain_reducer.dart @@ -13,12 +13,12 @@ import 'package:ribn/models/ribn_network.dart'; final keychainReducer = combineReducers( [ TypedReducer( - _onHdWalletInitialization), + _onHdWalletInitialization,), TypedReducer( - _onNetworksUpdated), + _onNetworksUpdated,), TypedReducer(_onAddAddresses), TypedReducer( - _onCurrentNetworkUpdated), + _onCurrentNetworkUpdated,), TypedReducer(_onBalancesUpdated), ], ); @@ -27,7 +27,7 @@ final keychainReducer = combineReducers( /// /// Optionally updates the [keyStoreJson], for instance, when creating a new wallet for the first time. KeychainState _onHdWalletInitialization( - KeychainState keychainState, InitializeHDWalletAction action) { + KeychainState keychainState, InitializeHDWalletAction action,) { return keychainState.copyWith( keyStoreJson: action.keyStoreJson ?? keychainState.keyStoreJson, hdWallet: HdWallet( @@ -41,7 +41,7 @@ KeychainState _onHdWalletInitialization( /// Updates ribn networks with [action.networkAddresses]. KeychainState _onNetworksUpdated( - KeychainState keychainState, UpdateNetworksWithAddressesAction action) { + KeychainState keychainState, UpdateNetworksWithAddressesAction action,) { final Map networks = Map.from(keychainState.networks); networks.forEach( (networkName, ribnNetwork) { @@ -55,7 +55,7 @@ KeychainState _onNetworksUpdated( /// Add [action.addresses] to the list of addresses under the network specified by [action.networkName]. KeychainState _onAddAddresses( - KeychainState keychainState, AddAddressAction action) { + KeychainState keychainState, AddAddressAction action,) { final RibnNetwork network = keychainState.networks[action.networkName]!; final RibnNetwork updatedNetwork = network.copyWith( addresses: List.from(network.addresses)..add(action.address), @@ -73,7 +73,7 @@ KeychainState _onAddAddresses( /// More specifically, updates the [keychainState.currentNetworkName] and the [lastCheckedTimestamp] of the network associated with /// [action.networkName]. KeychainState _onCurrentNetworkUpdated( - KeychainState keychainState, UpdateCurrentNetworkAction action) { + KeychainState keychainState, UpdateCurrentNetworkAction action,) { return keychainState.copyWith( currentNetworkName: action.networkName, networks: { @@ -87,7 +87,7 @@ KeychainState _onCurrentNetworkUpdated( /// Updates the current network with a list of addresses that have updated balances. KeychainState _onBalancesUpdated( - KeychainState keychainState, UpdateBalancesAction action) { + KeychainState keychainState, UpdateBalancesAction action,) { return keychainState.copyWith( networks: { ...keychainState.networks, diff --git a/lib/reducers/onboarding_reducer.dart b/lib/reducers/onboarding_reducer.dart index 6e574f87..89e7fe2a 100644 --- a/lib/reducers/onboarding_reducer.dart +++ b/lib/reducers/onboarding_reducer.dart @@ -13,13 +13,13 @@ final onboardingReducer = combineReducers( [ TypedReducer(_onUserSelectedWord), TypedReducer( - _onMnemonicGenerated), + _onMnemonicGenerated,), ], ); /// Updates the mnemonic in [AppState] OnboardingState _onMnemonicGenerated(OnboardingState onboardingState, - MnemonicSuccessfullyGeneratedAction action) { + MnemonicSuccessfullyGeneratedAction action,) { return onboardingState.copyWith( mnemonic: action.mnemonic, shuffledMnemonic: List.from(action.mnemonic.split(' '))..shuffle(Random()), @@ -28,7 +28,7 @@ OnboardingState _onMnemonicGenerated(OnboardingState onboardingState, } OnboardingState _onUserSelectedWord( - OnboardingState onboardingState, UserSelectedWordAction action) { + OnboardingState onboardingState, UserSelectedWordAction action,) { return onboardingState.copyWith( userSelectedIndices: List.from(onboardingState.userSelectedIndices ?? []) ..add(action.idx), diff --git a/lib/reducers/user_details_reducer.dart b/lib/reducers/user_details_reducer.dart index 49959e77..2fc858b1 100644 --- a/lib/reducers/user_details_reducer.dart +++ b/lib/reducers/user_details_reducer.dart @@ -9,16 +9,16 @@ import 'package:ribn/models/user_details_state.dart'; final userDetailsReducer = combineReducers( [ TypedReducer( - _updateAssetDetails), + _updateAssetDetails,), TypedReducer( - _updateBiometricsAction), + _updateBiometricsAction,), ], ); /// Handles [UpdateAssetDetailsAction] and updates the [assetDetails] that are stored locally, associated /// with [action.assetCode]. UserDetailsState _updateAssetDetails( - UserDetailsState userDetails, UpdateAssetDetailsAction action) { + UserDetailsState userDetails, UpdateAssetDetailsAction action,) { final AssetDetails? currAssetDetails = userDetails.assetDetails[action.assetCode]; return userDetails.copyWith( @@ -35,7 +35,7 @@ UserDetailsState _updateAssetDetails( /// Handles [UpdateBiometricsAction] and updates [isBiometricsEnabled] that is stored locally UserDetailsState _updateBiometricsAction( - UserDetailsState userDetails, UpdateBiometricsAction action) { + UserDetailsState userDetails, UpdateBiometricsAction action,) { return userDetails.copyWith( isBiometricsEnabled: action.isBiometricsEnabled, ); diff --git a/lib/repositories/keychain_repository.dart b/lib/repositories/keychain_repository.dart index 974259c4..bb0c7676 100644 --- a/lib/repositories/keychain_repository.dart +++ b/lib/repositories/keychain_repository.dart @@ -27,7 +27,7 @@ class KeychainRepository { required int networkId, }) { final Bip32KeyPair keyPair = hdWallet.deriveLastThreeLayers( - account: account, change: change, address: addr); + account: account, change: change, address: addr,); final ToplAddress toplAddress = hdWallet.toBaseAddress(spend: keyPair.publicKey!, networkId: networkId); final String keyPath = getKeyPath(purpose, coinType, account, change, addr); @@ -44,7 +44,7 @@ class KeychainRepository { /// Constructs the key path, given the indices for [purpose], [coinType], [account], [change], and [address]. String getKeyPath( - int purpose, int coinType, int account, int change, int address) { + int purpose, int coinType, int account, int change, int address,) { String keyPath = 'm/'; keyPath += isHardened(purpose) ? "${purpose - Rules.hardenedOffset}'/" @@ -72,7 +72,7 @@ class KeychainRepository { /// Get corresponding crendentials of the [addresses] provided, using [hdWallet]. List getCredentials( - HdWallet hdWallet, List addresses) { + HdWallet hdWallet, List addresses,) { final List creds = []; for (RibnAddress addr in addresses) { final Bip32KeyPair keyPair = hdWallet.deriveLastThreeLayers( diff --git a/lib/repositories/onboarding_repository.dart b/lib/repositories/onboarding_repository.dart index f7e26277..adc6de42 100644 --- a/lib/repositories/onboarding_repository.dart +++ b/lib/repositories/onboarding_repository.dart @@ -74,6 +74,6 @@ class OnboardingRespository { Bip32KeyPair deriveToplExtendedKeys(String mnemonic) { final HdWallet hdWallet = HdWallet.fromMnemonic(mnemonic); return hdWallet.deriveBaseAddress( - purpose: Rules.defaultPurpose, coinType: Rules.defaultCoinType); + purpose: Rules.defaultPurpose, coinType: Rules.defaultCoinType,); } } diff --git a/lib/repositories/transaction_repository.dart b/lib/repositories/transaction_repository.dart index 8df6395d..d0f945ed 100644 --- a/lib/repositories/transaction_repository.dart +++ b/lib/repositories/transaction_repository.dart @@ -42,7 +42,7 @@ class TransactionRepository { data: Latin1Data.validated(transferDetails.data), ); final Map rawTx = await client.sendRawPolyTransfer( - polyTransaction: polyTransaction); + polyTransaction: polyTransaction,); return rawTx; } case TransferType.assetTransfer: @@ -70,7 +70,7 @@ class TransactionRepository { data: Latin1Data.validated(transferDetails.data), ); final Map rawTx = await client.sendRawAssetTransfer( - assetTransaction: assetTransaction); + assetTransaction: assetTransaction,); return rawTx; } case (TransferType.mintingAsset): @@ -98,7 +98,7 @@ class TransactionRepository { data: Latin1Data.validated(transferDetails.data), ); final Map rawTx = await client.sendRawAssetTransfer( - assetTransaction: assetTransaction); + assetTransaction: assetTransaction,); return rawTx; } default: @@ -121,7 +121,7 @@ class TransactionRepository { } Future broadcastTx( - BramblClient client, TransactionReceipt signedTx) async { + BramblClient client, TransactionReceipt signedTx,) async { return await client.sendSignedTransaction(signedTx); } diff --git a/lib/router/root_router.dart b/lib/router/root_router.dart index 084d537c..d258812c 100644 --- a/lib/router/root_router.dart +++ b/lib/router/root_router.dart @@ -1,10 +1,12 @@ +// Dart imports: import 'dart:convert'; +// Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; +// Project imports: import 'package:ribn/constants/routes.dart'; import 'package:ribn/models/internal_message.dart'; -// import 'package:ribn/models/transaction_history_entry.dart'; import 'package:ribn/models/transfer_details.dart'; import 'package:ribn/presentation/asset_details/asset_details_page.dart'; import 'package:ribn/presentation/authorize_and_sign/connect_dapp.dart'; @@ -38,34 +40,41 @@ import 'package:ribn/presentation/transfers/asset_transfer_page.dart'; import 'package:ribn/presentation/transfers/mint_input_page.dart'; import 'package:ribn/presentation/transfers/tx_confirmation_page.dart'; import 'package:ribn/presentation/transfers/tx_review_page.dart'; +// Package imports: import 'package:ribn_toolkit/models/transactions/ribn_activity_details_model.dart'; +// import 'package:ribn/models/transaction_history_entry.dart'; + class RootRouter { Route generateRoutes(RouteSettings settings) { switch (settings.name) { case Routes.welcome: { - if (kIsWeb) + if (kIsWeb) { return pageRouteNotAnimated(const WelcomePage(), settings); + } return pageRoute(const WelcomePage(), settings); } case Routes.selectAction: { - if (kIsWeb) + if (kIsWeb) { return pageRouteNotAnimated(const SelectActionPage(), settings); + } return pageRoute(const SelectActionPage(), settings); } case Routes.gettingStarted: { - if (kIsWeb) + if (kIsWeb) { return pageRouteNotAnimated(const GettingStartedPage(), settings); + } return pageRoute(const GettingStartedPage(), settings); } case Routes.seedPhraseInfoChecklist: { - if (kIsWeb) + if (kIsWeb) { return pageRouteNotAnimated( - const SeedPhraseInfoChecklistPage(), settings); + const SeedPhraseInfoChecklistPage(), settings,); + } return pageRoute( const SeedPhraseInfoChecklistPage(), settings, @@ -73,49 +82,56 @@ class RootRouter { } case Routes.seedPhraseInstructions: { - if (kIsWeb) + if (kIsWeb) { return pageRouteNotAnimated( - const SeedPhraseInstructionsPage(), settings); + const SeedPhraseInstructionsPage(), settings,); + } return pageRoute(const SeedPhraseInstructionsPage(), settings); } case Routes.generateSeedPhrase: { - if (kIsWeb) + if (kIsWeb) { return pageRouteNotAnimated( - const SeedPhraseGeneratingPage(), settings); + const SeedPhraseGeneratingPage(), settings,); + } return pageRoute(const SeedPhraseGeneratingPage(), settings); } case Routes.displaySeedphrase: { - if (kIsWeb) + if (kIsWeb) { return pageRouteNotAnimated( - const SeedPhraseDisplayPage(), settings); + const SeedPhraseDisplayPage(), settings,); + } return pageRoute(const SeedPhraseDisplayPage(), settings); } case Routes.seedPhraseConfirm: { - if (kIsWeb) + if (kIsWeb) { return pageRouteNotAnimated( - const SeedPhraseConfirmationPage(), settings); + const SeedPhraseConfirmationPage(), settings,); + } return pageRoute(const SeedPhraseConfirmationPage(), settings); } case Routes.walletInfoChecklist: { - if (kIsWeb) + if (kIsWeb) { return pageRouteNotAnimated( - const WalletInfoChecklistPage(), settings); + const WalletInfoChecklistPage(), settings,); + } return pageRoute(const WalletInfoChecklistPage(), settings); } case Routes.createPassword: { - if (kIsWeb) + if (kIsWeb) { return pageRouteNotAnimated(const CreatePasswordPage(), settings); + } return pageRoute(const CreatePasswordPage(), settings); } case Routes.extensionInfo: { - if (kIsWeb) + if (kIsWeb) { return pageRouteNotAnimated(const ExtensionInfoPage(), settings); + } return pageRoute(const ExtensionInfoPage(), settings); } case Routes.login: @@ -125,8 +141,9 @@ class RootRouter { } case Routes.walletCreated: { - if (kIsWeb) + if (kIsWeb) { return pageRouteNotAnimated(const WalletCreatedPage(), settings); + } return pageRoute(const WalletCreatedPage(), settings); } case Routes.home: @@ -136,21 +153,24 @@ class RootRouter { } case Routes.assetsTransferInput: { - if (kIsWeb) + if (kIsWeb) { return pageRouteNotAnimated(const AssetTransferPage(), settings); + } return pageRouteNotAnimated(const AssetTransferPage(), settings); } case Routes.restoreWallet: { - if (kIsWeb) + if (kIsWeb) { return pageRouteNotAnimated(const RestoreWalletPage(), settings); + } return pageRoute(const RestoreWalletPage(), settings); } case Routes.restoreWithToplKey: { - if (kIsWeb) + if (kIsWeb) { return pageRouteNotAnimated( - const RestoreWithToplKeyPage(), settings); + const RestoreWithToplKeyPage(), settings,); + } return pageRoute(const RestoreWithToplKeyPage(), settings); } case Routes.restoreWalletNewPassword: @@ -173,17 +193,19 @@ class RootRouter { } case Routes.onboardingEnableBiometrics: { - if (kIsWeb) + if (kIsWeb) { return pageRouteNotAnimated(const EnableBiometrics(), settings); + } return pageRoute(const EnableBiometrics(), settings); } case Routes.enterWalletPassword: { final String keyStoreJson = settings.arguments as String; - if (kIsWeb) + if (kIsWeb) { return pageRouteNotAnimated( EnterWalletPasswordPage(toplKeyStoreJson: keyStoreJson), - settings); + settings,); + } return pageRoute( EnterWalletPasswordPage(toplKeyStoreJson: keyStoreJson), settings, @@ -194,36 +216,39 @@ class RootRouter { final TransferDetails transferDetails = settings.arguments as TransferDetails; - if (kIsWeb) + if (kIsWeb) { return pageRouteNotAnimated( - TxReviewPage(transferDetails: transferDetails), settings); + TxReviewPage(transferDetails: transferDetails), settings,); + } return pageRoute( - TxReviewPage(transferDetails: transferDetails), settings); + TxReviewPage(transferDetails: transferDetails), settings,); } case Routes.txConfirmation: { final TransferDetails transferDetails = settings.arguments as TransferDetails; - if (kIsWeb) + if (kIsWeb) { return pageRouteNotAnimated( - TxConfirmationPage(transferDetails: transferDetails), settings); + TxConfirmationPage(transferDetails: transferDetails), settings,); + } return pageRoute( - TxConfirmationPage(transferDetails: transferDetails), settings); + TxConfirmationPage(transferDetails: transferDetails), settings,); } case Routes.mintInput: { - if (kIsWeb) + if (kIsWeb) { return pageRouteNotAnimated(const MintInputPage(), settings); + } return pageRoute( const MintInputPage(), settings, ); } case Routes.txHistoryDetails: - final Map? transactionDetailsMap = settings.arguments as Map; + final Map transactionDetailsMap = settings.arguments as Map; final RibnActivityDetailsModel transactionDetails = RibnActivityDetailsModel.fromJson( - jsonEncode(transactionDetailsMap)); + jsonEncode(transactionDetailsMap),); { return pageRoute( TxHistoryDetailsPage(ribnActivityDetailsModel: transactionDetails), @@ -237,7 +262,7 @@ class RootRouter { if (kIsWeb) { return pageRouteNotAnimated( AssetDetailsPage(asset: assetDetailsPageArgs['assetAmount']!), - settings); + settings,); } return pageRoute( AssetDetailsPage(asset: assetDetailsPageArgs['assetAmount']!), @@ -251,25 +276,28 @@ class RootRouter { case Routes.settings: { - if (kIsWeb) + if (kIsWeb) { return pageRouteNotAnimated(const SettingsPage(), settings); + } return pageRoute(const SettingsPage(), settings); } case Routes.enable: { final InternalMessage pendingRequest = settings.arguments as InternalMessage; - if (kIsWeb) + if (kIsWeb) { return pageRouteNotAnimated(EnablePage(pendingRequest), settings); + } return pageRoute(EnablePage(pendingRequest), settings); } case Routes.externalSigning: { final InternalMessage pendingRequest = settings.arguments as InternalMessage; - if (kIsWeb) + if (kIsWeb) { return pageRouteNotAnimated( - ExternalSigningPage(pendingRequest), settings); + ExternalSigningPage(pendingRequest), settings,); + } return pageRoute(ExternalSigningPage(pendingRequest), settings); } case Routes.error: @@ -289,9 +317,10 @@ class RootRouter { { final InternalMessage pendingRequest = settings.arguments as InternalMessage; - if (kIsWeb) + if (kIsWeb) { return pageRouteNotAnimated( - ReviewAndSignDApp(pendingRequest), settings); + ReviewAndSignDApp(pendingRequest), settings,); + } return pageRoute(ReviewAndSignDApp(pendingRequest), settings); } case Routes.loadingDApp: @@ -299,7 +328,7 @@ class RootRouter { final InternalMessage response = settings.arguments as InternalMessage; return pageRouteNotAnimated( - LoadingDApp(response: response), settings); + LoadingDApp(response: response), settings,); } default: return errorRoute(); @@ -307,7 +336,7 @@ class RootRouter { } Route errorRoute( - {String errorMsg = 'Unknown error occurred'}) { + {String errorMsg = 'Unknown error occurred',}) { return MaterialPageRoute( builder: (context) { return Center( @@ -330,7 +359,7 @@ class RootRouter { /// Builds a page route without an animation. Route pageRouteNotAnimated( - Widget page, RouteSettings settings) { + Widget page, RouteSettings settings,) { return PageRouteBuilder( settings: settings, pageBuilder: (context, animation, secondaryAnimation) => page, diff --git a/lib/utils.dart b/lib/utils.dart index 81bd3473..088ccf25 100644 --- a/lib/utils.dart +++ b/lib/utils.dart @@ -1,21 +1,14 @@ // Dart imports: -import 'dart:typed_data'; import 'dart:ui'; -// Flutter imports: -import 'package:flutter/foundation.dart'; -import 'package:flutter/material.dart'; - // Package imports: import 'package:barcode_widget/barcode_widget.dart'; import 'package:brambldart/utils.dart'; +// Flutter imports: +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; import 'package:flutter_redux/flutter_redux.dart'; import 'package:local_auth/local_auth.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/custom_copy_button.dart'; -import 'package:ribn_toolkit/widgets/molecules/custom_modal.dart'; - // Project imports: import 'package:ribn/actions/misc_actions.dart'; import 'package:ribn/constants/assets.dart'; @@ -26,6 +19,10 @@ import 'package:ribn/models/app_state.dart'; import 'package:ribn/models/ribn_address.dart'; import 'package:ribn/platform/platform.dart'; import 'package:ribn/widgets/custom_divider.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/custom_copy_button.dart'; +import 'package:ribn_toolkit/widgets/molecules/custom_modal.dart'; /// Formats an address string to only dispaly its first and last 10 characters. String formatAddrString(String addr, {int charsToDisplay = 10}) { diff --git a/lib/widgets/address_display_container.dart b/lib/widgets/address_display_container.dart index 45a63edc..a4011f10 100644 --- a/lib/widgets/address_display_container.dart +++ b/lib/widgets/address_display_container.dart @@ -1,15 +1,13 @@ // Flutter imports: import 'package:flutter/material.dart'; - // Package imports: import 'package:flutter_redux/flutter_redux.dart'; import 'package:flutter_svg/flutter_svg.dart'; -import 'package:ribn_toolkit/widgets/atoms/rounded_copy_text_field.dart'; - // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/models/app_state.dart'; import 'package:ribn/models/ribn_address.dart'; +import 'package:ribn_toolkit/widgets/atoms/rounded_copy_text_field.dart'; class AddressDisplayContainer extends StatefulWidget { const AddressDisplayContainer({ diff --git a/lib/widgets/asset_info.dart b/lib/widgets/asset_info.dart index 53a08122..1d3a47a9 100644 --- a/lib/widgets/asset_info.dart +++ b/lib/widgets/asset_info.dart @@ -1,13 +1,11 @@ // Flutter imports: -import 'package:flutter/material.dart'; - // Package imports: import 'package:brambldart/model.dart'; -import 'package:ribn_toolkit/constants/assets.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; - +import 'package:flutter/material.dart'; // Project imports: import 'package:ribn/models/asset_details.dart'; +import 'package:ribn_toolkit/constants/assets.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; /// A custom display for asset information. class AssetInfo extends StatelessWidget { diff --git a/lib/widgets/custom_page_title.dart b/lib/widgets/custom_page_title.dart index c9d7a7df..7a44ba49 100644 --- a/lib/widgets/custom_page_title.dart +++ b/lib/widgets/custom_page_title.dart @@ -10,7 +10,7 @@ import 'package:ribn_toolkit/widgets/atoms/custom_icon_button.dart'; /// Used during the transfer flows. class CustomPageTitle extends StatelessWidget { const CustomPageTitle( - {required this.title, this.top = 5, this.left = 10, Key? key}) + {required this.title, this.top = 5, this.left = 10, Key? key,}) : super(key: key); final String title; final double top; diff --git a/lib/widgets/fee_info.dart b/lib/widgets/fee_info.dart index 8797d547..2c6620a9 100644 --- a/lib/widgets/fee_info.dart +++ b/lib/widgets/fee_info.dart @@ -1,13 +1,11 @@ // Flutter imports: import 'package:flutter/material.dart'; - +// Project imports: +import 'package:ribn/constants/strings.dart'; // Package imports: import 'package:ribn_toolkit/constants/colors.dart'; import 'package:ribn_toolkit/constants/styles.dart'; -// Project imports: -import 'package:ribn/constants/strings.dart'; - /// A widget that displays the fee info during the transfer flows in Ribn. class FeeInfo extends StatelessWidget { const FeeInfo({required this.fee, Key? key}) : super(key: key); diff --git a/lib/widgets/ribn_app_bar_wapper.dart b/lib/widgets/ribn_app_bar_wapper.dart index cdab31e5..52bfbd2c 100644 --- a/lib/widgets/ribn_app_bar_wapper.dart +++ b/lib/widgets/ribn_app_bar_wapper.dart @@ -1,12 +1,10 @@ // Flutter imports: import 'package:flutter/material.dart'; - -// Package imports: -import 'package:ribn_toolkit/widgets/organisms/ribn_app_bar.dart'; - // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/containers/ribn_app_bar_container.dart'; +// Package imports: +import 'package:ribn_toolkit/widgets/organisms/ribn_app_bar.dart'; /// Builds a wrapper around the AppBar from ToplToolkit to provide ViewModel & AppBarContainer class RibnAppBarWrapper extends StatefulWidget implements PreferredSizeWidget { diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift index ceaa73e4..91901fb2 100644 --- a/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -10,7 +10,7 @@ import path_provider_macos import url_launcher_macos func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { - FlutterSecureStorageMacosPlugin.register(with: registry.registrar(forPlugin: "FlutterSecureStorageMacosPlugin")) + FlutterSecureStoragePlugin.register(with: registry.registrar(forPlugin: "FlutterSecureStoragePlugin")) PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin")) } diff --git a/pubspec.lock b/pubspec.lock new file mode 100644 index 00000000..a2ec1cc6 --- /dev/null +++ b/pubspec.lock @@ -0,0 +1,1313 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + _fe_analyzer_shared: + dependency: transitive + description: + name: _fe_analyzer_shared + url: "https://pub.dartlang.org" + source: hosted + version: "47.0.0" + accordion: + dependency: "direct main" + description: + name: accordion + url: "https://pub.dartlang.org" + source: hosted + version: "2.5.1" + analyzer: + dependency: transitive + description: + name: analyzer + url: "https://pub.dartlang.org" + source: hosted + version: "4.7.0" + app_settings: + dependency: "direct main" + description: + name: app_settings + url: "https://pub.dartlang.org" + source: hosted + version: "4.1.8" + archive: + dependency: transitive + description: + name: archive + url: "https://pub.dartlang.org" + source: hosted + version: "3.3.5" + args: + dependency: transitive + description: + name: args + url: "https://pub.dartlang.org" + source: hosted + version: "2.3.1" + async: + dependency: transitive + description: + name: async + url: "https://pub.dartlang.org" + source: hosted + version: "2.9.0" + back_button_interceptor: + dependency: transitive + description: + name: back_button_interceptor + url: "https://pub.dartlang.org" + source: hosted + version: "6.0.2" + barcode: + dependency: transitive + description: + name: barcode + url: "https://pub.dartlang.org" + source: hosted + version: "2.2.3" + barcode_widget: + dependency: "direct main" + description: + name: barcode_widget + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.3" + bip_topl: + dependency: "direct main" + description: + name: bip_topl + url: "https://pub.dartlang.org" + source: hosted + version: "0.0.2" + boolean_selector: + dependency: transitive + description: + name: boolean_selector + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0" + brambldart: + dependency: "direct main" + description: + path: "." + ref: TSDK-133 + resolved-ref: fa1dc12f568120b60d1b2875c299a0efd9458925 + url: "https://github.com/Topl/BramblDart" + source: git + version: "0.0.1" + build: + dependency: transitive + description: + name: build + url: "https://pub.dartlang.org" + source: hosted + version: "2.3.1" + build_config: + dependency: transitive + description: + name: build_config + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.1" + build_daemon: + dependency: transitive + description: + name: build_daemon + url: "https://pub.dartlang.org" + source: hosted + version: "3.1.0" + build_resolvers: + dependency: transitive + description: + name: build_resolvers + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.10" + build_runner: + dependency: "direct dev" + description: + name: build_runner + url: "https://pub.dartlang.org" + source: hosted + version: "2.3.0" + build_runner_core: + dependency: transitive + description: + name: build_runner_core + url: "https://pub.dartlang.org" + source: hosted + version: "7.2.7" + built_collection: + dependency: transitive + description: + name: built_collection + url: "https://pub.dartlang.org" + source: hosted + version: "5.1.1" + built_value: + dependency: "direct main" + description: + name: built_value + url: "https://pub.dartlang.org" + source: hosted + version: "8.4.2" + built_value_generator: + dependency: "direct dev" + description: + name: built_value_generator + url: "https://pub.dartlang.org" + source: hosted + version: "8.4.2" + characters: + dependency: transitive + description: + name: characters + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.1" + charcode: + dependency: transitive + description: + name: charcode + url: "https://pub.dartlang.org" + source: hosted + version: "1.3.1" + checked_yaml: + dependency: transitive + description: + name: checked_yaml + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.2" + cli_pkg: + dependency: transitive + description: + name: cli_pkg + url: "https://pub.dartlang.org" + source: hosted + version: "1.7.0" + cli_util: + dependency: transitive + description: + name: cli_util + url: "https://pub.dartlang.org" + source: hosted + version: "0.3.5" + clock: + dependency: transitive + description: + name: clock + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.1" + code_builder: + dependency: transitive + description: + name: code_builder + url: "https://pub.dartlang.org" + source: hosted + version: "4.4.0" + collection: + dependency: transitive + description: + name: collection + url: "https://pub.dartlang.org" + source: hosted + version: "1.16.0" + convert: + dependency: transitive + description: + name: convert + url: "https://pub.dartlang.org" + source: hosted + version: "3.1.1" + coverage: + dependency: transitive + description: + name: coverage + url: "https://pub.dartlang.org" + source: hosted + version: "1.6.1" + crypto: + dependency: transitive + description: + name: crypto + url: "https://pub.dartlang.org" + source: hosted + version: "3.0.2" + cupertino_icons: + dependency: "direct main" + description: + name: cupertino_icons + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.5" + dart_style: + dependency: transitive + description: + name: dart_style + url: "https://pub.dartlang.org" + source: hosted + version: "2.2.4" + device_frame: + dependency: transitive + description: + name: device_frame + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.0" + dio: + dependency: transitive + description: + name: dio + url: "https://pub.dartlang.org" + source: hosted + version: "4.0.6" + docker_process: + dependency: transitive + description: + name: docker_process + url: "https://pub.dartlang.org" + source: hosted + version: "1.3.1" + dotted_border: + dependency: "direct main" + description: + name: dotted_border + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.0+3" + dropdown_button2: + dependency: transitive + description: + name: dropdown_button2 + url: "https://pub.dartlang.org" + source: hosted + version: "1.9.2" + fake_async: + dependency: transitive + description: + name: fake_async + url: "https://pub.dartlang.org" + source: hosted + version: "1.3.1" + ffi: + dependency: transitive + description: + name: ffi + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.1" + file: + dependency: transitive + description: + name: file + url: "https://pub.dartlang.org" + source: hosted + version: "6.1.4" + file_picker: + dependency: "direct main" + description: + name: file_picker + url: "https://pub.dartlang.org" + source: hosted + version: "4.6.1" + fixnum: + dependency: transitive + description: + name: fixnum + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.1" + flutter: + dependency: "direct main" + description: flutter + source: sdk + version: "0.0.0" + flutter_keyboard_visibility: + dependency: "direct main" + description: + name: flutter_keyboard_visibility + url: "https://pub.dartlang.org" + source: hosted + version: "5.4.0" + flutter_keyboard_visibility_linux: + dependency: transitive + description: + name: flutter_keyboard_visibility_linux + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.0" + flutter_keyboard_visibility_macos: + dependency: transitive + description: + name: flutter_keyboard_visibility_macos + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.0" + flutter_keyboard_visibility_platform_interface: + dependency: transitive + description: + name: flutter_keyboard_visibility_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.0" + flutter_keyboard_visibility_web: + dependency: transitive + description: + name: flutter_keyboard_visibility_web + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.0" + flutter_keyboard_visibility_windows: + dependency: transitive + description: + name: flutter_keyboard_visibility_windows + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.0" + flutter_launcher_icons: + dependency: "direct dev" + description: + name: flutter_launcher_icons + url: "https://pub.dartlang.org" + source: hosted + version: "0.11.0" + flutter_lints: + dependency: "direct dev" + description: + name: flutter_lints + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.1" + flutter_native_splash: + dependency: "direct main" + description: + name: flutter_native_splash + url: "https://pub.dartlang.org" + source: hosted + version: "2.2.0+1" + flutter_plugin_android_lifecycle: + dependency: transitive + description: + name: flutter_plugin_android_lifecycle + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.7" + flutter_portal: + dependency: "direct main" + description: + name: flutter_portal + url: "https://pub.dartlang.org" + source: hosted + version: "0.4.0" + flutter_redux: + dependency: "direct main" + description: + name: flutter_redux + url: "https://pub.dartlang.org" + source: hosted + version: "0.10.0" + flutter_secure_storage: + dependency: "direct main" + description: + name: flutter_secure_storage + url: "https://pub.dartlang.org" + source: hosted + version: "7.0.1" + flutter_secure_storage_linux: + dependency: transitive + description: + name: flutter_secure_storage_linux + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.2" + flutter_secure_storage_macos: + dependency: transitive + description: + name: flutter_secure_storage_macos + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.1" + flutter_secure_storage_platform_interface: + dependency: transitive + description: + name: flutter_secure_storage_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.1" + flutter_secure_storage_web: + dependency: transitive + description: + name: flutter_secure_storage_web + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.1" + flutter_secure_storage_windows: + dependency: transitive + description: + name: flutter_secure_storage_windows + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.3" + flutter_svg: + dependency: "direct main" + description: + name: flutter_svg + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.3" + flutter_test: + dependency: "direct dev" + description: flutter + source: sdk + version: "0.0.0" + flutter_web_plugins: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" + freezed_annotation: + dependency: transitive + description: + name: freezed_annotation + url: "https://pub.dartlang.org" + source: hosted + version: "2.2.0" + frontend_server_client: + dependency: transitive + description: + name: frontend_server_client + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.3" + get: + dependency: transitive + description: + name: get + url: "https://pub.dartlang.org" + source: hosted + version: "4.6.5" + get_it: + dependency: "direct main" + description: + name: get_it + url: "https://pub.dartlang.org" + source: hosted + version: "7.2.0" + glob: + dependency: transitive + description: + name: glob + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.1" + go_router: + dependency: transitive + description: + name: go_router + url: "https://pub.dartlang.org" + source: hosted + version: "3.1.1" + google_fonts: + dependency: "direct main" + description: + name: google_fonts + url: "https://pub.dartlang.org" + source: hosted + version: "3.0.1" + googleapis_auth: + dependency: transitive + description: + name: googleapis_auth + url: "https://pub.dartlang.org" + source: hosted + version: "1.3.1" + graphs: + dependency: transitive + description: + name: graphs + url: "https://pub.dartlang.org" + source: hosted + version: "2.2.0" + grinder: + dependency: transitive + description: + name: grinder + url: "https://pub.dartlang.org" + source: hosted + version: "0.9.2" + grpc: + dependency: "direct main" + description: + name: grpc + url: "https://pub.dartlang.org" + source: hosted + version: "3.1.0" + http: + dependency: transitive + description: + name: http + url: "https://pub.dartlang.org" + source: hosted + version: "0.13.5" + http2: + dependency: transitive + description: + name: http2 + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.1" + http_multi_server: + dependency: transitive + description: + name: http_multi_server + url: "https://pub.dartlang.org" + source: hosted + version: "3.2.1" + http_parser: + dependency: transitive + description: + name: http_parser + url: "https://pub.dartlang.org" + source: hosted + version: "4.0.2" + image: + dependency: transitive + description: + name: image + url: "https://pub.dartlang.org" + source: hosted + version: "3.1.3" + import_sorter: + dependency: "direct main" + description: + name: import_sorter + url: "https://pub.dartlang.org" + source: hosted + version: "4.6.0" + intl: + dependency: "direct main" + description: + name: intl + url: "https://pub.dartlang.org" + source: hosted + version: "0.17.0" + io: + dependency: transitive + description: + name: io + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.3" + js: + dependency: transitive + description: + name: js + url: "https://pub.dartlang.org" + source: hosted + version: "0.6.4" + json_annotation: + dependency: transitive + description: + name: json_annotation + url: "https://pub.dartlang.org" + source: hosted + version: "4.7.0" + lazy_load_scrollview: + dependency: "direct main" + description: + name: lazy_load_scrollview + url: "https://pub.dartlang.org" + source: hosted + version: "1.3.0" + lint: + dependency: transitive + description: + name: lint + url: "https://pub.dartlang.org" + source: hosted + version: "1.10.0" + lints: + dependency: transitive + description: + name: lints + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.1" + loader_overlay: + dependency: "direct main" + description: + name: loader_overlay + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0" + loading_overlay: + dependency: "direct main" + description: + name: loading_overlay + url: "https://pub.dartlang.org" + source: hosted + version: "0.3.0" + local_auth: + dependency: "direct main" + description: + name: local_auth + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.3" + local_auth_android: + dependency: transitive + description: + name: local_auth_android + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.17" + local_auth_ios: + dependency: transitive + description: + name: local_auth_ios + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.12" + local_auth_platform_interface: + dependency: transitive + description: + name: local_auth_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.6" + local_auth_windows: + dependency: transitive + description: + name: local_auth_windows + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.4" + logging: + dependency: transitive + description: + name: logging + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.0" + matcher: + dependency: transitive + description: + name: matcher + url: "https://pub.dartlang.org" + source: hosted + version: "0.12.12" + material_color_utilities: + dependency: transitive + description: + name: material_color_utilities + url: "https://pub.dartlang.org" + source: hosted + version: "0.1.5" + meta: + dependency: transitive + description: + name: meta + url: "https://pub.dartlang.org" + source: hosted + version: "1.8.0" + mime: + dependency: transitive + description: + name: mime + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.3" + mockito: + dependency: "direct main" + description: + name: mockito + url: "https://pub.dartlang.org" + source: hosted + version: "5.3.2" + nested: + dependency: transitive + description: + name: nested + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.0" + node_interop: + dependency: transitive + description: + name: node_interop + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0" + node_preamble: + dependency: transitive + description: + name: node_preamble + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.1" + package_config: + dependency: transitive + description: + name: package_config + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0" + path: + dependency: transitive + description: + name: path + url: "https://pub.dartlang.org" + source: hosted + version: "1.8.2" + path_drawing: + dependency: transitive + description: + name: path_drawing + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.1" + path_parsing: + dependency: transitive + description: + name: path_parsing + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.1" + path_provider: + dependency: "direct main" + description: + name: path_provider + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.11" + path_provider_android: + dependency: transitive + description: + name: path_provider_android + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.22" + path_provider_ios: + dependency: transitive + description: + name: path_provider_ios + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.11" + path_provider_linux: + dependency: transitive + description: + name: path_provider_linux + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.7" + path_provider_macos: + dependency: transitive + description: + name: path_provider_macos + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.6" + path_provider_platform_interface: + dependency: transitive + description: + name: path_provider_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.5" + path_provider_windows: + dependency: transitive + description: + name: path_provider_windows + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.7" + petitparser: + dependency: transitive + description: + name: petitparser + url: "https://pub.dartlang.org" + source: hosted + version: "5.1.0" + pinenacl: + dependency: transitive + description: + name: pinenacl + url: "https://pub.dartlang.org" + source: hosted + version: "0.3.4" + platform: + dependency: transitive + description: + name: platform + url: "https://pub.dartlang.org" + source: hosted + version: "3.1.0" + plugin_platform_interface: + dependency: transitive + description: + name: plugin_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.3" + pointycastle: + dependency: transitive + description: + name: pointycastle + url: "https://pub.dartlang.org" + source: hosted + version: "3.6.2" + pool: + dependency: transitive + description: + name: pool + url: "https://pub.dartlang.org" + source: hosted + version: "1.5.1" + process: + dependency: transitive + description: + name: process + url: "https://pub.dartlang.org" + source: hosted + version: "4.2.4" + progress_indicators: + dependency: "direct main" + description: + name: progress_indicators + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.0" + protobuf: + dependency: transitive + description: + name: protobuf + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0" + provider: + dependency: transitive + description: + name: provider + url: "https://pub.dartlang.org" + source: hosted + version: "6.0.5" + pub_semver: + dependency: transitive + description: + name: pub_semver + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.3" + pubspec_parse: + dependency: transitive + description: + name: pubspec_parse + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.1" + qr: + dependency: transitive + description: + name: qr + url: "https://pub.dartlang.org" + source: hosted + version: "3.0.1" + quiver: + dependency: transitive + description: + name: quiver + url: "https://pub.dartlang.org" + source: hosted + version: "3.2.1" + redux: + dependency: "direct main" + description: + name: redux + url: "https://pub.dartlang.org" + source: hosted + version: "5.0.0" + redux_epics: + dependency: "direct main" + description: + name: redux_epics + url: "https://pub.dartlang.org" + source: hosted + version: "0.15.1" + ribn_toolkit: + dependency: "direct main" + description: + path: "." + ref: main + resolved-ref: "5ccb7a7e1454fb2281545701164f9d38a46fae85" + url: "https://github.com/Topl/ribn-toolkit" + source: git + version: "1.0.0+1" + rxdart: + dependency: "direct main" + description: + name: rxdart + url: "https://pub.dartlang.org" + source: hosted + version: "0.27.7" + scroll_to_index: + dependency: transitive + description: + name: scroll_to_index + url: "https://pub.dartlang.org" + source: hosted + version: "3.0.1" + shelf: + dependency: transitive + description: + name: shelf + url: "https://pub.dartlang.org" + source: hosted + version: "1.4.0" + shelf_packages_handler: + dependency: transitive + description: + name: shelf_packages_handler + url: "https://pub.dartlang.org" + source: hosted + version: "3.0.1" + shelf_static: + dependency: transitive + description: + name: shelf_static + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.1" + shelf_web_socket: + dependency: transitive + description: + name: shelf_web_socket + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.3" + shimmer_animation: + dependency: "direct main" + description: + name: shimmer_animation + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0+1" + sky_engine: + dependency: transitive + description: flutter + source: sdk + version: "0.0.99" + source_gen: + dependency: transitive + description: + name: source_gen + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.6" + source_map_stack_trace: + dependency: transitive + description: + name: source_map_stack_trace + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.1" + source_maps: + dependency: transitive + description: + name: source_maps + url: "https://pub.dartlang.org" + source: hosted + version: "0.10.11" + source_span: + dependency: transitive + description: + name: source_span + url: "https://pub.dartlang.org" + source: hosted + version: "1.9.0" + stack_trace: + dependency: transitive + description: + name: stack_trace + url: "https://pub.dartlang.org" + source: hosted + version: "1.10.0" + step_progress_indicator: + dependency: "direct main" + description: + name: step_progress_indicator + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.2" + steps_indicator: + dependency: "direct main" + description: + name: steps_indicator + url: "https://pub.dartlang.org" + source: hosted + version: "1.3.0" + stream_channel: + dependency: transitive + description: + name: stream_channel + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0" + stream_transform: + dependency: transitive + description: + name: stream_transform + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0" + string_scanner: + dependency: transitive + description: + name: string_scanner + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.1" + term_glyph: + dependency: transitive + description: + name: term_glyph + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.1" + test: + dependency: transitive + description: + name: test + url: "https://pub.dartlang.org" + source: hosted + version: "1.21.4" + test_api: + dependency: transitive + description: + name: test_api + url: "https://pub.dartlang.org" + source: hosted + version: "0.4.12" + test_core: + dependency: transitive + description: + name: test_core + url: "https://pub.dartlang.org" + source: hosted + version: "0.4.16" + test_process: + dependency: transitive + description: + name: test_process + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.3" + timing: + dependency: transitive + description: + name: timing + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.0" + tint: + dependency: transitive + description: + name: tint + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.0" + typed_data: + dependency: transitive + description: + name: typed_data + url: "https://pub.dartlang.org" + source: hosted + version: "1.3.1" + universal_io: + dependency: transitive + description: + name: universal_io + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.4" + unorm_dart: + dependency: transitive + description: + name: unorm_dart + url: "https://pub.dartlang.org" + source: hosted + version: "0.2.0" + url_launcher: + dependency: "direct main" + description: + name: url_launcher + url: "https://pub.dartlang.org" + source: hosted + version: "6.1.7" + url_launcher_android: + dependency: transitive + description: + name: url_launcher_android + url: "https://pub.dartlang.org" + source: hosted + version: "6.0.22" + url_launcher_ios: + dependency: transitive + description: + name: url_launcher_ios + url: "https://pub.dartlang.org" + source: hosted + version: "6.0.17" + url_launcher_linux: + dependency: transitive + description: + name: url_launcher_linux + url: "https://pub.dartlang.org" + source: hosted + version: "3.0.1" + url_launcher_macos: + dependency: transitive + description: + name: url_launcher_macos + url: "https://pub.dartlang.org" + source: hosted + version: "3.0.1" + url_launcher_platform_interface: + dependency: transitive + description: + name: url_launcher_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.1" + url_launcher_web: + dependency: transitive + description: + name: url_launcher_web + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.13" + url_launcher_windows: + dependency: transitive + description: + name: url_launcher_windows + url: "https://pub.dartlang.org" + source: hosted + version: "3.0.1" + url_strategy: + dependency: "direct main" + description: + name: url_strategy + url: "https://pub.dartlang.org" + source: hosted + version: "0.2.0" + uuid: + dependency: transitive + description: + name: uuid + url: "https://pub.dartlang.org" + source: hosted + version: "3.0.7" + vector_math: + dependency: transitive + description: + name: vector_math + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.2" + vm_service: + dependency: transitive + description: + name: vm_service + url: "https://pub.dartlang.org" + source: hosted + version: "9.4.0" + watcher: + dependency: transitive + description: + name: watcher + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.2" + wave: + dependency: transitive + description: + name: wave + url: "https://pub.dartlang.org" + source: hosted + version: "0.2.2" + web_socket_channel: + dependency: transitive + description: + name: web_socket_channel + url: "https://pub.dartlang.org" + source: hosted + version: "2.2.0" + webkit_inspection_protocol: + dependency: transitive + description: + name: webkit_inspection_protocol + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.0" + widgetbook: + dependency: transitive + description: + path: "packages/widgetbook" + ref: HEAD + resolved-ref: "45493c98c086800ced701c48f8a2a895ec8ae2a4" + url: "https://github.com/Topl/widgetbook" + source: git + version: "2.4.1" + widgetbook_annotation: + dependency: transitive + description: + name: widgetbook_annotation + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0" + widgetbook_generator: + dependency: transitive + description: + name: widgetbook_generator + url: "https://pub.dartlang.org" + source: hosted + version: "2.4.1" + widgetbook_models: + dependency: transitive + description: + name: widgetbook_models + url: "https://pub.dartlang.org" + source: hosted + version: "0.0.7" + win32: + dependency: transitive + description: + name: win32 + url: "https://pub.dartlang.org" + source: hosted + version: "2.6.1" + xdg_directories: + dependency: transitive + description: + name: xdg_directories + url: "https://pub.dartlang.org" + source: hosted + version: "0.2.0+2" + xml: + dependency: transitive + description: + name: xml + url: "https://pub.dartlang.org" + source: hosted + version: "5.4.1" + yaml: + dependency: transitive + description: + name: yaml + url: "https://pub.dartlang.org" + source: hosted + version: "3.1.1" +sdks: + dart: ">=2.18.0 <3.0.0" + flutter: ">=3.0.1" diff --git a/test/middleware_test.dart b/test/middleware_test.dart index 385f68ea..bb996e30 100644 --- a/test/middleware_test.dart +++ b/test/middleware_test.dart @@ -61,7 +61,7 @@ void main() { verify(onboardingRepo.generateMnemonicForUser()).called(1); expect(testStore.state.onboardingState.mnemonic, testMnemonic); expect(testStore.state.onboardingState.shuffledMnemonic, - unorderedEquals(testMnemonic.split(' '))); + unorderedEquals(testMnemonic.split(' ')),); }); test('should generate keystore and initialize hd wallet', () async { when(onboardingRepo.generateMnemonicForUser()) @@ -128,7 +128,7 @@ void main() { loginRepo.decryptKeyStore(argThat(isNotNull)), ).thenAnswer( (_) => const LoginRepository().decryptKeyStore( - {'keyStoreJson': testKeyStore, 'password': invalidPassword}), + {'keyStoreJson': testKeyStore, 'password': invalidPassword},), ); final Completer completer = Completer(); testStore.dispatch(AttemptLoginAction(invalidPassword, completer)); @@ -161,14 +161,14 @@ void main() { Duration.zero, () => testStore.dispatch( InitializeHDWalletAction( - toplExtendedPrivateKey: TestData.toplExtendedPrvKeyUint8List), + toplExtendedPrivateKey: TestData.toplExtendedPrvKeyUint8List,), ), ); when(keychainRepo.generateAddress(argThat(isNotNull), - networkId: captureAnyNamed('networkId'))) + networkId: captureAnyNamed('networkId'),),) .thenAnswer((_) => testAddress); testStore.dispatch(GenerateAddressAction(0, - network: testStore.state.keychainState.currentNetwork)); + network: testStore.state.keychainState.currentNetwork,),); when(keychainRepo.getBalances(captureAny, captureAny)).thenAnswer((_) { return Future.value( (_.positionalArguments[1] as List) @@ -184,7 +184,7 @@ void main() { }); final Completer completer = Completer(); testStore.dispatch(RefreshBalancesAction( - completer, testStore.state.keychainState.currentNetwork)); + completer, testStore.state.keychainState.currentNetwork,),); await expectLater(completer.future, completion(true)); expect( testStore diff --git a/test/reducer_test.dart b/test/reducer_test.dart index 3e298cda..6648ce82 100644 --- a/test/reducer_test.dart +++ b/test/reducer_test.dart @@ -1,15 +1,12 @@ // Dart imports: -import 'dart:typed_data'; - -// Flutter imports: -import 'package:flutter/foundation.dart'; // Package imports: import 'package:bip_topl/bip_topl.dart' as bip_topl; import 'package:brambldart/brambldart.dart'; +// Flutter imports: +import 'package:flutter/foundation.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:redux/redux.dart'; - // Project imports: import 'package:ribn/actions/keychain_actions.dart'; import 'package:ribn/actions/onboarding_actions.dart'; @@ -19,6 +16,7 @@ import 'package:ribn/models/app_state.dart'; import 'package:ribn/models/ribn_address.dart'; import 'package:ribn/redux.dart'; import 'package:ribn/repositories/keychain_repository.dart'; + import 'test_data.dart'; void main() { diff --git a/test/test_data.dart b/test/test_data.dart index fc75efbe..d732e180 100644 --- a/test/test_data.dart +++ b/test/test_data.dart @@ -19,11 +19,11 @@ Map testData = { 'invalidPassword': '1234567', 'address': RibnAddress( toplAddress: ToplAddress.fromBase58( - 'AUDxRxPtWPeejAMfEeYMYfwQ7Shk5qLw4swZkW6sek3D4FMDrQ6D'), + 'AUDxRxPtWPeejAMfEeYMYfwQ7Shk5qLw4swZkW6sek3D4FMDrQ6D',), addressIndex: 0, keyPath: '', balance: Rules.initBalance( - 'AUDxRxPtWPeejAMfEeYMYfwQ7Shk5qLw4swZkW6sek3D4FMDrQ6D'), + 'AUDxRxPtWPeejAMfEeYMYfwQ7Shk5qLw4swZkW6sek3D4FMDrQ6D',), networkId: NetworkUtils.privateId, ), }; From 71d0f075d2848ace9132450b7cd58ca9d8bc97a7 Mon Sep 17 00:00:00 2001 From: Siphamandla brian Mjoli Date: Thu, 5 Jan 2023 23:48:06 +0200 Subject: [PATCH 17/58] update(pubspec): updated file --- Makefile | 4 +- analysis_options.yaml | 88 +++++++++---------- lib/actions/keychain_actions.dart | 6 +- lib/actions/restore_wallet_actions.dart | 12 ++- .../asset_transfer_input_container.dart | 6 +- lib/containers/create_password_container.dart | 8 +- lib/containers/login_container.dart | 14 +-- lib/containers/mint_input_container.dart | 6 +- lib/containers/ribn_app_bar_container.dart | 4 +- .../transaction_history_container.dart | 8 +- lib/containers/wallet_balance_container.dart | 14 ++- lib/genus/generated/types.pb.dart | 6 +- lib/helpers/helper_functions.dart | 5 +- lib/middlewares/epic_middleware.dart | 22 +++-- .../internal_message_middleware.dart | 13 ++- lib/middlewares/keychain_middleware.dart | 34 ++++--- lib/middlewares/login_middleware.dart | 19 ++-- lib/middlewares/misc_middleware.dart | 19 ++-- lib/middlewares/onboarding_middleware.dart | 22 +++-- .../restore_wallet_middleware.dart | 21 +++-- lib/middlewares/transaction_middleware.dart | 41 ++++++--- lib/models/keychain_state.dart | 6 +- lib/models/ribn_address.dart | 6 +- lib/models/ribn_network.dart | 28 +++--- lib/models/transfer_details.dart | 6 +- lib/platform/mobile/storage.dart | 6 +- lib/platform/web/genus_config.dart | 3 +- .../asset_icon_edit_section.dart | 17 ++-- .../asset_long_name_edit_section.dart | 19 ++-- .../asset_unit_edit_section.dart | 19 ++-- .../asset_code_details.dart | 10 ++- .../asset_code_short_details.dart | 8 +- .../asset_long_name_details.dart | 14 +-- .../issuer_address_details.dart | 8 +- .../asset_details/asset_details_page.dart | 30 +++++-- .../authorize_and_sign/connect_dapp.dart | 13 +-- .../input_dropdown_wrapper.dart | 6 +- .../authorize_and_sign/loading_dapp.dart | 6 +- .../authorize_and_sign/review_and_sign.dart | 15 ++-- .../transaction_row_details.dart | 14 +-- lib/presentation/empty_state_screen.dart | 7 +- lib/presentation/enable_page.dart | 4 +- lib/presentation/error_section.dart | 8 +- lib/presentation/home/home_page.dart | 8 +- .../home/wallet_balance_page.dart | 30 ++++--- lib/presentation/login/login_page.dart | 28 +++--- .../create_wallet/create_password_page.dart | 15 ++-- .../create_wallet/enable_biometrics_page.dart | 14 +-- .../create_wallet/getting_started_page.dart | 8 +- .../seed_phrase_confirmation_page.dart | 42 ++++++--- .../seed_phrase_display_page.dart | 26 ++++-- .../seed_phrase_generating_page.dart | 8 +- .../seed_phrase_info_checklist_page.dart | 14 +-- .../seed_phrase_instructions_page.dart | 12 ++- .../create_wallet/select_action_page.dart | 13 +-- .../create_wallet/wallet_created_page.dart | 10 ++- .../wallet_info_checklist_page.dart | 24 +++-- .../create_wallet/welcome_page.dart | 13 +-- .../onboarding/extension_info_page.dart | 13 ++- .../create_new_wallet_password_page.dart | 20 +++-- .../enter_wallet_password_page.dart | 8 +- .../restore_wallet/restore_wallet_page.dart | 26 +++--- .../restore_with_topl_key_page.dart | 19 ++-- .../widgets/onboarding_container.dart | 7 +- .../widgets/uploaded_file_container.dart | 6 +- .../onboarding/widgets/warning_section.dart | 8 +- .../settings/sections/biometrics_section.dart | 10 ++- .../delete_wallet_confirmation_dialog.dart | 19 ++-- .../sections/delete_wallet_section.dart | 6 +- ...disconnect_wallet_confirmation_dialog.dart | 8 +- .../export_topl_main_key_section.dart | 6 +- .../settings/sections/links_section.dart | 6 +- .../sections/ribn_version_section.dart | 6 +- lib/presentation/settings/settings_page.dart | 6 +- .../dashed_list_separator.dart | 8 +- .../helpers/tx_history_helper_functions.dart | 5 +- .../transaction_data_row.dart | 37 +++++--- .../transaction_history_details_page.dart | 20 +++-- .../transaction_history_page.dart | 10 ++- .../transfers/asset_transfer_page.dart | 10 ++- .../transfers/asset_transfer_section.dart | 29 +++--- .../transfers/mint_input_page.dart | 37 ++++---- .../transfers/poly_transfer_section.dart | 17 ++-- .../transfers/tx_confirmation_page.dart | 48 ++++++---- .../transfers/tx_review_page.dart | 32 ++++--- .../transfers/widgets/custom_input_field.dart | 6 +- .../transfers/widgets/from_address_field.dart | 6 +- .../widgets/issuer_address_field.dart | 6 +- lib/reducers/internal_message_reducer.dart | 7 +- lib/reducers/keychain_reducer.dart | 29 ++++-- lib/reducers/onboarding_reducer.dart | 13 ++- lib/reducers/user_details_reducer.dart | 14 ++- lib/repositories/keychain_repository.dart | 16 +++- lib/repositories/onboarding_repository.dart | 4 +- lib/repositories/transaction_repository.dart | 13 ++- lib/router/root_router.dart | 84 +++++++++++++----- lib/utils.dart | 16 ++-- lib/widgets/address_display_container.dart | 4 +- lib/widgets/asset_info.dart | 10 ++- lib/widgets/custom_page_title.dart | 9 +- lib/widgets/fee_info.dart | 6 +- lib/widgets/ribn_app_bar_wapper.dart | 6 +- test/middleware_test.dart | 37 +++++--- test/reducer_test.dart | 7 +- test/test_data.dart | 6 +- 105 files changed, 1037 insertions(+), 579 deletions(-) diff --git a/Makefile b/Makefile index 68640870..131b1002 100644 --- a/Makefile +++ b/Makefile @@ -45,9 +45,9 @@ gen: ## Generates the assets format: ## Formats the code @echo "╠ Formatting the code" - @dart format lib . + @dart format . @flutter pub run import_sorter:main - @flutter format lib + @flutter format . lint: ## Lints the code @echo "╠ Verifying code..." diff --git a/analysis_options.yaml b/analysis_options.yaml index 6e38b4ea..51dd4f5a 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -36,49 +36,49 @@ linter: # `// ignore_for_file: name_of_lint` syntax on the line or in the file # producing the lint. rules: - - annotate_overrides - - require_trailing_commas - - avoid_unused_constructor_parameters - - await_only_futures - - camel_case_types - - cancel_subscriptions - - directives_ordering - - empty_catches - - empty_statements - - hash_and_equals - - iterable_contains_unrelated_type - - list_remove_unrelated_type - - no_adjacent_strings_in_list - - no_duplicate_case_values - - non_constant_identifier_names - - only_throw_errors - - overridden_fields - - prefer_collection_literals - - prefer_conditional_assignment - - prefer_contains - - prefer_final_fields - - prefer_final_locals - - prefer_initializing_formals - - prefer_interpolation_to_compose_strings - - prefer_is_empty - - prefer_is_not_empty - - prefer_single_quotes - - prefer_typing_uninitialized_variables - - recursive_getters - - slash_for_doc_comments - - test_types_in_equals - - throw_in_finally - - type_init_formals - - unawaited_futures - - unnecessary_brace_in_string_interps - - unnecessary_getters_setters - - unnecessary_lambdas - - unnecessary_new - - unnecessary_null_aware_assignments - - unnecessary_statements - - unnecessary_this - - unrelated_type_equality_checks - - use_rethrow_when_possible - - valid_regexps + annotate_overrides + require_trailing_commas:true + avoid_unused_constructor_parameters:true + await_only_futures:true + camel_case_types:true + cancel_subscriptions:true + directives_ordering:true + empty_catches:true + empty_statements:true + hash_and_equals:true + iterable_contains_unrelated_type:true + list_remove_unrelated_type:true + no_adjacent_strings_in_list:true + no_duplicate_case_values:true + non_constant_identifier_names:true + only_throw_errors:true + overridden_fields:true + prefer_collection_literals:true + prefer_conditional_assignment:true + prefer_contains:true + prefer_final_fields:true + prefer_final_locals:true + prefer_initializing_formals:true + prefer_interpolation_to_compose_strings:true + prefer_is_empty:true + prefer_is_not_empty:true + prefer_single_quotes:true + prefer_typing_uninitialized_variables:true + recursive_getters:true + slash_for_doc_comments:true + test_types_in_equals:true + throw_in_finally:true + type_init_formals:true + unawaited_futures:true + unnecessary_brace_in_string_interps:true + unnecessary_getters_setters:true + unnecessary_lambdas:true + unnecessary_new:true + unnecessary_null_aware_assignments:true + unnecessary_statements:true + unnecessary_this:true + unrelated_type_equality_checks:true + use_rethrow_when_possible:true + valid_regexps:true # Additional information about this file can be found at # https://dart.dev/guides/language/analysis-options diff --git a/lib/actions/keychain_actions.dart b/lib/actions/keychain_actions.dart index 72b1f02c..fd66a494 100644 --- a/lib/actions/keychain_actions.dart +++ b/lib/actions/keychain_actions.dart @@ -10,8 +10,10 @@ import 'package:ribn/models/ribn_network.dart'; class InitializeHDWalletAction { final String? keyStoreJson; final Uint8List toplExtendedPrivateKey; - const InitializeHDWalletAction( - {this.keyStoreJson, required this.toplExtendedPrivateKey,}); + const InitializeHDWalletAction({ + this.keyStoreJson, + required this.toplExtendedPrivateKey, + }); } class GenerateInitialAddressesAction { diff --git a/lib/actions/restore_wallet_actions.dart b/lib/actions/restore_wallet_actions.dart index 7f9c920b..e3ea67c0 100644 --- a/lib/actions/restore_wallet_actions.dart +++ b/lib/actions/restore_wallet_actions.dart @@ -5,8 +5,10 @@ import 'dart:typed_data'; class RestoreWalletWithMnemonicAction { final String mnemonic; final String password; - RestoreWalletWithMnemonicAction( - {required this.mnemonic, required this.password,}); + RestoreWalletWithMnemonicAction({ + required this.mnemonic, + required this.password, + }); } class RestoreWalletWithToplKeyAction { @@ -24,8 +26,10 @@ class RestoreWalletWithToplKeyAction { class SuccessfullyRestoredWalletAction { final String keyStoreJson; final Uint8List toplExtendedPrivateKey; - const SuccessfullyRestoredWalletAction( - {required this.keyStoreJson, required this.toplExtendedPrivateKey,}); + const SuccessfullyRestoredWalletAction({ + required this.keyStoreJson, + required this.toplExtendedPrivateKey, + }); } class FailedToRestoreWalletAction {} diff --git a/lib/containers/asset_transfer_input_container.dart b/lib/containers/asset_transfer_input_container.dart index 12d5df8c..efcfb7fd 100644 --- a/lib/containers/asset_transfer_input_container.dart +++ b/lib/containers/asset_transfer_input_container.dart @@ -1,13 +1,15 @@ // Dart imports: import 'dart:async'; -// Package imports: -import 'package:brambldart/brambldart.dart'; // Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; + +// Package imports: +import 'package:brambldart/brambldart.dart'; import 'package:flutter_redux/flutter_redux.dart'; import 'package:redux/redux.dart'; + // Project imports: import 'package:ribn/actions/transaction_actions.dart'; import 'package:ribn/constants/keys.dart'; diff --git a/lib/containers/create_password_container.dart b/lib/containers/create_password_container.dart index 17683c33..c5fcc95e 100644 --- a/lib/containers/create_password_container.dart +++ b/lib/containers/create_password_container.dart @@ -10,9 +10,11 @@ import 'package:ribn/actions/onboarding_actions.dart'; import 'package:ribn/models/app_state.dart'; class CreatePasswordContainer extends StatelessWidget { - const CreatePasswordContainer( - {Key? key, required this.builder, required this.onDidChange,}) - : super(key: key); + const CreatePasswordContainer({ + Key? key, + required this.builder, + required this.onDidChange, + }) : super(key: key); final ViewModelBuilder builder; final Function(CreatePasswordViewModel?, CreatePasswordViewModel)? onDidChange; diff --git a/lib/containers/login_container.dart b/lib/containers/login_container.dart index 077be0e5..45b597bc 100644 --- a/lib/containers/login_container.dart +++ b/lib/containers/login_container.dart @@ -38,9 +38,10 @@ class LoginContainer extends StatelessWidget { class LoginViewModel { /// Handler for when there is an attempt to login using [password]. - final Function( - {required String password, - required VoidCallback onIncorrectPasswordEntered,}) attemptLogin; + final Function({ + required String password, + required VoidCallback onIncorrectPasswordEntered, + }) attemptLogin; /// Handler for when there is attempt to restore wallet from the login page. final VoidCallback restoreWallet; @@ -55,9 +56,10 @@ class LoginViewModel { }); static LoginViewModel fromStore(Store store) { return LoginViewModel( - attemptLogin: ( - {required String password, - required VoidCallback onIncorrectPasswordEntered,}) async { + attemptLogin: ({ + required String password, + required VoidCallback onIncorrectPasswordEntered, + }) async { final Completer loginCompleter = Completer(); store.dispatch(AttemptLoginAction(password, loginCompleter)); await loginCompleter.future.then((bool loginSuccess) { diff --git a/lib/containers/mint_input_container.dart b/lib/containers/mint_input_container.dart index 386f6512..15c8689b 100644 --- a/lib/containers/mint_input_container.dart +++ b/lib/containers/mint_input_container.dart @@ -1,13 +1,15 @@ // Dart imports: import 'dart:async'; -// Package imports: -import 'package:brambldart/brambldart.dart'; // Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; + +// Package imports: +import 'package:brambldart/brambldart.dart'; import 'package:flutter_redux/flutter_redux.dart'; import 'package:redux/redux.dart'; + // Project imports: import 'package:ribn/actions/transaction_actions.dart'; import 'package:ribn/constants/keys.dart'; diff --git a/lib/containers/ribn_app_bar_container.dart b/lib/containers/ribn_app_bar_container.dart index a943ce61..073ba0a5 100644 --- a/lib/containers/ribn_app_bar_container.dart +++ b/lib/containers/ribn_app_bar_container.dart @@ -1,9 +1,12 @@ // Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; + // Package imports: import 'package:flutter_redux/flutter_redux.dart'; import 'package:redux/redux.dart'; +import 'package:url_launcher/url_launcher_string.dart'; + // Project imports: import 'package:ribn/actions/keychain_actions.dart'; import 'package:ribn/actions/misc_actions.dart'; @@ -11,7 +14,6 @@ import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/routes.dart'; import 'package:ribn/constants/strings.dart'; import 'package:ribn/models/app_state.dart'; -import 'package:url_launcher/url_launcher_string.dart'; class RibnAppBarContainer extends StatelessWidget { const RibnAppBarContainer({ diff --git a/lib/containers/transaction_history_container.dart b/lib/containers/transaction_history_container.dart index c298b3b2..1430e033 100644 --- a/lib/containers/transaction_history_container.dart +++ b/lib/containers/transaction_history_container.dart @@ -1,10 +1,14 @@ // Flutter imports: -// Package imports: -import 'package:brambldart/brambldart.dart'; + +// Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; + +// Package imports: +import 'package:brambldart/brambldart.dart'; import 'package:flutter_redux/flutter_redux.dart'; import 'package:redux/redux.dart'; + // Project imports: import 'package:ribn/genus/generated/filters.pb.dart'; import 'package:ribn/genus/generated/services_types.pb.dart'; diff --git a/lib/containers/wallet_balance_container.dart b/lib/containers/wallet_balance_container.dart index 6ed75a4b..f12416af 100644 --- a/lib/containers/wallet_balance_container.dart +++ b/lib/containers/wallet_balance_container.dart @@ -1,13 +1,15 @@ // Dart imports: import 'dart:async'; -// Package imports: -import 'package:brambldart/model.dart'; // Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; + +// Package imports: +import 'package:brambldart/model.dart'; import 'package:flutter_redux/flutter_redux.dart'; import 'package:redux/redux.dart'; + // Project imports: import 'package:ribn/actions/keychain_actions.dart'; import 'package:ribn/actions/misc_actions.dart'; @@ -101,8 +103,12 @@ class WalletBalanceViewModel { ), refreshBalances: ({required Function(bool success) onBalancesRefreshed}) { final Completer actionCompleter = Completer(); - store.dispatch(RefreshBalancesAction( - actionCompleter, store.state.keychainState.currentNetwork,),); + store.dispatch( + RefreshBalancesAction( + actionCompleter, + store.state.keychainState.currentNetwork, + ), + ); actionCompleter.future.then((bool value) => onBalancesRefreshed(value)); }, currentNetwork: store.state.keychainState.currentNetwork, diff --git a/lib/genus/generated/types.pb.dart b/lib/genus/generated/types.pb.dart index 7f781f84..2e350a1f 100644 --- a/lib/genus/generated/types.pb.dart +++ b/lib/genus/generated/types.pb.dart @@ -489,8 +489,10 @@ class TokenBox extends $pb.GeneratedMessage { factory TokenBox.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); - factory TokenBox.fromJson($core.String i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => + factory TokenBox.fromJson( + $core.String i, [ + $pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY, + ]) => create()..mergeFromJson(i, r); @$core.Deprecated( 'Using this can add significant overhead to your binary. ' diff --git a/lib/helpers/helper_functions.dart b/lib/helpers/helper_functions.dart index 3032e39b..339097eb 100644 --- a/lib/helpers/helper_functions.dart +++ b/lib/helpers/helper_functions.dart @@ -1,8 +1,11 @@ // Flutter imports: + +// Flutter imports: +import 'package:flutter/cupertino.dart'; + // Package imports: import 'package:brambldart/credentials.dart'; import 'package:brambldart/model.dart'; -import 'package:flutter/cupertino.dart'; // Project imports: import '../containers/transaction_history_container.dart'; diff --git a/lib/middlewares/epic_middleware.dart b/lib/middlewares/epic_middleware.dart index 1f6c4b29..b21bd9b9 100644 --- a/lib/middlewares/epic_middleware.dart +++ b/lib/middlewares/epic_middleware.dart @@ -1,7 +1,10 @@ // Flutter imports: import 'package:flutter/foundation.dart'; + // Package imports: import 'package:redux_epics/redux_epics.dart'; +import 'package:rxdart/rxdart.dart'; + // Project imports: import 'package:ribn/actions/keychain_actions.dart'; import 'package:ribn/actions/misc_actions.dart'; @@ -12,7 +15,6 @@ import 'package:ribn/constants/routes.dart'; import 'package:ribn/models/app_state.dart'; import 'package:ribn/repositories/misc_repository.dart'; import 'package:ribn/utils.dart'; -import 'package:rxdart/rxdart.dart'; Epic createEpicMiddleware(MiscRepository miscRepo) => combineEpics([ @@ -21,7 +23,8 @@ Epic createEpicMiddleware(MiscRepository miscRepo) => TypedEpic(_onPersistAppState(miscRepo)), TypedEpic(_onNavigateToRoute()), TypedEpic( - _onSuccessfullyRestoredWallet(miscRepo),), + _onSuccessfullyRestoredWallet(miscRepo), + ), ]); /// A list of all the actions that should trigger appState persistence @@ -60,8 +63,11 @@ Epic _persistenceTriggerEpic() => Stream Function(Stream, EpicStore) _onApiError() { return (actions, store) { - return actions.switchMap((action) => Stream.value( - NavigateToRoute(Routes.error, arguments: action.errorMessage),),); + return actions.switchMap( + (action) => Stream.value( + NavigateToRoute(Routes.error, arguments: action.errorMessage), + ), + ); }; } @@ -81,7 +87,8 @@ Stream Function(Stream, EpicStore) } } catch (e) { return ApiErrorAction( - 'Failed to persist state. Error: ${e.toString()}',); + 'Failed to persist state. Error: ${e.toString()}', + ); } } @@ -113,8 +120,9 @@ Stream Function(Stream, EpicStore) /// [navigateToRoute] is selected based on whether the app is open in extension view or full page, i.e. /// user is restoring wallet during onboarding (fullpage- iew) vs from the login page (extension view). Stream Function( - Stream, EpicStore,) - _onSuccessfullyRestoredWallet( + Stream, + EpicStore, +) _onSuccessfullyRestoredWallet( MiscRepository miscRepo, ) { return (actions, store) { diff --git a/lib/middlewares/internal_message_middleware.dart b/lib/middlewares/internal_message_middleware.dart index 4496f747..ccee5eb8 100644 --- a/lib/middlewares/internal_message_middleware.dart +++ b/lib/middlewares/internal_message_middleware.dart @@ -7,15 +7,20 @@ import 'package:ribn/models/app_state.dart'; import 'package:ribn/repositories/misc_repository.dart'; List> createInternalMessageMiddleware( - MiscRepository miscRepo,) { + MiscRepository miscRepo, +) { return >[ TypedMiddleware( - _onSendInternalMsg(miscRepo),), + _onSendInternalMsg(miscRepo), + ), ]; } -void Function(Store store, SendInternalMsgAction action, - NextDispatcher next,) _onSendInternalMsg( +void Function( + Store store, + SendInternalMsgAction action, + NextDispatcher next, +) _onSendInternalMsg( MiscRepository miscRepo, ) { return (store, action, next) => miscRepo.sendInternalMessage(action.msg); diff --git a/lib/middlewares/keychain_middleware.dart b/lib/middlewares/keychain_middleware.dart index d5f8b643..363611ab 100644 --- a/lib/middlewares/keychain_middleware.dart +++ b/lib/middlewares/keychain_middleware.dart @@ -10,23 +10,29 @@ import 'package:ribn/models/ribn_address.dart'; import 'package:ribn/repositories/keychain_repository.dart'; List> createKeychainMiddleware( - KeychainRepository keyChainRepo,) { + KeychainRepository keyChainRepo, +) { return >[ TypedMiddleware( - _onGenerateInitialAddresses(keyChainRepo),), + _onGenerateInitialAddresses(keyChainRepo), + ), TypedMiddleware( - _onGenerateAddress(keyChainRepo),), + _onGenerateAddress(keyChainRepo), + ), TypedMiddleware( - _onRefereshBalances(keyChainRepo),), + _onRefereshBalances(keyChainRepo), + ), ]; } /// Generates the initial addresses for each of the networks. /// /// Dispatches [UpdateNetworksWithAddressesAction] to update [RibnNetworks]s with the newly generated addreses. -void Function(Store store, GenerateInitialAddressesAction action, - NextDispatcher next,) - _onGenerateInitialAddresses(KeychainRepository keychainRepo) { +void Function( + Store store, + GenerateInitialAddressesAction action, + NextDispatcher next, +) _onGenerateInitialAddresses(KeychainRepository keychainRepo) { return (store, action, next) { try { final HdWallet hdWallet = store.state.keychainState.hdWallet!; @@ -45,8 +51,11 @@ void Function(Store store, GenerateInitialAddressesAction action, /// On receiving [GenerateAddressAction] action, generates a new address and dispatches [AddAddressAction] /// to add the generated addresses under the current network. -void Function(Store store, GenerateAddressAction action, - NextDispatcher next,) _onGenerateAddress( +void Function( + Store store, + GenerateAddressAction action, + NextDispatcher next, +) _onGenerateAddress( KeychainRepository keychainRepo, ) { return (store, action, next) async { @@ -73,8 +82,11 @@ void Function(Store store, GenerateAddressAction action, /// Responds to [RefreshBalancesAction] by updating balances for the addresses in the wallet under the current network. /// /// If no addresses exist, a new address is generated. -void Function(Store store, RefreshBalancesAction action, - NextDispatcher next,) _onRefereshBalances( +void Function( + Store store, + RefreshBalancesAction action, + NextDispatcher next, +) _onRefereshBalances( KeychainRepository keychainRepo, ) { return (store, action, next) async { diff --git a/lib/middlewares/login_middleware.dart b/lib/middlewares/login_middleware.dart index 0b46bdcc..ecffdb34 100644 --- a/lib/middlewares/login_middleware.dart +++ b/lib/middlewares/login_middleware.dart @@ -16,17 +16,21 @@ import 'package:ribn/repositories/login_repository.dart'; import 'package:ribn/utils.dart'; List> createLoginMiddleware( - LoginRepository loginRepository,) { + LoginRepository loginRepository, +) { return >[ TypedMiddleware( - _verifyPassword(loginRepository),), + _verifyPassword(loginRepository), + ), ]; } /// Verifies that the wallet password is correct by attempting to decrypt the keystore. void Function( - Store store, AttemptLoginAction action, NextDispatcher next,) - _verifyPassword( + Store store, + AttemptLoginAction action, + NextDispatcher next, +) _verifyPassword( LoginRepository loginRepository, ) { return (store, action, next) async { @@ -62,8 +66,11 @@ void Function( ); } // initialize hd wallet on success - next(InitializeHDWalletAction( - toplExtendedPrivateKey: toplExtendedPrvKeyUint8List,),); + next( + InitializeHDWalletAction( + toplExtendedPrivateKey: toplExtendedPrvKeyUint8List, + ), + ); //Generate Initial addresses for every network next(GenerateInitialAddressesAction()); diff --git a/lib/middlewares/misc_middleware.dart b/lib/middlewares/misc_middleware.dart index e570a451..015fbe92 100644 --- a/lib/middlewares/misc_middleware.dart +++ b/lib/middlewares/misc_middleware.dart @@ -14,17 +14,22 @@ import 'package:ribn/repositories/login_repository.dart'; import 'package:ribn/repositories/misc_repository.dart'; List> createMiscMiddleware( - LoginRepository loginRep, MiscRepository miscRepo,) { + LoginRepository loginRep, + MiscRepository miscRepo, +) { return >[ TypedMiddleware(_onDeleteWallet(loginRep)), TypedMiddleware( - _onDownloadAsFile(miscRepo),), + _onDownloadAsFile(miscRepo), + ), ]; } void Function( - Store store, DeleteWalletAction action, NextDispatcher next,) - _onDeleteWallet( + Store store, + DeleteWalletAction action, + NextDispatcher next, +) _onDeleteWallet( LoginRepository loginRepo, ) { return (store, action, next) async { @@ -55,8 +60,10 @@ void Function( } void Function( - Store store, DownloadAsFileAction action, NextDispatcher next,) - _onDownloadAsFile( + Store store, + DownloadAsFileAction action, + NextDispatcher next, +) _onDownloadAsFile( MiscRepository miscRepo, ) { return (store, action, next) { diff --git a/lib/middlewares/onboarding_middleware.dart b/lib/middlewares/onboarding_middleware.dart index 689c33c9..05c5ac25 100644 --- a/lib/middlewares/onboarding_middleware.dart +++ b/lib/middlewares/onboarding_middleware.dart @@ -18,18 +18,24 @@ import 'package:ribn/repositories/onboarding_repository.dart'; import 'package:ribn/utils.dart'; List> createOnboardingMiddleware( - OnboardingRespository onboardingRespository,) { + OnboardingRespository onboardingRespository, +) { return >[ TypedMiddleware( - _generateMnemonic(onboardingRespository),), + _generateMnemonic(onboardingRespository), + ), TypedMiddleware( - _createPassword(onboardingRespository),), + _createPassword(onboardingRespository), + ), ]; } /// Generates mnemonic for the user and redirects to [Routes.onboardingSteps] -void Function(Store store, GenerateMnemonicAction action, - NextDispatcher next,) _generateMnemonic( +void Function( + Store store, + GenerateMnemonicAction action, + NextDispatcher next, +) _generateMnemonic( OnboardingRespository onboardingRespository, ) { return (store, action, next) async { @@ -44,8 +50,10 @@ void Function(Store store, GenerateMnemonicAction action, /// Generates a [KeyStore] with the provided password and initializes the HdWallet void Function( - Store store, CreatePasswordAction action, NextDispatcher next,) - _createPassword( + Store store, + CreatePasswordAction action, + NextDispatcher next, +) _createPassword( OnboardingRespository onboardingRespository, ) { return (store, action, next) async { diff --git a/lib/middlewares/restore_wallet_middleware.dart b/lib/middlewares/restore_wallet_middleware.dart index 74db3260..0ea893d2 100644 --- a/lib/middlewares/restore_wallet_middleware.dart +++ b/lib/middlewares/restore_wallet_middleware.dart @@ -22,9 +22,11 @@ List> createRestorewalletMiddleware( ) { return >[ TypedMiddleware( - _restoreWalletWithMnemonic(onboardingRepo),), + _restoreWalletWithMnemonic(onboardingRepo), + ), TypedMiddleware( - _restoreWalletWithToplKey(loginRepo),), + _restoreWalletWithToplKey(loginRepo), + ), ]; } @@ -32,9 +34,11 @@ List> createRestorewalletMiddleware( /// /// Uses the [action.mnemonic] and [action.password] to generate a keystore. /// Dispatches [SuccessfullyRestoredWalletAction] if successfully generated keystore, otherwise [FailedToRestoreWalletAction]. -void Function(Store store, RestoreWalletWithMnemonicAction action, - NextDispatcher next,) - _restoreWalletWithMnemonic(OnboardingRespository onboardingRepo) { +void Function( + Store store, + RestoreWalletWithMnemonicAction action, + NextDispatcher next, +) _restoreWalletWithMnemonic(OnboardingRespository onboardingRepo) { return (store, action, next) async { try { final AppViews currAppView = @@ -68,8 +72,11 @@ void Function(Store store, RestoreWalletWithMnemonicAction action, /// /// Attempts to decrypt [action.toplKeyStoreJson] using [action.password]. /// Dispatches [SuccessfullyRestoredWalletAction] upon success, otherwise [FailedToRestoreWalletAction]. -void Function(Store store, RestoreWalletWithToplKeyAction action, - NextDispatcher next,) _restoreWalletWithToplKey(LoginRepository loginRepo) { +void Function( + Store store, + RestoreWalletWithToplKeyAction action, + NextDispatcher next, +) _restoreWalletWithToplKey(LoginRepository loginRepo) { return (store, action, next) async { try { final Uint8List toplExtendedPrvKeyUint8List = loginRepo.decryptKeyStore({ diff --git a/lib/middlewares/transaction_middleware.dart b/lib/middlewares/transaction_middleware.dart index fe812f16..c9589bd3 100644 --- a/lib/middlewares/transaction_middleware.dart +++ b/lib/middlewares/transaction_middleware.dart @@ -26,12 +26,15 @@ List> createTransactionMiddleware( ) { return >[ TypedMiddleware( - _initiateTx(transactionRepo, keychainRepo),), + _initiateTx(transactionRepo, keychainRepo), + ), TypedMiddleware(_createRawTx(transactionRepo)), TypedMiddleware( - _signAndBroadcastTx(transactionRepo, keychainRepo),), + _signAndBroadcastTx(transactionRepo, keychainRepo), + ), TypedMiddleware( - _signExternalTx(transactionRepo, keychainRepo),), + _signExternalTx(transactionRepo, keychainRepo), + ), ]; } @@ -40,8 +43,10 @@ List> createTransactionMiddleware( /// Updates the [TransferDetails] with some defaults like the sender, change, and consolidation addresses, as well as /// the current network, before dispatching [CreateRawTxAction]. void Function( - Store store, InitiateTxAction action, NextDispatcher next,) - _initiateTx( + Store store, + InitiateTxAction action, + NextDispatcher next, +) _initiateTx( TransactionRepository transactionRepo, KeychainRepository keychainRepo, ) { @@ -68,8 +73,10 @@ void Function( /// /// Also dispatches [ToggleLoadingRawTxAction] to stop the loading indicator. void Function( - Store store, CreateRawTxAction action, NextDispatcher next,) - _createRawTx( + Store store, + CreateRawTxAction action, + NextDispatcher next, +) _createRawTx( TransactionRepository transactionRepo, ) { return (store, action, next) async { @@ -96,8 +103,11 @@ void Function( /// /// Signs and broadcasts the transactions, updates the [TransferDetails] with the txId, /// and navigates to the confirmation page. -void Function(Store store, SignAndBroadcastTxAction action, - NextDispatcher next,) _signAndBroadcastTx( +void Function( + Store store, + SignAndBroadcastTxAction action, + NextDispatcher next, +) _signAndBroadcastTx( TransactionRepository transactionRepo, KeychainRepository keychainRepo, ) { @@ -135,8 +145,10 @@ void Function(Store store, SignAndBroadcastTxAction action, } void Function( - Store store, SignExternalTxAction action, NextDispatcher next,) - _signExternalTx( + Store store, + SignExternalTxAction action, + NextDispatcher next, +) _signExternalTx( TransactionRepository transactionRepo, KeychainRepository keychainRepo, ) { @@ -145,8 +157,8 @@ void Function( final Map transferDetails = {}; transferDetails['messageToSign'] = Base58Data.validated( - action.pendingRequest.data!['messageToSign'] as String,) - .value; + action.pendingRequest.data!['messageToSign'] as String, + ).value; final TransactionReceipt transactionReceipt = TransactionReceipt.fromJson(action.pendingRequest.data!['rawTx']); @@ -160,7 +172,8 @@ void Function( final List sendersInWallet = List.from(store.state.keychainState.currentNetwork.addresses) ..retainWhere( - (addr) => rawTxSenders.contains(addr.toplAddress.toBase58()),); + (addr) => rawTxSenders.contains(addr.toplAddress.toBase58()), + ); if (sendersInWallet.isEmpty) { final InternalMessage response = InternalMessage( diff --git a/lib/models/keychain_state.dart b/lib/models/keychain_state.dart index ab058d46..acb2baa4 100644 --- a/lib/models/keychain_state.dart +++ b/lib/models/keychain_state.dart @@ -1,11 +1,13 @@ // Dart imports: import 'dart:convert'; +// Flutter imports: +import 'package:flutter/foundation.dart'; + // Package imports: import 'package:bip_topl/bip_topl.dart' as bip_topl; import 'package:brambldart/credentials.dart'; -// Flutter imports: -import 'package:flutter/foundation.dart'; + // Project imports: import 'package:ribn/constants/network_utils.dart'; import 'package:ribn/constants/rules.dart'; diff --git a/lib/models/ribn_address.dart b/lib/models/ribn_address.dart index 5771adb3..9755e241 100644 --- a/lib/models/ribn_address.dart +++ b/lib/models/ribn_address.dart @@ -1,10 +1,12 @@ // Dart imports: import 'dart:convert'; -// Package imports: -import 'package:brambldart/brambldart.dart'; // Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: +import 'package:brambldart/brambldart.dart'; + // Project imports: import 'package:ribn/constants/rules.dart'; diff --git a/lib/models/ribn_network.dart b/lib/models/ribn_network.dart index 96961b5a..f1d3080b 100644 --- a/lib/models/ribn_network.dart +++ b/lib/models/ribn_network.dart @@ -1,10 +1,12 @@ // Dart imports: import 'dart:convert'; -// Package imports: -import 'package:brambldart/brambldart.dart'; // Flutter imports: import 'package:flutter/foundation.dart'; + +// Package imports: +import 'package:brambldart/brambldart.dart'; + // Project imports: import 'package:ribn/constants/network_utils.dart'; import 'package:ribn/constants/rules.dart'; @@ -39,8 +41,10 @@ class RibnNetwork { this.lastCheckedTimestamp = -1, }); - factory RibnNetwork.initial( - {required int networkId, required String networkName,}) { + factory RibnNetwork.initial({ + required int networkId, + required String networkName, + }) { return RibnNetwork( networkName: networkName, networkId: networkId, @@ -76,7 +80,8 @@ class RibnNetwork { int getNextExternalAddressIndex() { return addresses.lastIndexWhere( - (addr) => addr.changeIndex == Rules.defaultChangeIndex,) + + (addr) => addr.changeIndex == Rules.defaultChangeIndex, + ) + 1; } @@ -99,8 +104,9 @@ class RibnNetwork { asset.assetCode.serialize(), (AssetAmount currAsset) { return AssetAmount( - quantity: currAsset.quantity + assetQuantity, - assetCode: asset.assetCode,); + quantity: currAsset.quantity + assetQuantity, + assetCode: asset.assetCode, + ); }, ifAbsent: () => asset, ); @@ -116,9 +122,11 @@ class RibnNetwork { /// Returns the list of all assets issued/minted by this wallet. List getAssetsIssuedByWallet() { return getAllAssetsInWallet() - .where((AssetAmount asset) => - asset.assetCode.issuer.toBase58() == - myWalletAddress?.toplAddress.toBase58(),) + .where( + (AssetAmount asset) => + asset.assetCode.issuer.toBase58() == + myWalletAddress?.toplAddress.toBase58(), + ) .toList(); } diff --git a/lib/models/transfer_details.dart b/lib/models/transfer_details.dart index 391f2eb6..4192e1b5 100644 --- a/lib/models/transfer_details.dart +++ b/lib/models/transfer_details.dart @@ -1,9 +1,11 @@ // Dart imports: -// Package imports: -import 'package:brambldart/brambldart.dart'; // Flutter imports: import 'package:flutter/foundation.dart'; + +// Package imports: +import 'package:brambldart/brambldart.dart'; + // Project imports: import 'package:ribn/constants/rules.dart'; import 'package:ribn/models/asset_details.dart'; diff --git a/lib/platform/mobile/storage.dart b/lib/platform/mobile/storage.dart index f3b1052b..f5b42c5a 100644 --- a/lib/platform/mobile/storage.dart +++ b/lib/platform/mobile/storage.dart @@ -26,14 +26,16 @@ class PlatformLocalStorage implements IPlatformLocalStorage { @override Future getState() async { final File file = File( - '${(await getApplicationDocumentsDirectory()).path}/app_state.json',); + '${(await getApplicationDocumentsDirectory()).path}/app_state.json', + ); return await file.readAsString(); } @override Future saveState(String data) async { final file = File( - '${(await getApplicationDocumentsDirectory()).path}/app_state.json',); + '${(await getApplicationDocumentsDirectory()).path}/app_state.json', + ); await file.writeAsString(data, flush: true); } diff --git a/lib/platform/web/genus_config.dart b/lib/platform/web/genus_config.dart index 01caa728..a29a1891 100644 --- a/lib/platform/web/genus_config.dart +++ b/lib/platform/web/genus_config.dart @@ -6,5 +6,6 @@ import 'package:ribn/constants/network_utils.dart'; class PlatformGenusConfig { static GrpcWebClientChannel channel = GrpcWebClientChannel.xhr( - Uri.parse('http://${NetworkUtils.privateIP}:8099'),); + Uri.parse('http://${NetworkUtils.privateIP}:8099'), + ); } diff --git a/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_icon_edit_section.dart b/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_icon_edit_section.dart index 6f74e07c..31f21b37 100644 --- a/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_icon_edit_section.dart +++ b/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_icon_edit_section.dart @@ -1,15 +1,17 @@ // Flutter imports: import 'package:flutter/material.dart'; + // Package imports: import 'package:flutter_portal/flutter_portal.dart'; import 'package:flutter_redux/flutter_redux.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; + // Project imports: import 'package:ribn/actions/user_details_actions.dart'; import 'package:ribn/constants/ui_constants.dart'; import 'package:ribn/models/app_state.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; /// The section for editing asset icon. /// @@ -43,10 +45,11 @@ class _AssetIconEditSectionState extends State { color: RibnColors.whiteBackground, boxShadow: [ BoxShadow( - color: Color(0x0f000000), - offset: Offset(0, 4), - blurRadius: 4, - spreadRadius: 0,) + color: Color(0x0f000000), + offset: Offset(0, 4), + blurRadius: 4, + spreadRadius: 0, + ) ], ), child: Column( diff --git a/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_long_name_edit_section.dart b/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_long_name_edit_section.dart index f0730f27..08b6b55f 100644 --- a/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_long_name_edit_section.dart +++ b/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_long_name_edit_section.dart @@ -1,16 +1,18 @@ // Flutter imports: import 'package:flutter/material.dart'; + // Package imports: import 'package:flutter_redux/flutter_redux.dart'; -// Project imports: -import 'package:ribn/actions/user_details_actions.dart'; -import 'package:ribn/constants/strings.dart'; -import 'package:ribn/models/app_state.dart'; import 'package:ribn_toolkit/constants/colors.dart'; import 'package:ribn_toolkit/constants/styles.dart'; import 'package:ribn_toolkit/widgets/atoms/custom_text_field.dart'; import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; +// Project imports: +import 'package:ribn/actions/user_details_actions.dart'; +import 'package:ribn/constants/strings.dart'; +import 'package:ribn/models/app_state.dart'; + /// The section for editing asset long anme. class AssetLongNameEditSection extends StatefulWidget { /// The asset code with which the long name will be associated. @@ -59,10 +61,11 @@ class _AssetLongNameEditSectionState extends State { color: RibnColors.whiteBackground, boxShadow: [ BoxShadow( - color: Color(0x0f000000), - offset: Offset(0, 4), - blurRadius: 4, - spreadRadius: 0,) + color: Color(0x0f000000), + offset: Offset(0, 4), + blurRadius: 4, + spreadRadius: 0, + ) ], ), child: Column( diff --git a/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_unit_edit_section.dart b/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_unit_edit_section.dart index 311dc2e5..5b6d8722 100644 --- a/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_unit_edit_section.dart +++ b/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_unit_edit_section.dart @@ -1,17 +1,19 @@ // Flutter imports: import 'package:flutter/material.dart'; + // Package imports: import 'package:flutter_redux/flutter_redux.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/custom_dropdown.dart'; +import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; + // Project imports: import 'package:ribn/actions/user_details_actions.dart'; import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/ui_constants.dart'; import 'package:ribn/models/app_state.dart'; import 'package:ribn/utils.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/custom_dropdown.dart'; -import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; /// The section for editing asset unit. /// @@ -53,10 +55,11 @@ class _AssetUnitEditSectionState extends State { color: RibnColors.whiteBackground, boxShadow: [ BoxShadow( - color: Color(0x0f000000), - offset: Offset(0, 4), - blurRadius: 4, - spreadRadius: 0,) + color: Color(0x0f000000), + offset: Offset(0, 4), + blurRadius: 4, + spreadRadius: 0, + ) ], ), child: Column( diff --git a/lib/presentation/asset_details/asset_detail_items/asset_code_details.dart b/lib/presentation/asset_details/asset_detail_items/asset_code_details.dart index 136dea29..89875e8e 100644 --- a/lib/presentation/asset_details/asset_detail_items/asset_code_details.dart +++ b/lib/presentation/asset_details/asset_detail_items/asset_code_details.dart @@ -1,14 +1,16 @@ // Flutter imports: import 'package:flutter/material.dart'; -// Project imports: -import 'package:ribn/constants/assets.dart'; -import 'package:ribn/constants/strings.dart'; -import 'package:ribn/utils.dart'; + // Package imports: import 'package:ribn_toolkit/constants/styles.dart'; import 'package:ribn_toolkit/widgets/atoms/custom_copy_button.dart'; import 'package:ribn_toolkit/widgets/molecules/custom_tooltip.dart'; +// Project imports: +import 'package:ribn/constants/assets.dart'; +import 'package:ribn/constants/strings.dart'; +import 'package:ribn/utils.dart'; + /// One of the asset details displayed on [AssetDetailsPage]. /// /// Displays the asset code, a tooltip with more description, and a copy button. diff --git a/lib/presentation/asset_details/asset_detail_items/asset_code_short_details.dart b/lib/presentation/asset_details/asset_detail_items/asset_code_short_details.dart index 43e3bef0..e0d99e69 100644 --- a/lib/presentation/asset_details/asset_detail_items/asset_code_short_details.dart +++ b/lib/presentation/asset_details/asset_detail_items/asset_code_short_details.dart @@ -1,12 +1,14 @@ // Flutter imports: import 'package:flutter/material.dart'; -// Project imports: -import 'package:ribn/constants/assets.dart'; -import 'package:ribn/constants/strings.dart'; + // Package imports: import 'package:ribn_toolkit/constants/styles.dart'; import 'package:ribn_toolkit/widgets/molecules/custom_tooltip.dart'; +// Project imports: +import 'package:ribn/constants/assets.dart'; +import 'package:ribn/constants/strings.dart'; + /// One of the asset details displayed on [AssetDetailsPage]. /// /// Displays the asset short name. diff --git a/lib/presentation/asset_details/asset_detail_items/asset_long_name_details.dart b/lib/presentation/asset_details/asset_detail_items/asset_long_name_details.dart index 93c718d3..1c354dc3 100644 --- a/lib/presentation/asset_details/asset_detail_items/asset_long_name_details.dart +++ b/lib/presentation/asset_details/asset_detail_items/asset_long_name_details.dart @@ -2,16 +2,18 @@ // Flutter imports: import 'package:flutter/material.dart'; + // Package imports: import 'package:flutter_redux/flutter_redux.dart'; -// Project imports: -import 'package:ribn/models/app_state.dart'; -import 'package:ribn/models/asset_details.dart'; import 'package:ribn_toolkit/constants/assets.dart'; import 'package:ribn_toolkit/constants/colors.dart'; import 'package:ribn_toolkit/constants/styles.dart'; import 'package:ribn_toolkit/widgets/atoms/hover_icon_button.dart'; +// Project imports: +import 'package:ribn/models/app_state.dart'; +import 'package:ribn/models/asset_details.dart'; + /// One of the asset details displayed on [AssetDetailsPage]. /// /// Displays the custom long name assigned to the asset. @@ -55,8 +57,10 @@ class AssetLongNameDetails extends StatelessWidget { ], ), const SizedBox(height: 3), - Text(currLongName ?? 'Undefined', - style: RibnToolkitTextStyles.smallBody,), + Text( + currLongName ?? 'Undefined', + style: RibnToolkitTextStyles.smallBody, + ), ], ); } diff --git a/lib/presentation/asset_details/asset_detail_items/issuer_address_details.dart b/lib/presentation/asset_details/asset_detail_items/issuer_address_details.dart index 3e8f3551..9130d7d7 100644 --- a/lib/presentation/asset_details/asset_detail_items/issuer_address_details.dart +++ b/lib/presentation/asset_details/asset_detail_items/issuer_address_details.dart @@ -1,14 +1,16 @@ // Flutter imports: import 'package:flutter/material.dart'; + // Package imports: import 'package:flutter_svg/svg.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/custom_copy_button.dart'; +import 'package:ribn_toolkit/widgets/molecules/custom_tooltip.dart'; + // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/strings.dart'; import 'package:ribn/utils.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/custom_copy_button.dart'; -import 'package:ribn_toolkit/widgets/molecules/custom_tooltip.dart'; class IssuerAddressDetails extends StatelessWidget { final String issuerAddress; diff --git a/lib/presentation/asset_details/asset_details_page.dart b/lib/presentation/asset_details/asset_details_page.dart index 49dfc4dc..3ab4ce6e 100644 --- a/lib/presentation/asset_details/asset_details_page.dart +++ b/lib/presentation/asset_details/asset_details_page.dart @@ -1,8 +1,14 @@ // Flutter imports: + +// Flutter imports: +import 'package:flutter/material.dart'; + // Package imports: import 'package:brambldart/brambldart.dart'; -import 'package:flutter/material.dart'; import 'package:flutter_redux/flutter_redux.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/widgets/organisms/custom_page_text_title.dart'; + // Project imports: import 'package:ribn/constants/routes.dart'; import 'package:ribn/constants/strings.dart'; @@ -19,8 +25,6 @@ import 'package:ribn/presentation/asset_details/asset_detail_items/asset_long_na import 'package:ribn/presentation/asset_details/asset_detail_items/asset_unit_details.dart'; import 'package:ribn/presentation/asset_details/asset_detail_items/issuer_address_details.dart'; import 'package:ribn/widgets/custom_divider.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/widgets/organisms/custom_page_text_title.dart'; /// This page presents all details associated with an asset. /// @@ -124,7 +128,9 @@ class _AssetDetailsPageState extends State with RouteAware { const SizedBox(height: 40), Container( padding: const EdgeInsets.symmetric( - horizontal: 20, vertical: 10,), + horizontal: 20, + vertical: 10, + ), width: 309, decoration: BoxDecoration( borderRadius: @@ -156,7 +162,9 @@ class _AssetDetailsPageState extends State with RouteAware { currUnit: assetDetails?.unit, editingSectionOpened: editingAssetUnit, onEditPressed: () => _onEditPressed( - key: assetUnitKey, assetDetails: assetDetails,), + key: assetUnitKey, + assetDetails: assetDetails, + ), ), _buildDivider(), // asset long name display - can be edited @@ -165,8 +173,9 @@ class _AssetDetailsPageState extends State with RouteAware { currLongName: assetDetails?.longName, editingSectionOpened: editingAssetLongName, onEditPressed: () => _onEditPressed( - key: assetLongNameKey, - assetDetails: assetDetails,), + key: assetLongNameKey, + assetDetails: assetDetails, + ), ), _buildDivider(), // asset icon display - can be edited @@ -175,12 +184,15 @@ class _AssetDetailsPageState extends State with RouteAware { currIcon: assetDetails?.icon, editingSectionOpened: editingAssetIcon, onEditPressed: () => _onEditPressed( - key: assetIconKey, assetDetails: assetDetails,), + key: assetIconKey, + assetDetails: assetDetails, + ), ), _buildDivider(), // asset issuer address display IssuerAddressDetails( - issuerAddress: widget.issuerAddress,), + issuerAddress: widget.issuerAddress, + ), _buildDivider(), // asset code display AssetCodeDetails(assetCode: widget.assetCode), diff --git a/lib/presentation/authorize_and_sign/connect_dapp.dart b/lib/presentation/authorize_and_sign/connect_dapp.dart index 8e4d79a6..e8262857 100644 --- a/lib/presentation/authorize_and_sign/connect_dapp.dart +++ b/lib/presentation/authorize_and_sign/connect_dapp.dart @@ -1,8 +1,15 @@ // Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; + // Package imports: import 'package:flutter_redux/flutter_redux.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; +import 'package:ribn_toolkit/widgets/molecules/checkbox_wrappable_text.dart'; +import 'package:ribn_toolkit/widgets/organisms/custom_page_text_title_with_leading_child.dart'; + // Project imports: import 'package:ribn/actions/internal_message_actions.dart'; import 'package:ribn/constants/assets.dart'; @@ -10,12 +17,6 @@ import 'package:ribn/constants/strings.dart'; import 'package:ribn/models/app_state.dart'; import 'package:ribn/presentation/authorize_and_sign/input_dropdown_wrapper.dart'; import 'package:ribn/presentation/transfers/bottom_review_action.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; -import 'package:ribn_toolkit/widgets/molecules/checkbox_wrappable_text.dart'; -import 'package:ribn_toolkit/widgets/organisms/custom_page_text_title_with_leading_child.dart'; - import '../../models/internal_message.dart'; class ConnectDApp extends StatefulWidget { diff --git a/lib/presentation/authorize_and_sign/input_dropdown_wrapper.dart b/lib/presentation/authorize_and_sign/input_dropdown_wrapper.dart index 553c40f8..01131750 100644 --- a/lib/presentation/authorize_and_sign/input_dropdown_wrapper.dart +++ b/lib/presentation/authorize_and_sign/input_dropdown_wrapper.dart @@ -1,10 +1,12 @@ // Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: +import 'package:ribn_toolkit/widgets/molecules/input_dropdown.dart'; + // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/containers/ribn_app_bar_container.dart'; -// Package imports: -import 'package:ribn_toolkit/widgets/molecules/input_dropdown.dart'; // import 'package:ribn_toolkit/widgets/organisms/ribn_app_bar.dart'; diff --git a/lib/presentation/authorize_and_sign/loading_dapp.dart b/lib/presentation/authorize_and_sign/loading_dapp.dart index 0d397d1b..9041597c 100644 --- a/lib/presentation/authorize_and_sign/loading_dapp.dart +++ b/lib/presentation/authorize_and_sign/loading_dapp.dart @@ -3,16 +3,18 @@ import 'dart:async'; // Flutter imports: import 'package:flutter/material.dart'; + // Package imports: import 'package:flutter_redux/flutter_redux.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/widgets/molecules/animated_circle_step_loader.dart'; + // Project imports: import 'package:ribn/actions/transaction_actions.dart'; import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/strings.dart'; import 'package:ribn/models/app_state.dart'; import 'package:ribn/models/internal_message.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/widgets/molecules/animated_circle_step_loader.dart'; class LoadingDApp extends StatefulWidget { const LoadingDApp({Key? key, required this.response}) : super(key: key); diff --git a/lib/presentation/authorize_and_sign/review_and_sign.dart b/lib/presentation/authorize_and_sign/review_and_sign.dart index c7763619..f6a2a084 100644 --- a/lib/presentation/authorize_and_sign/review_and_sign.dart +++ b/lib/presentation/authorize_and_sign/review_and_sign.dart @@ -4,8 +4,16 @@ import 'dart:convert'; // Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; + // Package imports: import 'package:flutter_redux/flutter_redux.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/animated_expand_button.dart'; +import 'package:ribn_toolkit/widgets/atoms/custom_copy_button.dart'; +import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; +import 'package:ribn_toolkit/widgets/organisms/custom_page_text_title_with_leading_child.dart'; + // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/strings.dart'; @@ -14,13 +22,6 @@ import 'package:ribn/presentation/authorize_and_sign/input_dropdown_wrapper.dart import 'package:ribn/presentation/authorize_and_sign/transaction_row_details.dart'; import 'package:ribn/presentation/transfers/bottom_review_action.dart'; import 'package:ribn/widgets/fee_info.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/animated_expand_button.dart'; -import 'package:ribn_toolkit/widgets/atoms/custom_copy_button.dart'; -import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; -import 'package:ribn_toolkit/widgets/organisms/custom_page_text_title_with_leading_child.dart'; - import '../../actions/internal_message_actions.dart'; import '../../constants/routes.dart'; import '../../models/app_state.dart'; diff --git a/lib/presentation/authorize_and_sign/transaction_row_details.dart b/lib/presentation/authorize_and_sign/transaction_row_details.dart index 40738f5d..757e8b5b 100644 --- a/lib/presentation/authorize_and_sign/transaction_row_details.dart +++ b/lib/presentation/authorize_and_sign/transaction_row_details.dart @@ -1,12 +1,14 @@ // Flutter imports: import 'package:flutter/material.dart'; -// Project imports: -import 'package:ribn/constants/assets.dart'; -import 'package:ribn/constants/strings.dart'; + // Package imports: import 'package:ribn_toolkit/constants/colors.dart'; import 'package:ribn_toolkit/constants/styles.dart'; +// Project imports: +import 'package:ribn/constants/assets.dart'; +import 'package:ribn/constants/strings.dart'; + class TransactionRowDetails extends StatelessWidget { const TransactionRowDetails({ required this.quantity, @@ -70,8 +72,10 @@ class TransactionRowDetails extends StatelessWidget { width: 23, ), const SizedBox(width: 5), - Text(isPolyTransfer ? 'POLY' : 'OTHER ASSET', - style: defaultTextStyle,), + Text( + isPolyTransfer ? 'POLY' : 'OTHER ASSET', + style: defaultTextStyle, + ), ], ) ], diff --git a/lib/presentation/empty_state_screen.dart b/lib/presentation/empty_state_screen.dart index 952561d0..9e820555 100644 --- a/lib/presentation/empty_state_screen.dart +++ b/lib/presentation/empty_state_screen.dart @@ -42,9 +42,10 @@ class EmptyStateScreen extends StatelessWidget { color: RibnColors.paleGreen, boxShadow: [ BoxShadow( - color: RibnColors.paleGreen.withOpacity(1), - blurRadius: 8, - spreadRadius: 8,) + color: RibnColors.paleGreen.withOpacity(1), + blurRadius: 8, + spreadRadius: 8, + ) ], ), width: width - 20, diff --git a/lib/presentation/enable_page.dart b/lib/presentation/enable_page.dart index 841cbdf6..36489547 100644 --- a/lib/presentation/enable_page.dart +++ b/lib/presentation/enable_page.dart @@ -1,13 +1,15 @@ // Flutter imports: import 'package:flutter/material.dart'; + // Package imports: import 'package:flutter_redux/flutter_redux.dart'; +import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; + // Project imports: import 'package:ribn/actions/internal_message_actions.dart'; import 'package:ribn/constants/ui_constants.dart'; import 'package:ribn/models/app_state.dart'; import 'package:ribn/models/internal_message.dart'; -import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; class EnablePage extends StatelessWidget { final InternalMessage pendingRequest; diff --git a/lib/presentation/error_section.dart b/lib/presentation/error_section.dart index c3e57201..29631b50 100644 --- a/lib/presentation/error_section.dart +++ b/lib/presentation/error_section.dart @@ -1,14 +1,16 @@ // Flutter imports: import 'package:flutter/material.dart'; -// Project imports: -import 'package:ribn/constants/assets.dart'; -import 'package:ribn/constants/strings.dart'; + // Package imports: import 'package:ribn_toolkit/constants/colors.dart'; import 'package:ribn_toolkit/constants/styles.dart'; import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; import 'package:url_launcher/url_launcher_string.dart'; +// Project imports: +import 'package:ribn/constants/assets.dart'; +import 'package:ribn/constants/strings.dart'; + /// A generic error section that is displayed in case of unexpected errors. class ErrorSection extends StatelessWidget { final VoidCallback onTryAgain; diff --git a/lib/presentation/home/home_page.dart b/lib/presentation/home/home_page.dart index 74621d46..9e3875ee 100644 --- a/lib/presentation/home/home_page.dart +++ b/lib/presentation/home/home_page.dart @@ -1,13 +1,15 @@ // Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/widgets/organisms/ribn_bottom_app_bar_v2.dart'; + // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/presentation/home/wallet_balance_page.dart'; import 'package:ribn/presentation/transaction_history/transaction_history_page.dart'; import 'package:ribn/widgets/ribn_app_bar_wapper.dart'; -// Package imports: -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/widgets/organisms/ribn_bottom_app_bar_v2.dart'; /// The 'home page' of Ribn. /// diff --git a/lib/presentation/home/wallet_balance_page.dart b/lib/presentation/home/wallet_balance_page.dart index dd7b9dc9..7b6851b0 100644 --- a/lib/presentation/home/wallet_balance_page.dart +++ b/lib/presentation/home/wallet_balance_page.dart @@ -1,7 +1,17 @@ // Flutter imports: + +// Flutter imports: +import 'package:flutter/material.dart'; + // Package imports: import 'package:brambldart/brambldart.dart'; -import 'package:flutter/material.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; +import 'package:ribn_toolkit/widgets/molecules/asset_card.dart'; +import 'package:ribn_toolkit/widgets/molecules/custom_tooltip.dart'; +import 'package:ribn_toolkit/widgets/molecules/wave_container.dart'; + // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/keys.dart'; @@ -13,12 +23,6 @@ import 'package:ribn/presentation/empty_state_screen.dart'; import 'package:ribn/presentation/error_section.dart'; import 'package:ribn/presentation/home/wallet_balance_shimmer.dart'; import 'package:ribn/utils.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; -import 'package:ribn_toolkit/widgets/molecules/asset_card.dart'; -import 'package:ribn_toolkit/widgets/molecules/custom_tooltip.dart'; -import 'package:ribn_toolkit/widgets/molecules/wave_container.dart'; // import 'package:url_launcher/url_launcher.dart'; @@ -174,8 +178,10 @@ class _WalletBalancePageState extends State { _fetchingBalances ? const CircularProgressIndicator() : _failedToFetchBalances - ? const Text('Network Failure', - style: TextStyle(color: Colors.red),) + ? const Text( + 'Network Failure', + style: TextStyle(color: Colors.red), + ) : Row( mainAxisAlignment: MainAxisAlignment.center, children: [ @@ -335,8 +341,10 @@ class _WalletBalancePageState extends State { buttonChild: Row( mainAxisAlignment: MainAxisAlignment.center, children: [ - Text(label, - style: RibnToolkitTextStyles.h4.copyWith(color: Colors.white),), + Text( + label, + style: RibnToolkitTextStyles.h4.copyWith(color: Colors.white), + ), ], ), ), diff --git a/lib/presentation/login/login_page.dart b/lib/presentation/login/login_page.dart index 5b299148..faa087bc 100644 --- a/lib/presentation/login/login_page.dart +++ b/lib/presentation/login/login_page.dart @@ -1,12 +1,23 @@ // Flutter imports: -// Package imports: -import 'package:bip_topl/bip_topl.dart'; + +// Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; + +// Package imports: +import 'package:bip_topl/bip_topl.dart'; import 'package:flutter_redux/flutter_redux.dart'; import 'package:loader_overlay/loader_overlay.dart'; import 'package:local_auth/local_auth.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; +import 'package:ribn_toolkit/widgets/molecules/custom_tooltip.dart'; +import 'package:ribn_toolkit/widgets/molecules/password_text_field.dart'; +import 'package:ribn_toolkit/widgets/molecules/wave_container.dart'; +import 'package:url_launcher/url_launcher.dart'; + // Project imports: import 'package:ribn/actions/keychain_actions.dart'; import 'package:ribn/constants/assets.dart'; @@ -18,13 +29,6 @@ import 'package:ribn/models/app_state.dart'; import 'package:ribn/platform/platform.dart'; import 'package:ribn/presentation/onboarding/utils.dart'; import 'package:ribn/utils.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; -import 'package:ribn_toolkit/widgets/molecules/custom_tooltip.dart'; -import 'package:ribn_toolkit/widgets/molecules/password_text_field.dart'; -import 'package:ribn_toolkit/widgets/molecules/wave_container.dart'; -import 'package:url_launcher/url_launcher.dart'; /// Builds the login page. /// @@ -136,8 +140,10 @@ class _LoginPageState extends State { children: [ SizedBox(height: deviceTopPadding()), renderIfWeb(const SizedBox(height: 40)), - Image.asset(RibnAssets.newRibnLogo, - width: kIsWeb ? 102 : 138,), + Image.asset( + RibnAssets.newRibnLogo, + width: kIsWeb ? 102 : 138, + ), Text( Strings.ribnWallet, style: RibnToolkitTextStyles.h1.copyWith( diff --git a/lib/presentation/onboarding/create_wallet/create_password_page.dart b/lib/presentation/onboarding/create_wallet/create_password_page.dart index 632ee15d..183ff760 100644 --- a/lib/presentation/onboarding/create_wallet/create_password_page.dart +++ b/lib/presentation/onboarding/create_wallet/create_password_page.dart @@ -2,8 +2,15 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; + // Package imports: import 'package:loader_overlay/loader_overlay.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/molecules/checkbox_wrappable_text.dart'; +import 'package:ribn_toolkit/widgets/molecules/password_text_field.dart'; +import 'package:url_launcher/url_launcher.dart'; + // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/routes.dart'; @@ -15,11 +22,6 @@ import 'package:ribn/presentation/onboarding/widgets/mobile_onboarding_progress_ import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; import 'package:ribn/presentation/onboarding/widgets/web_onboarding_app_bar.dart'; import 'package:ribn/utils.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/molecules/checkbox_wrappable_text.dart'; -import 'package:ribn_toolkit/widgets/molecules/password_text_field.dart'; -import 'package:url_launcher/url_launcher.dart'; class CreatePasswordPage extends StatefulWidget { const CreatePasswordPage({Key? key}) : super(key: key); @@ -159,7 +161,8 @@ class _CreatePasswordPageState extends State { ), const SizedBox(height: 40), renderIfMobile( - const MobileOnboardingProgressBar(currStep: 2),), + const MobileOnboardingProgressBar(currStep: 2), + ), ConfirmationButton( text: Strings.done, disabled: !_atLeast8Chars || diff --git a/lib/presentation/onboarding/create_wallet/enable_biometrics_page.dart b/lib/presentation/onboarding/create_wallet/enable_biometrics_page.dart index d67d1ba6..5fea4fe8 100644 --- a/lib/presentation/onboarding/create_wallet/enable_biometrics_page.dart +++ b/lib/presentation/onboarding/create_wallet/enable_biometrics_page.dart @@ -1,13 +1,19 @@ // Dart imports: import 'dart:io' show Platform; -// Package imports: -import 'package:app_settings/app_settings.dart'; // Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; + +// Package imports: +import 'package:app_settings/app_settings.dart'; import 'package:flutter_redux/flutter_redux.dart'; import 'package:local_auth/local_auth.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/custom_icon_button.dart'; +import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; + // Project imports: import 'package:ribn/actions/user_details_actions.dart'; import 'package:ribn/constants/assets.dart'; @@ -18,10 +24,6 @@ import 'package:ribn/models/app_state.dart'; import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; import 'package:ribn/presentation/transfers/bottom_review_action.dart'; import 'package:ribn/utils.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/custom_icon_button.dart'; -import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; class EnableBiometrics extends StatefulWidget { const EnableBiometrics({Key? key}) : super(key: key); diff --git a/lib/presentation/onboarding/create_wallet/getting_started_page.dart b/lib/presentation/onboarding/create_wallet/getting_started_page.dart index 603d4f5e..96b22aa4 100644 --- a/lib/presentation/onboarding/create_wallet/getting_started_page.dart +++ b/lib/presentation/onboarding/create_wallet/getting_started_page.dart @@ -1,6 +1,11 @@ // Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; + +// Package imports: +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; + // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/keys.dart'; @@ -10,9 +15,6 @@ import 'package:ribn/presentation/onboarding/utils.dart'; import 'package:ribn/presentation/onboarding/widgets/confirmation_button.dart'; import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; import 'package:ribn/presentation/onboarding/widgets/web_onboarding_app_bar.dart'; -// Package imports: -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; class GettingStartedPage extends StatelessWidget { const GettingStartedPage({Key? key}) : super(key: key); diff --git a/lib/presentation/onboarding/create_wallet/seed_phrase_confirmation_page.dart b/lib/presentation/onboarding/create_wallet/seed_phrase_confirmation_page.dart index 70fead16..73949a16 100644 --- a/lib/presentation/onboarding/create_wallet/seed_phrase_confirmation_page.dart +++ b/lib/presentation/onboarding/create_wallet/seed_phrase_confirmation_page.dart @@ -2,6 +2,12 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; + +// Package imports: +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/custom_text_field.dart'; +import 'package:ribn_toolkit/widgets/organisms/onboarding_progress_bar.dart'; + // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/keys.dart'; @@ -13,10 +19,6 @@ import 'package:ribn/presentation/onboarding/widgets/confirmation_button.dart'; import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; import 'package:ribn/presentation/onboarding/widgets/web_onboarding_app_bar.dart'; import 'package:ribn/utils.dart'; -// Package imports: -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/custom_text_field.dart'; -import 'package:ribn_toolkit/widgets/organisms/onboarding_progress_bar.dart'; class SeedPhraseConfirmationPage extends StatefulWidget { const SeedPhraseConfirmationPage({Key? key}) : super(key: key); @@ -61,14 +63,18 @@ class _SeedPhraseConfirmationPageState Image.asset(RibnAssets.penPaperPng, width: 70), Padding( padding: EdgeInsets.only( - top: adaptHeight(0.04), bottom: adaptHeight(0.02),), + top: adaptHeight(0.04), + bottom: adaptHeight(0.02), + ), child: const Text( Strings.ensureYourWordsAreCorrect, style: RibnToolkitTextStyles.onboardingH3, ), ), _buildSeedphraseConfirmationGrid( - vm.confirmeIdxs, vm.mnemonicWordsList,), + vm.confirmeIdxs, + vm.mnemonicWordsList, + ), const SizedBox(height: 40), renderIfMobile( const Padding( @@ -102,15 +108,25 @@ class _SeedPhraseConfirmationPageState } Widget _buildSeedphraseConfirmationGrid( - List confirmIdxs, List mnemonicWordsList,) { + List confirmIdxs, + List mnemonicWordsList, + ) { final List mobileRows = []; List webRowChildren = []; final List> webRows = []; for (int i = 0; i < confirmIdxs.length; i++) { - mobileRows.add(_buildConfirmationTextField( - confirmIdxs[i], mnemonicWordsList[confirmIdxs[i]],),); - webRowChildren.add(_buildConfirmationTextField( - confirmIdxs[i], mnemonicWordsList[confirmIdxs[i]],),); + mobileRows.add( + _buildConfirmationTextField( + confirmIdxs[i], + mnemonicWordsList[confirmIdxs[i]], + ), + ); + webRowChildren.add( + _buildConfirmationTextField( + confirmIdxs[i], + mnemonicWordsList[confirmIdxs[i]], + ), + ); if ((i + 1) % 2 == 0) { webRows.add(webRowChildren); webRowChildren = []; @@ -174,7 +190,9 @@ class _SeedPhraseConfirmationPageState class LowerCaseTextFormatter extends TextInputFormatter { @override TextEditingValue formatEditUpdate( - TextEditingValue oldValue, TextEditingValue newValue,) { + TextEditingValue oldValue, + TextEditingValue newValue, + ) { return TextEditingValue( text: newValue.text.toLowerCase(), selection: newValue.selection, diff --git a/lib/presentation/onboarding/create_wallet/seed_phrase_display_page.dart b/lib/presentation/onboarding/create_wallet/seed_phrase_display_page.dart index 45847b38..d1fa8819 100644 --- a/lib/presentation/onboarding/create_wallet/seed_phrase_display_page.dart +++ b/lib/presentation/onboarding/create_wallet/seed_phrase_display_page.dart @@ -2,8 +2,12 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; + // Package imports: import 'package:flutter_redux/flutter_redux.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; + // Project imports: import 'package:ribn/actions/misc_actions.dart'; import 'package:ribn/constants/assets.dart'; @@ -17,8 +21,6 @@ import 'package:ribn/presentation/onboarding/widgets/mobile_onboarding_progress_ import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; import 'package:ribn/presentation/onboarding/widgets/web_onboarding_app_bar.dart'; import 'package:ribn/utils.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; class SeedPhraseDisplayPage extends StatelessWidget { const SeedPhraseDisplayPage({Key? key}) : super(key: key); @@ -57,7 +59,8 @@ class SeedPhraseDisplayPage extends StatelessWidget { Image.asset(RibnAssets.penPaperPng, width: 70), Padding( padding: EdgeInsets.symmetric( - vertical: kIsWeb ? 40 : adaptHeight(0.03),), + vertical: kIsWeb ? 40 : adaptHeight(0.03), + ), child: const Text( Strings.writeDownSeedPhraseInExactOrder, style: RibnToolkitTextStyles.onboardingH3, @@ -85,7 +88,8 @@ class SeedPhraseDisplayPage extends StatelessWidget { child: _buildButton( Strings.copy, onPressed: () => Clipboard.setData( - ClipboardData(text: seedPhrase),), + ClipboardData(text: seedPhrase), + ), width: 19, height: 15, ), @@ -107,7 +111,9 @@ class SeedPhraseDisplayPage extends StatelessWidget { StoreProvider.of(context) .dispatch( DownloadAsFileAction( - Strings.seedPhraseFileName, seedPhrase,), + Strings.seedPhraseFileName, + seedPhrase, + ), ), width: 30, height: 23, @@ -118,7 +124,8 @@ class SeedPhraseDisplayPage extends StatelessWidget { ), SizedBox(height: adaptHeight(0.1)), renderIfMobile( - const MobileOnboardingProgressBar(currStep: 0),), + const MobileOnboardingProgressBar(currStep: 0), + ), ConfirmationButton( text: Strings.done, onPressed: () { @@ -206,9 +213,10 @@ class SeedPhraseDisplayPage extends StatelessWidget { TextSpan( text: '$buttonText ', style: RibnToolkitTextStyles.h3.copyWith( - color: const Color(0xff00FFC5), - letterSpacing: 0.5, - height: kIsWeb ? 1 : 0,), + color: const Color(0xff00FFC5), + letterSpacing: 0.5, + height: kIsWeb ? 1 : 0, + ), ), WidgetSpan( child: Padding( diff --git a/lib/presentation/onboarding/create_wallet/seed_phrase_generating_page.dart b/lib/presentation/onboarding/create_wallet/seed_phrase_generating_page.dart index 36fe08d3..f16a9edd 100644 --- a/lib/presentation/onboarding/create_wallet/seed_phrase_generating_page.dart +++ b/lib/presentation/onboarding/create_wallet/seed_phrase_generating_page.dart @@ -1,8 +1,13 @@ // Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; + // Package imports: import 'package:flutter_redux/flutter_redux.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/molecules/animated_circle_step_loader.dart'; + // Project imports: import 'package:ribn/actions/onboarding_actions.dart'; import 'package:ribn/constants/assets.dart'; @@ -15,9 +20,6 @@ import 'package:ribn/presentation/onboarding/widgets/confirmation_button.dart'; import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; import 'package:ribn/presentation/onboarding/widgets/web_onboarding_app_bar.dart'; import 'package:ribn/utils.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/molecules/animated_circle_step_loader.dart'; /// This page shows a loading animation to indicate seed phrase generation. class SeedPhraseGeneratingPage extends StatefulWidget { diff --git a/lib/presentation/onboarding/create_wallet/seed_phrase_info_checklist_page.dart b/lib/presentation/onboarding/create_wallet/seed_phrase_info_checklist_page.dart index fcd47d32..93adbc1d 100644 --- a/lib/presentation/onboarding/create_wallet/seed_phrase_info_checklist_page.dart +++ b/lib/presentation/onboarding/create_wallet/seed_phrase_info_checklist_page.dart @@ -1,6 +1,12 @@ // Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; + +// Package imports: +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/molecules/checkbox_wrappable_text.dart'; + // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/keys.dart'; @@ -11,10 +17,6 @@ import 'package:ribn/presentation/onboarding/widgets/confirmation_button.dart'; import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; import 'package:ribn/presentation/onboarding/widgets/web_onboarding_app_bar.dart'; import 'package:ribn/utils.dart'; -// Package imports: -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/molecules/checkbox_wrappable_text.dart'; /// Builds checks to ensure that the user understands the importance of the seed phrase. class SeedPhraseInfoChecklistPage extends StatefulWidget { @@ -67,7 +69,9 @@ class _SeedPhraseInfoChecklistPageState text: Strings.walletRecoveryUsingSeedPhrase, onChanged: checkboxesState[Strings.neverShareMySeedPhrase]! ? (bool? val) => onChecked( - val ?? false, Strings.walletRecoveryUsingSeedPhrase,) + val ?? false, + Strings.walletRecoveryUsingSeedPhrase, + ) : null, ), SizedBox(height: adaptHeight(0.1)), diff --git a/lib/presentation/onboarding/create_wallet/seed_phrase_instructions_page.dart b/lib/presentation/onboarding/create_wallet/seed_phrase_instructions_page.dart index 21e38cbc..e73afe92 100644 --- a/lib/presentation/onboarding/create_wallet/seed_phrase_instructions_page.dart +++ b/lib/presentation/onboarding/create_wallet/seed_phrase_instructions_page.dart @@ -1,6 +1,11 @@ // Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; + +// Package imports: +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; + // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/keys.dart'; @@ -11,9 +16,6 @@ import 'package:ribn/presentation/onboarding/widgets/confirmation_button.dart'; import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; import 'package:ribn/presentation/onboarding/widgets/web_onboarding_app_bar.dart'; import 'package:ribn/utils.dart'; -// Package imports: -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; /// This page shows intructions on how to keep the seed phrase secure. class SeedPhraseInstructionsPage extends StatelessWidget { @@ -104,7 +106,9 @@ class SeedPhraseInstructionsPage extends StatelessWidget { height: height, child: Padding( padding: EdgeInsets.only( - left: iconLeftPadding, right: iconRightPadding,), + left: iconLeftPadding, + right: iconRightPadding, + ), child: Image.asset(pngIcon, width: 30), ), ), diff --git a/lib/presentation/onboarding/create_wallet/select_action_page.dart b/lib/presentation/onboarding/create_wallet/select_action_page.dart index 3dfa58df..47e48f76 100644 --- a/lib/presentation/onboarding/create_wallet/select_action_page.dart +++ b/lib/presentation/onboarding/create_wallet/select_action_page.dart @@ -1,6 +1,12 @@ // Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; + +// Package imports: +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/molecules/onboarding_action_button.dart'; + // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/keys.dart'; @@ -10,10 +16,6 @@ import 'package:ribn/presentation/onboarding/utils.dart'; import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; import 'package:ribn/presentation/onboarding/widgets/web_onboarding_app_bar.dart'; import 'package:ribn/utils.dart'; -// Package imports: -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/molecules/onboarding_action_button.dart'; /// This page allows the user to select between creating a new wallet or importing an existing wallet. class SelectActionPage extends StatelessWidget { @@ -67,7 +69,8 @@ class SelectActionPage extends StatelessWidget { kIsWeb ? Row( mainAxisAlignment: MainAxisAlignment.center, - children: actionButtons,) + children: actionButtons, + ) : Column(children: actionButtons), SizedBox(height: adaptHeight(0.1)), ], diff --git a/lib/presentation/onboarding/create_wallet/wallet_created_page.dart b/lib/presentation/onboarding/create_wallet/wallet_created_page.dart index 8b32ba32..9e69abdd 100644 --- a/lib/presentation/onboarding/create_wallet/wallet_created_page.dart +++ b/lib/presentation/onboarding/create_wallet/wallet_created_page.dart @@ -1,6 +1,12 @@ // Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; + +// Package imports: +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/molecules/accordion.dart'; + // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/keys.dart'; @@ -12,10 +18,6 @@ import 'package:ribn/presentation/onboarding/widgets/mobile_onboarding_progress_ import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; import 'package:ribn/presentation/onboarding/widgets/web_onboarding_app_bar.dart'; import 'package:ribn/utils.dart'; -// Package imports: -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/molecules/accordion.dart'; /// This page is displayed when user successfully creates their wallet. class WalletCreatedPage extends StatefulWidget { diff --git a/lib/presentation/onboarding/create_wallet/wallet_info_checklist_page.dart b/lib/presentation/onboarding/create_wallet/wallet_info_checklist_page.dart index a7ea4837..aee88f87 100644 --- a/lib/presentation/onboarding/create_wallet/wallet_info_checklist_page.dart +++ b/lib/presentation/onboarding/create_wallet/wallet_info_checklist_page.dart @@ -1,8 +1,13 @@ // Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; + // Package imports: import 'package:local_auth/local_auth.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/molecules/checkbox_wrappable_text.dart'; + // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/keys.dart'; @@ -14,9 +19,6 @@ import 'package:ribn/presentation/onboarding/widgets/mobile_onboarding_progress_ import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; import 'package:ribn/presentation/onboarding/widgets/web_onboarding_app_bar.dart'; import 'package:ribn/utils.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/molecules/checkbox_wrappable_text.dart'; class WalletInfoChecklistPage extends StatefulWidget { const WalletInfoChecklistPage({Key? key}) : super(key: key); @@ -79,7 +81,9 @@ class _WalletInfoChecklistPageState extends State { activeText: true, text: Strings.savedMyWalletPasswordSafely, onChanged: (bool? val) => onChecked( - val ?? false, Strings.savedMyWalletPasswordSafely,), + val ?? false, + Strings.savedMyWalletPasswordSafely, + ), ), SizedBox(height: adaptHeight(0.03)), _buildCheckboxListTile( @@ -99,7 +103,9 @@ class _WalletInfoChecklistPageState extends State { text: Strings.spAndPasswordUnrecoverable, onChanged: checkboxesState[Strings.toplCannotRecoverForMe]! ? (bool? val) => onChecked( - val ?? false, Strings.spAndPasswordUnrecoverable,) + val ?? false, + Strings.spAndPasswordUnrecoverable, + ) : null, renderTooltipIcon: true, ), @@ -108,9 +114,11 @@ class _WalletInfoChecklistPageState extends State { ConfirmationButton( text: Strings.iUnderstand, onPressed: () { - Keys.navigatorKey.currentState?.pushNamed(isBioSupported - ? Routes.onboardingEnableBiometrics - : Routes.walletCreated,); + Keys.navigatorKey.currentState?.pushNamed( + isBioSupported + ? Routes.onboardingEnableBiometrics + : Routes.walletCreated, + ); }, disabled: checkboxesState.containsValue(false), ) diff --git a/lib/presentation/onboarding/create_wallet/welcome_page.dart b/lib/presentation/onboarding/create_wallet/welcome_page.dart index 012c5657..9b91e2dc 100644 --- a/lib/presentation/onboarding/create_wallet/welcome_page.dart +++ b/lib/presentation/onboarding/create_wallet/welcome_page.dart @@ -1,6 +1,12 @@ // Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; + +// Package imports: +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/molecules/wave_container.dart'; + // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/keys.dart'; @@ -8,10 +14,6 @@ import 'package:ribn/constants/routes.dart'; import 'package:ribn/constants/strings.dart'; import 'package:ribn/presentation/onboarding/utils.dart'; import 'package:ribn/presentation/onboarding/widgets/confirmation_button.dart'; -// Package imports: -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/molecules/wave_container.dart'; /// The initial welcome page displayed during onboarding on mobile. class WelcomePage extends StatelessWidget { @@ -43,7 +45,8 @@ class WelcomePage extends StatelessWidget { const SizedBox(height: 20), ConstrainedBox( constraints: const BoxConstraints( - maxWidth: kIsWeb ? double.infinity : 310,), + maxWidth: kIsWeb ? double.infinity : 310, + ), child: Text( Strings.intro, textAlign: TextAlign.center, diff --git a/lib/presentation/onboarding/extension_info_page.dart b/lib/presentation/onboarding/extension_info_page.dart index b54e0bcf..3410807a 100644 --- a/lib/presentation/onboarding/extension_info_page.dart +++ b/lib/presentation/onboarding/extension_info_page.dart @@ -1,13 +1,15 @@ // Flutter imports: import 'package:flutter/material.dart'; + // Package imports: import 'package:flutter_svg/svg.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; + // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/strings.dart'; import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; class ExtensionInfoPage extends StatelessWidget { const ExtensionInfoPage({Key? key}) : super(key: key); @@ -67,8 +69,11 @@ class ExtensionInfoPage extends StatelessWidget { ), ), WidgetSpan( - child: SvgPicture.asset(RibnAssets.extensionIcon, - height: inlineIconHeight, width: inlineIconWidth,), + child: SvgPicture.asset( + RibnAssets.extensionIcon, + height: inlineIconHeight, + width: inlineIconWidth, + ), ), TextSpan( text: Strings.clickingTheIconPartThree, diff --git a/lib/presentation/onboarding/restore_wallet/create_new_wallet_password_page.dart b/lib/presentation/onboarding/restore_wallet/create_new_wallet_password_page.dart index c6d90bef..1b140026 100644 --- a/lib/presentation/onboarding/restore_wallet/create_new_wallet_password_page.dart +++ b/lib/presentation/onboarding/restore_wallet/create_new_wallet_password_page.dart @@ -2,9 +2,17 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; + // Package imports: import 'package:flutter_redux/flutter_redux.dart'; import 'package:loader_overlay/loader_overlay.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/molecules/checkbox_wrappable_text.dart'; +import 'package:ribn_toolkit/widgets/molecules/password_text_field.dart'; +import 'package:ribn_toolkit/widgets/organisms/onboarding_progress_bar.dart'; +import 'package:url_launcher/url_launcher.dart'; + // Project imports: import 'package:ribn/actions/restore_wallet_actions.dart'; import 'package:ribn/constants/strings.dart'; @@ -15,12 +23,6 @@ import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; import 'package:ribn/presentation/onboarding/widgets/warning_section.dart'; import 'package:ribn/presentation/onboarding/widgets/web_onboarding_app_bar.dart'; import 'package:ribn/utils.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/molecules/checkbox_wrappable_text.dart'; -import 'package:ribn_toolkit/widgets/molecules/password_text_field.dart'; -import 'package:ribn_toolkit/widgets/organisms/onboarding_progress_bar.dart'; -import 'package:url_launcher/url_launcher.dart'; /// Page for creating a new wallet password, when restoring wallet with a [seedPhrase]. class NewWalletPasswordPage extends StatefulWidget { @@ -94,7 +96,8 @@ class _NewWalletPasswordPageState extends State { mainAxisSize: MainAxisSize.min, children: [ renderIfWeb( - const WebOnboardingAppBar(currStep: 1, numSteps: 2),), + const WebOnboardingAppBar(currStep: 1, numSteps: 2), + ), const Text( Strings.restoreWallet, style: RibnToolkitTextStyles.onboardingH1, @@ -119,7 +122,8 @@ class _NewWalletPasswordPageState extends State { ), const SizedBox(height: 40), renderIfMobile( - const OnboardingProgressBar(numSteps: 2, currStep: 0),), + const OnboardingProgressBar(numSteps: 2, currStep: 0), + ), const SizedBox(height: 20), ConfirmationButton( text: Strings.done, diff --git a/lib/presentation/onboarding/restore_wallet/enter_wallet_password_page.dart b/lib/presentation/onboarding/restore_wallet/enter_wallet_password_page.dart index a205e44f..cb756046 100644 --- a/lib/presentation/onboarding/restore_wallet/enter_wallet_password_page.dart +++ b/lib/presentation/onboarding/restore_wallet/enter_wallet_password_page.dart @@ -3,8 +3,13 @@ import 'dart:async'; // Flutter imports: import 'package:flutter/material.dart'; + // Package imports: import 'package:flutter_redux/flutter_redux.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/molecules/password_text_field.dart'; + // Project imports: import 'package:ribn/actions/restore_wallet_actions.dart'; import 'package:ribn/constants/strings.dart'; @@ -14,9 +19,6 @@ import 'package:ribn/presentation/onboarding/widgets/confirmation_button.dart'; import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; import 'package:ribn/presentation/onboarding/widgets/warning_section.dart'; import 'package:ribn/presentation/onboarding/widgets/web_onboarding_app_bar.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/molecules/password_text_field.dart'; /// Allows the user to enter their wallet password to decrypt the Topl Key in [toplKeyStoreJson]. class EnterWalletPasswordPage extends StatefulWidget { diff --git a/lib/presentation/onboarding/restore_wallet/restore_wallet_page.dart b/lib/presentation/onboarding/restore_wallet/restore_wallet_page.dart index 3c7db160..95f9769b 100644 --- a/lib/presentation/onboarding/restore_wallet/restore_wallet_page.dart +++ b/lib/presentation/onboarding/restore_wallet/restore_wallet_page.dart @@ -1,10 +1,20 @@ // Flutter imports: -// Package imports: -import 'package:bip_topl/bip_topl.dart'; + +// Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; + +// Package imports: +import 'package:bip_topl/bip_topl.dart'; import 'package:flutter_redux/flutter_redux.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/custom_text_field.dart'; +import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; +import 'package:ribn_toolkit/widgets/atoms/peekaboo_button.dart'; +import 'package:ribn_toolkit/widgets/organisms/onboarding_progress_bar.dart'; + // Project imports: import 'package:ribn/actions/misc_actions.dart'; import 'package:ribn/constants/keys.dart'; @@ -15,12 +25,6 @@ import 'package:ribn/presentation/onboarding/utils.dart'; import 'package:ribn/presentation/onboarding/widgets/confirmation_button.dart'; import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; import 'package:ribn/presentation/onboarding/widgets/web_onboarding_app_bar.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/custom_text_field.dart'; -import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; -import 'package:ribn_toolkit/widgets/atoms/peekaboo_button.dart'; -import 'package:ribn_toolkit/widgets/organisms/onboarding_progress_bar.dart'; /// This page allows the user to enter a known mnemonic / seed phrase in order to restore a wallet. /// @@ -104,14 +108,16 @@ class _RestoreWalletPageState extends State { kIsWeb ? Align( alignment: Alignment.centerLeft, - child: _buildAdvancedOption(),) + child: _buildAdvancedOption(), + ) : const SizedBox(), ], ), ), adaptableSpacer(), renderIfMobile( - const OnboardingProgressBar(numSteps: 2, currStep: 0),), + const OnboardingProgressBar(numSteps: 2, currStep: 0), + ), const SizedBox(height: 20), ConfirmationButton( text: Strings.next, diff --git a/lib/presentation/onboarding/restore_wallet/restore_with_topl_key_page.dart b/lib/presentation/onboarding/restore_wallet/restore_with_topl_key_page.dart index fa786c9e..795c4bbb 100644 --- a/lib/presentation/onboarding/restore_wallet/restore_with_topl_key_page.dart +++ b/lib/presentation/onboarding/restore_wallet/restore_with_topl_key_page.dart @@ -1,11 +1,14 @@ // Dart imports: import 'dart:convert'; -// Package imports: -import 'package:file_picker/file_picker.dart'; // Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: +import 'package:file_picker/file_picker.dart'; import 'package:flutter_redux/flutter_redux.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; + // Project imports: import 'package:ribn/actions/misc_actions.dart'; import 'package:ribn/constants/assets.dart'; @@ -17,7 +20,6 @@ import 'package:ribn/presentation/onboarding/widgets/confirmation_button.dart'; import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; import 'package:ribn/presentation/onboarding/widgets/uploaded_file_container.dart'; import 'package:ribn/presentation/onboarding/widgets/web_onboarding_app_bar.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; /// This page allows the user to upload their Topl Main Key in order to restore a wallet. /// @@ -113,8 +115,10 @@ class _RestoreWithToplKeyPageState extends State { ), ), const SizedBox(height: 5), - const Text(Strings.fileUploadLimit, - style: RibnToolkitTextStyles.onboardingH3,), + const Text( + Strings.fileUploadLimit, + style: RibnToolkitTextStyles.onboardingH3, + ), const SizedBox(height: 20), Image.asset(RibnAssets.addPlusPng, width: 70), ], @@ -158,7 +162,10 @@ class _RestoreWithToplKeyPageState extends State { ), const SizedBox(height: 5), UploadedFileContainer( - uploadedFileName: uploadedFileName, width: 484, height: 46,), + uploadedFileName: uploadedFileName, + width: 484, + height: 46, + ), ], ), ); diff --git a/lib/presentation/onboarding/widgets/onboarding_container.dart b/lib/presentation/onboarding/widgets/onboarding_container.dart index 239183f7..68cf5087 100644 --- a/lib/presentation/onboarding/widgets/onboarding_container.dart +++ b/lib/presentation/onboarding/widgets/onboarding_container.dart @@ -31,9 +31,10 @@ class OnboardingContainer extends StatelessWidget { ), child: Padding( padding: EdgeInsets.only( - top: topPadding, - left: isXsScreenSize ? 10 : 20, - right: isXsScreenSize ? 10 : 20,), + top: topPadding, + left: isXsScreenSize ? 10 : 20, + right: isXsScreenSize ? 10 : 20, + ), child: child, ), ); diff --git a/lib/presentation/onboarding/widgets/uploaded_file_container.dart b/lib/presentation/onboarding/widgets/uploaded_file_container.dart index f4a3f0ff..5e29a0e3 100644 --- a/lib/presentation/onboarding/widgets/uploaded_file_container.dart +++ b/lib/presentation/onboarding/widgets/uploaded_file_container.dart @@ -1,10 +1,12 @@ // Flutter imports: import 'package:flutter/material.dart'; -// Project imports: -import 'package:ribn/constants/assets.dart'; + // Package imports: import 'package:ribn_toolkit/constants/styles.dart'; +// Project imports: +import 'package:ribn/constants/assets.dart'; + /// A container that displays the uploaded file name, when restoring wallet with Topl Main Key. /// class UploadedFileContainer extends StatelessWidget { diff --git a/lib/presentation/onboarding/widgets/warning_section.dart b/lib/presentation/onboarding/widgets/warning_section.dart index 4affc342..61566322 100644 --- a/lib/presentation/onboarding/widgets/warning_section.dart +++ b/lib/presentation/onboarding/widgets/warning_section.dart @@ -1,13 +1,15 @@ // Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; -// Project imports: -import 'package:ribn/constants/assets.dart'; -import 'package:ribn/constants/strings.dart'; + // Package imports: import 'package:ribn_toolkit/constants/colors.dart'; import 'package:ribn_toolkit/constants/styles.dart'; +// Project imports: +import 'package:ribn/constants/assets.dart'; +import 'package:ribn/constants/strings.dart'; + /// A section to display important warning message when restoring wallet. class WarningSection extends StatelessWidget { const WarningSection({ diff --git a/lib/presentation/settings/sections/biometrics_section.dart b/lib/presentation/settings/sections/biometrics_section.dart index 5e6a7720..dbbec720 100644 --- a/lib/presentation/settings/sections/biometrics_section.dart +++ b/lib/presentation/settings/sections/biometrics_section.dart @@ -2,20 +2,22 @@ import 'dart:io' show Platform; import 'dart:io'; -// Package imports: -import 'package:app_settings/app_settings.dart'; // Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: +import 'package:app_settings/app_settings.dart'; import 'package:flutter_redux/flutter_redux.dart'; import 'package:local_auth/local_auth.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/custom_toggle.dart'; + // Project imports: import 'package:ribn/actions/user_details_actions.dart'; import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/strings.dart'; import 'package:ribn/models/app_state.dart'; import 'package:ribn/utils.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/custom_toggle.dart'; /// The section allows for users to toggle biometrics authentication on/off. class BiometricsSection extends StatefulWidget { diff --git a/lib/presentation/settings/sections/delete_wallet_confirmation_dialog.dart b/lib/presentation/settings/sections/delete_wallet_confirmation_dialog.dart index b88e34d1..3a729651 100644 --- a/lib/presentation/settings/sections/delete_wallet_confirmation_dialog.dart +++ b/lib/presentation/settings/sections/delete_wallet_confirmation_dialog.dart @@ -1,7 +1,6 @@ // Flutter imports: import 'package:flutter/material.dart'; -// Project imports: -import 'package:ribn/constants/strings.dart'; + // Package imports: import 'package:ribn_toolkit/constants/colors.dart'; import 'package:ribn_toolkit/constants/styles.dart'; @@ -9,6 +8,9 @@ import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; import 'package:ribn_toolkit/widgets/molecules/custom_modal.dart'; import 'package:ribn_toolkit/widgets/molecules/password_text_field.dart'; +// Project imports: +import 'package:ribn/constants/strings.dart'; + /// The confimation dialog that is displayed before deleting the wallet. /// /// The user is prompted to enter their wallet password before confirming deletion. @@ -19,9 +21,10 @@ class DeleteWalletConfirmationDialog extends StatefulWidget { VoidCallback onIncorrectPasswordEntered, ) onConfirmDeletePressed; - const DeleteWalletConfirmationDialog( - {required this.onConfirmDeletePressed, Key? key,}) - : super(key: key); + const DeleteWalletConfirmationDialog({ + required this.onConfirmDeletePressed, + Key? key, + }) : super(key: key); @override _DeleteWalletConfirmationDialogState createState() => @@ -76,8 +79,10 @@ class _DeleteWalletConfirmationDialogState obscurePassword: _obscurePassword, ), _incorrectPasswordError - ? const Text('Incorrect Password', - style: TextStyle(color: Colors.red),) + ? const Text( + 'Incorrect Password', + style: TextStyle(color: Colors.red), + ) : const SizedBox() ], ), diff --git a/lib/presentation/settings/sections/delete_wallet_section.dart b/lib/presentation/settings/sections/delete_wallet_section.dart index 39e58f37..e4143977 100644 --- a/lib/presentation/settings/sections/delete_wallet_section.dart +++ b/lib/presentation/settings/sections/delete_wallet_section.dart @@ -1,12 +1,14 @@ // Flutter imports: import 'package:flutter/material.dart'; -// Project imports: -import 'package:ribn/constants/strings.dart'; + // Package imports: import 'package:ribn_toolkit/constants/colors.dart'; import 'package:ribn_toolkit/constants/styles.dart'; import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; +// Project imports: +import 'package:ribn/constants/strings.dart'; + /// The section on the settings page that allows user to delete their wallet. class DeleteWalletSection extends StatelessWidget { /// Handler for when user confirms wallet deletion. diff --git a/lib/presentation/settings/sections/disconnect_wallet_confirmation_dialog.dart b/lib/presentation/settings/sections/disconnect_wallet_confirmation_dialog.dart index f5e60815..311304c7 100644 --- a/lib/presentation/settings/sections/disconnect_wallet_confirmation_dialog.dart +++ b/lib/presentation/settings/sections/disconnect_wallet_confirmation_dialog.dart @@ -1,14 +1,16 @@ // Flutter imports: import 'package:flutter/material.dart'; -// Project imports: -import 'package:ribn/constants/strings.dart'; -import 'package:ribn/platform/platform.dart'; + // Package imports: import 'package:ribn_toolkit/constants/colors.dart'; import 'package:ribn_toolkit/constants/styles.dart'; import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; import 'package:ribn_toolkit/widgets/molecules/custom_modal.dart'; +// Project imports: +import 'package:ribn/constants/strings.dart'; +import 'package:ribn/platform/platform.dart'; + /// The confirmation dialog that is displayed before disconnecting the wallet. class DisconnectWalletConfirmationDialog extends StatefulWidget { const DisconnectWalletConfirmationDialog({Key? key, required this.dApps}) diff --git a/lib/presentation/settings/sections/export_topl_main_key_section.dart b/lib/presentation/settings/sections/export_topl_main_key_section.dart index 0a39f0c1..f8f2b029 100644 --- a/lib/presentation/settings/sections/export_topl_main_key_section.dart +++ b/lib/presentation/settings/sections/export_topl_main_key_section.dart @@ -1,12 +1,14 @@ // Flutter imports: import 'package:flutter/material.dart'; -// Project imports: -import 'package:ribn/constants/strings.dart'; + // Package imports: import 'package:ribn_toolkit/constants/colors.dart'; import 'package:ribn_toolkit/constants/styles.dart'; import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; +// Project imports: +import 'package:ribn/constants/strings.dart'; + /// The section that allows for downloading the Topl Main Key. class ExportToplMainKeySection extends StatelessWidget { /// Callback for when export button is pressed. diff --git a/lib/presentation/settings/sections/links_section.dart b/lib/presentation/settings/sections/links_section.dart index f7f755ef..99d5c206 100644 --- a/lib/presentation/settings/sections/links_section.dart +++ b/lib/presentation/settings/sections/links_section.dart @@ -1,13 +1,15 @@ // Flutter imports: import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; -// Project imports: -import 'package:ribn/constants/strings.dart'; + // Package imports: import 'package:ribn_toolkit/constants/colors.dart'; import 'package:ribn_toolkit/constants/styles.dart'; import 'package:url_launcher/url_launcher.dart'; +// Project imports: +import 'package:ribn/constants/strings.dart'; + /// The section for displaying helpful links. class LinksSection extends StatelessWidget { const LinksSection({Key? key}) : super(key: key); diff --git a/lib/presentation/settings/sections/ribn_version_section.dart b/lib/presentation/settings/sections/ribn_version_section.dart index b74e858d..1b6f381a 100644 --- a/lib/presentation/settings/sections/ribn_version_section.dart +++ b/lib/presentation/settings/sections/ribn_version_section.dart @@ -1,10 +1,12 @@ // Flutter imports: import 'package:flutter/material.dart'; -// Project imports: -import 'package:ribn/constants/strings.dart'; + // Package imports: import 'package:ribn_toolkit/constants/styles.dart'; +// Project imports: +import 'package:ribn/constants/strings.dart'; + /// The section for displaying the current Ribn version. class RibnVersionSection extends StatelessWidget { /// The current app version. diff --git a/lib/presentation/settings/settings_page.dart b/lib/presentation/settings/settings_page.dart index 15a070d2..3fd3a8c3 100644 --- a/lib/presentation/settings/settings_page.dart +++ b/lib/presentation/settings/settings_page.dart @@ -1,8 +1,12 @@ // Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; + // Package imports: import 'package:local_auth/local_auth.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/widgets/organisms/custom_page_text_title.dart'; + // Project imports: import 'package:ribn/constants/strings.dart'; import 'package:ribn/containers/settings_container.dart'; @@ -13,8 +17,6 @@ import 'package:ribn/presentation/settings/sections/export_topl_main_key_section import 'package:ribn/presentation/settings/sections/links_section.dart'; import 'package:ribn/presentation/settings/sections/ribn_version_section.dart'; import 'package:ribn/utils.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/widgets/organisms/custom_page_text_title.dart'; /// The settings page of the application. class SettingsPage extends StatefulWidget { diff --git a/lib/presentation/transaction_history/dashed_list_separator/dashed_list_separator.dart b/lib/presentation/transaction_history/dashed_list_separator/dashed_list_separator.dart index fb63b893..0381af29 100644 --- a/lib/presentation/transaction_history/dashed_list_separator/dashed_list_separator.dart +++ b/lib/presentation/transaction_history/dashed_list_separator/dashed_list_separator.dart @@ -2,9 +2,11 @@ import 'package:flutter/material.dart'; class DashedListSeparator extends StatelessWidget { - const DashedListSeparator( - {Key? key, this.height = 1, this.color = Colors.black,}) - : super(key: key); + const DashedListSeparator({ + Key? key, + this.height = 1, + this.color = Colors.black, + }) : super(key: key); final double height; final Color color; diff --git a/lib/presentation/transaction_history/helpers/tx_history_helper_functions.dart b/lib/presentation/transaction_history/helpers/tx_history_helper_functions.dart index 0bc085c2..49106004 100644 --- a/lib/presentation/transaction_history/helpers/tx_history_helper_functions.dart +++ b/lib/presentation/transaction_history/helpers/tx_history_helper_functions.dart @@ -1,7 +1,10 @@ // Flutter imports: + +// Flutter imports: +import 'package:flutter/cupertino.dart'; + // Package imports: import 'package:brambldart/model.dart'; -import 'package:flutter/cupertino.dart'; import 'package:ribn_toolkit/constants/colors.dart'; // Project imports: diff --git a/lib/presentation/transaction_history/transaction_data_row/transaction_data_row.dart b/lib/presentation/transaction_history/transaction_data_row/transaction_data_row.dart index 7036b94c..b2c96b8a 100644 --- a/lib/presentation/transaction_history/transaction_data_row/transaction_data_row.dart +++ b/lib/presentation/transaction_history/transaction_data_row/transaction_data_row.dart @@ -1,20 +1,22 @@ // Dart imports: + +// Flutter imports: +import 'package:flutter/material.dart'; + // Package imports: import 'package:brambldart/model.dart'; import 'package:brambldart/utils.dart'; -// Flutter imports: -import 'package:flutter/material.dart'; import 'package:flutter_redux/flutter_redux.dart'; import 'package:intl/intl.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/ribn_sample_data_models.dart'; +import 'package:ribn_toolkit/widgets/molecules/ribn_activity_tile.dart'; + // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/models/app_state.dart'; import 'package:ribn/models/asset_details.dart'; import 'package:ribn/utils.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/ribn_sample_data_models.dart'; -import 'package:ribn_toolkit/widgets/molecules/ribn_activity_tile.dart'; - import '../../../constants/routes.dart'; class TransactionDataRow extends StatefulWidget { @@ -179,11 +181,13 @@ class _TransactionDataRowState extends State { : '${transactionAmountForAssetTransfer()} ${formatAssetUnit(assetDetails?.unit ?? 'Unit')}', 'fee': fee, 'myRibnWalletAddress': formatAddressString( - widget.myRibnWalletAddress, - charsToDisplay: 4,), + widget.myRibnWalletAddress, + charsToDisplay: 4, + ), 'transactionSenderAddress': formatAddressString( - transactionSenderAddress.senderAddress.toBase58(), - charsToDisplay: 4,), + transactionSenderAddress.senderAddress.toBase58(), + charsToDisplay: 4, + ), 'note': note, 'securityRoot': isPolyTransaction ? '' @@ -191,12 +195,17 @@ class _TransactionDataRowState extends State { 'blockId': formatAddressString(blockId.toString(), charsToDisplay: 4), 'blockHeight': blockNumber?.blockNum, - 'transactionId': formatAddressString(transactionId.toString(), - charsToDisplay: 4,), + 'transactionId': formatAddressString( + transactionId.toString(), + charsToDisplay: 4, + ), 'networkId': widget.networkId, }; - Navigator.pushNamed(context, Routes.txHistoryDetails, - arguments: details,); + Navigator.pushNamed( + context, + Routes.txHistoryDetails, + arguments: details, + ); }, ); }, diff --git a/lib/presentation/transaction_history/transaction_history_details_page/transaction_history_details_page.dart b/lib/presentation/transaction_history/transaction_history_details_page/transaction_history_details_page.dart index 26a4785e..fd3982be 100644 --- a/lib/presentation/transaction_history/transaction_history_details_page/transaction_history_details_page.dart +++ b/lib/presentation/transaction_history/transaction_history_details_page/transaction_history_details_page.dart @@ -31,15 +31,17 @@ class _TxHistoryPageDetailsState extends State { thumbVisibility: true, controller: scrollController, child: SingleChildScrollView( - controller: scrollController, - child: RibnActivityDetails( - activityDetails: widget.ribnActivityDetailsModel, - dataTileTextStyle: const TextStyle( - fontFamily: 'DM Sans', - fontSize: 12, - color: RibnColors.hintTextColor, - fontWeight: FontWeight.normal, - ),),), + controller: scrollController, + child: RibnActivityDetails( + activityDetails: widget.ribnActivityDetailsModel, + dataTileTextStyle: const TextStyle( + fontFamily: 'DM Sans', + fontSize: 12, + color: RibnColors.hintTextColor, + fontWeight: FontWeight.normal, + ), + ), + ), ), ); } diff --git a/lib/presentation/transaction_history/transaction_history_page.dart b/lib/presentation/transaction_history/transaction_history_page.dart index d314c645..1d924b68 100644 --- a/lib/presentation/transaction_history/transaction_history_page.dart +++ b/lib/presentation/transaction_history/transaction_history_page.dart @@ -1,8 +1,14 @@ // Flutter imports: + +// Flutter imports: +import 'package:flutter/material.dart'; + // Package imports: import 'package:brambldart/brambldart.dart'; -import 'package:flutter/material.dart'; import 'package:loader_overlay/loader_overlay.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/widgets/organisms/custom_page_dropdown_title.dart'; + // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/strings.dart'; @@ -11,8 +17,6 @@ import 'package:ribn/presentation/empty_state_screen.dart'; import 'package:ribn/presentation/transaction_history/dashed_list_separator/dashed_list_separator.dart'; import 'package:ribn/presentation/transaction_history/transaction_data_row/transaction_data_row.dart'; import 'package:ribn/utils.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/widgets/organisms/custom_page_dropdown_title.dart'; class TxHistoryPage extends StatefulWidget { final Future? blockHeight; diff --git a/lib/presentation/transfers/asset_transfer_page.dart b/lib/presentation/transfers/asset_transfer_page.dart index 598977f6..fa76c726 100644 --- a/lib/presentation/transfers/asset_transfer_page.dart +++ b/lib/presentation/transfers/asset_transfer_page.dart @@ -1,18 +1,20 @@ // Flutter imports: import 'package:flutter/material.dart'; + // Package imports: import 'package:flutter_keyboard_visibility/flutter_keyboard_visibility.dart'; import 'package:loader_overlay/loader_overlay.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/molecules/sliding_segment_control.dart'; +import 'package:ribn_toolkit/widgets/organisms/custom_page_text_title.dart'; + // Project imports: import 'package:ribn/constants/strings.dart'; import 'package:ribn/containers/asset_transfer_input_container.dart'; import 'package:ribn/containers/poly_transfer_input_container.dart'; import 'package:ribn/presentation/transfers/asset_transfer_section.dart'; import 'package:ribn/presentation/transfers/poly_transfer_section.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/molecules/sliding_segment_control.dart'; -import 'package:ribn_toolkit/widgets/organisms/custom_page_text_title.dart'; /// The asset transfer input page that allows the initiation of an asset transfer. /// diff --git a/lib/presentation/transfers/asset_transfer_section.dart b/lib/presentation/transfers/asset_transfer_section.dart index 3f9fda90..4b10922a 100644 --- a/lib/presentation/transfers/asset_transfer_section.dart +++ b/lib/presentation/transfers/asset_transfer_section.dart @@ -1,10 +1,20 @@ // Flutter imports: -// Package imports: -import 'package:brambldart/brambldart.dart'; + +// Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; + +// Package imports: +import 'package:brambldart/brambldart.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:loader_overlay/loader_overlay.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; +import 'package:ribn_toolkit/widgets/molecules/asset_amount_field.dart'; +import 'package:ribn_toolkit/widgets/molecules/asset_selection_field.dart'; +import 'package:ribn_toolkit/widgets/molecules/note_field.dart'; +import 'package:ribn_toolkit/widgets/molecules/recipient_field.dart'; + // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/strings.dart'; @@ -16,12 +26,6 @@ import 'package:ribn/presentation/transfers/widgets/from_address_field.dart'; import 'package:ribn/utils.dart'; import 'package:ribn/widgets/address_display_container.dart'; import 'package:ribn/widgets/fee_info.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; -import 'package:ribn_toolkit/widgets/molecules/asset_amount_field.dart'; -import 'package:ribn_toolkit/widgets/molecules/asset_selection_field.dart'; -import 'package:ribn_toolkit/widgets/molecules/note_field.dart'; -import 'package:ribn_toolkit/widgets/molecules/recipient_field.dart'; /// The asset transfer input page that allows the initiation of an asset transfer. /// @@ -180,7 +184,8 @@ class _AssetTransferSectionState extends State { _validAmount = TransferUtils.validateAmount( amount, widget.vm.getAssetBalance( - _selectedAsset?.assetCode.toString(),), + _selectedAsset?.assetCode.toString(), + ), ); }); }, @@ -195,7 +200,8 @@ class _AssetTransferSectionState extends State { _validAmount = TransferUtils.validateAmount( amount, widget.vm.getAssetBalance( - _selectedAsset?.assetCode.toString(),), + _selectedAsset?.assetCode.toString(), + ), ); }); }, @@ -245,7 +251,8 @@ class _AssetTransferSectionState extends State { ..text = _recipientController.text .substring(0, _recipientController.text.length) ..selection = TextSelection.collapsed( - offset: _recipientController.text.length,); + offset: _recipientController.text.length, + ); } _validRecipientAddress = ''; }); diff --git a/lib/presentation/transfers/mint_input_page.dart b/lib/presentation/transfers/mint_input_page.dart index acff09ae..ca7af2ef 100644 --- a/lib/presentation/transfers/mint_input_page.dart +++ b/lib/presentation/transfers/mint_input_page.dart @@ -1,11 +1,26 @@ // Flutter imports: -// Package imports: -import 'package:brambldart/brambldart.dart'; + +// Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; + +// Package imports: +import 'package:brambldart/brambldart.dart'; import 'package:flutter_keyboard_visibility/flutter_keyboard_visibility.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:loader_overlay/loader_overlay.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; +import 'package:ribn_toolkit/widgets/molecules/asset_amount_field.dart'; +import 'package:ribn_toolkit/widgets/molecules/asset_long_name_field.dart'; +import 'package:ribn_toolkit/widgets/molecules/asset_selection_field.dart'; +import 'package:ribn_toolkit/widgets/molecules/asset_short_name_field.dart'; +import 'package:ribn_toolkit/widgets/molecules/note_field.dart'; +import 'package:ribn_toolkit/widgets/molecules/recipient_field.dart'; +import 'package:ribn_toolkit/widgets/molecules/sliding_segment_control.dart'; +import 'package:ribn_toolkit/widgets/organisms/custom_page_text_title.dart'; + // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/strings.dart'; @@ -19,17 +34,6 @@ import 'package:ribn/presentation/transfers/widgets/issuer_address_field.dart'; import 'package:ribn/utils.dart'; import 'package:ribn/widgets/address_display_container.dart'; import 'package:ribn/widgets/fee_info.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; -import 'package:ribn_toolkit/widgets/molecules/asset_amount_field.dart'; -import 'package:ribn_toolkit/widgets/molecules/asset_long_name_field.dart'; -import 'package:ribn_toolkit/widgets/molecules/asset_selection_field.dart'; -import 'package:ribn_toolkit/widgets/molecules/asset_short_name_field.dart'; -import 'package:ribn_toolkit/widgets/molecules/note_field.dart'; -import 'package:ribn_toolkit/widgets/molecules/recipient_field.dart'; -import 'package:ribn_toolkit/widgets/molecules/sliding_segment_control.dart'; -import 'package:ribn_toolkit/widgets/organisms/custom_page_text_title.dart'; /// The mint input page that allows the initiation of an mint asset transaction. class MintInputPage extends StatefulWidget { @@ -157,8 +161,8 @@ class _MintInputPageState extends State { ), // ignore: prefer_const_constructors IssuerAddressField( - width: - 213,), // const ignored here so that tooltip can be dismissed + width: 213, + ), // const ignored here so that tooltip can be dismissed // field for entering the recipient address RecipientField( controller: _recipientController, @@ -186,7 +190,8 @@ class _MintInputPageState extends State { ..text = _recipientController.text .substring(0, _recipientController.text.length) ..selection = TextSelection.collapsed( - offset: _recipientController.text.length,); + offset: _recipientController.text.length, + ); } _validRecipientAddress = ''; }); diff --git a/lib/presentation/transfers/poly_transfer_section.dart b/lib/presentation/transfers/poly_transfer_section.dart index 7556ab6b..9d4794c6 100644 --- a/lib/presentation/transfers/poly_transfer_section.dart +++ b/lib/presentation/transfers/poly_transfer_section.dart @@ -2,9 +2,17 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; + // Package imports: import 'package:flutter_svg/flutter_svg.dart'; import 'package:loader_overlay/loader_overlay.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/custom_text_field.dart'; +import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; +import 'package:ribn_toolkit/widgets/molecules/note_field.dart'; +import 'package:ribn_toolkit/widgets/molecules/recipient_field.dart'; + // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/strings.dart'; @@ -16,12 +24,6 @@ import 'package:ribn/presentation/transfers/widgets/from_address_field.dart'; import 'package:ribn/utils.dart'; import 'package:ribn/widgets/address_display_container.dart'; import 'package:ribn/widgets/fee_info.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/custom_text_field.dart'; -import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; -import 'package:ribn_toolkit/widgets/molecules/note_field.dart'; -import 'package:ribn_toolkit/widgets/molecules/recipient_field.dart'; /// The input page that allows initiating poly transfer transaction. /// @@ -151,7 +153,8 @@ class _PolyTransferSectionState extends State { ..text = _recipientController.text .substring(0, _recipientController.text.length) ..selection = TextSelection.collapsed( - offset: _recipientController.text.length,); + offset: _recipientController.text.length, + ); } _validRecipientAddress = ''; }); diff --git a/lib/presentation/transfers/tx_confirmation_page.dart b/lib/presentation/transfers/tx_confirmation_page.dart index 363e75ce..2078f68d 100644 --- a/lib/presentation/transfers/tx_confirmation_page.dart +++ b/lib/presentation/transfers/tx_confirmation_page.dart @@ -1,5 +1,14 @@ // Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/custom_copy_button.dart'; +import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; +import 'package:ribn_toolkit/widgets/molecules/wave_container.dart'; +import 'package:url_launcher/url_launcher.dart'; + // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/keys.dart'; @@ -8,13 +17,6 @@ import 'package:ribn/constants/rules.dart'; import 'package:ribn/constants/strings.dart'; import 'package:ribn/models/transfer_details.dart'; import 'package:ribn/utils.dart'; -// Package imports: -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/custom_copy_button.dart'; -import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; -import 'package:ribn_toolkit/widgets/molecules/wave_container.dart'; -import 'package:url_launcher/url_launcher.dart'; /// The transaction confirmation page. /// @@ -81,7 +83,8 @@ class TxConfirmationPage extends StatelessWidget { ), onPressed: () { Keys.navigatorKey.currentState!.popUntil( - (route) => route.settings.name == Routes.home,); + (route) => route.settings.name == Routes.home, + ); }, ), ), @@ -138,26 +141,30 @@ class TxConfirmationPage extends StatelessWidget { textAlign: TextAlign.center, text: TextSpan( style: RibnToolkitTextStyles.h3.copyWith( - fontWeight: FontWeight.bold, - color: RibnColors.lightGreyTitle,), + fontWeight: FontWeight.bold, + color: RibnColors.lightGreyTitle, + ), children: [ TextSpan( text: 'Your ', style: RibnToolkitTextStyles.h3.copyWith( - fontWeight: FontWeight.bold, - color: RibnColors.lightGreyTitle,), + fontWeight: FontWeight.bold, + color: RibnColors.lightGreyTitle, + ), ), TextSpan( text: txInfo, style: RibnToolkitTextStyles.h3.copyWith( - fontWeight: FontWeight.bold, - color: RibnColors.lightGreyTitle,), + fontWeight: FontWeight.bold, + color: RibnColors.lightGreyTitle, + ), ), TextSpan( text: ' was sent to the Topl blockchain.', style: RibnToolkitTextStyles.h3.copyWith( - fontWeight: FontWeight.bold, - color: RibnColors.lightGreyTitle,), + fontWeight: FontWeight.bold, + color: RibnColors.lightGreyTitle, + ), ), ], ), @@ -176,7 +183,9 @@ class TxConfirmationPage extends StatelessWidget { Text( 'Transaction ID: ${formatAddrString(transferDetails.transactionId!, charsToDisplay: 4)}', style: RibnToolkitTextStyles.h4.copyWith( - fontWeight: FontWeight.w400, color: RibnColors.lightGreyTitle,), + fontWeight: FontWeight.w400, + color: RibnColors.lightGreyTitle, + ), textAlign: TextAlign.center, ), const SizedBox(width: 5), @@ -211,8 +220,9 @@ class TxConfirmationPage extends StatelessWidget { Text( Strings.viewInToplExplorer, style: RibnToolkitTextStyles.h4.copyWith( - fontWeight: FontWeight.w400, - color: RibnColors.secondaryDark,), + fontWeight: FontWeight.w400, + color: RibnColors.secondaryDark, + ), ), const SizedBox(width: 5), Image.asset( diff --git a/lib/presentation/transfers/tx_review_page.dart b/lib/presentation/transfers/tx_review_page.dart index 0d4f16b5..e8f4bd08 100644 --- a/lib/presentation/transfers/tx_review_page.dart +++ b/lib/presentation/transfers/tx_review_page.dart @@ -4,10 +4,18 @@ import 'dart:async'; // Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; + // Package imports: import 'package:flutter_redux/flutter_redux.dart'; import 'package:flutter_svg/svg.dart'; import 'package:loader_overlay/loader_overlay.dart'; +import 'package:ribn_toolkit/constants/assets.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/custom_copy_button.dart'; +import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; +import 'package:ribn_toolkit/widgets/organisms/custom_page_text_title.dart'; + // Project imports: import 'package:ribn/actions/transaction_actions.dart'; import 'package:ribn/constants/keys.dart'; @@ -22,12 +30,6 @@ import 'package:ribn/utils.dart'; import 'package:ribn/widgets/asset_info.dart'; import 'package:ribn/widgets/custom_divider.dart'; import 'package:ribn/widgets/fee_info.dart'; -import 'package:ribn_toolkit/constants/assets.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/custom_copy_button.dart'; -import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; -import 'package:ribn_toolkit/widgets/organisms/custom_page_text_title.dart'; /// The transaction review page. /// @@ -106,8 +108,9 @@ class TxReviewPage extends StatelessWidget { child: SizedBox( width: 310, child: FeeInfo( - fee: transferDetails - .transactionReceipt!.fee!.getInNanopoly,), + fee: transferDetails + .transactionReceipt!.fee!.getInNanopoly, + ), ), ), ], @@ -135,7 +138,8 @@ class TxReviewPage extends StatelessWidget { context.loaderOverlay.show(); final Completer txCompleter = Completer(); StoreProvider.of(context).dispatch( - SignAndBroadcastTxAction(transferDetails, txCompleter),); + SignAndBroadcastTxAction(transferDetails, txCompleter), + ); await txCompleter.future .then((TransferDetails? transferDetails) { if (transferDetails != null) { @@ -179,8 +183,11 @@ class TxReviewPage extends StatelessWidget { } /// A helper function used to build review items on this page. - Widget _buildReviewItem( - {required String itemLabel, required Widget item, bool divider = true,}) { + Widget _buildReviewItem({ + required String itemLabel, + required Widget item, + bool divider = true, + }) { return Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ @@ -231,7 +238,8 @@ class TxReviewPage extends StatelessWidget { ) : AssetInfo( assetCode: transferDetails.assetCode!, - assetDetails: transferDetails.assetDetails,), + assetDetails: transferDetails.assetDetails, + ), ], ), ); diff --git a/lib/presentation/transfers/widgets/custom_input_field.dart b/lib/presentation/transfers/widgets/custom_input_field.dart index 76505313..a6ed517a 100644 --- a/lib/presentation/transfers/widgets/custom_input_field.dart +++ b/lib/presentation/transfers/widgets/custom_input_field.dart @@ -1,11 +1,13 @@ // Flutter imports: import 'package:flutter/material.dart'; -// Project imports: -import 'package:ribn/constants/assets.dart'; + // Package imports: import 'package:ribn_toolkit/constants/styles.dart'; import 'package:ribn_toolkit/widgets/molecules/custom_tooltip.dart'; +// Project imports: +import 'package:ribn/constants/assets.dart'; + /// A wrapper widget used for custom input fields on transfer input pages. class CustomInputField extends StatelessWidget { /// Label for the input field. diff --git a/lib/presentation/transfers/widgets/from_address_field.dart b/lib/presentation/transfers/widgets/from_address_field.dart index 77db0dcd..963f3ee5 100644 --- a/lib/presentation/transfers/widgets/from_address_field.dart +++ b/lib/presentation/transfers/widgets/from_address_field.dart @@ -1,11 +1,13 @@ // Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: +import 'package:ribn_toolkit/constants/assets.dart'; + // Project imports: import 'package:ribn/constants/strings.dart'; import 'package:ribn/presentation/transfers/widgets/custom_input_field.dart'; import 'package:ribn/widgets/address_display_container.dart'; -// Package imports: -import 'package:ribn_toolkit/constants/assets.dart'; /// Custom display for the sender's address. /// diff --git a/lib/presentation/transfers/widgets/issuer_address_field.dart b/lib/presentation/transfers/widgets/issuer_address_field.dart index febc7cbf..8954beef 100644 --- a/lib/presentation/transfers/widgets/issuer_address_field.dart +++ b/lib/presentation/transfers/widgets/issuer_address_field.dart @@ -1,11 +1,13 @@ // Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: +import 'package:ribn_toolkit/constants/assets.dart'; + // Project imports: import 'package:ribn/constants/strings.dart'; import 'package:ribn/presentation/transfers/widgets/custom_input_field.dart'; import 'package:ribn/widgets/address_display_container.dart'; -// Package imports: -import 'package:ribn_toolkit/constants/assets.dart'; /// Custom display for the issuer's address. /// diff --git a/lib/reducers/internal_message_reducer.dart b/lib/reducers/internal_message_reducer.dart index ec7d5730..cb616712 100644 --- a/lib/reducers/internal_message_reducer.dart +++ b/lib/reducers/internal_message_reducer.dart @@ -9,11 +9,14 @@ import 'package:ribn/models/internal_message.dart'; final internalMessageReducer = combineReducers( [ TypedReducer( - _onReceivedInternalMsg,), + _onReceivedInternalMsg, + ), ], ); InternalMessage _onReceivedInternalMsg( - InternalMessage? internalMessage, ReceivedInternalMsgAction action,) { + InternalMessage? internalMessage, + ReceivedInternalMsgAction action, +) { return action.pendingRequest; } diff --git a/lib/reducers/keychain_reducer.dart b/lib/reducers/keychain_reducer.dart index d5a3ace3..fbfb841c 100644 --- a/lib/reducers/keychain_reducer.dart +++ b/lib/reducers/keychain_reducer.dart @@ -13,12 +13,15 @@ import 'package:ribn/models/ribn_network.dart'; final keychainReducer = combineReducers( [ TypedReducer( - _onHdWalletInitialization,), + _onHdWalletInitialization, + ), TypedReducer( - _onNetworksUpdated,), + _onNetworksUpdated, + ), TypedReducer(_onAddAddresses), TypedReducer( - _onCurrentNetworkUpdated,), + _onCurrentNetworkUpdated, + ), TypedReducer(_onBalancesUpdated), ], ); @@ -27,7 +30,9 @@ final keychainReducer = combineReducers( /// /// Optionally updates the [keyStoreJson], for instance, when creating a new wallet for the first time. KeychainState _onHdWalletInitialization( - KeychainState keychainState, InitializeHDWalletAction action,) { + KeychainState keychainState, + InitializeHDWalletAction action, +) { return keychainState.copyWith( keyStoreJson: action.keyStoreJson ?? keychainState.keyStoreJson, hdWallet: HdWallet( @@ -41,7 +46,9 @@ KeychainState _onHdWalletInitialization( /// Updates ribn networks with [action.networkAddresses]. KeychainState _onNetworksUpdated( - KeychainState keychainState, UpdateNetworksWithAddressesAction action,) { + KeychainState keychainState, + UpdateNetworksWithAddressesAction action, +) { final Map networks = Map.from(keychainState.networks); networks.forEach( (networkName, ribnNetwork) { @@ -55,7 +62,9 @@ KeychainState _onNetworksUpdated( /// Add [action.addresses] to the list of addresses under the network specified by [action.networkName]. KeychainState _onAddAddresses( - KeychainState keychainState, AddAddressAction action,) { + KeychainState keychainState, + AddAddressAction action, +) { final RibnNetwork network = keychainState.networks[action.networkName]!; final RibnNetwork updatedNetwork = network.copyWith( addresses: List.from(network.addresses)..add(action.address), @@ -73,7 +82,9 @@ KeychainState _onAddAddresses( /// More specifically, updates the [keychainState.currentNetworkName] and the [lastCheckedTimestamp] of the network associated with /// [action.networkName]. KeychainState _onCurrentNetworkUpdated( - KeychainState keychainState, UpdateCurrentNetworkAction action,) { + KeychainState keychainState, + UpdateCurrentNetworkAction action, +) { return keychainState.copyWith( currentNetworkName: action.networkName, networks: { @@ -87,7 +98,9 @@ KeychainState _onCurrentNetworkUpdated( /// Updates the current network with a list of addresses that have updated balances. KeychainState _onBalancesUpdated( - KeychainState keychainState, UpdateBalancesAction action,) { + KeychainState keychainState, + UpdateBalancesAction action, +) { return keychainState.copyWith( networks: { ...keychainState.networks, diff --git a/lib/reducers/onboarding_reducer.dart b/lib/reducers/onboarding_reducer.dart index 89e7fe2a..ee7d87a5 100644 --- a/lib/reducers/onboarding_reducer.dart +++ b/lib/reducers/onboarding_reducer.dart @@ -13,13 +13,16 @@ final onboardingReducer = combineReducers( [ TypedReducer(_onUserSelectedWord), TypedReducer( - _onMnemonicGenerated,), + _onMnemonicGenerated, + ), ], ); /// Updates the mnemonic in [AppState] -OnboardingState _onMnemonicGenerated(OnboardingState onboardingState, - MnemonicSuccessfullyGeneratedAction action,) { +OnboardingState _onMnemonicGenerated( + OnboardingState onboardingState, + MnemonicSuccessfullyGeneratedAction action, +) { return onboardingState.copyWith( mnemonic: action.mnemonic, shuffledMnemonic: List.from(action.mnemonic.split(' '))..shuffle(Random()), @@ -28,7 +31,9 @@ OnboardingState _onMnemonicGenerated(OnboardingState onboardingState, } OnboardingState _onUserSelectedWord( - OnboardingState onboardingState, UserSelectedWordAction action,) { + OnboardingState onboardingState, + UserSelectedWordAction action, +) { return onboardingState.copyWith( userSelectedIndices: List.from(onboardingState.userSelectedIndices ?? []) ..add(action.idx), diff --git a/lib/reducers/user_details_reducer.dart b/lib/reducers/user_details_reducer.dart index 2fc858b1..b074c636 100644 --- a/lib/reducers/user_details_reducer.dart +++ b/lib/reducers/user_details_reducer.dart @@ -9,16 +9,20 @@ import 'package:ribn/models/user_details_state.dart'; final userDetailsReducer = combineReducers( [ TypedReducer( - _updateAssetDetails,), + _updateAssetDetails, + ), TypedReducer( - _updateBiometricsAction,), + _updateBiometricsAction, + ), ], ); /// Handles [UpdateAssetDetailsAction] and updates the [assetDetails] that are stored locally, associated /// with [action.assetCode]. UserDetailsState _updateAssetDetails( - UserDetailsState userDetails, UpdateAssetDetailsAction action,) { + UserDetailsState userDetails, + UpdateAssetDetailsAction action, +) { final AssetDetails? currAssetDetails = userDetails.assetDetails[action.assetCode]; return userDetails.copyWith( @@ -35,7 +39,9 @@ UserDetailsState _updateAssetDetails( /// Handles [UpdateBiometricsAction] and updates [isBiometricsEnabled] that is stored locally UserDetailsState _updateBiometricsAction( - UserDetailsState userDetails, UpdateBiometricsAction action,) { + UserDetailsState userDetails, + UpdateBiometricsAction action, +) { return userDetails.copyWith( isBiometricsEnabled: action.isBiometricsEnabled, ); diff --git a/lib/repositories/keychain_repository.dart b/lib/repositories/keychain_repository.dart index bb0c7676..37545f1e 100644 --- a/lib/repositories/keychain_repository.dart +++ b/lib/repositories/keychain_repository.dart @@ -27,7 +27,10 @@ class KeychainRepository { required int networkId, }) { final Bip32KeyPair keyPair = hdWallet.deriveLastThreeLayers( - account: account, change: change, address: addr,); + account: account, + change: change, + address: addr, + ); final ToplAddress toplAddress = hdWallet.toBaseAddress(spend: keyPair.publicKey!, networkId: networkId); final String keyPath = getKeyPath(purpose, coinType, account, change, addr); @@ -44,7 +47,12 @@ class KeychainRepository { /// Constructs the key path, given the indices for [purpose], [coinType], [account], [change], and [address]. String getKeyPath( - int purpose, int coinType, int account, int change, int address,) { + int purpose, + int coinType, + int account, + int change, + int address, + ) { String keyPath = 'm/'; keyPath += isHardened(purpose) ? "${purpose - Rules.hardenedOffset}'/" @@ -72,7 +80,9 @@ class KeychainRepository { /// Get corresponding crendentials of the [addresses] provided, using [hdWallet]. List getCredentials( - HdWallet hdWallet, List addresses,) { + HdWallet hdWallet, + List addresses, + ) { final List creds = []; for (RibnAddress addr in addresses) { final Bip32KeyPair keyPair = hdWallet.deriveLastThreeLayers( diff --git a/lib/repositories/onboarding_repository.dart b/lib/repositories/onboarding_repository.dart index adc6de42..8fb7ab29 100644 --- a/lib/repositories/onboarding_repository.dart +++ b/lib/repositories/onboarding_repository.dart @@ -74,6 +74,8 @@ class OnboardingRespository { Bip32KeyPair deriveToplExtendedKeys(String mnemonic) { final HdWallet hdWallet = HdWallet.fromMnemonic(mnemonic); return hdWallet.deriveBaseAddress( - purpose: Rules.defaultPurpose, coinType: Rules.defaultCoinType,); + purpose: Rules.defaultPurpose, + coinType: Rules.defaultCoinType, + ); } } diff --git a/lib/repositories/transaction_repository.dart b/lib/repositories/transaction_repository.dart index d0f945ed..c1a4c4e2 100644 --- a/lib/repositories/transaction_repository.dart +++ b/lib/repositories/transaction_repository.dart @@ -42,7 +42,8 @@ class TransactionRepository { data: Latin1Data.validated(transferDetails.data), ); final Map rawTx = await client.sendRawPolyTransfer( - polyTransaction: polyTransaction,); + polyTransaction: polyTransaction, + ); return rawTx; } case TransferType.assetTransfer: @@ -70,7 +71,8 @@ class TransactionRepository { data: Latin1Data.validated(transferDetails.data), ); final Map rawTx = await client.sendRawAssetTransfer( - assetTransaction: assetTransaction,); + assetTransaction: assetTransaction, + ); return rawTx; } case (TransferType.mintingAsset): @@ -98,7 +100,8 @@ class TransactionRepository { data: Latin1Data.validated(transferDetails.data), ); final Map rawTx = await client.sendRawAssetTransfer( - assetTransaction: assetTransaction,); + assetTransaction: assetTransaction, + ); return rawTx; } default: @@ -121,7 +124,9 @@ class TransactionRepository { } Future broadcastTx( - BramblClient client, TransactionReceipt signedTx,) async { + BramblClient client, + TransactionReceipt signedTx, + ) async { return await client.sendSignedTransaction(signedTx); } diff --git a/lib/router/root_router.dart b/lib/router/root_router.dart index d258812c..095dfd20 100644 --- a/lib/router/root_router.dart +++ b/lib/router/root_router.dart @@ -4,6 +4,10 @@ import 'dart:convert'; // Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; + +// Package imports: +import 'package:ribn_toolkit/models/transactions/ribn_activity_details_model.dart'; + // Project imports: import 'package:ribn/constants/routes.dart'; import 'package:ribn/models/internal_message.dart'; @@ -40,8 +44,6 @@ import 'package:ribn/presentation/transfers/asset_transfer_page.dart'; import 'package:ribn/presentation/transfers/mint_input_page.dart'; import 'package:ribn/presentation/transfers/tx_confirmation_page.dart'; import 'package:ribn/presentation/transfers/tx_review_page.dart'; -// Package imports: -import 'package:ribn_toolkit/models/transactions/ribn_activity_details_model.dart'; // import 'package:ribn/models/transaction_history_entry.dart'; @@ -73,7 +75,9 @@ class RootRouter { { if (kIsWeb) { return pageRouteNotAnimated( - const SeedPhraseInfoChecklistPage(), settings,); + const SeedPhraseInfoChecklistPage(), + settings, + ); } return pageRoute( const SeedPhraseInfoChecklistPage(), @@ -84,7 +88,9 @@ class RootRouter { { if (kIsWeb) { return pageRouteNotAnimated( - const SeedPhraseInstructionsPage(), settings,); + const SeedPhraseInstructionsPage(), + settings, + ); } return pageRoute(const SeedPhraseInstructionsPage(), settings); } @@ -92,7 +98,9 @@ class RootRouter { { if (kIsWeb) { return pageRouteNotAnimated( - const SeedPhraseGeneratingPage(), settings,); + const SeedPhraseGeneratingPage(), + settings, + ); } return pageRoute(const SeedPhraseGeneratingPage(), settings); } @@ -100,7 +108,9 @@ class RootRouter { { if (kIsWeb) { return pageRouteNotAnimated( - const SeedPhraseDisplayPage(), settings,); + const SeedPhraseDisplayPage(), + settings, + ); } return pageRoute(const SeedPhraseDisplayPage(), settings); } @@ -108,7 +118,9 @@ class RootRouter { { if (kIsWeb) { return pageRouteNotAnimated( - const SeedPhraseConfirmationPage(), settings,); + const SeedPhraseConfirmationPage(), + settings, + ); } return pageRoute(const SeedPhraseConfirmationPage(), settings); } @@ -116,7 +128,9 @@ class RootRouter { { if (kIsWeb) { return pageRouteNotAnimated( - const WalletInfoChecklistPage(), settings,); + const WalletInfoChecklistPage(), + settings, + ); } return pageRoute(const WalletInfoChecklistPage(), settings); } @@ -169,7 +183,9 @@ class RootRouter { { if (kIsWeb) { return pageRouteNotAnimated( - const RestoreWithToplKeyPage(), settings,); + const RestoreWithToplKeyPage(), + settings, + ); } return pageRoute(const RestoreWithToplKeyPage(), settings); } @@ -203,8 +219,9 @@ class RootRouter { final String keyStoreJson = settings.arguments as String; if (kIsWeb) { return pageRouteNotAnimated( - EnterWalletPasswordPage(toplKeyStoreJson: keyStoreJson), - settings,); + EnterWalletPasswordPage(toplKeyStoreJson: keyStoreJson), + settings, + ); } return pageRoute( EnterWalletPasswordPage(toplKeyStoreJson: keyStoreJson), @@ -218,10 +235,14 @@ class RootRouter { if (kIsWeb) { return pageRouteNotAnimated( - TxReviewPage(transferDetails: transferDetails), settings,); + TxReviewPage(transferDetails: transferDetails), + settings, + ); } return pageRoute( - TxReviewPage(transferDetails: transferDetails), settings,); + TxReviewPage(transferDetails: transferDetails), + settings, + ); } case Routes.txConfirmation: { @@ -229,10 +250,14 @@ class RootRouter { settings.arguments as TransferDetails; if (kIsWeb) { return pageRouteNotAnimated( - TxConfirmationPage(transferDetails: transferDetails), settings,); + TxConfirmationPage(transferDetails: transferDetails), + settings, + ); } return pageRoute( - TxConfirmationPage(transferDetails: transferDetails), settings,); + TxConfirmationPage(transferDetails: transferDetails), + settings, + ); } case Routes.mintInput: { @@ -248,7 +273,8 @@ class RootRouter { final Map transactionDetailsMap = settings.arguments as Map; final RibnActivityDetailsModel transactionDetails = RibnActivityDetailsModel.fromJson( - jsonEncode(transactionDetailsMap),); + jsonEncode(transactionDetailsMap), + ); { return pageRoute( TxHistoryDetailsPage(ribnActivityDetailsModel: transactionDetails), @@ -261,8 +287,9 @@ class RootRouter { settings.arguments as Map; if (kIsWeb) { return pageRouteNotAnimated( - AssetDetailsPage(asset: assetDetailsPageArgs['assetAmount']!), - settings,); + AssetDetailsPage(asset: assetDetailsPageArgs['assetAmount']!), + settings, + ); } return pageRoute( AssetDetailsPage(asset: assetDetailsPageArgs['assetAmount']!), @@ -296,7 +323,9 @@ class RootRouter { settings.arguments as InternalMessage; if (kIsWeb) { return pageRouteNotAnimated( - ExternalSigningPage(pendingRequest), settings,); + ExternalSigningPage(pendingRequest), + settings, + ); } return pageRoute(ExternalSigningPage(pendingRequest), settings); } @@ -319,7 +348,9 @@ class RootRouter { settings.arguments as InternalMessage; if (kIsWeb) { return pageRouteNotAnimated( - ReviewAndSignDApp(pendingRequest), settings,); + ReviewAndSignDApp(pendingRequest), + settings, + ); } return pageRoute(ReviewAndSignDApp(pendingRequest), settings); } @@ -328,15 +359,18 @@ class RootRouter { final InternalMessage response = settings.arguments as InternalMessage; return pageRouteNotAnimated( - LoadingDApp(response: response), settings,); + LoadingDApp(response: response), + settings, + ); } default: return errorRoute(); } } - Route errorRoute( - {String errorMsg = 'Unknown error occurred',}) { + Route errorRoute({ + String errorMsg = 'Unknown error occurred', + }) { return MaterialPageRoute( builder: (context) { return Center( @@ -359,7 +393,9 @@ class RootRouter { /// Builds a page route without an animation. Route pageRouteNotAnimated( - Widget page, RouteSettings settings,) { + Widget page, + RouteSettings settings, + ) { return PageRouteBuilder( settings: settings, pageBuilder: (context, animation, secondaryAnimation) => page, diff --git a/lib/utils.dart b/lib/utils.dart index 088ccf25..1ab37cbb 100644 --- a/lib/utils.dart +++ b/lib/utils.dart @@ -1,14 +1,20 @@ // Dart imports: import 'dart:ui'; -// Package imports: -import 'package:barcode_widget/barcode_widget.dart'; -import 'package:brambldart/utils.dart'; // Flutter imports: import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; + +// Package imports: +import 'package:barcode_widget/barcode_widget.dart'; +import 'package:brambldart/utils.dart'; import 'package:flutter_redux/flutter_redux.dart'; import 'package:local_auth/local_auth.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/atoms/custom_copy_button.dart'; +import 'package:ribn_toolkit/widgets/molecules/custom_modal.dart'; + // Project imports: import 'package:ribn/actions/misc_actions.dart'; import 'package:ribn/constants/assets.dart'; @@ -19,10 +25,6 @@ import 'package:ribn/models/app_state.dart'; import 'package:ribn/models/ribn_address.dart'; import 'package:ribn/platform/platform.dart'; import 'package:ribn/widgets/custom_divider.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/custom_copy_button.dart'; -import 'package:ribn_toolkit/widgets/molecules/custom_modal.dart'; /// Formats an address string to only dispaly its first and last 10 characters. String formatAddrString(String addr, {int charsToDisplay = 10}) { diff --git a/lib/widgets/address_display_container.dart b/lib/widgets/address_display_container.dart index a4011f10..45a63edc 100644 --- a/lib/widgets/address_display_container.dart +++ b/lib/widgets/address_display_container.dart @@ -1,13 +1,15 @@ // Flutter imports: import 'package:flutter/material.dart'; + // Package imports: import 'package:flutter_redux/flutter_redux.dart'; import 'package:flutter_svg/flutter_svg.dart'; +import 'package:ribn_toolkit/widgets/atoms/rounded_copy_text_field.dart'; + // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/models/app_state.dart'; import 'package:ribn/models/ribn_address.dart'; -import 'package:ribn_toolkit/widgets/atoms/rounded_copy_text_field.dart'; class AddressDisplayContainer extends StatefulWidget { const AddressDisplayContainer({ diff --git a/lib/widgets/asset_info.dart b/lib/widgets/asset_info.dart index 1d3a47a9..597eb3c3 100644 --- a/lib/widgets/asset_info.dart +++ b/lib/widgets/asset_info.dart @@ -1,12 +1,16 @@ // Flutter imports: + +// Flutter imports: +import 'package:flutter/material.dart'; + // Package imports: import 'package:brambldart/model.dart'; -import 'package:flutter/material.dart'; -// Project imports: -import 'package:ribn/models/asset_details.dart'; import 'package:ribn_toolkit/constants/assets.dart'; import 'package:ribn_toolkit/constants/colors.dart'; +// Project imports: +import 'package:ribn/models/asset_details.dart'; + /// A custom display for asset information. class AssetInfo extends StatelessWidget { /// AssetCode for which information needs to be displayed. diff --git a/lib/widgets/custom_page_title.dart b/lib/widgets/custom_page_title.dart index 7a44ba49..de060dcf 100644 --- a/lib/widgets/custom_page_title.dart +++ b/lib/widgets/custom_page_title.dart @@ -9,9 +9,12 @@ import 'package:ribn_toolkit/widgets/atoms/custom_icon_button.dart'; /// /// Used during the transfer flows. class CustomPageTitle extends StatelessWidget { - const CustomPageTitle( - {required this.title, this.top = 5, this.left = 10, Key? key,}) - : super(key: key); + const CustomPageTitle({ + required this.title, + this.top = 5, + this.left = 10, + Key? key, + }) : super(key: key); final String title; final double top; final double left; diff --git a/lib/widgets/fee_info.dart b/lib/widgets/fee_info.dart index 2c6620a9..8797d547 100644 --- a/lib/widgets/fee_info.dart +++ b/lib/widgets/fee_info.dart @@ -1,11 +1,13 @@ // Flutter imports: import 'package:flutter/material.dart'; -// Project imports: -import 'package:ribn/constants/strings.dart'; + // Package imports: import 'package:ribn_toolkit/constants/colors.dart'; import 'package:ribn_toolkit/constants/styles.dart'; +// Project imports: +import 'package:ribn/constants/strings.dart'; + /// A widget that displays the fee info during the transfer flows in Ribn. class FeeInfo extends StatelessWidget { const FeeInfo({required this.fee, Key? key}) : super(key: key); diff --git a/lib/widgets/ribn_app_bar_wapper.dart b/lib/widgets/ribn_app_bar_wapper.dart index 52bfbd2c..cdab31e5 100644 --- a/lib/widgets/ribn_app_bar_wapper.dart +++ b/lib/widgets/ribn_app_bar_wapper.dart @@ -1,10 +1,12 @@ // Flutter imports: import 'package:flutter/material.dart'; + +// Package imports: +import 'package:ribn_toolkit/widgets/organisms/ribn_app_bar.dart'; + // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/containers/ribn_app_bar_container.dart'; -// Package imports: -import 'package:ribn_toolkit/widgets/organisms/ribn_app_bar.dart'; /// Builds a wrapper around the AppBar from ToplToolkit to provide ViewModel & AppBarContainer class RibnAppBarWrapper extends StatefulWidget implements PreferredSizeWidget { diff --git a/test/middleware_test.dart b/test/middleware_test.dart index bb996e30..ffaa63c7 100644 --- a/test/middleware_test.dart +++ b/test/middleware_test.dart @@ -60,8 +60,10 @@ void main() { testStore.dispatch(GenerateMnemonicAction()); verify(onboardingRepo.generateMnemonicForUser()).called(1); expect(testStore.state.onboardingState.mnemonic, testMnemonic); - expect(testStore.state.onboardingState.shuffledMnemonic, - unorderedEquals(testMnemonic.split(' ')),); + expect( + testStore.state.onboardingState.shuffledMnemonic, + unorderedEquals(testMnemonic.split(' ')), + ); }); test('should generate keystore and initialize hd wallet', () async { when(onboardingRepo.generateMnemonicForUser()) @@ -128,7 +130,8 @@ void main() { loginRepo.decryptKeyStore(argThat(isNotNull)), ).thenAnswer( (_) => const LoginRepository().decryptKeyStore( - {'keyStoreJson': testKeyStore, 'password': invalidPassword},), + {'keyStoreJson': testKeyStore, 'password': invalidPassword}, + ), ); final Completer completer = Completer(); testStore.dispatch(AttemptLoginAction(invalidPassword, completer)); @@ -161,14 +164,22 @@ void main() { Duration.zero, () => testStore.dispatch( InitializeHDWalletAction( - toplExtendedPrivateKey: TestData.toplExtendedPrvKeyUint8List,), + toplExtendedPrivateKey: TestData.toplExtendedPrvKeyUint8List, + ), + ), + ); + when( + keychainRepo.generateAddress( + argThat(isNotNull), + networkId: captureAnyNamed('networkId'), + ), + ).thenAnswer((_) => testAddress); + testStore.dispatch( + GenerateAddressAction( + 0, + network: testStore.state.keychainState.currentNetwork, ), ); - when(keychainRepo.generateAddress(argThat(isNotNull), - networkId: captureAnyNamed('networkId'),),) - .thenAnswer((_) => testAddress); - testStore.dispatch(GenerateAddressAction(0, - network: testStore.state.keychainState.currentNetwork,),); when(keychainRepo.getBalances(captureAny, captureAny)).thenAnswer((_) { return Future.value( (_.positionalArguments[1] as List) @@ -183,8 +194,12 @@ void main() { ); }); final Completer completer = Completer(); - testStore.dispatch(RefreshBalancesAction( - completer, testStore.state.keychainState.currentNetwork,),); + testStore.dispatch( + RefreshBalancesAction( + completer, + testStore.state.keychainState.currentNetwork, + ), + ); await expectLater(completer.future, completion(true)); expect( testStore diff --git a/test/reducer_test.dart b/test/reducer_test.dart index 6648ce82..ceb15a50 100644 --- a/test/reducer_test.dart +++ b/test/reducer_test.dart @@ -1,12 +1,14 @@ // Dart imports: +// Flutter imports: +import 'package:flutter/foundation.dart'; + // Package imports: import 'package:bip_topl/bip_topl.dart' as bip_topl; import 'package:brambldart/brambldart.dart'; -// Flutter imports: -import 'package:flutter/foundation.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:redux/redux.dart'; + // Project imports: import 'package:ribn/actions/keychain_actions.dart'; import 'package:ribn/actions/onboarding_actions.dart'; @@ -16,7 +18,6 @@ import 'package:ribn/models/app_state.dart'; import 'package:ribn/models/ribn_address.dart'; import 'package:ribn/redux.dart'; import 'package:ribn/repositories/keychain_repository.dart'; - import 'test_data.dart'; void main() { diff --git a/test/test_data.dart b/test/test_data.dart index d732e180..9c82ec3f 100644 --- a/test/test_data.dart +++ b/test/test_data.dart @@ -19,11 +19,13 @@ Map testData = { 'invalidPassword': '1234567', 'address': RibnAddress( toplAddress: ToplAddress.fromBase58( - 'AUDxRxPtWPeejAMfEeYMYfwQ7Shk5qLw4swZkW6sek3D4FMDrQ6D',), + 'AUDxRxPtWPeejAMfEeYMYfwQ7Shk5qLw4swZkW6sek3D4FMDrQ6D', + ), addressIndex: 0, keyPath: '', balance: Rules.initBalance( - 'AUDxRxPtWPeejAMfEeYMYfwQ7Shk5qLw4swZkW6sek3D4FMDrQ6D',), + 'AUDxRxPtWPeejAMfEeYMYfwQ7Shk5qLw4swZkW6sek3D4FMDrQ6D', + ), networkId: NetworkUtils.privateId, ), }; From c5554d9a0dbbb1472829b2697d77f8b85c632016 Mon Sep 17 00:00:00 2001 From: Kalervo Hyyppa Date: Thu, 5 Jan 2023 15:44:01 -0700 Subject: [PATCH 18/58] Updates to dependencies --- pubspec.lock | 8 +++++--- pubspec.yaml | 4 +++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index 309d2499..3ee33cf6 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -931,9 +931,11 @@ packages: ribn_toolkit: dependency: "direct main" description: - path: "../ribn-toolkit" - relative: true - source: path + path: "." + ref: main + resolved-ref: "5ccb7a7e1454fb2281545701164f9d38a46fae85" + url: "https://github.com/Topl/ribn-toolkit" + source: git version: "1.0.0+1" rxdart: dependency: "direct main" diff --git a/pubspec.yaml b/pubspec.yaml index 097824f5..1dc8672e 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -53,7 +53,9 @@ dependencies: file_picker: ^5.2.4 dio: ^4.0.6 ribn_toolkit: - path: ../ribn-toolkit + git: + url: https://github.com/Topl/ribn-toolkit + ref: main brambldart: git: url: https://github.com/Topl/BramblDart From 3a5b136b8a50776e8aa26837a75f0270b9d04143 Mon Sep 17 00:00:00 2001 From: Siphamandla brian Mjoli Date: Fri, 6 Jan 2023 00:47:15 +0200 Subject: [PATCH 19/58] update(comments): updated to previous state --- Makefile | 4 ++-- lib/main.dart | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 131b1002..acd753dd 100644 --- a/Makefile +++ b/Makefile @@ -45,9 +45,9 @@ gen: ## Generates the assets format: ## Formats the code @echo "╠ Formatting the code" - @dart format . + @dart format lib . @flutter pub run import_sorter:main - @flutter format . + @dart format . lint: ## Lints the code @echo "╠ Verifying code..." diff --git a/lib/main.dart b/lib/main.dart index fb99e6e6..bf756c3d 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -33,7 +33,7 @@ import 'package:ribn/router/root_router.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); - await Redux.initStore(initTestStore: true); + await Redux.initStore(initTestStore: false); final AppViews currentAppView = await PlatformUtils.instance.getCurrentAppView(); final bool needsOnboarding = Redux.store!.state.needsOnboarding(); From e9499d4270185b2b08f7212dbab20e6175900314 Mon Sep 17 00:00:00 2001 From: Kalervo Hyyppa Date: Thu, 5 Jan 2023 15:54:03 -0700 Subject: [PATCH 20/58] Import and test store updates --- lib/main.dart | 2 +- lib/presentation/home/home_page.dart | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index 53d8bbc6..9f986439 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -25,7 +25,7 @@ import 'package:ribn/router/root_router.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); - await Redux.initStore(initTestStore: true); + await Redux.initStore(initTestStore: false); final AppViews currentAppView = await PlatformUtils.instance.getCurrentAppView(); final bool needsOnboarding = Redux.store!.state.needsOnboarding(); // Open app in new tab if user needs onboarding diff --git a/lib/presentation/home/home_page.dart b/lib/presentation/home/home_page.dart index ab53cd41..e058fb45 100644 --- a/lib/presentation/home/home_page.dart +++ b/lib/presentation/home/home_page.dart @@ -4,7 +4,7 @@ import 'package:ribn/presentation/home/wallet_balance_page.dart'; import 'package:ribn/presentation/transaction_history/transaction_history_page.dart'; import 'package:ribn/widgets/ribn_app_bar_wapper.dart'; import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/widgets/organisms/ribn_bottom_app_barV2.dart'; +import 'package:ribn_toolkit/widgets/organisms/ribn_bottom_app_bar_v2.dart'; /// The 'home page' of Ribn. /// From c279a5225bc702d5ec6fe81aaa3514cc36f0d8dc Mon Sep 17 00:00:00 2001 From: Kalervo Hyyppa Date: Thu, 5 Jan 2023 15:54:58 -0700 Subject: [PATCH 21/58] Deletion of unneeded test --- test/widget_test.dart | 30 ------------------------------ 1 file changed, 30 deletions(-) delete mode 100644 test/widget_test.dart diff --git a/test/widget_test.dart b/test/widget_test.dart deleted file mode 100644 index f5dd0058..00000000 --- a/test/widget_test.dart +++ /dev/null @@ -1,30 +0,0 @@ -// This is a basic Flutter widget test. -// -// To perform an interaction with a widget in your test, use the WidgetTester -// utility in the flutter_test package. For example, you can send tap and scroll -// gestures. You can also use WidgetTester to find child widgets in the widget -// tree, read text, and verify that the values of widget properties are correct. - -import 'package:flutter/material.dart'; -import 'package:flutter_test/flutter_test.dart'; - -import 'package:ribn/main.dart'; - -void main() { - testWidgets('Counter increments smoke test', (WidgetTester tester) async { - // Build our app and trigger a frame. - await tester.pumpWidget(const MyApp()); - - // Verify that our counter starts at 0. - expect(find.text('0'), findsOneWidget); - expect(find.text('1'), findsNothing); - - // Tap the '+' icon and trigger a frame. - await tester.tap(find.byIcon(Icons.add)); - await tester.pump(); - - // Verify that our counter has incremented. - expect(find.text('0'), findsNothing); - expect(find.text('1'), findsOneWidget); - }); -} From 32fb77aa391c87fe50b593b07bb5dc4c8a1dc119 Mon Sep 17 00:00:00 2001 From: Kalervo Hyyppa Date: Fri, 6 Jan 2023 09:04:53 -0700 Subject: [PATCH 22/58] Deleting pubspec.lock fixed AssetCard change --- macos/Flutter/GeneratedPluginRegistrant.swift | 2 +- pubspec.lock | 20 +++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift index ceaa73e4..91901fb2 100644 --- a/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -10,7 +10,7 @@ import path_provider_macos import url_launcher_macos func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { - FlutterSecureStorageMacosPlugin.register(with: registry.registrar(forPlugin: "FlutterSecureStorageMacosPlugin")) + FlutterSecureStoragePlugin.register(with: registry.registrar(forPlugin: "FlutterSecureStoragePlugin")) PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin")) } diff --git a/pubspec.lock b/pubspec.lock index 3ee33cf6..d0eefc42 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -177,7 +177,7 @@ packages: name: checked_yaml url: "https://pub.dartlang.org" source: hosted - version: "2.0.1" + version: "2.0.2" cli_pkg: dependency: transitive description: @@ -205,7 +205,7 @@ packages: name: code_builder url: "https://pub.dartlang.org" source: hosted - version: "4.3.0" + version: "4.4.0" collection: dependency: transitive description: @@ -427,7 +427,7 @@ packages: name: flutter_secure_storage_macos url: "https://pub.dartlang.org" source: hosted - version: "2.0.0" + version: "2.0.1" flutter_secure_storage_platform_interface: dependency: transitive description: @@ -647,28 +647,28 @@ packages: name: local_auth url: "https://pub.dartlang.org" source: hosted - version: "2.1.2" + version: "2.1.3" local_auth_android: dependency: transitive description: name: local_auth_android url: "https://pub.dartlang.org" source: hosted - version: "1.0.16" + version: "1.0.17" local_auth_ios: dependency: transitive description: name: local_auth_ios url: "https://pub.dartlang.org" source: hosted - version: "1.0.10" + version: "1.0.12" local_auth_platform_interface: dependency: transitive description: name: local_auth_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "1.0.5" + version: "1.0.6" local_auth_windows: dependency: transitive description: @@ -913,7 +913,7 @@ packages: name: quiver url: "https://pub.dartlang.org" source: hosted - version: "3.1.0" + version: "3.2.1" redux: dependency: "direct main" description: @@ -933,7 +933,7 @@ packages: description: path: "." ref: main - resolved-ref: "5ccb7a7e1454fb2281545701164f9d38a46fae85" + resolved-ref: f5a68e8083372cc50ce1019a2e4dac40de247fa7 url: "https://github.com/Topl/ribn-toolkit" source: git version: "1.0.0+1" @@ -1272,7 +1272,7 @@ packages: name: win32 url: "https://pub.dartlang.org" source: hosted - version: "3.1.2" + version: "3.1.3" xdg_directories: dependency: transitive description: From dee71b986ae2c52ce5f56fef47714cd5c8ce9b71 Mon Sep 17 00:00:00 2001 From: Kalervo Hyyppa Date: Fri, 6 Jan 2023 09:22:20 -0700 Subject: [PATCH 23/58] Updates to MacOs --- macos/Podfile | 2 +- macos/Podfile.lock | 6 +- .../flutter_secure_storage_macos.podspec.json | 4 +- macos/Pods/Pods.xcodeproj/project.pbxproj | 838 +++++++++--------- .../xcschemes/xcschememanagement.plist | 8 +- .../flutter_secure_storage_macos-Info.plist | 2 +- .../flutter_secure_storage_macos-umbrella.h | 1 - ...lutter_secure_storage_macos.debug.xcconfig | 2 + ...tter_secure_storage_macos.release.xcconfig | 2 + macos/Runner.xcodeproj/project.pbxproj | 7 +- .../xcschemes/xcschememanagement.plist | 2 +- .../UserInterfaceState.xcuserstate | Bin 11285 -> 14983 bytes 12 files changed, 438 insertions(+), 436 deletions(-) diff --git a/macos/Podfile b/macos/Podfile index dade8dfa..fe733905 100644 --- a/macos/Podfile +++ b/macos/Podfile @@ -1,4 +1,4 @@ -platform :osx, '10.11' +platform :osx, '10.13' # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' diff --git a/macos/Podfile.lock b/macos/Podfile.lock index b4d5ed96..20df0bc4 100644 --- a/macos/Podfile.lock +++ b/macos/Podfile.lock @@ -1,5 +1,5 @@ PODS: - - flutter_secure_storage_macos (3.3.1): + - flutter_secure_storage_macos (6.1.1): - FlutterMacOS - FlutterMacOS (1.0.0) - path_provider_macos (0.0.1): @@ -24,11 +24,11 @@ EXTERNAL SOURCES: :path: Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos SPEC CHECKSUMS: - flutter_secure_storage_macos: 6ceee8fbc7f484553ad17f79361b556259df89aa + flutter_secure_storage_macos: 75c8cadfdba05ca007c0fa4ea0c16e5cf85e521b FlutterMacOS: ae6af50a8ea7d6103d888583d46bd8328a7e9811 path_provider_macos: 3c0c3b4b0d4a76d2bf989a913c2de869c5641a19 url_launcher_macos: 597e05b8e514239626bcf4a850fcf9ef5c856ec3 -PODFILE CHECKSUM: 6eac6b3292e5142cfc23bdeb71848a40ec51c14c +PODFILE CHECKSUM: a884f6dd3f7494f3892ee6c81feea3a3abbf9153 COCOAPODS: 1.11.2 diff --git a/macos/Pods/Local Podspecs/flutter_secure_storage_macos.podspec.json b/macos/Pods/Local Podspecs/flutter_secure_storage_macos.podspec.json index 2b619d5f..6842eafd 100644 --- a/macos/Pods/Local Podspecs/flutter_secure_storage_macos.podspec.json +++ b/macos/Pods/Local Podspecs/flutter_secure_storage_macos.podspec.json @@ -1,6 +1,6 @@ { "name": "flutter_secure_storage_macos", - "version": "3.3.1", + "version": "6.1.1", "summary": "Flutter Secure Storage", "description": "Flutter Secure Storage Plugin for MacOs", "homepage": "https://github.com/mogol/flutter_secure_storage", @@ -20,7 +20,7 @@ ] }, "platforms": { - "osx": "10.11" + "osx": "10.13" }, "pod_target_xcconfig": { "DEFINES_MODULE": "YES" diff --git a/macos/Pods/Pods.xcodeproj/project.pbxproj b/macos/Pods/Pods.xcodeproj/project.pbxproj index c72bbecd..e017a73d 100644 --- a/macos/Pods/Pods.xcodeproj/project.pbxproj +++ b/macos/Pods/Pods.xcodeproj/project.pbxproj @@ -20,15 +20,15 @@ /* Begin PBXBuildFile section */ 04F262806ACBAEC17E1C53DE8C6A911B /* Pods-Runner-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 96BF45FBE2BC9AD7B2D7E56D01B5EE46 /* Pods-Runner-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0A13A1B3ECD64D378DA01E4A10C756BC /* flutter_secure_storage_macos-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = ACD42C63F3EF9F30453A3CE3B0CD9C35 /* flutter_secure_storage_macos-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0CC76DC3E677E08C603B1E29BF9EE9E8 /* FlutterSecureStoragePlugin.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBC53873F1DBAAE87A8A7206AEB2F06F /* FlutterSecureStoragePlugin.swift */; }; 138888B78B98CCDBD2E3786FCCBD42E5 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C1430F003D39D9906881A6AC724B7931 /* Cocoa.framework */; }; + 26412FA729F5E92C44C391333E96E7AE /* FlutterSecureStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = AEE81A29099CDDD07E040CC29DACFE8F /* FlutterSecureStorage.swift */; }; 2A501D5122F0B6F8D1B3EEAE7738E032 /* PathProviderPlugin.swift in Sources */ = {isa = PBXBuildFile; fileRef = E13D362BF4FA67B41738CDC72835F196 /* PathProviderPlugin.swift */; }; 476F0D5CB687F14D57196B1D4B02D79F /* url_launcher_macos-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A07D316059EDF7B54ADEB916FDA4A4AF /* url_launcher_macos-dummy.m */; }; - 540AC91886590C235166CF9424F0705A /* FlutterSecureStorageMacosPlugin.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B0F7739823C4E48FAED4D60492FF9BD /* FlutterSecureStorageMacosPlugin.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 557F8BEE4673E27447FC06D18453C7B0 /* FlutterSecureStorageMacosPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 2F7C5F111931FE8781CCD87119583C03 /* FlutterSecureStorageMacosPlugin.m */; }; 5974AB4940BA058B6B2FBEEB3435B31E /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C1430F003D39D9906881A6AC724B7931 /* Cocoa.framework */; }; - 5F8CC55CA6BD62D69BA9A3D64B9A5104 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C1430F003D39D9906881A6AC724B7931 /* Cocoa.framework */; }; - A27E461352F18140606E9E08A1B20FE8 /* flutter_secure_storage_macos-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 1E3B0FC72CD8E4C3F8EA40EBB7CF1DBB /* flutter_secure_storage_macos-dummy.m */; }; + 7828518A41264D5F059DBDE5DE296481 /* flutter_secure_storage_macos-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D2C458EFE45E16E14C5DBCB194FA24F /* flutter_secure_storage_macos-dummy.m */; }; + 8914129D147FB754530D7D6CC334C652 /* flutter_secure_storage_macos-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = CD02FABD655231169DC1F9C78A1641CF /* flutter_secure_storage_macos-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 96269E78C25A7C0F26292736279B5257 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C1430F003D39D9906881A6AC724B7931 /* Cocoa.framework */; }; A5C29EF528710035ACC8A13E86E0290C /* url_launcher_macos-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 1225794C47E92C60D983A6F5F0A57F50 /* url_launcher_macos-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; A66ACEAE4C602B5ABF229330A0BF50E1 /* UrlLauncherPlugin.swift in Sources */ = {isa = PBXBuildFile; fileRef = F6A5BB74085C1FB84C07F88B5A35F2B1 /* UrlLauncherPlugin.swift */; }; BB40CC612BA0BE9FD9E7F984CBFAA81F /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C1430F003D39D9906881A6AC724B7931 /* Cocoa.framework */; }; @@ -66,7 +66,7 @@ remoteGlobalIDString = CA272E8348BAB4CE0B0C804FB7B818C4; remoteInfo = FlutterMacOS; }; - C80F4957EDB4738A78733F37700F37B4 /* PBXContainerItemProxy */ = { + BEA30A708C8887F730B88A64BECD4460 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; @@ -92,29 +92,28 @@ /* Begin PBXFileReference section */ 004C72511474FA217D0A55140820EA11 /* path_provider_macos.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = path_provider_macos.modulemap; sourceTree = ""; }; 02DBB06AA7275A98D79207FAB6047353 /* path_provider_macos-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "path_provider_macos-Info.plist"; sourceTree = ""; }; + 0CD1F675769093388F3E9B538367E65F /* flutter_secure_storage_macos-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "flutter_secure_storage_macos-prefix.pch"; sourceTree = ""; }; 11AC064D24FCA6AC2037C52161A400CB /* FlutterMacOS.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = FlutterMacOS.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 1225794C47E92C60D983A6F5F0A57F50 /* url_launcher_macos-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "url_launcher_macos-umbrella.h"; sourceTree = ""; }; - 1E3B0FC72CD8E4C3F8EA40EBB7CF1DBB /* flutter_secure_storage_macos-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "flutter_secure_storage_macos-dummy.m"; sourceTree = ""; }; - 2B0F7739823C4E48FAED4D60492FF9BD /* FlutterSecureStorageMacosPlugin.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FlutterSecureStorageMacosPlugin.h; path = "../../../../../../../../../../../../.pub-cache/hosted/pub.dartlang.org/flutter_secure_storage_macos-1.1.2/macos/Classes/FlutterSecureStorageMacosPlugin.h"; sourceTree = ""; }; - 2F7C5F111931FE8781CCD87119583C03 /* FlutterSecureStorageMacosPlugin.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FlutterSecureStorageMacosPlugin.m; path = "../../../../../../../../../../../../.pub-cache/hosted/pub.dartlang.org/flutter_secure_storage_macos-1.1.2/macos/Classes/FlutterSecureStorageMacosPlugin.m"; sourceTree = ""; }; + 1AE394EAA6BF3BD8DDB408CDF71F80F6 /* flutter_secure_storage_macos-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "flutter_secure_storage_macos-Info.plist"; sourceTree = ""; }; + 2FDD189AEDD33DE6DF0D67677CD72864 /* flutter_secure_storage_macos.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = flutter_secure_storage_macos.release.xcconfig; sourceTree = ""; }; 317C26B9A7CEDD34ADE8F37FAAB7AC20 /* Pods-Runner-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Runner-frameworks.sh"; sourceTree = ""; }; + 3D2E859C9735B2CD05E263A4C1A34337 /* flutter_secure_storage_macos.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = flutter_secure_storage_macos.podspec; path = "../../../../../../../../../../../.pub-cache/hosted/pub.dartlang.org/flutter_secure_storage_macos-2.0.1/macos/flutter_secure_storage_macos.podspec"; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 3D4DAF4A6E6E255A603E96C42A283A0A /* flutter_secure_storage_macos.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = flutter_secure_storage_macos.modulemap; sourceTree = ""; }; 4E8A86C7916744B1E466910D58561D04 /* url_launcher_macos.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = url_launcher_macos.modulemap; sourceTree = ""; }; 500D2C47F29B2CDC3B9FB8672CAC4470 /* path_provider_macos.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = path_provider_macos.release.xcconfig; sourceTree = ""; }; 51825CD8F0558EFA53D9510F0E5BFA16 /* Pods-Runner-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Runner-Info.plist"; sourceTree = ""; }; 543CD40B7B68B20C42393CB9E02BBEFB /* FlutterMacOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FlutterMacOS.release.xcconfig; sourceTree = ""; }; - 574219A11BCA0DB48C8BE8D01192DCA6 /* flutter_secure_storage_macos.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = flutter_secure_storage_macos.release.xcconfig; sourceTree = ""; }; 581AEC0F2FC4877861D18E64311F5DEE /* url_launcher_macos.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = url_launcher_macos.debug.xcconfig; sourceTree = ""; }; 669E8F25E1897672BDB80B7EB784DA24 /* Pods-Runner */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Pods-Runner"; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 6C8D644EED95C897AA05A38F4894756C /* flutter_secure_storage_macos-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "flutter_secure_storage_macos-Info.plist"; sourceTree = ""; }; - 7237E2C4B46ACB5AAD8B992242F76DA8 /* flutter_secure_storage_macos-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "flutter_secure_storage_macos-prefix.pch"; sourceTree = ""; }; + 6EC5388155A76A54784ED0EB69A192FA /* flutter_secure_storage_macos.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = flutter_secure_storage_macos.debug.xcconfig; sourceTree = ""; }; 7B3C932BD54DBB963102A89E0F9E3948 /* Pods-Runner-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Runner-dummy.m"; sourceTree = ""; }; - 7C5CA2F238D7DC27599139665F6D816F /* flutter_secure_storage_macos.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = flutter_secure_storage_macos.podspec; path = "../../../../../../../../../../../.pub-cache/hosted/pub.dartlang.org/flutter_secure_storage_macos-1.1.2/macos/flutter_secure_storage_macos.podspec"; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 7E9C441CD6F5A490A3B5EB163986BEA8 /* FlutterMacOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FlutterMacOS.debug.xcconfig; sourceTree = ""; }; 7F9D5480EA05C0D5C6A693A81AB2DF33 /* path_provider_macos */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = path_provider_macos; path = path_provider_macos.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 7FA1606CBEFA0238A50F4B3FF012BE6E /* url_launcher_macos.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = url_launcher_macos.release.xcconfig; sourceTree = ""; }; 8402B2776BE1829E1A88B9EFC5D40D1C /* url_launcher_macos-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "url_launcher_macos-prefix.pch"; sourceTree = ""; }; + 8D2C458EFE45E16E14C5DBCB194FA24F /* flutter_secure_storage_macos-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "flutter_secure_storage_macos-dummy.m"; sourceTree = ""; }; 8D8090F9AA00F92DD0A299F87CDE33DD /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; name = LICENSE; path = "../../../../../../../../../../../.pub-cache/hosted/pub.dartlang.org/path_provider_macos-2.0.6/LICENSE"; sourceTree = ""; }; - 942D84FBAE19A5C8785B5C28788D10E9 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; name = LICENSE; path = "../../../../../../../../../../../.pub-cache/hosted/pub.dartlang.org/flutter_secure_storage_macos-1.1.2/LICENSE"; sourceTree = ""; }; 954809D0DB2822A9581D77BF2CB5A92E /* path_provider_macos.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = path_provider_macos.debug.xcconfig; sourceTree = ""; }; 96BF45FBE2BC9AD7B2D7E56D01B5EE46 /* Pods-Runner-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Runner-umbrella.h"; sourceTree = ""; }; 97C9DEFC0E1F258D20F913546F1350B3 /* path_provider_macos.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = path_provider_macos.podspec; path = "../../../../../../../../../../../.pub-cache/hosted/pub.dartlang.org/path_provider_macos-2.0.6/macos/path_provider_macos.podspec"; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; @@ -124,19 +123,20 @@ A07D316059EDF7B54ADEB916FDA4A4AF /* url_launcher_macos-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "url_launcher_macos-dummy.m"; sourceTree = ""; }; A0F3E400D2177625730CEDF85BE8294C /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; name = LICENSE; path = "../../../../../../../../../../../.pub-cache/hosted/pub.dartlang.org/url_launcher_macos-3.0.1/LICENSE"; sourceTree = ""; }; A5DEDDCD541825388ACA7A6AF69E4553 /* flutter_secure_storage_macos */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = flutter_secure_storage_macos; path = flutter_secure_storage_macos.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - AC7E832899CF8255346F27831A46156D /* flutter_secure_storage_macos.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = flutter_secure_storage_macos.modulemap; sourceTree = ""; }; - ACD42C63F3EF9F30453A3CE3B0CD9C35 /* flutter_secure_storage_macos-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "flutter_secure_storage_macos-umbrella.h"; sourceTree = ""; }; - BA4BBDB16070144A5BBA25AB859CD37B /* flutter_secure_storage_macos.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = flutter_secure_storage_macos.debug.xcconfig; sourceTree = ""; }; + AEE81A29099CDDD07E040CC29DACFE8F /* FlutterSecureStorage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FlutterSecureStorage.swift; path = "../../../../../../../../../../../../.pub-cache/hosted/pub.dartlang.org/flutter_secure_storage_macos-2.0.1/macos/Classes/FlutterSecureStorage.swift"; sourceTree = ""; }; BFA2252866A706F062D1167ABEA67A0D /* url_launcher_macos.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = url_launcher_macos.podspec; path = "../../../../../../../../../../../.pub-cache/hosted/pub.dartlang.org/url_launcher_macos-3.0.1/macos/url_launcher_macos.podspec"; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; C0C9A074EEF12F27AC2F536567F9FAE1 /* url_launcher_macos */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = url_launcher_macos; path = url_launcher_macos.framework; sourceTree = BUILT_PRODUCTS_DIR; }; C1430F003D39D9906881A6AC724B7931 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Cocoa.framework; sourceTree = DEVELOPER_DIR; }; + C19DBE3DA61F3C83EA2C1EA5D1E09AA4 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; name = LICENSE; path = "../../../../../../../../../../../.pub-cache/hosted/pub.dartlang.org/flutter_secure_storage_macos-2.0.1/LICENSE"; sourceTree = ""; }; C4F480D26E9ADEFDF3161B58562E6C79 /* path_provider_macos-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "path_provider_macos-dummy.m"; sourceTree = ""; }; C6EA98402A94995D022D330B64B5203D /* Pods-Runner-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Runner-acknowledgements.markdown"; sourceTree = ""; }; + CD02FABD655231169DC1F9C78A1641CF /* flutter_secure_storage_macos-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "flutter_secure_storage_macos-umbrella.h"; sourceTree = ""; }; CDAECCF4B5E08124ED410F09FD5A5DF9 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Runner.debug.xcconfig"; sourceTree = ""; }; CFDBB770316C515D623F4805E0D2E737 /* url_launcher_macos-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "url_launcher_macos-Info.plist"; sourceTree = ""; }; D2FA70CA298C392CB8332ADEEDD1CE85 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Runner.release.xcconfig"; sourceTree = ""; }; D6B7066893A5D0EDD99AA0CEAE706858 /* path_provider_macos-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "path_provider_macos-prefix.pch"; sourceTree = ""; }; D9F2B4CB813B4BDC4D164C6E0868930A /* Pods-Runner-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Runner-acknowledgements.plist"; sourceTree = ""; }; + DBC53873F1DBAAE87A8A7206AEB2F06F /* FlutterSecureStoragePlugin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FlutterSecureStoragePlugin.swift; path = "../../../../../../../../../../../../.pub-cache/hosted/pub.dartlang.org/flutter_secure_storage_macos-2.0.1/macos/Classes/FlutterSecureStoragePlugin.swift"; sourceTree = ""; }; E13D362BF4FA67B41738CDC72835F196 /* PathProviderPlugin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PathProviderPlugin.swift; path = "../../../../../../../../../../../../.pub-cache/hosted/pub.dartlang.org/path_provider_macos-2.0.6/macos/Classes/PathProviderPlugin.swift"; sourceTree = ""; }; F49C32B3B8CF59AB437BFD7314674868 /* Pods-Runner.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-Runner.modulemap"; sourceTree = ""; }; F6A5BB74085C1FB84C07F88B5A35F2B1 /* UrlLauncherPlugin.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UrlLauncherPlugin.swift; path = "../../../../../../../../../../../../.pub-cache/hosted/pub.dartlang.org/url_launcher_macos-3.0.1/macos/Classes/UrlLauncherPlugin.swift"; sourceTree = ""; }; @@ -151,11 +151,11 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - BD99619EA0BFBADBC8144ABAD4236F94 /* Frameworks */ = { + A6B16972686765E334D5D612BB3C6559 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 5F8CC55CA6BD62D69BA9A3D64B9A5104 /* Cocoa.framework in Frameworks */, + 96269E78C25A7C0F26292736279B5257 /* Cocoa.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -201,6 +201,15 @@ path = "../../../../../../Pods/Target Support Files/path_provider_macos"; sourceTree = ""; }; + 1344B92ED4B519C94CD14601A68D1DB7 /* .. */ = { + isa = PBXGroup; + children = ( + 798B8B22E3D5A6B74C3F2C5661A65EAC /* .. */, + ); + name = ..; + path = ..; + sourceTree = ""; + }; 1FC964AF55F7558C5D8BE5C87D07F2C8 /* topl */ = { isa = PBXGroup; children = ( @@ -210,6 +219,17 @@ path = topl; sourceTree = ""; }; + 20B44C0DE0F749BA8DF7BCB25A3032D8 /* flutter_secure_storage_macos */ = { + isa = PBXGroup; + children = ( + B0A3273B303B9B0334CA3DFD470C68EB /* .. */, + C103C5CA903A73B39A42A93A6C29C8BD /* Pod */, + 51476BFB0C6A1AFB40D0B2341B4F3AF1 /* Support Files */, + ); + name = flutter_secure_storage_macos; + path = ../Flutter/ephemeral/.symlinks/plugins/flutter_secure_storage_macos/macos; + sourceTree = ""; + }; 22A23AC83C1F80D3FAFE29C2A1EE8133 /* url_launcher_macos */ = { isa = PBXGroup; children = ( @@ -221,21 +241,6 @@ path = ../Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos; sourceTree = ""; }; - 26FEDF243A497F88AE5514D82D2A11ED /* Support Files */ = { - isa = PBXGroup; - children = ( - AC7E832899CF8255346F27831A46156D /* flutter_secure_storage_macos.modulemap */, - 1E3B0FC72CD8E4C3F8EA40EBB7CF1DBB /* flutter_secure_storage_macos-dummy.m */, - 6C8D644EED95C897AA05A38F4894756C /* flutter_secure_storage_macos-Info.plist */, - 7237E2C4B46ACB5AAD8B992242F76DA8 /* flutter_secure_storage_macos-prefix.pch */, - ACD42C63F3EF9F30453A3CE3B0CD9C35 /* flutter_secure_storage_macos-umbrella.h */, - BA4BBDB16070144A5BBA25AB859CD37B /* flutter_secure_storage_macos.debug.xcconfig */, - 574219A11BCA0DB48C8BE8D01192DCA6 /* flutter_secure_storage_macos.release.xcconfig */, - ); - name = "Support Files"; - path = "../../../../../../Pods/Target Support Files/flutter_secure_storage_macos"; - sourceTree = ""; - }; 2C1CC4072A829F3C9590F4CAB5D74421 /* Products */ = { isa = PBXGroup; children = ( @@ -247,57 +252,46 @@ name = Products; sourceTree = ""; }; - 38AD06D49C89B802FFE6ACD5342B7569 /* .. */ = { - isa = PBXGroup; - children = ( - 4AE92A457258FD23623067AE311B0BCB /* .. */, - ); - name = ..; - path = ..; - sourceTree = ""; - }; - 3DD2370467A82ACD15F320D1B4BE49F1 /* flutter_secure_storage_macos */ = { + 3DFB252990DC577A8E3A81CEFCFE9E44 /* plugins */ = { isa = PBXGroup; children = ( - 96376211EBD382451399499CE7E4F202 /* .. */, - FC4E786892A93E28157C3431E64A14B7 /* Pod */, - 26FEDF243A497F88AE5514D82D2A11ED /* Support Files */, + DC7F0B2F792742B7A74D33CD2AFA0978 /* path_provider_macos */, ); - name = flutter_secure_storage_macos; - path = ../Flutter/ephemeral/.symlinks/plugins/flutter_secure_storage_macos/macos; + name = plugins; + path = plugins; sourceTree = ""; }; - 3DFB252990DC577A8E3A81CEFCFE9E44 /* plugins */ = { + 3FD3736FF43D47D5E473B63A476B74B4 /* .. */ = { isa = PBXGroup; children = ( - DC7F0B2F792742B7A74D33CD2AFA0978 /* path_provider_macos */, + 53F32789C7208FA27D84502A6D0C5233 /* .. */, ); - name = plugins; - path = plugins; + name = ..; + path = ..; sourceTree = ""; }; - 3F08D35F787909902EEE88C7C14B2C01 /* macos */ = { + 409446EF064384C08C82DA541F2045D0 /* .. */ = { isa = PBXGroup; children = ( - D06BCEC2946848A7D2768FD275CB9053 /* Flutter */, + 4A435A11404A555F514DA91CC44EB1E3 /* .. */, ); - name = macos; - path = macos; + name = ..; + path = ..; sourceTree = ""; }; - 3FD3736FF43D47D5E473B63A476B74B4 /* .. */ = { + 42179AF68A8C5BF5973045A3EBD442B9 /* .. */ = { isa = PBXGroup; children = ( - 53F32789C7208FA27D84502A6D0C5233 /* .. */, + 1344B92ED4B519C94CD14601A68D1DB7 /* .. */, ); name = ..; path = ..; sourceTree = ""; }; - 409446EF064384C08C82DA541F2045D0 /* .. */ = { + 49273D0A95EB3C19185B461B974D49E1 /* .. */ = { isa = PBXGroup; children = ( - 4A435A11404A555F514DA91CC44EB1E3 /* .. */, + 9B9A30A7C39B91B9A27A94985D0B7626 /* .. */, ); name = ..; path = ..; @@ -330,15 +324,6 @@ path = .symlinks; sourceTree = ""; }; - 4AE92A457258FD23623067AE311B0BCB /* .. */ = { - isa = PBXGroup; - children = ( - 8618F449C06754BE6CDDF362C246A039 /* .. */, - ); - name = ..; - path = ..; - sourceTree = ""; - }; 4BC29C8A37971260A0E1978788604B3B /* Documents */ = { isa = PBXGroup; children = ( @@ -357,16 +342,6 @@ path = Classes; sourceTree = ""; }; - 4C6BC677D6CCFA6F25922CD9A3B495D6 /* Classes */ = { - isa = PBXGroup; - children = ( - 2B0F7739823C4E48FAED4D60492FF9BD /* FlutterSecureStorageMacosPlugin.h */, - 2F7C5F111931FE8781CCD87119583C03 /* FlutterSecureStorageMacosPlugin.m */, - ); - name = Classes; - path = Classes; - sourceTree = ""; - }; 4EE9C3899DD2AF593E54B2CCB6B7F7A8 /* .. */ = { isa = PBXGroup; children = ( @@ -385,6 +360,21 @@ path = "../../../../../../../../../../../.pub-cache/hosted/pub.dartlang.org/path_provider_macos-2.0.6/macos"; sourceTree = ""; }; + 51476BFB0C6A1AFB40D0B2341B4F3AF1 /* Support Files */ = { + isa = PBXGroup; + children = ( + 3D4DAF4A6E6E255A603E96C42A283A0A /* flutter_secure_storage_macos.modulemap */, + 8D2C458EFE45E16E14C5DBCB194FA24F /* flutter_secure_storage_macos-dummy.m */, + 1AE394EAA6BF3BD8DDB408CDF71F80F6 /* flutter_secure_storage_macos-Info.plist */, + 0CD1F675769093388F3E9B538367E65F /* flutter_secure_storage_macos-prefix.pch */, + CD02FABD655231169DC1F9C78A1641CF /* flutter_secure_storage_macos-umbrella.h */, + 6EC5388155A76A54784ED0EB69A192FA /* flutter_secure_storage_macos.debug.xcconfig */, + 2FDD189AEDD33DE6DF0D67677CD72864 /* flutter_secure_storage_macos.release.xcconfig */, + ); + name = "Support Files"; + path = "../../../../../../Pods/Target Support Files/flutter_secure_storage_macos"; + sourceTree = ""; + }; 51FD314B2CA2136920CB2D12DA902CBF /* ribn */ = { isa = PBXGroup; children = ( @@ -406,7 +396,7 @@ 5946987356D5BD335DD58618BAEC079A /* Development Pods */ = { isa = PBXGroup; children = ( - 3DD2370467A82ACD15F320D1B4BE49F1 /* flutter_secure_storage_macos */, + 20B44C0DE0F749BA8DF7BCB25A3032D8 /* flutter_secure_storage_macos */, DFE66EE3B896F996CB65340B7C265798 /* FlutterMacOS */, A8AD43CC3FB9A66EF734AF29AE585730 /* path_provider_macos */, 22A23AC83C1F80D3FAFE29C2A1EE8133 /* url_launcher_macos */, @@ -414,15 +404,6 @@ name = "Development Pods"; sourceTree = ""; }; - 5ED29CA4307F66448EDB58E47C0D253B /* topl */ = { - isa = PBXGroup; - children = ( - 8E68646AED6D283E09CAF3ACFA9B70B4 /* ribn */, - ); - name = topl; - path = topl; - sourceTree = ""; - }; 6368C6C9442CC819EEE3217308537009 /* .. */ = { isa = PBXGroup; children = ( @@ -441,6 +422,15 @@ path = ephemeral; sourceTree = ""; }; + 6AAF20F4A148AEAAA55C2104BD100729 /* Flutter */ = { + isa = PBXGroup; + children = ( + DE5D6B7B90DD6B5241C31DEA450E9DDE /* ephemeral */, + ); + name = Flutter; + path = Flutter; + sourceTree = ""; + }; 6CC24824941CDC7C41A20DD11AB0C5FB /* url_launcher_macos */ = { isa = PBXGroup; children = ( @@ -459,6 +449,15 @@ path = .symlinks; sourceTree = ""; }; + 70E56CC642948ACE1734A782B1024C57 /* .symlinks */ = { + isa = PBXGroup; + children = ( + CAC1D5B4DAD8862CEAE64BA2A64BD60B /* plugins */, + ); + name = .symlinks; + path = .symlinks; + sourceTree = ""; + }; 7125A95DCDBC799C68A3858D799280AF /* macos */ = { isa = PBXGroup; children = ( @@ -512,6 +511,15 @@ name = "Targets Support Files"; sourceTree = ""; }; + 798B8B22E3D5A6B74C3F2C5661A65EAC /* .. */ = { + isa = PBXGroup; + children = ( + 86C440E06910061F484CA73EF61C5FC6 /* Documents */, + ); + name = ..; + path = ..; + sourceTree = ""; + }; 7B0D67477903E1EB8D6A9F9AF51BC5CC /* Pods-Runner */ = { isa = PBXGroup; children = ( @@ -539,13 +547,13 @@ path = ..; sourceTree = ""; }; - 8618F449C06754BE6CDDF362C246A039 /* .. */ = { + 86C440E06910061F484CA73EF61C5FC6 /* Documents */ = { isa = PBXGroup; children = ( - D77BD8F6E3F568A360DF1905834098F5 /* .. */, + DF65E27E5F1B541BA77A7EBDA8BB6399 /* programming */, ); - name = ..; - path = ..; + name = Documents; + path = Documents; sourceTree = ""; }; 89F0CD641906FC7DFC3834D220FEB9DF /* Documents */ = { @@ -557,31 +565,13 @@ path = Documents; sourceTree = ""; }; - 8B652E11EEB94A10A2046C13542AB7DE /* .symlinks */ = { - isa = PBXGroup; - children = ( - BFB8205753A976A8AD60D98A81C32D9A /* plugins */, - ); - name = .symlinks; - path = .symlinks; - sourceTree = ""; - }; - 8E68646AED6D283E09CAF3ACFA9B70B4 /* ribn */ = { + 8CAB0620A844514F0AB163F5CFEF518A /* topl */ = { isa = PBXGroup; children = ( - 3F08D35F787909902EEE88C7C14B2C01 /* macos */, + F1BC03C29924EA678EDFE7D74C9EB249 /* ribn */, ); - name = ribn; - path = ribn; - sourceTree = ""; - }; - 96376211EBD382451399499CE7E4F202 /* .. */ = { - isa = PBXGroup; - children = ( - D828A9324CBCECAFC5B56ACD04E7CC4A /* .. */, - ); - name = ..; - path = "../../../../../../../../../../../.pub-cache/hosted/pub.dartlang.org/flutter_secure_storage_macos-1.1.2/macos"; + name = topl; + path = topl; sourceTree = ""; }; 9B78047DEB256BCB67FB4EE1C4C6F71E /* ephemeral */ = { @@ -593,19 +583,19 @@ path = ephemeral; sourceTree = ""; }; - 9BBF88474BD8D18393397A3B8AE7A2B3 /* macos */ = { + 9B9A30A7C39B91B9A27A94985D0B7626 /* .. */ = { isa = PBXGroup; children = ( - C338903B9433CCBD78AEBEB2962C9611 /* Flutter */, + 42179AF68A8C5BF5973045A3EBD442B9 /* .. */, ); - name = macos; - path = macos; + name = ..; + path = ..; sourceTree = ""; }; - A0AEE5D42EB8B60B91FB0E303A87305D /* macos */ = { + 9BBF88474BD8D18393397A3B8AE7A2B3 /* macos */ = { isa = PBXGroup; children = ( - 4C6BC677D6CCFA6F25922CD9A3B495D6 /* Classes */, + C338903B9433CCBD78AEBEB2962C9611 /* Flutter */, ); name = macos; path = macos; @@ -640,15 +630,6 @@ path = ../Flutter/ephemeral/.symlinks/plugins/path_provider_macos/macos; sourceTree = ""; }; - AFC525665476E28AC847AEEF913F0B4C /* flutter_secure_storage_macos */ = { - isa = PBXGroup; - children = ( - A0AEE5D42EB8B60B91FB0E303A87305D /* macos */, - ); - name = flutter_secure_storage_macos; - path = flutter_secure_storage_macos; - sourceTree = ""; - }; AFEF3CB199032E62B211CA99DAC85BEA /* Support Files */ = { isa = PBXGroup; children = ( @@ -664,13 +645,13 @@ path = "../../../../../../Pods/Target Support Files/url_launcher_macos"; sourceTree = ""; }; - B93930BC9280AD83804495F4D2EC815D /* ephemeral */ = { + B0A3273B303B9B0334CA3DFD470C68EB /* .. */ = { isa = PBXGroup; children = ( - 8B652E11EEB94A10A2046C13542AB7DE /* .symlinks */, + 49273D0A95EB3C19185B461B974D49E1 /* .. */, ); - name = ephemeral; - path = ephemeral; + name = ..; + path = "../../../../../../../../../../../.pub-cache/hosted/pub.dartlang.org/flutter_secure_storage_macos-2.0.1/macos"; sourceTree = ""; }; B9FBB2D1A0B7B58889B4F6E2EAA79A55 /* topl */ = { @@ -682,6 +663,15 @@ path = topl; sourceTree = ""; }; + BA694E173184D2B8D06336A898CE36E1 /* macos */ = { + isa = PBXGroup; + children = ( + 6AAF20F4A148AEAAA55C2104BD100729 /* Flutter */, + ); + name = macos; + path = macos; + sourceTree = ""; + }; BAA7BF99BFF3E29CBF908EABA653C8C6 /* macos */ = { isa = PBXGroup; children = ( @@ -691,13 +681,23 @@ path = macos; sourceTree = ""; }; - BFB8205753A976A8AD60D98A81C32D9A /* plugins */ = { + BB817E3531F95AD7FB887E5E6286C38F /* Classes */ = { isa = PBXGroup; children = ( - AFC525665476E28AC847AEEF913F0B4C /* flutter_secure_storage_macos */, + AEE81A29099CDDD07E040CC29DACFE8F /* FlutterSecureStorage.swift */, + DBC53873F1DBAAE87A8A7206AEB2F06F /* FlutterSecureStoragePlugin.swift */, ); - name = plugins; - path = plugins; + name = Classes; + path = Classes; + sourceTree = ""; + }; + C103C5CA903A73B39A42A93A6C29C8BD /* Pod */ = { + isa = PBXGroup; + children = ( + 3D2E859C9735B2CD05E263A4C1A34337 /* flutter_secure_storage_macos.podspec */, + C19DBE3DA61F3C83EA2C1EA5D1E09AA4 /* LICENSE */, + ); + name = Pod; sourceTree = ""; }; C338903B9433CCBD78AEBEB2962C9611 /* Flutter */ = { @@ -709,6 +709,15 @@ path = Flutter; sourceTree = ""; }; + CAC1D5B4DAD8862CEAE64BA2A64BD60B /* plugins */ = { + isa = PBXGroup; + children = ( + DCE89FD7D18229CB0E04B291931B7466 /* flutter_secure_storage_macos */, + ); + name = plugins; + path = plugins; + sourceTree = ""; + }; CDDE980D6CA2A82A538E06AC03663335 /* programming */ = { isa = PBXGroup; children = ( @@ -738,58 +747,31 @@ ); sourceTree = ""; }; - D06BCEC2946848A7D2768FD275CB9053 /* Flutter */ = { - isa = PBXGroup; - children = ( - B93930BC9280AD83804495F4D2EC815D /* ephemeral */, - ); - name = Flutter; - path = Flutter; - sourceTree = ""; - }; - D3648D4273D4F07858357190501BC63A /* Documents */ = { - isa = PBXGroup; - children = ( - D6133024665947EB5E48174243B623CE /* programming */, - ); - name = Documents; - path = Documents; - sourceTree = ""; - }; - D6133024665947EB5E48174243B623CE /* programming */ = { - isa = PBXGroup; - children = ( - 5ED29CA4307F66448EDB58E47C0D253B /* topl */, - ); - name = programming; - path = programming; - sourceTree = ""; - }; - D77BD8F6E3F568A360DF1905834098F5 /* .. */ = { + CFBB34A53CEAC9E33BED4C6497D94079 /* macos */ = { isa = PBXGroup; children = ( - D3648D4273D4F07858357190501BC63A /* Documents */, + BB817E3531F95AD7FB887E5E6286C38F /* Classes */, ); - name = ..; - path = ..; + name = macos; + path = macos; sourceTree = ""; }; - D828A9324CBCECAFC5B56ACD04E7CC4A /* .. */ = { + DC7F0B2F792742B7A74D33CD2AFA0978 /* path_provider_macos */ = { isa = PBXGroup; children = ( - 38AD06D49C89B802FFE6ACD5342B7569 /* .. */, + CE45D19F5FC50D284F776C55594A6FCD /* macos */, ); - name = ..; - path = ..; + name = path_provider_macos; + path = path_provider_macos; sourceTree = ""; }; - DC7F0B2F792742B7A74D33CD2AFA0978 /* path_provider_macos */ = { + DCE89FD7D18229CB0E04B291931B7466 /* flutter_secure_storage_macos */ = { isa = PBXGroup; children = ( - CE45D19F5FC50D284F776C55594A6FCD /* macos */, + CFBB34A53CEAC9E33BED4C6497D94079 /* macos */, ); - name = path_provider_macos; - path = path_provider_macos; + name = flutter_secure_storage_macos; + path = flutter_secure_storage_macos; sourceTree = ""; }; DD34EC3E1AC7850D8A90BD8BDC615252 /* programming */ = { @@ -819,6 +801,24 @@ path = Classes; sourceTree = ""; }; + DE5D6B7B90DD6B5241C31DEA450E9DDE /* ephemeral */ = { + isa = PBXGroup; + children = ( + 70E56CC642948ACE1734A782B1024C57 /* .symlinks */, + ); + name = ephemeral; + path = ephemeral; + sourceTree = ""; + }; + DF65E27E5F1B541BA77A7EBDA8BB6399 /* programming */ = { + isa = PBXGroup; + children = ( + 8CAB0620A844514F0AB163F5CFEF518A /* topl */, + ); + name = programming; + path = programming; + sourceTree = ""; + }; DFE66EE3B896F996CB65340B7C265798 /* FlutterMacOS */ = { isa = PBXGroup; children = ( @@ -855,22 +855,22 @@ path = "../../Pods/Target Support Files/FlutterMacOS"; sourceTree = ""; }; - F1E59DF774362873462D7F7918641981 /* .. */ = { + F1BC03C29924EA678EDFE7D74C9EB249 /* ribn */ = { isa = PBXGroup; children = ( - 71E8DA8D4670EB4D31EEE39D861E9D7C /* .. */, + BA694E173184D2B8D06336A898CE36E1 /* macos */, ); - name = ..; - path = ..; + name = ribn; + path = ribn; sourceTree = ""; }; - FC4E786892A93E28157C3431E64A14B7 /* Pod */ = { + F1E59DF774362873462D7F7918641981 /* .. */ = { isa = PBXGroup; children = ( - 7C5CA2F238D7DC27599139665F6D816F /* flutter_secure_storage_macos.podspec */, - 942D84FBAE19A5C8785B5C28788D10E9 /* LICENSE */, + 71E8DA8D4670EB4D31EEE39D861E9D7C /* .. */, ); - name = Pod; + name = ..; + path = ..; sourceTree = ""; }; /* End PBXGroup section */ @@ -884,20 +884,19 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 2A48028D8359A3BECC5AC575EA892FA3 /* Headers */ = { + 44203A8D9315841E5BD59667FEB52DC9 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 0A13A1B3ECD64D378DA01E4A10C756BC /* flutter_secure_storage_macos-umbrella.h in Headers */, - 540AC91886590C235166CF9424F0705A /* FlutterSecureStorageMacosPlugin.h in Headers */, + A5C29EF528710035ACC8A13E86E0290C /* url_launcher_macos-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 44203A8D9315841E5BD59667FEB52DC9 /* Headers */ = { + 4E11294E5A055119B49C7B0560525719 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - A5C29EF528710035ACC8A13E86E0290C /* url_launcher_macos-umbrella.h in Headers */, + 8914129D147FB754530D7D6CC334C652 /* flutter_secure_storage_macos-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -974,17 +973,17 @@ }; EF59DE143C0B7645A532B75D0696C617 /* flutter_secure_storage_macos */ = { isa = PBXNativeTarget; - buildConfigurationList = B36CCE80BD23EA64067C2C4C5D39C058 /* Build configuration list for PBXNativeTarget "flutter_secure_storage_macos" */; + buildConfigurationList = 2D2449E5B360DBB3C49F6456AA347CCF /* Build configuration list for PBXNativeTarget "flutter_secure_storage_macos" */; buildPhases = ( - 2A48028D8359A3BECC5AC575EA892FA3 /* Headers */, - 5573D9ECF8B9B475C8211F177B86DF1C /* Sources */, - BD99619EA0BFBADBC8144ABAD4236F94 /* Frameworks */, - 21A862BE1571533DDA608DDA1FEAE14D /* Resources */, + 4E11294E5A055119B49C7B0560525719 /* Headers */, + 35518E9CB911AF0E4A969058BA9624DC /* Sources */, + A6B16972686765E334D5D612BB3C6559 /* Frameworks */, + AFC83B9D547DD5A0470174DD1D00E20A /* Resources */, ); buildRules = ( ); dependencies = ( - A486D20C4FF41256D92FC3C8507A15AD /* PBXTargetDependency */, + 3E0F029273C0FF314A0CFF38D12F5C81 /* PBXTargetDependency */, ); name = flutter_secure_storage_macos; productName = flutter_secure_storage_macos; @@ -1030,14 +1029,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 21A862BE1571533DDA608DDA1FEAE14D /* Resources */ = { + A8E3C3D730C4D60B5BD56EDBC887C77A /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - A8E3C3D730C4D60B5BD56EDBC887C77A /* Resources */ = { + AFC83B9D547DD5A0470174DD1D00E20A /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -1063,12 +1062,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 5573D9ECF8B9B475C8211F177B86DF1C /* Sources */ = { + 35518E9CB911AF0E4A969058BA9624DC /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - A27E461352F18140606E9E08A1B20FE8 /* flutter_secure_storage_macos-dummy.m in Sources */, - 557F8BEE4673E27447FC06D18453C7B0 /* FlutterSecureStorageMacosPlugin.m in Sources */, + 7828518A41264D5F059DBDE5DE296481 /* flutter_secure_storage_macos-dummy.m in Sources */, + 26412FA729F5E92C44C391333E96E7AE /* FlutterSecureStorage.swift in Sources */, + 0CC76DC3E677E08C603B1E29BF9EE9E8 /* FlutterSecureStoragePlugin.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1110,6 +1110,12 @@ target = CA272E8348BAB4CE0B0C804FB7B818C4 /* FlutterMacOS */; targetProxy = E405FED70DCBD03CE74B957980C29DF0 /* PBXContainerItemProxy */; }; + 3E0F029273C0FF314A0CFF38D12F5C81 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = FlutterMacOS; + target = CA272E8348BAB4CE0B0C804FB7B818C4 /* FlutterMacOS */; + targetProxy = BEA30A708C8887F730B88A64BECD4460 /* PBXContainerItemProxy */; + }; 465C9643EC79810494350825244CB0B5 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = FlutterMacOS; @@ -1122,12 +1128,6 @@ target = EF59DE143C0B7645A532B75D0696C617 /* flutter_secure_storage_macos */; targetProxy = 0D354CF229CB7A63DEA62B0E36013691 /* PBXContainerItemProxy */; }; - A486D20C4FF41256D92FC3C8507A15AD /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = FlutterMacOS; - target = CA272E8348BAB4CE0B0C804FB7B818C4 /* FlutterMacOS */; - targetProxy = C80F4957EDB4738A78733F37700F37B4 /* PBXContainerItemProxy */; - }; C83A9C2745D91413AABAEC6DA46115FE /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = path_provider_macos; @@ -1137,48 +1137,7 @@ /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 12DD09D8B67EE22CC3C4701E38760CDC /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 574219A11BCA0DB48C8BE8D01192DCA6 /* flutter_secure_storage_macos.release.xcconfig */; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGNING_ALLOWED = NO; - CODE_SIGNING_REQUIRED = NO; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 1; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "\"/Users/kalervohyyppa/FlutterDev/flutter/bin/cache/artifacts/engine/darwin-x64-release\"", - "$(inherited)", - ); - GCC_PREFIX_HEADER = "Target Support Files/flutter_secure_storage_macos/flutter_secure_storage_macos-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/flutter_secure_storage_macos/flutter_secure_storage_macos-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - "@loader_path/Frameworks", - ); - MACOSX_DEPLOYMENT_TARGET = 10.11; - MODULEMAP_FILE = "Target Support Files/flutter_secure_storage_macos/flutter_secure_storage_macos.modulemap"; - PRODUCT_MODULE_NAME = flutter_secure_storage_macos; - PRODUCT_NAME = flutter_secure_storage_macos; - SDKROOT = macosx; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 29C906FE5FB7ACDC680C6CC289EFF96E /* Debug */ = { + 01CA8CB45A96B26C663B5F95A5AE6736 /* Profile */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -1213,16 +1172,13 @@ CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_DEBUG=1", - "DEBUG=1", + "POD_CONFIGURATION_PROFILE=1", "$(inherited)", ); GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -1231,40 +1187,21 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.11; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MACOSX_DEPLOYMENT_TARGET = 10.13; + MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; PRODUCT_NAME = "$(TARGET_NAME)"; STRIP_INSTALLED_PRODUCT = NO; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; SWIFT_VERSION = 5.0; SYMROOT = "${SRCROOT}/../build"; }; - name = Debug; - }; - 3090F4A125CF2639AF0D3EAE187F5C23 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 543CD40B7B68B20C42393CB9E02BBEFB /* FlutterMacOS.release.xcconfig */; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CLANG_ENABLE_OBJC_WEAK = NO; - COMBINE_HIDPI_IMAGES = YES; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - MACOSX_DEPLOYMENT_TARGET = 10.11; - SDKROOT = macosx; - }; - name = Release; + name = Profile; }; - 3AAAB56EC938E385A1D004212AEEA983 /* Debug */ = { + 21738F435DD59F5AD64D93A70F1561DA /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 581AEC0F2FC4877861D18E64311F5DEE /* url_launcher_macos.debug.xcconfig */; + baseConfigurationReference = 2FDD189AEDD33DE6DF0D67677CD72864 /* flutter_secure_storage_macos.release.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; @@ -1279,21 +1216,21 @@ DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; FRAMEWORK_SEARCH_PATHS = ( - "\"/Users/kalervohyyppa/FlutterDev/flutter/bin/cache/artifacts/engine/darwin-x64\"", + "\"/Users/kalervohyyppa/FlutterDev/flutter/bin/cache/artifacts/engine/darwin-x64-release\"", "$(inherited)", ); - GCC_PREFIX_HEADER = "Target Support Files/url_launcher_macos/url_launcher_macos-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/url_launcher_macos/url_launcher_macos-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/flutter_secure_storage_macos/flutter_secure_storage_macos-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/flutter_secure_storage_macos/flutter_secure_storage_macos-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", "@loader_path/Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.11; - MODULEMAP_FILE = "Target Support Files/url_launcher_macos/url_launcher_macos.modulemap"; - PRODUCT_MODULE_NAME = url_launcher_macos; - PRODUCT_NAME = url_launcher_macos; + MACOSX_DEPLOYMENT_TARGET = 10.13; + MODULEMAP_FILE = "Target Support Files/flutter_secure_storage_macos/flutter_secure_storage_macos.modulemap"; + PRODUCT_MODULE_NAME = flutter_secure_storage_macos; + PRODUCT_NAME = flutter_secure_storage_macos; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -1301,11 +1238,29 @@ VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Profile; }; - 4763886C351BE419D0F3E98AD25CF6DB /* Profile */ = { + 3090F4A125CF2639AF0D3EAE187F5C23 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 574219A11BCA0DB48C8BE8D01192DCA6 /* flutter_secure_storage_macos.release.xcconfig */; + baseConfigurationReference = 543CD40B7B68B20C42393CB9E02BBEFB /* FlutterMacOS.release.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CLANG_ENABLE_OBJC_WEAK = NO; + COMBINE_HIDPI_IMAGES = YES; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + MACOSX_DEPLOYMENT_TARGET = 10.11; + SDKROOT = macosx; + }; + name = Release; + }; + 3AAAB56EC938E385A1D004212AEEA983 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 581AEC0F2FC4877861D18E64311F5DEE /* url_launcher_macos.debug.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; @@ -1320,11 +1275,11 @@ DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; FRAMEWORK_SEARCH_PATHS = ( - "\"/Users/kalervohyyppa/FlutterDev/flutter/bin/cache/artifacts/engine/darwin-x64-release\"", + "\"/Users/kalervohyyppa/FlutterDev/flutter/bin/cache/artifacts/engine/darwin-x64\"", "$(inherited)", ); - GCC_PREFIX_HEADER = "Target Support Files/flutter_secure_storage_macos/flutter_secure_storage_macos-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/flutter_secure_storage_macos/flutter_secure_storage_macos-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/url_launcher_macos/url_launcher_macos-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/url_launcher_macos/url_launcher_macos-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -1332,9 +1287,9 @@ "@loader_path/Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 10.11; - MODULEMAP_FILE = "Target Support Files/flutter_secure_storage_macos/flutter_secure_storage_macos.modulemap"; - PRODUCT_MODULE_NAME = flutter_secure_storage_macos; - PRODUCT_NAME = flutter_secure_storage_macos; + MODULEMAP_FILE = "Target Support Files/url_launcher_macos/url_launcher_macos.modulemap"; + PRODUCT_MODULE_NAME = url_launcher_macos; + PRODUCT_NAME = url_launcher_macos; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -1342,7 +1297,7 @@ VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Profile; + name = Debug; }; 4AABE67B16E0D36E94CC728786F6F488 /* Debug */ = { isa = XCBuildConfiguration; @@ -1404,68 +1359,6 @@ }; name = Release; }; - 59909D53159D0E69D82D4AF65B5E5706 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_RELEASE=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.11; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; - STRIP_INSTALLED_PRODUCT = NO; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 5.0; - SYMROOT = "${SRCROOT}/../build"; - }; - name = Release; - }; 5E1B68257BEE163323DAFCCE0225FEA6 /* Release */ = { isa = XCBuildConfiguration; baseConfigurationReference = 7FA1606CBEFA0238A50F4B3FF012BE6E /* url_launcher_macos.release.xcconfig */; @@ -1507,7 +1400,7 @@ }; name = Release; }; - 62BA325489888A4C9E99CEBC5F25641C /* Profile */ = { + 7599BD86FD28576C20F8B9B6B5ACBEC9 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -1542,13 +1435,16 @@ CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; + DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_PROFILE=1", + "POD_CONFIGURATION_DEBUG=1", + "DEBUG=1", "$(inherited)", ); GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -1557,23 +1453,23 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.11; - MTL_ENABLE_DEBUG_INFO = NO; + MACOSX_DEPLOYMENT_TARGET = 10.13; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; PRODUCT_NAME = "$(TARGET_NAME)"; STRIP_INSTALLED_PRODUCT = NO; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; SYMROOT = "${SRCROOT}/../build"; }; - name = Profile; + name = Debug; }; - 69C74441B68A38F992464B6DDCC5557C /* Release */ = { + 7E8C68E9E0E89290E27FC97D7F8D30F3 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D2FA70CA298C392CB8332ADEEDD1CE85 /* Pods-Runner.release.xcconfig */; + baseConfigurationReference = 2FDD189AEDD33DE6DF0D67677CD72864 /* flutter_secure_storage_macos.release.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGNING_ALLOWED = NO; @@ -1583,7 +1479,6 @@ "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; @@ -1591,29 +1486,28 @@ "\"/Users/kalervohyyppa/FlutterDev/flutter/bin/cache/artifacts/engine/darwin-x64-release\"", "$(inherited)", ); - INFOPLIST_FILE = "Target Support Files/Pods-Runner/Pods-Runner-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/flutter_secure_storage_macos/flutter_secure_storage_macos-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/flutter_secure_storage_macos/flutter_secure_storage_macos-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", "@loader_path/Frameworks", ); - MACH_O_TYPE = staticlib; - MACOSX_DEPLOYMENT_TARGET = 10.11; - MODULEMAP_FILE = "Target Support Files/Pods-Runner/Pods-Runner.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + MACOSX_DEPLOYMENT_TARGET = 10.13; + MODULEMAP_FILE = "Target Support Files/flutter_secure_storage_macos/flutter_secure_storage_macos.modulemap"; + PRODUCT_MODULE_NAME = flutter_secure_storage_macos; + PRODUCT_NAME = flutter_secure_storage_macos; SDKROOT = macosx; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Release; }; - 7DF90CC3873B1625E904FC6C467F4313 /* Debug */ = { + A7255637A97AA6EFDE365638417BA808 /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = CDAECCF4B5E08124ED410F09FD5A5DF9 /* Pods-Runner.debug.xcconfig */; buildSettings = { @@ -1643,7 +1537,7 @@ "@loader_path/Frameworks", ); MACH_O_TYPE = staticlib; - MACOSX_DEPLOYMENT_TARGET = 10.11; + MACOSX_DEPLOYMENT_TARGET = 10.13; MODULEMAP_FILE = "Target Support Files/Pods-Runner/Pods-Runner.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; @@ -1657,9 +1551,9 @@ }; name = Debug; }; - AD221369C5BD3BEA047A3355327146A4 /* Debug */ = { + B67254087C17E8918B69F741BAFAEBD8 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = BA4BBDB16070144A5BBA25AB859CD37B /* flutter_secure_storage_macos.debug.xcconfig */; + baseConfigurationReference = 954809D0DB2822A9581D77BF2CB5A92E /* path_provider_macos.debug.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; @@ -1670,6 +1564,7 @@ "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; @@ -1677,8 +1572,8 @@ "\"/Users/kalervohyyppa/FlutterDev/flutter/bin/cache/artifacts/engine/darwin-x64\"", "$(inherited)", ); - GCC_PREFIX_HEADER = "Target Support Files/flutter_secure_storage_macos/flutter_secure_storage_macos-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/flutter_secure_storage_macos/flutter_secure_storage_macos-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/path_provider_macos/path_provider_macos-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/path_provider_macos/path_provider_macos-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -1686,9 +1581,9 @@ "@loader_path/Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 10.11; - MODULEMAP_FILE = "Target Support Files/flutter_secure_storage_macos/flutter_secure_storage_macos.modulemap"; - PRODUCT_MODULE_NAME = flutter_secure_storage_macos; - PRODUCT_NAME = flutter_secure_storage_macos; + MODULEMAP_FILE = "Target Support Files/path_provider_macos/path_provider_macos.modulemap"; + PRODUCT_MODULE_NAME = path_provider_macos; + PRODUCT_NAME = path_provider_macos; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -1698,9 +1593,9 @@ }; name = Debug; }; - B67254087C17E8918B69F741BAFAEBD8 /* Debug */ = { + B79D484A3FE24410FB59DB35EC00B3D7 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 954809D0DB2822A9581D77BF2CB5A92E /* path_provider_macos.debug.xcconfig */; + baseConfigurationReference = 6EC5388155A76A54784ED0EB69A192FA /* flutter_secure_storage_macos.debug.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; @@ -1711,7 +1606,6 @@ "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; @@ -1719,18 +1613,18 @@ "\"/Users/kalervohyyppa/FlutterDev/flutter/bin/cache/artifacts/engine/darwin-x64\"", "$(inherited)", ); - GCC_PREFIX_HEADER = "Target Support Files/path_provider_macos/path_provider_macos-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/path_provider_macos/path_provider_macos-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/flutter_secure_storage_macos/flutter_secure_storage_macos-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/flutter_secure_storage_macos/flutter_secure_storage_macos-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", "@loader_path/Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.11; - MODULEMAP_FILE = "Target Support Files/path_provider_macos/path_provider_macos.modulemap"; - PRODUCT_MODULE_NAME = path_provider_macos; - PRODUCT_NAME = path_provider_macos; + MACOSX_DEPLOYMENT_TARGET = 10.13; + MODULEMAP_FILE = "Target Support Files/flutter_secure_storage_macos/flutter_secure_storage_macos.modulemap"; + PRODUCT_MODULE_NAME = flutter_secure_storage_macos; + PRODUCT_NAME = flutter_secure_storage_macos; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -1800,6 +1694,68 @@ }; name = Profile; }; + C0AB89DB0533D8E2B9201FA6579824B7 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + "POD_CONFIGURATION_RELEASE=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.13; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + STRIP_INSTALLED_PRODUCT = NO; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 5.0; + SYMROOT = "${SRCROOT}/../build"; + }; + name = Release; + }; C3F373EA23A6EA25A552038F56D2DBF7 /* Profile */ = { isa = XCBuildConfiguration; baseConfigurationReference = 7FA1606CBEFA0238A50F4B3FF012BE6E /* url_launcher_macos.release.xcconfig */; @@ -1841,7 +1797,51 @@ }; name = Profile; }; - C56C800457BCE8AB131D7C0C492CA806 /* Profile */ = { + E7AD878EB899F13CEDD24333E5CCC2E2 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = D2FA70CA298C392CB8332ADEEDD1CE85 /* Pods-Runner.release.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGNING_ALLOWED = NO; + CODE_SIGNING_REQUIRED = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + FRAMEWORK_SEARCH_PATHS = ( + "\"/Users/kalervohyyppa/FlutterDev/flutter/bin/cache/artifacts/engine/darwin-x64-release\"", + "$(inherited)", + ); + INFOPLIST_FILE = "Target Support Files/Pods-Runner/Pods-Runner-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/Frameworks", + ); + MACH_O_TYPE = staticlib; + MACOSX_DEPLOYMENT_TARGET = 10.13; + MODULEMAP_FILE = "Target Support Files/Pods-Runner/Pods-Runner.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = macosx; + SKIP_INSTALL = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + F2FA45ADD9371269C0FCAEE5E05E266E /* Profile */ = { isa = XCBuildConfiguration; baseConfigurationReference = 9F79F8269DC34AC56BB3D1D9652C0D86 /* Pods-Runner.profile.xcconfig */; buildSettings = { @@ -1871,7 +1871,7 @@ "@loader_path/Frameworks", ); MACH_O_TYPE = staticlib; - MACOSX_DEPLOYMENT_TARGET = 10.11; + MACOSX_DEPLOYMENT_TARGET = 10.13; MODULEMAP_FILE = "Target Support Files/Pods-Runner/Pods-Runner.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; @@ -1891,9 +1891,19 @@ 17B54811FD87CAE78A421A0A833E601A /* Build configuration list for PBXNativeTarget "Pods-Runner" */ = { isa = XCConfigurationList; buildConfigurations = ( - 7DF90CC3873B1625E904FC6C467F4313 /* Debug */, - C56C800457BCE8AB131D7C0C492CA806 /* Profile */, - 69C74441B68A38F992464B6DDCC5557C /* Release */, + A7255637A97AA6EFDE365638417BA808 /* Debug */, + F2FA45ADD9371269C0FCAEE5E05E266E /* Profile */, + E7AD878EB899F13CEDD24333E5CCC2E2 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 2D2449E5B360DBB3C49F6456AA347CCF /* Build configuration list for PBXNativeTarget "flutter_secure_storage_macos" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B79D484A3FE24410FB59DB35EC00B3D7 /* Debug */, + 21738F435DD59F5AD64D93A70F1561DA /* Profile */, + 7E8C68E9E0E89290E27FC97D7F8D30F3 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -1901,9 +1911,9 @@ 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( - 29C906FE5FB7ACDC680C6CC289EFF96E /* Debug */, - 62BA325489888A4C9E99CEBC5F25641C /* Profile */, - 59909D53159D0E69D82D4AF65B5E5706 /* Release */, + 7599BD86FD28576C20F8B9B6B5ACBEC9 /* Debug */, + 01CA8CB45A96B26C663B5F95A5AE6736 /* Profile */, + C0AB89DB0533D8E2B9201FA6579824B7 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -1938,16 +1948,6 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - B36CCE80BD23EA64067C2C4C5D39C058 /* Build configuration list for PBXNativeTarget "flutter_secure_storage_macos" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - AD221369C5BD3BEA047A3355327146A4 /* Debug */, - 4763886C351BE419D0F3E98AD25CF6DB /* Profile */, - 12DD09D8B67EE22CC3C4701E38760CDC /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; /* End XCConfigurationList section */ }; rootObject = BFDFE7DC352907FC980B868725387E98 /* Project object */; diff --git a/macos/Pods/Pods.xcodeproj/xcuserdata/kalervohyyppa.xcuserdatad/xcschemes/xcschememanagement.plist b/macos/Pods/Pods.xcodeproj/xcuserdata/kalervohyyppa.xcuserdatad/xcschemes/xcschememanagement.plist index beb66682..b4d48cf7 100644 --- a/macos/Pods/Pods.xcodeproj/xcuserdata/kalervohyyppa.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/macos/Pods/Pods.xcodeproj/xcuserdata/kalervohyyppa.xcuserdatad/xcschemes/xcschememanagement.plist @@ -9,28 +9,28 @@ isShown orderHint - 1 + 2 Pods-Runner.xcscheme isShown orderHint - 3 + 4 flutter_secure_storage_macos.xcscheme isShown orderHint - 0 + 1 path_provider_macos.xcscheme isShown orderHint - 2 + 3 url_launcher_macos.xcscheme diff --git a/macos/Pods/Target Support Files/flutter_secure_storage_macos/flutter_secure_storage_macos-Info.plist b/macos/Pods/Target Support Files/flutter_secure_storage_macos/flutter_secure_storage_macos-Info.plist index d4b3c294..40211fac 100644 --- a/macos/Pods/Target Support Files/flutter_secure_storage_macos/flutter_secure_storage_macos-Info.plist +++ b/macos/Pods/Target Support Files/flutter_secure_storage_macos/flutter_secure_storage_macos-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 3.3.1 + 6.1.1 CFBundleSignature ???? CFBundleVersion diff --git a/macos/Pods/Target Support Files/flutter_secure_storage_macos/flutter_secure_storage_macos-umbrella.h b/macos/Pods/Target Support Files/flutter_secure_storage_macos/flutter_secure_storage_macos-umbrella.h index 814827c3..d63ad01a 100644 --- a/macos/Pods/Target Support Files/flutter_secure_storage_macos/flutter_secure_storage_macos-umbrella.h +++ b/macos/Pods/Target Support Files/flutter_secure_storage_macos/flutter_secure_storage_macos-umbrella.h @@ -10,7 +10,6 @@ #endif #endif -#import "FlutterSecureStorageMacosPlugin.h" FOUNDATION_EXPORT double flutter_secure_storage_macosVersionNumber; FOUNDATION_EXPORT const unsigned char flutter_secure_storage_macosVersionString[]; diff --git a/macos/Pods/Target Support Files/flutter_secure_storage_macos/flutter_secure_storage_macos.debug.xcconfig b/macos/Pods/Target Support Files/flutter_secure_storage_macos/flutter_secure_storage_macos.debug.xcconfig index d971c14d..7dcd16db 100644 --- a/macos/Pods/Target Support Files/flutter_secure_storage_macos/flutter_secure_storage_macos.debug.xcconfig +++ b/macos/Pods/Target Support Files/flutter_secure_storage_macos/flutter_secure_storage_macos.debug.xcconfig @@ -3,6 +3,8 @@ CODE_SIGN_IDENTITY = CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/flutter_secure_storage_macos DEFINES_MODULE = YES GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} diff --git a/macos/Pods/Target Support Files/flutter_secure_storage_macos/flutter_secure_storage_macos.release.xcconfig b/macos/Pods/Target Support Files/flutter_secure_storage_macos/flutter_secure_storage_macos.release.xcconfig index d971c14d..7dcd16db 100644 --- a/macos/Pods/Target Support Files/flutter_secure_storage_macos/flutter_secure_storage_macos.release.xcconfig +++ b/macos/Pods/Target Support Files/flutter_secure_storage_macos/flutter_secure_storage_macos.release.xcconfig @@ -3,6 +3,8 @@ CODE_SIGN_IDENTITY = CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/flutter_secure_storage_macos DEFINES_MODULE = YES GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} diff --git a/macos/Runner.xcodeproj/project.pbxproj b/macos/Runner.xcodeproj/project.pbxproj index 0c72b13b..bc3e79eb 100644 --- a/macos/Runner.xcodeproj/project.pbxproj +++ b/macos/Runner.xcodeproj/project.pbxproj @@ -94,7 +94,6 @@ 472D0EF9B5AA6DB5AA4917AC /* Pods-Runner.release.xcconfig */, 2F589A8836A4B35F08D8E292 /* Pods-Runner.profile.xcconfig */, ); - name = Pods; path = Pods; sourceTree = ""; }; @@ -404,7 +403,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.11; + MACOSX_DEPLOYMENT_TARGET = 10.13; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; SWIFT_COMPILATION_MODE = wholemodule; @@ -483,7 +482,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.11; + MACOSX_DEPLOYMENT_TARGET = 10.13; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; @@ -530,7 +529,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.11; + MACOSX_DEPLOYMENT_TARGET = 10.13; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; SWIFT_COMPILATION_MODE = wholemodule; diff --git a/macos/Runner.xcodeproj/xcuserdata/kalervohyyppa.xcuserdatad/xcschemes/xcschememanagement.plist b/macos/Runner.xcodeproj/xcuserdata/kalervohyyppa.xcuserdatad/xcschemes/xcschememanagement.plist index 6af45f15..ad15686c 100644 --- a/macos/Runner.xcodeproj/xcuserdata/kalervohyyppa.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/macos/Runner.xcodeproj/xcuserdata/kalervohyyppa.xcuserdatad/xcschemes/xcschememanagement.plist @@ -12,7 +12,7 @@ Runner.xcscheme_^#shared#^_ orderHint - 4 + 0 diff --git a/macos/Runner.xcworkspace/xcuserdata/kalervohyyppa.xcuserdatad/UserInterfaceState.xcuserstate b/macos/Runner.xcworkspace/xcuserdata/kalervohyyppa.xcuserdatad/UserInterfaceState.xcuserstate index 1b317269f43c3de3ff2a85132b7a24e3e2f0d09d..3f89ea9f4efdb46b0129b5f931d60ce0aba8c0bd 100644 GIT binary patch literal 14983 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 From 22ddd40e213d427f169ca24be8713bc7fe8b5863 Mon Sep 17 00:00:00 2001 From: Kalervo Hyyppa Date: Fri, 6 Jan 2023 12:17:34 -0700 Subject: [PATCH 24/58] Bug fix for settings screen --- ios/Podfile.lock | 2 +- lib/presentation/settings/settings_page.dart | 20 ++++++---- macos/Flutter/GeneratedPluginRegistrant.swift | 16 ++++++++ .../plugins/flutter_secure_storage_macos | 1 + .../.symlinks/plugins/path_provider_macos | 1 + .../.symlinks/plugins/url_launcher_macos | 1 + .../ephemeral/Flutter-Generated.xcconfig | 13 ++++++ macos/Flutter/ephemeral/FlutterMacOS.podspec | 18 +++++++++ .../ephemeral/flutter_export_environment.sh | 14 +++++++ macos/Podfile | 40 +++++++++++++++++++ 10 files changed, 117 insertions(+), 9 deletions(-) create mode 100644 macos/Flutter/GeneratedPluginRegistrant.swift create mode 120000 macos/Flutter/ephemeral/.symlinks/plugins/flutter_secure_storage_macos create mode 120000 macos/Flutter/ephemeral/.symlinks/plugins/path_provider_macos create mode 120000 macos/Flutter/ephemeral/.symlinks/plugins/url_launcher_macos create mode 100644 macos/Flutter/ephemeral/Flutter-Generated.xcconfig create mode 100644 macos/Flutter/ephemeral/FlutterMacOS.podspec create mode 100755 macos/Flutter/ephemeral/flutter_export_environment.sh create mode 100644 macos/Podfile diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 54f54225..7bcf2a85 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -108,4 +108,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: ef19549a9bc3046e7bb7d2fab4d021637c0c58a3 -COCOAPODS: 1.11.3 +COCOAPODS: 1.11.2 diff --git a/lib/presentation/settings/settings_page.dart b/lib/presentation/settings/settings_page.dart index e6020f37..d09c5b00 100644 --- a/lib/presentation/settings/settings_page.dart +++ b/lib/presentation/settings/settings_page.dart @@ -29,21 +29,25 @@ class _SettingsPageState extends State { late VoidCallback onUpdated; @override - initState() async { + initState() { if (!kIsWeb) { runBiometrics(); } else { - final List dApps = await PlatformUtils.instance - .convertToFuture(PlatformUtils.instance.getDAppList()); - await PlatformUtils.instance.consoleLog(dApps.toString()); - - setState(() async { - canDisconnect = dApps.isNotEmpty; - }); + loadDApps(); } super.initState(); } + loadDApps() async { + final List dApps = + await PlatformUtils.instance.convertToFuture(PlatformUtils.instance.getDAppList()); + await PlatformUtils.instance.consoleLog(dApps.toString()); + + setState(() { + canDisconnect = dApps.isNotEmpty; + }); + } + runBiometrics() async { final LocalAuthentication _localAuthentication = LocalAuthentication(); diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift new file mode 100644 index 00000000..ceaa73e4 --- /dev/null +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -0,0 +1,16 @@ +// +// Generated file. Do not edit. +// + +import FlutterMacOS +import Foundation + +import flutter_secure_storage_macos +import path_provider_macos +import url_launcher_macos + +func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { + FlutterSecureStorageMacosPlugin.register(with: registry.registrar(forPlugin: "FlutterSecureStorageMacosPlugin")) + PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) + UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin")) +} diff --git a/macos/Flutter/ephemeral/.symlinks/plugins/flutter_secure_storage_macos b/macos/Flutter/ephemeral/.symlinks/plugins/flutter_secure_storage_macos new file mode 120000 index 00000000..b19c50b7 --- /dev/null +++ b/macos/Flutter/ephemeral/.symlinks/plugins/flutter_secure_storage_macos @@ -0,0 +1 @@ +/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_secure_storage_macos-1.1.2/ \ No newline at end of file diff --git a/macos/Flutter/ephemeral/.symlinks/plugins/path_provider_macos b/macos/Flutter/ephemeral/.symlinks/plugins/path_provider_macos new file mode 120000 index 00000000..30df716a --- /dev/null +++ b/macos/Flutter/ephemeral/.symlinks/plugins/path_provider_macos @@ -0,0 +1 @@ +/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-2.0.6/ \ No newline at end of file diff --git a/macos/Flutter/ephemeral/.symlinks/plugins/url_launcher_macos b/macos/Flutter/ephemeral/.symlinks/plugins/url_launcher_macos new file mode 120000 index 00000000..c64d9c08 --- /dev/null +++ b/macos/Flutter/ephemeral/.symlinks/plugins/url_launcher_macos @@ -0,0 +1 @@ +/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/url_launcher_macos-3.0.1/ \ No newline at end of file diff --git a/macos/Flutter/ephemeral/Flutter-Generated.xcconfig b/macos/Flutter/ephemeral/Flutter-Generated.xcconfig new file mode 100644 index 00000000..12c3c711 --- /dev/null +++ b/macos/Flutter/ephemeral/Flutter-Generated.xcconfig @@ -0,0 +1,13 @@ +// This is a generated file; do not edit or check into version control. +FLUTTER_ROOT=/Users/kalervohyyppa/FlutterDev/flutter +FLUTTER_APPLICATION_PATH=/Users/kalervohyyppa/Documents/programming/topl/ribn +COCOAPODS_PARALLEL_CODE_SIGN=true +FLUTTER_TARGET=/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/main.dart +FLUTTER_BUILD_DIR=build +FLUTTER_BUILD_NAME=0.3.2 +FLUTTER_BUILD_NUMBER=0.3.2 +DART_DEFINES=RkxVVFRFUl9XRUJfQVVUT19ERVRFQ1Q9dHJ1ZQ== +DART_OBFUSCATION=false +TRACK_WIDGET_CREATION=true +TREE_SHAKE_ICONS=false +PACKAGE_CONFIG=/Users/kalervohyyppa/Documents/programming/topl/ribn/.dart_tool/package_config.json diff --git a/macos/Flutter/ephemeral/FlutterMacOS.podspec b/macos/Flutter/ephemeral/FlutterMacOS.podspec new file mode 100644 index 00000000..0bac3e84 --- /dev/null +++ b/macos/Flutter/ephemeral/FlutterMacOS.podspec @@ -0,0 +1,18 @@ +# +# NOTE: This podspec is NOT to be published. It is only used as a local source! +# This is a generated file; do not edit or check into version control. +# + +Pod::Spec.new do |s| + s.name = 'FlutterMacOS' + s.version = '1.0.0' + s.summary = 'A UI toolkit for beautiful and fast apps.' + s.homepage = 'https://flutter.dev' + s.license = { :type => 'BSD' } + s.author = { 'Flutter Dev Team' => 'flutter-dev@googlegroups.com' } + s.source = { :git => 'https://github.com/flutter/engine', :tag => s.version.to_s } + s.osx.deployment_target = '10.11' + # Framework linking is handled by Flutter tooling, not CocoaPods. + # Add a placeholder to satisfy `s.dependency 'FlutterMacOS'` plugin podspecs. + s.vendored_frameworks = 'path/to/nothing' +end diff --git a/macos/Flutter/ephemeral/flutter_export_environment.sh b/macos/Flutter/ephemeral/flutter_export_environment.sh new file mode 100755 index 00000000..0d344e94 --- /dev/null +++ b/macos/Flutter/ephemeral/flutter_export_environment.sh @@ -0,0 +1,14 @@ +#!/bin/sh +# This is a generated file; do not edit or check into version control. +export "FLUTTER_ROOT=/Users/kalervohyyppa/FlutterDev/flutter" +export "FLUTTER_APPLICATION_PATH=/Users/kalervohyyppa/Documents/programming/topl/ribn" +export "COCOAPODS_PARALLEL_CODE_SIGN=true" +export "FLUTTER_TARGET=/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/main.dart" +export "FLUTTER_BUILD_DIR=build" +export "FLUTTER_BUILD_NAME=0.3.2" +export "FLUTTER_BUILD_NUMBER=0.3.2" +export "DART_DEFINES=RkxVVFRFUl9XRUJfQVVUT19ERVRFQ1Q9dHJ1ZQ==" +export "DART_OBFUSCATION=false" +export "TRACK_WIDGET_CREATION=true" +export "TREE_SHAKE_ICONS=false" +export "PACKAGE_CONFIG=/Users/kalervohyyppa/Documents/programming/topl/ribn/.dart_tool/package_config.json" diff --git a/macos/Podfile b/macos/Podfile new file mode 100644 index 00000000..dade8dfa --- /dev/null +++ b/macos/Podfile @@ -0,0 +1,40 @@ +platform :osx, '10.11' + +# CocoaPods analytics sends network stats synchronously affecting flutter build latency. +ENV['COCOAPODS_DISABLE_STATS'] = 'true' + +project 'Runner', { + 'Debug' => :debug, + 'Profile' => :release, + 'Release' => :release, +} + +def flutter_root + generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'ephemeral', 'Flutter-Generated.xcconfig'), __FILE__) + unless File.exist?(generated_xcode_build_settings_path) + raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure \"flutter pub get\" is executed first" + end + + File.foreach(generated_xcode_build_settings_path) do |line| + matches = line.match(/FLUTTER_ROOT\=(.*)/) + return matches[1].strip if matches + end + raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Flutter-Generated.xcconfig, then run \"flutter pub get\"" +end + +require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) + +flutter_macos_podfile_setup + +target 'Runner' do + use_frameworks! + use_modular_headers! + + flutter_install_all_macos_pods File.dirname(File.realpath(__FILE__)) +end + +post_install do |installer| + installer.pods_project.targets.each do |target| + flutter_additional_macos_build_settings(target) + end +end From 6094373e6691d69fa3ad43c552139e9a2a28fbb5 Mon Sep 17 00:00:00 2001 From: Selby Baidjnath Date: Tue, 10 Jan 2023 09:30:12 -0300 Subject: [PATCH 25/58] commented out unused function --- .../restore_wallet/restore_wallet_page.dart | 75 +++++++++---------- 1 file changed, 35 insertions(+), 40 deletions(-) diff --git a/lib/presentation/onboarding/restore_wallet/restore_wallet_page.dart b/lib/presentation/onboarding/restore_wallet/restore_wallet_page.dart index 22651826..ad774ea6 100644 --- a/lib/presentation/onboarding/restore_wallet/restore_wallet_page.dart +++ b/lib/presentation/onboarding/restore_wallet/restore_wallet_page.dart @@ -1,10 +1,7 @@ import 'package:bip_topl/bip_topl.dart'; -import 'package:flutter/foundation.dart'; -import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; import 'package:flutter_redux/flutter_redux.dart'; import 'package:ribn/actions/misc_actions.dart'; -import 'package:ribn/constants/keys.dart'; import 'package:ribn/constants/routes.dart'; import 'package:ribn/constants/strings.dart'; import 'package:ribn/models/app_state.dart'; @@ -12,11 +9,9 @@ import 'package:ribn/presentation/onboarding/utils.dart'; import 'package:ribn/presentation/onboarding/widgets/confirmation_button.dart'; import 'package:ribn/presentation/onboarding/widgets/onboarding_container.dart'; import 'package:ribn/presentation/onboarding/widgets/web_onboarding_app_bar.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; import 'package:ribn_toolkit/constants/styles.dart'; import 'package:ribn_toolkit/widgets/atoms/custom_text_field.dart'; import 'package:ribn_toolkit/widgets/atoms/large_button.dart'; -import 'package:ribn_toolkit/widgets/atoms/peekaboo_button.dart'; import 'package:ribn_toolkit/widgets/organisms/onboarding_progress_bar.dart'; /// This page allows the user to enter a known mnemonic / seed phrase in order to restore a wallet. @@ -138,39 +133,39 @@ class _RestoreWalletPageState extends State { } /// Hidden for RIBN-557 - Widget _buildAdvancedOption() { - return Padding( - padding: const EdgeInsets.only(top: 5.0), - child: SizedBox( - width: maxWidth, - child: PeekabooButton( - buttonText: Text( - Strings.advancedOption, - style: RibnToolkitTextStyles.smallBody - .copyWith(fontSize: 15, color: RibnColors.whiteBackground), - ), - buttonChild: Padding( - padding: const EdgeInsets.only(left: 8), - child: RichText( - text: TextSpan( - style: RibnToolkitTextStyles.body1Bold - .copyWith(color: RibnColors.whiteBackground), - children: [ - const TextSpan(text: 'Use '), - TextSpan( - text: 'Topl main key file', - style: RibnToolkitTextStyles.body1Bold - .copyWith(color: RibnColors.secondaryDark), - recognizer: TapGestureRecognizer() - ..onTap = () => Keys.navigatorKey.currentState - ?.pushNamed(Routes.restoreWithToplKey), - ), - ], - ), - ), - ), - ), - ), - ); - } + // Widget _buildAdvancedOption() { + // return Padding( + // padding: const EdgeInsets.only(top: 5.0), + // child: SizedBox( + // width: maxWidth, + // child: PeekabooButton( + // buttonText: Text( + // Strings.advancedOption, + // style: RibnToolkitTextStyles.smallBody + // .copyWith(fontSize: 15, color: RibnColors.whiteBackground), + // ), + // buttonChild: Padding( + // padding: const EdgeInsets.only(left: 8), + // child: RichText( + // text: TextSpan( + // style: RibnToolkitTextStyles.body1Bold + // .copyWith(color: RibnColors.whiteBackground), + // children: [ + // const TextSpan(text: 'Use '), + // TextSpan( + // text: 'Topl main key file', + // style: RibnToolkitTextStyles.body1Bold + // .copyWith(color: RibnColors.secondaryDark), + // recognizer: TapGestureRecognizer() + // ..onTap = () => Keys.navigatorKey.currentState + // ?.pushNamed(Routes.restoreWithToplKey), + // ), + // ], + // ), + // ), + // ), + // ), + // ), + // ); + // } } From cffecca64ac1e6fd7d3943ac0f61e7ad51048a8c Mon Sep 17 00:00:00 2001 From: Selby Baidjnath Date: Tue, 10 Jan 2023 09:37:55 -0300 Subject: [PATCH 26/58] reverted setting page changes --- lib/presentation/settings/settings_page.dart | 7 ------- 1 file changed, 7 deletions(-) diff --git a/lib/presentation/settings/settings_page.dart b/lib/presentation/settings/settings_page.dart index 5fce2975..06f99053 100644 --- a/lib/presentation/settings/settings_page.dart +++ b/lib/presentation/settings/settings_page.dart @@ -39,13 +39,6 @@ class _SettingsPageState extends State { runBiometrics(); } else { loadDApps(); - - final List dApps = await PlatformUtils.instance - .convertToFuture(PlatformUtils.instance.getDAppList()); - - setState(() async { - canDisconnect = dApps.isNotEmpty; - }); } super.initState(); } From 35403407e69c8d5944d7b091814b21f85b42128c Mon Sep 17 00:00:00 2001 From: Selby Baidjnath Date: Tue, 10 Jan 2023 09:43:23 -0300 Subject: [PATCH 27/58] added ignore for nft dead code --- lib/presentation/home/wallet_balance_page.dart | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/presentation/home/wallet_balance_page.dart b/lib/presentation/home/wallet_balance_page.dart index 728b8fe1..38fc6bc9 100644 --- a/lib/presentation/home/wallet_balance_page.dart +++ b/lib/presentation/home/wallet_balance_page.dart @@ -318,6 +318,7 @@ class _WalletBalancePageState extends State { ), missingAsstDetailsCondition: isMissingAssetDetails, assetQuantityDetails: Text( + // ignore: dead_code isNft ? '${asset.quantity.toString()}' : '${asset.quantity.toString()} $assetUnit', overflow: TextOverflow.ellipsis, style: RibnToolkitTextStyles.assetShortNameStyle.copyWith( From a5b0d00f3c4bf395399d0b803f7a6d999dfd34bc Mon Sep 17 00:00:00 2001 From: Selby Baidjnath Date: Tue, 10 Jan 2023 10:44:29 -0300 Subject: [PATCH 28/58] Upgrade android base project --- android/app/build.gradle | 1 + android/app/src/debug/AndroidManifest.xml | 3 +-- android/app/src/main/AndroidManifest.xml | 3 +-- android/app/src/profile/AndroidManifest.xml | 3 +-- android/build.gradle | 2 +- android/gradle/wrapper/gradle-wrapper.properties | 2 +- 6 files changed, 6 insertions(+), 8 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index 72b89e05..a1e49e12 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -71,6 +71,7 @@ android { signingConfig signingConfigs.release } } + namespace 'co.topl.ribn' } flutter { diff --git a/android/app/src/debug/AndroidManifest.xml b/android/app/src/debug/AndroidManifest.xml index c148bc62..8f6368bd 100644 --- a/android/app/src/debug/AndroidManifest.xml +++ b/android/app/src/debug/AndroidManifest.xml @@ -1,5 +1,4 @@ - + diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 10e565bb..a34a4da4 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -1,5 +1,4 @@ - + + diff --git a/android/build.gradle b/android/build.gradle index 09fbd640..fd47cc78 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -6,7 +6,7 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:4.1.0' + classpath 'com.android.tools.build:gradle:7.2.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index 04be1935..0293f945 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -4,4 +4,4 @@ distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists # https://docs.gradle.org/current/userguide/compatibility.html -distributionUrl=https\://services.gradle.org/distributions/gradle-7.3-all.zip \ No newline at end of file +distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip \ No newline at end of file From ac3d73291eae2969232b8c1319c5cd0be6dc8745 Mon Sep 17 00:00:00 2001 From: Selby Baidjnath Date: Tue, 10 Jan 2023 10:56:10 -0300 Subject: [PATCH 29/58] add dead code ignore for nft linter code --- lib/presentation/home/wallet_balance_page.dart | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/presentation/home/wallet_balance_page.dart b/lib/presentation/home/wallet_balance_page.dart index 728b8fe1..38fc6bc9 100644 --- a/lib/presentation/home/wallet_balance_page.dart +++ b/lib/presentation/home/wallet_balance_page.dart @@ -318,6 +318,7 @@ class _WalletBalancePageState extends State { ), missingAsstDetailsCondition: isMissingAssetDetails, assetQuantityDetails: Text( + // ignore: dead_code isNft ? '${asset.quantity.toString()}' : '${asset.quantity.toString()} $assetUnit', overflow: TextOverflow.ellipsis, style: RibnToolkitTextStyles.assetShortNameStyle.copyWith( From 09b8d7346af542dd4e6ab405dcec9942a8a61b27 Mon Sep 17 00:00:00 2001 From: Kalervo Hyyppa Date: Tue, 10 Jan 2023 09:32:18 -0700 Subject: [PATCH 30/58] Removed ephemeral folder from git; --- .../plugins/flutter_secure_storage_macos | 1 - .../.symlinks/plugins/path_provider_macos | 1 - .../.symlinks/plugins/url_launcher_macos | 1 - .../ephemeral/Flutter-Generated.xcconfig | 13 ------------- macos/Flutter/ephemeral/FlutterMacOS.podspec | 18 ------------------ .../ephemeral/flutter_export_environment.sh | 14 -------------- 6 files changed, 48 deletions(-) delete mode 120000 macos/Flutter/ephemeral/.symlinks/plugins/flutter_secure_storage_macos delete mode 120000 macos/Flutter/ephemeral/.symlinks/plugins/path_provider_macos delete mode 120000 macos/Flutter/ephemeral/.symlinks/plugins/url_launcher_macos delete mode 100644 macos/Flutter/ephemeral/Flutter-Generated.xcconfig delete mode 100644 macos/Flutter/ephemeral/FlutterMacOS.podspec delete mode 100755 macos/Flutter/ephemeral/flutter_export_environment.sh diff --git a/macos/Flutter/ephemeral/.symlinks/plugins/flutter_secure_storage_macos b/macos/Flutter/ephemeral/.symlinks/plugins/flutter_secure_storage_macos deleted file mode 120000 index b19c50b7..00000000 --- a/macos/Flutter/ephemeral/.symlinks/plugins/flutter_secure_storage_macos +++ /dev/null @@ -1 +0,0 @@ -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/flutter_secure_storage_macos-1.1.2/ \ No newline at end of file diff --git a/macos/Flutter/ephemeral/.symlinks/plugins/path_provider_macos b/macos/Flutter/ephemeral/.symlinks/plugins/path_provider_macos deleted file mode 120000 index 30df716a..00000000 --- a/macos/Flutter/ephemeral/.symlinks/plugins/path_provider_macos +++ /dev/null @@ -1 +0,0 @@ -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-2.0.6/ \ No newline at end of file diff --git a/macos/Flutter/ephemeral/.symlinks/plugins/url_launcher_macos b/macos/Flutter/ephemeral/.symlinks/plugins/url_launcher_macos deleted file mode 120000 index c64d9c08..00000000 --- a/macos/Flutter/ephemeral/.symlinks/plugins/url_launcher_macos +++ /dev/null @@ -1 +0,0 @@ -/Users/kalervohyyppa/.pub-cache/hosted/pub.dartlang.org/url_launcher_macos-3.0.1/ \ No newline at end of file diff --git a/macos/Flutter/ephemeral/Flutter-Generated.xcconfig b/macos/Flutter/ephemeral/Flutter-Generated.xcconfig deleted file mode 100644 index 12c3c711..00000000 --- a/macos/Flutter/ephemeral/Flutter-Generated.xcconfig +++ /dev/null @@ -1,13 +0,0 @@ -// This is a generated file; do not edit or check into version control. -FLUTTER_ROOT=/Users/kalervohyyppa/FlutterDev/flutter -FLUTTER_APPLICATION_PATH=/Users/kalervohyyppa/Documents/programming/topl/ribn -COCOAPODS_PARALLEL_CODE_SIGN=true -FLUTTER_TARGET=/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/main.dart -FLUTTER_BUILD_DIR=build -FLUTTER_BUILD_NAME=0.3.2 -FLUTTER_BUILD_NUMBER=0.3.2 -DART_DEFINES=RkxVVFRFUl9XRUJfQVVUT19ERVRFQ1Q9dHJ1ZQ== -DART_OBFUSCATION=false -TRACK_WIDGET_CREATION=true -TREE_SHAKE_ICONS=false -PACKAGE_CONFIG=/Users/kalervohyyppa/Documents/programming/topl/ribn/.dart_tool/package_config.json diff --git a/macos/Flutter/ephemeral/FlutterMacOS.podspec b/macos/Flutter/ephemeral/FlutterMacOS.podspec deleted file mode 100644 index 0bac3e84..00000000 --- a/macos/Flutter/ephemeral/FlutterMacOS.podspec +++ /dev/null @@ -1,18 +0,0 @@ -# -# NOTE: This podspec is NOT to be published. It is only used as a local source! -# This is a generated file; do not edit or check into version control. -# - -Pod::Spec.new do |s| - s.name = 'FlutterMacOS' - s.version = '1.0.0' - s.summary = 'A UI toolkit for beautiful and fast apps.' - s.homepage = 'https://flutter.dev' - s.license = { :type => 'BSD' } - s.author = { 'Flutter Dev Team' => 'flutter-dev@googlegroups.com' } - s.source = { :git => 'https://github.com/flutter/engine', :tag => s.version.to_s } - s.osx.deployment_target = '10.11' - # Framework linking is handled by Flutter tooling, not CocoaPods. - # Add a placeholder to satisfy `s.dependency 'FlutterMacOS'` plugin podspecs. - s.vendored_frameworks = 'path/to/nothing' -end diff --git a/macos/Flutter/ephemeral/flutter_export_environment.sh b/macos/Flutter/ephemeral/flutter_export_environment.sh deleted file mode 100755 index 0d344e94..00000000 --- a/macos/Flutter/ephemeral/flutter_export_environment.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -# This is a generated file; do not edit or check into version control. -export "FLUTTER_ROOT=/Users/kalervohyyppa/FlutterDev/flutter" -export "FLUTTER_APPLICATION_PATH=/Users/kalervohyyppa/Documents/programming/topl/ribn" -export "COCOAPODS_PARALLEL_CODE_SIGN=true" -export "FLUTTER_TARGET=/Users/kalervohyyppa/Documents/programming/topl/ribn/lib/main.dart" -export "FLUTTER_BUILD_DIR=build" -export "FLUTTER_BUILD_NAME=0.3.2" -export "FLUTTER_BUILD_NUMBER=0.3.2" -export "DART_DEFINES=RkxVVFRFUl9XRUJfQVVUT19ERVRFQ1Q9dHJ1ZQ==" -export "DART_OBFUSCATION=false" -export "TRACK_WIDGET_CREATION=true" -export "TREE_SHAKE_ICONS=false" -export "PACKAGE_CONFIG=/Users/kalervohyyppa/Documents/programming/topl/ribn/.dart_tool/package_config.json" From 7ac7de947b300c20dda118e8e2e1a8cdda462506 Mon Sep 17 00:00:00 2001 From: Selby Baidjnath Date: Wed, 11 Jan 2023 00:48:21 -0300 Subject: [PATCH 31/58] added scrollcontrollers for scrollbars to get around orphan issue --- .../asset_unit_edit_section.dart | 7 +++++-- .../disconnect_wallet_confirmation_dialog.dart | 5 +++++ .../transaction_history_details_page.dart | 6 +++--- macos/Flutter/GeneratedPluginRegistrant.swift | 16 ---------------- 4 files changed, 13 insertions(+), 21 deletions(-) delete mode 100644 macos/Flutter/GeneratedPluginRegistrant.swift diff --git a/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_unit_edit_section.dart b/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_unit_edit_section.dart index 5b6d8722..03c58d7f 100644 --- a/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_unit_edit_section.dart +++ b/lib/presentation/asset_details/asset_detail_edit_sections.dart/asset_unit_edit_section.dart @@ -42,6 +42,7 @@ class AssetUnitEditSection extends StatefulWidget { class _AssetUnitEditSectionState extends State { /// True if the dropdown is active. bool dropdownOpened = false; + ScrollController controller = new ScrollController(); /// Assigned the new unit when selected from the dropdown. String? selectedUnit; @@ -66,7 +67,7 @@ class _AssetUnitEditSectionState extends State { crossAxisAlignment: CrossAxisAlignment.start, children: [ CustomDropDown( - dropdownChild: _buildUnitDropdownChild(), + dropdownChild: _buildUnitDropdownChild(controller), childAlignment: Alignment.bottomCenter, dropDownAlignment: Alignment.topCenter, visible: dropdownOpened, @@ -135,7 +136,7 @@ class _AssetUnitEditSectionState extends State { /// Builds the Unit dropdown widget. /// /// Allows user to select from a list of custom units, i.e. [UIConstants.assetUnitsList]. - Widget _buildUnitDropdownChild() { + Widget _buildUnitDropdownChild(ScrollController _scrollController) { return Container( width: 120, height: 135, @@ -148,8 +149,10 @@ class _AssetUnitEditSectionState extends State { context: context, removeTop: true, child: Scrollbar( + controller: _scrollController, thumbVisibility: true, child: ListView( + controller: _scrollController, padding: const EdgeInsets.all(0), children: UIConstants.assetUnitsList .map( diff --git a/lib/presentation/settings/sections/disconnect_wallet_confirmation_dialog.dart b/lib/presentation/settings/sections/disconnect_wallet_confirmation_dialog.dart index 311304c7..43681774 100644 --- a/lib/presentation/settings/sections/disconnect_wallet_confirmation_dialog.dart +++ b/lib/presentation/settings/sections/disconnect_wallet_confirmation_dialog.dart @@ -25,6 +25,9 @@ class DisconnectWalletConfirmationDialog extends StatefulWidget { class _DisconnectWalletConfirmationDialogState extends State { + + ScrollController _scrollController = ScrollController(); + @override Widget build(BuildContext context) { return CustomModal.renderCustomModal( @@ -56,12 +59,14 @@ class _DisconnectWalletConfirmationDialogState mainAxisMargin: 0, crossAxisMargin: 0, thumbVisibility: true, + controller: _scrollController, thumbColor: RibnColors.primary, thickness: 10, child: ScrollConfiguration( behavior: ScrollConfiguration.of(context).copyWith(scrollbars: false), child: ListView.builder( + controller: _scrollController, shrinkWrap: true, primary: false, itemCount: widget.dApps.length, diff --git a/lib/presentation/transaction_history/transaction_history_details_page/transaction_history_details_page.dart b/lib/presentation/transaction_history/transaction_history_details_page/transaction_history_details_page.dart index fd3982be..18defb45 100644 --- a/lib/presentation/transaction_history/transaction_history_details_page/transaction_history_details_page.dart +++ b/lib/presentation/transaction_history/transaction_history_details_page/transaction_history_details_page.dart @@ -23,15 +23,15 @@ class TxHistoryDetailsPage extends StatefulWidget { class _TxHistoryPageDetailsState extends State { @override Widget build(BuildContext context) { - final scrollController = ScrollController(); + final _scrollController = ScrollController(); return Scaffold( backgroundColor: RibnColors.background, body: Scrollbar( thumbVisibility: true, - controller: scrollController, + controller: _scrollController, child: SingleChildScrollView( - controller: scrollController, + controller: _scrollController, child: RibnActivityDetails( activityDetails: widget.ribnActivityDetailsModel, dataTileTextStyle: const TextStyle( diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift deleted file mode 100644 index 91901fb2..00000000 --- a/macos/Flutter/GeneratedPluginRegistrant.swift +++ /dev/null @@ -1,16 +0,0 @@ -// -// Generated file. Do not edit. -// - -import FlutterMacOS -import Foundation - -import flutter_secure_storage_macos -import path_provider_macos -import url_launcher_macos - -func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { - FlutterSecureStoragePlugin.register(with: registry.registrar(forPlugin: "FlutterSecureStoragePlugin")) - PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) - UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin")) -} From 03cbac990ee4913625ce3d5c18e739ebe5db9209 Mon Sep 17 00:00:00 2001 From: Selby Baidjnath Date: Wed, 11 Jan 2023 01:32:26 -0300 Subject: [PATCH 32/58] Fixed android manfest being invalid --- android/app/src/debug/AndroidManifest.xml | 3 ++- android/app/src/main/AndroidManifest.xml | 3 ++- android/app/src/profile/AndroidManifest.xml | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/android/app/src/debug/AndroidManifest.xml b/android/app/src/debug/AndroidManifest.xml index 8f6368bd..7053c78c 100644 --- a/android/app/src/debug/AndroidManifest.xml +++ b/android/app/src/debug/AndroidManifest.xml @@ -1,4 +1,5 @@ - + diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index a34a4da4..c6466650 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -1,4 +1,5 @@ - + + From cc0abe9c3f0fdf05d4b71d722e8a7171a40ba62e Mon Sep 17 00:00:00 2001 From: Selby Baidjnath Date: Wed, 11 Jan 2023 02:19:20 -0300 Subject: [PATCH 33/58] From changes --- .../transfers/widgets/from_address_field.dart | 36 +++++++++++++------ 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/lib/presentation/transfers/widgets/from_address_field.dart b/lib/presentation/transfers/widgets/from_address_field.dart index 963f3ee5..c0965284 100644 --- a/lib/presentation/transfers/widgets/from_address_field.dart +++ b/lib/presentation/transfers/widgets/from_address_field.dart @@ -1,13 +1,14 @@ // Flutter imports: import 'package:flutter/material.dart'; - -// Package imports: -import 'package:ribn_toolkit/constants/assets.dart'; - +import 'package:flutter_redux/flutter_redux.dart'; // Project imports: import 'package:ribn/constants/strings.dart'; +import 'package:ribn/models/app_state.dart'; +import 'package:ribn/models/ribn_address.dart'; import 'package:ribn/presentation/transfers/widgets/custom_input_field.dart'; import 'package:ribn/widgets/address_display_container.dart'; +// Package imports: +import 'package:ribn_toolkit/constants/assets.dart'; /// Custom display for the sender's address. /// @@ -17,13 +18,28 @@ class FromAddressField extends StatelessWidget { @override Widget build(BuildContext context) { - return const CustomInputField( - itemLabel: Strings.from, - item: AddressDisplayContainer( - text: Strings.yourRibnWalletAddress, - icon: RibnAssets.myFingerprint, - width: 240, + return StoreConnector( + converter: (store) => + store.state.keychainState.currentNetwork.addresses.first, + builder: (context, ribnAddress) => CustomInputField( + itemLabel: Strings.from, + item: AddressDisplayContainer( + // text: Strings.yourRibnWalletAddress, + text: toShortAddress(ribnAddress.toplAddress.toBase58()), + icon: RibnAssets.myFingerprint, + width: 160, + ), ), ); } + + String toShortAddress(String base) { + if (base.isEmpty) + throw FormatException("WalletAddress was returned as empty"); + + final start = base.substring(0, 4); + final end = base.substring(base.length - 5); + + return "$start...$end"; + } } From 3d9e26b7522b7365273c1e7c996f1cd5997fc754 Mon Sep 17 00:00:00 2001 From: Selby Baidjnath Date: Wed, 11 Jan 2023 02:35:42 -0300 Subject: [PATCH 34/58] Temporarily disabled Keyboardvisibility due to setstate error --- lib/presentation/transfers/asset_transfer_page.dart | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/presentation/transfers/asset_transfer_page.dart b/lib/presentation/transfers/asset_transfer_page.dart index fa76c726..be8fa110 100644 --- a/lib/presentation/transfers/asset_transfer_page.dart +++ b/lib/presentation/transfers/asset_transfer_page.dart @@ -32,11 +32,11 @@ class _AssetTransferPageState extends State { @override void initState() { - KeyboardVisibilityController().onChange.listen((bool visible) { - setState(() { - isKeyboardVisible = visible; - }); - }); + // KeyboardVisibilityController().onChange.listen((bool visible) { + // setState(() { + // isKeyboardVisible = visible; + // }); + // }); super.initState(); } From b7af8305ba8d404be7f7863be04494e60b42b99a Mon Sep 17 00:00:00 2001 From: Selby Baidjnath Date: Wed, 11 Jan 2023 02:36:02 -0300 Subject: [PATCH 35/58] Fee changes with Mock Poly2Usd --- lib/widgets/fee_info.dart | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/lib/widgets/fee_info.dart b/lib/widgets/fee_info.dart index 8797d547..3797176b 100644 --- a/lib/widgets/fee_info.dart +++ b/lib/widgets/fee_info.dart @@ -25,16 +25,32 @@ class FeeInfo extends StatelessWidget { const SizedBox( height: 5, ), - Text( - '$fee POLY', - style: const TextStyle( - fontFamily: 'DM Sans', - fontSize: 11, - color: RibnColors.primary, - fontWeight: FontWeight.w600, + Row(children: [ + Text( + '$fee POLY', + style: const TextStyle( + fontFamily: 'DM Sans', + fontSize: 11, + color: RibnColors.primary, + fontWeight: FontWeight.w600, + ), ), - ), + Spacer(), + Text('${convertPolyToUsd(fee)} USD', + style: const TextStyle( + fontFamily: 'DM Sans', + fontSize: 11, + color: RibnColors.greyText, + fontWeight: FontWeight.w600, + ), + ), + ],) ], ); } + + // Mock function + String convertPolyToUsd(num poly){ + return (poly * 0.15).toStringAsFixed(2); + } } From 9888f4d0bc45f1fc7a85dee03a19871b0535add9 Mon Sep 17 00:00:00 2001 From: Selby Baidjnath Date: Wed, 11 Jan 2023 02:38:07 -0300 Subject: [PATCH 36/58] removed package import for keyboardVisibility --- lib/presentation/transfers/asset_transfer_page.dart | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/presentation/transfers/asset_transfer_page.dart b/lib/presentation/transfers/asset_transfer_page.dart index be8fa110..5d143f2a 100644 --- a/lib/presentation/transfers/asset_transfer_page.dart +++ b/lib/presentation/transfers/asset_transfer_page.dart @@ -2,7 +2,6 @@ import 'package:flutter/material.dart'; // Package imports: -import 'package:flutter_keyboard_visibility/flutter_keyboard_visibility.dart'; import 'package:loader_overlay/loader_overlay.dart'; import 'package:ribn_toolkit/constants/colors.dart'; import 'package:ribn_toolkit/constants/styles.dart'; From 5757ae21b567ee01922adcfb0d2846b9bb6eae30 Mon Sep 17 00:00:00 2001 From: Selby Baidjnath Date: Wed, 11 Jan 2023 02:45:30 -0300 Subject: [PATCH 37/58] remove poly2usd presentation code --- lib/widgets/fee_info.dart | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/lib/widgets/fee_info.dart b/lib/widgets/fee_info.dart index 3797176b..9a418039 100644 --- a/lib/widgets/fee_info.dart +++ b/lib/widgets/fee_info.dart @@ -35,22 +35,22 @@ class FeeInfo extends StatelessWidget { fontWeight: FontWeight.w600, ), ), - Spacer(), - Text('${convertPolyToUsd(fee)} USD', - style: const TextStyle( - fontFamily: 'DM Sans', - fontSize: 11, - color: RibnColors.greyText, - fontWeight: FontWeight.w600, - ), - ), + // Spacer(), + // Text('${convertPolyToUsd(fee)} USD', + // style: const TextStyle( + // fontFamily: 'DM Sans', + // fontSize: 11, + // color: RibnColors.greyText, + // fontWeight: FontWeight.w600, + // ), + // ), ],) ], ); } // Mock function - String convertPolyToUsd(num poly){ - return (poly * 0.15).toStringAsFixed(2); - } + // String convertPolyToUsd(num poly){ + // return (poly * 0.15).toStringAsFixed(2); + // } } From 39863a6ccc44c23f98c0f822e6f1f21da4d17790 Mon Sep 17 00:00:00 2001 From: Selby Baidjnath Date: Wed, 11 Jan 2023 02:49:11 -0300 Subject: [PATCH 38/58] Fixed RenderOverflow in reviewpage --- lib/presentation/transfers/tx_review_page.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/presentation/transfers/tx_review_page.dart b/lib/presentation/transfers/tx_review_page.dart index e8f4bd08..907a59e0 100644 --- a/lib/presentation/transfers/tx_review_page.dart +++ b/lib/presentation/transfers/tx_review_page.dart @@ -69,7 +69,7 @@ class TxReviewPage extends StatelessWidget { // review box Container( width: 310, - height: 300, + height: 340, padding: const EdgeInsets.symmetric( horizontal: 19.5, vertical: 15, From c8dae91661810c1279dd3734bd7595c2274af9d5 Mon Sep 17 00:00:00 2001 From: Kalervo Hyyppa Date: Wed, 11 Jan 2023 10:42:36 -0700 Subject: [PATCH 39/58] Merge with rc-0.5 --- pubspec.lock | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index c85ac5a8..69ce7f40 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -28,7 +28,7 @@ packages: name: app_settings url: "https://pub.dartlang.org" source: hosted - version: "4.1.8" + version: "4.2.0" archive: dependency: transitive description: @@ -90,7 +90,7 @@ packages: description: path: "." ref: TSDK-133 - resolved-ref: fa1dc12f568120b60d1b2875c299a0efd9458925 + resolved-ref: "9c3edfba1edc8f6ecaf03f34ec71f44e17141b04" url: "https://github.com/Topl/BramblDart" source: git version: "0.0.1" @@ -149,14 +149,14 @@ packages: name: built_value url: "https://pub.dartlang.org" source: hosted - version: "8.4.2" + version: "8.4.3" built_value_generator: dependency: "direct dev" description: name: built_value_generator url: "https://pub.dartlang.org" source: hosted - version: "8.4.2" + version: "8.4.3" characters: dependency: transitive description: @@ -914,13 +914,6 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "3.0.1" - quiver: - dependency: transitive - description: - name: quiver - url: "https://pub.dartlang.org" - source: hosted - version: "3.2.1" redux: dependency: "direct main" description: @@ -1293,7 +1286,7 @@ packages: name: xdg_directories url: "https://pub.dartlang.org" source: hosted - version: "0.2.0+2" + version: "0.2.0+3" xml: dependency: transitive description: From 4f3e5fb012b9fb9f9914985d9dfa674c8a4fba98 Mon Sep 17 00:00:00 2001 From: Selby Baidjnath Date: Wed, 11 Jan 2023 18:57:07 -0300 Subject: [PATCH 40/58] update label --- lib/presentation/transfers/asset_transfer_section.dart | 2 +- lib/presentation/transfers/poly_transfer_section.dart | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/presentation/transfers/asset_transfer_section.dart b/lib/presentation/transfers/asset_transfer_section.dart index 4b10922a..fbfb343a 100644 --- a/lib/presentation/transfers/asset_transfer_section.dart +++ b/lib/presentation/transfers/asset_transfer_section.dart @@ -159,7 +159,7 @@ class _AssetTransferSectionState extends State { }; }, assets: widget.vm.assets, - label: Strings.youSend, + label: Strings.sending, onSelected: (AssetAmount? asset) { setState(() { _selectedAsset = asset!; diff --git a/lib/presentation/transfers/poly_transfer_section.dart b/lib/presentation/transfers/poly_transfer_section.dart index 9d4794c6..597ae405 100644 --- a/lib/presentation/transfers/poly_transfer_section.dart +++ b/lib/presentation/transfers/poly_transfer_section.dart @@ -186,7 +186,7 @@ class _PolyTransferSectionState extends State { /// Builds the UI for indicating poly transfer. Widget _buildPolyDisplay() { return CustomInputField( - itemLabel: Strings.youSend, + itemLabel: Strings.sending, item: Container( width: 310, height: 36, From 7fac61ef762f078191409cd72ed6a2c90b4421af Mon Sep 17 00:00:00 2001 From: Selby Baidjnath Date: Thu, 12 Jan 2023 01:39:20 -0300 Subject: [PATCH 41/58] orphaned scrollbar fix for changed file --- lib/presentation/authorize_and_sign/review_and_sign.dart | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/presentation/authorize_and_sign/review_and_sign.dart b/lib/presentation/authorize_and_sign/review_and_sign.dart index f6a2a084..72f6c55e 100644 --- a/lib/presentation/authorize_and_sign/review_and_sign.dart +++ b/lib/presentation/authorize_and_sign/review_and_sign.dart @@ -44,6 +44,8 @@ class _ReviewAndSignDAppState extends State { late final String walletAddress; late final RawTx transaction; bool isExpanded = false; + + ScrollController _scrollController = ScrollController(); final TextStyle defaultTextStyle = const TextStyle( fontFamily: 'DM Sans', @@ -178,12 +180,14 @@ class _ReviewAndSignDAppState extends State { mainAxisMargin: 10, crossAxisMargin: 8, thumbVisibility: true, + controller: _scrollController, thumbColor: RibnColors.primary, thickness: 10, child: ScrollConfiguration( behavior: ScrollConfiguration.of(context) .copyWith(scrollbars: false), child: ListView.builder( + controller: _scrollController, shrinkWrap: true, primary: false, padding: const EdgeInsets.all(10), From 86b8bb9446fc54ba27dea860f346e21c38d880d1 Mon Sep 17 00:00:00 2001 From: Selby Baidjnath Date: Thu, 12 Jan 2023 03:09:33 -0300 Subject: [PATCH 42/58] finished nft and nonfungible views --- lib/constants/strings.dart | 2 +- .../asset_amount_details.dart | 2 +- .../asset_code_short_details.dart | 34 ++- .../asset_icon_details.dart | 4 +- .../token_metadata_details.dart | 36 ++++ .../asset_details/asset_details_page.dart | 199 ++++++++---------- 6 files changed, 153 insertions(+), 124 deletions(-) create mode 100644 lib/presentation/asset_details/asset_detail_items/token_metadata_details.dart diff --git a/lib/constants/strings.dart b/lib/constants/strings.dart index daed319e..387558f8 100644 --- a/lib/constants/strings.dart +++ b/lib/constants/strings.dart @@ -246,7 +246,7 @@ Write down the each word in the exact order it is presented.'''; static const String assetCodeLongInfo = 'Asset code serves as a unique identifier\nfor user issued assets.'; static const String assetCodeShortInfo = - 'This is used to view the short name for your \nasset as this will be the information used to\nidentify a particular asset on the blockchain.'; + 'This is used to view the name for your \nasset as this will be the information used to\nidentify a particular asset on the blockchain.'; static const String issuerAddressInfo = 'This is the address of the party who originally\ncreated a certain asset. You can copy the\nissuer address and paste it into the Topl explorer\nfor more information.'; static const String assetDetails = 'Asset Details'; diff --git a/lib/presentation/asset_details/asset_detail_items/asset_amount_details.dart b/lib/presentation/asset_details/asset_detail_items/asset_amount_details.dart index 64c392e1..4654e675 100644 --- a/lib/presentation/asset_details/asset_detail_items/asset_amount_details.dart +++ b/lib/presentation/asset_details/asset_detail_items/asset_amount_details.dart @@ -22,7 +22,7 @@ class AssetAmountDetails extends StatelessWidget { children: [ Row( children: const [ - Text('Total Amount', style: RibnToolkitTextStyles.h4), + Text('Amount', style: RibnToolkitTextStyles.h4), ], ), const SizedBox(height: 3), diff --git a/lib/presentation/asset_details/asset_detail_items/asset_code_short_details.dart b/lib/presentation/asset_details/asset_detail_items/asset_code_short_details.dart index e0d99e69..93bf2b75 100644 --- a/lib/presentation/asset_details/asset_detail_items/asset_code_short_details.dart +++ b/lib/presentation/asset_details/asset_detail_items/asset_code_short_details.dart @@ -1,23 +1,23 @@ // Flutter imports: import 'package:flutter/material.dart'; - -// Package imports: -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/molecules/custom_tooltip.dart'; - // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/strings.dart'; +// Package imports: +import 'package:ribn_toolkit/constants/styles.dart'; +import 'package:ribn_toolkit/widgets/molecules/custom_tooltip.dart'; /// One of the asset details displayed on [AssetDetailsPage]. /// /// Displays the asset short name. class AssetCodeShortDetails extends StatelessWidget { final String assetShortName; + final String? currentIcon; - const AssetCodeShortDetails({ + AssetCodeShortDetails({ Key? key, required this.assetShortName, + required this.currentIcon, }) : super(key: key); @override @@ -27,7 +27,7 @@ class AssetCodeShortDetails extends StatelessWidget { children: [ Row( children: [ - const Text('Asset code · short', style: RibnToolkitTextStyles.h4), + const Text('Asset name', style: RibnToolkitTextStyles.h4), Padding( padding: const EdgeInsets.only(left: 4.0), child: CustomToolTip( @@ -46,7 +46,25 @@ class AssetCodeShortDetails extends StatelessWidget { ], ), const SizedBox(height: 3), - Text(assetShortName, style: RibnToolkitTextStyles.smallBody), + Row(children: [ + Padding( + padding: const EdgeInsets.only(top: 3, bottom: 5), + child: SizedBox( + width: 20, + height: 20, + child: currentIcon == null + ? Image.asset(RibnAssets.undefinedIcon) + : Image.asset( + currentIcon!, + width: 31, + ), + ), + ), + SizedBox(width: 5,), + Text(assetShortName, style: RibnToolkitTextStyles.smallBody), + ],), + // asset icon display - can be edited + ], ); } diff --git a/lib/presentation/asset_details/asset_detail_items/asset_icon_details.dart b/lib/presentation/asset_details/asset_detail_items/asset_icon_details.dart index 9264dffd..bf0268eb 100644 --- a/lib/presentation/asset_details/asset_detail_items/asset_icon_details.dart +++ b/lib/presentation/asset_details/asset_detail_items/asset_icon_details.dart @@ -36,8 +36,8 @@ class AssetIconDetails extends StatelessWidget { height: 30, child: Row( children: [ - const Text('Icon', style: RibnToolkitTextStyles.h4), - const Spacer(), + // const Text('Icon', style: RibnToolkitTextStyles.h4), + // const Spacer(), editingSectionOpened ? const SizedBox() : HoverIconButton( diff --git a/lib/presentation/asset_details/asset_detail_items/token_metadata_details.dart b/lib/presentation/asset_details/asset_detail_items/token_metadata_details.dart new file mode 100644 index 00000000..f3708bf4 --- /dev/null +++ b/lib/presentation/asset_details/asset_detail_items/token_metadata_details.dart @@ -0,0 +1,36 @@ +// Flutter imports: +import 'package:flutter/material.dart'; + +// Package imports: +import 'package:ribn_toolkit/constants/styles.dart'; + +// Project imports: + +import 'package:ribn/utils.dart'; + +/// One of the asset details displayed on [AssetDetailsPage]. +/// +/// Displays the asset code, a tooltip with more description, and a copy button. +class TokenMetadataDetails extends StatelessWidget { + /// The asset code to be displayed. + final String tokenMetadata; + const TokenMetadataDetails({ + Key? key, + required this.tokenMetadata, + }) : super(key: key); + + @override + Widget build(BuildContext context) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Text('Token Metadata', style: RibnToolkitTextStyles.h4), + const SizedBox(height: 3), + Text( + tokenMetadata, + style: RibnToolkitTextStyles.smallBody, + ), + ], + ); + } +} diff --git a/lib/presentation/asset_details/asset_details_page.dart b/lib/presentation/asset_details/asset_details_page.dart index 3ab4ce6e..9db24ddc 100644 --- a/lib/presentation/asset_details/asset_details_page.dart +++ b/lib/presentation/asset_details/asset_details_page.dart @@ -1,30 +1,24 @@ // Flutter imports: -// Flutter imports: -import 'package:flutter/material.dart'; - // Package imports: import 'package:brambldart/brambldart.dart'; +// Flutter imports: +import 'package:flutter/material.dart'; import 'package:flutter_redux/flutter_redux.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/widgets/organisms/custom_page_text_title.dart'; - // Project imports: import 'package:ribn/constants/routes.dart'; import 'package:ribn/constants/strings.dart'; import 'package:ribn/models/app_state.dart'; import 'package:ribn/models/asset_details.dart'; -import 'package:ribn/presentation/asset_details/asset_detail_edit_sections.dart/asset_icon_edit_section.dart'; -import 'package:ribn/presentation/asset_details/asset_detail_edit_sections.dart/asset_long_name_edit_section.dart'; -import 'package:ribn/presentation/asset_details/asset_detail_edit_sections.dart/asset_unit_edit_section.dart'; import 'package:ribn/presentation/asset_details/asset_detail_items/asset_amount_details.dart'; import 'package:ribn/presentation/asset_details/asset_detail_items/asset_code_details.dart'; import 'package:ribn/presentation/asset_details/asset_detail_items/asset_code_short_details.dart'; -import 'package:ribn/presentation/asset_details/asset_detail_items/asset_icon_details.dart'; -import 'package:ribn/presentation/asset_details/asset_detail_items/asset_long_name_details.dart'; -import 'package:ribn/presentation/asset_details/asset_detail_items/asset_unit_details.dart'; -import 'package:ribn/presentation/asset_details/asset_detail_items/issuer_address_details.dart'; +import 'package:ribn/presentation/asset_details/asset_detail_items/token_metadata_details.dart'; import 'package:ribn/widgets/custom_divider.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/widgets/organisms/custom_page_text_title.dart'; + +import 'asset_detail_items/issuer_address_details.dart'; /// This page presents all details associated with an asset. /// @@ -38,7 +32,7 @@ class AssetDetailsPage extends StatefulWidget { final String assetCode; /// The asset short name of this [asset] (also refered to as asset code short). - final String assetShorName; + final String assetShortName; /// The quantity of this [asset] that the user has in their wallet. final num assetQuantity; @@ -50,7 +44,7 @@ class AssetDetailsPage extends StatefulWidget { Key? key, required this.asset, }) : assetCode = asset.assetCode.toString(), - assetShorName = asset.assetCode.shortName.show, + assetShortName = asset.assetCode.shortName.show, assetQuantity = asset.quantity, issuerAddress = asset.assetCode.issuer.toBase58(), super(key: key); @@ -111,6 +105,7 @@ class _AssetDetailsPageState extends State with RouteAware { converter: (store) => store.state.userDetailsState.assetDetails[widget.assetCode], builder: (context, assetDetails) { + print(assetDetails); return Listener( onPointerDown: (_) { if (mounted) setState(() {}); @@ -147,46 +142,21 @@ class _AssetDetailsPageState extends State with RouteAware { ], ), child: Column( + crossAxisAlignment: CrossAxisAlignment.start, children: [ - // asset short name display - AssetCodeShortDetails( - assetShortName: widget.assetShorName, - ), - _buildDivider(), - // asset amount/quantity display - AssetAmountDetails(assetQuantity: widget.assetQuantity), - _buildDivider(), - // asset unit display - can be edited - AssetUnitDetails( - key: assetUnitKey, - currUnit: assetDetails?.unit, - editingSectionOpened: editingAssetUnit, - onEditPressed: () => _onEditPressed( - key: assetUnitKey, - assetDetails: assetDetails, - ), - ), - _buildDivider(), - // asset long name display - can be edited - AssetLongNameDetails( - key: assetLongNameKey, - currLongName: assetDetails?.longName, - editingSectionOpened: editingAssetLongName, - onEditPressed: () => _onEditPressed( - key: assetLongNameKey, - assetDetails: assetDetails, - ), - ), - _buildDivider(), - // asset icon display - can be edited - AssetIconDetails( - key: assetIconKey, - currIcon: assetDetails?.icon, - editingSectionOpened: editingAssetIcon, - onEditPressed: () => _onEditPressed( - key: assetIconKey, - assetDetails: assetDetails, - ), + // asset name display + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + AssetCodeShortDetails( + assetShortName: widget.assetShortName, + currentIcon: assetDetails?.icon, + ), + Spacer(flex: 2), + AssetAmountDetails( + assetQuantity: widget.assetQuantity), + Spacer(flex: 1), + ], ), _buildDivider(), // asset issuer address display @@ -196,6 +166,11 @@ class _AssetDetailsPageState extends State with RouteAware { _buildDivider(), // asset code display AssetCodeDetails(assetCode: widget.assetCode), + _buildDivider(), + //TODO: Figure out how to pipe metadata in + TokenMetadataDetails( + tokenMetadata: "", + ), ], ), ), @@ -212,25 +187,25 @@ class _AssetDetailsPageState extends State with RouteAware { /// /// Uses the [key] provided to get the correct widget position and /// updates [editSectionOverlay] with the [editSection] provided. - void _buildEditSectionOverlay({ - required GlobalKey key, - required Widget editSection, - }) async { - final RenderBox renderbox = - key.currentContext!.findRenderObject() as RenderBox; - final Offset offset = renderbox.localToGlobal(Offset.zero); - resetOverlays(); - editSectionOverlay = OverlayEntry( - builder: (context) { - return Positioned( - left: offset.dx - 20, - top: offset.dy + 22, - child: editSection, - ); - }, - ); - Overlay.of(context)!.insert(editSectionOverlay); - } + // void _buildEditSectionOverlay({ + // required GlobalKey key, + // required Widget editSection, + // }) async { + // final RenderBox renderbox = + // key.currentContext!.findRenderObject() as RenderBox; + // final Offset offset = renderbox.localToGlobal(Offset.zero); + // resetOverlays(); + // editSectionOverlay = OverlayEntry( + // builder: (context) { + // return Positioned( + // left: offset.dx - 20, + // top: offset.dy + 22, + // child: editSection, + // ); + // }, + // ); + // Overlay.of(context)!.insert(editSectionOverlay); + // } /// Removes any overlay from the screen and resets /// indicators for editing. @@ -249,49 +224,49 @@ class _AssetDetailsPageState extends State with RouteAware { /// /// Depending on the [key] passed, the state is updated and /// [_buildEditSectionOverlay] is called with the appropriate [editSection] widget. - void _onEditPressed({required Key key, required AssetDetails? assetDetails}) { - if (key == assetUnitKey) { - setState(() { - editingAssetUnit = true; - }); - _buildEditSectionOverlay( - key: assetUnitKey, - editSection: AssetUnitEditSection( - assetCode: widget.assetCode, - currentUnit: assetDetails?.unit, - onActionTaken: () => resetOverlays(resetAll: true), - ), - ); - } else if (key == assetLongNameKey) { - setState(() { - editingAssetLongName = true; - }); - _buildEditSectionOverlay( - key: assetLongNameKey, - editSection: AssetLongNameEditSection( - assetCode: widget.assetCode, - currentAssetLongName: assetDetails?.longName, - onActionTaken: () => resetOverlays(resetAll: true), - ), - ); - } else { - setState(() { - editingAssetIcon = true; - }); - _buildEditSectionOverlay( - key: assetIconKey, - editSection: AssetIconEditSection( - assetCode: widget.assetCode, - onActionTaken: () => resetOverlays(resetAll: true), - ), - ); - } - } + // void _onEditPressed({required Key key, required AssetDetails? assetDetails}) { + // if (key == assetUnitKey) { + // setState(() { + // editingAssetUnit = true; + // }); + // _buildEditSectionOverlay( + // key: assetUnitKey, + // editSection: AssetUnitEditSection( + // assetCode: widget.assetCode, + // currentUnit: assetDetails?.unit, + // onActionTaken: () => resetOverlays(resetAll: true), + // ), + // ); + // } else if (key == assetLongNameKey) { + // setState(() { + // editingAssetLongName = true; + // }); + // _buildEditSectionOverlay( + // key: assetLongNameKey, + // editSection: AssetLongNameEditSection( + // assetCode: widget.assetCode, + // currentAssetLongName: assetDetails?.longName, + // onActionTaken: () => resetOverlays(resetAll: true), + // ), + // ); + // } else { + // setState(() { + // editingAssetIcon = true; + // }); + // _buildEditSectionOverlay( + // key: assetIconKey, + // editSection: AssetIconEditSection( + // assetCode: widget.assetCode, + // onActionTaken: () => resetOverlays(resetAll: true), + // ), + // ); + // } + // } /// Builds a divider that is used to separate asset detail items on screen. Widget _buildDivider() { return const Padding( - padding: EdgeInsets.symmetric(vertical: 5), + padding: EdgeInsets.fromLTRB(0, 15, 0, 10), child: CustomDivider(), ); } From fc127614b6e5794d7845d8b15a88e12af25c05f2 Mon Sep 17 00:00:00 2001 From: Selby Baidjnath Date: Thu, 12 Jan 2023 03:14:49 -0300 Subject: [PATCH 43/58] no message --- .../asset_detail_items/token_metadata_details.dart | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/lib/presentation/asset_details/asset_detail_items/token_metadata_details.dart b/lib/presentation/asset_details/asset_detail_items/token_metadata_details.dart index f3708bf4..6909c18e 100644 --- a/lib/presentation/asset_details/asset_detail_items/token_metadata_details.dart +++ b/lib/presentation/asset_details/asset_detail_items/token_metadata_details.dart @@ -1,19 +1,15 @@ // Flutter imports: import 'package:flutter/material.dart'; - // Package imports: import 'package:ribn_toolkit/constants/styles.dart'; -// Project imports: - -import 'package:ribn/utils.dart'; - /// One of the asset details displayed on [AssetDetailsPage]. /// /// Displays the asset code, a tooltip with more description, and a copy button. class TokenMetadataDetails extends StatelessWidget { /// The asset code to be displayed. final String tokenMetadata; + const TokenMetadataDetails({ Key? key, required this.tokenMetadata, From a48523e68665429a6c27d147754a141d657ea5f2 Mon Sep 17 00:00:00 2001 From: Selby Baidjnath Date: Thu, 12 Jan 2023 03:17:10 -0300 Subject: [PATCH 44/58] Updated gitignore --- .gitignore | 110 ++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 93 insertions(+), 17 deletions(-) diff --git a/.gitignore b/.gitignore index 51462151..ca006e6c 100644 --- a/.gitignore +++ b/.gitignore @@ -3,12 +3,15 @@ dist/ mock/ # Ignore secrets -*.jks key.properties service_account_key.json android_keys.zip *.p8 + +# Obfuscation related +app.*.map.json + # Miscellaneous *.class *.log @@ -20,38 +23,111 @@ android_keys.zip .history .svn/ + +# Android Studio will place build artifacts here +/android/app/debug +/android/app/profile +/android/app/release + # IntelliJ related *.iml *.ipr *.iws .idea/ -# The .vscode folder contains launch configuration and tasks you configure in -# VS Code which you may wish to be included in version control, so this line -# is commented out by default. -#.vscode/ +# Visual Studio Code related +.classpath +.project +.settings/ +.vscode/ + +# packages file containing multi-root paths +.packages.generated # Flutter/Dart/Pub related **/doc/api/ -**/ios/Flutter/.last_build_id -**/macos/Flutter/ephemeral/ .dart_tool/ .flutter-plugins .flutter-plugins-dependencies +**/generated_plugin_registrant.dart .packages .pub-cache/ .pub/ -/build/ +build/ +flutter_*.png +linked_*.ds +unlinked.ds +unlinked_spec.ds -# Web related +# Android related +**/android/**/gradle-wrapper.jar +.gradle/ +**/android/captures/ +**/android/gradlew +**/android/gradlew.bat +**/android/local.properties +**/android/**/GeneratedPluginRegistrant.java +**/android/key.properties +*.jks -# Symbolication related -app.*.symbols -# Obfuscation related -app.*.map.json +# iOS/XCode related +**/ios/**/*.mode1v3 +**/ios/**/*.mode2v3 +**/ios/**/*.moved-aside +**/ios/**/*.pbxuser +**/ios/**/*.perspectivev3 +**/ios/**/*sync/ +**/ios/**/.sconsign.dblite +**/ios/**/.tags* +**/ios/**/.vagrant/ +**/ios/**/DerivedData/ +**/ios/**/Icon? +**/ios/**/Pods/ +**/ios/**/.symlinks/ +**/ios/**/profile +**/ios/**/xcuserdata +**/ios/.generated/ +**/ios/Flutter/.last_build_id +**/ios/Flutter/App.framework +**/ios/Flutter/Flutter.framework +**/ios/Flutter/Flutter.podspec +**/ios/Flutter/Generated.xcconfig +**/ios/Flutter/ephemeral +**/ios/Flutter/app.flx +**/ios/Flutter/app.zip +**/ios/Flutter/flutter_assets/ +**/ios/Flutter/flutter_export_environment.sh +**/ios/ServiceDefinitions.json +**/ios/Runner/GeneratedPluginRegistrant.* -# Android Studio will place build artifacts here -/android/app/debug -/android/app/profile -/android/app/release + +# macOS +**/Flutter/ephemeral/ +**/Pods/ +**/macos/Flutter/GeneratedPluginRegistrant.swift +**/macos/Flutter/ephemeral +**/xcuserdata/ + +# Windows +**/windows/flutter/generated_plugin_registrant.cc +**/windows/flutter/generated_plugin_registrant.h + +# Linux +**/linux/flutter/generated_plugin_registrant.cc +**/linux/flutter/generated_plugin_registrant.h + + +# Coverage +coverage/ + +# Symbols +app.*.symbols + +# Exceptions to above rules. +!**/ios/**/default.mode1v3 +!**/ios/**/default.mode2v3 +!**/ios/**/default.pbxuser +!**/ios/**/default.perspectivev3 +!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages +!/dev/ci/**/Gemfile.lock \ No newline at end of file From 0a4b426094c8d68ed0b4058de89398c92bbc0a4a Mon Sep 17 00:00:00 2001 From: Selby Baidjnath Date: Thu, 12 Jan 2023 05:20:02 -0300 Subject: [PATCH 45/58] fungible logic --- lib/presentation/home/wallet_balance_page.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/presentation/home/wallet_balance_page.dart b/lib/presentation/home/wallet_balance_page.dart index 38fc6bc9..8710679c 100644 --- a/lib/presentation/home/wallet_balance_page.dart +++ b/lib/presentation/home/wallet_balance_page.dart @@ -319,10 +319,10 @@ class _WalletBalancePageState extends State { missingAsstDetailsCondition: isMissingAssetDetails, assetQuantityDetails: Text( // ignore: dead_code - isNft ? '${asset.quantity.toString()}' : '${asset.quantity.toString()} $assetUnit', + isNft ? '${asset.quantity.toString()}' : '${asset.quantity.toString()}', overflow: TextOverflow.ellipsis, style: RibnToolkitTextStyles.assetShortNameStyle.copyWith( - color: RibnColors.primary, + color: RibnColors.greyText, ), ), ); From 080d7f81057285939d4172c3b7e7c644362bcfda Mon Sep 17 00:00:00 2001 From: Selby Baidjnath Date: Thu, 12 Jan 2023 12:53:21 -0300 Subject: [PATCH 46/58] removed unused asset detail widget --- .../asset_icon_details.dart | 71 ------------------- 1 file changed, 71 deletions(-) delete mode 100644 lib/presentation/asset_details/asset_detail_items/asset_icon_details.dart diff --git a/lib/presentation/asset_details/asset_detail_items/asset_icon_details.dart b/lib/presentation/asset_details/asset_detail_items/asset_icon_details.dart deleted file mode 100644 index bf0268eb..00000000 --- a/lib/presentation/asset_details/asset_detail_items/asset_icon_details.dart +++ /dev/null @@ -1,71 +0,0 @@ -// Flutter imports: -import 'package:flutter/material.dart'; - -// Package imports: -import 'package:ribn_toolkit/constants/assets.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/styles.dart'; -import 'package:ribn_toolkit/widgets/atoms/hover_icon_button.dart'; - -/// One of the asset details displayed on [AssetDetailsPage]. -/// -/// Displays the icon that's assigned to the asset. -class AssetIconDetails extends StatelessWidget { - /// The current icon assigned to the asset. - final String? currIcon; - - /// True if this is currently being edited. - final bool editingSectionOpened; - - /// Callback for when edit button is pressed. - final VoidCallback onEditPressed; - - const AssetIconDetails({ - Key? key, - required this.currIcon, - required this.editingSectionOpened, - required this.onEditPressed, - }) : super(key: key); - - @override - Widget build(BuildContext context) { - return Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - SizedBox( - height: 30, - child: Row( - children: [ - // const Text('Icon', style: RibnToolkitTextStyles.h4), - // const Spacer(), - editingSectionOpened - ? const SizedBox() - : HoverIconButton( - buttonText: Text( - 'Edit', - style: RibnToolkitTextStyles.dropdownButtonStyle - .copyWith(color: RibnColors.primary), - ), - buttonIcon: Image.asset(RibnAssets.editIcon), - onPressed: onEditPressed, - ), - ], - ), - ), - Padding( - padding: const EdgeInsets.only(top: 3, bottom: 5), - child: SizedBox( - width: 20, - height: 20, - child: currIcon == null - ? Image.asset(RibnAssets.undefinedIcon) - : Image.asset( - currIcon!, - width: 31, - ), - ), - ), - ], - ); - } -} From bd832f65ca78af9e4140719cf9cefa7dbcaa45f1 Mon Sep 17 00:00:00 2001 From: Selby Baidjnath Date: Thu, 12 Jan 2023 13:25:03 -0300 Subject: [PATCH 47/58] fixed spacing --- .../asset_amount_details.dart | 13 ++++++++--- .../asset_code_short_details.dart | 23 ++++++++----------- .../asset_details/asset_details_page.dart | 22 ++++++++++++------ 3 files changed, 35 insertions(+), 23 deletions(-) diff --git a/lib/presentation/asset_details/asset_detail_items/asset_amount_details.dart b/lib/presentation/asset_details/asset_detail_items/asset_amount_details.dart index 4654e675..0250ead7 100644 --- a/lib/presentation/asset_details/asset_detail_items/asset_amount_details.dart +++ b/lib/presentation/asset_details/asset_detail_items/asset_amount_details.dart @@ -1,6 +1,5 @@ // Flutter imports: import 'package:flutter/material.dart'; - // Package imports: import 'package:ribn_toolkit/constants/styles.dart'; @@ -10,6 +9,7 @@ import 'package:ribn_toolkit/constants/styles.dart'; class AssetAmountDetails extends StatelessWidget { /// The total quantity of the asset. final num assetQuantity; + const AssetAmountDetails({ Key? key, required this.assetQuantity, @@ -22,11 +22,18 @@ class AssetAmountDetails extends StatelessWidget { children: [ Row( children: const [ - Text('Amount', style: RibnToolkitTextStyles.h4), + SizedBox( height: 20, + child: Text('Amount', style: RibnToolkitTextStyles.h4)), ], ), const SizedBox(height: 3), - Text(assetQuantity.toString(), style: RibnToolkitTextStyles.smallBody), + SizedBox( + width: 20, + height: 20, + child: Center( + child: Text(assetQuantity.toString(), + style: RibnToolkitTextStyles.smallBody), + )), ], ); } diff --git a/lib/presentation/asset_details/asset_detail_items/asset_code_short_details.dart b/lib/presentation/asset_details/asset_detail_items/asset_code_short_details.dart index 93bf2b75..9f8bfc46 100644 --- a/lib/presentation/asset_details/asset_detail_items/asset_code_short_details.dart +++ b/lib/presentation/asset_details/asset_detail_items/asset_code_short_details.dart @@ -35,7 +35,7 @@ class AssetCodeShortDetails extends StatelessWidget { borderColor: Border.all(color: const Color(0xffE9E9E9)), toolTipIcon: Image.asset( RibnAssets.greyHelpBubble, - width: 18, + width: 20, ), toolTipChild: const Text( Strings.assetCodeShortInfo, @@ -47,18 +47,15 @@ class AssetCodeShortDetails extends StatelessWidget { ), const SizedBox(height: 3), Row(children: [ - Padding( - padding: const EdgeInsets.only(top: 3, bottom: 5), - child: SizedBox( - width: 20, - height: 20, - child: currentIcon == null - ? Image.asset(RibnAssets.undefinedIcon) - : Image.asset( - currentIcon!, - width: 31, - ), - ), + SizedBox( + width: 20, + height: 20, + child: currentIcon == null + ? Image.asset(RibnAssets.undefinedIcon) + : Image.asset( + currentIcon!, + width: 31, + ), ), SizedBox(width: 5,), Text(assetShortName, style: RibnToolkitTextStyles.smallBody), diff --git a/lib/presentation/asset_details/asset_details_page.dart b/lib/presentation/asset_details/asset_details_page.dart index 9db24ddc..588cd224 100644 --- a/lib/presentation/asset_details/asset_details_page.dart +++ b/lib/presentation/asset_details/asset_details_page.dart @@ -147,15 +147,23 @@ class _AssetDetailsPageState extends State with RouteAware { // asset name display Row( crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ - AssetCodeShortDetails( - assetShortName: widget.assetShortName, - currentIcon: assetDetails?.icon, + Expanded( + flex: 1, + child: AssetCodeShortDetails( + assetShortName: widget.assetShortName, + currentIcon: assetDetails?.icon, + ), + ), + SizedBox( + width: 20, + ), + Expanded( + flex: 1, + child: AssetAmountDetails( + assetQuantity: widget.assetQuantity), ), - Spacer(flex: 2), - AssetAmountDetails( - assetQuantity: widget.assetQuantity), - Spacer(flex: 1), ], ), _buildDivider(), From e03e79d9915d0d66e1b35f55b4502126b5e26648 Mon Sep 17 00:00:00 2001 From: Kalervo Hyyppa Date: Thu, 12 Jan 2023 10:04:04 -0700 Subject: [PATCH 48/58] Updates to layout --- .../asset_amount_details.dart | 22 +--- .../asset_code_short_details.dart | 67 +++++----- .../asset_detail_items/asset_column.dart | 32 +++++ .../asset_details/asset_details_page.dart | 120 +++++++++--------- 4 files changed, 127 insertions(+), 114 deletions(-) create mode 100644 lib/presentation/asset_details/asset_detail_items/asset_column.dart diff --git a/lib/presentation/asset_details/asset_detail_items/asset_amount_details.dart b/lib/presentation/asset_details/asset_detail_items/asset_amount_details.dart index 0250ead7..a9af6ac5 100644 --- a/lib/presentation/asset_details/asset_detail_items/asset_amount_details.dart +++ b/lib/presentation/asset_details/asset_detail_items/asset_amount_details.dart @@ -1,5 +1,6 @@ // Flutter imports: import 'package:flutter/material.dart'; +import 'package:ribn/presentation/asset_details/asset_detail_items/asset_column.dart'; // Package imports: import 'package:ribn_toolkit/constants/styles.dart'; @@ -17,24 +18,9 @@ class AssetAmountDetails extends StatelessWidget { @override Widget build(BuildContext context) { - return Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Row( - children: const [ - SizedBox( height: 20, - child: Text('Amount', style: RibnToolkitTextStyles.h4)), - ], - ), - const SizedBox(height: 3), - SizedBox( - width: 20, - height: 20, - child: Center( - child: Text(assetQuantity.toString(), - style: RibnToolkitTextStyles.smallBody), - )), - ], + return AssetColumn( + child1: Text('Amount', style: RibnToolkitTextStyles.h4), + child2: Text(assetQuantity.toString(), style: RibnToolkitTextStyles.smallBody), ); } } diff --git a/lib/presentation/asset_details/asset_detail_items/asset_code_short_details.dart b/lib/presentation/asset_details/asset_detail_items/asset_code_short_details.dart index 9f8bfc46..d141cf28 100644 --- a/lib/presentation/asset_details/asset_detail_items/asset_code_short_details.dart +++ b/lib/presentation/asset_details/asset_detail_items/asset_code_short_details.dart @@ -3,6 +3,7 @@ import 'package:flutter/material.dart'; // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/constants/strings.dart'; +import 'package:ribn/presentation/asset_details/asset_detail_items/asset_column.dart'; // Package imports: import 'package:ribn_toolkit/constants/styles.dart'; import 'package:ribn_toolkit/widgets/molecules/custom_tooltip.dart'; @@ -22,47 +23,41 @@ class AssetCodeShortDetails extends StatelessWidget { @override Widget build(BuildContext context) { - return Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Row( - children: [ - const Text('Asset name', style: RibnToolkitTextStyles.h4), - Padding( - padding: const EdgeInsets.only(left: 4.0), - child: CustomToolTip( - offsetPositionLeftValue: 120, - borderColor: Border.all(color: const Color(0xffE9E9E9)), - toolTipIcon: Image.asset( - RibnAssets.greyHelpBubble, - width: 20, - ), - toolTipChild: const Text( - Strings.assetCodeShortInfo, - style: RibnToolkitTextStyles.toolTipTextStyle, - ), + return AssetColumn( + child1: Row( + children: [ + const Text('Asset name', style: RibnToolkitTextStyles.h4), + Padding( + padding: const EdgeInsets.only(left: 4.0), + child: CustomToolTip( + offsetPositionLeftValue: 120, + borderColor: Border.all(color: const Color(0xffE9E9E9)), + toolTipIcon: Image.asset( + RibnAssets.greyHelpBubble, + width: 20, + ), + toolTipChild: const Text( + Strings.assetCodeShortInfo, + style: RibnToolkitTextStyles.toolTipTextStyle, ), ), - ], - ), - const SizedBox(height: 3), - Row(children: [ + ), + ], + ), + child2: Row( + children: [ + currentIcon == null + ? Image.asset(RibnAssets.undefinedIcon) + : Image.asset( + currentIcon!, + width: 31, + ), SizedBox( - width: 20, - height: 20, - child: currentIcon == null - ? Image.asset(RibnAssets.undefinedIcon) - : Image.asset( - currentIcon!, - width: 31, - ), + width: 5, ), - SizedBox(width: 5,), Text(assetShortName, style: RibnToolkitTextStyles.smallBody), - ],), - // asset icon display - can be edited - - ], + ], + ), ); } } diff --git a/lib/presentation/asset_details/asset_detail_items/asset_column.dart b/lib/presentation/asset_details/asset_detail_items/asset_column.dart new file mode 100644 index 00000000..456e4a64 --- /dev/null +++ b/lib/presentation/asset_details/asset_detail_items/asset_column.dart @@ -0,0 +1,32 @@ +import 'package:flutter/material.dart'; + +class AssetColumn extends StatelessWidget { + final Widget child1; + final Widget child2; + const AssetColumn({ + required this.child1, + required this.child2, + Key? key, + }) : super(key: key); + + @override + Widget build(BuildContext context) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Container( + height: 30, + child: child1, + ), + const SizedBox(height: 3), + Container( + height: 20, + child: Align( + alignment: Alignment.centerLeft, + child: child2, + ), + ), + ], + ); + } +} diff --git a/lib/presentation/asset_details/asset_details_page.dart b/lib/presentation/asset_details/asset_details_page.dart index 588cd224..3178a76c 100644 --- a/lib/presentation/asset_details/asset_details_page.dart +++ b/lib/presentation/asset_details/asset_details_page.dart @@ -65,8 +65,7 @@ class _AssetDetailsPageState extends State with RouteAware { /// /// When the user wants to edit an item on the page, [editSectionOverlay] is assigned the appropriate widget and displayed /// on the page. See [_buildEditSectionOverlay]. - OverlayEntry editSectionOverlay = - OverlayEntry(builder: (context) => const SizedBox()); + OverlayEntry editSectionOverlay = OverlayEntry(builder: (context) => const SizedBox()); /// True if the asset unit section is being edited. bool editingAssetUnit = false; @@ -102,8 +101,7 @@ class _AssetDetailsPageState extends State with RouteAware { Widget build(BuildContext context) { return StoreConnector( // Get access to AssetDetails for this asset from the store - converter: (store) => - store.state.userDetailsState.assetDetails[widget.assetCode], + converter: (store) => store.state.userDetailsState.assetDetails[widget.assetCode], builder: (context, assetDetails) { print(assetDetails); return Listener( @@ -121,65 +119,67 @@ class _AssetDetailsPageState extends State with RouteAware { hideBackArrow: true, ), const SizedBox(height: 40), - Container( + Padding( padding: const EdgeInsets.symmetric( - horizontal: 20, - vertical: 10, + horizontal: 15, ), - width: 309, - decoration: BoxDecoration( - borderRadius: - const BorderRadius.all(Radius.circular(11.6)), - color: RibnColors.whiteBackground, - border: Border.all(color: RibnColors.lightGrey, width: 1), - boxShadow: const [ - BoxShadow( - color: RibnColors.greyShadow, - spreadRadius: 0, - blurRadius: 37.5, - offset: Offset(0, -6), - ), - ], - ), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - // asset name display - Row( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - Expanded( - flex: 1, - child: AssetCodeShortDetails( - assetShortName: widget.assetShortName, - currentIcon: assetDetails?.icon, + child: Container( + padding: const EdgeInsets.symmetric( + horizontal: 20, + vertical: 10, + ), + decoration: BoxDecoration( + borderRadius: const BorderRadius.all(Radius.circular(11.6)), + color: RibnColors.whiteBackground, + border: Border.all(color: RibnColors.lightGrey, width: 1), + boxShadow: const [ + BoxShadow( + color: RibnColors.greyShadow, + spreadRadius: 0, + blurRadius: 37.5, + offset: Offset(0, -6), + ), + ], + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // asset name display + Row( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + Expanded( + flex: 1, + child: AssetCodeShortDetails( + assetShortName: widget.assetShortName, + currentIcon: assetDetails?.icon, + ), + ), + SizedBox( + width: 20, + ), + Expanded( + flex: 1, + child: AssetAmountDetails(assetQuantity: widget.assetQuantity), ), - ), - SizedBox( - width: 20, - ), - Expanded( - flex: 1, - child: AssetAmountDetails( - assetQuantity: widget.assetQuantity), - ), - ], - ), - _buildDivider(), - // asset issuer address display - IssuerAddressDetails( - issuerAddress: widget.issuerAddress, - ), - _buildDivider(), - // asset code display - AssetCodeDetails(assetCode: widget.assetCode), - _buildDivider(), - //TODO: Figure out how to pipe metadata in - TokenMetadataDetails( - tokenMetadata: "", - ), - ], + ], + ), + _buildDivider(), + // asset issuer address display + IssuerAddressDetails( + issuerAddress: widget.issuerAddress, + ), + _buildDivider(), + // asset code display + AssetCodeDetails(assetCode: widget.assetCode), + _buildDivider(), + //TODO: Figure out how to pipe metadata in + TokenMetadataDetails( + tokenMetadata: "", + ), + ], + ), ), ), ], From 987fe1d8dffe8be8a9fa7eebf2ec064129f0d6bd Mon Sep 17 00:00:00 2001 From: Kalervo Hyyppa Date: Thu, 12 Jan 2023 10:14:48 -0700 Subject: [PATCH 49/58] Layout update --- .../asset_details/asset_detail_items/asset_column.dart | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/presentation/asset_details/asset_detail_items/asset_column.dart b/lib/presentation/asset_details/asset_detail_items/asset_column.dart index 456e4a64..87243671 100644 --- a/lib/presentation/asset_details/asset_detail_items/asset_column.dart +++ b/lib/presentation/asset_details/asset_detail_items/asset_column.dart @@ -16,7 +16,10 @@ class AssetColumn extends StatelessWidget { children: [ Container( height: 30, - child: child1, + child: Align( + alignment: Alignment.centerLeft, + child: child1, + ), ), const SizedBox(height: 3), Container( From e018622ecda4c46f953cce94cbd636f8e2dff0d4 Mon Sep 17 00:00:00 2001 From: Selby Baidjnath Date: Thu, 12 Jan 2023 14:38:00 -0300 Subject: [PATCH 50/58] fixed image size --- lib/presentation/home/wallet_balance_page.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/presentation/home/wallet_balance_page.dart b/lib/presentation/home/wallet_balance_page.dart index 8710679c..fe9f52b0 100644 --- a/lib/presentation/home/wallet_balance_page.dart +++ b/lib/presentation/home/wallet_balance_page.dart @@ -299,7 +299,7 @@ class _WalletBalancePageState extends State { onCardPress: () => viewAssetDetails(asset), iconImage: Image.asset( assetIcon, - width: 45, + width: 30, ), shortName: Text( asset.assetCode.shortName.show.replaceAll('\x00', ''), From ab4cc872711c9418976e7918e9cd3bd02f5859cd Mon Sep 17 00:00:00 2001 From: Kalervo Hyyppa Date: Thu, 12 Jan 2023 14:01:28 -0700 Subject: [PATCH 51/58] Updates for debug mode and removal of lock file --- .gitignore | 1 + lib/main.dart | 3 +- pubspec.lock | 1306 ------------------------------------------------- 3 files changed, 3 insertions(+), 1307 deletions(-) delete mode 100644 pubspec.lock diff --git a/.gitignore b/.gitignore index ca006e6c..7d41851d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ node_modules/ dist/ mock/ +pubspec.lock # Ignore secrets key.properties diff --git a/lib/main.dart b/lib/main.dart index 9185810d..831adbcd 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -3,6 +3,7 @@ import 'dart:async'; import 'dart:convert'; // Flutter imports: +import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; // Package imports: @@ -33,7 +34,7 @@ import 'package:ribn/router/root_router.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); - await Redux.initStore(initTestStore: false); + await Redux.initStore(initTestStore: kDebugMode ? true : false); final AppViews currentAppView = await PlatformUtils.instance.getCurrentAppView(); final bool needsOnboarding = Redux.store!.state.needsOnboarding(); // Open app in new tab if user needs onboarding diff --git a/pubspec.lock b/pubspec.lock deleted file mode 100644 index 69ce7f40..00000000 --- a/pubspec.lock +++ /dev/null @@ -1,1306 +0,0 @@ -# Generated by pub -# See https://dart.dev/tools/pub/glossary#lockfile -packages: - _fe_analyzer_shared: - dependency: transitive - description: - name: _fe_analyzer_shared - url: "https://pub.dartlang.org" - source: hosted - version: "47.0.0" - accordion: - dependency: "direct main" - description: - name: accordion - url: "https://pub.dartlang.org" - source: hosted - version: "2.5.1" - analyzer: - dependency: transitive - description: - name: analyzer - url: "https://pub.dartlang.org" - source: hosted - version: "4.7.0" - app_settings: - dependency: "direct main" - description: - name: app_settings - url: "https://pub.dartlang.org" - source: hosted - version: "4.2.0" - archive: - dependency: transitive - description: - name: archive - url: "https://pub.dartlang.org" - source: hosted - version: "3.3.5" - args: - dependency: transitive - description: - name: args - url: "https://pub.dartlang.org" - source: hosted - version: "2.3.1" - async: - dependency: transitive - description: - name: async - url: "https://pub.dartlang.org" - source: hosted - version: "2.9.0" - back_button_interceptor: - dependency: transitive - description: - name: back_button_interceptor - url: "https://pub.dartlang.org" - source: hosted - version: "6.0.2" - barcode: - dependency: transitive - description: - name: barcode - url: "https://pub.dartlang.org" - source: hosted - version: "2.2.3" - barcode_widget: - dependency: "direct main" - description: - name: barcode_widget - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.3" - bip_topl: - dependency: "direct main" - description: - name: bip_topl - url: "https://pub.dartlang.org" - source: hosted - version: "0.0.2" - boolean_selector: - dependency: transitive - description: - name: boolean_selector - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.0" - brambldart: - dependency: "direct main" - description: - path: "." - ref: TSDK-133 - resolved-ref: "9c3edfba1edc8f6ecaf03f34ec71f44e17141b04" - url: "https://github.com/Topl/BramblDart" - source: git - version: "0.0.1" - build: - dependency: transitive - description: - name: build - url: "https://pub.dartlang.org" - source: hosted - version: "2.3.1" - build_config: - dependency: transitive - description: - name: build_config - url: "https://pub.dartlang.org" - source: hosted - version: "1.1.1" - build_daemon: - dependency: transitive - description: - name: build_daemon - url: "https://pub.dartlang.org" - source: hosted - version: "3.1.0" - build_resolvers: - dependency: transitive - description: - name: build_resolvers - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.10" - build_runner: - dependency: "direct dev" - description: - name: build_runner - url: "https://pub.dartlang.org" - source: hosted - version: "2.3.0" - build_runner_core: - dependency: transitive - description: - name: build_runner_core - url: "https://pub.dartlang.org" - source: hosted - version: "7.2.7" - built_collection: - dependency: transitive - description: - name: built_collection - url: "https://pub.dartlang.org" - source: hosted - version: "5.1.1" - built_value: - dependency: "direct main" - description: - name: built_value - url: "https://pub.dartlang.org" - source: hosted - version: "8.4.3" - built_value_generator: - dependency: "direct dev" - description: - name: built_value_generator - url: "https://pub.dartlang.org" - source: hosted - version: "8.4.3" - characters: - dependency: transitive - description: - name: characters - url: "https://pub.dartlang.org" - source: hosted - version: "1.2.1" - charcode: - dependency: transitive - description: - name: charcode - url: "https://pub.dartlang.org" - source: hosted - version: "1.3.1" - checked_yaml: - dependency: transitive - description: - name: checked_yaml - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.2" - cli_pkg: - dependency: transitive - description: - name: cli_pkg - url: "https://pub.dartlang.org" - source: hosted - version: "1.7.0" - cli_util: - dependency: transitive - description: - name: cli_util - url: "https://pub.dartlang.org" - source: hosted - version: "0.3.5" - clock: - dependency: transitive - description: - name: clock - url: "https://pub.dartlang.org" - source: hosted - version: "1.1.1" - code_builder: - dependency: transitive - description: - name: code_builder - url: "https://pub.dartlang.org" - source: hosted - version: "4.4.0" - collection: - dependency: transitive - description: - name: collection - url: "https://pub.dartlang.org" - source: hosted - version: "1.16.0" - convert: - dependency: transitive - description: - name: convert - url: "https://pub.dartlang.org" - source: hosted - version: "3.1.1" - coverage: - dependency: transitive - description: - name: coverage - url: "https://pub.dartlang.org" - source: hosted - version: "1.6.1" - crypto: - dependency: transitive - description: - name: crypto - url: "https://pub.dartlang.org" - source: hosted - version: "3.0.2" - cupertino_icons: - dependency: "direct main" - description: - name: cupertino_icons - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.5" - dart_style: - dependency: transitive - description: - name: dart_style - url: "https://pub.dartlang.org" - source: hosted - version: "2.2.4" - device_frame: - dependency: transitive - description: - name: device_frame - url: "https://pub.dartlang.org" - source: hosted - version: "1.1.0" - dio: - dependency: transitive - description: - name: dio - url: "https://pub.dartlang.org" - source: hosted - version: "4.0.6" - docker_process: - dependency: transitive - description: - name: docker_process - url: "https://pub.dartlang.org" - source: hosted - version: "1.3.1" - dotted_border: - dependency: "direct main" - description: - name: dotted_border - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.0+3" - dropdown_button2: - dependency: transitive - description: - name: dropdown_button2 - url: "https://pub.dartlang.org" - source: hosted - version: "1.9.2" - fake_async: - dependency: transitive - description: - name: fake_async - url: "https://pub.dartlang.org" - source: hosted - version: "1.3.1" - ffi: - dependency: transitive - description: - name: ffi - url: "https://pub.dartlang.org" - source: hosted - version: "1.2.1" - file: - dependency: transitive - description: - name: file - url: "https://pub.dartlang.org" - source: hosted - version: "6.1.4" - file_picker: - dependency: "direct main" - description: - name: file_picker - url: "https://pub.dartlang.org" - source: hosted - version: "4.6.1" - fixnum: - dependency: transitive - description: - name: fixnum - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.1" - flutter: - dependency: "direct main" - description: flutter - source: sdk - version: "0.0.0" - flutter_keyboard_visibility: - dependency: "direct main" - description: - name: flutter_keyboard_visibility - url: "https://pub.dartlang.org" - source: hosted - version: "5.4.0" - flutter_keyboard_visibility_linux: - dependency: transitive - description: - name: flutter_keyboard_visibility_linux - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.0" - flutter_keyboard_visibility_macos: - dependency: transitive - description: - name: flutter_keyboard_visibility_macos - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.0" - flutter_keyboard_visibility_platform_interface: - dependency: transitive - description: - name: flutter_keyboard_visibility_platform_interface - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.0" - flutter_keyboard_visibility_web: - dependency: transitive - description: - name: flutter_keyboard_visibility_web - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.0" - flutter_keyboard_visibility_windows: - dependency: transitive - description: - name: flutter_keyboard_visibility_windows - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.0" - flutter_launcher_icons: - dependency: "direct dev" - description: - name: flutter_launcher_icons - url: "https://pub.dartlang.org" - source: hosted - version: "0.11.0" - flutter_lints: - dependency: "direct dev" - description: - name: flutter_lints - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.1" - flutter_native_splash: - dependency: "direct main" - description: - name: flutter_native_splash - url: "https://pub.dartlang.org" - source: hosted - version: "2.2.0+1" - flutter_plugin_android_lifecycle: - dependency: transitive - description: - name: flutter_plugin_android_lifecycle - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.7" - flutter_portal: - dependency: "direct main" - description: - name: flutter_portal - url: "https://pub.dartlang.org" - source: hosted - version: "0.4.0" - flutter_redux: - dependency: "direct main" - description: - name: flutter_redux - url: "https://pub.dartlang.org" - source: hosted - version: "0.10.0" - flutter_secure_storage: - dependency: "direct main" - description: - name: flutter_secure_storage - url: "https://pub.dartlang.org" - source: hosted - version: "7.0.1" - flutter_secure_storage_linux: - dependency: transitive - description: - name: flutter_secure_storage_linux - url: "https://pub.dartlang.org" - source: hosted - version: "1.1.2" - flutter_secure_storage_macos: - dependency: transitive - description: - name: flutter_secure_storage_macos - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.1" - flutter_secure_storage_platform_interface: - dependency: transitive - description: - name: flutter_secure_storage_platform_interface - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.1" - flutter_secure_storage_web: - dependency: transitive - description: - name: flutter_secure_storage_web - url: "https://pub.dartlang.org" - source: hosted - version: "1.1.1" - flutter_secure_storage_windows: - dependency: transitive - description: - name: flutter_secure_storage_windows - url: "https://pub.dartlang.org" - source: hosted - version: "1.1.3" - flutter_svg: - dependency: "direct main" - description: - name: flutter_svg - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.3" - flutter_test: - dependency: "direct dev" - description: flutter - source: sdk - version: "0.0.0" - flutter_web_plugins: - dependency: transitive - description: flutter - source: sdk - version: "0.0.0" - freezed_annotation: - dependency: transitive - description: - name: freezed_annotation - url: "https://pub.dartlang.org" - source: hosted - version: "2.2.0" - frontend_server_client: - dependency: transitive - description: - name: frontend_server_client - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.3" - get: - dependency: transitive - description: - name: get - url: "https://pub.dartlang.org" - source: hosted - version: "4.6.5" - get_it: - dependency: "direct main" - description: - name: get_it - url: "https://pub.dartlang.org" - source: hosted - version: "7.2.0" - glob: - dependency: transitive - description: - name: glob - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.1" - go_router: - dependency: transitive - description: - name: go_router - url: "https://pub.dartlang.org" - source: hosted - version: "3.1.1" - google_fonts: - dependency: "direct main" - description: - name: google_fonts - url: "https://pub.dartlang.org" - source: hosted - version: "3.0.1" - googleapis_auth: - dependency: transitive - description: - name: googleapis_auth - url: "https://pub.dartlang.org" - source: hosted - version: "1.3.1" - graphs: - dependency: transitive - description: - name: graphs - url: "https://pub.dartlang.org" - source: hosted - version: "2.2.0" - grinder: - dependency: transitive - description: - name: grinder - url: "https://pub.dartlang.org" - source: hosted - version: "0.9.2" - grpc: - dependency: "direct main" - description: - name: grpc - url: "https://pub.dartlang.org" - source: hosted - version: "3.1.0" - http: - dependency: transitive - description: - name: http - url: "https://pub.dartlang.org" - source: hosted - version: "0.13.5" - http2: - dependency: transitive - description: - name: http2 - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.1" - http_multi_server: - dependency: transitive - description: - name: http_multi_server - url: "https://pub.dartlang.org" - source: hosted - version: "3.2.1" - http_parser: - dependency: transitive - description: - name: http_parser - url: "https://pub.dartlang.org" - source: hosted - version: "4.0.2" - image: - dependency: transitive - description: - name: image - url: "https://pub.dartlang.org" - source: hosted - version: "3.1.3" - import_sorter: - dependency: "direct main" - description: - name: import_sorter - url: "https://pub.dartlang.org" - source: hosted - version: "4.6.0" - intl: - dependency: "direct main" - description: - name: intl - url: "https://pub.dartlang.org" - source: hosted - version: "0.17.0" - io: - dependency: transitive - description: - name: io - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.3" - js: - dependency: transitive - description: - name: js - url: "https://pub.dartlang.org" - source: hosted - version: "0.6.4" - json_annotation: - dependency: transitive - description: - name: json_annotation - url: "https://pub.dartlang.org" - source: hosted - version: "4.7.0" - lazy_load_scrollview: - dependency: "direct main" - description: - name: lazy_load_scrollview - url: "https://pub.dartlang.org" - source: hosted - version: "1.3.0" - lint: - dependency: transitive - description: - name: lint - url: "https://pub.dartlang.org" - source: hosted - version: "1.10.0" - lints: - dependency: transitive - description: - name: lints - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.1" - loader_overlay: - dependency: "direct main" - description: - name: loader_overlay - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.0" - loading_overlay: - dependency: "direct main" - description: - name: loading_overlay - url: "https://pub.dartlang.org" - source: hosted - version: "0.3.0" - local_auth: - dependency: "direct main" - description: - name: local_auth - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.3" - local_auth_android: - dependency: transitive - description: - name: local_auth_android - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.17" - local_auth_ios: - dependency: transitive - description: - name: local_auth_ios - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.12" - local_auth_platform_interface: - dependency: transitive - description: - name: local_auth_platform_interface - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.6" - local_auth_windows: - dependency: transitive - description: - name: local_auth_windows - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.4" - logging: - dependency: transitive - description: - name: logging - url: "https://pub.dartlang.org" - source: hosted - version: "1.1.0" - matcher: - dependency: transitive - description: - name: matcher - url: "https://pub.dartlang.org" - source: hosted - version: "0.12.12" - material_color_utilities: - dependency: transitive - description: - name: material_color_utilities - url: "https://pub.dartlang.org" - source: hosted - version: "0.1.5" - meta: - dependency: transitive - description: - name: meta - url: "https://pub.dartlang.org" - source: hosted - version: "1.8.0" - mime: - dependency: transitive - description: - name: mime - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.3" - mockito: - dependency: "direct main" - description: - name: mockito - url: "https://pub.dartlang.org" - source: hosted - version: "5.3.2" - nested: - dependency: transitive - description: - name: nested - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.0" - node_interop: - dependency: transitive - description: - name: node_interop - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.0" - node_preamble: - dependency: transitive - description: - name: node_preamble - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.1" - package_config: - dependency: transitive - description: - name: package_config - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.0" - path: - dependency: transitive - description: - name: path - url: "https://pub.dartlang.org" - source: hosted - version: "1.8.2" - path_drawing: - dependency: transitive - description: - name: path_drawing - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.1" - path_parsing: - dependency: transitive - description: - name: path_parsing - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.1" - path_provider: - dependency: "direct main" - description: - name: path_provider - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.11" - path_provider_android: - dependency: transitive - description: - name: path_provider_android - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.22" - path_provider_ios: - dependency: transitive - description: - name: path_provider_ios - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.11" - path_provider_linux: - dependency: transitive - description: - name: path_provider_linux - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.7" - path_provider_macos: - dependency: transitive - description: - name: path_provider_macos - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.6" - path_provider_platform_interface: - dependency: transitive - description: - name: path_provider_platform_interface - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.5" - path_provider_windows: - dependency: transitive - description: - name: path_provider_windows - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.7" - petitparser: - dependency: transitive - description: - name: petitparser - url: "https://pub.dartlang.org" - source: hosted - version: "5.1.0" - pinenacl: - dependency: transitive - description: - name: pinenacl - url: "https://pub.dartlang.org" - source: hosted - version: "0.3.4" - platform: - dependency: transitive - description: - name: platform - url: "https://pub.dartlang.org" - source: hosted - version: "3.1.0" - plugin_platform_interface: - dependency: transitive - description: - name: plugin_platform_interface - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.3" - pointycastle: - dependency: transitive - description: - name: pointycastle - url: "https://pub.dartlang.org" - source: hosted - version: "3.6.2" - pool: - dependency: transitive - description: - name: pool - url: "https://pub.dartlang.org" - source: hosted - version: "1.5.1" - process: - dependency: transitive - description: - name: process - url: "https://pub.dartlang.org" - source: hosted - version: "4.2.4" - progress_indicators: - dependency: "direct main" - description: - name: progress_indicators - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.0" - protobuf: - dependency: transitive - description: - name: protobuf - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.0" - provider: - dependency: transitive - description: - name: provider - url: "https://pub.dartlang.org" - source: hosted - version: "6.0.5" - pub_semver: - dependency: transitive - description: - name: pub_semver - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.3" - pubspec_parse: - dependency: transitive - description: - name: pubspec_parse - url: "https://pub.dartlang.org" - source: hosted - version: "1.2.1" - qr: - dependency: transitive - description: - name: qr - url: "https://pub.dartlang.org" - source: hosted - version: "3.0.1" - redux: - dependency: "direct main" - description: - name: redux - url: "https://pub.dartlang.org" - source: hosted - version: "5.0.0" - redux_epics: - dependency: "direct main" - description: - name: redux_epics - url: "https://pub.dartlang.org" - source: hosted - version: "0.15.1" - ribn_toolkit: - dependency: "direct main" - description: - path: "." - ref: main - resolved-ref: f5a68e8083372cc50ce1019a2e4dac40de247fa7 - url: "https://github.com/Topl/ribn-toolkit" - source: git - version: "1.0.0+1" - rxdart: - dependency: "direct main" - description: - name: rxdart - url: "https://pub.dartlang.org" - source: hosted - version: "0.27.7" - scroll_to_index: - dependency: transitive - description: - name: scroll_to_index - url: "https://pub.dartlang.org" - source: hosted - version: "3.0.1" - shelf: - dependency: transitive - description: - name: shelf - url: "https://pub.dartlang.org" - source: hosted - version: "1.4.0" - shelf_packages_handler: - dependency: transitive - description: - name: shelf_packages_handler - url: "https://pub.dartlang.org" - source: hosted - version: "3.0.1" - shelf_static: - dependency: transitive - description: - name: shelf_static - url: "https://pub.dartlang.org" - source: hosted - version: "1.1.1" - shelf_web_socket: - dependency: transitive - description: - name: shelf_web_socket - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.3" - shimmer_animation: - dependency: "direct main" - description: - name: shimmer_animation - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.0+1" - sky_engine: - dependency: transitive - description: flutter - source: sdk - version: "0.0.99" - source_gen: - dependency: transitive - description: - name: source_gen - url: "https://pub.dartlang.org" - source: hosted - version: "1.2.6" - source_map_stack_trace: - dependency: transitive - description: - name: source_map_stack_trace - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.1" - source_maps: - dependency: transitive - description: - name: source_maps - url: "https://pub.dartlang.org" - source: hosted - version: "0.10.11" - source_span: - dependency: transitive - description: - name: source_span - url: "https://pub.dartlang.org" - source: hosted - version: "1.9.0" - stack_trace: - dependency: transitive - description: - name: stack_trace - url: "https://pub.dartlang.org" - source: hosted - version: "1.10.0" - step_progress_indicator: - dependency: "direct main" - description: - name: step_progress_indicator - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.2" - steps_indicator: - dependency: "direct main" - description: - name: steps_indicator - url: "https://pub.dartlang.org" - source: hosted - version: "1.3.0" - stream_channel: - dependency: transitive - description: - name: stream_channel - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.0" - stream_transform: - dependency: transitive - description: - name: stream_transform - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.0" - string_scanner: - dependency: transitive - description: - name: string_scanner - url: "https://pub.dartlang.org" - source: hosted - version: "1.1.1" - term_glyph: - dependency: transitive - description: - name: term_glyph - url: "https://pub.dartlang.org" - source: hosted - version: "1.2.1" - test: - dependency: transitive - description: - name: test - url: "https://pub.dartlang.org" - source: hosted - version: "1.21.4" - test_api: - dependency: transitive - description: - name: test_api - url: "https://pub.dartlang.org" - source: hosted - version: "0.4.12" - test_core: - dependency: transitive - description: - name: test_core - url: "https://pub.dartlang.org" - source: hosted - version: "0.4.16" - test_process: - dependency: transitive - description: - name: test_process - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.3" - timing: - dependency: transitive - description: - name: timing - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.0" - tint: - dependency: transitive - description: - name: tint - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.0" - typed_data: - dependency: transitive - description: - name: typed_data - url: "https://pub.dartlang.org" - source: hosted - version: "1.3.1" - universal_io: - dependency: transitive - description: - name: universal_io - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.4" - unorm_dart: - dependency: transitive - description: - name: unorm_dart - url: "https://pub.dartlang.org" - source: hosted - version: "0.2.0" - url_launcher: - dependency: "direct main" - description: - name: url_launcher - url: "https://pub.dartlang.org" - source: hosted - version: "6.1.7" - url_launcher_android: - dependency: transitive - description: - name: url_launcher_android - url: "https://pub.dartlang.org" - source: hosted - version: "6.0.22" - url_launcher_ios: - dependency: transitive - description: - name: url_launcher_ios - url: "https://pub.dartlang.org" - source: hosted - version: "6.0.17" - url_launcher_linux: - dependency: transitive - description: - name: url_launcher_linux - url: "https://pub.dartlang.org" - source: hosted - version: "3.0.1" - url_launcher_macos: - dependency: transitive - description: - name: url_launcher_macos - url: "https://pub.dartlang.org" - source: hosted - version: "3.0.1" - url_launcher_platform_interface: - dependency: transitive - description: - name: url_launcher_platform_interface - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.1" - url_launcher_web: - dependency: transitive - description: - name: url_launcher_web - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.13" - url_launcher_windows: - dependency: transitive - description: - name: url_launcher_windows - url: "https://pub.dartlang.org" - source: hosted - version: "3.0.1" - url_strategy: - dependency: "direct main" - description: - name: url_strategy - url: "https://pub.dartlang.org" - source: hosted - version: "0.2.0" - uuid: - dependency: transitive - description: - name: uuid - url: "https://pub.dartlang.org" - source: hosted - version: "3.0.7" - vector_math: - dependency: transitive - description: - name: vector_math - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.2" - vm_service: - dependency: transitive - description: - name: vm_service - url: "https://pub.dartlang.org" - source: hosted - version: "9.4.0" - watcher: - dependency: transitive - description: - name: watcher - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.2" - wave: - dependency: transitive - description: - name: wave - url: "https://pub.dartlang.org" - source: hosted - version: "0.2.2" - web_socket_channel: - dependency: transitive - description: - name: web_socket_channel - url: "https://pub.dartlang.org" - source: hosted - version: "2.2.0" - webkit_inspection_protocol: - dependency: transitive - description: - name: webkit_inspection_protocol - url: "https://pub.dartlang.org" - source: hosted - version: "1.2.0" - widgetbook: - dependency: transitive - description: - path: "packages/widgetbook" - ref: HEAD - resolved-ref: "45493c98c086800ced701c48f8a2a895ec8ae2a4" - url: "https://github.com/Topl/widgetbook" - source: git - version: "2.4.1" - widgetbook_annotation: - dependency: transitive - description: - name: widgetbook_annotation - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.0" - widgetbook_generator: - dependency: transitive - description: - name: widgetbook_generator - url: "https://pub.dartlang.org" - source: hosted - version: "2.4.1" - widgetbook_models: - dependency: transitive - description: - name: widgetbook_models - url: "https://pub.dartlang.org" - source: hosted - version: "0.0.7" - win32: - dependency: transitive - description: - name: win32 - url: "https://pub.dartlang.org" - source: hosted - version: "2.6.1" - xdg_directories: - dependency: transitive - description: - name: xdg_directories - url: "https://pub.dartlang.org" - source: hosted - version: "0.2.0+3" - xml: - dependency: transitive - description: - name: xml - url: "https://pub.dartlang.org" - source: hosted - version: "5.4.1" - yaml: - dependency: transitive - description: - name: yaml - url: "https://pub.dartlang.org" - source: hosted - version: "3.1.1" -sdks: - dart: ">=2.18.0 <3.0.0" - flutter: ">=3.0.1" From 7f004fdd3c828b69f8cd6798d3e7f31105b6fcd0 Mon Sep 17 00:00:00 2001 From: Kalervo Hyyppa Date: Thu, 12 Jan 2023 14:49:48 -0700 Subject: [PATCH 52/58] Updates to network order --- lib/constants/rules.dart | 25 +++++++--------------- lib/containers/ribn_app_bar_container.dart | 4 +--- lib/main.dart | 2 +- lib/models/app_state.dart | 3 +-- lib/models/keychain_state.dart | 6 ++---- lib/models/ribn_network.dart | 18 ++++++---------- pubspec.lock | 2 +- 7 files changed, 21 insertions(+), 39 deletions(-) diff --git a/lib/constants/rules.dart b/lib/constants/rules.dart index c79795a5..7cf663a1 100644 --- a/lib/constants/rules.dart +++ b/lib/constants/rules.dart @@ -22,35 +22,26 @@ class Rules { static const int defaultPurpose = constants.defaultPurpose; // 1852' static const int defaultCoinType = constants.defaultCoinType; // 7091' static const int defaultAccountIndex = constants.defaultAccountIndex; // 0' - static const int defaultChangeIndex = constants - .defaultChangeIndex; // 0=external/payments, 1=internal/change, 2=staking + static const int defaultChangeIndex = + constants.defaultChangeIndex; // 0=external/payments, 1=internal/change, 2=staking static const int defaultAddressIndex = constants.defaultAddressIndex; static const int assetCodeVersion = constants.supportedAssetCodeVersion; static const int internalIdx = 1; static Map txHistoryUrls = { - NetworkUtils.valhallaId: - 'https://annulus-api.topl.services/staging/valhalla', NetworkUtils.toplNetId: 'https://annulus-api.topl.services/staging/toplnet', - NetworkUtils.privateId: - 'https://annulus-api.topl.services/staging/valhalla', + NetworkUtils.valhallaId: 'https://annulus-api.topl.services/staging/valhalla', + NetworkUtils.privateId: 'https://annulus-api.topl.services/staging/valhalla', }; static Map txDetailsRedirectUrls = { - NetworkUtils.valhallaId: - 'https://staging.valhalla.annulus.topl.services/#/transaction/', - NetworkUtils.toplNetId: - 'https://staging.toplnet.annulus.topl.services/#/transaction/', - NetworkUtils.privateId: - 'https://staging.valhalla.annulus.topl.services/#/transaction/', + NetworkUtils.toplNetId: 'https://staging.toplnet.annulus.topl.services/#/transaction/', + NetworkUtils.valhallaId: 'https://staging.valhalla.annulus.topl.services/#/transaction/', + NetworkUtils.privateId: 'https://staging.valhalla.annulus.topl.services/#/transaction/', }; static String txHistoryUrl(String addr, int networkId) => '${txHistoryUrls[networkId]!}/v1/address/history/$addr'; static String txDetailsUrl(String txId, int networkId) => '${txDetailsRedirectUrls[networkId]!}$txId'; - static const transferTypes = [ - Strings.polyTransfer, - Strings.assetTransfer, - Strings.minting - ]; + static const transferTypes = [Strings.polyTransfer, Strings.assetTransfer, Strings.minting]; static BramblClient getBramblCient(int networkId) { final Dio httpClient = Dio( BaseOptions( diff --git a/lib/containers/ribn_app_bar_container.dart b/lib/containers/ribn_app_bar_container.dart index 073ba0a5..126ba405 100644 --- a/lib/containers/ribn_app_bar_container.dart +++ b/lib/containers/ribn_app_bar_container.dart @@ -59,9 +59,7 @@ class RibnAppBarViewModel { }); static RibnAppBarViewModel fromStore(Store store) { return RibnAppBarViewModel( - networks: store.state.keychainState.allNetworks - .map((e) => e.networkName) - .toList(), + networks: store.state.keychainState.allNetworks.map((e) => e.networkName).toList(), currentNetworkName: store.state.keychainState.currentNetworkName, updateNetwork: (String network) { store.dispatch(UpdateCurrentNetworkAction(network)); diff --git a/lib/main.dart b/lib/main.dart index 9185810d..629e70ed 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -33,7 +33,7 @@ import 'package:ribn/router/root_router.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); - await Redux.initStore(initTestStore: false); + await Redux.initStore(initTestStore: true); final AppViews currentAppView = await PlatformUtils.instance.getCurrentAppView(); final bool needsOnboarding = Redux.store!.state.needsOnboarding(); // Open app in new tab if user needs onboarding diff --git a/lib/models/app_state.dart b/lib/models/app_state.dart index a5d8b978..aed21b69 100644 --- a/lib/models/app_state.dart +++ b/lib/models/app_state.dart @@ -127,8 +127,7 @@ class AppState { String toJson() => json.encode(toMap()); - factory AppState.fromJson(String source) => - AppState.fromMap(json.decode(source)); + factory AppState.fromJson(String source) => AppState.fromMap(json.decode(source)); @override String toString() { diff --git a/lib/models/keychain_state.dart b/lib/models/keychain_state.dart index acb2baa4..d47a0b5b 100644 --- a/lib/models/keychain_state.dart +++ b/lib/models/keychain_state.dart @@ -60,8 +60,7 @@ class KeychainState { return { 'keyStoreJson': keyStoreJson, 'currentNetworkName': currentNetworkName, - 'networks': networks - .map((String key, RibnNetwork value) => MapEntry(key, value.toMap())), + 'networks': networks.map((String key, RibnNetwork value) => MapEntry(key, value.toMap())), }; } @@ -90,8 +89,7 @@ class KeychainState { String toJson() => json.encode(toMap()); - factory KeychainState.fromJson(String source) => - KeychainState.fromMap(json.decode(source)); + factory KeychainState.fromJson(String source) => KeychainState.fromMap(json.decode(source)); @override String toString() { diff --git a/lib/models/ribn_network.dart b/lib/models/ribn_network.dart index f1d3080b..eabdb3cc 100644 --- a/lib/models/ribn_network.dart +++ b/lib/models/ribn_network.dart @@ -57,14 +57,14 @@ class RibnNetwork { /// Initializes [RibnNetwork] for [NetworkUtils.valhalla], [NetworkUtils.toplNet], and [NetworkUtils.private]. static Map initializeToplNetworks() { return { - NetworkUtils.valhalla: RibnNetwork.initial( - networkId: NetworkUtils.valhallaId, - networkName: NetworkUtils.valhalla, - ), NetworkUtils.toplNet: RibnNetwork.initial( networkId: NetworkUtils.toplNetId, networkName: NetworkUtils.toplNet, ), + NetworkUtils.valhalla: RibnNetwork.initial( + networkId: NetworkUtils.valhallaId, + networkName: NetworkUtils.valhalla, + ), NetworkUtils.private: RibnNetwork.initial( networkId: NetworkUtils.privateId, networkName: NetworkUtils.private, @@ -86,9 +86,7 @@ class RibnNetwork { } int getNextInternalAddressIndex() { - return addresses - .lastIndexWhere((addr) => addr.changeIndex == Rules.internalIdx) + - 1; + return addresses.lastIndexWhere((addr) => addr.changeIndex == Rules.internalIdx) + 1; } /// Returns a list of all the assets owned by [myWalletAddress] @@ -124,8 +122,7 @@ class RibnNetwork { return getAllAssetsInWallet() .where( (AssetAmount asset) => - asset.assetCode.issuer.toBase58() == - myWalletAddress?.toplAddress.toBase58(), + asset.assetCode.issuer.toBase58() == myWalletAddress?.toplAddress.toBase58(), ) .toList(); } @@ -175,8 +172,7 @@ class RibnNetwork { String toJson() => json.encode(toMap()); - factory RibnNetwork.fromJson(String source) => - RibnNetwork.fromMap(json.decode(source)); + factory RibnNetwork.fromJson(String source) => RibnNetwork.fromMap(json.decode(source)); @override String toString() { diff --git a/pubspec.lock b/pubspec.lock index 69ce7f40..59e82c54 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -933,7 +933,7 @@ packages: description: path: "." ref: main - resolved-ref: f5a68e8083372cc50ce1019a2e4dac40de247fa7 + resolved-ref: "0fc4e965fb14b74d099d8c13e485cb7164cf0f78" url: "https://github.com/Topl/ribn-toolkit" source: git version: "1.0.0+1" From 059e6f77eaa44bf8fd0f37594df7532620746bbf Mon Sep 17 00:00:00 2001 From: Kalervo Hyyppa Date: Thu, 12 Jan 2023 14:54:06 -0700 Subject: [PATCH 53/58] Revert test store --- lib/main.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/main.dart b/lib/main.dart index 629e70ed..9185810d 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -33,7 +33,7 @@ import 'package:ribn/router/root_router.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); - await Redux.initStore(initTestStore: true); + await Redux.initStore(initTestStore: false); final AppViews currentAppView = await PlatformUtils.instance.getCurrentAppView(); final bool needsOnboarding = Redux.store!.state.needsOnboarding(); // Open app in new tab if user needs onboarding From 05979f6543e39c40f60b9f52d62c837f15c63ecf Mon Sep 17 00:00:00 2001 From: Siphamandla brian Mjoli Date: Mon, 16 Jan 2023 00:36:19 +0200 Subject: [PATCH 54/58] update(tx_history): fixed copy paste and amount --- ios/Podfile.lock | 2 +- lib/main.dart | 3 +-- .../transaction_data_row.dart | 26 +++++-------------- pubspec.yaml | 2 +- 4 files changed, 10 insertions(+), 23 deletions(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 41a53c2e..97fd9fee 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -108,4 +108,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: ef19549a9bc3046e7bb7d2fab4d021637c0c58a3 -COCOAPODS: 1.11.2 +COCOAPODS: 1.11.3 diff --git a/lib/main.dart b/lib/main.dart index 831adbcd..629e70ed 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -3,7 +3,6 @@ import 'dart:async'; import 'dart:convert'; // Flutter imports: -import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; // Package imports: @@ -34,7 +33,7 @@ import 'package:ribn/router/root_router.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); - await Redux.initStore(initTestStore: kDebugMode ? true : false); + await Redux.initStore(initTestStore: true); final AppViews currentAppView = await PlatformUtils.instance.getCurrentAppView(); final bool needsOnboarding = Redux.store!.state.needsOnboarding(); // Open app in new tab if user needs onboarding diff --git a/lib/presentation/transaction_history/transaction_data_row/transaction_data_row.dart b/lib/presentation/transaction_history/transaction_data_row/transaction_data_row.dart index b2c96b8a..0c6ac561 100644 --- a/lib/presentation/transaction_history/transaction_data_row/transaction_data_row.dart +++ b/lib/presentation/transaction_history/transaction_data_row/transaction_data_row.dart @@ -9,7 +9,6 @@ import 'package:brambldart/utils.dart'; import 'package:flutter_redux/flutter_redux.dart'; import 'package:intl/intl.dart'; import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/constants/ribn_sample_data_models.dart'; import 'package:ribn_toolkit/widgets/molecules/ribn_activity_tile.dart'; // Project imports: @@ -78,7 +77,7 @@ class _TransactionDataRowState extends State { ? widget.transactionReceipt.to.first.toJson()[1] : widget.transactionReceipt.to.first.toJson()[1]['quantity']; final Sender transactionSenderAddress = widget.transactionReceipt.from![0]; - final String fee = '${widget.transactionReceipt.fee!.quantity} nanoPOLYs'; + final String fee = '${widget.transactionReceipt.fee!.quantity} POLYs'; final Latin1Data? note = widget.transactionReceipt.data; final String securityRoot = isPolyTransaction ? '' @@ -180,25 +179,14 @@ class _TransactionDataRowState extends State { ? transactionAmountForPolyTransfer : '${transactionAmountForAssetTransfer()} ${formatAssetUnit(assetDetails?.unit ?? 'Unit')}', 'fee': fee, - 'myRibnWalletAddress': formatAddressString( - widget.myRibnWalletAddress, - charsToDisplay: 4, - ), - 'transactionSenderAddress': formatAddressString( - transactionSenderAddress.senderAddress.toBase58(), - charsToDisplay: 4, - ), + 'myRibnWalletAddress': widget.myRibnWalletAddress, + 'transactionSenderAddress': + transactionSenderAddress.senderAddress.toBase58(), 'note': note, - 'securityRoot': isPolyTransaction - ? '' - : formatAddressString(securityRoot, charsToDisplay: 4), - 'blockId': - formatAddressString(blockId.toString(), charsToDisplay: 4), + 'securityRoot': isPolyTransaction ? '' : securityRoot, + 'blockId': blockId.toString(), 'blockHeight': blockNumber?.blockNum, - 'transactionId': formatAddressString( - transactionId.toString(), - charsToDisplay: 4, - ), + 'transactionId': transactionId.toString(), 'networkId': widget.networkId, }; Navigator.pushNamed( diff --git a/pubspec.yaml b/pubspec.yaml index ed88ba53..8ccb32d0 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -55,7 +55,7 @@ dependencies: ribn_toolkit: git: url: https://github.com/Topl/ribn-toolkit - ref: main + ref: fix_tx_details brambldart: git: url: https://github.com/Topl/BramblDart From 3a1e774463b3e34b73881bcf5f953544a24c07a2 Mon Sep 17 00:00:00 2001 From: Siphamandla brian Mjoli Date: Mon, 16 Jan 2023 00:43:47 +0200 Subject: [PATCH 55/58] Update pubspec.yaml --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 8ccb32d0..ed88ba53 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -55,7 +55,7 @@ dependencies: ribn_toolkit: git: url: https://github.com/Topl/ribn-toolkit - ref: fix_tx_details + ref: main brambldart: git: url: https://github.com/Topl/BramblDart From dd4c11c024ac345ede6175d6fc70a344fce200e4 Mon Sep 17 00:00:00 2001 From: Kalervo Hyyppa Date: Tue, 17 Jan 2023 09:58:51 -0700 Subject: [PATCH 56/58] Renamed nanoPoly to Poly --- .../transaction_data_row.dart | 63 ++++++------------- pubspec.lock | 2 +- 2 files changed, 19 insertions(+), 46 deletions(-) diff --git a/lib/presentation/transaction_history/transaction_data_row/transaction_data_row.dart b/lib/presentation/transaction_history/transaction_data_row/transaction_data_row.dart index b2c96b8a..5136657e 100644 --- a/lib/presentation/transaction_history/transaction_data_row/transaction_data_row.dart +++ b/lib/presentation/transaction_history/transaction_data_row/transaction_data_row.dart @@ -49,8 +49,7 @@ class _TransactionDataRowState extends State { } getBlockHeight() async { - final transactionBlockHeightNum = - int.parse('${widget.transactionReceipt.blockNumber}'); + final transactionBlockHeightNum = int.parse('${widget.transactionReceipt.blockNumber}'); final blockHeightString = await widget.blockHeight; final blockHeightNum = int.parse(blockHeightString!); final heightDifference = blockHeightNum - transactionBlockHeightNum; @@ -63,8 +62,7 @@ class _TransactionDataRowState extends State { @override Widget build(BuildContext context) { - final bool isPolyTransaction = widget.transactionReceipt.txType == - 'PolyTransfer' || + final bool isPolyTransaction = widget.transactionReceipt.txType == 'PolyTransfer' || widget.transactionReceipt.to.first.toJson()[1].runtimeType == String; final int timestampInt = widget.transactionReceipt.timestamp; final DateTime date = DateTime.fromMillisecondsSinceEpoch(timestampInt); @@ -78,24 +76,18 @@ class _TransactionDataRowState extends State { ? widget.transactionReceipt.to.first.toJson()[1] : widget.transactionReceipt.to.first.toJson()[1]['quantity']; final Sender transactionSenderAddress = widget.transactionReceipt.from![0]; - final String fee = '${widget.transactionReceipt.fee!.quantity} nanoPOLYs'; + final String fee = '${widget.transactionReceipt.fee!.quantity} POLYs'; final Latin1Data? note = widget.transactionReceipt.data; - final String securityRoot = isPolyTransaction - ? '' - : widget.transactionReceipt.to.first.toJson()[1]['securityRoot']; + final String securityRoot = + isPolyTransaction ? '' : widget.transactionReceipt.to.first.toJson()[1]['securityRoot']; final String assetCode = isPolyTransaction ? '' - : widget.transactionReceipt.to.first - .toJson()[1]['assetCode'] - .toString(); + : widget.transactionReceipt.to.first.toJson()[1]['assetCode'].toString(); final ModifierId? blockId = widget.transactionReceipt.blockId; final BlockNum? blockNumber = widget.transactionReceipt.blockNumber; final ModifierId transactionId = widget.transactionReceipt.id; final String renderPlusOrMinusPolyTransfer = - transactionReceiverAddress == widget.myRibnWalletAddress && - isPolyTransaction - ? '+' - : '-'; + transactionReceiverAddress == widget.myRibnWalletAddress && isPolyTransaction ? '+' : '-'; final String transactionAmountForPolyTransfer = '$renderPlusOrMinusPolyTransfer$transactionQuantity'; @@ -126,8 +118,7 @@ class _TransactionDataRowState extends State { return StoreConnector( // Get access to AssetDetails for this asset from the store only if not poly transaction - converter: (store) => - store.state.userDetailsState.assetDetails[assetCode], + converter: (store) => store.state.userDetailsState.assetDetails[assetCode], builder: (context, assetDetails) { final List filteredAsset = widget.assets .where( @@ -137,23 +128,16 @@ class _TransactionDataRowState extends State { return RibnActivityTile( tileColor: RibnColors.whiteColor, - assetIcon: isPolyTransaction - ? renderPolyIcon() - : renderAssetIcon(assetDetails?.icon), + assetIcon: isPolyTransaction ? renderPolyIcon() : renderAssetIcon(assetDetails?.icon), assetBalance: '${transactionAmountForAssetTransfer()} ${formatAssetUnit(assetDetails?.unit ?? 'Unit')}', assetShortName: isPolyTransaction ? 'POLY' : filteredAsset.isNotEmpty - ? filteredAsset[0] - .assetCode - .shortName - .show - .replaceAll('\x00', '') + ? filteredAsset[0].assetCode.shortName.show.replaceAll('\x00', '') : '', transactionStatus: transactionStatus, - transactionDate: - '${renderSentReceivedMintedText()} on $formattedDate', + transactionDate: '${renderSentReceivedMintedText()} on $formattedDate', onTap: () { final Map details = { 'isPolyTransaction': isPolyTransaction, @@ -161,19 +145,12 @@ class _TransactionDataRowState extends State { 'timestamp': formattedDateAlternate, 'assetDetails': isPolyTransaction ? {} - : assetDetails ?? - {'unit': transactionAmountForAssetTransfer()}, - 'icon': isPolyTransaction - ? renderPolyIcon() - : renderAssetIcon(assetDetails?.icon), + : assetDetails ?? {'unit': transactionAmountForAssetTransfer()}, + 'icon': isPolyTransaction ? renderPolyIcon() : renderAssetIcon(assetDetails?.icon), 'shortName': isPolyTransaction ? 'POLY' : filteredAsset.isNotEmpty - ? filteredAsset[0] - .assetCode - .shortName - .show - .replaceAll('\x00', '') + ? filteredAsset[0].assetCode.shortName.show.replaceAll('\x00', '') : '', 'transactionStatus': transactionStatus, 'transactionAmount': isPolyTransaction @@ -189,11 +166,9 @@ class _TransactionDataRowState extends State { charsToDisplay: 4, ), 'note': note, - 'securityRoot': isPolyTransaction - ? '' - : formatAddressString(securityRoot, charsToDisplay: 4), - 'blockId': - formatAddressString(blockId.toString(), charsToDisplay: 4), + 'securityRoot': + isPolyTransaction ? '' : formatAddressString(securityRoot, charsToDisplay: 4), + 'blockId': formatAddressString(blockId.toString(), charsToDisplay: 4), 'blockHeight': blockNumber?.blockNum, 'transactionId': formatAddressString( transactionId.toString(), @@ -213,9 +188,7 @@ class _TransactionDataRowState extends State { } String renderAssetIcon(assetDetailsIcon) { - return assetDetailsIcon == null - ? RibnAssets.undefinedIcon - : assetDetailsIcon!; + return assetDetailsIcon == null ? RibnAssets.undefinedIcon : assetDetailsIcon!; } String renderPolyIcon() { diff --git a/pubspec.lock b/pubspec.lock index 59e82c54..a7b19a88 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -933,7 +933,7 @@ packages: description: path: "." ref: main - resolved-ref: "0fc4e965fb14b74d099d8c13e485cb7164cf0f78" + resolved-ref: "8b65d0cc2fc014c699be29064cca73e182879798" url: "https://github.com/Topl/ribn-toolkit" source: git version: "1.0.0+1" From db3e700bdd442ce135c60d83c905792ee1d2c51b Mon Sep 17 00:00:00 2001 From: Kalervo Hyyppa Date: Tue, 17 Jan 2023 10:30:04 -0700 Subject: [PATCH 57/58] Removing pubspec --- pubspec.lock | 1306 -------------------------------------------------- 1 file changed, 1306 deletions(-) delete mode 100644 pubspec.lock diff --git a/pubspec.lock b/pubspec.lock deleted file mode 100644 index a7b19a88..00000000 --- a/pubspec.lock +++ /dev/null @@ -1,1306 +0,0 @@ -# Generated by pub -# See https://dart.dev/tools/pub/glossary#lockfile -packages: - _fe_analyzer_shared: - dependency: transitive - description: - name: _fe_analyzer_shared - url: "https://pub.dartlang.org" - source: hosted - version: "47.0.0" - accordion: - dependency: "direct main" - description: - name: accordion - url: "https://pub.dartlang.org" - source: hosted - version: "2.5.1" - analyzer: - dependency: transitive - description: - name: analyzer - url: "https://pub.dartlang.org" - source: hosted - version: "4.7.0" - app_settings: - dependency: "direct main" - description: - name: app_settings - url: "https://pub.dartlang.org" - source: hosted - version: "4.2.0" - archive: - dependency: transitive - description: - name: archive - url: "https://pub.dartlang.org" - source: hosted - version: "3.3.5" - args: - dependency: transitive - description: - name: args - url: "https://pub.dartlang.org" - source: hosted - version: "2.3.1" - async: - dependency: transitive - description: - name: async - url: "https://pub.dartlang.org" - source: hosted - version: "2.9.0" - back_button_interceptor: - dependency: transitive - description: - name: back_button_interceptor - url: "https://pub.dartlang.org" - source: hosted - version: "6.0.2" - barcode: - dependency: transitive - description: - name: barcode - url: "https://pub.dartlang.org" - source: hosted - version: "2.2.3" - barcode_widget: - dependency: "direct main" - description: - name: barcode_widget - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.3" - bip_topl: - dependency: "direct main" - description: - name: bip_topl - url: "https://pub.dartlang.org" - source: hosted - version: "0.0.2" - boolean_selector: - dependency: transitive - description: - name: boolean_selector - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.0" - brambldart: - dependency: "direct main" - description: - path: "." - ref: TSDK-133 - resolved-ref: "9c3edfba1edc8f6ecaf03f34ec71f44e17141b04" - url: "https://github.com/Topl/BramblDart" - source: git - version: "0.0.1" - build: - dependency: transitive - description: - name: build - url: "https://pub.dartlang.org" - source: hosted - version: "2.3.1" - build_config: - dependency: transitive - description: - name: build_config - url: "https://pub.dartlang.org" - source: hosted - version: "1.1.1" - build_daemon: - dependency: transitive - description: - name: build_daemon - url: "https://pub.dartlang.org" - source: hosted - version: "3.1.0" - build_resolvers: - dependency: transitive - description: - name: build_resolvers - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.10" - build_runner: - dependency: "direct dev" - description: - name: build_runner - url: "https://pub.dartlang.org" - source: hosted - version: "2.3.0" - build_runner_core: - dependency: transitive - description: - name: build_runner_core - url: "https://pub.dartlang.org" - source: hosted - version: "7.2.7" - built_collection: - dependency: transitive - description: - name: built_collection - url: "https://pub.dartlang.org" - source: hosted - version: "5.1.1" - built_value: - dependency: "direct main" - description: - name: built_value - url: "https://pub.dartlang.org" - source: hosted - version: "8.4.3" - built_value_generator: - dependency: "direct dev" - description: - name: built_value_generator - url: "https://pub.dartlang.org" - source: hosted - version: "8.4.3" - characters: - dependency: transitive - description: - name: characters - url: "https://pub.dartlang.org" - source: hosted - version: "1.2.1" - charcode: - dependency: transitive - description: - name: charcode - url: "https://pub.dartlang.org" - source: hosted - version: "1.3.1" - checked_yaml: - dependency: transitive - description: - name: checked_yaml - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.2" - cli_pkg: - dependency: transitive - description: - name: cli_pkg - url: "https://pub.dartlang.org" - source: hosted - version: "1.7.0" - cli_util: - dependency: transitive - description: - name: cli_util - url: "https://pub.dartlang.org" - source: hosted - version: "0.3.5" - clock: - dependency: transitive - description: - name: clock - url: "https://pub.dartlang.org" - source: hosted - version: "1.1.1" - code_builder: - dependency: transitive - description: - name: code_builder - url: "https://pub.dartlang.org" - source: hosted - version: "4.4.0" - collection: - dependency: transitive - description: - name: collection - url: "https://pub.dartlang.org" - source: hosted - version: "1.16.0" - convert: - dependency: transitive - description: - name: convert - url: "https://pub.dartlang.org" - source: hosted - version: "3.1.1" - coverage: - dependency: transitive - description: - name: coverage - url: "https://pub.dartlang.org" - source: hosted - version: "1.6.1" - crypto: - dependency: transitive - description: - name: crypto - url: "https://pub.dartlang.org" - source: hosted - version: "3.0.2" - cupertino_icons: - dependency: "direct main" - description: - name: cupertino_icons - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.5" - dart_style: - dependency: transitive - description: - name: dart_style - url: "https://pub.dartlang.org" - source: hosted - version: "2.2.4" - device_frame: - dependency: transitive - description: - name: device_frame - url: "https://pub.dartlang.org" - source: hosted - version: "1.1.0" - dio: - dependency: transitive - description: - name: dio - url: "https://pub.dartlang.org" - source: hosted - version: "4.0.6" - docker_process: - dependency: transitive - description: - name: docker_process - url: "https://pub.dartlang.org" - source: hosted - version: "1.3.1" - dotted_border: - dependency: "direct main" - description: - name: dotted_border - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.0+3" - dropdown_button2: - dependency: transitive - description: - name: dropdown_button2 - url: "https://pub.dartlang.org" - source: hosted - version: "1.9.2" - fake_async: - dependency: transitive - description: - name: fake_async - url: "https://pub.dartlang.org" - source: hosted - version: "1.3.1" - ffi: - dependency: transitive - description: - name: ffi - url: "https://pub.dartlang.org" - source: hosted - version: "1.2.1" - file: - dependency: transitive - description: - name: file - url: "https://pub.dartlang.org" - source: hosted - version: "6.1.4" - file_picker: - dependency: "direct main" - description: - name: file_picker - url: "https://pub.dartlang.org" - source: hosted - version: "4.6.1" - fixnum: - dependency: transitive - description: - name: fixnum - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.1" - flutter: - dependency: "direct main" - description: flutter - source: sdk - version: "0.0.0" - flutter_keyboard_visibility: - dependency: "direct main" - description: - name: flutter_keyboard_visibility - url: "https://pub.dartlang.org" - source: hosted - version: "5.4.0" - flutter_keyboard_visibility_linux: - dependency: transitive - description: - name: flutter_keyboard_visibility_linux - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.0" - flutter_keyboard_visibility_macos: - dependency: transitive - description: - name: flutter_keyboard_visibility_macos - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.0" - flutter_keyboard_visibility_platform_interface: - dependency: transitive - description: - name: flutter_keyboard_visibility_platform_interface - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.0" - flutter_keyboard_visibility_web: - dependency: transitive - description: - name: flutter_keyboard_visibility_web - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.0" - flutter_keyboard_visibility_windows: - dependency: transitive - description: - name: flutter_keyboard_visibility_windows - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.0" - flutter_launcher_icons: - dependency: "direct dev" - description: - name: flutter_launcher_icons - url: "https://pub.dartlang.org" - source: hosted - version: "0.11.0" - flutter_lints: - dependency: "direct dev" - description: - name: flutter_lints - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.1" - flutter_native_splash: - dependency: "direct main" - description: - name: flutter_native_splash - url: "https://pub.dartlang.org" - source: hosted - version: "2.2.0+1" - flutter_plugin_android_lifecycle: - dependency: transitive - description: - name: flutter_plugin_android_lifecycle - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.7" - flutter_portal: - dependency: "direct main" - description: - name: flutter_portal - url: "https://pub.dartlang.org" - source: hosted - version: "0.4.0" - flutter_redux: - dependency: "direct main" - description: - name: flutter_redux - url: "https://pub.dartlang.org" - source: hosted - version: "0.10.0" - flutter_secure_storage: - dependency: "direct main" - description: - name: flutter_secure_storage - url: "https://pub.dartlang.org" - source: hosted - version: "7.0.1" - flutter_secure_storage_linux: - dependency: transitive - description: - name: flutter_secure_storage_linux - url: "https://pub.dartlang.org" - source: hosted - version: "1.1.2" - flutter_secure_storage_macos: - dependency: transitive - description: - name: flutter_secure_storage_macos - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.1" - flutter_secure_storage_platform_interface: - dependency: transitive - description: - name: flutter_secure_storage_platform_interface - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.1" - flutter_secure_storage_web: - dependency: transitive - description: - name: flutter_secure_storage_web - url: "https://pub.dartlang.org" - source: hosted - version: "1.1.1" - flutter_secure_storage_windows: - dependency: transitive - description: - name: flutter_secure_storage_windows - url: "https://pub.dartlang.org" - source: hosted - version: "1.1.3" - flutter_svg: - dependency: "direct main" - description: - name: flutter_svg - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.3" - flutter_test: - dependency: "direct dev" - description: flutter - source: sdk - version: "0.0.0" - flutter_web_plugins: - dependency: transitive - description: flutter - source: sdk - version: "0.0.0" - freezed_annotation: - dependency: transitive - description: - name: freezed_annotation - url: "https://pub.dartlang.org" - source: hosted - version: "2.2.0" - frontend_server_client: - dependency: transitive - description: - name: frontend_server_client - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.3" - get: - dependency: transitive - description: - name: get - url: "https://pub.dartlang.org" - source: hosted - version: "4.6.5" - get_it: - dependency: "direct main" - description: - name: get_it - url: "https://pub.dartlang.org" - source: hosted - version: "7.2.0" - glob: - dependency: transitive - description: - name: glob - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.1" - go_router: - dependency: transitive - description: - name: go_router - url: "https://pub.dartlang.org" - source: hosted - version: "3.1.1" - google_fonts: - dependency: "direct main" - description: - name: google_fonts - url: "https://pub.dartlang.org" - source: hosted - version: "3.0.1" - googleapis_auth: - dependency: transitive - description: - name: googleapis_auth - url: "https://pub.dartlang.org" - source: hosted - version: "1.3.1" - graphs: - dependency: transitive - description: - name: graphs - url: "https://pub.dartlang.org" - source: hosted - version: "2.2.0" - grinder: - dependency: transitive - description: - name: grinder - url: "https://pub.dartlang.org" - source: hosted - version: "0.9.2" - grpc: - dependency: "direct main" - description: - name: grpc - url: "https://pub.dartlang.org" - source: hosted - version: "3.1.0" - http: - dependency: transitive - description: - name: http - url: "https://pub.dartlang.org" - source: hosted - version: "0.13.5" - http2: - dependency: transitive - description: - name: http2 - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.1" - http_multi_server: - dependency: transitive - description: - name: http_multi_server - url: "https://pub.dartlang.org" - source: hosted - version: "3.2.1" - http_parser: - dependency: transitive - description: - name: http_parser - url: "https://pub.dartlang.org" - source: hosted - version: "4.0.2" - image: - dependency: transitive - description: - name: image - url: "https://pub.dartlang.org" - source: hosted - version: "3.1.3" - import_sorter: - dependency: "direct main" - description: - name: import_sorter - url: "https://pub.dartlang.org" - source: hosted - version: "4.6.0" - intl: - dependency: "direct main" - description: - name: intl - url: "https://pub.dartlang.org" - source: hosted - version: "0.17.0" - io: - dependency: transitive - description: - name: io - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.3" - js: - dependency: transitive - description: - name: js - url: "https://pub.dartlang.org" - source: hosted - version: "0.6.4" - json_annotation: - dependency: transitive - description: - name: json_annotation - url: "https://pub.dartlang.org" - source: hosted - version: "4.7.0" - lazy_load_scrollview: - dependency: "direct main" - description: - name: lazy_load_scrollview - url: "https://pub.dartlang.org" - source: hosted - version: "1.3.0" - lint: - dependency: transitive - description: - name: lint - url: "https://pub.dartlang.org" - source: hosted - version: "1.10.0" - lints: - dependency: transitive - description: - name: lints - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.1" - loader_overlay: - dependency: "direct main" - description: - name: loader_overlay - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.0" - loading_overlay: - dependency: "direct main" - description: - name: loading_overlay - url: "https://pub.dartlang.org" - source: hosted - version: "0.3.0" - local_auth: - dependency: "direct main" - description: - name: local_auth - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.3" - local_auth_android: - dependency: transitive - description: - name: local_auth_android - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.17" - local_auth_ios: - dependency: transitive - description: - name: local_auth_ios - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.12" - local_auth_platform_interface: - dependency: transitive - description: - name: local_auth_platform_interface - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.6" - local_auth_windows: - dependency: transitive - description: - name: local_auth_windows - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.4" - logging: - dependency: transitive - description: - name: logging - url: "https://pub.dartlang.org" - source: hosted - version: "1.1.0" - matcher: - dependency: transitive - description: - name: matcher - url: "https://pub.dartlang.org" - source: hosted - version: "0.12.12" - material_color_utilities: - dependency: transitive - description: - name: material_color_utilities - url: "https://pub.dartlang.org" - source: hosted - version: "0.1.5" - meta: - dependency: transitive - description: - name: meta - url: "https://pub.dartlang.org" - source: hosted - version: "1.8.0" - mime: - dependency: transitive - description: - name: mime - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.3" - mockito: - dependency: "direct main" - description: - name: mockito - url: "https://pub.dartlang.org" - source: hosted - version: "5.3.2" - nested: - dependency: transitive - description: - name: nested - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.0" - node_interop: - dependency: transitive - description: - name: node_interop - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.0" - node_preamble: - dependency: transitive - description: - name: node_preamble - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.1" - package_config: - dependency: transitive - description: - name: package_config - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.0" - path: - dependency: transitive - description: - name: path - url: "https://pub.dartlang.org" - source: hosted - version: "1.8.2" - path_drawing: - dependency: transitive - description: - name: path_drawing - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.1" - path_parsing: - dependency: transitive - description: - name: path_parsing - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.1" - path_provider: - dependency: "direct main" - description: - name: path_provider - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.11" - path_provider_android: - dependency: transitive - description: - name: path_provider_android - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.22" - path_provider_ios: - dependency: transitive - description: - name: path_provider_ios - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.11" - path_provider_linux: - dependency: transitive - description: - name: path_provider_linux - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.7" - path_provider_macos: - dependency: transitive - description: - name: path_provider_macos - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.6" - path_provider_platform_interface: - dependency: transitive - description: - name: path_provider_platform_interface - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.5" - path_provider_windows: - dependency: transitive - description: - name: path_provider_windows - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.7" - petitparser: - dependency: transitive - description: - name: petitparser - url: "https://pub.dartlang.org" - source: hosted - version: "5.1.0" - pinenacl: - dependency: transitive - description: - name: pinenacl - url: "https://pub.dartlang.org" - source: hosted - version: "0.3.4" - platform: - dependency: transitive - description: - name: platform - url: "https://pub.dartlang.org" - source: hosted - version: "3.1.0" - plugin_platform_interface: - dependency: transitive - description: - name: plugin_platform_interface - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.3" - pointycastle: - dependency: transitive - description: - name: pointycastle - url: "https://pub.dartlang.org" - source: hosted - version: "3.6.2" - pool: - dependency: transitive - description: - name: pool - url: "https://pub.dartlang.org" - source: hosted - version: "1.5.1" - process: - dependency: transitive - description: - name: process - url: "https://pub.dartlang.org" - source: hosted - version: "4.2.4" - progress_indicators: - dependency: "direct main" - description: - name: progress_indicators - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.0" - protobuf: - dependency: transitive - description: - name: protobuf - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.0" - provider: - dependency: transitive - description: - name: provider - url: "https://pub.dartlang.org" - source: hosted - version: "6.0.5" - pub_semver: - dependency: transitive - description: - name: pub_semver - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.3" - pubspec_parse: - dependency: transitive - description: - name: pubspec_parse - url: "https://pub.dartlang.org" - source: hosted - version: "1.2.1" - qr: - dependency: transitive - description: - name: qr - url: "https://pub.dartlang.org" - source: hosted - version: "3.0.1" - redux: - dependency: "direct main" - description: - name: redux - url: "https://pub.dartlang.org" - source: hosted - version: "5.0.0" - redux_epics: - dependency: "direct main" - description: - name: redux_epics - url: "https://pub.dartlang.org" - source: hosted - version: "0.15.1" - ribn_toolkit: - dependency: "direct main" - description: - path: "." - ref: main - resolved-ref: "8b65d0cc2fc014c699be29064cca73e182879798" - url: "https://github.com/Topl/ribn-toolkit" - source: git - version: "1.0.0+1" - rxdart: - dependency: "direct main" - description: - name: rxdart - url: "https://pub.dartlang.org" - source: hosted - version: "0.27.7" - scroll_to_index: - dependency: transitive - description: - name: scroll_to_index - url: "https://pub.dartlang.org" - source: hosted - version: "3.0.1" - shelf: - dependency: transitive - description: - name: shelf - url: "https://pub.dartlang.org" - source: hosted - version: "1.4.0" - shelf_packages_handler: - dependency: transitive - description: - name: shelf_packages_handler - url: "https://pub.dartlang.org" - source: hosted - version: "3.0.1" - shelf_static: - dependency: transitive - description: - name: shelf_static - url: "https://pub.dartlang.org" - source: hosted - version: "1.1.1" - shelf_web_socket: - dependency: transitive - description: - name: shelf_web_socket - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.3" - shimmer_animation: - dependency: "direct main" - description: - name: shimmer_animation - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.0+1" - sky_engine: - dependency: transitive - description: flutter - source: sdk - version: "0.0.99" - source_gen: - dependency: transitive - description: - name: source_gen - url: "https://pub.dartlang.org" - source: hosted - version: "1.2.6" - source_map_stack_trace: - dependency: transitive - description: - name: source_map_stack_trace - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.1" - source_maps: - dependency: transitive - description: - name: source_maps - url: "https://pub.dartlang.org" - source: hosted - version: "0.10.11" - source_span: - dependency: transitive - description: - name: source_span - url: "https://pub.dartlang.org" - source: hosted - version: "1.9.0" - stack_trace: - dependency: transitive - description: - name: stack_trace - url: "https://pub.dartlang.org" - source: hosted - version: "1.10.0" - step_progress_indicator: - dependency: "direct main" - description: - name: step_progress_indicator - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.2" - steps_indicator: - dependency: "direct main" - description: - name: steps_indicator - url: "https://pub.dartlang.org" - source: hosted - version: "1.3.0" - stream_channel: - dependency: transitive - description: - name: stream_channel - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.0" - stream_transform: - dependency: transitive - description: - name: stream_transform - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.0" - string_scanner: - dependency: transitive - description: - name: string_scanner - url: "https://pub.dartlang.org" - source: hosted - version: "1.1.1" - term_glyph: - dependency: transitive - description: - name: term_glyph - url: "https://pub.dartlang.org" - source: hosted - version: "1.2.1" - test: - dependency: transitive - description: - name: test - url: "https://pub.dartlang.org" - source: hosted - version: "1.21.4" - test_api: - dependency: transitive - description: - name: test_api - url: "https://pub.dartlang.org" - source: hosted - version: "0.4.12" - test_core: - dependency: transitive - description: - name: test_core - url: "https://pub.dartlang.org" - source: hosted - version: "0.4.16" - test_process: - dependency: transitive - description: - name: test_process - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.3" - timing: - dependency: transitive - description: - name: timing - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.0" - tint: - dependency: transitive - description: - name: tint - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.0" - typed_data: - dependency: transitive - description: - name: typed_data - url: "https://pub.dartlang.org" - source: hosted - version: "1.3.1" - universal_io: - dependency: transitive - description: - name: universal_io - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.4" - unorm_dart: - dependency: transitive - description: - name: unorm_dart - url: "https://pub.dartlang.org" - source: hosted - version: "0.2.0" - url_launcher: - dependency: "direct main" - description: - name: url_launcher - url: "https://pub.dartlang.org" - source: hosted - version: "6.1.7" - url_launcher_android: - dependency: transitive - description: - name: url_launcher_android - url: "https://pub.dartlang.org" - source: hosted - version: "6.0.22" - url_launcher_ios: - dependency: transitive - description: - name: url_launcher_ios - url: "https://pub.dartlang.org" - source: hosted - version: "6.0.17" - url_launcher_linux: - dependency: transitive - description: - name: url_launcher_linux - url: "https://pub.dartlang.org" - source: hosted - version: "3.0.1" - url_launcher_macos: - dependency: transitive - description: - name: url_launcher_macos - url: "https://pub.dartlang.org" - source: hosted - version: "3.0.1" - url_launcher_platform_interface: - dependency: transitive - description: - name: url_launcher_platform_interface - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.1" - url_launcher_web: - dependency: transitive - description: - name: url_launcher_web - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.13" - url_launcher_windows: - dependency: transitive - description: - name: url_launcher_windows - url: "https://pub.dartlang.org" - source: hosted - version: "3.0.1" - url_strategy: - dependency: "direct main" - description: - name: url_strategy - url: "https://pub.dartlang.org" - source: hosted - version: "0.2.0" - uuid: - dependency: transitive - description: - name: uuid - url: "https://pub.dartlang.org" - source: hosted - version: "3.0.7" - vector_math: - dependency: transitive - description: - name: vector_math - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.2" - vm_service: - dependency: transitive - description: - name: vm_service - url: "https://pub.dartlang.org" - source: hosted - version: "9.4.0" - watcher: - dependency: transitive - description: - name: watcher - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.2" - wave: - dependency: transitive - description: - name: wave - url: "https://pub.dartlang.org" - source: hosted - version: "0.2.2" - web_socket_channel: - dependency: transitive - description: - name: web_socket_channel - url: "https://pub.dartlang.org" - source: hosted - version: "2.2.0" - webkit_inspection_protocol: - dependency: transitive - description: - name: webkit_inspection_protocol - url: "https://pub.dartlang.org" - source: hosted - version: "1.2.0" - widgetbook: - dependency: transitive - description: - path: "packages/widgetbook" - ref: HEAD - resolved-ref: "45493c98c086800ced701c48f8a2a895ec8ae2a4" - url: "https://github.com/Topl/widgetbook" - source: git - version: "2.4.1" - widgetbook_annotation: - dependency: transitive - description: - name: widgetbook_annotation - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.0" - widgetbook_generator: - dependency: transitive - description: - name: widgetbook_generator - url: "https://pub.dartlang.org" - source: hosted - version: "2.4.1" - widgetbook_models: - dependency: transitive - description: - name: widgetbook_models - url: "https://pub.dartlang.org" - source: hosted - version: "0.0.7" - win32: - dependency: transitive - description: - name: win32 - url: "https://pub.dartlang.org" - source: hosted - version: "2.6.1" - xdg_directories: - dependency: transitive - description: - name: xdg_directories - url: "https://pub.dartlang.org" - source: hosted - version: "0.2.0+3" - xml: - dependency: transitive - description: - name: xml - url: "https://pub.dartlang.org" - source: hosted - version: "5.4.1" - yaml: - dependency: transitive - description: - name: yaml - url: "https://pub.dartlang.org" - source: hosted - version: "3.1.1" -sdks: - dart: ">=2.18.0 <3.0.0" - flutter: ">=3.0.1" From 7d8192e6b19240c2de61c3605fa21a6eadcdf2d0 Mon Sep 17 00:00:00 2001 From: Siphamandla Mjoli Date: Fri, 20 Jan 2023 16:46:23 +0200 Subject: [PATCH 58/58] update(tx_row_data): updated POLYS to nanoPOLYS --- .../transaction_data_row/transaction_data_row.dart | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/lib/presentation/transaction_history/transaction_data_row/transaction_data_row.dart b/lib/presentation/transaction_history/transaction_data_row/transaction_data_row.dart index 0c6ac561..9c7962df 100644 --- a/lib/presentation/transaction_history/transaction_data_row/transaction_data_row.dart +++ b/lib/presentation/transaction_history/transaction_data_row/transaction_data_row.dart @@ -1,21 +1,20 @@ // Dart imports: -// Flutter imports: -import 'package:flutter/material.dart'; - // Package imports: import 'package:brambldart/model.dart'; import 'package:brambldart/utils.dart'; +// Flutter imports: +import 'package:flutter/material.dart'; import 'package:flutter_redux/flutter_redux.dart'; import 'package:intl/intl.dart'; -import 'package:ribn_toolkit/constants/colors.dart'; -import 'package:ribn_toolkit/widgets/molecules/ribn_activity_tile.dart'; - // Project imports: import 'package:ribn/constants/assets.dart'; import 'package:ribn/models/app_state.dart'; import 'package:ribn/models/asset_details.dart'; import 'package:ribn/utils.dart'; +import 'package:ribn_toolkit/constants/colors.dart'; +import 'package:ribn_toolkit/widgets/molecules/ribn_activity_tile.dart'; + import '../../../constants/routes.dart'; class TransactionDataRow extends StatefulWidget { @@ -77,7 +76,7 @@ class _TransactionDataRowState extends State { ? widget.transactionReceipt.to.first.toJson()[1] : widget.transactionReceipt.to.first.toJson()[1]['quantity']; final Sender transactionSenderAddress = widget.transactionReceipt.from![0]; - final String fee = '${widget.transactionReceipt.fee!.quantity} POLYs'; + final String fee = '${widget.transactionReceipt.fee!.quantity} nanoPOLYs'; final Latin1Data? note = widget.transactionReceipt.data; final String securityRoot = isPolyTransaction ? ''