From 1cf4d0e585129ff9ef37cdab254ad74a1ca9ed91 Mon Sep 17 00:00:00 2001 From: Leon1777 <168653957+Leon1777@users.noreply.github.com> Date: Fri, 1 Nov 2024 14:37:19 +0100 Subject: [PATCH] update & refactor v3 - update translations - fix camera permission - cleanup and remove unused code - remove derivation path `111111`(Kaspa) support - reduce unused address buffer size - refactor backup secret phrase - refactor privacy overlay - remove unused logger - refactor db boxes - refactor navigation - refactor `network` and `networkId` (updates api/explorer url based on ports and network suffix) - backup sheet cleanup - refactor settings - support for BIP39 passphrase - enable 12 word standard wallets - fee non optional - add mass calculator - update grpc to rusty karlsen - TKLS on testnet - replace by fee and fee estimate rpc - support for priority fee and rbf - periodically update KLS price - revert `qr_code_scanner` and `flutter_vibrate` (fix in android\build.gradle; related to the fact that now flutter checks the versions of `compileSdkVersion` and `buildToolsVersion`. Some packages either specify outdated versions or do not specify them at all) - new white and dark theme - bump version to `3.0.0+1` --- android/build.gradle | 13 + lib/app.dart | 67 +- lib/app_providers.dart | 1 + lib/app_router.dart | 121 + lib/app_styles.dart | 9 - lib/chain_state/chain_state.dart | 2 +- lib/coingecko/coingecko_price_notifier.dart | 2 +- lib/coingecko/coingecko_providers.dart | 12 +- lib/contacts/contact_add_sheet.dart | 309 +- lib/contacts/contact_details.dart | 22 +- lib/contacts/contact_labels.dart | 17 +- lib/core/core_providers.dart | 132 +- lib/database/boxes.dart | 226 +- lib/database/boxes/generic_box.dart | 98 + lib/database/boxes/indexed_typed_box.dart | 26 + lib/database/boxes/lazy_typed_box.dart | 28 + lib/database/boxes/typed_box.dart | 30 + lib/database/database.dart | 29 +- lib/encrypt/crypter.dart | 2 +- lib/generated/intl/messages_all.dart | 63 - lib/generated/intl/messages_en.dart | 25 - lib/generated/l10n.dart | 78 - lib/intro/import_seed_options.dart | 81 + lib/intro/intro_actions_widget.dart | 9 +- lib/intro/intro_backup_seed.dart | 34 +- lib/intro/intro_data_notifier.dart | 49 +- lib/intro/intro_import_kpub.dart | 5 +- lib/intro/intro_import_seed.dart | 83 +- lib/intro/intro_import_select.dart | 18 +- lib/intro/intro_state_notifier.dart | 18 +- lib/intro/intro_types.dart | 4 +- lib/intro/intro_types.freezed.dart | 67 +- lib/intro/invalid_checksum_dialog.dart | 5 +- .../widgets/bip39_passphrase_button.dart | 44 + lib/intro/widgets/bip39_passphrase_label.dart | 31 + lib/intro/widgets/bip39_passphrase_sheet.dart | 180 + lib/intro/widgets/new_mnemonic_button.dart | 52 + lib/karlsen/bs58check/src/LICENSE | 21 - lib/karlsen/client/karlsen_client.dart | 139 +- lib/karlsen/grpc/messages.pb.dart | 5167 ++---- lib/karlsen/grpc/messages.pbenum.dart | 8 +- lib/karlsen/grpc/messages.pbgrpc.dart | 79 +- lib/karlsen/grpc/messages.pbjson.dart | 1545 +- lib/karlsen/grpc/p2p.pb.dart | 5110 ------ lib/karlsen/grpc/p2p.pbenum.dart | 6 - lib/karlsen/grpc/p2p.pbjson.dart | 1195 -- lib/karlsen/grpc/rpc.pb.dart | 13481 ++++++++-------- lib/karlsen/grpc/rpc.pbenum.dart | 63 +- lib/karlsen/grpc/rpc.pbjson.dart | 3336 ++-- lib/karlsen/karlsen.dart | 10 +- lib/karlsen/karlsen_api.dart | 1 + lib/karlsen/karlsen_api/karlsen_api.dart | 6 +- lib/karlsen/karlsen_api/karlsen_api_base.dart | 8 - .../karlsen_api/karlsen_api_mainnet.dart | 2 +- lib/karlsen/karlsen_api/types.dart | 6 + lib/karlsen/karlsen_client.dart | 1 + lib/karlsen/network.dart | 46 +- lib/karlsen/transaction.dart | 3 + .../mass_calculator.dart} | 93 +- .../transaction/transaction_builder.dart | 159 +- lib/karlsen/transaction/transaction_util.dart | 6 +- lib/karlsen/transaction/types.dart | 25 +- lib/karlsen/transaction/types.freezed.dart | 8 +- lib/karlsen/types.dart | 1 - lib/karlsen/types/address.dart | 9 +- lib/karlsen/types/address_balance.dart | 5 +- lib/karlsen/types/amount.dart | 2 +- lib/karlsen/utils.dart | 96 +- lib/karlsen/wallet_service.dart | 155 +- .../address_generator.dart | 3 +- lib/karlsen/wallet_service/send_tx.dart | 31 + .../wallet_service/send_tx.freezed.dart | 441 + .../{ => wallet_service}/signer_base.dart | 2 +- lib/karlsen/{ => wallet_service}/wallet.dart | 43 +- .../wallet_service/wallet_service.dart | 130 + lib/l10n/app_af.arb | 75 +- lib/l10n/app_ar.arb | 91 +- lib/l10n/app_bg.arb | 103 +- lib/l10n/app_bn.arb | 83 +- lib/l10n/app_ca.arb | 93 +- lib/l10n/app_cs.arb | 79 +- lib/l10n/app_da.arb | 77 +- lib/l10n/app_de.arb | 73 +- lib/l10n/app_el.arb | 197 +- lib/l10n/app_en.arb | 249 +- lib/l10n/app_es.arb | 73 +- lib/l10n/app_eu.arb | 75 +- lib/l10n/app_fa.arb | 73 +- lib/l10n/app_fi.arb | 79 +- lib/l10n/app_fr.arb | 223 +- lib/l10n/app_he.arb | 79 +- lib/l10n/app_hi.arb | 91 +- lib/l10n/app_hu.arb | 79 +- lib/l10n/app_id.arb | 75 +- lib/l10n/app_it.arb | 89 +- lib/l10n/app_ja.arb | 93 +- lib/l10n/app_ka.arb | 83 +- lib/l10n/app_ko.arb | 79 +- lib/l10n/app_lv.arb | 75 +- lib/l10n/app_ms.arb | 77 +- lib/l10n/app_nl.arb | 161 +- lib/l10n/app_no.arb | 75 +- lib/l10n/app_pl.arb | 75 +- lib/l10n/app_pt.arb | 72 +- lib/l10n/app_ro.arb | 75 +- lib/l10n/app_ru.arb | 79 +- lib/l10n/app_sk.arb | 360 + lib/l10n/app_sl.arb | 75 +- lib/l10n/app_sq.arb | 75 +- lib/l10n/app_sr.arb | 87 +- lib/l10n/app_sv.arb | 75 +- lib/l10n/app_te.arb | 81 +- lib/l10n/app_tl.arb | 75 +- lib/l10n/app_tr.arb | 74 +- lib/l10n/app_uk.arb | 75 +- lib/l10n/app_ur.arb | 75 +- lib/l10n/app_vi.arb | 75 +- lib/l10n/app_zh.arb | 75 +- lib/main.dart | 4 +- lib/main_card/main_card.dart | 2 +- lib/node_settings/node_add_sheet.dart | 33 +- lib/node_settings/node_item.dart | 19 +- lib/node_settings/node_providers.dart | 57 +- lib/node_settings/node_settings_notifier.dart | 58 + lib/node_settings/node_types.dart | 5 + lib/node_settings/node_types.freezed.dart | 36 +- lib/node_settings/node_types.g.dart | 2 + lib/node_settings/nodes_sheet.dart | 4 +- lib/receive/receive_amount_field.dart | 34 +- lib/receive/share_card.dart | 2 +- lib/screens/home_screen.dart | 120 +- lib/screens/intro_screen.dart | 25 +- lib/screens/lock_screen.dart | 121 +- lib/screens/logout_screen.dart | 7 +- lib/screens/password_lock_page.dart | 146 + lib/screens/password_lock_screen.dart | 156 +- lib/screens/privacy_overlay.dart | 1 + lib/screens/privacy_screen.dart | 60 + lib/screens/setup_wallet_screen.dart | 29 +- lib/screens/splash_screen.dart | 53 +- lib/send_sheet/balance_text_widget.dart | 9 +- lib/send_sheet/fee_sheet.dart | 201 + lib/send_sheet/fee_widget.dart | 4 +- lib/send_sheet/send_complete_sheet.dart | 5 +- lib/send_sheet/send_confirm_sheet.dart | 215 +- lib/send_sheet/send_sheet.dart | 72 +- .../address_settings.dart | 0 .../address_settings_notifier.dart | 2 +- .../address_settings_providers.dart | 2 +- .../address_settings_types.dart | 0 .../address_settings_types.freezed.dart | 0 .../address_settings_types.g.dart | 0 lib/settings/available_language.dart | 1 + lib/settings/block_explorer_notifier.dart | 13 +- lib/settings/block_explorer_settings.dart | 13 +- .../block_explorer_settings.freezed.dart | 27 +- lib/settings/block_explorer_settings.g.dart | 19 +- lib/settings/block_explorers.dart | 33 +- lib/settings/device_lock_timeout.dart | 51 - lib/settings/settings.dart | 1 - lib/settings/settings_providers.dart | 11 +- lib/settings/settings_repository.dart | 8 + lib/settings/tx_settings.dart | 3 + .../tx_settings/tx_settings_notifier.dart | 2 +- .../tx_settings/tx_settings_providers.dart | 2 +- .../tx_settings/tx_settings_types.dart | 0 .../tx_settings_types.freezed.dart | 0 .../tx_settings/tx_settings_types.g.dart | 0 lib/settings/wallet_settings.dart | 4 + .../wallet_settings/request_password.dart | 22 + .../wallet_settings_notifier.dart | 36 + .../wallet_settings_providers.dart | 16 + .../wallet_settings_types.dart | 16 + .../wallet_settings_types.freezed.dart | 155 + .../wallet_settings_types.g.dart | 26 + .../address_discovery_dialog.dart | 65 +- lib/settings_advanced/advanced_menu.dart | 12 +- .../compound_utxos_dialog.dart | 31 +- lib/settings_advanced/kpub_sheet.dart | 3 +- lib/settings_drawer/currency_dialog.dart | 3 +- .../disable_password_sheet.dart | 102 +- lib/settings_drawer/donate_menu.dart | 74 + lib/settings_drawer/donate_menu_item.dart | 24 +- lib/settings_drawer/language_dialog.dart | 6 +- lib/settings_drawer/network_menu.dart | 12 +- lib/settings_drawer/security_menu.dart | 284 +- lib/settings_drawer/seed_backup_sheet.dart | 55 +- lib/settings_drawer/set_password_sheet.dart | 154 +- lib/settings_drawer/settings_drawer.dart | 175 +- lib/settings_drawer/theme_dialog.dart | 3 +- lib/themes/karlsen_mobile_dark_theme.dart | 51 +- lib/themes/karlsen_mobile_light_theme.dart | 41 +- lib/transactions/send_tx.dart | 23 - lib/transactions/send_tx.freezed.dart | 274 - lib/transactions/transaction_card.dart | 18 +- lib/transactions/transaction_details.dart | 11 + .../transaction_details_sheet.dart | 31 +- lib/transactions/transaction_empty_list.dart | 6 +- lib/transactions/transaction_notifier.dart | 13 + lib/transactions/transaction_providers.dart | 33 +- lib/transactions/transaction_state_tag.dart | 4 + lib/transactions/transaction_types.dart | 33 +- .../transaction_types.freezed.dart | 352 +- lib/transactions/transactions_widget.dart | 66 +- lib/transactions/tx_cache_service.dart | 11 +- lib/transactions/tx_filter_dialog.dart | 15 +- lib/transactions/tx_filter_settings.dart | 3 +- lib/tx_report/tx_report_dialog.dart | 9 +- lib/tx_report/tx_report_sheet.dart | 3 +- lib/tx_report/tx_report_util.dart | 8 +- lib/util/auth_util.dart | 99 +- lib/util/biometrics.dart | 8 +- ...karlsen_util.dart => encryption_util.dart} | 32 +- lib/util/formatters/currency_formatter.dart | 5 +- lib/util/hapticutil.dart | 17 +- lib/util/lock_settings.dart | 17 +- lib/util/numberutil.dart | 3 +- lib/util/platform.dart | 3 +- lib/util/routes.dart | 11 + lib/util/ui_util.dart | 287 +- lib/util/user_data_util.dart | 19 +- lib/util/util.dart | 3 + lib/util/vault.dart | 7 +- lib/utils.dart | 95 - lib/utxos/utxo_card.dart | 44 +- lib/utxos/utxos_providers.dart | 3 + lib/utxos/utxos_selection_page.dart | 196 + lib/utxos/utxos_widget.dart | 9 +- lib/wallet/box_info_repository.dart | 114 + lib/wallet/wallet_bundle_notifier.dart | 90 +- lib/wallet/wallet_card.dart | 7 +- lib/wallet/wallet_providers.dart | 14 +- lib/wallet/wallet_repository.dart | 36 +- lib/wallet/wallet_types.dart | 34 +- lib/wallet/wallet_types.freezed.dart | 376 +- lib/wallet/wallet_types.g.dart | 52 +- lib/wallet/wallet_vault.dart | 22 +- lib/wallet_address/address_details_sheet.dart | 122 +- lib/wallet_address/address_filter_dialog.dart | 13 +- .../address_selection_sheet.dart | 11 +- .../wallet_address_manager.dart | 2 +- .../wallet_address_notifier.dart | 15 +- .../wallet_address_providers.dart | 17 +- .../wallet_addresses_sheet.dart | 5 +- lib/wallet_auth/wallet_auth_notifier.dart | 60 +- lib/wallet_auth/wallet_auth_providers.dart | 10 +- lib/wallet_auth/wallet_auth_types.dart | 15 +- .../wallet_auth_types.freezed.dart | 481 +- .../wallet_balance_providers.dart | 47 +- lib/wallet_home/wallet_home.dart | 7 +- lib/widgets/action_button.dart | 22 +- lib/widgets/amount_card.dart | 21 +- lib/widgets/amount_label.dart | 6 +- lib/widgets/dialog.dart | 9 +- lib/widgets/fiat_mode_icon.dart | 26 + lib/widgets/fiat_value_widget.dart | 3 +- lib/widgets/keyboard_widget.dart | 8 +- ..._icon_widget.dart => kls_icon_widget.dart} | 8 +- lib/widgets/logout_button.dart | 7 +- lib/widgets/network_banner.dart | 7 +- lib/widgets/notice_dialog.dart | 5 +- lib/widgets/pending_tx_dialog.dart | 81 + lib/widgets/pin_screen.dart | 14 +- lib/widgets/qr_scanner_widget.dart | 93 +- lib/widgets/sheet_util.dart | 17 +- lib/widgets/sheet_widget.dart | 88 +- lib/widgets/tap_outside_unfocus.dart | 4 +- linux/CMakeLists.txt | 2 +- macos/Flutter/GeneratedPluginRegistrant.swift | 2 - proto/messages.proto | 193 +- proto/p2p.proto | 290 - proto/rpc.proto | 380 +- pubspec.yaml | 36 +- test/bech32_test.dart | 1 - test/bip32/fixtures.json | 662 +- test/mass_calculator_test.dart | 235 + 276 files changed, 21088 insertions(+), 25127 deletions(-) create mode 100644 lib/app_router.dart create mode 100644 lib/database/boxes/generic_box.dart create mode 100644 lib/database/boxes/indexed_typed_box.dart create mode 100644 lib/database/boxes/lazy_typed_box.dart create mode 100644 lib/database/boxes/typed_box.dart delete mode 100644 lib/generated/intl/messages_all.dart delete mode 100644 lib/generated/intl/messages_en.dart delete mode 100644 lib/generated/l10n.dart create mode 100644 lib/intro/import_seed_options.dart create mode 100644 lib/intro/widgets/bip39_passphrase_button.dart create mode 100644 lib/intro/widgets/bip39_passphrase_label.dart create mode 100644 lib/intro/widgets/bip39_passphrase_sheet.dart create mode 100644 lib/intro/widgets/new_mnemonic_button.dart delete mode 100644 lib/karlsen/bs58check/src/LICENSE delete mode 100644 lib/karlsen/grpc/p2p.pb.dart delete mode 100644 lib/karlsen/grpc/p2p.pbenum.dart delete mode 100644 lib/karlsen/grpc/p2p.pbjson.dart create mode 100644 lib/karlsen/karlsen_api.dart create mode 100644 lib/karlsen/karlsen_client.dart create mode 100644 lib/karlsen/transaction.dart rename lib/karlsen/{txmass_calculator.dart => transaction/mass_calculator.dart} (51%) rename lib/karlsen/{ => wallet_service}/address_generator.dart (98%) create mode 100644 lib/karlsen/wallet_service/send_tx.dart create mode 100644 lib/karlsen/wallet_service/send_tx.freezed.dart rename lib/karlsen/{ => wallet_service}/signer_base.dart (84%) rename lib/karlsen/{ => wallet_service}/wallet.dart (81%) create mode 100644 lib/karlsen/wallet_service/wallet_service.dart create mode 100644 lib/l10n/app_sk.arb create mode 100644 lib/node_settings/node_settings_notifier.dart create mode 100644 lib/screens/password_lock_page.dart create mode 100644 lib/screens/privacy_screen.dart create mode 100644 lib/send_sheet/fee_sheet.dart rename lib/{wallet_address => settings}/address_settings.dart (100%) rename lib/{wallet_address => settings}/address_settings/address_settings_notifier.dart (96%) rename lib/{wallet_address => settings}/address_settings/address_settings_providers.dart (92%) rename lib/{wallet_address => settings}/address_settings/address_settings_types.dart (100%) rename lib/{wallet_address => settings}/address_settings/address_settings_types.freezed.dart (100%) rename lib/{wallet_address => settings}/address_settings/address_settings_types.g.dart (100%) delete mode 100644 lib/settings/device_lock_timeout.dart delete mode 100644 lib/settings/settings.dart create mode 100644 lib/settings/settings_repository.dart create mode 100644 lib/settings/tx_settings.dart rename lib/{transactions => settings}/tx_settings/tx_settings_notifier.dart (94%) rename lib/{transactions => settings}/tx_settings/tx_settings_providers.dart (90%) rename lib/{transactions => settings}/tx_settings/tx_settings_types.dart (100%) rename lib/{transactions => settings}/tx_settings/tx_settings_types.freezed.dart (100%) rename lib/{transactions => settings}/tx_settings/tx_settings_types.g.dart (100%) create mode 100644 lib/settings/wallet_settings.dart create mode 100644 lib/settings/wallet_settings/request_password.dart create mode 100644 lib/settings/wallet_settings/wallet_settings_notifier.dart create mode 100644 lib/settings/wallet_settings/wallet_settings_providers.dart create mode 100644 lib/settings/wallet_settings/wallet_settings_types.dart create mode 100644 lib/settings/wallet_settings/wallet_settings_types.freezed.dart create mode 100644 lib/settings/wallet_settings/wallet_settings_types.g.dart create mode 100644 lib/settings_drawer/donate_menu.dart delete mode 100644 lib/transactions/send_tx.dart delete mode 100644 lib/transactions/send_tx.freezed.dart rename lib/util/{karlsen_util.dart => encryption_util.dart} (65%) delete mode 100644 lib/utils.dart create mode 100644 lib/utxos/utxos_selection_page.dart create mode 100644 lib/wallet/box_info_repository.dart create mode 100644 lib/widgets/fiat_mode_icon.dart rename lib/widgets/{karlsen_icon_widget.dart => kls_icon_widget.dart} (81%) create mode 100644 lib/widgets/pending_tx_dialog.dart delete mode 100644 proto/p2p.proto create mode 100644 test/mass_calculator_test.dart diff --git a/android/build.gradle b/android/build.gradle index 96014bbb..aa401b35 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -23,6 +23,19 @@ rootProject.buildDir = '../build' subprojects { project.buildDir = "${rootProject.buildDir}/${project.name}" } + +subprojects { + afterEvaluate { project -> + if (project.plugins.hasPlugin("com.android.application") || + project.plugins.hasPlugin("com.android.library")) { + project.android { + compileSdkVersion 34 + buildToolsVersion "34.0.0" + } + } + } +} + subprojects { project.evaluationDependsOn(':app') } diff --git a/lib/app.dart b/lib/app.dart index 219e6357..51e44567 100644 --- a/lib/app.dart +++ b/lib/app.dart @@ -3,24 +3,17 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_displaymode/flutter_displaymode.dart'; import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:flutter_portal/flutter_portal.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:oktoast/oktoast.dart'; import 'app_constants.dart'; import 'app_providers.dart'; +import 'app_router.dart'; import 'app_styles.dart'; import 'l10n/l10n.dart'; -import 'screens/home_screen.dart'; -import 'screens/intro_screen.dart'; -import 'screens/lock_screen.dart'; -import 'screens/logout_screen.dart'; -import 'screens/password_lock_screen.dart'; -import 'screens/setup_wallet_screen.dart'; -import 'screens/splash_screen.dart'; +import 'screens/privacy_screen.dart'; import 'themes/themes.dart'; import 'util/platform.dart'; -import 'util/routes.dart'; class App extends HookConsumerWidget { const App({Key? key}) : super(key: key); @@ -51,7 +44,7 @@ class App extends HookConsumerWidget { useEffect(() { final appLinks = AppLinks(); - final sub = appLinks.stringLinkStream.listen((appLink) { + final sub = appLinks.allStringLinkStream.listen((appLink) { ref.read(appLinkProvider.notifier).state = appLink; }); return sub.cancel; @@ -66,7 +59,7 @@ class App extends HookConsumerWidget { minHeight: 480, maxWidth: 720, ), - child: Portal( + child: PrivacyScreen( child: OKToast( position: ToastPosition(align: Alignment.topCenter, offset: 40), textStyle: styles.textStyleSnackbar, @@ -104,56 +97,8 @@ class App extends HookConsumerWidget { localizationsDelegates: AppLocalizations.localizationsDelegates, supportedLocales: AppLocalizations.supportedLocales, locale: language.getLocale(), - initialRoute: '/', - onGenerateRoute: (RouteSettings settings) { - switch (settings.name) { - case '/intro': - return NoTransitionRoute( - builder: (_) => const IntroScreen(), - settings: settings, - ); - case '/home': - return NoTransitionRoute( - builder: (_) => const HomeScreen(), - settings: settings, - ); - // case '/home_transition': - // return NoPopTransitionRoute( - // builder: (_) => const HomeScreen(), - // settings: settings, - // ); - case '/lock_screen': - return NoTransitionRoute( - builder: (_) => const LockScreen(), - settings: settings, - ); - case '/lock_screen_transition': - return MaterialPageRoute( - builder: (_) => const LockScreen(), - settings: settings, - ); - case '/password_lock_screen': - return NoTransitionRoute( - builder: (_) => const PasswordLockScreen(), - settings: settings, - ); - case '/logout': - return NoTransitionRoute( - builder: (_) => const LogoutScreen(), - settings: settings, - ); - case '/wallet_setup': - return NoTransitionRoute( - builder: (_) => const SetupWalletScreen(), - settings: settings, - ); - default: - return NoTransitionRoute( - builder: (_) => const SplashScreen(), - settings: settings, - ); - } - }, + initialRoute: appRouter.initialRoute, + onGenerateRoute: appRouter.onGenerateRoute, ), ), ), diff --git a/lib/app_providers.dart b/lib/app_providers.dart index d6d737a9..9d693231 100644 --- a/lib/app_providers.dart +++ b/lib/app_providers.dart @@ -1,6 +1,7 @@ export 'coingecko/coingecko_providers.dart'; export 'contacts/contacts_providers.dart'; export 'core/core_providers.dart'; +export 'node_settings/node_providers.dart'; export 'settings/settings_providers.dart'; export 'transactions/transaction_providers.dart'; export 'txnotes/txnotes_providers.dart'; diff --git a/lib/app_router.dart b/lib/app_router.dart new file mode 100644 index 00000000..4b22d991 --- /dev/null +++ b/lib/app_router.dart @@ -0,0 +1,121 @@ +import 'package:flutter/material.dart'; + +import 'screens/screens.dart'; +import 'util/routes.dart'; + +final appRouter = AppRouter(); + +class _AppScreens { + static const splash = '/'; + static const intro = '/intro'; + static const wallet = '/wallet'; + static const locked = '/locked'; + static const lockedWithTransition = '/locked_with_transition'; + static const passwordLocked = '/password_locked'; + static const logout = '/logout'; + static const setupWallet = '/setup_wallet'; +} + +class AppRouter { + void reload(BuildContext context) => + _replaceWith(_AppScreens.splash, context); + + void startIntro(BuildContext context) => + _replaceWith(_AppScreens.intro, context); + + void setupWallet(BuildContext context) => + _replaceWith(_AppScreens.setupWallet, context); + + void requireUnlock(BuildContext context) => + _replaceWith(_AppScreens.locked, context); + + void lockoutkWithTransition(BuildContext context) => + _replaceWith(_AppScreens.lockedWithTransition, context); + + void requirePassword(BuildContext context) => + _replaceWith(_AppScreens.passwordLocked, context); + + void openWallet(BuildContext context) => + _replaceWith(_AppScreens.wallet, context); + + void logout(BuildContext context) => + _replaceWith(_AppScreens.logout, context); + + bool isTopRoute(BuildContext context) { + bool isTopRoute = false; + Navigator.of(context).popUntil((route) { + isTopRoute = route is T; + return true; + }); + return isTopRoute; + } + + Future _replaceWith(String screenName, BuildContext context) { + return Navigator.of(context).pushNamedAndRemoveUntil( + screenName, + (_) => false, + ); + } + + Future push(BuildContext context, Route route) { + return Navigator.of(context).push(route); + } + + void pop(BuildContext context, {T? withResult = null}) { + Navigator.of(context).pop(withResult); + } + + Future pushAndRemoveUntilHome(BuildContext context, Route route) { + return Navigator.of(context).pushAndRemoveUntil( + route, + RouteUtils.withNameLike(_AppScreens.wallet), + ); + } + + String initialRoute = _AppScreens.splash; + + RouteFactory onGenerateRoute = (RouteSettings settings) { + switch (settings.name) { + case _AppScreens.intro: + return NoTransitionRoute( + builder: (_) => const IntroScreen(), + settings: settings, + ); + case _AppScreens.wallet: + return NoTransitionRoute( + builder: (_) => const HomeScreen(), + settings: settings, + ); + case _AppScreens.locked: + return BarrierRoute( + builder: (_) => const LockScreen(), + settings: settings, + ); + case _AppScreens.lockedWithTransition: + return BarrierRoute( + builder: (_) => const LockScreen(), + settings: settings, + ); + case _AppScreens.passwordLocked: + return NoTransitionRoute( + builder: (_) => const PasswordLockScreen(), + settings: settings, + ); + case _AppScreens.logout: + return NoTransitionRoute( + builder: (_) => const LogoutScreen(), + settings: settings, + ); + case _AppScreens.setupWallet: + return NoTransitionRoute( + builder: (_) => const SetupWalletScreen(), + settings: settings, + ); + default: + return NoTransitionRoute( + builder: (_) => const SplashScreen(), + settings: settings, + ); + } + }; +} diff --git a/lib/app_styles.dart b/lib/app_styles.dart index 5e51f235..7bb9c270 100644 --- a/lib/app_styles.dart +++ b/lib/app_styles.dart @@ -1136,15 +1136,6 @@ class AppStyles { if (states.contains(WidgetState.pressed)) return theme.success30; return null; }), - // side: MaterialStateProperty.resolveWith( - // (Set states) { - // if (states.contains(MaterialState.pressed)) - // return BorderSide( - // color: theme.primary, - // width: 2, - // ); - // return null; - // }), ); } diff --git a/lib/chain_state/chain_state.dart b/lib/chain_state/chain_state.dart index 51f402c9..55382fc5 100644 --- a/lib/chain_state/chain_state.dart +++ b/lib/chain_state/chain_state.dart @@ -1,4 +1,4 @@ -import '../settings/settings_providers.dart'; +import '../settings/settings_repository.dart'; import 'chain_state_types.dart'; export 'chain_state_types.dart'; diff --git a/lib/coingecko/coingecko_price_notifier.dart b/lib/coingecko/coingecko_price_notifier.dart index d2bbe8c7..b3e5b4ff 100644 --- a/lib/coingecko/coingecko_price_notifier.dart +++ b/lib/coingecko/coingecko_price_notifier.dart @@ -1,6 +1,6 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; -import '../app_providers.dart'; +import '../settings/settings_repository.dart'; import 'coingecko_types.dart'; const _kCoinGeckoPriceKey = '_coingeckoPriceKey'; diff --git a/lib/coingecko/coingecko_providers.dart b/lib/coingecko/coingecko_providers.dart index b954b4fb..10cef806 100644 --- a/lib/coingecko/coingecko_providers.dart +++ b/lib/coingecko/coingecko_providers.dart @@ -13,8 +13,10 @@ final _karlsenPriceCacheProvider = return CoinGeckoPriceNotifier(repository); }); -final _karlsenPriceRemoteProvider = FutureProvider((ref) async { +final _karlsenPriceRemoteProvider = + FutureProvider.autoDispose((ref) async { ref.watch(remoteRefreshProvider); + ref.watch(timeProvider); final currency = ref.watch(currencyProvider); final fiat = currency.name.toLowerCase(); @@ -24,9 +26,9 @@ final _karlsenPriceRemoteProvider = FutureProvider((ref) async { // 60 seconds final maxCacheAge = 60 * 1000; - final nowTimestamp = DateTime.now().millisecondsSinceEpoch; + final timestamp = DateTime.now().millisecondsSinceEpoch; if (cached.currency == currency.currency && - nowTimestamp - cached.timestamp < maxCacheAge) { + timestamp - cached.timestamp < maxCacheAge) { log.d('Using cached CoinGecko exchange rates'); return cached; } @@ -40,7 +42,7 @@ final _karlsenPriceRemoteProvider = FutureProvider((ref) async { return CoinGeckoPrice( currency: currency.currency, price: Decimal.parse(price.toString()), - timestamp: nowTimestamp, + timestamp: timestamp, ); } catch (e, st) { log.e('Failed to fetch KLS exchange rate', error: e, stackTrace: st); @@ -50,7 +52,7 @@ final _karlsenPriceRemoteProvider = FutureProvider((ref) async { return CoinGeckoPrice( currency: currency.currency, price: Decimal.zero, - timestamp: nowTimestamp, + timestamp: timestamp, ); } }); diff --git a/lib/contacts/contact_add_sheet.dart b/lib/contacts/contact_add_sheet.dart index d172a7a1..ef134965 100755 --- a/lib/contacts/contact_add_sheet.dart +++ b/lib/contacts/contact_add_sheet.dart @@ -4,6 +4,7 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../app_icons.dart'; import '../app_providers.dart'; +import '../app_router.dart'; import '../karlsen/karlsen.dart'; import '../l10n/l10n.dart'; import '../util/formatters.dart'; @@ -13,7 +14,6 @@ import '../widgets/address_widgets.dart'; import '../widgets/app_text_field.dart'; import '../widgets/buttons.dart'; import '../widgets/sheet_widget.dart'; -import '../widgets/tap_outside_unfocus.dart'; import 'contact.dart'; class ContactAddSheet extends ConsumerStatefulWidget { @@ -88,129 +88,106 @@ class _ContactAddSheetState extends ConsumerState { final addressPrefix = ref.watch(addressPrefixProvider); - return TapOutsideUnfocus( - child: SheetWidget( - title: l10n.addContact, - mainWidget: Column( - children: [ - // Enter Name Container - AppTextField( - topMargin: MediaQuery.of(context).size.height * 0.14, - padding: const EdgeInsets.symmetric(horizontal: 30), - focusNode: _nameFocusNode, - controller: _nameController, - textInputAction: widget.address != null - ? TextInputAction.done - : TextInputAction.next, - hintText: _showNameHint ? l10n.contactNameHint : "", - keyboardType: TextInputType.text, - style: styles.textStyleAppTextFieldSimple, - inputFormatters: [ - LengthLimitingTextInputFormatter(20), - ContactFormatter() - ], - onSubmitted: (text) { - final scope = FocusScope.of(context); - if (widget.address == null) { - final address = _addressController.text; - final prefix = ref.read(addressPrefixProvider); - if (!Address.isValid(address, prefix)) { - scope.requestFocus(_addressFocusNode); - } else { - scope.unfocus(); - } + return SheetWidget( + title: l10n.addContact, + mainWidget: Column( + children: [ + // Enter Name Container + AppTextField( + topMargin: MediaQuery.of(context).size.height * 0.14, + padding: const EdgeInsets.symmetric(horizontal: 30), + focusNode: _nameFocusNode, + controller: _nameController, + textInputAction: widget.address != null + ? TextInputAction.done + : TextInputAction.next, + hintText: _showNameHint ? l10n.contactNameHint : "", + keyboardType: TextInputType.text, + style: styles.textStyleAppTextFieldSimple, + inputFormatters: [ + LengthLimitingTextInputFormatter(20), + ContactFormatter() + ], + onSubmitted: (text) { + final scope = FocusScope.of(context); + if (widget.address == null) { + final address = _addressController.text; + final prefix = ref.read(addressPrefixProvider); + if (!Address.isValid(address, prefix)) { + scope.requestFocus(_addressFocusNode); } else { scope.unfocus(); } - }, - ), - // Enter Name Error Container - Container( - margin: const EdgeInsets.only(top: 5, bottom: 5), - child: Text( - _nameValidationText, - style: styles.textStyleParagraphThinPrimary, - ), + } else { + scope.unfocus(); + } + }, + ), + // Enter Name Error Container + Container( + margin: const EdgeInsets.only(top: 5, bottom: 5), + child: Text( + _nameValidationText, + style: styles.textStyleParagraphThinPrimary, ), - // Enter Address container - AppTextField( - padding: !_shouldShowTextField() - ? EdgeInsets.symmetric(horizontal: 25, vertical: 15) - : EdgeInsets.zero, - focusNode: _addressFocusNode, - controller: _addressController, - style: _addressValid - ? styles.textStyleAddressText90 - : styles.textStyleAddressText60, - inputFormatters: [ - LengthLimitingTextInputFormatter(74), - ], - textInputAction: TextInputAction.done, - maxLines: null, - autocorrect: false, - hintText: _showAddressHint ? l10n.addressHint : '', - prefixButton: TextFieldButton( - icon: AppIcons.scan, - onPressed: () async { - final scanResult = await UserDataUtil.scanQrCode(context); - final data = scanResult; - if (data == null) { - UIUtil.showSnackbar(l10n.qrInvalidAddress, context); - } else { - final address = Address.tryParse( - data, - expectedPrefix: addressPrefix, - ); - if (mounted && address != null) { - setState(() { - _addressController.text = address.toString(); - _addressValidationText = ""; - _addressValid = true; - _addressValidAndUnfocused = true; - }); - _addressFocusNode.unfocus(); - } - } - }, - ), - fadePrefixOnCondition: true, - prefixShowFirstCondition: _showPasteButton, - suffixButton: TextFieldButton( - icon: AppIcons.paste, - onPressed: () async { - if (!_showPasteButton) { - return; - } - String? data = - await UserDataUtil.getClipboardText(DataType.ADDRESS); - if (data != null) { + ), + // Enter Address container + AppTextField( + padding: !_shouldShowTextField() + ? EdgeInsets.symmetric(horizontal: 25, vertical: 15) + : EdgeInsets.zero, + focusNode: _addressFocusNode, + controller: _addressController, + style: _addressValid + ? styles.textStyleAddressText90 + : styles.textStyleAddressText60, + inputFormatters: [ + LengthLimitingTextInputFormatter(74), + ], + textInputAction: TextInputAction.done, + maxLines: null, + autocorrect: false, + hintText: _showAddressHint ? l10n.addressHint : '', + prefixButton: TextFieldButton( + icon: AppIcons.scan, + onPressed: () async { + final scanResult = await UserDataUtil.scanQrCode(context); + final data = scanResult?.code; + if (data == null) { + UIUtil.showSnackbar(l10n.qrInvalidAddress, context); + } else { + final address = Address.tryParse( + data, + expectedPrefix: addressPrefix, + ); + if (mounted && address != null) { setState(() { + _addressController.text = address.toString(); + _addressValidationText = ""; _addressValid = true; - _showPasteButton = false; - _addressController.text = data; _addressValidAndUnfocused = true; }); _addressFocusNode.unfocus(); - } else { - setState(() { - _showPasteButton = true; - _addressValid = false; - }); } - }, - ), - fadeSuffixOnCondition: true, - suffixShowFirstCondition: _showPasteButton, - onChanged: (text) { - final address = Address.tryParse( - text, - expectedPrefix: addressPrefix, - ); - if (address != null) { + } + }, + ), + fadePrefixOnCondition: true, + prefixShowFirstCondition: _showPasteButton, + suffixButton: TextFieldButton( + icon: AppIcons.paste, + onPressed: () async { + if (!_showPasteButton) { + return; + } + String? data = + await UserDataUtil.getClipboardText(DataType.ADDRESS); + if (data != null) { setState(() { _addressValid = true; _showPasteButton = false; - _addressController.text = address.toString(); + _addressController.text = data; + _addressValidAndUnfocused = true; }); _addressFocusNode.unfocus(); } else { @@ -220,53 +197,73 @@ class _ContactAddSheetState extends ConsumerState { }); } }, - overrideTextFieldWidget: !_shouldShowTextField() - ? GestureDetector( - onTap: () { - if (widget.address != null) { - return; - } - setState(() { - _addressValidAndUnfocused = false; - }); - Future.delayed(Duration(milliseconds: 50), () { - FocusScope.of(context) - .requestFocus(_addressFocusNode); - }); - }, - child: AddressThreeLineText( - address: widget.address != null - ? widget.address! - : _addressController.text, - ), - ) - : null, ), - // Enter Address Error Container - Container( - margin: const EdgeInsets.only(top: 5, bottom: 5), - child: Text( - _addressValidationText, - style: styles.textStyleParagraphThinPrimary, - ), + fadeSuffixOnCondition: true, + suffixShowFirstCondition: _showPasteButton, + onChanged: (text) { + final address = Address.tryParse( + text, + expectedPrefix: addressPrefix, + ); + if (address != null) { + setState(() { + _addressValid = true; + _showPasteButton = false; + _addressController.text = address.toString(); + }); + _addressFocusNode.unfocus(); + } else { + setState(() { + _showPasteButton = true; + _addressValid = false; + }); + } + }, + overrideTextFieldWidget: !_shouldShowTextField() + ? GestureDetector( + onTap: () { + if (widget.address != null) { + return; + } + setState(() { + _addressValidAndUnfocused = false; + }); + Future.delayed(Duration(milliseconds: 50), () { + FocusScope.of(context).requestFocus(_addressFocusNode); + }); + }, + child: AddressThreeLineText( + address: widget.address != null + ? widget.address! + : _addressController.text, + ), + ) + : null, + ), + // Enter Address Error Container + Container( + margin: const EdgeInsets.only(top: 5, bottom: 5), + child: Text( + _addressValidationText, + style: styles.textStyleParagraphThinPrimary, ), - ], - ), - bottomWidget: Padding( - padding: const EdgeInsets.symmetric(horizontal: 28), - child: Column( - children: [ - PrimaryButton( - title: l10n.addContact, - onPressed: _addContact, - ), - const SizedBox(height: 16), - PrimaryOutlineButton( - title: l10n.close, - onPressed: () => Navigator.pop(context), - ), - ], ), + ], + ), + bottomWidget: Padding( + padding: const EdgeInsets.symmetric(horizontal: 28), + child: Column( + children: [ + PrimaryButton( + title: l10n.addContact, + onPressed: _addContact, + ), + const SizedBox(height: 16), + PrimaryOutlineButton( + title: l10n.close, + onPressed: () => appRouter.pop(context), + ), + ], ), ), ); @@ -286,7 +283,7 @@ class _ContactAddSheetState extends ConsumerState { await contacts.addContact(newContact); final l10n = l10nOf(context); UIUtil.showSnackbar(l10n.contactAdded(newContact.name), context); - Navigator.of(context).pop(); + appRouter.pop(context); } Future _validateForm() async { diff --git a/lib/contacts/contact_details.dart b/lib/contacts/contact_details.dart index f0606473..3e93e988 100755 --- a/lib/contacts/contact_details.dart +++ b/lib/contacts/contact_details.dart @@ -6,6 +6,7 @@ import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import '../app_providers.dart'; +import '../app_router.dart'; import '../l10n/l10n.dart'; import '../send_sheet/send_sheet.dart'; import '../util/ui_util.dart'; @@ -43,7 +44,7 @@ class ContactDetails extends HookConsumerWidget { ref.read(contactsProvider).removeContact(contact); final message = l10n.contactRemoved(contact.name); UIUtil.showSnackbar(message, context); - Navigator.of(context).pop(); + appRouter.pop(context); } void confirmDeleteContact() { @@ -67,13 +68,16 @@ class ContactDetails extends HookConsumerWidget { ); } - void showSendSheet() { - Navigator.of(context).pop(); - Sheets.showAppHeightNineSheet( - context: context, - theme: theme, - widget: SendSheet(contact: contact), - ); + Future showSendSheet() async { + appRouter.pop(context); + final (:cont, :rbf) = await UIUtil.checkForPendingTx(context, ref: ref); + if (cont) { + Sheets.showAppHeightNineSheet( + context: context, + theme: theme, + widget: SendSheet(contact: contact, rbf: rbf), + ); + } } return SafeArea( @@ -213,7 +217,7 @@ class ContactDetails extends HookConsumerWidget { const SizedBox(height: 16), PrimaryOutlineButton( title: l10n.close, - onPressed: () => Navigator.pop(context), + onPressed: () => appRouter.pop(context), ), ]), ), diff --git a/lib/contacts/contact_labels.dart b/lib/contacts/contact_labels.dart index 35b8a13d..f6adbabb 100644 --- a/lib/contacts/contact_labels.dart +++ b/lib/contacts/contact_labels.dart @@ -1,13 +1,14 @@ import 'contact.dart'; -const kKarlsenDevFundAddress = - 'karlsen:qqe3p64wpjf5y27kxppxrgks298ge6lhu6ws7ndx4tswzj7c84qkjlrspcuxw'; +// Create a list of Contact objects +final List kKarlsenDevFundAddress = [ + Contact( + name: '#KarlsenDevelopers', + address: + 'karlsen:qqe3p64wpjf5y27kxppxrgks298ge6lhu6ws7ndx4tswzj7c84qkjlrspcuxw', + ), +]; final labeledAddresses = Map.fromEntries( - const [ - Contact( - name: '#KarlsenDevelopers', - address: kKarlsenDevFundAddress, - ), - ].map((e) => MapEntry(e.address, e)), + kKarlsenDevFundAddress.map((e) => MapEntry(e.address, e)), ); diff --git a/lib/core/core_providers.dart b/lib/core/core_providers.dart index 2e9d8132..247403d9 100644 --- a/lib/core/core_providers.dart +++ b/lib/core/core_providers.dart @@ -1,10 +1,12 @@ import 'dart:async'; import 'dart:math'; +import 'package:decimal/decimal.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:logger/logger.dart'; import 'package:shared_preferences/shared_preferences.dart'; +import '../app_providers.dart'; import '../app_styles.dart'; import '../chain_state/chain_state.dart'; import '../database/database.dart'; @@ -12,14 +14,11 @@ import '../karlsen/grpc/rpc.pb.dart'; import '../karlsen/karlsen.dart'; import '../main_card/main_card_notifier.dart'; import '../main_card/main_card_state.dart'; -import '../node_settings/node_providers.dart'; -import '../settings/settings_providers.dart'; import '../util/auth_util.dart'; import '../util/biometrics.dart'; import '../util/hapticutil.dart'; import '../util/sharedprefsutil.dart'; import '../util/vault.dart'; -import '../utxos/utxos_providers.dart'; final timeProvider = StreamProvider.autoDispose((ref) { return Stream.periodic( @@ -54,8 +53,8 @@ final stylesProvider = Provider((ref) { final blockExplorerProvider = Provider((ref) { final settings = ref.watch(blockExplorerSettingsProvider); - final network = ref.watch(networkProvider); - return settings.explorerForNetwork(network); + final networkId = ref.watch(networkIdProvider); + return settings.explorerForNetwork(networkId); }); final sharedPrefsProvider = @@ -63,9 +62,7 @@ final sharedPrefsProvider = final hapticUtilProvider = Provider((ref) => const HapticUtil()); final authUtilProvider = Provider((ref) => AuthUtil(ref)); -final biometricUtilProvider = Provider( - (ref) => BiometricUtil(ref.watch(loggerProvider)), -); +final biometricUtilProvider = Provider((ref) => BiometricUtil()); final vaultProvider = Provider((ref) => Vault()); final sharedPrefsUtilProvider = Provider((ref) { final sharedPrefs = ref.watch(sharedPrefsProvider); @@ -83,6 +80,11 @@ final networkProvider = Provider((ref) { return config.network; }); +final networkIdProvider = Provider((ref) { + final config = ref.watch(karlsenNodeConfigProvider); + return config.networkId; +}); + final addressPrefixProvider = Provider((ref) { final network = ref.watch(networkProvider); final prefix = addressPrefixForNetwork(network); @@ -91,11 +93,17 @@ final addressPrefixProvider = Provider((ref) { }); final _karlsenApiProvider = Provider((ref) { - final network = ref.watch(networkProvider); - if (network == KarlsenNetwork.mainnet) { - return KarlsenApiMainnet('https://api.karlsencoin.com'); - } - return KarlsenApiEmpty(); + final networkId = ref.watch(networkIdProvider); + + return switch (networkId) { + kKarlsenNetworkIdMainnet => + KarlsenApiMainnet('https://api.karlsencoin.com'), + kKarlsenNetworkIdTestnet10 => + KarlsenApiMainnet('https://api.testnet-1.karlsencoin.com'), + kKarlsenNetworkIdTestnet11 => + KarlsenApiMainnet('https://api.testnet-11.karlsencoin.com'), + _ => KarlsenApiEmpty(), + }; }); final karlsenApiServiceProvider = Provider((ref) { @@ -119,7 +127,7 @@ final karlsenClientProvider = Provider((ref) { }); final balancesForAddressesProvider = FutureProvider.family - .autoDispose, List>( + .autoDispose, List>( (ref, addresses) async { final client = ref.watch(karlsenClientProvider); final balance = await client.getBalancesByAddresses(addresses); @@ -178,6 +186,7 @@ final virtualSelectedParentBlueScoreStreamProvider = StreamProvider((ref) { final remoteRefreshProvider = StateProvider((ref) => 0); final lockDisabledProvider = StateProvider((ref) => false); +final privacyOverlayDisabledProvider = StateProvider((ref) => false); final maxSendProvider = Provider.autoDispose((ref) { final utxos = ref.watch(spendableUtxosProvider); @@ -201,3 +210,98 @@ final appLinkProvider = StateProvider((ref) { }); final fiatModeProvider = StateProvider((ref) => false); + +final pendingTxsProvider = FutureProvider.autoDispose((ref) async { + final client = ref.watch(karlsenClientProvider); + final addresses = ref.watch(activeAddressesProvider); + // refresh when utxos change + ref.watch(utxosChangedProvider); + + final pendingTxs = await client.getMempoolEntriesByAddresses( + addresses, + filterTransactionPool: false, + includeOrphanPool: false, + ); + + return pendingTxs + .expand( + (entries) => entries.sending.map( + (e) => ApiTransaction.fromRpc(e.transaction), + ), + ) + .toSet() + .toList(); +}); + +final rpcFeeEstimateProvider = FutureProvider.autoDispose((ref) async { + // refresh once every 10 seconds + ref.watch(timeProvider); + final client = ref.watch(karlsenClientProvider); + + try { + final feeEstimate = await client.getFeeEstimate(); + return feeEstimate; + } catch (e) { + return null; + } +}); + +extension BigIntExt on BigInt { + BigInt min(BigInt min) => this < min ? min : this; +} + +final feeEstimateProvider = Provider.family + .autoDispose, (BigInt, Amount)>((ref, massAndFee) { + final mass = massAndFee.$1; + final baseFee = massAndFee.$2; + + final feeEstimate = ref.watch(rpcFeeEstimateProvider).valueOrNull; + if (feeEstimate == null) { + return [ + (Amount.value(Decimal.parse('0.001')), null), + (Amount.value(Decimal.parse('0.01')), null), + (Amount.value(Decimal.parse('0.1')), null), + ]; + } + + Amount feeFor(double feeRate, BigInt mass, Amount baseFee) { + final estimate = feeRate * mass.toDouble(); + return Amount.raw((BigInt.from(estimate) - baseFee.raw).min(BigInt.zero)); + } + + final fees = [ + if (feeEstimate.lowBuckets.isNotEmpty) + ( + feeFor(feeEstimate.lowBuckets.first.feerate, mass, baseFee), + feeEstimate.lowBuckets.first.estimatedSeconds.toInt(), + ), + if (feeEstimate.normalBuckets.isNotEmpty) + ( + feeFor(feeEstimate.normalBuckets.first.feerate, mass, baseFee), + feeEstimate.normalBuckets.first.estimatedSeconds.toInt(), + ), + ( + feeFor(feeEstimate.priorityBucket.feerate, mass, baseFee), + feeEstimate.priorityBucket.estimatedSeconds.toInt(), + ), + ].where((fee) => fee.$1.raw > BigInt.zero).toList(); + return fees; +}); + +final klsSymbolProvider = Provider((ref) { + final network = ref.watch(networkProvider); + + return switch (network) { + KarlsenNetwork.mainnet => 'KLS', + _ => 'TKLS', + }; +}); + +final symbolProvider = Provider.family((ref, amount) { + final klsSymbol = ref.watch(klsSymbolProvider); + if (amount.tokenInfo.tokenId != TokenInfo.karlsen.tokenId) { + return amount.symbolLabel; + } + + return klsSymbol; +}); diff --git a/lib/database/boxes.dart b/lib/database/boxes.dart index 0a92676a..73bca5c3 100644 --- a/lib/database/boxes.dart +++ b/lib/database/boxes.dart @@ -1,222 +1,4 @@ -import 'package:hive/hive.dart'; - -typedef TypeFactory = T Function(Map); - -Map _toJson(dynamic value) => value.toJson(); - -class IndexedTypedBox { - final Box box; - const IndexedTypedBox(this.box); - - T getAt(int index) { - final value = box.getAt(index); - if (value == null) { - throw Exception('Null value for index $index'); - } - return value; - } - - T? tryGetAt(int index) => box.getAt(index); - - Iterable getAll() => box.values; - - Future add(T value) => box.add(value); - - Future> addAll(Iterable values) => box.addAll(values); - - Future clear() => box.clear(); - - Future close() => box.close(); -} - -class TypedBox { - final Box box; - const TypedBox(this.box); - - T get(String key, {T? defaultValue}) { - final value = box.get(key) ?? defaultValue; - if (value == null) { - throw Exception('Null value for key $key'); - } - return value; - } - - T? tryGet(String key) => box.get(key); - - Map getAll() => box.toMap().cast(); - - Future set(String key, T value) => box.put(key, value); - - Future setAll(Map entries) => box.putAll(entries); - - Future remove(String key) => box.delete(key); - - Future removeAll(Iterable keys) => box.deleteAll(keys); - - Future clear() => box.clear(); - - Future close() => box.close(); -} - -class LazyTypedBox { - final LazyBox box; - const LazyTypedBox(this.box); - - Future get(String key) async { - final value = await tryGet(key); - if (value != null) { - return value; - } - throw Exception('Null value for key $key'); - } - - Future tryGet(String key) => box.get(key); - - Future set(String key, T value) => box.put(key, value); - - Future setAll(Map entries) => box.putAll(entries); - - Future remove(String key) => box.delete(key); - - Future removeAll(Iterable keys) => box.deleteAll(keys); - - Future clear() => box.clear(); - - Future close() => box.close(); -} - -class GenericBox { - final Box box; - const GenericBox(this.box); - - T convert(dynamic value, {TypeFactory? typeFactory}) { - if (value is T) return value; - if (typeFactory == null) { - throw Exception('Missing type factory for $T'); - } - if (!(value is Map)) { - throw Exception('Value is not a Map'); - } - return typeFactory(value.cast()); - } - - T get(String key, {TypeFactory? typeFactory}) { - final value = tryGet(key, typeFactory: typeFactory); - if (value == null) { - throw Exception('Null value for key $key'); - } - return value; - } - - T? tryGet(String key, {TypeFactory? typeFactory}) { - final value = box.get(key); - if (value is T) return value; - if (value != null) { - return convert(value, typeFactory: typeFactory); - } - return null; - } - - List getList(String key, {TypeFactory? typeFactory}) { - final value = box.get(key); - if (value is List) { - if (typeFactory != null) { - return value - .map((e) => typeFactory(e.cast())) - .toList(); - } - return value.cast(); - } - return []; - } - - List? tryGetList(String key, {TypeFactory? typeFactory}) { - final value = box.get(key); - if (value is List) { - if (typeFactory != null) { - return value - .map((e) => typeFactory(e.cast())) - .toList(); - } - return value.cast(); - } - return null; - } - - Future setList( - String key, - List list, { - dynamic convert(R value)?, - }) async { - if (convert == null) { - return box.put(key, list); - } - - final value = list.map((e) => convert(e)).toList(); - return box.put(key, value); - } - - Map getAll({ - TypeFactory? typeFactory, - bool Function(String key)? where, - }) { - final map = box.toMap().cast(); - if (where != null) { - map.removeWhere((key, value) => !where(key)); - } - return map.map( - (key, value) => MapEntry( - key, - value is T ? value : convert(value, typeFactory: typeFactory), - ), - ); - } - - Future set(String key, T value) { - if (value is Map || value == null) { - return box.put(key, value); - } - final json = _toJson(value); - return box.put(key, json); - } - - Future setAll(Map map) => - box.putAll(map.map((key, value) => MapEntry(key, _toJson(value)))); - - Future remove(String key) => box.delete(key); - - Future removeAll(Iterable keys) => box.deleteAll(keys); - - Future clear() => box.clear(); - - Future close() => box.close(); -} - -class LazyGenericBox { - final LazyBox box; - const LazyGenericBox(this.box); - - Future get(String key) async { - return (await box.get(key))!; - } - - Future tryGet(String key) async { - try { - return get(key); - } catch (_) { - return null; - } - } - - Future set(String key, T value) { - return box.put(key, value); - } - - Future remove(String key) => box.delete(key); - - Future removeAll(Iterable keys) => box.deleteAll(keys); - - Future clear() => box.clear(); - - Future close() => box.close(); -} +export 'boxes/generic_box.dart'; +export 'boxes/indexed_typed_box.dart'; +export 'boxes/lazy_typed_box.dart'; +export 'boxes/typed_box.dart'; diff --git a/lib/database/boxes/generic_box.dart b/lib/database/boxes/generic_box.dart new file mode 100644 index 00000000..b19cc890 --- /dev/null +++ b/lib/database/boxes/generic_box.dart @@ -0,0 +1,98 @@ +import 'package:hive/hive.dart'; + +typedef TypeFactory = T Function(Map); + +dynamic _toJson(T value) { + if (value == null || + value is Map || + value is String || + value is bool || + value is int || + value is double) { + return value; + } + return (value as dynamic).toJson(); +} + +T _convert(dynamic value, {TypeFactory? typeFactory}) { + if (value is T) return value; + if (typeFactory == null) { + throw Exception('Missing type factory for $T'); + } + if (!(value is Map)) { + throw Exception('Value is not a Map'); + } + return typeFactory(value.cast()); +} + +class GenericBox { + final Box box; + const GenericBox(this.box); + + T get(String key, {TypeFactory? typeFactory}) { + final value = tryGet(key, typeFactory: typeFactory); + if (value == null) { + throw Exception('Null value for key $key'); + } + return value; + } + + T? tryGet(String key, {TypeFactory? typeFactory}) { + final value = box.get(key); + if (value == null) { + return null; + } + return _convert(value, typeFactory: typeFactory); + } + + List getList(String key, {TypeFactory? typeFactory}) { + return tryGetList(key, typeFactory: typeFactory) ?? []; + } + + List? tryGetList(String key, {TypeFactory? typeFactory}) { + final value = box.get(key); + if (value is List) { + if (typeFactory == null) { + return value.cast(); + } + return value.map((e) => _convert(e, typeFactory: typeFactory)).toList(); + } + return null; + } + + Future set( + String key, + T value, { + dynamic Function(T value)? convert, + }) { + if (value == null || + value is Map || + value is String || + value is bool || + value is int || + value is double) { + return box.put(key, value); + } + convert ??= _toJson; + return box.put(key, convert(value)); + } + + Future setList( + String key, + List list, { + dynamic Function(T value)? convert, + }) async { + if (convert == null) { + return box.put(key, list); + } + + final value = list.map(convert).toList(); + return box.put(key, value); + } + + Future remove(String key) => box.delete(key); + + Future clear() => box.clear(); + + Future close() => box.close(); +} diff --git a/lib/database/boxes/indexed_typed_box.dart b/lib/database/boxes/indexed_typed_box.dart new file mode 100644 index 00000000..756411cd --- /dev/null +++ b/lib/database/boxes/indexed_typed_box.dart @@ -0,0 +1,26 @@ +import 'package:hive_flutter/hive_flutter.dart'; + +class IndexedTypedBox { + final Box box; + const IndexedTypedBox(this.box); + + T getAt(int index) { + final value = box.getAt(index); + if (value == null) { + throw Exception('Null value for index $index'); + } + return value; + } + + T? tryGetAt(int index) => box.getAt(index); + + Iterable getAll() => box.values; + + Future add(T value) => box.add(value); + + Future> addAll(Iterable values) => box.addAll(values); + + Future clear() => box.clear(); + + Future close() => box.close(); +} diff --git a/lib/database/boxes/lazy_typed_box.dart b/lib/database/boxes/lazy_typed_box.dart new file mode 100644 index 00000000..09134990 --- /dev/null +++ b/lib/database/boxes/lazy_typed_box.dart @@ -0,0 +1,28 @@ +import 'package:hive_flutter/hive_flutter.dart'; + +class LazyTypedBox { + final LazyBox box; + const LazyTypedBox(this.box); + + Future get(String key) async { + final value = await tryGet(key); + if (value != null) { + return value; + } + throw Exception('Null value for key $key'); + } + + Future tryGet(String key) => box.get(key); + + Future set(String key, T value) => box.put(key, value); + + Future setAll(Map entries) => box.putAll(entries); + + Future remove(String key) => box.delete(key); + + Future removeAll(Iterable keys) => box.deleteAll(keys); + + Future clear() => box.clear(); + + Future close() => box.close(); +} diff --git a/lib/database/boxes/typed_box.dart b/lib/database/boxes/typed_box.dart new file mode 100644 index 00000000..98befed5 --- /dev/null +++ b/lib/database/boxes/typed_box.dart @@ -0,0 +1,30 @@ +import 'package:hive_flutter/hive_flutter.dart'; + +class TypedBox { + final Box box; + const TypedBox(this.box); + + T get(String key, {T? defaultValue}) { + final value = box.get(key) ?? defaultValue; + if (value == null) { + throw Exception('Null value for key $key'); + } + return value; + } + + T? tryGet(String key) => box.get(key); + + Map getAll() => box.toMap().cast(); + + Future set(String key, T value) => box.put(key, value); + + Future setAll(Map entries) => box.putAll(entries); + + Future remove(String key) => box.delete(key); + + Future removeAll(Iterable keys) => box.deleteAll(keys); + + Future clear() => box.clear(); + + Future close() => box.close(); +} diff --git a/lib/database/database.dart b/lib/database/database.dart index f9da18e1..a5439f90 100644 --- a/lib/database/database.dart +++ b/lib/database/database.dart @@ -7,7 +7,6 @@ import '../karlsen/karlsen.dart'; import '../transactions/transaction_types.dart'; import '../txnotes/txnotes_types.dart'; import '../util/vault.dart'; -import '../utils.dart'; import '../wallet_address/wallet_address.dart'; import 'boxes.dart'; import 'json_type_adapter.dart'; @@ -58,7 +57,6 @@ final txNoteAdapter = JsonTypeAdapter( typeId: _getTypeId(), fromJson: TxNote.fromJson, ); - final txIndexAdapter = JsonTypeAdapter( typeId: _getTypeId(), fromJson: TxIndex.fromJson, @@ -114,24 +112,15 @@ class Database { } Future _init() async { - await Hive.initFlutter('karlsen-mobile'); - - const kContactsBoxId = '_contactsBox'; - const kSettingsBoxId = '_settingsBox'; - const kPushInfoBoxId = '_pushInfoBox'; - const kTxNotesBoxId = '_txNotesBox'; + await Hive.initFlutter('karlsen_mobile'); final vault = Vault(); - var secureKey = await vault.getDbKey(); + final dbKey = await vault.getDbKey(); - contactsBox = - digest(data: stringToBytesUtf8('$kContactsBoxId#$secureKey')).hex; - settingsBox = - digest(data: stringToBytesUtf8('$kSettingsBoxId#$secureKey')).hex; - pushInfoBox = - digest(data: stringToBytesUtf8('$kPushInfoBoxId#$secureKey')).hex; - txNotesBox = - digest(data: stringToBytesUtf8('$kTxNotesBoxId#$secureKey')).hex; + contactsBox = hash('_contactsBox#$dbKey'); + settingsBox = hash('_settingsBox#$dbKey'); + pushInfoBox = hash('_pushInfoBox#$dbKey'); + txNotesBox = hash('_txNotesBox#$dbKey'); Future _openBox(String box, {bool encrypted = false}) async { return Hive.openBox( @@ -204,10 +193,4 @@ class Database { final box = Hive.box(boxKey); return GenericBox(box); } - - LazyGenericBox getLazyGenericBox(BoxKey boxKey) { - assert(Hive.isBoxOpen(boxKey)); - final box = Hive.lazyBox(boxKey); - return LazyGenericBox(box); - } } diff --git a/lib/encrypt/crypter.dart b/lib/encrypt/crypter.dart index 91d4f0c9..dbcaf43c 100644 --- a/lib/encrypt/crypter.dart +++ b/lib/encrypt/crypter.dart @@ -26,7 +26,7 @@ class NanoCrypt { /// Encrypts a value using AES/CBC/PKCS7 /// KDF is Sha256KDF if not specified - static Uint8List encrypt(dynamic value, String password, {KDF? kdf}) { + static Uint8List encrypt(Uint8List value, String password, {KDF? kdf}) { kdf = kdf ?? Sha256KDF(); Uint8List valBytes = Uint8List.fromList(value); diff --git a/lib/generated/intl/messages_all.dart b/lib/generated/intl/messages_all.dart deleted file mode 100644 index 203415cc..00000000 --- a/lib/generated/intl/messages_all.dart +++ /dev/null @@ -1,63 +0,0 @@ -// DO NOT EDIT. This is code generated via package:intl/generate_localized.dart -// This is a library that looks up messages for specific locales by -// delegating to the appropriate library. - -// Ignore issues from commonly used lints in this file. -// ignore_for_file:implementation_imports, file_names, unnecessary_new -// ignore_for_file:unnecessary_brace_in_string_interps, directives_ordering -// ignore_for_file:argument_type_not_assignable, invalid_assignment -// ignore_for_file:prefer_single_quotes, prefer_generic_function_type_aliases -// ignore_for_file:comment_references - -import 'dart:async'; - -import 'package:flutter/foundation.dart'; -import 'package:intl/intl.dart'; -import 'package:intl/message_lookup_by_library.dart'; -import 'package:intl/src/intl_helpers.dart'; - -import 'messages_en.dart' as messages_en; - -typedef Future LibraryLoader(); -Map _deferredLibraries = { - 'en': () => new SynchronousFuture(null), -}; - -MessageLookupByLibrary? _findExact(String localeName) { - switch (localeName) { - case 'en': - return messages_en.messages; - default: - return null; - } -} - -/// User programs should call this before using [localeName] for messages. -Future initializeMessages(String localeName) { - var availableLocale = Intl.verifiedLocale( - localeName, (locale) => _deferredLibraries[locale] != null, - onFailure: (_) => null); - if (availableLocale == null) { - return new SynchronousFuture(false); - } - var lib = _deferredLibraries[availableLocale]; - lib == null ? new SynchronousFuture(false) : lib(); - initializeInternalMessageLookup(() => new CompositeMessageLookup()); - messageLookup.addLocale(availableLocale, _findGeneratedMessagesFor); - return new SynchronousFuture(true); -} - -bool _messagesExistFor(String locale) { - try { - return _findExact(locale) != null; - } catch (e) { - return false; - } -} - -MessageLookupByLibrary? _findGeneratedMessagesFor(String locale) { - var actualLocale = - Intl.verifiedLocale(locale, _messagesExistFor, onFailure: (_) => null); - if (actualLocale == null) return null; - return _findExact(actualLocale); -} diff --git a/lib/generated/intl/messages_en.dart b/lib/generated/intl/messages_en.dart deleted file mode 100644 index a029099a..00000000 --- a/lib/generated/intl/messages_en.dart +++ /dev/null @@ -1,25 +0,0 @@ -// DO NOT EDIT. This is code generated via package:intl/generate_localized.dart -// This is a library that provides messages for a en locale. All the -// messages from the main program should be duplicated here with the same -// function name. - -// Ignore issues from commonly used lints in this file. -// ignore_for_file:unnecessary_brace_in_string_interps, unnecessary_new -// ignore_for_file:prefer_single_quotes,comment_references, directives_ordering -// ignore_for_file:annotate_overrides,prefer_generic_function_type_aliases -// ignore_for_file:unused_import, file_names, avoid_escaping_inner_quotes -// ignore_for_file:unnecessary_string_interpolations, unnecessary_string_escapes - -import 'package:intl/intl.dart'; -import 'package:intl/message_lookup_by_library.dart'; - -final messages = new MessageLookup(); - -typedef String MessageIfAbsent(String messageStr, List args); - -class MessageLookup extends MessageLookupByLibrary { - String get localeName => 'en'; - - final messages = _notInlinedMessages(_notInlinedMessages); - static Map _notInlinedMessages(_) => {}; -} diff --git a/lib/generated/l10n.dart b/lib/generated/l10n.dart deleted file mode 100644 index 7d72d314..00000000 --- a/lib/generated/l10n.dart +++ /dev/null @@ -1,78 +0,0 @@ -// GENERATED CODE - DO NOT MODIFY BY HAND -import 'package:flutter/material.dart'; -import 'package:intl/intl.dart'; -import 'intl/messages_all.dart'; - -// ************************************************************************** -// Generator: Flutter Intl IDE plugin -// Made by Localizely -// ************************************************************************** - -// ignore_for_file: non_constant_identifier_names, lines_longer_than_80_chars -// ignore_for_file: join_return_with_assignment, prefer_final_in_for_each -// ignore_for_file: avoid_redundant_argument_values, avoid_escaping_inner_quotes - -class S { - S(); - - static S? _current; - - static S get current { - assert(_current != null, - 'No instance of S was loaded. Try to initialize the S delegate before accessing S.current.'); - return _current!; - } - - static const AppLocalizationDelegate delegate = AppLocalizationDelegate(); - - static Future load(Locale locale) { - final name = (locale.countryCode?.isEmpty ?? false) - ? locale.languageCode - : locale.toString(); - final localeName = Intl.canonicalizedLocale(name); - return initializeMessages(localeName).then((_) { - Intl.defaultLocale = localeName; - final instance = S(); - S._current = instance; - - return instance; - }); - } - - static S of(BuildContext context) { - final instance = S.maybeOf(context); - assert(instance != null, - 'No instance of S present in the widget tree. Did you add S.delegate in localizationsDelegates?'); - return instance!; - } - - static S? maybeOf(BuildContext context) { - return Localizations.of(context, S); - } -} - -class AppLocalizationDelegate extends LocalizationsDelegate { - const AppLocalizationDelegate(); - - List get supportedLocales { - return const [ - Locale.fromSubtags(languageCode: 'en'), - ]; - } - - @override - bool isSupported(Locale locale) => _isSupported(locale); - @override - Future load(Locale locale) => S.load(locale); - @override - bool shouldReload(AppLocalizationDelegate old) => false; - - bool _isSupported(Locale locale) { - for (var supportedLocale in supportedLocales) { - if (supportedLocale.languageCode == locale.languageCode) { - return true; - } - } - return false; - } -} diff --git a/lib/intro/import_seed_options.dart b/lib/intro/import_seed_options.dart new file mode 100644 index 00000000..35f5a108 --- /dev/null +++ b/lib/intro/import_seed_options.dart @@ -0,0 +1,81 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; + +import '../app_icons.dart'; +import '../app_providers.dart'; +import '../app_router.dart'; +import '../l10n/l10n.dart'; +import '../widgets/app_simpledialog.dart'; +import '../widgets/sheet_util.dart'; +import 'widgets/bip39_passphrase_sheet.dart'; + +enum ImportSeedOptions { + bip39Passphrase, +} + +class ImportSeedOptionsDialog extends ConsumerWidget { + const ImportSeedOptionsDialog({super.key}); + + @override + Widget build(BuildContext context, WidgetRef ref) { + final styles = ref.watch(stylesProvider); + final l10n = l10nOf(context); + + return AppSimpleDialog( + title: Padding( + padding: const EdgeInsets.only(bottom: 10), + child: Text( + l10n.importWalletAdvancedOptions, + style: styles.textStyleDialogHeader, + ), + ), + children: [ + SimpleDialogOption( + child: Text( + l10n.bip39Passphrase, + style: styles.textStyleDialogOptions, + ), + onPressed: () => appRouter.pop( + context, + withResult: ImportSeedOptions.bip39Passphrase, + ), + ), + ], + ); + } +} + +class ImportSeedOptionsButton extends ConsumerWidget { + const ImportSeedOptionsButton({super.key}); + + @override + Widget build(BuildContext context, WidgetRef ref) { + final theme = ref.watch(themeProvider); + final styles = ref.watch(stylesProvider); + + return Container( + height: 50, + width: 50, + child: TextButton( + style: styles.roundedTextButtonStyle, + onPressed: () async { + final selection = await showAppDialog( + context: context, + builder: (_) => const ImportSeedOptionsDialog(), + ); + + switch (selection) { + case ImportSeedOptions.bip39Passphrase: + Sheets.showAppHeightEightSheet( + context: context, + widget: Bip39PassphraseSheet(), + theme: theme, + ); + default: + } + }, + child: Icon(AppIcons.settings, color: theme.text, size: 24), + ), + ); + } +} diff --git a/lib/intro/intro_actions_widget.dart b/lib/intro/intro_actions_widget.dart index 57390849..29e4f6e4 100644 --- a/lib/intro/intro_actions_widget.dart +++ b/lib/intro/intro_actions_widget.dart @@ -1,7 +1,9 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; +import '../app_router.dart'; import '../l10n/l10n.dart'; +import '../util/ui_util.dart'; import '../widgets/buttons.dart'; import 'intro_providers.dart'; @@ -13,7 +15,12 @@ class IntroActionsWidget extends ConsumerWidget { void newWallet() { final notifier = ref.read(introStateProvider.notifier); - notifier.newWallet(); + try { + notifier.newWallet(); + } catch (e) { + UIUtil.showSnackbar(l10n.somethingWentWrong, context); + appRouter.reload(context); + } } void importWallet() { diff --git a/lib/intro/intro_backup_seed.dart b/lib/intro/intro_backup_seed.dart index 2db6d456..f983d538 100644 --- a/lib/intro/intro_backup_seed.dart +++ b/lib/intro/intro_backup_seed.dart @@ -7,6 +7,7 @@ import '../widgets/buttons/primary_button.dart'; import '../widgets/mnemonic_display.dart'; import 'intro_back_button.dart'; import 'intro_providers.dart'; +import 'widgets/new_mnemonic_button.dart'; class IntroBackupSeed extends ConsumerWidget { const IntroBackupSeed({Key? key}) : super(key: key); @@ -112,36 +113,11 @@ class IntroBackupSeed extends ConsumerWidget { if (mnemonic != null) ...[ MnemonicDisplay(wordList: mnemonic), const SizedBox(height: 20), - // Builder(builder: (context) { - // final is12Word = mnemonic.length == 12; - // final strength = is12Word ? 256 : 128; - // final text = is12Word ? '24 WORDS' : '12 WORDS'; - // return TextButton( - // style: styles.smallOutlinedPrimaryButtonStyle, - // child: Padding( - // padding: const EdgeInsets.symmetric(horizontal: 8), - // child: Row( - // mainAxisSize: MainAxisSize.min, - // children: [ - // Icon( - // Icons.cached, - // size: 20, - // ), - // const SizedBox(width: 8), - // Text(text), - // ], - // ), - // ), - // onPressed: () { - // final notifier = ref.read(introDataProvider.notifier); - // Future.delayed(Duration.zero, () { - // notifier.generateMnemonic(strength: strength); - // }); - // }, - // ); - // }), + NewMnemonicButton( + strength: mnemonic.length == 12 ? 256 : 128, + ), ] else - Text(''), + const SizedBox(), ], ), ), diff --git a/lib/intro/intro_data_notifier.dart b/lib/intro/intro_data_notifier.dart index 0d19f2e1..6b1984dd 100644 --- a/lib/intro/intro_data_notifier.dart +++ b/lib/intro/intro_data_notifier.dart @@ -1,12 +1,14 @@ import 'package:flutter/foundation.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; -import '../util/karlsen_util.dart'; -import '../utils.dart'; +import '../karlsen/utils.dart'; import 'intro_types.dart'; -String _computeSeed(String mnemonic) { - return KarlsenUtil.seedFromMnemonic(mnemonic); +String _computeSeed(({String mnemonic, String passphrase}) data) { + final mnemonic = data.mnemonic; + final passphrase = data.passphrase; + + return mnemonicToSeedHex(mnemonic, passphrase: passphrase); } class IntroDataNotifier extends StateNotifier { @@ -25,16 +27,31 @@ class IntroDataNotifier extends StateNotifier { void generateNewMnemonic({int strength = 256}) { final mnemonic = generateMnemonic(strength: strength); - setMnemonic(mnemonic, generated: true, legacy: false); + setMnemonic(mnemonic, generated: true); } - void setMnemonic(String mnemonic, - {bool generated = false, bool legacy = false}) { - final seed = compute(_computeSeed, mnemonic, debugLabel: 'ComputeSeed'); + void setMnemonic(String mnemonic, {bool generated = false}) { + if (mnemonic.isEmpty) { + throw Exception('Mnemonic can\'t be empty'); + } + + if (!isValidMnemonic(mnemonic, verifyChecksum: false)) { + throw Exception('Invalid mnemonic'); + } + + final passphrase = state.bip39Passphrase; + if (generated && passphrase.isNotEmpty) { + throw Exception('Can\'t use passphrase with generated mnemonic'); + } + + final seed = compute( + _computeSeed, + (mnemonic: mnemonic, passphrase: passphrase), + debugLabel: 'ComputeSeed', + ); state = state.copyWith( mnemonic: mnemonic, generated: generated, - legacy: legacy, seed: seed, kpub: null, ); @@ -62,11 +79,17 @@ class IntroDataNotifier extends StateNotifier { state = state.copyWith(pin: pin); } - void clear() { - state = const IntroData(); + void setLegacyWallet() { + state = state.copyWith(isLegacyWallet: true); } - void restore(IntroData introData) { - state = introData; + void setBip39Passphrase(String bip39Passphrase) { + state = state.copyWith( + bip39Passphrase: bip39Passphrase, + ); + } + + void clear() { + state = const IntroData(); } } diff --git a/lib/intro/intro_import_kpub.dart b/lib/intro/intro_import_kpub.dart index da2b4c2a..9b3dfda9 100644 --- a/lib/intro/intro_import_kpub.dart +++ b/lib/intro/intro_import_kpub.dart @@ -49,10 +49,11 @@ class IntroImportKpub extends HookConsumerWidget { return; } final result = await UserDataUtil.scanQrCode(context); - if (result == null || result.isEmpty) { + final code = result?.code; + if (code == null) { return; } - final kpub = result.trim(); + final kpub = code.trim(); if (isValidKpub(kpub)) { kpubController.text = kpub; return; diff --git a/lib/intro/intro_import_seed.dart b/lib/intro/intro_import_seed.dart index 59d656c1..fa82314f 100755 --- a/lib/intro/intro_import_seed.dart +++ b/lib/intro/intro_import_seed.dart @@ -5,32 +5,39 @@ import 'package:hooks_riverpod/hooks_riverpod.dart'; import '../app_icons.dart'; import '../app_providers.dart'; +import '../app_router.dart'; +import '../karlsen/utils.dart'; import '../l10n/l10n.dart'; import '../util/formatters.dart'; import '../util/ui_util.dart'; import '../util/user_data_util.dart'; -import '../utils.dart'; import '../widgets/app_text_field.dart'; import '../widgets/keyboard_widget.dart'; +import 'import_seed_options.dart'; import 'intro_back_button.dart'; import 'intro_providers.dart'; import 'invalid_checksum_dialog.dart'; +import 'widgets/bip39_passphrase_button.dart'; + +const kLegacyMnemonicLengths = [12]; +const kStandardMnemonicLengths = [12, 24]; final _mnemonicProvider = StateProvider.autoDispose((ref) => ''); final _mnemonicIsValidProvider = - Provider.autoDispose.family((ref, length) { + Provider.autoDispose.family>((ref, allowedLengths) { final mnemonic = ref.watch(_mnemonicProvider); final trimmed = mnemonic.trim(); + final length = trimmed.split(' ').length; return mnemonic.endsWith(' ') && - trimmed.split(' ').length == length && + allowedLengths.contains(length) && isValidMnemonic(trimmed, verifyChecksum: false); }); final _showInvalidChecksumProvider = - Provider.autoDispose.family((ref, length) { + Provider.autoDispose.family>((ref, allowedLengths) { final mnemonic = ref.watch(_mnemonicProvider).trim(); - final isValid = ref.watch(_mnemonicIsValidProvider(length)); + final isValid = ref.watch(_mnemonicIsValidProvider(allowedLengths)); final hasValidChecksum = isValidMnemonic( mnemonic, verifyChecksum: true, @@ -40,12 +47,10 @@ final _showInvalidChecksumProvider = class IntroImportSeed extends HookConsumerWidget { final bool isLegacy; - final bool isLegacyDerivation; - const IntroImportSeed( - {Key? key, this.isLegacy = false, this.isLegacyDerivation = false}) - : super(key: key); + const IntroImportSeed({Key? key, this.isLegacy = false}) : super(key: key); - int get mnemonicLength => isLegacy ? 12 : 24; + List get allowedLengths => + isLegacy ? kLegacyMnemonicLengths : kStandardMnemonicLengths; @override Widget build(BuildContext context, WidgetRef ref) { @@ -53,7 +58,7 @@ class IntroImportSeed extends HookConsumerWidget { final styles = ref.watch(stylesProvider); final l10n = l10nOf(context); - final mnemonicIsValid = ref.watch(_mnemonicIsValidProvider(mnemonicLength)); + final mnemonicIsValid = ref.watch(_mnemonicIsValidProvider(allowedLengths)); final mnemonicFocusNode = useFocusNode(); final mnemonicController = useTextEditingController(); @@ -114,19 +119,20 @@ class IntroImportSeed extends HookConsumerWidget { }); Future scanQrCode() async { - final isValid = ref.read(_mnemonicIsValidProvider(isLegacy ? 12 : 24)); + final isValid = ref.read(_mnemonicIsValidProvider(allowedLengths)); if (isValid) { return; } // Scan QR for mnemonic final result = await UserDataUtil.scanQrCode(context); - if (result == null) { + if (result?.code == null) { return; } - final data = result.trim(); + final data = result!.code!.trim(); final mData = data.toLowerCase(); + final length = mData.split(' ').length; if (isValidMnemonic(mData, verifyChecksum: false) && - mData.split(' ').length == mnemonicLength) { + allowedLengths.contains(length)) { ref.read(_mnemonicProvider.notifier).state = mData + ' '; updateFocus(mData.length + 1); ref.read(wordPrefixProvider.notifier).update((state) => ''); @@ -136,7 +142,7 @@ class IntroImportSeed extends HookConsumerWidget { } Future pasteFromClipboard() async { - final isValid = ref.read(_mnemonicIsValidProvider(mnemonicLength)); + final isValid = ref.read(_mnemonicIsValidProvider(allowedLengths)); if (isValid) { return; } @@ -147,18 +153,16 @@ class IntroImportSeed extends HookConsumerWidget { return; } final text = data.text!.trim().toLowerCase(); + final length = text.split(' ').length; if (isValidMnemonic(text, verifyChecksum: false) && - text.split(' ').length == mnemonicLength) { + allowedLengths.contains(length)) { final mnemonic = ref.read(_mnemonicProvider.notifier); mnemonic.state = text + ' '; updateFocus(text.length + 1); ref.read(wordPrefixProvider.notifier).update((state) => ''); return; } - UIUtil.showSnackbar( - l10n.pasteMnemonicError, - context, - ); + UIUtil.showSnackbar(l10n.pasteMnemonicError, context); } Future submitMnemonic() async { @@ -172,7 +176,7 @@ class IntroImportSeed extends HookConsumerWidget { barrierColor: ref.read(themeProvider).barrier, barrierDismissible: false, context: context, - builder: (_) => InvalidChecksumDialog(), + builder: (_) => const InvalidChecksumDialog(), ); if (confirmed != true) { @@ -181,7 +185,12 @@ class IntroImportSeed extends HookConsumerWidget { } if (isValidMnemonic(mnemonic, verifyChecksum: false)) { - intro.setMnemonic(mnemonic, legacy: isLegacyDerivation); + try { + intro.setMnemonic(mnemonic); + } catch (e) { + UIUtil.showSnackbar(l10n.somethingWentWrong, context); + appRouter.reload(context); + } } } @@ -200,11 +209,16 @@ class IntroImportSeed extends HookConsumerWidget { child: ListView( shrinkWrap: true, children: [ - Align( - alignment: Alignment.centerLeft, - child: Padding( - padding: const EdgeInsetsDirectional.only(start: 20), - child: const IntroBackButton(), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 20), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + const IntroBackButton(), + isLegacy + ? const SizedBox() + : const ImportSeedOptionsButton(), + ], ), ), Container( @@ -213,7 +227,9 @@ class IntroImportSeed extends HookConsumerWidget { child: FittedBox( fit: BoxFit.scaleDown, child: Text( - l10n.importSecretPhrase, + isLegacy + ? l10n.importOptionLegacyWalletTitle + : l10n.importOptionStandardWalletTitle, style: styles.textStyleHeaderColored, maxLines: 1, ), @@ -225,7 +241,7 @@ class IntroImportSeed extends HookConsumerWidget { child: Text( isLegacy ? l10n.importSecretPhraseHintLegacy - : l10n.importSecretPhraseHint, + : l10n.importSecretPhraseHintCombo, style: styles.textStyleParagraph, textAlign: TextAlign.start, ), @@ -271,9 +287,9 @@ class IntroImportSeed extends HookConsumerWidget { ), Consumer(builder: (context, ref, _) { final l10n = l10nOf(context); - final provider = - _showInvalidChecksumProvider(mnemonicLength); - final showInvalidChecksum = ref.watch(provider); + final showInvalidChecksum = ref.watch( + _showInvalidChecksumProvider(allowedLengths), + ); final invalidChecksumText = showInvalidChecksum ? l10n.invalidChecksumMessage : ''; @@ -288,6 +304,7 @@ class IntroImportSeed extends HookConsumerWidget { ), ); }), + if (!isLegacy) const Bip39PassphraseButton(), ]), ], ), diff --git a/lib/intro/intro_import_select.dart b/lib/intro/intro_import_select.dart index ef841fb7..37860452 100644 --- a/lib/intro/intro_import_select.dart +++ b/lib/intro/intro_import_select.dart @@ -68,11 +68,6 @@ class IntroImportSelect extends ConsumerWidget { final styles = ref.watch(stylesProvider); final l10n = l10nOf(context); - void importWalletLegacyDerivation() { - final notifier = ref.read(introStateProvider.notifier); - notifier.importWalletLegacyDerivation(); - } - void importWallet() { final notifier = ref.read(introStateProvider.notifier); notifier.importWallet(); @@ -134,18 +129,13 @@ class IntroImportSelect extends ConsumerWidget { ), ), ImportWalletTypeCard( - title: l10n.importOption24WordsTitle, - description: l10n.importOption24WordsDescription, + title: l10n.importOptionStandardWalletTitle, + description: l10n.importOptionStandardWalletDescription, onPressed: importWallet, ), ImportWalletTypeCard( - title: l10n.importOption24WordsLegacyTitle, - description: l10n.importOption24WordsLegacyDescription, - onPressed: importWalletLegacyDerivation, - ), - ImportWalletTypeCard( - title: l10n.importOption12WordsTitle, - description: l10n.importOption12WordsDescription, + title: l10n.importOptionLegacyWalletTitle, + description: l10n.importOptionLegacyWalletDescription, onPressed: importLegacyWallet, ), ImportWalletTypeCard( diff --git a/lib/intro/intro_state_notifier.dart b/lib/intro/intro_state_notifier.dart index 142c6b10..a7544bc4 100644 --- a/lib/intro/intro_state_notifier.dart +++ b/lib/intro/intro_state_notifier.dart @@ -9,7 +9,8 @@ class IntroStateNotifier extends StateNotifier { IntroStateNotifier(this.introData) : super(IntroState.init()); void newWallet() { - introData.generateNewMnemonic(); + introData.clear(); + introData.generateNewMnemonic(strength: 128); _goToPage(IntroPage.walletName); } @@ -18,19 +19,19 @@ class IntroStateNotifier extends StateNotifier { _goToPage(IntroPage.importSelect); } - void importWalletLegacyDerivation() { - _goToPage(IntroPage.importSeedLegacyDerivation); - } - void importWallet() { + introData.clear(); _goToPage(IntroPage.importSeed); } void importLegacyWallet() { + introData.clear(); + introData.setLegacyWallet(); _goToPage(IntroPage.importLegacySeed); } void importViewOnlyWallet() { + introData.clear(); _goToPage(IntroPage.importKpub); } @@ -66,11 +67,8 @@ class IntroStateNotifier extends StateNotifier { } } - void setMnemonic(String mnemonic, {String? walletName, bool legacy = false}) { - if (walletName != null) { - introData.setName(walletName); - } - introData.setMnemonic(mnemonic, legacy: legacy); + void setMnemonic(String mnemonic) { + introData.setMnemonic(mnemonic); _goToPage(IntroPage.walletName); } diff --git a/lib/intro/intro_types.dart b/lib/intro/intro_types.dart index c0d4eca9..1fa3a664 100644 --- a/lib/intro/intro_types.dart +++ b/lib/intro/intro_types.dart @@ -7,7 +7,6 @@ enum IntroPage { password, passwordOnLaunch, importSelect, - importSeedLegacyDerivation, importSeed, importLegacySeed, importKpub, @@ -32,8 +31,9 @@ class IntroData with _$IntroData { String? name, String? pin, String? password, - @Default(false) bool legacy, @Default(false) bool generated, + @Default(false) bool isLegacyWallet, + @Default('') String bip39Passphrase, @Default(false) bool completed, }) = _IntroData; } diff --git a/lib/intro/intro_types.freezed.dart b/lib/intro/intro_types.freezed.dart index 63779034..24cc4ec8 100644 --- a/lib/intro/intro_types.freezed.dart +++ b/lib/intro/intro_types.freezed.dart @@ -445,8 +445,9 @@ mixin _$IntroData { String? get name => throw _privateConstructorUsedError; String? get pin => throw _privateConstructorUsedError; String? get password => throw _privateConstructorUsedError; - bool get legacy => throw _privateConstructorUsedError; bool get generated => throw _privateConstructorUsedError; + bool get isLegacyWallet => throw _privateConstructorUsedError; + String get bip39Passphrase => throw _privateConstructorUsedError; bool get completed => throw _privateConstructorUsedError; @JsonKey(ignore: true) @@ -466,8 +467,9 @@ abstract class $IntroDataCopyWith<$Res> { String? name, String? pin, String? password, - bool legacy, bool generated, + bool isLegacyWallet, + String bip39Passphrase, bool completed}); } @@ -490,8 +492,9 @@ class _$IntroDataCopyWithImpl<$Res, $Val extends IntroData> Object? name = freezed, Object? pin = freezed, Object? password = freezed, - Object? legacy = null, Object? generated = null, + Object? isLegacyWallet = null, + Object? bip39Passphrase = null, Object? completed = null, }) { return _then(_value.copyWith( @@ -519,14 +522,18 @@ class _$IntroDataCopyWithImpl<$Res, $Val extends IntroData> ? _value.password : password // ignore: cast_nullable_to_non_nullable as String?, - legacy: null == legacy - ? _value.legacy - : legacy // ignore: cast_nullable_to_non_nullable - as bool, generated: null == generated ? _value.generated : generated // ignore: cast_nullable_to_non_nullable as bool, + isLegacyWallet: null == isLegacyWallet + ? _value.isLegacyWallet + : isLegacyWallet // ignore: cast_nullable_to_non_nullable + as bool, + bip39Passphrase: null == bip39Passphrase + ? _value.bip39Passphrase + : bip39Passphrase // ignore: cast_nullable_to_non_nullable + as String, completed: null == completed ? _value.completed : completed // ignore: cast_nullable_to_non_nullable @@ -550,8 +557,9 @@ abstract class _$$IntroDataImplCopyWith<$Res> String? name, String? pin, String? password, - bool legacy, bool generated, + bool isLegacyWallet, + String bip39Passphrase, bool completed}); } @@ -572,8 +580,9 @@ class __$$IntroDataImplCopyWithImpl<$Res> Object? name = freezed, Object? pin = freezed, Object? password = freezed, - Object? legacy = null, Object? generated = null, + Object? isLegacyWallet = null, + Object? bip39Passphrase = null, Object? completed = null, }) { return _then(_$IntroDataImpl( @@ -601,14 +610,18 @@ class __$$IntroDataImplCopyWithImpl<$Res> ? _value.password : password // ignore: cast_nullable_to_non_nullable as String?, - legacy: null == legacy - ? _value.legacy - : legacy // ignore: cast_nullable_to_non_nullable - as bool, generated: null == generated ? _value.generated : generated // ignore: cast_nullable_to_non_nullable as bool, + isLegacyWallet: null == isLegacyWallet + ? _value.isLegacyWallet + : isLegacyWallet // ignore: cast_nullable_to_non_nullable + as bool, + bip39Passphrase: null == bip39Passphrase + ? _value.bip39Passphrase + : bip39Passphrase // ignore: cast_nullable_to_non_nullable + as String, completed: null == completed ? _value.completed : completed // ignore: cast_nullable_to_non_nullable @@ -627,8 +640,9 @@ class _$IntroDataImpl implements _IntroData { this.name, this.pin, this.password, - this.legacy = false, this.generated = false, + this.isLegacyWallet = false, + this.bip39Passphrase = '', this.completed = false}); @override @@ -645,17 +659,20 @@ class _$IntroDataImpl implements _IntroData { final String? password; @override @JsonKey() - final bool legacy; + final bool generated; @override @JsonKey() - final bool generated; + final bool isLegacyWallet; + @override + @JsonKey() + final String bip39Passphrase; @override @JsonKey() final bool completed; @override String toString() { - return 'IntroData(mnemonic: $mnemonic, kpub: $kpub, seed: $seed, name: $name, pin: $pin, password: $password, legacy: $legacy, generated: $generated, completed: $completed)'; + return 'IntroData(mnemonic: $mnemonic, kpub: $kpub, seed: $seed, name: $name, pin: $pin, password: $password, generated: $generated, isLegacyWallet: $isLegacyWallet, bip39Passphrase: $bip39Passphrase, completed: $completed)'; } @override @@ -671,16 +688,19 @@ class _$IntroDataImpl implements _IntroData { (identical(other.pin, pin) || other.pin == pin) && (identical(other.password, password) || other.password == password) && - (identical(other.legacy, legacy) || other.legacy == legacy) && (identical(other.generated, generated) || other.generated == generated) && + (identical(other.isLegacyWallet, isLegacyWallet) || + other.isLegacyWallet == isLegacyWallet) && + (identical(other.bip39Passphrase, bip39Passphrase) || + other.bip39Passphrase == bip39Passphrase) && (identical(other.completed, completed) || other.completed == completed)); } @override int get hashCode => Object.hash(runtimeType, mnemonic, kpub, seed, name, pin, - password, legacy, generated, completed); + password, generated, isLegacyWallet, bip39Passphrase, completed); @JsonKey(ignore: true) @override @@ -697,8 +717,9 @@ abstract class _IntroData implements IntroData { final String? name, final String? pin, final String? password, - final bool legacy, final bool generated, + final bool isLegacyWallet, + final String bip39Passphrase, final bool completed}) = _$IntroDataImpl; @override @@ -714,10 +735,12 @@ abstract class _IntroData implements IntroData { @override String? get password; @override - bool get legacy; - @override bool get generated; @override + bool get isLegacyWallet; + @override + String get bip39Passphrase; + @override bool get completed; @override @JsonKey(ignore: true) diff --git a/lib/intro/invalid_checksum_dialog.dart b/lib/intro/invalid_checksum_dialog.dart index 348fc2b9..b480eb34 100644 --- a/lib/intro/invalid_checksum_dialog.dart +++ b/lib/intro/invalid_checksum_dialog.dart @@ -3,6 +3,7 @@ import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import '../app_providers.dart'; +import '../app_router.dart'; import '../l10n/l10n.dart'; import '../widgets/app_simpledialog.dart'; @@ -63,9 +64,7 @@ class InvalidChecksumDialog extends HookConsumerWidget { isChecked.value ? l10n.doContinue : l10n.goBackButton, style: styles.textStyleDialogOptions, ), - onPressed: () { - Navigator.of(context).pop(isChecked.value); - }, + onPressed: () => appRouter.pop(context, withResult: isChecked.value), ) ], ); diff --git a/lib/intro/widgets/bip39_passphrase_button.dart b/lib/intro/widgets/bip39_passphrase_button.dart new file mode 100644 index 00000000..67fba5ca --- /dev/null +++ b/lib/intro/widgets/bip39_passphrase_button.dart @@ -0,0 +1,44 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; + +import '../../core/core_providers.dart'; +import '../../widgets/sheet_util.dart'; +import '../intro_providers.dart'; +import 'bip39_passphrase_label.dart'; +import 'bip39_passphrase_sheet.dart'; + +class Bip39PassphraseButton extends ConsumerWidget { + const Bip39PassphraseButton({super.key}); + + @override + Widget build(BuildContext context, WidgetRef ref) { + final theme = ref.watch(themeProvider); + final styles = ref.watch(stylesProvider); + + final hasBip39Passphrase = ref.watch( + introDataProvider.select((value) => value.bip39Passphrase.isNotEmpty), + ); + + if (!hasBip39Passphrase) { + return const SizedBox(); + } + + return Column( + mainAxisSize: MainAxisSize.min, + children: [ + const SizedBox(height: 20), + TextButton( + style: styles.dialogButtonStyle, + child: const Bip39PassphraseLabel(), + onPressed: () { + Sheets.showAppHeightEightSheet( + context: context, + widget: const Bip39PassphraseSheet(), + theme: theme, + ); + }, + ), + ], + ); + } +} diff --git a/lib/intro/widgets/bip39_passphrase_label.dart b/lib/intro/widgets/bip39_passphrase_label.dart new file mode 100644 index 00000000..c7e0cc99 --- /dev/null +++ b/lib/intro/widgets/bip39_passphrase_label.dart @@ -0,0 +1,31 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; + +import '../../core/core_providers.dart'; +import '../../l10n/l10n.dart'; + +class Bip39PassphraseLabel extends ConsumerWidget { + const Bip39PassphraseLabel({super.key}); + + @override + Widget build(BuildContext context, WidgetRef ref) { + final theme = ref.watch(themeProvider); + final styles = ref.watch(stylesProvider); + final l10n = l10nOf(context); + + return Padding( + padding: const EdgeInsets.symmetric(horizontal: 8), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Icon(Icons.check_box_outlined, size: 20, color: theme.primary), + const SizedBox(width: 8, height: 40), + Text( + l10n.bip39Passphrase, + style: styles.textStyleDialogOptions, + ), + ], + ), + ); + } +} diff --git a/lib/intro/widgets/bip39_passphrase_sheet.dart b/lib/intro/widgets/bip39_passphrase_sheet.dart new file mode 100644 index 00000000..d7555dad --- /dev/null +++ b/lib/intro/widgets/bip39_passphrase_sheet.dart @@ -0,0 +1,180 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_hooks/flutter_hooks.dart'; +import 'package:hooks_riverpod/hooks_riverpod.dart'; + +import '../../app_providers.dart'; +import '../../app_router.dart'; +import '../../l10n/l10n.dart'; +import '../../widgets/app_text_field.dart'; +import '../../widgets/buttons.dart'; +import '../../widgets/sheet_widget.dart'; +import '../intro_providers.dart'; + +class Bip39PassphraseSheet extends HookConsumerWidget { + const Bip39PassphraseSheet({super.key}); + + @override + Widget build(BuildContext context, WidgetRef ref) { + final styles = ref.watch(stylesProvider); + final l10n = l10nOf(context); + + // use read instead of watch so we don't trigger rerenders + final passphrase = ref.read( + introDataProvider.select((value) => value.bip39Passphrase), + ); + + final enterController = useTextEditingController(text: passphrase); + final enterFocusNode = useFocusNode(); + final confirmController = useTextEditingController(text: passphrase); + final confirmFocusNode = useFocusNode(); + + final passphraseVisible = useState(false); + final enterHint = useState(l10n.bip39PassphraseEnter); + final confirmHint = useState(l10n.bip39PassphraseConfirm); + final showEnterClearButton = useState(passphrase.isNotEmpty); + final showConfirmClearButton = useState(passphrase.isNotEmpty); + + final passphraseError = useState(''); + final passphraseMatch = useState(passphrase.isNotEmpty); + + final textStyle = passphraseMatch.value + ? styles.textStyleParagraphPrimary + : styles.textStyleParagraphText; + + void inputChanged(String _) { + passphraseError.value = ''; + passphraseMatch.value = enterController.text == confirmController.text; + showEnterClearButton.value = enterController.text.isNotEmpty; + showConfirmClearButton.value = confirmController.text.isNotEmpty; + } + + useEffect(() { + final listener = () { + enterHint.value = + enterFocusNode.hasFocus ? '' : l10n.bip39PassphraseEnter; + }; + enterFocusNode.addListener(listener); + return () => enterFocusNode.removeListener(listener); + }, [enterFocusNode]); + + useEffect(() { + final listener = () { + confirmHint.value = + confirmFocusNode.hasFocus ? '' : l10n.bip39PassphraseConfirm; + }; + confirmFocusNode.addListener(listener); + return () => confirmFocusNode.removeListener(listener); + }, [confirmFocusNode]); + + void clearEnter() { + enterController.clear(); + showEnterClearButton.value = false; + inputChanged(''); + enterFocusNode.requestFocus(); + } + + void clearConfirm() { + confirmController.clear(); + showConfirmClearButton.value = false; + inputChanged(''); + confirmFocusNode.requestFocus(); + } + + void setPassphrase() { + final enter = enterController.text; + final confirm = confirmController.text; + if (enter != confirm) { + passphraseError.value = l10n.bip39PassphraseMismatch; + return; + } + + final introData = ref.read(introDataProvider.notifier); + introData.setBip39Passphrase(enterController.text); + + appRouter.pop(context); + } + + return SheetWidget( + title: l10n.bip39Passphrase, + mainWidget: Column( + children: [ + const SizedBox(height: 20), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 40), + child: Text( + l10n.bip39PassphraseWarning, + style: styles.textStyleParagraphThinPrimary, + ), + ), + const SizedBox(height: 20), + AppTextField( + controller: enterController, + focusNode: enterFocusNode, + autocorrect: false, + autofocus: false, + style: textStyle, + obscureText: !passphraseVisible.value, + textInputAction: TextInputAction.done, + hintText: enterHint.value, + onChanged: inputChanged, + prefixButton: TextFieldButton( + icon: passphraseVisible.value + ? Icons.visibility_off + : Icons.visibility, + onPressed: () => + passphraseVisible.value = !passphraseVisible.value, + ), + suffixButton: TextFieldButton( + icon: Icons.clear, + onPressed: clearEnter, + ), + fadeSuffixOnCondition: true, + suffixShowFirstCondition: showEnterClearButton.value, + ), + const SizedBox(height: 20), + AppTextField( + controller: confirmController, + focusNode: confirmFocusNode, + autocorrect: false, + autofocus: false, + style: textStyle, + obscureText: !passphraseVisible.value, + textInputAction: TextInputAction.done, + hintText: confirmHint.value, + onChanged: inputChanged, + prefixButton: TextFieldButton( + widget: const SizedBox(width: 40), + ), + suffixButton: TextFieldButton( + icon: Icons.clear, + onPressed: clearConfirm, + ), + fadeSuffixOnCondition: true, + suffixShowFirstCondition: showConfirmClearButton.value, + ), + Container( + alignment: AlignmentDirectional(0, 0), + margin: EdgeInsets.only(top: 3), + child: Text( + passphraseError.value, + style: styles.textStyleParagraphThinPrimary, + ), + ), + ], + ), + bottomWidget: Padding( + padding: const EdgeInsets.symmetric(horizontal: 28), + child: Column( + children: [ + PrimaryButton(title: l10n.confirm, onPressed: setPassphrase), + const SizedBox(height: 16), + PrimaryOutlineButton( + title: l10n.cancel, + onPressed: () => appRouter.pop(context), + ), + ], + ), + ), + ); + } +} diff --git a/lib/intro/widgets/new_mnemonic_button.dart b/lib/intro/widgets/new_mnemonic_button.dart new file mode 100644 index 00000000..fa40b4c4 --- /dev/null +++ b/lib/intro/widgets/new_mnemonic_button.dart @@ -0,0 +1,52 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; + +import '../../app_providers.dart'; +import '../../app_router.dart'; +import '../../l10n/l10n.dart'; +import '../../util/ui_util.dart'; +import '../intro_providers.dart'; + +class NewMnemonicButton extends ConsumerWidget { + final int strength; + const NewMnemonicButton({ + super.key, + required this.strength, + }); + + @override + Widget build(BuildContext context, WidgetRef ref) { + final styles = ref.watch(stylesProvider); + final l10n = l10nOf(context); + final text = + strength == 128 ? l10n.secretPhrase12Words : l10n.secretPhrase24Words; + + void generateNewMnemonic() { + final notifier = ref.read(introDataProvider.notifier); + Future.microtask(() { + try { + notifier.generateNewMnemonic(strength: strength); + } catch (e) { + UIUtil.showSnackbar(l10n.somethingWentWrong, context); + appRouter.reload(context); + } + }); + } + + return TextButton( + style: styles.smallOutlinedPrimaryButtonStyle, + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 8), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Icon(Icons.cached, size: 20), + const SizedBox(width: 8), + Text(text), + ], + ), + ), + onPressed: generateNewMnemonic, + ); + } +} diff --git a/lib/karlsen/bs58check/src/LICENSE b/lib/karlsen/bs58check/src/LICENSE deleted file mode 100644 index 20fc4637..00000000 --- a/lib/karlsen/bs58check/src/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2018 anicdh - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file diff --git a/lib/karlsen/client/karlsen_client.dart b/lib/karlsen/client/karlsen_client.dart index 5d71119a..494e674e 100644 --- a/lib/karlsen/client/karlsen_client.dart +++ b/lib/karlsen/client/karlsen_client.dart @@ -31,13 +31,13 @@ class VoidKarlsenClient extends KarlsenClient { ); @override - Future _singleRequest(KarlsendMessage message) async { - return KarlsendMessage(); + Future _singleRequest(KarlsendRequest message) async { + return KarlsendResponse(); } @override - Stream _streamRequest(KarlsendMessage message) { - return StreamController().stream; + Stream _streamRequest(KarlsendRequest message) { + return StreamController().stream; } @override @@ -75,8 +75,8 @@ class KarlsenClient { Future terminate() => channel.terminate(); - Future _singleRequest(KarlsendMessage message) async { - final request = StreamController(); + Future _singleRequest(KarlsendRequest message) async { + final request = StreamController(); final response = rpcClient.messageStream(request.stream); request.sink.add(message); @@ -88,8 +88,8 @@ class KarlsenClient { return result; } - Stream _streamRequest(KarlsendMessage message) { - final request = StreamController(); + Stream _streamRequest(KarlsendRequest message) { + final request = StreamController(); final response = rpcClient.messageStream(request.stream); request.sink.add(message); @@ -97,10 +97,10 @@ class KarlsenClient { return response; } - Future> getBalancesByAddresses( + Future> getBalancesByAddresses( Iterable addresses, ) async { - final message = KarlsendMessage( + final message = KarlsendRequest( getBalancesByAddressesRequest: GetBalancesByAddressesRequestMessage( addresses: addresses, ), @@ -114,10 +114,10 @@ class KarlsenClient { return response.getBalancesByAddressesResponse.entries; } - Future> getUtxosByAddresses( + Future> getUtxosByAddresses( Iterable addresses, ) async { - final message = KarlsendMessage( + final message = KarlsendRequest( getUtxosByAddressesRequest: GetUtxosByAddressesRequestMessage( addresses: addresses, ), @@ -135,7 +135,7 @@ class KarlsenClient { Stream notifyUtxosChanged( Iterable addresses, ) { - final message = KarlsendMessage( + final message = KarlsendRequest( notifyUtxosChangedRequest: NotifyUtxosChangedRequestMessage( addresses: addresses, ), @@ -155,7 +155,7 @@ class KarlsenClient { } Future stopNotifyingUtxosChanged(List addresses) async { - final message = KarlsendMessage( + final message = KarlsendRequest( stopNotifyingUtxosChangedRequest: StopNotifyingUtxosChangedRequestMessage( addresses: addresses, ), @@ -171,7 +171,7 @@ class KarlsenClient { // Block Notifications Stream notifyBlockAdded() { - final message = KarlsendMessage( + final message = KarlsendRequest( notifyBlockAddedRequest: NotifyBlockAddedRequestMessage(), ); @@ -194,7 +194,7 @@ class KarlsenClient { RpcTransaction transaction, { bool allowOrphan = false, }) async { - final message = KarlsendMessage( + final message = KarlsendRequest( submitTransactionRequest: SubmitTransactionRequestMessage( transaction: transaction, allowOrphan: allowOrphan, @@ -210,14 +210,53 @@ class KarlsenClient { return result.submitTransactionResponse.transactionId; } + Future<({String transactionId, RpcTransaction replacedTransaction})> + submitTransactionReplacement(RpcTransaction transaction) async { + final message = KarlsendRequest( + submitTransactionReplacementRequest: + SubmitTransactionReplacementRequestMessage( + transaction: transaction, + ), + ); + + final result = await _singleRequest(message); + final response = result.submitTransactionReplacementResponse; + + final error = response.error; + if (error.message.isNotEmpty) { + throw RpcException(error); + } + + return ( + transactionId: response.transactionId, + replacedTransaction: response.replacedTransaction, + ); + } + + // Fee Estimate + + Future getFeeEstimate() async { + final message = KarlsendRequest( + getFeeEstimateRequest: GetFeeEstimateRequestMessage(), + ); + + final result = await _singleRequest(message); + final error = result.getFeeEstimateResponse.error; + if (error.message.isNotEmpty) { + throw RpcException(error); + } + + return result.getFeeEstimateResponse.estimate; + } + // Mempool - Future getMempoolEntry({ + Future getMempoolEntry({ required String txId, bool includeOrphanPool = true, bool filterTransactionPool = true, }) async { - final message = KarlsendMessage( + final message = KarlsendRequest( getMempoolEntryRequest: GetMempoolEntryRequestMessage( txId: txId, includeOrphanPool: includeOrphanPool, @@ -234,11 +273,11 @@ class KarlsenClient { return result.getMempoolEntryResponse.entry; } - Future> getMempoolEntries({ + Future> getMempoolEntries({ bool includeOrphanPool = true, bool filterTransactionPool = true, }) async { - final message = KarlsendMessage( + final message = KarlsendRequest( getMempoolEntriesRequest: GetMempoolEntriesRequestMessage( includeOrphanPool: includeOrphanPool, filterTransactionPool: filterTransactionPool, @@ -254,12 +293,12 @@ class KarlsenClient { return result.getMempoolEntriesResponse.entries; } - Future> getMempoolEntriesByAddresses( + Future> getMempoolEntriesByAddresses( Iterable addresses, { bool filterTransactionPool = true, bool includeOrphanPool = true, }) async { - final message = KarlsendMessage( + final message = KarlsendRequest( getMempoolEntriesByAddressesRequest: GetMempoolEntriesByAddressesRequestMessage( addresses: addresses, @@ -279,8 +318,8 @@ class KarlsenClient { // Network info - Future getNetworkName() async { - final message = KarlsendMessage( + Future getCurrentNetwork() async { + final message = KarlsendRequest( getCurrentNetworkRequest: GetCurrentNetworkRequestMessage(), ); @@ -293,10 +332,24 @@ class KarlsenClient { return result.getCurrentNetworkResponse.currentNetwork; } + Future getBlockDagInfo() async { + final message = KarlsendRequest( + getBlockDagInfoRequest: GetBlockDagInfoRequestMessage(), + ); + + final result = await _singleRequest(message); + final error = result.getBlockDagInfoResponse.error; + if (error.message.isNotEmpty) { + throw RpcException(error); + } + + return result.getBlockDagInfoResponse; + } + // Get Info Future getInfo() async { - final message = KarlsendMessage( + final message = KarlsendRequest( getInfoRequest: GetInfoRequestMessage(), ); @@ -311,13 +364,12 @@ class KarlsenClient { // Virtual Selected Parent Chain Changed - Stream + Stream notifyVirtualSelectedParentChainChanged({ required includeAcceptedTransactionIds, }) { - final message = KarlsendMessage( - notifyVirtualSelectedParentChainChangedRequest: - NotifyVirtualSelectedParentChainChangedRequestMessage( + final message = KarlsendRequest( + notifyVirtualChainChangedRequest: NotifyVirtualChainChangedRequestMessage( includeAcceptedTransactionIds: includeAcceptedTransactionIds, ), ); @@ -325,11 +377,11 @@ class KarlsenClient { final response = _streamRequest(message); final result = response.map((event) { - final error = event.notifyVirtualSelectedParentChainChangedResponse.error; + final error = event.notifyVirtualChainChangedResponse.error; if (error.message.isNotEmpty) { throw RpcException(error); } - return event.virtualSelectedParentChainChangedNotification; + return event.virtualChainChangedNotification; }).skip(1); return result; @@ -338,36 +390,33 @@ class KarlsenClient { // Virtual Selected Parent Blue Score Future getVirtualSelectedParentBlueScore() async { - final message = KarlsendMessage( - getVirtualSelectedParentBlueScoreRequest: - GetVirtualSelectedParentBlueScoreRequestMessage(), + final message = KarlsendRequest( + getSinkBlueScoreRequest: GetSinkBlueScoreRequestMessage(), ); final result = await _singleRequest(message); - final error = result.getVirtualSelectedParentBlueScoreResponse.error; + final error = result.getSinkBlueScoreResponse.error; if (error.message.isNotEmpty) { throw RpcException(error); } - return result.getVirtualSelectedParentBlueScoreResponse.blueScore; + return result.getSinkBlueScoreResponse.blueScore; } Stream notifyVirtualSelectedParentBlueScoreChanged() { - final message = KarlsendMessage( - notifyVirtualSelectedParentBlueScoreChangedRequest: - NotifyVirtualSelectedParentBlueScoreChangedRequestMessage(), + final message = KarlsendRequest( + notifySinkBlueScoreChangedRequest: + NotifySinkBlueScoreChangedRequestMessage(), ); final response = _streamRequest(message); final result = response.map((event) { - final error = - event.notifyVirtualSelectedParentBlueScoreChangedResponse.error; + final error = event.notifySinkBlueScoreChangedResponse.error; if (error.message.isNotEmpty) { throw RpcException(error); } - return event.virtualSelectedParentBlueScoreChangedNotification - .virtualSelectedParentBlueScore; + return event.sinkBlueScoreChangedNotification.sinkBlueScore; }).skip(1); return result; @@ -376,7 +425,7 @@ class KarlsenClient { // Virtual DAA Score Stream notifyVirtualDaaScoreChanged() { - final message = KarlsendMessage( + final message = KarlsendRequest( notifyVirtualDaaScoreChangedRequest: NotifyVirtualDaaScoreChangedRequestMessage(), ); @@ -398,7 +447,7 @@ class KarlsenClient { String hash, { bool includeTransactions = true, }) async { - final message = KarlsendMessage( + final message = KarlsendRequest( getBlockRequest: GetBlockRequestMessage( hash: hash, includeTransactions: includeTransactions, diff --git a/lib/karlsen/grpc/messages.pb.dart b/lib/karlsen/grpc/messages.pb.dart index 3e42278e..88b053c0 100644 --- a/lib/karlsen/grpc/messages.pb.dart +++ b/lib/karlsen/grpc/messages.pb.dart @@ -1,3965 +1,2114 @@ -/// +// // Generated code. Do not modify. // source: messages.proto // // @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 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import import 'dart:core' as $core; +import 'package:fixnum/fixnum.dart' as $fixnum; import 'package:protobuf/protobuf.dart' as $pb; -import 'p2p.pb.dart' as $1; -import 'rpc.pb.dart' as $2; - -enum KarlsendMessage_Payload { - addresses, - block, - transaction, - blockLocator, - requestAddresses, - requestRelayBlocks, - requestTransactions, - ibdBlock, - invRelayBlock, - invTransactions, - ping, - pong, - verack, - version, - transactionNotFound, - reject, - pruningPointUtxoSetChunk, - requestIBDBlocks, - unexpectedPruningPoint, - ibdBlockLocator, - ibdBlockLocatorHighestHash, - requestNextPruningPointUtxoSetChunk, - donePruningPointUtxoSetChunks, - ibdBlockLocatorHighestHashNotFound, - blockWithTrustedData, - doneBlocksWithTrustedData, - requestPruningPointAndItsAnticone, - blockHeaders, - requestNextHeaders, - doneHeaders, - requestPruningPointUTXOSet, - requestHeaders, - requestBlockLocator, - pruningPoints, - requestPruningPointProof, - pruningPointProof, - ready, - blockWithTrustedDataV4, - trustedData, - requestIBDChainBlockLocator, - ibdChainBlockLocator, - requestAnticone, - requestNextPruningPointAndItsAnticoneBlocks, - getCurrentNetworkRequest, - getCurrentNetworkResponse, - submitBlockRequest, - submitBlockResponse, - getBlockTemplateRequest, - getBlockTemplateResponse, - notifyBlockAddedRequest, - notifyBlockAddedResponse, - blockAddedNotification, - getPeerAddressesRequest, - getPeerAddressesResponse, - getSelectedTipHashRequest, - getSelectedTipHashResponse, - getMempoolEntryRequest, - getMempoolEntryResponse, - getConnectedPeerInfoRequest, - getConnectedPeerInfoResponse, - addPeerRequest, - addPeerResponse, - submitTransactionRequest, - submitTransactionResponse, - notifyVirtualSelectedParentChainChangedRequest, - notifyVirtualSelectedParentChainChangedResponse, - virtualSelectedParentChainChangedNotification, - getBlockRequest, - getBlockResponse, - getSubnetworkRequest, - getSubnetworkResponse, - getVirtualSelectedParentChainFromBlockRequest, - getVirtualSelectedParentChainFromBlockResponse, - getBlocksRequest, - getBlocksResponse, - getBlockCountRequest, - getBlockCountResponse, - getBlockDagInfoRequest, - getBlockDagInfoResponse, - resolveFinalityConflictRequest, - resolveFinalityConflictResponse, - notifyFinalityConflictsRequest, - notifyFinalityConflictsResponse, - finalityConflictNotification, - finalityConflictResolvedNotification, - getMempoolEntriesRequest, - getMempoolEntriesResponse, - shutDownRequest, - shutDownResponse, - getHeadersRequest, - getHeadersResponse, - notifyUtxosChangedRequest, - notifyUtxosChangedResponse, - utxosChangedNotification, - getUtxosByAddressesRequest, - getUtxosByAddressesResponse, - getVirtualSelectedParentBlueScoreRequest, - getVirtualSelectedParentBlueScoreResponse, - notifyVirtualSelectedParentBlueScoreChangedRequest, - notifyVirtualSelectedParentBlueScoreChangedResponse, - virtualSelectedParentBlueScoreChangedNotification, - banRequest, - banResponse, - unbanRequest, - unbanResponse, - getInfoRequest, - getInfoResponse, - stopNotifyingUtxosChangedRequest, - stopNotifyingUtxosChangedResponse, - notifyPruningPointUTXOSetOverrideRequest, - notifyPruningPointUTXOSetOverrideResponse, - pruningPointUTXOSetOverrideNotification, - stopNotifyingPruningPointUTXOSetOverrideRequest, - stopNotifyingPruningPointUTXOSetOverrideResponse, - estimateNetworkHashesPerSecondRequest, - estimateNetworkHashesPerSecondResponse, - notifyVirtualDaaScoreChangedRequest, - notifyVirtualDaaScoreChangedResponse, - virtualDaaScoreChangedNotification, - getBalanceByAddressRequest, - getBalanceByAddressResponse, - getBalancesByAddressesRequest, - getBalancesByAddressesResponse, - notifyNewBlockTemplateRequest, - notifyNewBlockTemplateResponse, - newBlockTemplateNotification, - getMempoolEntriesByAddressesRequest, - getMempoolEntriesByAddressesResponse, - getCoinSupplyRequest, - getCoinSupplyResponse, +import 'rpc.pb.dart' as $1; + +enum KarlsendRequest_Payload { + getCurrentNetworkRequest, + submitBlockRequest, + getBlockTemplateRequest, + notifyBlockAddedRequest, + getPeerAddressesRequest, + getSinkRequest, + getMempoolEntryRequest, + getConnectedPeerInfoRequest, + addPeerRequest, + submitTransactionRequest, + notifyVirtualChainChangedRequest, + getBlockRequest, + getSubnetworkRequest, + getVirtualChainFromBlockRequest, + getBlocksRequest, + getBlockCountRequest, + getBlockDagInfoRequest, + resolveFinalityConflictRequest, + notifyFinalityConflictRequest, + getMempoolEntriesRequest, + shutdownRequest, + getHeadersRequest, + notifyUtxosChangedRequest, + getUtxosByAddressesRequest, + getSinkBlueScoreRequest, + notifySinkBlueScoreChangedRequest, + banRequest, + unbanRequest, + getInfoRequest, + stopNotifyingUtxosChangedRequest, + notifyPruningPointUtxoSetOverrideRequest, + stopNotifyingPruningPointUtxoSetOverrideRequest, + estimateNetworkHashesPerSecondRequest, + notifyVirtualDaaScoreChangedRequest, + getBalanceByAddressRequest, + getBalancesByAddressesRequest, + notifyNewBlockTemplateRequest, + getMempoolEntriesByAddressesRequest, + getCoinSupplyRequest, + pingRequest, + getMetricsRequest, + getServerInfoRequest, + getSyncStatusRequest, + getDaaScoreTimestampEstimateRequest, + submitTransactionReplacementRequest, + getConnectionsRequest, + getSystemInfoRequest, + getFeeEstimateRequest, + getFeeEstimateExperimentalRequest, + getCurrentBlockColorRequest, notSet } -class KarlsendMessage extends $pb.GeneratedMessage { - static const $core.Map<$core.int, KarlsendMessage_Payload> - _KarlsendMessage_PayloadByTag = { - 1: KarlsendMessage_Payload.addresses, - 2: KarlsendMessage_Payload.block, - 3: KarlsendMessage_Payload.transaction, - 5: KarlsendMessage_Payload.blockLocator, - 6: KarlsendMessage_Payload.requestAddresses, - 10: KarlsendMessage_Payload.requestRelayBlocks, - 12: KarlsendMessage_Payload.requestTransactions, - 13: KarlsendMessage_Payload.ibdBlock, - 14: KarlsendMessage_Payload.invRelayBlock, - 15: KarlsendMessage_Payload.invTransactions, - 16: KarlsendMessage_Payload.ping, - 17: KarlsendMessage_Payload.pong, - 19: KarlsendMessage_Payload.verack, - 20: KarlsendMessage_Payload.version, - 21: KarlsendMessage_Payload.transactionNotFound, - 22: KarlsendMessage_Payload.reject, - 25: KarlsendMessage_Payload.pruningPointUtxoSetChunk, - 26: KarlsendMessage_Payload.requestIBDBlocks, - 27: KarlsendMessage_Payload.unexpectedPruningPoint, - 30: KarlsendMessage_Payload.ibdBlockLocator, - 31: KarlsendMessage_Payload.ibdBlockLocatorHighestHash, - 33: KarlsendMessage_Payload.requestNextPruningPointUtxoSetChunk, - 34: KarlsendMessage_Payload.donePruningPointUtxoSetChunks, - 35: KarlsendMessage_Payload.ibdBlockLocatorHighestHashNotFound, - 36: KarlsendMessage_Payload.blockWithTrustedData, - 37: KarlsendMessage_Payload.doneBlocksWithTrustedData, - 40: KarlsendMessage_Payload.requestPruningPointAndItsAnticone, - 41: KarlsendMessage_Payload.blockHeaders, - 42: KarlsendMessage_Payload.requestNextHeaders, - 43: KarlsendMessage_Payload.doneHeaders, - 44: KarlsendMessage_Payload.requestPruningPointUTXOSet, - 45: KarlsendMessage_Payload.requestHeaders, - 46: KarlsendMessage_Payload.requestBlockLocator, - 47: KarlsendMessage_Payload.pruningPoints, - 48: KarlsendMessage_Payload.requestPruningPointProof, - 49: KarlsendMessage_Payload.pruningPointProof, - 50: KarlsendMessage_Payload.ready, - 51: KarlsendMessage_Payload.blockWithTrustedDataV4, - 52: KarlsendMessage_Payload.trustedData, - 53: KarlsendMessage_Payload.requestIBDChainBlockLocator, - 54: KarlsendMessage_Payload.ibdChainBlockLocator, - 55: KarlsendMessage_Payload.requestAnticone, - 56: KarlsendMessage_Payload.requestNextPruningPointAndItsAnticoneBlocks, - 1001: KarlsendMessage_Payload.getCurrentNetworkRequest, - 1002: KarlsendMessage_Payload.getCurrentNetworkResponse, - 1003: KarlsendMessage_Payload.submitBlockRequest, - 1004: KarlsendMessage_Payload.submitBlockResponse, - 1005: KarlsendMessage_Payload.getBlockTemplateRequest, - 1006: KarlsendMessage_Payload.getBlockTemplateResponse, - 1007: KarlsendMessage_Payload.notifyBlockAddedRequest, - 1008: KarlsendMessage_Payload.notifyBlockAddedResponse, - 1009: KarlsendMessage_Payload.blockAddedNotification, - 1010: KarlsendMessage_Payload.getPeerAddressesRequest, - 1011: KarlsendMessage_Payload.getPeerAddressesResponse, - 1012: KarlsendMessage_Payload.getSelectedTipHashRequest, - 1013: KarlsendMessage_Payload.getSelectedTipHashResponse, - 1014: KarlsendMessage_Payload.getMempoolEntryRequest, - 1015: KarlsendMessage_Payload.getMempoolEntryResponse, - 1016: KarlsendMessage_Payload.getConnectedPeerInfoRequest, - 1017: KarlsendMessage_Payload.getConnectedPeerInfoResponse, - 1018: KarlsendMessage_Payload.addPeerRequest, - 1019: KarlsendMessage_Payload.addPeerResponse, - 1020: KarlsendMessage_Payload.submitTransactionRequest, - 1021: KarlsendMessage_Payload.submitTransactionResponse, - 1022: - KarlsendMessage_Payload.notifyVirtualSelectedParentChainChangedRequest, - 1023: - KarlsendMessage_Payload.notifyVirtualSelectedParentChainChangedResponse, - 1024: KarlsendMessage_Payload.virtualSelectedParentChainChangedNotification, - 1025: KarlsendMessage_Payload.getBlockRequest, - 1026: KarlsendMessage_Payload.getBlockResponse, - 1027: KarlsendMessage_Payload.getSubnetworkRequest, - 1028: KarlsendMessage_Payload.getSubnetworkResponse, - 1029: KarlsendMessage_Payload.getVirtualSelectedParentChainFromBlockRequest, - 1030: - KarlsendMessage_Payload.getVirtualSelectedParentChainFromBlockResponse, - 1031: KarlsendMessage_Payload.getBlocksRequest, - 1032: KarlsendMessage_Payload.getBlocksResponse, - 1033: KarlsendMessage_Payload.getBlockCountRequest, - 1034: KarlsendMessage_Payload.getBlockCountResponse, - 1035: KarlsendMessage_Payload.getBlockDagInfoRequest, - 1036: KarlsendMessage_Payload.getBlockDagInfoResponse, - 1037: KarlsendMessage_Payload.resolveFinalityConflictRequest, - 1038: KarlsendMessage_Payload.resolveFinalityConflictResponse, - 1039: KarlsendMessage_Payload.notifyFinalityConflictsRequest, - 1040: KarlsendMessage_Payload.notifyFinalityConflictsResponse, - 1041: KarlsendMessage_Payload.finalityConflictNotification, - 1042: KarlsendMessage_Payload.finalityConflictResolvedNotification, - 1043: KarlsendMessage_Payload.getMempoolEntriesRequest, - 1044: KarlsendMessage_Payload.getMempoolEntriesResponse, - 1045: KarlsendMessage_Payload.shutDownRequest, - 1046: KarlsendMessage_Payload.shutDownResponse, - 1047: KarlsendMessage_Payload.getHeadersRequest, - 1048: KarlsendMessage_Payload.getHeadersResponse, - 1049: KarlsendMessage_Payload.notifyUtxosChangedRequest, - 1050: KarlsendMessage_Payload.notifyUtxosChangedResponse, - 1051: KarlsendMessage_Payload.utxosChangedNotification, - 1052: KarlsendMessage_Payload.getUtxosByAddressesRequest, - 1053: KarlsendMessage_Payload.getUtxosByAddressesResponse, - 1054: KarlsendMessage_Payload.getVirtualSelectedParentBlueScoreRequest, - 1055: KarlsendMessage_Payload.getVirtualSelectedParentBlueScoreResponse, - 1056: KarlsendMessage_Payload - .notifyVirtualSelectedParentBlueScoreChangedRequest, - 1057: KarlsendMessage_Payload - .notifyVirtualSelectedParentBlueScoreChangedResponse, - 1058: KarlsendMessage_Payload - .virtualSelectedParentBlueScoreChangedNotification, - 1059: KarlsendMessage_Payload.banRequest, - 1060: KarlsendMessage_Payload.banResponse, - 1061: KarlsendMessage_Payload.unbanRequest, - 1062: KarlsendMessage_Payload.unbanResponse, - 1063: KarlsendMessage_Payload.getInfoRequest, - 1064: KarlsendMessage_Payload.getInfoResponse, - 1065: KarlsendMessage_Payload.stopNotifyingUtxosChangedRequest, - 1066: KarlsendMessage_Payload.stopNotifyingUtxosChangedResponse, - 1067: KarlsendMessage_Payload.notifyPruningPointUTXOSetOverrideRequest, - 1068: KarlsendMessage_Payload.notifyPruningPointUTXOSetOverrideResponse, - 1069: KarlsendMessage_Payload.pruningPointUTXOSetOverrideNotification, - 1070: - KarlsendMessage_Payload.stopNotifyingPruningPointUTXOSetOverrideRequest, - 1071: KarlsendMessage_Payload - .stopNotifyingPruningPointUTXOSetOverrideResponse, - 1072: KarlsendMessage_Payload.estimateNetworkHashesPerSecondRequest, - 1073: KarlsendMessage_Payload.estimateNetworkHashesPerSecondResponse, - 1074: KarlsendMessage_Payload.notifyVirtualDaaScoreChangedRequest, - 1075: KarlsendMessage_Payload.notifyVirtualDaaScoreChangedResponse, - 1076: KarlsendMessage_Payload.virtualDaaScoreChangedNotification, - 1077: KarlsendMessage_Payload.getBalanceByAddressRequest, - 1078: KarlsendMessage_Payload.getBalanceByAddressResponse, - 1079: KarlsendMessage_Payload.getBalancesByAddressesRequest, - 1080: KarlsendMessage_Payload.getBalancesByAddressesResponse, - 1081: KarlsendMessage_Payload.notifyNewBlockTemplateRequest, - 1082: KarlsendMessage_Payload.notifyNewBlockTemplateResponse, - 1083: KarlsendMessage_Payload.newBlockTemplateNotification, - 1084: KarlsendMessage_Payload.getMempoolEntriesByAddressesRequest, - 1085: KarlsendMessage_Payload.getMempoolEntriesByAddressesResponse, - 1086: KarlsendMessage_Payload.getCoinSupplyRequest, - 1087: KarlsendMessage_Payload.getCoinSupplyResponse, - 0: KarlsendMessage_Payload.notSet - }; - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'KarlsendMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..oo(0, [ - 1, - 2, - 3, - 5, - 6, - 10, - 12, - 13, - 14, - 15, - 16, - 17, - 19, - 20, - 21, - 22, - 25, - 26, - 27, - 30, - 31, - 33, - 34, - 35, - 36, - 37, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 1001, - 1002, - 1003, - 1004, - 1005, - 1006, - 1007, - 1008, - 1009, - 1010, - 1011, - 1012, - 1013, - 1014, - 1015, - 1016, - 1017, - 1018, - 1019, - 1020, - 1021, - 1022, - 1023, - 1024, - 1025, - 1026, - 1027, - 1028, - 1029, - 1030, - 1031, - 1032, - 1033, - 1034, - 1035, - 1036, - 1037, - 1038, - 1039, - 1040, - 1041, - 1042, - 1043, - 1044, - 1045, - 1046, - 1047, - 1048, - 1049, - 1050, - 1051, - 1052, - 1053, - 1054, - 1055, - 1056, - 1057, - 1058, - 1059, - 1060, - 1061, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1071, - 1072, - 1073, - 1074, - 1075, - 1076, - 1077, - 1078, - 1079, - 1080, - 1081, - 1082, - 1083, - 1084, - 1085, - 1086, - 1087 - ]) - ..aOM<$1.AddressesMessage>( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'addresses', - subBuilder: $1.AddressesMessage.create) - ..aOM<$1.BlockMessage>( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'block', - subBuilder: $1.BlockMessage.create) - ..aOM<$1.TransactionMessage>( - 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'transaction', - subBuilder: $1.TransactionMessage.create) - ..aOM<$1.BlockLocatorMessage>( - 5, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'blockLocator', - protoName: 'blockLocator', - subBuilder: $1.BlockLocatorMessage.create) - ..aOM<$1.RequestAddressesMessage>( - 6, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'requestAddresses', - protoName: 'requestAddresses', - subBuilder: $1.RequestAddressesMessage.create) - ..aOM<$1.RequestRelayBlocksMessage>( - 10, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'requestRelayBlocks', - protoName: 'requestRelayBlocks', - subBuilder: $1.RequestRelayBlocksMessage.create) - ..aOM<$1.RequestTransactionsMessage>( - 12, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'requestTransactions', - protoName: 'requestTransactions', - subBuilder: $1.RequestTransactionsMessage.create) - ..aOM<$1.BlockMessage>( - 13, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'ibdBlock', - protoName: 'ibdBlock', - subBuilder: $1.BlockMessage.create) - ..aOM<$1.InvRelayBlockMessage>( - 14, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'invRelayBlock', - protoName: 'invRelayBlock', - subBuilder: $1.InvRelayBlockMessage.create) - ..aOM<$1.InvTransactionsMessage>( - 15, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'invTransactions', - protoName: 'invTransactions', - subBuilder: $1.InvTransactionsMessage.create) - ..aOM<$1.PingMessage>( - 16, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'ping', - subBuilder: $1.PingMessage.create) - ..aOM<$1.PongMessage>( - 17, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'pong', - subBuilder: $1.PongMessage.create) - ..aOM<$1.VerackMessage>( - 19, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'verack', - subBuilder: $1.VerackMessage.create) - ..aOM<$1.VersionMessage>( - 20, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'version', - subBuilder: $1.VersionMessage.create) - ..aOM<$1.TransactionNotFoundMessage>( - 21, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'transactionNotFound', - protoName: 'transactionNotFound', - subBuilder: $1.TransactionNotFoundMessage.create) - ..aOM<$1.RejectMessage>( - 22, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'reject', - subBuilder: $1.RejectMessage.create) - ..aOM<$1.PruningPointUtxoSetChunkMessage>( - 25, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'pruningPointUtxoSetChunk', - protoName: 'pruningPointUtxoSetChunk', - subBuilder: $1.PruningPointUtxoSetChunkMessage.create) - ..aOM<$1.RequestIBDBlocksMessage>( - 26, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'requestIBDBlocks', - protoName: 'requestIBDBlocks', - subBuilder: $1.RequestIBDBlocksMessage.create) - ..aOM<$1.UnexpectedPruningPointMessage>( - 27, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'unexpectedPruningPoint', - protoName: 'unexpectedPruningPoint', - subBuilder: $1.UnexpectedPruningPointMessage.create) - ..aOM<$1.IbdBlockLocatorMessage>( - 30, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'ibdBlockLocator', - protoName: 'ibdBlockLocator', - subBuilder: $1.IbdBlockLocatorMessage.create) - ..aOM<$1.IbdBlockLocatorHighestHashMessage>( - 31, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'ibdBlockLocatorHighestHash', - protoName: 'ibdBlockLocatorHighestHash', - subBuilder: $1.IbdBlockLocatorHighestHashMessage.create) - ..aOM<$1.RequestNextPruningPointUtxoSetChunkMessage>( - 33, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'requestNextPruningPointUtxoSetChunk', - protoName: 'requestNextPruningPointUtxoSetChunk', - subBuilder: $1.RequestNextPruningPointUtxoSetChunkMessage.create) - ..aOM<$1.DonePruningPointUtxoSetChunksMessage>( - 34, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'donePruningPointUtxoSetChunks', - protoName: 'donePruningPointUtxoSetChunks', - subBuilder: $1.DonePruningPointUtxoSetChunksMessage.create) - ..aOM<$1.IbdBlockLocatorHighestHashNotFoundMessage>( - 35, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'ibdBlockLocatorHighestHashNotFound', - protoName: 'ibdBlockLocatorHighestHashNotFound', - subBuilder: $1.IbdBlockLocatorHighestHashNotFoundMessage.create) - ..aOM<$1.BlockWithTrustedDataMessage>( - 36, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'blockWithTrustedData', - protoName: 'blockWithTrustedData', - subBuilder: $1.BlockWithTrustedDataMessage.create) - ..aOM<$1.DoneBlocksWithTrustedDataMessage>( - 37, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'doneBlocksWithTrustedData', - protoName: 'doneBlocksWithTrustedData', - subBuilder: $1.DoneBlocksWithTrustedDataMessage.create) - ..aOM<$1.RequestPruningPointAndItsAnticoneMessage>( - 40, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'requestPruningPointAndItsAnticone', - protoName: 'requestPruningPointAndItsAnticone', - subBuilder: $1.RequestPruningPointAndItsAnticoneMessage.create) - ..aOM<$1.BlockHeadersMessage>( - 41, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'blockHeaders', - protoName: 'blockHeaders', - subBuilder: $1.BlockHeadersMessage.create) - ..aOM<$1.RequestNextHeadersMessage>( - 42, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'requestNextHeaders', - protoName: 'requestNextHeaders', - subBuilder: $1.RequestNextHeadersMessage.create) - ..aOM<$1.DoneHeadersMessage>( - 43, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'DoneHeaders', - protoName: 'DoneHeaders', - subBuilder: $1.DoneHeadersMessage.create) - ..aOM<$1.RequestPruningPointUTXOSetMessage>( - 44, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'requestPruningPointUTXOSet', - protoName: 'requestPruningPointUTXOSet', - subBuilder: $1.RequestPruningPointUTXOSetMessage.create) - ..aOM<$1.RequestHeadersMessage>( - 45, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'requestHeaders', - protoName: 'requestHeaders', - subBuilder: $1.RequestHeadersMessage.create) - ..aOM<$1.RequestBlockLocatorMessage>( - 46, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'requestBlockLocator', - protoName: 'requestBlockLocator', - subBuilder: $1.RequestBlockLocatorMessage.create) - ..aOM<$1.PruningPointsMessage>( - 47, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'pruningPoints', - protoName: 'pruningPoints', - subBuilder: $1.PruningPointsMessage.create) - ..aOM<$1.RequestPruningPointProofMessage>( - 48, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'requestPruningPointProof', - protoName: 'requestPruningPointProof', - subBuilder: $1.RequestPruningPointProofMessage.create) - ..aOM<$1.PruningPointProofMessage>( - 49, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'pruningPointProof', - protoName: 'pruningPointProof', - subBuilder: $1.PruningPointProofMessage.create) - ..aOM<$1.ReadyMessage>( - 50, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'ready', - subBuilder: $1.ReadyMessage.create) - ..aOM<$1.BlockWithTrustedDataV4Message>( - 51, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'blockWithTrustedDataV4', - protoName: 'blockWithTrustedDataV4', - subBuilder: $1.BlockWithTrustedDataV4Message.create) - ..aOM<$1.TrustedDataMessage>( - 52, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'trustedData', - protoName: 'trustedData', - subBuilder: $1.TrustedDataMessage.create) - ..aOM<$1.RequestIBDChainBlockLocatorMessage>( - 53, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'requestIBDChainBlockLocator', - protoName: 'requestIBDChainBlockLocator', - subBuilder: $1.RequestIBDChainBlockLocatorMessage.create) - ..aOM<$1.IbdChainBlockLocatorMessage>( - 54, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'ibdChainBlockLocator', - protoName: 'ibdChainBlockLocator', - subBuilder: $1.IbdChainBlockLocatorMessage.create) - ..aOM<$1.RequestAnticoneMessage>( - 55, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'requestAnticone', - protoName: 'requestAnticone', - subBuilder: $1.RequestAnticoneMessage.create) - ..aOM<$1.RequestNextPruningPointAndItsAnticoneBlocksMessage>( - 56, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'requestNextPruningPointAndItsAnticoneBlocks', - protoName: 'requestNextPruningPointAndItsAnticoneBlocks', - subBuilder: - $1.RequestNextPruningPointAndItsAnticoneBlocksMessage.create) - ..aOM<$2.GetCurrentNetworkRequestMessage>( - 1001, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'getCurrentNetworkRequest', - protoName: 'getCurrentNetworkRequest', - subBuilder: $2.GetCurrentNetworkRequestMessage.create) - ..aOM<$2.GetCurrentNetworkResponseMessage>( - 1002, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'getCurrentNetworkResponse', - protoName: 'getCurrentNetworkResponse', - subBuilder: $2.GetCurrentNetworkResponseMessage.create) - ..aOM<$2.SubmitBlockRequestMessage>( - 1003, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'submitBlockRequest', - protoName: 'submitBlockRequest', - subBuilder: $2.SubmitBlockRequestMessage.create) - ..aOM<$2.SubmitBlockResponseMessage>( - 1004, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'submitBlockResponse', - protoName: 'submitBlockResponse', - subBuilder: $2.SubmitBlockResponseMessage.create) - ..aOM<$2.GetBlockTemplateRequestMessage>( - 1005, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'getBlockTemplateRequest', - protoName: 'getBlockTemplateRequest', - subBuilder: $2.GetBlockTemplateRequestMessage.create) - ..aOM<$2.GetBlockTemplateResponseMessage>( - 1006, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'getBlockTemplateResponse', - protoName: 'getBlockTemplateResponse', - subBuilder: $2.GetBlockTemplateResponseMessage.create) - ..aOM<$2.NotifyBlockAddedRequestMessage>( - 1007, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'notifyBlockAddedRequest', - protoName: 'notifyBlockAddedRequest', - subBuilder: $2.NotifyBlockAddedRequestMessage.create) - ..aOM<$2.NotifyBlockAddedResponseMessage>( - 1008, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'notifyBlockAddedResponse', - protoName: 'notifyBlockAddedResponse', - subBuilder: $2.NotifyBlockAddedResponseMessage.create) - ..aOM<$2.BlockAddedNotificationMessage>( - 1009, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'blockAddedNotification', - protoName: 'blockAddedNotification', - subBuilder: $2.BlockAddedNotificationMessage.create) - ..aOM<$2.GetPeerAddressesRequestMessage>( - 1010, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'getPeerAddressesRequest', - protoName: 'getPeerAddressesRequest', - subBuilder: $2.GetPeerAddressesRequestMessage.create) - ..aOM<$2.GetPeerAddressesResponseMessage>( - 1011, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'getPeerAddressesResponse', - protoName: 'getPeerAddressesResponse', - subBuilder: $2.GetPeerAddressesResponseMessage.create) - ..aOM<$2.GetSelectedTipHashRequestMessage>( - 1012, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'getSelectedTipHashRequest', - protoName: 'getSelectedTipHashRequest', - subBuilder: $2.GetSelectedTipHashRequestMessage.create) - ..aOM<$2.GetSelectedTipHashResponseMessage>( - 1013, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'getSelectedTipHashResponse', - protoName: 'getSelectedTipHashResponse', - subBuilder: $2.GetSelectedTipHashResponseMessage.create) - ..aOM<$2.GetMempoolEntryRequestMessage>( - 1014, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'getMempoolEntryRequest', - protoName: 'getMempoolEntryRequest', - subBuilder: $2.GetMempoolEntryRequestMessage.create) - ..aOM<$2.GetMempoolEntryResponseMessage>( - 1015, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'getMempoolEntryResponse', - protoName: 'getMempoolEntryResponse', - subBuilder: $2.GetMempoolEntryResponseMessage.create) - ..aOM<$2.GetConnectedPeerInfoRequestMessage>( - 1016, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'getConnectedPeerInfoRequest', - protoName: 'getConnectedPeerInfoRequest', - subBuilder: $2.GetConnectedPeerInfoRequestMessage.create) - ..aOM<$2.GetConnectedPeerInfoResponseMessage>( - 1017, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'getConnectedPeerInfoResponse', - protoName: 'getConnectedPeerInfoResponse', - subBuilder: $2.GetConnectedPeerInfoResponseMessage.create) - ..aOM<$2.AddPeerRequestMessage>( - 1018, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'addPeerRequest', - protoName: 'addPeerRequest', - subBuilder: $2.AddPeerRequestMessage.create) - ..aOM<$2.AddPeerResponseMessage>( - 1019, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'addPeerResponse', - protoName: 'addPeerResponse', - subBuilder: $2.AddPeerResponseMessage.create) - ..aOM<$2.SubmitTransactionRequestMessage>( - 1020, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'submitTransactionRequest', - protoName: 'submitTransactionRequest', - subBuilder: $2.SubmitTransactionRequestMessage.create) - ..aOM<$2.SubmitTransactionResponseMessage>( - 1021, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'submitTransactionResponse', - protoName: 'submitTransactionResponse', - subBuilder: $2.SubmitTransactionResponseMessage.create) - ..aOM<$2.NotifyVirtualSelectedParentChainChangedRequestMessage>( - 1022, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'notifyVirtualSelectedParentChainChangedRequest', - protoName: 'notifyVirtualSelectedParentChainChangedRequest', - subBuilder: - $2.NotifyVirtualSelectedParentChainChangedRequestMessage.create) - ..aOM<$2.NotifyVirtualSelectedParentChainChangedResponseMessage>( - 1023, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'notifyVirtualSelectedParentChainChangedResponse', - protoName: 'notifyVirtualSelectedParentChainChangedResponse', - subBuilder: - $2.NotifyVirtualSelectedParentChainChangedResponseMessage.create) - ..aOM<$2.VirtualSelectedParentChainChangedNotificationMessage>( - 1024, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'virtualSelectedParentChainChangedNotification', - protoName: 'virtualSelectedParentChainChangedNotification', - subBuilder: - $2.VirtualSelectedParentChainChangedNotificationMessage.create) - ..aOM<$2.GetBlockRequestMessage>( - 1025, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'getBlockRequest', - protoName: 'getBlockRequest', - subBuilder: $2.GetBlockRequestMessage.create) - ..aOM<$2.GetBlockResponseMessage>( - 1026, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'getBlockResponse', - protoName: 'getBlockResponse', - subBuilder: $2.GetBlockResponseMessage.create) - ..aOM<$2.GetSubnetworkRequestMessage>( - 1027, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'getSubnetworkRequest', - protoName: 'getSubnetworkRequest', - subBuilder: $2.GetSubnetworkRequestMessage.create) - ..aOM<$2.GetSubnetworkResponseMessage>( - 1028, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'getSubnetworkResponse', - protoName: 'getSubnetworkResponse', - subBuilder: $2.GetSubnetworkResponseMessage.create) - ..aOM<$2.GetVirtualSelectedParentChainFromBlockRequestMessage>( - 1029, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'getVirtualSelectedParentChainFromBlockRequest', - protoName: 'getVirtualSelectedParentChainFromBlockRequest', - subBuilder: - $2.GetVirtualSelectedParentChainFromBlockRequestMessage.create) - ..aOM<$2.GetVirtualSelectedParentChainFromBlockResponseMessage>( - 1030, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'getVirtualSelectedParentChainFromBlockResponse', - protoName: 'getVirtualSelectedParentChainFromBlockResponse', - subBuilder: - $2.GetVirtualSelectedParentChainFromBlockResponseMessage.create) - ..aOM<$2.GetBlocksRequestMessage>( - 1031, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'getBlocksRequest', - protoName: 'getBlocksRequest', - subBuilder: $2.GetBlocksRequestMessage.create) - ..aOM<$2.GetBlocksResponseMessage>( - 1032, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'getBlocksResponse', - protoName: 'getBlocksResponse', - subBuilder: $2.GetBlocksResponseMessage.create) - ..aOM<$2.GetBlockCountRequestMessage>( - 1033, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'getBlockCountRequest', - protoName: 'getBlockCountRequest', - subBuilder: $2.GetBlockCountRequestMessage.create) - ..aOM<$2.GetBlockCountResponseMessage>( - 1034, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'getBlockCountResponse', - protoName: 'getBlockCountResponse', - subBuilder: $2.GetBlockCountResponseMessage.create) - ..aOM<$2.GetBlockDagInfoRequestMessage>( - 1035, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'getBlockDagInfoRequest', - protoName: 'getBlockDagInfoRequest', - subBuilder: $2.GetBlockDagInfoRequestMessage.create) - ..aOM<$2.GetBlockDagInfoResponseMessage>( - 1036, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'getBlockDagInfoResponse', - protoName: 'getBlockDagInfoResponse', - subBuilder: $2.GetBlockDagInfoResponseMessage.create) - ..aOM<$2.ResolveFinalityConflictRequestMessage>( - 1037, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'resolveFinalityConflictRequest', - protoName: 'resolveFinalityConflictRequest', - subBuilder: $2.ResolveFinalityConflictRequestMessage.create) - ..aOM<$2.ResolveFinalityConflictResponseMessage>( - 1038, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'resolveFinalityConflictResponse', - protoName: 'resolveFinalityConflictResponse', - subBuilder: $2.ResolveFinalityConflictResponseMessage.create) - ..aOM<$2.NotifyFinalityConflictsRequestMessage>( - 1039, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'notifyFinalityConflictsRequest', - protoName: 'notifyFinalityConflictsRequest', - subBuilder: $2.NotifyFinalityConflictsRequestMessage.create) - ..aOM<$2.NotifyFinalityConflictsResponseMessage>( - 1040, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'notifyFinalityConflictsResponse', - protoName: 'notifyFinalityConflictsResponse', - subBuilder: $2.NotifyFinalityConflictsResponseMessage.create) - ..aOM<$2.FinalityConflictNotificationMessage>( - 1041, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'finalityConflictNotification', - protoName: 'finalityConflictNotification', - subBuilder: $2.FinalityConflictNotificationMessage.create) - ..aOM<$2.FinalityConflictResolvedNotificationMessage>( - 1042, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'finalityConflictResolvedNotification', - protoName: 'finalityConflictResolvedNotification', - subBuilder: $2.FinalityConflictResolvedNotificationMessage.create) - ..aOM<$2.GetMempoolEntriesRequestMessage>( - 1043, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'getMempoolEntriesRequest', - protoName: 'getMempoolEntriesRequest', - subBuilder: $2.GetMempoolEntriesRequestMessage.create) - ..aOM<$2.GetMempoolEntriesResponseMessage>( - 1044, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'getMempoolEntriesResponse', - protoName: 'getMempoolEntriesResponse', - subBuilder: $2.GetMempoolEntriesResponseMessage.create) - ..aOM<$2.ShutDownRequestMessage>( - 1045, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'shutDownRequest', - protoName: 'shutDownRequest', - subBuilder: $2.ShutDownRequestMessage.create) - ..aOM<$2.ShutDownResponseMessage>( - 1046, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'shutDownResponse', - protoName: 'shutDownResponse', - subBuilder: $2.ShutDownResponseMessage.create) - ..aOM<$2.GetHeadersRequestMessage>( - 1047, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'getHeadersRequest', - protoName: 'getHeadersRequest', - subBuilder: $2.GetHeadersRequestMessage.create) - ..aOM<$2.GetHeadersResponseMessage>( - 1048, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'getHeadersResponse', - protoName: 'getHeadersResponse', - subBuilder: $2.GetHeadersResponseMessage.create) - ..aOM<$2.NotifyUtxosChangedRequestMessage>( - 1049, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'notifyUtxosChangedRequest', - protoName: 'notifyUtxosChangedRequest', - subBuilder: $2.NotifyUtxosChangedRequestMessage.create) - ..aOM<$2.NotifyUtxosChangedResponseMessage>( - 1050, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'notifyUtxosChangedResponse', - protoName: 'notifyUtxosChangedResponse', - subBuilder: $2.NotifyUtxosChangedResponseMessage.create) - ..aOM<$2.UtxosChangedNotificationMessage>( - 1051, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'utxosChangedNotification', - protoName: 'utxosChangedNotification', - subBuilder: $2.UtxosChangedNotificationMessage.create) - ..aOM<$2.GetUtxosByAddressesRequestMessage>( - 1052, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'getUtxosByAddressesRequest', - protoName: 'getUtxosByAddressesRequest', - subBuilder: $2.GetUtxosByAddressesRequestMessage.create) - ..aOM<$2.GetUtxosByAddressesResponseMessage>( - 1053, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'getUtxosByAddressesResponse', - protoName: 'getUtxosByAddressesResponse', - subBuilder: $2.GetUtxosByAddressesResponseMessage.create) - ..aOM<$2.GetVirtualSelectedParentBlueScoreRequestMessage>( - 1054, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'getVirtualSelectedParentBlueScoreRequest', - protoName: 'getVirtualSelectedParentBlueScoreRequest', - subBuilder: $2.GetVirtualSelectedParentBlueScoreRequestMessage.create) - ..aOM<$2.GetVirtualSelectedParentBlueScoreResponseMessage>( - 1055, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'getVirtualSelectedParentBlueScoreResponse', - protoName: 'getVirtualSelectedParentBlueScoreResponse', - subBuilder: $2.GetVirtualSelectedParentBlueScoreResponseMessage.create) - ..aOM<$2.NotifyVirtualSelectedParentBlueScoreChangedRequestMessage>( - 1056, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'notifyVirtualSelectedParentBlueScoreChangedRequest', - protoName: 'notifyVirtualSelectedParentBlueScoreChangedRequest', - subBuilder: - $2.NotifyVirtualSelectedParentBlueScoreChangedRequestMessage.create) - ..aOM<$2.NotifyVirtualSelectedParentBlueScoreChangedResponseMessage>( - 1057, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'notifyVirtualSelectedParentBlueScoreChangedResponse', - protoName: 'notifyVirtualSelectedParentBlueScoreChangedResponse', - subBuilder: $2 - .NotifyVirtualSelectedParentBlueScoreChangedResponseMessage.create) - ..aOM<$2.VirtualSelectedParentBlueScoreChangedNotificationMessage>( - 1058, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'virtualSelectedParentBlueScoreChangedNotification', - protoName: 'virtualSelectedParentBlueScoreChangedNotification', - subBuilder: - $2.VirtualSelectedParentBlueScoreChangedNotificationMessage.create) - ..aOM<$2.BanRequestMessage>( - 1059, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'banRequest', - protoName: 'banRequest', - subBuilder: $2.BanRequestMessage.create) - ..aOM<$2.BanResponseMessage>( - 1060, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'banResponse', - protoName: 'banResponse', - subBuilder: $2.BanResponseMessage.create) - ..aOM<$2.UnbanRequestMessage>( - 1061, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'unbanRequest', - protoName: 'unbanRequest', - subBuilder: $2.UnbanRequestMessage.create) - ..aOM<$2.UnbanResponseMessage>( - 1062, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'unbanResponse', - protoName: 'unbanResponse', - subBuilder: $2.UnbanResponseMessage.create) - ..aOM<$2.GetInfoRequestMessage>( - 1063, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'getInfoRequest', - protoName: 'getInfoRequest', - subBuilder: $2.GetInfoRequestMessage.create) - ..aOM<$2.GetInfoResponseMessage>( - 1064, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'getInfoResponse', - protoName: 'getInfoResponse', - subBuilder: $2.GetInfoResponseMessage.create) - ..aOM<$2.StopNotifyingUtxosChangedRequestMessage>( - 1065, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'stopNotifyingUtxosChangedRequest', - protoName: 'stopNotifyingUtxosChangedRequest', - subBuilder: $2.StopNotifyingUtxosChangedRequestMessage.create) - ..aOM<$2.StopNotifyingUtxosChangedResponseMessage>( - 1066, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'stopNotifyingUtxosChangedResponse', - protoName: 'stopNotifyingUtxosChangedResponse', - subBuilder: $2.StopNotifyingUtxosChangedResponseMessage.create) - ..aOM<$2.NotifyPruningPointUTXOSetOverrideRequestMessage>( - 1067, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'notifyPruningPointUTXOSetOverrideRequest', - protoName: 'notifyPruningPointUTXOSetOverrideRequest', - subBuilder: $2.NotifyPruningPointUTXOSetOverrideRequestMessage.create) - ..aOM<$2.NotifyPruningPointUTXOSetOverrideResponseMessage>( - 1068, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'notifyPruningPointUTXOSetOverrideResponse', - protoName: 'notifyPruningPointUTXOSetOverrideResponse', - subBuilder: $2.NotifyPruningPointUTXOSetOverrideResponseMessage.create) - ..aOM<$2.PruningPointUTXOSetOverrideNotificationMessage>( - 1069, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'pruningPointUTXOSetOverrideNotification', - protoName: 'pruningPointUTXOSetOverrideNotification', - subBuilder: $2.PruningPointUTXOSetOverrideNotificationMessage.create) - ..aOM<$2.StopNotifyingPruningPointUTXOSetOverrideRequestMessage>( - 1070, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'stopNotifyingPruningPointUTXOSetOverrideRequest', - protoName: 'stopNotifyingPruningPointUTXOSetOverrideRequest', - subBuilder: - $2.StopNotifyingPruningPointUTXOSetOverrideRequestMessage.create) - ..aOM<$2.StopNotifyingPruningPointUTXOSetOverrideResponseMessage>( - 1071, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'stopNotifyingPruningPointUTXOSetOverrideResponse', - protoName: 'stopNotifyingPruningPointUTXOSetOverrideResponse', - subBuilder: - $2.StopNotifyingPruningPointUTXOSetOverrideResponseMessage.create) - ..aOM<$2.EstimateNetworkHashesPerSecondRequestMessage>( - 1072, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'estimateNetworkHashesPerSecondRequest', - protoName: 'estimateNetworkHashesPerSecondRequest', - subBuilder: $2.EstimateNetworkHashesPerSecondRequestMessage.create) - ..aOM<$2.EstimateNetworkHashesPerSecondResponseMessage>( - 1073, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'estimateNetworkHashesPerSecondResponse', - protoName: 'estimateNetworkHashesPerSecondResponse', - subBuilder: $2.EstimateNetworkHashesPerSecondResponseMessage.create) - ..aOM<$2.NotifyVirtualDaaScoreChangedRequestMessage>( - 1074, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'notifyVirtualDaaScoreChangedRequest', - protoName: 'notifyVirtualDaaScoreChangedRequest', - subBuilder: $2.NotifyVirtualDaaScoreChangedRequestMessage.create) - ..aOM<$2.NotifyVirtualDaaScoreChangedResponseMessage>( - 1075, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'notifyVirtualDaaScoreChangedResponse', - protoName: 'notifyVirtualDaaScoreChangedResponse', - subBuilder: $2.NotifyVirtualDaaScoreChangedResponseMessage.create) - ..aOM<$2.VirtualDaaScoreChangedNotificationMessage>( - 1076, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'virtualDaaScoreChangedNotification', - protoName: 'virtualDaaScoreChangedNotification', - subBuilder: $2.VirtualDaaScoreChangedNotificationMessage.create) - ..aOM<$2.GetBalanceByAddressRequestMessage>( - 1077, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'getBalanceByAddressRequest', - protoName: 'getBalanceByAddressRequest', - subBuilder: $2.GetBalanceByAddressRequestMessage.create) - ..aOM<$2.GetBalanceByAddressResponseMessage>( - 1078, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'getBalanceByAddressResponse', - protoName: 'getBalanceByAddressResponse', - subBuilder: $2.GetBalanceByAddressResponseMessage.create) - ..aOM<$2.GetBalancesByAddressesRequestMessage>( - 1079, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'getBalancesByAddressesRequest', - protoName: 'getBalancesByAddressesRequest', - subBuilder: $2.GetBalancesByAddressesRequestMessage.create) - ..aOM<$2.GetBalancesByAddressesResponseMessage>( - 1080, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'getBalancesByAddressesResponse', - protoName: 'getBalancesByAddressesResponse', - subBuilder: $2.GetBalancesByAddressesResponseMessage.create) - ..aOM<$2.NotifyNewBlockTemplateRequestMessage>( - 1081, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'notifyNewBlockTemplateRequest', - protoName: 'notifyNewBlockTemplateRequest', - subBuilder: $2.NotifyNewBlockTemplateRequestMessage.create) - ..aOM<$2.NotifyNewBlockTemplateResponseMessage>( - 1082, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'notifyNewBlockTemplateResponse', - protoName: 'notifyNewBlockTemplateResponse', - subBuilder: $2.NotifyNewBlockTemplateResponseMessage.create) - ..aOM<$2.NewBlockTemplateNotificationMessage>( - 1083, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'newBlockTemplateNotification', - protoName: 'newBlockTemplateNotification', - subBuilder: $2.NewBlockTemplateNotificationMessage.create) - ..aOM<$2.GetMempoolEntriesByAddressesRequestMessage>( - 1084, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'getMempoolEntriesByAddressesRequest', - protoName: 'getMempoolEntriesByAddressesRequest', - subBuilder: $2.GetMempoolEntriesByAddressesRequestMessage.create) - ..aOM<$2.GetMempoolEntriesByAddressesResponseMessage>( - 1085, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'getMempoolEntriesByAddressesResponse', - protoName: 'getMempoolEntriesByAddressesResponse', - subBuilder: $2.GetMempoolEntriesByAddressesResponseMessage.create) - ..aOM<$2.GetCoinSupplyRequestMessage>( - 1086, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'getCoinSupplyRequest', - protoName: 'getCoinSupplyRequest', - subBuilder: $2.GetCoinSupplyRequestMessage.create) - ..aOM<$2.GetCoinSupplyResponseMessage>( - 1087, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'getCoinSupplyResponse', - protoName: 'getCoinSupplyResponse', - subBuilder: $2.GetCoinSupplyResponseMessage.create) - ..hasRequiredFields = false; - - KarlsendMessage._() : super(); - factory KarlsendMessage({ - $1.AddressesMessage? addresses, - $1.BlockMessage? block, - $1.TransactionMessage? transaction, - $1.BlockLocatorMessage? blockLocator, - $1.RequestAddressesMessage? requestAddresses, - $1.RequestRelayBlocksMessage? requestRelayBlocks, - $1.RequestTransactionsMessage? requestTransactions, - $1.BlockMessage? ibdBlock, - $1.InvRelayBlockMessage? invRelayBlock, - $1.InvTransactionsMessage? invTransactions, - $1.PingMessage? ping, - $1.PongMessage? pong, - $1.VerackMessage? verack, - $1.VersionMessage? version, - $1.TransactionNotFoundMessage? transactionNotFound, - $1.RejectMessage? reject, - $1.PruningPointUtxoSetChunkMessage? pruningPointUtxoSetChunk, - $1.RequestIBDBlocksMessage? requestIBDBlocks, - $1.UnexpectedPruningPointMessage? unexpectedPruningPoint, - $1.IbdBlockLocatorMessage? ibdBlockLocator, - $1.IbdBlockLocatorHighestHashMessage? ibdBlockLocatorHighestHash, - $1.RequestNextPruningPointUtxoSetChunkMessage? - requestNextPruningPointUtxoSetChunk, - $1.DonePruningPointUtxoSetChunksMessage? donePruningPointUtxoSetChunks, - $1.IbdBlockLocatorHighestHashNotFoundMessage? - ibdBlockLocatorHighestHashNotFound, - $1.BlockWithTrustedDataMessage? blockWithTrustedData, - $1.DoneBlocksWithTrustedDataMessage? doneBlocksWithTrustedData, - $1.RequestPruningPointAndItsAnticoneMessage? - requestPruningPointAndItsAnticone, - $1.BlockHeadersMessage? blockHeaders, - $1.RequestNextHeadersMessage? requestNextHeaders, - $1.DoneHeadersMessage? doneHeaders, - $1.RequestPruningPointUTXOSetMessage? requestPruningPointUTXOSet, - $1.RequestHeadersMessage? requestHeaders, - $1.RequestBlockLocatorMessage? requestBlockLocator, - $1.PruningPointsMessage? pruningPoints, - $1.RequestPruningPointProofMessage? requestPruningPointProof, - $1.PruningPointProofMessage? pruningPointProof, - $1.ReadyMessage? ready, - $1.BlockWithTrustedDataV4Message? blockWithTrustedDataV4, - $1.TrustedDataMessage? trustedData, - $1.RequestIBDChainBlockLocatorMessage? requestIBDChainBlockLocator, - $1.IbdChainBlockLocatorMessage? ibdChainBlockLocator, - $1.RequestAnticoneMessage? requestAnticone, - $1.RequestNextPruningPointAndItsAnticoneBlocksMessage? - requestNextPruningPointAndItsAnticoneBlocks, - $2.GetCurrentNetworkRequestMessage? getCurrentNetworkRequest, - $2.GetCurrentNetworkResponseMessage? getCurrentNetworkResponse, - $2.SubmitBlockRequestMessage? submitBlockRequest, - $2.SubmitBlockResponseMessage? submitBlockResponse, - $2.GetBlockTemplateRequestMessage? getBlockTemplateRequest, - $2.GetBlockTemplateResponseMessage? getBlockTemplateResponse, - $2.NotifyBlockAddedRequestMessage? notifyBlockAddedRequest, - $2.NotifyBlockAddedResponseMessage? notifyBlockAddedResponse, - $2.BlockAddedNotificationMessage? blockAddedNotification, - $2.GetPeerAddressesRequestMessage? getPeerAddressesRequest, - $2.GetPeerAddressesResponseMessage? getPeerAddressesResponse, - $2.GetSelectedTipHashRequestMessage? getSelectedTipHashRequest, - $2.GetSelectedTipHashResponseMessage? getSelectedTipHashResponse, - $2.GetMempoolEntryRequestMessage? getMempoolEntryRequest, - $2.GetMempoolEntryResponseMessage? getMempoolEntryResponse, - $2.GetConnectedPeerInfoRequestMessage? getConnectedPeerInfoRequest, - $2.GetConnectedPeerInfoResponseMessage? getConnectedPeerInfoResponse, - $2.AddPeerRequestMessage? addPeerRequest, - $2.AddPeerResponseMessage? addPeerResponse, - $2.SubmitTransactionRequestMessage? submitTransactionRequest, - $2.SubmitTransactionResponseMessage? submitTransactionResponse, - $2.NotifyVirtualSelectedParentChainChangedRequestMessage? - notifyVirtualSelectedParentChainChangedRequest, - $2.NotifyVirtualSelectedParentChainChangedResponseMessage? - notifyVirtualSelectedParentChainChangedResponse, - $2.VirtualSelectedParentChainChangedNotificationMessage? - virtualSelectedParentChainChangedNotification, - $2.GetBlockRequestMessage? getBlockRequest, - $2.GetBlockResponseMessage? getBlockResponse, - $2.GetSubnetworkRequestMessage? getSubnetworkRequest, - $2.GetSubnetworkResponseMessage? getSubnetworkResponse, - $2.GetVirtualSelectedParentChainFromBlockRequestMessage? - getVirtualSelectedParentChainFromBlockRequest, - $2.GetVirtualSelectedParentChainFromBlockResponseMessage? - getVirtualSelectedParentChainFromBlockResponse, - $2.GetBlocksRequestMessage? getBlocksRequest, - $2.GetBlocksResponseMessage? getBlocksResponse, - $2.GetBlockCountRequestMessage? getBlockCountRequest, - $2.GetBlockCountResponseMessage? getBlockCountResponse, - $2.GetBlockDagInfoRequestMessage? getBlockDagInfoRequest, - $2.GetBlockDagInfoResponseMessage? getBlockDagInfoResponse, - $2.ResolveFinalityConflictRequestMessage? resolveFinalityConflictRequest, - $2.ResolveFinalityConflictResponseMessage? resolveFinalityConflictResponse, - $2.NotifyFinalityConflictsRequestMessage? notifyFinalityConflictsRequest, - $2.NotifyFinalityConflictsResponseMessage? notifyFinalityConflictsResponse, - $2.FinalityConflictNotificationMessage? finalityConflictNotification, - $2.FinalityConflictResolvedNotificationMessage? - finalityConflictResolvedNotification, - $2.GetMempoolEntriesRequestMessage? getMempoolEntriesRequest, - $2.GetMempoolEntriesResponseMessage? getMempoolEntriesResponse, - $2.ShutDownRequestMessage? shutDownRequest, - $2.ShutDownResponseMessage? shutDownResponse, - $2.GetHeadersRequestMessage? getHeadersRequest, - $2.GetHeadersResponseMessage? getHeadersResponse, - $2.NotifyUtxosChangedRequestMessage? notifyUtxosChangedRequest, - $2.NotifyUtxosChangedResponseMessage? notifyUtxosChangedResponse, - $2.UtxosChangedNotificationMessage? utxosChangedNotification, - $2.GetUtxosByAddressesRequestMessage? getUtxosByAddressesRequest, - $2.GetUtxosByAddressesResponseMessage? getUtxosByAddressesResponse, - $2.GetVirtualSelectedParentBlueScoreRequestMessage? - getVirtualSelectedParentBlueScoreRequest, - $2.GetVirtualSelectedParentBlueScoreResponseMessage? - getVirtualSelectedParentBlueScoreResponse, - $2.NotifyVirtualSelectedParentBlueScoreChangedRequestMessage? - notifyVirtualSelectedParentBlueScoreChangedRequest, - $2.NotifyVirtualSelectedParentBlueScoreChangedResponseMessage? - notifyVirtualSelectedParentBlueScoreChangedResponse, - $2.VirtualSelectedParentBlueScoreChangedNotificationMessage? - virtualSelectedParentBlueScoreChangedNotification, - $2.BanRequestMessage? banRequest, - $2.BanResponseMessage? banResponse, - $2.UnbanRequestMessage? unbanRequest, - $2.UnbanResponseMessage? unbanResponse, - $2.GetInfoRequestMessage? getInfoRequest, - $2.GetInfoResponseMessage? getInfoResponse, - $2.StopNotifyingUtxosChangedRequestMessage? - stopNotifyingUtxosChangedRequest, - $2.StopNotifyingUtxosChangedResponseMessage? - stopNotifyingUtxosChangedResponse, - $2.NotifyPruningPointUTXOSetOverrideRequestMessage? - notifyPruningPointUTXOSetOverrideRequest, - $2.NotifyPruningPointUTXOSetOverrideResponseMessage? - notifyPruningPointUTXOSetOverrideResponse, - $2.PruningPointUTXOSetOverrideNotificationMessage? - pruningPointUTXOSetOverrideNotification, - $2.StopNotifyingPruningPointUTXOSetOverrideRequestMessage? - stopNotifyingPruningPointUTXOSetOverrideRequest, - $2.StopNotifyingPruningPointUTXOSetOverrideResponseMessage? - stopNotifyingPruningPointUTXOSetOverrideResponse, - $2.EstimateNetworkHashesPerSecondRequestMessage? - estimateNetworkHashesPerSecondRequest, - $2.EstimateNetworkHashesPerSecondResponseMessage? - estimateNetworkHashesPerSecondResponse, - $2.NotifyVirtualDaaScoreChangedRequestMessage? - notifyVirtualDaaScoreChangedRequest, - $2.NotifyVirtualDaaScoreChangedResponseMessage? - notifyVirtualDaaScoreChangedResponse, - $2.VirtualDaaScoreChangedNotificationMessage? - virtualDaaScoreChangedNotification, - $2.GetBalanceByAddressRequestMessage? getBalanceByAddressRequest, - $2.GetBalanceByAddressResponseMessage? getBalanceByAddressResponse, - $2.GetBalancesByAddressesRequestMessage? getBalancesByAddressesRequest, - $2.GetBalancesByAddressesResponseMessage? getBalancesByAddressesResponse, - $2.NotifyNewBlockTemplateRequestMessage? notifyNewBlockTemplateRequest, - $2.NotifyNewBlockTemplateResponseMessage? notifyNewBlockTemplateResponse, - $2.NewBlockTemplateNotificationMessage? newBlockTemplateNotification, - $2.GetMempoolEntriesByAddressesRequestMessage? - getMempoolEntriesByAddressesRequest, - $2.GetMempoolEntriesByAddressesResponseMessage? - getMempoolEntriesByAddressesResponse, - $2.GetCoinSupplyRequestMessage? getCoinSupplyRequest, - $2.GetCoinSupplyResponseMessage? getCoinSupplyResponse, +class KarlsendRequest extends $pb.GeneratedMessage { + factory KarlsendRequest({ + $fixnum.Int64? id, + $1.GetCurrentNetworkRequestMessage? getCurrentNetworkRequest, + $1.SubmitBlockRequestMessage? submitBlockRequest, + $1.GetBlockTemplateRequestMessage? getBlockTemplateRequest, + $1.NotifyBlockAddedRequestMessage? notifyBlockAddedRequest, + $1.GetPeerAddressesRequestMessage? getPeerAddressesRequest, + $1.GetSinkRequestMessage? getSinkRequest, + $1.GetMempoolEntryRequestMessage? getMempoolEntryRequest, + $1.GetConnectedPeerInfoRequestMessage? getConnectedPeerInfoRequest, + $1.AddPeerRequestMessage? addPeerRequest, + $1.SubmitTransactionRequestMessage? submitTransactionRequest, + $1.NotifyVirtualChainChangedRequestMessage? notifyVirtualChainChangedRequest, + $1.GetBlockRequestMessage? getBlockRequest, + $1.GetSubnetworkRequestMessage? getSubnetworkRequest, + $1.GetVirtualChainFromBlockRequestMessage? getVirtualChainFromBlockRequest, + $1.GetBlocksRequestMessage? getBlocksRequest, + $1.GetBlockCountRequestMessage? getBlockCountRequest, + $1.GetBlockDagInfoRequestMessage? getBlockDagInfoRequest, + $1.ResolveFinalityConflictRequestMessage? resolveFinalityConflictRequest, + $1.NotifyFinalityConflictRequestMessage? notifyFinalityConflictRequest, + $1.GetMempoolEntriesRequestMessage? getMempoolEntriesRequest, + $1.ShutdownRequestMessage? shutdownRequest, + $1.GetHeadersRequestMessage? getHeadersRequest, + $1.NotifyUtxosChangedRequestMessage? notifyUtxosChangedRequest, + $1.GetUtxosByAddressesRequestMessage? getUtxosByAddressesRequest, + $1.GetSinkBlueScoreRequestMessage? getSinkBlueScoreRequest, + $1.NotifySinkBlueScoreChangedRequestMessage? notifySinkBlueScoreChangedRequest, + $1.BanRequestMessage? banRequest, + $1.UnbanRequestMessage? unbanRequest, + $1.GetInfoRequestMessage? getInfoRequest, + $1.StopNotifyingUtxosChangedRequestMessage? stopNotifyingUtxosChangedRequest, + $1.NotifyPruningPointUtxoSetOverrideRequestMessage? notifyPruningPointUtxoSetOverrideRequest, + $1.StopNotifyingPruningPointUtxoSetOverrideRequestMessage? stopNotifyingPruningPointUtxoSetOverrideRequest, + $1.EstimateNetworkHashesPerSecondRequestMessage? estimateNetworkHashesPerSecondRequest, + $1.NotifyVirtualDaaScoreChangedRequestMessage? notifyVirtualDaaScoreChangedRequest, + $1.GetBalanceByAddressRequestMessage? getBalanceByAddressRequest, + $1.GetBalancesByAddressesRequestMessage? getBalancesByAddressesRequest, + $1.NotifyNewBlockTemplateRequestMessage? notifyNewBlockTemplateRequest, + $1.GetMempoolEntriesByAddressesRequestMessage? getMempoolEntriesByAddressesRequest, + $1.GetCoinSupplyRequestMessage? getCoinSupplyRequest, + $1.PingRequestMessage? pingRequest, + $1.GetMetricsRequestMessage? getMetricsRequest, + $1.GetServerInfoRequestMessage? getServerInfoRequest, + $1.GetSyncStatusRequestMessage? getSyncStatusRequest, + $1.GetDaaScoreTimestampEstimateRequestMessage? getDaaScoreTimestampEstimateRequest, + $1.SubmitTransactionReplacementRequestMessage? submitTransactionReplacementRequest, + $1.GetConnectionsRequestMessage? getConnectionsRequest, + $1.GetSystemInfoRequestMessage? getSystemInfoRequest, + $1.GetFeeEstimateRequestMessage? getFeeEstimateRequest, + $1.GetFeeEstimateExperimentalRequestMessage? getFeeEstimateExperimentalRequest, + $1.GetCurrentBlockColorRequestMessage? getCurrentBlockColorRequest, }) { - final _result = create(); - if (addresses != null) { - _result.addresses = addresses; - } - if (block != null) { - _result.block = block; - } - if (transaction != null) { - _result.transaction = transaction; - } - if (blockLocator != null) { - _result.blockLocator = blockLocator; - } - if (requestAddresses != null) { - _result.requestAddresses = requestAddresses; - } - if (requestRelayBlocks != null) { - _result.requestRelayBlocks = requestRelayBlocks; - } - if (requestTransactions != null) { - _result.requestTransactions = requestTransactions; - } - if (ibdBlock != null) { - _result.ibdBlock = ibdBlock; - } - if (invRelayBlock != null) { - _result.invRelayBlock = invRelayBlock; - } - if (invTransactions != null) { - _result.invTransactions = invTransactions; - } - if (ping != null) { - _result.ping = ping; - } - if (pong != null) { - _result.pong = pong; - } - if (verack != null) { - _result.verack = verack; - } - if (version != null) { - _result.version = version; - } - if (transactionNotFound != null) { - _result.transactionNotFound = transactionNotFound; - } - if (reject != null) { - _result.reject = reject; - } - if (pruningPointUtxoSetChunk != null) { - _result.pruningPointUtxoSetChunk = pruningPointUtxoSetChunk; - } - if (requestIBDBlocks != null) { - _result.requestIBDBlocks = requestIBDBlocks; - } - if (unexpectedPruningPoint != null) { - _result.unexpectedPruningPoint = unexpectedPruningPoint; - } - if (ibdBlockLocator != null) { - _result.ibdBlockLocator = ibdBlockLocator; - } - if (ibdBlockLocatorHighestHash != null) { - _result.ibdBlockLocatorHighestHash = ibdBlockLocatorHighestHash; - } - if (requestNextPruningPointUtxoSetChunk != null) { - _result.requestNextPruningPointUtxoSetChunk = - requestNextPruningPointUtxoSetChunk; - } - if (donePruningPointUtxoSetChunks != null) { - _result.donePruningPointUtxoSetChunks = donePruningPointUtxoSetChunks; - } - if (ibdBlockLocatorHighestHashNotFound != null) { - _result.ibdBlockLocatorHighestHashNotFound = - ibdBlockLocatorHighestHashNotFound; - } - if (blockWithTrustedData != null) { - _result.blockWithTrustedData = blockWithTrustedData; - } - if (doneBlocksWithTrustedData != null) { - _result.doneBlocksWithTrustedData = doneBlocksWithTrustedData; - } - if (requestPruningPointAndItsAnticone != null) { - _result.requestPruningPointAndItsAnticone = - requestPruningPointAndItsAnticone; - } - if (blockHeaders != null) { - _result.blockHeaders = blockHeaders; - } - if (requestNextHeaders != null) { - _result.requestNextHeaders = requestNextHeaders; - } - if (doneHeaders != null) { - _result.doneHeaders = doneHeaders; - } - if (requestPruningPointUTXOSet != null) { - _result.requestPruningPointUTXOSet = requestPruningPointUTXOSet; - } - if (requestHeaders != null) { - _result.requestHeaders = requestHeaders; - } - if (requestBlockLocator != null) { - _result.requestBlockLocator = requestBlockLocator; - } - if (pruningPoints != null) { - _result.pruningPoints = pruningPoints; - } - if (requestPruningPointProof != null) { - _result.requestPruningPointProof = requestPruningPointProof; - } - if (pruningPointProof != null) { - _result.pruningPointProof = pruningPointProof; - } - if (ready != null) { - _result.ready = ready; - } - if (blockWithTrustedDataV4 != null) { - _result.blockWithTrustedDataV4 = blockWithTrustedDataV4; - } - if (trustedData != null) { - _result.trustedData = trustedData; - } - if (requestIBDChainBlockLocator != null) { - _result.requestIBDChainBlockLocator = requestIBDChainBlockLocator; - } - if (ibdChainBlockLocator != null) { - _result.ibdChainBlockLocator = ibdChainBlockLocator; - } - if (requestAnticone != null) { - _result.requestAnticone = requestAnticone; - } - if (requestNextPruningPointAndItsAnticoneBlocks != null) { - _result.requestNextPruningPointAndItsAnticoneBlocks = - requestNextPruningPointAndItsAnticoneBlocks; + final $result = create(); + if (id != null) { + $result.id = id; } if (getCurrentNetworkRequest != null) { - _result.getCurrentNetworkRequest = getCurrentNetworkRequest; - } - if (getCurrentNetworkResponse != null) { - _result.getCurrentNetworkResponse = getCurrentNetworkResponse; + $result.getCurrentNetworkRequest = getCurrentNetworkRequest; } if (submitBlockRequest != null) { - _result.submitBlockRequest = submitBlockRequest; - } - if (submitBlockResponse != null) { - _result.submitBlockResponse = submitBlockResponse; + $result.submitBlockRequest = submitBlockRequest; } if (getBlockTemplateRequest != null) { - _result.getBlockTemplateRequest = getBlockTemplateRequest; - } - if (getBlockTemplateResponse != null) { - _result.getBlockTemplateResponse = getBlockTemplateResponse; + $result.getBlockTemplateRequest = getBlockTemplateRequest; } if (notifyBlockAddedRequest != null) { - _result.notifyBlockAddedRequest = notifyBlockAddedRequest; - } - if (notifyBlockAddedResponse != null) { - _result.notifyBlockAddedResponse = notifyBlockAddedResponse; - } - if (blockAddedNotification != null) { - _result.blockAddedNotification = blockAddedNotification; + $result.notifyBlockAddedRequest = notifyBlockAddedRequest; } if (getPeerAddressesRequest != null) { - _result.getPeerAddressesRequest = getPeerAddressesRequest; - } - if (getPeerAddressesResponse != null) { - _result.getPeerAddressesResponse = getPeerAddressesResponse; - } - if (getSelectedTipHashRequest != null) { - _result.getSelectedTipHashRequest = getSelectedTipHashRequest; + $result.getPeerAddressesRequest = getPeerAddressesRequest; } - if (getSelectedTipHashResponse != null) { - _result.getSelectedTipHashResponse = getSelectedTipHashResponse; + if (getSinkRequest != null) { + $result.getSinkRequest = getSinkRequest; } if (getMempoolEntryRequest != null) { - _result.getMempoolEntryRequest = getMempoolEntryRequest; - } - if (getMempoolEntryResponse != null) { - _result.getMempoolEntryResponse = getMempoolEntryResponse; + $result.getMempoolEntryRequest = getMempoolEntryRequest; } if (getConnectedPeerInfoRequest != null) { - _result.getConnectedPeerInfoRequest = getConnectedPeerInfoRequest; - } - if (getConnectedPeerInfoResponse != null) { - _result.getConnectedPeerInfoResponse = getConnectedPeerInfoResponse; + $result.getConnectedPeerInfoRequest = getConnectedPeerInfoRequest; } if (addPeerRequest != null) { - _result.addPeerRequest = addPeerRequest; - } - if (addPeerResponse != null) { - _result.addPeerResponse = addPeerResponse; + $result.addPeerRequest = addPeerRequest; } if (submitTransactionRequest != null) { - _result.submitTransactionRequest = submitTransactionRequest; - } - if (submitTransactionResponse != null) { - _result.submitTransactionResponse = submitTransactionResponse; - } - if (notifyVirtualSelectedParentChainChangedRequest != null) { - _result.notifyVirtualSelectedParentChainChangedRequest = - notifyVirtualSelectedParentChainChangedRequest; - } - if (notifyVirtualSelectedParentChainChangedResponse != null) { - _result.notifyVirtualSelectedParentChainChangedResponse = - notifyVirtualSelectedParentChainChangedResponse; + $result.submitTransactionRequest = submitTransactionRequest; } - if (virtualSelectedParentChainChangedNotification != null) { - _result.virtualSelectedParentChainChangedNotification = - virtualSelectedParentChainChangedNotification; + if (notifyVirtualChainChangedRequest != null) { + $result.notifyVirtualChainChangedRequest = notifyVirtualChainChangedRequest; } if (getBlockRequest != null) { - _result.getBlockRequest = getBlockRequest; - } - if (getBlockResponse != null) { - _result.getBlockResponse = getBlockResponse; + $result.getBlockRequest = getBlockRequest; } if (getSubnetworkRequest != null) { - _result.getSubnetworkRequest = getSubnetworkRequest; - } - if (getSubnetworkResponse != null) { - _result.getSubnetworkResponse = getSubnetworkResponse; + $result.getSubnetworkRequest = getSubnetworkRequest; } - if (getVirtualSelectedParentChainFromBlockRequest != null) { - _result.getVirtualSelectedParentChainFromBlockRequest = - getVirtualSelectedParentChainFromBlockRequest; - } - if (getVirtualSelectedParentChainFromBlockResponse != null) { - _result.getVirtualSelectedParentChainFromBlockResponse = - getVirtualSelectedParentChainFromBlockResponse; + if (getVirtualChainFromBlockRequest != null) { + $result.getVirtualChainFromBlockRequest = getVirtualChainFromBlockRequest; } if (getBlocksRequest != null) { - _result.getBlocksRequest = getBlocksRequest; - } - if (getBlocksResponse != null) { - _result.getBlocksResponse = getBlocksResponse; + $result.getBlocksRequest = getBlocksRequest; } if (getBlockCountRequest != null) { - _result.getBlockCountRequest = getBlockCountRequest; - } - if (getBlockCountResponse != null) { - _result.getBlockCountResponse = getBlockCountResponse; + $result.getBlockCountRequest = getBlockCountRequest; } if (getBlockDagInfoRequest != null) { - _result.getBlockDagInfoRequest = getBlockDagInfoRequest; - } - if (getBlockDagInfoResponse != null) { - _result.getBlockDagInfoResponse = getBlockDagInfoResponse; + $result.getBlockDagInfoRequest = getBlockDagInfoRequest; } if (resolveFinalityConflictRequest != null) { - _result.resolveFinalityConflictRequest = resolveFinalityConflictRequest; - } - if (resolveFinalityConflictResponse != null) { - _result.resolveFinalityConflictResponse = resolveFinalityConflictResponse; + $result.resolveFinalityConflictRequest = resolveFinalityConflictRequest; } - if (notifyFinalityConflictsRequest != null) { - _result.notifyFinalityConflictsRequest = notifyFinalityConflictsRequest; - } - if (notifyFinalityConflictsResponse != null) { - _result.notifyFinalityConflictsResponse = notifyFinalityConflictsResponse; - } - if (finalityConflictNotification != null) { - _result.finalityConflictNotification = finalityConflictNotification; - } - if (finalityConflictResolvedNotification != null) { - _result.finalityConflictResolvedNotification = - finalityConflictResolvedNotification; + if (notifyFinalityConflictRequest != null) { + $result.notifyFinalityConflictRequest = notifyFinalityConflictRequest; } if (getMempoolEntriesRequest != null) { - _result.getMempoolEntriesRequest = getMempoolEntriesRequest; - } - if (getMempoolEntriesResponse != null) { - _result.getMempoolEntriesResponse = getMempoolEntriesResponse; + $result.getMempoolEntriesRequest = getMempoolEntriesRequest; } - if (shutDownRequest != null) { - _result.shutDownRequest = shutDownRequest; - } - if (shutDownResponse != null) { - _result.shutDownResponse = shutDownResponse; + if (shutdownRequest != null) { + $result.shutdownRequest = shutdownRequest; } if (getHeadersRequest != null) { - _result.getHeadersRequest = getHeadersRequest; - } - if (getHeadersResponse != null) { - _result.getHeadersResponse = getHeadersResponse; + $result.getHeadersRequest = getHeadersRequest; } if (notifyUtxosChangedRequest != null) { - _result.notifyUtxosChangedRequest = notifyUtxosChangedRequest; - } - if (notifyUtxosChangedResponse != null) { - _result.notifyUtxosChangedResponse = notifyUtxosChangedResponse; - } - if (utxosChangedNotification != null) { - _result.utxosChangedNotification = utxosChangedNotification; + $result.notifyUtxosChangedRequest = notifyUtxosChangedRequest; } if (getUtxosByAddressesRequest != null) { - _result.getUtxosByAddressesRequest = getUtxosByAddressesRequest; - } - if (getUtxosByAddressesResponse != null) { - _result.getUtxosByAddressesResponse = getUtxosByAddressesResponse; - } - if (getVirtualSelectedParentBlueScoreRequest != null) { - _result.getVirtualSelectedParentBlueScoreRequest = - getVirtualSelectedParentBlueScoreRequest; + $result.getUtxosByAddressesRequest = getUtxosByAddressesRequest; } - if (getVirtualSelectedParentBlueScoreResponse != null) { - _result.getVirtualSelectedParentBlueScoreResponse = - getVirtualSelectedParentBlueScoreResponse; + if (getSinkBlueScoreRequest != null) { + $result.getSinkBlueScoreRequest = getSinkBlueScoreRequest; } - if (notifyVirtualSelectedParentBlueScoreChangedRequest != null) { - _result.notifyVirtualSelectedParentBlueScoreChangedRequest = - notifyVirtualSelectedParentBlueScoreChangedRequest; - } - if (notifyVirtualSelectedParentBlueScoreChangedResponse != null) { - _result.notifyVirtualSelectedParentBlueScoreChangedResponse = - notifyVirtualSelectedParentBlueScoreChangedResponse; - } - if (virtualSelectedParentBlueScoreChangedNotification != null) { - _result.virtualSelectedParentBlueScoreChangedNotification = - virtualSelectedParentBlueScoreChangedNotification; + if (notifySinkBlueScoreChangedRequest != null) { + $result.notifySinkBlueScoreChangedRequest = notifySinkBlueScoreChangedRequest; } if (banRequest != null) { - _result.banRequest = banRequest; - } - if (banResponse != null) { - _result.banResponse = banResponse; + $result.banRequest = banRequest; } if (unbanRequest != null) { - _result.unbanRequest = unbanRequest; - } - if (unbanResponse != null) { - _result.unbanResponse = unbanResponse; + $result.unbanRequest = unbanRequest; } if (getInfoRequest != null) { - _result.getInfoRequest = getInfoRequest; - } - if (getInfoResponse != null) { - _result.getInfoResponse = getInfoResponse; + $result.getInfoRequest = getInfoRequest; } if (stopNotifyingUtxosChangedRequest != null) { - _result.stopNotifyingUtxosChangedRequest = - stopNotifyingUtxosChangedRequest; + $result.stopNotifyingUtxosChangedRequest = stopNotifyingUtxosChangedRequest; } - if (stopNotifyingUtxosChangedResponse != null) { - _result.stopNotifyingUtxosChangedResponse = - stopNotifyingUtxosChangedResponse; + if (notifyPruningPointUtxoSetOverrideRequest != null) { + $result.notifyPruningPointUtxoSetOverrideRequest = notifyPruningPointUtxoSetOverrideRequest; } - if (notifyPruningPointUTXOSetOverrideRequest != null) { - _result.notifyPruningPointUTXOSetOverrideRequest = - notifyPruningPointUTXOSetOverrideRequest; - } - if (notifyPruningPointUTXOSetOverrideResponse != null) { - _result.notifyPruningPointUTXOSetOverrideResponse = - notifyPruningPointUTXOSetOverrideResponse; - } - if (pruningPointUTXOSetOverrideNotification != null) { - _result.pruningPointUTXOSetOverrideNotification = - pruningPointUTXOSetOverrideNotification; - } - if (stopNotifyingPruningPointUTXOSetOverrideRequest != null) { - _result.stopNotifyingPruningPointUTXOSetOverrideRequest = - stopNotifyingPruningPointUTXOSetOverrideRequest; - } - if (stopNotifyingPruningPointUTXOSetOverrideResponse != null) { - _result.stopNotifyingPruningPointUTXOSetOverrideResponse = - stopNotifyingPruningPointUTXOSetOverrideResponse; + if (stopNotifyingPruningPointUtxoSetOverrideRequest != null) { + $result.stopNotifyingPruningPointUtxoSetOverrideRequest = stopNotifyingPruningPointUtxoSetOverrideRequest; } if (estimateNetworkHashesPerSecondRequest != null) { - _result.estimateNetworkHashesPerSecondRequest = - estimateNetworkHashesPerSecondRequest; - } - if (estimateNetworkHashesPerSecondResponse != null) { - _result.estimateNetworkHashesPerSecondResponse = - estimateNetworkHashesPerSecondResponse; + $result.estimateNetworkHashesPerSecondRequest = estimateNetworkHashesPerSecondRequest; } if (notifyVirtualDaaScoreChangedRequest != null) { - _result.notifyVirtualDaaScoreChangedRequest = - notifyVirtualDaaScoreChangedRequest; - } - if (notifyVirtualDaaScoreChangedResponse != null) { - _result.notifyVirtualDaaScoreChangedResponse = - notifyVirtualDaaScoreChangedResponse; - } - if (virtualDaaScoreChangedNotification != null) { - _result.virtualDaaScoreChangedNotification = - virtualDaaScoreChangedNotification; + $result.notifyVirtualDaaScoreChangedRequest = notifyVirtualDaaScoreChangedRequest; } if (getBalanceByAddressRequest != null) { - _result.getBalanceByAddressRequest = getBalanceByAddressRequest; - } - if (getBalanceByAddressResponse != null) { - _result.getBalanceByAddressResponse = getBalanceByAddressResponse; + $result.getBalanceByAddressRequest = getBalanceByAddressRequest; } if (getBalancesByAddressesRequest != null) { - _result.getBalancesByAddressesRequest = getBalancesByAddressesRequest; - } - if (getBalancesByAddressesResponse != null) { - _result.getBalancesByAddressesResponse = getBalancesByAddressesResponse; + $result.getBalancesByAddressesRequest = getBalancesByAddressesRequest; } if (notifyNewBlockTemplateRequest != null) { - _result.notifyNewBlockTemplateRequest = notifyNewBlockTemplateRequest; - } - if (notifyNewBlockTemplateResponse != null) { - _result.notifyNewBlockTemplateResponse = notifyNewBlockTemplateResponse; - } - if (newBlockTemplateNotification != null) { - _result.newBlockTemplateNotification = newBlockTemplateNotification; + $result.notifyNewBlockTemplateRequest = notifyNewBlockTemplateRequest; } if (getMempoolEntriesByAddressesRequest != null) { - _result.getMempoolEntriesByAddressesRequest = - getMempoolEntriesByAddressesRequest; - } - if (getMempoolEntriesByAddressesResponse != null) { - _result.getMempoolEntriesByAddressesResponse = - getMempoolEntriesByAddressesResponse; + $result.getMempoolEntriesByAddressesRequest = getMempoolEntriesByAddressesRequest; } if (getCoinSupplyRequest != null) { - _result.getCoinSupplyRequest = getCoinSupplyRequest; - } - if (getCoinSupplyResponse != null) { - _result.getCoinSupplyResponse = getCoinSupplyResponse; - } - return _result; - } - factory KarlsendMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory KarlsendMessage.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') - KarlsendMessage clone() => KarlsendMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - KarlsendMessage copyWith(void Function(KarlsendMessage) updates) => - super.copyWith((message) => updates(message as KarlsendMessage)) - as KarlsendMessage; // ignore: deprecated_member_use + $result.getCoinSupplyRequest = getCoinSupplyRequest; + } + if (pingRequest != null) { + $result.pingRequest = pingRequest; + } + if (getMetricsRequest != null) { + $result.getMetricsRequest = getMetricsRequest; + } + if (getServerInfoRequest != null) { + $result.getServerInfoRequest = getServerInfoRequest; + } + if (getSyncStatusRequest != null) { + $result.getSyncStatusRequest = getSyncStatusRequest; + } + if (getDaaScoreTimestampEstimateRequest != null) { + $result.getDaaScoreTimestampEstimateRequest = getDaaScoreTimestampEstimateRequest; + } + if (submitTransactionReplacementRequest != null) { + $result.submitTransactionReplacementRequest = submitTransactionReplacementRequest; + } + if (getConnectionsRequest != null) { + $result.getConnectionsRequest = getConnectionsRequest; + } + if (getSystemInfoRequest != null) { + $result.getSystemInfoRequest = getSystemInfoRequest; + } + if (getFeeEstimateRequest != null) { + $result.getFeeEstimateRequest = getFeeEstimateRequest; + } + if (getFeeEstimateExperimentalRequest != null) { + $result.getFeeEstimateExperimentalRequest = getFeeEstimateExperimentalRequest; + } + if (getCurrentBlockColorRequest != null) { + $result.getCurrentBlockColorRequest = getCurrentBlockColorRequest; + } + return $result; + } + KarlsendRequest._() : super(); + factory KarlsendRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory KarlsendRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, KarlsendRequest_Payload> _KarlsendRequest_PayloadByTag = { + 1001 : KarlsendRequest_Payload.getCurrentNetworkRequest, + 1003 : KarlsendRequest_Payload.submitBlockRequest, + 1005 : KarlsendRequest_Payload.getBlockTemplateRequest, + 1007 : KarlsendRequest_Payload.notifyBlockAddedRequest, + 1010 : KarlsendRequest_Payload.getPeerAddressesRequest, + 1012 : KarlsendRequest_Payload.getSinkRequest, + 1014 : KarlsendRequest_Payload.getMempoolEntryRequest, + 1016 : KarlsendRequest_Payload.getConnectedPeerInfoRequest, + 1018 : KarlsendRequest_Payload.addPeerRequest, + 1020 : KarlsendRequest_Payload.submitTransactionRequest, + 1022 : KarlsendRequest_Payload.notifyVirtualChainChangedRequest, + 1025 : KarlsendRequest_Payload.getBlockRequest, + 1027 : KarlsendRequest_Payload.getSubnetworkRequest, + 1029 : KarlsendRequest_Payload.getVirtualChainFromBlockRequest, + 1031 : KarlsendRequest_Payload.getBlocksRequest, + 1033 : KarlsendRequest_Payload.getBlockCountRequest, + 1035 : KarlsendRequest_Payload.getBlockDagInfoRequest, + 1037 : KarlsendRequest_Payload.resolveFinalityConflictRequest, + 1039 : KarlsendRequest_Payload.notifyFinalityConflictRequest, + 1043 : KarlsendRequest_Payload.getMempoolEntriesRequest, + 1045 : KarlsendRequest_Payload.shutdownRequest, + 1047 : KarlsendRequest_Payload.getHeadersRequest, + 1049 : KarlsendRequest_Payload.notifyUtxosChangedRequest, + 1052 : KarlsendRequest_Payload.getUtxosByAddressesRequest, + 1054 : KarlsendRequest_Payload.getSinkBlueScoreRequest, + 1056 : KarlsendRequest_Payload.notifySinkBlueScoreChangedRequest, + 1059 : KarlsendRequest_Payload.banRequest, + 1061 : KarlsendRequest_Payload.unbanRequest, + 1063 : KarlsendRequest_Payload.getInfoRequest, + 1065 : KarlsendRequest_Payload.stopNotifyingUtxosChangedRequest, + 1067 : KarlsendRequest_Payload.notifyPruningPointUtxoSetOverrideRequest, + 1070 : KarlsendRequest_Payload.stopNotifyingPruningPointUtxoSetOverrideRequest, + 1072 : KarlsendRequest_Payload.estimateNetworkHashesPerSecondRequest, + 1074 : KarlsendRequest_Payload.notifyVirtualDaaScoreChangedRequest, + 1077 : KarlsendRequest_Payload.getBalanceByAddressRequest, + 1079 : KarlsendRequest_Payload.getBalancesByAddressesRequest, + 1081 : KarlsendRequest_Payload.notifyNewBlockTemplateRequest, + 1084 : KarlsendRequest_Payload.getMempoolEntriesByAddressesRequest, + 1086 : KarlsendRequest_Payload.getCoinSupplyRequest, + 1088 : KarlsendRequest_Payload.pingRequest, + 1090 : KarlsendRequest_Payload.getMetricsRequest, + 1092 : KarlsendRequest_Payload.getServerInfoRequest, + 1094 : KarlsendRequest_Payload.getSyncStatusRequest, + 1096 : KarlsendRequest_Payload.getDaaScoreTimestampEstimateRequest, + 1100 : KarlsendRequest_Payload.submitTransactionReplacementRequest, + 1102 : KarlsendRequest_Payload.getConnectionsRequest, + 1104 : KarlsendRequest_Payload.getSystemInfoRequest, + 1106 : KarlsendRequest_Payload.getFeeEstimateRequest, + 1108 : KarlsendRequest_Payload.getFeeEstimateExperimentalRequest, + 1110 : KarlsendRequest_Payload.getCurrentBlockColorRequest, + 0 : KarlsendRequest_Payload.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'KarlsendRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..oo(0, [1001, 1003, 1005, 1007, 1010, 1012, 1014, 1016, 1018, 1020, 1022, 1025, 1027, 1029, 1031, 1033, 1035, 1037, 1039, 1043, 1045, 1047, 1049, 1052, 1054, 1056, 1059, 1061, 1063, 1065, 1067, 1070, 1072, 1074, 1077, 1079, 1081, 1084, 1086, 1088, 1090, 1092, 1094, 1096, 1100, 1102, 1104, 1106, 1108, 1110]) + ..a<$fixnum.Int64>(101, _omitFieldNames ? '' : 'id', $pb.PbFieldType.OU6, defaultOrMaker: $fixnum.Int64.ZERO) + ..aOM<$1.GetCurrentNetworkRequestMessage>(1001, _omitFieldNames ? '' : 'getCurrentNetworkRequest', protoName: 'getCurrentNetworkRequest', subBuilder: $1.GetCurrentNetworkRequestMessage.create) + ..aOM<$1.SubmitBlockRequestMessage>(1003, _omitFieldNames ? '' : 'submitBlockRequest', protoName: 'submitBlockRequest', subBuilder: $1.SubmitBlockRequestMessage.create) + ..aOM<$1.GetBlockTemplateRequestMessage>(1005, _omitFieldNames ? '' : 'getBlockTemplateRequest', protoName: 'getBlockTemplateRequest', subBuilder: $1.GetBlockTemplateRequestMessage.create) + ..aOM<$1.NotifyBlockAddedRequestMessage>(1007, _omitFieldNames ? '' : 'notifyBlockAddedRequest', protoName: 'notifyBlockAddedRequest', subBuilder: $1.NotifyBlockAddedRequestMessage.create) + ..aOM<$1.GetPeerAddressesRequestMessage>(1010, _omitFieldNames ? '' : 'getPeerAddressesRequest', protoName: 'getPeerAddressesRequest', subBuilder: $1.GetPeerAddressesRequestMessage.create) + ..aOM<$1.GetSinkRequestMessage>(1012, _omitFieldNames ? '' : 'GetSinkRequest', protoName: 'GetSinkRequest', subBuilder: $1.GetSinkRequestMessage.create) + ..aOM<$1.GetMempoolEntryRequestMessage>(1014, _omitFieldNames ? '' : 'getMempoolEntryRequest', protoName: 'getMempoolEntryRequest', subBuilder: $1.GetMempoolEntryRequestMessage.create) + ..aOM<$1.GetConnectedPeerInfoRequestMessage>(1016, _omitFieldNames ? '' : 'getConnectedPeerInfoRequest', protoName: 'getConnectedPeerInfoRequest', subBuilder: $1.GetConnectedPeerInfoRequestMessage.create) + ..aOM<$1.AddPeerRequestMessage>(1018, _omitFieldNames ? '' : 'addPeerRequest', protoName: 'addPeerRequest', subBuilder: $1.AddPeerRequestMessage.create) + ..aOM<$1.SubmitTransactionRequestMessage>(1020, _omitFieldNames ? '' : 'submitTransactionRequest', protoName: 'submitTransactionRequest', subBuilder: $1.SubmitTransactionRequestMessage.create) + ..aOM<$1.NotifyVirtualChainChangedRequestMessage>(1022, _omitFieldNames ? '' : 'notifyVirtualChainChangedRequest', protoName: 'notifyVirtualChainChangedRequest', subBuilder: $1.NotifyVirtualChainChangedRequestMessage.create) + ..aOM<$1.GetBlockRequestMessage>(1025, _omitFieldNames ? '' : 'getBlockRequest', protoName: 'getBlockRequest', subBuilder: $1.GetBlockRequestMessage.create) + ..aOM<$1.GetSubnetworkRequestMessage>(1027, _omitFieldNames ? '' : 'getSubnetworkRequest', protoName: 'getSubnetworkRequest', subBuilder: $1.GetSubnetworkRequestMessage.create) + ..aOM<$1.GetVirtualChainFromBlockRequestMessage>(1029, _omitFieldNames ? '' : 'getVirtualChainFromBlockRequest', protoName: 'getVirtualChainFromBlockRequest', subBuilder: $1.GetVirtualChainFromBlockRequestMessage.create) + ..aOM<$1.GetBlocksRequestMessage>(1031, _omitFieldNames ? '' : 'getBlocksRequest', protoName: 'getBlocksRequest', subBuilder: $1.GetBlocksRequestMessage.create) + ..aOM<$1.GetBlockCountRequestMessage>(1033, _omitFieldNames ? '' : 'getBlockCountRequest', protoName: 'getBlockCountRequest', subBuilder: $1.GetBlockCountRequestMessage.create) + ..aOM<$1.GetBlockDagInfoRequestMessage>(1035, _omitFieldNames ? '' : 'getBlockDagInfoRequest', protoName: 'getBlockDagInfoRequest', subBuilder: $1.GetBlockDagInfoRequestMessage.create) + ..aOM<$1.ResolveFinalityConflictRequestMessage>(1037, _omitFieldNames ? '' : 'resolveFinalityConflictRequest', protoName: 'resolveFinalityConflictRequest', subBuilder: $1.ResolveFinalityConflictRequestMessage.create) + ..aOM<$1.NotifyFinalityConflictRequestMessage>(1039, _omitFieldNames ? '' : 'notifyFinalityConflictRequest', protoName: 'notifyFinalityConflictRequest', subBuilder: $1.NotifyFinalityConflictRequestMessage.create) + ..aOM<$1.GetMempoolEntriesRequestMessage>(1043, _omitFieldNames ? '' : 'getMempoolEntriesRequest', protoName: 'getMempoolEntriesRequest', subBuilder: $1.GetMempoolEntriesRequestMessage.create) + ..aOM<$1.ShutdownRequestMessage>(1045, _omitFieldNames ? '' : 'shutdownRequest', protoName: 'shutdownRequest', subBuilder: $1.ShutdownRequestMessage.create) + ..aOM<$1.GetHeadersRequestMessage>(1047, _omitFieldNames ? '' : 'getHeadersRequest', protoName: 'getHeadersRequest', subBuilder: $1.GetHeadersRequestMessage.create) + ..aOM<$1.NotifyUtxosChangedRequestMessage>(1049, _omitFieldNames ? '' : 'notifyUtxosChangedRequest', protoName: 'notifyUtxosChangedRequest', subBuilder: $1.NotifyUtxosChangedRequestMessage.create) + ..aOM<$1.GetUtxosByAddressesRequestMessage>(1052, _omitFieldNames ? '' : 'getUtxosByAddressesRequest', protoName: 'getUtxosByAddressesRequest', subBuilder: $1.GetUtxosByAddressesRequestMessage.create) + ..aOM<$1.GetSinkBlueScoreRequestMessage>(1054, _omitFieldNames ? '' : 'getSinkBlueScoreRequest', protoName: 'getSinkBlueScoreRequest', subBuilder: $1.GetSinkBlueScoreRequestMessage.create) + ..aOM<$1.NotifySinkBlueScoreChangedRequestMessage>(1056, _omitFieldNames ? '' : 'notifySinkBlueScoreChangedRequest', protoName: 'notifySinkBlueScoreChangedRequest', subBuilder: $1.NotifySinkBlueScoreChangedRequestMessage.create) + ..aOM<$1.BanRequestMessage>(1059, _omitFieldNames ? '' : 'banRequest', protoName: 'banRequest', subBuilder: $1.BanRequestMessage.create) + ..aOM<$1.UnbanRequestMessage>(1061, _omitFieldNames ? '' : 'unbanRequest', protoName: 'unbanRequest', subBuilder: $1.UnbanRequestMessage.create) + ..aOM<$1.GetInfoRequestMessage>(1063, _omitFieldNames ? '' : 'getInfoRequest', protoName: 'getInfoRequest', subBuilder: $1.GetInfoRequestMessage.create) + ..aOM<$1.StopNotifyingUtxosChangedRequestMessage>(1065, _omitFieldNames ? '' : 'stopNotifyingUtxosChangedRequest', protoName: 'stopNotifyingUtxosChangedRequest', subBuilder: $1.StopNotifyingUtxosChangedRequestMessage.create) + ..aOM<$1.NotifyPruningPointUtxoSetOverrideRequestMessage>(1067, _omitFieldNames ? '' : 'notifyPruningPointUtxoSetOverrideRequest', protoName: 'notifyPruningPointUtxoSetOverrideRequest', subBuilder: $1.NotifyPruningPointUtxoSetOverrideRequestMessage.create) + ..aOM<$1.StopNotifyingPruningPointUtxoSetOverrideRequestMessage>(1070, _omitFieldNames ? '' : 'stopNotifyingPruningPointUtxoSetOverrideRequest', protoName: 'stopNotifyingPruningPointUtxoSetOverrideRequest', subBuilder: $1.StopNotifyingPruningPointUtxoSetOverrideRequestMessage.create) + ..aOM<$1.EstimateNetworkHashesPerSecondRequestMessage>(1072, _omitFieldNames ? '' : 'estimateNetworkHashesPerSecondRequest', protoName: 'estimateNetworkHashesPerSecondRequest', subBuilder: $1.EstimateNetworkHashesPerSecondRequestMessage.create) + ..aOM<$1.NotifyVirtualDaaScoreChangedRequestMessage>(1074, _omitFieldNames ? '' : 'notifyVirtualDaaScoreChangedRequest', protoName: 'notifyVirtualDaaScoreChangedRequest', subBuilder: $1.NotifyVirtualDaaScoreChangedRequestMessage.create) + ..aOM<$1.GetBalanceByAddressRequestMessage>(1077, _omitFieldNames ? '' : 'getBalanceByAddressRequest', protoName: 'getBalanceByAddressRequest', subBuilder: $1.GetBalanceByAddressRequestMessage.create) + ..aOM<$1.GetBalancesByAddressesRequestMessage>(1079, _omitFieldNames ? '' : 'getBalancesByAddressesRequest', protoName: 'getBalancesByAddressesRequest', subBuilder: $1.GetBalancesByAddressesRequestMessage.create) + ..aOM<$1.NotifyNewBlockTemplateRequestMessage>(1081, _omitFieldNames ? '' : 'notifyNewBlockTemplateRequest', protoName: 'notifyNewBlockTemplateRequest', subBuilder: $1.NotifyNewBlockTemplateRequestMessage.create) + ..aOM<$1.GetMempoolEntriesByAddressesRequestMessage>(1084, _omitFieldNames ? '' : 'getMempoolEntriesByAddressesRequest', protoName: 'getMempoolEntriesByAddressesRequest', subBuilder: $1.GetMempoolEntriesByAddressesRequestMessage.create) + ..aOM<$1.GetCoinSupplyRequestMessage>(1086, _omitFieldNames ? '' : 'getCoinSupplyRequest', protoName: 'getCoinSupplyRequest', subBuilder: $1.GetCoinSupplyRequestMessage.create) + ..aOM<$1.PingRequestMessage>(1088, _omitFieldNames ? '' : 'pingRequest', protoName: 'pingRequest', subBuilder: $1.PingRequestMessage.create) + ..aOM<$1.GetMetricsRequestMessage>(1090, _omitFieldNames ? '' : 'getMetricsRequest', protoName: 'getMetricsRequest', subBuilder: $1.GetMetricsRequestMessage.create) + ..aOM<$1.GetServerInfoRequestMessage>(1092, _omitFieldNames ? '' : 'getServerInfoRequest', protoName: 'getServerInfoRequest', subBuilder: $1.GetServerInfoRequestMessage.create) + ..aOM<$1.GetSyncStatusRequestMessage>(1094, _omitFieldNames ? '' : 'getSyncStatusRequest', protoName: 'getSyncStatusRequest', subBuilder: $1.GetSyncStatusRequestMessage.create) + ..aOM<$1.GetDaaScoreTimestampEstimateRequestMessage>(1096, _omitFieldNames ? '' : 'getDaaScoreTimestampEstimateRequest', protoName: 'getDaaScoreTimestampEstimateRequest', subBuilder: $1.GetDaaScoreTimestampEstimateRequestMessage.create) + ..aOM<$1.SubmitTransactionReplacementRequestMessage>(1100, _omitFieldNames ? '' : 'submitTransactionReplacementRequest', protoName: 'submitTransactionReplacementRequest', subBuilder: $1.SubmitTransactionReplacementRequestMessage.create) + ..aOM<$1.GetConnectionsRequestMessage>(1102, _omitFieldNames ? '' : 'getConnectionsRequest', protoName: 'getConnectionsRequest', subBuilder: $1.GetConnectionsRequestMessage.create) + ..aOM<$1.GetSystemInfoRequestMessage>(1104, _omitFieldNames ? '' : 'getSystemInfoRequest', protoName: 'getSystemInfoRequest', subBuilder: $1.GetSystemInfoRequestMessage.create) + ..aOM<$1.GetFeeEstimateRequestMessage>(1106, _omitFieldNames ? '' : 'getFeeEstimateRequest', protoName: 'getFeeEstimateRequest', subBuilder: $1.GetFeeEstimateRequestMessage.create) + ..aOM<$1.GetFeeEstimateExperimentalRequestMessage>(1108, _omitFieldNames ? '' : 'getFeeEstimateExperimentalRequest', protoName: 'getFeeEstimateExperimentalRequest', subBuilder: $1.GetFeeEstimateExperimentalRequestMessage.create) + ..aOM<$1.GetCurrentBlockColorRequestMessage>(1110, _omitFieldNames ? '' : 'getCurrentBlockColorRequest', protoName: 'getCurrentBlockColorRequest', subBuilder: $1.GetCurrentBlockColorRequestMessage.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + KarlsendRequest clone() => KarlsendRequest()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + KarlsendRequest copyWith(void Function(KarlsendRequest) updates) => super.copyWith((message) => updates(message as KarlsendRequest)) as KarlsendRequest; + $pb.BuilderInfo get info_ => _i; + @$core.pragma('dart2js:noInline') - static KarlsendMessage create() => KarlsendMessage._(); - KarlsendMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static KarlsendRequest create() => KarlsendRequest._(); + KarlsendRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static KarlsendMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static KarlsendMessage? _defaultInstance; + static KarlsendRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static KarlsendRequest? _defaultInstance; - KarlsendMessage_Payload whichPayload() => - _KarlsendMessage_PayloadByTag[$_whichOneof(0)]!; + KarlsendRequest_Payload whichPayload() => _KarlsendRequest_PayloadByTag[$_whichOneof(0)]!; void clearPayload() => clearField($_whichOneof(0)); - @$pb.TagNumber(1) - $1.AddressesMessage get addresses => $_getN(0); - @$pb.TagNumber(1) - set addresses($1.AddressesMessage v) { - setField(1, v); - } + @$pb.TagNumber(101) + $fixnum.Int64 get id => $_getI64(0); + @$pb.TagNumber(101) + set id($fixnum.Int64 v) { $_setInt64(0, v); } + @$pb.TagNumber(101) + $core.bool hasId() => $_has(0); + @$pb.TagNumber(101) + void clearId() => clearField(101); - @$pb.TagNumber(1) - $core.bool hasAddresses() => $_has(0); - @$pb.TagNumber(1) - void clearAddresses() => clearField(1); - @$pb.TagNumber(1) - $1.AddressesMessage ensureAddresses() => $_ensure(0); - - @$pb.TagNumber(2) - $1.BlockMessage get block => $_getN(1); - @$pb.TagNumber(2) - set block($1.BlockMessage v) { - setField(2, v); - } + @$pb.TagNumber(1001) + $1.GetCurrentNetworkRequestMessage get getCurrentNetworkRequest => $_getN(1); + @$pb.TagNumber(1001) + set getCurrentNetworkRequest($1.GetCurrentNetworkRequestMessage v) { setField(1001, v); } + @$pb.TagNumber(1001) + $core.bool hasGetCurrentNetworkRequest() => $_has(1); + @$pb.TagNumber(1001) + void clearGetCurrentNetworkRequest() => clearField(1001); + @$pb.TagNumber(1001) + $1.GetCurrentNetworkRequestMessage ensureGetCurrentNetworkRequest() => $_ensure(1); - @$pb.TagNumber(2) - $core.bool hasBlock() => $_has(1); - @$pb.TagNumber(2) - void clearBlock() => clearField(2); - @$pb.TagNumber(2) - $1.BlockMessage ensureBlock() => $_ensure(1); - - @$pb.TagNumber(3) - $1.TransactionMessage get transaction => $_getN(2); - @$pb.TagNumber(3) - set transaction($1.TransactionMessage v) { - setField(3, v); - } + @$pb.TagNumber(1003) + $1.SubmitBlockRequestMessage get submitBlockRequest => $_getN(2); + @$pb.TagNumber(1003) + set submitBlockRequest($1.SubmitBlockRequestMessage v) { setField(1003, v); } + @$pb.TagNumber(1003) + $core.bool hasSubmitBlockRequest() => $_has(2); + @$pb.TagNumber(1003) + void clearSubmitBlockRequest() => clearField(1003); + @$pb.TagNumber(1003) + $1.SubmitBlockRequestMessage ensureSubmitBlockRequest() => $_ensure(2); - @$pb.TagNumber(3) - $core.bool hasTransaction() => $_has(2); - @$pb.TagNumber(3) - void clearTransaction() => clearField(3); - @$pb.TagNumber(3) - $1.TransactionMessage ensureTransaction() => $_ensure(2); - - @$pb.TagNumber(5) - $1.BlockLocatorMessage get blockLocator => $_getN(3); - @$pb.TagNumber(5) - set blockLocator($1.BlockLocatorMessage v) { - setField(5, v); - } + @$pb.TagNumber(1005) + $1.GetBlockTemplateRequestMessage get getBlockTemplateRequest => $_getN(3); + @$pb.TagNumber(1005) + set getBlockTemplateRequest($1.GetBlockTemplateRequestMessage v) { setField(1005, v); } + @$pb.TagNumber(1005) + $core.bool hasGetBlockTemplateRequest() => $_has(3); + @$pb.TagNumber(1005) + void clearGetBlockTemplateRequest() => clearField(1005); + @$pb.TagNumber(1005) + $1.GetBlockTemplateRequestMessage ensureGetBlockTemplateRequest() => $_ensure(3); - @$pb.TagNumber(5) - $core.bool hasBlockLocator() => $_has(3); - @$pb.TagNumber(5) - void clearBlockLocator() => clearField(5); - @$pb.TagNumber(5) - $1.BlockLocatorMessage ensureBlockLocator() => $_ensure(3); - - @$pb.TagNumber(6) - $1.RequestAddressesMessage get requestAddresses => $_getN(4); - @$pb.TagNumber(6) - set requestAddresses($1.RequestAddressesMessage v) { - setField(6, v); - } + @$pb.TagNumber(1007) + $1.NotifyBlockAddedRequestMessage get notifyBlockAddedRequest => $_getN(4); + @$pb.TagNumber(1007) + set notifyBlockAddedRequest($1.NotifyBlockAddedRequestMessage v) { setField(1007, v); } + @$pb.TagNumber(1007) + $core.bool hasNotifyBlockAddedRequest() => $_has(4); + @$pb.TagNumber(1007) + void clearNotifyBlockAddedRequest() => clearField(1007); + @$pb.TagNumber(1007) + $1.NotifyBlockAddedRequestMessage ensureNotifyBlockAddedRequest() => $_ensure(4); - @$pb.TagNumber(6) - $core.bool hasRequestAddresses() => $_has(4); - @$pb.TagNumber(6) - void clearRequestAddresses() => clearField(6); - @$pb.TagNumber(6) - $1.RequestAddressesMessage ensureRequestAddresses() => $_ensure(4); - - @$pb.TagNumber(10) - $1.RequestRelayBlocksMessage get requestRelayBlocks => $_getN(5); - @$pb.TagNumber(10) - set requestRelayBlocks($1.RequestRelayBlocksMessage v) { - setField(10, v); - } + /// BlockAddedNotificationMessage blockAddedNotification = 1009; + @$pb.TagNumber(1010) + $1.GetPeerAddressesRequestMessage get getPeerAddressesRequest => $_getN(5); + @$pb.TagNumber(1010) + set getPeerAddressesRequest($1.GetPeerAddressesRequestMessage v) { setField(1010, v); } + @$pb.TagNumber(1010) + $core.bool hasGetPeerAddressesRequest() => $_has(5); + @$pb.TagNumber(1010) + void clearGetPeerAddressesRequest() => clearField(1010); + @$pb.TagNumber(1010) + $1.GetPeerAddressesRequestMessage ensureGetPeerAddressesRequest() => $_ensure(5); - @$pb.TagNumber(10) - $core.bool hasRequestRelayBlocks() => $_has(5); - @$pb.TagNumber(10) - void clearRequestRelayBlocks() => clearField(10); - @$pb.TagNumber(10) - $1.RequestRelayBlocksMessage ensureRequestRelayBlocks() => $_ensure(5); - - @$pb.TagNumber(12) - $1.RequestTransactionsMessage get requestTransactions => $_getN(6); - @$pb.TagNumber(12) - set requestTransactions($1.RequestTransactionsMessage v) { - setField(12, v); - } + @$pb.TagNumber(1012) + $1.GetSinkRequestMessage get getSinkRequest => $_getN(6); + @$pb.TagNumber(1012) + set getSinkRequest($1.GetSinkRequestMessage v) { setField(1012, v); } + @$pb.TagNumber(1012) + $core.bool hasGetSinkRequest() => $_has(6); + @$pb.TagNumber(1012) + void clearGetSinkRequest() => clearField(1012); + @$pb.TagNumber(1012) + $1.GetSinkRequestMessage ensureGetSinkRequest() => $_ensure(6); - @$pb.TagNumber(12) - $core.bool hasRequestTransactions() => $_has(6); - @$pb.TagNumber(12) - void clearRequestTransactions() => clearField(12); - @$pb.TagNumber(12) - $1.RequestTransactionsMessage ensureRequestTransactions() => $_ensure(6); - - @$pb.TagNumber(13) - $1.BlockMessage get ibdBlock => $_getN(7); - @$pb.TagNumber(13) - set ibdBlock($1.BlockMessage v) { - setField(13, v); - } + @$pb.TagNumber(1014) + $1.GetMempoolEntryRequestMessage get getMempoolEntryRequest => $_getN(7); + @$pb.TagNumber(1014) + set getMempoolEntryRequest($1.GetMempoolEntryRequestMessage v) { setField(1014, v); } + @$pb.TagNumber(1014) + $core.bool hasGetMempoolEntryRequest() => $_has(7); + @$pb.TagNumber(1014) + void clearGetMempoolEntryRequest() => clearField(1014); + @$pb.TagNumber(1014) + $1.GetMempoolEntryRequestMessage ensureGetMempoolEntryRequest() => $_ensure(7); - @$pb.TagNumber(13) - $core.bool hasIbdBlock() => $_has(7); - @$pb.TagNumber(13) - void clearIbdBlock() => clearField(13); - @$pb.TagNumber(13) - $1.BlockMessage ensureIbdBlock() => $_ensure(7); - - @$pb.TagNumber(14) - $1.InvRelayBlockMessage get invRelayBlock => $_getN(8); - @$pb.TagNumber(14) - set invRelayBlock($1.InvRelayBlockMessage v) { - setField(14, v); - } + @$pb.TagNumber(1016) + $1.GetConnectedPeerInfoRequestMessage get getConnectedPeerInfoRequest => $_getN(8); + @$pb.TagNumber(1016) + set getConnectedPeerInfoRequest($1.GetConnectedPeerInfoRequestMessage v) { setField(1016, v); } + @$pb.TagNumber(1016) + $core.bool hasGetConnectedPeerInfoRequest() => $_has(8); + @$pb.TagNumber(1016) + void clearGetConnectedPeerInfoRequest() => clearField(1016); + @$pb.TagNumber(1016) + $1.GetConnectedPeerInfoRequestMessage ensureGetConnectedPeerInfoRequest() => $_ensure(8); - @$pb.TagNumber(14) - $core.bool hasInvRelayBlock() => $_has(8); - @$pb.TagNumber(14) - void clearInvRelayBlock() => clearField(14); - @$pb.TagNumber(14) - $1.InvRelayBlockMessage ensureInvRelayBlock() => $_ensure(8); - - @$pb.TagNumber(15) - $1.InvTransactionsMessage get invTransactions => $_getN(9); - @$pb.TagNumber(15) - set invTransactions($1.InvTransactionsMessage v) { - setField(15, v); - } + @$pb.TagNumber(1018) + $1.AddPeerRequestMessage get addPeerRequest => $_getN(9); + @$pb.TagNumber(1018) + set addPeerRequest($1.AddPeerRequestMessage v) { setField(1018, v); } + @$pb.TagNumber(1018) + $core.bool hasAddPeerRequest() => $_has(9); + @$pb.TagNumber(1018) + void clearAddPeerRequest() => clearField(1018); + @$pb.TagNumber(1018) + $1.AddPeerRequestMessage ensureAddPeerRequest() => $_ensure(9); - @$pb.TagNumber(15) - $core.bool hasInvTransactions() => $_has(9); - @$pb.TagNumber(15) - void clearInvTransactions() => clearField(15); - @$pb.TagNumber(15) - $1.InvTransactionsMessage ensureInvTransactions() => $_ensure(9); - - @$pb.TagNumber(16) - $1.PingMessage get ping => $_getN(10); - @$pb.TagNumber(16) - set ping($1.PingMessage v) { - setField(16, v); - } + @$pb.TagNumber(1020) + $1.SubmitTransactionRequestMessage get submitTransactionRequest => $_getN(10); + @$pb.TagNumber(1020) + set submitTransactionRequest($1.SubmitTransactionRequestMessage v) { setField(1020, v); } + @$pb.TagNumber(1020) + $core.bool hasSubmitTransactionRequest() => $_has(10); + @$pb.TagNumber(1020) + void clearSubmitTransactionRequest() => clearField(1020); + @$pb.TagNumber(1020) + $1.SubmitTransactionRequestMessage ensureSubmitTransactionRequest() => $_ensure(10); - @$pb.TagNumber(16) - $core.bool hasPing() => $_has(10); - @$pb.TagNumber(16) - void clearPing() => clearField(16); - @$pb.TagNumber(16) - $1.PingMessage ensurePing() => $_ensure(10); - - @$pb.TagNumber(17) - $1.PongMessage get pong => $_getN(11); - @$pb.TagNumber(17) - set pong($1.PongMessage v) { - setField(17, v); - } + @$pb.TagNumber(1022) + $1.NotifyVirtualChainChangedRequestMessage get notifyVirtualChainChangedRequest => $_getN(11); + @$pb.TagNumber(1022) + set notifyVirtualChainChangedRequest($1.NotifyVirtualChainChangedRequestMessage v) { setField(1022, v); } + @$pb.TagNumber(1022) + $core.bool hasNotifyVirtualChainChangedRequest() => $_has(11); + @$pb.TagNumber(1022) + void clearNotifyVirtualChainChangedRequest() => clearField(1022); + @$pb.TagNumber(1022) + $1.NotifyVirtualChainChangedRequestMessage ensureNotifyVirtualChainChangedRequest() => $_ensure(11); - @$pb.TagNumber(17) - $core.bool hasPong() => $_has(11); - @$pb.TagNumber(17) - void clearPong() => clearField(17); - @$pb.TagNumber(17) - $1.PongMessage ensurePong() => $_ensure(11); - - @$pb.TagNumber(19) - $1.VerackMessage get verack => $_getN(12); - @$pb.TagNumber(19) - set verack($1.VerackMessage v) { - setField(19, v); - } + /// VirtualChainChangedNotificationMessage virtualChainChangedNotification = 1024; + @$pb.TagNumber(1025) + $1.GetBlockRequestMessage get getBlockRequest => $_getN(12); + @$pb.TagNumber(1025) + set getBlockRequest($1.GetBlockRequestMessage v) { setField(1025, v); } + @$pb.TagNumber(1025) + $core.bool hasGetBlockRequest() => $_has(12); + @$pb.TagNumber(1025) + void clearGetBlockRequest() => clearField(1025); + @$pb.TagNumber(1025) + $1.GetBlockRequestMessage ensureGetBlockRequest() => $_ensure(12); - @$pb.TagNumber(19) - $core.bool hasVerack() => $_has(12); - @$pb.TagNumber(19) - void clearVerack() => clearField(19); - @$pb.TagNumber(19) - $1.VerackMessage ensureVerack() => $_ensure(12); - - @$pb.TagNumber(20) - $1.VersionMessage get version => $_getN(13); - @$pb.TagNumber(20) - set version($1.VersionMessage v) { - setField(20, v); - } + @$pb.TagNumber(1027) + $1.GetSubnetworkRequestMessage get getSubnetworkRequest => $_getN(13); + @$pb.TagNumber(1027) + set getSubnetworkRequest($1.GetSubnetworkRequestMessage v) { setField(1027, v); } + @$pb.TagNumber(1027) + $core.bool hasGetSubnetworkRequest() => $_has(13); + @$pb.TagNumber(1027) + void clearGetSubnetworkRequest() => clearField(1027); + @$pb.TagNumber(1027) + $1.GetSubnetworkRequestMessage ensureGetSubnetworkRequest() => $_ensure(13); - @$pb.TagNumber(20) - $core.bool hasVersion() => $_has(13); - @$pb.TagNumber(20) - void clearVersion() => clearField(20); - @$pb.TagNumber(20) - $1.VersionMessage ensureVersion() => $_ensure(13); - - @$pb.TagNumber(21) - $1.TransactionNotFoundMessage get transactionNotFound => $_getN(14); - @$pb.TagNumber(21) - set transactionNotFound($1.TransactionNotFoundMessage v) { - setField(21, v); - } + @$pb.TagNumber(1029) + $1.GetVirtualChainFromBlockRequestMessage get getVirtualChainFromBlockRequest => $_getN(14); + @$pb.TagNumber(1029) + set getVirtualChainFromBlockRequest($1.GetVirtualChainFromBlockRequestMessage v) { setField(1029, v); } + @$pb.TagNumber(1029) + $core.bool hasGetVirtualChainFromBlockRequest() => $_has(14); + @$pb.TagNumber(1029) + void clearGetVirtualChainFromBlockRequest() => clearField(1029); + @$pb.TagNumber(1029) + $1.GetVirtualChainFromBlockRequestMessage ensureGetVirtualChainFromBlockRequest() => $_ensure(14); - @$pb.TagNumber(21) - $core.bool hasTransactionNotFound() => $_has(14); - @$pb.TagNumber(21) - void clearTransactionNotFound() => clearField(21); - @$pb.TagNumber(21) - $1.TransactionNotFoundMessage ensureTransactionNotFound() => $_ensure(14); - - @$pb.TagNumber(22) - $1.RejectMessage get reject => $_getN(15); - @$pb.TagNumber(22) - set reject($1.RejectMessage v) { - setField(22, v); - } + @$pb.TagNumber(1031) + $1.GetBlocksRequestMessage get getBlocksRequest => $_getN(15); + @$pb.TagNumber(1031) + set getBlocksRequest($1.GetBlocksRequestMessage v) { setField(1031, v); } + @$pb.TagNumber(1031) + $core.bool hasGetBlocksRequest() => $_has(15); + @$pb.TagNumber(1031) + void clearGetBlocksRequest() => clearField(1031); + @$pb.TagNumber(1031) + $1.GetBlocksRequestMessage ensureGetBlocksRequest() => $_ensure(15); - @$pb.TagNumber(22) - $core.bool hasReject() => $_has(15); - @$pb.TagNumber(22) - void clearReject() => clearField(22); - @$pb.TagNumber(22) - $1.RejectMessage ensureReject() => $_ensure(15); - - @$pb.TagNumber(25) - $1.PruningPointUtxoSetChunkMessage get pruningPointUtxoSetChunk => $_getN(16); - @$pb.TagNumber(25) - set pruningPointUtxoSetChunk($1.PruningPointUtxoSetChunkMessage v) { - setField(25, v); - } + @$pb.TagNumber(1033) + $1.GetBlockCountRequestMessage get getBlockCountRequest => $_getN(16); + @$pb.TagNumber(1033) + set getBlockCountRequest($1.GetBlockCountRequestMessage v) { setField(1033, v); } + @$pb.TagNumber(1033) + $core.bool hasGetBlockCountRequest() => $_has(16); + @$pb.TagNumber(1033) + void clearGetBlockCountRequest() => clearField(1033); + @$pb.TagNumber(1033) + $1.GetBlockCountRequestMessage ensureGetBlockCountRequest() => $_ensure(16); - @$pb.TagNumber(25) - $core.bool hasPruningPointUtxoSetChunk() => $_has(16); - @$pb.TagNumber(25) - void clearPruningPointUtxoSetChunk() => clearField(25); - @$pb.TagNumber(25) - $1.PruningPointUtxoSetChunkMessage ensurePruningPointUtxoSetChunk() => - $_ensure(16); - - @$pb.TagNumber(26) - $1.RequestIBDBlocksMessage get requestIBDBlocks => $_getN(17); - @$pb.TagNumber(26) - set requestIBDBlocks($1.RequestIBDBlocksMessage v) { - setField(26, v); - } + @$pb.TagNumber(1035) + $1.GetBlockDagInfoRequestMessage get getBlockDagInfoRequest => $_getN(17); + @$pb.TagNumber(1035) + set getBlockDagInfoRequest($1.GetBlockDagInfoRequestMessage v) { setField(1035, v); } + @$pb.TagNumber(1035) + $core.bool hasGetBlockDagInfoRequest() => $_has(17); + @$pb.TagNumber(1035) + void clearGetBlockDagInfoRequest() => clearField(1035); + @$pb.TagNumber(1035) + $1.GetBlockDagInfoRequestMessage ensureGetBlockDagInfoRequest() => $_ensure(17); - @$pb.TagNumber(26) - $core.bool hasRequestIBDBlocks() => $_has(17); - @$pb.TagNumber(26) - void clearRequestIBDBlocks() => clearField(26); - @$pb.TagNumber(26) - $1.RequestIBDBlocksMessage ensureRequestIBDBlocks() => $_ensure(17); - - @$pb.TagNumber(27) - $1.UnexpectedPruningPointMessage get unexpectedPruningPoint => $_getN(18); - @$pb.TagNumber(27) - set unexpectedPruningPoint($1.UnexpectedPruningPointMessage v) { - setField(27, v); - } + @$pb.TagNumber(1037) + $1.ResolveFinalityConflictRequestMessage get resolveFinalityConflictRequest => $_getN(18); + @$pb.TagNumber(1037) + set resolveFinalityConflictRequest($1.ResolveFinalityConflictRequestMessage v) { setField(1037, v); } + @$pb.TagNumber(1037) + $core.bool hasResolveFinalityConflictRequest() => $_has(18); + @$pb.TagNumber(1037) + void clearResolveFinalityConflictRequest() => clearField(1037); + @$pb.TagNumber(1037) + $1.ResolveFinalityConflictRequestMessage ensureResolveFinalityConflictRequest() => $_ensure(18); - @$pb.TagNumber(27) - $core.bool hasUnexpectedPruningPoint() => $_has(18); - @$pb.TagNumber(27) - void clearUnexpectedPruningPoint() => clearField(27); - @$pb.TagNumber(27) - $1.UnexpectedPruningPointMessage ensureUnexpectedPruningPoint() => - $_ensure(18); - - @$pb.TagNumber(30) - $1.IbdBlockLocatorMessage get ibdBlockLocator => $_getN(19); - @$pb.TagNumber(30) - set ibdBlockLocator($1.IbdBlockLocatorMessage v) { - setField(30, v); - } + @$pb.TagNumber(1039) + $1.NotifyFinalityConflictRequestMessage get notifyFinalityConflictRequest => $_getN(19); + @$pb.TagNumber(1039) + set notifyFinalityConflictRequest($1.NotifyFinalityConflictRequestMessage v) { setField(1039, v); } + @$pb.TagNumber(1039) + $core.bool hasNotifyFinalityConflictRequest() => $_has(19); + @$pb.TagNumber(1039) + void clearNotifyFinalityConflictRequest() => clearField(1039); + @$pb.TagNumber(1039) + $1.NotifyFinalityConflictRequestMessage ensureNotifyFinalityConflictRequest() => $_ensure(19); - @$pb.TagNumber(30) - $core.bool hasIbdBlockLocator() => $_has(19); - @$pb.TagNumber(30) - void clearIbdBlockLocator() => clearField(30); - @$pb.TagNumber(30) - $1.IbdBlockLocatorMessage ensureIbdBlockLocator() => $_ensure(19); - - @$pb.TagNumber(31) - $1.IbdBlockLocatorHighestHashMessage get ibdBlockLocatorHighestHash => - $_getN(20); - @$pb.TagNumber(31) - set ibdBlockLocatorHighestHash($1.IbdBlockLocatorHighestHashMessage v) { - setField(31, v); - } + /// FinalityConflictNotificationMessage finalityConflictNotification = 1041; + /// FinalityConflictResolvedNotificationMessage finalityConflictResolvedNotification = 1042; + @$pb.TagNumber(1043) + $1.GetMempoolEntriesRequestMessage get getMempoolEntriesRequest => $_getN(20); + @$pb.TagNumber(1043) + set getMempoolEntriesRequest($1.GetMempoolEntriesRequestMessage v) { setField(1043, v); } + @$pb.TagNumber(1043) + $core.bool hasGetMempoolEntriesRequest() => $_has(20); + @$pb.TagNumber(1043) + void clearGetMempoolEntriesRequest() => clearField(1043); + @$pb.TagNumber(1043) + $1.GetMempoolEntriesRequestMessage ensureGetMempoolEntriesRequest() => $_ensure(20); - @$pb.TagNumber(31) - $core.bool hasIbdBlockLocatorHighestHash() => $_has(20); - @$pb.TagNumber(31) - void clearIbdBlockLocatorHighestHash() => clearField(31); - @$pb.TagNumber(31) - $1.IbdBlockLocatorHighestHashMessage ensureIbdBlockLocatorHighestHash() => - $_ensure(20); - - @$pb.TagNumber(33) - $1.RequestNextPruningPointUtxoSetChunkMessage - get requestNextPruningPointUtxoSetChunk => $_getN(21); - @$pb.TagNumber(33) - set requestNextPruningPointUtxoSetChunk( - $1.RequestNextPruningPointUtxoSetChunkMessage v) { - setField(33, v); - } + @$pb.TagNumber(1045) + $1.ShutdownRequestMessage get shutdownRequest => $_getN(21); + @$pb.TagNumber(1045) + set shutdownRequest($1.ShutdownRequestMessage v) { setField(1045, v); } + @$pb.TagNumber(1045) + $core.bool hasShutdownRequest() => $_has(21); + @$pb.TagNumber(1045) + void clearShutdownRequest() => clearField(1045); + @$pb.TagNumber(1045) + $1.ShutdownRequestMessage ensureShutdownRequest() => $_ensure(21); - @$pb.TagNumber(33) - $core.bool hasRequestNextPruningPointUtxoSetChunk() => $_has(21); - @$pb.TagNumber(33) - void clearRequestNextPruningPointUtxoSetChunk() => clearField(33); - @$pb.TagNumber(33) - $1.RequestNextPruningPointUtxoSetChunkMessage - ensureRequestNextPruningPointUtxoSetChunk() => $_ensure(21); - - @$pb.TagNumber(34) - $1.DonePruningPointUtxoSetChunksMessage get donePruningPointUtxoSetChunks => - $_getN(22); - @$pb.TagNumber(34) - set donePruningPointUtxoSetChunks($1.DonePruningPointUtxoSetChunksMessage v) { - setField(34, v); - } + @$pb.TagNumber(1047) + $1.GetHeadersRequestMessage get getHeadersRequest => $_getN(22); + @$pb.TagNumber(1047) + set getHeadersRequest($1.GetHeadersRequestMessage v) { setField(1047, v); } + @$pb.TagNumber(1047) + $core.bool hasGetHeadersRequest() => $_has(22); + @$pb.TagNumber(1047) + void clearGetHeadersRequest() => clearField(1047); + @$pb.TagNumber(1047) + $1.GetHeadersRequestMessage ensureGetHeadersRequest() => $_ensure(22); - @$pb.TagNumber(34) - $core.bool hasDonePruningPointUtxoSetChunks() => $_has(22); - @$pb.TagNumber(34) - void clearDonePruningPointUtxoSetChunks() => clearField(34); - @$pb.TagNumber(34) - $1.DonePruningPointUtxoSetChunksMessage - ensureDonePruningPointUtxoSetChunks() => $_ensure(22); - - @$pb.TagNumber(35) - $1.IbdBlockLocatorHighestHashNotFoundMessage - get ibdBlockLocatorHighestHashNotFound => $_getN(23); - @$pb.TagNumber(35) - set ibdBlockLocatorHighestHashNotFound( - $1.IbdBlockLocatorHighestHashNotFoundMessage v) { - setField(35, v); - } + @$pb.TagNumber(1049) + $1.NotifyUtxosChangedRequestMessage get notifyUtxosChangedRequest => $_getN(23); + @$pb.TagNumber(1049) + set notifyUtxosChangedRequest($1.NotifyUtxosChangedRequestMessage v) { setField(1049, v); } + @$pb.TagNumber(1049) + $core.bool hasNotifyUtxosChangedRequest() => $_has(23); + @$pb.TagNumber(1049) + void clearNotifyUtxosChangedRequest() => clearField(1049); + @$pb.TagNumber(1049) + $1.NotifyUtxosChangedRequestMessage ensureNotifyUtxosChangedRequest() => $_ensure(23); - @$pb.TagNumber(35) - $core.bool hasIbdBlockLocatorHighestHashNotFound() => $_has(23); - @$pb.TagNumber(35) - void clearIbdBlockLocatorHighestHashNotFound() => clearField(35); - @$pb.TagNumber(35) - $1.IbdBlockLocatorHighestHashNotFoundMessage - ensureIbdBlockLocatorHighestHashNotFound() => $_ensure(23); - - @$pb.TagNumber(36) - $1.BlockWithTrustedDataMessage get blockWithTrustedData => $_getN(24); - @$pb.TagNumber(36) - set blockWithTrustedData($1.BlockWithTrustedDataMessage v) { - setField(36, v); - } + /// UtxosChangedNotificationMessage utxosChangedNotification = 1051; + @$pb.TagNumber(1052) + $1.GetUtxosByAddressesRequestMessage get getUtxosByAddressesRequest => $_getN(24); + @$pb.TagNumber(1052) + set getUtxosByAddressesRequest($1.GetUtxosByAddressesRequestMessage v) { setField(1052, v); } + @$pb.TagNumber(1052) + $core.bool hasGetUtxosByAddressesRequest() => $_has(24); + @$pb.TagNumber(1052) + void clearGetUtxosByAddressesRequest() => clearField(1052); + @$pb.TagNumber(1052) + $1.GetUtxosByAddressesRequestMessage ensureGetUtxosByAddressesRequest() => $_ensure(24); - @$pb.TagNumber(36) - $core.bool hasBlockWithTrustedData() => $_has(24); - @$pb.TagNumber(36) - void clearBlockWithTrustedData() => clearField(36); - @$pb.TagNumber(36) - $1.BlockWithTrustedDataMessage ensureBlockWithTrustedData() => $_ensure(24); - - @$pb.TagNumber(37) - $1.DoneBlocksWithTrustedDataMessage get doneBlocksWithTrustedData => - $_getN(25); - @$pb.TagNumber(37) - set doneBlocksWithTrustedData($1.DoneBlocksWithTrustedDataMessage v) { - setField(37, v); - } + @$pb.TagNumber(1054) + $1.GetSinkBlueScoreRequestMessage get getSinkBlueScoreRequest => $_getN(25); + @$pb.TagNumber(1054) + set getSinkBlueScoreRequest($1.GetSinkBlueScoreRequestMessage v) { setField(1054, v); } + @$pb.TagNumber(1054) + $core.bool hasGetSinkBlueScoreRequest() => $_has(25); + @$pb.TagNumber(1054) + void clearGetSinkBlueScoreRequest() => clearField(1054); + @$pb.TagNumber(1054) + $1.GetSinkBlueScoreRequestMessage ensureGetSinkBlueScoreRequest() => $_ensure(25); - @$pb.TagNumber(37) - $core.bool hasDoneBlocksWithTrustedData() => $_has(25); - @$pb.TagNumber(37) - void clearDoneBlocksWithTrustedData() => clearField(37); - @$pb.TagNumber(37) - $1.DoneBlocksWithTrustedDataMessage ensureDoneBlocksWithTrustedData() => - $_ensure(25); - - @$pb.TagNumber(40) - $1.RequestPruningPointAndItsAnticoneMessage - get requestPruningPointAndItsAnticone => $_getN(26); - @$pb.TagNumber(40) - set requestPruningPointAndItsAnticone( - $1.RequestPruningPointAndItsAnticoneMessage v) { - setField(40, v); - } + @$pb.TagNumber(1056) + $1.NotifySinkBlueScoreChangedRequestMessage get notifySinkBlueScoreChangedRequest => $_getN(26); + @$pb.TagNumber(1056) + set notifySinkBlueScoreChangedRequest($1.NotifySinkBlueScoreChangedRequestMessage v) { setField(1056, v); } + @$pb.TagNumber(1056) + $core.bool hasNotifySinkBlueScoreChangedRequest() => $_has(26); + @$pb.TagNumber(1056) + void clearNotifySinkBlueScoreChangedRequest() => clearField(1056); + @$pb.TagNumber(1056) + $1.NotifySinkBlueScoreChangedRequestMessage ensureNotifySinkBlueScoreChangedRequest() => $_ensure(26); - @$pb.TagNumber(40) - $core.bool hasRequestPruningPointAndItsAnticone() => $_has(26); - @$pb.TagNumber(40) - void clearRequestPruningPointAndItsAnticone() => clearField(40); - @$pb.TagNumber(40) - $1.RequestPruningPointAndItsAnticoneMessage - ensureRequestPruningPointAndItsAnticone() => $_ensure(26); - - @$pb.TagNumber(41) - $1.BlockHeadersMessage get blockHeaders => $_getN(27); - @$pb.TagNumber(41) - set blockHeaders($1.BlockHeadersMessage v) { - setField(41, v); - } + /// SinkBlueScoreChangedNotificationMessage sinkBlueScoreChangedNotification = 1058; + @$pb.TagNumber(1059) + $1.BanRequestMessage get banRequest => $_getN(27); + @$pb.TagNumber(1059) + set banRequest($1.BanRequestMessage v) { setField(1059, v); } + @$pb.TagNumber(1059) + $core.bool hasBanRequest() => $_has(27); + @$pb.TagNumber(1059) + void clearBanRequest() => clearField(1059); + @$pb.TagNumber(1059) + $1.BanRequestMessage ensureBanRequest() => $_ensure(27); - @$pb.TagNumber(41) - $core.bool hasBlockHeaders() => $_has(27); - @$pb.TagNumber(41) - void clearBlockHeaders() => clearField(41); - @$pb.TagNumber(41) - $1.BlockHeadersMessage ensureBlockHeaders() => $_ensure(27); - - @$pb.TagNumber(42) - $1.RequestNextHeadersMessage get requestNextHeaders => $_getN(28); - @$pb.TagNumber(42) - set requestNextHeaders($1.RequestNextHeadersMessage v) { - setField(42, v); - } + @$pb.TagNumber(1061) + $1.UnbanRequestMessage get unbanRequest => $_getN(28); + @$pb.TagNumber(1061) + set unbanRequest($1.UnbanRequestMessage v) { setField(1061, v); } + @$pb.TagNumber(1061) + $core.bool hasUnbanRequest() => $_has(28); + @$pb.TagNumber(1061) + void clearUnbanRequest() => clearField(1061); + @$pb.TagNumber(1061) + $1.UnbanRequestMessage ensureUnbanRequest() => $_ensure(28); - @$pb.TagNumber(42) - $core.bool hasRequestNextHeaders() => $_has(28); - @$pb.TagNumber(42) - void clearRequestNextHeaders() => clearField(42); - @$pb.TagNumber(42) - $1.RequestNextHeadersMessage ensureRequestNextHeaders() => $_ensure(28); - - @$pb.TagNumber(43) - $1.DoneHeadersMessage get doneHeaders => $_getN(29); - @$pb.TagNumber(43) - set doneHeaders($1.DoneHeadersMessage v) { - setField(43, v); - } + @$pb.TagNumber(1063) + $1.GetInfoRequestMessage get getInfoRequest => $_getN(29); + @$pb.TagNumber(1063) + set getInfoRequest($1.GetInfoRequestMessage v) { setField(1063, v); } + @$pb.TagNumber(1063) + $core.bool hasGetInfoRequest() => $_has(29); + @$pb.TagNumber(1063) + void clearGetInfoRequest() => clearField(1063); + @$pb.TagNumber(1063) + $1.GetInfoRequestMessage ensureGetInfoRequest() => $_ensure(29); - @$pb.TagNumber(43) - $core.bool hasDoneHeaders() => $_has(29); - @$pb.TagNumber(43) - void clearDoneHeaders() => clearField(43); - @$pb.TagNumber(43) - $1.DoneHeadersMessage ensureDoneHeaders() => $_ensure(29); - - @$pb.TagNumber(44) - $1.RequestPruningPointUTXOSetMessage get requestPruningPointUTXOSet => - $_getN(30); - @$pb.TagNumber(44) - set requestPruningPointUTXOSet($1.RequestPruningPointUTXOSetMessage v) { - setField(44, v); - } + @$pb.TagNumber(1065) + $1.StopNotifyingUtxosChangedRequestMessage get stopNotifyingUtxosChangedRequest => $_getN(30); + @$pb.TagNumber(1065) + set stopNotifyingUtxosChangedRequest($1.StopNotifyingUtxosChangedRequestMessage v) { setField(1065, v); } + @$pb.TagNumber(1065) + $core.bool hasStopNotifyingUtxosChangedRequest() => $_has(30); + @$pb.TagNumber(1065) + void clearStopNotifyingUtxosChangedRequest() => clearField(1065); + @$pb.TagNumber(1065) + $1.StopNotifyingUtxosChangedRequestMessage ensureStopNotifyingUtxosChangedRequest() => $_ensure(30); - @$pb.TagNumber(44) - $core.bool hasRequestPruningPointUTXOSet() => $_has(30); - @$pb.TagNumber(44) - void clearRequestPruningPointUTXOSet() => clearField(44); - @$pb.TagNumber(44) - $1.RequestPruningPointUTXOSetMessage ensureRequestPruningPointUTXOSet() => - $_ensure(30); - - @$pb.TagNumber(45) - $1.RequestHeadersMessage get requestHeaders => $_getN(31); - @$pb.TagNumber(45) - set requestHeaders($1.RequestHeadersMessage v) { - setField(45, v); - } + @$pb.TagNumber(1067) + $1.NotifyPruningPointUtxoSetOverrideRequestMessage get notifyPruningPointUtxoSetOverrideRequest => $_getN(31); + @$pb.TagNumber(1067) + set notifyPruningPointUtxoSetOverrideRequest($1.NotifyPruningPointUtxoSetOverrideRequestMessage v) { setField(1067, v); } + @$pb.TagNumber(1067) + $core.bool hasNotifyPruningPointUtxoSetOverrideRequest() => $_has(31); + @$pb.TagNumber(1067) + void clearNotifyPruningPointUtxoSetOverrideRequest() => clearField(1067); + @$pb.TagNumber(1067) + $1.NotifyPruningPointUtxoSetOverrideRequestMessage ensureNotifyPruningPointUtxoSetOverrideRequest() => $_ensure(31); - @$pb.TagNumber(45) - $core.bool hasRequestHeaders() => $_has(31); - @$pb.TagNumber(45) - void clearRequestHeaders() => clearField(45); - @$pb.TagNumber(45) - $1.RequestHeadersMessage ensureRequestHeaders() => $_ensure(31); - - @$pb.TagNumber(46) - $1.RequestBlockLocatorMessage get requestBlockLocator => $_getN(32); - @$pb.TagNumber(46) - set requestBlockLocator($1.RequestBlockLocatorMessage v) { - setField(46, v); - } + /// PruningPointUtxoSetOverrideNotificationMessage pruningPointUtxoSetOverrideNotification = 1069; + @$pb.TagNumber(1070) + $1.StopNotifyingPruningPointUtxoSetOverrideRequestMessage get stopNotifyingPruningPointUtxoSetOverrideRequest => $_getN(32); + @$pb.TagNumber(1070) + set stopNotifyingPruningPointUtxoSetOverrideRequest($1.StopNotifyingPruningPointUtxoSetOverrideRequestMessage v) { setField(1070, v); } + @$pb.TagNumber(1070) + $core.bool hasStopNotifyingPruningPointUtxoSetOverrideRequest() => $_has(32); + @$pb.TagNumber(1070) + void clearStopNotifyingPruningPointUtxoSetOverrideRequest() => clearField(1070); + @$pb.TagNumber(1070) + $1.StopNotifyingPruningPointUtxoSetOverrideRequestMessage ensureStopNotifyingPruningPointUtxoSetOverrideRequest() => $_ensure(32); - @$pb.TagNumber(46) - $core.bool hasRequestBlockLocator() => $_has(32); - @$pb.TagNumber(46) - void clearRequestBlockLocator() => clearField(46); - @$pb.TagNumber(46) - $1.RequestBlockLocatorMessage ensureRequestBlockLocator() => $_ensure(32); - - @$pb.TagNumber(47) - $1.PruningPointsMessage get pruningPoints => $_getN(33); - @$pb.TagNumber(47) - set pruningPoints($1.PruningPointsMessage v) { - setField(47, v); - } + @$pb.TagNumber(1072) + $1.EstimateNetworkHashesPerSecondRequestMessage get estimateNetworkHashesPerSecondRequest => $_getN(33); + @$pb.TagNumber(1072) + set estimateNetworkHashesPerSecondRequest($1.EstimateNetworkHashesPerSecondRequestMessage v) { setField(1072, v); } + @$pb.TagNumber(1072) + $core.bool hasEstimateNetworkHashesPerSecondRequest() => $_has(33); + @$pb.TagNumber(1072) + void clearEstimateNetworkHashesPerSecondRequest() => clearField(1072); + @$pb.TagNumber(1072) + $1.EstimateNetworkHashesPerSecondRequestMessage ensureEstimateNetworkHashesPerSecondRequest() => $_ensure(33); - @$pb.TagNumber(47) - $core.bool hasPruningPoints() => $_has(33); - @$pb.TagNumber(47) - void clearPruningPoints() => clearField(47); - @$pb.TagNumber(47) - $1.PruningPointsMessage ensurePruningPoints() => $_ensure(33); - - @$pb.TagNumber(48) - $1.RequestPruningPointProofMessage get requestPruningPointProof => $_getN(34); - @$pb.TagNumber(48) - set requestPruningPointProof($1.RequestPruningPointProofMessage v) { - setField(48, v); - } + @$pb.TagNumber(1074) + $1.NotifyVirtualDaaScoreChangedRequestMessage get notifyVirtualDaaScoreChangedRequest => $_getN(34); + @$pb.TagNumber(1074) + set notifyVirtualDaaScoreChangedRequest($1.NotifyVirtualDaaScoreChangedRequestMessage v) { setField(1074, v); } + @$pb.TagNumber(1074) + $core.bool hasNotifyVirtualDaaScoreChangedRequest() => $_has(34); + @$pb.TagNumber(1074) + void clearNotifyVirtualDaaScoreChangedRequest() => clearField(1074); + @$pb.TagNumber(1074) + $1.NotifyVirtualDaaScoreChangedRequestMessage ensureNotifyVirtualDaaScoreChangedRequest() => $_ensure(34); - @$pb.TagNumber(48) - $core.bool hasRequestPruningPointProof() => $_has(34); - @$pb.TagNumber(48) - void clearRequestPruningPointProof() => clearField(48); - @$pb.TagNumber(48) - $1.RequestPruningPointProofMessage ensureRequestPruningPointProof() => - $_ensure(34); - - @$pb.TagNumber(49) - $1.PruningPointProofMessage get pruningPointProof => $_getN(35); - @$pb.TagNumber(49) - set pruningPointProof($1.PruningPointProofMessage v) { - setField(49, v); - } + /// VirtualDaaScoreChangedNotificationMessage virtualDaaScoreChangedNotification = 1076; + @$pb.TagNumber(1077) + $1.GetBalanceByAddressRequestMessage get getBalanceByAddressRequest => $_getN(35); + @$pb.TagNumber(1077) + set getBalanceByAddressRequest($1.GetBalanceByAddressRequestMessage v) { setField(1077, v); } + @$pb.TagNumber(1077) + $core.bool hasGetBalanceByAddressRequest() => $_has(35); + @$pb.TagNumber(1077) + void clearGetBalanceByAddressRequest() => clearField(1077); + @$pb.TagNumber(1077) + $1.GetBalanceByAddressRequestMessage ensureGetBalanceByAddressRequest() => $_ensure(35); - @$pb.TagNumber(49) - $core.bool hasPruningPointProof() => $_has(35); - @$pb.TagNumber(49) - void clearPruningPointProof() => clearField(49); - @$pb.TagNumber(49) - $1.PruningPointProofMessage ensurePruningPointProof() => $_ensure(35); - - @$pb.TagNumber(50) - $1.ReadyMessage get ready => $_getN(36); - @$pb.TagNumber(50) - set ready($1.ReadyMessage v) { - setField(50, v); - } + @$pb.TagNumber(1079) + $1.GetBalancesByAddressesRequestMessage get getBalancesByAddressesRequest => $_getN(36); + @$pb.TagNumber(1079) + set getBalancesByAddressesRequest($1.GetBalancesByAddressesRequestMessage v) { setField(1079, v); } + @$pb.TagNumber(1079) + $core.bool hasGetBalancesByAddressesRequest() => $_has(36); + @$pb.TagNumber(1079) + void clearGetBalancesByAddressesRequest() => clearField(1079); + @$pb.TagNumber(1079) + $1.GetBalancesByAddressesRequestMessage ensureGetBalancesByAddressesRequest() => $_ensure(36); - @$pb.TagNumber(50) - $core.bool hasReady() => $_has(36); - @$pb.TagNumber(50) - void clearReady() => clearField(50); - @$pb.TagNumber(50) - $1.ReadyMessage ensureReady() => $_ensure(36); - - @$pb.TagNumber(51) - $1.BlockWithTrustedDataV4Message get blockWithTrustedDataV4 => $_getN(37); - @$pb.TagNumber(51) - set blockWithTrustedDataV4($1.BlockWithTrustedDataV4Message v) { - setField(51, v); - } + @$pb.TagNumber(1081) + $1.NotifyNewBlockTemplateRequestMessage get notifyNewBlockTemplateRequest => $_getN(37); + @$pb.TagNumber(1081) + set notifyNewBlockTemplateRequest($1.NotifyNewBlockTemplateRequestMessage v) { setField(1081, v); } + @$pb.TagNumber(1081) + $core.bool hasNotifyNewBlockTemplateRequest() => $_has(37); + @$pb.TagNumber(1081) + void clearNotifyNewBlockTemplateRequest() => clearField(1081); + @$pb.TagNumber(1081) + $1.NotifyNewBlockTemplateRequestMessage ensureNotifyNewBlockTemplateRequest() => $_ensure(37); - @$pb.TagNumber(51) - $core.bool hasBlockWithTrustedDataV4() => $_has(37); - @$pb.TagNumber(51) - void clearBlockWithTrustedDataV4() => clearField(51); - @$pb.TagNumber(51) - $1.BlockWithTrustedDataV4Message ensureBlockWithTrustedDataV4() => - $_ensure(37); - - @$pb.TagNumber(52) - $1.TrustedDataMessage get trustedData => $_getN(38); - @$pb.TagNumber(52) - set trustedData($1.TrustedDataMessage v) { - setField(52, v); - } + /// NewBlockTemplateNotificationMessage newBlockTemplateNotification = 1083; + @$pb.TagNumber(1084) + $1.GetMempoolEntriesByAddressesRequestMessage get getMempoolEntriesByAddressesRequest => $_getN(38); + @$pb.TagNumber(1084) + set getMempoolEntriesByAddressesRequest($1.GetMempoolEntriesByAddressesRequestMessage v) { setField(1084, v); } + @$pb.TagNumber(1084) + $core.bool hasGetMempoolEntriesByAddressesRequest() => $_has(38); + @$pb.TagNumber(1084) + void clearGetMempoolEntriesByAddressesRequest() => clearField(1084); + @$pb.TagNumber(1084) + $1.GetMempoolEntriesByAddressesRequestMessage ensureGetMempoolEntriesByAddressesRequest() => $_ensure(38); - @$pb.TagNumber(52) - $core.bool hasTrustedData() => $_has(38); - @$pb.TagNumber(52) - void clearTrustedData() => clearField(52); - @$pb.TagNumber(52) - $1.TrustedDataMessage ensureTrustedData() => $_ensure(38); - - @$pb.TagNumber(53) - $1.RequestIBDChainBlockLocatorMessage get requestIBDChainBlockLocator => - $_getN(39); - @$pb.TagNumber(53) - set requestIBDChainBlockLocator($1.RequestIBDChainBlockLocatorMessage v) { - setField(53, v); - } + @$pb.TagNumber(1086) + $1.GetCoinSupplyRequestMessage get getCoinSupplyRequest => $_getN(39); + @$pb.TagNumber(1086) + set getCoinSupplyRequest($1.GetCoinSupplyRequestMessage v) { setField(1086, v); } + @$pb.TagNumber(1086) + $core.bool hasGetCoinSupplyRequest() => $_has(39); + @$pb.TagNumber(1086) + void clearGetCoinSupplyRequest() => clearField(1086); + @$pb.TagNumber(1086) + $1.GetCoinSupplyRequestMessage ensureGetCoinSupplyRequest() => $_ensure(39); + + @$pb.TagNumber(1088) + $1.PingRequestMessage get pingRequest => $_getN(40); + @$pb.TagNumber(1088) + set pingRequest($1.PingRequestMessage v) { setField(1088, v); } + @$pb.TagNumber(1088) + $core.bool hasPingRequest() => $_has(40); + @$pb.TagNumber(1088) + void clearPingRequest() => clearField(1088); + @$pb.TagNumber(1088) + $1.PingRequestMessage ensurePingRequest() => $_ensure(40); + + @$pb.TagNumber(1090) + $1.GetMetricsRequestMessage get getMetricsRequest => $_getN(41); + @$pb.TagNumber(1090) + set getMetricsRequest($1.GetMetricsRequestMessage v) { setField(1090, v); } + @$pb.TagNumber(1090) + $core.bool hasGetMetricsRequest() => $_has(41); + @$pb.TagNumber(1090) + void clearGetMetricsRequest() => clearField(1090); + @$pb.TagNumber(1090) + $1.GetMetricsRequestMessage ensureGetMetricsRequest() => $_ensure(41); + + @$pb.TagNumber(1092) + $1.GetServerInfoRequestMessage get getServerInfoRequest => $_getN(42); + @$pb.TagNumber(1092) + set getServerInfoRequest($1.GetServerInfoRequestMessage v) { setField(1092, v); } + @$pb.TagNumber(1092) + $core.bool hasGetServerInfoRequest() => $_has(42); + @$pb.TagNumber(1092) + void clearGetServerInfoRequest() => clearField(1092); + @$pb.TagNumber(1092) + $1.GetServerInfoRequestMessage ensureGetServerInfoRequest() => $_ensure(42); + + @$pb.TagNumber(1094) + $1.GetSyncStatusRequestMessage get getSyncStatusRequest => $_getN(43); + @$pb.TagNumber(1094) + set getSyncStatusRequest($1.GetSyncStatusRequestMessage v) { setField(1094, v); } + @$pb.TagNumber(1094) + $core.bool hasGetSyncStatusRequest() => $_has(43); + @$pb.TagNumber(1094) + void clearGetSyncStatusRequest() => clearField(1094); + @$pb.TagNumber(1094) + $1.GetSyncStatusRequestMessage ensureGetSyncStatusRequest() => $_ensure(43); + + @$pb.TagNumber(1096) + $1.GetDaaScoreTimestampEstimateRequestMessage get getDaaScoreTimestampEstimateRequest => $_getN(44); + @$pb.TagNumber(1096) + set getDaaScoreTimestampEstimateRequest($1.GetDaaScoreTimestampEstimateRequestMessage v) { setField(1096, v); } + @$pb.TagNumber(1096) + $core.bool hasGetDaaScoreTimestampEstimateRequest() => $_has(44); + @$pb.TagNumber(1096) + void clearGetDaaScoreTimestampEstimateRequest() => clearField(1096); + @$pb.TagNumber(1096) + $1.GetDaaScoreTimestampEstimateRequestMessage ensureGetDaaScoreTimestampEstimateRequest() => $_ensure(44); + + @$pb.TagNumber(1100) + $1.SubmitTransactionReplacementRequestMessage get submitTransactionReplacementRequest => $_getN(45); + @$pb.TagNumber(1100) + set submitTransactionReplacementRequest($1.SubmitTransactionReplacementRequestMessage v) { setField(1100, v); } + @$pb.TagNumber(1100) + $core.bool hasSubmitTransactionReplacementRequest() => $_has(45); + @$pb.TagNumber(1100) + void clearSubmitTransactionReplacementRequest() => clearField(1100); + @$pb.TagNumber(1100) + $1.SubmitTransactionReplacementRequestMessage ensureSubmitTransactionReplacementRequest() => $_ensure(45); + + @$pb.TagNumber(1102) + $1.GetConnectionsRequestMessage get getConnectionsRequest => $_getN(46); + @$pb.TagNumber(1102) + set getConnectionsRequest($1.GetConnectionsRequestMessage v) { setField(1102, v); } + @$pb.TagNumber(1102) + $core.bool hasGetConnectionsRequest() => $_has(46); + @$pb.TagNumber(1102) + void clearGetConnectionsRequest() => clearField(1102); + @$pb.TagNumber(1102) + $1.GetConnectionsRequestMessage ensureGetConnectionsRequest() => $_ensure(46); + + @$pb.TagNumber(1104) + $1.GetSystemInfoRequestMessage get getSystemInfoRequest => $_getN(47); + @$pb.TagNumber(1104) + set getSystemInfoRequest($1.GetSystemInfoRequestMessage v) { setField(1104, v); } + @$pb.TagNumber(1104) + $core.bool hasGetSystemInfoRequest() => $_has(47); + @$pb.TagNumber(1104) + void clearGetSystemInfoRequest() => clearField(1104); + @$pb.TagNumber(1104) + $1.GetSystemInfoRequestMessage ensureGetSystemInfoRequest() => $_ensure(47); + + @$pb.TagNumber(1106) + $1.GetFeeEstimateRequestMessage get getFeeEstimateRequest => $_getN(48); + @$pb.TagNumber(1106) + set getFeeEstimateRequest($1.GetFeeEstimateRequestMessage v) { setField(1106, v); } + @$pb.TagNumber(1106) + $core.bool hasGetFeeEstimateRequest() => $_has(48); + @$pb.TagNumber(1106) + void clearGetFeeEstimateRequest() => clearField(1106); + @$pb.TagNumber(1106) + $1.GetFeeEstimateRequestMessage ensureGetFeeEstimateRequest() => $_ensure(48); + + @$pb.TagNumber(1108) + $1.GetFeeEstimateExperimentalRequestMessage get getFeeEstimateExperimentalRequest => $_getN(49); + @$pb.TagNumber(1108) + set getFeeEstimateExperimentalRequest($1.GetFeeEstimateExperimentalRequestMessage v) { setField(1108, v); } + @$pb.TagNumber(1108) + $core.bool hasGetFeeEstimateExperimentalRequest() => $_has(49); + @$pb.TagNumber(1108) + void clearGetFeeEstimateExperimentalRequest() => clearField(1108); + @$pb.TagNumber(1108) + $1.GetFeeEstimateExperimentalRequestMessage ensureGetFeeEstimateExperimentalRequest() => $_ensure(49); + + @$pb.TagNumber(1110) + $1.GetCurrentBlockColorRequestMessage get getCurrentBlockColorRequest => $_getN(50); + @$pb.TagNumber(1110) + set getCurrentBlockColorRequest($1.GetCurrentBlockColorRequestMessage v) { setField(1110, v); } + @$pb.TagNumber(1110) + $core.bool hasGetCurrentBlockColorRequest() => $_has(50); + @$pb.TagNumber(1110) + void clearGetCurrentBlockColorRequest() => clearField(1110); + @$pb.TagNumber(1110) + $1.GetCurrentBlockColorRequestMessage ensureGetCurrentBlockColorRequest() => $_ensure(50); +} - @$pb.TagNumber(53) - $core.bool hasRequestIBDChainBlockLocator() => $_has(39); - @$pb.TagNumber(53) - void clearRequestIBDChainBlockLocator() => clearField(53); - @$pb.TagNumber(53) - $1.RequestIBDChainBlockLocatorMessage ensureRequestIBDChainBlockLocator() => - $_ensure(39); - - @$pb.TagNumber(54) - $1.IbdChainBlockLocatorMessage get ibdChainBlockLocator => $_getN(40); - @$pb.TagNumber(54) - set ibdChainBlockLocator($1.IbdChainBlockLocatorMessage v) { - setField(54, v); - } +enum KarlsendResponse_Payload { + getCurrentNetworkResponse, + submitBlockResponse, + getBlockTemplateResponse, + notifyBlockAddedResponse, + blockAddedNotification, + getPeerAddressesResponse, + getSinkResponse, + getMempoolEntryResponse, + getConnectedPeerInfoResponse, + addPeerResponse, + submitTransactionResponse, + notifyVirtualChainChangedResponse, + virtualChainChangedNotification, + getBlockResponse, + getSubnetworkResponse, + getVirtualChainFromBlockResponse, + getBlocksResponse, + getBlockCountResponse, + getBlockDagInfoResponse, + resolveFinalityConflictResponse, + notifyFinalityConflictResponse, + finalityConflictNotification, + finalityConflictResolvedNotification, + getMempoolEntriesResponse, + shutdownResponse, + getHeadersResponse, + notifyUtxosChangedResponse, + utxosChangedNotification, + getUtxosByAddressesResponse, + getSinkBlueScoreResponse, + notifySinkBlueScoreChangedResponse, + sinkBlueScoreChangedNotification, + banResponse, + unbanResponse, + getInfoResponse, + stopNotifyingUtxosChangedResponse, + notifyPruningPointUtxoSetOverrideResponse, + pruningPointUtxoSetOverrideNotification, + stopNotifyingPruningPointUtxoSetOverrideResponse, + estimateNetworkHashesPerSecondResponse, + notifyVirtualDaaScoreChangedResponse, + virtualDaaScoreChangedNotification, + getBalanceByAddressResponse, + getBalancesByAddressesResponse, + notifyNewBlockTemplateResponse, + newBlockTemplateNotification, + getMempoolEntriesByAddressesResponse, + getCoinSupplyResponse, + pingResponse, + getMetricsResponse, + getServerInfoResponse, + getSyncStatusResponse, + getDaaScoreTimestampEstimateResponse, + submitTransactionReplacementResponse, + getConnectionsResponse, + getSystemInfoResponse, + getFeeEstimateResponse, + getFeeEstimateExperimentalResponse, + getCurrentBlockColorResponse, + notSet +} - @$pb.TagNumber(54) - $core.bool hasIbdChainBlockLocator() => $_has(40); - @$pb.TagNumber(54) - void clearIbdChainBlockLocator() => clearField(54); - @$pb.TagNumber(54) - $1.IbdChainBlockLocatorMessage ensureIbdChainBlockLocator() => $_ensure(40); - - @$pb.TagNumber(55) - $1.RequestAnticoneMessage get requestAnticone => $_getN(41); - @$pb.TagNumber(55) - set requestAnticone($1.RequestAnticoneMessage v) { - setField(55, v); - } +class KarlsendResponse extends $pb.GeneratedMessage { + factory KarlsendResponse({ + $fixnum.Int64? id, + $1.GetCurrentNetworkResponseMessage? getCurrentNetworkResponse, + $1.SubmitBlockResponseMessage? submitBlockResponse, + $1.GetBlockTemplateResponseMessage? getBlockTemplateResponse, + $1.NotifyBlockAddedResponseMessage? notifyBlockAddedResponse, + $1.BlockAddedNotificationMessage? blockAddedNotification, + $1.GetPeerAddressesResponseMessage? getPeerAddressesResponse, + $1.GetSinkResponseMessage? getSinkResponse, + $1.GetMempoolEntryResponseMessage? getMempoolEntryResponse, + $1.GetConnectedPeerInfoResponseMessage? getConnectedPeerInfoResponse, + $1.AddPeerResponseMessage? addPeerResponse, + $1.SubmitTransactionResponseMessage? submitTransactionResponse, + $1.NotifyVirtualChainChangedResponseMessage? notifyVirtualChainChangedResponse, + $1.VirtualChainChangedNotificationMessage? virtualChainChangedNotification, + $1.GetBlockResponseMessage? getBlockResponse, + $1.GetSubnetworkResponseMessage? getSubnetworkResponse, + $1.GetVirtualChainFromBlockResponseMessage? getVirtualChainFromBlockResponse, + $1.GetBlocksResponseMessage? getBlocksResponse, + $1.GetBlockCountResponseMessage? getBlockCountResponse, + $1.GetBlockDagInfoResponseMessage? getBlockDagInfoResponse, + $1.ResolveFinalityConflictResponseMessage? resolveFinalityConflictResponse, + $1.NotifyFinalityConflictResponseMessage? notifyFinalityConflictResponse, + $1.FinalityConflictNotificationMessage? finalityConflictNotification, + $1.FinalityConflictResolvedNotificationMessage? finalityConflictResolvedNotification, + $1.GetMempoolEntriesResponseMessage? getMempoolEntriesResponse, + $1.ShutdownResponseMessage? shutdownResponse, + $1.GetHeadersResponseMessage? getHeadersResponse, + $1.NotifyUtxosChangedResponseMessage? notifyUtxosChangedResponse, + $1.UtxosChangedNotificationMessage? utxosChangedNotification, + $1.GetUtxosByAddressesResponseMessage? getUtxosByAddressesResponse, + $1.GetSinkBlueScoreResponseMessage? getSinkBlueScoreResponse, + $1.NotifySinkBlueScoreChangedResponseMessage? notifySinkBlueScoreChangedResponse, + $1.SinkBlueScoreChangedNotificationMessage? sinkBlueScoreChangedNotification, + $1.BanResponseMessage? banResponse, + $1.UnbanResponseMessage? unbanResponse, + $1.GetInfoResponseMessage? getInfoResponse, + $1.StopNotifyingUtxosChangedResponseMessage? stopNotifyingUtxosChangedResponse, + $1.NotifyPruningPointUtxoSetOverrideResponseMessage? notifyPruningPointUtxoSetOverrideResponse, + $1.PruningPointUtxoSetOverrideNotificationMessage? pruningPointUtxoSetOverrideNotification, + $1.StopNotifyingPruningPointUtxoSetOverrideResponseMessage? stopNotifyingPruningPointUtxoSetOverrideResponse, + $1.EstimateNetworkHashesPerSecondResponseMessage? estimateNetworkHashesPerSecondResponse, + $1.NotifyVirtualDaaScoreChangedResponseMessage? notifyVirtualDaaScoreChangedResponse, + $1.VirtualDaaScoreChangedNotificationMessage? virtualDaaScoreChangedNotification, + $1.GetBalanceByAddressResponseMessage? getBalanceByAddressResponse, + $1.GetBalancesByAddressesResponseMessage? getBalancesByAddressesResponse, + $1.NotifyNewBlockTemplateResponseMessage? notifyNewBlockTemplateResponse, + $1.NewBlockTemplateNotificationMessage? newBlockTemplateNotification, + $1.GetMempoolEntriesByAddressesResponseMessage? getMempoolEntriesByAddressesResponse, + $1.GetCoinSupplyResponseMessage? getCoinSupplyResponse, + $1.PingResponseMessage? pingResponse, + $1.GetMetricsResponseMessage? getMetricsResponse, + $1.GetServerInfoResponseMessage? getServerInfoResponse, + $1.GetSyncStatusResponseMessage? getSyncStatusResponse, + $1.GetDaaScoreTimestampEstimateResponseMessage? getDaaScoreTimestampEstimateResponse, + $1.SubmitTransactionReplacementResponseMessage? submitTransactionReplacementResponse, + $1.GetConnectionsResponseMessage? getConnectionsResponse, + $1.GetSystemInfoResponseMessage? getSystemInfoResponse, + $1.GetFeeEstimateResponseMessage? getFeeEstimateResponse, + $1.GetFeeEstimateExperimentalResponseMessage? getFeeEstimateExperimentalResponse, + $1.GetCurrentBlockColorResponseMessage? getCurrentBlockColorResponse, + }) { + final $result = create(); + if (id != null) { + $result.id = id; + } + if (getCurrentNetworkResponse != null) { + $result.getCurrentNetworkResponse = getCurrentNetworkResponse; + } + if (submitBlockResponse != null) { + $result.submitBlockResponse = submitBlockResponse; + } + if (getBlockTemplateResponse != null) { + $result.getBlockTemplateResponse = getBlockTemplateResponse; + } + if (notifyBlockAddedResponse != null) { + $result.notifyBlockAddedResponse = notifyBlockAddedResponse; + } + if (blockAddedNotification != null) { + $result.blockAddedNotification = blockAddedNotification; + } + if (getPeerAddressesResponse != null) { + $result.getPeerAddressesResponse = getPeerAddressesResponse; + } + if (getSinkResponse != null) { + $result.getSinkResponse = getSinkResponse; + } + if (getMempoolEntryResponse != null) { + $result.getMempoolEntryResponse = getMempoolEntryResponse; + } + if (getConnectedPeerInfoResponse != null) { + $result.getConnectedPeerInfoResponse = getConnectedPeerInfoResponse; + } + if (addPeerResponse != null) { + $result.addPeerResponse = addPeerResponse; + } + if (submitTransactionResponse != null) { + $result.submitTransactionResponse = submitTransactionResponse; + } + if (notifyVirtualChainChangedResponse != null) { + $result.notifyVirtualChainChangedResponse = notifyVirtualChainChangedResponse; + } + if (virtualChainChangedNotification != null) { + $result.virtualChainChangedNotification = virtualChainChangedNotification; + } + if (getBlockResponse != null) { + $result.getBlockResponse = getBlockResponse; + } + if (getSubnetworkResponse != null) { + $result.getSubnetworkResponse = getSubnetworkResponse; + } + if (getVirtualChainFromBlockResponse != null) { + $result.getVirtualChainFromBlockResponse = getVirtualChainFromBlockResponse; + } + if (getBlocksResponse != null) { + $result.getBlocksResponse = getBlocksResponse; + } + if (getBlockCountResponse != null) { + $result.getBlockCountResponse = getBlockCountResponse; + } + if (getBlockDagInfoResponse != null) { + $result.getBlockDagInfoResponse = getBlockDagInfoResponse; + } + if (resolveFinalityConflictResponse != null) { + $result.resolveFinalityConflictResponse = resolveFinalityConflictResponse; + } + if (notifyFinalityConflictResponse != null) { + $result.notifyFinalityConflictResponse = notifyFinalityConflictResponse; + } + if (finalityConflictNotification != null) { + $result.finalityConflictNotification = finalityConflictNotification; + } + if (finalityConflictResolvedNotification != null) { + $result.finalityConflictResolvedNotification = finalityConflictResolvedNotification; + } + if (getMempoolEntriesResponse != null) { + $result.getMempoolEntriesResponse = getMempoolEntriesResponse; + } + if (shutdownResponse != null) { + $result.shutdownResponse = shutdownResponse; + } + if (getHeadersResponse != null) { + $result.getHeadersResponse = getHeadersResponse; + } + if (notifyUtxosChangedResponse != null) { + $result.notifyUtxosChangedResponse = notifyUtxosChangedResponse; + } + if (utxosChangedNotification != null) { + $result.utxosChangedNotification = utxosChangedNotification; + } + if (getUtxosByAddressesResponse != null) { + $result.getUtxosByAddressesResponse = getUtxosByAddressesResponse; + } + if (getSinkBlueScoreResponse != null) { + $result.getSinkBlueScoreResponse = getSinkBlueScoreResponse; + } + if (notifySinkBlueScoreChangedResponse != null) { + $result.notifySinkBlueScoreChangedResponse = notifySinkBlueScoreChangedResponse; + } + if (sinkBlueScoreChangedNotification != null) { + $result.sinkBlueScoreChangedNotification = sinkBlueScoreChangedNotification; + } + if (banResponse != null) { + $result.banResponse = banResponse; + } + if (unbanResponse != null) { + $result.unbanResponse = unbanResponse; + } + if (getInfoResponse != null) { + $result.getInfoResponse = getInfoResponse; + } + if (stopNotifyingUtxosChangedResponse != null) { + $result.stopNotifyingUtxosChangedResponse = stopNotifyingUtxosChangedResponse; + } + if (notifyPruningPointUtxoSetOverrideResponse != null) { + $result.notifyPruningPointUtxoSetOverrideResponse = notifyPruningPointUtxoSetOverrideResponse; + } + if (pruningPointUtxoSetOverrideNotification != null) { + $result.pruningPointUtxoSetOverrideNotification = pruningPointUtxoSetOverrideNotification; + } + if (stopNotifyingPruningPointUtxoSetOverrideResponse != null) { + $result.stopNotifyingPruningPointUtxoSetOverrideResponse = stopNotifyingPruningPointUtxoSetOverrideResponse; + } + if (estimateNetworkHashesPerSecondResponse != null) { + $result.estimateNetworkHashesPerSecondResponse = estimateNetworkHashesPerSecondResponse; + } + if (notifyVirtualDaaScoreChangedResponse != null) { + $result.notifyVirtualDaaScoreChangedResponse = notifyVirtualDaaScoreChangedResponse; + } + if (virtualDaaScoreChangedNotification != null) { + $result.virtualDaaScoreChangedNotification = virtualDaaScoreChangedNotification; + } + if (getBalanceByAddressResponse != null) { + $result.getBalanceByAddressResponse = getBalanceByAddressResponse; + } + if (getBalancesByAddressesResponse != null) { + $result.getBalancesByAddressesResponse = getBalancesByAddressesResponse; + } + if (notifyNewBlockTemplateResponse != null) { + $result.notifyNewBlockTemplateResponse = notifyNewBlockTemplateResponse; + } + if (newBlockTemplateNotification != null) { + $result.newBlockTemplateNotification = newBlockTemplateNotification; + } + if (getMempoolEntriesByAddressesResponse != null) { + $result.getMempoolEntriesByAddressesResponse = getMempoolEntriesByAddressesResponse; + } + if (getCoinSupplyResponse != null) { + $result.getCoinSupplyResponse = getCoinSupplyResponse; + } + if (pingResponse != null) { + $result.pingResponse = pingResponse; + } + if (getMetricsResponse != null) { + $result.getMetricsResponse = getMetricsResponse; + } + if (getServerInfoResponse != null) { + $result.getServerInfoResponse = getServerInfoResponse; + } + if (getSyncStatusResponse != null) { + $result.getSyncStatusResponse = getSyncStatusResponse; + } + if (getDaaScoreTimestampEstimateResponse != null) { + $result.getDaaScoreTimestampEstimateResponse = getDaaScoreTimestampEstimateResponse; + } + if (submitTransactionReplacementResponse != null) { + $result.submitTransactionReplacementResponse = submitTransactionReplacementResponse; + } + if (getConnectionsResponse != null) { + $result.getConnectionsResponse = getConnectionsResponse; + } + if (getSystemInfoResponse != null) { + $result.getSystemInfoResponse = getSystemInfoResponse; + } + if (getFeeEstimateResponse != null) { + $result.getFeeEstimateResponse = getFeeEstimateResponse; + } + if (getFeeEstimateExperimentalResponse != null) { + $result.getFeeEstimateExperimentalResponse = getFeeEstimateExperimentalResponse; + } + if (getCurrentBlockColorResponse != null) { + $result.getCurrentBlockColorResponse = getCurrentBlockColorResponse; + } + return $result; + } + KarlsendResponse._() : super(); + factory KarlsendResponse.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory KarlsendResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, KarlsendResponse_Payload> _KarlsendResponse_PayloadByTag = { + 1002 : KarlsendResponse_Payload.getCurrentNetworkResponse, + 1004 : KarlsendResponse_Payload.submitBlockResponse, + 1006 : KarlsendResponse_Payload.getBlockTemplateResponse, + 1008 : KarlsendResponse_Payload.notifyBlockAddedResponse, + 1009 : KarlsendResponse_Payload.blockAddedNotification, + 1011 : KarlsendResponse_Payload.getPeerAddressesResponse, + 1013 : KarlsendResponse_Payload.getSinkResponse, + 1015 : KarlsendResponse_Payload.getMempoolEntryResponse, + 1017 : KarlsendResponse_Payload.getConnectedPeerInfoResponse, + 1019 : KarlsendResponse_Payload.addPeerResponse, + 1021 : KarlsendResponse_Payload.submitTransactionResponse, + 1023 : KarlsendResponse_Payload.notifyVirtualChainChangedResponse, + 1024 : KarlsendResponse_Payload.virtualChainChangedNotification, + 1026 : KarlsendResponse_Payload.getBlockResponse, + 1028 : KarlsendResponse_Payload.getSubnetworkResponse, + 1030 : KarlsendResponse_Payload.getVirtualChainFromBlockResponse, + 1032 : KarlsendResponse_Payload.getBlocksResponse, + 1034 : KarlsendResponse_Payload.getBlockCountResponse, + 1036 : KarlsendResponse_Payload.getBlockDagInfoResponse, + 1038 : KarlsendResponse_Payload.resolveFinalityConflictResponse, + 1040 : KarlsendResponse_Payload.notifyFinalityConflictResponse, + 1041 : KarlsendResponse_Payload.finalityConflictNotification, + 1042 : KarlsendResponse_Payload.finalityConflictResolvedNotification, + 1044 : KarlsendResponse_Payload.getMempoolEntriesResponse, + 1046 : KarlsendResponse_Payload.shutdownResponse, + 1048 : KarlsendResponse_Payload.getHeadersResponse, + 1050 : KarlsendResponse_Payload.notifyUtxosChangedResponse, + 1051 : KarlsendResponse_Payload.utxosChangedNotification, + 1053 : KarlsendResponse_Payload.getUtxosByAddressesResponse, + 1055 : KarlsendResponse_Payload.getSinkBlueScoreResponse, + 1057 : KarlsendResponse_Payload.notifySinkBlueScoreChangedResponse, + 1058 : KarlsendResponse_Payload.sinkBlueScoreChangedNotification, + 1060 : KarlsendResponse_Payload.banResponse, + 1062 : KarlsendResponse_Payload.unbanResponse, + 1064 : KarlsendResponse_Payload.getInfoResponse, + 1066 : KarlsendResponse_Payload.stopNotifyingUtxosChangedResponse, + 1068 : KarlsendResponse_Payload.notifyPruningPointUtxoSetOverrideResponse, + 1069 : KarlsendResponse_Payload.pruningPointUtxoSetOverrideNotification, + 1071 : KarlsendResponse_Payload.stopNotifyingPruningPointUtxoSetOverrideResponse, + 1073 : KarlsendResponse_Payload.estimateNetworkHashesPerSecondResponse, + 1075 : KarlsendResponse_Payload.notifyVirtualDaaScoreChangedResponse, + 1076 : KarlsendResponse_Payload.virtualDaaScoreChangedNotification, + 1078 : KarlsendResponse_Payload.getBalanceByAddressResponse, + 1080 : KarlsendResponse_Payload.getBalancesByAddressesResponse, + 1082 : KarlsendResponse_Payload.notifyNewBlockTemplateResponse, + 1083 : KarlsendResponse_Payload.newBlockTemplateNotification, + 1085 : KarlsendResponse_Payload.getMempoolEntriesByAddressesResponse, + 1087 : KarlsendResponse_Payload.getCoinSupplyResponse, + 1089 : KarlsendResponse_Payload.pingResponse, + 1091 : KarlsendResponse_Payload.getMetricsResponse, + 1093 : KarlsendResponse_Payload.getServerInfoResponse, + 1095 : KarlsendResponse_Payload.getSyncStatusResponse, + 1097 : KarlsendResponse_Payload.getDaaScoreTimestampEstimateResponse, + 1101 : KarlsendResponse_Payload.submitTransactionReplacementResponse, + 1103 : KarlsendResponse_Payload.getConnectionsResponse, + 1105 : KarlsendResponse_Payload.getSystemInfoResponse, + 1107 : KarlsendResponse_Payload.getFeeEstimateResponse, + 1109 : KarlsendResponse_Payload.getFeeEstimateExperimentalResponse, + 1111 : KarlsendResponse_Payload.getCurrentBlockColorResponse, + 0 : KarlsendResponse_Payload.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'KarlsendResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..oo(0, [1002, 1004, 1006, 1008, 1009, 1011, 1013, 1015, 1017, 1019, 1021, 1023, 1024, 1026, 1028, 1030, 1032, 1034, 1036, 1038, 1040, 1041, 1042, 1044, 1046, 1048, 1050, 1051, 1053, 1055, 1057, 1058, 1060, 1062, 1064, 1066, 1068, 1069, 1071, 1073, 1075, 1076, 1078, 1080, 1082, 1083, 1085, 1087, 1089, 1091, 1093, 1095, 1097, 1101, 1103, 1105, 1107, 1109, 1111]) + ..a<$fixnum.Int64>(101, _omitFieldNames ? '' : 'id', $pb.PbFieldType.OU6, defaultOrMaker: $fixnum.Int64.ZERO) + ..aOM<$1.GetCurrentNetworkResponseMessage>(1002, _omitFieldNames ? '' : 'getCurrentNetworkResponse', protoName: 'getCurrentNetworkResponse', subBuilder: $1.GetCurrentNetworkResponseMessage.create) + ..aOM<$1.SubmitBlockResponseMessage>(1004, _omitFieldNames ? '' : 'submitBlockResponse', protoName: 'submitBlockResponse', subBuilder: $1.SubmitBlockResponseMessage.create) + ..aOM<$1.GetBlockTemplateResponseMessage>(1006, _omitFieldNames ? '' : 'getBlockTemplateResponse', protoName: 'getBlockTemplateResponse', subBuilder: $1.GetBlockTemplateResponseMessage.create) + ..aOM<$1.NotifyBlockAddedResponseMessage>(1008, _omitFieldNames ? '' : 'notifyBlockAddedResponse', protoName: 'notifyBlockAddedResponse', subBuilder: $1.NotifyBlockAddedResponseMessage.create) + ..aOM<$1.BlockAddedNotificationMessage>(1009, _omitFieldNames ? '' : 'blockAddedNotification', protoName: 'blockAddedNotification', subBuilder: $1.BlockAddedNotificationMessage.create) + ..aOM<$1.GetPeerAddressesResponseMessage>(1011, _omitFieldNames ? '' : 'getPeerAddressesResponse', protoName: 'getPeerAddressesResponse', subBuilder: $1.GetPeerAddressesResponseMessage.create) + ..aOM<$1.GetSinkResponseMessage>(1013, _omitFieldNames ? '' : 'GetSinkResponse', protoName: 'GetSinkResponse', subBuilder: $1.GetSinkResponseMessage.create) + ..aOM<$1.GetMempoolEntryResponseMessage>(1015, _omitFieldNames ? '' : 'getMempoolEntryResponse', protoName: 'getMempoolEntryResponse', subBuilder: $1.GetMempoolEntryResponseMessage.create) + ..aOM<$1.GetConnectedPeerInfoResponseMessage>(1017, _omitFieldNames ? '' : 'getConnectedPeerInfoResponse', protoName: 'getConnectedPeerInfoResponse', subBuilder: $1.GetConnectedPeerInfoResponseMessage.create) + ..aOM<$1.AddPeerResponseMessage>(1019, _omitFieldNames ? '' : 'addPeerResponse', protoName: 'addPeerResponse', subBuilder: $1.AddPeerResponseMessage.create) + ..aOM<$1.SubmitTransactionResponseMessage>(1021, _omitFieldNames ? '' : 'submitTransactionResponse', protoName: 'submitTransactionResponse', subBuilder: $1.SubmitTransactionResponseMessage.create) + ..aOM<$1.NotifyVirtualChainChangedResponseMessage>(1023, _omitFieldNames ? '' : 'notifyVirtualChainChangedResponse', protoName: 'notifyVirtualChainChangedResponse', subBuilder: $1.NotifyVirtualChainChangedResponseMessage.create) + ..aOM<$1.VirtualChainChangedNotificationMessage>(1024, _omitFieldNames ? '' : 'virtualChainChangedNotification', protoName: 'virtualChainChangedNotification', subBuilder: $1.VirtualChainChangedNotificationMessage.create) + ..aOM<$1.GetBlockResponseMessage>(1026, _omitFieldNames ? '' : 'getBlockResponse', protoName: 'getBlockResponse', subBuilder: $1.GetBlockResponseMessage.create) + ..aOM<$1.GetSubnetworkResponseMessage>(1028, _omitFieldNames ? '' : 'getSubnetworkResponse', protoName: 'getSubnetworkResponse', subBuilder: $1.GetSubnetworkResponseMessage.create) + ..aOM<$1.GetVirtualChainFromBlockResponseMessage>(1030, _omitFieldNames ? '' : 'getVirtualChainFromBlockResponse', protoName: 'getVirtualChainFromBlockResponse', subBuilder: $1.GetVirtualChainFromBlockResponseMessage.create) + ..aOM<$1.GetBlocksResponseMessage>(1032, _omitFieldNames ? '' : 'getBlocksResponse', protoName: 'getBlocksResponse', subBuilder: $1.GetBlocksResponseMessage.create) + ..aOM<$1.GetBlockCountResponseMessage>(1034, _omitFieldNames ? '' : 'getBlockCountResponse', protoName: 'getBlockCountResponse', subBuilder: $1.GetBlockCountResponseMessage.create) + ..aOM<$1.GetBlockDagInfoResponseMessage>(1036, _omitFieldNames ? '' : 'getBlockDagInfoResponse', protoName: 'getBlockDagInfoResponse', subBuilder: $1.GetBlockDagInfoResponseMessage.create) + ..aOM<$1.ResolveFinalityConflictResponseMessage>(1038, _omitFieldNames ? '' : 'resolveFinalityConflictResponse', protoName: 'resolveFinalityConflictResponse', subBuilder: $1.ResolveFinalityConflictResponseMessage.create) + ..aOM<$1.NotifyFinalityConflictResponseMessage>(1040, _omitFieldNames ? '' : 'notifyFinalityConflictResponse', protoName: 'notifyFinalityConflictResponse', subBuilder: $1.NotifyFinalityConflictResponseMessage.create) + ..aOM<$1.FinalityConflictNotificationMessage>(1041, _omitFieldNames ? '' : 'finalityConflictNotification', protoName: 'finalityConflictNotification', subBuilder: $1.FinalityConflictNotificationMessage.create) + ..aOM<$1.FinalityConflictResolvedNotificationMessage>(1042, _omitFieldNames ? '' : 'finalityConflictResolvedNotification', protoName: 'finalityConflictResolvedNotification', subBuilder: $1.FinalityConflictResolvedNotificationMessage.create) + ..aOM<$1.GetMempoolEntriesResponseMessage>(1044, _omitFieldNames ? '' : 'getMempoolEntriesResponse', protoName: 'getMempoolEntriesResponse', subBuilder: $1.GetMempoolEntriesResponseMessage.create) + ..aOM<$1.ShutdownResponseMessage>(1046, _omitFieldNames ? '' : 'shutdownResponse', protoName: 'shutdownResponse', subBuilder: $1.ShutdownResponseMessage.create) + ..aOM<$1.GetHeadersResponseMessage>(1048, _omitFieldNames ? '' : 'getHeadersResponse', protoName: 'getHeadersResponse', subBuilder: $1.GetHeadersResponseMessage.create) + ..aOM<$1.NotifyUtxosChangedResponseMessage>(1050, _omitFieldNames ? '' : 'notifyUtxosChangedResponse', protoName: 'notifyUtxosChangedResponse', subBuilder: $1.NotifyUtxosChangedResponseMessage.create) + ..aOM<$1.UtxosChangedNotificationMessage>(1051, _omitFieldNames ? '' : 'utxosChangedNotification', protoName: 'utxosChangedNotification', subBuilder: $1.UtxosChangedNotificationMessage.create) + ..aOM<$1.GetUtxosByAddressesResponseMessage>(1053, _omitFieldNames ? '' : 'getUtxosByAddressesResponse', protoName: 'getUtxosByAddressesResponse', subBuilder: $1.GetUtxosByAddressesResponseMessage.create) + ..aOM<$1.GetSinkBlueScoreResponseMessage>(1055, _omitFieldNames ? '' : 'getSinkBlueScoreResponse', protoName: 'getSinkBlueScoreResponse', subBuilder: $1.GetSinkBlueScoreResponseMessage.create) + ..aOM<$1.NotifySinkBlueScoreChangedResponseMessage>(1057, _omitFieldNames ? '' : 'notifySinkBlueScoreChangedResponse', protoName: 'notifySinkBlueScoreChangedResponse', subBuilder: $1.NotifySinkBlueScoreChangedResponseMessage.create) + ..aOM<$1.SinkBlueScoreChangedNotificationMessage>(1058, _omitFieldNames ? '' : 'sinkBlueScoreChangedNotification', protoName: 'sinkBlueScoreChangedNotification', subBuilder: $1.SinkBlueScoreChangedNotificationMessage.create) + ..aOM<$1.BanResponseMessage>(1060, _omitFieldNames ? '' : 'banResponse', protoName: 'banResponse', subBuilder: $1.BanResponseMessage.create) + ..aOM<$1.UnbanResponseMessage>(1062, _omitFieldNames ? '' : 'unbanResponse', protoName: 'unbanResponse', subBuilder: $1.UnbanResponseMessage.create) + ..aOM<$1.GetInfoResponseMessage>(1064, _omitFieldNames ? '' : 'getInfoResponse', protoName: 'getInfoResponse', subBuilder: $1.GetInfoResponseMessage.create) + ..aOM<$1.StopNotifyingUtxosChangedResponseMessage>(1066, _omitFieldNames ? '' : 'stopNotifyingUtxosChangedResponse', protoName: 'stopNotifyingUtxosChangedResponse', subBuilder: $1.StopNotifyingUtxosChangedResponseMessage.create) + ..aOM<$1.NotifyPruningPointUtxoSetOverrideResponseMessage>(1068, _omitFieldNames ? '' : 'notifyPruningPointUtxoSetOverrideResponse', protoName: 'notifyPruningPointUtxoSetOverrideResponse', subBuilder: $1.NotifyPruningPointUtxoSetOverrideResponseMessage.create) + ..aOM<$1.PruningPointUtxoSetOverrideNotificationMessage>(1069, _omitFieldNames ? '' : 'pruningPointUtxoSetOverrideNotification', protoName: 'pruningPointUtxoSetOverrideNotification', subBuilder: $1.PruningPointUtxoSetOverrideNotificationMessage.create) + ..aOM<$1.StopNotifyingPruningPointUtxoSetOverrideResponseMessage>(1071, _omitFieldNames ? '' : 'stopNotifyingPruningPointUtxoSetOverrideResponse', protoName: 'stopNotifyingPruningPointUtxoSetOverrideResponse', subBuilder: $1.StopNotifyingPruningPointUtxoSetOverrideResponseMessage.create) + ..aOM<$1.EstimateNetworkHashesPerSecondResponseMessage>(1073, _omitFieldNames ? '' : 'estimateNetworkHashesPerSecondResponse', protoName: 'estimateNetworkHashesPerSecondResponse', subBuilder: $1.EstimateNetworkHashesPerSecondResponseMessage.create) + ..aOM<$1.NotifyVirtualDaaScoreChangedResponseMessage>(1075, _omitFieldNames ? '' : 'notifyVirtualDaaScoreChangedResponse', protoName: 'notifyVirtualDaaScoreChangedResponse', subBuilder: $1.NotifyVirtualDaaScoreChangedResponseMessage.create) + ..aOM<$1.VirtualDaaScoreChangedNotificationMessage>(1076, _omitFieldNames ? '' : 'virtualDaaScoreChangedNotification', protoName: 'virtualDaaScoreChangedNotification', subBuilder: $1.VirtualDaaScoreChangedNotificationMessage.create) + ..aOM<$1.GetBalanceByAddressResponseMessage>(1078, _omitFieldNames ? '' : 'getBalanceByAddressResponse', protoName: 'getBalanceByAddressResponse', subBuilder: $1.GetBalanceByAddressResponseMessage.create) + ..aOM<$1.GetBalancesByAddressesResponseMessage>(1080, _omitFieldNames ? '' : 'getBalancesByAddressesResponse', protoName: 'getBalancesByAddressesResponse', subBuilder: $1.GetBalancesByAddressesResponseMessage.create) + ..aOM<$1.NotifyNewBlockTemplateResponseMessage>(1082, _omitFieldNames ? '' : 'notifyNewBlockTemplateResponse', protoName: 'notifyNewBlockTemplateResponse', subBuilder: $1.NotifyNewBlockTemplateResponseMessage.create) + ..aOM<$1.NewBlockTemplateNotificationMessage>(1083, _omitFieldNames ? '' : 'newBlockTemplateNotification', protoName: 'newBlockTemplateNotification', subBuilder: $1.NewBlockTemplateNotificationMessage.create) + ..aOM<$1.GetMempoolEntriesByAddressesResponseMessage>(1085, _omitFieldNames ? '' : 'getMempoolEntriesByAddressesResponse', protoName: 'getMempoolEntriesByAddressesResponse', subBuilder: $1.GetMempoolEntriesByAddressesResponseMessage.create) + ..aOM<$1.GetCoinSupplyResponseMessage>(1087, _omitFieldNames ? '' : 'getCoinSupplyResponse', protoName: 'getCoinSupplyResponse', subBuilder: $1.GetCoinSupplyResponseMessage.create) + ..aOM<$1.PingResponseMessage>(1089, _omitFieldNames ? '' : 'pingResponse', protoName: 'pingResponse', subBuilder: $1.PingResponseMessage.create) + ..aOM<$1.GetMetricsResponseMessage>(1091, _omitFieldNames ? '' : 'getMetricsResponse', protoName: 'getMetricsResponse', subBuilder: $1.GetMetricsResponseMessage.create) + ..aOM<$1.GetServerInfoResponseMessage>(1093, _omitFieldNames ? '' : 'getServerInfoResponse', protoName: 'getServerInfoResponse', subBuilder: $1.GetServerInfoResponseMessage.create) + ..aOM<$1.GetSyncStatusResponseMessage>(1095, _omitFieldNames ? '' : 'getSyncStatusResponse', protoName: 'getSyncStatusResponse', subBuilder: $1.GetSyncStatusResponseMessage.create) + ..aOM<$1.GetDaaScoreTimestampEstimateResponseMessage>(1097, _omitFieldNames ? '' : 'getDaaScoreTimestampEstimateResponse', protoName: 'getDaaScoreTimestampEstimateResponse', subBuilder: $1.GetDaaScoreTimestampEstimateResponseMessage.create) + ..aOM<$1.SubmitTransactionReplacementResponseMessage>(1101, _omitFieldNames ? '' : 'submitTransactionReplacementResponse', protoName: 'submitTransactionReplacementResponse', subBuilder: $1.SubmitTransactionReplacementResponseMessage.create) + ..aOM<$1.GetConnectionsResponseMessage>(1103, _omitFieldNames ? '' : 'getConnectionsResponse', protoName: 'getConnectionsResponse', subBuilder: $1.GetConnectionsResponseMessage.create) + ..aOM<$1.GetSystemInfoResponseMessage>(1105, _omitFieldNames ? '' : 'getSystemInfoResponse', protoName: 'getSystemInfoResponse', subBuilder: $1.GetSystemInfoResponseMessage.create) + ..aOM<$1.GetFeeEstimateResponseMessage>(1107, _omitFieldNames ? '' : 'getFeeEstimateResponse', protoName: 'getFeeEstimateResponse', subBuilder: $1.GetFeeEstimateResponseMessage.create) + ..aOM<$1.GetFeeEstimateExperimentalResponseMessage>(1109, _omitFieldNames ? '' : 'getFeeEstimateExperimentalResponse', protoName: 'getFeeEstimateExperimentalResponse', subBuilder: $1.GetFeeEstimateExperimentalResponseMessage.create) + ..aOM<$1.GetCurrentBlockColorResponseMessage>(1111, _omitFieldNames ? '' : 'getCurrentBlockColorResponse', protoName: 'getCurrentBlockColorResponse', subBuilder: $1.GetCurrentBlockColorResponseMessage.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + KarlsendResponse clone() => KarlsendResponse()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + KarlsendResponse copyWith(void Function(KarlsendResponse) updates) => super.copyWith((message) => updates(message as KarlsendResponse)) as KarlsendResponse; - @$pb.TagNumber(55) - $core.bool hasRequestAnticone() => $_has(41); - @$pb.TagNumber(55) - void clearRequestAnticone() => clearField(55); - @$pb.TagNumber(55) - $1.RequestAnticoneMessage ensureRequestAnticone() => $_ensure(41); - - @$pb.TagNumber(56) - $1.RequestNextPruningPointAndItsAnticoneBlocksMessage - get requestNextPruningPointAndItsAnticoneBlocks => $_getN(42); - @$pb.TagNumber(56) - set requestNextPruningPointAndItsAnticoneBlocks( - $1.RequestNextPruningPointAndItsAnticoneBlocksMessage v) { - setField(56, v); - } + $pb.BuilderInfo get info_ => _i; - @$pb.TagNumber(56) - $core.bool hasRequestNextPruningPointAndItsAnticoneBlocks() => $_has(42); - @$pb.TagNumber(56) - void clearRequestNextPruningPointAndItsAnticoneBlocks() => clearField(56); - @$pb.TagNumber(56) - $1.RequestNextPruningPointAndItsAnticoneBlocksMessage - ensureRequestNextPruningPointAndItsAnticoneBlocks() => $_ensure(42); + @$core.pragma('dart2js:noInline') + static KarlsendResponse create() => KarlsendResponse._(); + KarlsendResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static KarlsendResponse getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static KarlsendResponse? _defaultInstance; - @$pb.TagNumber(1001) - $2.GetCurrentNetworkRequestMessage get getCurrentNetworkRequest => $_getN(43); - @$pb.TagNumber(1001) - set getCurrentNetworkRequest($2.GetCurrentNetworkRequestMessage v) { - setField(1001, v); - } + KarlsendResponse_Payload whichPayload() => _KarlsendResponse_PayloadByTag[$_whichOneof(0)]!; + void clearPayload() => clearField($_whichOneof(0)); - @$pb.TagNumber(1001) - $core.bool hasGetCurrentNetworkRequest() => $_has(43); - @$pb.TagNumber(1001) - void clearGetCurrentNetworkRequest() => clearField(1001); - @$pb.TagNumber(1001) - $2.GetCurrentNetworkRequestMessage ensureGetCurrentNetworkRequest() => - $_ensure(43); + @$pb.TagNumber(101) + $fixnum.Int64 get id => $_getI64(0); + @$pb.TagNumber(101) + set id($fixnum.Int64 v) { $_setInt64(0, v); } + @$pb.TagNumber(101) + $core.bool hasId() => $_has(0); + @$pb.TagNumber(101) + void clearId() => clearField(101); @$pb.TagNumber(1002) - $2.GetCurrentNetworkResponseMessage get getCurrentNetworkResponse => - $_getN(44); + $1.GetCurrentNetworkResponseMessage get getCurrentNetworkResponse => $_getN(1); @$pb.TagNumber(1002) - set getCurrentNetworkResponse($2.GetCurrentNetworkResponseMessage v) { - setField(1002, v); - } - + set getCurrentNetworkResponse($1.GetCurrentNetworkResponseMessage v) { setField(1002, v); } @$pb.TagNumber(1002) - $core.bool hasGetCurrentNetworkResponse() => $_has(44); + $core.bool hasGetCurrentNetworkResponse() => $_has(1); @$pb.TagNumber(1002) void clearGetCurrentNetworkResponse() => clearField(1002); @$pb.TagNumber(1002) - $2.GetCurrentNetworkResponseMessage ensureGetCurrentNetworkResponse() => - $_ensure(44); - - @$pb.TagNumber(1003) - $2.SubmitBlockRequestMessage get submitBlockRequest => $_getN(45); - @$pb.TagNumber(1003) - set submitBlockRequest($2.SubmitBlockRequestMessage v) { - setField(1003, v); - } - - @$pb.TagNumber(1003) - $core.bool hasSubmitBlockRequest() => $_has(45); - @$pb.TagNumber(1003) - void clearSubmitBlockRequest() => clearField(1003); - @$pb.TagNumber(1003) - $2.SubmitBlockRequestMessage ensureSubmitBlockRequest() => $_ensure(45); + $1.GetCurrentNetworkResponseMessage ensureGetCurrentNetworkResponse() => $_ensure(1); @$pb.TagNumber(1004) - $2.SubmitBlockResponseMessage get submitBlockResponse => $_getN(46); + $1.SubmitBlockResponseMessage get submitBlockResponse => $_getN(2); @$pb.TagNumber(1004) - set submitBlockResponse($2.SubmitBlockResponseMessage v) { - setField(1004, v); - } - + set submitBlockResponse($1.SubmitBlockResponseMessage v) { setField(1004, v); } @$pb.TagNumber(1004) - $core.bool hasSubmitBlockResponse() => $_has(46); + $core.bool hasSubmitBlockResponse() => $_has(2); @$pb.TagNumber(1004) void clearSubmitBlockResponse() => clearField(1004); @$pb.TagNumber(1004) - $2.SubmitBlockResponseMessage ensureSubmitBlockResponse() => $_ensure(46); - - @$pb.TagNumber(1005) - $2.GetBlockTemplateRequestMessage get getBlockTemplateRequest => $_getN(47); - @$pb.TagNumber(1005) - set getBlockTemplateRequest($2.GetBlockTemplateRequestMessage v) { - setField(1005, v); - } - - @$pb.TagNumber(1005) - $core.bool hasGetBlockTemplateRequest() => $_has(47); - @$pb.TagNumber(1005) - void clearGetBlockTemplateRequest() => clearField(1005); - @$pb.TagNumber(1005) - $2.GetBlockTemplateRequestMessage ensureGetBlockTemplateRequest() => - $_ensure(47); + $1.SubmitBlockResponseMessage ensureSubmitBlockResponse() => $_ensure(2); @$pb.TagNumber(1006) - $2.GetBlockTemplateResponseMessage get getBlockTemplateResponse => $_getN(48); + $1.GetBlockTemplateResponseMessage get getBlockTemplateResponse => $_getN(3); @$pb.TagNumber(1006) - set getBlockTemplateResponse($2.GetBlockTemplateResponseMessage v) { - setField(1006, v); - } - + set getBlockTemplateResponse($1.GetBlockTemplateResponseMessage v) { setField(1006, v); } @$pb.TagNumber(1006) - $core.bool hasGetBlockTemplateResponse() => $_has(48); + $core.bool hasGetBlockTemplateResponse() => $_has(3); @$pb.TagNumber(1006) void clearGetBlockTemplateResponse() => clearField(1006); @$pb.TagNumber(1006) - $2.GetBlockTemplateResponseMessage ensureGetBlockTemplateResponse() => - $_ensure(48); - - @$pb.TagNumber(1007) - $2.NotifyBlockAddedRequestMessage get notifyBlockAddedRequest => $_getN(49); - @$pb.TagNumber(1007) - set notifyBlockAddedRequest($2.NotifyBlockAddedRequestMessage v) { - setField(1007, v); - } - - @$pb.TagNumber(1007) - $core.bool hasNotifyBlockAddedRequest() => $_has(49); - @$pb.TagNumber(1007) - void clearNotifyBlockAddedRequest() => clearField(1007); - @$pb.TagNumber(1007) - $2.NotifyBlockAddedRequestMessage ensureNotifyBlockAddedRequest() => - $_ensure(49); + $1.GetBlockTemplateResponseMessage ensureGetBlockTemplateResponse() => $_ensure(3); @$pb.TagNumber(1008) - $2.NotifyBlockAddedResponseMessage get notifyBlockAddedResponse => $_getN(50); + $1.NotifyBlockAddedResponseMessage get notifyBlockAddedResponse => $_getN(4); @$pb.TagNumber(1008) - set notifyBlockAddedResponse($2.NotifyBlockAddedResponseMessage v) { - setField(1008, v); - } - + set notifyBlockAddedResponse($1.NotifyBlockAddedResponseMessage v) { setField(1008, v); } @$pb.TagNumber(1008) - $core.bool hasNotifyBlockAddedResponse() => $_has(50); + $core.bool hasNotifyBlockAddedResponse() => $_has(4); @$pb.TagNumber(1008) void clearNotifyBlockAddedResponse() => clearField(1008); @$pb.TagNumber(1008) - $2.NotifyBlockAddedResponseMessage ensureNotifyBlockAddedResponse() => - $_ensure(50); + $1.NotifyBlockAddedResponseMessage ensureNotifyBlockAddedResponse() => $_ensure(4); @$pb.TagNumber(1009) - $2.BlockAddedNotificationMessage get blockAddedNotification => $_getN(51); + $1.BlockAddedNotificationMessage get blockAddedNotification => $_getN(5); @$pb.TagNumber(1009) - set blockAddedNotification($2.BlockAddedNotificationMessage v) { - setField(1009, v); - } - + set blockAddedNotification($1.BlockAddedNotificationMessage v) { setField(1009, v); } @$pb.TagNumber(1009) - $core.bool hasBlockAddedNotification() => $_has(51); + $core.bool hasBlockAddedNotification() => $_has(5); @$pb.TagNumber(1009) void clearBlockAddedNotification() => clearField(1009); @$pb.TagNumber(1009) - $2.BlockAddedNotificationMessage ensureBlockAddedNotification() => - $_ensure(51); - - @$pb.TagNumber(1010) - $2.GetPeerAddressesRequestMessage get getPeerAddressesRequest => $_getN(52); - @$pb.TagNumber(1010) - set getPeerAddressesRequest($2.GetPeerAddressesRequestMessage v) { - setField(1010, v); - } - - @$pb.TagNumber(1010) - $core.bool hasGetPeerAddressesRequest() => $_has(52); - @$pb.TagNumber(1010) - void clearGetPeerAddressesRequest() => clearField(1010); - @$pb.TagNumber(1010) - $2.GetPeerAddressesRequestMessage ensureGetPeerAddressesRequest() => - $_ensure(52); + $1.BlockAddedNotificationMessage ensureBlockAddedNotification() => $_ensure(5); @$pb.TagNumber(1011) - $2.GetPeerAddressesResponseMessage get getPeerAddressesResponse => $_getN(53); + $1.GetPeerAddressesResponseMessage get getPeerAddressesResponse => $_getN(6); @$pb.TagNumber(1011) - set getPeerAddressesResponse($2.GetPeerAddressesResponseMessage v) { - setField(1011, v); - } - + set getPeerAddressesResponse($1.GetPeerAddressesResponseMessage v) { setField(1011, v); } @$pb.TagNumber(1011) - $core.bool hasGetPeerAddressesResponse() => $_has(53); + $core.bool hasGetPeerAddressesResponse() => $_has(6); @$pb.TagNumber(1011) void clearGetPeerAddressesResponse() => clearField(1011); @$pb.TagNumber(1011) - $2.GetPeerAddressesResponseMessage ensureGetPeerAddressesResponse() => - $_ensure(53); - - @$pb.TagNumber(1012) - $2.GetSelectedTipHashRequestMessage get getSelectedTipHashRequest => - $_getN(54); - @$pb.TagNumber(1012) - set getSelectedTipHashRequest($2.GetSelectedTipHashRequestMessage v) { - setField(1012, v); - } - - @$pb.TagNumber(1012) - $core.bool hasGetSelectedTipHashRequest() => $_has(54); - @$pb.TagNumber(1012) - void clearGetSelectedTipHashRequest() => clearField(1012); - @$pb.TagNumber(1012) - $2.GetSelectedTipHashRequestMessage ensureGetSelectedTipHashRequest() => - $_ensure(54); + $1.GetPeerAddressesResponseMessage ensureGetPeerAddressesResponse() => $_ensure(6); @$pb.TagNumber(1013) - $2.GetSelectedTipHashResponseMessage get getSelectedTipHashResponse => - $_getN(55); + $1.GetSinkResponseMessage get getSinkResponse => $_getN(7); @$pb.TagNumber(1013) - set getSelectedTipHashResponse($2.GetSelectedTipHashResponseMessage v) { - setField(1013, v); - } - + set getSinkResponse($1.GetSinkResponseMessage v) { setField(1013, v); } @$pb.TagNumber(1013) - $core.bool hasGetSelectedTipHashResponse() => $_has(55); + $core.bool hasGetSinkResponse() => $_has(7); @$pb.TagNumber(1013) - void clearGetSelectedTipHashResponse() => clearField(1013); + void clearGetSinkResponse() => clearField(1013); @$pb.TagNumber(1013) - $2.GetSelectedTipHashResponseMessage ensureGetSelectedTipHashResponse() => - $_ensure(55); - - @$pb.TagNumber(1014) - $2.GetMempoolEntryRequestMessage get getMempoolEntryRequest => $_getN(56); - @$pb.TagNumber(1014) - set getMempoolEntryRequest($2.GetMempoolEntryRequestMessage v) { - setField(1014, v); - } - - @$pb.TagNumber(1014) - $core.bool hasGetMempoolEntryRequest() => $_has(56); - @$pb.TagNumber(1014) - void clearGetMempoolEntryRequest() => clearField(1014); - @$pb.TagNumber(1014) - $2.GetMempoolEntryRequestMessage ensureGetMempoolEntryRequest() => - $_ensure(56); + $1.GetSinkResponseMessage ensureGetSinkResponse() => $_ensure(7); @$pb.TagNumber(1015) - $2.GetMempoolEntryResponseMessage get getMempoolEntryResponse => $_getN(57); + $1.GetMempoolEntryResponseMessage get getMempoolEntryResponse => $_getN(8); @$pb.TagNumber(1015) - set getMempoolEntryResponse($2.GetMempoolEntryResponseMessage v) { - setField(1015, v); - } - + set getMempoolEntryResponse($1.GetMempoolEntryResponseMessage v) { setField(1015, v); } @$pb.TagNumber(1015) - $core.bool hasGetMempoolEntryResponse() => $_has(57); + $core.bool hasGetMempoolEntryResponse() => $_has(8); @$pb.TagNumber(1015) void clearGetMempoolEntryResponse() => clearField(1015); @$pb.TagNumber(1015) - $2.GetMempoolEntryResponseMessage ensureGetMempoolEntryResponse() => - $_ensure(57); - - @$pb.TagNumber(1016) - $2.GetConnectedPeerInfoRequestMessage get getConnectedPeerInfoRequest => - $_getN(58); - @$pb.TagNumber(1016) - set getConnectedPeerInfoRequest($2.GetConnectedPeerInfoRequestMessage v) { - setField(1016, v); - } - - @$pb.TagNumber(1016) - $core.bool hasGetConnectedPeerInfoRequest() => $_has(58); - @$pb.TagNumber(1016) - void clearGetConnectedPeerInfoRequest() => clearField(1016); - @$pb.TagNumber(1016) - $2.GetConnectedPeerInfoRequestMessage ensureGetConnectedPeerInfoRequest() => - $_ensure(58); + $1.GetMempoolEntryResponseMessage ensureGetMempoolEntryResponse() => $_ensure(8); @$pb.TagNumber(1017) - $2.GetConnectedPeerInfoResponseMessage get getConnectedPeerInfoResponse => - $_getN(59); + $1.GetConnectedPeerInfoResponseMessage get getConnectedPeerInfoResponse => $_getN(9); @$pb.TagNumber(1017) - set getConnectedPeerInfoResponse($2.GetConnectedPeerInfoResponseMessage v) { - setField(1017, v); - } - + set getConnectedPeerInfoResponse($1.GetConnectedPeerInfoResponseMessage v) { setField(1017, v); } @$pb.TagNumber(1017) - $core.bool hasGetConnectedPeerInfoResponse() => $_has(59); + $core.bool hasGetConnectedPeerInfoResponse() => $_has(9); @$pb.TagNumber(1017) void clearGetConnectedPeerInfoResponse() => clearField(1017); @$pb.TagNumber(1017) - $2.GetConnectedPeerInfoResponseMessage ensureGetConnectedPeerInfoResponse() => - $_ensure(59); - - @$pb.TagNumber(1018) - $2.AddPeerRequestMessage get addPeerRequest => $_getN(60); - @$pb.TagNumber(1018) - set addPeerRequest($2.AddPeerRequestMessage v) { - setField(1018, v); - } - - @$pb.TagNumber(1018) - $core.bool hasAddPeerRequest() => $_has(60); - @$pb.TagNumber(1018) - void clearAddPeerRequest() => clearField(1018); - @$pb.TagNumber(1018) - $2.AddPeerRequestMessage ensureAddPeerRequest() => $_ensure(60); + $1.GetConnectedPeerInfoResponseMessage ensureGetConnectedPeerInfoResponse() => $_ensure(9); @$pb.TagNumber(1019) - $2.AddPeerResponseMessage get addPeerResponse => $_getN(61); + $1.AddPeerResponseMessage get addPeerResponse => $_getN(10); @$pb.TagNumber(1019) - set addPeerResponse($2.AddPeerResponseMessage v) { - setField(1019, v); - } - + set addPeerResponse($1.AddPeerResponseMessage v) { setField(1019, v); } @$pb.TagNumber(1019) - $core.bool hasAddPeerResponse() => $_has(61); + $core.bool hasAddPeerResponse() => $_has(10); @$pb.TagNumber(1019) void clearAddPeerResponse() => clearField(1019); @$pb.TagNumber(1019) - $2.AddPeerResponseMessage ensureAddPeerResponse() => $_ensure(61); - - @$pb.TagNumber(1020) - $2.SubmitTransactionRequestMessage get submitTransactionRequest => $_getN(62); - @$pb.TagNumber(1020) - set submitTransactionRequest($2.SubmitTransactionRequestMessage v) { - setField(1020, v); - } - - @$pb.TagNumber(1020) - $core.bool hasSubmitTransactionRequest() => $_has(62); - @$pb.TagNumber(1020) - void clearSubmitTransactionRequest() => clearField(1020); - @$pb.TagNumber(1020) - $2.SubmitTransactionRequestMessage ensureSubmitTransactionRequest() => - $_ensure(62); + $1.AddPeerResponseMessage ensureAddPeerResponse() => $_ensure(10); @$pb.TagNumber(1021) - $2.SubmitTransactionResponseMessage get submitTransactionResponse => - $_getN(63); + $1.SubmitTransactionResponseMessage get submitTransactionResponse => $_getN(11); @$pb.TagNumber(1021) - set submitTransactionResponse($2.SubmitTransactionResponseMessage v) { - setField(1021, v); - } - + set submitTransactionResponse($1.SubmitTransactionResponseMessage v) { setField(1021, v); } @$pb.TagNumber(1021) - $core.bool hasSubmitTransactionResponse() => $_has(63); + $core.bool hasSubmitTransactionResponse() => $_has(11); @$pb.TagNumber(1021) void clearSubmitTransactionResponse() => clearField(1021); @$pb.TagNumber(1021) - $2.SubmitTransactionResponseMessage ensureSubmitTransactionResponse() => - $_ensure(63); - - @$pb.TagNumber(1022) - $2.NotifyVirtualSelectedParentChainChangedRequestMessage - get notifyVirtualSelectedParentChainChangedRequest => $_getN(64); - @$pb.TagNumber(1022) - set notifyVirtualSelectedParentChainChangedRequest( - $2.NotifyVirtualSelectedParentChainChangedRequestMessage v) { - setField(1022, v); - } - - @$pb.TagNumber(1022) - $core.bool hasNotifyVirtualSelectedParentChainChangedRequest() => $_has(64); - @$pb.TagNumber(1022) - void clearNotifyVirtualSelectedParentChainChangedRequest() => - clearField(1022); - @$pb.TagNumber(1022) - $2.NotifyVirtualSelectedParentChainChangedRequestMessage - ensureNotifyVirtualSelectedParentChainChangedRequest() => $_ensure(64); + $1.SubmitTransactionResponseMessage ensureSubmitTransactionResponse() => $_ensure(11); @$pb.TagNumber(1023) - $2.NotifyVirtualSelectedParentChainChangedResponseMessage - get notifyVirtualSelectedParentChainChangedResponse => $_getN(65); + $1.NotifyVirtualChainChangedResponseMessage get notifyVirtualChainChangedResponse => $_getN(12); @$pb.TagNumber(1023) - set notifyVirtualSelectedParentChainChangedResponse( - $2.NotifyVirtualSelectedParentChainChangedResponseMessage v) { - setField(1023, v); - } - + set notifyVirtualChainChangedResponse($1.NotifyVirtualChainChangedResponseMessage v) { setField(1023, v); } @$pb.TagNumber(1023) - $core.bool hasNotifyVirtualSelectedParentChainChangedResponse() => $_has(65); + $core.bool hasNotifyVirtualChainChangedResponse() => $_has(12); @$pb.TagNumber(1023) - void clearNotifyVirtualSelectedParentChainChangedResponse() => - clearField(1023); + void clearNotifyVirtualChainChangedResponse() => clearField(1023); @$pb.TagNumber(1023) - $2.NotifyVirtualSelectedParentChainChangedResponseMessage - ensureNotifyVirtualSelectedParentChainChangedResponse() => $_ensure(65); + $1.NotifyVirtualChainChangedResponseMessage ensureNotifyVirtualChainChangedResponse() => $_ensure(12); @$pb.TagNumber(1024) - $2.VirtualSelectedParentChainChangedNotificationMessage - get virtualSelectedParentChainChangedNotification => $_getN(66); + $1.VirtualChainChangedNotificationMessage get virtualChainChangedNotification => $_getN(13); @$pb.TagNumber(1024) - set virtualSelectedParentChainChangedNotification( - $2.VirtualSelectedParentChainChangedNotificationMessage v) { - setField(1024, v); - } - + set virtualChainChangedNotification($1.VirtualChainChangedNotificationMessage v) { setField(1024, v); } @$pb.TagNumber(1024) - $core.bool hasVirtualSelectedParentChainChangedNotification() => $_has(66); + $core.bool hasVirtualChainChangedNotification() => $_has(13); @$pb.TagNumber(1024) - void clearVirtualSelectedParentChainChangedNotification() => clearField(1024); + void clearVirtualChainChangedNotification() => clearField(1024); @$pb.TagNumber(1024) - $2.VirtualSelectedParentChainChangedNotificationMessage - ensureVirtualSelectedParentChainChangedNotification() => $_ensure(66); - - @$pb.TagNumber(1025) - $2.GetBlockRequestMessage get getBlockRequest => $_getN(67); - @$pb.TagNumber(1025) - set getBlockRequest($2.GetBlockRequestMessage v) { - setField(1025, v); - } - - @$pb.TagNumber(1025) - $core.bool hasGetBlockRequest() => $_has(67); - @$pb.TagNumber(1025) - void clearGetBlockRequest() => clearField(1025); - @$pb.TagNumber(1025) - $2.GetBlockRequestMessage ensureGetBlockRequest() => $_ensure(67); + $1.VirtualChainChangedNotificationMessage ensureVirtualChainChangedNotification() => $_ensure(13); @$pb.TagNumber(1026) - $2.GetBlockResponseMessage get getBlockResponse => $_getN(68); + $1.GetBlockResponseMessage get getBlockResponse => $_getN(14); @$pb.TagNumber(1026) - set getBlockResponse($2.GetBlockResponseMessage v) { - setField(1026, v); - } - + set getBlockResponse($1.GetBlockResponseMessage v) { setField(1026, v); } @$pb.TagNumber(1026) - $core.bool hasGetBlockResponse() => $_has(68); + $core.bool hasGetBlockResponse() => $_has(14); @$pb.TagNumber(1026) void clearGetBlockResponse() => clearField(1026); @$pb.TagNumber(1026) - $2.GetBlockResponseMessage ensureGetBlockResponse() => $_ensure(68); - - @$pb.TagNumber(1027) - $2.GetSubnetworkRequestMessage get getSubnetworkRequest => $_getN(69); - @$pb.TagNumber(1027) - set getSubnetworkRequest($2.GetSubnetworkRequestMessage v) { - setField(1027, v); - } - - @$pb.TagNumber(1027) - $core.bool hasGetSubnetworkRequest() => $_has(69); - @$pb.TagNumber(1027) - void clearGetSubnetworkRequest() => clearField(1027); - @$pb.TagNumber(1027) - $2.GetSubnetworkRequestMessage ensureGetSubnetworkRequest() => $_ensure(69); + $1.GetBlockResponseMessage ensureGetBlockResponse() => $_ensure(14); @$pb.TagNumber(1028) - $2.GetSubnetworkResponseMessage get getSubnetworkResponse => $_getN(70); + $1.GetSubnetworkResponseMessage get getSubnetworkResponse => $_getN(15); @$pb.TagNumber(1028) - set getSubnetworkResponse($2.GetSubnetworkResponseMessage v) { - setField(1028, v); - } - + set getSubnetworkResponse($1.GetSubnetworkResponseMessage v) { setField(1028, v); } @$pb.TagNumber(1028) - $core.bool hasGetSubnetworkResponse() => $_has(70); + $core.bool hasGetSubnetworkResponse() => $_has(15); @$pb.TagNumber(1028) void clearGetSubnetworkResponse() => clearField(1028); @$pb.TagNumber(1028) - $2.GetSubnetworkResponseMessage ensureGetSubnetworkResponse() => $_ensure(70); - - @$pb.TagNumber(1029) - $2.GetVirtualSelectedParentChainFromBlockRequestMessage - get getVirtualSelectedParentChainFromBlockRequest => $_getN(71); - @$pb.TagNumber(1029) - set getVirtualSelectedParentChainFromBlockRequest( - $2.GetVirtualSelectedParentChainFromBlockRequestMessage v) { - setField(1029, v); - } - - @$pb.TagNumber(1029) - $core.bool hasGetVirtualSelectedParentChainFromBlockRequest() => $_has(71); - @$pb.TagNumber(1029) - void clearGetVirtualSelectedParentChainFromBlockRequest() => clearField(1029); - @$pb.TagNumber(1029) - $2.GetVirtualSelectedParentChainFromBlockRequestMessage - ensureGetVirtualSelectedParentChainFromBlockRequest() => $_ensure(71); + $1.GetSubnetworkResponseMessage ensureGetSubnetworkResponse() => $_ensure(15); @$pb.TagNumber(1030) - $2.GetVirtualSelectedParentChainFromBlockResponseMessage - get getVirtualSelectedParentChainFromBlockResponse => $_getN(72); + $1.GetVirtualChainFromBlockResponseMessage get getVirtualChainFromBlockResponse => $_getN(16); @$pb.TagNumber(1030) - set getVirtualSelectedParentChainFromBlockResponse( - $2.GetVirtualSelectedParentChainFromBlockResponseMessage v) { - setField(1030, v); - } - + set getVirtualChainFromBlockResponse($1.GetVirtualChainFromBlockResponseMessage v) { setField(1030, v); } @$pb.TagNumber(1030) - $core.bool hasGetVirtualSelectedParentChainFromBlockResponse() => $_has(72); + $core.bool hasGetVirtualChainFromBlockResponse() => $_has(16); @$pb.TagNumber(1030) - void clearGetVirtualSelectedParentChainFromBlockResponse() => - clearField(1030); + void clearGetVirtualChainFromBlockResponse() => clearField(1030); @$pb.TagNumber(1030) - $2.GetVirtualSelectedParentChainFromBlockResponseMessage - ensureGetVirtualSelectedParentChainFromBlockResponse() => $_ensure(72); - - @$pb.TagNumber(1031) - $2.GetBlocksRequestMessage get getBlocksRequest => $_getN(73); - @$pb.TagNumber(1031) - set getBlocksRequest($2.GetBlocksRequestMessage v) { - setField(1031, v); - } - - @$pb.TagNumber(1031) - $core.bool hasGetBlocksRequest() => $_has(73); - @$pb.TagNumber(1031) - void clearGetBlocksRequest() => clearField(1031); - @$pb.TagNumber(1031) - $2.GetBlocksRequestMessage ensureGetBlocksRequest() => $_ensure(73); + $1.GetVirtualChainFromBlockResponseMessage ensureGetVirtualChainFromBlockResponse() => $_ensure(16); @$pb.TagNumber(1032) - $2.GetBlocksResponseMessage get getBlocksResponse => $_getN(74); + $1.GetBlocksResponseMessage get getBlocksResponse => $_getN(17); @$pb.TagNumber(1032) - set getBlocksResponse($2.GetBlocksResponseMessage v) { - setField(1032, v); - } - + set getBlocksResponse($1.GetBlocksResponseMessage v) { setField(1032, v); } @$pb.TagNumber(1032) - $core.bool hasGetBlocksResponse() => $_has(74); + $core.bool hasGetBlocksResponse() => $_has(17); @$pb.TagNumber(1032) void clearGetBlocksResponse() => clearField(1032); @$pb.TagNumber(1032) - $2.GetBlocksResponseMessage ensureGetBlocksResponse() => $_ensure(74); - - @$pb.TagNumber(1033) - $2.GetBlockCountRequestMessage get getBlockCountRequest => $_getN(75); - @$pb.TagNumber(1033) - set getBlockCountRequest($2.GetBlockCountRequestMessage v) { - setField(1033, v); - } - - @$pb.TagNumber(1033) - $core.bool hasGetBlockCountRequest() => $_has(75); - @$pb.TagNumber(1033) - void clearGetBlockCountRequest() => clearField(1033); - @$pb.TagNumber(1033) - $2.GetBlockCountRequestMessage ensureGetBlockCountRequest() => $_ensure(75); + $1.GetBlocksResponseMessage ensureGetBlocksResponse() => $_ensure(17); @$pb.TagNumber(1034) - $2.GetBlockCountResponseMessage get getBlockCountResponse => $_getN(76); - @$pb.TagNumber(1034) - set getBlockCountResponse($2.GetBlockCountResponseMessage v) { - setField(1034, v); - } - + $1.GetBlockCountResponseMessage get getBlockCountResponse => $_getN(18); @$pb.TagNumber(1034) - $core.bool hasGetBlockCountResponse() => $_has(76); + set getBlockCountResponse($1.GetBlockCountResponseMessage v) { setField(1034, v); } @$pb.TagNumber(1034) - void clearGetBlockCountResponse() => clearField(1034); + $core.bool hasGetBlockCountResponse() => $_has(18); @$pb.TagNumber(1034) - $2.GetBlockCountResponseMessage ensureGetBlockCountResponse() => $_ensure(76); - - @$pb.TagNumber(1035) - $2.GetBlockDagInfoRequestMessage get getBlockDagInfoRequest => $_getN(77); - @$pb.TagNumber(1035) - set getBlockDagInfoRequest($2.GetBlockDagInfoRequestMessage v) { - setField(1035, v); - } - - @$pb.TagNumber(1035) - $core.bool hasGetBlockDagInfoRequest() => $_has(77); - @$pb.TagNumber(1035) - void clearGetBlockDagInfoRequest() => clearField(1035); - @$pb.TagNumber(1035) - $2.GetBlockDagInfoRequestMessage ensureGetBlockDagInfoRequest() => - $_ensure(77); + void clearGetBlockCountResponse() => clearField(1034); + @$pb.TagNumber(1034) + $1.GetBlockCountResponseMessage ensureGetBlockCountResponse() => $_ensure(18); @$pb.TagNumber(1036) - $2.GetBlockDagInfoResponseMessage get getBlockDagInfoResponse => $_getN(78); + $1.GetBlockDagInfoResponseMessage get getBlockDagInfoResponse => $_getN(19); @$pb.TagNumber(1036) - set getBlockDagInfoResponse($2.GetBlockDagInfoResponseMessage v) { - setField(1036, v); - } - + set getBlockDagInfoResponse($1.GetBlockDagInfoResponseMessage v) { setField(1036, v); } @$pb.TagNumber(1036) - $core.bool hasGetBlockDagInfoResponse() => $_has(78); + $core.bool hasGetBlockDagInfoResponse() => $_has(19); @$pb.TagNumber(1036) void clearGetBlockDagInfoResponse() => clearField(1036); @$pb.TagNumber(1036) - $2.GetBlockDagInfoResponseMessage ensureGetBlockDagInfoResponse() => - $_ensure(78); - - @$pb.TagNumber(1037) - $2.ResolveFinalityConflictRequestMessage get resolveFinalityConflictRequest => - $_getN(79); - @$pb.TagNumber(1037) - set resolveFinalityConflictRequest( - $2.ResolveFinalityConflictRequestMessage v) { - setField(1037, v); - } - - @$pb.TagNumber(1037) - $core.bool hasResolveFinalityConflictRequest() => $_has(79); - @$pb.TagNumber(1037) - void clearResolveFinalityConflictRequest() => clearField(1037); - @$pb.TagNumber(1037) - $2.ResolveFinalityConflictRequestMessage - ensureResolveFinalityConflictRequest() => $_ensure(79); + $1.GetBlockDagInfoResponseMessage ensureGetBlockDagInfoResponse() => $_ensure(19); @$pb.TagNumber(1038) - $2.ResolveFinalityConflictResponseMessage - get resolveFinalityConflictResponse => $_getN(80); + $1.ResolveFinalityConflictResponseMessage get resolveFinalityConflictResponse => $_getN(20); @$pb.TagNumber(1038) - set resolveFinalityConflictResponse( - $2.ResolveFinalityConflictResponseMessage v) { - setField(1038, v); - } - + set resolveFinalityConflictResponse($1.ResolveFinalityConflictResponseMessage v) { setField(1038, v); } @$pb.TagNumber(1038) - $core.bool hasResolveFinalityConflictResponse() => $_has(80); + $core.bool hasResolveFinalityConflictResponse() => $_has(20); @$pb.TagNumber(1038) void clearResolveFinalityConflictResponse() => clearField(1038); @$pb.TagNumber(1038) - $2.ResolveFinalityConflictResponseMessage - ensureResolveFinalityConflictResponse() => $_ensure(80); - - @$pb.TagNumber(1039) - $2.NotifyFinalityConflictsRequestMessage get notifyFinalityConflictsRequest => - $_getN(81); - @$pb.TagNumber(1039) - set notifyFinalityConflictsRequest( - $2.NotifyFinalityConflictsRequestMessage v) { - setField(1039, v); - } - - @$pb.TagNumber(1039) - $core.bool hasNotifyFinalityConflictsRequest() => $_has(81); - @$pb.TagNumber(1039) - void clearNotifyFinalityConflictsRequest() => clearField(1039); - @$pb.TagNumber(1039) - $2.NotifyFinalityConflictsRequestMessage - ensureNotifyFinalityConflictsRequest() => $_ensure(81); + $1.ResolveFinalityConflictResponseMessage ensureResolveFinalityConflictResponse() => $_ensure(20); @$pb.TagNumber(1040) - $2.NotifyFinalityConflictsResponseMessage - get notifyFinalityConflictsResponse => $_getN(82); + $1.NotifyFinalityConflictResponseMessage get notifyFinalityConflictResponse => $_getN(21); @$pb.TagNumber(1040) - set notifyFinalityConflictsResponse( - $2.NotifyFinalityConflictsResponseMessage v) { - setField(1040, v); - } - + set notifyFinalityConflictResponse($1.NotifyFinalityConflictResponseMessage v) { setField(1040, v); } @$pb.TagNumber(1040) - $core.bool hasNotifyFinalityConflictsResponse() => $_has(82); + $core.bool hasNotifyFinalityConflictResponse() => $_has(21); @$pb.TagNumber(1040) - void clearNotifyFinalityConflictsResponse() => clearField(1040); + void clearNotifyFinalityConflictResponse() => clearField(1040); @$pb.TagNumber(1040) - $2.NotifyFinalityConflictsResponseMessage - ensureNotifyFinalityConflictsResponse() => $_ensure(82); + $1.NotifyFinalityConflictResponseMessage ensureNotifyFinalityConflictResponse() => $_ensure(21); @$pb.TagNumber(1041) - $2.FinalityConflictNotificationMessage get finalityConflictNotification => - $_getN(83); + $1.FinalityConflictNotificationMessage get finalityConflictNotification => $_getN(22); @$pb.TagNumber(1041) - set finalityConflictNotification($2.FinalityConflictNotificationMessage v) { - setField(1041, v); - } - + set finalityConflictNotification($1.FinalityConflictNotificationMessage v) { setField(1041, v); } @$pb.TagNumber(1041) - $core.bool hasFinalityConflictNotification() => $_has(83); + $core.bool hasFinalityConflictNotification() => $_has(22); @$pb.TagNumber(1041) void clearFinalityConflictNotification() => clearField(1041); @$pb.TagNumber(1041) - $2.FinalityConflictNotificationMessage ensureFinalityConflictNotification() => - $_ensure(83); + $1.FinalityConflictNotificationMessage ensureFinalityConflictNotification() => $_ensure(22); @$pb.TagNumber(1042) - $2.FinalityConflictResolvedNotificationMessage - get finalityConflictResolvedNotification => $_getN(84); + $1.FinalityConflictResolvedNotificationMessage get finalityConflictResolvedNotification => $_getN(23); @$pb.TagNumber(1042) - set finalityConflictResolvedNotification( - $2.FinalityConflictResolvedNotificationMessage v) { - setField(1042, v); - } - + set finalityConflictResolvedNotification($1.FinalityConflictResolvedNotificationMessage v) { setField(1042, v); } @$pb.TagNumber(1042) - $core.bool hasFinalityConflictResolvedNotification() => $_has(84); + $core.bool hasFinalityConflictResolvedNotification() => $_has(23); @$pb.TagNumber(1042) void clearFinalityConflictResolvedNotification() => clearField(1042); @$pb.TagNumber(1042) - $2.FinalityConflictResolvedNotificationMessage - ensureFinalityConflictResolvedNotification() => $_ensure(84); - - @$pb.TagNumber(1043) - $2.GetMempoolEntriesRequestMessage get getMempoolEntriesRequest => $_getN(85); - @$pb.TagNumber(1043) - set getMempoolEntriesRequest($2.GetMempoolEntriesRequestMessage v) { - setField(1043, v); - } - - @$pb.TagNumber(1043) - $core.bool hasGetMempoolEntriesRequest() => $_has(85); - @$pb.TagNumber(1043) - void clearGetMempoolEntriesRequest() => clearField(1043); - @$pb.TagNumber(1043) - $2.GetMempoolEntriesRequestMessage ensureGetMempoolEntriesRequest() => - $_ensure(85); + $1.FinalityConflictResolvedNotificationMessage ensureFinalityConflictResolvedNotification() => $_ensure(23); @$pb.TagNumber(1044) - $2.GetMempoolEntriesResponseMessage get getMempoolEntriesResponse => - $_getN(86); + $1.GetMempoolEntriesResponseMessage get getMempoolEntriesResponse => $_getN(24); @$pb.TagNumber(1044) - set getMempoolEntriesResponse($2.GetMempoolEntriesResponseMessage v) { - setField(1044, v); - } - + set getMempoolEntriesResponse($1.GetMempoolEntriesResponseMessage v) { setField(1044, v); } @$pb.TagNumber(1044) - $core.bool hasGetMempoolEntriesResponse() => $_has(86); + $core.bool hasGetMempoolEntriesResponse() => $_has(24); @$pb.TagNumber(1044) void clearGetMempoolEntriesResponse() => clearField(1044); @$pb.TagNumber(1044) - $2.GetMempoolEntriesResponseMessage ensureGetMempoolEntriesResponse() => - $_ensure(86); - - @$pb.TagNumber(1045) - $2.ShutDownRequestMessage get shutDownRequest => $_getN(87); - @$pb.TagNumber(1045) - set shutDownRequest($2.ShutDownRequestMessage v) { - setField(1045, v); - } - - @$pb.TagNumber(1045) - $core.bool hasShutDownRequest() => $_has(87); - @$pb.TagNumber(1045) - void clearShutDownRequest() => clearField(1045); - @$pb.TagNumber(1045) - $2.ShutDownRequestMessage ensureShutDownRequest() => $_ensure(87); + $1.GetMempoolEntriesResponseMessage ensureGetMempoolEntriesResponse() => $_ensure(24); @$pb.TagNumber(1046) - $2.ShutDownResponseMessage get shutDownResponse => $_getN(88); + $1.ShutdownResponseMessage get shutdownResponse => $_getN(25); @$pb.TagNumber(1046) - set shutDownResponse($2.ShutDownResponseMessage v) { - setField(1046, v); - } - + set shutdownResponse($1.ShutdownResponseMessage v) { setField(1046, v); } @$pb.TagNumber(1046) - $core.bool hasShutDownResponse() => $_has(88); + $core.bool hasShutdownResponse() => $_has(25); @$pb.TagNumber(1046) - void clearShutDownResponse() => clearField(1046); + void clearShutdownResponse() => clearField(1046); @$pb.TagNumber(1046) - $2.ShutDownResponseMessage ensureShutDownResponse() => $_ensure(88); - - @$pb.TagNumber(1047) - $2.GetHeadersRequestMessage get getHeadersRequest => $_getN(89); - @$pb.TagNumber(1047) - set getHeadersRequest($2.GetHeadersRequestMessage v) { - setField(1047, v); - } - - @$pb.TagNumber(1047) - $core.bool hasGetHeadersRequest() => $_has(89); - @$pb.TagNumber(1047) - void clearGetHeadersRequest() => clearField(1047); - @$pb.TagNumber(1047) - $2.GetHeadersRequestMessage ensureGetHeadersRequest() => $_ensure(89); + $1.ShutdownResponseMessage ensureShutdownResponse() => $_ensure(25); @$pb.TagNumber(1048) - $2.GetHeadersResponseMessage get getHeadersResponse => $_getN(90); + $1.GetHeadersResponseMessage get getHeadersResponse => $_getN(26); @$pb.TagNumber(1048) - set getHeadersResponse($2.GetHeadersResponseMessage v) { - setField(1048, v); - } - + set getHeadersResponse($1.GetHeadersResponseMessage v) { setField(1048, v); } @$pb.TagNumber(1048) - $core.bool hasGetHeadersResponse() => $_has(90); + $core.bool hasGetHeadersResponse() => $_has(26); @$pb.TagNumber(1048) void clearGetHeadersResponse() => clearField(1048); @$pb.TagNumber(1048) - $2.GetHeadersResponseMessage ensureGetHeadersResponse() => $_ensure(90); - - @$pb.TagNumber(1049) - $2.NotifyUtxosChangedRequestMessage get notifyUtxosChangedRequest => - $_getN(91); - @$pb.TagNumber(1049) - set notifyUtxosChangedRequest($2.NotifyUtxosChangedRequestMessage v) { - setField(1049, v); - } - - @$pb.TagNumber(1049) - $core.bool hasNotifyUtxosChangedRequest() => $_has(91); - @$pb.TagNumber(1049) - void clearNotifyUtxosChangedRequest() => clearField(1049); - @$pb.TagNumber(1049) - $2.NotifyUtxosChangedRequestMessage ensureNotifyUtxosChangedRequest() => - $_ensure(91); + $1.GetHeadersResponseMessage ensureGetHeadersResponse() => $_ensure(26); @$pb.TagNumber(1050) - $2.NotifyUtxosChangedResponseMessage get notifyUtxosChangedResponse => - $_getN(92); + $1.NotifyUtxosChangedResponseMessage get notifyUtxosChangedResponse => $_getN(27); @$pb.TagNumber(1050) - set notifyUtxosChangedResponse($2.NotifyUtxosChangedResponseMessage v) { - setField(1050, v); - } - + set notifyUtxosChangedResponse($1.NotifyUtxosChangedResponseMessage v) { setField(1050, v); } @$pb.TagNumber(1050) - $core.bool hasNotifyUtxosChangedResponse() => $_has(92); + $core.bool hasNotifyUtxosChangedResponse() => $_has(27); @$pb.TagNumber(1050) void clearNotifyUtxosChangedResponse() => clearField(1050); @$pb.TagNumber(1050) - $2.NotifyUtxosChangedResponseMessage ensureNotifyUtxosChangedResponse() => - $_ensure(92); + $1.NotifyUtxosChangedResponseMessage ensureNotifyUtxosChangedResponse() => $_ensure(27); @$pb.TagNumber(1051) - $2.UtxosChangedNotificationMessage get utxosChangedNotification => $_getN(93); + $1.UtxosChangedNotificationMessage get utxosChangedNotification => $_getN(28); @$pb.TagNumber(1051) - set utxosChangedNotification($2.UtxosChangedNotificationMessage v) { - setField(1051, v); - } - + set utxosChangedNotification($1.UtxosChangedNotificationMessage v) { setField(1051, v); } @$pb.TagNumber(1051) - $core.bool hasUtxosChangedNotification() => $_has(93); + $core.bool hasUtxosChangedNotification() => $_has(28); @$pb.TagNumber(1051) void clearUtxosChangedNotification() => clearField(1051); @$pb.TagNumber(1051) - $2.UtxosChangedNotificationMessage ensureUtxosChangedNotification() => - $_ensure(93); - - @$pb.TagNumber(1052) - $2.GetUtxosByAddressesRequestMessage get getUtxosByAddressesRequest => - $_getN(94); - @$pb.TagNumber(1052) - set getUtxosByAddressesRequest($2.GetUtxosByAddressesRequestMessage v) { - setField(1052, v); - } - - @$pb.TagNumber(1052) - $core.bool hasGetUtxosByAddressesRequest() => $_has(94); - @$pb.TagNumber(1052) - void clearGetUtxosByAddressesRequest() => clearField(1052); - @$pb.TagNumber(1052) - $2.GetUtxosByAddressesRequestMessage ensureGetUtxosByAddressesRequest() => - $_ensure(94); + $1.UtxosChangedNotificationMessage ensureUtxosChangedNotification() => $_ensure(28); @$pb.TagNumber(1053) - $2.GetUtxosByAddressesResponseMessage get getUtxosByAddressesResponse => - $_getN(95); + $1.GetUtxosByAddressesResponseMessage get getUtxosByAddressesResponse => $_getN(29); @$pb.TagNumber(1053) - set getUtxosByAddressesResponse($2.GetUtxosByAddressesResponseMessage v) { - setField(1053, v); - } - + set getUtxosByAddressesResponse($1.GetUtxosByAddressesResponseMessage v) { setField(1053, v); } @$pb.TagNumber(1053) - $core.bool hasGetUtxosByAddressesResponse() => $_has(95); + $core.bool hasGetUtxosByAddressesResponse() => $_has(29); @$pb.TagNumber(1053) void clearGetUtxosByAddressesResponse() => clearField(1053); @$pb.TagNumber(1053) - $2.GetUtxosByAddressesResponseMessage ensureGetUtxosByAddressesResponse() => - $_ensure(95); - - @$pb.TagNumber(1054) - $2.GetVirtualSelectedParentBlueScoreRequestMessage - get getVirtualSelectedParentBlueScoreRequest => $_getN(96); - @$pb.TagNumber(1054) - set getVirtualSelectedParentBlueScoreRequest( - $2.GetVirtualSelectedParentBlueScoreRequestMessage v) { - setField(1054, v); - } - - @$pb.TagNumber(1054) - $core.bool hasGetVirtualSelectedParentBlueScoreRequest() => $_has(96); - @$pb.TagNumber(1054) - void clearGetVirtualSelectedParentBlueScoreRequest() => clearField(1054); - @$pb.TagNumber(1054) - $2.GetVirtualSelectedParentBlueScoreRequestMessage - ensureGetVirtualSelectedParentBlueScoreRequest() => $_ensure(96); + $1.GetUtxosByAddressesResponseMessage ensureGetUtxosByAddressesResponse() => $_ensure(29); @$pb.TagNumber(1055) - $2.GetVirtualSelectedParentBlueScoreResponseMessage - get getVirtualSelectedParentBlueScoreResponse => $_getN(97); + $1.GetSinkBlueScoreResponseMessage get getSinkBlueScoreResponse => $_getN(30); @$pb.TagNumber(1055) - set getVirtualSelectedParentBlueScoreResponse( - $2.GetVirtualSelectedParentBlueScoreResponseMessage v) { - setField(1055, v); - } - + set getSinkBlueScoreResponse($1.GetSinkBlueScoreResponseMessage v) { setField(1055, v); } @$pb.TagNumber(1055) - $core.bool hasGetVirtualSelectedParentBlueScoreResponse() => $_has(97); + $core.bool hasGetSinkBlueScoreResponse() => $_has(30); @$pb.TagNumber(1055) - void clearGetVirtualSelectedParentBlueScoreResponse() => clearField(1055); + void clearGetSinkBlueScoreResponse() => clearField(1055); @$pb.TagNumber(1055) - $2.GetVirtualSelectedParentBlueScoreResponseMessage - ensureGetVirtualSelectedParentBlueScoreResponse() => $_ensure(97); - - @$pb.TagNumber(1056) - $2.NotifyVirtualSelectedParentBlueScoreChangedRequestMessage - get notifyVirtualSelectedParentBlueScoreChangedRequest => $_getN(98); - @$pb.TagNumber(1056) - set notifyVirtualSelectedParentBlueScoreChangedRequest( - $2.NotifyVirtualSelectedParentBlueScoreChangedRequestMessage v) { - setField(1056, v); - } - - @$pb.TagNumber(1056) - $core.bool hasNotifyVirtualSelectedParentBlueScoreChangedRequest() => - $_has(98); - @$pb.TagNumber(1056) - void clearNotifyVirtualSelectedParentBlueScoreChangedRequest() => - clearField(1056); - @$pb.TagNumber(1056) - $2.NotifyVirtualSelectedParentBlueScoreChangedRequestMessage - ensureNotifyVirtualSelectedParentBlueScoreChangedRequest() => - $_ensure(98); + $1.GetSinkBlueScoreResponseMessage ensureGetSinkBlueScoreResponse() => $_ensure(30); @$pb.TagNumber(1057) - $2.NotifyVirtualSelectedParentBlueScoreChangedResponseMessage - get notifyVirtualSelectedParentBlueScoreChangedResponse => $_getN(99); + $1.NotifySinkBlueScoreChangedResponseMessage get notifySinkBlueScoreChangedResponse => $_getN(31); @$pb.TagNumber(1057) - set notifyVirtualSelectedParentBlueScoreChangedResponse( - $2.NotifyVirtualSelectedParentBlueScoreChangedResponseMessage v) { - setField(1057, v); - } - + set notifySinkBlueScoreChangedResponse($1.NotifySinkBlueScoreChangedResponseMessage v) { setField(1057, v); } @$pb.TagNumber(1057) - $core.bool hasNotifyVirtualSelectedParentBlueScoreChangedResponse() => - $_has(99); + $core.bool hasNotifySinkBlueScoreChangedResponse() => $_has(31); @$pb.TagNumber(1057) - void clearNotifyVirtualSelectedParentBlueScoreChangedResponse() => - clearField(1057); + void clearNotifySinkBlueScoreChangedResponse() => clearField(1057); @$pb.TagNumber(1057) - $2.NotifyVirtualSelectedParentBlueScoreChangedResponseMessage - ensureNotifyVirtualSelectedParentBlueScoreChangedResponse() => - $_ensure(99); + $1.NotifySinkBlueScoreChangedResponseMessage ensureNotifySinkBlueScoreChangedResponse() => $_ensure(31); @$pb.TagNumber(1058) - $2.VirtualSelectedParentBlueScoreChangedNotificationMessage - get virtualSelectedParentBlueScoreChangedNotification => $_getN(100); + $1.SinkBlueScoreChangedNotificationMessage get sinkBlueScoreChangedNotification => $_getN(32); @$pb.TagNumber(1058) - set virtualSelectedParentBlueScoreChangedNotification( - $2.VirtualSelectedParentBlueScoreChangedNotificationMessage v) { - setField(1058, v); - } - + set sinkBlueScoreChangedNotification($1.SinkBlueScoreChangedNotificationMessage v) { setField(1058, v); } @$pb.TagNumber(1058) - $core.bool hasVirtualSelectedParentBlueScoreChangedNotification() => - $_has(100); + $core.bool hasSinkBlueScoreChangedNotification() => $_has(32); @$pb.TagNumber(1058) - void clearVirtualSelectedParentBlueScoreChangedNotification() => - clearField(1058); + void clearSinkBlueScoreChangedNotification() => clearField(1058); @$pb.TagNumber(1058) - $2.VirtualSelectedParentBlueScoreChangedNotificationMessage - ensureVirtualSelectedParentBlueScoreChangedNotification() => - $_ensure(100); - - @$pb.TagNumber(1059) - $2.BanRequestMessage get banRequest => $_getN(101); - @$pb.TagNumber(1059) - set banRequest($2.BanRequestMessage v) { - setField(1059, v); - } - - @$pb.TagNumber(1059) - $core.bool hasBanRequest() => $_has(101); - @$pb.TagNumber(1059) - void clearBanRequest() => clearField(1059); - @$pb.TagNumber(1059) - $2.BanRequestMessage ensureBanRequest() => $_ensure(101); + $1.SinkBlueScoreChangedNotificationMessage ensureSinkBlueScoreChangedNotification() => $_ensure(32); @$pb.TagNumber(1060) - $2.BanResponseMessage get banResponse => $_getN(102); + $1.BanResponseMessage get banResponse => $_getN(33); @$pb.TagNumber(1060) - set banResponse($2.BanResponseMessage v) { - setField(1060, v); - } - + set banResponse($1.BanResponseMessage v) { setField(1060, v); } @$pb.TagNumber(1060) - $core.bool hasBanResponse() => $_has(102); + $core.bool hasBanResponse() => $_has(33); @$pb.TagNumber(1060) void clearBanResponse() => clearField(1060); @$pb.TagNumber(1060) - $2.BanResponseMessage ensureBanResponse() => $_ensure(102); - - @$pb.TagNumber(1061) - $2.UnbanRequestMessage get unbanRequest => $_getN(103); - @$pb.TagNumber(1061) - set unbanRequest($2.UnbanRequestMessage v) { - setField(1061, v); - } - - @$pb.TagNumber(1061) - $core.bool hasUnbanRequest() => $_has(103); - @$pb.TagNumber(1061) - void clearUnbanRequest() => clearField(1061); - @$pb.TagNumber(1061) - $2.UnbanRequestMessage ensureUnbanRequest() => $_ensure(103); + $1.BanResponseMessage ensureBanResponse() => $_ensure(33); @$pb.TagNumber(1062) - $2.UnbanResponseMessage get unbanResponse => $_getN(104); + $1.UnbanResponseMessage get unbanResponse => $_getN(34); @$pb.TagNumber(1062) - set unbanResponse($2.UnbanResponseMessage v) { - setField(1062, v); - } - + set unbanResponse($1.UnbanResponseMessage v) { setField(1062, v); } @$pb.TagNumber(1062) - $core.bool hasUnbanResponse() => $_has(104); + $core.bool hasUnbanResponse() => $_has(34); @$pb.TagNumber(1062) void clearUnbanResponse() => clearField(1062); @$pb.TagNumber(1062) - $2.UnbanResponseMessage ensureUnbanResponse() => $_ensure(104); - - @$pb.TagNumber(1063) - $2.GetInfoRequestMessage get getInfoRequest => $_getN(105); - @$pb.TagNumber(1063) - set getInfoRequest($2.GetInfoRequestMessage v) { - setField(1063, v); - } - - @$pb.TagNumber(1063) - $core.bool hasGetInfoRequest() => $_has(105); - @$pb.TagNumber(1063) - void clearGetInfoRequest() => clearField(1063); - @$pb.TagNumber(1063) - $2.GetInfoRequestMessage ensureGetInfoRequest() => $_ensure(105); + $1.UnbanResponseMessage ensureUnbanResponse() => $_ensure(34); @$pb.TagNumber(1064) - $2.GetInfoResponseMessage get getInfoResponse => $_getN(106); + $1.GetInfoResponseMessage get getInfoResponse => $_getN(35); @$pb.TagNumber(1064) - set getInfoResponse($2.GetInfoResponseMessage v) { - setField(1064, v); - } - + set getInfoResponse($1.GetInfoResponseMessage v) { setField(1064, v); } @$pb.TagNumber(1064) - $core.bool hasGetInfoResponse() => $_has(106); + $core.bool hasGetInfoResponse() => $_has(35); @$pb.TagNumber(1064) void clearGetInfoResponse() => clearField(1064); @$pb.TagNumber(1064) - $2.GetInfoResponseMessage ensureGetInfoResponse() => $_ensure(106); - - @$pb.TagNumber(1065) - $2.StopNotifyingUtxosChangedRequestMessage - get stopNotifyingUtxosChangedRequest => $_getN(107); - @$pb.TagNumber(1065) - set stopNotifyingUtxosChangedRequest( - $2.StopNotifyingUtxosChangedRequestMessage v) { - setField(1065, v); - } - - @$pb.TagNumber(1065) - $core.bool hasStopNotifyingUtxosChangedRequest() => $_has(107); - @$pb.TagNumber(1065) - void clearStopNotifyingUtxosChangedRequest() => clearField(1065); - @$pb.TagNumber(1065) - $2.StopNotifyingUtxosChangedRequestMessage - ensureStopNotifyingUtxosChangedRequest() => $_ensure(107); + $1.GetInfoResponseMessage ensureGetInfoResponse() => $_ensure(35); @$pb.TagNumber(1066) - $2.StopNotifyingUtxosChangedResponseMessage - get stopNotifyingUtxosChangedResponse => $_getN(108); + $1.StopNotifyingUtxosChangedResponseMessage get stopNotifyingUtxosChangedResponse => $_getN(36); @$pb.TagNumber(1066) - set stopNotifyingUtxosChangedResponse( - $2.StopNotifyingUtxosChangedResponseMessage v) { - setField(1066, v); - } - + set stopNotifyingUtxosChangedResponse($1.StopNotifyingUtxosChangedResponseMessage v) { setField(1066, v); } @$pb.TagNumber(1066) - $core.bool hasStopNotifyingUtxosChangedResponse() => $_has(108); + $core.bool hasStopNotifyingUtxosChangedResponse() => $_has(36); @$pb.TagNumber(1066) void clearStopNotifyingUtxosChangedResponse() => clearField(1066); @$pb.TagNumber(1066) - $2.StopNotifyingUtxosChangedResponseMessage - ensureStopNotifyingUtxosChangedResponse() => $_ensure(108); - - @$pb.TagNumber(1067) - $2.NotifyPruningPointUTXOSetOverrideRequestMessage - get notifyPruningPointUTXOSetOverrideRequest => $_getN(109); - @$pb.TagNumber(1067) - set notifyPruningPointUTXOSetOverrideRequest( - $2.NotifyPruningPointUTXOSetOverrideRequestMessage v) { - setField(1067, v); - } - - @$pb.TagNumber(1067) - $core.bool hasNotifyPruningPointUTXOSetOverrideRequest() => $_has(109); - @$pb.TagNumber(1067) - void clearNotifyPruningPointUTXOSetOverrideRequest() => clearField(1067); - @$pb.TagNumber(1067) - $2.NotifyPruningPointUTXOSetOverrideRequestMessage - ensureNotifyPruningPointUTXOSetOverrideRequest() => $_ensure(109); + $1.StopNotifyingUtxosChangedResponseMessage ensureStopNotifyingUtxosChangedResponse() => $_ensure(36); @$pb.TagNumber(1068) - $2.NotifyPruningPointUTXOSetOverrideResponseMessage - get notifyPruningPointUTXOSetOverrideResponse => $_getN(110); + $1.NotifyPruningPointUtxoSetOverrideResponseMessage get notifyPruningPointUtxoSetOverrideResponse => $_getN(37); @$pb.TagNumber(1068) - set notifyPruningPointUTXOSetOverrideResponse( - $2.NotifyPruningPointUTXOSetOverrideResponseMessage v) { - setField(1068, v); - } - + set notifyPruningPointUtxoSetOverrideResponse($1.NotifyPruningPointUtxoSetOverrideResponseMessage v) { setField(1068, v); } @$pb.TagNumber(1068) - $core.bool hasNotifyPruningPointUTXOSetOverrideResponse() => $_has(110); + $core.bool hasNotifyPruningPointUtxoSetOverrideResponse() => $_has(37); @$pb.TagNumber(1068) - void clearNotifyPruningPointUTXOSetOverrideResponse() => clearField(1068); + void clearNotifyPruningPointUtxoSetOverrideResponse() => clearField(1068); @$pb.TagNumber(1068) - $2.NotifyPruningPointUTXOSetOverrideResponseMessage - ensureNotifyPruningPointUTXOSetOverrideResponse() => $_ensure(110); + $1.NotifyPruningPointUtxoSetOverrideResponseMessage ensureNotifyPruningPointUtxoSetOverrideResponse() => $_ensure(37); @$pb.TagNumber(1069) - $2.PruningPointUTXOSetOverrideNotificationMessage - get pruningPointUTXOSetOverrideNotification => $_getN(111); + $1.PruningPointUtxoSetOverrideNotificationMessage get pruningPointUtxoSetOverrideNotification => $_getN(38); @$pb.TagNumber(1069) - set pruningPointUTXOSetOverrideNotification( - $2.PruningPointUTXOSetOverrideNotificationMessage v) { - setField(1069, v); - } - + set pruningPointUtxoSetOverrideNotification($1.PruningPointUtxoSetOverrideNotificationMessage v) { setField(1069, v); } @$pb.TagNumber(1069) - $core.bool hasPruningPointUTXOSetOverrideNotification() => $_has(111); + $core.bool hasPruningPointUtxoSetOverrideNotification() => $_has(38); @$pb.TagNumber(1069) - void clearPruningPointUTXOSetOverrideNotification() => clearField(1069); + void clearPruningPointUtxoSetOverrideNotification() => clearField(1069); @$pb.TagNumber(1069) - $2.PruningPointUTXOSetOverrideNotificationMessage - ensurePruningPointUTXOSetOverrideNotification() => $_ensure(111); - - @$pb.TagNumber(1070) - $2.StopNotifyingPruningPointUTXOSetOverrideRequestMessage - get stopNotifyingPruningPointUTXOSetOverrideRequest => $_getN(112); - @$pb.TagNumber(1070) - set stopNotifyingPruningPointUTXOSetOverrideRequest( - $2.StopNotifyingPruningPointUTXOSetOverrideRequestMessage v) { - setField(1070, v); - } - - @$pb.TagNumber(1070) - $core.bool hasStopNotifyingPruningPointUTXOSetOverrideRequest() => $_has(112); - @$pb.TagNumber(1070) - void clearStopNotifyingPruningPointUTXOSetOverrideRequest() => - clearField(1070); - @$pb.TagNumber(1070) - $2.StopNotifyingPruningPointUTXOSetOverrideRequestMessage - ensureStopNotifyingPruningPointUTXOSetOverrideRequest() => $_ensure(112); + $1.PruningPointUtxoSetOverrideNotificationMessage ensurePruningPointUtxoSetOverrideNotification() => $_ensure(38); @$pb.TagNumber(1071) - $2.StopNotifyingPruningPointUTXOSetOverrideResponseMessage - get stopNotifyingPruningPointUTXOSetOverrideResponse => $_getN(113); + $1.StopNotifyingPruningPointUtxoSetOverrideResponseMessage get stopNotifyingPruningPointUtxoSetOverrideResponse => $_getN(39); @$pb.TagNumber(1071) - set stopNotifyingPruningPointUTXOSetOverrideResponse( - $2.StopNotifyingPruningPointUTXOSetOverrideResponseMessage v) { - setField(1071, v); - } - + set stopNotifyingPruningPointUtxoSetOverrideResponse($1.StopNotifyingPruningPointUtxoSetOverrideResponseMessage v) { setField(1071, v); } @$pb.TagNumber(1071) - $core.bool hasStopNotifyingPruningPointUTXOSetOverrideResponse() => - $_has(113); + $core.bool hasStopNotifyingPruningPointUtxoSetOverrideResponse() => $_has(39); @$pb.TagNumber(1071) - void clearStopNotifyingPruningPointUTXOSetOverrideResponse() => - clearField(1071); + void clearStopNotifyingPruningPointUtxoSetOverrideResponse() => clearField(1071); @$pb.TagNumber(1071) - $2.StopNotifyingPruningPointUTXOSetOverrideResponseMessage - ensureStopNotifyingPruningPointUTXOSetOverrideResponse() => $_ensure(113); - - @$pb.TagNumber(1072) - $2.EstimateNetworkHashesPerSecondRequestMessage - get estimateNetworkHashesPerSecondRequest => $_getN(114); - @$pb.TagNumber(1072) - set estimateNetworkHashesPerSecondRequest( - $2.EstimateNetworkHashesPerSecondRequestMessage v) { - setField(1072, v); - } - - @$pb.TagNumber(1072) - $core.bool hasEstimateNetworkHashesPerSecondRequest() => $_has(114); - @$pb.TagNumber(1072) - void clearEstimateNetworkHashesPerSecondRequest() => clearField(1072); - @$pb.TagNumber(1072) - $2.EstimateNetworkHashesPerSecondRequestMessage - ensureEstimateNetworkHashesPerSecondRequest() => $_ensure(114); + $1.StopNotifyingPruningPointUtxoSetOverrideResponseMessage ensureStopNotifyingPruningPointUtxoSetOverrideResponse() => $_ensure(39); @$pb.TagNumber(1073) - $2.EstimateNetworkHashesPerSecondResponseMessage - get estimateNetworkHashesPerSecondResponse => $_getN(115); + $1.EstimateNetworkHashesPerSecondResponseMessage get estimateNetworkHashesPerSecondResponse => $_getN(40); @$pb.TagNumber(1073) - set estimateNetworkHashesPerSecondResponse( - $2.EstimateNetworkHashesPerSecondResponseMessage v) { - setField(1073, v); - } - + set estimateNetworkHashesPerSecondResponse($1.EstimateNetworkHashesPerSecondResponseMessage v) { setField(1073, v); } @$pb.TagNumber(1073) - $core.bool hasEstimateNetworkHashesPerSecondResponse() => $_has(115); + $core.bool hasEstimateNetworkHashesPerSecondResponse() => $_has(40); @$pb.TagNumber(1073) void clearEstimateNetworkHashesPerSecondResponse() => clearField(1073); @$pb.TagNumber(1073) - $2.EstimateNetworkHashesPerSecondResponseMessage - ensureEstimateNetworkHashesPerSecondResponse() => $_ensure(115); - - @$pb.TagNumber(1074) - $2.NotifyVirtualDaaScoreChangedRequestMessage - get notifyVirtualDaaScoreChangedRequest => $_getN(116); - @$pb.TagNumber(1074) - set notifyVirtualDaaScoreChangedRequest( - $2.NotifyVirtualDaaScoreChangedRequestMessage v) { - setField(1074, v); - } - - @$pb.TagNumber(1074) - $core.bool hasNotifyVirtualDaaScoreChangedRequest() => $_has(116); - @$pb.TagNumber(1074) - void clearNotifyVirtualDaaScoreChangedRequest() => clearField(1074); - @$pb.TagNumber(1074) - $2.NotifyVirtualDaaScoreChangedRequestMessage - ensureNotifyVirtualDaaScoreChangedRequest() => $_ensure(116); + $1.EstimateNetworkHashesPerSecondResponseMessage ensureEstimateNetworkHashesPerSecondResponse() => $_ensure(40); @$pb.TagNumber(1075) - $2.NotifyVirtualDaaScoreChangedResponseMessage - get notifyVirtualDaaScoreChangedResponse => $_getN(117); + $1.NotifyVirtualDaaScoreChangedResponseMessage get notifyVirtualDaaScoreChangedResponse => $_getN(41); @$pb.TagNumber(1075) - set notifyVirtualDaaScoreChangedResponse( - $2.NotifyVirtualDaaScoreChangedResponseMessage v) { - setField(1075, v); - } - + set notifyVirtualDaaScoreChangedResponse($1.NotifyVirtualDaaScoreChangedResponseMessage v) { setField(1075, v); } @$pb.TagNumber(1075) - $core.bool hasNotifyVirtualDaaScoreChangedResponse() => $_has(117); + $core.bool hasNotifyVirtualDaaScoreChangedResponse() => $_has(41); @$pb.TagNumber(1075) void clearNotifyVirtualDaaScoreChangedResponse() => clearField(1075); @$pb.TagNumber(1075) - $2.NotifyVirtualDaaScoreChangedResponseMessage - ensureNotifyVirtualDaaScoreChangedResponse() => $_ensure(117); + $1.NotifyVirtualDaaScoreChangedResponseMessage ensureNotifyVirtualDaaScoreChangedResponse() => $_ensure(41); @$pb.TagNumber(1076) - $2.VirtualDaaScoreChangedNotificationMessage - get virtualDaaScoreChangedNotification => $_getN(118); + $1.VirtualDaaScoreChangedNotificationMessage get virtualDaaScoreChangedNotification => $_getN(42); @$pb.TagNumber(1076) - set virtualDaaScoreChangedNotification( - $2.VirtualDaaScoreChangedNotificationMessage v) { - setField(1076, v); - } - + set virtualDaaScoreChangedNotification($1.VirtualDaaScoreChangedNotificationMessage v) { setField(1076, v); } @$pb.TagNumber(1076) - $core.bool hasVirtualDaaScoreChangedNotification() => $_has(118); + $core.bool hasVirtualDaaScoreChangedNotification() => $_has(42); @$pb.TagNumber(1076) void clearVirtualDaaScoreChangedNotification() => clearField(1076); @$pb.TagNumber(1076) - $2.VirtualDaaScoreChangedNotificationMessage - ensureVirtualDaaScoreChangedNotification() => $_ensure(118); - - @$pb.TagNumber(1077) - $2.GetBalanceByAddressRequestMessage get getBalanceByAddressRequest => - $_getN(119); - @$pb.TagNumber(1077) - set getBalanceByAddressRequest($2.GetBalanceByAddressRequestMessage v) { - setField(1077, v); - } - - @$pb.TagNumber(1077) - $core.bool hasGetBalanceByAddressRequest() => $_has(119); - @$pb.TagNumber(1077) - void clearGetBalanceByAddressRequest() => clearField(1077); - @$pb.TagNumber(1077) - $2.GetBalanceByAddressRequestMessage ensureGetBalanceByAddressRequest() => - $_ensure(119); + $1.VirtualDaaScoreChangedNotificationMessage ensureVirtualDaaScoreChangedNotification() => $_ensure(42); @$pb.TagNumber(1078) - $2.GetBalanceByAddressResponseMessage get getBalanceByAddressResponse => - $_getN(120); + $1.GetBalanceByAddressResponseMessage get getBalanceByAddressResponse => $_getN(43); @$pb.TagNumber(1078) - set getBalanceByAddressResponse($2.GetBalanceByAddressResponseMessage v) { - setField(1078, v); - } - + set getBalanceByAddressResponse($1.GetBalanceByAddressResponseMessage v) { setField(1078, v); } @$pb.TagNumber(1078) - $core.bool hasGetBalanceByAddressResponse() => $_has(120); + $core.bool hasGetBalanceByAddressResponse() => $_has(43); @$pb.TagNumber(1078) void clearGetBalanceByAddressResponse() => clearField(1078); @$pb.TagNumber(1078) - $2.GetBalanceByAddressResponseMessage ensureGetBalanceByAddressResponse() => - $_ensure(120); - - @$pb.TagNumber(1079) - $2.GetBalancesByAddressesRequestMessage get getBalancesByAddressesRequest => - $_getN(121); - @$pb.TagNumber(1079) - set getBalancesByAddressesRequest($2.GetBalancesByAddressesRequestMessage v) { - setField(1079, v); - } - - @$pb.TagNumber(1079) - $core.bool hasGetBalancesByAddressesRequest() => $_has(121); - @$pb.TagNumber(1079) - void clearGetBalancesByAddressesRequest() => clearField(1079); - @$pb.TagNumber(1079) - $2.GetBalancesByAddressesRequestMessage - ensureGetBalancesByAddressesRequest() => $_ensure(121); + $1.GetBalanceByAddressResponseMessage ensureGetBalanceByAddressResponse() => $_ensure(43); @$pb.TagNumber(1080) - $2.GetBalancesByAddressesResponseMessage get getBalancesByAddressesResponse => - $_getN(122); + $1.GetBalancesByAddressesResponseMessage get getBalancesByAddressesResponse => $_getN(44); @$pb.TagNumber(1080) - set getBalancesByAddressesResponse( - $2.GetBalancesByAddressesResponseMessage v) { - setField(1080, v); - } - + set getBalancesByAddressesResponse($1.GetBalancesByAddressesResponseMessage v) { setField(1080, v); } @$pb.TagNumber(1080) - $core.bool hasGetBalancesByAddressesResponse() => $_has(122); + $core.bool hasGetBalancesByAddressesResponse() => $_has(44); @$pb.TagNumber(1080) void clearGetBalancesByAddressesResponse() => clearField(1080); @$pb.TagNumber(1080) - $2.GetBalancesByAddressesResponseMessage - ensureGetBalancesByAddressesResponse() => $_ensure(122); - - @$pb.TagNumber(1081) - $2.NotifyNewBlockTemplateRequestMessage get notifyNewBlockTemplateRequest => - $_getN(123); - @$pb.TagNumber(1081) - set notifyNewBlockTemplateRequest($2.NotifyNewBlockTemplateRequestMessage v) { - setField(1081, v); - } - - @$pb.TagNumber(1081) - $core.bool hasNotifyNewBlockTemplateRequest() => $_has(123); - @$pb.TagNumber(1081) - void clearNotifyNewBlockTemplateRequest() => clearField(1081); - @$pb.TagNumber(1081) - $2.NotifyNewBlockTemplateRequestMessage - ensureNotifyNewBlockTemplateRequest() => $_ensure(123); + $1.GetBalancesByAddressesResponseMessage ensureGetBalancesByAddressesResponse() => $_ensure(44); @$pb.TagNumber(1082) - $2.NotifyNewBlockTemplateResponseMessage get notifyNewBlockTemplateResponse => - $_getN(124); + $1.NotifyNewBlockTemplateResponseMessage get notifyNewBlockTemplateResponse => $_getN(45); @$pb.TagNumber(1082) - set notifyNewBlockTemplateResponse( - $2.NotifyNewBlockTemplateResponseMessage v) { - setField(1082, v); - } - + set notifyNewBlockTemplateResponse($1.NotifyNewBlockTemplateResponseMessage v) { setField(1082, v); } @$pb.TagNumber(1082) - $core.bool hasNotifyNewBlockTemplateResponse() => $_has(124); + $core.bool hasNotifyNewBlockTemplateResponse() => $_has(45); @$pb.TagNumber(1082) void clearNotifyNewBlockTemplateResponse() => clearField(1082); @$pb.TagNumber(1082) - $2.NotifyNewBlockTemplateResponseMessage - ensureNotifyNewBlockTemplateResponse() => $_ensure(124); + $1.NotifyNewBlockTemplateResponseMessage ensureNotifyNewBlockTemplateResponse() => $_ensure(45); @$pb.TagNumber(1083) - $2.NewBlockTemplateNotificationMessage get newBlockTemplateNotification => - $_getN(125); + $1.NewBlockTemplateNotificationMessage get newBlockTemplateNotification => $_getN(46); @$pb.TagNumber(1083) - set newBlockTemplateNotification($2.NewBlockTemplateNotificationMessage v) { - setField(1083, v); - } - + set newBlockTemplateNotification($1.NewBlockTemplateNotificationMessage v) { setField(1083, v); } @$pb.TagNumber(1083) - $core.bool hasNewBlockTemplateNotification() => $_has(125); + $core.bool hasNewBlockTemplateNotification() => $_has(46); @$pb.TagNumber(1083) void clearNewBlockTemplateNotification() => clearField(1083); @$pb.TagNumber(1083) - $2.NewBlockTemplateNotificationMessage ensureNewBlockTemplateNotification() => - $_ensure(125); - - @$pb.TagNumber(1084) - $2.GetMempoolEntriesByAddressesRequestMessage - get getMempoolEntriesByAddressesRequest => $_getN(126); - @$pb.TagNumber(1084) - set getMempoolEntriesByAddressesRequest( - $2.GetMempoolEntriesByAddressesRequestMessage v) { - setField(1084, v); - } - - @$pb.TagNumber(1084) - $core.bool hasGetMempoolEntriesByAddressesRequest() => $_has(126); - @$pb.TagNumber(1084) - void clearGetMempoolEntriesByAddressesRequest() => clearField(1084); - @$pb.TagNumber(1084) - $2.GetMempoolEntriesByAddressesRequestMessage - ensureGetMempoolEntriesByAddressesRequest() => $_ensure(126); + $1.NewBlockTemplateNotificationMessage ensureNewBlockTemplateNotification() => $_ensure(46); @$pb.TagNumber(1085) - $2.GetMempoolEntriesByAddressesResponseMessage - get getMempoolEntriesByAddressesResponse => $_getN(127); + $1.GetMempoolEntriesByAddressesResponseMessage get getMempoolEntriesByAddressesResponse => $_getN(47); @$pb.TagNumber(1085) - set getMempoolEntriesByAddressesResponse( - $2.GetMempoolEntriesByAddressesResponseMessage v) { - setField(1085, v); - } - + set getMempoolEntriesByAddressesResponse($1.GetMempoolEntriesByAddressesResponseMessage v) { setField(1085, v); } @$pb.TagNumber(1085) - $core.bool hasGetMempoolEntriesByAddressesResponse() => $_has(127); + $core.bool hasGetMempoolEntriesByAddressesResponse() => $_has(47); @$pb.TagNumber(1085) void clearGetMempoolEntriesByAddressesResponse() => clearField(1085); @$pb.TagNumber(1085) - $2.GetMempoolEntriesByAddressesResponseMessage - ensureGetMempoolEntriesByAddressesResponse() => $_ensure(127); - - @$pb.TagNumber(1086) - $2.GetCoinSupplyRequestMessage get getCoinSupplyRequest => $_getN(128); - @$pb.TagNumber(1086) - set getCoinSupplyRequest($2.GetCoinSupplyRequestMessage v) { - setField(1086, v); - } - - @$pb.TagNumber(1086) - $core.bool hasGetCoinSupplyRequest() => $_has(128); - @$pb.TagNumber(1086) - void clearGetCoinSupplyRequest() => clearField(1086); - @$pb.TagNumber(1086) - $2.GetCoinSupplyRequestMessage ensureGetCoinSupplyRequest() => $_ensure(128); + $1.GetMempoolEntriesByAddressesResponseMessage ensureGetMempoolEntriesByAddressesResponse() => $_ensure(47); @$pb.TagNumber(1087) - $2.GetCoinSupplyResponseMessage get getCoinSupplyResponse => $_getN(129); + $1.GetCoinSupplyResponseMessage get getCoinSupplyResponse => $_getN(48); @$pb.TagNumber(1087) - set getCoinSupplyResponse($2.GetCoinSupplyResponseMessage v) { - setField(1087, v); - } - + set getCoinSupplyResponse($1.GetCoinSupplyResponseMessage v) { setField(1087, v); } @$pb.TagNumber(1087) - $core.bool hasGetCoinSupplyResponse() => $_has(129); + $core.bool hasGetCoinSupplyResponse() => $_has(48); @$pb.TagNumber(1087) void clearGetCoinSupplyResponse() => clearField(1087); @$pb.TagNumber(1087) - $2.GetCoinSupplyResponseMessage ensureGetCoinSupplyResponse() => - $_ensure(129); + $1.GetCoinSupplyResponseMessage ensureGetCoinSupplyResponse() => $_ensure(48); + + @$pb.TagNumber(1089) + $1.PingResponseMessage get pingResponse => $_getN(49); + @$pb.TagNumber(1089) + set pingResponse($1.PingResponseMessage v) { setField(1089, v); } + @$pb.TagNumber(1089) + $core.bool hasPingResponse() => $_has(49); + @$pb.TagNumber(1089) + void clearPingResponse() => clearField(1089); + @$pb.TagNumber(1089) + $1.PingResponseMessage ensurePingResponse() => $_ensure(49); + + @$pb.TagNumber(1091) + $1.GetMetricsResponseMessage get getMetricsResponse => $_getN(50); + @$pb.TagNumber(1091) + set getMetricsResponse($1.GetMetricsResponseMessage v) { setField(1091, v); } + @$pb.TagNumber(1091) + $core.bool hasGetMetricsResponse() => $_has(50); + @$pb.TagNumber(1091) + void clearGetMetricsResponse() => clearField(1091); + @$pb.TagNumber(1091) + $1.GetMetricsResponseMessage ensureGetMetricsResponse() => $_ensure(50); + + @$pb.TagNumber(1093) + $1.GetServerInfoResponseMessage get getServerInfoResponse => $_getN(51); + @$pb.TagNumber(1093) + set getServerInfoResponse($1.GetServerInfoResponseMessage v) { setField(1093, v); } + @$pb.TagNumber(1093) + $core.bool hasGetServerInfoResponse() => $_has(51); + @$pb.TagNumber(1093) + void clearGetServerInfoResponse() => clearField(1093); + @$pb.TagNumber(1093) + $1.GetServerInfoResponseMessage ensureGetServerInfoResponse() => $_ensure(51); + + @$pb.TagNumber(1095) + $1.GetSyncStatusResponseMessage get getSyncStatusResponse => $_getN(52); + @$pb.TagNumber(1095) + set getSyncStatusResponse($1.GetSyncStatusResponseMessage v) { setField(1095, v); } + @$pb.TagNumber(1095) + $core.bool hasGetSyncStatusResponse() => $_has(52); + @$pb.TagNumber(1095) + void clearGetSyncStatusResponse() => clearField(1095); + @$pb.TagNumber(1095) + $1.GetSyncStatusResponseMessage ensureGetSyncStatusResponse() => $_ensure(52); + + @$pb.TagNumber(1097) + $1.GetDaaScoreTimestampEstimateResponseMessage get getDaaScoreTimestampEstimateResponse => $_getN(53); + @$pb.TagNumber(1097) + set getDaaScoreTimestampEstimateResponse($1.GetDaaScoreTimestampEstimateResponseMessage v) { setField(1097, v); } + @$pb.TagNumber(1097) + $core.bool hasGetDaaScoreTimestampEstimateResponse() => $_has(53); + @$pb.TagNumber(1097) + void clearGetDaaScoreTimestampEstimateResponse() => clearField(1097); + @$pb.TagNumber(1097) + $1.GetDaaScoreTimestampEstimateResponseMessage ensureGetDaaScoreTimestampEstimateResponse() => $_ensure(53); + + @$pb.TagNumber(1101) + $1.SubmitTransactionReplacementResponseMessage get submitTransactionReplacementResponse => $_getN(54); + @$pb.TagNumber(1101) + set submitTransactionReplacementResponse($1.SubmitTransactionReplacementResponseMessage v) { setField(1101, v); } + @$pb.TagNumber(1101) + $core.bool hasSubmitTransactionReplacementResponse() => $_has(54); + @$pb.TagNumber(1101) + void clearSubmitTransactionReplacementResponse() => clearField(1101); + @$pb.TagNumber(1101) + $1.SubmitTransactionReplacementResponseMessage ensureSubmitTransactionReplacementResponse() => $_ensure(54); + + @$pb.TagNumber(1103) + $1.GetConnectionsResponseMessage get getConnectionsResponse => $_getN(55); + @$pb.TagNumber(1103) + set getConnectionsResponse($1.GetConnectionsResponseMessage v) { setField(1103, v); } + @$pb.TagNumber(1103) + $core.bool hasGetConnectionsResponse() => $_has(55); + @$pb.TagNumber(1103) + void clearGetConnectionsResponse() => clearField(1103); + @$pb.TagNumber(1103) + $1.GetConnectionsResponseMessage ensureGetConnectionsResponse() => $_ensure(55); + + @$pb.TagNumber(1105) + $1.GetSystemInfoResponseMessage get getSystemInfoResponse => $_getN(56); + @$pb.TagNumber(1105) + set getSystemInfoResponse($1.GetSystemInfoResponseMessage v) { setField(1105, v); } + @$pb.TagNumber(1105) + $core.bool hasGetSystemInfoResponse() => $_has(56); + @$pb.TagNumber(1105) + void clearGetSystemInfoResponse() => clearField(1105); + @$pb.TagNumber(1105) + $1.GetSystemInfoResponseMessage ensureGetSystemInfoResponse() => $_ensure(56); + + @$pb.TagNumber(1107) + $1.GetFeeEstimateResponseMessage get getFeeEstimateResponse => $_getN(57); + @$pb.TagNumber(1107) + set getFeeEstimateResponse($1.GetFeeEstimateResponseMessage v) { setField(1107, v); } + @$pb.TagNumber(1107) + $core.bool hasGetFeeEstimateResponse() => $_has(57); + @$pb.TagNumber(1107) + void clearGetFeeEstimateResponse() => clearField(1107); + @$pb.TagNumber(1107) + $1.GetFeeEstimateResponseMessage ensureGetFeeEstimateResponse() => $_ensure(57); + + @$pb.TagNumber(1109) + $1.GetFeeEstimateExperimentalResponseMessage get getFeeEstimateExperimentalResponse => $_getN(58); + @$pb.TagNumber(1109) + set getFeeEstimateExperimentalResponse($1.GetFeeEstimateExperimentalResponseMessage v) { setField(1109, v); } + @$pb.TagNumber(1109) + $core.bool hasGetFeeEstimateExperimentalResponse() => $_has(58); + @$pb.TagNumber(1109) + void clearGetFeeEstimateExperimentalResponse() => clearField(1109); + @$pb.TagNumber(1109) + $1.GetFeeEstimateExperimentalResponseMessage ensureGetFeeEstimateExperimentalResponse() => $_ensure(58); + + @$pb.TagNumber(1111) + $1.GetCurrentBlockColorResponseMessage get getCurrentBlockColorResponse => $_getN(59); + @$pb.TagNumber(1111) + set getCurrentBlockColorResponse($1.GetCurrentBlockColorResponseMessage v) { setField(1111, v); } + @$pb.TagNumber(1111) + $core.bool hasGetCurrentBlockColorResponse() => $_has(59); + @$pb.TagNumber(1111) + void clearGetCurrentBlockColorResponse() => clearField(1111); + @$pb.TagNumber(1111) + $1.GetCurrentBlockColorResponseMessage ensureGetCurrentBlockColorResponse() => $_ensure(59); } + + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names'); \ No newline at end of file diff --git a/lib/karlsen/grpc/messages.pbenum.dart b/lib/karlsen/grpc/messages.pbenum.dart index f221f64e..26d9d00c 100644 --- a/lib/karlsen/grpc/messages.pbenum.dart +++ b/lib/karlsen/grpc/messages.pbenum.dart @@ -1,6 +1,10 @@ -/// +// // Generated code. Do not modify. // source: messages.proto // // @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 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import diff --git a/lib/karlsen/grpc/messages.pbgrpc.dart b/lib/karlsen/grpc/messages.pbgrpc.dart index 21388d69..3f67da00 100644 --- a/lib/karlsen/grpc/messages.pbgrpc.dart +++ b/lib/karlsen/grpc/messages.pbgrpc.dart @@ -1,88 +1,55 @@ -/// +// // Generated code. Do not modify. // source: messages.proto // // @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 -import 'dart:async' as $async; +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import +import 'dart:async' as $async; import 'dart:core' as $core; import 'package:grpc/service_api.dart' as $grpc; -import 'messages.pb.dart' as $0; -export 'messages.pb.dart'; - -class P2PClient extends $grpc.Client { - static final _$messageStream = - $grpc.ClientMethod<$0.KarlsendMessage, $0.KarlsendMessage>( - '/protowire.P2P/MessageStream', - ($0.KarlsendMessage value) => value.writeToBuffer(), - ($core.List<$core.int> value) => - $0.KarlsendMessage.fromBuffer(value)); +import 'package:protobuf/protobuf.dart' as $pb; - P2PClient($grpc.ClientChannel channel, - {$grpc.CallOptions? options, - $core.Iterable<$grpc.ClientInterceptor>? interceptors}) - : super(channel, options: options, interceptors: interceptors); - - $grpc.ResponseStream<$0.KarlsendMessage> messageStream( - $async.Stream<$0.KarlsendMessage> request, - {$grpc.CallOptions? options}) { - return $createStreamingCall(_$messageStream, request, options: options); - } -} - -abstract class P2PServiceBase extends $grpc.Service { - $core.String get $name => 'protowire.P2P'; - - P2PServiceBase() { - $addMethod($grpc.ServiceMethod<$0.KarlsendMessage, $0.KarlsendMessage>( - 'MessageStream', - messageStream, - true, - true, - ($core.List<$core.int> value) => $0.KarlsendMessage.fromBuffer(value), - ($0.KarlsendMessage value) => value.writeToBuffer())); - } +import 'messages.pb.dart' as $0; - $async.Stream<$0.KarlsendMessage> messageStream( - $grpc.ServiceCall call, $async.Stream<$0.KarlsendMessage> request); -} +export 'messages.pb.dart'; +@$pb.GrpcServiceName('protowire.RPC') class RPCClient extends $grpc.Client { - static final _$messageStream = - $grpc.ClientMethod<$0.KarlsendMessage, $0.KarlsendMessage>( - '/protowire.RPC/MessageStream', - ($0.KarlsendMessage value) => value.writeToBuffer(), - ($core.List<$core.int> value) => - $0.KarlsendMessage.fromBuffer(value)); + static final _$messageStream = $grpc.ClientMethod<$0.KarlsendRequest, $0.KarlsendResponse>( + '/protowire.RPC/MessageStream', + ($0.KarlsendRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $0.KarlsendResponse.fromBuffer(value)); RPCClient($grpc.ClientChannel channel, {$grpc.CallOptions? options, $core.Iterable<$grpc.ClientInterceptor>? interceptors}) - : super(channel, options: options, interceptors: interceptors); + : super(channel, options: options, + interceptors: interceptors); - $grpc.ResponseStream<$0.KarlsendMessage> messageStream( - $async.Stream<$0.KarlsendMessage> request, - {$grpc.CallOptions? options}) { + $grpc.ResponseStream<$0.KarlsendResponse> messageStream($async.Stream<$0.KarlsendRequest> request, {$grpc.CallOptions? options}) { return $createStreamingCall(_$messageStream, request, options: options); } } +@$pb.GrpcServiceName('protowire.RPC') abstract class RPCServiceBase extends $grpc.Service { $core.String get $name => 'protowire.RPC'; RPCServiceBase() { - $addMethod($grpc.ServiceMethod<$0.KarlsendMessage, $0.KarlsendMessage>( + $addMethod($grpc.ServiceMethod<$0.KarlsendRequest, $0.KarlsendResponse>( 'MessageStream', messageStream, true, true, - ($core.List<$core.int> value) => $0.KarlsendMessage.fromBuffer(value), - ($0.KarlsendMessage value) => value.writeToBuffer())); + ($core.List<$core.int> value) => $0.KarlsendRequest.fromBuffer(value), + ($0.KarlsendResponse value) => value.writeToBuffer())); } - $async.Stream<$0.KarlsendMessage> messageStream( - $grpc.ServiceCall call, $async.Stream<$0.KarlsendMessage> request); -} + $async.Stream<$0.KarlsendResponse> messageStream($grpc.ServiceCall call, $async.Stream<$0.KarlsendRequest> request); +} \ No newline at end of file diff --git a/lib/karlsen/grpc/messages.pbjson.dart b/lib/karlsen/grpc/messages.pbjson.dart index 6745ea29..916c69ce 100644 --- a/lib/karlsen/grpc/messages.pbjson.dart +++ b/lib/karlsen/grpc/messages.pbjson.dart @@ -1,1197 +1,372 @@ -/// +// // Generated code. Do not modify. // source: messages.proto // // @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; +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + import 'dart:convert' as $convert; +import 'dart:core' as $core; import 'dart:typed_data' as $typed_data; -@$core.Deprecated('Use karlsendMessageDescriptor instead') -const KarlsendMessage$json = const { - '1': 'KarlsendMessage', - '2': const [ - const { - '1': 'addresses', - '3': 1, - '4': 1, - '5': 11, - '6': '.protowire.AddressesMessage', - '9': 0, - '10': 'addresses' - }, - const { - '1': 'block', - '3': 2, - '4': 1, - '5': 11, - '6': '.protowire.BlockMessage', - '9': 0, - '10': 'block' - }, - const { - '1': 'transaction', - '3': 3, - '4': 1, - '5': 11, - '6': '.protowire.TransactionMessage', - '9': 0, - '10': 'transaction' - }, - const { - '1': 'blockLocator', - '3': 5, - '4': 1, - '5': 11, - '6': '.protowire.BlockLocatorMessage', - '9': 0, - '10': 'blockLocator' - }, - const { - '1': 'requestAddresses', - '3': 6, - '4': 1, - '5': 11, - '6': '.protowire.RequestAddressesMessage', - '9': 0, - '10': 'requestAddresses' - }, - const { - '1': 'requestRelayBlocks', - '3': 10, - '4': 1, - '5': 11, - '6': '.protowire.RequestRelayBlocksMessage', - '9': 0, - '10': 'requestRelayBlocks' - }, - const { - '1': 'requestTransactions', - '3': 12, - '4': 1, - '5': 11, - '6': '.protowire.RequestTransactionsMessage', - '9': 0, - '10': 'requestTransactions' - }, - const { - '1': 'ibdBlock', - '3': 13, - '4': 1, - '5': 11, - '6': '.protowire.BlockMessage', - '9': 0, - '10': 'ibdBlock' - }, - const { - '1': 'invRelayBlock', - '3': 14, - '4': 1, - '5': 11, - '6': '.protowire.InvRelayBlockMessage', - '9': 0, - '10': 'invRelayBlock' - }, - const { - '1': 'invTransactions', - '3': 15, - '4': 1, - '5': 11, - '6': '.protowire.InvTransactionsMessage', - '9': 0, - '10': 'invTransactions' - }, - const { - '1': 'ping', - '3': 16, - '4': 1, - '5': 11, - '6': '.protowire.PingMessage', - '9': 0, - '10': 'ping' - }, - const { - '1': 'pong', - '3': 17, - '4': 1, - '5': 11, - '6': '.protowire.PongMessage', - '9': 0, - '10': 'pong' - }, - const { - '1': 'verack', - '3': 19, - '4': 1, - '5': 11, - '6': '.protowire.VerackMessage', - '9': 0, - '10': 'verack' - }, - const { - '1': 'version', - '3': 20, - '4': 1, - '5': 11, - '6': '.protowire.VersionMessage', - '9': 0, - '10': 'version' - }, - const { - '1': 'transactionNotFound', - '3': 21, - '4': 1, - '5': 11, - '6': '.protowire.TransactionNotFoundMessage', - '9': 0, - '10': 'transactionNotFound' - }, - const { - '1': 'reject', - '3': 22, - '4': 1, - '5': 11, - '6': '.protowire.RejectMessage', - '9': 0, - '10': 'reject' - }, - const { - '1': 'pruningPointUtxoSetChunk', - '3': 25, - '4': 1, - '5': 11, - '6': '.protowire.PruningPointUtxoSetChunkMessage', - '9': 0, - '10': 'pruningPointUtxoSetChunk' - }, - const { - '1': 'requestIBDBlocks', - '3': 26, - '4': 1, - '5': 11, - '6': '.protowire.RequestIBDBlocksMessage', - '9': 0, - '10': 'requestIBDBlocks' - }, - const { - '1': 'unexpectedPruningPoint', - '3': 27, - '4': 1, - '5': 11, - '6': '.protowire.UnexpectedPruningPointMessage', - '9': 0, - '10': 'unexpectedPruningPoint' - }, - const { - '1': 'ibdBlockLocator', - '3': 30, - '4': 1, - '5': 11, - '6': '.protowire.IbdBlockLocatorMessage', - '9': 0, - '10': 'ibdBlockLocator' - }, - const { - '1': 'ibdBlockLocatorHighestHash', - '3': 31, - '4': 1, - '5': 11, - '6': '.protowire.IbdBlockLocatorHighestHashMessage', - '9': 0, - '10': 'ibdBlockLocatorHighestHash' - }, - const { - '1': 'requestNextPruningPointUtxoSetChunk', - '3': 33, - '4': 1, - '5': 11, - '6': '.protowire.RequestNextPruningPointUtxoSetChunkMessage', - '9': 0, - '10': 'requestNextPruningPointUtxoSetChunk' - }, - const { - '1': 'donePruningPointUtxoSetChunks', - '3': 34, - '4': 1, - '5': 11, - '6': '.protowire.DonePruningPointUtxoSetChunksMessage', - '9': 0, - '10': 'donePruningPointUtxoSetChunks' - }, - const { - '1': 'ibdBlockLocatorHighestHashNotFound', - '3': 35, - '4': 1, - '5': 11, - '6': '.protowire.IbdBlockLocatorHighestHashNotFoundMessage', - '9': 0, - '10': 'ibdBlockLocatorHighestHashNotFound' - }, - const { - '1': 'blockWithTrustedData', - '3': 36, - '4': 1, - '5': 11, - '6': '.protowire.BlockWithTrustedDataMessage', - '9': 0, - '10': 'blockWithTrustedData' - }, - const { - '1': 'doneBlocksWithTrustedData', - '3': 37, - '4': 1, - '5': 11, - '6': '.protowire.DoneBlocksWithTrustedDataMessage', - '9': 0, - '10': 'doneBlocksWithTrustedData' - }, - const { - '1': 'requestPruningPointAndItsAnticone', - '3': 40, - '4': 1, - '5': 11, - '6': '.protowire.RequestPruningPointAndItsAnticoneMessage', - '9': 0, - '10': 'requestPruningPointAndItsAnticone' - }, - const { - '1': 'blockHeaders', - '3': 41, - '4': 1, - '5': 11, - '6': '.protowire.BlockHeadersMessage', - '9': 0, - '10': 'blockHeaders' - }, - const { - '1': 'requestNextHeaders', - '3': 42, - '4': 1, - '5': 11, - '6': '.protowire.RequestNextHeadersMessage', - '9': 0, - '10': 'requestNextHeaders' - }, - const { - '1': 'DoneHeaders', - '3': 43, - '4': 1, - '5': 11, - '6': '.protowire.DoneHeadersMessage', - '9': 0, - '10': 'DoneHeaders' - }, - const { - '1': 'requestPruningPointUTXOSet', - '3': 44, - '4': 1, - '5': 11, - '6': '.protowire.RequestPruningPointUTXOSetMessage', - '9': 0, - '10': 'requestPruningPointUTXOSet' - }, - const { - '1': 'requestHeaders', - '3': 45, - '4': 1, - '5': 11, - '6': '.protowire.RequestHeadersMessage', - '9': 0, - '10': 'requestHeaders' - }, - const { - '1': 'requestBlockLocator', - '3': 46, - '4': 1, - '5': 11, - '6': '.protowire.RequestBlockLocatorMessage', - '9': 0, - '10': 'requestBlockLocator' - }, - const { - '1': 'pruningPoints', - '3': 47, - '4': 1, - '5': 11, - '6': '.protowire.PruningPointsMessage', - '9': 0, - '10': 'pruningPoints' - }, - const { - '1': 'requestPruningPointProof', - '3': 48, - '4': 1, - '5': 11, - '6': '.protowire.RequestPruningPointProofMessage', - '9': 0, - '10': 'requestPruningPointProof' - }, - const { - '1': 'pruningPointProof', - '3': 49, - '4': 1, - '5': 11, - '6': '.protowire.PruningPointProofMessage', - '9': 0, - '10': 'pruningPointProof' - }, - const { - '1': 'ready', - '3': 50, - '4': 1, - '5': 11, - '6': '.protowire.ReadyMessage', - '9': 0, - '10': 'ready' - }, - const { - '1': 'blockWithTrustedDataV4', - '3': 51, - '4': 1, - '5': 11, - '6': '.protowire.BlockWithTrustedDataV4Message', - '9': 0, - '10': 'blockWithTrustedDataV4' - }, - const { - '1': 'trustedData', - '3': 52, - '4': 1, - '5': 11, - '6': '.protowire.TrustedDataMessage', - '9': 0, - '10': 'trustedData' - }, - const { - '1': 'requestIBDChainBlockLocator', - '3': 53, - '4': 1, - '5': 11, - '6': '.protowire.RequestIBDChainBlockLocatorMessage', - '9': 0, - '10': 'requestIBDChainBlockLocator' - }, - const { - '1': 'ibdChainBlockLocator', - '3': 54, - '4': 1, - '5': 11, - '6': '.protowire.IbdChainBlockLocatorMessage', - '9': 0, - '10': 'ibdChainBlockLocator' - }, - const { - '1': 'requestAnticone', - '3': 55, - '4': 1, - '5': 11, - '6': '.protowire.RequestAnticoneMessage', - '9': 0, - '10': 'requestAnticone' - }, - const { - '1': 'requestNextPruningPointAndItsAnticoneBlocks', - '3': 56, - '4': 1, - '5': 11, - '6': '.protowire.RequestNextPruningPointAndItsAnticoneBlocksMessage', - '9': 0, - '10': 'requestNextPruningPointAndItsAnticoneBlocks' - }, - const { - '1': 'getCurrentNetworkRequest', - '3': 1001, - '4': 1, - '5': 11, - '6': '.protowire.GetCurrentNetworkRequestMessage', - '9': 0, - '10': 'getCurrentNetworkRequest' - }, - const { - '1': 'getCurrentNetworkResponse', - '3': 1002, - '4': 1, - '5': 11, - '6': '.protowire.GetCurrentNetworkResponseMessage', - '9': 0, - '10': 'getCurrentNetworkResponse' - }, - const { - '1': 'submitBlockRequest', - '3': 1003, - '4': 1, - '5': 11, - '6': '.protowire.SubmitBlockRequestMessage', - '9': 0, - '10': 'submitBlockRequest' - }, - const { - '1': 'submitBlockResponse', - '3': 1004, - '4': 1, - '5': 11, - '6': '.protowire.SubmitBlockResponseMessage', - '9': 0, - '10': 'submitBlockResponse' - }, - const { - '1': 'getBlockTemplateRequest', - '3': 1005, - '4': 1, - '5': 11, - '6': '.protowire.GetBlockTemplateRequestMessage', - '9': 0, - '10': 'getBlockTemplateRequest' - }, - const { - '1': 'getBlockTemplateResponse', - '3': 1006, - '4': 1, - '5': 11, - '6': '.protowire.GetBlockTemplateResponseMessage', - '9': 0, - '10': 'getBlockTemplateResponse' - }, - const { - '1': 'notifyBlockAddedRequest', - '3': 1007, - '4': 1, - '5': 11, - '6': '.protowire.NotifyBlockAddedRequestMessage', - '9': 0, - '10': 'notifyBlockAddedRequest' - }, - const { - '1': 'notifyBlockAddedResponse', - '3': 1008, - '4': 1, - '5': 11, - '6': '.protowire.NotifyBlockAddedResponseMessage', - '9': 0, - '10': 'notifyBlockAddedResponse' - }, - const { - '1': 'blockAddedNotification', - '3': 1009, - '4': 1, - '5': 11, - '6': '.protowire.BlockAddedNotificationMessage', - '9': 0, - '10': 'blockAddedNotification' - }, - const { - '1': 'getPeerAddressesRequest', - '3': 1010, - '4': 1, - '5': 11, - '6': '.protowire.GetPeerAddressesRequestMessage', - '9': 0, - '10': 'getPeerAddressesRequest' - }, - const { - '1': 'getPeerAddressesResponse', - '3': 1011, - '4': 1, - '5': 11, - '6': '.protowire.GetPeerAddressesResponseMessage', - '9': 0, - '10': 'getPeerAddressesResponse' - }, - const { - '1': 'getSelectedTipHashRequest', - '3': 1012, - '4': 1, - '5': 11, - '6': '.protowire.GetSelectedTipHashRequestMessage', - '9': 0, - '10': 'getSelectedTipHashRequest' - }, - const { - '1': 'getSelectedTipHashResponse', - '3': 1013, - '4': 1, - '5': 11, - '6': '.protowire.GetSelectedTipHashResponseMessage', - '9': 0, - '10': 'getSelectedTipHashResponse' - }, - const { - '1': 'getMempoolEntryRequest', - '3': 1014, - '4': 1, - '5': 11, - '6': '.protowire.GetMempoolEntryRequestMessage', - '9': 0, - '10': 'getMempoolEntryRequest' - }, - const { - '1': 'getMempoolEntryResponse', - '3': 1015, - '4': 1, - '5': 11, - '6': '.protowire.GetMempoolEntryResponseMessage', - '9': 0, - '10': 'getMempoolEntryResponse' - }, - const { - '1': 'getConnectedPeerInfoRequest', - '3': 1016, - '4': 1, - '5': 11, - '6': '.protowire.GetConnectedPeerInfoRequestMessage', - '9': 0, - '10': 'getConnectedPeerInfoRequest' - }, - const { - '1': 'getConnectedPeerInfoResponse', - '3': 1017, - '4': 1, - '5': 11, - '6': '.protowire.GetConnectedPeerInfoResponseMessage', - '9': 0, - '10': 'getConnectedPeerInfoResponse' - }, - const { - '1': 'addPeerRequest', - '3': 1018, - '4': 1, - '5': 11, - '6': '.protowire.AddPeerRequestMessage', - '9': 0, - '10': 'addPeerRequest' - }, - const { - '1': 'addPeerResponse', - '3': 1019, - '4': 1, - '5': 11, - '6': '.protowire.AddPeerResponseMessage', - '9': 0, - '10': 'addPeerResponse' - }, - const { - '1': 'submitTransactionRequest', - '3': 1020, - '4': 1, - '5': 11, - '6': '.protowire.SubmitTransactionRequestMessage', - '9': 0, - '10': 'submitTransactionRequest' - }, - const { - '1': 'submitTransactionResponse', - '3': 1021, - '4': 1, - '5': 11, - '6': '.protowire.SubmitTransactionResponseMessage', - '9': 0, - '10': 'submitTransactionResponse' - }, - const { - '1': 'notifyVirtualSelectedParentChainChangedRequest', - '3': 1022, - '4': 1, - '5': 11, - '6': '.protowire.NotifyVirtualSelectedParentChainChangedRequestMessage', - '9': 0, - '10': 'notifyVirtualSelectedParentChainChangedRequest' - }, - const { - '1': 'notifyVirtualSelectedParentChainChangedResponse', - '3': 1023, - '4': 1, - '5': 11, - '6': '.protowire.NotifyVirtualSelectedParentChainChangedResponseMessage', - '9': 0, - '10': 'notifyVirtualSelectedParentChainChangedResponse' - }, - const { - '1': 'virtualSelectedParentChainChangedNotification', - '3': 1024, - '4': 1, - '5': 11, - '6': '.protowire.VirtualSelectedParentChainChangedNotificationMessage', - '9': 0, - '10': 'virtualSelectedParentChainChangedNotification' - }, - const { - '1': 'getBlockRequest', - '3': 1025, - '4': 1, - '5': 11, - '6': '.protowire.GetBlockRequestMessage', - '9': 0, - '10': 'getBlockRequest' - }, - const { - '1': 'getBlockResponse', - '3': 1026, - '4': 1, - '5': 11, - '6': '.protowire.GetBlockResponseMessage', - '9': 0, - '10': 'getBlockResponse' - }, - const { - '1': 'getSubnetworkRequest', - '3': 1027, - '4': 1, - '5': 11, - '6': '.protowire.GetSubnetworkRequestMessage', - '9': 0, - '10': 'getSubnetworkRequest' - }, - const { - '1': 'getSubnetworkResponse', - '3': 1028, - '4': 1, - '5': 11, - '6': '.protowire.GetSubnetworkResponseMessage', - '9': 0, - '10': 'getSubnetworkResponse' - }, - const { - '1': 'getVirtualSelectedParentChainFromBlockRequest', - '3': 1029, - '4': 1, - '5': 11, - '6': '.protowire.GetVirtualSelectedParentChainFromBlockRequestMessage', - '9': 0, - '10': 'getVirtualSelectedParentChainFromBlockRequest' - }, - const { - '1': 'getVirtualSelectedParentChainFromBlockResponse', - '3': 1030, - '4': 1, - '5': 11, - '6': '.protowire.GetVirtualSelectedParentChainFromBlockResponseMessage', - '9': 0, - '10': 'getVirtualSelectedParentChainFromBlockResponse' - }, - const { - '1': 'getBlocksRequest', - '3': 1031, - '4': 1, - '5': 11, - '6': '.protowire.GetBlocksRequestMessage', - '9': 0, - '10': 'getBlocksRequest' - }, - const { - '1': 'getBlocksResponse', - '3': 1032, - '4': 1, - '5': 11, - '6': '.protowire.GetBlocksResponseMessage', - '9': 0, - '10': 'getBlocksResponse' - }, - const { - '1': 'getBlockCountRequest', - '3': 1033, - '4': 1, - '5': 11, - '6': '.protowire.GetBlockCountRequestMessage', - '9': 0, - '10': 'getBlockCountRequest' - }, - const { - '1': 'getBlockCountResponse', - '3': 1034, - '4': 1, - '5': 11, - '6': '.protowire.GetBlockCountResponseMessage', - '9': 0, - '10': 'getBlockCountResponse' - }, - const { - '1': 'getBlockDagInfoRequest', - '3': 1035, - '4': 1, - '5': 11, - '6': '.protowire.GetBlockDagInfoRequestMessage', - '9': 0, - '10': 'getBlockDagInfoRequest' - }, - const { - '1': 'getBlockDagInfoResponse', - '3': 1036, - '4': 1, - '5': 11, - '6': '.protowire.GetBlockDagInfoResponseMessage', - '9': 0, - '10': 'getBlockDagInfoResponse' - }, - const { - '1': 'resolveFinalityConflictRequest', - '3': 1037, - '4': 1, - '5': 11, - '6': '.protowire.ResolveFinalityConflictRequestMessage', - '9': 0, - '10': 'resolveFinalityConflictRequest' - }, - const { - '1': 'resolveFinalityConflictResponse', - '3': 1038, - '4': 1, - '5': 11, - '6': '.protowire.ResolveFinalityConflictResponseMessage', - '9': 0, - '10': 'resolveFinalityConflictResponse' - }, - const { - '1': 'notifyFinalityConflictsRequest', - '3': 1039, - '4': 1, - '5': 11, - '6': '.protowire.NotifyFinalityConflictsRequestMessage', - '9': 0, - '10': 'notifyFinalityConflictsRequest' - }, - const { - '1': 'notifyFinalityConflictsResponse', - '3': 1040, - '4': 1, - '5': 11, - '6': '.protowire.NotifyFinalityConflictsResponseMessage', - '9': 0, - '10': 'notifyFinalityConflictsResponse' - }, - const { - '1': 'finalityConflictNotification', - '3': 1041, - '4': 1, - '5': 11, - '6': '.protowire.FinalityConflictNotificationMessage', - '9': 0, - '10': 'finalityConflictNotification' - }, - const { - '1': 'finalityConflictResolvedNotification', - '3': 1042, - '4': 1, - '5': 11, - '6': '.protowire.FinalityConflictResolvedNotificationMessage', - '9': 0, - '10': 'finalityConflictResolvedNotification' - }, - const { - '1': 'getMempoolEntriesRequest', - '3': 1043, - '4': 1, - '5': 11, - '6': '.protowire.GetMempoolEntriesRequestMessage', - '9': 0, - '10': 'getMempoolEntriesRequest' - }, - const { - '1': 'getMempoolEntriesResponse', - '3': 1044, - '4': 1, - '5': 11, - '6': '.protowire.GetMempoolEntriesResponseMessage', - '9': 0, - '10': 'getMempoolEntriesResponse' - }, - const { - '1': 'shutDownRequest', - '3': 1045, - '4': 1, - '5': 11, - '6': '.protowire.ShutDownRequestMessage', - '9': 0, - '10': 'shutDownRequest' - }, - const { - '1': 'shutDownResponse', - '3': 1046, - '4': 1, - '5': 11, - '6': '.protowire.ShutDownResponseMessage', - '9': 0, - '10': 'shutDownResponse' - }, - const { - '1': 'getHeadersRequest', - '3': 1047, - '4': 1, - '5': 11, - '6': '.protowire.GetHeadersRequestMessage', - '9': 0, - '10': 'getHeadersRequest' - }, - const { - '1': 'getHeadersResponse', - '3': 1048, - '4': 1, - '5': 11, - '6': '.protowire.GetHeadersResponseMessage', - '9': 0, - '10': 'getHeadersResponse' - }, - const { - '1': 'notifyUtxosChangedRequest', - '3': 1049, - '4': 1, - '5': 11, - '6': '.protowire.NotifyUtxosChangedRequestMessage', - '9': 0, - '10': 'notifyUtxosChangedRequest' - }, - const { - '1': 'notifyUtxosChangedResponse', - '3': 1050, - '4': 1, - '5': 11, - '6': '.protowire.NotifyUtxosChangedResponseMessage', - '9': 0, - '10': 'notifyUtxosChangedResponse' - }, - const { - '1': 'utxosChangedNotification', - '3': 1051, - '4': 1, - '5': 11, - '6': '.protowire.UtxosChangedNotificationMessage', - '9': 0, - '10': 'utxosChangedNotification' - }, - const { - '1': 'getUtxosByAddressesRequest', - '3': 1052, - '4': 1, - '5': 11, - '6': '.protowire.GetUtxosByAddressesRequestMessage', - '9': 0, - '10': 'getUtxosByAddressesRequest' - }, - const { - '1': 'getUtxosByAddressesResponse', - '3': 1053, - '4': 1, - '5': 11, - '6': '.protowire.GetUtxosByAddressesResponseMessage', - '9': 0, - '10': 'getUtxosByAddressesResponse' - }, - const { - '1': 'getVirtualSelectedParentBlueScoreRequest', - '3': 1054, - '4': 1, - '5': 11, - '6': '.protowire.GetVirtualSelectedParentBlueScoreRequestMessage', - '9': 0, - '10': 'getVirtualSelectedParentBlueScoreRequest' - }, - const { - '1': 'getVirtualSelectedParentBlueScoreResponse', - '3': 1055, - '4': 1, - '5': 11, - '6': '.protowire.GetVirtualSelectedParentBlueScoreResponseMessage', - '9': 0, - '10': 'getVirtualSelectedParentBlueScoreResponse' - }, - const { - '1': 'notifyVirtualSelectedParentBlueScoreChangedRequest', - '3': 1056, - '4': 1, - '5': 11, - '6': - '.protowire.NotifyVirtualSelectedParentBlueScoreChangedRequestMessage', - '9': 0, - '10': 'notifyVirtualSelectedParentBlueScoreChangedRequest' - }, - const { - '1': 'notifyVirtualSelectedParentBlueScoreChangedResponse', - '3': 1057, - '4': 1, - '5': 11, - '6': - '.protowire.NotifyVirtualSelectedParentBlueScoreChangedResponseMessage', - '9': 0, - '10': 'notifyVirtualSelectedParentBlueScoreChangedResponse' - }, - const { - '1': 'virtualSelectedParentBlueScoreChangedNotification', - '3': 1058, - '4': 1, - '5': 11, - '6': - '.protowire.VirtualSelectedParentBlueScoreChangedNotificationMessage', - '9': 0, - '10': 'virtualSelectedParentBlueScoreChangedNotification' - }, - const { - '1': 'banRequest', - '3': 1059, - '4': 1, - '5': 11, - '6': '.protowire.BanRequestMessage', - '9': 0, - '10': 'banRequest' - }, - const { - '1': 'banResponse', - '3': 1060, - '4': 1, - '5': 11, - '6': '.protowire.BanResponseMessage', - '9': 0, - '10': 'banResponse' - }, - const { - '1': 'unbanRequest', - '3': 1061, - '4': 1, - '5': 11, - '6': '.protowire.UnbanRequestMessage', - '9': 0, - '10': 'unbanRequest' - }, - const { - '1': 'unbanResponse', - '3': 1062, - '4': 1, - '5': 11, - '6': '.protowire.UnbanResponseMessage', - '9': 0, - '10': 'unbanResponse' - }, - const { - '1': 'getInfoRequest', - '3': 1063, - '4': 1, - '5': 11, - '6': '.protowire.GetInfoRequestMessage', - '9': 0, - '10': 'getInfoRequest' - }, - const { - '1': 'getInfoResponse', - '3': 1064, - '4': 1, - '5': 11, - '6': '.protowire.GetInfoResponseMessage', - '9': 0, - '10': 'getInfoResponse' - }, - const { - '1': 'stopNotifyingUtxosChangedRequest', - '3': 1065, - '4': 1, - '5': 11, - '6': '.protowire.StopNotifyingUtxosChangedRequestMessage', - '9': 0, - '10': 'stopNotifyingUtxosChangedRequest' - }, - const { - '1': 'stopNotifyingUtxosChangedResponse', - '3': 1066, - '4': 1, - '5': 11, - '6': '.protowire.StopNotifyingUtxosChangedResponseMessage', - '9': 0, - '10': 'stopNotifyingUtxosChangedResponse' - }, - const { - '1': 'notifyPruningPointUTXOSetOverrideRequest', - '3': 1067, - '4': 1, - '5': 11, - '6': '.protowire.NotifyPruningPointUTXOSetOverrideRequestMessage', - '9': 0, - '10': 'notifyPruningPointUTXOSetOverrideRequest' - }, - const { - '1': 'notifyPruningPointUTXOSetOverrideResponse', - '3': 1068, - '4': 1, - '5': 11, - '6': '.protowire.NotifyPruningPointUTXOSetOverrideResponseMessage', - '9': 0, - '10': 'notifyPruningPointUTXOSetOverrideResponse' - }, - const { - '1': 'pruningPointUTXOSetOverrideNotification', - '3': 1069, - '4': 1, - '5': 11, - '6': '.protowire.PruningPointUTXOSetOverrideNotificationMessage', - '9': 0, - '10': 'pruningPointUTXOSetOverrideNotification' - }, - const { - '1': 'stopNotifyingPruningPointUTXOSetOverrideRequest', - '3': 1070, - '4': 1, - '5': 11, - '6': '.protowire.StopNotifyingPruningPointUTXOSetOverrideRequestMessage', - '9': 0, - '10': 'stopNotifyingPruningPointUTXOSetOverrideRequest' - }, - const { - '1': 'stopNotifyingPruningPointUTXOSetOverrideResponse', - '3': 1071, - '4': 1, - '5': 11, - '6': '.protowire.StopNotifyingPruningPointUTXOSetOverrideResponseMessage', - '9': 0, - '10': 'stopNotifyingPruningPointUTXOSetOverrideResponse' - }, - const { - '1': 'estimateNetworkHashesPerSecondRequest', - '3': 1072, - '4': 1, - '5': 11, - '6': '.protowire.EstimateNetworkHashesPerSecondRequestMessage', - '9': 0, - '10': 'estimateNetworkHashesPerSecondRequest' - }, - const { - '1': 'estimateNetworkHashesPerSecondResponse', - '3': 1073, - '4': 1, - '5': 11, - '6': '.protowire.EstimateNetworkHashesPerSecondResponseMessage', - '9': 0, - '10': 'estimateNetworkHashesPerSecondResponse' - }, - const { - '1': 'notifyVirtualDaaScoreChangedRequest', - '3': 1074, - '4': 1, - '5': 11, - '6': '.protowire.NotifyVirtualDaaScoreChangedRequestMessage', - '9': 0, - '10': 'notifyVirtualDaaScoreChangedRequest' - }, - const { - '1': 'notifyVirtualDaaScoreChangedResponse', - '3': 1075, - '4': 1, - '5': 11, - '6': '.protowire.NotifyVirtualDaaScoreChangedResponseMessage', - '9': 0, - '10': 'notifyVirtualDaaScoreChangedResponse' - }, - const { - '1': 'virtualDaaScoreChangedNotification', - '3': 1076, - '4': 1, - '5': 11, - '6': '.protowire.VirtualDaaScoreChangedNotificationMessage', - '9': 0, - '10': 'virtualDaaScoreChangedNotification' - }, - const { - '1': 'getBalanceByAddressRequest', - '3': 1077, - '4': 1, - '5': 11, - '6': '.protowire.GetBalanceByAddressRequestMessage', - '9': 0, - '10': 'getBalanceByAddressRequest' - }, - const { - '1': 'getBalanceByAddressResponse', - '3': 1078, - '4': 1, - '5': 11, - '6': '.protowire.GetBalanceByAddressResponseMessage', - '9': 0, - '10': 'getBalanceByAddressResponse' - }, - const { - '1': 'getBalancesByAddressesRequest', - '3': 1079, - '4': 1, - '5': 11, - '6': '.protowire.GetBalancesByAddressesRequestMessage', - '9': 0, - '10': 'getBalancesByAddressesRequest' - }, - const { - '1': 'getBalancesByAddressesResponse', - '3': 1080, - '4': 1, - '5': 11, - '6': '.protowire.GetBalancesByAddressesResponseMessage', - '9': 0, - '10': 'getBalancesByAddressesResponse' - }, - const { - '1': 'notifyNewBlockTemplateRequest', - '3': 1081, - '4': 1, - '5': 11, - '6': '.protowire.NotifyNewBlockTemplateRequestMessage', - '9': 0, - '10': 'notifyNewBlockTemplateRequest' - }, - const { - '1': 'notifyNewBlockTemplateResponse', - '3': 1082, - '4': 1, - '5': 11, - '6': '.protowire.NotifyNewBlockTemplateResponseMessage', - '9': 0, - '10': 'notifyNewBlockTemplateResponse' - }, - const { - '1': 'newBlockTemplateNotification', - '3': 1083, - '4': 1, - '5': 11, - '6': '.protowire.NewBlockTemplateNotificationMessage', - '9': 0, - '10': 'newBlockTemplateNotification' - }, - const { - '1': 'getMempoolEntriesByAddressesRequest', - '3': 1084, - '4': 1, - '5': 11, - '6': '.protowire.GetMempoolEntriesByAddressesRequestMessage', - '9': 0, - '10': 'getMempoolEntriesByAddressesRequest' - }, - const { - '1': 'getMempoolEntriesByAddressesResponse', - '3': 1085, - '4': 1, - '5': 11, - '6': '.protowire.GetMempoolEntriesByAddressesResponseMessage', - '9': 0, - '10': 'getMempoolEntriesByAddressesResponse' - }, - const { - '1': 'getCoinSupplyRequest', - '3': 1086, - '4': 1, - '5': 11, - '6': '.protowire.GetCoinSupplyRequestMessage', - '9': 0, - '10': 'getCoinSupplyRequest' - }, - const { - '1': 'getCoinSupplyResponse', - '3': 1087, - '4': 1, - '5': 11, - '6': '.protowire.GetCoinSupplyResponseMessage', - '9': 0, - '10': 'getCoinSupplyResponse' - }, +@$core.Deprecated('Use karlsendRequestDescriptor instead') +const KarlsendRequest$json = { + '1': 'KarlsendRequest', + '2': [ + {'1': 'id', '3': 101, '4': 1, '5': 4, '10': 'id'}, + {'1': 'getCurrentNetworkRequest', '3': 1001, '4': 1, '5': 11, '6': '.protowire.GetCurrentNetworkRequestMessage', '9': 0, '10': 'getCurrentNetworkRequest'}, + {'1': 'submitBlockRequest', '3': 1003, '4': 1, '5': 11, '6': '.protowire.SubmitBlockRequestMessage', '9': 0, '10': 'submitBlockRequest'}, + {'1': 'getBlockTemplateRequest', '3': 1005, '4': 1, '5': 11, '6': '.protowire.GetBlockTemplateRequestMessage', '9': 0, '10': 'getBlockTemplateRequest'}, + {'1': 'notifyBlockAddedRequest', '3': 1007, '4': 1, '5': 11, '6': '.protowire.NotifyBlockAddedRequestMessage', '9': 0, '10': 'notifyBlockAddedRequest'}, + {'1': 'getPeerAddressesRequest', '3': 1010, '4': 1, '5': 11, '6': '.protowire.GetPeerAddressesRequestMessage', '9': 0, '10': 'getPeerAddressesRequest'}, + {'1': 'GetSinkRequest', '3': 1012, '4': 1, '5': 11, '6': '.protowire.GetSinkRequestMessage', '9': 0, '10': 'GetSinkRequest'}, + {'1': 'getMempoolEntryRequest', '3': 1014, '4': 1, '5': 11, '6': '.protowire.GetMempoolEntryRequestMessage', '9': 0, '10': 'getMempoolEntryRequest'}, + {'1': 'getConnectedPeerInfoRequest', '3': 1016, '4': 1, '5': 11, '6': '.protowire.GetConnectedPeerInfoRequestMessage', '9': 0, '10': 'getConnectedPeerInfoRequest'}, + {'1': 'addPeerRequest', '3': 1018, '4': 1, '5': 11, '6': '.protowire.AddPeerRequestMessage', '9': 0, '10': 'addPeerRequest'}, + {'1': 'submitTransactionRequest', '3': 1020, '4': 1, '5': 11, '6': '.protowire.SubmitTransactionRequestMessage', '9': 0, '10': 'submitTransactionRequest'}, + {'1': 'notifyVirtualChainChangedRequest', '3': 1022, '4': 1, '5': 11, '6': '.protowire.NotifyVirtualChainChangedRequestMessage', '9': 0, '10': 'notifyVirtualChainChangedRequest'}, + {'1': 'getBlockRequest', '3': 1025, '4': 1, '5': 11, '6': '.protowire.GetBlockRequestMessage', '9': 0, '10': 'getBlockRequest'}, + {'1': 'getSubnetworkRequest', '3': 1027, '4': 1, '5': 11, '6': '.protowire.GetSubnetworkRequestMessage', '9': 0, '10': 'getSubnetworkRequest'}, + {'1': 'getVirtualChainFromBlockRequest', '3': 1029, '4': 1, '5': 11, '6': '.protowire.GetVirtualChainFromBlockRequestMessage', '9': 0, '10': 'getVirtualChainFromBlockRequest'}, + {'1': 'getBlocksRequest', '3': 1031, '4': 1, '5': 11, '6': '.protowire.GetBlocksRequestMessage', '9': 0, '10': 'getBlocksRequest'}, + {'1': 'getBlockCountRequest', '3': 1033, '4': 1, '5': 11, '6': '.protowire.GetBlockCountRequestMessage', '9': 0, '10': 'getBlockCountRequest'}, + {'1': 'getBlockDagInfoRequest', '3': 1035, '4': 1, '5': 11, '6': '.protowire.GetBlockDagInfoRequestMessage', '9': 0, '10': 'getBlockDagInfoRequest'}, + {'1': 'resolveFinalityConflictRequest', '3': 1037, '4': 1, '5': 11, '6': '.protowire.ResolveFinalityConflictRequestMessage', '9': 0, '10': 'resolveFinalityConflictRequest'}, + {'1': 'notifyFinalityConflictRequest', '3': 1039, '4': 1, '5': 11, '6': '.protowire.NotifyFinalityConflictRequestMessage', '9': 0, '10': 'notifyFinalityConflictRequest'}, + {'1': 'getMempoolEntriesRequest', '3': 1043, '4': 1, '5': 11, '6': '.protowire.GetMempoolEntriesRequestMessage', '9': 0, '10': 'getMempoolEntriesRequest'}, + {'1': 'shutdownRequest', '3': 1045, '4': 1, '5': 11, '6': '.protowire.ShutdownRequestMessage', '9': 0, '10': 'shutdownRequest'}, + {'1': 'getHeadersRequest', '3': 1047, '4': 1, '5': 11, '6': '.protowire.GetHeadersRequestMessage', '9': 0, '10': 'getHeadersRequest'}, + {'1': 'notifyUtxosChangedRequest', '3': 1049, '4': 1, '5': 11, '6': '.protowire.NotifyUtxosChangedRequestMessage', '9': 0, '10': 'notifyUtxosChangedRequest'}, + {'1': 'getUtxosByAddressesRequest', '3': 1052, '4': 1, '5': 11, '6': '.protowire.GetUtxosByAddressesRequestMessage', '9': 0, '10': 'getUtxosByAddressesRequest'}, + {'1': 'getSinkBlueScoreRequest', '3': 1054, '4': 1, '5': 11, '6': '.protowire.GetSinkBlueScoreRequestMessage', '9': 0, '10': 'getSinkBlueScoreRequest'}, + {'1': 'notifySinkBlueScoreChangedRequest', '3': 1056, '4': 1, '5': 11, '6': '.protowire.NotifySinkBlueScoreChangedRequestMessage', '9': 0, '10': 'notifySinkBlueScoreChangedRequest'}, + {'1': 'banRequest', '3': 1059, '4': 1, '5': 11, '6': '.protowire.BanRequestMessage', '9': 0, '10': 'banRequest'}, + {'1': 'unbanRequest', '3': 1061, '4': 1, '5': 11, '6': '.protowire.UnbanRequestMessage', '9': 0, '10': 'unbanRequest'}, + {'1': 'getInfoRequest', '3': 1063, '4': 1, '5': 11, '6': '.protowire.GetInfoRequestMessage', '9': 0, '10': 'getInfoRequest'}, + {'1': 'stopNotifyingUtxosChangedRequest', '3': 1065, '4': 1, '5': 11, '6': '.protowire.StopNotifyingUtxosChangedRequestMessage', '9': 0, '10': 'stopNotifyingUtxosChangedRequest'}, + {'1': 'notifyPruningPointUtxoSetOverrideRequest', '3': 1067, '4': 1, '5': 11, '6': '.protowire.NotifyPruningPointUtxoSetOverrideRequestMessage', '9': 0, '10': 'notifyPruningPointUtxoSetOverrideRequest'}, + {'1': 'stopNotifyingPruningPointUtxoSetOverrideRequest', '3': 1070, '4': 1, '5': 11, '6': '.protowire.StopNotifyingPruningPointUtxoSetOverrideRequestMessage', '9': 0, '10': 'stopNotifyingPruningPointUtxoSetOverrideRequest'}, + {'1': 'estimateNetworkHashesPerSecondRequest', '3': 1072, '4': 1, '5': 11, '6': '.protowire.EstimateNetworkHashesPerSecondRequestMessage', '9': 0, '10': 'estimateNetworkHashesPerSecondRequest'}, + {'1': 'notifyVirtualDaaScoreChangedRequest', '3': 1074, '4': 1, '5': 11, '6': '.protowire.NotifyVirtualDaaScoreChangedRequestMessage', '9': 0, '10': 'notifyVirtualDaaScoreChangedRequest'}, + {'1': 'getBalanceByAddressRequest', '3': 1077, '4': 1, '5': 11, '6': '.protowire.GetBalanceByAddressRequestMessage', '9': 0, '10': 'getBalanceByAddressRequest'}, + {'1': 'getBalancesByAddressesRequest', '3': 1079, '4': 1, '5': 11, '6': '.protowire.GetBalancesByAddressesRequestMessage', '9': 0, '10': 'getBalancesByAddressesRequest'}, + {'1': 'notifyNewBlockTemplateRequest', '3': 1081, '4': 1, '5': 11, '6': '.protowire.NotifyNewBlockTemplateRequestMessage', '9': 0, '10': 'notifyNewBlockTemplateRequest'}, + {'1': 'getMempoolEntriesByAddressesRequest', '3': 1084, '4': 1, '5': 11, '6': '.protowire.GetMempoolEntriesByAddressesRequestMessage', '9': 0, '10': 'getMempoolEntriesByAddressesRequest'}, + {'1': 'getCoinSupplyRequest', '3': 1086, '4': 1, '5': 11, '6': '.protowire.GetCoinSupplyRequestMessage', '9': 0, '10': 'getCoinSupplyRequest'}, + {'1': 'pingRequest', '3': 1088, '4': 1, '5': 11, '6': '.protowire.PingRequestMessage', '9': 0, '10': 'pingRequest'}, + {'1': 'getMetricsRequest', '3': 1090, '4': 1, '5': 11, '6': '.protowire.GetMetricsRequestMessage', '9': 0, '10': 'getMetricsRequest'}, + {'1': 'getServerInfoRequest', '3': 1092, '4': 1, '5': 11, '6': '.protowire.GetServerInfoRequestMessage', '9': 0, '10': 'getServerInfoRequest'}, + {'1': 'getSyncStatusRequest', '3': 1094, '4': 1, '5': 11, '6': '.protowire.GetSyncStatusRequestMessage', '9': 0, '10': 'getSyncStatusRequest'}, + {'1': 'getDaaScoreTimestampEstimateRequest', '3': 1096, '4': 1, '5': 11, '6': '.protowire.GetDaaScoreTimestampEstimateRequestMessage', '9': 0, '10': 'getDaaScoreTimestampEstimateRequest'}, + {'1': 'submitTransactionReplacementRequest', '3': 1100, '4': 1, '5': 11, '6': '.protowire.SubmitTransactionReplacementRequestMessage', '9': 0, '10': 'submitTransactionReplacementRequest'}, + {'1': 'getConnectionsRequest', '3': 1102, '4': 1, '5': 11, '6': '.protowire.GetConnectionsRequestMessage', '9': 0, '10': 'getConnectionsRequest'}, + {'1': 'getSystemInfoRequest', '3': 1104, '4': 1, '5': 11, '6': '.protowire.GetSystemInfoRequestMessage', '9': 0, '10': 'getSystemInfoRequest'}, + {'1': 'getFeeEstimateRequest', '3': 1106, '4': 1, '5': 11, '6': '.protowire.GetFeeEstimateRequestMessage', '9': 0, '10': 'getFeeEstimateRequest'}, + {'1': 'getFeeEstimateExperimentalRequest', '3': 1108, '4': 1, '5': 11, '6': '.protowire.GetFeeEstimateExperimentalRequestMessage', '9': 0, '10': 'getFeeEstimateExperimentalRequest'}, + {'1': 'getCurrentBlockColorRequest', '3': 1110, '4': 1, '5': 11, '6': '.protowire.GetCurrentBlockColorRequestMessage', '9': 0, '10': 'getCurrentBlockColorRequest'}, + ], + '8': [ + {'1': 'payload'}, + ], +}; + +/// Descriptor for `KarlsendRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List karlsendRequestDescriptor = $convert.base64Decode( + 'Cg1LYXNwYWRSZXF1ZXN0Eg4KAmlkGGUgASgEUgJpZBJpChhnZXRDdXJyZW50TmV0d29ya1JlcX' + 'Vlc3QY6QcgASgLMioucHJvdG93aXJlLkdldEN1cnJlbnROZXR3b3JrUmVxdWVzdE1lc3NhZ2VI' + 'AFIYZ2V0Q3VycmVudE5ldHdvcmtSZXF1ZXN0ElcKEnN1Ym1pdEJsb2NrUmVxdWVzdBjrByABKA' + 'syJC5wcm90b3dpcmUuU3VibWl0QmxvY2tSZXF1ZXN0TWVzc2FnZUgAUhJzdWJtaXRCbG9ja1Jl' + 'cXVlc3QSZgoXZ2V0QmxvY2tUZW1wbGF0ZVJlcXVlc3QY7QcgASgLMikucHJvdG93aXJlLkdldE' + 'Jsb2NrVGVtcGxhdGVSZXF1ZXN0TWVzc2FnZUgAUhdnZXRCbG9ja1RlbXBsYXRlUmVxdWVzdBJm' + 'Chdub3RpZnlCbG9ja0FkZGVkUmVxdWVzdBjvByABKAsyKS5wcm90b3dpcmUuTm90aWZ5QmxvY2' + 'tBZGRlZFJlcXVlc3RNZXNzYWdlSABSF25vdGlmeUJsb2NrQWRkZWRSZXF1ZXN0EmYKF2dldFBl' + 'ZXJBZGRyZXNzZXNSZXF1ZXN0GPIHIAEoCzIpLnByb3Rvd2lyZS5HZXRQZWVyQWRkcmVzc2VzUm' + 'VxdWVzdE1lc3NhZ2VIAFIXZ2V0UGVlckFkZHJlc3Nlc1JlcXVlc3QSSwoOR2V0U2lua1JlcXVl' + 'c3QY9AcgASgLMiAucHJvdG93aXJlLkdldFNpbmtSZXF1ZXN0TWVzc2FnZUgAUg5HZXRTaW5rUm' + 'VxdWVzdBJjChZnZXRNZW1wb29sRW50cnlSZXF1ZXN0GPYHIAEoCzIoLnByb3Rvd2lyZS5HZXRN' + 'ZW1wb29sRW50cnlSZXF1ZXN0TWVzc2FnZUgAUhZnZXRNZW1wb29sRW50cnlSZXF1ZXN0EnIKG2' + 'dldENvbm5lY3RlZFBlZXJJbmZvUmVxdWVzdBj4ByABKAsyLS5wcm90b3dpcmUuR2V0Q29ubmVj' + 'dGVkUGVlckluZm9SZXF1ZXN0TWVzc2FnZUgAUhtnZXRDb25uZWN0ZWRQZWVySW5mb1JlcXVlc3' + 'QSSwoOYWRkUGVlclJlcXVlc3QY+gcgASgLMiAucHJvdG93aXJlLkFkZFBlZXJSZXF1ZXN0TWVz' + 'c2FnZUgAUg5hZGRQZWVyUmVxdWVzdBJpChhzdWJtaXRUcmFuc2FjdGlvblJlcXVlc3QY/AcgAS' + 'gLMioucHJvdG93aXJlLlN1Ym1pdFRyYW5zYWN0aW9uUmVxdWVzdE1lc3NhZ2VIAFIYc3VibWl0' + 'VHJhbnNhY3Rpb25SZXF1ZXN0EoEBCiBub3RpZnlWaXJ0dWFsQ2hhaW5DaGFuZ2VkUmVxdWVzdB' + 'j+ByABKAsyMi5wcm90b3dpcmUuTm90aWZ5VmlydHVhbENoYWluQ2hhbmdlZFJlcXVlc3RNZXNz' + 'YWdlSABSIG5vdGlmeVZpcnR1YWxDaGFpbkNoYW5nZWRSZXF1ZXN0Ek4KD2dldEJsb2NrUmVxdW' + 'VzdBiBCCABKAsyIS5wcm90b3dpcmUuR2V0QmxvY2tSZXF1ZXN0TWVzc2FnZUgAUg9nZXRCbG9j' + 'a1JlcXVlc3QSXQoUZ2V0U3VibmV0d29ya1JlcXVlc3QYgwggASgLMiYucHJvdG93aXJlLkdldF' + 'N1Ym5ldHdvcmtSZXF1ZXN0TWVzc2FnZUgAUhRnZXRTdWJuZXR3b3JrUmVxdWVzdBJ+Ch9nZXRW' + 'aXJ0dWFsQ2hhaW5Gcm9tQmxvY2tSZXF1ZXN0GIUIIAEoCzIxLnByb3Rvd2lyZS5HZXRWaXJ0dW' + 'FsQ2hhaW5Gcm9tQmxvY2tSZXF1ZXN0TWVzc2FnZUgAUh9nZXRWaXJ0dWFsQ2hhaW5Gcm9tQmxv' + 'Y2tSZXF1ZXN0ElEKEGdldEJsb2Nrc1JlcXVlc3QYhwggASgLMiIucHJvdG93aXJlLkdldEJsb2' + 'Nrc1JlcXVlc3RNZXNzYWdlSABSEGdldEJsb2Nrc1JlcXVlc3QSXQoUZ2V0QmxvY2tDb3VudFJl' + 'cXVlc3QYiQggASgLMiYucHJvdG93aXJlLkdldEJsb2NrQ291bnRSZXF1ZXN0TWVzc2FnZUgAUh' + 'RnZXRCbG9ja0NvdW50UmVxdWVzdBJjChZnZXRCbG9ja0RhZ0luZm9SZXF1ZXN0GIsIIAEoCzIo' + 'LnByb3Rvd2lyZS5HZXRCbG9ja0RhZ0luZm9SZXF1ZXN0TWVzc2FnZUgAUhZnZXRCbG9ja0RhZ0' + 'luZm9SZXF1ZXN0EnsKHnJlc29sdmVGaW5hbGl0eUNvbmZsaWN0UmVxdWVzdBiNCCABKAsyMC5w' + 'cm90b3dpcmUuUmVzb2x2ZUZpbmFsaXR5Q29uZmxpY3RSZXF1ZXN0TWVzc2FnZUgAUh5yZXNvbH' + 'ZlRmluYWxpdHlDb25mbGljdFJlcXVlc3QSeAodbm90aWZ5RmluYWxpdHlDb25mbGljdFJlcXVl' + 'c3QYjwggASgLMi8ucHJvdG93aXJlLk5vdGlmeUZpbmFsaXR5Q29uZmxpY3RSZXF1ZXN0TWVzc2' + 'FnZUgAUh1ub3RpZnlGaW5hbGl0eUNvbmZsaWN0UmVxdWVzdBJpChhnZXRNZW1wb29sRW50cmll' + 'c1JlcXVlc3QYkwggASgLMioucHJvdG93aXJlLkdldE1lbXBvb2xFbnRyaWVzUmVxdWVzdE1lc3' + 'NhZ2VIAFIYZ2V0TWVtcG9vbEVudHJpZXNSZXF1ZXN0Ek4KD3NodXRkb3duUmVxdWVzdBiVCCAB' + 'KAsyIS5wcm90b3dpcmUuU2h1dGRvd25SZXF1ZXN0TWVzc2FnZUgAUg9zaHV0ZG93blJlcXVlc3' + 'QSVAoRZ2V0SGVhZGVyc1JlcXVlc3QYlwggASgLMiMucHJvdG93aXJlLkdldEhlYWRlcnNSZXF1' + 'ZXN0TWVzc2FnZUgAUhFnZXRIZWFkZXJzUmVxdWVzdBJsChlub3RpZnlVdHhvc0NoYW5nZWRSZX' + 'F1ZXN0GJkIIAEoCzIrLnByb3Rvd2lyZS5Ob3RpZnlVdHhvc0NoYW5nZWRSZXF1ZXN0TWVzc2Fn' + 'ZUgAUhlub3RpZnlVdHhvc0NoYW5nZWRSZXF1ZXN0Em8KGmdldFV0eG9zQnlBZGRyZXNzZXNSZX' + 'F1ZXN0GJwIIAEoCzIsLnByb3Rvd2lyZS5HZXRVdHhvc0J5QWRkcmVzc2VzUmVxdWVzdE1lc3Nh' + 'Z2VIAFIaZ2V0VXR4b3NCeUFkZHJlc3Nlc1JlcXVlc3QSZgoXZ2V0U2lua0JsdWVTY29yZVJlcX' + 'Vlc3QYngggASgLMikucHJvdG93aXJlLkdldFNpbmtCbHVlU2NvcmVSZXF1ZXN0TWVzc2FnZUgA' + 'UhdnZXRTaW5rQmx1ZVNjb3JlUmVxdWVzdBKEAQohbm90aWZ5U2lua0JsdWVTY29yZUNoYW5nZW' + 'RSZXF1ZXN0GKAIIAEoCzIzLnByb3Rvd2lyZS5Ob3RpZnlTaW5rQmx1ZVNjb3JlQ2hhbmdlZFJl' + 'cXVlc3RNZXNzYWdlSABSIW5vdGlmeVNpbmtCbHVlU2NvcmVDaGFuZ2VkUmVxdWVzdBI/CgpiYW' + '5SZXF1ZXN0GKMIIAEoCzIcLnByb3Rvd2lyZS5CYW5SZXF1ZXN0TWVzc2FnZUgAUgpiYW5SZXF1' + 'ZXN0EkUKDHVuYmFuUmVxdWVzdBilCCABKAsyHi5wcm90b3dpcmUuVW5iYW5SZXF1ZXN0TWVzc2' + 'FnZUgAUgx1bmJhblJlcXVlc3QSSwoOZ2V0SW5mb1JlcXVlc3QYpwggASgLMiAucHJvdG93aXJl' + 'LkdldEluZm9SZXF1ZXN0TWVzc2FnZUgAUg5nZXRJbmZvUmVxdWVzdBKBAQogc3RvcE5vdGlmeW' + 'luZ1V0eG9zQ2hhbmdlZFJlcXVlc3QYqQggASgLMjIucHJvdG93aXJlLlN0b3BOb3RpZnlpbmdV' + 'dHhvc0NoYW5nZWRSZXF1ZXN0TWVzc2FnZUgAUiBzdG9wTm90aWZ5aW5nVXR4b3NDaGFuZ2VkUm' + 'VxdWVzdBKZAQoobm90aWZ5UHJ1bmluZ1BvaW50VXR4b1NldE92ZXJyaWRlUmVxdWVzdBirCCAB' + 'KAsyOi5wcm90b3dpcmUuTm90aWZ5UHJ1bmluZ1BvaW50VXR4b1NldE92ZXJyaWRlUmVxdWVzdE' + '1lc3NhZ2VIAFIobm90aWZ5UHJ1bmluZ1BvaW50VXR4b1NldE92ZXJyaWRlUmVxdWVzdBKuAQov' + 'c3RvcE5vdGlmeWluZ1BydW5pbmdQb2ludFV0eG9TZXRPdmVycmlkZVJlcXVlc3QYrgggASgLMk' + 'EucHJvdG93aXJlLlN0b3BOb3RpZnlpbmdQcnVuaW5nUG9pbnRVdHhvU2V0T3ZlcnJpZGVSZXF1' + 'ZXN0TWVzc2FnZUgAUi9zdG9wTm90aWZ5aW5nUHJ1bmluZ1BvaW50VXR4b1NldE92ZXJyaWRlUm' + 'VxdWVzdBKQAQolZXN0aW1hdGVOZXR3b3JrSGFzaGVzUGVyU2Vjb25kUmVxdWVzdBiwCCABKAsy' + 'Ny5wcm90b3dpcmUuRXN0aW1hdGVOZXR3b3JrSGFzaGVzUGVyU2Vjb25kUmVxdWVzdE1lc3NhZ2' + 'VIAFIlZXN0aW1hdGVOZXR3b3JrSGFzaGVzUGVyU2Vjb25kUmVxdWVzdBKKAQojbm90aWZ5Vmly' + 'dHVhbERhYVNjb3JlQ2hhbmdlZFJlcXVlc3QYsgggASgLMjUucHJvdG93aXJlLk5vdGlmeVZpcn' + 'R1YWxEYWFTY29yZUNoYW5nZWRSZXF1ZXN0TWVzc2FnZUgAUiNub3RpZnlWaXJ0dWFsRGFhU2Nv' + 'cmVDaGFuZ2VkUmVxdWVzdBJvChpnZXRCYWxhbmNlQnlBZGRyZXNzUmVxdWVzdBi1CCABKAsyLC' + '5wcm90b3dpcmUuR2V0QmFsYW5jZUJ5QWRkcmVzc1JlcXVlc3RNZXNzYWdlSABSGmdldEJhbGFu' + 'Y2VCeUFkZHJlc3NSZXF1ZXN0EngKHWdldEJhbGFuY2VzQnlBZGRyZXNzZXNSZXF1ZXN0GLcIIA' + 'EoCzIvLnByb3Rvd2lyZS5HZXRCYWxhbmNlc0J5QWRkcmVzc2VzUmVxdWVzdE1lc3NhZ2VIAFId' + 'Z2V0QmFsYW5jZXNCeUFkZHJlc3Nlc1JlcXVlc3QSeAodbm90aWZ5TmV3QmxvY2tUZW1wbGF0ZV' + 'JlcXVlc3QYuQggASgLMi8ucHJvdG93aXJlLk5vdGlmeU5ld0Jsb2NrVGVtcGxhdGVSZXF1ZXN0' + 'TWVzc2FnZUgAUh1ub3RpZnlOZXdCbG9ja1RlbXBsYXRlUmVxdWVzdBKKAQojZ2V0TWVtcG9vbE' + 'VudHJpZXNCeUFkZHJlc3Nlc1JlcXVlc3QYvAggASgLMjUucHJvdG93aXJlLkdldE1lbXBvb2xF' + 'bnRyaWVzQnlBZGRyZXNzZXNSZXF1ZXN0TWVzc2FnZUgAUiNnZXRNZW1wb29sRW50cmllc0J5QW' + 'RkcmVzc2VzUmVxdWVzdBJdChRnZXRDb2luU3VwcGx5UmVxdWVzdBi+CCABKAsyJi5wcm90b3dp' + 'cmUuR2V0Q29pblN1cHBseVJlcXVlc3RNZXNzYWdlSABSFGdldENvaW5TdXBwbHlSZXF1ZXN0Ek' + 'IKC3BpbmdSZXF1ZXN0GMAIIAEoCzIdLnByb3Rvd2lyZS5QaW5nUmVxdWVzdE1lc3NhZ2VIAFIL' + 'cGluZ1JlcXVlc3QSVAoRZ2V0TWV0cmljc1JlcXVlc3QYwgggASgLMiMucHJvdG93aXJlLkdldE' + '1ldHJpY3NSZXF1ZXN0TWVzc2FnZUgAUhFnZXRNZXRyaWNzUmVxdWVzdBJdChRnZXRTZXJ2ZXJJ' + 'bmZvUmVxdWVzdBjECCABKAsyJi5wcm90b3dpcmUuR2V0U2VydmVySW5mb1JlcXVlc3RNZXNzYW' + 'dlSABSFGdldFNlcnZlckluZm9SZXF1ZXN0El0KFGdldFN5bmNTdGF0dXNSZXF1ZXN0GMYIIAEo' + 'CzImLnByb3Rvd2lyZS5HZXRTeW5jU3RhdHVzUmVxdWVzdE1lc3NhZ2VIAFIUZ2V0U3luY1N0YX' + 'R1c1JlcXVlc3QSigEKI2dldERhYVNjb3JlVGltZXN0YW1wRXN0aW1hdGVSZXF1ZXN0GMgIIAEo' + 'CzI1LnByb3Rvd2lyZS5HZXREYWFTY29yZVRpbWVzdGFtcEVzdGltYXRlUmVxdWVzdE1lc3NhZ2' + 'VIAFIjZ2V0RGFhU2NvcmVUaW1lc3RhbXBFc3RpbWF0ZVJlcXVlc3QSigEKI3N1Ym1pdFRyYW5z' + 'YWN0aW9uUmVwbGFjZW1lbnRSZXF1ZXN0GMwIIAEoCzI1LnByb3Rvd2lyZS5TdWJtaXRUcmFuc2' + 'FjdGlvblJlcGxhY2VtZW50UmVxdWVzdE1lc3NhZ2VIAFIjc3VibWl0VHJhbnNhY3Rpb25SZXBs' + 'YWNlbWVudFJlcXVlc3QSYAoVZ2V0Q29ubmVjdGlvbnNSZXF1ZXN0GM4IIAEoCzInLnByb3Rvd2' + 'lyZS5HZXRDb25uZWN0aW9uc1JlcXVlc3RNZXNzYWdlSABSFWdldENvbm5lY3Rpb25zUmVxdWVz' + 'dBJdChRnZXRTeXN0ZW1JbmZvUmVxdWVzdBjQCCABKAsyJi5wcm90b3dpcmUuR2V0U3lzdGVtSW' + '5mb1JlcXVlc3RNZXNzYWdlSABSFGdldFN5c3RlbUluZm9SZXF1ZXN0EmAKFWdldEZlZUVzdGlt' + 'YXRlUmVxdWVzdBjSCCABKAsyJy5wcm90b3dpcmUuR2V0RmVlRXN0aW1hdGVSZXF1ZXN0TWVzc2' + 'FnZUgAUhVnZXRGZWVFc3RpbWF0ZVJlcXVlc3QShAEKIWdldEZlZUVzdGltYXRlRXhwZXJpbWVu' + 'dGFsUmVxdWVzdBjUCCABKAsyMy5wcm90b3dpcmUuR2V0RmVlRXN0aW1hdGVFeHBlcmltZW50YW' + 'xSZXF1ZXN0TWVzc2FnZUgAUiFnZXRGZWVFc3RpbWF0ZUV4cGVyaW1lbnRhbFJlcXVlc3QScgob' + 'Z2V0Q3VycmVudEJsb2NrQ29sb3JSZXF1ZXN0GNYIIAEoCzItLnByb3Rvd2lyZS5HZXRDdXJyZW' + '50QmxvY2tDb2xvclJlcXVlc3RNZXNzYWdlSABSG2dldEN1cnJlbnRCbG9ja0NvbG9yUmVxdWVz' + 'dEIJCgdwYXlsb2Fk'); + +@$core.Deprecated('Use karlsendResponseDescriptor instead') +const KarlsendResponse$json = { + '1': 'KarlsendResponse', + '2': [ + {'1': 'id', '3': 101, '4': 1, '5': 4, '10': 'id'}, + {'1': 'getCurrentNetworkResponse', '3': 1002, '4': 1, '5': 11, '6': '.protowire.GetCurrentNetworkResponseMessage', '9': 0, '10': 'getCurrentNetworkResponse'}, + {'1': 'submitBlockResponse', '3': 1004, '4': 1, '5': 11, '6': '.protowire.SubmitBlockResponseMessage', '9': 0, '10': 'submitBlockResponse'}, + {'1': 'getBlockTemplateResponse', '3': 1006, '4': 1, '5': 11, '6': '.protowire.GetBlockTemplateResponseMessage', '9': 0, '10': 'getBlockTemplateResponse'}, + {'1': 'notifyBlockAddedResponse', '3': 1008, '4': 1, '5': 11, '6': '.protowire.NotifyBlockAddedResponseMessage', '9': 0, '10': 'notifyBlockAddedResponse'}, + {'1': 'blockAddedNotification', '3': 1009, '4': 1, '5': 11, '6': '.protowire.BlockAddedNotificationMessage', '9': 0, '10': 'blockAddedNotification'}, + {'1': 'getPeerAddressesResponse', '3': 1011, '4': 1, '5': 11, '6': '.protowire.GetPeerAddressesResponseMessage', '9': 0, '10': 'getPeerAddressesResponse'}, + {'1': 'GetSinkResponse', '3': 1013, '4': 1, '5': 11, '6': '.protowire.GetSinkResponseMessage', '9': 0, '10': 'GetSinkResponse'}, + {'1': 'getMempoolEntryResponse', '3': 1015, '4': 1, '5': 11, '6': '.protowire.GetMempoolEntryResponseMessage', '9': 0, '10': 'getMempoolEntryResponse'}, + {'1': 'getConnectedPeerInfoResponse', '3': 1017, '4': 1, '5': 11, '6': '.protowire.GetConnectedPeerInfoResponseMessage', '9': 0, '10': 'getConnectedPeerInfoResponse'}, + {'1': 'addPeerResponse', '3': 1019, '4': 1, '5': 11, '6': '.protowire.AddPeerResponseMessage', '9': 0, '10': 'addPeerResponse'}, + {'1': 'submitTransactionResponse', '3': 1021, '4': 1, '5': 11, '6': '.protowire.SubmitTransactionResponseMessage', '9': 0, '10': 'submitTransactionResponse'}, + {'1': 'notifyVirtualChainChangedResponse', '3': 1023, '4': 1, '5': 11, '6': '.protowire.NotifyVirtualChainChangedResponseMessage', '9': 0, '10': 'notifyVirtualChainChangedResponse'}, + {'1': 'virtualChainChangedNotification', '3': 1024, '4': 1, '5': 11, '6': '.protowire.VirtualChainChangedNotificationMessage', '9': 0, '10': 'virtualChainChangedNotification'}, + {'1': 'getBlockResponse', '3': 1026, '4': 1, '5': 11, '6': '.protowire.GetBlockResponseMessage', '9': 0, '10': 'getBlockResponse'}, + {'1': 'getSubnetworkResponse', '3': 1028, '4': 1, '5': 11, '6': '.protowire.GetSubnetworkResponseMessage', '9': 0, '10': 'getSubnetworkResponse'}, + {'1': 'getVirtualChainFromBlockResponse', '3': 1030, '4': 1, '5': 11, '6': '.protowire.GetVirtualChainFromBlockResponseMessage', '9': 0, '10': 'getVirtualChainFromBlockResponse'}, + {'1': 'getBlocksResponse', '3': 1032, '4': 1, '5': 11, '6': '.protowire.GetBlocksResponseMessage', '9': 0, '10': 'getBlocksResponse'}, + {'1': 'getBlockCountResponse', '3': 1034, '4': 1, '5': 11, '6': '.protowire.GetBlockCountResponseMessage', '9': 0, '10': 'getBlockCountResponse'}, + {'1': 'getBlockDagInfoResponse', '3': 1036, '4': 1, '5': 11, '6': '.protowire.GetBlockDagInfoResponseMessage', '9': 0, '10': 'getBlockDagInfoResponse'}, + {'1': 'resolveFinalityConflictResponse', '3': 1038, '4': 1, '5': 11, '6': '.protowire.ResolveFinalityConflictResponseMessage', '9': 0, '10': 'resolveFinalityConflictResponse'}, + {'1': 'notifyFinalityConflictResponse', '3': 1040, '4': 1, '5': 11, '6': '.protowire.NotifyFinalityConflictResponseMessage', '9': 0, '10': 'notifyFinalityConflictResponse'}, + {'1': 'finalityConflictNotification', '3': 1041, '4': 1, '5': 11, '6': '.protowire.FinalityConflictNotificationMessage', '9': 0, '10': 'finalityConflictNotification'}, + {'1': 'finalityConflictResolvedNotification', '3': 1042, '4': 1, '5': 11, '6': '.protowire.FinalityConflictResolvedNotificationMessage', '9': 0, '10': 'finalityConflictResolvedNotification'}, + {'1': 'getMempoolEntriesResponse', '3': 1044, '4': 1, '5': 11, '6': '.protowire.GetMempoolEntriesResponseMessage', '9': 0, '10': 'getMempoolEntriesResponse'}, + {'1': 'shutdownResponse', '3': 1046, '4': 1, '5': 11, '6': '.protowire.ShutdownResponseMessage', '9': 0, '10': 'shutdownResponse'}, + {'1': 'getHeadersResponse', '3': 1048, '4': 1, '5': 11, '6': '.protowire.GetHeadersResponseMessage', '9': 0, '10': 'getHeadersResponse'}, + {'1': 'notifyUtxosChangedResponse', '3': 1050, '4': 1, '5': 11, '6': '.protowire.NotifyUtxosChangedResponseMessage', '9': 0, '10': 'notifyUtxosChangedResponse'}, + {'1': 'utxosChangedNotification', '3': 1051, '4': 1, '5': 11, '6': '.protowire.UtxosChangedNotificationMessage', '9': 0, '10': 'utxosChangedNotification'}, + {'1': 'getUtxosByAddressesResponse', '3': 1053, '4': 1, '5': 11, '6': '.protowire.GetUtxosByAddressesResponseMessage', '9': 0, '10': 'getUtxosByAddressesResponse'}, + {'1': 'getSinkBlueScoreResponse', '3': 1055, '4': 1, '5': 11, '6': '.protowire.GetSinkBlueScoreResponseMessage', '9': 0, '10': 'getSinkBlueScoreResponse'}, + {'1': 'notifySinkBlueScoreChangedResponse', '3': 1057, '4': 1, '5': 11, '6': '.protowire.NotifySinkBlueScoreChangedResponseMessage', '9': 0, '10': 'notifySinkBlueScoreChangedResponse'}, + {'1': 'sinkBlueScoreChangedNotification', '3': 1058, '4': 1, '5': 11, '6': '.protowire.SinkBlueScoreChangedNotificationMessage', '9': 0, '10': 'sinkBlueScoreChangedNotification'}, + {'1': 'banResponse', '3': 1060, '4': 1, '5': 11, '6': '.protowire.BanResponseMessage', '9': 0, '10': 'banResponse'}, + {'1': 'unbanResponse', '3': 1062, '4': 1, '5': 11, '6': '.protowire.UnbanResponseMessage', '9': 0, '10': 'unbanResponse'}, + {'1': 'getInfoResponse', '3': 1064, '4': 1, '5': 11, '6': '.protowire.GetInfoResponseMessage', '9': 0, '10': 'getInfoResponse'}, + {'1': 'stopNotifyingUtxosChangedResponse', '3': 1066, '4': 1, '5': 11, '6': '.protowire.StopNotifyingUtxosChangedResponseMessage', '9': 0, '10': 'stopNotifyingUtxosChangedResponse'}, + {'1': 'notifyPruningPointUtxoSetOverrideResponse', '3': 1068, '4': 1, '5': 11, '6': '.protowire.NotifyPruningPointUtxoSetOverrideResponseMessage', '9': 0, '10': 'notifyPruningPointUtxoSetOverrideResponse'}, + {'1': 'pruningPointUtxoSetOverrideNotification', '3': 1069, '4': 1, '5': 11, '6': '.protowire.PruningPointUtxoSetOverrideNotificationMessage', '9': 0, '10': 'pruningPointUtxoSetOverrideNotification'}, + {'1': 'stopNotifyingPruningPointUtxoSetOverrideResponse', '3': 1071, '4': 1, '5': 11, '6': '.protowire.StopNotifyingPruningPointUtxoSetOverrideResponseMessage', '9': 0, '10': 'stopNotifyingPruningPointUtxoSetOverrideResponse'}, + {'1': 'estimateNetworkHashesPerSecondResponse', '3': 1073, '4': 1, '5': 11, '6': '.protowire.EstimateNetworkHashesPerSecondResponseMessage', '9': 0, '10': 'estimateNetworkHashesPerSecondResponse'}, + {'1': 'notifyVirtualDaaScoreChangedResponse', '3': 1075, '4': 1, '5': 11, '6': '.protowire.NotifyVirtualDaaScoreChangedResponseMessage', '9': 0, '10': 'notifyVirtualDaaScoreChangedResponse'}, + {'1': 'virtualDaaScoreChangedNotification', '3': 1076, '4': 1, '5': 11, '6': '.protowire.VirtualDaaScoreChangedNotificationMessage', '9': 0, '10': 'virtualDaaScoreChangedNotification'}, + {'1': 'getBalanceByAddressResponse', '3': 1078, '4': 1, '5': 11, '6': '.protowire.GetBalanceByAddressResponseMessage', '9': 0, '10': 'getBalanceByAddressResponse'}, + {'1': 'getBalancesByAddressesResponse', '3': 1080, '4': 1, '5': 11, '6': '.protowire.GetBalancesByAddressesResponseMessage', '9': 0, '10': 'getBalancesByAddressesResponse'}, + {'1': 'notifyNewBlockTemplateResponse', '3': 1082, '4': 1, '5': 11, '6': '.protowire.NotifyNewBlockTemplateResponseMessage', '9': 0, '10': 'notifyNewBlockTemplateResponse'}, + {'1': 'newBlockTemplateNotification', '3': 1083, '4': 1, '5': 11, '6': '.protowire.NewBlockTemplateNotificationMessage', '9': 0, '10': 'newBlockTemplateNotification'}, + {'1': 'getMempoolEntriesByAddressesResponse', '3': 1085, '4': 1, '5': 11, '6': '.protowire.GetMempoolEntriesByAddressesResponseMessage', '9': 0, '10': 'getMempoolEntriesByAddressesResponse'}, + {'1': 'getCoinSupplyResponse', '3': 1087, '4': 1, '5': 11, '6': '.protowire.GetCoinSupplyResponseMessage', '9': 0, '10': 'getCoinSupplyResponse'}, + {'1': 'pingResponse', '3': 1089, '4': 1, '5': 11, '6': '.protowire.PingResponseMessage', '9': 0, '10': 'pingResponse'}, + {'1': 'getMetricsResponse', '3': 1091, '4': 1, '5': 11, '6': '.protowire.GetMetricsResponseMessage', '9': 0, '10': 'getMetricsResponse'}, + {'1': 'getServerInfoResponse', '3': 1093, '4': 1, '5': 11, '6': '.protowire.GetServerInfoResponseMessage', '9': 0, '10': 'getServerInfoResponse'}, + {'1': 'getSyncStatusResponse', '3': 1095, '4': 1, '5': 11, '6': '.protowire.GetSyncStatusResponseMessage', '9': 0, '10': 'getSyncStatusResponse'}, + {'1': 'getDaaScoreTimestampEstimateResponse', '3': 1097, '4': 1, '5': 11, '6': '.protowire.GetDaaScoreTimestampEstimateResponseMessage', '9': 0, '10': 'getDaaScoreTimestampEstimateResponse'}, + {'1': 'submitTransactionReplacementResponse', '3': 1101, '4': 1, '5': 11, '6': '.protowire.SubmitTransactionReplacementResponseMessage', '9': 0, '10': 'submitTransactionReplacementResponse'}, + {'1': 'getConnectionsResponse', '3': 1103, '4': 1, '5': 11, '6': '.protowire.GetConnectionsResponseMessage', '9': 0, '10': 'getConnectionsResponse'}, + {'1': 'getSystemInfoResponse', '3': 1105, '4': 1, '5': 11, '6': '.protowire.GetSystemInfoResponseMessage', '9': 0, '10': 'getSystemInfoResponse'}, + {'1': 'getFeeEstimateResponse', '3': 1107, '4': 1, '5': 11, '6': '.protowire.GetFeeEstimateResponseMessage', '9': 0, '10': 'getFeeEstimateResponse'}, + {'1': 'getFeeEstimateExperimentalResponse', '3': 1109, '4': 1, '5': 11, '6': '.protowire.GetFeeEstimateExperimentalResponseMessage', '9': 0, '10': 'getFeeEstimateExperimentalResponse'}, + {'1': 'getCurrentBlockColorResponse', '3': 1111, '4': 1, '5': 11, '6': '.protowire.GetCurrentBlockColorResponseMessage', '9': 0, '10': 'getCurrentBlockColorResponse'}, ], - '8': const [ - const {'1': 'payload'}, + '8': [ + {'1': 'payload'}, ], }; -/// Descriptor for `KarlsendMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List karlsendMessageDescriptor = $convert.base64Decode( - 'Cg9LYXJsc2VuZE1lc3NhZ2USOwoJYWRkcmVzc2VzGAEgASgLMhsucHJvdG93aXJlLkFkZHJlc3Nlc01lc3NhZ2VIAFIJYWRkcmVzc2VzEi8KBWJsb2NrGAIgASgLMhcucHJvdG93aXJlLkJsb2NrTWVzc2FnZUgAUgVibG9jaxJBCgt0cmFuc2FjdGlvbhgDIAEoCzIdLnByb3Rvd2lyZS5UcmFuc2FjdGlvbk1lc3NhZ2VIAFILdHJhbnNhY3Rpb24SRAoMYmxvY2tMb2NhdG9yGAUgASgLMh4ucHJvdG93aXJlLkJsb2NrTG9jYXRvck1lc3NhZ2VIAFIMYmxvY2tMb2NhdG9yElAKEHJlcXVlc3RBZGRyZXNzZXMYBiABKAsyIi5wcm90b3dpcmUuUmVxdWVzdEFkZHJlc3Nlc01lc3NhZ2VIAFIQcmVxdWVzdEFkZHJlc3NlcxJWChJyZXF1ZXN0UmVsYXlCbG9ja3MYCiABKAsyJC5wcm90b3dpcmUuUmVxdWVzdFJlbGF5QmxvY2tzTWVzc2FnZUgAUhJyZXF1ZXN0UmVsYXlCbG9ja3MSWQoTcmVxdWVzdFRyYW5zYWN0aW9ucxgMIAEoCzIlLnByb3Rvd2lyZS5SZXF1ZXN0VHJhbnNhY3Rpb25zTWVzc2FnZUgAUhNyZXF1ZXN0VHJhbnNhY3Rpb25zEjUKCGliZEJsb2NrGA0gASgLMhcucHJvdG93aXJlLkJsb2NrTWVzc2FnZUgAUghpYmRCbG9jaxJHCg1pbnZSZWxheUJsb2NrGA4gASgLMh8ucHJvdG93aXJlLkludlJlbGF5QmxvY2tNZXNzYWdlSABSDWludlJlbGF5QmxvY2sSTQoPaW52VHJhbnNhY3Rpb25zGA8gASgLMiEucHJvdG93aXJlLkludlRyYW5zYWN0aW9uc01lc3NhZ2VIAFIPaW52VHJhbnNhY3Rpb25zEiwKBHBpbmcYECABKAsyFi5wcm90b3dpcmUuUGluZ01lc3NhZ2VIAFIEcGluZxIsCgRwb25nGBEgASgLMhYucHJvdG93aXJlLlBvbmdNZXNzYWdlSABSBHBvbmcSMgoGdmVyYWNrGBMgASgLMhgucHJvdG93aXJlLlZlcmFja01lc3NhZ2VIAFIGdmVyYWNrEjUKB3ZlcnNpb24YFCABKAsyGS5wcm90b3dpcmUuVmVyc2lvbk1lc3NhZ2VIAFIHdmVyc2lvbhJZChN0cmFuc2FjdGlvbk5vdEZvdW5kGBUgASgLMiUucHJvdG93aXJlLlRyYW5zYWN0aW9uTm90Rm91bmRNZXNzYWdlSABSE3RyYW5zYWN0aW9uTm90Rm91bmQSMgoGcmVqZWN0GBYgASgLMhgucHJvdG93aXJlLlJlamVjdE1lc3NhZ2VIAFIGcmVqZWN0EmgKGHBydW5pbmdQb2ludFV0eG9TZXRDaHVuaxgZIAEoCzIqLnByb3Rvd2lyZS5QcnVuaW5nUG9pbnRVdHhvU2V0Q2h1bmtNZXNzYWdlSABSGHBydW5pbmdQb2ludFV0eG9TZXRDaHVuaxJQChByZXF1ZXN0SUJEQmxvY2tzGBogASgLMiIucHJvdG93aXJlLlJlcXVlc3RJQkRCbG9ja3NNZXNzYWdlSABSEHJlcXVlc3RJQkRCbG9ja3MSYgoWdW5leHBlY3RlZFBydW5pbmdQb2ludBgbIAEoCzIoLnByb3Rvd2lyZS5VbmV4cGVjdGVkUHJ1bmluZ1BvaW50TWVzc2FnZUgAUhZ1bmV4cGVjdGVkUHJ1bmluZ1BvaW50Ek0KD2liZEJsb2NrTG9jYXRvchgeIAEoCzIhLnByb3Rvd2lyZS5JYmRCbG9ja0xvY2F0b3JNZXNzYWdlSABSD2liZEJsb2NrTG9jYXRvchJuChppYmRCbG9ja0xvY2F0b3JIaWdoZXN0SGFzaBgfIAEoCzIsLnByb3Rvd2lyZS5JYmRCbG9ja0xvY2F0b3JIaWdoZXN0SGFzaE1lc3NhZ2VIAFIaaWJkQmxvY2tMb2NhdG9ySGlnaGVzdEhhc2gSiQEKI3JlcXVlc3ROZXh0UHJ1bmluZ1BvaW50VXR4b1NldENodW5rGCEgASgLMjUucHJvdG93aXJlLlJlcXVlc3ROZXh0UHJ1bmluZ1BvaW50VXR4b1NldENodW5rTWVzc2FnZUgAUiNyZXF1ZXN0TmV4dFBydW5pbmdQb2ludFV0eG9TZXRDaHVuaxJ3Ch1kb25lUHJ1bmluZ1BvaW50VXR4b1NldENodW5rcxgiIAEoCzIvLnByb3Rvd2lyZS5Eb25lUHJ1bmluZ1BvaW50VXR4b1NldENodW5rc01lc3NhZ2VIAFIdZG9uZVBydW5pbmdQb2ludFV0eG9TZXRDaHVua3MShgEKImliZEJsb2NrTG9jYXRvckhpZ2hlc3RIYXNoTm90Rm91bmQYIyABKAsyNC5wcm90b3dpcmUuSWJkQmxvY2tMb2NhdG9ySGlnaGVzdEhhc2hOb3RGb3VuZE1lc3NhZ2VIAFIiaWJkQmxvY2tMb2NhdG9ySGlnaGVzdEhhc2hOb3RGb3VuZBJcChRibG9ja1dpdGhUcnVzdGVkRGF0YRgkIAEoCzImLnByb3Rvd2lyZS5CbG9ja1dpdGhUcnVzdGVkRGF0YU1lc3NhZ2VIAFIUYmxvY2tXaXRoVHJ1c3RlZERhdGESawoZZG9uZUJsb2Nrc1dpdGhUcnVzdGVkRGF0YRglIAEoCzIrLnByb3Rvd2lyZS5Eb25lQmxvY2tzV2l0aFRydXN0ZWREYXRhTWVzc2FnZUgAUhlkb25lQmxvY2tzV2l0aFRydXN0ZWREYXRhEoMBCiFyZXF1ZXN0UHJ1bmluZ1BvaW50QW5kSXRzQW50aWNvbmUYKCABKAsyMy5wcm90b3dpcmUuUmVxdWVzdFBydW5pbmdQb2ludEFuZEl0c0FudGljb25lTWVzc2FnZUgAUiFyZXF1ZXN0UHJ1bmluZ1BvaW50QW5kSXRzQW50aWNvbmUSRAoMYmxvY2tIZWFkZXJzGCkgASgLMh4ucHJvdG93aXJlLkJsb2NrSGVhZGVyc01lc3NhZ2VIAFIMYmxvY2tIZWFkZXJzElYKEnJlcXVlc3ROZXh0SGVhZGVycxgqIAEoCzIkLnByb3Rvd2lyZS5SZXF1ZXN0TmV4dEhlYWRlcnNNZXNzYWdlSABSEnJlcXVlc3ROZXh0SGVhZGVycxJBCgtEb25lSGVhZGVycxgrIAEoCzIdLnByb3Rvd2lyZS5Eb25lSGVhZGVyc01lc3NhZ2VIAFILRG9uZUhlYWRlcnMSbgoacmVxdWVzdFBydW5pbmdQb2ludFVUWE9TZXQYLCABKAsyLC5wcm90b3dpcmUuUmVxdWVzdFBydW5pbmdQb2ludFVUWE9TZXRNZXNzYWdlSABSGnJlcXVlc3RQcnVuaW5nUG9pbnRVVFhPU2V0EkoKDnJlcXVlc3RIZWFkZXJzGC0gASgLMiAucHJvdG93aXJlLlJlcXVlc3RIZWFkZXJzTWVzc2FnZUgAUg5yZXF1ZXN0SGVhZGVycxJZChNyZXF1ZXN0QmxvY2tMb2NhdG9yGC4gASgLMiUucHJvdG93aXJlLlJlcXVlc3RCbG9ja0xvY2F0b3JNZXNzYWdlSABSE3JlcXVlc3RCbG9ja0xvY2F0b3ISRwoNcHJ1bmluZ1BvaW50cxgvIAEoCzIfLnByb3Rvd2lyZS5QcnVuaW5nUG9pbnRzTWVzc2FnZUgAUg1wcnVuaW5nUG9pbnRzEmgKGHJlcXVlc3RQcnVuaW5nUG9pbnRQcm9vZhgwIAEoCzIqLnByb3Rvd2lyZS5SZXF1ZXN0UHJ1bmluZ1BvaW50UHJvb2ZNZXNzYWdlSABSGHJlcXVlc3RQcnVuaW5nUG9pbnRQcm9vZhJTChFwcnVuaW5nUG9pbnRQcm9vZhgxIAEoCzIjLnByb3Rvd2lyZS5QcnVuaW5nUG9pbnRQcm9vZk1lc3NhZ2VIAFIRcHJ1bmluZ1BvaW50UHJvb2YSLwoFcmVhZHkYMiABKAsyFy5wcm90b3dpcmUuUmVhZHlNZXNzYWdlSABSBXJlYWR5EmIKFmJsb2NrV2l0aFRydXN0ZWREYXRhVjQYMyABKAsyKC5wcm90b3dpcmUuQmxvY2tXaXRoVHJ1c3RlZERhdGFWNE1lc3NhZ2VIAFIWYmxvY2tXaXRoVHJ1c3RlZERhdGFWNBJBCgt0cnVzdGVkRGF0YRg0IAEoCzIdLnByb3Rvd2lyZS5UcnVzdGVkRGF0YU1lc3NhZ2VIAFILdHJ1c3RlZERhdGEScQobcmVxdWVzdElCRENoYWluQmxvY2tMb2NhdG9yGDUgASgLMi0ucHJvdG93aXJlLlJlcXVlc3RJQkRDaGFpbkJsb2NrTG9jYXRvck1lc3NhZ2VIAFIbcmVxdWVzdElCRENoYWluQmxvY2tMb2NhdG9yElwKFGliZENoYWluQmxvY2tMb2NhdG9yGDYgASgLMiYucHJvdG93aXJlLkliZENoYWluQmxvY2tMb2NhdG9yTWVzc2FnZUgAUhRpYmRDaGFpbkJsb2NrTG9jYXRvchJNCg9yZXF1ZXN0QW50aWNvbmUYNyABKAsyIS5wcm90b3dpcmUuUmVxdWVzdEFudGljb25lTWVzc2FnZUgAUg9yZXF1ZXN0QW50aWNvbmUSoQEKK3JlcXVlc3ROZXh0UHJ1bmluZ1BvaW50QW5kSXRzQW50aWNvbmVCbG9ja3MYOCABKAsyPS5wcm90b3dpcmUuUmVxdWVzdE5leHRQcnVuaW5nUG9pbnRBbmRJdHNBbnRpY29uZUJsb2Nrc01lc3NhZ2VIAFIrcmVxdWVzdE5leHRQcnVuaW5nUG9pbnRBbmRJdHNBbnRpY29uZUJsb2NrcxJpChhnZXRDdXJyZW50TmV0d29ya1JlcXVlc3QY6QcgASgLMioucHJvdG93aXJlLkdldEN1cnJlbnROZXR3b3JrUmVxdWVzdE1lc3NhZ2VIAFIYZ2V0Q3VycmVudE5ldHdvcmtSZXF1ZXN0EmwKGWdldEN1cnJlbnROZXR3b3JrUmVzcG9uc2UY6gcgASgLMisucHJvdG93aXJlLkdldEN1cnJlbnROZXR3b3JrUmVzcG9uc2VNZXNzYWdlSABSGWdldEN1cnJlbnROZXR3b3JrUmVzcG9uc2USVwoSc3VibWl0QmxvY2tSZXF1ZXN0GOsHIAEoCzIkLnByb3Rvd2lyZS5TdWJtaXRCbG9ja1JlcXVlc3RNZXNzYWdlSABSEnN1Ym1pdEJsb2NrUmVxdWVzdBJaChNzdWJtaXRCbG9ja1Jlc3BvbnNlGOwHIAEoCzIlLnByb3Rvd2lyZS5TdWJtaXRCbG9ja1Jlc3BvbnNlTWVzc2FnZUgAUhNzdWJtaXRCbG9ja1Jlc3BvbnNlEmYKF2dldEJsb2NrVGVtcGxhdGVSZXF1ZXN0GO0HIAEoCzIpLnByb3Rvd2lyZS5HZXRCbG9ja1RlbXBsYXRlUmVxdWVzdE1lc3NhZ2VIAFIXZ2V0QmxvY2tUZW1wbGF0ZVJlcXVlc3QSaQoYZ2V0QmxvY2tUZW1wbGF0ZVJlc3BvbnNlGO4HIAEoCzIqLnByb3Rvd2lyZS5HZXRCbG9ja1RlbXBsYXRlUmVzcG9uc2VNZXNzYWdlSABSGGdldEJsb2NrVGVtcGxhdGVSZXNwb25zZRJmChdub3RpZnlCbG9ja0FkZGVkUmVxdWVzdBjvByABKAsyKS5wcm90b3dpcmUuTm90aWZ5QmxvY2tBZGRlZFJlcXVlc3RNZXNzYWdlSABSF25vdGlmeUJsb2NrQWRkZWRSZXF1ZXN0EmkKGG5vdGlmeUJsb2NrQWRkZWRSZXNwb25zZRjwByABKAsyKi5wcm90b3dpcmUuTm90aWZ5QmxvY2tBZGRlZFJlc3BvbnNlTWVzc2FnZUgAUhhub3RpZnlCbG9ja0FkZGVkUmVzcG9uc2USYwoWYmxvY2tBZGRlZE5vdGlmaWNhdGlvbhjxByABKAsyKC5wcm90b3dpcmUuQmxvY2tBZGRlZE5vdGlmaWNhdGlvbk1lc3NhZ2VIAFIWYmxvY2tBZGRlZE5vdGlmaWNhdGlvbhJmChdnZXRQZWVyQWRkcmVzc2VzUmVxdWVzdBjyByABKAsyKS5wcm90b3dpcmUuR2V0UGVlckFkZHJlc3Nlc1JlcXVlc3RNZXNzYWdlSABSF2dldFBlZXJBZGRyZXNzZXNSZXF1ZXN0EmkKGGdldFBlZXJBZGRyZXNzZXNSZXNwb25zZRjzByABKAsyKi5wcm90b3dpcmUuR2V0UGVlckFkZHJlc3Nlc1Jlc3BvbnNlTWVzc2FnZUgAUhhnZXRQZWVyQWRkcmVzc2VzUmVzcG9uc2USbAoZZ2V0U2VsZWN0ZWRUaXBIYXNoUmVxdWVzdBj0ByABKAsyKy5wcm90b3dpcmUuR2V0U2VsZWN0ZWRUaXBIYXNoUmVxdWVzdE1lc3NhZ2VIAFIZZ2V0U2VsZWN0ZWRUaXBIYXNoUmVxdWVzdBJvChpnZXRTZWxlY3RlZFRpcEhhc2hSZXNwb25zZRj1ByABKAsyLC5wcm90b3dpcmUuR2V0U2VsZWN0ZWRUaXBIYXNoUmVzcG9uc2VNZXNzYWdlSABSGmdldFNlbGVjdGVkVGlwSGFzaFJlc3BvbnNlEmMKFmdldE1lbXBvb2xFbnRyeVJlcXVlc3QY9gcgASgLMigucHJvdG93aXJlLkdldE1lbXBvb2xFbnRyeVJlcXVlc3RNZXNzYWdlSABSFmdldE1lbXBvb2xFbnRyeVJlcXVlc3QSZgoXZ2V0TWVtcG9vbEVudHJ5UmVzcG9uc2UY9wcgASgLMikucHJvdG93aXJlLkdldE1lbXBvb2xFbnRyeVJlc3BvbnNlTWVzc2FnZUgAUhdnZXRNZW1wb29sRW50cnlSZXNwb25zZRJyChtnZXRDb25uZWN0ZWRQZWVySW5mb1JlcXVlc3QY+AcgASgLMi0ucHJvdG93aXJlLkdldENvbm5lY3RlZFBlZXJJbmZvUmVxdWVzdE1lc3NhZ2VIAFIbZ2V0Q29ubmVjdGVkUGVlckluZm9SZXF1ZXN0EnUKHGdldENvbm5lY3RlZFBlZXJJbmZvUmVzcG9uc2UY+QcgASgLMi4ucHJvdG93aXJlLkdldENvbm5lY3RlZFBlZXJJbmZvUmVzcG9uc2VNZXNzYWdlSABSHGdldENvbm5lY3RlZFBlZXJJbmZvUmVzcG9uc2USSwoOYWRkUGVlclJlcXVlc3QY+gcgASgLMiAucHJvdG93aXJlLkFkZFBlZXJSZXF1ZXN0TWVzc2FnZUgAUg5hZGRQZWVyUmVxdWVzdBJOCg9hZGRQZWVyUmVzcG9uc2UY+wcgASgLMiEucHJvdG93aXJlLkFkZFBlZXJSZXNwb25zZU1lc3NhZ2VIAFIPYWRkUGVlclJlc3BvbnNlEmkKGHN1Ym1pdFRyYW5zYWN0aW9uUmVxdWVzdBj8ByABKAsyKi5wcm90b3dpcmUuU3VibWl0VHJhbnNhY3Rpb25SZXF1ZXN0TWVzc2FnZUgAUhhzdWJtaXRUcmFuc2FjdGlvblJlcXVlc3QSbAoZc3VibWl0VHJhbnNhY3Rpb25SZXNwb25zZRj9ByABKAsyKy5wcm90b3dpcmUuU3VibWl0VHJhbnNhY3Rpb25SZXNwb25zZU1lc3NhZ2VIAFIZc3VibWl0VHJhbnNhY3Rpb25SZXNwb25zZRKrAQoubm90aWZ5VmlydHVhbFNlbGVjdGVkUGFyZW50Q2hhaW5DaGFuZ2VkUmVxdWVzdBj+ByABKAsyQC5wcm90b3dpcmUuTm90aWZ5VmlydHVhbFNlbGVjdGVkUGFyZW50Q2hhaW5DaGFuZ2VkUmVxdWVzdE1lc3NhZ2VIAFIubm90aWZ5VmlydHVhbFNlbGVjdGVkUGFyZW50Q2hhaW5DaGFuZ2VkUmVxdWVzdBKuAQovbm90aWZ5VmlydHVhbFNlbGVjdGVkUGFyZW50Q2hhaW5DaGFuZ2VkUmVzcG9uc2UY/wcgASgLMkEucHJvdG93aXJlLk5vdGlmeVZpcnR1YWxTZWxlY3RlZFBhcmVudENoYWluQ2hhbmdlZFJlc3BvbnNlTWVzc2FnZUgAUi9ub3RpZnlWaXJ0dWFsU2VsZWN0ZWRQYXJlbnRDaGFpbkNoYW5nZWRSZXNwb25zZRKoAQotdmlydHVhbFNlbGVjdGVkUGFyZW50Q2hhaW5DaGFuZ2VkTm90aWZpY2F0aW9uGIAIIAEoCzI/LnByb3Rvd2lyZS5WaXJ0dWFsU2VsZWN0ZWRQYXJlbnRDaGFpbkNoYW5nZWROb3RpZmljYXRpb25NZXNzYWdlSABSLXZpcnR1YWxTZWxlY3RlZFBhcmVudENoYWluQ2hhbmdlZE5vdGlmaWNhdGlvbhJOCg9nZXRCbG9ja1JlcXVlc3QYgQggASgLMiEucHJvdG93aXJlLkdldEJsb2NrUmVxdWVzdE1lc3NhZ2VIAFIPZ2V0QmxvY2tSZXF1ZXN0ElEKEGdldEJsb2NrUmVzcG9uc2UYggggASgLMiIucHJvdG93aXJlLkdldEJsb2NrUmVzcG9uc2VNZXNzYWdlSABSEGdldEJsb2NrUmVzcG9uc2USXQoUZ2V0U3VibmV0d29ya1JlcXVlc3QYgwggASgLMiYucHJvdG93aXJlLkdldFN1Ym5ldHdvcmtSZXF1ZXN0TWVzc2FnZUgAUhRnZXRTdWJuZXR3b3JrUmVxdWVzdBJgChVnZXRTdWJuZXR3b3JrUmVzcG9uc2UYhAggASgLMicucHJvdG93aXJlLkdldFN1Ym5ldHdvcmtSZXNwb25zZU1lc3NhZ2VIAFIVZ2V0U3VibmV0d29ya1Jlc3BvbnNlEqgBCi1nZXRWaXJ0dWFsU2VsZWN0ZWRQYXJlbnRDaGFpbkZyb21CbG9ja1JlcXVlc3QYhQggASgLMj8ucHJvdG93aXJlLkdldFZpcnR1YWxTZWxlY3RlZFBhcmVudENoYWluRnJvbUJsb2NrUmVxdWVzdE1lc3NhZ2VIAFItZ2V0VmlydHVhbFNlbGVjdGVkUGFyZW50Q2hhaW5Gcm9tQmxvY2tSZXF1ZXN0EqsBCi5nZXRWaXJ0dWFsU2VsZWN0ZWRQYXJlbnRDaGFpbkZyb21CbG9ja1Jlc3BvbnNlGIYIIAEoCzJALnByb3Rvd2lyZS5HZXRWaXJ0dWFsU2VsZWN0ZWRQYXJlbnRDaGFpbkZyb21CbG9ja1Jlc3BvbnNlTWVzc2FnZUgAUi5nZXRWaXJ0dWFsU2VsZWN0ZWRQYXJlbnRDaGFpbkZyb21CbG9ja1Jlc3BvbnNlElEKEGdldEJsb2Nrc1JlcXVlc3QYhwggASgLMiIucHJvdG93aXJlLkdldEJsb2Nrc1JlcXVlc3RNZXNzYWdlSABSEGdldEJsb2Nrc1JlcXVlc3QSVAoRZ2V0QmxvY2tzUmVzcG9uc2UYiAggASgLMiMucHJvdG93aXJlLkdldEJsb2Nrc1Jlc3BvbnNlTWVzc2FnZUgAUhFnZXRCbG9ja3NSZXNwb25zZRJdChRnZXRCbG9ja0NvdW50UmVxdWVzdBiJCCABKAsyJi5wcm90b3dpcmUuR2V0QmxvY2tDb3VudFJlcXVlc3RNZXNzYWdlSABSFGdldEJsb2NrQ291bnRSZXF1ZXN0EmAKFWdldEJsb2NrQ291bnRSZXNwb25zZRiKCCABKAsyJy5wcm90b3dpcmUuR2V0QmxvY2tDb3VudFJlc3BvbnNlTWVzc2FnZUgAUhVnZXRCbG9ja0NvdW50UmVzcG9uc2USYwoWZ2V0QmxvY2tEYWdJbmZvUmVxdWVzdBiLCCABKAsyKC5wcm90b3dpcmUuR2V0QmxvY2tEYWdJbmZvUmVxdWVzdE1lc3NhZ2VIAFIWZ2V0QmxvY2tEYWdJbmZvUmVxdWVzdBJmChdnZXRCbG9ja0RhZ0luZm9SZXNwb25zZRiMCCABKAsyKS5wcm90b3dpcmUuR2V0QmxvY2tEYWdJbmZvUmVzcG9uc2VNZXNzYWdlSABSF2dldEJsb2NrRGFnSW5mb1Jlc3BvbnNlEnsKHnJlc29sdmVGaW5hbGl0eUNvbmZsaWN0UmVxdWVzdBiNCCABKAsyMC5wcm90b3dpcmUuUmVzb2x2ZUZpbmFsaXR5Q29uZmxpY3RSZXF1ZXN0TWVzc2FnZUgAUh5yZXNvbHZlRmluYWxpdHlDb25mbGljdFJlcXVlc3QSfgofcmVzb2x2ZUZpbmFsaXR5Q29uZmxpY3RSZXNwb25zZRiOCCABKAsyMS5wcm90b3dpcmUuUmVzb2x2ZUZpbmFsaXR5Q29uZmxpY3RSZXNwb25zZU1lc3NhZ2VIAFIfcmVzb2x2ZUZpbmFsaXR5Q29uZmxpY3RSZXNwb25zZRJ7Ch5ub3RpZnlGaW5hbGl0eUNvbmZsaWN0c1JlcXVlc3QYjwggASgLMjAucHJvdG93aXJlLk5vdGlmeUZpbmFsaXR5Q29uZmxpY3RzUmVxdWVzdE1lc3NhZ2VIAFIebm90aWZ5RmluYWxpdHlDb25mbGljdHNSZXF1ZXN0En4KH25vdGlmeUZpbmFsaXR5Q29uZmxpY3RzUmVzcG9uc2UYkAggASgLMjEucHJvdG93aXJlLk5vdGlmeUZpbmFsaXR5Q29uZmxpY3RzUmVzcG9uc2VNZXNzYWdlSABSH25vdGlmeUZpbmFsaXR5Q29uZmxpY3RzUmVzcG9uc2USdQocZmluYWxpdHlDb25mbGljdE5vdGlmaWNhdGlvbhiRCCABKAsyLi5wcm90b3dpcmUuRmluYWxpdHlDb25mbGljdE5vdGlmaWNhdGlvbk1lc3NhZ2VIAFIcZmluYWxpdHlDb25mbGljdE5vdGlmaWNhdGlvbhKNAQokZmluYWxpdHlDb25mbGljdFJlc29sdmVkTm90aWZpY2F0aW9uGJIIIAEoCzI2LnByb3Rvd2lyZS5GaW5hbGl0eUNvbmZsaWN0UmVzb2x2ZWROb3RpZmljYXRpb25NZXNzYWdlSABSJGZpbmFsaXR5Q29uZmxpY3RSZXNvbHZlZE5vdGlmaWNhdGlvbhJpChhnZXRNZW1wb29sRW50cmllc1JlcXVlc3QYkwggASgLMioucHJvdG93aXJlLkdldE1lbXBvb2xFbnRyaWVzUmVxdWVzdE1lc3NhZ2VIAFIYZ2V0TWVtcG9vbEVudHJpZXNSZXF1ZXN0EmwKGWdldE1lbXBvb2xFbnRyaWVzUmVzcG9uc2UYlAggASgLMisucHJvdG93aXJlLkdldE1lbXBvb2xFbnRyaWVzUmVzcG9uc2VNZXNzYWdlSABSGWdldE1lbXBvb2xFbnRyaWVzUmVzcG9uc2USTgoPc2h1dERvd25SZXF1ZXN0GJUIIAEoCzIhLnByb3Rvd2lyZS5TaHV0RG93blJlcXVlc3RNZXNzYWdlSABSD3NodXREb3duUmVxdWVzdBJRChBzaHV0RG93blJlc3BvbnNlGJYIIAEoCzIiLnByb3Rvd2lyZS5TaHV0RG93blJlc3BvbnNlTWVzc2FnZUgAUhBzaHV0RG93blJlc3BvbnNlElQKEWdldEhlYWRlcnNSZXF1ZXN0GJcIIAEoCzIjLnByb3Rvd2lyZS5HZXRIZWFkZXJzUmVxdWVzdE1lc3NhZ2VIAFIRZ2V0SGVhZGVyc1JlcXVlc3QSVwoSZ2V0SGVhZGVyc1Jlc3BvbnNlGJgIIAEoCzIkLnByb3Rvd2lyZS5HZXRIZWFkZXJzUmVzcG9uc2VNZXNzYWdlSABSEmdldEhlYWRlcnNSZXNwb25zZRJsChlub3RpZnlVdHhvc0NoYW5nZWRSZXF1ZXN0GJkIIAEoCzIrLnByb3Rvd2lyZS5Ob3RpZnlVdHhvc0NoYW5nZWRSZXF1ZXN0TWVzc2FnZUgAUhlub3RpZnlVdHhvc0NoYW5nZWRSZXF1ZXN0Em8KGm5vdGlmeVV0eG9zQ2hhbmdlZFJlc3BvbnNlGJoIIAEoCzIsLnByb3Rvd2lyZS5Ob3RpZnlVdHhvc0NoYW5nZWRSZXNwb25zZU1lc3NhZ2VIAFIabm90aWZ5VXR4b3NDaGFuZ2VkUmVzcG9uc2USaQoYdXR4b3NDaGFuZ2VkTm90aWZpY2F0aW9uGJsIIAEoCzIqLnByb3Rvd2lyZS5VdHhvc0NoYW5nZWROb3RpZmljYXRpb25NZXNzYWdlSABSGHV0eG9zQ2hhbmdlZE5vdGlmaWNhdGlvbhJvChpnZXRVdHhvc0J5QWRkcmVzc2VzUmVxdWVzdBicCCABKAsyLC5wcm90b3dpcmUuR2V0VXR4b3NCeUFkZHJlc3Nlc1JlcXVlc3RNZXNzYWdlSABSGmdldFV0eG9zQnlBZGRyZXNzZXNSZXF1ZXN0EnIKG2dldFV0eG9zQnlBZGRyZXNzZXNSZXNwb25zZRidCCABKAsyLS5wcm90b3dpcmUuR2V0VXR4b3NCeUFkZHJlc3Nlc1Jlc3BvbnNlTWVzc2FnZUgAUhtnZXRVdHhvc0J5QWRkcmVzc2VzUmVzcG9uc2USmQEKKGdldFZpcnR1YWxTZWxlY3RlZFBhcmVudEJsdWVTY29yZVJlcXVlc3QYngggASgLMjoucHJvdG93aXJlLkdldFZpcnR1YWxTZWxlY3RlZFBhcmVudEJsdWVTY29yZVJlcXVlc3RNZXNzYWdlSABSKGdldFZpcnR1YWxTZWxlY3RlZFBhcmVudEJsdWVTY29yZVJlcXVlc3QSnAEKKWdldFZpcnR1YWxTZWxlY3RlZFBhcmVudEJsdWVTY29yZVJlc3BvbnNlGJ8IIAEoCzI7LnByb3Rvd2lyZS5HZXRWaXJ0dWFsU2VsZWN0ZWRQYXJlbnRCbHVlU2NvcmVSZXNwb25zZU1lc3NhZ2VIAFIpZ2V0VmlydHVhbFNlbGVjdGVkUGFyZW50Qmx1ZVNjb3JlUmVzcG9uc2UStwEKMm5vdGlmeVZpcnR1YWxTZWxlY3RlZFBhcmVudEJsdWVTY29yZUNoYW5nZWRSZXF1ZXN0GKAIIAEoCzJELnByb3Rvd2lyZS5Ob3RpZnlWaXJ0dWFsU2VsZWN0ZWRQYXJlbnRCbHVlU2NvcmVDaGFuZ2VkUmVxdWVzdE1lc3NhZ2VIAFIybm90aWZ5VmlydHVhbFNlbGVjdGVkUGFyZW50Qmx1ZVNjb3JlQ2hhbmdlZFJlcXVlc3QSugEKM25vdGlmeVZpcnR1YWxTZWxlY3RlZFBhcmVudEJsdWVTY29yZUNoYW5nZWRSZXNwb25zZRihCCABKAsyRS5wcm90b3dpcmUuTm90aWZ5VmlydHVhbFNlbGVjdGVkUGFyZW50Qmx1ZVNjb3JlQ2hhbmdlZFJlc3BvbnNlTWVzc2FnZUgAUjNub3RpZnlWaXJ0dWFsU2VsZWN0ZWRQYXJlbnRCbHVlU2NvcmVDaGFuZ2VkUmVzcG9uc2UStAEKMXZpcnR1YWxTZWxlY3RlZFBhcmVudEJsdWVTY29yZUNoYW5nZWROb3RpZmljYXRpb24YogggASgLMkMucHJvdG93aXJlLlZpcnR1YWxTZWxlY3RlZFBhcmVudEJsdWVTY29yZUNoYW5nZWROb3RpZmljYXRpb25NZXNzYWdlSABSMXZpcnR1YWxTZWxlY3RlZFBhcmVudEJsdWVTY29yZUNoYW5nZWROb3RpZmljYXRpb24SPwoKYmFuUmVxdWVzdBijCCABKAsyHC5wcm90b3dpcmUuQmFuUmVxdWVzdE1lc3NhZ2VIAFIKYmFuUmVxdWVzdBJCCgtiYW5SZXNwb25zZRikCCABKAsyHS5wcm90b3dpcmUuQmFuUmVzcG9uc2VNZXNzYWdlSABSC2JhblJlc3BvbnNlEkUKDHVuYmFuUmVxdWVzdBilCCABKAsyHi5wcm90b3dpcmUuVW5iYW5SZXF1ZXN0TWVzc2FnZUgAUgx1bmJhblJlcXVlc3QSSAoNdW5iYW5SZXNwb25zZRimCCABKAsyHy5wcm90b3dpcmUuVW5iYW5SZXNwb25zZU1lc3NhZ2VIAFINdW5iYW5SZXNwb25zZRJLCg5nZXRJbmZvUmVxdWVzdBinCCABKAsyIC5wcm90b3dpcmUuR2V0SW5mb1JlcXVlc3RNZXNzYWdlSABSDmdldEluZm9SZXF1ZXN0Ek4KD2dldEluZm9SZXNwb25zZRioCCABKAsyIS5wcm90b3dpcmUuR2V0SW5mb1Jlc3BvbnNlTWVzc2FnZUgAUg9nZXRJbmZvUmVzcG9uc2USgQEKIHN0b3BOb3RpZnlpbmdVdHhvc0NoYW5nZWRSZXF1ZXN0GKkIIAEoCzIyLnByb3Rvd2lyZS5TdG9wTm90aWZ5aW5nVXR4b3NDaGFuZ2VkUmVxdWVzdE1lc3NhZ2VIAFIgc3RvcE5vdGlmeWluZ1V0eG9zQ2hhbmdlZFJlcXVlc3QShAEKIXN0b3BOb3RpZnlpbmdVdHhvc0NoYW5nZWRSZXNwb25zZRiqCCABKAsyMy5wcm90b3dpcmUuU3RvcE5vdGlmeWluZ1V0eG9zQ2hhbmdlZFJlc3BvbnNlTWVzc2FnZUgAUiFzdG9wTm90aWZ5aW5nVXR4b3NDaGFuZ2VkUmVzcG9uc2USmQEKKG5vdGlmeVBydW5pbmdQb2ludFVUWE9TZXRPdmVycmlkZVJlcXVlc3QYqwggASgLMjoucHJvdG93aXJlLk5vdGlmeVBydW5pbmdQb2ludFVUWE9TZXRPdmVycmlkZVJlcXVlc3RNZXNzYWdlSABSKG5vdGlmeVBydW5pbmdQb2ludFVUWE9TZXRPdmVycmlkZVJlcXVlc3QSnAEKKW5vdGlmeVBydW5pbmdQb2ludFVUWE9TZXRPdmVycmlkZVJlc3BvbnNlGKwIIAEoCzI7LnByb3Rvd2lyZS5Ob3RpZnlQcnVuaW5nUG9pbnRVVFhPU2V0T3ZlcnJpZGVSZXNwb25zZU1lc3NhZ2VIAFIpbm90aWZ5UHJ1bmluZ1BvaW50VVRYT1NldE92ZXJyaWRlUmVzcG9uc2USlgEKJ3BydW5pbmdQb2ludFVUWE9TZXRPdmVycmlkZU5vdGlmaWNhdGlvbhitCCABKAsyOS5wcm90b3dpcmUuUHJ1bmluZ1BvaW50VVRYT1NldE92ZXJyaWRlTm90aWZpY2F0aW9uTWVzc2FnZUgAUidwcnVuaW5nUG9pbnRVVFhPU2V0T3ZlcnJpZGVOb3RpZmljYXRpb24SrgEKL3N0b3BOb3RpZnlpbmdQcnVuaW5nUG9pbnRVVFhPU2V0T3ZlcnJpZGVSZXF1ZXN0GK4IIAEoCzJBLnByb3Rvd2lyZS5TdG9wTm90aWZ5aW5nUHJ1bmluZ1BvaW50VVRYT1NldE92ZXJyaWRlUmVxdWVzdE1lc3NhZ2VIAFIvc3RvcE5vdGlmeWluZ1BydW5pbmdQb2ludFVUWE9TZXRPdmVycmlkZVJlcXVlc3QSsQEKMHN0b3BOb3RpZnlpbmdQcnVuaW5nUG9pbnRVVFhPU2V0T3ZlcnJpZGVSZXNwb25zZRivCCABKAsyQi5wcm90b3dpcmUuU3RvcE5vdGlmeWluZ1BydW5pbmdQb2ludFVUWE9TZXRPdmVycmlkZVJlc3BvbnNlTWVzc2FnZUgAUjBzdG9wTm90aWZ5aW5nUHJ1bmluZ1BvaW50VVRYT1NldE92ZXJyaWRlUmVzcG9uc2USkAEKJWVzdGltYXRlTmV0d29ya0hhc2hlc1BlclNlY29uZFJlcXVlc3QYsAggASgLMjcucHJvdG93aXJlLkVzdGltYXRlTmV0d29ya0hhc2hlc1BlclNlY29uZFJlcXVlc3RNZXNzYWdlSABSJWVzdGltYXRlTmV0d29ya0hhc2hlc1BlclNlY29uZFJlcXVlc3QSkwEKJmVzdGltYXRlTmV0d29ya0hhc2hlc1BlclNlY29uZFJlc3BvbnNlGLEIIAEoCzI4LnByb3Rvd2lyZS5Fc3RpbWF0ZU5ldHdvcmtIYXNoZXNQZXJTZWNvbmRSZXNwb25zZU1lc3NhZ2VIAFImZXN0aW1hdGVOZXR3b3JrSGFzaGVzUGVyU2Vjb25kUmVzcG9uc2USigEKI25vdGlmeVZpcnR1YWxEYWFTY29yZUNoYW5nZWRSZXF1ZXN0GLIIIAEoCzI1LnByb3Rvd2lyZS5Ob3RpZnlWaXJ0dWFsRGFhU2NvcmVDaGFuZ2VkUmVxdWVzdE1lc3NhZ2VIAFIjbm90aWZ5VmlydHVhbERhYVNjb3JlQ2hhbmdlZFJlcXVlc3QSjQEKJG5vdGlmeVZpcnR1YWxEYWFTY29yZUNoYW5nZWRSZXNwb25zZRizCCABKAsyNi5wcm90b3dpcmUuTm90aWZ5VmlydHVhbERhYVNjb3JlQ2hhbmdlZFJlc3BvbnNlTWVzc2FnZUgAUiRub3RpZnlWaXJ0dWFsRGFhU2NvcmVDaGFuZ2VkUmVzcG9uc2UShwEKInZpcnR1YWxEYWFTY29yZUNoYW5nZWROb3RpZmljYXRpb24YtAggASgLMjQucHJvdG93aXJlLlZpcnR1YWxEYWFTY29yZUNoYW5nZWROb3RpZmljYXRpb25NZXNzYWdlSABSInZpcnR1YWxEYWFTY29yZUNoYW5nZWROb3RpZmljYXRpb24SbwoaZ2V0QmFsYW5jZUJ5QWRkcmVzc1JlcXVlc3QYtQggASgLMiwucHJvdG93aXJlLkdldEJhbGFuY2VCeUFkZHJlc3NSZXF1ZXN0TWVzc2FnZUgAUhpnZXRCYWxhbmNlQnlBZGRyZXNzUmVxdWVzdBJyChtnZXRCYWxhbmNlQnlBZGRyZXNzUmVzcG9uc2UYtgggASgLMi0ucHJvdG93aXJlLkdldEJhbGFuY2VCeUFkZHJlc3NSZXNwb25zZU1lc3NhZ2VIAFIbZ2V0QmFsYW5jZUJ5QWRkcmVzc1Jlc3BvbnNlEngKHWdldEJhbGFuY2VzQnlBZGRyZXNzZXNSZXF1ZXN0GLcIIAEoCzIvLnByb3Rvd2lyZS5HZXRCYWxhbmNlc0J5QWRkcmVzc2VzUmVxdWVzdE1lc3NhZ2VIAFIdZ2V0QmFsYW5jZXNCeUFkZHJlc3Nlc1JlcXVlc3QSewoeZ2V0QmFsYW5jZXNCeUFkZHJlc3Nlc1Jlc3BvbnNlGLgIIAEoCzIwLnByb3Rvd2lyZS5HZXRCYWxhbmNlc0J5QWRkcmVzc2VzUmVzcG9uc2VNZXNzYWdlSABSHmdldEJhbGFuY2VzQnlBZGRyZXNzZXNSZXNwb25zZRJ4Ch1ub3RpZnlOZXdCbG9ja1RlbXBsYXRlUmVxdWVzdBi5CCABKAsyLy5wcm90b3dpcmUuTm90aWZ5TmV3QmxvY2tUZW1wbGF0ZVJlcXVlc3RNZXNzYWdlSABSHW5vdGlmeU5ld0Jsb2NrVGVtcGxhdGVSZXF1ZXN0EnsKHm5vdGlmeU5ld0Jsb2NrVGVtcGxhdGVSZXNwb25zZRi6CCABKAsyMC5wcm90b3dpcmUuTm90aWZ5TmV3QmxvY2tUZW1wbGF0ZVJlc3BvbnNlTWVzc2FnZUgAUh5ub3RpZnlOZXdCbG9ja1RlbXBsYXRlUmVzcG9uc2USdQocbmV3QmxvY2tUZW1wbGF0ZU5vdGlmaWNhdGlvbhi7CCABKAsyLi5wcm90b3dpcmUuTmV3QmxvY2tUZW1wbGF0ZU5vdGlmaWNhdGlvbk1lc3NhZ2VIAFIcbmV3QmxvY2tUZW1wbGF0ZU5vdGlmaWNhdGlvbhKKAQojZ2V0TWVtcG9vbEVudHJpZXNCeUFkZHJlc3Nlc1JlcXVlc3QYvAggASgLMjUucHJvdG93aXJlLkdldE1lbXBvb2xFbnRyaWVzQnlBZGRyZXNzZXNSZXF1ZXN0TWVzc2FnZUgAUiNnZXRNZW1wb29sRW50cmllc0J5QWRkcmVzc2VzUmVxdWVzdBKNAQokZ2V0TWVtcG9vbEVudHJpZXNCeUFkZHJlc3Nlc1Jlc3BvbnNlGL0IIAEoCzI2LnByb3Rvd2lyZS5HZXRNZW1wb29sRW50cmllc0J5QWRkcmVzc2VzUmVzcG9uc2VNZXNzYWdlSABSJGdldE1lbXBvb2xFbnRyaWVzQnlBZGRyZXNzZXNSZXNwb25zZRJdChRnZXRDb2luU3VwcGx5UmVxdWVzdBi+CCABKAsyJi5wcm90b3dpcmUuR2V0Q29pblN1cHBseVJlcXVlc3RNZXNzYWdlSABSFGdldENvaW5TdXBwbHlSZXF1ZXN0EmAKFWdldENvaW5TdXBwbHlSZXNwb25zZRi/CCABKAsyJy5wcm90b3dpcmUuR2V0Q29pblN1cHBseVJlc3BvbnNlTWVzc2FnZUgAUhVnZXRDb2luU3VwcGx5UmVzcG9uc2VCCQoHcGF5bG9hZA=='); +/// Descriptor for `KarlsendResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List karlsendResponseDescriptor = $convert.base64Decode( + 'Cg5LYXNwYWRSZXNwb25zZRIOCgJpZBhlIAEoBFICaWQSbAoZZ2V0Q3VycmVudE5ldHdvcmtSZX' + 'Nwb25zZRjqByABKAsyKy5wcm90b3dpcmUuR2V0Q3VycmVudE5ldHdvcmtSZXNwb25zZU1lc3Nh' + 'Z2VIAFIZZ2V0Q3VycmVudE5ldHdvcmtSZXNwb25zZRJaChNzdWJtaXRCbG9ja1Jlc3BvbnNlGO' + 'wHIAEoCzIlLnByb3Rvd2lyZS5TdWJtaXRCbG9ja1Jlc3BvbnNlTWVzc2FnZUgAUhNzdWJtaXRC' + 'bG9ja1Jlc3BvbnNlEmkKGGdldEJsb2NrVGVtcGxhdGVSZXNwb25zZRjuByABKAsyKi5wcm90b3' + 'dpcmUuR2V0QmxvY2tUZW1wbGF0ZVJlc3BvbnNlTWVzc2FnZUgAUhhnZXRCbG9ja1RlbXBsYXRl' + 'UmVzcG9uc2USaQoYbm90aWZ5QmxvY2tBZGRlZFJlc3BvbnNlGPAHIAEoCzIqLnByb3Rvd2lyZS' + '5Ob3RpZnlCbG9ja0FkZGVkUmVzcG9uc2VNZXNzYWdlSABSGG5vdGlmeUJsb2NrQWRkZWRSZXNw' + 'b25zZRJjChZibG9ja0FkZGVkTm90aWZpY2F0aW9uGPEHIAEoCzIoLnByb3Rvd2lyZS5CbG9ja0' + 'FkZGVkTm90aWZpY2F0aW9uTWVzc2FnZUgAUhZibG9ja0FkZGVkTm90aWZpY2F0aW9uEmkKGGdl' + 'dFBlZXJBZGRyZXNzZXNSZXNwb25zZRjzByABKAsyKi5wcm90b3dpcmUuR2V0UGVlckFkZHJlc3' + 'Nlc1Jlc3BvbnNlTWVzc2FnZUgAUhhnZXRQZWVyQWRkcmVzc2VzUmVzcG9uc2USTgoPR2V0U2lu' + 'a1Jlc3BvbnNlGPUHIAEoCzIhLnByb3Rvd2lyZS5HZXRTaW5rUmVzcG9uc2VNZXNzYWdlSABSD0' + 'dldFNpbmtSZXNwb25zZRJmChdnZXRNZW1wb29sRW50cnlSZXNwb25zZRj3ByABKAsyKS5wcm90' + 'b3dpcmUuR2V0TWVtcG9vbEVudHJ5UmVzcG9uc2VNZXNzYWdlSABSF2dldE1lbXBvb2xFbnRyeV' + 'Jlc3BvbnNlEnUKHGdldENvbm5lY3RlZFBlZXJJbmZvUmVzcG9uc2UY+QcgASgLMi4ucHJvdG93' + 'aXJlLkdldENvbm5lY3RlZFBlZXJJbmZvUmVzcG9uc2VNZXNzYWdlSABSHGdldENvbm5lY3RlZF' + 'BlZXJJbmZvUmVzcG9uc2USTgoPYWRkUGVlclJlc3BvbnNlGPsHIAEoCzIhLnByb3Rvd2lyZS5B' + 'ZGRQZWVyUmVzcG9uc2VNZXNzYWdlSABSD2FkZFBlZXJSZXNwb25zZRJsChlzdWJtaXRUcmFuc2' + 'FjdGlvblJlc3BvbnNlGP0HIAEoCzIrLnByb3Rvd2lyZS5TdWJtaXRUcmFuc2FjdGlvblJlc3Bv' + 'bnNlTWVzc2FnZUgAUhlzdWJtaXRUcmFuc2FjdGlvblJlc3BvbnNlEoQBCiFub3RpZnlWaXJ0dW' + 'FsQ2hhaW5DaGFuZ2VkUmVzcG9uc2UY/wcgASgLMjMucHJvdG93aXJlLk5vdGlmeVZpcnR1YWxD' + 'aGFpbkNoYW5nZWRSZXNwb25zZU1lc3NhZ2VIAFIhbm90aWZ5VmlydHVhbENoYWluQ2hhbmdlZF' + 'Jlc3BvbnNlEn4KH3ZpcnR1YWxDaGFpbkNoYW5nZWROb3RpZmljYXRpb24YgAggASgLMjEucHJv' + 'dG93aXJlLlZpcnR1YWxDaGFpbkNoYW5nZWROb3RpZmljYXRpb25NZXNzYWdlSABSH3ZpcnR1YW' + 'xDaGFpbkNoYW5nZWROb3RpZmljYXRpb24SUQoQZ2V0QmxvY2tSZXNwb25zZRiCCCABKAsyIi5w' + 'cm90b3dpcmUuR2V0QmxvY2tSZXNwb25zZU1lc3NhZ2VIAFIQZ2V0QmxvY2tSZXNwb25zZRJgCh' + 'VnZXRTdWJuZXR3b3JrUmVzcG9uc2UYhAggASgLMicucHJvdG93aXJlLkdldFN1Ym5ldHdvcmtS' + 'ZXNwb25zZU1lc3NhZ2VIAFIVZ2V0U3VibmV0d29ya1Jlc3BvbnNlEoEBCiBnZXRWaXJ0dWFsQ2' + 'hhaW5Gcm9tQmxvY2tSZXNwb25zZRiGCCABKAsyMi5wcm90b3dpcmUuR2V0VmlydHVhbENoYWlu' + 'RnJvbUJsb2NrUmVzcG9uc2VNZXNzYWdlSABSIGdldFZpcnR1YWxDaGFpbkZyb21CbG9ja1Jlc3' + 'BvbnNlElQKEWdldEJsb2Nrc1Jlc3BvbnNlGIgIIAEoCzIjLnByb3Rvd2lyZS5HZXRCbG9ja3NS' + 'ZXNwb25zZU1lc3NhZ2VIAFIRZ2V0QmxvY2tzUmVzcG9uc2USYAoVZ2V0QmxvY2tDb3VudFJlc3' + 'BvbnNlGIoIIAEoCzInLnByb3Rvd2lyZS5HZXRCbG9ja0NvdW50UmVzcG9uc2VNZXNzYWdlSABS' + 'FWdldEJsb2NrQ291bnRSZXNwb25zZRJmChdnZXRCbG9ja0RhZ0luZm9SZXNwb25zZRiMCCABKA' + 'syKS5wcm90b3dpcmUuR2V0QmxvY2tEYWdJbmZvUmVzcG9uc2VNZXNzYWdlSABSF2dldEJsb2Nr' + 'RGFnSW5mb1Jlc3BvbnNlEn4KH3Jlc29sdmVGaW5hbGl0eUNvbmZsaWN0UmVzcG9uc2UYjgggAS' + 'gLMjEucHJvdG93aXJlLlJlc29sdmVGaW5hbGl0eUNvbmZsaWN0UmVzcG9uc2VNZXNzYWdlSABS' + 'H3Jlc29sdmVGaW5hbGl0eUNvbmZsaWN0UmVzcG9uc2USewoebm90aWZ5RmluYWxpdHlDb25mbG' + 'ljdFJlc3BvbnNlGJAIIAEoCzIwLnByb3Rvd2lyZS5Ob3RpZnlGaW5hbGl0eUNvbmZsaWN0UmVz' + 'cG9uc2VNZXNzYWdlSABSHm5vdGlmeUZpbmFsaXR5Q29uZmxpY3RSZXNwb25zZRJ1ChxmaW5hbG' + 'l0eUNvbmZsaWN0Tm90aWZpY2F0aW9uGJEIIAEoCzIuLnByb3Rvd2lyZS5GaW5hbGl0eUNvbmZs' + 'aWN0Tm90aWZpY2F0aW9uTWVzc2FnZUgAUhxmaW5hbGl0eUNvbmZsaWN0Tm90aWZpY2F0aW9uEo' + '0BCiRmaW5hbGl0eUNvbmZsaWN0UmVzb2x2ZWROb3RpZmljYXRpb24YkgggASgLMjYucHJvdG93' + 'aXJlLkZpbmFsaXR5Q29uZmxpY3RSZXNvbHZlZE5vdGlmaWNhdGlvbk1lc3NhZ2VIAFIkZmluYW' + 'xpdHlDb25mbGljdFJlc29sdmVkTm90aWZpY2F0aW9uEmwKGWdldE1lbXBvb2xFbnRyaWVzUmVz' + 'cG9uc2UYlAggASgLMisucHJvdG93aXJlLkdldE1lbXBvb2xFbnRyaWVzUmVzcG9uc2VNZXNzYW' + 'dlSABSGWdldE1lbXBvb2xFbnRyaWVzUmVzcG9uc2USUQoQc2h1dGRvd25SZXNwb25zZRiWCCAB' + 'KAsyIi5wcm90b3dpcmUuU2h1dGRvd25SZXNwb25zZU1lc3NhZ2VIAFIQc2h1dGRvd25SZXNwb2' + '5zZRJXChJnZXRIZWFkZXJzUmVzcG9uc2UYmAggASgLMiQucHJvdG93aXJlLkdldEhlYWRlcnNS' + 'ZXNwb25zZU1lc3NhZ2VIAFISZ2V0SGVhZGVyc1Jlc3BvbnNlEm8KGm5vdGlmeVV0eG9zQ2hhbm' + 'dlZFJlc3BvbnNlGJoIIAEoCzIsLnByb3Rvd2lyZS5Ob3RpZnlVdHhvc0NoYW5nZWRSZXNwb25z' + 'ZU1lc3NhZ2VIAFIabm90aWZ5VXR4b3NDaGFuZ2VkUmVzcG9uc2USaQoYdXR4b3NDaGFuZ2VkTm' + '90aWZpY2F0aW9uGJsIIAEoCzIqLnByb3Rvd2lyZS5VdHhvc0NoYW5nZWROb3RpZmljYXRpb25N' + 'ZXNzYWdlSABSGHV0eG9zQ2hhbmdlZE5vdGlmaWNhdGlvbhJyChtnZXRVdHhvc0J5QWRkcmVzc2' + 'VzUmVzcG9uc2UYnQggASgLMi0ucHJvdG93aXJlLkdldFV0eG9zQnlBZGRyZXNzZXNSZXNwb25z' + 'ZU1lc3NhZ2VIAFIbZ2V0VXR4b3NCeUFkZHJlc3Nlc1Jlc3BvbnNlEmkKGGdldFNpbmtCbHVlU2' + 'NvcmVSZXNwb25zZRifCCABKAsyKi5wcm90b3dpcmUuR2V0U2lua0JsdWVTY29yZVJlc3BvbnNl' + 'TWVzc2FnZUgAUhhnZXRTaW5rQmx1ZVNjb3JlUmVzcG9uc2UShwEKIm5vdGlmeVNpbmtCbHVlU2' + 'NvcmVDaGFuZ2VkUmVzcG9uc2UYoQggASgLMjQucHJvdG93aXJlLk5vdGlmeVNpbmtCbHVlU2Nv' + 'cmVDaGFuZ2VkUmVzcG9uc2VNZXNzYWdlSABSIm5vdGlmeVNpbmtCbHVlU2NvcmVDaGFuZ2VkUm' + 'VzcG9uc2USgQEKIHNpbmtCbHVlU2NvcmVDaGFuZ2VkTm90aWZpY2F0aW9uGKIIIAEoCzIyLnBy' + 'b3Rvd2lyZS5TaW5rQmx1ZVNjb3JlQ2hhbmdlZE5vdGlmaWNhdGlvbk1lc3NhZ2VIAFIgc2lua0' + 'JsdWVTY29yZUNoYW5nZWROb3RpZmljYXRpb24SQgoLYmFuUmVzcG9uc2UYpAggASgLMh0ucHJv' + 'dG93aXJlLkJhblJlc3BvbnNlTWVzc2FnZUgAUgtiYW5SZXNwb25zZRJICg11bmJhblJlc3Bvbn' + 'NlGKYIIAEoCzIfLnByb3Rvd2lyZS5VbmJhblJlc3BvbnNlTWVzc2FnZUgAUg11bmJhblJlc3Bv' + 'bnNlEk4KD2dldEluZm9SZXNwb25zZRioCCABKAsyIS5wcm90b3dpcmUuR2V0SW5mb1Jlc3Bvbn' + 'NlTWVzc2FnZUgAUg9nZXRJbmZvUmVzcG9uc2UShAEKIXN0b3BOb3RpZnlpbmdVdHhvc0NoYW5n' + 'ZWRSZXNwb25zZRiqCCABKAsyMy5wcm90b3dpcmUuU3RvcE5vdGlmeWluZ1V0eG9zQ2hhbmdlZF' + 'Jlc3BvbnNlTWVzc2FnZUgAUiFzdG9wTm90aWZ5aW5nVXR4b3NDaGFuZ2VkUmVzcG9uc2USnAEK' + 'KW5vdGlmeVBydW5pbmdQb2ludFV0eG9TZXRPdmVycmlkZVJlc3BvbnNlGKwIIAEoCzI7LnByb3' + 'Rvd2lyZS5Ob3RpZnlQcnVuaW5nUG9pbnRVdHhvU2V0T3ZlcnJpZGVSZXNwb25zZU1lc3NhZ2VI' + 'AFIpbm90aWZ5UHJ1bmluZ1BvaW50VXR4b1NldE92ZXJyaWRlUmVzcG9uc2USlgEKJ3BydW5pbm' + 'dQb2ludFV0eG9TZXRPdmVycmlkZU5vdGlmaWNhdGlvbhitCCABKAsyOS5wcm90b3dpcmUuUHJ1' + 'bmluZ1BvaW50VXR4b1NldE92ZXJyaWRlTm90aWZpY2F0aW9uTWVzc2FnZUgAUidwcnVuaW5nUG' + '9pbnRVdHhvU2V0T3ZlcnJpZGVOb3RpZmljYXRpb24SsQEKMHN0b3BOb3RpZnlpbmdQcnVuaW5n' + 'UG9pbnRVdHhvU2V0T3ZlcnJpZGVSZXNwb25zZRivCCABKAsyQi5wcm90b3dpcmUuU3RvcE5vdG' + 'lmeWluZ1BydW5pbmdQb2ludFV0eG9TZXRPdmVycmlkZVJlc3BvbnNlTWVzc2FnZUgAUjBzdG9w' + 'Tm90aWZ5aW5nUHJ1bmluZ1BvaW50VXR4b1NldE92ZXJyaWRlUmVzcG9uc2USkwEKJmVzdGltYX' + 'RlTmV0d29ya0hhc2hlc1BlclNlY29uZFJlc3BvbnNlGLEIIAEoCzI4LnByb3Rvd2lyZS5Fc3Rp' + 'bWF0ZU5ldHdvcmtIYXNoZXNQZXJTZWNvbmRSZXNwb25zZU1lc3NhZ2VIAFImZXN0aW1hdGVOZX' + 'R3b3JrSGFzaGVzUGVyU2Vjb25kUmVzcG9uc2USjQEKJG5vdGlmeVZpcnR1YWxEYWFTY29yZUNo' + 'YW5nZWRSZXNwb25zZRizCCABKAsyNi5wcm90b3dpcmUuTm90aWZ5VmlydHVhbERhYVNjb3JlQ2' + 'hhbmdlZFJlc3BvbnNlTWVzc2FnZUgAUiRub3RpZnlWaXJ0dWFsRGFhU2NvcmVDaGFuZ2VkUmVz' + 'cG9uc2UShwEKInZpcnR1YWxEYWFTY29yZUNoYW5nZWROb3RpZmljYXRpb24YtAggASgLMjQucH' + 'JvdG93aXJlLlZpcnR1YWxEYWFTY29yZUNoYW5nZWROb3RpZmljYXRpb25NZXNzYWdlSABSInZp' + 'cnR1YWxEYWFTY29yZUNoYW5nZWROb3RpZmljYXRpb24ScgobZ2V0QmFsYW5jZUJ5QWRkcmVzc1' + 'Jlc3BvbnNlGLYIIAEoCzItLnByb3Rvd2lyZS5HZXRCYWxhbmNlQnlBZGRyZXNzUmVzcG9uc2VN' + 'ZXNzYWdlSABSG2dldEJhbGFuY2VCeUFkZHJlc3NSZXNwb25zZRJ7Ch5nZXRCYWxhbmNlc0J5QW' + 'RkcmVzc2VzUmVzcG9uc2UYuAggASgLMjAucHJvdG93aXJlLkdldEJhbGFuY2VzQnlBZGRyZXNz' + 'ZXNSZXNwb25zZU1lc3NhZ2VIAFIeZ2V0QmFsYW5jZXNCeUFkZHJlc3Nlc1Jlc3BvbnNlEnsKHm' + '5vdGlmeU5ld0Jsb2NrVGVtcGxhdGVSZXNwb25zZRi6CCABKAsyMC5wcm90b3dpcmUuTm90aWZ5' + 'TmV3QmxvY2tUZW1wbGF0ZVJlc3BvbnNlTWVzc2FnZUgAUh5ub3RpZnlOZXdCbG9ja1RlbXBsYX' + 'RlUmVzcG9uc2USdQocbmV3QmxvY2tUZW1wbGF0ZU5vdGlmaWNhdGlvbhi7CCABKAsyLi5wcm90' + 'b3dpcmUuTmV3QmxvY2tUZW1wbGF0ZU5vdGlmaWNhdGlvbk1lc3NhZ2VIAFIcbmV3QmxvY2tUZW' + '1wbGF0ZU5vdGlmaWNhdGlvbhKNAQokZ2V0TWVtcG9vbEVudHJpZXNCeUFkZHJlc3Nlc1Jlc3Bv' + 'bnNlGL0IIAEoCzI2LnByb3Rvd2lyZS5HZXRNZW1wb29sRW50cmllc0J5QWRkcmVzc2VzUmVzcG' + '9uc2VNZXNzYWdlSABSJGdldE1lbXBvb2xFbnRyaWVzQnlBZGRyZXNzZXNSZXNwb25zZRJgChVn' + 'ZXRDb2luU3VwcGx5UmVzcG9uc2UYvwggASgLMicucHJvdG93aXJlLkdldENvaW5TdXBwbHlSZX' + 'Nwb25zZU1lc3NhZ2VIAFIVZ2V0Q29pblN1cHBseVJlc3BvbnNlEkUKDHBpbmdSZXNwb25zZRjB' + 'CCABKAsyHi5wcm90b3dpcmUuUGluZ1Jlc3BvbnNlTWVzc2FnZUgAUgxwaW5nUmVzcG9uc2USVw' + 'oSZ2V0TWV0cmljc1Jlc3BvbnNlGMMIIAEoCzIkLnByb3Rvd2lyZS5HZXRNZXRyaWNzUmVzcG9u' + 'c2VNZXNzYWdlSABSEmdldE1ldHJpY3NSZXNwb25zZRJgChVnZXRTZXJ2ZXJJbmZvUmVzcG9uc2' + 'UYxQggASgLMicucHJvdG93aXJlLkdldFNlcnZlckluZm9SZXNwb25zZU1lc3NhZ2VIAFIVZ2V0' + 'U2VydmVySW5mb1Jlc3BvbnNlEmAKFWdldFN5bmNTdGF0dXNSZXNwb25zZRjHCCABKAsyJy5wcm' + '90b3dpcmUuR2V0U3luY1N0YXR1c1Jlc3BvbnNlTWVzc2FnZUgAUhVnZXRTeW5jU3RhdHVzUmVz' + 'cG9uc2USjQEKJGdldERhYVNjb3JlVGltZXN0YW1wRXN0aW1hdGVSZXNwb25zZRjJCCABKAsyNi' + '5wcm90b3dpcmUuR2V0RGFhU2NvcmVUaW1lc3RhbXBFc3RpbWF0ZVJlc3BvbnNlTWVzc2FnZUgA' + 'UiRnZXREYWFTY29yZVRpbWVzdGFtcEVzdGltYXRlUmVzcG9uc2USjQEKJHN1Ym1pdFRyYW5zYW' + 'N0aW9uUmVwbGFjZW1lbnRSZXNwb25zZRjNCCABKAsyNi5wcm90b3dpcmUuU3VibWl0VHJhbnNh' + 'Y3Rpb25SZXBsYWNlbWVudFJlc3BvbnNlTWVzc2FnZUgAUiRzdWJtaXRUcmFuc2FjdGlvblJlcG' + 'xhY2VtZW50UmVzcG9uc2USYwoWZ2V0Q29ubmVjdGlvbnNSZXNwb25zZRjPCCABKAsyKC5wcm90' + 'b3dpcmUuR2V0Q29ubmVjdGlvbnNSZXNwb25zZU1lc3NhZ2VIAFIWZ2V0Q29ubmVjdGlvbnNSZX' + 'Nwb25zZRJgChVnZXRTeXN0ZW1JbmZvUmVzcG9uc2UY0QggASgLMicucHJvdG93aXJlLkdldFN5' + 'c3RlbUluZm9SZXNwb25zZU1lc3NhZ2VIAFIVZ2V0U3lzdGVtSW5mb1Jlc3BvbnNlEmMKFmdldE' + 'ZlZUVzdGltYXRlUmVzcG9uc2UY0wggASgLMigucHJvdG93aXJlLkdldEZlZUVzdGltYXRlUmVz' + 'cG9uc2VNZXNzYWdlSABSFmdldEZlZUVzdGltYXRlUmVzcG9uc2UShwEKImdldEZlZUVzdGltYX' + 'RlRXhwZXJpbWVudGFsUmVzcG9uc2UY1QggASgLMjQucHJvdG93aXJlLkdldEZlZUVzdGltYXRl' + 'RXhwZXJpbWVudGFsUmVzcG9uc2VNZXNzYWdlSABSImdldEZlZUVzdGltYXRlRXhwZXJpbWVudG' + 'FsUmVzcG9uc2USdQocZ2V0Q3VycmVudEJsb2NrQ29sb3JSZXNwb25zZRjXCCABKAsyLi5wcm90' + 'b3dpcmUuR2V0Q3VycmVudEJsb2NrQ29sb3JSZXNwb25zZU1lc3NhZ2VIAFIcZ2V0Q3VycmVudE' + 'Jsb2NrQ29sb3JSZXNwb25zZUIJCgdwYXlsb2Fk'); diff --git a/lib/karlsen/grpc/p2p.pb.dart b/lib/karlsen/grpc/p2p.pb.dart deleted file mode 100644 index f1a08042..00000000 --- a/lib/karlsen/grpc/p2p.pb.dart +++ /dev/null @@ -1,5110 +0,0 @@ -/// -// Generated code. Do not modify. -// source: p2p.proto -// -// @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 - -import 'dart:core' as $core; - -import 'package:fixnum/fixnum.dart' as $fixnum; -import 'package:protobuf/protobuf.dart' as $pb; - -class RequestAddressesMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'RequestAddressesMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOB( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'includeAllSubnetworks', - protoName: 'includeAllSubnetworks') - ..aOM( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'subnetworkId', - protoName: 'subnetworkId', - subBuilder: SubnetworkId.create) - ..hasRequiredFields = false; - - RequestAddressesMessage._() : super(); - factory RequestAddressesMessage({ - $core.bool? includeAllSubnetworks, - SubnetworkId? subnetworkId, - }) { - final _result = create(); - if (includeAllSubnetworks != null) { - _result.includeAllSubnetworks = includeAllSubnetworks; - } - if (subnetworkId != null) { - _result.subnetworkId = subnetworkId; - } - return _result; - } - factory RequestAddressesMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory RequestAddressesMessage.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') - RequestAddressesMessage clone() => - RequestAddressesMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - RequestAddressesMessage copyWith( - void Function(RequestAddressesMessage) updates) => - super.copyWith((message) => updates(message as RequestAddressesMessage)) - as RequestAddressesMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static RequestAddressesMessage create() => RequestAddressesMessage._(); - RequestAddressesMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static RequestAddressesMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static RequestAddressesMessage? _defaultInstance; - - @$pb.TagNumber(1) - $core.bool get includeAllSubnetworks => $_getBF(0); - @$pb.TagNumber(1) - set includeAllSubnetworks($core.bool v) { - $_setBool(0, v); - } - - @$pb.TagNumber(1) - $core.bool hasIncludeAllSubnetworks() => $_has(0); - @$pb.TagNumber(1) - void clearIncludeAllSubnetworks() => clearField(1); - - @$pb.TagNumber(2) - SubnetworkId get subnetworkId => $_getN(1); - @$pb.TagNumber(2) - set subnetworkId(SubnetworkId v) { - setField(2, v); - } - - @$pb.TagNumber(2) - $core.bool hasSubnetworkId() => $_has(1); - @$pb.TagNumber(2) - void clearSubnetworkId() => clearField(2); - @$pb.TagNumber(2) - SubnetworkId ensureSubnetworkId() => $_ensure(1); -} - -class AddressesMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'AddressesMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..pc( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'addressList', - $pb.PbFieldType.PM, - protoName: 'addressList', - subBuilder: NetAddress.create) - ..hasRequiredFields = false; - - AddressesMessage._() : super(); - factory AddressesMessage({ - $core.Iterable? addressList, - }) { - final _result = create(); - if (addressList != null) { - _result.addressList.addAll(addressList); - } - return _result; - } - factory AddressesMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory AddressesMessage.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') - AddressesMessage clone() => AddressesMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - AddressesMessage copyWith(void Function(AddressesMessage) updates) => - super.copyWith((message) => updates(message as AddressesMessage)) - as AddressesMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static AddressesMessage create() => AddressesMessage._(); - AddressesMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static AddressesMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static AddressesMessage? _defaultInstance; - - @$pb.TagNumber(1) - $core.List get addressList => $_getList(0); -} - -class NetAddress extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'NetAddress', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aInt64( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'timestamp') - ..a<$core.List<$core.int>>( - 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'ip', - $pb.PbFieldType.OY) - ..a<$core.int>( - 4, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'port', - $pb.PbFieldType.OU3) - ..hasRequiredFields = false; - - NetAddress._() : super(); - factory NetAddress({ - $fixnum.Int64? timestamp, - $core.List<$core.int>? ip, - $core.int? port, - }) { - final _result = create(); - if (timestamp != null) { - _result.timestamp = timestamp; - } - if (ip != null) { - _result.ip = ip; - } - if (port != null) { - _result.port = port; - } - return _result; - } - factory NetAddress.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory NetAddress.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') - NetAddress clone() => NetAddress()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - NetAddress copyWith(void Function(NetAddress) updates) => - super.copyWith((message) => updates(message as NetAddress)) - as NetAddress; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static NetAddress create() => NetAddress._(); - NetAddress createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); - @$core.pragma('dart2js:noInline') - static NetAddress getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static NetAddress? _defaultInstance; - - @$pb.TagNumber(1) - $fixnum.Int64 get timestamp => $_getI64(0); - @$pb.TagNumber(1) - set timestamp($fixnum.Int64 v) { - $_setInt64(0, v); - } - - @$pb.TagNumber(1) - $core.bool hasTimestamp() => $_has(0); - @$pb.TagNumber(1) - void clearTimestamp() => clearField(1); - - @$pb.TagNumber(3) - $core.List<$core.int> get ip => $_getN(1); - @$pb.TagNumber(3) - set ip($core.List<$core.int> v) { - $_setBytes(1, v); - } - - @$pb.TagNumber(3) - $core.bool hasIp() => $_has(1); - @$pb.TagNumber(3) - void clearIp() => clearField(3); - - @$pb.TagNumber(4) - $core.int get port => $_getIZ(2); - @$pb.TagNumber(4) - set port($core.int v) { - $_setUnsignedInt32(2, v); - } - - @$pb.TagNumber(4) - $core.bool hasPort() => $_has(2); - @$pb.TagNumber(4) - void clearPort() => clearField(4); -} - -class SubnetworkId extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'SubnetworkId', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..a<$core.List<$core.int>>( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'bytes', - $pb.PbFieldType.OY) - ..hasRequiredFields = false; - - SubnetworkId._() : super(); - factory SubnetworkId({ - $core.List<$core.int>? bytes, - }) { - final _result = create(); - if (bytes != null) { - _result.bytes = bytes; - } - return _result; - } - factory SubnetworkId.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory SubnetworkId.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') - SubnetworkId clone() => SubnetworkId()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - SubnetworkId copyWith(void Function(SubnetworkId) updates) => - super.copyWith((message) => updates(message as SubnetworkId)) - as SubnetworkId; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static SubnetworkId create() => SubnetworkId._(); - SubnetworkId createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static SubnetworkId getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static SubnetworkId? _defaultInstance; - - @$pb.TagNumber(1) - $core.List<$core.int> get bytes => $_getN(0); - @$pb.TagNumber(1) - set bytes($core.List<$core.int> v) { - $_setBytes(0, v); - } - - @$pb.TagNumber(1) - $core.bool hasBytes() => $_has(0); - @$pb.TagNumber(1) - void clearBytes() => clearField(1); -} - -class TransactionMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'TransactionMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..a<$core.int>( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'version', - $pb.PbFieldType.OU3) - ..pc( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'inputs', - $pb.PbFieldType.PM, - subBuilder: TransactionInput.create) - ..pc( - 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'outputs', - $pb.PbFieldType.PM, - subBuilder: TransactionOutput.create) - ..a<$fixnum.Int64>( - 4, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'lockTime', - $pb.PbFieldType.OU6, - protoName: 'lockTime', - defaultOrMaker: $fixnum.Int64.ZERO) - ..aOM( - 5, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'subnetworkId', - protoName: 'subnetworkId', - subBuilder: SubnetworkId.create) - ..a<$fixnum.Int64>( - 6, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'gas', - $pb.PbFieldType.OU6, - defaultOrMaker: $fixnum.Int64.ZERO) - ..a<$core.List<$core.int>>( - 8, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'payload', - $pb.PbFieldType.OY) - ..hasRequiredFields = false; - - TransactionMessage._() : super(); - factory TransactionMessage({ - $core.int? version, - $core.Iterable? inputs, - $core.Iterable? outputs, - $fixnum.Int64? lockTime, - SubnetworkId? subnetworkId, - $fixnum.Int64? gas, - $core.List<$core.int>? payload, - }) { - final _result = create(); - if (version != null) { - _result.version = version; - } - if (inputs != null) { - _result.inputs.addAll(inputs); - } - if (outputs != null) { - _result.outputs.addAll(outputs); - } - if (lockTime != null) { - _result.lockTime = lockTime; - } - if (subnetworkId != null) { - _result.subnetworkId = subnetworkId; - } - if (gas != null) { - _result.gas = gas; - } - if (payload != null) { - _result.payload = payload; - } - return _result; - } - factory TransactionMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory TransactionMessage.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') - TransactionMessage clone() => TransactionMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - TransactionMessage copyWith(void Function(TransactionMessage) updates) => - super.copyWith((message) => updates(message as TransactionMessage)) - as TransactionMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static TransactionMessage create() => TransactionMessage._(); - TransactionMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static TransactionMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static TransactionMessage? _defaultInstance; - - @$pb.TagNumber(1) - $core.int get version => $_getIZ(0); - @$pb.TagNumber(1) - set version($core.int v) { - $_setUnsignedInt32(0, v); - } - - @$pb.TagNumber(1) - $core.bool hasVersion() => $_has(0); - @$pb.TagNumber(1) - void clearVersion() => clearField(1); - - @$pb.TagNumber(2) - $core.List get inputs => $_getList(1); - - @$pb.TagNumber(3) - $core.List get outputs => $_getList(2); - - @$pb.TagNumber(4) - $fixnum.Int64 get lockTime => $_getI64(3); - @$pb.TagNumber(4) - set lockTime($fixnum.Int64 v) { - $_setInt64(3, v); - } - - @$pb.TagNumber(4) - $core.bool hasLockTime() => $_has(3); - @$pb.TagNumber(4) - void clearLockTime() => clearField(4); - - @$pb.TagNumber(5) - SubnetworkId get subnetworkId => $_getN(4); - @$pb.TagNumber(5) - set subnetworkId(SubnetworkId v) { - setField(5, v); - } - - @$pb.TagNumber(5) - $core.bool hasSubnetworkId() => $_has(4); - @$pb.TagNumber(5) - void clearSubnetworkId() => clearField(5); - @$pb.TagNumber(5) - SubnetworkId ensureSubnetworkId() => $_ensure(4); - - @$pb.TagNumber(6) - $fixnum.Int64 get gas => $_getI64(5); - @$pb.TagNumber(6) - set gas($fixnum.Int64 v) { - $_setInt64(5, v); - } - - @$pb.TagNumber(6) - $core.bool hasGas() => $_has(5); - @$pb.TagNumber(6) - void clearGas() => clearField(6); - - @$pb.TagNumber(8) - $core.List<$core.int> get payload => $_getN(6); - @$pb.TagNumber(8) - set payload($core.List<$core.int> v) { - $_setBytes(6, v); - } - - @$pb.TagNumber(8) - $core.bool hasPayload() => $_has(6); - @$pb.TagNumber(8) - void clearPayload() => clearField(8); -} - -class TransactionInput extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'TransactionInput', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOM( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'previousOutpoint', - protoName: 'previousOutpoint', - subBuilder: Outpoint.create) - ..a<$core.List<$core.int>>( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'signatureScript', - $pb.PbFieldType.OY, - protoName: 'signatureScript') - ..a<$fixnum.Int64>( - 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'sequence', - $pb.PbFieldType.OU6, - defaultOrMaker: $fixnum.Int64.ZERO) - ..a<$core.int>( - 4, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'sigOpCount', - $pb.PbFieldType.OU3, - protoName: 'sigOpCount') - ..hasRequiredFields = false; - - TransactionInput._() : super(); - factory TransactionInput({ - Outpoint? previousOutpoint, - $core.List<$core.int>? signatureScript, - $fixnum.Int64? sequence, - $core.int? sigOpCount, - }) { - final _result = create(); - if (previousOutpoint != null) { - _result.previousOutpoint = previousOutpoint; - } - if (signatureScript != null) { - _result.signatureScript = signatureScript; - } - if (sequence != null) { - _result.sequence = sequence; - } - if (sigOpCount != null) { - _result.sigOpCount = sigOpCount; - } - return _result; - } - factory TransactionInput.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory TransactionInput.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') - TransactionInput clone() => TransactionInput()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - TransactionInput copyWith(void Function(TransactionInput) updates) => - super.copyWith((message) => updates(message as TransactionInput)) - as TransactionInput; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static TransactionInput create() => TransactionInput._(); - TransactionInput createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static TransactionInput getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static TransactionInput? _defaultInstance; - - @$pb.TagNumber(1) - Outpoint get previousOutpoint => $_getN(0); - @$pb.TagNumber(1) - set previousOutpoint(Outpoint v) { - setField(1, v); - } - - @$pb.TagNumber(1) - $core.bool hasPreviousOutpoint() => $_has(0); - @$pb.TagNumber(1) - void clearPreviousOutpoint() => clearField(1); - @$pb.TagNumber(1) - Outpoint ensurePreviousOutpoint() => $_ensure(0); - - @$pb.TagNumber(2) - $core.List<$core.int> get signatureScript => $_getN(1); - @$pb.TagNumber(2) - set signatureScript($core.List<$core.int> v) { - $_setBytes(1, v); - } - - @$pb.TagNumber(2) - $core.bool hasSignatureScript() => $_has(1); - @$pb.TagNumber(2) - void clearSignatureScript() => clearField(2); - - @$pb.TagNumber(3) - $fixnum.Int64 get sequence => $_getI64(2); - @$pb.TagNumber(3) - set sequence($fixnum.Int64 v) { - $_setInt64(2, v); - } - - @$pb.TagNumber(3) - $core.bool hasSequence() => $_has(2); - @$pb.TagNumber(3) - void clearSequence() => clearField(3); - - @$pb.TagNumber(4) - $core.int get sigOpCount => $_getIZ(3); - @$pb.TagNumber(4) - set sigOpCount($core.int v) { - $_setUnsignedInt32(3, v); - } - - @$pb.TagNumber(4) - $core.bool hasSigOpCount() => $_has(3); - @$pb.TagNumber(4) - void clearSigOpCount() => clearField(4); -} - -class Outpoint extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'Outpoint', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOM( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'transactionId', - protoName: 'transactionId', - subBuilder: TransactionId.create) - ..a<$core.int>( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'index', - $pb.PbFieldType.OU3) - ..hasRequiredFields = false; - - Outpoint._() : super(); - factory Outpoint({ - TransactionId? transactionId, - $core.int? index, - }) { - final _result = create(); - if (transactionId != null) { - _result.transactionId = transactionId; - } - if (index != null) { - _result.index = index; - } - return _result; - } - factory Outpoint.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory Outpoint.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') - Outpoint clone() => Outpoint()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - Outpoint copyWith(void Function(Outpoint) updates) => - super.copyWith((message) => updates(message as Outpoint)) - as Outpoint; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static Outpoint create() => Outpoint._(); - Outpoint createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); - @$core.pragma('dart2js:noInline') - static Outpoint getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); - static Outpoint? _defaultInstance; - - @$pb.TagNumber(1) - TransactionId get transactionId => $_getN(0); - @$pb.TagNumber(1) - set transactionId(TransactionId v) { - setField(1, v); - } - - @$pb.TagNumber(1) - $core.bool hasTransactionId() => $_has(0); - @$pb.TagNumber(1) - void clearTransactionId() => clearField(1); - @$pb.TagNumber(1) - TransactionId ensureTransactionId() => $_ensure(0); - - @$pb.TagNumber(2) - $core.int get index => $_getIZ(1); - @$pb.TagNumber(2) - set index($core.int v) { - $_setUnsignedInt32(1, v); - } - - @$pb.TagNumber(2) - $core.bool hasIndex() => $_has(1); - @$pb.TagNumber(2) - void clearIndex() => clearField(2); -} - -class TransactionId extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'TransactionId', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..a<$core.List<$core.int>>( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'bytes', - $pb.PbFieldType.OY) - ..hasRequiredFields = false; - - TransactionId._() : super(); - factory TransactionId({ - $core.List<$core.int>? bytes, - }) { - final _result = create(); - if (bytes != null) { - _result.bytes = bytes; - } - return _result; - } - factory TransactionId.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory TransactionId.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') - TransactionId clone() => TransactionId()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - TransactionId copyWith(void Function(TransactionId) updates) => - super.copyWith((message) => updates(message as TransactionId)) - as TransactionId; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static TransactionId create() => TransactionId._(); - TransactionId createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static TransactionId getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static TransactionId? _defaultInstance; - - @$pb.TagNumber(1) - $core.List<$core.int> get bytes => $_getN(0); - @$pb.TagNumber(1) - set bytes($core.List<$core.int> v) { - $_setBytes(0, v); - } - - @$pb.TagNumber(1) - $core.bool hasBytes() => $_has(0); - @$pb.TagNumber(1) - void clearBytes() => clearField(1); -} - -class ScriptPublicKey extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'ScriptPublicKey', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..a<$core.List<$core.int>>( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'script', - $pb.PbFieldType.OY) - ..a<$core.int>( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'version', - $pb.PbFieldType.OU3) - ..hasRequiredFields = false; - - ScriptPublicKey._() : super(); - factory ScriptPublicKey({ - $core.List<$core.int>? script, - $core.int? version, - }) { - final _result = create(); - if (script != null) { - _result.script = script; - } - if (version != null) { - _result.version = version; - } - return _result; - } - factory ScriptPublicKey.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory ScriptPublicKey.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') - ScriptPublicKey clone() => ScriptPublicKey()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - ScriptPublicKey copyWith(void Function(ScriptPublicKey) updates) => - super.copyWith((message) => updates(message as ScriptPublicKey)) - as ScriptPublicKey; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static ScriptPublicKey create() => ScriptPublicKey._(); - ScriptPublicKey createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static ScriptPublicKey getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static ScriptPublicKey? _defaultInstance; - - @$pb.TagNumber(1) - $core.List<$core.int> get script => $_getN(0); - @$pb.TagNumber(1) - set script($core.List<$core.int> v) { - $_setBytes(0, v); - } - - @$pb.TagNumber(1) - $core.bool hasScript() => $_has(0); - @$pb.TagNumber(1) - void clearScript() => clearField(1); - - @$pb.TagNumber(2) - $core.int get version => $_getIZ(1); - @$pb.TagNumber(2) - set version($core.int v) { - $_setUnsignedInt32(1, v); - } - - @$pb.TagNumber(2) - $core.bool hasVersion() => $_has(1); - @$pb.TagNumber(2) - void clearVersion() => clearField(2); -} - -class TransactionOutput extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'TransactionOutput', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..a<$fixnum.Int64>( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'value', - $pb.PbFieldType.OU6, - defaultOrMaker: $fixnum.Int64.ZERO) - ..aOM( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'scriptPublicKey', - protoName: 'scriptPublicKey', - subBuilder: ScriptPublicKey.create) - ..hasRequiredFields = false; - - TransactionOutput._() : super(); - factory TransactionOutput({ - $fixnum.Int64? value, - ScriptPublicKey? scriptPublicKey, - }) { - final _result = create(); - if (value != null) { - _result.value = value; - } - if (scriptPublicKey != null) { - _result.scriptPublicKey = scriptPublicKey; - } - return _result; - } - factory TransactionOutput.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory TransactionOutput.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') - TransactionOutput clone() => TransactionOutput()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - TransactionOutput copyWith(void Function(TransactionOutput) updates) => - super.copyWith((message) => updates(message as TransactionOutput)) - as TransactionOutput; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static TransactionOutput create() => TransactionOutput._(); - TransactionOutput createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static TransactionOutput getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static TransactionOutput? _defaultInstance; - - @$pb.TagNumber(1) - $fixnum.Int64 get value => $_getI64(0); - @$pb.TagNumber(1) - set value($fixnum.Int64 v) { - $_setInt64(0, v); - } - - @$pb.TagNumber(1) - $core.bool hasValue() => $_has(0); - @$pb.TagNumber(1) - void clearValue() => clearField(1); - - @$pb.TagNumber(2) - ScriptPublicKey get scriptPublicKey => $_getN(1); - @$pb.TagNumber(2) - set scriptPublicKey(ScriptPublicKey v) { - setField(2, v); - } - - @$pb.TagNumber(2) - $core.bool hasScriptPublicKey() => $_has(1); - @$pb.TagNumber(2) - void clearScriptPublicKey() => clearField(2); - @$pb.TagNumber(2) - ScriptPublicKey ensureScriptPublicKey() => $_ensure(1); -} - -class BlockMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'BlockMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOM( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'header', - subBuilder: BlockHeader.create) - ..pc( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'transactions', - $pb.PbFieldType.PM, - subBuilder: TransactionMessage.create) - ..hasRequiredFields = false; - - BlockMessage._() : super(); - factory BlockMessage({ - BlockHeader? header, - $core.Iterable? transactions, - }) { - final _result = create(); - if (header != null) { - _result.header = header; - } - if (transactions != null) { - _result.transactions.addAll(transactions); - } - return _result; - } - factory BlockMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory BlockMessage.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') - BlockMessage clone() => BlockMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - BlockMessage copyWith(void Function(BlockMessage) updates) => - super.copyWith((message) => updates(message as BlockMessage)) - as BlockMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static BlockMessage create() => BlockMessage._(); - BlockMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static BlockMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static BlockMessage? _defaultInstance; - - @$pb.TagNumber(1) - BlockHeader get header => $_getN(0); - @$pb.TagNumber(1) - set header(BlockHeader v) { - setField(1, v); - } - - @$pb.TagNumber(1) - $core.bool hasHeader() => $_has(0); - @$pb.TagNumber(1) - void clearHeader() => clearField(1); - @$pb.TagNumber(1) - BlockHeader ensureHeader() => $_ensure(0); - - @$pb.TagNumber(2) - $core.List get transactions => $_getList(1); -} - -class BlockHeader extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'BlockHeader', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..a<$core.int>( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'version', - $pb.PbFieldType.OU3) - ..aOM( - 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'hashMerkleRoot', - protoName: 'hashMerkleRoot', - subBuilder: Hash.create) - ..aOM( - 4, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'acceptedIdMerkleRoot', - protoName: 'acceptedIdMerkleRoot', - subBuilder: Hash.create) - ..aOM( - 5, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'utxoCommitment', - protoName: 'utxoCommitment', - subBuilder: Hash.create) - ..aInt64( - 6, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'timestamp') - ..a<$core.int>( - 7, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'bits', - $pb.PbFieldType.OU3) - ..a<$fixnum.Int64>( - 8, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'nonce', - $pb.PbFieldType.OU6, - defaultOrMaker: $fixnum.Int64.ZERO) - ..a<$fixnum.Int64>( - 9, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'daaScore', - $pb.PbFieldType.OU6, - protoName: 'daaScore', - defaultOrMaker: $fixnum.Int64.ZERO) - ..a<$core.List<$core.int>>( - 10, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'blueWork', - $pb.PbFieldType.OY, - protoName: 'blueWork') - ..pc( - 12, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'parents', - $pb.PbFieldType.PM, - subBuilder: BlockLevelParents.create) - ..a<$fixnum.Int64>( - 13, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'blueScore', - $pb.PbFieldType.OU6, - protoName: 'blueScore', - defaultOrMaker: $fixnum.Int64.ZERO) - ..aOM( - 14, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'pruningPoint', - protoName: 'pruningPoint', - subBuilder: Hash.create) - ..hasRequiredFields = false; - - BlockHeader._() : super(); - factory BlockHeader({ - $core.int? version, - Hash? hashMerkleRoot, - Hash? acceptedIdMerkleRoot, - Hash? utxoCommitment, - $fixnum.Int64? timestamp, - $core.int? bits, - $fixnum.Int64? nonce, - $fixnum.Int64? daaScore, - $core.List<$core.int>? blueWork, - $core.Iterable? parents, - $fixnum.Int64? blueScore, - Hash? pruningPoint, - }) { - final _result = create(); - if (version != null) { - _result.version = version; - } - if (hashMerkleRoot != null) { - _result.hashMerkleRoot = hashMerkleRoot; - } - if (acceptedIdMerkleRoot != null) { - _result.acceptedIdMerkleRoot = acceptedIdMerkleRoot; - } - if (utxoCommitment != null) { - _result.utxoCommitment = utxoCommitment; - } - if (timestamp != null) { - _result.timestamp = timestamp; - } - if (bits != null) { - _result.bits = bits; - } - if (nonce != null) { - _result.nonce = nonce; - } - if (daaScore != null) { - _result.daaScore = daaScore; - } - if (blueWork != null) { - _result.blueWork = blueWork; - } - if (parents != null) { - _result.parents.addAll(parents); - } - if (blueScore != null) { - _result.blueScore = blueScore; - } - if (pruningPoint != null) { - _result.pruningPoint = pruningPoint; - } - return _result; - } - factory BlockHeader.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory BlockHeader.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') - BlockHeader clone() => BlockHeader()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - BlockHeader copyWith(void Function(BlockHeader) updates) => - super.copyWith((message) => updates(message as BlockHeader)) - as BlockHeader; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static BlockHeader create() => BlockHeader._(); - BlockHeader createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); - @$core.pragma('dart2js:noInline') - static BlockHeader getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static BlockHeader? _defaultInstance; - - @$pb.TagNumber(1) - $core.int get version => $_getIZ(0); - @$pb.TagNumber(1) - set version($core.int v) { - $_setUnsignedInt32(0, v); - } - - @$pb.TagNumber(1) - $core.bool hasVersion() => $_has(0); - @$pb.TagNumber(1) - void clearVersion() => clearField(1); - - @$pb.TagNumber(3) - Hash get hashMerkleRoot => $_getN(1); - @$pb.TagNumber(3) - set hashMerkleRoot(Hash v) { - setField(3, v); - } - - @$pb.TagNumber(3) - $core.bool hasHashMerkleRoot() => $_has(1); - @$pb.TagNumber(3) - void clearHashMerkleRoot() => clearField(3); - @$pb.TagNumber(3) - Hash ensureHashMerkleRoot() => $_ensure(1); - - @$pb.TagNumber(4) - Hash get acceptedIdMerkleRoot => $_getN(2); - @$pb.TagNumber(4) - set acceptedIdMerkleRoot(Hash v) { - setField(4, v); - } - - @$pb.TagNumber(4) - $core.bool hasAcceptedIdMerkleRoot() => $_has(2); - @$pb.TagNumber(4) - void clearAcceptedIdMerkleRoot() => clearField(4); - @$pb.TagNumber(4) - Hash ensureAcceptedIdMerkleRoot() => $_ensure(2); - - @$pb.TagNumber(5) - Hash get utxoCommitment => $_getN(3); - @$pb.TagNumber(5) - set utxoCommitment(Hash v) { - setField(5, v); - } - - @$pb.TagNumber(5) - $core.bool hasUtxoCommitment() => $_has(3); - @$pb.TagNumber(5) - void clearUtxoCommitment() => clearField(5); - @$pb.TagNumber(5) - Hash ensureUtxoCommitment() => $_ensure(3); - - @$pb.TagNumber(6) - $fixnum.Int64 get timestamp => $_getI64(4); - @$pb.TagNumber(6) - set timestamp($fixnum.Int64 v) { - $_setInt64(4, v); - } - - @$pb.TagNumber(6) - $core.bool hasTimestamp() => $_has(4); - @$pb.TagNumber(6) - void clearTimestamp() => clearField(6); - - @$pb.TagNumber(7) - $core.int get bits => $_getIZ(5); - @$pb.TagNumber(7) - set bits($core.int v) { - $_setUnsignedInt32(5, v); - } - - @$pb.TagNumber(7) - $core.bool hasBits() => $_has(5); - @$pb.TagNumber(7) - void clearBits() => clearField(7); - - @$pb.TagNumber(8) - $fixnum.Int64 get nonce => $_getI64(6); - @$pb.TagNumber(8) - set nonce($fixnum.Int64 v) { - $_setInt64(6, v); - } - - @$pb.TagNumber(8) - $core.bool hasNonce() => $_has(6); - @$pb.TagNumber(8) - void clearNonce() => clearField(8); - - @$pb.TagNumber(9) - $fixnum.Int64 get daaScore => $_getI64(7); - @$pb.TagNumber(9) - set daaScore($fixnum.Int64 v) { - $_setInt64(7, v); - } - - @$pb.TagNumber(9) - $core.bool hasDaaScore() => $_has(7); - @$pb.TagNumber(9) - void clearDaaScore() => clearField(9); - - @$pb.TagNumber(10) - $core.List<$core.int> get blueWork => $_getN(8); - @$pb.TagNumber(10) - set blueWork($core.List<$core.int> v) { - $_setBytes(8, v); - } - - @$pb.TagNumber(10) - $core.bool hasBlueWork() => $_has(8); - @$pb.TagNumber(10) - void clearBlueWork() => clearField(10); - - @$pb.TagNumber(12) - $core.List get parents => $_getList(9); - - @$pb.TagNumber(13) - $fixnum.Int64 get blueScore => $_getI64(10); - @$pb.TagNumber(13) - set blueScore($fixnum.Int64 v) { - $_setInt64(10, v); - } - - @$pb.TagNumber(13) - $core.bool hasBlueScore() => $_has(10); - @$pb.TagNumber(13) - void clearBlueScore() => clearField(13); - - @$pb.TagNumber(14) - Hash get pruningPoint => $_getN(11); - @$pb.TagNumber(14) - set pruningPoint(Hash v) { - setField(14, v); - } - - @$pb.TagNumber(14) - $core.bool hasPruningPoint() => $_has(11); - @$pb.TagNumber(14) - void clearPruningPoint() => clearField(14); - @$pb.TagNumber(14) - Hash ensurePruningPoint() => $_ensure(11); -} - -class BlockLevelParents extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'BlockLevelParents', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..pc( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'parentHashes', - $pb.PbFieldType.PM, - protoName: 'parentHashes', - subBuilder: Hash.create) - ..hasRequiredFields = false; - - BlockLevelParents._() : super(); - factory BlockLevelParents({ - $core.Iterable? parentHashes, - }) { - final _result = create(); - if (parentHashes != null) { - _result.parentHashes.addAll(parentHashes); - } - return _result; - } - factory BlockLevelParents.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory BlockLevelParents.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') - BlockLevelParents clone() => BlockLevelParents()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - BlockLevelParents copyWith(void Function(BlockLevelParents) updates) => - super.copyWith((message) => updates(message as BlockLevelParents)) - as BlockLevelParents; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static BlockLevelParents create() => BlockLevelParents._(); - BlockLevelParents createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static BlockLevelParents getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static BlockLevelParents? _defaultInstance; - - @$pb.TagNumber(1) - $core.List get parentHashes => $_getList(0); -} - -class Hash extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'Hash', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..a<$core.List<$core.int>>( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'bytes', - $pb.PbFieldType.OY) - ..hasRequiredFields = false; - - Hash._() : super(); - factory Hash({ - $core.List<$core.int>? bytes, - }) { - final _result = create(); - if (bytes != null) { - _result.bytes = bytes; - } - return _result; - } - factory Hash.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory Hash.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') - Hash clone() => Hash()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - Hash copyWith(void Function(Hash) updates) => - super.copyWith((message) => updates(message as Hash)) - as Hash; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static Hash create() => Hash._(); - Hash createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); - @$core.pragma('dart2js:noInline') - static Hash getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); - static Hash? _defaultInstance; - - @$pb.TagNumber(1) - $core.List<$core.int> get bytes => $_getN(0); - @$pb.TagNumber(1) - set bytes($core.List<$core.int> v) { - $_setBytes(0, v); - } - - @$pb.TagNumber(1) - $core.bool hasBytes() => $_has(0); - @$pb.TagNumber(1) - void clearBytes() => clearField(1); -} - -class RequestBlockLocatorMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'RequestBlockLocatorMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOM( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'highHash', - protoName: 'highHash', - subBuilder: Hash.create) - ..a<$core.int>( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'limit', - $pb.PbFieldType.OU3) - ..hasRequiredFields = false; - - RequestBlockLocatorMessage._() : super(); - factory RequestBlockLocatorMessage({ - Hash? highHash, - $core.int? limit, - }) { - final _result = create(); - if (highHash != null) { - _result.highHash = highHash; - } - if (limit != null) { - _result.limit = limit; - } - return _result; - } - factory RequestBlockLocatorMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory RequestBlockLocatorMessage.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') - RequestBlockLocatorMessage clone() => - RequestBlockLocatorMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - RequestBlockLocatorMessage copyWith( - void Function(RequestBlockLocatorMessage) updates) => - super.copyWith( - (message) => updates(message as RequestBlockLocatorMessage)) - as RequestBlockLocatorMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static RequestBlockLocatorMessage create() => RequestBlockLocatorMessage._(); - RequestBlockLocatorMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static RequestBlockLocatorMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static RequestBlockLocatorMessage? _defaultInstance; - - @$pb.TagNumber(1) - Hash get highHash => $_getN(0); - @$pb.TagNumber(1) - set highHash(Hash v) { - setField(1, v); - } - - @$pb.TagNumber(1) - $core.bool hasHighHash() => $_has(0); - @$pb.TagNumber(1) - void clearHighHash() => clearField(1); - @$pb.TagNumber(1) - Hash ensureHighHash() => $_ensure(0); - - @$pb.TagNumber(2) - $core.int get limit => $_getIZ(1); - @$pb.TagNumber(2) - set limit($core.int v) { - $_setUnsignedInt32(1, v); - } - - @$pb.TagNumber(2) - $core.bool hasLimit() => $_has(1); - @$pb.TagNumber(2) - void clearLimit() => clearField(2); -} - -class BlockLocatorMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'BlockLocatorMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..pc( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'hashes', - $pb.PbFieldType.PM, - subBuilder: Hash.create) - ..hasRequiredFields = false; - - BlockLocatorMessage._() : super(); - factory BlockLocatorMessage({ - $core.Iterable? hashes, - }) { - final _result = create(); - if (hashes != null) { - _result.hashes.addAll(hashes); - } - return _result; - } - factory BlockLocatorMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory BlockLocatorMessage.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') - BlockLocatorMessage clone() => BlockLocatorMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - BlockLocatorMessage copyWith(void Function(BlockLocatorMessage) updates) => - super.copyWith((message) => updates(message as BlockLocatorMessage)) - as BlockLocatorMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static BlockLocatorMessage create() => BlockLocatorMessage._(); - BlockLocatorMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static BlockLocatorMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static BlockLocatorMessage? _defaultInstance; - - @$pb.TagNumber(1) - $core.List get hashes => $_getList(0); -} - -class RequestHeadersMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'RequestHeadersMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOM( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'lowHash', - protoName: 'lowHash', - subBuilder: Hash.create) - ..aOM( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'highHash', - protoName: 'highHash', - subBuilder: Hash.create) - ..hasRequiredFields = false; - - RequestHeadersMessage._() : super(); - factory RequestHeadersMessage({ - Hash? lowHash, - Hash? highHash, - }) { - final _result = create(); - if (lowHash != null) { - _result.lowHash = lowHash; - } - if (highHash != null) { - _result.highHash = highHash; - } - return _result; - } - factory RequestHeadersMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory RequestHeadersMessage.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') - RequestHeadersMessage clone() => - RequestHeadersMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - RequestHeadersMessage copyWith( - void Function(RequestHeadersMessage) updates) => - super.copyWith((message) => updates(message as RequestHeadersMessage)) - as RequestHeadersMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static RequestHeadersMessage create() => RequestHeadersMessage._(); - RequestHeadersMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static RequestHeadersMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static RequestHeadersMessage? _defaultInstance; - - @$pb.TagNumber(1) - Hash get lowHash => $_getN(0); - @$pb.TagNumber(1) - set lowHash(Hash v) { - setField(1, v); - } - - @$pb.TagNumber(1) - $core.bool hasLowHash() => $_has(0); - @$pb.TagNumber(1) - void clearLowHash() => clearField(1); - @$pb.TagNumber(1) - Hash ensureLowHash() => $_ensure(0); - - @$pb.TagNumber(2) - Hash get highHash => $_getN(1); - @$pb.TagNumber(2) - set highHash(Hash v) { - setField(2, v); - } - - @$pb.TagNumber(2) - $core.bool hasHighHash() => $_has(1); - @$pb.TagNumber(2) - void clearHighHash() => clearField(2); - @$pb.TagNumber(2) - Hash ensureHighHash() => $_ensure(1); -} - -class RequestNextHeadersMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'RequestNextHeadersMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..hasRequiredFields = false; - - RequestNextHeadersMessage._() : super(); - factory RequestNextHeadersMessage() => create(); - factory RequestNextHeadersMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory RequestNextHeadersMessage.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') - RequestNextHeadersMessage clone() => - RequestNextHeadersMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - RequestNextHeadersMessage copyWith( - void Function(RequestNextHeadersMessage) updates) => - super.copyWith((message) => updates(message as RequestNextHeadersMessage)) - as RequestNextHeadersMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static RequestNextHeadersMessage create() => RequestNextHeadersMessage._(); - RequestNextHeadersMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static RequestNextHeadersMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static RequestNextHeadersMessage? _defaultInstance; -} - -class DoneHeadersMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'DoneHeadersMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..hasRequiredFields = false; - - DoneHeadersMessage._() : super(); - factory DoneHeadersMessage() => create(); - factory DoneHeadersMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory DoneHeadersMessage.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') - DoneHeadersMessage clone() => DoneHeadersMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - DoneHeadersMessage copyWith(void Function(DoneHeadersMessage) updates) => - super.copyWith((message) => updates(message as DoneHeadersMessage)) - as DoneHeadersMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static DoneHeadersMessage create() => DoneHeadersMessage._(); - DoneHeadersMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static DoneHeadersMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static DoneHeadersMessage? _defaultInstance; -} - -class RequestRelayBlocksMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'RequestRelayBlocksMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..pc( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'hashes', - $pb.PbFieldType.PM, - subBuilder: Hash.create) - ..hasRequiredFields = false; - - RequestRelayBlocksMessage._() : super(); - factory RequestRelayBlocksMessage({ - $core.Iterable? hashes, - }) { - final _result = create(); - if (hashes != null) { - _result.hashes.addAll(hashes); - } - return _result; - } - factory RequestRelayBlocksMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory RequestRelayBlocksMessage.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') - RequestRelayBlocksMessage clone() => - RequestRelayBlocksMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - RequestRelayBlocksMessage copyWith( - void Function(RequestRelayBlocksMessage) updates) => - super.copyWith((message) => updates(message as RequestRelayBlocksMessage)) - as RequestRelayBlocksMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static RequestRelayBlocksMessage create() => RequestRelayBlocksMessage._(); - RequestRelayBlocksMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static RequestRelayBlocksMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static RequestRelayBlocksMessage? _defaultInstance; - - @$pb.TagNumber(1) - $core.List get hashes => $_getList(0); -} - -class RequestTransactionsMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'RequestTransactionsMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..pc( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'ids', - $pb.PbFieldType.PM, - subBuilder: TransactionId.create) - ..hasRequiredFields = false; - - RequestTransactionsMessage._() : super(); - factory RequestTransactionsMessage({ - $core.Iterable? ids, - }) { - final _result = create(); - if (ids != null) { - _result.ids.addAll(ids); - } - return _result; - } - factory RequestTransactionsMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory RequestTransactionsMessage.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') - RequestTransactionsMessage clone() => - RequestTransactionsMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - RequestTransactionsMessage copyWith( - void Function(RequestTransactionsMessage) updates) => - super.copyWith( - (message) => updates(message as RequestTransactionsMessage)) - as RequestTransactionsMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static RequestTransactionsMessage create() => RequestTransactionsMessage._(); - RequestTransactionsMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static RequestTransactionsMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static RequestTransactionsMessage? _defaultInstance; - - @$pb.TagNumber(1) - $core.List get ids => $_getList(0); -} - -class TransactionNotFoundMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'TransactionNotFoundMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOM( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'id', - subBuilder: TransactionId.create) - ..hasRequiredFields = false; - - TransactionNotFoundMessage._() : super(); - factory TransactionNotFoundMessage({ - TransactionId? id, - }) { - final _result = create(); - if (id != null) { - _result.id = id; - } - return _result; - } - factory TransactionNotFoundMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory TransactionNotFoundMessage.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') - TransactionNotFoundMessage clone() => - TransactionNotFoundMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - TransactionNotFoundMessage copyWith( - void Function(TransactionNotFoundMessage) updates) => - super.copyWith( - (message) => updates(message as TransactionNotFoundMessage)) - as TransactionNotFoundMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static TransactionNotFoundMessage create() => TransactionNotFoundMessage._(); - TransactionNotFoundMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static TransactionNotFoundMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static TransactionNotFoundMessage? _defaultInstance; - - @$pb.TagNumber(1) - TransactionId get id => $_getN(0); - @$pb.TagNumber(1) - set id(TransactionId v) { - setField(1, v); - } - - @$pb.TagNumber(1) - $core.bool hasId() => $_has(0); - @$pb.TagNumber(1) - void clearId() => clearField(1); - @$pb.TagNumber(1) - TransactionId ensureId() => $_ensure(0); -} - -class InvRelayBlockMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'InvRelayBlockMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOM( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'hash', - subBuilder: Hash.create) - ..hasRequiredFields = false; - - InvRelayBlockMessage._() : super(); - factory InvRelayBlockMessage({ - Hash? hash, - }) { - final _result = create(); - if (hash != null) { - _result.hash = hash; - } - return _result; - } - factory InvRelayBlockMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory InvRelayBlockMessage.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') - InvRelayBlockMessage clone() => - InvRelayBlockMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - InvRelayBlockMessage copyWith(void Function(InvRelayBlockMessage) updates) => - super.copyWith((message) => updates(message as InvRelayBlockMessage)) - as InvRelayBlockMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static InvRelayBlockMessage create() => InvRelayBlockMessage._(); - InvRelayBlockMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static InvRelayBlockMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static InvRelayBlockMessage? _defaultInstance; - - @$pb.TagNumber(1) - Hash get hash => $_getN(0); - @$pb.TagNumber(1) - set hash(Hash v) { - setField(1, v); - } - - @$pb.TagNumber(1) - $core.bool hasHash() => $_has(0); - @$pb.TagNumber(1) - void clearHash() => clearField(1); - @$pb.TagNumber(1) - Hash ensureHash() => $_ensure(0); -} - -class InvTransactionsMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'InvTransactionsMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..pc( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'ids', - $pb.PbFieldType.PM, - subBuilder: TransactionId.create) - ..hasRequiredFields = false; - - InvTransactionsMessage._() : super(); - factory InvTransactionsMessage({ - $core.Iterable? ids, - }) { - final _result = create(); - if (ids != null) { - _result.ids.addAll(ids); - } - return _result; - } - factory InvTransactionsMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory InvTransactionsMessage.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') - InvTransactionsMessage clone() => - InvTransactionsMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - InvTransactionsMessage copyWith( - void Function(InvTransactionsMessage) updates) => - super.copyWith((message) => updates(message as InvTransactionsMessage)) - as InvTransactionsMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static InvTransactionsMessage create() => InvTransactionsMessage._(); - InvTransactionsMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static InvTransactionsMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static InvTransactionsMessage? _defaultInstance; - - @$pb.TagNumber(1) - $core.List get ids => $_getList(0); -} - -class PingMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'PingMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..a<$fixnum.Int64>( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'nonce', - $pb.PbFieldType.OU6, - defaultOrMaker: $fixnum.Int64.ZERO) - ..hasRequiredFields = false; - - PingMessage._() : super(); - factory PingMessage({ - $fixnum.Int64? nonce, - }) { - final _result = create(); - if (nonce != null) { - _result.nonce = nonce; - } - return _result; - } - factory PingMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory PingMessage.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') - PingMessage clone() => PingMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - PingMessage copyWith(void Function(PingMessage) updates) => - super.copyWith((message) => updates(message as PingMessage)) - as PingMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static PingMessage create() => PingMessage._(); - PingMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); - @$core.pragma('dart2js:noInline') - static PingMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static PingMessage? _defaultInstance; - - @$pb.TagNumber(1) - $fixnum.Int64 get nonce => $_getI64(0); - @$pb.TagNumber(1) - set nonce($fixnum.Int64 v) { - $_setInt64(0, v); - } - - @$pb.TagNumber(1) - $core.bool hasNonce() => $_has(0); - @$pb.TagNumber(1) - void clearNonce() => clearField(1); -} - -class PongMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'PongMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..a<$fixnum.Int64>( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'nonce', - $pb.PbFieldType.OU6, - defaultOrMaker: $fixnum.Int64.ZERO) - ..hasRequiredFields = false; - - PongMessage._() : super(); - factory PongMessage({ - $fixnum.Int64? nonce, - }) { - final _result = create(); - if (nonce != null) { - _result.nonce = nonce; - } - return _result; - } - factory PongMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory PongMessage.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') - PongMessage clone() => PongMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - PongMessage copyWith(void Function(PongMessage) updates) => - super.copyWith((message) => updates(message as PongMessage)) - as PongMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static PongMessage create() => PongMessage._(); - PongMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); - @$core.pragma('dart2js:noInline') - static PongMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static PongMessage? _defaultInstance; - - @$pb.TagNumber(1) - $fixnum.Int64 get nonce => $_getI64(0); - @$pb.TagNumber(1) - set nonce($fixnum.Int64 v) { - $_setInt64(0, v); - } - - @$pb.TagNumber(1) - $core.bool hasNonce() => $_has(0); - @$pb.TagNumber(1) - void clearNonce() => clearField(1); -} - -class VerackMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'VerackMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..hasRequiredFields = false; - - VerackMessage._() : super(); - factory VerackMessage() => create(); - factory VerackMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory VerackMessage.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') - VerackMessage clone() => VerackMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - VerackMessage copyWith(void Function(VerackMessage) updates) => - super.copyWith((message) => updates(message as VerackMessage)) - as VerackMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static VerackMessage create() => VerackMessage._(); - VerackMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static VerackMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static VerackMessage? _defaultInstance; -} - -class VersionMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'VersionMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..a<$core.int>( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'protocolVersion', - $pb.PbFieldType.OU3, - protoName: 'protocolVersion') - ..a<$fixnum.Int64>( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'services', - $pb.PbFieldType.OU6, - defaultOrMaker: $fixnum.Int64.ZERO) - ..aInt64( - 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'timestamp') - ..aOM( - 4, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'address', - subBuilder: NetAddress.create) - ..a<$core.List<$core.int>>( - 5, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'id', - $pb.PbFieldType.OY) - ..aOS( - 6, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'userAgent', - protoName: 'userAgent') - ..aOB( - 8, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'disableRelayTx', - protoName: 'disableRelayTx') - ..aOM( - 9, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'subnetworkId', - protoName: 'subnetworkId', - subBuilder: SubnetworkId.create) - ..aOS( - 10, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'network') - ..hasRequiredFields = false; - - VersionMessage._() : super(); - factory VersionMessage({ - $core.int? protocolVersion, - $fixnum.Int64? services, - $fixnum.Int64? timestamp, - NetAddress? address, - $core.List<$core.int>? id, - $core.String? userAgent, - $core.bool? disableRelayTx, - SubnetworkId? subnetworkId, - $core.String? network, - }) { - final _result = create(); - if (protocolVersion != null) { - _result.protocolVersion = protocolVersion; - } - if (services != null) { - _result.services = services; - } - if (timestamp != null) { - _result.timestamp = timestamp; - } - if (address != null) { - _result.address = address; - } - if (id != null) { - _result.id = id; - } - if (userAgent != null) { - _result.userAgent = userAgent; - } - if (disableRelayTx != null) { - _result.disableRelayTx = disableRelayTx; - } - if (subnetworkId != null) { - _result.subnetworkId = subnetworkId; - } - if (network != null) { - _result.network = network; - } - return _result; - } - factory VersionMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory VersionMessage.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') - VersionMessage clone() => VersionMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - VersionMessage copyWith(void Function(VersionMessage) updates) => - super.copyWith((message) => updates(message as VersionMessage)) - as VersionMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static VersionMessage create() => VersionMessage._(); - VersionMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static VersionMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static VersionMessage? _defaultInstance; - - @$pb.TagNumber(1) - $core.int get protocolVersion => $_getIZ(0); - @$pb.TagNumber(1) - set protocolVersion($core.int v) { - $_setUnsignedInt32(0, v); - } - - @$pb.TagNumber(1) - $core.bool hasProtocolVersion() => $_has(0); - @$pb.TagNumber(1) - void clearProtocolVersion() => clearField(1); - - @$pb.TagNumber(2) - $fixnum.Int64 get services => $_getI64(1); - @$pb.TagNumber(2) - set services($fixnum.Int64 v) { - $_setInt64(1, v); - } - - @$pb.TagNumber(2) - $core.bool hasServices() => $_has(1); - @$pb.TagNumber(2) - void clearServices() => clearField(2); - - @$pb.TagNumber(3) - $fixnum.Int64 get timestamp => $_getI64(2); - @$pb.TagNumber(3) - set timestamp($fixnum.Int64 v) { - $_setInt64(2, v); - } - - @$pb.TagNumber(3) - $core.bool hasTimestamp() => $_has(2); - @$pb.TagNumber(3) - void clearTimestamp() => clearField(3); - - @$pb.TagNumber(4) - NetAddress get address => $_getN(3); - @$pb.TagNumber(4) - set address(NetAddress v) { - setField(4, v); - } - - @$pb.TagNumber(4) - $core.bool hasAddress() => $_has(3); - @$pb.TagNumber(4) - void clearAddress() => clearField(4); - @$pb.TagNumber(4) - NetAddress ensureAddress() => $_ensure(3); - - @$pb.TagNumber(5) - $core.List<$core.int> get id => $_getN(4); - @$pb.TagNumber(5) - set id($core.List<$core.int> v) { - $_setBytes(4, v); - } - - @$pb.TagNumber(5) - $core.bool hasId() => $_has(4); - @$pb.TagNumber(5) - void clearId() => clearField(5); - - @$pb.TagNumber(6) - $core.String get userAgent => $_getSZ(5); - @$pb.TagNumber(6) - set userAgent($core.String v) { - $_setString(5, v); - } - - @$pb.TagNumber(6) - $core.bool hasUserAgent() => $_has(5); - @$pb.TagNumber(6) - void clearUserAgent() => clearField(6); - - @$pb.TagNumber(8) - $core.bool get disableRelayTx => $_getBF(6); - @$pb.TagNumber(8) - set disableRelayTx($core.bool v) { - $_setBool(6, v); - } - - @$pb.TagNumber(8) - $core.bool hasDisableRelayTx() => $_has(6); - @$pb.TagNumber(8) - void clearDisableRelayTx() => clearField(8); - - @$pb.TagNumber(9) - SubnetworkId get subnetworkId => $_getN(7); - @$pb.TagNumber(9) - set subnetworkId(SubnetworkId v) { - setField(9, v); - } - - @$pb.TagNumber(9) - $core.bool hasSubnetworkId() => $_has(7); - @$pb.TagNumber(9) - void clearSubnetworkId() => clearField(9); - @$pb.TagNumber(9) - SubnetworkId ensureSubnetworkId() => $_ensure(7); - - @$pb.TagNumber(10) - $core.String get network => $_getSZ(8); - @$pb.TagNumber(10) - set network($core.String v) { - $_setString(8, v); - } - - @$pb.TagNumber(10) - $core.bool hasNetwork() => $_has(8); - @$pb.TagNumber(10) - void clearNetwork() => clearField(10); -} - -class RejectMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'RejectMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOS( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'reason') - ..hasRequiredFields = false; - - RejectMessage._() : super(); - factory RejectMessage({ - $core.String? reason, - }) { - final _result = create(); - if (reason != null) { - _result.reason = reason; - } - return _result; - } - factory RejectMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory RejectMessage.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') - RejectMessage clone() => RejectMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - RejectMessage copyWith(void Function(RejectMessage) updates) => - super.copyWith((message) => updates(message as RejectMessage)) - as RejectMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static RejectMessage create() => RejectMessage._(); - RejectMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static RejectMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static RejectMessage? _defaultInstance; - - @$pb.TagNumber(1) - $core.String get reason => $_getSZ(0); - @$pb.TagNumber(1) - set reason($core.String v) { - $_setString(0, v); - } - - @$pb.TagNumber(1) - $core.bool hasReason() => $_has(0); - @$pb.TagNumber(1) - void clearReason() => clearField(1); -} - -class RequestPruningPointUTXOSetMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'RequestPruningPointUTXOSetMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOM( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'pruningPointHash', - protoName: 'pruningPointHash', - subBuilder: Hash.create) - ..hasRequiredFields = false; - - RequestPruningPointUTXOSetMessage._() : super(); - factory RequestPruningPointUTXOSetMessage({ - Hash? pruningPointHash, - }) { - final _result = create(); - if (pruningPointHash != null) { - _result.pruningPointHash = pruningPointHash; - } - return _result; - } - factory RequestPruningPointUTXOSetMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory RequestPruningPointUTXOSetMessage.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') - RequestPruningPointUTXOSetMessage clone() => - RequestPruningPointUTXOSetMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - RequestPruningPointUTXOSetMessage copyWith( - void Function(RequestPruningPointUTXOSetMessage) updates) => - super.copyWith((message) => - updates(message as RequestPruningPointUTXOSetMessage)) - as RequestPruningPointUTXOSetMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static RequestPruningPointUTXOSetMessage create() => - RequestPruningPointUTXOSetMessage._(); - RequestPruningPointUTXOSetMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static RequestPruningPointUTXOSetMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor( - create); - static RequestPruningPointUTXOSetMessage? _defaultInstance; - - @$pb.TagNumber(1) - Hash get pruningPointHash => $_getN(0); - @$pb.TagNumber(1) - set pruningPointHash(Hash v) { - setField(1, v); - } - - @$pb.TagNumber(1) - $core.bool hasPruningPointHash() => $_has(0); - @$pb.TagNumber(1) - void clearPruningPointHash() => clearField(1); - @$pb.TagNumber(1) - Hash ensurePruningPointHash() => $_ensure(0); -} - -class PruningPointUtxoSetChunkMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'PruningPointUtxoSetChunkMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..pc( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'outpointAndUtxoEntryPairs', - $pb.PbFieldType.PM, - protoName: 'outpointAndUtxoEntryPairs', - subBuilder: OutpointAndUtxoEntryPair.create) - ..hasRequiredFields = false; - - PruningPointUtxoSetChunkMessage._() : super(); - factory PruningPointUtxoSetChunkMessage({ - $core.Iterable? outpointAndUtxoEntryPairs, - }) { - final _result = create(); - if (outpointAndUtxoEntryPairs != null) { - _result.outpointAndUtxoEntryPairs.addAll(outpointAndUtxoEntryPairs); - } - return _result; - } - factory PruningPointUtxoSetChunkMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory PruningPointUtxoSetChunkMessage.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') - PruningPointUtxoSetChunkMessage clone() => - PruningPointUtxoSetChunkMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - PruningPointUtxoSetChunkMessage copyWith( - void Function(PruningPointUtxoSetChunkMessage) updates) => - super.copyWith( - (message) => updates(message as PruningPointUtxoSetChunkMessage)) - as PruningPointUtxoSetChunkMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static PruningPointUtxoSetChunkMessage create() => - PruningPointUtxoSetChunkMessage._(); - PruningPointUtxoSetChunkMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static PruningPointUtxoSetChunkMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor( - create); - static PruningPointUtxoSetChunkMessage? _defaultInstance; - - @$pb.TagNumber(1) - $core.List get outpointAndUtxoEntryPairs => - $_getList(0); -} - -class OutpointAndUtxoEntryPair extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'OutpointAndUtxoEntryPair', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOM( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'outpoint', - subBuilder: Outpoint.create) - ..aOM( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'utxoEntry', - protoName: 'utxoEntry', - subBuilder: UtxoEntry.create) - ..hasRequiredFields = false; - - OutpointAndUtxoEntryPair._() : super(); - factory OutpointAndUtxoEntryPair({ - Outpoint? outpoint, - UtxoEntry? utxoEntry, - }) { - final _result = create(); - if (outpoint != null) { - _result.outpoint = outpoint; - } - if (utxoEntry != null) { - _result.utxoEntry = utxoEntry; - } - return _result; - } - factory OutpointAndUtxoEntryPair.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory OutpointAndUtxoEntryPair.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') - OutpointAndUtxoEntryPair clone() => - OutpointAndUtxoEntryPair()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - OutpointAndUtxoEntryPair copyWith( - void Function(OutpointAndUtxoEntryPair) updates) => - super.copyWith((message) => updates(message as OutpointAndUtxoEntryPair)) - as OutpointAndUtxoEntryPair; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static OutpointAndUtxoEntryPair create() => OutpointAndUtxoEntryPair._(); - OutpointAndUtxoEntryPair createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static OutpointAndUtxoEntryPair getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static OutpointAndUtxoEntryPair? _defaultInstance; - - @$pb.TagNumber(1) - Outpoint get outpoint => $_getN(0); - @$pb.TagNumber(1) - set outpoint(Outpoint v) { - setField(1, v); - } - - @$pb.TagNumber(1) - $core.bool hasOutpoint() => $_has(0); - @$pb.TagNumber(1) - void clearOutpoint() => clearField(1); - @$pb.TagNumber(1) - Outpoint ensureOutpoint() => $_ensure(0); - - @$pb.TagNumber(2) - UtxoEntry get utxoEntry => $_getN(1); - @$pb.TagNumber(2) - set utxoEntry(UtxoEntry v) { - setField(2, v); - } - - @$pb.TagNumber(2) - $core.bool hasUtxoEntry() => $_has(1); - @$pb.TagNumber(2) - void clearUtxoEntry() => clearField(2); - @$pb.TagNumber(2) - UtxoEntry ensureUtxoEntry() => $_ensure(1); -} - -class UtxoEntry extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'UtxoEntry', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..a<$fixnum.Int64>( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'amount', - $pb.PbFieldType.OU6, - defaultOrMaker: $fixnum.Int64.ZERO) - ..aOM( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'scriptPublicKey', - protoName: 'scriptPublicKey', - subBuilder: ScriptPublicKey.create) - ..a<$fixnum.Int64>( - 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'blockDaaScore', - $pb.PbFieldType.OU6, - protoName: 'blockDaaScore', - defaultOrMaker: $fixnum.Int64.ZERO) - ..aOB( - 4, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'isCoinbase', - protoName: 'isCoinbase') - ..hasRequiredFields = false; - - UtxoEntry._() : super(); - factory UtxoEntry({ - $fixnum.Int64? amount, - ScriptPublicKey? scriptPublicKey, - $fixnum.Int64? blockDaaScore, - $core.bool? isCoinbase, - }) { - final _result = create(); - if (amount != null) { - _result.amount = amount; - } - if (scriptPublicKey != null) { - _result.scriptPublicKey = scriptPublicKey; - } - if (blockDaaScore != null) { - _result.blockDaaScore = blockDaaScore; - } - if (isCoinbase != null) { - _result.isCoinbase = isCoinbase; - } - return _result; - } - factory UtxoEntry.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory UtxoEntry.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') - UtxoEntry clone() => UtxoEntry()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - UtxoEntry copyWith(void Function(UtxoEntry) updates) => - super.copyWith((message) => updates(message as UtxoEntry)) - as UtxoEntry; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static UtxoEntry create() => UtxoEntry._(); - UtxoEntry createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); - @$core.pragma('dart2js:noInline') - static UtxoEntry getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); - static UtxoEntry? _defaultInstance; - - @$pb.TagNumber(1) - $fixnum.Int64 get amount => $_getI64(0); - @$pb.TagNumber(1) - set amount($fixnum.Int64 v) { - $_setInt64(0, v); - } - - @$pb.TagNumber(1) - $core.bool hasAmount() => $_has(0); - @$pb.TagNumber(1) - void clearAmount() => clearField(1); - - @$pb.TagNumber(2) - ScriptPublicKey get scriptPublicKey => $_getN(1); - @$pb.TagNumber(2) - set scriptPublicKey(ScriptPublicKey v) { - setField(2, v); - } - - @$pb.TagNumber(2) - $core.bool hasScriptPublicKey() => $_has(1); - @$pb.TagNumber(2) - void clearScriptPublicKey() => clearField(2); - @$pb.TagNumber(2) - ScriptPublicKey ensureScriptPublicKey() => $_ensure(1); - - @$pb.TagNumber(3) - $fixnum.Int64 get blockDaaScore => $_getI64(2); - @$pb.TagNumber(3) - set blockDaaScore($fixnum.Int64 v) { - $_setInt64(2, v); - } - - @$pb.TagNumber(3) - $core.bool hasBlockDaaScore() => $_has(2); - @$pb.TagNumber(3) - void clearBlockDaaScore() => clearField(3); - - @$pb.TagNumber(4) - $core.bool get isCoinbase => $_getBF(3); - @$pb.TagNumber(4) - set isCoinbase($core.bool v) { - $_setBool(3, v); - } - - @$pb.TagNumber(4) - $core.bool hasIsCoinbase() => $_has(3); - @$pb.TagNumber(4) - void clearIsCoinbase() => clearField(4); -} - -class RequestNextPruningPointUtxoSetChunkMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'RequestNextPruningPointUtxoSetChunkMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..hasRequiredFields = false; - - RequestNextPruningPointUtxoSetChunkMessage._() : super(); - factory RequestNextPruningPointUtxoSetChunkMessage() => create(); - factory RequestNextPruningPointUtxoSetChunkMessage.fromBuffer( - $core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory RequestNextPruningPointUtxoSetChunkMessage.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') - RequestNextPruningPointUtxoSetChunkMessage clone() => - RequestNextPruningPointUtxoSetChunkMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - RequestNextPruningPointUtxoSetChunkMessage copyWith( - void Function(RequestNextPruningPointUtxoSetChunkMessage) updates) => - super.copyWith((message) => - updates(message as RequestNextPruningPointUtxoSetChunkMessage)) - as RequestNextPruningPointUtxoSetChunkMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static RequestNextPruningPointUtxoSetChunkMessage create() => - RequestNextPruningPointUtxoSetChunkMessage._(); - RequestNextPruningPointUtxoSetChunkMessage createEmptyInstance() => create(); - static $pb.PbList - createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static RequestNextPruningPointUtxoSetChunkMessage getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< - RequestNextPruningPointUtxoSetChunkMessage>(create); - static RequestNextPruningPointUtxoSetChunkMessage? _defaultInstance; -} - -class DonePruningPointUtxoSetChunksMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'DonePruningPointUtxoSetChunksMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..hasRequiredFields = false; - - DonePruningPointUtxoSetChunksMessage._() : super(); - factory DonePruningPointUtxoSetChunksMessage() => create(); - factory DonePruningPointUtxoSetChunksMessage.fromBuffer( - $core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory DonePruningPointUtxoSetChunksMessage.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') - DonePruningPointUtxoSetChunksMessage clone() => - DonePruningPointUtxoSetChunksMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - DonePruningPointUtxoSetChunksMessage copyWith( - void Function(DonePruningPointUtxoSetChunksMessage) updates) => - super.copyWith((message) => - updates(message as DonePruningPointUtxoSetChunksMessage)) - as DonePruningPointUtxoSetChunksMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static DonePruningPointUtxoSetChunksMessage create() => - DonePruningPointUtxoSetChunksMessage._(); - DonePruningPointUtxoSetChunksMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static DonePruningPointUtxoSetChunksMessage getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< - DonePruningPointUtxoSetChunksMessage>(create); - static DonePruningPointUtxoSetChunksMessage? _defaultInstance; -} - -class RequestIBDBlocksMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'RequestIBDBlocksMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..pc( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'hashes', - $pb.PbFieldType.PM, - subBuilder: Hash.create) - ..hasRequiredFields = false; - - RequestIBDBlocksMessage._() : super(); - factory RequestIBDBlocksMessage({ - $core.Iterable? hashes, - }) { - final _result = create(); - if (hashes != null) { - _result.hashes.addAll(hashes); - } - return _result; - } - factory RequestIBDBlocksMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory RequestIBDBlocksMessage.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') - RequestIBDBlocksMessage clone() => - RequestIBDBlocksMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - RequestIBDBlocksMessage copyWith( - void Function(RequestIBDBlocksMessage) updates) => - super.copyWith((message) => updates(message as RequestIBDBlocksMessage)) - as RequestIBDBlocksMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static RequestIBDBlocksMessage create() => RequestIBDBlocksMessage._(); - RequestIBDBlocksMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static RequestIBDBlocksMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static RequestIBDBlocksMessage? _defaultInstance; - - @$pb.TagNumber(1) - $core.List get hashes => $_getList(0); -} - -class UnexpectedPruningPointMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'UnexpectedPruningPointMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..hasRequiredFields = false; - - UnexpectedPruningPointMessage._() : super(); - factory UnexpectedPruningPointMessage() => create(); - factory UnexpectedPruningPointMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory UnexpectedPruningPointMessage.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') - UnexpectedPruningPointMessage clone() => - UnexpectedPruningPointMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - UnexpectedPruningPointMessage copyWith( - void Function(UnexpectedPruningPointMessage) updates) => - super.copyWith( - (message) => updates(message as UnexpectedPruningPointMessage)) - as UnexpectedPruningPointMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static UnexpectedPruningPointMessage create() => - UnexpectedPruningPointMessage._(); - UnexpectedPruningPointMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static UnexpectedPruningPointMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static UnexpectedPruningPointMessage? _defaultInstance; -} - -class IbdBlockLocatorMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'IbdBlockLocatorMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOM( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'targetHash', - protoName: 'targetHash', - subBuilder: Hash.create) - ..pc( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'blockLocatorHashes', - $pb.PbFieldType.PM, - protoName: 'blockLocatorHashes', - subBuilder: Hash.create) - ..hasRequiredFields = false; - - IbdBlockLocatorMessage._() : super(); - factory IbdBlockLocatorMessage({ - Hash? targetHash, - $core.Iterable? blockLocatorHashes, - }) { - final _result = create(); - if (targetHash != null) { - _result.targetHash = targetHash; - } - if (blockLocatorHashes != null) { - _result.blockLocatorHashes.addAll(blockLocatorHashes); - } - return _result; - } - factory IbdBlockLocatorMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory IbdBlockLocatorMessage.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') - IbdBlockLocatorMessage clone() => - IbdBlockLocatorMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - IbdBlockLocatorMessage copyWith( - void Function(IbdBlockLocatorMessage) updates) => - super.copyWith((message) => updates(message as IbdBlockLocatorMessage)) - as IbdBlockLocatorMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static IbdBlockLocatorMessage create() => IbdBlockLocatorMessage._(); - IbdBlockLocatorMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static IbdBlockLocatorMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static IbdBlockLocatorMessage? _defaultInstance; - - @$pb.TagNumber(1) - Hash get targetHash => $_getN(0); - @$pb.TagNumber(1) - set targetHash(Hash v) { - setField(1, v); - } - - @$pb.TagNumber(1) - $core.bool hasTargetHash() => $_has(0); - @$pb.TagNumber(1) - void clearTargetHash() => clearField(1); - @$pb.TagNumber(1) - Hash ensureTargetHash() => $_ensure(0); - - @$pb.TagNumber(2) - $core.List get blockLocatorHashes => $_getList(1); -} - -class RequestIBDChainBlockLocatorMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'RequestIBDChainBlockLocatorMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOM( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'lowHash', - protoName: 'lowHash', - subBuilder: Hash.create) - ..aOM( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'highHash', - protoName: 'highHash', - subBuilder: Hash.create) - ..hasRequiredFields = false; - - RequestIBDChainBlockLocatorMessage._() : super(); - factory RequestIBDChainBlockLocatorMessage({ - Hash? lowHash, - Hash? highHash, - }) { - final _result = create(); - if (lowHash != null) { - _result.lowHash = lowHash; - } - if (highHash != null) { - _result.highHash = highHash; - } - return _result; - } - factory RequestIBDChainBlockLocatorMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory RequestIBDChainBlockLocatorMessage.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') - RequestIBDChainBlockLocatorMessage clone() => - RequestIBDChainBlockLocatorMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - RequestIBDChainBlockLocatorMessage copyWith( - void Function(RequestIBDChainBlockLocatorMessage) updates) => - super.copyWith((message) => - updates(message as RequestIBDChainBlockLocatorMessage)) - as RequestIBDChainBlockLocatorMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static RequestIBDChainBlockLocatorMessage create() => - RequestIBDChainBlockLocatorMessage._(); - RequestIBDChainBlockLocatorMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static RequestIBDChainBlockLocatorMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor( - create); - static RequestIBDChainBlockLocatorMessage? _defaultInstance; - - @$pb.TagNumber(1) - Hash get lowHash => $_getN(0); - @$pb.TagNumber(1) - set lowHash(Hash v) { - setField(1, v); - } - - @$pb.TagNumber(1) - $core.bool hasLowHash() => $_has(0); - @$pb.TagNumber(1) - void clearLowHash() => clearField(1); - @$pb.TagNumber(1) - Hash ensureLowHash() => $_ensure(0); - - @$pb.TagNumber(2) - Hash get highHash => $_getN(1); - @$pb.TagNumber(2) - set highHash(Hash v) { - setField(2, v); - } - - @$pb.TagNumber(2) - $core.bool hasHighHash() => $_has(1); - @$pb.TagNumber(2) - void clearHighHash() => clearField(2); - @$pb.TagNumber(2) - Hash ensureHighHash() => $_ensure(1); -} - -class IbdChainBlockLocatorMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'IbdChainBlockLocatorMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..pc( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'blockLocatorHashes', - $pb.PbFieldType.PM, - protoName: 'blockLocatorHashes', - subBuilder: Hash.create) - ..hasRequiredFields = false; - - IbdChainBlockLocatorMessage._() : super(); - factory IbdChainBlockLocatorMessage({ - $core.Iterable? blockLocatorHashes, - }) { - final _result = create(); - if (blockLocatorHashes != null) { - _result.blockLocatorHashes.addAll(blockLocatorHashes); - } - return _result; - } - factory IbdChainBlockLocatorMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory IbdChainBlockLocatorMessage.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') - IbdChainBlockLocatorMessage clone() => - IbdChainBlockLocatorMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - IbdChainBlockLocatorMessage copyWith( - void Function(IbdChainBlockLocatorMessage) updates) => - super.copyWith( - (message) => updates(message as IbdChainBlockLocatorMessage)) - as IbdChainBlockLocatorMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static IbdChainBlockLocatorMessage create() => - IbdChainBlockLocatorMessage._(); - IbdChainBlockLocatorMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static IbdChainBlockLocatorMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static IbdChainBlockLocatorMessage? _defaultInstance; - - @$pb.TagNumber(1) - $core.List get blockLocatorHashes => $_getList(0); -} - -class RequestAnticoneMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'RequestAnticoneMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOM( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'blockHash', - protoName: 'blockHash', - subBuilder: Hash.create) - ..aOM( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'contextHash', - protoName: 'contextHash', - subBuilder: Hash.create) - ..hasRequiredFields = false; - - RequestAnticoneMessage._() : super(); - factory RequestAnticoneMessage({ - Hash? blockHash, - Hash? contextHash, - }) { - final _result = create(); - if (blockHash != null) { - _result.blockHash = blockHash; - } - if (contextHash != null) { - _result.contextHash = contextHash; - } - return _result; - } - factory RequestAnticoneMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory RequestAnticoneMessage.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') - RequestAnticoneMessage clone() => - RequestAnticoneMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - RequestAnticoneMessage copyWith( - void Function(RequestAnticoneMessage) updates) => - super.copyWith((message) => updates(message as RequestAnticoneMessage)) - as RequestAnticoneMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static RequestAnticoneMessage create() => RequestAnticoneMessage._(); - RequestAnticoneMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static RequestAnticoneMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static RequestAnticoneMessage? _defaultInstance; - - @$pb.TagNumber(1) - Hash get blockHash => $_getN(0); - @$pb.TagNumber(1) - set blockHash(Hash v) { - setField(1, v); - } - - @$pb.TagNumber(1) - $core.bool hasBlockHash() => $_has(0); - @$pb.TagNumber(1) - void clearBlockHash() => clearField(1); - @$pb.TagNumber(1) - Hash ensureBlockHash() => $_ensure(0); - - @$pb.TagNumber(2) - Hash get contextHash => $_getN(1); - @$pb.TagNumber(2) - set contextHash(Hash v) { - setField(2, v); - } - - @$pb.TagNumber(2) - $core.bool hasContextHash() => $_has(1); - @$pb.TagNumber(2) - void clearContextHash() => clearField(2); - @$pb.TagNumber(2) - Hash ensureContextHash() => $_ensure(1); -} - -class IbdBlockLocatorHighestHashMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'IbdBlockLocatorHighestHashMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOM( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'highestHash', - protoName: 'highestHash', - subBuilder: Hash.create) - ..hasRequiredFields = false; - - IbdBlockLocatorHighestHashMessage._() : super(); - factory IbdBlockLocatorHighestHashMessage({ - Hash? highestHash, - }) { - final _result = create(); - if (highestHash != null) { - _result.highestHash = highestHash; - } - return _result; - } - factory IbdBlockLocatorHighestHashMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory IbdBlockLocatorHighestHashMessage.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') - IbdBlockLocatorHighestHashMessage clone() => - IbdBlockLocatorHighestHashMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - IbdBlockLocatorHighestHashMessage copyWith( - void Function(IbdBlockLocatorHighestHashMessage) updates) => - super.copyWith((message) => - updates(message as IbdBlockLocatorHighestHashMessage)) - as IbdBlockLocatorHighestHashMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static IbdBlockLocatorHighestHashMessage create() => - IbdBlockLocatorHighestHashMessage._(); - IbdBlockLocatorHighestHashMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static IbdBlockLocatorHighestHashMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor( - create); - static IbdBlockLocatorHighestHashMessage? _defaultInstance; - - @$pb.TagNumber(1) - Hash get highestHash => $_getN(0); - @$pb.TagNumber(1) - set highestHash(Hash v) { - setField(1, v); - } - - @$pb.TagNumber(1) - $core.bool hasHighestHash() => $_has(0); - @$pb.TagNumber(1) - void clearHighestHash() => clearField(1); - @$pb.TagNumber(1) - Hash ensureHighestHash() => $_ensure(0); -} - -class IbdBlockLocatorHighestHashNotFoundMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'IbdBlockLocatorHighestHashNotFoundMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..hasRequiredFields = false; - - IbdBlockLocatorHighestHashNotFoundMessage._() : super(); - factory IbdBlockLocatorHighestHashNotFoundMessage() => create(); - factory IbdBlockLocatorHighestHashNotFoundMessage.fromBuffer( - $core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory IbdBlockLocatorHighestHashNotFoundMessage.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') - IbdBlockLocatorHighestHashNotFoundMessage clone() => - IbdBlockLocatorHighestHashNotFoundMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - IbdBlockLocatorHighestHashNotFoundMessage copyWith( - void Function(IbdBlockLocatorHighestHashNotFoundMessage) updates) => - super.copyWith((message) => - updates(message as IbdBlockLocatorHighestHashNotFoundMessage)) - as IbdBlockLocatorHighestHashNotFoundMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static IbdBlockLocatorHighestHashNotFoundMessage create() => - IbdBlockLocatorHighestHashNotFoundMessage._(); - IbdBlockLocatorHighestHashNotFoundMessage createEmptyInstance() => create(); - static $pb.PbList - createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static IbdBlockLocatorHighestHashNotFoundMessage getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< - IbdBlockLocatorHighestHashNotFoundMessage>(create); - static IbdBlockLocatorHighestHashNotFoundMessage? _defaultInstance; -} - -class BlockHeadersMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'BlockHeadersMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..pc( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'blockHeaders', - $pb.PbFieldType.PM, - protoName: 'blockHeaders', - subBuilder: BlockHeader.create) - ..hasRequiredFields = false; - - BlockHeadersMessage._() : super(); - factory BlockHeadersMessage({ - $core.Iterable? blockHeaders, - }) { - final _result = create(); - if (blockHeaders != null) { - _result.blockHeaders.addAll(blockHeaders); - } - return _result; - } - factory BlockHeadersMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory BlockHeadersMessage.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') - BlockHeadersMessage clone() => BlockHeadersMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - BlockHeadersMessage copyWith(void Function(BlockHeadersMessage) updates) => - super.copyWith((message) => updates(message as BlockHeadersMessage)) - as BlockHeadersMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static BlockHeadersMessage create() => BlockHeadersMessage._(); - BlockHeadersMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static BlockHeadersMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static BlockHeadersMessage? _defaultInstance; - - @$pb.TagNumber(1) - $core.List get blockHeaders => $_getList(0); -} - -class RequestPruningPointAndItsAnticoneMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'RequestPruningPointAndItsAnticoneMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..hasRequiredFields = false; - - RequestPruningPointAndItsAnticoneMessage._() : super(); - factory RequestPruningPointAndItsAnticoneMessage() => create(); - factory RequestPruningPointAndItsAnticoneMessage.fromBuffer( - $core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory RequestPruningPointAndItsAnticoneMessage.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') - RequestPruningPointAndItsAnticoneMessage clone() => - RequestPruningPointAndItsAnticoneMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - RequestPruningPointAndItsAnticoneMessage copyWith( - void Function(RequestPruningPointAndItsAnticoneMessage) updates) => - super.copyWith((message) => - updates(message as RequestPruningPointAndItsAnticoneMessage)) - as RequestPruningPointAndItsAnticoneMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static RequestPruningPointAndItsAnticoneMessage create() => - RequestPruningPointAndItsAnticoneMessage._(); - RequestPruningPointAndItsAnticoneMessage createEmptyInstance() => create(); - static $pb.PbList - createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static RequestPruningPointAndItsAnticoneMessage getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< - RequestPruningPointAndItsAnticoneMessage>(create); - static RequestPruningPointAndItsAnticoneMessage? _defaultInstance; -} - -class RequestNextPruningPointAndItsAnticoneBlocksMessage - extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'RequestNextPruningPointAndItsAnticoneBlocksMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..hasRequiredFields = false; - - RequestNextPruningPointAndItsAnticoneBlocksMessage._() : super(); - factory RequestNextPruningPointAndItsAnticoneBlocksMessage() => create(); - factory RequestNextPruningPointAndItsAnticoneBlocksMessage.fromBuffer( - $core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory RequestNextPruningPointAndItsAnticoneBlocksMessage.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') - RequestNextPruningPointAndItsAnticoneBlocksMessage clone() => - RequestNextPruningPointAndItsAnticoneBlocksMessage() - ..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - RequestNextPruningPointAndItsAnticoneBlocksMessage copyWith( - void Function(RequestNextPruningPointAndItsAnticoneBlocksMessage) - updates) => - super.copyWith((message) => updates( - message as RequestNextPruningPointAndItsAnticoneBlocksMessage)) - as RequestNextPruningPointAndItsAnticoneBlocksMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static RequestNextPruningPointAndItsAnticoneBlocksMessage create() => - RequestNextPruningPointAndItsAnticoneBlocksMessage._(); - RequestNextPruningPointAndItsAnticoneBlocksMessage createEmptyInstance() => - create(); - static $pb.PbList - createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static RequestNextPruningPointAndItsAnticoneBlocksMessage getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< - RequestNextPruningPointAndItsAnticoneBlocksMessage>(create); - static RequestNextPruningPointAndItsAnticoneBlocksMessage? _defaultInstance; -} - -class BlockWithTrustedDataMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'BlockWithTrustedDataMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOM( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'block', - subBuilder: BlockMessage.create) - ..a<$fixnum.Int64>( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'daaScore', - $pb.PbFieldType.OU6, - protoName: 'daaScore', - defaultOrMaker: $fixnum.Int64.ZERO) - ..pc( - 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'daaWindow', - $pb.PbFieldType.PM, - protoName: 'daaWindow', - subBuilder: DaaBlock.create) - ..pc( - 4, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'ghostdagData', - $pb.PbFieldType.PM, - protoName: 'ghostdagData', - subBuilder: BlockGhostdagDataHashPair.create) - ..hasRequiredFields = false; - - BlockWithTrustedDataMessage._() : super(); - factory BlockWithTrustedDataMessage({ - BlockMessage? block, - $fixnum.Int64? daaScore, - $core.Iterable? daaWindow, - $core.Iterable? ghostdagData, - }) { - final _result = create(); - if (block != null) { - _result.block = block; - } - if (daaScore != null) { - _result.daaScore = daaScore; - } - if (daaWindow != null) { - _result.daaWindow.addAll(daaWindow); - } - if (ghostdagData != null) { - _result.ghostdagData.addAll(ghostdagData); - } - return _result; - } - factory BlockWithTrustedDataMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory BlockWithTrustedDataMessage.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') - BlockWithTrustedDataMessage clone() => - BlockWithTrustedDataMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - BlockWithTrustedDataMessage copyWith( - void Function(BlockWithTrustedDataMessage) updates) => - super.copyWith( - (message) => updates(message as BlockWithTrustedDataMessage)) - as BlockWithTrustedDataMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static BlockWithTrustedDataMessage create() => - BlockWithTrustedDataMessage._(); - BlockWithTrustedDataMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static BlockWithTrustedDataMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static BlockWithTrustedDataMessage? _defaultInstance; - - @$pb.TagNumber(1) - BlockMessage get block => $_getN(0); - @$pb.TagNumber(1) - set block(BlockMessage v) { - setField(1, v); - } - - @$pb.TagNumber(1) - $core.bool hasBlock() => $_has(0); - @$pb.TagNumber(1) - void clearBlock() => clearField(1); - @$pb.TagNumber(1) - BlockMessage ensureBlock() => $_ensure(0); - - @$pb.TagNumber(2) - $fixnum.Int64 get daaScore => $_getI64(1); - @$pb.TagNumber(2) - set daaScore($fixnum.Int64 v) { - $_setInt64(1, v); - } - - @$pb.TagNumber(2) - $core.bool hasDaaScore() => $_has(1); - @$pb.TagNumber(2) - void clearDaaScore() => clearField(2); - - @$pb.TagNumber(3) - $core.List get daaWindow => $_getList(2); - - @$pb.TagNumber(4) - $core.List get ghostdagData => $_getList(3); -} - -class DaaBlock extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'DaaBlock', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOM( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'ghostdagData', - protoName: 'ghostdagData', - subBuilder: GhostdagData.create) - ..aOM( - 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'block', - subBuilder: BlockMessage.create) - ..hasRequiredFields = false; - - DaaBlock._() : super(); - factory DaaBlock({ - GhostdagData? ghostdagData, - BlockMessage? block, - }) { - final _result = create(); - if (ghostdagData != null) { - _result.ghostdagData = ghostdagData; - } - if (block != null) { - _result.block = block; - } - return _result; - } - factory DaaBlock.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory DaaBlock.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') - DaaBlock clone() => DaaBlock()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - DaaBlock copyWith(void Function(DaaBlock) updates) => - super.copyWith((message) => updates(message as DaaBlock)) - as DaaBlock; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static DaaBlock create() => DaaBlock._(); - DaaBlock createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); - @$core.pragma('dart2js:noInline') - static DaaBlock getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); - static DaaBlock? _defaultInstance; - - @$pb.TagNumber(2) - GhostdagData get ghostdagData => $_getN(0); - @$pb.TagNumber(2) - set ghostdagData(GhostdagData v) { - setField(2, v); - } - - @$pb.TagNumber(2) - $core.bool hasGhostdagData() => $_has(0); - @$pb.TagNumber(2) - void clearGhostdagData() => clearField(2); - @$pb.TagNumber(2) - GhostdagData ensureGhostdagData() => $_ensure(0); - - @$pb.TagNumber(3) - BlockMessage get block => $_getN(1); - @$pb.TagNumber(3) - set block(BlockMessage v) { - setField(3, v); - } - - @$pb.TagNumber(3) - $core.bool hasBlock() => $_has(1); - @$pb.TagNumber(3) - void clearBlock() => clearField(3); - @$pb.TagNumber(3) - BlockMessage ensureBlock() => $_ensure(1); -} - -class DaaBlockV4 extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'DaaBlockV4', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOM( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'header', - subBuilder: BlockHeader.create) - ..aOM( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'ghostdagData', - protoName: 'ghostdagData', - subBuilder: GhostdagData.create) - ..hasRequiredFields = false; - - DaaBlockV4._() : super(); - factory DaaBlockV4({ - BlockHeader? header, - GhostdagData? ghostdagData, - }) { - final _result = create(); - if (header != null) { - _result.header = header; - } - if (ghostdagData != null) { - _result.ghostdagData = ghostdagData; - } - return _result; - } - factory DaaBlockV4.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory DaaBlockV4.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') - DaaBlockV4 clone() => DaaBlockV4()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - DaaBlockV4 copyWith(void Function(DaaBlockV4) updates) => - super.copyWith((message) => updates(message as DaaBlockV4)) - as DaaBlockV4; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static DaaBlockV4 create() => DaaBlockV4._(); - DaaBlockV4 createEmptyInstance() => create(); - static $pb.PbList createRepeated() => $pb.PbList(); - @$core.pragma('dart2js:noInline') - static DaaBlockV4 getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static DaaBlockV4? _defaultInstance; - - @$pb.TagNumber(1) - BlockHeader get header => $_getN(0); - @$pb.TagNumber(1) - set header(BlockHeader v) { - setField(1, v); - } - - @$pb.TagNumber(1) - $core.bool hasHeader() => $_has(0); - @$pb.TagNumber(1) - void clearHeader() => clearField(1); - @$pb.TagNumber(1) - BlockHeader ensureHeader() => $_ensure(0); - - @$pb.TagNumber(2) - GhostdagData get ghostdagData => $_getN(1); - @$pb.TagNumber(2) - set ghostdagData(GhostdagData v) { - setField(2, v); - } - - @$pb.TagNumber(2) - $core.bool hasGhostdagData() => $_has(1); - @$pb.TagNumber(2) - void clearGhostdagData() => clearField(2); - @$pb.TagNumber(2) - GhostdagData ensureGhostdagData() => $_ensure(1); -} - -class BlockGhostdagDataHashPair extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'BlockGhostdagDataHashPair', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOM( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'hash', - subBuilder: Hash.create) - ..aOM( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'ghostdagData', - protoName: 'ghostdagData', - subBuilder: GhostdagData.create) - ..hasRequiredFields = false; - - BlockGhostdagDataHashPair._() : super(); - factory BlockGhostdagDataHashPair({ - Hash? hash, - GhostdagData? ghostdagData, - }) { - final _result = create(); - if (hash != null) { - _result.hash = hash; - } - if (ghostdagData != null) { - _result.ghostdagData = ghostdagData; - } - return _result; - } - factory BlockGhostdagDataHashPair.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory BlockGhostdagDataHashPair.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') - BlockGhostdagDataHashPair clone() => - BlockGhostdagDataHashPair()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - BlockGhostdagDataHashPair copyWith( - void Function(BlockGhostdagDataHashPair) updates) => - super.copyWith((message) => updates(message as BlockGhostdagDataHashPair)) - as BlockGhostdagDataHashPair; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static BlockGhostdagDataHashPair create() => BlockGhostdagDataHashPair._(); - BlockGhostdagDataHashPair createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static BlockGhostdagDataHashPair getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static BlockGhostdagDataHashPair? _defaultInstance; - - @$pb.TagNumber(1) - Hash get hash => $_getN(0); - @$pb.TagNumber(1) - set hash(Hash v) { - setField(1, v); - } - - @$pb.TagNumber(1) - $core.bool hasHash() => $_has(0); - @$pb.TagNumber(1) - void clearHash() => clearField(1); - @$pb.TagNumber(1) - Hash ensureHash() => $_ensure(0); - - @$pb.TagNumber(2) - GhostdagData get ghostdagData => $_getN(1); - @$pb.TagNumber(2) - set ghostdagData(GhostdagData v) { - setField(2, v); - } - - @$pb.TagNumber(2) - $core.bool hasGhostdagData() => $_has(1); - @$pb.TagNumber(2) - void clearGhostdagData() => clearField(2); - @$pb.TagNumber(2) - GhostdagData ensureGhostdagData() => $_ensure(1); -} - -class GhostdagData extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'GhostdagData', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..a<$fixnum.Int64>( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'blueScore', - $pb.PbFieldType.OU6, - protoName: 'blueScore', - defaultOrMaker: $fixnum.Int64.ZERO) - ..a<$core.List<$core.int>>( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'blueWork', - $pb.PbFieldType.OY, - protoName: 'blueWork') - ..aOM( - 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'selectedParent', - protoName: 'selectedParent', - subBuilder: Hash.create) - ..pc( - 4, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'mergeSetBlues', - $pb.PbFieldType.PM, - protoName: 'mergeSetBlues', - subBuilder: Hash.create) - ..pc( - 5, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'mergeSetReds', - $pb.PbFieldType.PM, - protoName: 'mergeSetReds', - subBuilder: Hash.create) - ..pc( - 6, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'bluesAnticoneSizes', - $pb.PbFieldType.PM, - protoName: 'bluesAnticoneSizes', - subBuilder: BluesAnticoneSizes.create) - ..hasRequiredFields = false; - - GhostdagData._() : super(); - factory GhostdagData({ - $fixnum.Int64? blueScore, - $core.List<$core.int>? blueWork, - Hash? selectedParent, - $core.Iterable? mergeSetBlues, - $core.Iterable? mergeSetReds, - $core.Iterable? bluesAnticoneSizes, - }) { - final _result = create(); - if (blueScore != null) { - _result.blueScore = blueScore; - } - if (blueWork != null) { - _result.blueWork = blueWork; - } - if (selectedParent != null) { - _result.selectedParent = selectedParent; - } - if (mergeSetBlues != null) { - _result.mergeSetBlues.addAll(mergeSetBlues); - } - if (mergeSetReds != null) { - _result.mergeSetReds.addAll(mergeSetReds); - } - if (bluesAnticoneSizes != null) { - _result.bluesAnticoneSizes.addAll(bluesAnticoneSizes); - } - return _result; - } - factory GhostdagData.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory GhostdagData.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') - GhostdagData clone() => GhostdagData()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - GhostdagData copyWith(void Function(GhostdagData) updates) => - super.copyWith((message) => updates(message as GhostdagData)) - as GhostdagData; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static GhostdagData create() => GhostdagData._(); - GhostdagData createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static GhostdagData getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static GhostdagData? _defaultInstance; - - @$pb.TagNumber(1) - $fixnum.Int64 get blueScore => $_getI64(0); - @$pb.TagNumber(1) - set blueScore($fixnum.Int64 v) { - $_setInt64(0, v); - } - - @$pb.TagNumber(1) - $core.bool hasBlueScore() => $_has(0); - @$pb.TagNumber(1) - void clearBlueScore() => clearField(1); - - @$pb.TagNumber(2) - $core.List<$core.int> get blueWork => $_getN(1); - @$pb.TagNumber(2) - set blueWork($core.List<$core.int> v) { - $_setBytes(1, v); - } - - @$pb.TagNumber(2) - $core.bool hasBlueWork() => $_has(1); - @$pb.TagNumber(2) - void clearBlueWork() => clearField(2); - - @$pb.TagNumber(3) - Hash get selectedParent => $_getN(2); - @$pb.TagNumber(3) - set selectedParent(Hash v) { - setField(3, v); - } - - @$pb.TagNumber(3) - $core.bool hasSelectedParent() => $_has(2); - @$pb.TagNumber(3) - void clearSelectedParent() => clearField(3); - @$pb.TagNumber(3) - Hash ensureSelectedParent() => $_ensure(2); - - @$pb.TagNumber(4) - $core.List get mergeSetBlues => $_getList(3); - - @$pb.TagNumber(5) - $core.List get mergeSetReds => $_getList(4); - - @$pb.TagNumber(6) - $core.List get bluesAnticoneSizes => $_getList(5); -} - -class BluesAnticoneSizes extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'BluesAnticoneSizes', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOM( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'blueHash', - protoName: 'blueHash', - subBuilder: Hash.create) - ..a<$core.int>( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'anticoneSize', - $pb.PbFieldType.OU3, - protoName: 'anticoneSize') - ..hasRequiredFields = false; - - BluesAnticoneSizes._() : super(); - factory BluesAnticoneSizes({ - Hash? blueHash, - $core.int? anticoneSize, - }) { - final _result = create(); - if (blueHash != null) { - _result.blueHash = blueHash; - } - if (anticoneSize != null) { - _result.anticoneSize = anticoneSize; - } - return _result; - } - factory BluesAnticoneSizes.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory BluesAnticoneSizes.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') - BluesAnticoneSizes clone() => BluesAnticoneSizes()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - BluesAnticoneSizes copyWith(void Function(BluesAnticoneSizes) updates) => - super.copyWith((message) => updates(message as BluesAnticoneSizes)) - as BluesAnticoneSizes; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static BluesAnticoneSizes create() => BluesAnticoneSizes._(); - BluesAnticoneSizes createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static BluesAnticoneSizes getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static BluesAnticoneSizes? _defaultInstance; - - @$pb.TagNumber(1) - Hash get blueHash => $_getN(0); - @$pb.TagNumber(1) - set blueHash(Hash v) { - setField(1, v); - } - - @$pb.TagNumber(1) - $core.bool hasBlueHash() => $_has(0); - @$pb.TagNumber(1) - void clearBlueHash() => clearField(1); - @$pb.TagNumber(1) - Hash ensureBlueHash() => $_ensure(0); - - @$pb.TagNumber(2) - $core.int get anticoneSize => $_getIZ(1); - @$pb.TagNumber(2) - set anticoneSize($core.int v) { - $_setUnsignedInt32(1, v); - } - - @$pb.TagNumber(2) - $core.bool hasAnticoneSize() => $_has(1); - @$pb.TagNumber(2) - void clearAnticoneSize() => clearField(2); -} - -class DoneBlocksWithTrustedDataMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'DoneBlocksWithTrustedDataMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..hasRequiredFields = false; - - DoneBlocksWithTrustedDataMessage._() : super(); - factory DoneBlocksWithTrustedDataMessage() => create(); - factory DoneBlocksWithTrustedDataMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory DoneBlocksWithTrustedDataMessage.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') - DoneBlocksWithTrustedDataMessage clone() => - DoneBlocksWithTrustedDataMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - DoneBlocksWithTrustedDataMessage copyWith( - void Function(DoneBlocksWithTrustedDataMessage) updates) => - super.copyWith( - (message) => updates(message as DoneBlocksWithTrustedDataMessage)) - as DoneBlocksWithTrustedDataMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static DoneBlocksWithTrustedDataMessage create() => - DoneBlocksWithTrustedDataMessage._(); - DoneBlocksWithTrustedDataMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static DoneBlocksWithTrustedDataMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor( - create); - static DoneBlocksWithTrustedDataMessage? _defaultInstance; -} - -class PruningPointsMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'PruningPointsMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..pc( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'headers', - $pb.PbFieldType.PM, - subBuilder: BlockHeader.create) - ..hasRequiredFields = false; - - PruningPointsMessage._() : super(); - factory PruningPointsMessage({ - $core.Iterable? headers, - }) { - final _result = create(); - if (headers != null) { - _result.headers.addAll(headers); - } - return _result; - } - factory PruningPointsMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory PruningPointsMessage.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') - PruningPointsMessage clone() => - PruningPointsMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - PruningPointsMessage copyWith(void Function(PruningPointsMessage) updates) => - super.copyWith((message) => updates(message as PruningPointsMessage)) - as PruningPointsMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static PruningPointsMessage create() => PruningPointsMessage._(); - PruningPointsMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static PruningPointsMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static PruningPointsMessage? _defaultInstance; - - @$pb.TagNumber(1) - $core.List get headers => $_getList(0); -} - -class RequestPruningPointProofMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'RequestPruningPointProofMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..hasRequiredFields = false; - - RequestPruningPointProofMessage._() : super(); - factory RequestPruningPointProofMessage() => create(); - factory RequestPruningPointProofMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory RequestPruningPointProofMessage.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') - RequestPruningPointProofMessage clone() => - RequestPruningPointProofMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - RequestPruningPointProofMessage copyWith( - void Function(RequestPruningPointProofMessage) updates) => - super.copyWith( - (message) => updates(message as RequestPruningPointProofMessage)) - as RequestPruningPointProofMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static RequestPruningPointProofMessage create() => - RequestPruningPointProofMessage._(); - RequestPruningPointProofMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static RequestPruningPointProofMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor( - create); - static RequestPruningPointProofMessage? _defaultInstance; -} - -class PruningPointProofMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'PruningPointProofMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..pc( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'headers', - $pb.PbFieldType.PM, - subBuilder: PruningPointProofHeaderArray.create) - ..hasRequiredFields = false; - - PruningPointProofMessage._() : super(); - factory PruningPointProofMessage({ - $core.Iterable? headers, - }) { - final _result = create(); - if (headers != null) { - _result.headers.addAll(headers); - } - return _result; - } - factory PruningPointProofMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory PruningPointProofMessage.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') - PruningPointProofMessage clone() => - PruningPointProofMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - PruningPointProofMessage copyWith( - void Function(PruningPointProofMessage) updates) => - super.copyWith((message) => updates(message as PruningPointProofMessage)) - as PruningPointProofMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static PruningPointProofMessage create() => PruningPointProofMessage._(); - PruningPointProofMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static PruningPointProofMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static PruningPointProofMessage? _defaultInstance; - - @$pb.TagNumber(1) - $core.List get headers => $_getList(0); -} - -class PruningPointProofHeaderArray extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'PruningPointProofHeaderArray', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..pc( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'headers', - $pb.PbFieldType.PM, - subBuilder: BlockHeader.create) - ..hasRequiredFields = false; - - PruningPointProofHeaderArray._() : super(); - factory PruningPointProofHeaderArray({ - $core.Iterable? headers, - }) { - final _result = create(); - if (headers != null) { - _result.headers.addAll(headers); - } - return _result; - } - factory PruningPointProofHeaderArray.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory PruningPointProofHeaderArray.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') - PruningPointProofHeaderArray clone() => - PruningPointProofHeaderArray()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - PruningPointProofHeaderArray copyWith( - void Function(PruningPointProofHeaderArray) updates) => - super.copyWith( - (message) => updates(message as PruningPointProofHeaderArray)) - as PruningPointProofHeaderArray; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static PruningPointProofHeaderArray create() => - PruningPointProofHeaderArray._(); - PruningPointProofHeaderArray createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static PruningPointProofHeaderArray getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static PruningPointProofHeaderArray? _defaultInstance; - - @$pb.TagNumber(1) - $core.List get headers => $_getList(0); -} - -class ReadyMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'ReadyMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..hasRequiredFields = false; - - ReadyMessage._() : super(); - factory ReadyMessage() => create(); - factory ReadyMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory ReadyMessage.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') - ReadyMessage clone() => ReadyMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - ReadyMessage copyWith(void Function(ReadyMessage) updates) => - super.copyWith((message) => updates(message as ReadyMessage)) - as ReadyMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static ReadyMessage create() => ReadyMessage._(); - ReadyMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static ReadyMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static ReadyMessage? _defaultInstance; -} - -class BlockWithTrustedDataV4Message extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'BlockWithTrustedDataV4Message', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOM( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'block', - subBuilder: BlockMessage.create) - ..p<$fixnum.Int64>( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'daaWindowIndices', - $pb.PbFieldType.KU6, - protoName: 'daaWindowIndices') - ..p<$fixnum.Int64>( - 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'ghostdagDataIndices', - $pb.PbFieldType.KU6, - protoName: 'ghostdagDataIndices') - ..hasRequiredFields = false; - - BlockWithTrustedDataV4Message._() : super(); - factory BlockWithTrustedDataV4Message({ - BlockMessage? block, - $core.Iterable<$fixnum.Int64>? daaWindowIndices, - $core.Iterable<$fixnum.Int64>? ghostdagDataIndices, - }) { - final _result = create(); - if (block != null) { - _result.block = block; - } - if (daaWindowIndices != null) { - _result.daaWindowIndices.addAll(daaWindowIndices); - } - if (ghostdagDataIndices != null) { - _result.ghostdagDataIndices.addAll(ghostdagDataIndices); - } - return _result; - } - factory BlockWithTrustedDataV4Message.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory BlockWithTrustedDataV4Message.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') - BlockWithTrustedDataV4Message clone() => - BlockWithTrustedDataV4Message()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - BlockWithTrustedDataV4Message copyWith( - void Function(BlockWithTrustedDataV4Message) updates) => - super.copyWith( - (message) => updates(message as BlockWithTrustedDataV4Message)) - as BlockWithTrustedDataV4Message; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static BlockWithTrustedDataV4Message create() => - BlockWithTrustedDataV4Message._(); - BlockWithTrustedDataV4Message createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static BlockWithTrustedDataV4Message getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static BlockWithTrustedDataV4Message? _defaultInstance; - - @$pb.TagNumber(1) - BlockMessage get block => $_getN(0); - @$pb.TagNumber(1) - set block(BlockMessage v) { - setField(1, v); - } - - @$pb.TagNumber(1) - $core.bool hasBlock() => $_has(0); - @$pb.TagNumber(1) - void clearBlock() => clearField(1); - @$pb.TagNumber(1) - BlockMessage ensureBlock() => $_ensure(0); - - @$pb.TagNumber(2) - $core.List<$fixnum.Int64> get daaWindowIndices => $_getList(1); - - @$pb.TagNumber(3) - $core.List<$fixnum.Int64> get ghostdagDataIndices => $_getList(2); -} - -class TrustedDataMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'TrustedDataMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..pc( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'daaWindow', - $pb.PbFieldType.PM, - protoName: 'daaWindow', - subBuilder: DaaBlockV4.create) - ..pc( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'ghostdagData', - $pb.PbFieldType.PM, - protoName: 'ghostdagData', - subBuilder: BlockGhostdagDataHashPair.create) - ..hasRequiredFields = false; - - TrustedDataMessage._() : super(); - factory TrustedDataMessage({ - $core.Iterable? daaWindow, - $core.Iterable? ghostdagData, - }) { - final _result = create(); - if (daaWindow != null) { - _result.daaWindow.addAll(daaWindow); - } - if (ghostdagData != null) { - _result.ghostdagData.addAll(ghostdagData); - } - return _result; - } - factory TrustedDataMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory TrustedDataMessage.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') - TrustedDataMessage clone() => TrustedDataMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - TrustedDataMessage copyWith(void Function(TrustedDataMessage) updates) => - super.copyWith((message) => updates(message as TrustedDataMessage)) - as TrustedDataMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static TrustedDataMessage create() => TrustedDataMessage._(); - TrustedDataMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static TrustedDataMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static TrustedDataMessage? _defaultInstance; - - @$pb.TagNumber(1) - $core.List get daaWindow => $_getList(0); - - @$pb.TagNumber(2) - $core.List get ghostdagData => $_getList(1); -} diff --git a/lib/karlsen/grpc/p2p.pbenum.dart b/lib/karlsen/grpc/p2p.pbenum.dart deleted file mode 100644 index 32e7a15b..00000000 --- a/lib/karlsen/grpc/p2p.pbenum.dart +++ /dev/null @@ -1,6 +0,0 @@ -/// -// Generated code. Do not modify. -// source: p2p.proto -// -// @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/karlsen/grpc/p2p.pbjson.dart b/lib/karlsen/grpc/p2p.pbjson.dart deleted file mode 100644 index 8ad4bfd5..00000000 --- a/lib/karlsen/grpc/p2p.pbjson.dart +++ /dev/null @@ -1,1195 +0,0 @@ -/// -// Generated code. Do not modify. -// source: p2p.proto -// -// @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; -import 'dart:convert' as $convert; -import 'dart:typed_data' as $typed_data; - -@$core.Deprecated('Use requestAddressesMessageDescriptor instead') -const RequestAddressesMessage$json = const { - '1': 'RequestAddressesMessage', - '2': const [ - const { - '1': 'includeAllSubnetworks', - '3': 1, - '4': 1, - '5': 8, - '10': 'includeAllSubnetworks' - }, - const { - '1': 'subnetworkId', - '3': 2, - '4': 1, - '5': 11, - '6': '.protowire.SubnetworkId', - '10': 'subnetworkId' - }, - ], -}; - -/// Descriptor for `RequestAddressesMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List requestAddressesMessageDescriptor = - $convert.base64Decode( - 'ChdSZXF1ZXN0QWRkcmVzc2VzTWVzc2FnZRI0ChVpbmNsdWRlQWxsU3VibmV0d29ya3MYASABKAhSFWluY2x1ZGVBbGxTdWJuZXR3b3JrcxI7CgxzdWJuZXR3b3JrSWQYAiABKAsyFy5wcm90b3dpcmUuU3VibmV0d29ya0lkUgxzdWJuZXR3b3JrSWQ='); -@$core.Deprecated('Use addressesMessageDescriptor instead') -const AddressesMessage$json = const { - '1': 'AddressesMessage', - '2': const [ - const { - '1': 'addressList', - '3': 1, - '4': 3, - '5': 11, - '6': '.protowire.NetAddress', - '10': 'addressList' - }, - ], -}; - -/// Descriptor for `AddressesMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List addressesMessageDescriptor = $convert.base64Decode( - 'ChBBZGRyZXNzZXNNZXNzYWdlEjcKC2FkZHJlc3NMaXN0GAEgAygLMhUucHJvdG93aXJlLk5ldEFkZHJlc3NSC2FkZHJlc3NMaXN0'); -@$core.Deprecated('Use netAddressDescriptor instead') -const NetAddress$json = const { - '1': 'NetAddress', - '2': const [ - const {'1': 'timestamp', '3': 1, '4': 1, '5': 3, '10': 'timestamp'}, - const {'1': 'ip', '3': 3, '4': 1, '5': 12, '10': 'ip'}, - const {'1': 'port', '3': 4, '4': 1, '5': 13, '10': 'port'}, - ], -}; - -/// Descriptor for `NetAddress`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List netAddressDescriptor = $convert.base64Decode( - 'CgpOZXRBZGRyZXNzEhwKCXRpbWVzdGFtcBgBIAEoA1IJdGltZXN0YW1wEg4KAmlwGAMgASgMUgJpcBISCgRwb3J0GAQgASgNUgRwb3J0'); -@$core.Deprecated('Use subnetworkIdDescriptor instead') -const SubnetworkId$json = const { - '1': 'SubnetworkId', - '2': const [ - const {'1': 'bytes', '3': 1, '4': 1, '5': 12, '10': 'bytes'}, - ], -}; - -/// Descriptor for `SubnetworkId`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List subnetworkIdDescriptor = - $convert.base64Decode('CgxTdWJuZXR3b3JrSWQSFAoFYnl0ZXMYASABKAxSBWJ5dGVz'); -@$core.Deprecated('Use transactionMessageDescriptor instead') -const TransactionMessage$json = const { - '1': 'TransactionMessage', - '2': const [ - const {'1': 'version', '3': 1, '4': 1, '5': 13, '10': 'version'}, - const { - '1': 'inputs', - '3': 2, - '4': 3, - '5': 11, - '6': '.protowire.TransactionInput', - '10': 'inputs' - }, - const { - '1': 'outputs', - '3': 3, - '4': 3, - '5': 11, - '6': '.protowire.TransactionOutput', - '10': 'outputs' - }, - const {'1': 'lockTime', '3': 4, '4': 1, '5': 4, '10': 'lockTime'}, - const { - '1': 'subnetworkId', - '3': 5, - '4': 1, - '5': 11, - '6': '.protowire.SubnetworkId', - '10': 'subnetworkId' - }, - const {'1': 'gas', '3': 6, '4': 1, '5': 4, '10': 'gas'}, - const {'1': 'payload', '3': 8, '4': 1, '5': 12, '10': 'payload'}, - ], -}; - -/// Descriptor for `TransactionMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List transactionMessageDescriptor = $convert.base64Decode( - 'ChJUcmFuc2FjdGlvbk1lc3NhZ2USGAoHdmVyc2lvbhgBIAEoDVIHdmVyc2lvbhIzCgZpbnB1dHMYAiADKAsyGy5wcm90b3dpcmUuVHJhbnNhY3Rpb25JbnB1dFIGaW5wdXRzEjYKB291dHB1dHMYAyADKAsyHC5wcm90b3dpcmUuVHJhbnNhY3Rpb25PdXRwdXRSB291dHB1dHMSGgoIbG9ja1RpbWUYBCABKARSCGxvY2tUaW1lEjsKDHN1Ym5ldHdvcmtJZBgFIAEoCzIXLnByb3Rvd2lyZS5TdWJuZXR3b3JrSWRSDHN1Ym5ldHdvcmtJZBIQCgNnYXMYBiABKARSA2dhcxIYCgdwYXlsb2FkGAggASgMUgdwYXlsb2Fk'); -@$core.Deprecated('Use transactionInputDescriptor instead') -const TransactionInput$json = const { - '1': 'TransactionInput', - '2': const [ - const { - '1': 'previousOutpoint', - '3': 1, - '4': 1, - '5': 11, - '6': '.protowire.Outpoint', - '10': 'previousOutpoint' - }, - const { - '1': 'signatureScript', - '3': 2, - '4': 1, - '5': 12, - '10': 'signatureScript' - }, - const {'1': 'sequence', '3': 3, '4': 1, '5': 4, '10': 'sequence'}, - const {'1': 'sigOpCount', '3': 4, '4': 1, '5': 13, '10': 'sigOpCount'}, - ], -}; - -/// Descriptor for `TransactionInput`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List transactionInputDescriptor = $convert.base64Decode( - 'ChBUcmFuc2FjdGlvbklucHV0Ej8KEHByZXZpb3VzT3V0cG9pbnQYASABKAsyEy5wcm90b3dpcmUuT3V0cG9pbnRSEHByZXZpb3VzT3V0cG9pbnQSKAoPc2lnbmF0dXJlU2NyaXB0GAIgASgMUg9zaWduYXR1cmVTY3JpcHQSGgoIc2VxdWVuY2UYAyABKARSCHNlcXVlbmNlEh4KCnNpZ09wQ291bnQYBCABKA1SCnNpZ09wQ291bnQ='); -@$core.Deprecated('Use outpointDescriptor instead') -const Outpoint$json = const { - '1': 'Outpoint', - '2': const [ - const { - '1': 'transactionId', - '3': 1, - '4': 1, - '5': 11, - '6': '.protowire.TransactionId', - '10': 'transactionId' - }, - const {'1': 'index', '3': 2, '4': 1, '5': 13, '10': 'index'}, - ], -}; - -/// Descriptor for `Outpoint`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List outpointDescriptor = $convert.base64Decode( - 'CghPdXRwb2ludBI+Cg10cmFuc2FjdGlvbklkGAEgASgLMhgucHJvdG93aXJlLlRyYW5zYWN0aW9uSWRSDXRyYW5zYWN0aW9uSWQSFAoFaW5kZXgYAiABKA1SBWluZGV4'); -@$core.Deprecated('Use transactionIdDescriptor instead') -const TransactionId$json = const { - '1': 'TransactionId', - '2': const [ - const {'1': 'bytes', '3': 1, '4': 1, '5': 12, '10': 'bytes'}, - ], -}; - -/// Descriptor for `TransactionId`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List transactionIdDescriptor = $convert - .base64Decode('Cg1UcmFuc2FjdGlvbklkEhQKBWJ5dGVzGAEgASgMUgVieXRlcw=='); -@$core.Deprecated('Use scriptPublicKeyDescriptor instead') -const ScriptPublicKey$json = const { - '1': 'ScriptPublicKey', - '2': const [ - const {'1': 'script', '3': 1, '4': 1, '5': 12, '10': 'script'}, - const {'1': 'version', '3': 2, '4': 1, '5': 13, '10': 'version'}, - ], -}; - -/// Descriptor for `ScriptPublicKey`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List scriptPublicKeyDescriptor = $convert.base64Decode( - 'Cg9TY3JpcHRQdWJsaWNLZXkSFgoGc2NyaXB0GAEgASgMUgZzY3JpcHQSGAoHdmVyc2lvbhgCIAEoDVIHdmVyc2lvbg=='); -@$core.Deprecated('Use transactionOutputDescriptor instead') -const TransactionOutput$json = const { - '1': 'TransactionOutput', - '2': const [ - const {'1': 'value', '3': 1, '4': 1, '5': 4, '10': 'value'}, - const { - '1': 'scriptPublicKey', - '3': 2, - '4': 1, - '5': 11, - '6': '.protowire.ScriptPublicKey', - '10': 'scriptPublicKey' - }, - ], -}; - -/// Descriptor for `TransactionOutput`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List transactionOutputDescriptor = $convert.base64Decode( - 'ChFUcmFuc2FjdGlvbk91dHB1dBIUCgV2YWx1ZRgBIAEoBFIFdmFsdWUSRAoPc2NyaXB0UHVibGljS2V5GAIgASgLMhoucHJvdG93aXJlLlNjcmlwdFB1YmxpY0tleVIPc2NyaXB0UHVibGljS2V5'); -@$core.Deprecated('Use blockMessageDescriptor instead') -const BlockMessage$json = const { - '1': 'BlockMessage', - '2': const [ - const { - '1': 'header', - '3': 1, - '4': 1, - '5': 11, - '6': '.protowire.BlockHeader', - '10': 'header' - }, - const { - '1': 'transactions', - '3': 2, - '4': 3, - '5': 11, - '6': '.protowire.TransactionMessage', - '10': 'transactions' - }, - ], -}; - -/// Descriptor for `BlockMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List blockMessageDescriptor = $convert.base64Decode( - 'CgxCbG9ja01lc3NhZ2USLgoGaGVhZGVyGAEgASgLMhYucHJvdG93aXJlLkJsb2NrSGVhZGVyUgZoZWFkZXISQQoMdHJhbnNhY3Rpb25zGAIgAygLMh0ucHJvdG93aXJlLlRyYW5zYWN0aW9uTWVzc2FnZVIMdHJhbnNhY3Rpb25z'); -@$core.Deprecated('Use blockHeaderDescriptor instead') -const BlockHeader$json = const { - '1': 'BlockHeader', - '2': const [ - const {'1': 'version', '3': 1, '4': 1, '5': 13, '10': 'version'}, - const { - '1': 'parents', - '3': 12, - '4': 3, - '5': 11, - '6': '.protowire.BlockLevelParents', - '10': 'parents' - }, - const { - '1': 'hashMerkleRoot', - '3': 3, - '4': 1, - '5': 11, - '6': '.protowire.Hash', - '10': 'hashMerkleRoot' - }, - const { - '1': 'acceptedIdMerkleRoot', - '3': 4, - '4': 1, - '5': 11, - '6': '.protowire.Hash', - '10': 'acceptedIdMerkleRoot' - }, - const { - '1': 'utxoCommitment', - '3': 5, - '4': 1, - '5': 11, - '6': '.protowire.Hash', - '10': 'utxoCommitment' - }, - const {'1': 'timestamp', '3': 6, '4': 1, '5': 3, '10': 'timestamp'}, - const {'1': 'bits', '3': 7, '4': 1, '5': 13, '10': 'bits'}, - const {'1': 'nonce', '3': 8, '4': 1, '5': 4, '10': 'nonce'}, - const {'1': 'daaScore', '3': 9, '4': 1, '5': 4, '10': 'daaScore'}, - const {'1': 'blueWork', '3': 10, '4': 1, '5': 12, '10': 'blueWork'}, - const { - '1': 'pruningPoint', - '3': 14, - '4': 1, - '5': 11, - '6': '.protowire.Hash', - '10': 'pruningPoint' - }, - const {'1': 'blueScore', '3': 13, '4': 1, '5': 4, '10': 'blueScore'}, - ], -}; - -/// Descriptor for `BlockHeader`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List blockHeaderDescriptor = $convert.base64Decode( - 'CgtCbG9ja0hlYWRlchIYCgd2ZXJzaW9uGAEgASgNUgd2ZXJzaW9uEjYKB3BhcmVudHMYDCADKAsyHC5wcm90b3dpcmUuQmxvY2tMZXZlbFBhcmVudHNSB3BhcmVudHMSNwoOaGFzaE1lcmtsZVJvb3QYAyABKAsyDy5wcm90b3dpcmUuSGFzaFIOaGFzaE1lcmtsZVJvb3QSQwoUYWNjZXB0ZWRJZE1lcmtsZVJvb3QYBCABKAsyDy5wcm90b3dpcmUuSGFzaFIUYWNjZXB0ZWRJZE1lcmtsZVJvb3QSNwoOdXR4b0NvbW1pdG1lbnQYBSABKAsyDy5wcm90b3dpcmUuSGFzaFIOdXR4b0NvbW1pdG1lbnQSHAoJdGltZXN0YW1wGAYgASgDUgl0aW1lc3RhbXASEgoEYml0cxgHIAEoDVIEYml0cxIUCgVub25jZRgIIAEoBFIFbm9uY2USGgoIZGFhU2NvcmUYCSABKARSCGRhYVNjb3JlEhoKCGJsdWVXb3JrGAogASgMUghibHVlV29yaxIzCgxwcnVuaW5nUG9pbnQYDiABKAsyDy5wcm90b3dpcmUuSGFzaFIMcHJ1bmluZ1BvaW50EhwKCWJsdWVTY29yZRgNIAEoBFIJYmx1ZVNjb3Jl'); -@$core.Deprecated('Use blockLevelParentsDescriptor instead') -const BlockLevelParents$json = const { - '1': 'BlockLevelParents', - '2': const [ - const { - '1': 'parentHashes', - '3': 1, - '4': 3, - '5': 11, - '6': '.protowire.Hash', - '10': 'parentHashes' - }, - ], -}; - -/// Descriptor for `BlockLevelParents`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List blockLevelParentsDescriptor = $convert.base64Decode( - 'ChFCbG9ja0xldmVsUGFyZW50cxIzCgxwYXJlbnRIYXNoZXMYASADKAsyDy5wcm90b3dpcmUuSGFzaFIMcGFyZW50SGFzaGVz'); -@$core.Deprecated('Use hashDescriptor instead') -const Hash$json = const { - '1': 'Hash', - '2': const [ - const {'1': 'bytes', '3': 1, '4': 1, '5': 12, '10': 'bytes'}, - ], -}; - -/// Descriptor for `Hash`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List hashDescriptor = - $convert.base64Decode('CgRIYXNoEhQKBWJ5dGVzGAEgASgMUgVieXRlcw=='); -@$core.Deprecated('Use requestBlockLocatorMessageDescriptor instead') -const RequestBlockLocatorMessage$json = const { - '1': 'RequestBlockLocatorMessage', - '2': const [ - const { - '1': 'highHash', - '3': 1, - '4': 1, - '5': 11, - '6': '.protowire.Hash', - '10': 'highHash' - }, - const {'1': 'limit', '3': 2, '4': 1, '5': 13, '10': 'limit'}, - ], -}; - -/// Descriptor for `RequestBlockLocatorMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List requestBlockLocatorMessageDescriptor = - $convert.base64Decode( - 'ChpSZXF1ZXN0QmxvY2tMb2NhdG9yTWVzc2FnZRIrCghoaWdoSGFzaBgBIAEoCzIPLnByb3Rvd2lyZS5IYXNoUghoaWdoSGFzaBIUCgVsaW1pdBgCIAEoDVIFbGltaXQ='); -@$core.Deprecated('Use blockLocatorMessageDescriptor instead') -const BlockLocatorMessage$json = const { - '1': 'BlockLocatorMessage', - '2': const [ - const { - '1': 'hashes', - '3': 1, - '4': 3, - '5': 11, - '6': '.protowire.Hash', - '10': 'hashes' - }, - ], -}; - -/// Descriptor for `BlockLocatorMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List blockLocatorMessageDescriptor = $convert.base64Decode( - 'ChNCbG9ja0xvY2F0b3JNZXNzYWdlEicKBmhhc2hlcxgBIAMoCzIPLnByb3Rvd2lyZS5IYXNoUgZoYXNoZXM='); -@$core.Deprecated('Use requestHeadersMessageDescriptor instead') -const RequestHeadersMessage$json = const { - '1': 'RequestHeadersMessage', - '2': const [ - const { - '1': 'lowHash', - '3': 1, - '4': 1, - '5': 11, - '6': '.protowire.Hash', - '10': 'lowHash' - }, - const { - '1': 'highHash', - '3': 2, - '4': 1, - '5': 11, - '6': '.protowire.Hash', - '10': 'highHash' - }, - ], -}; - -/// Descriptor for `RequestHeadersMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List requestHeadersMessageDescriptor = $convert.base64Decode( - 'ChVSZXF1ZXN0SGVhZGVyc01lc3NhZ2USKQoHbG93SGFzaBgBIAEoCzIPLnByb3Rvd2lyZS5IYXNoUgdsb3dIYXNoEisKCGhpZ2hIYXNoGAIgASgLMg8ucHJvdG93aXJlLkhhc2hSCGhpZ2hIYXNo'); -@$core.Deprecated('Use requestNextHeadersMessageDescriptor instead') -const RequestNextHeadersMessage$json = const { - '1': 'RequestNextHeadersMessage', -}; - -/// Descriptor for `RequestNextHeadersMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List requestNextHeadersMessageDescriptor = - $convert.base64Decode('ChlSZXF1ZXN0TmV4dEhlYWRlcnNNZXNzYWdl'); -@$core.Deprecated('Use doneHeadersMessageDescriptor instead') -const DoneHeadersMessage$json = const { - '1': 'DoneHeadersMessage', -}; - -/// Descriptor for `DoneHeadersMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List doneHeadersMessageDescriptor = - $convert.base64Decode('ChJEb25lSGVhZGVyc01lc3NhZ2U='); -@$core.Deprecated('Use requestRelayBlocksMessageDescriptor instead') -const RequestRelayBlocksMessage$json = const { - '1': 'RequestRelayBlocksMessage', - '2': const [ - const { - '1': 'hashes', - '3': 1, - '4': 3, - '5': 11, - '6': '.protowire.Hash', - '10': 'hashes' - }, - ], -}; - -/// Descriptor for `RequestRelayBlocksMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List requestRelayBlocksMessageDescriptor = - $convert.base64Decode( - 'ChlSZXF1ZXN0UmVsYXlCbG9ja3NNZXNzYWdlEicKBmhhc2hlcxgBIAMoCzIPLnByb3Rvd2lyZS5IYXNoUgZoYXNoZXM='); -@$core.Deprecated('Use requestTransactionsMessageDescriptor instead') -const RequestTransactionsMessage$json = const { - '1': 'RequestTransactionsMessage', - '2': const [ - const { - '1': 'ids', - '3': 1, - '4': 3, - '5': 11, - '6': '.protowire.TransactionId', - '10': 'ids' - }, - ], -}; - -/// Descriptor for `RequestTransactionsMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List requestTransactionsMessageDescriptor = - $convert.base64Decode( - 'ChpSZXF1ZXN0VHJhbnNhY3Rpb25zTWVzc2FnZRIqCgNpZHMYASADKAsyGC5wcm90b3dpcmUuVHJhbnNhY3Rpb25JZFIDaWRz'); -@$core.Deprecated('Use transactionNotFoundMessageDescriptor instead') -const TransactionNotFoundMessage$json = const { - '1': 'TransactionNotFoundMessage', - '2': const [ - const { - '1': 'id', - '3': 1, - '4': 1, - '5': 11, - '6': '.protowire.TransactionId', - '10': 'id' - }, - ], -}; - -/// Descriptor for `TransactionNotFoundMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List transactionNotFoundMessageDescriptor = - $convert.base64Decode( - 'ChpUcmFuc2FjdGlvbk5vdEZvdW5kTWVzc2FnZRIoCgJpZBgBIAEoCzIYLnByb3Rvd2lyZS5UcmFuc2FjdGlvbklkUgJpZA=='); -@$core.Deprecated('Use invRelayBlockMessageDescriptor instead') -const InvRelayBlockMessage$json = const { - '1': 'InvRelayBlockMessage', - '2': const [ - const { - '1': 'hash', - '3': 1, - '4': 1, - '5': 11, - '6': '.protowire.Hash', - '10': 'hash' - }, - ], -}; - -/// Descriptor for `InvRelayBlockMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List invRelayBlockMessageDescriptor = $convert.base64Decode( - 'ChRJbnZSZWxheUJsb2NrTWVzc2FnZRIjCgRoYXNoGAEgASgLMg8ucHJvdG93aXJlLkhhc2hSBGhhc2g='); -@$core.Deprecated('Use invTransactionsMessageDescriptor instead') -const InvTransactionsMessage$json = const { - '1': 'InvTransactionsMessage', - '2': const [ - const { - '1': 'ids', - '3': 1, - '4': 3, - '5': 11, - '6': '.protowire.TransactionId', - '10': 'ids' - }, - ], -}; - -/// Descriptor for `InvTransactionsMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List invTransactionsMessageDescriptor = - $convert.base64Decode( - 'ChZJbnZUcmFuc2FjdGlvbnNNZXNzYWdlEioKA2lkcxgBIAMoCzIYLnByb3Rvd2lyZS5UcmFuc2FjdGlvbklkUgNpZHM='); -@$core.Deprecated('Use pingMessageDescriptor instead') -const PingMessage$json = const { - '1': 'PingMessage', - '2': const [ - const {'1': 'nonce', '3': 1, '4': 1, '5': 4, '10': 'nonce'}, - ], -}; - -/// Descriptor for `PingMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List pingMessageDescriptor = - $convert.base64Decode('CgtQaW5nTWVzc2FnZRIUCgVub25jZRgBIAEoBFIFbm9uY2U='); -@$core.Deprecated('Use pongMessageDescriptor instead') -const PongMessage$json = const { - '1': 'PongMessage', - '2': const [ - const {'1': 'nonce', '3': 1, '4': 1, '5': 4, '10': 'nonce'}, - ], -}; - -/// Descriptor for `PongMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List pongMessageDescriptor = - $convert.base64Decode('CgtQb25nTWVzc2FnZRIUCgVub25jZRgBIAEoBFIFbm9uY2U='); -@$core.Deprecated('Use verackMessageDescriptor instead') -const VerackMessage$json = const { - '1': 'VerackMessage', -}; - -/// Descriptor for `VerackMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List verackMessageDescriptor = - $convert.base64Decode('Cg1WZXJhY2tNZXNzYWdl'); -@$core.Deprecated('Use versionMessageDescriptor instead') -const VersionMessage$json = const { - '1': 'VersionMessage', - '2': const [ - const { - '1': 'protocolVersion', - '3': 1, - '4': 1, - '5': 13, - '10': 'protocolVersion' - }, - const {'1': 'services', '3': 2, '4': 1, '5': 4, '10': 'services'}, - const {'1': 'timestamp', '3': 3, '4': 1, '5': 3, '10': 'timestamp'}, - const { - '1': 'address', - '3': 4, - '4': 1, - '5': 11, - '6': '.protowire.NetAddress', - '10': 'address' - }, - const {'1': 'id', '3': 5, '4': 1, '5': 12, '10': 'id'}, - const {'1': 'userAgent', '3': 6, '4': 1, '5': 9, '10': 'userAgent'}, - const { - '1': 'disableRelayTx', - '3': 8, - '4': 1, - '5': 8, - '10': 'disableRelayTx' - }, - const { - '1': 'subnetworkId', - '3': 9, - '4': 1, - '5': 11, - '6': '.protowire.SubnetworkId', - '10': 'subnetworkId' - }, - const {'1': 'network', '3': 10, '4': 1, '5': 9, '10': 'network'}, - ], -}; - -/// Descriptor for `VersionMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List versionMessageDescriptor = $convert.base64Decode( - 'Cg5WZXJzaW9uTWVzc2FnZRIoCg9wcm90b2NvbFZlcnNpb24YASABKA1SD3Byb3RvY29sVmVyc2lvbhIaCghzZXJ2aWNlcxgCIAEoBFIIc2VydmljZXMSHAoJdGltZXN0YW1wGAMgASgDUgl0aW1lc3RhbXASLwoHYWRkcmVzcxgEIAEoCzIVLnByb3Rvd2lyZS5OZXRBZGRyZXNzUgdhZGRyZXNzEg4KAmlkGAUgASgMUgJpZBIcCgl1c2VyQWdlbnQYBiABKAlSCXVzZXJBZ2VudBImCg5kaXNhYmxlUmVsYXlUeBgIIAEoCFIOZGlzYWJsZVJlbGF5VHgSOwoMc3VibmV0d29ya0lkGAkgASgLMhcucHJvdG93aXJlLlN1Ym5ldHdvcmtJZFIMc3VibmV0d29ya0lkEhgKB25ldHdvcmsYCiABKAlSB25ldHdvcms='); -@$core.Deprecated('Use rejectMessageDescriptor instead') -const RejectMessage$json = const { - '1': 'RejectMessage', - '2': const [ - const {'1': 'reason', '3': 1, '4': 1, '5': 9, '10': 'reason'}, - ], -}; - -/// Descriptor for `RejectMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List rejectMessageDescriptor = $convert - .base64Decode('Cg1SZWplY3RNZXNzYWdlEhYKBnJlYXNvbhgBIAEoCVIGcmVhc29u'); -@$core.Deprecated('Use requestPruningPointUTXOSetMessageDescriptor instead') -const RequestPruningPointUTXOSetMessage$json = const { - '1': 'RequestPruningPointUTXOSetMessage', - '2': const [ - const { - '1': 'pruningPointHash', - '3': 1, - '4': 1, - '5': 11, - '6': '.protowire.Hash', - '10': 'pruningPointHash' - }, - ], -}; - -/// Descriptor for `RequestPruningPointUTXOSetMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List requestPruningPointUTXOSetMessageDescriptor = - $convert.base64Decode( - 'CiFSZXF1ZXN0UHJ1bmluZ1BvaW50VVRYT1NldE1lc3NhZ2USOwoQcHJ1bmluZ1BvaW50SGFzaBgBIAEoCzIPLnByb3Rvd2lyZS5IYXNoUhBwcnVuaW5nUG9pbnRIYXNo'); -@$core.Deprecated('Use pruningPointUtxoSetChunkMessageDescriptor instead') -const PruningPointUtxoSetChunkMessage$json = const { - '1': 'PruningPointUtxoSetChunkMessage', - '2': const [ - const { - '1': 'outpointAndUtxoEntryPairs', - '3': 1, - '4': 3, - '5': 11, - '6': '.protowire.OutpointAndUtxoEntryPair', - '10': 'outpointAndUtxoEntryPairs' - }, - ], -}; - -/// Descriptor for `PruningPointUtxoSetChunkMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List pruningPointUtxoSetChunkMessageDescriptor = - $convert.base64Decode( - 'Ch9QcnVuaW5nUG9pbnRVdHhvU2V0Q2h1bmtNZXNzYWdlEmEKGW91dHBvaW50QW5kVXR4b0VudHJ5UGFpcnMYASADKAsyIy5wcm90b3dpcmUuT3V0cG9pbnRBbmRVdHhvRW50cnlQYWlyUhlvdXRwb2ludEFuZFV0eG9FbnRyeVBhaXJz'); -@$core.Deprecated('Use outpointAndUtxoEntryPairDescriptor instead') -const OutpointAndUtxoEntryPair$json = const { - '1': 'OutpointAndUtxoEntryPair', - '2': const [ - const { - '1': 'outpoint', - '3': 1, - '4': 1, - '5': 11, - '6': '.protowire.Outpoint', - '10': 'outpoint' - }, - const { - '1': 'utxoEntry', - '3': 2, - '4': 1, - '5': 11, - '6': '.protowire.UtxoEntry', - '10': 'utxoEntry' - }, - ], -}; - -/// Descriptor for `OutpointAndUtxoEntryPair`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List outpointAndUtxoEntryPairDescriptor = - $convert.base64Decode( - 'ChhPdXRwb2ludEFuZFV0eG9FbnRyeVBhaXISLwoIb3V0cG9pbnQYASABKAsyEy5wcm90b3dpcmUuT3V0cG9pbnRSCG91dHBvaW50EjIKCXV0eG9FbnRyeRgCIAEoCzIULnByb3Rvd2lyZS5VdHhvRW50cnlSCXV0eG9FbnRyeQ=='); -@$core.Deprecated('Use utxoEntryDescriptor instead') -const UtxoEntry$json = const { - '1': 'UtxoEntry', - '2': const [ - const {'1': 'amount', '3': 1, '4': 1, '5': 4, '10': 'amount'}, - const { - '1': 'scriptPublicKey', - '3': 2, - '4': 1, - '5': 11, - '6': '.protowire.ScriptPublicKey', - '10': 'scriptPublicKey' - }, - const {'1': 'blockDaaScore', '3': 3, '4': 1, '5': 4, '10': 'blockDaaScore'}, - const {'1': 'isCoinbase', '3': 4, '4': 1, '5': 8, '10': 'isCoinbase'}, - ], -}; - -/// Descriptor for `UtxoEntry`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List utxoEntryDescriptor = $convert.base64Decode( - 'CglVdHhvRW50cnkSFgoGYW1vdW50GAEgASgEUgZhbW91bnQSRAoPc2NyaXB0UHVibGljS2V5GAIgASgLMhoucHJvdG93aXJlLlNjcmlwdFB1YmxpY0tleVIPc2NyaXB0UHVibGljS2V5EiQKDWJsb2NrRGFhU2NvcmUYAyABKARSDWJsb2NrRGFhU2NvcmUSHgoKaXNDb2luYmFzZRgEIAEoCFIKaXNDb2luYmFzZQ=='); -@$core.Deprecated( - 'Use requestNextPruningPointUtxoSetChunkMessageDescriptor instead') -const RequestNextPruningPointUtxoSetChunkMessage$json = const { - '1': 'RequestNextPruningPointUtxoSetChunkMessage', -}; - -/// Descriptor for `RequestNextPruningPointUtxoSetChunkMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List - requestNextPruningPointUtxoSetChunkMessageDescriptor = - $convert.base64Decode( - 'CipSZXF1ZXN0TmV4dFBydW5pbmdQb2ludFV0eG9TZXRDaHVua01lc3NhZ2U='); -@$core.Deprecated('Use donePruningPointUtxoSetChunksMessageDescriptor instead') -const DonePruningPointUtxoSetChunksMessage$json = const { - '1': 'DonePruningPointUtxoSetChunksMessage', -}; - -/// Descriptor for `DonePruningPointUtxoSetChunksMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List donePruningPointUtxoSetChunksMessageDescriptor = - $convert - .base64Decode('CiREb25lUHJ1bmluZ1BvaW50VXR4b1NldENodW5rc01lc3NhZ2U='); -@$core.Deprecated('Use requestIBDBlocksMessageDescriptor instead') -const RequestIBDBlocksMessage$json = const { - '1': 'RequestIBDBlocksMessage', - '2': const [ - const { - '1': 'hashes', - '3': 1, - '4': 3, - '5': 11, - '6': '.protowire.Hash', - '10': 'hashes' - }, - ], -}; - -/// Descriptor for `RequestIBDBlocksMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List requestIBDBlocksMessageDescriptor = - $convert.base64Decode( - 'ChdSZXF1ZXN0SUJEQmxvY2tzTWVzc2FnZRInCgZoYXNoZXMYASADKAsyDy5wcm90b3dpcmUuSGFzaFIGaGFzaGVz'); -@$core.Deprecated('Use unexpectedPruningPointMessageDescriptor instead') -const UnexpectedPruningPointMessage$json = const { - '1': 'UnexpectedPruningPointMessage', -}; - -/// Descriptor for `UnexpectedPruningPointMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List unexpectedPruningPointMessageDescriptor = - $convert.base64Decode('Ch1VbmV4cGVjdGVkUHJ1bmluZ1BvaW50TWVzc2FnZQ=='); -@$core.Deprecated('Use ibdBlockLocatorMessageDescriptor instead') -const IbdBlockLocatorMessage$json = const { - '1': 'IbdBlockLocatorMessage', - '2': const [ - const { - '1': 'targetHash', - '3': 1, - '4': 1, - '5': 11, - '6': '.protowire.Hash', - '10': 'targetHash' - }, - const { - '1': 'blockLocatorHashes', - '3': 2, - '4': 3, - '5': 11, - '6': '.protowire.Hash', - '10': 'blockLocatorHashes' - }, - ], -}; - -/// Descriptor for `IbdBlockLocatorMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List ibdBlockLocatorMessageDescriptor = - $convert.base64Decode( - 'ChZJYmRCbG9ja0xvY2F0b3JNZXNzYWdlEi8KCnRhcmdldEhhc2gYASABKAsyDy5wcm90b3dpcmUuSGFzaFIKdGFyZ2V0SGFzaBI/ChJibG9ja0xvY2F0b3JIYXNoZXMYAiADKAsyDy5wcm90b3dpcmUuSGFzaFISYmxvY2tMb2NhdG9ySGFzaGVz'); -@$core.Deprecated('Use requestIBDChainBlockLocatorMessageDescriptor instead') -const RequestIBDChainBlockLocatorMessage$json = const { - '1': 'RequestIBDChainBlockLocatorMessage', - '2': const [ - const { - '1': 'lowHash', - '3': 1, - '4': 1, - '5': 11, - '6': '.protowire.Hash', - '10': 'lowHash' - }, - const { - '1': 'highHash', - '3': 2, - '4': 1, - '5': 11, - '6': '.protowire.Hash', - '10': 'highHash' - }, - ], -}; - -/// Descriptor for `RequestIBDChainBlockLocatorMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List requestIBDChainBlockLocatorMessageDescriptor = - $convert.base64Decode( - 'CiJSZXF1ZXN0SUJEQ2hhaW5CbG9ja0xvY2F0b3JNZXNzYWdlEikKB2xvd0hhc2gYASABKAsyDy5wcm90b3dpcmUuSGFzaFIHbG93SGFzaBIrCghoaWdoSGFzaBgCIAEoCzIPLnByb3Rvd2lyZS5IYXNoUghoaWdoSGFzaA=='); -@$core.Deprecated('Use ibdChainBlockLocatorMessageDescriptor instead') -const IbdChainBlockLocatorMessage$json = const { - '1': 'IbdChainBlockLocatorMessage', - '2': const [ - const { - '1': 'blockLocatorHashes', - '3': 1, - '4': 3, - '5': 11, - '6': '.protowire.Hash', - '10': 'blockLocatorHashes' - }, - ], -}; - -/// Descriptor for `IbdChainBlockLocatorMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List ibdChainBlockLocatorMessageDescriptor = - $convert.base64Decode( - 'ChtJYmRDaGFpbkJsb2NrTG9jYXRvck1lc3NhZ2USPwoSYmxvY2tMb2NhdG9ySGFzaGVzGAEgAygLMg8ucHJvdG93aXJlLkhhc2hSEmJsb2NrTG9jYXRvckhhc2hlcw=='); -@$core.Deprecated('Use requestAnticoneMessageDescriptor instead') -const RequestAnticoneMessage$json = const { - '1': 'RequestAnticoneMessage', - '2': const [ - const { - '1': 'blockHash', - '3': 1, - '4': 1, - '5': 11, - '6': '.protowire.Hash', - '10': 'blockHash' - }, - const { - '1': 'contextHash', - '3': 2, - '4': 1, - '5': 11, - '6': '.protowire.Hash', - '10': 'contextHash' - }, - ], -}; - -/// Descriptor for `RequestAnticoneMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List requestAnticoneMessageDescriptor = - $convert.base64Decode( - 'ChZSZXF1ZXN0QW50aWNvbmVNZXNzYWdlEi0KCWJsb2NrSGFzaBgBIAEoCzIPLnByb3Rvd2lyZS5IYXNoUglibG9ja0hhc2gSMQoLY29udGV4dEhhc2gYAiABKAsyDy5wcm90b3dpcmUuSGFzaFILY29udGV4dEhhc2g='); -@$core.Deprecated('Use ibdBlockLocatorHighestHashMessageDescriptor instead') -const IbdBlockLocatorHighestHashMessage$json = const { - '1': 'IbdBlockLocatorHighestHashMessage', - '2': const [ - const { - '1': 'highestHash', - '3': 1, - '4': 1, - '5': 11, - '6': '.protowire.Hash', - '10': 'highestHash' - }, - ], -}; - -/// Descriptor for `IbdBlockLocatorHighestHashMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List ibdBlockLocatorHighestHashMessageDescriptor = - $convert.base64Decode( - 'CiFJYmRCbG9ja0xvY2F0b3JIaWdoZXN0SGFzaE1lc3NhZ2USMQoLaGlnaGVzdEhhc2gYASABKAsyDy5wcm90b3dpcmUuSGFzaFILaGlnaGVzdEhhc2g='); -@$core.Deprecated( - 'Use ibdBlockLocatorHighestHashNotFoundMessageDescriptor instead') -const IbdBlockLocatorHighestHashNotFoundMessage$json = const { - '1': 'IbdBlockLocatorHighestHashNotFoundMessage', -}; - -/// Descriptor for `IbdBlockLocatorHighestHashNotFoundMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List - ibdBlockLocatorHighestHashNotFoundMessageDescriptor = $convert.base64Decode( - 'CilJYmRCbG9ja0xvY2F0b3JIaWdoZXN0SGFzaE5vdEZvdW5kTWVzc2FnZQ=='); -@$core.Deprecated('Use blockHeadersMessageDescriptor instead') -const BlockHeadersMessage$json = const { - '1': 'BlockHeadersMessage', - '2': const [ - const { - '1': 'blockHeaders', - '3': 1, - '4': 3, - '5': 11, - '6': '.protowire.BlockHeader', - '10': 'blockHeaders' - }, - ], -}; - -/// Descriptor for `BlockHeadersMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List blockHeadersMessageDescriptor = $convert.base64Decode( - 'ChNCbG9ja0hlYWRlcnNNZXNzYWdlEjoKDGJsb2NrSGVhZGVycxgBIAMoCzIWLnByb3Rvd2lyZS5CbG9ja0hlYWRlclIMYmxvY2tIZWFkZXJz'); -@$core.Deprecated( - 'Use requestPruningPointAndItsAnticoneMessageDescriptor instead') -const RequestPruningPointAndItsAnticoneMessage$json = const { - '1': 'RequestPruningPointAndItsAnticoneMessage', -}; - -/// Descriptor for `RequestPruningPointAndItsAnticoneMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List requestPruningPointAndItsAnticoneMessageDescriptor = - $convert.base64Decode( - 'CihSZXF1ZXN0UHJ1bmluZ1BvaW50QW5kSXRzQW50aWNvbmVNZXNzYWdl'); -@$core.Deprecated( - 'Use requestNextPruningPointAndItsAnticoneBlocksMessageDescriptor instead') -const RequestNextPruningPointAndItsAnticoneBlocksMessage$json = const { - '1': 'RequestNextPruningPointAndItsAnticoneBlocksMessage', -}; - -/// Descriptor for `RequestNextPruningPointAndItsAnticoneBlocksMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List - requestNextPruningPointAndItsAnticoneBlocksMessageDescriptor = - $convert.base64Decode( - 'CjJSZXF1ZXN0TmV4dFBydW5pbmdQb2ludEFuZEl0c0FudGljb25lQmxvY2tzTWVzc2FnZQ=='); -@$core.Deprecated('Use blockWithTrustedDataMessageDescriptor instead') -const BlockWithTrustedDataMessage$json = const { - '1': 'BlockWithTrustedDataMessage', - '2': const [ - const { - '1': 'block', - '3': 1, - '4': 1, - '5': 11, - '6': '.protowire.BlockMessage', - '10': 'block' - }, - const {'1': 'daaScore', '3': 2, '4': 1, '5': 4, '10': 'daaScore'}, - const { - '1': 'daaWindow', - '3': 3, - '4': 3, - '5': 11, - '6': '.protowire.DaaBlock', - '10': 'daaWindow' - }, - const { - '1': 'ghostdagData', - '3': 4, - '4': 3, - '5': 11, - '6': '.protowire.BlockGhostdagDataHashPair', - '10': 'ghostdagData' - }, - ], -}; - -/// Descriptor for `BlockWithTrustedDataMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List blockWithTrustedDataMessageDescriptor = - $convert.base64Decode( - 'ChtCbG9ja1dpdGhUcnVzdGVkRGF0YU1lc3NhZ2USLQoFYmxvY2sYASABKAsyFy5wcm90b3dpcmUuQmxvY2tNZXNzYWdlUgVibG9jaxIaCghkYWFTY29yZRgCIAEoBFIIZGFhU2NvcmUSMQoJZGFhV2luZG93GAMgAygLMhMucHJvdG93aXJlLkRhYUJsb2NrUglkYWFXaW5kb3cSSAoMZ2hvc3RkYWdEYXRhGAQgAygLMiQucHJvdG93aXJlLkJsb2NrR2hvc3RkYWdEYXRhSGFzaFBhaXJSDGdob3N0ZGFnRGF0YQ=='); -@$core.Deprecated('Use daaBlockDescriptor instead') -const DaaBlock$json = const { - '1': 'DaaBlock', - '2': const [ - const { - '1': 'block', - '3': 3, - '4': 1, - '5': 11, - '6': '.protowire.BlockMessage', - '10': 'block' - }, - const { - '1': 'ghostdagData', - '3': 2, - '4': 1, - '5': 11, - '6': '.protowire.GhostdagData', - '10': 'ghostdagData' - }, - ], -}; - -/// Descriptor for `DaaBlock`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List daaBlockDescriptor = $convert.base64Decode( - 'CghEYWFCbG9jaxItCgVibG9jaxgDIAEoCzIXLnByb3Rvd2lyZS5CbG9ja01lc3NhZ2VSBWJsb2NrEjsKDGdob3N0ZGFnRGF0YRgCIAEoCzIXLnByb3Rvd2lyZS5HaG9zdGRhZ0RhdGFSDGdob3N0ZGFnRGF0YQ=='); -@$core.Deprecated('Use daaBlockV4Descriptor instead') -const DaaBlockV4$json = const { - '1': 'DaaBlockV4', - '2': const [ - const { - '1': 'header', - '3': 1, - '4': 1, - '5': 11, - '6': '.protowire.BlockHeader', - '10': 'header' - }, - const { - '1': 'ghostdagData', - '3': 2, - '4': 1, - '5': 11, - '6': '.protowire.GhostdagData', - '10': 'ghostdagData' - }, - ], -}; - -/// Descriptor for `DaaBlockV4`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List daaBlockV4Descriptor = $convert.base64Decode( - 'CgpEYWFCbG9ja1Y0Ei4KBmhlYWRlchgBIAEoCzIWLnByb3Rvd2lyZS5CbG9ja0hlYWRlclIGaGVhZGVyEjsKDGdob3N0ZGFnRGF0YRgCIAEoCzIXLnByb3Rvd2lyZS5HaG9zdGRhZ0RhdGFSDGdob3N0ZGFnRGF0YQ=='); -@$core.Deprecated('Use blockGhostdagDataHashPairDescriptor instead') -const BlockGhostdagDataHashPair$json = const { - '1': 'BlockGhostdagDataHashPair', - '2': const [ - const { - '1': 'hash', - '3': 1, - '4': 1, - '5': 11, - '6': '.protowire.Hash', - '10': 'hash' - }, - const { - '1': 'ghostdagData', - '3': 2, - '4': 1, - '5': 11, - '6': '.protowire.GhostdagData', - '10': 'ghostdagData' - }, - ], -}; - -/// Descriptor for `BlockGhostdagDataHashPair`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List blockGhostdagDataHashPairDescriptor = - $convert.base64Decode( - 'ChlCbG9ja0dob3N0ZGFnRGF0YUhhc2hQYWlyEiMKBGhhc2gYASABKAsyDy5wcm90b3dpcmUuSGFzaFIEaGFzaBI7CgxnaG9zdGRhZ0RhdGEYAiABKAsyFy5wcm90b3dpcmUuR2hvc3RkYWdEYXRhUgxnaG9zdGRhZ0RhdGE='); -@$core.Deprecated('Use ghostdagDataDescriptor instead') -const GhostdagData$json = const { - '1': 'GhostdagData', - '2': const [ - const {'1': 'blueScore', '3': 1, '4': 1, '5': 4, '10': 'blueScore'}, - const {'1': 'blueWork', '3': 2, '4': 1, '5': 12, '10': 'blueWork'}, - const { - '1': 'selectedParent', - '3': 3, - '4': 1, - '5': 11, - '6': '.protowire.Hash', - '10': 'selectedParent' - }, - const { - '1': 'mergeSetBlues', - '3': 4, - '4': 3, - '5': 11, - '6': '.protowire.Hash', - '10': 'mergeSetBlues' - }, - const { - '1': 'mergeSetReds', - '3': 5, - '4': 3, - '5': 11, - '6': '.protowire.Hash', - '10': 'mergeSetReds' - }, - const { - '1': 'bluesAnticoneSizes', - '3': 6, - '4': 3, - '5': 11, - '6': '.protowire.BluesAnticoneSizes', - '10': 'bluesAnticoneSizes' - }, - ], -}; - -/// Descriptor for `GhostdagData`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List ghostdagDataDescriptor = $convert.base64Decode( - 'CgxHaG9zdGRhZ0RhdGESHAoJYmx1ZVNjb3JlGAEgASgEUglibHVlU2NvcmUSGgoIYmx1ZVdvcmsYAiABKAxSCGJsdWVXb3JrEjcKDnNlbGVjdGVkUGFyZW50GAMgASgLMg8ucHJvdG93aXJlLkhhc2hSDnNlbGVjdGVkUGFyZW50EjUKDW1lcmdlU2V0Qmx1ZXMYBCADKAsyDy5wcm90b3dpcmUuSGFzaFINbWVyZ2VTZXRCbHVlcxIzCgxtZXJnZVNldFJlZHMYBSADKAsyDy5wcm90b3dpcmUuSGFzaFIMbWVyZ2VTZXRSZWRzEk0KEmJsdWVzQW50aWNvbmVTaXplcxgGIAMoCzIdLnByb3Rvd2lyZS5CbHVlc0FudGljb25lU2l6ZXNSEmJsdWVzQW50aWNvbmVTaXplcw=='); -@$core.Deprecated('Use bluesAnticoneSizesDescriptor instead') -const BluesAnticoneSizes$json = const { - '1': 'BluesAnticoneSizes', - '2': const [ - const { - '1': 'blueHash', - '3': 1, - '4': 1, - '5': 11, - '6': '.protowire.Hash', - '10': 'blueHash' - }, - const {'1': 'anticoneSize', '3': 2, '4': 1, '5': 13, '10': 'anticoneSize'}, - ], -}; - -/// Descriptor for `BluesAnticoneSizes`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List bluesAnticoneSizesDescriptor = $convert.base64Decode( - 'ChJCbHVlc0FudGljb25lU2l6ZXMSKwoIYmx1ZUhhc2gYASABKAsyDy5wcm90b3dpcmUuSGFzaFIIYmx1ZUhhc2gSIgoMYW50aWNvbmVTaXplGAIgASgNUgxhbnRpY29uZVNpemU='); -@$core.Deprecated('Use doneBlocksWithTrustedDataMessageDescriptor instead') -const DoneBlocksWithTrustedDataMessage$json = const { - '1': 'DoneBlocksWithTrustedDataMessage', -}; - -/// Descriptor for `DoneBlocksWithTrustedDataMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List doneBlocksWithTrustedDataMessageDescriptor = - $convert.base64Decode('CiBEb25lQmxvY2tzV2l0aFRydXN0ZWREYXRhTWVzc2FnZQ=='); -@$core.Deprecated('Use pruningPointsMessageDescriptor instead') -const PruningPointsMessage$json = const { - '1': 'PruningPointsMessage', - '2': const [ - const { - '1': 'headers', - '3': 1, - '4': 3, - '5': 11, - '6': '.protowire.BlockHeader', - '10': 'headers' - }, - ], -}; - -/// Descriptor for `PruningPointsMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List pruningPointsMessageDescriptor = $convert.base64Decode( - 'ChRQcnVuaW5nUG9pbnRzTWVzc2FnZRIwCgdoZWFkZXJzGAEgAygLMhYucHJvdG93aXJlLkJsb2NrSGVhZGVyUgdoZWFkZXJz'); -@$core.Deprecated('Use requestPruningPointProofMessageDescriptor instead') -const RequestPruningPointProofMessage$json = const { - '1': 'RequestPruningPointProofMessage', -}; - -/// Descriptor for `RequestPruningPointProofMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List requestPruningPointProofMessageDescriptor = - $convert.base64Decode('Ch9SZXF1ZXN0UHJ1bmluZ1BvaW50UHJvb2ZNZXNzYWdl'); -@$core.Deprecated('Use pruningPointProofMessageDescriptor instead') -const PruningPointProofMessage$json = const { - '1': 'PruningPointProofMessage', - '2': const [ - const { - '1': 'headers', - '3': 1, - '4': 3, - '5': 11, - '6': '.protowire.PruningPointProofHeaderArray', - '10': 'headers' - }, - ], -}; - -/// Descriptor for `PruningPointProofMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List pruningPointProofMessageDescriptor = - $convert.base64Decode( - 'ChhQcnVuaW5nUG9pbnRQcm9vZk1lc3NhZ2USQQoHaGVhZGVycxgBIAMoCzInLnByb3Rvd2lyZS5QcnVuaW5nUG9pbnRQcm9vZkhlYWRlckFycmF5UgdoZWFkZXJz'); -@$core.Deprecated('Use pruningPointProofHeaderArrayDescriptor instead') -const PruningPointProofHeaderArray$json = const { - '1': 'PruningPointProofHeaderArray', - '2': const [ - const { - '1': 'headers', - '3': 1, - '4': 3, - '5': 11, - '6': '.protowire.BlockHeader', - '10': 'headers' - }, - ], -}; - -/// Descriptor for `PruningPointProofHeaderArray`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List pruningPointProofHeaderArrayDescriptor = - $convert.base64Decode( - 'ChxQcnVuaW5nUG9pbnRQcm9vZkhlYWRlckFycmF5EjAKB2hlYWRlcnMYASADKAsyFi5wcm90b3dpcmUuQmxvY2tIZWFkZXJSB2hlYWRlcnM='); -@$core.Deprecated('Use readyMessageDescriptor instead') -const ReadyMessage$json = const { - '1': 'ReadyMessage', -}; - -/// Descriptor for `ReadyMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List readyMessageDescriptor = - $convert.base64Decode('CgxSZWFkeU1lc3NhZ2U='); -@$core.Deprecated('Use blockWithTrustedDataV4MessageDescriptor instead') -const BlockWithTrustedDataV4Message$json = const { - '1': 'BlockWithTrustedDataV4Message', - '2': const [ - const { - '1': 'block', - '3': 1, - '4': 1, - '5': 11, - '6': '.protowire.BlockMessage', - '10': 'block' - }, - const { - '1': 'daaWindowIndices', - '3': 2, - '4': 3, - '5': 4, - '10': 'daaWindowIndices' - }, - const { - '1': 'ghostdagDataIndices', - '3': 3, - '4': 3, - '5': 4, - '10': 'ghostdagDataIndices' - }, - ], -}; - -/// Descriptor for `BlockWithTrustedDataV4Message`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List blockWithTrustedDataV4MessageDescriptor = - $convert.base64Decode( - 'Ch1CbG9ja1dpdGhUcnVzdGVkRGF0YVY0TWVzc2FnZRItCgVibG9jaxgBIAEoCzIXLnByb3Rvd2lyZS5CbG9ja01lc3NhZ2VSBWJsb2NrEioKEGRhYVdpbmRvd0luZGljZXMYAiADKARSEGRhYVdpbmRvd0luZGljZXMSMAoTZ2hvc3RkYWdEYXRhSW5kaWNlcxgDIAMoBFITZ2hvc3RkYWdEYXRhSW5kaWNlcw=='); -@$core.Deprecated('Use trustedDataMessageDescriptor instead') -const TrustedDataMessage$json = const { - '1': 'TrustedDataMessage', - '2': const [ - const { - '1': 'daaWindow', - '3': 1, - '4': 3, - '5': 11, - '6': '.protowire.DaaBlockV4', - '10': 'daaWindow' - }, - const { - '1': 'ghostdagData', - '3': 2, - '4': 3, - '5': 11, - '6': '.protowire.BlockGhostdagDataHashPair', - '10': 'ghostdagData' - }, - ], -}; - -/// Descriptor for `TrustedDataMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List trustedDataMessageDescriptor = $convert.base64Decode( - 'ChJUcnVzdGVkRGF0YU1lc3NhZ2USMwoJZGFhV2luZG93GAEgAygLMhUucHJvdG93aXJlLkRhYUJsb2NrVjRSCWRhYVdpbmRvdxJICgxnaG9zdGRhZ0RhdGEYAiADKAsyJC5wcm90b3dpcmUuQmxvY2tHaG9zdGRhZ0RhdGFIYXNoUGFpclIMZ2hvc3RkYWdEYXRh'); diff --git a/lib/karlsen/grpc/rpc.pb.dart b/lib/karlsen/grpc/rpc.pb.dart index 8ea8bbe3..de37cc16 100644 --- a/lib/karlsen/grpc/rpc.pb.dart +++ b/lib/karlsen/grpc/rpc.pb.dart @@ -1,9 +1,13 @@ -/// +// // Generated code. Do not modify. // source: rpc.proto // // @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 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import import 'dart:core' as $core; @@ -14,66 +18,53 @@ import 'rpc.pbenum.dart'; export 'rpc.pbenum.dart'; +/// RPCError represents a generic non-internal error. +/// +/// Receivers of any ResponseMessage are expected to check whether its error field is not null. class RPCError extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'RPCError', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOS( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'message') - ..hasRequiredFields = false; - - RPCError._() : super(); factory RPCError({ $core.String? message, }) { - final _result = create(); + final $result = create(); if (message != null) { - _result.message = message; + $result.message = message; } - return _result; + return $result; } - factory RPCError.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory RPCError.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') + RPCError._() : super(); + factory RPCError.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory RPCError.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'RPCError', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'message') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') RPCError clone() => RPCError()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - RPCError copyWith(void Function(RPCError) updates) => - super.copyWith((message) => updates(message as RPCError)) - as RPCError; // ignore: deprecated_member_use + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RPCError copyWith(void Function(RPCError) updates) => super.copyWith((message) => updates(message as RPCError)) as RPCError; + $pb.BuilderInfo get info_ => _i; + @$core.pragma('dart2js:noInline') static RPCError create() => RPCError._(); RPCError createEmptyInstance() => create(); static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static RPCError getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static RPCError getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static RPCError? _defaultInstance; @$pb.TagNumber(1) $core.String get message => $_getSZ(0); @$pb.TagNumber(1) - set message($core.String v) { - $_setString(0, v); - } - + set message($core.String v) { $_setString(0, v); } @$pb.TagNumber(1) $core.bool hasMessage() => $_has(0); @$pb.TagNumber(1) @@ -81,88 +72,59 @@ class RPCError extends $pb.GeneratedMessage { } class RpcBlock extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'RpcBlock', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOM( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'header', - subBuilder: RpcBlockHeader.create) - ..pc( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'transactions', - $pb.PbFieldType.PM, - subBuilder: RpcTransaction.create) - ..aOM( - 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'verboseData', - protoName: 'verboseData', - subBuilder: RpcBlockVerboseData.create) - ..hasRequiredFields = false; - - RpcBlock._() : super(); factory RpcBlock({ RpcBlockHeader? header, $core.Iterable? transactions, RpcBlockVerboseData? verboseData, }) { - final _result = create(); + final $result = create(); if (header != null) { - _result.header = header; + $result.header = header; } if (transactions != null) { - _result.transactions.addAll(transactions); + $result.transactions.addAll(transactions); } if (verboseData != null) { - _result.verboseData = verboseData; + $result.verboseData = verboseData; } - return _result; + return $result; } - factory RpcBlock.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory RpcBlock.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') + RpcBlock._() : super(); + factory RpcBlock.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory RpcBlock.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'RpcBlock', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'header', subBuilder: RpcBlockHeader.create) + ..pc(2, _omitFieldNames ? '' : 'transactions', $pb.PbFieldType.PM, subBuilder: RpcTransaction.create) + ..aOM(3, _omitFieldNames ? '' : 'verboseData', protoName: 'verboseData', subBuilder: RpcBlockVerboseData.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') RpcBlock clone() => RpcBlock()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - RpcBlock copyWith(void Function(RpcBlock) updates) => - super.copyWith((message) => updates(message as RpcBlock)) - as RpcBlock; // ignore: deprecated_member_use + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RpcBlock copyWith(void Function(RpcBlock) updates) => super.copyWith((message) => updates(message as RpcBlock)) as RpcBlock; + $pb.BuilderInfo get info_ => _i; + @$core.pragma('dart2js:noInline') static RpcBlock create() => RpcBlock._(); RpcBlock createEmptyInstance() => create(); static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static RpcBlock getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static RpcBlock getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static RpcBlock? _defaultInstance; @$pb.TagNumber(1) RpcBlockHeader get header => $_getN(0); @$pb.TagNumber(1) - set header(RpcBlockHeader v) { - setField(1, v); - } - + set header(RpcBlockHeader v) { setField(1, v); } @$pb.TagNumber(1) $core.bool hasHeader() => $_has(0); @$pb.TagNumber(1) @@ -176,10 +138,7 @@ class RpcBlock extends $pb.GeneratedMessage { @$pb.TagNumber(3) RpcBlockVerboseData get verboseData => $_getN(2); @$pb.TagNumber(3) - set verboseData(RpcBlockVerboseData v) { - setField(3, v); - } - + set verboseData(RpcBlockVerboseData v) { setField(3, v); } @$pb.TagNumber(3) $core.bool hasVerboseData() => $_has(2); @$pb.TagNumber(3) @@ -189,95 +148,6 @@ class RpcBlock extends $pb.GeneratedMessage { } class RpcBlockHeader extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'RpcBlockHeader', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..a<$core.int>( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'version', - $pb.PbFieldType.OU3) - ..aOS( - 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'hashMerkleRoot', - protoName: 'hashMerkleRoot') - ..aOS( - 4, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'acceptedIdMerkleRoot', - protoName: 'acceptedIdMerkleRoot') - ..aOS( - 5, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'utxoCommitment', - protoName: 'utxoCommitment') - ..aInt64( - 6, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'timestamp') - ..a<$core.int>( - 7, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'bits', - $pb.PbFieldType.OU3) - ..a<$fixnum.Int64>( - 8, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'nonce', - $pb.PbFieldType.OU6, - defaultOrMaker: $fixnum.Int64.ZERO) - ..a<$fixnum.Int64>( - 9, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'daaScore', - $pb.PbFieldType.OU6, - protoName: 'daaScore', - defaultOrMaker: $fixnum.Int64.ZERO) - ..aOS( - 10, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'blueWork', - protoName: 'blueWork') - ..pc( - 12, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'parents', - $pb.PbFieldType.PM, - subBuilder: RpcBlockLevelParents.create) - ..a<$fixnum.Int64>( - 13, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'blueScore', - $pb.PbFieldType.OU6, - protoName: 'blueScore', - defaultOrMaker: $fixnum.Int64.ZERO) - ..aOS( - 14, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'pruningPoint', - protoName: 'pruningPoint') - ..hasRequiredFields = false; - - RpcBlockHeader._() : super(); factory RpcBlockHeader({ $core.int? version, $core.String? hashMerkleRoot, @@ -292,79 +162,90 @@ class RpcBlockHeader extends $pb.GeneratedMessage { $fixnum.Int64? blueScore, $core.String? pruningPoint, }) { - final _result = create(); + final $result = create(); if (version != null) { - _result.version = version; + $result.version = version; } if (hashMerkleRoot != null) { - _result.hashMerkleRoot = hashMerkleRoot; + $result.hashMerkleRoot = hashMerkleRoot; } if (acceptedIdMerkleRoot != null) { - _result.acceptedIdMerkleRoot = acceptedIdMerkleRoot; + $result.acceptedIdMerkleRoot = acceptedIdMerkleRoot; } if (utxoCommitment != null) { - _result.utxoCommitment = utxoCommitment; + $result.utxoCommitment = utxoCommitment; } if (timestamp != null) { - _result.timestamp = timestamp; + $result.timestamp = timestamp; } if (bits != null) { - _result.bits = bits; + $result.bits = bits; } if (nonce != null) { - _result.nonce = nonce; + $result.nonce = nonce; } if (daaScore != null) { - _result.daaScore = daaScore; + $result.daaScore = daaScore; } if (blueWork != null) { - _result.blueWork = blueWork; + $result.blueWork = blueWork; } if (parents != null) { - _result.parents.addAll(parents); + $result.parents.addAll(parents); } if (blueScore != null) { - _result.blueScore = blueScore; + $result.blueScore = blueScore; } if (pruningPoint != null) { - _result.pruningPoint = pruningPoint; + $result.pruningPoint = pruningPoint; } - return _result; + return $result; } - factory RpcBlockHeader.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory RpcBlockHeader.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') + RpcBlockHeader._() : super(); + factory RpcBlockHeader.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory RpcBlockHeader.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'RpcBlockHeader', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'version', $pb.PbFieldType.OU3) + ..aOS(3, _omitFieldNames ? '' : 'hashMerkleRoot', protoName: 'hashMerkleRoot') + ..aOS(4, _omitFieldNames ? '' : 'acceptedIdMerkleRoot', protoName: 'acceptedIdMerkleRoot') + ..aOS(5, _omitFieldNames ? '' : 'utxoCommitment', protoName: 'utxoCommitment') + ..aInt64(6, _omitFieldNames ? '' : 'timestamp') + ..a<$core.int>(7, _omitFieldNames ? '' : 'bits', $pb.PbFieldType.OU3) + ..a<$fixnum.Int64>(8, _omitFieldNames ? '' : 'nonce', $pb.PbFieldType.OU6, defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$fixnum.Int64>(9, _omitFieldNames ? '' : 'daaScore', $pb.PbFieldType.OU6, protoName: 'daaScore', defaultOrMaker: $fixnum.Int64.ZERO) + ..aOS(10, _omitFieldNames ? '' : 'blueWork', protoName: 'blueWork') + ..pc(12, _omitFieldNames ? '' : 'parents', $pb.PbFieldType.PM, subBuilder: RpcBlockLevelParents.create) + ..a<$fixnum.Int64>(13, _omitFieldNames ? '' : 'blueScore', $pb.PbFieldType.OU6, protoName: 'blueScore', defaultOrMaker: $fixnum.Int64.ZERO) + ..aOS(14, _omitFieldNames ? '' : 'pruningPoint', protoName: 'pruningPoint') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') RpcBlockHeader clone() => RpcBlockHeader()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - RpcBlockHeader copyWith(void Function(RpcBlockHeader) updates) => - super.copyWith((message) => updates(message as RpcBlockHeader)) - as RpcBlockHeader; // ignore: deprecated_member_use + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RpcBlockHeader copyWith(void Function(RpcBlockHeader) updates) => super.copyWith((message) => updates(message as RpcBlockHeader)) as RpcBlockHeader; + $pb.BuilderInfo get info_ => _i; + @$core.pragma('dart2js:noInline') static RpcBlockHeader create() => RpcBlockHeader._(); RpcBlockHeader createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static RpcBlockHeader getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); + static RpcBlockHeader getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static RpcBlockHeader? _defaultInstance; @$pb.TagNumber(1) $core.int get version => $_getIZ(0); @$pb.TagNumber(1) - set version($core.int v) { - $_setUnsignedInt32(0, v); - } - + set version($core.int v) { $_setUnsignedInt32(0, v); } @$pb.TagNumber(1) $core.bool hasVersion() => $_has(0); @$pb.TagNumber(1) @@ -373,10 +254,7 @@ class RpcBlockHeader extends $pb.GeneratedMessage { @$pb.TagNumber(3) $core.String get hashMerkleRoot => $_getSZ(1); @$pb.TagNumber(3) - set hashMerkleRoot($core.String v) { - $_setString(1, v); - } - + set hashMerkleRoot($core.String v) { $_setString(1, v); } @$pb.TagNumber(3) $core.bool hasHashMerkleRoot() => $_has(1); @$pb.TagNumber(3) @@ -385,10 +263,7 @@ class RpcBlockHeader extends $pb.GeneratedMessage { @$pb.TagNumber(4) $core.String get acceptedIdMerkleRoot => $_getSZ(2); @$pb.TagNumber(4) - set acceptedIdMerkleRoot($core.String v) { - $_setString(2, v); - } - + set acceptedIdMerkleRoot($core.String v) { $_setString(2, v); } @$pb.TagNumber(4) $core.bool hasAcceptedIdMerkleRoot() => $_has(2); @$pb.TagNumber(4) @@ -397,10 +272,7 @@ class RpcBlockHeader extends $pb.GeneratedMessage { @$pb.TagNumber(5) $core.String get utxoCommitment => $_getSZ(3); @$pb.TagNumber(5) - set utxoCommitment($core.String v) { - $_setString(3, v); - } - + set utxoCommitment($core.String v) { $_setString(3, v); } @$pb.TagNumber(5) $core.bool hasUtxoCommitment() => $_has(3); @$pb.TagNumber(5) @@ -409,10 +281,7 @@ class RpcBlockHeader extends $pb.GeneratedMessage { @$pb.TagNumber(6) $fixnum.Int64 get timestamp => $_getI64(4); @$pb.TagNumber(6) - set timestamp($fixnum.Int64 v) { - $_setInt64(4, v); - } - + set timestamp($fixnum.Int64 v) { $_setInt64(4, v); } @$pb.TagNumber(6) $core.bool hasTimestamp() => $_has(4); @$pb.TagNumber(6) @@ -421,10 +290,7 @@ class RpcBlockHeader extends $pb.GeneratedMessage { @$pb.TagNumber(7) $core.int get bits => $_getIZ(5); @$pb.TagNumber(7) - set bits($core.int v) { - $_setUnsignedInt32(5, v); - } - + set bits($core.int v) { $_setUnsignedInt32(5, v); } @$pb.TagNumber(7) $core.bool hasBits() => $_has(5); @$pb.TagNumber(7) @@ -433,10 +299,7 @@ class RpcBlockHeader extends $pb.GeneratedMessage { @$pb.TagNumber(8) $fixnum.Int64 get nonce => $_getI64(6); @$pb.TagNumber(8) - set nonce($fixnum.Int64 v) { - $_setInt64(6, v); - } - + set nonce($fixnum.Int64 v) { $_setInt64(6, v); } @$pb.TagNumber(8) $core.bool hasNonce() => $_has(6); @$pb.TagNumber(8) @@ -445,10 +308,7 @@ class RpcBlockHeader extends $pb.GeneratedMessage { @$pb.TagNumber(9) $fixnum.Int64 get daaScore => $_getI64(7); @$pb.TagNumber(9) - set daaScore($fixnum.Int64 v) { - $_setInt64(7, v); - } - + set daaScore($fixnum.Int64 v) { $_setInt64(7, v); } @$pb.TagNumber(9) $core.bool hasDaaScore() => $_has(7); @$pb.TagNumber(9) @@ -457,10 +317,7 @@ class RpcBlockHeader extends $pb.GeneratedMessage { @$pb.TagNumber(10) $core.String get blueWork => $_getSZ(8); @$pb.TagNumber(10) - set blueWork($core.String v) { - $_setString(8, v); - } - + set blueWork($core.String v) { $_setString(8, v); } @$pb.TagNumber(10) $core.bool hasBlueWork() => $_has(8); @$pb.TagNumber(10) @@ -472,10 +329,7 @@ class RpcBlockHeader extends $pb.GeneratedMessage { @$pb.TagNumber(13) $fixnum.Int64 get blueScore => $_getI64(10); @$pb.TagNumber(13) - set blueScore($fixnum.Int64 v) { - $_setInt64(10, v); - } - + set blueScore($fixnum.Int64 v) { $_setInt64(10, v); } @$pb.TagNumber(13) $core.bool hasBlueScore() => $_has(10); @$pb.TagNumber(13) @@ -484,10 +338,7 @@ class RpcBlockHeader extends $pb.GeneratedMessage { @$pb.TagNumber(14) $core.String get pruningPoint => $_getSZ(11); @$pb.TagNumber(14) - set pruningPoint($core.String v) { - $_setString(11, v); - } - + set pruningPoint($core.String v) { $_setString(11, v); } @$pb.TagNumber(14) $core.bool hasPruningPoint() => $_has(11); @$pb.TagNumber(14) @@ -495,59 +346,43 @@ class RpcBlockHeader extends $pb.GeneratedMessage { } class RpcBlockLevelParents extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'RpcBlockLevelParents', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..pPS( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'parentHashes', - protoName: 'parentHashes') - ..hasRequiredFields = false; - - RpcBlockLevelParents._() : super(); factory RpcBlockLevelParents({ $core.Iterable<$core.String>? parentHashes, }) { - final _result = create(); + final $result = create(); if (parentHashes != null) { - _result.parentHashes.addAll(parentHashes); + $result.parentHashes.addAll(parentHashes); } - return _result; + return $result; } - factory RpcBlockLevelParents.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory RpcBlockLevelParents.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') - RpcBlockLevelParents clone() => - RpcBlockLevelParents()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - RpcBlockLevelParents copyWith(void Function(RpcBlockLevelParents) updates) => - super.copyWith((message) => updates(message as RpcBlockLevelParents)) - as RpcBlockLevelParents; // ignore: deprecated_member_use + RpcBlockLevelParents._() : super(); + factory RpcBlockLevelParents.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory RpcBlockLevelParents.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'RpcBlockLevelParents', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..pPS(1, _omitFieldNames ? '' : 'parentHashes', protoName: 'parentHashes') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + RpcBlockLevelParents clone() => RpcBlockLevelParents()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RpcBlockLevelParents copyWith(void Function(RpcBlockLevelParents) updates) => super.copyWith((message) => updates(message as RpcBlockLevelParents)) as RpcBlockLevelParents; + $pb.BuilderInfo get info_ => _i; + @$core.pragma('dart2js:noInline') static RpcBlockLevelParents create() => RpcBlockLevelParents._(); RpcBlockLevelParents createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static RpcBlockLevelParents getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); + static RpcBlockLevelParents getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static RpcBlockLevelParents? _defaultInstance; @$pb.TagNumber(1) @@ -555,79 +390,6 @@ class RpcBlockLevelParents extends $pb.GeneratedMessage { } class RpcBlockVerboseData extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'RpcBlockVerboseData', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOS( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'hash') - ..a<$core.double>( - 11, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'difficulty', - $pb.PbFieldType.OD) - ..aOS( - 13, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'selectedParentHash', - protoName: 'selectedParentHash') - ..pPS( - 14, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'transactionIds', - protoName: 'transactionIds') - ..aOB( - 15, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'isHeaderOnly', - protoName: 'isHeaderOnly') - ..a<$fixnum.Int64>( - 16, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'blueScore', - $pb.PbFieldType.OU6, - protoName: 'blueScore', - defaultOrMaker: $fixnum.Int64.ZERO) - ..pPS( - 17, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'childrenHashes', - protoName: 'childrenHashes') - ..pPS( - 18, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'mergeSetBluesHashes', - protoName: 'mergeSetBluesHashes') - ..pPS( - 19, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'mergeSetRedsHashes', - protoName: 'mergeSetRedsHashes') - ..aOB( - 20, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'isChainBlock', - protoName: 'isChainBlock') - ..hasRequiredFields = false; - - RpcBlockVerboseData._() : super(); factory RpcBlockVerboseData({ $core.String? hash, $core.double? difficulty, @@ -640,73 +402,82 @@ class RpcBlockVerboseData extends $pb.GeneratedMessage { $core.Iterable<$core.String>? mergeSetRedsHashes, $core.bool? isChainBlock, }) { - final _result = create(); + final $result = create(); if (hash != null) { - _result.hash = hash; + $result.hash = hash; } if (difficulty != null) { - _result.difficulty = difficulty; + $result.difficulty = difficulty; } if (selectedParentHash != null) { - _result.selectedParentHash = selectedParentHash; + $result.selectedParentHash = selectedParentHash; } if (transactionIds != null) { - _result.transactionIds.addAll(transactionIds); + $result.transactionIds.addAll(transactionIds); } if (isHeaderOnly != null) { - _result.isHeaderOnly = isHeaderOnly; + $result.isHeaderOnly = isHeaderOnly; } if (blueScore != null) { - _result.blueScore = blueScore; + $result.blueScore = blueScore; } if (childrenHashes != null) { - _result.childrenHashes.addAll(childrenHashes); + $result.childrenHashes.addAll(childrenHashes); } if (mergeSetBluesHashes != null) { - _result.mergeSetBluesHashes.addAll(mergeSetBluesHashes); + $result.mergeSetBluesHashes.addAll(mergeSetBluesHashes); } if (mergeSetRedsHashes != null) { - _result.mergeSetRedsHashes.addAll(mergeSetRedsHashes); + $result.mergeSetRedsHashes.addAll(mergeSetRedsHashes); } if (isChainBlock != null) { - _result.isChainBlock = isChainBlock; + $result.isChainBlock = isChainBlock; } - return _result; + return $result; } - factory RpcBlockVerboseData.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory RpcBlockVerboseData.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') + RpcBlockVerboseData._() : super(); + factory RpcBlockVerboseData.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory RpcBlockVerboseData.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'RpcBlockVerboseData', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'hash') + ..a<$core.double>(11, _omitFieldNames ? '' : 'difficulty', $pb.PbFieldType.OD) + ..aOS(13, _omitFieldNames ? '' : 'selectedParentHash', protoName: 'selectedParentHash') + ..pPS(14, _omitFieldNames ? '' : 'transactionIds', protoName: 'transactionIds') + ..aOB(15, _omitFieldNames ? '' : 'isHeaderOnly', protoName: 'isHeaderOnly') + ..a<$fixnum.Int64>(16, _omitFieldNames ? '' : 'blueScore', $pb.PbFieldType.OU6, protoName: 'blueScore', defaultOrMaker: $fixnum.Int64.ZERO) + ..pPS(17, _omitFieldNames ? '' : 'childrenHashes', protoName: 'childrenHashes') + ..pPS(18, _omitFieldNames ? '' : 'mergeSetBluesHashes', protoName: 'mergeSetBluesHashes') + ..pPS(19, _omitFieldNames ? '' : 'mergeSetRedsHashes', protoName: 'mergeSetRedsHashes') + ..aOB(20, _omitFieldNames ? '' : 'isChainBlock', protoName: 'isChainBlock') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') RpcBlockVerboseData clone() => RpcBlockVerboseData()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - RpcBlockVerboseData copyWith(void Function(RpcBlockVerboseData) updates) => - super.copyWith((message) => updates(message as RpcBlockVerboseData)) - as RpcBlockVerboseData; // ignore: deprecated_member_use + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RpcBlockVerboseData copyWith(void Function(RpcBlockVerboseData) updates) => super.copyWith((message) => updates(message as RpcBlockVerboseData)) as RpcBlockVerboseData; + $pb.BuilderInfo get info_ => _i; + @$core.pragma('dart2js:noInline') static RpcBlockVerboseData create() => RpcBlockVerboseData._(); RpcBlockVerboseData createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static RpcBlockVerboseData getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); + static RpcBlockVerboseData getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static RpcBlockVerboseData? _defaultInstance; @$pb.TagNumber(1) $core.String get hash => $_getSZ(0); @$pb.TagNumber(1) - set hash($core.String v) { - $_setString(0, v); - } - + set hash($core.String v) { $_setString(0, v); } @$pb.TagNumber(1) $core.bool hasHash() => $_has(0); @$pb.TagNumber(1) @@ -715,10 +486,7 @@ class RpcBlockVerboseData extends $pb.GeneratedMessage { @$pb.TagNumber(11) $core.double get difficulty => $_getN(1); @$pb.TagNumber(11) - set difficulty($core.double v) { - $_setDouble(1, v); - } - + set difficulty($core.double v) { $_setDouble(1, v); } @$pb.TagNumber(11) $core.bool hasDifficulty() => $_has(1); @$pb.TagNumber(11) @@ -727,10 +495,7 @@ class RpcBlockVerboseData extends $pb.GeneratedMessage { @$pb.TagNumber(13) $core.String get selectedParentHash => $_getSZ(2); @$pb.TagNumber(13) - set selectedParentHash($core.String v) { - $_setString(2, v); - } - + set selectedParentHash($core.String v) { $_setString(2, v); } @$pb.TagNumber(13) $core.bool hasSelectedParentHash() => $_has(2); @$pb.TagNumber(13) @@ -742,10 +507,7 @@ class RpcBlockVerboseData extends $pb.GeneratedMessage { @$pb.TagNumber(15) $core.bool get isHeaderOnly => $_getBF(4); @$pb.TagNumber(15) - set isHeaderOnly($core.bool v) { - $_setBool(4, v); - } - + set isHeaderOnly($core.bool v) { $_setBool(4, v); } @$pb.TagNumber(15) $core.bool hasIsHeaderOnly() => $_has(4); @$pb.TagNumber(15) @@ -754,10 +516,7 @@ class RpcBlockVerboseData extends $pb.GeneratedMessage { @$pb.TagNumber(16) $fixnum.Int64 get blueScore => $_getI64(5); @$pb.TagNumber(16) - set blueScore($fixnum.Int64 v) { - $_setInt64(5, v); - } - + set blueScore($fixnum.Int64 v) { $_setInt64(5, v); } @$pb.TagNumber(16) $core.bool hasBlueScore() => $_has(5); @$pb.TagNumber(16) @@ -775,10 +534,7 @@ class RpcBlockVerboseData extends $pb.GeneratedMessage { @$pb.TagNumber(20) $core.bool get isChainBlock => $_getBF(9); @$pb.TagNumber(20) - set isChainBlock($core.bool v) { - $_setBool(9, v); - } - + set isChainBlock($core.bool v) { $_setBool(9, v); } @$pb.TagNumber(20) $core.bool hasIsChainBlock() => $_has(9); @$pb.TagNumber(20) @@ -786,71 +542,6 @@ class RpcBlockVerboseData extends $pb.GeneratedMessage { } class RpcTransaction extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'RpcTransaction', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..a<$core.int>( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'version', - $pb.PbFieldType.OU3) - ..pc( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'inputs', - $pb.PbFieldType.PM, - subBuilder: RpcTransactionInput.create) - ..pc( - 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'outputs', - $pb.PbFieldType.PM, - subBuilder: RpcTransactionOutput.create) - ..a<$fixnum.Int64>( - 4, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'lockTime', - $pb.PbFieldType.OU6, - protoName: 'lockTime', - defaultOrMaker: $fixnum.Int64.ZERO) - ..aOS( - 5, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'subnetworkId', - protoName: 'subnetworkId') - ..a<$fixnum.Int64>( - 6, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'gas', - $pb.PbFieldType.OU6, - defaultOrMaker: $fixnum.Int64.ZERO) - ..aOS( - 8, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'payload') - ..aOM( - 9, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'verboseData', - protoName: 'verboseData', - subBuilder: RpcTransactionVerboseData.create) - ..hasRequiredFields = false; - - RpcTransaction._() : super(); factory RpcTransaction({ $core.int? version, $core.Iterable? inputs, @@ -860,68 +551,80 @@ class RpcTransaction extends $pb.GeneratedMessage { $fixnum.Int64? gas, $core.String? payload, RpcTransactionVerboseData? verboseData, + $fixnum.Int64? mass, }) { - final _result = create(); + final $result = create(); if (version != null) { - _result.version = version; + $result.version = version; } if (inputs != null) { - _result.inputs.addAll(inputs); + $result.inputs.addAll(inputs); } if (outputs != null) { - _result.outputs.addAll(outputs); + $result.outputs.addAll(outputs); } if (lockTime != null) { - _result.lockTime = lockTime; + $result.lockTime = lockTime; } if (subnetworkId != null) { - _result.subnetworkId = subnetworkId; + $result.subnetworkId = subnetworkId; } if (gas != null) { - _result.gas = gas; + $result.gas = gas; } if (payload != null) { - _result.payload = payload; + $result.payload = payload; } if (verboseData != null) { - _result.verboseData = verboseData; + $result.verboseData = verboseData; } - return _result; + if (mass != null) { + $result.mass = mass; + } + return $result; } - factory RpcTransaction.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory RpcTransaction.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') + RpcTransaction._() : super(); + factory RpcTransaction.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory RpcTransaction.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'RpcTransaction', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'version', $pb.PbFieldType.OU3) + ..pc(2, _omitFieldNames ? '' : 'inputs', $pb.PbFieldType.PM, subBuilder: RpcTransactionInput.create) + ..pc(3, _omitFieldNames ? '' : 'outputs', $pb.PbFieldType.PM, subBuilder: RpcTransactionOutput.create) + ..a<$fixnum.Int64>(4, _omitFieldNames ? '' : 'lockTime', $pb.PbFieldType.OU6, protoName: 'lockTime', defaultOrMaker: $fixnum.Int64.ZERO) + ..aOS(5, _omitFieldNames ? '' : 'subnetworkId', protoName: 'subnetworkId') + ..a<$fixnum.Int64>(6, _omitFieldNames ? '' : 'gas', $pb.PbFieldType.OU6, defaultOrMaker: $fixnum.Int64.ZERO) + ..aOS(8, _omitFieldNames ? '' : 'payload') + ..aOM(9, _omitFieldNames ? '' : 'verboseData', protoName: 'verboseData', subBuilder: RpcTransactionVerboseData.create) + ..a<$fixnum.Int64>(10, _omitFieldNames ? '' : 'mass', $pb.PbFieldType.OU6, defaultOrMaker: $fixnum.Int64.ZERO) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') RpcTransaction clone() => RpcTransaction()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - RpcTransaction copyWith(void Function(RpcTransaction) updates) => - super.copyWith((message) => updates(message as RpcTransaction)) - as RpcTransaction; // ignore: deprecated_member_use + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RpcTransaction copyWith(void Function(RpcTransaction) updates) => super.copyWith((message) => updates(message as RpcTransaction)) as RpcTransaction; + $pb.BuilderInfo get info_ => _i; + @$core.pragma('dart2js:noInline') static RpcTransaction create() => RpcTransaction._(); RpcTransaction createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static RpcTransaction getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); + static RpcTransaction getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static RpcTransaction? _defaultInstance; @$pb.TagNumber(1) $core.int get version => $_getIZ(0); @$pb.TagNumber(1) - set version($core.int v) { - $_setUnsignedInt32(0, v); - } - + set version($core.int v) { $_setUnsignedInt32(0, v); } @$pb.TagNumber(1) $core.bool hasVersion() => $_has(0); @$pb.TagNumber(1) @@ -936,10 +639,7 @@ class RpcTransaction extends $pb.GeneratedMessage { @$pb.TagNumber(4) $fixnum.Int64 get lockTime => $_getI64(3); @$pb.TagNumber(4) - set lockTime($fixnum.Int64 v) { - $_setInt64(3, v); - } - + set lockTime($fixnum.Int64 v) { $_setInt64(3, v); } @$pb.TagNumber(4) $core.bool hasLockTime() => $_has(3); @$pb.TagNumber(4) @@ -948,10 +648,7 @@ class RpcTransaction extends $pb.GeneratedMessage { @$pb.TagNumber(5) $core.String get subnetworkId => $_getSZ(4); @$pb.TagNumber(5) - set subnetworkId($core.String v) { - $_setString(4, v); - } - + set subnetworkId($core.String v) { $_setString(4, v); } @$pb.TagNumber(5) $core.bool hasSubnetworkId() => $_has(4); @$pb.TagNumber(5) @@ -960,10 +657,7 @@ class RpcTransaction extends $pb.GeneratedMessage { @$pb.TagNumber(6) $fixnum.Int64 get gas => $_getI64(5); @$pb.TagNumber(6) - set gas($fixnum.Int64 v) { - $_setInt64(5, v); - } - + set gas($fixnum.Int64 v) { $_setInt64(5, v); } @$pb.TagNumber(6) $core.bool hasGas() => $_has(5); @$pb.TagNumber(6) @@ -972,10 +666,7 @@ class RpcTransaction extends $pb.GeneratedMessage { @$pb.TagNumber(8) $core.String get payload => $_getSZ(6); @$pb.TagNumber(8) - set payload($core.String v) { - $_setString(6, v); - } - + set payload($core.String v) { $_setString(6, v); } @$pb.TagNumber(8) $core.bool hasPayload() => $_has(6); @$pb.TagNumber(8) @@ -984,65 +675,25 @@ class RpcTransaction extends $pb.GeneratedMessage { @$pb.TagNumber(9) RpcTransactionVerboseData get verboseData => $_getN(7); @$pb.TagNumber(9) - set verboseData(RpcTransactionVerboseData v) { - setField(9, v); - } - + set verboseData(RpcTransactionVerboseData v) { setField(9, v); } @$pb.TagNumber(9) $core.bool hasVerboseData() => $_has(7); @$pb.TagNumber(9) void clearVerboseData() => clearField(9); @$pb.TagNumber(9) RpcTransactionVerboseData ensureVerboseData() => $_ensure(7); + + @$pb.TagNumber(10) + $fixnum.Int64 get mass => $_getI64(8); + @$pb.TagNumber(10) + set mass($fixnum.Int64 v) { $_setInt64(8, v); } + @$pb.TagNumber(10) + $core.bool hasMass() => $_has(8); + @$pb.TagNumber(10) + void clearMass() => clearField(10); } class RpcTransactionInput extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'RpcTransactionInput', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOM( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'previousOutpoint', - protoName: 'previousOutpoint', - subBuilder: RpcOutpoint.create) - ..aOS( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'signatureScript', - protoName: 'signatureScript') - ..a<$fixnum.Int64>( - 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'sequence', - $pb.PbFieldType.OU6, - defaultOrMaker: $fixnum.Int64.ZERO) - ..aOM( - 4, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'verboseData', - protoName: 'verboseData', - subBuilder: RpcTransactionInputVerboseData.create) - ..a<$core.int>( - 5, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'sigOpCount', - $pb.PbFieldType.OU3, - protoName: 'sigOpCount') - ..hasRequiredFields = false; - - RpcTransactionInput._() : super(); factory RpcTransactionInput({ RpcOutpoint? previousOutpoint, $core.String? signatureScript, @@ -1050,58 +701,62 @@ class RpcTransactionInput extends $pb.GeneratedMessage { RpcTransactionInputVerboseData? verboseData, $core.int? sigOpCount, }) { - final _result = create(); + final $result = create(); if (previousOutpoint != null) { - _result.previousOutpoint = previousOutpoint; + $result.previousOutpoint = previousOutpoint; } if (signatureScript != null) { - _result.signatureScript = signatureScript; + $result.signatureScript = signatureScript; } if (sequence != null) { - _result.sequence = sequence; + $result.sequence = sequence; } if (verboseData != null) { - _result.verboseData = verboseData; + $result.verboseData = verboseData; } if (sigOpCount != null) { - _result.sigOpCount = sigOpCount; + $result.sigOpCount = sigOpCount; } - return _result; + return $result; } - factory RpcTransactionInput.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory RpcTransactionInput.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') + RpcTransactionInput._() : super(); + factory RpcTransactionInput.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory RpcTransactionInput.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'RpcTransactionInput', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'previousOutpoint', protoName: 'previousOutpoint', subBuilder: RpcOutpoint.create) + ..aOS(2, _omitFieldNames ? '' : 'signatureScript', protoName: 'signatureScript') + ..a<$fixnum.Int64>(3, _omitFieldNames ? '' : 'sequence', $pb.PbFieldType.OU6, defaultOrMaker: $fixnum.Int64.ZERO) + ..aOM(4, _omitFieldNames ? '' : 'verboseData', protoName: 'verboseData', subBuilder: RpcTransactionInputVerboseData.create) + ..a<$core.int>(5, _omitFieldNames ? '' : 'sigOpCount', $pb.PbFieldType.OU3, protoName: 'sigOpCount') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') RpcTransactionInput clone() => RpcTransactionInput()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - RpcTransactionInput copyWith(void Function(RpcTransactionInput) updates) => - super.copyWith((message) => updates(message as RpcTransactionInput)) - as RpcTransactionInput; // ignore: deprecated_member_use + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RpcTransactionInput copyWith(void Function(RpcTransactionInput) updates) => super.copyWith((message) => updates(message as RpcTransactionInput)) as RpcTransactionInput; + $pb.BuilderInfo get info_ => _i; + @$core.pragma('dart2js:noInline') static RpcTransactionInput create() => RpcTransactionInput._(); RpcTransactionInput createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static RpcTransactionInput getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); + static RpcTransactionInput getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static RpcTransactionInput? _defaultInstance; @$pb.TagNumber(1) RpcOutpoint get previousOutpoint => $_getN(0); @$pb.TagNumber(1) - set previousOutpoint(RpcOutpoint v) { - setField(1, v); - } - + set previousOutpoint(RpcOutpoint v) { setField(1, v); } @$pb.TagNumber(1) $core.bool hasPreviousOutpoint() => $_has(0); @$pb.TagNumber(1) @@ -1112,10 +767,7 @@ class RpcTransactionInput extends $pb.GeneratedMessage { @$pb.TagNumber(2) $core.String get signatureScript => $_getSZ(1); @$pb.TagNumber(2) - set signatureScript($core.String v) { - $_setString(1, v); - } - + set signatureScript($core.String v) { $_setString(1, v); } @$pb.TagNumber(2) $core.bool hasSignatureScript() => $_has(1); @$pb.TagNumber(2) @@ -1124,10 +776,7 @@ class RpcTransactionInput extends $pb.GeneratedMessage { @$pb.TagNumber(3) $fixnum.Int64 get sequence => $_getI64(2); @$pb.TagNumber(3) - set sequence($fixnum.Int64 v) { - $_setInt64(2, v); - } - + set sequence($fixnum.Int64 v) { $_setInt64(2, v); } @$pb.TagNumber(3) $core.bool hasSequence() => $_has(2); @$pb.TagNumber(3) @@ -1136,10 +785,7 @@ class RpcTransactionInput extends $pb.GeneratedMessage { @$pb.TagNumber(4) RpcTransactionInputVerboseData get verboseData => $_getN(3); @$pb.TagNumber(4) - set verboseData(RpcTransactionInputVerboseData v) { - setField(4, v); - } - + set verboseData(RpcTransactionInputVerboseData v) { setField(4, v); } @$pb.TagNumber(4) $core.bool hasVerboseData() => $_has(3); @$pb.TagNumber(4) @@ -1150,10 +796,7 @@ class RpcTransactionInput extends $pb.GeneratedMessage { @$pb.TagNumber(5) $core.int get sigOpCount => $_getIZ(4); @$pb.TagNumber(5) - set sigOpCount($core.int v) { - $_setUnsignedInt32(4, v); - } - + set sigOpCount($core.int v) { $_setUnsignedInt32(4, v); } @$pb.TagNumber(5) $core.bool hasSigOpCount() => $_has(4); @$pb.TagNumber(5) @@ -1161,77 +804,54 @@ class RpcTransactionInput extends $pb.GeneratedMessage { } class RpcScriptPublicKey extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'RpcScriptPublicKey', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..a<$core.int>( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'version', - $pb.PbFieldType.OU3) - ..aOS( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'scriptPublicKey', - protoName: 'scriptPublicKey') - ..hasRequiredFields = false; - - RpcScriptPublicKey._() : super(); factory RpcScriptPublicKey({ $core.int? version, $core.String? scriptPublicKey, }) { - final _result = create(); + final $result = create(); if (version != null) { - _result.version = version; + $result.version = version; } if (scriptPublicKey != null) { - _result.scriptPublicKey = scriptPublicKey; + $result.scriptPublicKey = scriptPublicKey; } - return _result; + return $result; } - factory RpcScriptPublicKey.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory RpcScriptPublicKey.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') + RpcScriptPublicKey._() : super(); + factory RpcScriptPublicKey.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory RpcScriptPublicKey.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'RpcScriptPublicKey', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'version', $pb.PbFieldType.OU3) + ..aOS(2, _omitFieldNames ? '' : 'scriptPublicKey', protoName: 'scriptPublicKey') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') RpcScriptPublicKey clone() => RpcScriptPublicKey()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - RpcScriptPublicKey copyWith(void Function(RpcScriptPublicKey) updates) => - super.copyWith((message) => updates(message as RpcScriptPublicKey)) - as RpcScriptPublicKey; // ignore: deprecated_member_use + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RpcScriptPublicKey copyWith(void Function(RpcScriptPublicKey) updates) => super.copyWith((message) => updates(message as RpcScriptPublicKey)) as RpcScriptPublicKey; + $pb.BuilderInfo get info_ => _i; + @$core.pragma('dart2js:noInline') static RpcScriptPublicKey create() => RpcScriptPublicKey._(); RpcScriptPublicKey createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static RpcScriptPublicKey getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); + static RpcScriptPublicKey getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static RpcScriptPublicKey? _defaultInstance; @$pb.TagNumber(1) $core.int get version => $_getIZ(0); @$pb.TagNumber(1) - set version($core.int v) { - $_setUnsignedInt32(0, v); - } - + set version($core.int v) { $_setUnsignedInt32(0, v); } @$pb.TagNumber(1) $core.bool hasVersion() => $_has(0); @$pb.TagNumber(1) @@ -1240,10 +860,7 @@ class RpcScriptPublicKey extends $pb.GeneratedMessage { @$pb.TagNumber(2) $core.String get scriptPublicKey => $_getSZ(1); @$pb.TagNumber(2) - set scriptPublicKey($core.String v) { - $_setString(1, v); - } - + set scriptPublicKey($core.String v) { $_setString(1, v); } @$pb.TagNumber(2) $core.bool hasScriptPublicKey() => $_has(1); @$pb.TagNumber(2) @@ -1251,91 +868,59 @@ class RpcScriptPublicKey extends $pb.GeneratedMessage { } class RpcTransactionOutput extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'RpcTransactionOutput', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..a<$fixnum.Int64>( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'amount', - $pb.PbFieldType.OU6, - defaultOrMaker: $fixnum.Int64.ZERO) - ..aOM( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'scriptPublicKey', - protoName: 'scriptPublicKey', - subBuilder: RpcScriptPublicKey.create) - ..aOM( - 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'verboseData', - protoName: 'verboseData', - subBuilder: RpcTransactionOutputVerboseData.create) - ..hasRequiredFields = false; - - RpcTransactionOutput._() : super(); factory RpcTransactionOutput({ $fixnum.Int64? amount, RpcScriptPublicKey? scriptPublicKey, RpcTransactionOutputVerboseData? verboseData, }) { - final _result = create(); + final $result = create(); if (amount != null) { - _result.amount = amount; + $result.amount = amount; } if (scriptPublicKey != null) { - _result.scriptPublicKey = scriptPublicKey; + $result.scriptPublicKey = scriptPublicKey; } if (verboseData != null) { - _result.verboseData = verboseData; + $result.verboseData = verboseData; } - return _result; + return $result; } - factory RpcTransactionOutput.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory RpcTransactionOutput.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') - RpcTransactionOutput clone() => - RpcTransactionOutput()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - RpcTransactionOutput copyWith(void Function(RpcTransactionOutput) updates) => - super.copyWith((message) => updates(message as RpcTransactionOutput)) - as RpcTransactionOutput; // ignore: deprecated_member_use + RpcTransactionOutput._() : super(); + factory RpcTransactionOutput.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory RpcTransactionOutput.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'RpcTransactionOutput', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..a<$fixnum.Int64>(1, _omitFieldNames ? '' : 'amount', $pb.PbFieldType.OU6, defaultOrMaker: $fixnum.Int64.ZERO) + ..aOM(2, _omitFieldNames ? '' : 'scriptPublicKey', protoName: 'scriptPublicKey', subBuilder: RpcScriptPublicKey.create) + ..aOM(3, _omitFieldNames ? '' : 'verboseData', protoName: 'verboseData', subBuilder: RpcTransactionOutputVerboseData.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + RpcTransactionOutput clone() => RpcTransactionOutput()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RpcTransactionOutput copyWith(void Function(RpcTransactionOutput) updates) => super.copyWith((message) => updates(message as RpcTransactionOutput)) as RpcTransactionOutput; + $pb.BuilderInfo get info_ => _i; + @$core.pragma('dart2js:noInline') static RpcTransactionOutput create() => RpcTransactionOutput._(); RpcTransactionOutput createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static RpcTransactionOutput getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); + static RpcTransactionOutput getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static RpcTransactionOutput? _defaultInstance; @$pb.TagNumber(1) $fixnum.Int64 get amount => $_getI64(0); @$pb.TagNumber(1) - set amount($fixnum.Int64 v) { - $_setInt64(0, v); - } - + set amount($fixnum.Int64 v) { $_setInt64(0, v); } @$pb.TagNumber(1) $core.bool hasAmount() => $_has(0); @$pb.TagNumber(1) @@ -1344,10 +929,7 @@ class RpcTransactionOutput extends $pb.GeneratedMessage { @$pb.TagNumber(2) RpcScriptPublicKey get scriptPublicKey => $_getN(1); @$pb.TagNumber(2) - set scriptPublicKey(RpcScriptPublicKey v) { - setField(2, v); - } - + set scriptPublicKey(RpcScriptPublicKey v) { setField(2, v); } @$pb.TagNumber(2) $core.bool hasScriptPublicKey() => $_has(1); @$pb.TagNumber(2) @@ -1358,10 +940,7 @@ class RpcTransactionOutput extends $pb.GeneratedMessage { @$pb.TagNumber(3) RpcTransactionOutputVerboseData get verboseData => $_getN(2); @$pb.TagNumber(3) - set verboseData(RpcTransactionOutputVerboseData v) { - setField(3, v); - } - + set verboseData(RpcTransactionOutputVerboseData v) { setField(3, v); } @$pb.TagNumber(3) $core.bool hasVerboseData() => $_has(2); @$pb.TagNumber(3) @@ -1371,76 +950,54 @@ class RpcTransactionOutput extends $pb.GeneratedMessage { } class RpcOutpoint extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'RpcOutpoint', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOS( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'transactionId', - protoName: 'transactionId') - ..a<$core.int>( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'index', - $pb.PbFieldType.OU3) - ..hasRequiredFields = false; - - RpcOutpoint._() : super(); factory RpcOutpoint({ $core.String? transactionId, $core.int? index, }) { - final _result = create(); + final $result = create(); if (transactionId != null) { - _result.transactionId = transactionId; + $result.transactionId = transactionId; } if (index != null) { - _result.index = index; + $result.index = index; } - return _result; + return $result; } - factory RpcOutpoint.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory RpcOutpoint.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') + RpcOutpoint._() : super(); + factory RpcOutpoint.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory RpcOutpoint.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'RpcOutpoint', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'transactionId', protoName: 'transactionId') + ..a<$core.int>(2, _omitFieldNames ? '' : 'index', $pb.PbFieldType.OU3) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') RpcOutpoint clone() => RpcOutpoint()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - RpcOutpoint copyWith(void Function(RpcOutpoint) updates) => - super.copyWith((message) => updates(message as RpcOutpoint)) - as RpcOutpoint; // ignore: deprecated_member_use + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RpcOutpoint copyWith(void Function(RpcOutpoint) updates) => super.copyWith((message) => updates(message as RpcOutpoint)) as RpcOutpoint; + $pb.BuilderInfo get info_ => _i; + @$core.pragma('dart2js:noInline') static RpcOutpoint create() => RpcOutpoint._(); RpcOutpoint createEmptyInstance() => create(); static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static RpcOutpoint getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); + static RpcOutpoint getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static RpcOutpoint? _defaultInstance; @$pb.TagNumber(1) $core.String get transactionId => $_getSZ(0); @$pb.TagNumber(1) - set transactionId($core.String v) { - $_setString(0, v); - } - + set transactionId($core.String v) { $_setString(0, v); } @$pb.TagNumber(1) $core.bool hasTransactionId() => $_has(0); @$pb.TagNumber(1) @@ -1449,10 +1006,7 @@ class RpcOutpoint extends $pb.GeneratedMessage { @$pb.TagNumber(2) $core.int get index => $_getIZ(1); @$pb.TagNumber(2) - set index($core.int v) { - $_setUnsignedInt32(1, v); - } - + set index($core.int v) { $_setUnsignedInt32(1, v); } @$pb.TagNumber(2) $core.bool hasIndex() => $_has(1); @$pb.TagNumber(2) @@ -1460,101 +1014,64 @@ class RpcOutpoint extends $pb.GeneratedMessage { } class RpcUtxoEntry extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'RpcUtxoEntry', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..a<$fixnum.Int64>( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'amount', - $pb.PbFieldType.OU6, - defaultOrMaker: $fixnum.Int64.ZERO) - ..aOM( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'scriptPublicKey', - protoName: 'scriptPublicKey', - subBuilder: RpcScriptPublicKey.create) - ..a<$fixnum.Int64>( - 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'blockDaaScore', - $pb.PbFieldType.OU6, - protoName: 'blockDaaScore', - defaultOrMaker: $fixnum.Int64.ZERO) - ..aOB( - 4, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'isCoinbase', - protoName: 'isCoinbase') - ..hasRequiredFields = false; - - RpcUtxoEntry._() : super(); factory RpcUtxoEntry({ $fixnum.Int64? amount, RpcScriptPublicKey? scriptPublicKey, $fixnum.Int64? blockDaaScore, $core.bool? isCoinbase, }) { - final _result = create(); + final $result = create(); if (amount != null) { - _result.amount = amount; + $result.amount = amount; } if (scriptPublicKey != null) { - _result.scriptPublicKey = scriptPublicKey; + $result.scriptPublicKey = scriptPublicKey; } if (blockDaaScore != null) { - _result.blockDaaScore = blockDaaScore; + $result.blockDaaScore = blockDaaScore; } if (isCoinbase != null) { - _result.isCoinbase = isCoinbase; + $result.isCoinbase = isCoinbase; } - return _result; + return $result; } - factory RpcUtxoEntry.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory RpcUtxoEntry.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') + RpcUtxoEntry._() : super(); + factory RpcUtxoEntry.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory RpcUtxoEntry.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'RpcUtxoEntry', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..a<$fixnum.Int64>(1, _omitFieldNames ? '' : 'amount', $pb.PbFieldType.OU6, defaultOrMaker: $fixnum.Int64.ZERO) + ..aOM(2, _omitFieldNames ? '' : 'scriptPublicKey', protoName: 'scriptPublicKey', subBuilder: RpcScriptPublicKey.create) + ..a<$fixnum.Int64>(3, _omitFieldNames ? '' : 'blockDaaScore', $pb.PbFieldType.OU6, protoName: 'blockDaaScore', defaultOrMaker: $fixnum.Int64.ZERO) + ..aOB(4, _omitFieldNames ? '' : 'isCoinbase', protoName: 'isCoinbase') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') RpcUtxoEntry clone() => RpcUtxoEntry()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - RpcUtxoEntry copyWith(void Function(RpcUtxoEntry) updates) => - super.copyWith((message) => updates(message as RpcUtxoEntry)) - as RpcUtxoEntry; // ignore: deprecated_member_use + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RpcUtxoEntry copyWith(void Function(RpcUtxoEntry) updates) => super.copyWith((message) => updates(message as RpcUtxoEntry)) as RpcUtxoEntry; + $pb.BuilderInfo get info_ => _i; + @$core.pragma('dart2js:noInline') static RpcUtxoEntry create() => RpcUtxoEntry._(); RpcUtxoEntry createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static RpcUtxoEntry getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); + static RpcUtxoEntry getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static RpcUtxoEntry? _defaultInstance; @$pb.TagNumber(1) $fixnum.Int64 get amount => $_getI64(0); @$pb.TagNumber(1) - set amount($fixnum.Int64 v) { - $_setInt64(0, v); - } - + set amount($fixnum.Int64 v) { $_setInt64(0, v); } @$pb.TagNumber(1) $core.bool hasAmount() => $_has(0); @$pb.TagNumber(1) @@ -1563,10 +1080,7 @@ class RpcUtxoEntry extends $pb.GeneratedMessage { @$pb.TagNumber(2) RpcScriptPublicKey get scriptPublicKey => $_getN(1); @$pb.TagNumber(2) - set scriptPublicKey(RpcScriptPublicKey v) { - setField(2, v); - } - + set scriptPublicKey(RpcScriptPublicKey v) { setField(2, v); } @$pb.TagNumber(2) $core.bool hasScriptPublicKey() => $_has(1); @$pb.TagNumber(2) @@ -1577,10 +1091,7 @@ class RpcUtxoEntry extends $pb.GeneratedMessage { @$pb.TagNumber(3) $fixnum.Int64 get blockDaaScore => $_getI64(2); @$pb.TagNumber(3) - set blockDaaScore($fixnum.Int64 v) { - $_setInt64(2, v); - } - + set blockDaaScore($fixnum.Int64 v) { $_setInt64(2, v); } @$pb.TagNumber(3) $core.bool hasBlockDaaScore() => $_has(2); @$pb.TagNumber(3) @@ -1589,10 +1100,7 @@ class RpcUtxoEntry extends $pb.GeneratedMessage { @$pb.TagNumber(4) $core.bool get isCoinbase => $_getBF(3); @$pb.TagNumber(4) - set isCoinbase($core.bool v) { - $_setBool(3, v); - } - + set isCoinbase($core.bool v) { $_setBool(3, v); } @$pb.TagNumber(4) $core.bool hasIsCoinbase() => $_has(3); @$pb.TagNumber(4) @@ -1600,50 +1108,6 @@ class RpcUtxoEntry extends $pb.GeneratedMessage { } class RpcTransactionVerboseData extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'RpcTransactionVerboseData', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOS( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'transactionId', - protoName: 'transactionId') - ..aOS( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'hash') - ..a<$fixnum.Int64>( - 4, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'mass', - $pb.PbFieldType.OU6, - defaultOrMaker: $fixnum.Int64.ZERO) - ..aOS( - 12, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'blockHash', - protoName: 'blockHash') - ..a<$fixnum.Int64>( - 14, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'blockTime', - $pb.PbFieldType.OU6, - protoName: 'blockTime', - defaultOrMaker: $fixnum.Int64.ZERO) - ..hasRequiredFields = false; - - RpcTransactionVerboseData._() : super(); factory RpcTransactionVerboseData({ $core.String? transactionId, $core.String? hash, @@ -1651,60 +1115,62 @@ class RpcTransactionVerboseData extends $pb.GeneratedMessage { $core.String? blockHash, $fixnum.Int64? blockTime, }) { - final _result = create(); + final $result = create(); if (transactionId != null) { - _result.transactionId = transactionId; + $result.transactionId = transactionId; } if (hash != null) { - _result.hash = hash; + $result.hash = hash; } if (mass != null) { - _result.mass = mass; + $result.mass = mass; } if (blockHash != null) { - _result.blockHash = blockHash; + $result.blockHash = blockHash; } if (blockTime != null) { - _result.blockTime = blockTime; + $result.blockTime = blockTime; } - return _result; + return $result; } - factory RpcTransactionVerboseData.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory RpcTransactionVerboseData.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') - RpcTransactionVerboseData clone() => - RpcTransactionVerboseData()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - RpcTransactionVerboseData copyWith( - void Function(RpcTransactionVerboseData) updates) => - super.copyWith((message) => updates(message as RpcTransactionVerboseData)) - as RpcTransactionVerboseData; // ignore: deprecated_member_use + RpcTransactionVerboseData._() : super(); + factory RpcTransactionVerboseData.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory RpcTransactionVerboseData.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'RpcTransactionVerboseData', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'transactionId', protoName: 'transactionId') + ..aOS(2, _omitFieldNames ? '' : 'hash') + ..a<$fixnum.Int64>(4, _omitFieldNames ? '' : 'mass', $pb.PbFieldType.OU6, defaultOrMaker: $fixnum.Int64.ZERO) + ..aOS(12, _omitFieldNames ? '' : 'blockHash', protoName: 'blockHash') + ..a<$fixnum.Int64>(14, _omitFieldNames ? '' : 'blockTime', $pb.PbFieldType.OU6, protoName: 'blockTime', defaultOrMaker: $fixnum.Int64.ZERO) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + RpcTransactionVerboseData clone() => RpcTransactionVerboseData()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RpcTransactionVerboseData copyWith(void Function(RpcTransactionVerboseData) updates) => super.copyWith((message) => updates(message as RpcTransactionVerboseData)) as RpcTransactionVerboseData; + $pb.BuilderInfo get info_ => _i; + @$core.pragma('dart2js:noInline') static RpcTransactionVerboseData create() => RpcTransactionVerboseData._(); RpcTransactionVerboseData createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static RpcTransactionVerboseData getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); + static RpcTransactionVerboseData getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static RpcTransactionVerboseData? _defaultInstance; @$pb.TagNumber(1) $core.String get transactionId => $_getSZ(0); @$pb.TagNumber(1) - set transactionId($core.String v) { - $_setString(0, v); - } - + set transactionId($core.String v) { $_setString(0, v); } @$pb.TagNumber(1) $core.bool hasTransactionId() => $_has(0); @$pb.TagNumber(1) @@ -1713,10 +1179,7 @@ class RpcTransactionVerboseData extends $pb.GeneratedMessage { @$pb.TagNumber(2) $core.String get hash => $_getSZ(1); @$pb.TagNumber(2) - set hash($core.String v) { - $_setString(1, v); - } - + set hash($core.String v) { $_setString(1, v); } @$pb.TagNumber(2) $core.bool hasHash() => $_has(1); @$pb.TagNumber(2) @@ -1725,10 +1188,7 @@ class RpcTransactionVerboseData extends $pb.GeneratedMessage { @$pb.TagNumber(4) $fixnum.Int64 get mass => $_getI64(2); @$pb.TagNumber(4) - set mass($fixnum.Int64 v) { - $_setInt64(2, v); - } - + set mass($fixnum.Int64 v) { $_setInt64(2, v); } @$pb.TagNumber(4) $core.bool hasMass() => $_has(2); @$pb.TagNumber(4) @@ -1737,10 +1197,7 @@ class RpcTransactionVerboseData extends $pb.GeneratedMessage { @$pb.TagNumber(12) $core.String get blockHash => $_getSZ(3); @$pb.TagNumber(12) - set blockHash($core.String v) { - $_setString(3, v); - } - + set blockHash($core.String v) { $_setString(3, v); } @$pb.TagNumber(12) $core.bool hasBlockHash() => $_has(3); @$pb.TagNumber(12) @@ -1749,10 +1206,7 @@ class RpcTransactionVerboseData extends $pb.GeneratedMessage { @$pb.TagNumber(14) $fixnum.Int64 get blockTime => $_getI64(4); @$pb.TagNumber(14) - set blockTime($fixnum.Int64 v) { - $_setInt64(4, v); - } - + set blockTime($fixnum.Int64 v) { $_setInt64(4, v); } @$pb.TagNumber(14) $core.bool hasBlockTime() => $_has(4); @$pb.TagNumber(14) @@ -1760,128 +1214,86 @@ class RpcTransactionVerboseData extends $pb.GeneratedMessage { } class RpcTransactionInputVerboseData extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'RpcTransactionInputVerboseData', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..hasRequiredFields = false; - - RpcTransactionInputVerboseData._() : super(); factory RpcTransactionInputVerboseData() => create(); - factory RpcTransactionInputVerboseData.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory RpcTransactionInputVerboseData.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') - RpcTransactionInputVerboseData clone() => - RpcTransactionInputVerboseData()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - RpcTransactionInputVerboseData copyWith( - void Function(RpcTransactionInputVerboseData) updates) => - super.copyWith( - (message) => updates(message as RpcTransactionInputVerboseData)) - as RpcTransactionInputVerboseData; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static RpcTransactionInputVerboseData create() => - RpcTransactionInputVerboseData._(); + RpcTransactionInputVerboseData._() : super(); + factory RpcTransactionInputVerboseData.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory RpcTransactionInputVerboseData.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'RpcTransactionInputVerboseData', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + RpcTransactionInputVerboseData clone() => RpcTransactionInputVerboseData()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RpcTransactionInputVerboseData copyWith(void Function(RpcTransactionInputVerboseData) updates) => super.copyWith((message) => updates(message as RpcTransactionInputVerboseData)) as RpcTransactionInputVerboseData; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static RpcTransactionInputVerboseData create() => RpcTransactionInputVerboseData._(); RpcTransactionInputVerboseData createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static RpcTransactionInputVerboseData getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); + static RpcTransactionInputVerboseData getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static RpcTransactionInputVerboseData? _defaultInstance; } class RpcTransactionOutputVerboseData extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'RpcTransactionOutputVerboseData', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOS( - 5, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'scriptPublicKeyType', - protoName: 'scriptPublicKeyType') - ..aOS( - 6, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'scriptPublicKeyAddress', - protoName: 'scriptPublicKeyAddress') - ..hasRequiredFields = false; - - RpcTransactionOutputVerboseData._() : super(); factory RpcTransactionOutputVerboseData({ $core.String? scriptPublicKeyType, $core.String? scriptPublicKeyAddress, }) { - final _result = create(); + final $result = create(); if (scriptPublicKeyType != null) { - _result.scriptPublicKeyType = scriptPublicKeyType; + $result.scriptPublicKeyType = scriptPublicKeyType; } if (scriptPublicKeyAddress != null) { - _result.scriptPublicKeyAddress = scriptPublicKeyAddress; + $result.scriptPublicKeyAddress = scriptPublicKeyAddress; } - return _result; + return $result; } - factory RpcTransactionOutputVerboseData.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory RpcTransactionOutputVerboseData.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') - RpcTransactionOutputVerboseData clone() => - RpcTransactionOutputVerboseData()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - RpcTransactionOutputVerboseData copyWith( - void Function(RpcTransactionOutputVerboseData) updates) => - super.copyWith( - (message) => updates(message as RpcTransactionOutputVerboseData)) - as RpcTransactionOutputVerboseData; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static RpcTransactionOutputVerboseData create() => - RpcTransactionOutputVerboseData._(); + RpcTransactionOutputVerboseData._() : super(); + factory RpcTransactionOutputVerboseData.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory RpcTransactionOutputVerboseData.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'RpcTransactionOutputVerboseData', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOS(5, _omitFieldNames ? '' : 'scriptPublicKeyType', protoName: 'scriptPublicKeyType') + ..aOS(6, _omitFieldNames ? '' : 'scriptPublicKeyAddress', protoName: 'scriptPublicKeyAddress') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + RpcTransactionOutputVerboseData clone() => RpcTransactionOutputVerboseData()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RpcTransactionOutputVerboseData copyWith(void Function(RpcTransactionOutputVerboseData) updates) => super.copyWith((message) => updates(message as RpcTransactionOutputVerboseData)) as RpcTransactionOutputVerboseData; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static RpcTransactionOutputVerboseData create() => RpcTransactionOutputVerboseData._(); RpcTransactionOutputVerboseData createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static RpcTransactionOutputVerboseData getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor( - create); + static RpcTransactionOutputVerboseData getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static RpcTransactionOutputVerboseData? _defaultInstance; @$pb.TagNumber(5) $core.String get scriptPublicKeyType => $_getSZ(0); @$pb.TagNumber(5) - set scriptPublicKeyType($core.String v) { - $_setString(0, v); - } - + set scriptPublicKeyType($core.String v) { $_setString(0, v); } @$pb.TagNumber(5) $core.bool hasScriptPublicKeyType() => $_has(0); @$pb.TagNumber(5) @@ -1890,140 +1302,97 @@ class RpcTransactionOutputVerboseData extends $pb.GeneratedMessage { @$pb.TagNumber(6) $core.String get scriptPublicKeyAddress => $_getSZ(1); @$pb.TagNumber(6) - set scriptPublicKeyAddress($core.String v) { - $_setString(1, v); - } - + set scriptPublicKeyAddress($core.String v) { $_setString(1, v); } @$pb.TagNumber(6) $core.bool hasScriptPublicKeyAddress() => $_has(1); @$pb.TagNumber(6) void clearScriptPublicKeyAddress() => clearField(6); } +/// GetCurrentNetworkRequestMessage requests the network karlsend is currently running against. +/// +/// Possible networks are: Mainnet, Testnet, Simnet, Devnet class GetCurrentNetworkRequestMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'GetCurrentNetworkRequestMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..hasRequiredFields = false; - - GetCurrentNetworkRequestMessage._() : super(); factory GetCurrentNetworkRequestMessage() => create(); - factory GetCurrentNetworkRequestMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory GetCurrentNetworkRequestMessage.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') - GetCurrentNetworkRequestMessage clone() => - GetCurrentNetworkRequestMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - GetCurrentNetworkRequestMessage copyWith( - void Function(GetCurrentNetworkRequestMessage) updates) => - super.copyWith( - (message) => updates(message as GetCurrentNetworkRequestMessage)) - as GetCurrentNetworkRequestMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static GetCurrentNetworkRequestMessage create() => - GetCurrentNetworkRequestMessage._(); + GetCurrentNetworkRequestMessage._() : super(); + factory GetCurrentNetworkRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetCurrentNetworkRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetCurrentNetworkRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetCurrentNetworkRequestMessage clone() => GetCurrentNetworkRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetCurrentNetworkRequestMessage copyWith(void Function(GetCurrentNetworkRequestMessage) updates) => super.copyWith((message) => updates(message as GetCurrentNetworkRequestMessage)) as GetCurrentNetworkRequestMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetCurrentNetworkRequestMessage create() => GetCurrentNetworkRequestMessage._(); GetCurrentNetworkRequestMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static GetCurrentNetworkRequestMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor( - create); + static GetCurrentNetworkRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static GetCurrentNetworkRequestMessage? _defaultInstance; } class GetCurrentNetworkResponseMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'GetCurrentNetworkResponseMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOS( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'currentNetwork', - protoName: 'currentNetwork') - ..aOM( - 1000, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'error', - subBuilder: RPCError.create) - ..hasRequiredFields = false; - - GetCurrentNetworkResponseMessage._() : super(); factory GetCurrentNetworkResponseMessage({ $core.String? currentNetwork, RPCError? error, }) { - final _result = create(); + final $result = create(); if (currentNetwork != null) { - _result.currentNetwork = currentNetwork; + $result.currentNetwork = currentNetwork; } if (error != null) { - _result.error = error; + $result.error = error; } - return _result; + return $result; } - factory GetCurrentNetworkResponseMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory GetCurrentNetworkResponseMessage.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') - GetCurrentNetworkResponseMessage clone() => - GetCurrentNetworkResponseMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - GetCurrentNetworkResponseMessage copyWith( - void Function(GetCurrentNetworkResponseMessage) updates) => - super.copyWith( - (message) => updates(message as GetCurrentNetworkResponseMessage)) - as GetCurrentNetworkResponseMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static GetCurrentNetworkResponseMessage create() => - GetCurrentNetworkResponseMessage._(); + GetCurrentNetworkResponseMessage._() : super(); + factory GetCurrentNetworkResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetCurrentNetworkResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetCurrentNetworkResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'currentNetwork', protoName: 'currentNetwork') + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetCurrentNetworkResponseMessage clone() => GetCurrentNetworkResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetCurrentNetworkResponseMessage copyWith(void Function(GetCurrentNetworkResponseMessage) updates) => super.copyWith((message) => updates(message as GetCurrentNetworkResponseMessage)) as GetCurrentNetworkResponseMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetCurrentNetworkResponseMessage create() => GetCurrentNetworkResponseMessage._(); GetCurrentNetworkResponseMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static GetCurrentNetworkResponseMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor( - create); + static GetCurrentNetworkResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static GetCurrentNetworkResponseMessage? _defaultInstance; @$pb.TagNumber(1) $core.String get currentNetwork => $_getSZ(0); @$pb.TagNumber(1) - set currentNetwork($core.String v) { - $_setString(0, v); - } - + set currentNetwork($core.String v) { $_setString(0, v); } @$pb.TagNumber(1) $core.bool hasCurrentNetwork() => $_has(0); @$pb.TagNumber(1) @@ -2032,10 +1401,7 @@ class GetCurrentNetworkResponseMessage extends $pb.GeneratedMessage { @$pb.TagNumber(1000) RPCError get error => $_getN(1); @$pb.TagNumber(1000) - set error(RPCError v) { - setField(1000, v); - } - + set error(RPCError v) { setField(1000, v); } @$pb.TagNumber(1000) $core.bool hasError() => $_has(1); @$pb.TagNumber(1000) @@ -2044,80 +1410,59 @@ class GetCurrentNetworkResponseMessage extends $pb.GeneratedMessage { RPCError ensureError() => $_ensure(1); } +/// SubmitBlockRequestMessage requests to submit a block into the DAG. +/// Blocks are generally expected to have been generated using the getBlockTemplate call. +/// +/// See: GetBlockTemplateRequestMessage class SubmitBlockRequestMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'SubmitBlockRequestMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOM( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'block', - subBuilder: RpcBlock.create) - ..aOB( - 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'allowNonDAABlocks', - protoName: 'allowNonDAABlocks') - ..hasRequiredFields = false; - - SubmitBlockRequestMessage._() : super(); factory SubmitBlockRequestMessage({ RpcBlock? block, $core.bool? allowNonDAABlocks, }) { - final _result = create(); + final $result = create(); if (block != null) { - _result.block = block; + $result.block = block; } if (allowNonDAABlocks != null) { - _result.allowNonDAABlocks = allowNonDAABlocks; + $result.allowNonDAABlocks = allowNonDAABlocks; } - return _result; + return $result; } - factory SubmitBlockRequestMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory SubmitBlockRequestMessage.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') - SubmitBlockRequestMessage clone() => - SubmitBlockRequestMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - SubmitBlockRequestMessage copyWith( - void Function(SubmitBlockRequestMessage) updates) => - super.copyWith((message) => updates(message as SubmitBlockRequestMessage)) - as SubmitBlockRequestMessage; // ignore: deprecated_member_use + SubmitBlockRequestMessage._() : super(); + factory SubmitBlockRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory SubmitBlockRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'SubmitBlockRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOM(2, _omitFieldNames ? '' : 'block', subBuilder: RpcBlock.create) + ..aOB(3, _omitFieldNames ? '' : 'allowNonDAABlocks', protoName: 'allowNonDAABlocks') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SubmitBlockRequestMessage clone() => SubmitBlockRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SubmitBlockRequestMessage copyWith(void Function(SubmitBlockRequestMessage) updates) => super.copyWith((message) => updates(message as SubmitBlockRequestMessage)) as SubmitBlockRequestMessage; + $pb.BuilderInfo get info_ => _i; + @$core.pragma('dart2js:noInline') static SubmitBlockRequestMessage create() => SubmitBlockRequestMessage._(); SubmitBlockRequestMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static SubmitBlockRequestMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); + static SubmitBlockRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static SubmitBlockRequestMessage? _defaultInstance; @$pb.TagNumber(2) RpcBlock get block => $_getN(0); @$pb.TagNumber(2) - set block(RpcBlock v) { - setField(2, v); - } - + set block(RpcBlock v) { setField(2, v); } @$pb.TagNumber(2) $core.bool hasBlock() => $_has(0); @$pb.TagNumber(2) @@ -2128,10 +1473,7 @@ class SubmitBlockRequestMessage extends $pb.GeneratedMessage { @$pb.TagNumber(3) $core.bool get allowNonDAABlocks => $_getBF(1); @$pb.TagNumber(3) - set allowNonDAABlocks($core.bool v) { - $_setBool(1, v); - } - + set allowNonDAABlocks($core.bool v) { $_setBool(1, v); } @$pb.TagNumber(3) $core.bool hasAllowNonDAABlocks() => $_has(1); @$pb.TagNumber(3) @@ -2139,84 +1481,54 @@ class SubmitBlockRequestMessage extends $pb.GeneratedMessage { } class SubmitBlockResponseMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'SubmitBlockResponseMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..e( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'rejectReason', - $pb.PbFieldType.OE, - protoName: 'rejectReason', - defaultOrMaker: SubmitBlockResponseMessage_RejectReason.NONE, - valueOf: SubmitBlockResponseMessage_RejectReason.valueOf, - enumValues: SubmitBlockResponseMessage_RejectReason.values) - ..aOM( - 1000, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'error', - subBuilder: RPCError.create) - ..hasRequiredFields = false; - - SubmitBlockResponseMessage._() : super(); factory SubmitBlockResponseMessage({ SubmitBlockResponseMessage_RejectReason? rejectReason, RPCError? error, }) { - final _result = create(); + final $result = create(); if (rejectReason != null) { - _result.rejectReason = rejectReason; + $result.rejectReason = rejectReason; } if (error != null) { - _result.error = error; + $result.error = error; } - return _result; + return $result; } - factory SubmitBlockResponseMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory SubmitBlockResponseMessage.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') - SubmitBlockResponseMessage clone() => - SubmitBlockResponseMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - SubmitBlockResponseMessage copyWith( - void Function(SubmitBlockResponseMessage) updates) => - super.copyWith( - (message) => updates(message as SubmitBlockResponseMessage)) - as SubmitBlockResponseMessage; // ignore: deprecated_member_use + SubmitBlockResponseMessage._() : super(); + factory SubmitBlockResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory SubmitBlockResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'SubmitBlockResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..e(1, _omitFieldNames ? '' : 'rejectReason', $pb.PbFieldType.OE, protoName: 'rejectReason', defaultOrMaker: SubmitBlockResponseMessage_RejectReason.NONE, valueOf: SubmitBlockResponseMessage_RejectReason.valueOf, enumValues: SubmitBlockResponseMessage_RejectReason.values) + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SubmitBlockResponseMessage clone() => SubmitBlockResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SubmitBlockResponseMessage copyWith(void Function(SubmitBlockResponseMessage) updates) => super.copyWith((message) => updates(message as SubmitBlockResponseMessage)) as SubmitBlockResponseMessage; + $pb.BuilderInfo get info_ => _i; + @$core.pragma('dart2js:noInline') static SubmitBlockResponseMessage create() => SubmitBlockResponseMessage._(); SubmitBlockResponseMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static SubmitBlockResponseMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); + static SubmitBlockResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static SubmitBlockResponseMessage? _defaultInstance; @$pb.TagNumber(1) SubmitBlockResponseMessage_RejectReason get rejectReason => $_getN(0); @$pb.TagNumber(1) - set rejectReason(SubmitBlockResponseMessage_RejectReason v) { - setField(1, v); - } - + set rejectReason(SubmitBlockResponseMessage_RejectReason v) { setField(1, v); } @$pb.TagNumber(1) $core.bool hasRejectReason() => $_has(0); @$pb.TagNumber(1) @@ -2225,10 +1537,7 @@ class SubmitBlockResponseMessage extends $pb.GeneratedMessage { @$pb.TagNumber(1000) RPCError get error => $_getN(1); @$pb.TagNumber(1000) - set error(RPCError v) { - setField(1000, v); - } - + set error(RPCError v) { setField(1000, v); } @$pb.TagNumber(1000) $core.bool hasError() => $_has(1); @$pb.TagNumber(1000) @@ -2237,82 +1546,60 @@ class SubmitBlockResponseMessage extends $pb.GeneratedMessage { RPCError ensureError() => $_ensure(1); } +/// GetBlockTemplateRequestMessage requests a current block template. +/// Callers are expected to solve the block template and submit it using the submitBlock call +/// +/// See: SubmitBlockRequestMessage class GetBlockTemplateRequestMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'GetBlockTemplateRequestMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOS( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'payAddress', - protoName: 'payAddress') - ..aOS( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'extraData', - protoName: 'extraData') - ..hasRequiredFields = false; - - GetBlockTemplateRequestMessage._() : super(); factory GetBlockTemplateRequestMessage({ $core.String? payAddress, $core.String? extraData, }) { - final _result = create(); + final $result = create(); if (payAddress != null) { - _result.payAddress = payAddress; + $result.payAddress = payAddress; } if (extraData != null) { - _result.extraData = extraData; + $result.extraData = extraData; } - return _result; + return $result; } - factory GetBlockTemplateRequestMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory GetBlockTemplateRequestMessage.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') - GetBlockTemplateRequestMessage clone() => - GetBlockTemplateRequestMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - GetBlockTemplateRequestMessage copyWith( - void Function(GetBlockTemplateRequestMessage) updates) => - super.copyWith( - (message) => updates(message as GetBlockTemplateRequestMessage)) - as GetBlockTemplateRequestMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static GetBlockTemplateRequestMessage create() => - GetBlockTemplateRequestMessage._(); + GetBlockTemplateRequestMessage._() : super(); + factory GetBlockTemplateRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetBlockTemplateRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetBlockTemplateRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'payAddress', protoName: 'payAddress') + ..aOS(2, _omitFieldNames ? '' : 'extraData', protoName: 'extraData') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetBlockTemplateRequestMessage clone() => GetBlockTemplateRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetBlockTemplateRequestMessage copyWith(void Function(GetBlockTemplateRequestMessage) updates) => super.copyWith((message) => updates(message as GetBlockTemplateRequestMessage)) as GetBlockTemplateRequestMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetBlockTemplateRequestMessage create() => GetBlockTemplateRequestMessage._(); GetBlockTemplateRequestMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static GetBlockTemplateRequestMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); + static GetBlockTemplateRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static GetBlockTemplateRequestMessage? _defaultInstance; + /// Which karlsen address should the coinbase block reward transaction pay into @$pb.TagNumber(1) $core.String get payAddress => $_getSZ(0); @$pb.TagNumber(1) - set payAddress($core.String v) { - $_setString(0, v); - } - + set payAddress($core.String v) { $_setString(0, v); } @$pb.TagNumber(1) $core.bool hasPayAddress() => $_has(0); @$pb.TagNumber(1) @@ -2321,10 +1608,7 @@ class GetBlockTemplateRequestMessage extends $pb.GeneratedMessage { @$pb.TagNumber(2) $core.String get extraData => $_getSZ(1); @$pb.TagNumber(2) - set extraData($core.String v) { - $_setString(1, v); - } - + set extraData($core.String v) { $_setString(1, v); } @$pb.TagNumber(2) $core.bool hasExtraData() => $_has(1); @$pb.TagNumber(2) @@ -2332,92 +1616,63 @@ class GetBlockTemplateRequestMessage extends $pb.GeneratedMessage { } class GetBlockTemplateResponseMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'GetBlockTemplateResponseMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOB( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'isSynced', - protoName: 'isSynced') - ..aOM( - 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'block', - subBuilder: RpcBlock.create) - ..aOM( - 1000, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'error', - subBuilder: RPCError.create) - ..hasRequiredFields = false; - - GetBlockTemplateResponseMessage._() : super(); factory GetBlockTemplateResponseMessage({ $core.bool? isSynced, RpcBlock? block, RPCError? error, }) { - final _result = create(); + final $result = create(); if (isSynced != null) { - _result.isSynced = isSynced; + $result.isSynced = isSynced; } if (block != null) { - _result.block = block; + $result.block = block; } if (error != null) { - _result.error = error; + $result.error = error; } - return _result; + return $result; } - factory GetBlockTemplateResponseMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory GetBlockTemplateResponseMessage.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') - GetBlockTemplateResponseMessage clone() => - GetBlockTemplateResponseMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - GetBlockTemplateResponseMessage copyWith( - void Function(GetBlockTemplateResponseMessage) updates) => - super.copyWith( - (message) => updates(message as GetBlockTemplateResponseMessage)) - as GetBlockTemplateResponseMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static GetBlockTemplateResponseMessage create() => - GetBlockTemplateResponseMessage._(); + GetBlockTemplateResponseMessage._() : super(); + factory GetBlockTemplateResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetBlockTemplateResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetBlockTemplateResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOB(2, _omitFieldNames ? '' : 'isSynced', protoName: 'isSynced') + ..aOM(3, _omitFieldNames ? '' : 'block', subBuilder: RpcBlock.create) + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetBlockTemplateResponseMessage clone() => GetBlockTemplateResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetBlockTemplateResponseMessage copyWith(void Function(GetBlockTemplateResponseMessage) updates) => super.copyWith((message) => updates(message as GetBlockTemplateResponseMessage)) as GetBlockTemplateResponseMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetBlockTemplateResponseMessage create() => GetBlockTemplateResponseMessage._(); GetBlockTemplateResponseMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static GetBlockTemplateResponseMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor( - create); + static GetBlockTemplateResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static GetBlockTemplateResponseMessage? _defaultInstance; + /// Whether karlsend thinks that it's synced. + /// Callers are discouraged (but not forbidden) from solving blocks when karlsend is not synced. + /// That is because when karlsend isn't in sync with the rest of the network there's a high + /// chance the block will never be accepted, thus the solving effort would have been wasted. @$pb.TagNumber(2) $core.bool get isSynced => $_getBF(0); @$pb.TagNumber(2) - set isSynced($core.bool v) { - $_setBool(0, v); - } - + set isSynced($core.bool v) { $_setBool(0, v); } @$pb.TagNumber(2) $core.bool hasIsSynced() => $_has(0); @$pb.TagNumber(2) @@ -2426,10 +1681,7 @@ class GetBlockTemplateResponseMessage extends $pb.GeneratedMessage { @$pb.TagNumber(3) RpcBlock get block => $_getN(1); @$pb.TagNumber(3) - set block(RpcBlock v) { - setField(3, v); - } - + set block(RpcBlock v) { setField(3, v); } @$pb.TagNumber(3) $core.bool hasBlock() => $_has(1); @$pb.TagNumber(3) @@ -2440,10 +1692,7 @@ class GetBlockTemplateResponseMessage extends $pb.GeneratedMessage { @$pb.TagNumber(1000) RPCError get error => $_getN(2); @$pb.TagNumber(1000) - set error(RPCError v) { - setField(1000, v); - } - + set error(RPCError v) { setField(1000, v); } @$pb.TagNumber(1000) $core.bool hasError() => $_has(2); @$pb.TagNumber(1000) @@ -2452,119 +1701,103 @@ class GetBlockTemplateResponseMessage extends $pb.GeneratedMessage { RPCError ensureError() => $_ensure(2); } +/// NotifyBlockAddedRequestMessage registers this connection for blockAdded notifications. +/// +/// See: BlockAddedNotificationMessage class NotifyBlockAddedRequestMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'NotifyBlockAddedRequestMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..hasRequiredFields = false; - + factory NotifyBlockAddedRequestMessage({ + RpcNotifyCommand? command, + }) { + final $result = create(); + if (command != null) { + $result.command = command; + } + return $result; + } NotifyBlockAddedRequestMessage._() : super(); - factory NotifyBlockAddedRequestMessage() => create(); - factory NotifyBlockAddedRequestMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory NotifyBlockAddedRequestMessage.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') - NotifyBlockAddedRequestMessage clone() => - NotifyBlockAddedRequestMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - NotifyBlockAddedRequestMessage copyWith( - void Function(NotifyBlockAddedRequestMessage) updates) => - super.copyWith( - (message) => updates(message as NotifyBlockAddedRequestMessage)) - as NotifyBlockAddedRequestMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static NotifyBlockAddedRequestMessage create() => - NotifyBlockAddedRequestMessage._(); + factory NotifyBlockAddedRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory NotifyBlockAddedRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'NotifyBlockAddedRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..e(101, _omitFieldNames ? '' : 'command', $pb.PbFieldType.OE, defaultOrMaker: RpcNotifyCommand.NOTIFY_START, valueOf: RpcNotifyCommand.valueOf, enumValues: RpcNotifyCommand.values) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + NotifyBlockAddedRequestMessage clone() => NotifyBlockAddedRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + NotifyBlockAddedRequestMessage copyWith(void Function(NotifyBlockAddedRequestMessage) updates) => super.copyWith((message) => updates(message as NotifyBlockAddedRequestMessage)) as NotifyBlockAddedRequestMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static NotifyBlockAddedRequestMessage create() => NotifyBlockAddedRequestMessage._(); NotifyBlockAddedRequestMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static NotifyBlockAddedRequestMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); + static NotifyBlockAddedRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static NotifyBlockAddedRequestMessage? _defaultInstance; + + @$pb.TagNumber(101) + RpcNotifyCommand get command => $_getN(0); + @$pb.TagNumber(101) + set command(RpcNotifyCommand v) { setField(101, v); } + @$pb.TagNumber(101) + $core.bool hasCommand() => $_has(0); + @$pb.TagNumber(101) + void clearCommand() => clearField(101); } class NotifyBlockAddedResponseMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'NotifyBlockAddedResponseMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOM( - 1000, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'error', - subBuilder: RPCError.create) - ..hasRequiredFields = false; - - NotifyBlockAddedResponseMessage._() : super(); factory NotifyBlockAddedResponseMessage({ RPCError? error, }) { - final _result = create(); + final $result = create(); if (error != null) { - _result.error = error; + $result.error = error; } - return _result; + return $result; } - factory NotifyBlockAddedResponseMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory NotifyBlockAddedResponseMessage.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') - NotifyBlockAddedResponseMessage clone() => - NotifyBlockAddedResponseMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - NotifyBlockAddedResponseMessage copyWith( - void Function(NotifyBlockAddedResponseMessage) updates) => - super.copyWith( - (message) => updates(message as NotifyBlockAddedResponseMessage)) - as NotifyBlockAddedResponseMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static NotifyBlockAddedResponseMessage create() => - NotifyBlockAddedResponseMessage._(); + NotifyBlockAddedResponseMessage._() : super(); + factory NotifyBlockAddedResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory NotifyBlockAddedResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'NotifyBlockAddedResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + NotifyBlockAddedResponseMessage clone() => NotifyBlockAddedResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + NotifyBlockAddedResponseMessage copyWith(void Function(NotifyBlockAddedResponseMessage) updates) => super.copyWith((message) => updates(message as NotifyBlockAddedResponseMessage)) as NotifyBlockAddedResponseMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static NotifyBlockAddedResponseMessage create() => NotifyBlockAddedResponseMessage._(); NotifyBlockAddedResponseMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static NotifyBlockAddedResponseMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor( - create); + static NotifyBlockAddedResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static NotifyBlockAddedResponseMessage? _defaultInstance; @$pb.TagNumber(1000) RPCError get error => $_getN(0); @$pb.TagNumber(1000) - set error(RPCError v) { - setField(1000, v); - } - + set error(RPCError v) { setField(1000, v); } @$pb.TagNumber(1000) $core.bool hasError() => $_has(0); @$pb.TagNumber(1000) @@ -2573,72 +1806,54 @@ class NotifyBlockAddedResponseMessage extends $pb.GeneratedMessage { RPCError ensureError() => $_ensure(0); } +/// BlockAddedNotificationMessage is sent whenever a blocks has been added (NOT accepted) +/// into the DAG. +/// +/// See: NotifyBlockAddedRequestMessage class BlockAddedNotificationMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'BlockAddedNotificationMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOM( - 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'block', - subBuilder: RpcBlock.create) - ..hasRequiredFields = false; - - BlockAddedNotificationMessage._() : super(); factory BlockAddedNotificationMessage({ RpcBlock? block, }) { - final _result = create(); + final $result = create(); if (block != null) { - _result.block = block; + $result.block = block; } - return _result; + return $result; } - factory BlockAddedNotificationMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory BlockAddedNotificationMessage.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') - BlockAddedNotificationMessage clone() => - BlockAddedNotificationMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - BlockAddedNotificationMessage copyWith( - void Function(BlockAddedNotificationMessage) updates) => - super.copyWith( - (message) => updates(message as BlockAddedNotificationMessage)) - as BlockAddedNotificationMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static BlockAddedNotificationMessage create() => - BlockAddedNotificationMessage._(); + BlockAddedNotificationMessage._() : super(); + factory BlockAddedNotificationMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory BlockAddedNotificationMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'BlockAddedNotificationMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOM(3, _omitFieldNames ? '' : 'block', subBuilder: RpcBlock.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + BlockAddedNotificationMessage clone() => BlockAddedNotificationMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + BlockAddedNotificationMessage copyWith(void Function(BlockAddedNotificationMessage) updates) => super.copyWith((message) => updates(message as BlockAddedNotificationMessage)) as BlockAddedNotificationMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static BlockAddedNotificationMessage create() => BlockAddedNotificationMessage._(); BlockAddedNotificationMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static BlockAddedNotificationMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); + static BlockAddedNotificationMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static BlockAddedNotificationMessage? _defaultInstance; @$pb.TagNumber(3) RpcBlock get block => $_getN(0); @$pb.TagNumber(3) - set block(RpcBlock v) { - setField(3, v); - } - + set block(RpcBlock v) { setField(3, v); } @$pb.TagNumber(3) $core.bool hasBlock() => $_has(0); @$pb.TagNumber(3) @@ -2647,149 +1862,100 @@ class BlockAddedNotificationMessage extends $pb.GeneratedMessage { RpcBlock ensureBlock() => $_ensure(0); } +/// GetPeerAddressesRequestMessage requests the list of known karlsend addresses in the +/// current network. (mainnet, testnet, etc.) class GetPeerAddressesRequestMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'GetPeerAddressesRequestMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..hasRequiredFields = false; - - GetPeerAddressesRequestMessage._() : super(); factory GetPeerAddressesRequestMessage() => create(); - factory GetPeerAddressesRequestMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory GetPeerAddressesRequestMessage.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') - GetPeerAddressesRequestMessage clone() => - GetPeerAddressesRequestMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - GetPeerAddressesRequestMessage copyWith( - void Function(GetPeerAddressesRequestMessage) updates) => - super.copyWith( - (message) => updates(message as GetPeerAddressesRequestMessage)) - as GetPeerAddressesRequestMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static GetPeerAddressesRequestMessage create() => - GetPeerAddressesRequestMessage._(); + GetPeerAddressesRequestMessage._() : super(); + factory GetPeerAddressesRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetPeerAddressesRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetPeerAddressesRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetPeerAddressesRequestMessage clone() => GetPeerAddressesRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetPeerAddressesRequestMessage copyWith(void Function(GetPeerAddressesRequestMessage) updates) => super.copyWith((message) => updates(message as GetPeerAddressesRequestMessage)) as GetPeerAddressesRequestMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetPeerAddressesRequestMessage create() => GetPeerAddressesRequestMessage._(); GetPeerAddressesRequestMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static GetPeerAddressesRequestMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); + static GetPeerAddressesRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static GetPeerAddressesRequestMessage? _defaultInstance; } class GetPeerAddressesResponseMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'GetPeerAddressesResponseMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..pc( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'addresses', - $pb.PbFieldType.PM, - subBuilder: GetPeerAddressesKnownAddressMessage.create) - ..pc( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'bannedAddresses', - $pb.PbFieldType.PM, - protoName: 'bannedAddresses', - subBuilder: GetPeerAddressesKnownAddressMessage.create) - ..aOM( - 1000, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'error', - subBuilder: RPCError.create) - ..hasRequiredFields = false; - - GetPeerAddressesResponseMessage._() : super(); factory GetPeerAddressesResponseMessage({ $core.Iterable? addresses, $core.Iterable? bannedAddresses, RPCError? error, }) { - final _result = create(); + final $result = create(); if (addresses != null) { - _result.addresses.addAll(addresses); + $result.addresses.addAll(addresses); } if (bannedAddresses != null) { - _result.bannedAddresses.addAll(bannedAddresses); + $result.bannedAddresses.addAll(bannedAddresses); } if (error != null) { - _result.error = error; + $result.error = error; } - return _result; + return $result; } - factory GetPeerAddressesResponseMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory GetPeerAddressesResponseMessage.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') - GetPeerAddressesResponseMessage clone() => - GetPeerAddressesResponseMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - GetPeerAddressesResponseMessage copyWith( - void Function(GetPeerAddressesResponseMessage) updates) => - super.copyWith( - (message) => updates(message as GetPeerAddressesResponseMessage)) - as GetPeerAddressesResponseMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static GetPeerAddressesResponseMessage create() => - GetPeerAddressesResponseMessage._(); + GetPeerAddressesResponseMessage._() : super(); + factory GetPeerAddressesResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetPeerAddressesResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetPeerAddressesResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..pc(1, _omitFieldNames ? '' : 'addresses', $pb.PbFieldType.PM, subBuilder: GetPeerAddressesKnownAddressMessage.create) + ..pc(2, _omitFieldNames ? '' : 'bannedAddresses', $pb.PbFieldType.PM, protoName: 'bannedAddresses', subBuilder: GetPeerAddressesKnownAddressMessage.create) + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetPeerAddressesResponseMessage clone() => GetPeerAddressesResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetPeerAddressesResponseMessage copyWith(void Function(GetPeerAddressesResponseMessage) updates) => super.copyWith((message) => updates(message as GetPeerAddressesResponseMessage)) as GetPeerAddressesResponseMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetPeerAddressesResponseMessage create() => GetPeerAddressesResponseMessage._(); GetPeerAddressesResponseMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static GetPeerAddressesResponseMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor( - create); + static GetPeerAddressesResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static GetPeerAddressesResponseMessage? _defaultInstance; @$pb.TagNumber(1) $core.List get addresses => $_getList(0); @$pb.TagNumber(2) - $core.List get bannedAddresses => - $_getList(1); + $core.List get bannedAddresses => $_getList(1); @$pb.TagNumber(1000) RPCError get error => $_getN(2); @$pb.TagNumber(1000) - set error(RPCError v) { - setField(1000, v); - } - + set error(RPCError v) { setField(1000, v); } @$pb.TagNumber(1000) $core.bool hasError() => $_has(2); @$pb.TagNumber(1000) @@ -2799,215 +1965,147 @@ class GetPeerAddressesResponseMessage extends $pb.GeneratedMessage { } class GetPeerAddressesKnownAddressMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'GetPeerAddressesKnownAddressMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOS( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'Addr', - protoName: 'Addr') - ..hasRequiredFields = false; - - GetPeerAddressesKnownAddressMessage._() : super(); factory GetPeerAddressesKnownAddressMessage({ $core.String? addr, }) { - final _result = create(); + final $result = create(); if (addr != null) { - _result.addr = addr; + $result.addr = addr; } - return _result; + return $result; } - factory GetPeerAddressesKnownAddressMessage.fromBuffer( - $core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory GetPeerAddressesKnownAddressMessage.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') - GetPeerAddressesKnownAddressMessage clone() => - GetPeerAddressesKnownAddressMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - GetPeerAddressesKnownAddressMessage copyWith( - void Function(GetPeerAddressesKnownAddressMessage) updates) => - super.copyWith((message) => - updates(message as GetPeerAddressesKnownAddressMessage)) - as GetPeerAddressesKnownAddressMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static GetPeerAddressesKnownAddressMessage create() => - GetPeerAddressesKnownAddressMessage._(); + GetPeerAddressesKnownAddressMessage._() : super(); + factory GetPeerAddressesKnownAddressMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetPeerAddressesKnownAddressMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetPeerAddressesKnownAddressMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'Addr', protoName: 'Addr') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetPeerAddressesKnownAddressMessage clone() => GetPeerAddressesKnownAddressMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetPeerAddressesKnownAddressMessage copyWith(void Function(GetPeerAddressesKnownAddressMessage) updates) => super.copyWith((message) => updates(message as GetPeerAddressesKnownAddressMessage)) as GetPeerAddressesKnownAddressMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetPeerAddressesKnownAddressMessage create() => GetPeerAddressesKnownAddressMessage._(); GetPeerAddressesKnownAddressMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static GetPeerAddressesKnownAddressMessage getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< - GetPeerAddressesKnownAddressMessage>(create); + static GetPeerAddressesKnownAddressMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static GetPeerAddressesKnownAddressMessage? _defaultInstance; @$pb.TagNumber(1) $core.String get addr => $_getSZ(0); @$pb.TagNumber(1) - set addr($core.String v) { - $_setString(0, v); - } - + set addr($core.String v) { $_setString(0, v); } @$pb.TagNumber(1) $core.bool hasAddr() => $_has(0); @$pb.TagNumber(1) void clearAddr() => clearField(1); } -class GetSelectedTipHashRequestMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'GetSelectedTipHashRequestMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..hasRequiredFields = false; - - GetSelectedTipHashRequestMessage._() : super(); - factory GetSelectedTipHashRequestMessage() => create(); - factory GetSelectedTipHashRequestMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory GetSelectedTipHashRequestMessage.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') - GetSelectedTipHashRequestMessage clone() => - GetSelectedTipHashRequestMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - GetSelectedTipHashRequestMessage copyWith( - void Function(GetSelectedTipHashRequestMessage) updates) => - super.copyWith( - (message) => updates(message as GetSelectedTipHashRequestMessage)) - as GetSelectedTipHashRequestMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static GetSelectedTipHashRequestMessage create() => - GetSelectedTipHashRequestMessage._(); - GetSelectedTipHashRequestMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static GetSelectedTipHashRequestMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor( - create); - static GetSelectedTipHashRequestMessage? _defaultInstance; -} - -class GetSelectedTipHashResponseMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'GetSelectedTipHashResponseMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOS( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'selectedTipHash', - protoName: 'selectedTipHash') - ..aOM( - 1000, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'error', - subBuilder: RPCError.create) - ..hasRequiredFields = false; - - GetSelectedTipHashResponseMessage._() : super(); - factory GetSelectedTipHashResponseMessage({ - $core.String? selectedTipHash, +/// GetSinkRequestMessage requests the hash of the current virtual's +/// selected parent. +class GetSinkRequestMessage extends $pb.GeneratedMessage { + factory GetSinkRequestMessage() => create(); + GetSinkRequestMessage._() : super(); + factory GetSinkRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetSinkRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetSinkRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetSinkRequestMessage clone() => GetSinkRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetSinkRequestMessage copyWith(void Function(GetSinkRequestMessage) updates) => super.copyWith((message) => updates(message as GetSinkRequestMessage)) as GetSinkRequestMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetSinkRequestMessage create() => GetSinkRequestMessage._(); + GetSinkRequestMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetSinkRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static GetSinkRequestMessage? _defaultInstance; +} + +class GetSinkResponseMessage extends $pb.GeneratedMessage { + factory GetSinkResponseMessage({ + $core.String? sink, RPCError? error, }) { - final _result = create(); - if (selectedTipHash != null) { - _result.selectedTipHash = selectedTipHash; + final $result = create(); + if (sink != null) { + $result.sink = sink; } if (error != null) { - _result.error = error; - } - return _result; - } - factory GetSelectedTipHashResponseMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory GetSelectedTipHashResponseMessage.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') - GetSelectedTipHashResponseMessage clone() => - GetSelectedTipHashResponseMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - GetSelectedTipHashResponseMessage copyWith( - void Function(GetSelectedTipHashResponseMessage) updates) => - super.copyWith((message) => - updates(message as GetSelectedTipHashResponseMessage)) - as GetSelectedTipHashResponseMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static GetSelectedTipHashResponseMessage create() => - GetSelectedTipHashResponseMessage._(); - GetSelectedTipHashResponseMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static GetSelectedTipHashResponseMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor( - create); - static GetSelectedTipHashResponseMessage? _defaultInstance; - - @$pb.TagNumber(1) - $core.String get selectedTipHash => $_getSZ(0); - @$pb.TagNumber(1) - set selectedTipHash($core.String v) { - $_setString(0, v); - } + $result.error = error; + } + return $result; + } + GetSinkResponseMessage._() : super(); + factory GetSinkResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetSinkResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetSinkResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'sink') + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetSinkResponseMessage clone() => GetSinkResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetSinkResponseMessage copyWith(void Function(GetSinkResponseMessage) updates) => super.copyWith((message) => updates(message as GetSinkResponseMessage)) as GetSinkResponseMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetSinkResponseMessage create() => GetSinkResponseMessage._(); + GetSinkResponseMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetSinkResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static GetSinkResponseMessage? _defaultInstance; @$pb.TagNumber(1) - $core.bool hasSelectedTipHash() => $_has(0); + $core.String get sink => $_getSZ(0); @$pb.TagNumber(1) - void clearSelectedTipHash() => clearField(1); + set sink($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasSink() => $_has(0); + @$pb.TagNumber(1) + void clearSink() => clearField(1); @$pb.TagNumber(1000) RPCError get error => $_getN(1); @$pb.TagNumber(1000) - set error(RPCError v) { - setField(1000, v); - } - + set error(RPCError v) { setField(1000, v); } @$pb.TagNumber(1000) $core.bool hasError() => $_has(1); @$pb.TagNumber(1000) @@ -3016,92 +2114,63 @@ class GetSelectedTipHashResponseMessage extends $pb.GeneratedMessage { RPCError ensureError() => $_ensure(1); } +/// GetMempoolEntryRequestMessage requests information about a specific transaction +/// in the mempool. class GetMempoolEntryRequestMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'GetMempoolEntryRequestMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOS( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'txId', - protoName: 'txId') - ..aOB( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'includeOrphanPool', - protoName: 'includeOrphanPool') - ..aOB( - 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'filterTransactionPool', - protoName: 'filterTransactionPool') - ..hasRequiredFields = false; - - GetMempoolEntryRequestMessage._() : super(); factory GetMempoolEntryRequestMessage({ $core.String? txId, $core.bool? includeOrphanPool, $core.bool? filterTransactionPool, }) { - final _result = create(); + final $result = create(); if (txId != null) { - _result.txId = txId; + $result.txId = txId; } if (includeOrphanPool != null) { - _result.includeOrphanPool = includeOrphanPool; + $result.includeOrphanPool = includeOrphanPool; } if (filterTransactionPool != null) { - _result.filterTransactionPool = filterTransactionPool; + $result.filterTransactionPool = filterTransactionPool; } - return _result; + return $result; } - factory GetMempoolEntryRequestMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory GetMempoolEntryRequestMessage.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') - GetMempoolEntryRequestMessage clone() => - GetMempoolEntryRequestMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - GetMempoolEntryRequestMessage copyWith( - void Function(GetMempoolEntryRequestMessage) updates) => - super.copyWith( - (message) => updates(message as GetMempoolEntryRequestMessage)) - as GetMempoolEntryRequestMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static GetMempoolEntryRequestMessage create() => - GetMempoolEntryRequestMessage._(); + GetMempoolEntryRequestMessage._() : super(); + factory GetMempoolEntryRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetMempoolEntryRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetMempoolEntryRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'txId', protoName: 'txId') + ..aOB(2, _omitFieldNames ? '' : 'includeOrphanPool', protoName: 'includeOrphanPool') + ..aOB(3, _omitFieldNames ? '' : 'filterTransactionPool', protoName: 'filterTransactionPool') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetMempoolEntryRequestMessage clone() => GetMempoolEntryRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetMempoolEntryRequestMessage copyWith(void Function(GetMempoolEntryRequestMessage) updates) => super.copyWith((message) => updates(message as GetMempoolEntryRequestMessage)) as GetMempoolEntryRequestMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetMempoolEntryRequestMessage create() => GetMempoolEntryRequestMessage._(); GetMempoolEntryRequestMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static GetMempoolEntryRequestMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); + static GetMempoolEntryRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static GetMempoolEntryRequestMessage? _defaultInstance; + /// The transaction's TransactionID. @$pb.TagNumber(1) $core.String get txId => $_getSZ(0); @$pb.TagNumber(1) - set txId($core.String v) { - $_setString(0, v); - } - + set txId($core.String v) { $_setString(0, v); } @$pb.TagNumber(1) $core.bool hasTxId() => $_has(0); @$pb.TagNumber(1) @@ -3110,10 +2179,7 @@ class GetMempoolEntryRequestMessage extends $pb.GeneratedMessage { @$pb.TagNumber(2) $core.bool get includeOrphanPool => $_getBF(1); @$pb.TagNumber(2) - set includeOrphanPool($core.bool v) { - $_setBool(1, v); - } - + set includeOrphanPool($core.bool v) { $_setBool(1, v); } @$pb.TagNumber(2) $core.bool hasIncludeOrphanPool() => $_has(1); @$pb.TagNumber(2) @@ -3122,10 +2188,7 @@ class GetMempoolEntryRequestMessage extends $pb.GeneratedMessage { @$pb.TagNumber(3) $core.bool get filterTransactionPool => $_getBF(2); @$pb.TagNumber(3) - set filterTransactionPool($core.bool v) { - $_setBool(2, v); - } - + set filterTransactionPool($core.bool v) { $_setBool(2, v); } @$pb.TagNumber(3) $core.bool hasFilterTransactionPool() => $_has(2); @$pb.TagNumber(3) @@ -3133,95 +2196,65 @@ class GetMempoolEntryRequestMessage extends $pb.GeneratedMessage { } class GetMempoolEntryResponseMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'GetMempoolEntryResponseMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOM( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'entry', - subBuilder: MempoolEntry.create) - ..aOM( - 1000, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'error', - subBuilder: RPCError.create) - ..hasRequiredFields = false; - - GetMempoolEntryResponseMessage._() : super(); factory GetMempoolEntryResponseMessage({ - MempoolEntry? entry, + RpcMempoolEntry? entry, RPCError? error, }) { - final _result = create(); + final $result = create(); if (entry != null) { - _result.entry = entry; + $result.entry = entry; } if (error != null) { - _result.error = error; + $result.error = error; } - return _result; + return $result; } - factory GetMempoolEntryResponseMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory GetMempoolEntryResponseMessage.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') - GetMempoolEntryResponseMessage clone() => - GetMempoolEntryResponseMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - GetMempoolEntryResponseMessage copyWith( - void Function(GetMempoolEntryResponseMessage) updates) => - super.copyWith( - (message) => updates(message as GetMempoolEntryResponseMessage)) - as GetMempoolEntryResponseMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static GetMempoolEntryResponseMessage create() => - GetMempoolEntryResponseMessage._(); + GetMempoolEntryResponseMessage._() : super(); + factory GetMempoolEntryResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetMempoolEntryResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetMempoolEntryResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'entry', subBuilder: RpcMempoolEntry.create) + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetMempoolEntryResponseMessage clone() => GetMempoolEntryResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetMempoolEntryResponseMessage copyWith(void Function(GetMempoolEntryResponseMessage) updates) => super.copyWith((message) => updates(message as GetMempoolEntryResponseMessage)) as GetMempoolEntryResponseMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetMempoolEntryResponseMessage create() => GetMempoolEntryResponseMessage._(); GetMempoolEntryResponseMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static GetMempoolEntryResponseMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); + static GetMempoolEntryResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static GetMempoolEntryResponseMessage? _defaultInstance; @$pb.TagNumber(1) - MempoolEntry get entry => $_getN(0); + RpcMempoolEntry get entry => $_getN(0); @$pb.TagNumber(1) - set entry(MempoolEntry v) { - setField(1, v); - } - + set entry(RpcMempoolEntry v) { setField(1, v); } @$pb.TagNumber(1) $core.bool hasEntry() => $_has(0); @$pb.TagNumber(1) void clearEntry() => clearField(1); @$pb.TagNumber(1) - MempoolEntry ensureEntry() => $_ensure(0); + RpcMempoolEntry ensureEntry() => $_ensure(0); @$pb.TagNumber(1000) RPCError get error => $_getN(1); @$pb.TagNumber(1000) - set error(RPCError v) { - setField(1000, v); - } - + set error(RPCError v) { setField(1000, v); } @$pb.TagNumber(1000) $core.bool hasError() => $_has(1); @$pb.TagNumber(1000) @@ -3230,83 +2263,57 @@ class GetMempoolEntryResponseMessage extends $pb.GeneratedMessage { RPCError ensureError() => $_ensure(1); } +/// GetMempoolEntriesRequestMessage requests information about all the transactions +/// currently in the mempool. class GetMempoolEntriesRequestMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'GetMempoolEntriesRequestMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOB( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'includeOrphanPool', - protoName: 'includeOrphanPool') - ..aOB( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'filterTransactionPool', - protoName: 'filterTransactionPool') - ..hasRequiredFields = false; - - GetMempoolEntriesRequestMessage._() : super(); factory GetMempoolEntriesRequestMessage({ $core.bool? includeOrphanPool, $core.bool? filterTransactionPool, }) { - final _result = create(); + final $result = create(); if (includeOrphanPool != null) { - _result.includeOrphanPool = includeOrphanPool; + $result.includeOrphanPool = includeOrphanPool; } if (filterTransactionPool != null) { - _result.filterTransactionPool = filterTransactionPool; + $result.filterTransactionPool = filterTransactionPool; } - return _result; + return $result; } - factory GetMempoolEntriesRequestMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory GetMempoolEntriesRequestMessage.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') - GetMempoolEntriesRequestMessage clone() => - GetMempoolEntriesRequestMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - GetMempoolEntriesRequestMessage copyWith( - void Function(GetMempoolEntriesRequestMessage) updates) => - super.copyWith( - (message) => updates(message as GetMempoolEntriesRequestMessage)) - as GetMempoolEntriesRequestMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static GetMempoolEntriesRequestMessage create() => - GetMempoolEntriesRequestMessage._(); + GetMempoolEntriesRequestMessage._() : super(); + factory GetMempoolEntriesRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetMempoolEntriesRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetMempoolEntriesRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOB(1, _omitFieldNames ? '' : 'includeOrphanPool', protoName: 'includeOrphanPool') + ..aOB(2, _omitFieldNames ? '' : 'filterTransactionPool', protoName: 'filterTransactionPool') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetMempoolEntriesRequestMessage clone() => GetMempoolEntriesRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetMempoolEntriesRequestMessage copyWith(void Function(GetMempoolEntriesRequestMessage) updates) => super.copyWith((message) => updates(message as GetMempoolEntriesRequestMessage)) as GetMempoolEntriesRequestMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetMempoolEntriesRequestMessage create() => GetMempoolEntriesRequestMessage._(); GetMempoolEntriesRequestMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static GetMempoolEntriesRequestMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor( - create); + static GetMempoolEntriesRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static GetMempoolEntriesRequestMessage? _defaultInstance; @$pb.TagNumber(1) $core.bool get includeOrphanPool => $_getBF(0); @$pb.TagNumber(1) - set includeOrphanPool($core.bool v) { - $_setBool(0, v); - } - + set includeOrphanPool($core.bool v) { $_setBool(0, v); } @$pb.TagNumber(1) $core.bool hasIncludeOrphanPool() => $_has(0); @$pb.TagNumber(1) @@ -3315,10 +2322,7 @@ class GetMempoolEntriesRequestMessage extends $pb.GeneratedMessage { @$pb.TagNumber(2) $core.bool get filterTransactionPool => $_getBF(1); @$pb.TagNumber(2) - set filterTransactionPool($core.bool v) { - $_setBool(1, v); - } - + set filterTransactionPool($core.bool v) { $_setBool(1, v); } @$pb.TagNumber(2) $core.bool hasFilterTransactionPool() => $_has(1); @$pb.TagNumber(2) @@ -3326,86 +2330,57 @@ class GetMempoolEntriesRequestMessage extends $pb.GeneratedMessage { } class GetMempoolEntriesResponseMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'GetMempoolEntriesResponseMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..pc( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'entries', - $pb.PbFieldType.PM, - subBuilder: MempoolEntry.create) - ..aOM( - 1000, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'error', - subBuilder: RPCError.create) - ..hasRequiredFields = false; - - GetMempoolEntriesResponseMessage._() : super(); factory GetMempoolEntriesResponseMessage({ - $core.Iterable? entries, + $core.Iterable? entries, RPCError? error, }) { - final _result = create(); + final $result = create(); if (entries != null) { - _result.entries.addAll(entries); + $result.entries.addAll(entries); } if (error != null) { - _result.error = error; + $result.error = error; } - return _result; + return $result; } - factory GetMempoolEntriesResponseMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory GetMempoolEntriesResponseMessage.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') - GetMempoolEntriesResponseMessage clone() => - GetMempoolEntriesResponseMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - GetMempoolEntriesResponseMessage copyWith( - void Function(GetMempoolEntriesResponseMessage) updates) => - super.copyWith( - (message) => updates(message as GetMempoolEntriesResponseMessage)) - as GetMempoolEntriesResponseMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static GetMempoolEntriesResponseMessage create() => - GetMempoolEntriesResponseMessage._(); + GetMempoolEntriesResponseMessage._() : super(); + factory GetMempoolEntriesResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetMempoolEntriesResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetMempoolEntriesResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..pc(1, _omitFieldNames ? '' : 'entries', $pb.PbFieldType.PM, subBuilder: RpcMempoolEntry.create) + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetMempoolEntriesResponseMessage clone() => GetMempoolEntriesResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetMempoolEntriesResponseMessage copyWith(void Function(GetMempoolEntriesResponseMessage) updates) => super.copyWith((message) => updates(message as GetMempoolEntriesResponseMessage)) as GetMempoolEntriesResponseMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetMempoolEntriesResponseMessage create() => GetMempoolEntriesResponseMessage._(); GetMempoolEntriesResponseMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static GetMempoolEntriesResponseMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor( - create); + static GetMempoolEntriesResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static GetMempoolEntriesResponseMessage? _defaultInstance; @$pb.TagNumber(1) - $core.List get entries => $_getList(0); + $core.List get entries => $_getList(0); @$pb.TagNumber(1000) RPCError get error => $_getN(1); @$pb.TagNumber(1000) - set error(RPCError v) { - setField(1000, v); - } - + set error(RPCError v) { setField(1000, v); } @$pb.TagNumber(1000) $core.bool hasError() => $_has(1); @$pb.TagNumber(1000) @@ -3414,89 +2389,60 @@ class GetMempoolEntriesResponseMessage extends $pb.GeneratedMessage { RPCError ensureError() => $_ensure(1); } -class MempoolEntry extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'MempoolEntry', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..a<$fixnum.Int64>( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'fee', - $pb.PbFieldType.OU6, - defaultOrMaker: $fixnum.Int64.ZERO) - ..aOM( - 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'transaction', - subBuilder: RpcTransaction.create) - ..aOB( - 4, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'isOrphan', - protoName: 'isOrphan') - ..hasRequiredFields = false; - - MempoolEntry._() : super(); - factory MempoolEntry({ +class RpcMempoolEntry extends $pb.GeneratedMessage { + factory RpcMempoolEntry({ $fixnum.Int64? fee, RpcTransaction? transaction, $core.bool? isOrphan, }) { - final _result = create(); + final $result = create(); if (fee != null) { - _result.fee = fee; + $result.fee = fee; } if (transaction != null) { - _result.transaction = transaction; + $result.transaction = transaction; } if (isOrphan != null) { - _result.isOrphan = isOrphan; - } - return _result; - } - factory MempoolEntry.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory MempoolEntry.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') - MempoolEntry clone() => MempoolEntry()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - MempoolEntry copyWith(void Function(MempoolEntry) updates) => - super.copyWith((message) => updates(message as MempoolEntry)) - as MempoolEntry; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static MempoolEntry create() => MempoolEntry._(); - MempoolEntry createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static MempoolEntry getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static MempoolEntry? _defaultInstance; + $result.isOrphan = isOrphan; + } + return $result; + } + RpcMempoolEntry._() : super(); + factory RpcMempoolEntry.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory RpcMempoolEntry.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'RpcMempoolEntry', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..a<$fixnum.Int64>(1, _omitFieldNames ? '' : 'fee', $pb.PbFieldType.OU6, defaultOrMaker: $fixnum.Int64.ZERO) + ..aOM(3, _omitFieldNames ? '' : 'transaction', subBuilder: RpcTransaction.create) + ..aOB(4, _omitFieldNames ? '' : 'isOrphan', protoName: 'isOrphan') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + RpcMempoolEntry clone() => RpcMempoolEntry()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RpcMempoolEntry copyWith(void Function(RpcMempoolEntry) updates) => super.copyWith((message) => updates(message as RpcMempoolEntry)) as RpcMempoolEntry; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static RpcMempoolEntry create() => RpcMempoolEntry._(); + RpcMempoolEntry createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static RpcMempoolEntry getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static RpcMempoolEntry? _defaultInstance; @$pb.TagNumber(1) $fixnum.Int64 get fee => $_getI64(0); @$pb.TagNumber(1) - set fee($fixnum.Int64 v) { - $_setInt64(0, v); - } - + set fee($fixnum.Int64 v) { $_setInt64(0, v); } @$pb.TagNumber(1) $core.bool hasFee() => $_has(0); @$pb.TagNumber(1) @@ -3505,10 +2451,7 @@ class MempoolEntry extends $pb.GeneratedMessage { @$pb.TagNumber(3) RpcTransaction get transaction => $_getN(1); @$pb.TagNumber(3) - set transaction(RpcTransaction v) { - setField(3, v); - } - + set transaction(RpcTransaction v) { setField(3, v); } @$pb.TagNumber(3) $core.bool hasTransaction() => $_has(1); @$pb.TagNumber(3) @@ -3519,133 +2462,90 @@ class MempoolEntry extends $pb.GeneratedMessage { @$pb.TagNumber(4) $core.bool get isOrphan => $_getBF(2); @$pb.TagNumber(4) - set isOrphan($core.bool v) { - $_setBool(2, v); - } - + set isOrphan($core.bool v) { $_setBool(2, v); } @$pb.TagNumber(4) $core.bool hasIsOrphan() => $_has(2); @$pb.TagNumber(4) void clearIsOrphan() => clearField(4); } +/// GetConnectedPeerInfoRequestMessage requests information about all the p2p peers +/// currently connected to this karlsend. class GetConnectedPeerInfoRequestMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'GetConnectedPeerInfoRequestMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..hasRequiredFields = false; - - GetConnectedPeerInfoRequestMessage._() : super(); factory GetConnectedPeerInfoRequestMessage() => create(); - factory GetConnectedPeerInfoRequestMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory GetConnectedPeerInfoRequestMessage.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') - GetConnectedPeerInfoRequestMessage clone() => - GetConnectedPeerInfoRequestMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - GetConnectedPeerInfoRequestMessage copyWith( - void Function(GetConnectedPeerInfoRequestMessage) updates) => - super.copyWith((message) => - updates(message as GetConnectedPeerInfoRequestMessage)) - as GetConnectedPeerInfoRequestMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static GetConnectedPeerInfoRequestMessage create() => - GetConnectedPeerInfoRequestMessage._(); + GetConnectedPeerInfoRequestMessage._() : super(); + factory GetConnectedPeerInfoRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetConnectedPeerInfoRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetConnectedPeerInfoRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetConnectedPeerInfoRequestMessage clone() => GetConnectedPeerInfoRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetConnectedPeerInfoRequestMessage copyWith(void Function(GetConnectedPeerInfoRequestMessage) updates) => super.copyWith((message) => updates(message as GetConnectedPeerInfoRequestMessage)) as GetConnectedPeerInfoRequestMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetConnectedPeerInfoRequestMessage create() => GetConnectedPeerInfoRequestMessage._(); GetConnectedPeerInfoRequestMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static GetConnectedPeerInfoRequestMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor( - create); + static GetConnectedPeerInfoRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static GetConnectedPeerInfoRequestMessage? _defaultInstance; } class GetConnectedPeerInfoResponseMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'GetConnectedPeerInfoResponseMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..pc( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'infos', - $pb.PbFieldType.PM, - subBuilder: GetConnectedPeerInfoMessage.create) - ..aOM( - 1000, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'error', - subBuilder: RPCError.create) - ..hasRequiredFields = false; - - GetConnectedPeerInfoResponseMessage._() : super(); factory GetConnectedPeerInfoResponseMessage({ $core.Iterable? infos, RPCError? error, }) { - final _result = create(); + final $result = create(); if (infos != null) { - _result.infos.addAll(infos); + $result.infos.addAll(infos); } if (error != null) { - _result.error = error; + $result.error = error; } - return _result; + return $result; } - factory GetConnectedPeerInfoResponseMessage.fromBuffer( - $core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory GetConnectedPeerInfoResponseMessage.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') - GetConnectedPeerInfoResponseMessage clone() => - GetConnectedPeerInfoResponseMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - GetConnectedPeerInfoResponseMessage copyWith( - void Function(GetConnectedPeerInfoResponseMessage) updates) => - super.copyWith((message) => - updates(message as GetConnectedPeerInfoResponseMessage)) - as GetConnectedPeerInfoResponseMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static GetConnectedPeerInfoResponseMessage create() => - GetConnectedPeerInfoResponseMessage._(); + GetConnectedPeerInfoResponseMessage._() : super(); + factory GetConnectedPeerInfoResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetConnectedPeerInfoResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetConnectedPeerInfoResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..pc(1, _omitFieldNames ? '' : 'infos', $pb.PbFieldType.PM, subBuilder: GetConnectedPeerInfoMessage.create) + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetConnectedPeerInfoResponseMessage clone() => GetConnectedPeerInfoResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetConnectedPeerInfoResponseMessage copyWith(void Function(GetConnectedPeerInfoResponseMessage) updates) => super.copyWith((message) => updates(message as GetConnectedPeerInfoResponseMessage)) as GetConnectedPeerInfoResponseMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetConnectedPeerInfoResponseMessage create() => GetConnectedPeerInfoResponseMessage._(); GetConnectedPeerInfoResponseMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static GetConnectedPeerInfoResponseMessage getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< - GetConnectedPeerInfoResponseMessage>(create); + static GetConnectedPeerInfoResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static GetConnectedPeerInfoResponseMessage? _defaultInstance; @$pb.TagNumber(1) @@ -3654,10 +2554,7 @@ class GetConnectedPeerInfoResponseMessage extends $pb.GeneratedMessage { @$pb.TagNumber(1000) RPCError get error => $_getN(1); @$pb.TagNumber(1000) - set error(RPCError v) { - setField(1000, v); - } - + set error(RPCError v) { setField(1000, v); } @$pb.TagNumber(1000) $core.bool hasError() => $_has(1); @$pb.TagNumber(1000) @@ -3667,71 +2564,6 @@ class GetConnectedPeerInfoResponseMessage extends $pb.GeneratedMessage { } class GetConnectedPeerInfoMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'GetConnectedPeerInfoMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOS( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'id') - ..aOS( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'address') - ..aInt64( - 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'lastPingDuration', - protoName: 'lastPingDuration') - ..aOB( - 6, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'isOutbound', - protoName: 'isOutbound') - ..aInt64( - 7, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'timeOffset', - protoName: 'timeOffset') - ..aOS( - 8, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'userAgent', - protoName: 'userAgent') - ..a<$core.int>( - 9, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'advertisedProtocolVersion', - $pb.PbFieldType.OU3, - protoName: 'advertisedProtocolVersion') - ..aInt64( - 10, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'timeConnected', - protoName: 'timeConnected') - ..aOB( - 11, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'isIbdPeer', - protoName: 'isIbdPeer') - ..hasRequiredFields = false; - - GetConnectedPeerInfoMessage._() : super(); factory GetConnectedPeerInfoMessage({ $core.String? id, $core.String? address, @@ -3743,74 +2575,78 @@ class GetConnectedPeerInfoMessage extends $pb.GeneratedMessage { $fixnum.Int64? timeConnected, $core.bool? isIbdPeer, }) { - final _result = create(); + final $result = create(); if (id != null) { - _result.id = id; + $result.id = id; } if (address != null) { - _result.address = address; + $result.address = address; } if (lastPingDuration != null) { - _result.lastPingDuration = lastPingDuration; + $result.lastPingDuration = lastPingDuration; } if (isOutbound != null) { - _result.isOutbound = isOutbound; + $result.isOutbound = isOutbound; } if (timeOffset != null) { - _result.timeOffset = timeOffset; + $result.timeOffset = timeOffset; } if (userAgent != null) { - _result.userAgent = userAgent; + $result.userAgent = userAgent; } if (advertisedProtocolVersion != null) { - _result.advertisedProtocolVersion = advertisedProtocolVersion; + $result.advertisedProtocolVersion = advertisedProtocolVersion; } if (timeConnected != null) { - _result.timeConnected = timeConnected; + $result.timeConnected = timeConnected; } if (isIbdPeer != null) { - _result.isIbdPeer = isIbdPeer; + $result.isIbdPeer = isIbdPeer; } - return _result; + return $result; } - factory GetConnectedPeerInfoMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory GetConnectedPeerInfoMessage.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') - GetConnectedPeerInfoMessage clone() => - GetConnectedPeerInfoMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - GetConnectedPeerInfoMessage copyWith( - void Function(GetConnectedPeerInfoMessage) updates) => - super.copyWith( - (message) => updates(message as GetConnectedPeerInfoMessage)) - as GetConnectedPeerInfoMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static GetConnectedPeerInfoMessage create() => - GetConnectedPeerInfoMessage._(); + GetConnectedPeerInfoMessage._() : super(); + factory GetConnectedPeerInfoMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetConnectedPeerInfoMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetConnectedPeerInfoMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'id') + ..aOS(2, _omitFieldNames ? '' : 'address') + ..aInt64(3, _omitFieldNames ? '' : 'lastPingDuration', protoName: 'lastPingDuration') + ..aOB(6, _omitFieldNames ? '' : 'isOutbound', protoName: 'isOutbound') + ..aInt64(7, _omitFieldNames ? '' : 'timeOffset', protoName: 'timeOffset') + ..aOS(8, _omitFieldNames ? '' : 'userAgent', protoName: 'userAgent') + ..a<$core.int>(9, _omitFieldNames ? '' : 'advertisedProtocolVersion', $pb.PbFieldType.OU3, protoName: 'advertisedProtocolVersion') + ..aInt64(10, _omitFieldNames ? '' : 'timeConnected', protoName: 'timeConnected') + ..aOB(11, _omitFieldNames ? '' : 'isIbdPeer', protoName: 'isIbdPeer') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetConnectedPeerInfoMessage clone() => GetConnectedPeerInfoMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetConnectedPeerInfoMessage copyWith(void Function(GetConnectedPeerInfoMessage) updates) => super.copyWith((message) => updates(message as GetConnectedPeerInfoMessage)) as GetConnectedPeerInfoMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetConnectedPeerInfoMessage create() => GetConnectedPeerInfoMessage._(); GetConnectedPeerInfoMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static GetConnectedPeerInfoMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); + static GetConnectedPeerInfoMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static GetConnectedPeerInfoMessage? _defaultInstance; @$pb.TagNumber(1) $core.String get id => $_getSZ(0); @$pb.TagNumber(1) - set id($core.String v) { - $_setString(0, v); - } - + set id($core.String v) { $_setString(0, v); } @$pb.TagNumber(1) $core.bool hasId() => $_has(0); @$pb.TagNumber(1) @@ -3819,34 +2655,27 @@ class GetConnectedPeerInfoMessage extends $pb.GeneratedMessage { @$pb.TagNumber(2) $core.String get address => $_getSZ(1); @$pb.TagNumber(2) - set address($core.String v) { - $_setString(1, v); - } - + set address($core.String v) { $_setString(1, v); } @$pb.TagNumber(2) $core.bool hasAddress() => $_has(1); @$pb.TagNumber(2) void clearAddress() => clearField(2); + /// How long did the last ping/pong exchange take @$pb.TagNumber(3) $fixnum.Int64 get lastPingDuration => $_getI64(2); @$pb.TagNumber(3) - set lastPingDuration($fixnum.Int64 v) { - $_setInt64(2, v); - } - + set lastPingDuration($fixnum.Int64 v) { $_setInt64(2, v); } @$pb.TagNumber(3) $core.bool hasLastPingDuration() => $_has(2); @$pb.TagNumber(3) void clearLastPingDuration() => clearField(3); + /// Whether this karlsend initiated the connection @$pb.TagNumber(6) $core.bool get isOutbound => $_getBF(3); @$pb.TagNumber(6) - set isOutbound($core.bool v) { - $_setBool(3, v); - } - + set isOutbound($core.bool v) { $_setBool(3, v); } @$pb.TagNumber(6) $core.bool hasIsOutbound() => $_has(3); @$pb.TagNumber(6) @@ -3855,10 +2684,7 @@ class GetConnectedPeerInfoMessage extends $pb.GeneratedMessage { @$pb.TagNumber(7) $fixnum.Int64 get timeOffset => $_getI64(4); @$pb.TagNumber(7) - set timeOffset($fixnum.Int64 v) { - $_setInt64(4, v); - } - + set timeOffset($fixnum.Int64 v) { $_setInt64(4, v); } @$pb.TagNumber(7) $core.bool hasTimeOffset() => $_has(4); @$pb.TagNumber(7) @@ -3867,137 +2693,104 @@ class GetConnectedPeerInfoMessage extends $pb.GeneratedMessage { @$pb.TagNumber(8) $core.String get userAgent => $_getSZ(5); @$pb.TagNumber(8) - set userAgent($core.String v) { - $_setString(5, v); - } - + set userAgent($core.String v) { $_setString(5, v); } @$pb.TagNumber(8) $core.bool hasUserAgent() => $_has(5); @$pb.TagNumber(8) void clearUserAgent() => clearField(8); + /// The protocol version that this peer claims to support @$pb.TagNumber(9) $core.int get advertisedProtocolVersion => $_getIZ(6); @$pb.TagNumber(9) - set advertisedProtocolVersion($core.int v) { - $_setUnsignedInt32(6, v); - } - + set advertisedProtocolVersion($core.int v) { $_setUnsignedInt32(6, v); } @$pb.TagNumber(9) $core.bool hasAdvertisedProtocolVersion() => $_has(6); @$pb.TagNumber(9) void clearAdvertisedProtocolVersion() => clearField(9); + /// The timestamp of when this peer connected to this karlsend @$pb.TagNumber(10) $fixnum.Int64 get timeConnected => $_getI64(7); @$pb.TagNumber(10) - set timeConnected($fixnum.Int64 v) { - $_setInt64(7, v); - } - + set timeConnected($fixnum.Int64 v) { $_setInt64(7, v); } @$pb.TagNumber(10) $core.bool hasTimeConnected() => $_has(7); @$pb.TagNumber(10) void clearTimeConnected() => clearField(10); + /// Whether this peer is the IBD peer (if IBD is running) @$pb.TagNumber(11) $core.bool get isIbdPeer => $_getBF(8); @$pb.TagNumber(11) - set isIbdPeer($core.bool v) { - $_setBool(8, v); - } - + set isIbdPeer($core.bool v) { $_setBool(8, v); } @$pb.TagNumber(11) $core.bool hasIsIbdPeer() => $_has(8); @$pb.TagNumber(11) void clearIsIbdPeer() => clearField(11); } +/// AddPeerRequestMessage adds a peer to karlsend's outgoing connection list. +/// This will, in most cases, result in karlsend connecting to said peer. class AddPeerRequestMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'AddPeerRequestMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOS( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'address') - ..aOB( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'isPermanent', - protoName: 'isPermanent') - ..hasRequiredFields = false; - - AddPeerRequestMessage._() : super(); factory AddPeerRequestMessage({ $core.String? address, $core.bool? isPermanent, }) { - final _result = create(); + final $result = create(); if (address != null) { - _result.address = address; + $result.address = address; } if (isPermanent != null) { - _result.isPermanent = isPermanent; + $result.isPermanent = isPermanent; } - return _result; + return $result; } - factory AddPeerRequestMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory AddPeerRequestMessage.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') - AddPeerRequestMessage clone() => - AddPeerRequestMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - AddPeerRequestMessage copyWith( - void Function(AddPeerRequestMessage) updates) => - super.copyWith((message) => updates(message as AddPeerRequestMessage)) - as AddPeerRequestMessage; // ignore: deprecated_member_use + AddPeerRequestMessage._() : super(); + factory AddPeerRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory AddPeerRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'AddPeerRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'address') + ..aOB(2, _omitFieldNames ? '' : 'isPermanent', protoName: 'isPermanent') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + AddPeerRequestMessage clone() => AddPeerRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + AddPeerRequestMessage copyWith(void Function(AddPeerRequestMessage) updates) => super.copyWith((message) => updates(message as AddPeerRequestMessage)) as AddPeerRequestMessage; + $pb.BuilderInfo get info_ => _i; + @$core.pragma('dart2js:noInline') static AddPeerRequestMessage create() => AddPeerRequestMessage._(); AddPeerRequestMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static AddPeerRequestMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); + static AddPeerRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static AddPeerRequestMessage? _defaultInstance; @$pb.TagNumber(1) $core.String get address => $_getSZ(0); @$pb.TagNumber(1) - set address($core.String v) { - $_setString(0, v); - } - + set address($core.String v) { $_setString(0, v); } @$pb.TagNumber(1) $core.bool hasAddress() => $_has(0); @$pb.TagNumber(1) void clearAddress() => clearField(1); + /// Whether to keep attempting to connect to this peer after disconnection @$pb.TagNumber(2) $core.bool get isPermanent => $_getBF(1); @$pb.TagNumber(2) - set isPermanent($core.bool v) { - $_setBool(1, v); - } - + set isPermanent($core.bool v) { $_setBool(1, v); } @$pb.TagNumber(2) $core.bool hasIsPermanent() => $_has(1); @$pb.TagNumber(2) @@ -4005,69 +2798,49 @@ class AddPeerRequestMessage extends $pb.GeneratedMessage { } class AddPeerResponseMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'AddPeerResponseMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOM( - 1000, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'error', - subBuilder: RPCError.create) - ..hasRequiredFields = false; - - AddPeerResponseMessage._() : super(); factory AddPeerResponseMessage({ RPCError? error, }) { - final _result = create(); + final $result = create(); if (error != null) { - _result.error = error; + $result.error = error; } - return _result; + return $result; } - factory AddPeerResponseMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory AddPeerResponseMessage.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') - AddPeerResponseMessage clone() => - AddPeerResponseMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - AddPeerResponseMessage copyWith( - void Function(AddPeerResponseMessage) updates) => - super.copyWith((message) => updates(message as AddPeerResponseMessage)) - as AddPeerResponseMessage; // ignore: deprecated_member_use + AddPeerResponseMessage._() : super(); + factory AddPeerResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory AddPeerResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'AddPeerResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + AddPeerResponseMessage clone() => AddPeerResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + AddPeerResponseMessage copyWith(void Function(AddPeerResponseMessage) updates) => super.copyWith((message) => updates(message as AddPeerResponseMessage)) as AddPeerResponseMessage; + $pb.BuilderInfo get info_ => _i; + @$core.pragma('dart2js:noInline') static AddPeerResponseMessage create() => AddPeerResponseMessage._(); AddPeerResponseMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static AddPeerResponseMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); + static AddPeerResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static AddPeerResponseMessage? _defaultInstance; @$pb.TagNumber(1000) RPCError get error => $_getN(0); @$pb.TagNumber(1000) - set error(RPCError v) { - setField(1000, v); - } - + set error(RPCError v) { setField(1000, v); } @$pb.TagNumber(1000) $core.bool hasError() => $_has(0); @$pb.TagNumber(1000) @@ -4076,83 +2849,56 @@ class AddPeerResponseMessage extends $pb.GeneratedMessage { RPCError ensureError() => $_ensure(0); } +/// SubmitTransactionRequestMessage submits a transaction to the mempool class SubmitTransactionRequestMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'SubmitTransactionRequestMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOM( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'transaction', - subBuilder: RpcTransaction.create) - ..aOB( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'allowOrphan', - protoName: 'allowOrphan') - ..hasRequiredFields = false; - - SubmitTransactionRequestMessage._() : super(); factory SubmitTransactionRequestMessage({ RpcTransaction? transaction, $core.bool? allowOrphan, }) { - final _result = create(); + final $result = create(); if (transaction != null) { - _result.transaction = transaction; + $result.transaction = transaction; } if (allowOrphan != null) { - _result.allowOrphan = allowOrphan; + $result.allowOrphan = allowOrphan; } - return _result; + return $result; } - factory SubmitTransactionRequestMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory SubmitTransactionRequestMessage.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') - SubmitTransactionRequestMessage clone() => - SubmitTransactionRequestMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - SubmitTransactionRequestMessage copyWith( - void Function(SubmitTransactionRequestMessage) updates) => - super.copyWith( - (message) => updates(message as SubmitTransactionRequestMessage)) - as SubmitTransactionRequestMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static SubmitTransactionRequestMessage create() => - SubmitTransactionRequestMessage._(); + SubmitTransactionRequestMessage._() : super(); + factory SubmitTransactionRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory SubmitTransactionRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'SubmitTransactionRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'transaction', subBuilder: RpcTransaction.create) + ..aOB(2, _omitFieldNames ? '' : 'allowOrphan', protoName: 'allowOrphan') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SubmitTransactionRequestMessage clone() => SubmitTransactionRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SubmitTransactionRequestMessage copyWith(void Function(SubmitTransactionRequestMessage) updates) => super.copyWith((message) => updates(message as SubmitTransactionRequestMessage)) as SubmitTransactionRequestMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SubmitTransactionRequestMessage create() => SubmitTransactionRequestMessage._(); SubmitTransactionRequestMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static SubmitTransactionRequestMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor( - create); + static SubmitTransactionRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static SubmitTransactionRequestMessage? _defaultInstance; @$pb.TagNumber(1) RpcTransaction get transaction => $_getN(0); @$pb.TagNumber(1) - set transaction(RpcTransaction v) { - setField(1, v); - } - + set transaction(RpcTransaction v) { setField(1, v); } @$pb.TagNumber(1) $core.bool hasTransaction() => $_has(0); @$pb.TagNumber(1) @@ -4163,10 +2909,7 @@ class SubmitTransactionRequestMessage extends $pb.GeneratedMessage { @$pb.TagNumber(2) $core.bool get allowOrphan => $_getBF(1); @$pb.TagNumber(2) - set allowOrphan($core.bool v) { - $_setBool(1, v); - } - + set allowOrphan($core.bool v) { $_setBool(1, v); } @$pb.TagNumber(2) $core.bool hasAllowOrphan() => $_has(1); @$pb.TagNumber(2) @@ -4174,82 +2917,55 @@ class SubmitTransactionRequestMessage extends $pb.GeneratedMessage { } class SubmitTransactionResponseMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'SubmitTransactionResponseMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOS( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'transactionId', - protoName: 'transactionId') - ..aOM( - 1000, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'error', - subBuilder: RPCError.create) - ..hasRequiredFields = false; - - SubmitTransactionResponseMessage._() : super(); factory SubmitTransactionResponseMessage({ $core.String? transactionId, RPCError? error, }) { - final _result = create(); + final $result = create(); if (transactionId != null) { - _result.transactionId = transactionId; + $result.transactionId = transactionId; } if (error != null) { - _result.error = error; + $result.error = error; } - return _result; + return $result; } - factory SubmitTransactionResponseMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory SubmitTransactionResponseMessage.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') - SubmitTransactionResponseMessage clone() => - SubmitTransactionResponseMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - SubmitTransactionResponseMessage copyWith( - void Function(SubmitTransactionResponseMessage) updates) => - super.copyWith( - (message) => updates(message as SubmitTransactionResponseMessage)) - as SubmitTransactionResponseMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static SubmitTransactionResponseMessage create() => - SubmitTransactionResponseMessage._(); + SubmitTransactionResponseMessage._() : super(); + factory SubmitTransactionResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory SubmitTransactionResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'SubmitTransactionResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'transactionId', protoName: 'transactionId') + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SubmitTransactionResponseMessage clone() => SubmitTransactionResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SubmitTransactionResponseMessage copyWith(void Function(SubmitTransactionResponseMessage) updates) => super.copyWith((message) => updates(message as SubmitTransactionResponseMessage)) as SubmitTransactionResponseMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SubmitTransactionResponseMessage create() => SubmitTransactionResponseMessage._(); SubmitTransactionResponseMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static SubmitTransactionResponseMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor( - create); + static SubmitTransactionResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static SubmitTransactionResponseMessage? _defaultInstance; + /// The transaction ID of the submitted transaction @$pb.TagNumber(1) $core.String get transactionId => $_getSZ(0); @$pb.TagNumber(1) - set transactionId($core.String v) { - $_setString(0, v); - } - + set transactionId($core.String v) { $_setString(0, v); } @$pb.TagNumber(1) $core.bool hasTransactionId() => $_has(0); @$pb.TagNumber(1) @@ -4258,10 +2974,7 @@ class SubmitTransactionResponseMessage extends $pb.GeneratedMessage { @$pb.TagNumber(1000) RPCError get error => $_getN(1); @$pb.TagNumber(1000) - set error(RPCError v) { - setField(1000, v); - } - + set error(RPCError v) { setField(1000, v); } @$pb.TagNumber(1000) $core.bool hasError() => $_has(1); @$pb.TagNumber(1000) @@ -4270,354 +2983,390 @@ class SubmitTransactionResponseMessage extends $pb.GeneratedMessage { RPCError ensureError() => $_ensure(1); } -class NotifyVirtualSelectedParentChainChangedRequestMessage - extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'NotifyVirtualSelectedParentChainChangedRequestMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOB( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'includeAcceptedTransactionIds', - protoName: 'includeAcceptedTransactionIds') - ..hasRequiredFields = false; - - NotifyVirtualSelectedParentChainChangedRequestMessage._() : super(); - factory NotifyVirtualSelectedParentChainChangedRequestMessage({ - $core.bool? includeAcceptedTransactionIds, +/// SubmitTransactionReplacementRequestMessage submits a transaction to the mempool, applying a mandatory Replace by Fee policy +class SubmitTransactionReplacementRequestMessage extends $pb.GeneratedMessage { + factory SubmitTransactionReplacementRequestMessage({ + RpcTransaction? transaction, }) { - final _result = create(); - if (includeAcceptedTransactionIds != null) { - _result.includeAcceptedTransactionIds = includeAcceptedTransactionIds; - } - return _result; - } - factory NotifyVirtualSelectedParentChainChangedRequestMessage.fromBuffer( - $core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory NotifyVirtualSelectedParentChainChangedRequestMessage.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') - NotifyVirtualSelectedParentChainChangedRequestMessage clone() => - NotifyVirtualSelectedParentChainChangedRequestMessage() - ..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - NotifyVirtualSelectedParentChainChangedRequestMessage copyWith( - void Function(NotifyVirtualSelectedParentChainChangedRequestMessage) - updates) => - super.copyWith((message) => updates( - message as NotifyVirtualSelectedParentChainChangedRequestMessage)) - as NotifyVirtualSelectedParentChainChangedRequestMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static NotifyVirtualSelectedParentChainChangedRequestMessage create() => - NotifyVirtualSelectedParentChainChangedRequestMessage._(); - NotifyVirtualSelectedParentChainChangedRequestMessage createEmptyInstance() => - create(); - static $pb.PbList - createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static NotifyVirtualSelectedParentChainChangedRequestMessage getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< - NotifyVirtualSelectedParentChainChangedRequestMessage>(create); - static NotifyVirtualSelectedParentChainChangedRequestMessage? - _defaultInstance; + final $result = create(); + if (transaction != null) { + $result.transaction = transaction; + } + return $result; + } + SubmitTransactionReplacementRequestMessage._() : super(); + factory SubmitTransactionReplacementRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory SubmitTransactionReplacementRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'SubmitTransactionReplacementRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'transaction', subBuilder: RpcTransaction.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SubmitTransactionReplacementRequestMessage clone() => SubmitTransactionReplacementRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SubmitTransactionReplacementRequestMessage copyWith(void Function(SubmitTransactionReplacementRequestMessage) updates) => super.copyWith((message) => updates(message as SubmitTransactionReplacementRequestMessage)) as SubmitTransactionReplacementRequestMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SubmitTransactionReplacementRequestMessage create() => SubmitTransactionReplacementRequestMessage._(); + SubmitTransactionReplacementRequestMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SubmitTransactionReplacementRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static SubmitTransactionReplacementRequestMessage? _defaultInstance; @$pb.TagNumber(1) - $core.bool get includeAcceptedTransactionIds => $_getBF(0); + RpcTransaction get transaction => $_getN(0); @$pb.TagNumber(1) - set includeAcceptedTransactionIds($core.bool v) { - $_setBool(0, v); - } - + set transaction(RpcTransaction v) { setField(1, v); } @$pb.TagNumber(1) - $core.bool hasIncludeAcceptedTransactionIds() => $_has(0); + $core.bool hasTransaction() => $_has(0); @$pb.TagNumber(1) - void clearIncludeAcceptedTransactionIds() => clearField(1); + void clearTransaction() => clearField(1); + @$pb.TagNumber(1) + RpcTransaction ensureTransaction() => $_ensure(0); } -class NotifyVirtualSelectedParentChainChangedResponseMessage - extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'NotifyVirtualSelectedParentChainChangedResponseMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOM( - 1000, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'error', - subBuilder: RPCError.create) - ..hasRequiredFields = false; - - NotifyVirtualSelectedParentChainChangedResponseMessage._() : super(); - factory NotifyVirtualSelectedParentChainChangedResponseMessage({ +class SubmitTransactionReplacementResponseMessage extends $pb.GeneratedMessage { + factory SubmitTransactionReplacementResponseMessage({ + $core.String? transactionId, + RpcTransaction? replacedTransaction, RPCError? error, }) { - final _result = create(); - if (error != null) { - _result.error = error; + final $result = create(); + if (transactionId != null) { + $result.transactionId = transactionId; } - return _result; - } - factory NotifyVirtualSelectedParentChainChangedResponseMessage.fromBuffer( - $core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory NotifyVirtualSelectedParentChainChangedResponseMessage.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') - NotifyVirtualSelectedParentChainChangedResponseMessage clone() => - NotifyVirtualSelectedParentChainChangedResponseMessage() - ..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - NotifyVirtualSelectedParentChainChangedResponseMessage copyWith( - void Function(NotifyVirtualSelectedParentChainChangedResponseMessage) - updates) => - super.copyWith((message) => updates(message - as NotifyVirtualSelectedParentChainChangedResponseMessage)) - as NotifyVirtualSelectedParentChainChangedResponseMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static NotifyVirtualSelectedParentChainChangedResponseMessage create() => - NotifyVirtualSelectedParentChainChangedResponseMessage._(); - NotifyVirtualSelectedParentChainChangedResponseMessage - createEmptyInstance() => create(); - static $pb.PbList - createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static NotifyVirtualSelectedParentChainChangedResponseMessage getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< - NotifyVirtualSelectedParentChainChangedResponseMessage>(create); - static NotifyVirtualSelectedParentChainChangedResponseMessage? - _defaultInstance; + if (replacedTransaction != null) { + $result.replacedTransaction = replacedTransaction; + } + if (error != null) { + $result.error = error; + } + return $result; + } + SubmitTransactionReplacementResponseMessage._() : super(); + factory SubmitTransactionReplacementResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory SubmitTransactionReplacementResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'SubmitTransactionReplacementResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'transactionId', protoName: 'transactionId') + ..aOM(2, _omitFieldNames ? '' : 'replacedTransaction', protoName: 'replacedTransaction', subBuilder: RpcTransaction.create) + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SubmitTransactionReplacementResponseMessage clone() => SubmitTransactionReplacementResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SubmitTransactionReplacementResponseMessage copyWith(void Function(SubmitTransactionReplacementResponseMessage) updates) => super.copyWith((message) => updates(message as SubmitTransactionReplacementResponseMessage)) as SubmitTransactionReplacementResponseMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SubmitTransactionReplacementResponseMessage create() => SubmitTransactionReplacementResponseMessage._(); + SubmitTransactionReplacementResponseMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SubmitTransactionReplacementResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static SubmitTransactionReplacementResponseMessage? _defaultInstance; + + /// The transaction ID of the submitted transaction + @$pb.TagNumber(1) + $core.String get transactionId => $_getSZ(0); + @$pb.TagNumber(1) + set transactionId($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasTransactionId() => $_has(0); + @$pb.TagNumber(1) + void clearTransactionId() => clearField(1); + + /// The previous transaction replaced in the mempool by the newly submitted one + @$pb.TagNumber(2) + RpcTransaction get replacedTransaction => $_getN(1); + @$pb.TagNumber(2) + set replacedTransaction(RpcTransaction v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasReplacedTransaction() => $_has(1); + @$pb.TagNumber(2) + void clearReplacedTransaction() => clearField(2); + @$pb.TagNumber(2) + RpcTransaction ensureReplacedTransaction() => $_ensure(1); @$pb.TagNumber(1000) - RPCError get error => $_getN(0); + RPCError get error => $_getN(2); @$pb.TagNumber(1000) - set error(RPCError v) { - setField(1000, v); - } - + set error(RPCError v) { setField(1000, v); } @$pb.TagNumber(1000) - $core.bool hasError() => $_has(0); + $core.bool hasError() => $_has(2); @$pb.TagNumber(1000) void clearError() => clearField(1000); @$pb.TagNumber(1000) - RPCError ensureError() => $_ensure(0); + RPCError ensureError() => $_ensure(2); } -class VirtualSelectedParentChainChangedNotificationMessage - extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'VirtualSelectedParentChainChangedNotificationMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..pPS( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'removedChainBlockHashes', - protoName: 'removedChainBlockHashes') - ..pc( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'acceptedTransactionIds', - $pb.PbFieldType.PM, - protoName: 'acceptedTransactionIds', - subBuilder: AcceptedTransactionIds.create) - ..pPS( - 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'addedChainBlockHashes', - protoName: 'addedChainBlockHashes') - ..hasRequiredFields = false; - - VirtualSelectedParentChainChangedNotificationMessage._() : super(); - factory VirtualSelectedParentChainChangedNotificationMessage({ - $core.Iterable<$core.String>? removedChainBlockHashes, - $core.Iterable? acceptedTransactionIds, - $core.Iterable<$core.String>? addedChainBlockHashes, +/// NotifyVirtualChainChangedRequestMessage registers this connection for virtualChainChanged notifications. +/// +/// See: VirtualChainChangedNotificationMessage +class NotifyVirtualChainChangedRequestMessage extends $pb.GeneratedMessage { + factory NotifyVirtualChainChangedRequestMessage({ + $core.bool? includeAcceptedTransactionIds, + RpcNotifyCommand? command, + }) { + final $result = create(); + if (includeAcceptedTransactionIds != null) { + $result.includeAcceptedTransactionIds = includeAcceptedTransactionIds; + } + if (command != null) { + $result.command = command; + } + return $result; + } + NotifyVirtualChainChangedRequestMessage._() : super(); + factory NotifyVirtualChainChangedRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory NotifyVirtualChainChangedRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'NotifyVirtualChainChangedRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOB(1, _omitFieldNames ? '' : 'includeAcceptedTransactionIds', protoName: 'includeAcceptedTransactionIds') + ..e(101, _omitFieldNames ? '' : 'command', $pb.PbFieldType.OE, defaultOrMaker: RpcNotifyCommand.NOTIFY_START, valueOf: RpcNotifyCommand.valueOf, enumValues: RpcNotifyCommand.values) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + NotifyVirtualChainChangedRequestMessage clone() => NotifyVirtualChainChangedRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + NotifyVirtualChainChangedRequestMessage copyWith(void Function(NotifyVirtualChainChangedRequestMessage) updates) => super.copyWith((message) => updates(message as NotifyVirtualChainChangedRequestMessage)) as NotifyVirtualChainChangedRequestMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static NotifyVirtualChainChangedRequestMessage create() => NotifyVirtualChainChangedRequestMessage._(); + NotifyVirtualChainChangedRequestMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static NotifyVirtualChainChangedRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static NotifyVirtualChainChangedRequestMessage? _defaultInstance; + + @$pb.TagNumber(1) + $core.bool get includeAcceptedTransactionIds => $_getBF(0); + @$pb.TagNumber(1) + set includeAcceptedTransactionIds($core.bool v) { $_setBool(0, v); } + @$pb.TagNumber(1) + $core.bool hasIncludeAcceptedTransactionIds() => $_has(0); + @$pb.TagNumber(1) + void clearIncludeAcceptedTransactionIds() => clearField(1); + + @$pb.TagNumber(101) + RpcNotifyCommand get command => $_getN(1); + @$pb.TagNumber(101) + set command(RpcNotifyCommand v) { setField(101, v); } + @$pb.TagNumber(101) + $core.bool hasCommand() => $_has(1); + @$pb.TagNumber(101) + void clearCommand() => clearField(101); +} + +class NotifyVirtualChainChangedResponseMessage extends $pb.GeneratedMessage { + factory NotifyVirtualChainChangedResponseMessage({ + RPCError? error, + }) { + final $result = create(); + if (error != null) { + $result.error = error; + } + return $result; + } + NotifyVirtualChainChangedResponseMessage._() : super(); + factory NotifyVirtualChainChangedResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory NotifyVirtualChainChangedResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'NotifyVirtualChainChangedResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + NotifyVirtualChainChangedResponseMessage clone() => NotifyVirtualChainChangedResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + NotifyVirtualChainChangedResponseMessage copyWith(void Function(NotifyVirtualChainChangedResponseMessage) updates) => super.copyWith((message) => updates(message as NotifyVirtualChainChangedResponseMessage)) as NotifyVirtualChainChangedResponseMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static NotifyVirtualChainChangedResponseMessage create() => NotifyVirtualChainChangedResponseMessage._(); + NotifyVirtualChainChangedResponseMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static NotifyVirtualChainChangedResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static NotifyVirtualChainChangedResponseMessage? _defaultInstance; + + @$pb.TagNumber(1000) + RPCError get error => $_getN(0); + @$pb.TagNumber(1000) + set error(RPCError v) { setField(1000, v); } + @$pb.TagNumber(1000) + $core.bool hasError() => $_has(0); + @$pb.TagNumber(1000) + void clearError() => clearField(1000); + @$pb.TagNumber(1000) + RPCError ensureError() => $_ensure(0); +} + +/// VirtualChainChangedNotificationMessage is sent whenever the DAG's selected parent +/// chain had changed. +/// +/// See: NotifyVirtualChainChangedRequestMessage +class VirtualChainChangedNotificationMessage extends $pb.GeneratedMessage { + factory VirtualChainChangedNotificationMessage({ + $core.Iterable<$core.String>? removedChainBlockHashes, + $core.Iterable? acceptedTransactionIds, + $core.Iterable<$core.String>? addedChainBlockHashes, }) { - final _result = create(); + final $result = create(); if (removedChainBlockHashes != null) { - _result.removedChainBlockHashes.addAll(removedChainBlockHashes); + $result.removedChainBlockHashes.addAll(removedChainBlockHashes); } if (acceptedTransactionIds != null) { - _result.acceptedTransactionIds.addAll(acceptedTransactionIds); + $result.acceptedTransactionIds.addAll(acceptedTransactionIds); } if (addedChainBlockHashes != null) { - _result.addedChainBlockHashes.addAll(addedChainBlockHashes); - } - return _result; - } - factory VirtualSelectedParentChainChangedNotificationMessage.fromBuffer( - $core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory VirtualSelectedParentChainChangedNotificationMessage.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') - VirtualSelectedParentChainChangedNotificationMessage clone() => - VirtualSelectedParentChainChangedNotificationMessage() - ..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - VirtualSelectedParentChainChangedNotificationMessage copyWith( - void Function(VirtualSelectedParentChainChangedNotificationMessage) - updates) => - super.copyWith((message) => updates( - message as VirtualSelectedParentChainChangedNotificationMessage)) - as VirtualSelectedParentChainChangedNotificationMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static VirtualSelectedParentChainChangedNotificationMessage create() => - VirtualSelectedParentChainChangedNotificationMessage._(); - VirtualSelectedParentChainChangedNotificationMessage createEmptyInstance() => - create(); - static $pb.PbList - createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static VirtualSelectedParentChainChangedNotificationMessage getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< - VirtualSelectedParentChainChangedNotificationMessage>(create); - static VirtualSelectedParentChainChangedNotificationMessage? _defaultInstance; + $result.addedChainBlockHashes.addAll(addedChainBlockHashes); + } + return $result; + } + VirtualChainChangedNotificationMessage._() : super(); + factory VirtualChainChangedNotificationMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory VirtualChainChangedNotificationMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'VirtualChainChangedNotificationMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..pPS(1, _omitFieldNames ? '' : 'removedChainBlockHashes', protoName: 'removedChainBlockHashes') + ..pc(2, _omitFieldNames ? '' : 'acceptedTransactionIds', $pb.PbFieldType.PM, protoName: 'acceptedTransactionIds', subBuilder: RpcAcceptedTransactionIds.create) + ..pPS(3, _omitFieldNames ? '' : 'addedChainBlockHashes', protoName: 'addedChainBlockHashes') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + VirtualChainChangedNotificationMessage clone() => VirtualChainChangedNotificationMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + VirtualChainChangedNotificationMessage copyWith(void Function(VirtualChainChangedNotificationMessage) updates) => super.copyWith((message) => updates(message as VirtualChainChangedNotificationMessage)) as VirtualChainChangedNotificationMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static VirtualChainChangedNotificationMessage create() => VirtualChainChangedNotificationMessage._(); + VirtualChainChangedNotificationMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static VirtualChainChangedNotificationMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static VirtualChainChangedNotificationMessage? _defaultInstance; + /// The chain blocks that were removed, in high-to-low order @$pb.TagNumber(1) $core.List<$core.String> get removedChainBlockHashes => $_getList(0); + /// Will be filled only if `includeAcceptedTransactionIds = true` in the notify request. @$pb.TagNumber(2) - $core.List get acceptedTransactionIds => $_getList(1); + $core.List get acceptedTransactionIds => $_getList(1); + /// The chain blocks that were added, in low-to-high order @$pb.TagNumber(3) $core.List<$core.String> get addedChainBlockHashes => $_getList(2); } +/// GetBlockRequestMessage requests information about a specific block class GetBlockRequestMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'GetBlockRequestMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOS( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'hash') - ..aOB( - 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'includeTransactions', - protoName: 'includeTransactions') - ..hasRequiredFields = false; - - GetBlockRequestMessage._() : super(); factory GetBlockRequestMessage({ $core.String? hash, $core.bool? includeTransactions, }) { - final _result = create(); + final $result = create(); if (hash != null) { - _result.hash = hash; + $result.hash = hash; } if (includeTransactions != null) { - _result.includeTransactions = includeTransactions; + $result.includeTransactions = includeTransactions; } - return _result; + return $result; } - factory GetBlockRequestMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory GetBlockRequestMessage.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') - GetBlockRequestMessage clone() => - GetBlockRequestMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - GetBlockRequestMessage copyWith( - void Function(GetBlockRequestMessage) updates) => - super.copyWith((message) => updates(message as GetBlockRequestMessage)) - as GetBlockRequestMessage; // ignore: deprecated_member_use + GetBlockRequestMessage._() : super(); + factory GetBlockRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetBlockRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetBlockRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'hash') + ..aOB(3, _omitFieldNames ? '' : 'includeTransactions', protoName: 'includeTransactions') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetBlockRequestMessage clone() => GetBlockRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetBlockRequestMessage copyWith(void Function(GetBlockRequestMessage) updates) => super.copyWith((message) => updates(message as GetBlockRequestMessage)) as GetBlockRequestMessage; + $pb.BuilderInfo get info_ => _i; + @$core.pragma('dart2js:noInline') static GetBlockRequestMessage create() => GetBlockRequestMessage._(); GetBlockRequestMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static GetBlockRequestMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); + static GetBlockRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static GetBlockRequestMessage? _defaultInstance; + /// The hash of the requested block @$pb.TagNumber(1) $core.String get hash => $_getSZ(0); @$pb.TagNumber(1) - set hash($core.String v) { - $_setString(0, v); - } - + set hash($core.String v) { $_setString(0, v); } @$pb.TagNumber(1) $core.bool hasHash() => $_has(0); @$pb.TagNumber(1) void clearHash() => clearField(1); + /// Whether to include transaction data in the response @$pb.TagNumber(3) $core.bool get includeTransactions => $_getBF(1); @$pb.TagNumber(3) - set includeTransactions($core.bool v) { - $_setBool(1, v); - } - + set includeTransactions($core.bool v) { $_setBool(1, v); } @$pb.TagNumber(3) $core.bool hasIncludeTransactions() => $_has(1); @$pb.TagNumber(3) @@ -4625,79 +3374,54 @@ class GetBlockRequestMessage extends $pb.GeneratedMessage { } class GetBlockResponseMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'GetBlockResponseMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOM( - 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'block', - subBuilder: RpcBlock.create) - ..aOM( - 1000, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'error', - subBuilder: RPCError.create) - ..hasRequiredFields = false; - - GetBlockResponseMessage._() : super(); factory GetBlockResponseMessage({ RpcBlock? block, RPCError? error, }) { - final _result = create(); + final $result = create(); if (block != null) { - _result.block = block; + $result.block = block; } if (error != null) { - _result.error = error; + $result.error = error; } - return _result; + return $result; } - factory GetBlockResponseMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory GetBlockResponseMessage.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') - GetBlockResponseMessage clone() => - GetBlockResponseMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - GetBlockResponseMessage copyWith( - void Function(GetBlockResponseMessage) updates) => - super.copyWith((message) => updates(message as GetBlockResponseMessage)) - as GetBlockResponseMessage; // ignore: deprecated_member_use + GetBlockResponseMessage._() : super(); + factory GetBlockResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetBlockResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetBlockResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOM(3, _omitFieldNames ? '' : 'block', subBuilder: RpcBlock.create) + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetBlockResponseMessage clone() => GetBlockResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetBlockResponseMessage copyWith(void Function(GetBlockResponseMessage) updates) => super.copyWith((message) => updates(message as GetBlockResponseMessage)) as GetBlockResponseMessage; + $pb.BuilderInfo get info_ => _i; + @$core.pragma('dart2js:noInline') static GetBlockResponseMessage create() => GetBlockResponseMessage._(); GetBlockResponseMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static GetBlockResponseMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); + static GetBlockResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static GetBlockResponseMessage? _defaultInstance; @$pb.TagNumber(3) RpcBlock get block => $_getN(0); @$pb.TagNumber(3) - set block(RpcBlock v) { - setField(3, v); - } - + set block(RpcBlock v) { setField(3, v); } @$pb.TagNumber(3) $core.bool hasBlock() => $_has(0); @$pb.TagNumber(3) @@ -4708,10 +3432,7 @@ class GetBlockResponseMessage extends $pb.GeneratedMessage { @$pb.TagNumber(1000) RPCError get error => $_getN(1); @$pb.TagNumber(1000) - set error(RPCError v) { - setField(1000, v); - } - + set error(RPCError v) { setField(1000, v); } @$pb.TagNumber(1000) $core.bool hasError() => $_has(1); @$pb.TagNumber(1000) @@ -4720,72 +3441,53 @@ class GetBlockResponseMessage extends $pb.GeneratedMessage { RPCError ensureError() => $_ensure(1); } +/// GetSubnetworkRequestMessage requests information about a specific subnetwork +/// +/// Currently unimplemented class GetSubnetworkRequestMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'GetSubnetworkRequestMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOS( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'subnetworkId', - protoName: 'subnetworkId') - ..hasRequiredFields = false; - - GetSubnetworkRequestMessage._() : super(); factory GetSubnetworkRequestMessage({ $core.String? subnetworkId, }) { - final _result = create(); + final $result = create(); if (subnetworkId != null) { - _result.subnetworkId = subnetworkId; + $result.subnetworkId = subnetworkId; } - return _result; + return $result; } - factory GetSubnetworkRequestMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory GetSubnetworkRequestMessage.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') - GetSubnetworkRequestMessage clone() => - GetSubnetworkRequestMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - GetSubnetworkRequestMessage copyWith( - void Function(GetSubnetworkRequestMessage) updates) => - super.copyWith( - (message) => updates(message as GetSubnetworkRequestMessage)) - as GetSubnetworkRequestMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static GetSubnetworkRequestMessage create() => - GetSubnetworkRequestMessage._(); + GetSubnetworkRequestMessage._() : super(); + factory GetSubnetworkRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetSubnetworkRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetSubnetworkRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'subnetworkId', protoName: 'subnetworkId') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetSubnetworkRequestMessage clone() => GetSubnetworkRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetSubnetworkRequestMessage copyWith(void Function(GetSubnetworkRequestMessage) updates) => super.copyWith((message) => updates(message as GetSubnetworkRequestMessage)) as GetSubnetworkRequestMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetSubnetworkRequestMessage create() => GetSubnetworkRequestMessage._(); GetSubnetworkRequestMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static GetSubnetworkRequestMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); + static GetSubnetworkRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static GetSubnetworkRequestMessage? _defaultInstance; @$pb.TagNumber(1) $core.String get subnetworkId => $_getSZ(0); @$pb.TagNumber(1) - set subnetworkId($core.String v) { - $_setString(0, v); - } - + set subnetworkId($core.String v) { $_setString(0, v); } @$pb.TagNumber(1) $core.bool hasSubnetworkId() => $_has(0); @$pb.TagNumber(1) @@ -4793,83 +3495,54 @@ class GetSubnetworkRequestMessage extends $pb.GeneratedMessage { } class GetSubnetworkResponseMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'GetSubnetworkResponseMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..a<$fixnum.Int64>( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'gasLimit', - $pb.PbFieldType.OU6, - protoName: 'gasLimit', - defaultOrMaker: $fixnum.Int64.ZERO) - ..aOM( - 1000, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'error', - subBuilder: RPCError.create) - ..hasRequiredFields = false; - - GetSubnetworkResponseMessage._() : super(); factory GetSubnetworkResponseMessage({ $fixnum.Int64? gasLimit, RPCError? error, }) { - final _result = create(); + final $result = create(); if (gasLimit != null) { - _result.gasLimit = gasLimit; + $result.gasLimit = gasLimit; } if (error != null) { - _result.error = error; + $result.error = error; } - return _result; + return $result; } - factory GetSubnetworkResponseMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory GetSubnetworkResponseMessage.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') - GetSubnetworkResponseMessage clone() => - GetSubnetworkResponseMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - GetSubnetworkResponseMessage copyWith( - void Function(GetSubnetworkResponseMessage) updates) => - super.copyWith( - (message) => updates(message as GetSubnetworkResponseMessage)) - as GetSubnetworkResponseMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static GetSubnetworkResponseMessage create() => - GetSubnetworkResponseMessage._(); + GetSubnetworkResponseMessage._() : super(); + factory GetSubnetworkResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetSubnetworkResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetSubnetworkResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..a<$fixnum.Int64>(1, _omitFieldNames ? '' : 'gasLimit', $pb.PbFieldType.OU6, protoName: 'gasLimit', defaultOrMaker: $fixnum.Int64.ZERO) + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetSubnetworkResponseMessage clone() => GetSubnetworkResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetSubnetworkResponseMessage copyWith(void Function(GetSubnetworkResponseMessage) updates) => super.copyWith((message) => updates(message as GetSubnetworkResponseMessage)) as GetSubnetworkResponseMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetSubnetworkResponseMessage create() => GetSubnetworkResponseMessage._(); GetSubnetworkResponseMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static GetSubnetworkResponseMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); + static GetSubnetworkResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static GetSubnetworkResponseMessage? _defaultInstance; @$pb.TagNumber(1) $fixnum.Int64 get gasLimit => $_getI64(0); @$pb.TagNumber(1) - set gasLimit($fixnum.Int64 v) { - $_setInt64(0, v); - } - + set gasLimit($fixnum.Int64 v) { $_setInt64(0, v); } @$pb.TagNumber(1) $core.bool hasGasLimit() => $_has(0); @$pb.TagNumber(1) @@ -4878,10 +3551,7 @@ class GetSubnetworkResponseMessage extends $pb.GeneratedMessage { @$pb.TagNumber(1000) RPCError get error => $_getN(1); @$pb.TagNumber(1000) - set error(RPCError v) { - setField(1000, v); - } - + set error(RPCError v) { setField(1000, v); } @$pb.TagNumber(1000) $core.bool hasError() => $_has(1); @$pb.TagNumber(1000) @@ -4890,90 +3560,57 @@ class GetSubnetworkResponseMessage extends $pb.GeneratedMessage { RPCError ensureError() => $_ensure(1); } -class GetVirtualSelectedParentChainFromBlockRequestMessage - extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'GetVirtualSelectedParentChainFromBlockRequestMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOS( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'startHash', - protoName: 'startHash') - ..aOB( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'includeAcceptedTransactionIds', - protoName: 'includeAcceptedTransactionIds') - ..hasRequiredFields = false; - - GetVirtualSelectedParentChainFromBlockRequestMessage._() : super(); - factory GetVirtualSelectedParentChainFromBlockRequestMessage({ +/// GetVirtualChainFromBlockRequestMessage requests the virtual selected +/// parent chain from some startHash to this karlsend's current virtual +class GetVirtualChainFromBlockRequestMessage extends $pb.GeneratedMessage { + factory GetVirtualChainFromBlockRequestMessage({ $core.String? startHash, $core.bool? includeAcceptedTransactionIds, }) { - final _result = create(); + final $result = create(); if (startHash != null) { - _result.startHash = startHash; + $result.startHash = startHash; } if (includeAcceptedTransactionIds != null) { - _result.includeAcceptedTransactionIds = includeAcceptedTransactionIds; - } - return _result; - } - factory GetVirtualSelectedParentChainFromBlockRequestMessage.fromBuffer( - $core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory GetVirtualSelectedParentChainFromBlockRequestMessage.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') - GetVirtualSelectedParentChainFromBlockRequestMessage clone() => - GetVirtualSelectedParentChainFromBlockRequestMessage() - ..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - GetVirtualSelectedParentChainFromBlockRequestMessage copyWith( - void Function(GetVirtualSelectedParentChainFromBlockRequestMessage) - updates) => - super.copyWith((message) => updates( - message as GetVirtualSelectedParentChainFromBlockRequestMessage)) - as GetVirtualSelectedParentChainFromBlockRequestMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static GetVirtualSelectedParentChainFromBlockRequestMessage create() => - GetVirtualSelectedParentChainFromBlockRequestMessage._(); - GetVirtualSelectedParentChainFromBlockRequestMessage createEmptyInstance() => - create(); - static $pb.PbList - createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static GetVirtualSelectedParentChainFromBlockRequestMessage getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< - GetVirtualSelectedParentChainFromBlockRequestMessage>(create); - static GetVirtualSelectedParentChainFromBlockRequestMessage? _defaultInstance; + $result.includeAcceptedTransactionIds = includeAcceptedTransactionIds; + } + return $result; + } + GetVirtualChainFromBlockRequestMessage._() : super(); + factory GetVirtualChainFromBlockRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetVirtualChainFromBlockRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetVirtualChainFromBlockRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'startHash', protoName: 'startHash') + ..aOB(2, _omitFieldNames ? '' : 'includeAcceptedTransactionIds', protoName: 'includeAcceptedTransactionIds') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetVirtualChainFromBlockRequestMessage clone() => GetVirtualChainFromBlockRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetVirtualChainFromBlockRequestMessage copyWith(void Function(GetVirtualChainFromBlockRequestMessage) updates) => super.copyWith((message) => updates(message as GetVirtualChainFromBlockRequestMessage)) as GetVirtualChainFromBlockRequestMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetVirtualChainFromBlockRequestMessage create() => GetVirtualChainFromBlockRequestMessage._(); + GetVirtualChainFromBlockRequestMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetVirtualChainFromBlockRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static GetVirtualChainFromBlockRequestMessage? _defaultInstance; @$pb.TagNumber(1) $core.String get startHash => $_getSZ(0); @$pb.TagNumber(1) - set startHash($core.String v) { - $_setString(0, v); - } - + set startHash($core.String v) { $_setString(0, v); } @$pb.TagNumber(1) $core.bool hasStartHash() => $_has(0); @$pb.TagNumber(1) @@ -4982,90 +3619,62 @@ class GetVirtualSelectedParentChainFromBlockRequestMessage @$pb.TagNumber(2) $core.bool get includeAcceptedTransactionIds => $_getBF(1); @$pb.TagNumber(2) - set includeAcceptedTransactionIds($core.bool v) { - $_setBool(1, v); - } - + set includeAcceptedTransactionIds($core.bool v) { $_setBool(1, v); } @$pb.TagNumber(2) $core.bool hasIncludeAcceptedTransactionIds() => $_has(1); @$pb.TagNumber(2) void clearIncludeAcceptedTransactionIds() => clearField(2); } -class AcceptedTransactionIds extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'AcceptedTransactionIds', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOS( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'acceptingBlockHash', - protoName: 'acceptingBlockHash') - ..pPS( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'acceptedTransactionIds', - protoName: 'acceptedTransactionIds') - ..hasRequiredFields = false; - - AcceptedTransactionIds._() : super(); - factory AcceptedTransactionIds({ +class RpcAcceptedTransactionIds extends $pb.GeneratedMessage { + factory RpcAcceptedTransactionIds({ $core.String? acceptingBlockHash, $core.Iterable<$core.String>? acceptedTransactionIds, }) { - final _result = create(); + final $result = create(); if (acceptingBlockHash != null) { - _result.acceptingBlockHash = acceptingBlockHash; + $result.acceptingBlockHash = acceptingBlockHash; } if (acceptedTransactionIds != null) { - _result.acceptedTransactionIds.addAll(acceptedTransactionIds); - } - return _result; - } - factory AcceptedTransactionIds.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory AcceptedTransactionIds.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') - AcceptedTransactionIds clone() => - AcceptedTransactionIds()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - AcceptedTransactionIds copyWith( - void Function(AcceptedTransactionIds) updates) => - super.copyWith((message) => updates(message as AcceptedTransactionIds)) - as AcceptedTransactionIds; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static AcceptedTransactionIds create() => AcceptedTransactionIds._(); - AcceptedTransactionIds createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static AcceptedTransactionIds getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static AcceptedTransactionIds? _defaultInstance; + $result.acceptedTransactionIds.addAll(acceptedTransactionIds); + } + return $result; + } + RpcAcceptedTransactionIds._() : super(); + factory RpcAcceptedTransactionIds.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory RpcAcceptedTransactionIds.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'RpcAcceptedTransactionIds', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'acceptingBlockHash', protoName: 'acceptingBlockHash') + ..pPS(2, _omitFieldNames ? '' : 'acceptedTransactionIds', protoName: 'acceptedTransactionIds') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + RpcAcceptedTransactionIds clone() => RpcAcceptedTransactionIds()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RpcAcceptedTransactionIds copyWith(void Function(RpcAcceptedTransactionIds) updates) => super.copyWith((message) => updates(message as RpcAcceptedTransactionIds)) as RpcAcceptedTransactionIds; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static RpcAcceptedTransactionIds create() => RpcAcceptedTransactionIds._(); + RpcAcceptedTransactionIds createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static RpcAcceptedTransactionIds getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static RpcAcceptedTransactionIds? _defaultInstance; @$pb.TagNumber(1) $core.String get acceptingBlockHash => $_getSZ(0); @$pb.TagNumber(1) - set acceptingBlockHash($core.String v) { - $_setString(0, v); - } - + set acceptingBlockHash($core.String v) { $_setString(0, v); } @$pb.TagNumber(1) $core.bool hasAcceptingBlockHash() => $_has(0); @$pb.TagNumber(1) @@ -5075,122 +3684,78 @@ class AcceptedTransactionIds extends $pb.GeneratedMessage { $core.List<$core.String> get acceptedTransactionIds => $_getList(1); } -class GetVirtualSelectedParentChainFromBlockResponseMessage - extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'GetVirtualSelectedParentChainFromBlockResponseMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..pPS( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'removedChainBlockHashes', - protoName: 'removedChainBlockHashes') - ..pc( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'acceptedTransactionIds', - $pb.PbFieldType.PM, - protoName: 'acceptedTransactionIds', - subBuilder: AcceptedTransactionIds.create) - ..pPS( - 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'addedChainBlockHashes', - protoName: 'addedChainBlockHashes') - ..aOM( - 1000, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'error', - subBuilder: RPCError.create) - ..hasRequiredFields = false; - - GetVirtualSelectedParentChainFromBlockResponseMessage._() : super(); - factory GetVirtualSelectedParentChainFromBlockResponseMessage({ +class GetVirtualChainFromBlockResponseMessage extends $pb.GeneratedMessage { + factory GetVirtualChainFromBlockResponseMessage({ $core.Iterable<$core.String>? removedChainBlockHashes, - $core.Iterable? acceptedTransactionIds, + $core.Iterable? acceptedTransactionIds, $core.Iterable<$core.String>? addedChainBlockHashes, RPCError? error, }) { - final _result = create(); + final $result = create(); if (removedChainBlockHashes != null) { - _result.removedChainBlockHashes.addAll(removedChainBlockHashes); + $result.removedChainBlockHashes.addAll(removedChainBlockHashes); } if (acceptedTransactionIds != null) { - _result.acceptedTransactionIds.addAll(acceptedTransactionIds); + $result.acceptedTransactionIds.addAll(acceptedTransactionIds); } if (addedChainBlockHashes != null) { - _result.addedChainBlockHashes.addAll(addedChainBlockHashes); + $result.addedChainBlockHashes.addAll(addedChainBlockHashes); } if (error != null) { - _result.error = error; - } - return _result; - } - factory GetVirtualSelectedParentChainFromBlockResponseMessage.fromBuffer( - $core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory GetVirtualSelectedParentChainFromBlockResponseMessage.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') - GetVirtualSelectedParentChainFromBlockResponseMessage clone() => - GetVirtualSelectedParentChainFromBlockResponseMessage() - ..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - GetVirtualSelectedParentChainFromBlockResponseMessage copyWith( - void Function(GetVirtualSelectedParentChainFromBlockResponseMessage) - updates) => - super.copyWith((message) => updates( - message as GetVirtualSelectedParentChainFromBlockResponseMessage)) - as GetVirtualSelectedParentChainFromBlockResponseMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static GetVirtualSelectedParentChainFromBlockResponseMessage create() => - GetVirtualSelectedParentChainFromBlockResponseMessage._(); - GetVirtualSelectedParentChainFromBlockResponseMessage createEmptyInstance() => - create(); - static $pb.PbList - createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static GetVirtualSelectedParentChainFromBlockResponseMessage getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< - GetVirtualSelectedParentChainFromBlockResponseMessage>(create); - static GetVirtualSelectedParentChainFromBlockResponseMessage? - _defaultInstance; + $result.error = error; + } + return $result; + } + GetVirtualChainFromBlockResponseMessage._() : super(); + factory GetVirtualChainFromBlockResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetVirtualChainFromBlockResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetVirtualChainFromBlockResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..pPS(1, _omitFieldNames ? '' : 'removedChainBlockHashes', protoName: 'removedChainBlockHashes') + ..pc(2, _omitFieldNames ? '' : 'acceptedTransactionIds', $pb.PbFieldType.PM, protoName: 'acceptedTransactionIds', subBuilder: RpcAcceptedTransactionIds.create) + ..pPS(3, _omitFieldNames ? '' : 'addedChainBlockHashes', protoName: 'addedChainBlockHashes') + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetVirtualChainFromBlockResponseMessage clone() => GetVirtualChainFromBlockResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetVirtualChainFromBlockResponseMessage copyWith(void Function(GetVirtualChainFromBlockResponseMessage) updates) => super.copyWith((message) => updates(message as GetVirtualChainFromBlockResponseMessage)) as GetVirtualChainFromBlockResponseMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetVirtualChainFromBlockResponseMessage create() => GetVirtualChainFromBlockResponseMessage._(); + GetVirtualChainFromBlockResponseMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetVirtualChainFromBlockResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static GetVirtualChainFromBlockResponseMessage? _defaultInstance; + /// The chain blocks that were removed, in high-to-low order @$pb.TagNumber(1) $core.List<$core.String> get removedChainBlockHashes => $_getList(0); + /// The transactions accepted by each block in addedChainBlockHashes. + /// Will be filled only if `includeAcceptedTransactionIds = true` in the request. @$pb.TagNumber(2) - $core.List get acceptedTransactionIds => $_getList(1); + $core.List get acceptedTransactionIds => $_getList(1); + /// The chain blocks that were added, in low-to-high order @$pb.TagNumber(3) $core.List<$core.String> get addedChainBlockHashes => $_getList(2); @$pb.TagNumber(1000) RPCError get error => $_getN(3); @$pb.TagNumber(1000) - set error(RPCError v) { - setField(1000, v); - } - + set error(RPCError v) { setField(1000, v); } @$pb.TagNumber(1000) $core.bool hasError() => $_has(3); @$pb.TagNumber(1000) @@ -5199,90 +3764,62 @@ class GetVirtualSelectedParentChainFromBlockResponseMessage RPCError ensureError() => $_ensure(3); } +/// GetBlocksRequestMessage requests blocks between a certain block lowHash up to this +/// karlsend's current virtual. class GetBlocksRequestMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'GetBlocksRequestMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOS( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'lowHash', - protoName: 'lowHash') - ..aOB( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'includeBlocks', - protoName: 'includeBlocks') - ..aOB( - 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'includeTransactions', - protoName: 'includeTransactions') - ..hasRequiredFields = false; - - GetBlocksRequestMessage._() : super(); factory GetBlocksRequestMessage({ $core.String? lowHash, $core.bool? includeBlocks, $core.bool? includeTransactions, }) { - final _result = create(); + final $result = create(); if (lowHash != null) { - _result.lowHash = lowHash; + $result.lowHash = lowHash; } if (includeBlocks != null) { - _result.includeBlocks = includeBlocks; + $result.includeBlocks = includeBlocks; } if (includeTransactions != null) { - _result.includeTransactions = includeTransactions; + $result.includeTransactions = includeTransactions; } - return _result; + return $result; } - factory GetBlocksRequestMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory GetBlocksRequestMessage.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') - GetBlocksRequestMessage clone() => - GetBlocksRequestMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - GetBlocksRequestMessage copyWith( - void Function(GetBlocksRequestMessage) updates) => - super.copyWith((message) => updates(message as GetBlocksRequestMessage)) - as GetBlocksRequestMessage; // ignore: deprecated_member_use + GetBlocksRequestMessage._() : super(); + factory GetBlocksRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetBlocksRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetBlocksRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'lowHash', protoName: 'lowHash') + ..aOB(2, _omitFieldNames ? '' : 'includeBlocks', protoName: 'includeBlocks') + ..aOB(3, _omitFieldNames ? '' : 'includeTransactions', protoName: 'includeTransactions') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetBlocksRequestMessage clone() => GetBlocksRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetBlocksRequestMessage copyWith(void Function(GetBlocksRequestMessage) updates) => super.copyWith((message) => updates(message as GetBlocksRequestMessage)) as GetBlocksRequestMessage; + $pb.BuilderInfo get info_ => _i; + @$core.pragma('dart2js:noInline') static GetBlocksRequestMessage create() => GetBlocksRequestMessage._(); GetBlocksRequestMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static GetBlocksRequestMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); + static GetBlocksRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static GetBlocksRequestMessage? _defaultInstance; @$pb.TagNumber(1) $core.String get lowHash => $_getSZ(0); @$pb.TagNumber(1) - set lowHash($core.String v) { - $_setString(0, v); - } - + set lowHash($core.String v) { $_setString(0, v); } @$pb.TagNumber(1) $core.bool hasLowHash() => $_has(0); @$pb.TagNumber(1) @@ -5291,10 +3828,7 @@ class GetBlocksRequestMessage extends $pb.GeneratedMessage { @$pb.TagNumber(2) $core.bool get includeBlocks => $_getBF(1); @$pb.TagNumber(2) - set includeBlocks($core.bool v) { - $_setBool(1, v); - } - + set includeBlocks($core.bool v) { $_setBool(1, v); } @$pb.TagNumber(2) $core.bool hasIncludeBlocks() => $_has(1); @$pb.TagNumber(2) @@ -5303,10 +3837,7 @@ class GetBlocksRequestMessage extends $pb.GeneratedMessage { @$pb.TagNumber(3) $core.bool get includeTransactions => $_getBF(2); @$pb.TagNumber(3) - set includeTransactions($core.bool v) { - $_setBool(2, v); - } - + set includeTransactions($core.bool v) { $_setBool(2, v); } @$pb.TagNumber(3) $core.bool hasIncludeTransactions() => $_has(2); @$pb.TagNumber(3) @@ -5314,81 +3845,53 @@ class GetBlocksRequestMessage extends $pb.GeneratedMessage { } class GetBlocksResponseMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'GetBlocksResponseMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..pc( - 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'blocks', - $pb.PbFieldType.PM, - subBuilder: RpcBlock.create) - ..pPS( - 4, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'blockHashes', - protoName: 'blockHashes') - ..aOM( - 1000, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'error', - subBuilder: RPCError.create) - ..hasRequiredFields = false; - - GetBlocksResponseMessage._() : super(); factory GetBlocksResponseMessage({ $core.Iterable? blocks, $core.Iterable<$core.String>? blockHashes, RPCError? error, }) { - final _result = create(); + final $result = create(); if (blocks != null) { - _result.blocks.addAll(blocks); + $result.blocks.addAll(blocks); } if (blockHashes != null) { - _result.blockHashes.addAll(blockHashes); + $result.blockHashes.addAll(blockHashes); } if (error != null) { - _result.error = error; + $result.error = error; } - return _result; + return $result; } - factory GetBlocksResponseMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory GetBlocksResponseMessage.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') - GetBlocksResponseMessage clone() => - GetBlocksResponseMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - GetBlocksResponseMessage copyWith( - void Function(GetBlocksResponseMessage) updates) => - super.copyWith((message) => updates(message as GetBlocksResponseMessage)) - as GetBlocksResponseMessage; // ignore: deprecated_member_use + GetBlocksResponseMessage._() : super(); + factory GetBlocksResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetBlocksResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetBlocksResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..pc(3, _omitFieldNames ? '' : 'blocks', $pb.PbFieldType.PM, subBuilder: RpcBlock.create) + ..pPS(4, _omitFieldNames ? '' : 'blockHashes', protoName: 'blockHashes') + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetBlocksResponseMessage clone() => GetBlocksResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetBlocksResponseMessage copyWith(void Function(GetBlocksResponseMessage) updates) => super.copyWith((message) => updates(message as GetBlocksResponseMessage)) as GetBlocksResponseMessage; + $pb.BuilderInfo get info_ => _i; + @$core.pragma('dart2js:noInline') static GetBlocksResponseMessage create() => GetBlocksResponseMessage._(); GetBlocksResponseMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static GetBlocksResponseMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); + static GetBlocksResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static GetBlocksResponseMessage? _defaultInstance; @$pb.TagNumber(3) @@ -5400,10 +3903,7 @@ class GetBlocksResponseMessage extends $pb.GeneratedMessage { @$pb.TagNumber(1000) RPCError get error => $_getN(2); @$pb.TagNumber(1000) - set error(RPCError v) { - setField(1000, v); - } - + set error(RPCError v) { setField(1000, v); } @$pb.TagNumber(1000) $core.bool hasError() => $_has(2); @$pb.TagNumber(1000) @@ -5412,142 +3912,94 @@ class GetBlocksResponseMessage extends $pb.GeneratedMessage { RPCError ensureError() => $_ensure(2); } +/// GetBlockCountRequestMessage requests the current number of blocks in this karlsend. +/// Note that this number may decrease as pruning occurs. class GetBlockCountRequestMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'GetBlockCountRequestMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..hasRequiredFields = false; - - GetBlockCountRequestMessage._() : super(); factory GetBlockCountRequestMessage() => create(); - factory GetBlockCountRequestMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory GetBlockCountRequestMessage.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') - GetBlockCountRequestMessage clone() => - GetBlockCountRequestMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - GetBlockCountRequestMessage copyWith( - void Function(GetBlockCountRequestMessage) updates) => - super.copyWith( - (message) => updates(message as GetBlockCountRequestMessage)) - as GetBlockCountRequestMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static GetBlockCountRequestMessage create() => - GetBlockCountRequestMessage._(); + GetBlockCountRequestMessage._() : super(); + factory GetBlockCountRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetBlockCountRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetBlockCountRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetBlockCountRequestMessage clone() => GetBlockCountRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetBlockCountRequestMessage copyWith(void Function(GetBlockCountRequestMessage) updates) => super.copyWith((message) => updates(message as GetBlockCountRequestMessage)) as GetBlockCountRequestMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetBlockCountRequestMessage create() => GetBlockCountRequestMessage._(); GetBlockCountRequestMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static GetBlockCountRequestMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); + static GetBlockCountRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static GetBlockCountRequestMessage? _defaultInstance; } class GetBlockCountResponseMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'GetBlockCountResponseMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..a<$fixnum.Int64>( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'blockCount', - $pb.PbFieldType.OU6, - protoName: 'blockCount', - defaultOrMaker: $fixnum.Int64.ZERO) - ..a<$fixnum.Int64>( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'headerCount', - $pb.PbFieldType.OU6, - protoName: 'headerCount', - defaultOrMaker: $fixnum.Int64.ZERO) - ..aOM( - 1000, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'error', - subBuilder: RPCError.create) - ..hasRequiredFields = false; - - GetBlockCountResponseMessage._() : super(); factory GetBlockCountResponseMessage({ $fixnum.Int64? blockCount, $fixnum.Int64? headerCount, RPCError? error, }) { - final _result = create(); + final $result = create(); if (blockCount != null) { - _result.blockCount = blockCount; + $result.blockCount = blockCount; } if (headerCount != null) { - _result.headerCount = headerCount; + $result.headerCount = headerCount; } if (error != null) { - _result.error = error; + $result.error = error; } - return _result; + return $result; } - factory GetBlockCountResponseMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory GetBlockCountResponseMessage.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') - GetBlockCountResponseMessage clone() => - GetBlockCountResponseMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - GetBlockCountResponseMessage copyWith( - void Function(GetBlockCountResponseMessage) updates) => - super.copyWith( - (message) => updates(message as GetBlockCountResponseMessage)) - as GetBlockCountResponseMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static GetBlockCountResponseMessage create() => - GetBlockCountResponseMessage._(); + GetBlockCountResponseMessage._() : super(); + factory GetBlockCountResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetBlockCountResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetBlockCountResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..a<$fixnum.Int64>(1, _omitFieldNames ? '' : 'blockCount', $pb.PbFieldType.OU6, protoName: 'blockCount', defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$fixnum.Int64>(2, _omitFieldNames ? '' : 'headerCount', $pb.PbFieldType.OU6, protoName: 'headerCount', defaultOrMaker: $fixnum.Int64.ZERO) + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetBlockCountResponseMessage clone() => GetBlockCountResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetBlockCountResponseMessage copyWith(void Function(GetBlockCountResponseMessage) updates) => super.copyWith((message) => updates(message as GetBlockCountResponseMessage)) as GetBlockCountResponseMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetBlockCountResponseMessage create() => GetBlockCountResponseMessage._(); GetBlockCountResponseMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static GetBlockCountResponseMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); + static GetBlockCountResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static GetBlockCountResponseMessage? _defaultInstance; @$pb.TagNumber(1) $fixnum.Int64 get blockCount => $_getI64(0); @$pb.TagNumber(1) - set blockCount($fixnum.Int64 v) { - $_setInt64(0, v); - } - + set blockCount($fixnum.Int64 v) { $_setInt64(0, v); } @$pb.TagNumber(1) $core.bool hasBlockCount() => $_has(0); @$pb.TagNumber(1) @@ -5556,10 +4008,7 @@ class GetBlockCountResponseMessage extends $pb.GeneratedMessage { @$pb.TagNumber(2) $fixnum.Int64 get headerCount => $_getI64(1); @$pb.TagNumber(2) - set headerCount($fixnum.Int64 v) { - $_setInt64(1, v); - } - + set headerCount($fixnum.Int64 v) { $_setInt64(1, v); } @$pb.TagNumber(2) $core.bool hasHeaderCount() => $_has(1); @$pb.TagNumber(2) @@ -5568,10 +4017,7 @@ class GetBlockCountResponseMessage extends $pb.GeneratedMessage { @$pb.TagNumber(1000) RPCError get error => $_getN(2); @$pb.TagNumber(1000) - set error(RPCError v) { - setField(1000, v); - } - + set error(RPCError v) { setField(1000, v); } @$pb.TagNumber(1000) $core.bool hasError() => $_has(2); @$pb.TagNumber(1000) @@ -5580,131 +4026,41 @@ class GetBlockCountResponseMessage extends $pb.GeneratedMessage { RPCError ensureError() => $_ensure(2); } +/// GetBlockDagInfoRequestMessage requests general information about the current state +/// of this karlsend's DAG. class GetBlockDagInfoRequestMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'GetBlockDagInfoRequestMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..hasRequiredFields = false; - - GetBlockDagInfoRequestMessage._() : super(); factory GetBlockDagInfoRequestMessage() => create(); - factory GetBlockDagInfoRequestMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory GetBlockDagInfoRequestMessage.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') - GetBlockDagInfoRequestMessage clone() => - GetBlockDagInfoRequestMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - GetBlockDagInfoRequestMessage copyWith( - void Function(GetBlockDagInfoRequestMessage) updates) => - super.copyWith( - (message) => updates(message as GetBlockDagInfoRequestMessage)) - as GetBlockDagInfoRequestMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static GetBlockDagInfoRequestMessage create() => - GetBlockDagInfoRequestMessage._(); + GetBlockDagInfoRequestMessage._() : super(); + factory GetBlockDagInfoRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetBlockDagInfoRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetBlockDagInfoRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetBlockDagInfoRequestMessage clone() => GetBlockDagInfoRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetBlockDagInfoRequestMessage copyWith(void Function(GetBlockDagInfoRequestMessage) updates) => super.copyWith((message) => updates(message as GetBlockDagInfoRequestMessage)) as GetBlockDagInfoRequestMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetBlockDagInfoRequestMessage create() => GetBlockDagInfoRequestMessage._(); GetBlockDagInfoRequestMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static GetBlockDagInfoRequestMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); + static GetBlockDagInfoRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static GetBlockDagInfoRequestMessage? _defaultInstance; } class GetBlockDagInfoResponseMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'GetBlockDagInfoResponseMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOS( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'networkName', - protoName: 'networkName') - ..a<$fixnum.Int64>( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'blockCount', - $pb.PbFieldType.OU6, - protoName: 'blockCount', - defaultOrMaker: $fixnum.Int64.ZERO) - ..a<$fixnum.Int64>( - 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'headerCount', - $pb.PbFieldType.OU6, - protoName: 'headerCount', - defaultOrMaker: $fixnum.Int64.ZERO) - ..pPS( - 4, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'tipHashes', - protoName: 'tipHashes') - ..a<$core.double>( - 5, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'difficulty', - $pb.PbFieldType.OD) - ..aInt64( - 6, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'pastMedianTime', - protoName: 'pastMedianTime') - ..pPS( - 7, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'virtualParentHashes', - protoName: 'virtualParentHashes') - ..aOS( - 8, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'pruningPointHash', - protoName: 'pruningPointHash') - ..a<$fixnum.Int64>( - 9, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'virtualDaaScore', - $pb.PbFieldType.OU6, - protoName: 'virtualDaaScore', - defaultOrMaker: $fixnum.Int64.ZERO) - ..aOM( - 1000, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'error', - subBuilder: RPCError.create) - ..hasRequiredFields = false; - - GetBlockDagInfoResponseMessage._() : super(); factory GetBlockDagInfoResponseMessage({ $core.String? networkName, $fixnum.Int64? blockCount, @@ -5715,79 +4071,89 @@ class GetBlockDagInfoResponseMessage extends $pb.GeneratedMessage { $core.Iterable<$core.String>? virtualParentHashes, $core.String? pruningPointHash, $fixnum.Int64? virtualDaaScore, + $core.String? sink, RPCError? error, }) { - final _result = create(); + final $result = create(); if (networkName != null) { - _result.networkName = networkName; + $result.networkName = networkName; } if (blockCount != null) { - _result.blockCount = blockCount; + $result.blockCount = blockCount; } if (headerCount != null) { - _result.headerCount = headerCount; + $result.headerCount = headerCount; } if (tipHashes != null) { - _result.tipHashes.addAll(tipHashes); + $result.tipHashes.addAll(tipHashes); } if (difficulty != null) { - _result.difficulty = difficulty; + $result.difficulty = difficulty; } if (pastMedianTime != null) { - _result.pastMedianTime = pastMedianTime; + $result.pastMedianTime = pastMedianTime; } if (virtualParentHashes != null) { - _result.virtualParentHashes.addAll(virtualParentHashes); + $result.virtualParentHashes.addAll(virtualParentHashes); } if (pruningPointHash != null) { - _result.pruningPointHash = pruningPointHash; + $result.pruningPointHash = pruningPointHash; } if (virtualDaaScore != null) { - _result.virtualDaaScore = virtualDaaScore; + $result.virtualDaaScore = virtualDaaScore; + } + if (sink != null) { + $result.sink = sink; } if (error != null) { - _result.error = error; + $result.error = error; } - return _result; + return $result; } - factory GetBlockDagInfoResponseMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory GetBlockDagInfoResponseMessage.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') - GetBlockDagInfoResponseMessage clone() => - GetBlockDagInfoResponseMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - GetBlockDagInfoResponseMessage copyWith( - void Function(GetBlockDagInfoResponseMessage) updates) => - super.copyWith( - (message) => updates(message as GetBlockDagInfoResponseMessage)) - as GetBlockDagInfoResponseMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static GetBlockDagInfoResponseMessage create() => - GetBlockDagInfoResponseMessage._(); + GetBlockDagInfoResponseMessage._() : super(); + factory GetBlockDagInfoResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetBlockDagInfoResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetBlockDagInfoResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'networkName', protoName: 'networkName') + ..a<$fixnum.Int64>(2, _omitFieldNames ? '' : 'blockCount', $pb.PbFieldType.OU6, protoName: 'blockCount', defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$fixnum.Int64>(3, _omitFieldNames ? '' : 'headerCount', $pb.PbFieldType.OU6, protoName: 'headerCount', defaultOrMaker: $fixnum.Int64.ZERO) + ..pPS(4, _omitFieldNames ? '' : 'tipHashes', protoName: 'tipHashes') + ..a<$core.double>(5, _omitFieldNames ? '' : 'difficulty', $pb.PbFieldType.OD) + ..aInt64(6, _omitFieldNames ? '' : 'pastMedianTime', protoName: 'pastMedianTime') + ..pPS(7, _omitFieldNames ? '' : 'virtualParentHashes', protoName: 'virtualParentHashes') + ..aOS(8, _omitFieldNames ? '' : 'pruningPointHash', protoName: 'pruningPointHash') + ..a<$fixnum.Int64>(9, _omitFieldNames ? '' : 'virtualDaaScore', $pb.PbFieldType.OU6, protoName: 'virtualDaaScore', defaultOrMaker: $fixnum.Int64.ZERO) + ..aOS(10, _omitFieldNames ? '' : 'sink') + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetBlockDagInfoResponseMessage clone() => GetBlockDagInfoResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetBlockDagInfoResponseMessage copyWith(void Function(GetBlockDagInfoResponseMessage) updates) => super.copyWith((message) => updates(message as GetBlockDagInfoResponseMessage)) as GetBlockDagInfoResponseMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetBlockDagInfoResponseMessage create() => GetBlockDagInfoResponseMessage._(); GetBlockDagInfoResponseMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static GetBlockDagInfoResponseMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); + static GetBlockDagInfoResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static GetBlockDagInfoResponseMessage? _defaultInstance; @$pb.TagNumber(1) $core.String get networkName => $_getSZ(0); @$pb.TagNumber(1) - set networkName($core.String v) { - $_setString(0, v); - } - + set networkName($core.String v) { $_setString(0, v); } @$pb.TagNumber(1) $core.bool hasNetworkName() => $_has(0); @$pb.TagNumber(1) @@ -5796,10 +4162,7 @@ class GetBlockDagInfoResponseMessage extends $pb.GeneratedMessage { @$pb.TagNumber(2) $fixnum.Int64 get blockCount => $_getI64(1); @$pb.TagNumber(2) - set blockCount($fixnum.Int64 v) { - $_setInt64(1, v); - } - + set blockCount($fixnum.Int64 v) { $_setInt64(1, v); } @$pb.TagNumber(2) $core.bool hasBlockCount() => $_has(1); @$pb.TagNumber(2) @@ -5808,10 +4171,7 @@ class GetBlockDagInfoResponseMessage extends $pb.GeneratedMessage { @$pb.TagNumber(3) $fixnum.Int64 get headerCount => $_getI64(2); @$pb.TagNumber(3) - set headerCount($fixnum.Int64 v) { - $_setInt64(2, v); - } - + set headerCount($fixnum.Int64 v) { $_setInt64(2, v); } @$pb.TagNumber(3) $core.bool hasHeaderCount() => $_has(2); @$pb.TagNumber(3) @@ -5823,10 +4183,7 @@ class GetBlockDagInfoResponseMessage extends $pb.GeneratedMessage { @$pb.TagNumber(5) $core.double get difficulty => $_getN(4); @$pb.TagNumber(5) - set difficulty($core.double v) { - $_setDouble(4, v); - } - + set difficulty($core.double v) { $_setDouble(4, v); } @$pb.TagNumber(5) $core.bool hasDifficulty() => $_has(4); @$pb.TagNumber(5) @@ -5835,10 +4192,7 @@ class GetBlockDagInfoResponseMessage extends $pb.GeneratedMessage { @$pb.TagNumber(6) $fixnum.Int64 get pastMedianTime => $_getI64(5); @$pb.TagNumber(6) - set pastMedianTime($fixnum.Int64 v) { - $_setInt64(5, v); - } - + set pastMedianTime($fixnum.Int64 v) { $_setInt64(5, v); } @$pb.TagNumber(6) $core.bool hasPastMedianTime() => $_has(5); @$pb.TagNumber(6) @@ -5850,10 +4204,7 @@ class GetBlockDagInfoResponseMessage extends $pb.GeneratedMessage { @$pb.TagNumber(8) $core.String get pruningPointHash => $_getSZ(7); @$pb.TagNumber(8) - set pruningPointHash($core.String v) { - $_setString(7, v); - } - + set pruningPointHash($core.String v) { $_setString(7, v); } @$pb.TagNumber(8) $core.bool hasPruningPointHash() => $_has(7); @$pb.TagNumber(8) @@ -5862,98 +4213,77 @@ class GetBlockDagInfoResponseMessage extends $pb.GeneratedMessage { @$pb.TagNumber(9) $fixnum.Int64 get virtualDaaScore => $_getI64(8); @$pb.TagNumber(9) - set virtualDaaScore($fixnum.Int64 v) { - $_setInt64(8, v); - } - + set virtualDaaScore($fixnum.Int64 v) { $_setInt64(8, v); } @$pb.TagNumber(9) $core.bool hasVirtualDaaScore() => $_has(8); @$pb.TagNumber(9) void clearVirtualDaaScore() => clearField(9); + @$pb.TagNumber(10) + $core.String get sink => $_getSZ(9); + @$pb.TagNumber(10) + set sink($core.String v) { $_setString(9, v); } + @$pb.TagNumber(10) + $core.bool hasSink() => $_has(9); + @$pb.TagNumber(10) + void clearSink() => clearField(10); + @$pb.TagNumber(1000) - RPCError get error => $_getN(9); + RPCError get error => $_getN(10); @$pb.TagNumber(1000) - set error(RPCError v) { - setField(1000, v); - } - + set error(RPCError v) { setField(1000, v); } @$pb.TagNumber(1000) - $core.bool hasError() => $_has(9); + $core.bool hasError() => $_has(10); @$pb.TagNumber(1000) void clearError() => clearField(1000); @$pb.TagNumber(1000) - RPCError ensureError() => $_ensure(9); + RPCError ensureError() => $_ensure(10); } class ResolveFinalityConflictRequestMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'ResolveFinalityConflictRequestMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOS( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'finalityBlockHash', - protoName: 'finalityBlockHash') - ..hasRequiredFields = false; - - ResolveFinalityConflictRequestMessage._() : super(); factory ResolveFinalityConflictRequestMessage({ $core.String? finalityBlockHash, }) { - final _result = create(); + final $result = create(); if (finalityBlockHash != null) { - _result.finalityBlockHash = finalityBlockHash; + $result.finalityBlockHash = finalityBlockHash; } - return _result; + return $result; } - factory ResolveFinalityConflictRequestMessage.fromBuffer( - $core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory ResolveFinalityConflictRequestMessage.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') - ResolveFinalityConflictRequestMessage clone() => - ResolveFinalityConflictRequestMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - ResolveFinalityConflictRequestMessage copyWith( - void Function(ResolveFinalityConflictRequestMessage) updates) => - super.copyWith((message) => - updates(message as ResolveFinalityConflictRequestMessage)) - as ResolveFinalityConflictRequestMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static ResolveFinalityConflictRequestMessage create() => - ResolveFinalityConflictRequestMessage._(); + ResolveFinalityConflictRequestMessage._() : super(); + factory ResolveFinalityConflictRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ResolveFinalityConflictRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ResolveFinalityConflictRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'finalityBlockHash', protoName: 'finalityBlockHash') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ResolveFinalityConflictRequestMessage clone() => ResolveFinalityConflictRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ResolveFinalityConflictRequestMessage copyWith(void Function(ResolveFinalityConflictRequestMessage) updates) => super.copyWith((message) => updates(message as ResolveFinalityConflictRequestMessage)) as ResolveFinalityConflictRequestMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ResolveFinalityConflictRequestMessage create() => ResolveFinalityConflictRequestMessage._(); ResolveFinalityConflictRequestMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static ResolveFinalityConflictRequestMessage getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< - ResolveFinalityConflictRequestMessage>(create); + static ResolveFinalityConflictRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static ResolveFinalityConflictRequestMessage? _defaultInstance; @$pb.TagNumber(1) $core.String get finalityBlockHash => $_getSZ(0); @$pb.TagNumber(1) - set finalityBlockHash($core.String v) { - $_setString(0, v); - } - + set finalityBlockHash($core.String v) { $_setString(0, v); } @$pb.TagNumber(1) $core.bool hasFinalityBlockHash() => $_has(0); @$pb.TagNumber(1) @@ -5961,73 +4291,49 @@ class ResolveFinalityConflictRequestMessage extends $pb.GeneratedMessage { } class ResolveFinalityConflictResponseMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'ResolveFinalityConflictResponseMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOM( - 1000, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'error', - subBuilder: RPCError.create) - ..hasRequiredFields = false; - - ResolveFinalityConflictResponseMessage._() : super(); factory ResolveFinalityConflictResponseMessage({ RPCError? error, }) { - final _result = create(); + final $result = create(); if (error != null) { - _result.error = error; + $result.error = error; } - return _result; + return $result; } - factory ResolveFinalityConflictResponseMessage.fromBuffer( - $core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory ResolveFinalityConflictResponseMessage.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') - ResolveFinalityConflictResponseMessage clone() => - ResolveFinalityConflictResponseMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - ResolveFinalityConflictResponseMessage copyWith( - void Function(ResolveFinalityConflictResponseMessage) updates) => - super.copyWith((message) => - updates(message as ResolveFinalityConflictResponseMessage)) - as ResolveFinalityConflictResponseMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static ResolveFinalityConflictResponseMessage create() => - ResolveFinalityConflictResponseMessage._(); + ResolveFinalityConflictResponseMessage._() : super(); + factory ResolveFinalityConflictResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ResolveFinalityConflictResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ResolveFinalityConflictResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ResolveFinalityConflictResponseMessage clone() => ResolveFinalityConflictResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ResolveFinalityConflictResponseMessage copyWith(void Function(ResolveFinalityConflictResponseMessage) updates) => super.copyWith((message) => updates(message as ResolveFinalityConflictResponseMessage)) as ResolveFinalityConflictResponseMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ResolveFinalityConflictResponseMessage create() => ResolveFinalityConflictResponseMessage._(); ResolveFinalityConflictResponseMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static ResolveFinalityConflictResponseMessage getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< - ResolveFinalityConflictResponseMessage>(create); + static ResolveFinalityConflictResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static ResolveFinalityConflictResponseMessage? _defaultInstance; @$pb.TagNumber(1000) RPCError get error => $_getN(0); @$pb.TagNumber(1000) - set error(RPCError v) { - setField(1000, v); - } - + set error(RPCError v) { setField(1000, v); } @$pb.TagNumber(1000) $core.bool hasError() => $_has(0); @$pb.TagNumber(1000) @@ -6036,122 +4342,100 @@ class ResolveFinalityConflictResponseMessage extends $pb.GeneratedMessage { RPCError ensureError() => $_ensure(0); } -class NotifyFinalityConflictsRequestMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'NotifyFinalityConflictsRequestMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..hasRequiredFields = false; - - NotifyFinalityConflictsRequestMessage._() : super(); - factory NotifyFinalityConflictsRequestMessage() => create(); - factory NotifyFinalityConflictsRequestMessage.fromBuffer( - $core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory NotifyFinalityConflictsRequestMessage.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') - NotifyFinalityConflictsRequestMessage clone() => - NotifyFinalityConflictsRequestMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - NotifyFinalityConflictsRequestMessage copyWith( - void Function(NotifyFinalityConflictsRequestMessage) updates) => - super.copyWith((message) => - updates(message as NotifyFinalityConflictsRequestMessage)) - as NotifyFinalityConflictsRequestMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static NotifyFinalityConflictsRequestMessage create() => - NotifyFinalityConflictsRequestMessage._(); - NotifyFinalityConflictsRequestMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static NotifyFinalityConflictsRequestMessage getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< - NotifyFinalityConflictsRequestMessage>(create); - static NotifyFinalityConflictsRequestMessage? _defaultInstance; -} - -class NotifyFinalityConflictsResponseMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'NotifyFinalityConflictsResponseMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOM( - 1000, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'error', - subBuilder: RPCError.create) - ..hasRequiredFields = false; - - NotifyFinalityConflictsResponseMessage._() : super(); - factory NotifyFinalityConflictsResponseMessage({ +class NotifyFinalityConflictRequestMessage extends $pb.GeneratedMessage { + factory NotifyFinalityConflictRequestMessage({ + RpcNotifyCommand? command, + }) { + final $result = create(); + if (command != null) { + $result.command = command; + } + return $result; + } + NotifyFinalityConflictRequestMessage._() : super(); + factory NotifyFinalityConflictRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory NotifyFinalityConflictRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'NotifyFinalityConflictRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..e(101, _omitFieldNames ? '' : 'command', $pb.PbFieldType.OE, defaultOrMaker: RpcNotifyCommand.NOTIFY_START, valueOf: RpcNotifyCommand.valueOf, enumValues: RpcNotifyCommand.values) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + NotifyFinalityConflictRequestMessage clone() => NotifyFinalityConflictRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + NotifyFinalityConflictRequestMessage copyWith(void Function(NotifyFinalityConflictRequestMessage) updates) => super.copyWith((message) => updates(message as NotifyFinalityConflictRequestMessage)) as NotifyFinalityConflictRequestMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static NotifyFinalityConflictRequestMessage create() => NotifyFinalityConflictRequestMessage._(); + NotifyFinalityConflictRequestMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static NotifyFinalityConflictRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static NotifyFinalityConflictRequestMessage? _defaultInstance; + + @$pb.TagNumber(101) + RpcNotifyCommand get command => $_getN(0); + @$pb.TagNumber(101) + set command(RpcNotifyCommand v) { setField(101, v); } + @$pb.TagNumber(101) + $core.bool hasCommand() => $_has(0); + @$pb.TagNumber(101) + void clearCommand() => clearField(101); +} + +class NotifyFinalityConflictResponseMessage extends $pb.GeneratedMessage { + factory NotifyFinalityConflictResponseMessage({ RPCError? error, }) { - final _result = create(); + final $result = create(); if (error != null) { - _result.error = error; - } - return _result; - } - factory NotifyFinalityConflictsResponseMessage.fromBuffer( - $core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory NotifyFinalityConflictsResponseMessage.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') - NotifyFinalityConflictsResponseMessage clone() => - NotifyFinalityConflictsResponseMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - NotifyFinalityConflictsResponseMessage copyWith( - void Function(NotifyFinalityConflictsResponseMessage) updates) => - super.copyWith((message) => - updates(message as NotifyFinalityConflictsResponseMessage)) - as NotifyFinalityConflictsResponseMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static NotifyFinalityConflictsResponseMessage create() => - NotifyFinalityConflictsResponseMessage._(); - NotifyFinalityConflictsResponseMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static NotifyFinalityConflictsResponseMessage getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< - NotifyFinalityConflictsResponseMessage>(create); - static NotifyFinalityConflictsResponseMessage? _defaultInstance; + $result.error = error; + } + return $result; + } + NotifyFinalityConflictResponseMessage._() : super(); + factory NotifyFinalityConflictResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory NotifyFinalityConflictResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'NotifyFinalityConflictResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + NotifyFinalityConflictResponseMessage clone() => NotifyFinalityConflictResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + NotifyFinalityConflictResponseMessage copyWith(void Function(NotifyFinalityConflictResponseMessage) updates) => super.copyWith((message) => updates(message as NotifyFinalityConflictResponseMessage)) as NotifyFinalityConflictResponseMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static NotifyFinalityConflictResponseMessage create() => NotifyFinalityConflictResponseMessage._(); + NotifyFinalityConflictResponseMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static NotifyFinalityConflictResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static NotifyFinalityConflictResponseMessage? _defaultInstance; @$pb.TagNumber(1000) RPCError get error => $_getN(0); @$pb.TagNumber(1000) - set error(RPCError v) { - setField(1000, v); - } - + set error(RPCError v) { setField(1000, v); } @$pb.TagNumber(1000) $core.bool hasError() => $_has(0); @$pb.TagNumber(1000) @@ -6161,73 +4445,49 @@ class NotifyFinalityConflictsResponseMessage extends $pb.GeneratedMessage { } class FinalityConflictNotificationMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'FinalityConflictNotificationMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOS( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'violatingBlockHash', - protoName: 'violatingBlockHash') - ..hasRequiredFields = false; - - FinalityConflictNotificationMessage._() : super(); factory FinalityConflictNotificationMessage({ $core.String? violatingBlockHash, }) { - final _result = create(); + final $result = create(); if (violatingBlockHash != null) { - _result.violatingBlockHash = violatingBlockHash; + $result.violatingBlockHash = violatingBlockHash; } - return _result; + return $result; } - factory FinalityConflictNotificationMessage.fromBuffer( - $core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory FinalityConflictNotificationMessage.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') - FinalityConflictNotificationMessage clone() => - FinalityConflictNotificationMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - FinalityConflictNotificationMessage copyWith( - void Function(FinalityConflictNotificationMessage) updates) => - super.copyWith((message) => - updates(message as FinalityConflictNotificationMessage)) - as FinalityConflictNotificationMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static FinalityConflictNotificationMessage create() => - FinalityConflictNotificationMessage._(); + FinalityConflictNotificationMessage._() : super(); + factory FinalityConflictNotificationMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory FinalityConflictNotificationMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'FinalityConflictNotificationMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'violatingBlockHash', protoName: 'violatingBlockHash') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + FinalityConflictNotificationMessage clone() => FinalityConflictNotificationMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + FinalityConflictNotificationMessage copyWith(void Function(FinalityConflictNotificationMessage) updates) => super.copyWith((message) => updates(message as FinalityConflictNotificationMessage)) as FinalityConflictNotificationMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static FinalityConflictNotificationMessage create() => FinalityConflictNotificationMessage._(); FinalityConflictNotificationMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static FinalityConflictNotificationMessage getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< - FinalityConflictNotificationMessage>(create); + static FinalityConflictNotificationMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static FinalityConflictNotificationMessage? _defaultInstance; @$pb.TagNumber(1) $core.String get violatingBlockHash => $_getSZ(0); @$pb.TagNumber(1) - set violatingBlockHash($core.String v) { - $_setString(0, v); - } - + set violatingBlockHash($core.String v) { $_setString(0, v); } @$pb.TagNumber(1) $core.bool hasViolatingBlockHash() => $_has(0); @$pb.TagNumber(1) @@ -6235,188 +4495,132 @@ class FinalityConflictNotificationMessage extends $pb.GeneratedMessage { } class FinalityConflictResolvedNotificationMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'FinalityConflictResolvedNotificationMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOS( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'finalityBlockHash', - protoName: 'finalityBlockHash') - ..hasRequiredFields = false; - - FinalityConflictResolvedNotificationMessage._() : super(); factory FinalityConflictResolvedNotificationMessage({ $core.String? finalityBlockHash, }) { - final _result = create(); + final $result = create(); if (finalityBlockHash != null) { - _result.finalityBlockHash = finalityBlockHash; + $result.finalityBlockHash = finalityBlockHash; } - return _result; + return $result; } - factory FinalityConflictResolvedNotificationMessage.fromBuffer( - $core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory FinalityConflictResolvedNotificationMessage.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') - FinalityConflictResolvedNotificationMessage clone() => - FinalityConflictResolvedNotificationMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - FinalityConflictResolvedNotificationMessage copyWith( - void Function(FinalityConflictResolvedNotificationMessage) updates) => - super.copyWith((message) => - updates(message as FinalityConflictResolvedNotificationMessage)) - as FinalityConflictResolvedNotificationMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static FinalityConflictResolvedNotificationMessage create() => - FinalityConflictResolvedNotificationMessage._(); + FinalityConflictResolvedNotificationMessage._() : super(); + factory FinalityConflictResolvedNotificationMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory FinalityConflictResolvedNotificationMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'FinalityConflictResolvedNotificationMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'finalityBlockHash', protoName: 'finalityBlockHash') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + FinalityConflictResolvedNotificationMessage clone() => FinalityConflictResolvedNotificationMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + FinalityConflictResolvedNotificationMessage copyWith(void Function(FinalityConflictResolvedNotificationMessage) updates) => super.copyWith((message) => updates(message as FinalityConflictResolvedNotificationMessage)) as FinalityConflictResolvedNotificationMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static FinalityConflictResolvedNotificationMessage create() => FinalityConflictResolvedNotificationMessage._(); FinalityConflictResolvedNotificationMessage createEmptyInstance() => create(); - static $pb.PbList - createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static FinalityConflictResolvedNotificationMessage getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< - FinalityConflictResolvedNotificationMessage>(create); + static FinalityConflictResolvedNotificationMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static FinalityConflictResolvedNotificationMessage? _defaultInstance; @$pb.TagNumber(1) $core.String get finalityBlockHash => $_getSZ(0); @$pb.TagNumber(1) - set finalityBlockHash($core.String v) { - $_setString(0, v); - } - + set finalityBlockHash($core.String v) { $_setString(0, v); } @$pb.TagNumber(1) $core.bool hasFinalityBlockHash() => $_has(0); @$pb.TagNumber(1) void clearFinalityBlockHash() => clearField(1); } -class ShutDownRequestMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'ShutDownRequestMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..hasRequiredFields = false; - - ShutDownRequestMessage._() : super(); - factory ShutDownRequestMessage() => create(); - factory ShutDownRequestMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory ShutDownRequestMessage.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') - ShutDownRequestMessage clone() => - ShutDownRequestMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - ShutDownRequestMessage copyWith( - void Function(ShutDownRequestMessage) updates) => - super.copyWith((message) => updates(message as ShutDownRequestMessage)) - as ShutDownRequestMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static ShutDownRequestMessage create() => ShutDownRequestMessage._(); - ShutDownRequestMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static ShutDownRequestMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static ShutDownRequestMessage? _defaultInstance; -} - -class ShutDownResponseMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'ShutDownResponseMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOM( - 1000, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'error', - subBuilder: RPCError.create) - ..hasRequiredFields = false; - - ShutDownResponseMessage._() : super(); - factory ShutDownResponseMessage({ +/// ShutdownRequestMessage shuts down this karlsend. +class ShutdownRequestMessage extends $pb.GeneratedMessage { + factory ShutdownRequestMessage() => create(); + ShutdownRequestMessage._() : super(); + factory ShutdownRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ShutdownRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ShutdownRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ShutdownRequestMessage clone() => ShutdownRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ShutdownRequestMessage copyWith(void Function(ShutdownRequestMessage) updates) => super.copyWith((message) => updates(message as ShutdownRequestMessage)) as ShutdownRequestMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ShutdownRequestMessage create() => ShutdownRequestMessage._(); + ShutdownRequestMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ShutdownRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ShutdownRequestMessage? _defaultInstance; +} + +class ShutdownResponseMessage extends $pb.GeneratedMessage { + factory ShutdownResponseMessage({ RPCError? error, }) { - final _result = create(); + final $result = create(); if (error != null) { - _result.error = error; - } - return _result; - } - factory ShutDownResponseMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory ShutDownResponseMessage.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') - ShutDownResponseMessage clone() => - ShutDownResponseMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - ShutDownResponseMessage copyWith( - void Function(ShutDownResponseMessage) updates) => - super.copyWith((message) => updates(message as ShutDownResponseMessage)) - as ShutDownResponseMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static ShutDownResponseMessage create() => ShutDownResponseMessage._(); - ShutDownResponseMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static ShutDownResponseMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static ShutDownResponseMessage? _defaultInstance; + $result.error = error; + } + return $result; + } + ShutdownResponseMessage._() : super(); + factory ShutdownResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ShutdownResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ShutdownResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ShutdownResponseMessage clone() => ShutdownResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ShutdownResponseMessage copyWith(void Function(ShutdownResponseMessage) updates) => super.copyWith((message) => updates(message as ShutdownResponseMessage)) as ShutdownResponseMessage; - @$pb.TagNumber(1000) + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ShutdownResponseMessage create() => ShutdownResponseMessage._(); + ShutdownResponseMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ShutdownResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ShutdownResponseMessage? _defaultInstance; + + @$pb.TagNumber(1000) RPCError get error => $_getN(0); @$pb.TagNumber(1000) - set error(RPCError v) { - setField(1000, v); - } - + set error(RPCError v) { setField(1000, v); } @$pb.TagNumber(1000) $core.bool hasError() => $_has(0); @$pb.TagNumber(1000) @@ -6425,91 +4629,62 @@ class ShutDownResponseMessage extends $pb.GeneratedMessage { RPCError ensureError() => $_ensure(0); } +/// GetHeadersRequestMessage requests headers between the given startHash and the +/// current virtual, up to the given limit. class GetHeadersRequestMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'GetHeadersRequestMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOS( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'startHash', - protoName: 'startHash') - ..a<$fixnum.Int64>( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'limit', - $pb.PbFieldType.OU6, - defaultOrMaker: $fixnum.Int64.ZERO) - ..aOB( - 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'isAscending', - protoName: 'isAscending') - ..hasRequiredFields = false; - - GetHeadersRequestMessage._() : super(); factory GetHeadersRequestMessage({ $core.String? startHash, $fixnum.Int64? limit, $core.bool? isAscending, }) { - final _result = create(); + final $result = create(); if (startHash != null) { - _result.startHash = startHash; + $result.startHash = startHash; } if (limit != null) { - _result.limit = limit; + $result.limit = limit; } if (isAscending != null) { - _result.isAscending = isAscending; + $result.isAscending = isAscending; } - return _result; + return $result; } - factory GetHeadersRequestMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory GetHeadersRequestMessage.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') - GetHeadersRequestMessage clone() => - GetHeadersRequestMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - GetHeadersRequestMessage copyWith( - void Function(GetHeadersRequestMessage) updates) => - super.copyWith((message) => updates(message as GetHeadersRequestMessage)) - as GetHeadersRequestMessage; // ignore: deprecated_member_use + GetHeadersRequestMessage._() : super(); + factory GetHeadersRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetHeadersRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetHeadersRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'startHash', protoName: 'startHash') + ..a<$fixnum.Int64>(2, _omitFieldNames ? '' : 'limit', $pb.PbFieldType.OU6, defaultOrMaker: $fixnum.Int64.ZERO) + ..aOB(3, _omitFieldNames ? '' : 'isAscending', protoName: 'isAscending') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetHeadersRequestMessage clone() => GetHeadersRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetHeadersRequestMessage copyWith(void Function(GetHeadersRequestMessage) updates) => super.copyWith((message) => updates(message as GetHeadersRequestMessage)) as GetHeadersRequestMessage; + $pb.BuilderInfo get info_ => _i; + @$core.pragma('dart2js:noInline') static GetHeadersRequestMessage create() => GetHeadersRequestMessage._(); GetHeadersRequestMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static GetHeadersRequestMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); + static GetHeadersRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static GetHeadersRequestMessage? _defaultInstance; @$pb.TagNumber(1) $core.String get startHash => $_getSZ(0); @$pb.TagNumber(1) - set startHash($core.String v) { - $_setString(0, v); - } - + set startHash($core.String v) { $_setString(0, v); } @$pb.TagNumber(1) $core.bool hasStartHash() => $_has(0); @$pb.TagNumber(1) @@ -6518,10 +4693,7 @@ class GetHeadersRequestMessage extends $pb.GeneratedMessage { @$pb.TagNumber(2) $fixnum.Int64 get limit => $_getI64(1); @$pb.TagNumber(2) - set limit($fixnum.Int64 v) { - $_setInt64(1, v); - } - + set limit($fixnum.Int64 v) { $_setInt64(1, v); } @$pb.TagNumber(2) $core.bool hasLimit() => $_has(1); @$pb.TagNumber(2) @@ -6530,10 +4702,7 @@ class GetHeadersRequestMessage extends $pb.GeneratedMessage { @$pb.TagNumber(3) $core.bool get isAscending => $_getBF(2); @$pb.TagNumber(3) - set isAscending($core.bool v) { - $_setBool(2, v); - } - + set isAscending($core.bool v) { $_setBool(2, v); } @$pb.TagNumber(3) $core.bool hasIsAscending() => $_has(2); @$pb.TagNumber(3) @@ -6541,69 +4710,48 @@ class GetHeadersRequestMessage extends $pb.GeneratedMessage { } class GetHeadersResponseMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'GetHeadersResponseMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..pPS( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'headers') - ..aOM( - 1000, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'error', - subBuilder: RPCError.create) - ..hasRequiredFields = false; - - GetHeadersResponseMessage._() : super(); factory GetHeadersResponseMessage({ $core.Iterable<$core.String>? headers, RPCError? error, }) { - final _result = create(); + final $result = create(); if (headers != null) { - _result.headers.addAll(headers); + $result.headers.addAll(headers); } if (error != null) { - _result.error = error; + $result.error = error; } - return _result; + return $result; } - factory GetHeadersResponseMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory GetHeadersResponseMessage.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') - GetHeadersResponseMessage clone() => - GetHeadersResponseMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - GetHeadersResponseMessage copyWith( - void Function(GetHeadersResponseMessage) updates) => - super.copyWith((message) => updates(message as GetHeadersResponseMessage)) - as GetHeadersResponseMessage; // ignore: deprecated_member_use + GetHeadersResponseMessage._() : super(); + factory GetHeadersResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetHeadersResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetHeadersResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..pPS(1, _omitFieldNames ? '' : 'headers') + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetHeadersResponseMessage clone() => GetHeadersResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetHeadersResponseMessage copyWith(void Function(GetHeadersResponseMessage) updates) => super.copyWith((message) => updates(message as GetHeadersResponseMessage)) as GetHeadersResponseMessage; + $pb.BuilderInfo get info_ => _i; + @$core.pragma('dart2js:noInline') static GetHeadersResponseMessage create() => GetHeadersResponseMessage._(); GetHeadersResponseMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static GetHeadersResponseMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); + static GetHeadersResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static GetHeadersResponseMessage? _defaultInstance; @$pb.TagNumber(1) @@ -6612,10 +4760,7 @@ class GetHeadersResponseMessage extends $pb.GeneratedMessage { @$pb.TagNumber(1000) RPCError get error => $_getN(1); @$pb.TagNumber(1000) - set error(RPCError v) { - setField(1000, v); - } - + set error(RPCError v) { setField(1000, v); } @$pb.TagNumber(1000) $core.bool hasError() => $_has(1); @$pb.TagNumber(1000) @@ -6624,136 +4769,116 @@ class GetHeadersResponseMessage extends $pb.GeneratedMessage { RPCError ensureError() => $_ensure(1); } +/// NotifyUtxosChangedRequestMessage registers this connection for utxoChanged notifications +/// for the given addresses. +/// +/// This call is only available when this karlsend was started with `--utxoindex` +/// +/// See: UtxosChangedNotificationMessage class NotifyUtxosChangedRequestMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'NotifyUtxosChangedRequestMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..pPS( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'addresses') - ..hasRequiredFields = false; - - NotifyUtxosChangedRequestMessage._() : super(); factory NotifyUtxosChangedRequestMessage({ $core.Iterable<$core.String>? addresses, + RpcNotifyCommand? command, }) { - final _result = create(); + final $result = create(); if (addresses != null) { - _result.addresses.addAll(addresses); + $result.addresses.addAll(addresses); } - return _result; + if (command != null) { + $result.command = command; + } + return $result; } - factory NotifyUtxosChangedRequestMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory NotifyUtxosChangedRequestMessage.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') - NotifyUtxosChangedRequestMessage clone() => - NotifyUtxosChangedRequestMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - NotifyUtxosChangedRequestMessage copyWith( - void Function(NotifyUtxosChangedRequestMessage) updates) => - super.copyWith( - (message) => updates(message as NotifyUtxosChangedRequestMessage)) - as NotifyUtxosChangedRequestMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static NotifyUtxosChangedRequestMessage create() => - NotifyUtxosChangedRequestMessage._(); + NotifyUtxosChangedRequestMessage._() : super(); + factory NotifyUtxosChangedRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory NotifyUtxosChangedRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'NotifyUtxosChangedRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..pPS(1, _omitFieldNames ? '' : 'addresses') + ..e(101, _omitFieldNames ? '' : 'command', $pb.PbFieldType.OE, defaultOrMaker: RpcNotifyCommand.NOTIFY_START, valueOf: RpcNotifyCommand.valueOf, enumValues: RpcNotifyCommand.values) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + NotifyUtxosChangedRequestMessage clone() => NotifyUtxosChangedRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + NotifyUtxosChangedRequestMessage copyWith(void Function(NotifyUtxosChangedRequestMessage) updates) => super.copyWith((message) => updates(message as NotifyUtxosChangedRequestMessage)) as NotifyUtxosChangedRequestMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static NotifyUtxosChangedRequestMessage create() => NotifyUtxosChangedRequestMessage._(); NotifyUtxosChangedRequestMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static NotifyUtxosChangedRequestMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor( - create); + static NotifyUtxosChangedRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static NotifyUtxosChangedRequestMessage? _defaultInstance; + /// UTXOs addresses to start/stop getting notified about + /// Leave empty to start/stop all updates @$pb.TagNumber(1) $core.List<$core.String> get addresses => $_getList(0); + + @$pb.TagNumber(101) + RpcNotifyCommand get command => $_getN(1); + @$pb.TagNumber(101) + set command(RpcNotifyCommand v) { setField(101, v); } + @$pb.TagNumber(101) + $core.bool hasCommand() => $_has(1); + @$pb.TagNumber(101) + void clearCommand() => clearField(101); } class NotifyUtxosChangedResponseMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'NotifyUtxosChangedResponseMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOM( - 1000, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'error', - subBuilder: RPCError.create) - ..hasRequiredFields = false; - - NotifyUtxosChangedResponseMessage._() : super(); factory NotifyUtxosChangedResponseMessage({ RPCError? error, }) { - final _result = create(); + final $result = create(); if (error != null) { - _result.error = error; + $result.error = error; } - return _result; + return $result; } - factory NotifyUtxosChangedResponseMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory NotifyUtxosChangedResponseMessage.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') - NotifyUtxosChangedResponseMessage clone() => - NotifyUtxosChangedResponseMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - NotifyUtxosChangedResponseMessage copyWith( - void Function(NotifyUtxosChangedResponseMessage) updates) => - super.copyWith((message) => - updates(message as NotifyUtxosChangedResponseMessage)) - as NotifyUtxosChangedResponseMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static NotifyUtxosChangedResponseMessage create() => - NotifyUtxosChangedResponseMessage._(); + NotifyUtxosChangedResponseMessage._() : super(); + factory NotifyUtxosChangedResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory NotifyUtxosChangedResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'NotifyUtxosChangedResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + NotifyUtxosChangedResponseMessage clone() => NotifyUtxosChangedResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + NotifyUtxosChangedResponseMessage copyWith(void Function(NotifyUtxosChangedResponseMessage) updates) => super.copyWith((message) => updates(message as NotifyUtxosChangedResponseMessage)) as NotifyUtxosChangedResponseMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static NotifyUtxosChangedResponseMessage create() => NotifyUtxosChangedResponseMessage._(); NotifyUtxosChangedResponseMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static NotifyUtxosChangedResponseMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor( - create); + static NotifyUtxosChangedResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static NotifyUtxosChangedResponseMessage? _defaultInstance; @$pb.TagNumber(1000) RPCError get error => $_getN(0); @$pb.TagNumber(1000) - set error(RPCError v) { - setField(1000, v); - } - + set error(RPCError v) { setField(1000, v); } @$pb.TagNumber(1000) $core.bool hasError() => $_has(0); @$pb.TagNumber(1000) @@ -6762,169 +4887,115 @@ class NotifyUtxosChangedResponseMessage extends $pb.GeneratedMessage { RPCError ensureError() => $_ensure(0); } +/// UtxosChangedNotificationMessage is sent whenever the UTXO index had been updated. +/// +/// See: NotifyUtxosChangedRequestMessage class UtxosChangedNotificationMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'UtxosChangedNotificationMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..pc( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'added', - $pb.PbFieldType.PM, - subBuilder: UtxosByAddressesEntry.create) - ..pc( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'removed', - $pb.PbFieldType.PM, - subBuilder: UtxosByAddressesEntry.create) - ..hasRequiredFields = false; - - UtxosChangedNotificationMessage._() : super(); factory UtxosChangedNotificationMessage({ - $core.Iterable? added, - $core.Iterable? removed, + $core.Iterable? added, + $core.Iterable? removed, }) { - final _result = create(); + final $result = create(); if (added != null) { - _result.added.addAll(added); + $result.added.addAll(added); } if (removed != null) { - _result.removed.addAll(removed); + $result.removed.addAll(removed); } - return _result; + return $result; } - factory UtxosChangedNotificationMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory UtxosChangedNotificationMessage.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') - UtxosChangedNotificationMessage clone() => - UtxosChangedNotificationMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - UtxosChangedNotificationMessage copyWith( - void Function(UtxosChangedNotificationMessage) updates) => - super.copyWith( - (message) => updates(message as UtxosChangedNotificationMessage)) - as UtxosChangedNotificationMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static UtxosChangedNotificationMessage create() => - UtxosChangedNotificationMessage._(); + UtxosChangedNotificationMessage._() : super(); + factory UtxosChangedNotificationMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory UtxosChangedNotificationMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'UtxosChangedNotificationMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..pc(1, _omitFieldNames ? '' : 'added', $pb.PbFieldType.PM, subBuilder: RpcUtxosByAddressesEntry.create) + ..pc(2, _omitFieldNames ? '' : 'removed', $pb.PbFieldType.PM, subBuilder: RpcUtxosByAddressesEntry.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UtxosChangedNotificationMessage clone() => UtxosChangedNotificationMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UtxosChangedNotificationMessage copyWith(void Function(UtxosChangedNotificationMessage) updates) => super.copyWith((message) => updates(message as UtxosChangedNotificationMessage)) as UtxosChangedNotificationMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static UtxosChangedNotificationMessage create() => UtxosChangedNotificationMessage._(); UtxosChangedNotificationMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static UtxosChangedNotificationMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor( - create); + static UtxosChangedNotificationMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static UtxosChangedNotificationMessage? _defaultInstance; @$pb.TagNumber(1) - $core.List get added => $_getList(0); - - @$pb.TagNumber(2) - $core.List get removed => $_getList(1); -} - -class UtxosByAddressesEntry extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'UtxosByAddressesEntry', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOS( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'address') - ..aOM( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'outpoint', - subBuilder: RpcOutpoint.create) - ..aOM( - 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'utxoEntry', - protoName: 'utxoEntry', - subBuilder: RpcUtxoEntry.create) - ..hasRequiredFields = false; - - UtxosByAddressesEntry._() : super(); - factory UtxosByAddressesEntry({ + $core.List get added => $_getList(0); + + @$pb.TagNumber(2) + $core.List get removed => $_getList(1); +} + +class RpcUtxosByAddressesEntry extends $pb.GeneratedMessage { + factory RpcUtxosByAddressesEntry({ $core.String? address, RpcOutpoint? outpoint, RpcUtxoEntry? utxoEntry, }) { - final _result = create(); + final $result = create(); if (address != null) { - _result.address = address; + $result.address = address; } if (outpoint != null) { - _result.outpoint = outpoint; + $result.outpoint = outpoint; } if (utxoEntry != null) { - _result.utxoEntry = utxoEntry; - } - return _result; - } - factory UtxosByAddressesEntry.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory UtxosByAddressesEntry.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') - UtxosByAddressesEntry clone() => - UtxosByAddressesEntry()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - UtxosByAddressesEntry copyWith( - void Function(UtxosByAddressesEntry) updates) => - super.copyWith((message) => updates(message as UtxosByAddressesEntry)) - as UtxosByAddressesEntry; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static UtxosByAddressesEntry create() => UtxosByAddressesEntry._(); - UtxosByAddressesEntry createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static UtxosByAddressesEntry getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static UtxosByAddressesEntry? _defaultInstance; + $result.utxoEntry = utxoEntry; + } + return $result; + } + RpcUtxosByAddressesEntry._() : super(); + factory RpcUtxosByAddressesEntry.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory RpcUtxosByAddressesEntry.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'RpcUtxosByAddressesEntry', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'address') + ..aOM(2, _omitFieldNames ? '' : 'outpoint', subBuilder: RpcOutpoint.create) + ..aOM(3, _omitFieldNames ? '' : 'utxoEntry', protoName: 'utxoEntry', subBuilder: RpcUtxoEntry.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + RpcUtxosByAddressesEntry clone() => RpcUtxosByAddressesEntry()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RpcUtxosByAddressesEntry copyWith(void Function(RpcUtxosByAddressesEntry) updates) => super.copyWith((message) => updates(message as RpcUtxosByAddressesEntry)) as RpcUtxosByAddressesEntry; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static RpcUtxosByAddressesEntry create() => RpcUtxosByAddressesEntry._(); + RpcUtxosByAddressesEntry createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static RpcUtxosByAddressesEntry getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static RpcUtxosByAddressesEntry? _defaultInstance; @$pb.TagNumber(1) $core.String get address => $_getSZ(0); @$pb.TagNumber(1) - set address($core.String v) { - $_setString(0, v); - } - + set address($core.String v) { $_setString(0, v); } @$pb.TagNumber(1) $core.bool hasAddress() => $_has(0); @$pb.TagNumber(1) @@ -6933,10 +5004,7 @@ class UtxosByAddressesEntry extends $pb.GeneratedMessage { @$pb.TagNumber(2) RpcOutpoint get outpoint => $_getN(1); @$pb.TagNumber(2) - set outpoint(RpcOutpoint v) { - setField(2, v); - } - + set outpoint(RpcOutpoint v) { setField(2, v); } @$pb.TagNumber(2) $core.bool hasOutpoint() => $_has(1); @$pb.TagNumber(2) @@ -6947,10 +5015,7 @@ class UtxosByAddressesEntry extends $pb.GeneratedMessage { @$pb.TagNumber(3) RpcUtxoEntry get utxoEntry => $_getN(2); @$pb.TagNumber(3) - set utxoEntry(RpcUtxoEntry v) { - setField(3, v); - } - + set utxoEntry(RpcUtxoEntry v) { setField(3, v); } @$pb.TagNumber(3) $core.bool hasUtxoEntry() => $_has(2); @$pb.TagNumber(3) @@ -6959,64 +5024,53 @@ class UtxosByAddressesEntry extends $pb.GeneratedMessage { RpcUtxoEntry ensureUtxoEntry() => $_ensure(2); } +/// StopNotifyingUtxosChangedRequestMessage unregisters this connection for utxoChanged notifications +/// for the given addresses. +/// +/// This call is only available when this karlsend was started with `--utxoindex` +/// +/// See: UtxosChangedNotificationMessage +/// +/// This message only exists for backward compatibility reason with karlsend and is deprecated. +/// Use instead UtxosChangedNotificationMessage with command = NOTIFY_STOP. class StopNotifyingUtxosChangedRequestMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'StopNotifyingUtxosChangedRequestMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..pPS( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'addresses') - ..hasRequiredFields = false; - - StopNotifyingUtxosChangedRequestMessage._() : super(); factory StopNotifyingUtxosChangedRequestMessage({ $core.Iterable<$core.String>? addresses, }) { - final _result = create(); + final $result = create(); if (addresses != null) { - _result.addresses.addAll(addresses); + $result.addresses.addAll(addresses); } - return _result; + return $result; } - factory StopNotifyingUtxosChangedRequestMessage.fromBuffer( - $core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory StopNotifyingUtxosChangedRequestMessage.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') - StopNotifyingUtxosChangedRequestMessage clone() => - StopNotifyingUtxosChangedRequestMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - StopNotifyingUtxosChangedRequestMessage copyWith( - void Function(StopNotifyingUtxosChangedRequestMessage) updates) => - super.copyWith((message) => - updates(message as StopNotifyingUtxosChangedRequestMessage)) - as StopNotifyingUtxosChangedRequestMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static StopNotifyingUtxosChangedRequestMessage create() => - StopNotifyingUtxosChangedRequestMessage._(); + StopNotifyingUtxosChangedRequestMessage._() : super(); + factory StopNotifyingUtxosChangedRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory StopNotifyingUtxosChangedRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'StopNotifyingUtxosChangedRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..pPS(1, _omitFieldNames ? '' : 'addresses') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + StopNotifyingUtxosChangedRequestMessage clone() => StopNotifyingUtxosChangedRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + StopNotifyingUtxosChangedRequestMessage copyWith(void Function(StopNotifyingUtxosChangedRequestMessage) updates) => super.copyWith((message) => updates(message as StopNotifyingUtxosChangedRequestMessage)) as StopNotifyingUtxosChangedRequestMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static StopNotifyingUtxosChangedRequestMessage create() => StopNotifyingUtxosChangedRequestMessage._(); StopNotifyingUtxosChangedRequestMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static StopNotifyingUtxosChangedRequestMessage getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< - StopNotifyingUtxosChangedRequestMessage>(create); + static StopNotifyingUtxosChangedRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static StopNotifyingUtxosChangedRequestMessage? _defaultInstance; @$pb.TagNumber(1) @@ -7024,74 +5078,49 @@ class StopNotifyingUtxosChangedRequestMessage extends $pb.GeneratedMessage { } class StopNotifyingUtxosChangedResponseMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'StopNotifyingUtxosChangedResponseMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOM( - 1000, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'error', - subBuilder: RPCError.create) - ..hasRequiredFields = false; - - StopNotifyingUtxosChangedResponseMessage._() : super(); factory StopNotifyingUtxosChangedResponseMessage({ RPCError? error, }) { - final _result = create(); + final $result = create(); if (error != null) { - _result.error = error; + $result.error = error; } - return _result; + return $result; } - factory StopNotifyingUtxosChangedResponseMessage.fromBuffer( - $core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory StopNotifyingUtxosChangedResponseMessage.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') - StopNotifyingUtxosChangedResponseMessage clone() => - StopNotifyingUtxosChangedResponseMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - StopNotifyingUtxosChangedResponseMessage copyWith( - void Function(StopNotifyingUtxosChangedResponseMessage) updates) => - super.copyWith((message) => - updates(message as StopNotifyingUtxosChangedResponseMessage)) - as StopNotifyingUtxosChangedResponseMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static StopNotifyingUtxosChangedResponseMessage create() => - StopNotifyingUtxosChangedResponseMessage._(); + StopNotifyingUtxosChangedResponseMessage._() : super(); + factory StopNotifyingUtxosChangedResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory StopNotifyingUtxosChangedResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'StopNotifyingUtxosChangedResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + StopNotifyingUtxosChangedResponseMessage clone() => StopNotifyingUtxosChangedResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + StopNotifyingUtxosChangedResponseMessage copyWith(void Function(StopNotifyingUtxosChangedResponseMessage) updates) => super.copyWith((message) => updates(message as StopNotifyingUtxosChangedResponseMessage)) as StopNotifyingUtxosChangedResponseMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static StopNotifyingUtxosChangedResponseMessage create() => StopNotifyingUtxosChangedResponseMessage._(); StopNotifyingUtxosChangedResponseMessage createEmptyInstance() => create(); - static $pb.PbList - createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static StopNotifyingUtxosChangedResponseMessage getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< - StopNotifyingUtxosChangedResponseMessage>(create); + static StopNotifyingUtxosChangedResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static StopNotifyingUtxosChangedResponseMessage? _defaultInstance; @$pb.TagNumber(1000) RPCError get error => $_getN(0); @$pb.TagNumber(1000) - set error(RPCError v) { - setField(1000, v); - } - + set error(RPCError v) { setField(1000, v); } @$pb.TagNumber(1000) $core.bool hasError() => $_has(0); @$pb.TagNumber(1000) @@ -7100,63 +5129,47 @@ class StopNotifyingUtxosChangedResponseMessage extends $pb.GeneratedMessage { RPCError ensureError() => $_ensure(0); } +/// GetUtxosByAddressesRequestMessage requests all current UTXOs for the given karlsend addresses +/// +/// This call is only available when this karlsend was started with `--utxoindex` class GetUtxosByAddressesRequestMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'GetUtxosByAddressesRequestMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..pPS( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'addresses') - ..hasRequiredFields = false; - - GetUtxosByAddressesRequestMessage._() : super(); factory GetUtxosByAddressesRequestMessage({ $core.Iterable<$core.String>? addresses, }) { - final _result = create(); + final $result = create(); if (addresses != null) { - _result.addresses.addAll(addresses); + $result.addresses.addAll(addresses); } - return _result; + return $result; } - factory GetUtxosByAddressesRequestMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory GetUtxosByAddressesRequestMessage.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') - GetUtxosByAddressesRequestMessage clone() => - GetUtxosByAddressesRequestMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - GetUtxosByAddressesRequestMessage copyWith( - void Function(GetUtxosByAddressesRequestMessage) updates) => - super.copyWith((message) => - updates(message as GetUtxosByAddressesRequestMessage)) - as GetUtxosByAddressesRequestMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static GetUtxosByAddressesRequestMessage create() => - GetUtxosByAddressesRequestMessage._(); + GetUtxosByAddressesRequestMessage._() : super(); + factory GetUtxosByAddressesRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetUtxosByAddressesRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetUtxosByAddressesRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..pPS(1, _omitFieldNames ? '' : 'addresses') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetUtxosByAddressesRequestMessage clone() => GetUtxosByAddressesRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetUtxosByAddressesRequestMessage copyWith(void Function(GetUtxosByAddressesRequestMessage) updates) => super.copyWith((message) => updates(message as GetUtxosByAddressesRequestMessage)) as GetUtxosByAddressesRequestMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetUtxosByAddressesRequestMessage create() => GetUtxosByAddressesRequestMessage._(); GetUtxosByAddressesRequestMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static GetUtxosByAddressesRequestMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor( - create); + static GetUtxosByAddressesRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static GetUtxosByAddressesRequestMessage? _defaultInstance; @$pb.TagNumber(1) @@ -7164,86 +5177,57 @@ class GetUtxosByAddressesRequestMessage extends $pb.GeneratedMessage { } class GetUtxosByAddressesResponseMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'GetUtxosByAddressesResponseMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..pc( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'entries', - $pb.PbFieldType.PM, - subBuilder: UtxosByAddressesEntry.create) - ..aOM( - 1000, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'error', - subBuilder: RPCError.create) - ..hasRequiredFields = false; - - GetUtxosByAddressesResponseMessage._() : super(); factory GetUtxosByAddressesResponseMessage({ - $core.Iterable? entries, + $core.Iterable? entries, RPCError? error, }) { - final _result = create(); + final $result = create(); if (entries != null) { - _result.entries.addAll(entries); + $result.entries.addAll(entries); } if (error != null) { - _result.error = error; + $result.error = error; } - return _result; + return $result; } - factory GetUtxosByAddressesResponseMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory GetUtxosByAddressesResponseMessage.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') - GetUtxosByAddressesResponseMessage clone() => - GetUtxosByAddressesResponseMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - GetUtxosByAddressesResponseMessage copyWith( - void Function(GetUtxosByAddressesResponseMessage) updates) => - super.copyWith((message) => - updates(message as GetUtxosByAddressesResponseMessage)) - as GetUtxosByAddressesResponseMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static GetUtxosByAddressesResponseMessage create() => - GetUtxosByAddressesResponseMessage._(); + GetUtxosByAddressesResponseMessage._() : super(); + factory GetUtxosByAddressesResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetUtxosByAddressesResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetUtxosByAddressesResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..pc(1, _omitFieldNames ? '' : 'entries', $pb.PbFieldType.PM, subBuilder: RpcUtxosByAddressesEntry.create) + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetUtxosByAddressesResponseMessage clone() => GetUtxosByAddressesResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetUtxosByAddressesResponseMessage copyWith(void Function(GetUtxosByAddressesResponseMessage) updates) => super.copyWith((message) => updates(message as GetUtxosByAddressesResponseMessage)) as GetUtxosByAddressesResponseMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetUtxosByAddressesResponseMessage create() => GetUtxosByAddressesResponseMessage._(); GetUtxosByAddressesResponseMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static GetUtxosByAddressesResponseMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor( - create); + static GetUtxosByAddressesResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static GetUtxosByAddressesResponseMessage? _defaultInstance; @$pb.TagNumber(1) - $core.List get entries => $_getList(0); + $core.List get entries => $_getList(0); @$pb.TagNumber(1000) RPCError get error => $_getN(1); @$pb.TagNumber(1000) - set error(RPCError v) { - setField(1000, v); - } - + set error(RPCError v) { setField(1000, v); } @$pb.TagNumber(1000) $core.bool hasError() => $_has(1); @$pb.TagNumber(1000) @@ -7252,72 +5236,53 @@ class GetUtxosByAddressesResponseMessage extends $pb.GeneratedMessage { RPCError ensureError() => $_ensure(1); } +/// GetBalanceByAddressRequest returns the total balance in unspent transactions towards a given address +/// +/// This call is only available when this karlsend was started with `--utxoindex` class GetBalanceByAddressRequestMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'GetBalanceByAddressRequestMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOS( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'address') - ..hasRequiredFields = false; - - GetBalanceByAddressRequestMessage._() : super(); factory GetBalanceByAddressRequestMessage({ $core.String? address, }) { - final _result = create(); + final $result = create(); if (address != null) { - _result.address = address; + $result.address = address; } - return _result; + return $result; } - factory GetBalanceByAddressRequestMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory GetBalanceByAddressRequestMessage.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') - GetBalanceByAddressRequestMessage clone() => - GetBalanceByAddressRequestMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - GetBalanceByAddressRequestMessage copyWith( - void Function(GetBalanceByAddressRequestMessage) updates) => - super.copyWith((message) => - updates(message as GetBalanceByAddressRequestMessage)) - as GetBalanceByAddressRequestMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static GetBalanceByAddressRequestMessage create() => - GetBalanceByAddressRequestMessage._(); + GetBalanceByAddressRequestMessage._() : super(); + factory GetBalanceByAddressRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetBalanceByAddressRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetBalanceByAddressRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'address') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetBalanceByAddressRequestMessage clone() => GetBalanceByAddressRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetBalanceByAddressRequestMessage copyWith(void Function(GetBalanceByAddressRequestMessage) updates) => super.copyWith((message) => updates(message as GetBalanceByAddressRequestMessage)) as GetBalanceByAddressRequestMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetBalanceByAddressRequestMessage create() => GetBalanceByAddressRequestMessage._(); GetBalanceByAddressRequestMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static GetBalanceByAddressRequestMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor( - create); + static GetBalanceByAddressRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static GetBalanceByAddressRequestMessage? _defaultInstance; @$pb.TagNumber(1) $core.String get address => $_getSZ(0); @$pb.TagNumber(1) - set address($core.String v) { - $_setString(0, v); - } - + set address($core.String v) { $_setString(0, v); } @$pb.TagNumber(1) $core.bool hasAddress() => $_has(0); @$pb.TagNumber(1) @@ -7325,83 +5290,54 @@ class GetBalanceByAddressRequestMessage extends $pb.GeneratedMessage { } class GetBalanceByAddressResponseMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'GetBalanceByAddressResponseMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..a<$fixnum.Int64>( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'balance', - $pb.PbFieldType.OU6, - defaultOrMaker: $fixnum.Int64.ZERO) - ..aOM( - 1000, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'error', - subBuilder: RPCError.create) - ..hasRequiredFields = false; - - GetBalanceByAddressResponseMessage._() : super(); factory GetBalanceByAddressResponseMessage({ $fixnum.Int64? balance, RPCError? error, }) { - final _result = create(); + final $result = create(); if (balance != null) { - _result.balance = balance; + $result.balance = balance; } if (error != null) { - _result.error = error; + $result.error = error; } - return _result; + return $result; } - factory GetBalanceByAddressResponseMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory GetBalanceByAddressResponseMessage.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') - GetBalanceByAddressResponseMessage clone() => - GetBalanceByAddressResponseMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - GetBalanceByAddressResponseMessage copyWith( - void Function(GetBalanceByAddressResponseMessage) updates) => - super.copyWith((message) => - updates(message as GetBalanceByAddressResponseMessage)) - as GetBalanceByAddressResponseMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static GetBalanceByAddressResponseMessage create() => - GetBalanceByAddressResponseMessage._(); + GetBalanceByAddressResponseMessage._() : super(); + factory GetBalanceByAddressResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetBalanceByAddressResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetBalanceByAddressResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..a<$fixnum.Int64>(1, _omitFieldNames ? '' : 'balance', $pb.PbFieldType.OU6, defaultOrMaker: $fixnum.Int64.ZERO) + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetBalanceByAddressResponseMessage clone() => GetBalanceByAddressResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetBalanceByAddressResponseMessage copyWith(void Function(GetBalanceByAddressResponseMessage) updates) => super.copyWith((message) => updates(message as GetBalanceByAddressResponseMessage)) as GetBalanceByAddressResponseMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetBalanceByAddressResponseMessage create() => GetBalanceByAddressResponseMessage._(); GetBalanceByAddressResponseMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static GetBalanceByAddressResponseMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor( - create); + static GetBalanceByAddressResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static GetBalanceByAddressResponseMessage? _defaultInstance; @$pb.TagNumber(1) $fixnum.Int64 get balance => $_getI64(0); @$pb.TagNumber(1) - set balance($fixnum.Int64 v) { - $_setInt64(0, v); - } - + set balance($fixnum.Int64 v) { $_setInt64(0, v); } @$pb.TagNumber(1) $core.bool hasBalance() => $_has(0); @$pb.TagNumber(1) @@ -7410,10 +5346,7 @@ class GetBalanceByAddressResponseMessage extends $pb.GeneratedMessage { @$pb.TagNumber(1000) RPCError get error => $_getN(1); @$pb.TagNumber(1000) - set error(RPCError v) { - setField(1000, v); - } - + set error(RPCError v) { setField(1000, v); } @$pb.TagNumber(1000) $core.bool hasError() => $_has(1); @$pb.TagNumber(1000) @@ -7423,153 +5356,103 @@ class GetBalanceByAddressResponseMessage extends $pb.GeneratedMessage { } class GetBalancesByAddressesRequestMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'GetBalancesByAddressesRequestMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..pPS( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'addresses') - ..hasRequiredFields = false; - - GetBalancesByAddressesRequestMessage._() : super(); factory GetBalancesByAddressesRequestMessage({ $core.Iterable<$core.String>? addresses, }) { - final _result = create(); + final $result = create(); if (addresses != null) { - _result.addresses.addAll(addresses); + $result.addresses.addAll(addresses); } - return _result; + return $result; } - factory GetBalancesByAddressesRequestMessage.fromBuffer( - $core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory GetBalancesByAddressesRequestMessage.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') - GetBalancesByAddressesRequestMessage clone() => - GetBalancesByAddressesRequestMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - GetBalancesByAddressesRequestMessage copyWith( - void Function(GetBalancesByAddressesRequestMessage) updates) => - super.copyWith((message) => - updates(message as GetBalancesByAddressesRequestMessage)) - as GetBalancesByAddressesRequestMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static GetBalancesByAddressesRequestMessage create() => - GetBalancesByAddressesRequestMessage._(); + GetBalancesByAddressesRequestMessage._() : super(); + factory GetBalancesByAddressesRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetBalancesByAddressesRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetBalancesByAddressesRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..pPS(1, _omitFieldNames ? '' : 'addresses') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetBalancesByAddressesRequestMessage clone() => GetBalancesByAddressesRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetBalancesByAddressesRequestMessage copyWith(void Function(GetBalancesByAddressesRequestMessage) updates) => super.copyWith((message) => updates(message as GetBalancesByAddressesRequestMessage)) as GetBalancesByAddressesRequestMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetBalancesByAddressesRequestMessage create() => GetBalancesByAddressesRequestMessage._(); GetBalancesByAddressesRequestMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static GetBalancesByAddressesRequestMessage getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< - GetBalancesByAddressesRequestMessage>(create); + static GetBalancesByAddressesRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static GetBalancesByAddressesRequestMessage? _defaultInstance; @$pb.TagNumber(1) $core.List<$core.String> get addresses => $_getList(0); } -class BalancesByAddressEntry extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'BalancesByAddressEntry', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOS( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'address') - ..a<$fixnum.Int64>( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'balance', - $pb.PbFieldType.OU6, - defaultOrMaker: $fixnum.Int64.ZERO) - ..aOM( - 1000, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'error', - subBuilder: RPCError.create) - ..hasRequiredFields = false; - - BalancesByAddressEntry._() : super(); - factory BalancesByAddressEntry({ +class RpcBalancesByAddressesEntry extends $pb.GeneratedMessage { + factory RpcBalancesByAddressesEntry({ $core.String? address, $fixnum.Int64? balance, RPCError? error, }) { - final _result = create(); + final $result = create(); if (address != null) { - _result.address = address; + $result.address = address; } if (balance != null) { - _result.balance = balance; + $result.balance = balance; } if (error != null) { - _result.error = error; - } - return _result; - } - factory BalancesByAddressEntry.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory BalancesByAddressEntry.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') - BalancesByAddressEntry clone() => - BalancesByAddressEntry()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - BalancesByAddressEntry copyWith( - void Function(BalancesByAddressEntry) updates) => - super.copyWith((message) => updates(message as BalancesByAddressEntry)) - as BalancesByAddressEntry; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static BalancesByAddressEntry create() => BalancesByAddressEntry._(); - BalancesByAddressEntry createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static BalancesByAddressEntry getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static BalancesByAddressEntry? _defaultInstance; + $result.error = error; + } + return $result; + } + RpcBalancesByAddressesEntry._() : super(); + factory RpcBalancesByAddressesEntry.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory RpcBalancesByAddressesEntry.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'RpcBalancesByAddressesEntry', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'address') + ..a<$fixnum.Int64>(2, _omitFieldNames ? '' : 'balance', $pb.PbFieldType.OU6, defaultOrMaker: $fixnum.Int64.ZERO) + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + RpcBalancesByAddressesEntry clone() => RpcBalancesByAddressesEntry()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RpcBalancesByAddressesEntry copyWith(void Function(RpcBalancesByAddressesEntry) updates) => super.copyWith((message) => updates(message as RpcBalancesByAddressesEntry)) as RpcBalancesByAddressesEntry; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static RpcBalancesByAddressesEntry create() => RpcBalancesByAddressesEntry._(); + RpcBalancesByAddressesEntry createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static RpcBalancesByAddressesEntry getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static RpcBalancesByAddressesEntry? _defaultInstance; @$pb.TagNumber(1) $core.String get address => $_getSZ(0); @$pb.TagNumber(1) - set address($core.String v) { - $_setString(0, v); - } - + set address($core.String v) { $_setString(0, v); } @$pb.TagNumber(1) $core.bool hasAddress() => $_has(0); @$pb.TagNumber(1) @@ -7578,10 +5461,7 @@ class BalancesByAddressEntry extends $pb.GeneratedMessage { @$pb.TagNumber(2) $fixnum.Int64 get balance => $_getI64(1); @$pb.TagNumber(2) - set balance($fixnum.Int64 v) { - $_setInt64(1, v); - } - + set balance($fixnum.Int64 v) { $_setInt64(1, v); } @$pb.TagNumber(2) $core.bool hasBalance() => $_has(1); @$pb.TagNumber(2) @@ -7590,10 +5470,7 @@ class BalancesByAddressEntry extends $pb.GeneratedMessage { @$pb.TagNumber(1000) RPCError get error => $_getN(2); @$pb.TagNumber(1000) - set error(RPCError v) { - setField(1000, v); - } - + set error(RPCError v) { setField(1000, v); } @$pb.TagNumber(1000) $core.bool hasError() => $_has(2); @$pb.TagNumber(1000) @@ -7603,87 +5480,57 @@ class BalancesByAddressEntry extends $pb.GeneratedMessage { } class GetBalancesByAddressesResponseMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'GetBalancesByAddressesResponseMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..pc( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'entries', - $pb.PbFieldType.PM, - subBuilder: BalancesByAddressEntry.create) - ..aOM( - 1000, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'error', - subBuilder: RPCError.create) - ..hasRequiredFields = false; - - GetBalancesByAddressesResponseMessage._() : super(); factory GetBalancesByAddressesResponseMessage({ - $core.Iterable? entries, + $core.Iterable? entries, RPCError? error, }) { - final _result = create(); + final $result = create(); if (entries != null) { - _result.entries.addAll(entries); + $result.entries.addAll(entries); } if (error != null) { - _result.error = error; + $result.error = error; } - return _result; + return $result; } - factory GetBalancesByAddressesResponseMessage.fromBuffer( - $core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory GetBalancesByAddressesResponseMessage.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') - GetBalancesByAddressesResponseMessage clone() => - GetBalancesByAddressesResponseMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - GetBalancesByAddressesResponseMessage copyWith( - void Function(GetBalancesByAddressesResponseMessage) updates) => - super.copyWith((message) => - updates(message as GetBalancesByAddressesResponseMessage)) - as GetBalancesByAddressesResponseMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static GetBalancesByAddressesResponseMessage create() => - GetBalancesByAddressesResponseMessage._(); + GetBalancesByAddressesResponseMessage._() : super(); + factory GetBalancesByAddressesResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetBalancesByAddressesResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetBalancesByAddressesResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..pc(1, _omitFieldNames ? '' : 'entries', $pb.PbFieldType.PM, subBuilder: RpcBalancesByAddressesEntry.create) + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetBalancesByAddressesResponseMessage clone() => GetBalancesByAddressesResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetBalancesByAddressesResponseMessage copyWith(void Function(GetBalancesByAddressesResponseMessage) updates) => super.copyWith((message) => updates(message as GetBalancesByAddressesResponseMessage)) as GetBalancesByAddressesResponseMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetBalancesByAddressesResponseMessage create() => GetBalancesByAddressesResponseMessage._(); GetBalancesByAddressesResponseMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static GetBalancesByAddressesResponseMessage getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< - GetBalancesByAddressesResponseMessage>(create); + static GetBalancesByAddressesResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static GetBalancesByAddressesResponseMessage? _defaultInstance; @$pb.TagNumber(1) - $core.List get entries => $_getList(0); + $core.List get entries => $_getList(0); @$pb.TagNumber(1000) RPCError get error => $_getN(1); @$pb.TagNumber(1000) - set error(RPCError v) { - setField(1000, v); - } - + set error(RPCError v) { setField(1000, v); } @$pb.TagNumber(1000) $core.bool hasError() => $_has(1); @$pb.TagNumber(1000) @@ -7692,145 +5539,89 @@ class GetBalancesByAddressesResponseMessage extends $pb.GeneratedMessage { RPCError ensureError() => $_ensure(1); } -class GetVirtualSelectedParentBlueScoreRequestMessage - extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'GetVirtualSelectedParentBlueScoreRequestMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..hasRequiredFields = false; - - GetVirtualSelectedParentBlueScoreRequestMessage._() : super(); - factory GetVirtualSelectedParentBlueScoreRequestMessage() => create(); - factory GetVirtualSelectedParentBlueScoreRequestMessage.fromBuffer( - $core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory GetVirtualSelectedParentBlueScoreRequestMessage.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') - GetVirtualSelectedParentBlueScoreRequestMessage clone() => - GetVirtualSelectedParentBlueScoreRequestMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - GetVirtualSelectedParentBlueScoreRequestMessage copyWith( - void Function(GetVirtualSelectedParentBlueScoreRequestMessage) - updates) => - super.copyWith((message) => updates( - message as GetVirtualSelectedParentBlueScoreRequestMessage)) - as GetVirtualSelectedParentBlueScoreRequestMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static GetVirtualSelectedParentBlueScoreRequestMessage create() => - GetVirtualSelectedParentBlueScoreRequestMessage._(); - GetVirtualSelectedParentBlueScoreRequestMessage createEmptyInstance() => - create(); - static $pb.PbList - createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static GetVirtualSelectedParentBlueScoreRequestMessage getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< - GetVirtualSelectedParentBlueScoreRequestMessage>(create); - static GetVirtualSelectedParentBlueScoreRequestMessage? _defaultInstance; -} - -class GetVirtualSelectedParentBlueScoreResponseMessage - extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'GetVirtualSelectedParentBlueScoreResponseMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..a<$fixnum.Int64>( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'blueScore', - $pb.PbFieldType.OU6, - protoName: 'blueScore', - defaultOrMaker: $fixnum.Int64.ZERO) - ..aOM( - 1000, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'error', - subBuilder: RPCError.create) - ..hasRequiredFields = false; - - GetVirtualSelectedParentBlueScoreResponseMessage._() : super(); - factory GetVirtualSelectedParentBlueScoreResponseMessage({ +/// GetSinkBlueScoreRequestMessage requests the blue score of the current selected parent +/// of the virtual block. +class GetSinkBlueScoreRequestMessage extends $pb.GeneratedMessage { + factory GetSinkBlueScoreRequestMessage() => create(); + GetSinkBlueScoreRequestMessage._() : super(); + factory GetSinkBlueScoreRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetSinkBlueScoreRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetSinkBlueScoreRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetSinkBlueScoreRequestMessage clone() => GetSinkBlueScoreRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetSinkBlueScoreRequestMessage copyWith(void Function(GetSinkBlueScoreRequestMessage) updates) => super.copyWith((message) => updates(message as GetSinkBlueScoreRequestMessage)) as GetSinkBlueScoreRequestMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetSinkBlueScoreRequestMessage create() => GetSinkBlueScoreRequestMessage._(); + GetSinkBlueScoreRequestMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetSinkBlueScoreRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static GetSinkBlueScoreRequestMessage? _defaultInstance; +} + +class GetSinkBlueScoreResponseMessage extends $pb.GeneratedMessage { + factory GetSinkBlueScoreResponseMessage({ $fixnum.Int64? blueScore, RPCError? error, }) { - final _result = create(); + final $result = create(); if (blueScore != null) { - _result.blueScore = blueScore; + $result.blueScore = blueScore; } if (error != null) { - _result.error = error; - } - return _result; - } - factory GetVirtualSelectedParentBlueScoreResponseMessage.fromBuffer( - $core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory GetVirtualSelectedParentBlueScoreResponseMessage.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') - GetVirtualSelectedParentBlueScoreResponseMessage clone() => - GetVirtualSelectedParentBlueScoreResponseMessage() - ..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - GetVirtualSelectedParentBlueScoreResponseMessage copyWith( - void Function(GetVirtualSelectedParentBlueScoreResponseMessage) - updates) => - super.copyWith((message) => updates( - message as GetVirtualSelectedParentBlueScoreResponseMessage)) - as GetVirtualSelectedParentBlueScoreResponseMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static GetVirtualSelectedParentBlueScoreResponseMessage create() => - GetVirtualSelectedParentBlueScoreResponseMessage._(); - GetVirtualSelectedParentBlueScoreResponseMessage createEmptyInstance() => - create(); - static $pb.PbList - createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static GetVirtualSelectedParentBlueScoreResponseMessage getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< - GetVirtualSelectedParentBlueScoreResponseMessage>(create); - static GetVirtualSelectedParentBlueScoreResponseMessage? _defaultInstance; + $result.error = error; + } + return $result; + } + GetSinkBlueScoreResponseMessage._() : super(); + factory GetSinkBlueScoreResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetSinkBlueScoreResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetSinkBlueScoreResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..a<$fixnum.Int64>(1, _omitFieldNames ? '' : 'blueScore', $pb.PbFieldType.OU6, protoName: 'blueScore', defaultOrMaker: $fixnum.Int64.ZERO) + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetSinkBlueScoreResponseMessage clone() => GetSinkBlueScoreResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetSinkBlueScoreResponseMessage copyWith(void Function(GetSinkBlueScoreResponseMessage) updates) => super.copyWith((message) => updates(message as GetSinkBlueScoreResponseMessage)) as GetSinkBlueScoreResponseMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetSinkBlueScoreResponseMessage create() => GetSinkBlueScoreResponseMessage._(); + GetSinkBlueScoreResponseMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetSinkBlueScoreResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static GetSinkBlueScoreResponseMessage? _defaultInstance; @$pb.TagNumber(1) $fixnum.Int64 get blueScore => $_getI64(0); @$pb.TagNumber(1) - set blueScore($fixnum.Int64 v) { - $_setInt64(0, v); - } - + set blueScore($fixnum.Int64 v) { $_setInt64(0, v); } @$pb.TagNumber(1) $core.bool hasBlueScore() => $_has(0); @$pb.TagNumber(1) @@ -7839,10 +5630,7 @@ class GetVirtualSelectedParentBlueScoreResponseMessage @$pb.TagNumber(1000) RPCError get error => $_getN(1); @$pb.TagNumber(1000) - set error(RPCError v) { - setField(1000, v); - } - + set error(RPCError v) { setField(1000, v); } @$pb.TagNumber(1000) $core.bool hasError() => $_has(1); @$pb.TagNumber(1000) @@ -7851,139 +5639,104 @@ class GetVirtualSelectedParentBlueScoreResponseMessage RPCError ensureError() => $_ensure(1); } -class NotifyVirtualSelectedParentBlueScoreChangedRequestMessage - extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'NotifyVirtualSelectedParentBlueScoreChangedRequestMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..hasRequiredFields = false; - - NotifyVirtualSelectedParentBlueScoreChangedRequestMessage._() : super(); - factory NotifyVirtualSelectedParentBlueScoreChangedRequestMessage() => - create(); - factory NotifyVirtualSelectedParentBlueScoreChangedRequestMessage.fromBuffer( - $core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory NotifyVirtualSelectedParentBlueScoreChangedRequestMessage.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') - NotifyVirtualSelectedParentBlueScoreChangedRequestMessage clone() => - NotifyVirtualSelectedParentBlueScoreChangedRequestMessage() - ..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - NotifyVirtualSelectedParentBlueScoreChangedRequestMessage copyWith( - void Function( - NotifyVirtualSelectedParentBlueScoreChangedRequestMessage) - updates) => - super.copyWith((message) => updates(message - as NotifyVirtualSelectedParentBlueScoreChangedRequestMessage)) - as NotifyVirtualSelectedParentBlueScoreChangedRequestMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static NotifyVirtualSelectedParentBlueScoreChangedRequestMessage create() => - NotifyVirtualSelectedParentBlueScoreChangedRequestMessage._(); - NotifyVirtualSelectedParentBlueScoreChangedRequestMessage - createEmptyInstance() => create(); - static $pb.PbList - createRepeated() => $pb.PbList< - NotifyVirtualSelectedParentBlueScoreChangedRequestMessage>(); - @$core.pragma('dart2js:noInline') - static NotifyVirtualSelectedParentBlueScoreChangedRequestMessage - getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< - NotifyVirtualSelectedParentBlueScoreChangedRequestMessage>(create); - static NotifyVirtualSelectedParentBlueScoreChangedRequestMessage? - _defaultInstance; -} - -class NotifyVirtualSelectedParentBlueScoreChangedResponseMessage - extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'NotifyVirtualSelectedParentBlueScoreChangedResponseMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOM( - 1000, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'error', - subBuilder: RPCError.create) - ..hasRequiredFields = false; - - NotifyVirtualSelectedParentBlueScoreChangedResponseMessage._() : super(); - factory NotifyVirtualSelectedParentBlueScoreChangedResponseMessage({ +/// NotifySinkBlueScoreChangedRequestMessage registers this connection for +/// sinkBlueScoreChanged notifications. +/// +/// See: SinkBlueScoreChangedNotificationMessage +class NotifySinkBlueScoreChangedRequestMessage extends $pb.GeneratedMessage { + factory NotifySinkBlueScoreChangedRequestMessage({ + RpcNotifyCommand? command, + }) { + final $result = create(); + if (command != null) { + $result.command = command; + } + return $result; + } + NotifySinkBlueScoreChangedRequestMessage._() : super(); + factory NotifySinkBlueScoreChangedRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory NotifySinkBlueScoreChangedRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'NotifySinkBlueScoreChangedRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..e(101, _omitFieldNames ? '' : 'command', $pb.PbFieldType.OE, defaultOrMaker: RpcNotifyCommand.NOTIFY_START, valueOf: RpcNotifyCommand.valueOf, enumValues: RpcNotifyCommand.values) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + NotifySinkBlueScoreChangedRequestMessage clone() => NotifySinkBlueScoreChangedRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + NotifySinkBlueScoreChangedRequestMessage copyWith(void Function(NotifySinkBlueScoreChangedRequestMessage) updates) => super.copyWith((message) => updates(message as NotifySinkBlueScoreChangedRequestMessage)) as NotifySinkBlueScoreChangedRequestMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static NotifySinkBlueScoreChangedRequestMessage create() => NotifySinkBlueScoreChangedRequestMessage._(); + NotifySinkBlueScoreChangedRequestMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static NotifySinkBlueScoreChangedRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static NotifySinkBlueScoreChangedRequestMessage? _defaultInstance; + + @$pb.TagNumber(101) + RpcNotifyCommand get command => $_getN(0); + @$pb.TagNumber(101) + set command(RpcNotifyCommand v) { setField(101, v); } + @$pb.TagNumber(101) + $core.bool hasCommand() => $_has(0); + @$pb.TagNumber(101) + void clearCommand() => clearField(101); +} + +class NotifySinkBlueScoreChangedResponseMessage extends $pb.GeneratedMessage { + factory NotifySinkBlueScoreChangedResponseMessage({ RPCError? error, }) { - final _result = create(); + final $result = create(); if (error != null) { - _result.error = error; - } - return _result; - } - factory NotifyVirtualSelectedParentBlueScoreChangedResponseMessage.fromBuffer( - $core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory NotifyVirtualSelectedParentBlueScoreChangedResponseMessage.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') - NotifyVirtualSelectedParentBlueScoreChangedResponseMessage clone() => - NotifyVirtualSelectedParentBlueScoreChangedResponseMessage() - ..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - NotifyVirtualSelectedParentBlueScoreChangedResponseMessage copyWith( - void Function( - NotifyVirtualSelectedParentBlueScoreChangedResponseMessage) - updates) => - super.copyWith((message) => updates(message - as NotifyVirtualSelectedParentBlueScoreChangedResponseMessage)) - as NotifyVirtualSelectedParentBlueScoreChangedResponseMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static NotifyVirtualSelectedParentBlueScoreChangedResponseMessage create() => - NotifyVirtualSelectedParentBlueScoreChangedResponseMessage._(); - NotifyVirtualSelectedParentBlueScoreChangedResponseMessage - createEmptyInstance() => create(); - static $pb.PbList - createRepeated() => $pb.PbList< - NotifyVirtualSelectedParentBlueScoreChangedResponseMessage>(); - @$core.pragma('dart2js:noInline') - static NotifyVirtualSelectedParentBlueScoreChangedResponseMessage - getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< - NotifyVirtualSelectedParentBlueScoreChangedResponseMessage>(create); - static NotifyVirtualSelectedParentBlueScoreChangedResponseMessage? - _defaultInstance; + $result.error = error; + } + return $result; + } + NotifySinkBlueScoreChangedResponseMessage._() : super(); + factory NotifySinkBlueScoreChangedResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory NotifySinkBlueScoreChangedResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'NotifySinkBlueScoreChangedResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + NotifySinkBlueScoreChangedResponseMessage clone() => NotifySinkBlueScoreChangedResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + NotifySinkBlueScoreChangedResponseMessage copyWith(void Function(NotifySinkBlueScoreChangedResponseMessage) updates) => super.copyWith((message) => updates(message as NotifySinkBlueScoreChangedResponseMessage)) as NotifySinkBlueScoreChangedResponseMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static NotifySinkBlueScoreChangedResponseMessage create() => NotifySinkBlueScoreChangedResponseMessage._(); + NotifySinkBlueScoreChangedResponseMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static NotifySinkBlueScoreChangedResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static NotifySinkBlueScoreChangedResponseMessage? _defaultInstance; @$pb.TagNumber(1000) RPCError get error => $_getN(0); @$pb.TagNumber(1000) - set error(RPCError v) { - setField(1000, v); - } - + set error(RPCError v) { setField(1000, v); } @$pb.TagNumber(1000) $core.bool hasError() => $_has(0); @$pb.TagNumber(1000) @@ -7992,208 +5745,158 @@ class NotifyVirtualSelectedParentBlueScoreChangedResponseMessage RPCError ensureError() => $_ensure(0); } -class VirtualSelectedParentBlueScoreChangedNotificationMessage - extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'VirtualSelectedParentBlueScoreChangedNotificationMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..a<$fixnum.Int64>( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'virtualSelectedParentBlueScore', - $pb.PbFieldType.OU6, - protoName: 'virtualSelectedParentBlueScore', - defaultOrMaker: $fixnum.Int64.ZERO) - ..hasRequiredFields = false; - - VirtualSelectedParentBlueScoreChangedNotificationMessage._() : super(); - factory VirtualSelectedParentBlueScoreChangedNotificationMessage({ - $fixnum.Int64? virtualSelectedParentBlueScore, +/// SinkBlueScoreChangedNotificationMessage is sent whenever the blue score +/// of the virtual's selected parent changes. +/// +/// See NotifySinkBlueScoreChangedRequestMessage +class SinkBlueScoreChangedNotificationMessage extends $pb.GeneratedMessage { + factory SinkBlueScoreChangedNotificationMessage({ + $fixnum.Int64? sinkBlueScore, }) { - final _result = create(); - if (virtualSelectedParentBlueScore != null) { - _result.virtualSelectedParentBlueScore = virtualSelectedParentBlueScore; - } - return _result; - } - factory VirtualSelectedParentBlueScoreChangedNotificationMessage.fromBuffer( - $core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory VirtualSelectedParentBlueScoreChangedNotificationMessage.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') - VirtualSelectedParentBlueScoreChangedNotificationMessage clone() => - VirtualSelectedParentBlueScoreChangedNotificationMessage() - ..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - VirtualSelectedParentBlueScoreChangedNotificationMessage copyWith( - void Function( - VirtualSelectedParentBlueScoreChangedNotificationMessage) - updates) => - super.copyWith((message) => updates(message - as VirtualSelectedParentBlueScoreChangedNotificationMessage)) - as VirtualSelectedParentBlueScoreChangedNotificationMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static VirtualSelectedParentBlueScoreChangedNotificationMessage create() => - VirtualSelectedParentBlueScoreChangedNotificationMessage._(); - VirtualSelectedParentBlueScoreChangedNotificationMessage - createEmptyInstance() => create(); - static $pb.PbList - createRepeated() => $pb.PbList< - VirtualSelectedParentBlueScoreChangedNotificationMessage>(); - @$core.pragma('dart2js:noInline') - static VirtualSelectedParentBlueScoreChangedNotificationMessage - getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< - VirtualSelectedParentBlueScoreChangedNotificationMessage>(create); - static VirtualSelectedParentBlueScoreChangedNotificationMessage? - _defaultInstance; - - @$pb.TagNumber(1) - $fixnum.Int64 get virtualSelectedParentBlueScore => $_getI64(0); - @$pb.TagNumber(1) - set virtualSelectedParentBlueScore($fixnum.Int64 v) { - $_setInt64(0, v); - } + final $result = create(); + if (sinkBlueScore != null) { + $result.sinkBlueScore = sinkBlueScore; + } + return $result; + } + SinkBlueScoreChangedNotificationMessage._() : super(); + factory SinkBlueScoreChangedNotificationMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory SinkBlueScoreChangedNotificationMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'SinkBlueScoreChangedNotificationMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..a<$fixnum.Int64>(1, _omitFieldNames ? '' : 'sinkBlueScore', $pb.PbFieldType.OU6, protoName: 'sinkBlueScore', defaultOrMaker: $fixnum.Int64.ZERO) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SinkBlueScoreChangedNotificationMessage clone() => SinkBlueScoreChangedNotificationMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SinkBlueScoreChangedNotificationMessage copyWith(void Function(SinkBlueScoreChangedNotificationMessage) updates) => super.copyWith((message) => updates(message as SinkBlueScoreChangedNotificationMessage)) as SinkBlueScoreChangedNotificationMessage; + + $pb.BuilderInfo get info_ => _i; + @$core.pragma('dart2js:noInline') + static SinkBlueScoreChangedNotificationMessage create() => SinkBlueScoreChangedNotificationMessage._(); + SinkBlueScoreChangedNotificationMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SinkBlueScoreChangedNotificationMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static SinkBlueScoreChangedNotificationMessage? _defaultInstance; + + @$pb.TagNumber(1) + $fixnum.Int64 get sinkBlueScore => $_getI64(0); @$pb.TagNumber(1) - $core.bool hasVirtualSelectedParentBlueScore() => $_has(0); + set sinkBlueScore($fixnum.Int64 v) { $_setInt64(0, v); } @$pb.TagNumber(1) - void clearVirtualSelectedParentBlueScore() => clearField(1); + $core.bool hasSinkBlueScore() => $_has(0); + @$pb.TagNumber(1) + void clearSinkBlueScore() => clearField(1); } +/// NotifyVirtualDaaScoreChangedRequestMessage registers this connection for +/// virtualDaaScoreChanged notifications. +/// +/// See: VirtualDaaScoreChangedNotificationMessage class NotifyVirtualDaaScoreChangedRequestMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'NotifyVirtualDaaScoreChangedRequestMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..hasRequiredFields = false; - + factory NotifyVirtualDaaScoreChangedRequestMessage({ + RpcNotifyCommand? command, + }) { + final $result = create(); + if (command != null) { + $result.command = command; + } + return $result; + } NotifyVirtualDaaScoreChangedRequestMessage._() : super(); - factory NotifyVirtualDaaScoreChangedRequestMessage() => create(); - factory NotifyVirtualDaaScoreChangedRequestMessage.fromBuffer( - $core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory NotifyVirtualDaaScoreChangedRequestMessage.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') - NotifyVirtualDaaScoreChangedRequestMessage clone() => - NotifyVirtualDaaScoreChangedRequestMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - NotifyVirtualDaaScoreChangedRequestMessage copyWith( - void Function(NotifyVirtualDaaScoreChangedRequestMessage) updates) => - super.copyWith((message) => - updates(message as NotifyVirtualDaaScoreChangedRequestMessage)) - as NotifyVirtualDaaScoreChangedRequestMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static NotifyVirtualDaaScoreChangedRequestMessage create() => - NotifyVirtualDaaScoreChangedRequestMessage._(); + factory NotifyVirtualDaaScoreChangedRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory NotifyVirtualDaaScoreChangedRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'NotifyVirtualDaaScoreChangedRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..e(101, _omitFieldNames ? '' : 'command', $pb.PbFieldType.OE, defaultOrMaker: RpcNotifyCommand.NOTIFY_START, valueOf: RpcNotifyCommand.valueOf, enumValues: RpcNotifyCommand.values) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + NotifyVirtualDaaScoreChangedRequestMessage clone() => NotifyVirtualDaaScoreChangedRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + NotifyVirtualDaaScoreChangedRequestMessage copyWith(void Function(NotifyVirtualDaaScoreChangedRequestMessage) updates) => super.copyWith((message) => updates(message as NotifyVirtualDaaScoreChangedRequestMessage)) as NotifyVirtualDaaScoreChangedRequestMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static NotifyVirtualDaaScoreChangedRequestMessage create() => NotifyVirtualDaaScoreChangedRequestMessage._(); NotifyVirtualDaaScoreChangedRequestMessage createEmptyInstance() => create(); - static $pb.PbList - createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static NotifyVirtualDaaScoreChangedRequestMessage getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< - NotifyVirtualDaaScoreChangedRequestMessage>(create); + static NotifyVirtualDaaScoreChangedRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static NotifyVirtualDaaScoreChangedRequestMessage? _defaultInstance; + + @$pb.TagNumber(101) + RpcNotifyCommand get command => $_getN(0); + @$pb.TagNumber(101) + set command(RpcNotifyCommand v) { setField(101, v); } + @$pb.TagNumber(101) + $core.bool hasCommand() => $_has(0); + @$pb.TagNumber(101) + void clearCommand() => clearField(101); } class NotifyVirtualDaaScoreChangedResponseMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'NotifyVirtualDaaScoreChangedResponseMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOM( - 1000, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'error', - subBuilder: RPCError.create) - ..hasRequiredFields = false; - - NotifyVirtualDaaScoreChangedResponseMessage._() : super(); factory NotifyVirtualDaaScoreChangedResponseMessage({ RPCError? error, }) { - final _result = create(); + final $result = create(); if (error != null) { - _result.error = error; + $result.error = error; } - return _result; + return $result; } - factory NotifyVirtualDaaScoreChangedResponseMessage.fromBuffer( - $core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory NotifyVirtualDaaScoreChangedResponseMessage.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') - NotifyVirtualDaaScoreChangedResponseMessage clone() => - NotifyVirtualDaaScoreChangedResponseMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - NotifyVirtualDaaScoreChangedResponseMessage copyWith( - void Function(NotifyVirtualDaaScoreChangedResponseMessage) updates) => - super.copyWith((message) => - updates(message as NotifyVirtualDaaScoreChangedResponseMessage)) - as NotifyVirtualDaaScoreChangedResponseMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static NotifyVirtualDaaScoreChangedResponseMessage create() => - NotifyVirtualDaaScoreChangedResponseMessage._(); + NotifyVirtualDaaScoreChangedResponseMessage._() : super(); + factory NotifyVirtualDaaScoreChangedResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory NotifyVirtualDaaScoreChangedResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'NotifyVirtualDaaScoreChangedResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + NotifyVirtualDaaScoreChangedResponseMessage clone() => NotifyVirtualDaaScoreChangedResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + NotifyVirtualDaaScoreChangedResponseMessage copyWith(void Function(NotifyVirtualDaaScoreChangedResponseMessage) updates) => super.copyWith((message) => updates(message as NotifyVirtualDaaScoreChangedResponseMessage)) as NotifyVirtualDaaScoreChangedResponseMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static NotifyVirtualDaaScoreChangedResponseMessage create() => NotifyVirtualDaaScoreChangedResponseMessage._(); NotifyVirtualDaaScoreChangedResponseMessage createEmptyInstance() => create(); - static $pb.PbList - createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static NotifyVirtualDaaScoreChangedResponseMessage getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< - NotifyVirtualDaaScoreChangedResponseMessage>(create); + static NotifyVirtualDaaScoreChangedResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static NotifyVirtualDaaScoreChangedResponseMessage? _defaultInstance; @$pb.TagNumber(1000) RPCError get error => $_getN(0); @$pb.TagNumber(1000) - set error(RPCError v) { - setField(1000, v); - } - + set error(RPCError v) { setField(1000, v); } @$pb.TagNumber(1000) $core.bool hasError() => $_has(0); @$pb.TagNumber(1000) @@ -8202,210 +5905,160 @@ class NotifyVirtualDaaScoreChangedResponseMessage extends $pb.GeneratedMessage { RPCError ensureError() => $_ensure(0); } +/// VirtualDaaScoreChangedNotificationMessage is sent whenever the DAA score +/// of the virtual changes. +/// +/// See NotifyVirtualDaaScoreChangedRequestMessage class VirtualDaaScoreChangedNotificationMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'VirtualDaaScoreChangedNotificationMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..a<$fixnum.Int64>( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'virtualDaaScore', - $pb.PbFieldType.OU6, - protoName: 'virtualDaaScore', - defaultOrMaker: $fixnum.Int64.ZERO) - ..hasRequiredFields = false; - - VirtualDaaScoreChangedNotificationMessage._() : super(); factory VirtualDaaScoreChangedNotificationMessage({ $fixnum.Int64? virtualDaaScore, }) { - final _result = create(); + final $result = create(); if (virtualDaaScore != null) { - _result.virtualDaaScore = virtualDaaScore; + $result.virtualDaaScore = virtualDaaScore; } - return _result; + return $result; } - factory VirtualDaaScoreChangedNotificationMessage.fromBuffer( - $core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory VirtualDaaScoreChangedNotificationMessage.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') - VirtualDaaScoreChangedNotificationMessage clone() => - VirtualDaaScoreChangedNotificationMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - VirtualDaaScoreChangedNotificationMessage copyWith( - void Function(VirtualDaaScoreChangedNotificationMessage) updates) => - super.copyWith((message) => - updates(message as VirtualDaaScoreChangedNotificationMessage)) - as VirtualDaaScoreChangedNotificationMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static VirtualDaaScoreChangedNotificationMessage create() => - VirtualDaaScoreChangedNotificationMessage._(); + VirtualDaaScoreChangedNotificationMessage._() : super(); + factory VirtualDaaScoreChangedNotificationMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory VirtualDaaScoreChangedNotificationMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'VirtualDaaScoreChangedNotificationMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..a<$fixnum.Int64>(1, _omitFieldNames ? '' : 'virtualDaaScore', $pb.PbFieldType.OU6, protoName: 'virtualDaaScore', defaultOrMaker: $fixnum.Int64.ZERO) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + VirtualDaaScoreChangedNotificationMessage clone() => VirtualDaaScoreChangedNotificationMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + VirtualDaaScoreChangedNotificationMessage copyWith(void Function(VirtualDaaScoreChangedNotificationMessage) updates) => super.copyWith((message) => updates(message as VirtualDaaScoreChangedNotificationMessage)) as VirtualDaaScoreChangedNotificationMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static VirtualDaaScoreChangedNotificationMessage create() => VirtualDaaScoreChangedNotificationMessage._(); VirtualDaaScoreChangedNotificationMessage createEmptyInstance() => create(); - static $pb.PbList - createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static VirtualDaaScoreChangedNotificationMessage getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< - VirtualDaaScoreChangedNotificationMessage>(create); + static VirtualDaaScoreChangedNotificationMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static VirtualDaaScoreChangedNotificationMessage? _defaultInstance; @$pb.TagNumber(1) $fixnum.Int64 get virtualDaaScore => $_getI64(0); @$pb.TagNumber(1) - set virtualDaaScore($fixnum.Int64 v) { - $_setInt64(0, v); - } - + set virtualDaaScore($fixnum.Int64 v) { $_setInt64(0, v); } @$pb.TagNumber(1) $core.bool hasVirtualDaaScore() => $_has(0); @$pb.TagNumber(1) void clearVirtualDaaScore() => clearField(1); } -class NotifyPruningPointUTXOSetOverrideRequestMessage - extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'NotifyPruningPointUTXOSetOverrideRequestMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..hasRequiredFields = false; - - NotifyPruningPointUTXOSetOverrideRequestMessage._() : super(); - factory NotifyPruningPointUTXOSetOverrideRequestMessage() => create(); - factory NotifyPruningPointUTXOSetOverrideRequestMessage.fromBuffer( - $core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory NotifyPruningPointUTXOSetOverrideRequestMessage.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') - NotifyPruningPointUTXOSetOverrideRequestMessage clone() => - NotifyPruningPointUTXOSetOverrideRequestMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - NotifyPruningPointUTXOSetOverrideRequestMessage copyWith( - void Function(NotifyPruningPointUTXOSetOverrideRequestMessage) - updates) => - super.copyWith((message) => updates( - message as NotifyPruningPointUTXOSetOverrideRequestMessage)) - as NotifyPruningPointUTXOSetOverrideRequestMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static NotifyPruningPointUTXOSetOverrideRequestMessage create() => - NotifyPruningPointUTXOSetOverrideRequestMessage._(); - NotifyPruningPointUTXOSetOverrideRequestMessage createEmptyInstance() => - create(); - static $pb.PbList - createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static NotifyPruningPointUTXOSetOverrideRequestMessage getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< - NotifyPruningPointUTXOSetOverrideRequestMessage>(create); - static NotifyPruningPointUTXOSetOverrideRequestMessage? _defaultInstance; -} - -class NotifyPruningPointUTXOSetOverrideResponseMessage - extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'NotifyPruningPointUTXOSetOverrideResponseMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOM( - 1000, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'error', - subBuilder: RPCError.create) - ..hasRequiredFields = false; - - NotifyPruningPointUTXOSetOverrideResponseMessage._() : super(); - factory NotifyPruningPointUTXOSetOverrideResponseMessage({ +/// NotifyPruningPointUtxoSetOverrideRequestMessage registers this connection for +/// pruning point UTXO set override notifications. +/// +/// This call is only available when this karlsend was started with `--utxoindex` +/// +/// See: NotifyPruningPointUtxoSetOverrideResponseMessage +class NotifyPruningPointUtxoSetOverrideRequestMessage extends $pb.GeneratedMessage { + factory NotifyPruningPointUtxoSetOverrideRequestMessage({ + RpcNotifyCommand? command, + }) { + final $result = create(); + if (command != null) { + $result.command = command; + } + return $result; + } + NotifyPruningPointUtxoSetOverrideRequestMessage._() : super(); + factory NotifyPruningPointUtxoSetOverrideRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory NotifyPruningPointUtxoSetOverrideRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'NotifyPruningPointUtxoSetOverrideRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..e(101, _omitFieldNames ? '' : 'command', $pb.PbFieldType.OE, defaultOrMaker: RpcNotifyCommand.NOTIFY_START, valueOf: RpcNotifyCommand.valueOf, enumValues: RpcNotifyCommand.values) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + NotifyPruningPointUtxoSetOverrideRequestMessage clone() => NotifyPruningPointUtxoSetOverrideRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + NotifyPruningPointUtxoSetOverrideRequestMessage copyWith(void Function(NotifyPruningPointUtxoSetOverrideRequestMessage) updates) => super.copyWith((message) => updates(message as NotifyPruningPointUtxoSetOverrideRequestMessage)) as NotifyPruningPointUtxoSetOverrideRequestMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static NotifyPruningPointUtxoSetOverrideRequestMessage create() => NotifyPruningPointUtxoSetOverrideRequestMessage._(); + NotifyPruningPointUtxoSetOverrideRequestMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static NotifyPruningPointUtxoSetOverrideRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static NotifyPruningPointUtxoSetOverrideRequestMessage? _defaultInstance; + + @$pb.TagNumber(101) + RpcNotifyCommand get command => $_getN(0); + @$pb.TagNumber(101) + set command(RpcNotifyCommand v) { setField(101, v); } + @$pb.TagNumber(101) + $core.bool hasCommand() => $_has(0); + @$pb.TagNumber(101) + void clearCommand() => clearField(101); +} + +class NotifyPruningPointUtxoSetOverrideResponseMessage extends $pb.GeneratedMessage { + factory NotifyPruningPointUtxoSetOverrideResponseMessage({ RPCError? error, }) { - final _result = create(); + final $result = create(); if (error != null) { - _result.error = error; - } - return _result; - } - factory NotifyPruningPointUTXOSetOverrideResponseMessage.fromBuffer( - $core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory NotifyPruningPointUTXOSetOverrideResponseMessage.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') - NotifyPruningPointUTXOSetOverrideResponseMessage clone() => - NotifyPruningPointUTXOSetOverrideResponseMessage() - ..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - NotifyPruningPointUTXOSetOverrideResponseMessage copyWith( - void Function(NotifyPruningPointUTXOSetOverrideResponseMessage) - updates) => - super.copyWith((message) => updates( - message as NotifyPruningPointUTXOSetOverrideResponseMessage)) - as NotifyPruningPointUTXOSetOverrideResponseMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static NotifyPruningPointUTXOSetOverrideResponseMessage create() => - NotifyPruningPointUTXOSetOverrideResponseMessage._(); - NotifyPruningPointUTXOSetOverrideResponseMessage createEmptyInstance() => - create(); - static $pb.PbList - createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static NotifyPruningPointUTXOSetOverrideResponseMessage getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< - NotifyPruningPointUTXOSetOverrideResponseMessage>(create); - static NotifyPruningPointUTXOSetOverrideResponseMessage? _defaultInstance; + $result.error = error; + } + return $result; + } + NotifyPruningPointUtxoSetOverrideResponseMessage._() : super(); + factory NotifyPruningPointUtxoSetOverrideResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory NotifyPruningPointUtxoSetOverrideResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'NotifyPruningPointUtxoSetOverrideResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + NotifyPruningPointUtxoSetOverrideResponseMessage clone() => NotifyPruningPointUtxoSetOverrideResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + NotifyPruningPointUtxoSetOverrideResponseMessage copyWith(void Function(NotifyPruningPointUtxoSetOverrideResponseMessage) updates) => super.copyWith((message) => updates(message as NotifyPruningPointUtxoSetOverrideResponseMessage)) as NotifyPruningPointUtxoSetOverrideResponseMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static NotifyPruningPointUtxoSetOverrideResponseMessage create() => NotifyPruningPointUtxoSetOverrideResponseMessage._(); + NotifyPruningPointUtxoSetOverrideResponseMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static NotifyPruningPointUtxoSetOverrideResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static NotifyPruningPointUtxoSetOverrideResponseMessage? _defaultInstance; @$pb.TagNumber(1000) RPCError get error => $_getN(0); @$pb.TagNumber(1000) - set error(RPCError v) { - setField(1000, v); - } - + set error(RPCError v) { setField(1000, v); } @$pb.TagNumber(1000) $core.bool hasError() => $_has(0); @$pb.TagNumber(1000) @@ -8414,189 +6067,127 @@ class NotifyPruningPointUTXOSetOverrideResponseMessage RPCError ensureError() => $_ensure(0); } -class PruningPointUTXOSetOverrideNotificationMessage - extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'PruningPointUTXOSetOverrideNotificationMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..hasRequiredFields = false; - - PruningPointUTXOSetOverrideNotificationMessage._() : super(); - factory PruningPointUTXOSetOverrideNotificationMessage() => create(); - factory PruningPointUTXOSetOverrideNotificationMessage.fromBuffer( - $core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory PruningPointUTXOSetOverrideNotificationMessage.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') - PruningPointUTXOSetOverrideNotificationMessage clone() => - PruningPointUTXOSetOverrideNotificationMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - PruningPointUTXOSetOverrideNotificationMessage copyWith( - void Function(PruningPointUTXOSetOverrideNotificationMessage) - updates) => - super.copyWith((message) => updates( - message as PruningPointUTXOSetOverrideNotificationMessage)) - as PruningPointUTXOSetOverrideNotificationMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static PruningPointUTXOSetOverrideNotificationMessage create() => - PruningPointUTXOSetOverrideNotificationMessage._(); - PruningPointUTXOSetOverrideNotificationMessage createEmptyInstance() => - create(); - static $pb.PbList - createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static PruningPointUTXOSetOverrideNotificationMessage getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< - PruningPointUTXOSetOverrideNotificationMessage>(create); - static PruningPointUTXOSetOverrideNotificationMessage? _defaultInstance; -} - -class StopNotifyingPruningPointUTXOSetOverrideRequestMessage - extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'StopNotifyingPruningPointUTXOSetOverrideRequestMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..hasRequiredFields = false; - - StopNotifyingPruningPointUTXOSetOverrideRequestMessage._() : super(); - factory StopNotifyingPruningPointUTXOSetOverrideRequestMessage() => create(); - factory StopNotifyingPruningPointUTXOSetOverrideRequestMessage.fromBuffer( - $core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory StopNotifyingPruningPointUTXOSetOverrideRequestMessage.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') - StopNotifyingPruningPointUTXOSetOverrideRequestMessage clone() => - StopNotifyingPruningPointUTXOSetOverrideRequestMessage() - ..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - StopNotifyingPruningPointUTXOSetOverrideRequestMessage copyWith( - void Function(StopNotifyingPruningPointUTXOSetOverrideRequestMessage) - updates) => - super.copyWith((message) => updates(message - as StopNotifyingPruningPointUTXOSetOverrideRequestMessage)) - as StopNotifyingPruningPointUTXOSetOverrideRequestMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static StopNotifyingPruningPointUTXOSetOverrideRequestMessage create() => - StopNotifyingPruningPointUTXOSetOverrideRequestMessage._(); - StopNotifyingPruningPointUTXOSetOverrideRequestMessage - createEmptyInstance() => create(); - static $pb.PbList - createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static StopNotifyingPruningPointUTXOSetOverrideRequestMessage getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< - StopNotifyingPruningPointUTXOSetOverrideRequestMessage>(create); - static StopNotifyingPruningPointUTXOSetOverrideRequestMessage? - _defaultInstance; -} - -class StopNotifyingPruningPointUTXOSetOverrideResponseMessage - extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'StopNotifyingPruningPointUTXOSetOverrideResponseMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOM( - 1000, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'error', - subBuilder: RPCError.create) - ..hasRequiredFields = false; - - StopNotifyingPruningPointUTXOSetOverrideResponseMessage._() : super(); - factory StopNotifyingPruningPointUTXOSetOverrideResponseMessage({ - RPCError? error, - }) { - final _result = create(); +/// PruningPointUtxoSetOverrideNotificationMessage is sent whenever the UTXO index +/// resets due to pruning point change via IBD. +/// +/// See NotifyPruningPointUtxoSetOverrideRequestMessage +class PruningPointUtxoSetOverrideNotificationMessage extends $pb.GeneratedMessage { + factory PruningPointUtxoSetOverrideNotificationMessage() => create(); + PruningPointUtxoSetOverrideNotificationMessage._() : super(); + factory PruningPointUtxoSetOverrideNotificationMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory PruningPointUtxoSetOverrideNotificationMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'PruningPointUtxoSetOverrideNotificationMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + PruningPointUtxoSetOverrideNotificationMessage clone() => PruningPointUtxoSetOverrideNotificationMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + PruningPointUtxoSetOverrideNotificationMessage copyWith(void Function(PruningPointUtxoSetOverrideNotificationMessage) updates) => super.copyWith((message) => updates(message as PruningPointUtxoSetOverrideNotificationMessage)) as PruningPointUtxoSetOverrideNotificationMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static PruningPointUtxoSetOverrideNotificationMessage create() => PruningPointUtxoSetOverrideNotificationMessage._(); + PruningPointUtxoSetOverrideNotificationMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static PruningPointUtxoSetOverrideNotificationMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static PruningPointUtxoSetOverrideNotificationMessage? _defaultInstance; +} + +/// StopNotifyingPruningPointUtxoSetOverrideRequestMessage unregisters this connection for +/// pruning point UTXO set override notifications. +/// +/// This call is only available when this karlsend was started with `--utxoindex` +/// +/// See: PruningPointUtxoSetOverrideNotificationMessage +/// +/// This message only exists for backward compatibility reason with karlsend and is deprecated. +/// Use instead NotifyPruningPointUtxoSetOverrideRequestMessage with command = NOTIFY_STOP. +class StopNotifyingPruningPointUtxoSetOverrideRequestMessage extends $pb.GeneratedMessage { + factory StopNotifyingPruningPointUtxoSetOverrideRequestMessage() => create(); + StopNotifyingPruningPointUtxoSetOverrideRequestMessage._() : super(); + factory StopNotifyingPruningPointUtxoSetOverrideRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory StopNotifyingPruningPointUtxoSetOverrideRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'StopNotifyingPruningPointUtxoSetOverrideRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + StopNotifyingPruningPointUtxoSetOverrideRequestMessage clone() => StopNotifyingPruningPointUtxoSetOverrideRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + StopNotifyingPruningPointUtxoSetOverrideRequestMessage copyWith(void Function(StopNotifyingPruningPointUtxoSetOverrideRequestMessage) updates) => super.copyWith((message) => updates(message as StopNotifyingPruningPointUtxoSetOverrideRequestMessage)) as StopNotifyingPruningPointUtxoSetOverrideRequestMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static StopNotifyingPruningPointUtxoSetOverrideRequestMessage create() => StopNotifyingPruningPointUtxoSetOverrideRequestMessage._(); + StopNotifyingPruningPointUtxoSetOverrideRequestMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static StopNotifyingPruningPointUtxoSetOverrideRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static StopNotifyingPruningPointUtxoSetOverrideRequestMessage? _defaultInstance; +} + +class StopNotifyingPruningPointUtxoSetOverrideResponseMessage extends $pb.GeneratedMessage { + factory StopNotifyingPruningPointUtxoSetOverrideResponseMessage({ + RPCError? error, + }) { + final $result = create(); if (error != null) { - _result.error = error; - } - return _result; - } - factory StopNotifyingPruningPointUTXOSetOverrideResponseMessage.fromBuffer( - $core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory StopNotifyingPruningPointUTXOSetOverrideResponseMessage.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') - StopNotifyingPruningPointUTXOSetOverrideResponseMessage clone() => - StopNotifyingPruningPointUTXOSetOverrideResponseMessage() - ..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - StopNotifyingPruningPointUTXOSetOverrideResponseMessage copyWith( - void Function(StopNotifyingPruningPointUTXOSetOverrideResponseMessage) - updates) => - super.copyWith((message) => updates(message - as StopNotifyingPruningPointUTXOSetOverrideResponseMessage)) - as StopNotifyingPruningPointUTXOSetOverrideResponseMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static StopNotifyingPruningPointUTXOSetOverrideResponseMessage create() => - StopNotifyingPruningPointUTXOSetOverrideResponseMessage._(); - StopNotifyingPruningPointUTXOSetOverrideResponseMessage - createEmptyInstance() => create(); - static $pb.PbList - createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static StopNotifyingPruningPointUTXOSetOverrideResponseMessage getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< - StopNotifyingPruningPointUTXOSetOverrideResponseMessage>(create); - static StopNotifyingPruningPointUTXOSetOverrideResponseMessage? - _defaultInstance; + $result.error = error; + } + return $result; + } + StopNotifyingPruningPointUtxoSetOverrideResponseMessage._() : super(); + factory StopNotifyingPruningPointUtxoSetOverrideResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory StopNotifyingPruningPointUtxoSetOverrideResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'StopNotifyingPruningPointUtxoSetOverrideResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + StopNotifyingPruningPointUtxoSetOverrideResponseMessage clone() => StopNotifyingPruningPointUtxoSetOverrideResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + StopNotifyingPruningPointUtxoSetOverrideResponseMessage copyWith(void Function(StopNotifyingPruningPointUtxoSetOverrideResponseMessage) updates) => super.copyWith((message) => updates(message as StopNotifyingPruningPointUtxoSetOverrideResponseMessage)) as StopNotifyingPruningPointUtxoSetOverrideResponseMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static StopNotifyingPruningPointUtxoSetOverrideResponseMessage create() => StopNotifyingPruningPointUtxoSetOverrideResponseMessage._(); + StopNotifyingPruningPointUtxoSetOverrideResponseMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static StopNotifyingPruningPointUtxoSetOverrideResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static StopNotifyingPruningPointUtxoSetOverrideResponseMessage? _defaultInstance; @$pb.TagNumber(1000) RPCError get error => $_getN(0); @$pb.TagNumber(1000) - set error(RPCError v) { - setField(1000, v); - } - + set error(RPCError v) { setField(1000, v); } @$pb.TagNumber(1000) $core.bool hasError() => $_has(0); @$pb.TagNumber(1000) @@ -8605,67 +6196,51 @@ class StopNotifyingPruningPointUTXOSetOverrideResponseMessage RPCError ensureError() => $_ensure(0); } +/// BanRequestMessage bans the given ip. class BanRequestMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'BanRequestMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOS( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'ip') - ..hasRequiredFields = false; - - BanRequestMessage._() : super(); factory BanRequestMessage({ $core.String? ip, }) { - final _result = create(); + final $result = create(); if (ip != null) { - _result.ip = ip; + $result.ip = ip; } - return _result; + return $result; } - factory BanRequestMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory BanRequestMessage.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') + BanRequestMessage._() : super(); + factory BanRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory BanRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'BanRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'ip') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') BanRequestMessage clone() => BanRequestMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - BanRequestMessage copyWith(void Function(BanRequestMessage) updates) => - super.copyWith((message) => updates(message as BanRequestMessage)) - as BanRequestMessage; // ignore: deprecated_member_use + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + BanRequestMessage copyWith(void Function(BanRequestMessage) updates) => super.copyWith((message) => updates(message as BanRequestMessage)) as BanRequestMessage; + $pb.BuilderInfo get info_ => _i; + @$core.pragma('dart2js:noInline') static BanRequestMessage create() => BanRequestMessage._(); BanRequestMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static BanRequestMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); + static BanRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static BanRequestMessage? _defaultInstance; @$pb.TagNumber(1) $core.String get ip => $_getSZ(0); @$pb.TagNumber(1) - set ip($core.String v) { - $_setString(0, v); - } - + set ip($core.String v) { $_setString(0, v); } @$pb.TagNumber(1) $core.bool hasIp() => $_has(0); @$pb.TagNumber(1) @@ -8673,67 +6248,49 @@ class BanRequestMessage extends $pb.GeneratedMessage { } class BanResponseMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'BanResponseMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOM( - 1000, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'error', - subBuilder: RPCError.create) - ..hasRequiredFields = false; - - BanResponseMessage._() : super(); factory BanResponseMessage({ RPCError? error, }) { - final _result = create(); + final $result = create(); if (error != null) { - _result.error = error; + $result.error = error; } - return _result; + return $result; } - factory BanResponseMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory BanResponseMessage.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') + BanResponseMessage._() : super(); + factory BanResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory BanResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'BanResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') BanResponseMessage clone() => BanResponseMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - BanResponseMessage copyWith(void Function(BanResponseMessage) updates) => - super.copyWith((message) => updates(message as BanResponseMessage)) - as BanResponseMessage; // ignore: deprecated_member_use + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + BanResponseMessage copyWith(void Function(BanResponseMessage) updates) => super.copyWith((message) => updates(message as BanResponseMessage)) as BanResponseMessage; + $pb.BuilderInfo get info_ => _i; + @$core.pragma('dart2js:noInline') static BanResponseMessage create() => BanResponseMessage._(); BanResponseMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static BanResponseMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); + static BanResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static BanResponseMessage? _defaultInstance; @$pb.TagNumber(1000) RPCError get error => $_getN(0); @$pb.TagNumber(1000) - set error(RPCError v) { - setField(1000, v); - } - + set error(RPCError v) { setField(1000, v); } @$pb.TagNumber(1000) $core.bool hasError() => $_has(0); @$pb.TagNumber(1000) @@ -8742,67 +6299,51 @@ class BanResponseMessage extends $pb.GeneratedMessage { RPCError ensureError() => $_ensure(0); } +/// UnbanRequestMessage unbans the given ip. class UnbanRequestMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'UnbanRequestMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOS( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'ip') - ..hasRequiredFields = false; - - UnbanRequestMessage._() : super(); factory UnbanRequestMessage({ $core.String? ip, }) { - final _result = create(); + final $result = create(); if (ip != null) { - _result.ip = ip; + $result.ip = ip; } - return _result; + return $result; } - factory UnbanRequestMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory UnbanRequestMessage.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') + UnbanRequestMessage._() : super(); + factory UnbanRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory UnbanRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'UnbanRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'ip') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') UnbanRequestMessage clone() => UnbanRequestMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - UnbanRequestMessage copyWith(void Function(UnbanRequestMessage) updates) => - super.copyWith((message) => updates(message as UnbanRequestMessage)) - as UnbanRequestMessage; // ignore: deprecated_member_use + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UnbanRequestMessage copyWith(void Function(UnbanRequestMessage) updates) => super.copyWith((message) => updates(message as UnbanRequestMessage)) as UnbanRequestMessage; + $pb.BuilderInfo get info_ => _i; + @$core.pragma('dart2js:noInline') static UnbanRequestMessage create() => UnbanRequestMessage._(); UnbanRequestMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static UnbanRequestMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); + static UnbanRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static UnbanRequestMessage? _defaultInstance; @$pb.TagNumber(1) $core.String get ip => $_getSZ(0); @$pb.TagNumber(1) - set ip($core.String v) { - $_setString(0, v); - } - + set ip($core.String v) { $_setString(0, v); } @$pb.TagNumber(1) $core.bool hasIp() => $_has(0); @$pb.TagNumber(1) @@ -8810,68 +6351,49 @@ class UnbanRequestMessage extends $pb.GeneratedMessage { } class UnbanResponseMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'UnbanResponseMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOM( - 1000, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'error', - subBuilder: RPCError.create) - ..hasRequiredFields = false; - - UnbanResponseMessage._() : super(); factory UnbanResponseMessage({ RPCError? error, }) { - final _result = create(); + final $result = create(); if (error != null) { - _result.error = error; + $result.error = error; } - return _result; + return $result; } - factory UnbanResponseMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory UnbanResponseMessage.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') - UnbanResponseMessage clone() => - UnbanResponseMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - UnbanResponseMessage copyWith(void Function(UnbanResponseMessage) updates) => - super.copyWith((message) => updates(message as UnbanResponseMessage)) - as UnbanResponseMessage; // ignore: deprecated_member_use + UnbanResponseMessage._() : super(); + factory UnbanResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory UnbanResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'UnbanResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + UnbanResponseMessage clone() => UnbanResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + UnbanResponseMessage copyWith(void Function(UnbanResponseMessage) updates) => super.copyWith((message) => updates(message as UnbanResponseMessage)) as UnbanResponseMessage; + $pb.BuilderInfo get info_ => _i; + @$core.pragma('dart2js:noInline') static UnbanResponseMessage create() => UnbanResponseMessage._(); UnbanResponseMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static UnbanResponseMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); + static UnbanResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static UnbanResponseMessage? _defaultInstance; @$pb.TagNumber(1000) RPCError get error => $_getN(0); @$pb.TagNumber(1000) - set error(RPCError v) { - setField(1000, v); - } - + set error(RPCError v) { setField(1000, v); } @$pb.TagNumber(1000) $core.bool hasError() => $_has(0); @$pb.TagNumber(1000) @@ -8880,166 +6402,118 @@ class UnbanResponseMessage extends $pb.GeneratedMessage { RPCError ensureError() => $_ensure(0); } +/// GetInfoRequestMessage returns info about the node. class GetInfoRequestMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'GetInfoRequestMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..hasRequiredFields = false; - - GetInfoRequestMessage._() : super(); factory GetInfoRequestMessage() => create(); - factory GetInfoRequestMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory GetInfoRequestMessage.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') - GetInfoRequestMessage clone() => - GetInfoRequestMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - GetInfoRequestMessage copyWith( - void Function(GetInfoRequestMessage) updates) => - super.copyWith((message) => updates(message as GetInfoRequestMessage)) - as GetInfoRequestMessage; // ignore: deprecated_member_use + GetInfoRequestMessage._() : super(); + factory GetInfoRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetInfoRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetInfoRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetInfoRequestMessage clone() => GetInfoRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetInfoRequestMessage copyWith(void Function(GetInfoRequestMessage) updates) => super.copyWith((message) => updates(message as GetInfoRequestMessage)) as GetInfoRequestMessage; + $pb.BuilderInfo get info_ => _i; + @$core.pragma('dart2js:noInline') static GetInfoRequestMessage create() => GetInfoRequestMessage._(); GetInfoRequestMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static GetInfoRequestMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); + static GetInfoRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static GetInfoRequestMessage? _defaultInstance; } class GetInfoResponseMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'GetInfoResponseMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOS( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'p2pId', - protoName: 'p2pId') - ..a<$fixnum.Int64>( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'mempoolSize', - $pb.PbFieldType.OU6, - protoName: 'mempoolSize', - defaultOrMaker: $fixnum.Int64.ZERO) - ..aOS( - 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'serverVersion', - protoName: 'serverVersion') - ..aOB( - 4, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'isUtxoIndexed', - protoName: 'isUtxoIndexed') - ..aOB( - 5, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'isSynced', - protoName: 'isSynced') - ..aOM( - 1000, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'error', - subBuilder: RPCError.create) - ..hasRequiredFields = false; - - GetInfoResponseMessage._() : super(); factory GetInfoResponseMessage({ $core.String? p2pId, $fixnum.Int64? mempoolSize, $core.String? serverVersion, $core.bool? isUtxoIndexed, $core.bool? isSynced, + $core.bool? hasNotifyCommand, + $core.bool? hasMessageId, RPCError? error, }) { - final _result = create(); + final $result = create(); if (p2pId != null) { - _result.p2pId = p2pId; + $result.p2pId = p2pId; } if (mempoolSize != null) { - _result.mempoolSize = mempoolSize; + $result.mempoolSize = mempoolSize; } if (serverVersion != null) { - _result.serverVersion = serverVersion; + $result.serverVersion = serverVersion; } if (isUtxoIndexed != null) { - _result.isUtxoIndexed = isUtxoIndexed; + $result.isUtxoIndexed = isUtxoIndexed; } if (isSynced != null) { - _result.isSynced = isSynced; + $result.isSynced = isSynced; + } + if (hasNotifyCommand != null) { + $result.hasNotifyCommand = hasNotifyCommand; + } + if (hasMessageId != null) { + $result.hasMessageId = hasMessageId; } if (error != null) { - _result.error = error; + $result.error = error; } - return _result; + return $result; } - factory GetInfoResponseMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory GetInfoResponseMessage.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') - GetInfoResponseMessage clone() => - GetInfoResponseMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - GetInfoResponseMessage copyWith( - void Function(GetInfoResponseMessage) updates) => - super.copyWith((message) => updates(message as GetInfoResponseMessage)) - as GetInfoResponseMessage; // ignore: deprecated_member_use + GetInfoResponseMessage._() : super(); + factory GetInfoResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetInfoResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetInfoResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'p2pId', protoName: 'p2pId') + ..a<$fixnum.Int64>(2, _omitFieldNames ? '' : 'mempoolSize', $pb.PbFieldType.OU6, protoName: 'mempoolSize', defaultOrMaker: $fixnum.Int64.ZERO) + ..aOS(3, _omitFieldNames ? '' : 'serverVersion', protoName: 'serverVersion') + ..aOB(4, _omitFieldNames ? '' : 'isUtxoIndexed', protoName: 'isUtxoIndexed') + ..aOB(5, _omitFieldNames ? '' : 'isSynced', protoName: 'isSynced') + ..aOB(11, _omitFieldNames ? '' : 'hasNotifyCommand', protoName: 'hasNotifyCommand') + ..aOB(12, _omitFieldNames ? '' : 'hasMessageId', protoName: 'hasMessageId') + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetInfoResponseMessage clone() => GetInfoResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetInfoResponseMessage copyWith(void Function(GetInfoResponseMessage) updates) => super.copyWith((message) => updates(message as GetInfoResponseMessage)) as GetInfoResponseMessage; + $pb.BuilderInfo get info_ => _i; + @$core.pragma('dart2js:noInline') static GetInfoResponseMessage create() => GetInfoResponseMessage._(); GetInfoResponseMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static GetInfoResponseMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); + static GetInfoResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static GetInfoResponseMessage? _defaultInstance; @$pb.TagNumber(1) $core.String get p2pId => $_getSZ(0); @$pb.TagNumber(1) - set p2pId($core.String v) { - $_setString(0, v); - } - + set p2pId($core.String v) { $_setString(0, v); } @$pb.TagNumber(1) $core.bool hasP2pId() => $_has(0); @$pb.TagNumber(1) @@ -9048,10 +6522,7 @@ class GetInfoResponseMessage extends $pb.GeneratedMessage { @$pb.TagNumber(2) $fixnum.Int64 get mempoolSize => $_getI64(1); @$pb.TagNumber(2) - set mempoolSize($fixnum.Int64 v) { - $_setInt64(1, v); - } - + set mempoolSize($fixnum.Int64 v) { $_setInt64(1, v); } @$pb.TagNumber(2) $core.bool hasMempoolSize() => $_has(1); @$pb.TagNumber(2) @@ -9060,10 +6531,7 @@ class GetInfoResponseMessage extends $pb.GeneratedMessage { @$pb.TagNumber(3) $core.String get serverVersion => $_getSZ(2); @$pb.TagNumber(3) - set serverVersion($core.String v) { - $_setString(2, v); - } - + set serverVersion($core.String v) { $_setString(2, v); } @$pb.TagNumber(3) $core.bool hasServerVersion() => $_has(2); @$pb.TagNumber(3) @@ -9072,10 +6540,7 @@ class GetInfoResponseMessage extends $pb.GeneratedMessage { @$pb.TagNumber(4) $core.bool get isUtxoIndexed => $_getBF(3); @$pb.TagNumber(4) - set isUtxoIndexed($core.bool v) { - $_setBool(3, v); - } - + set isUtxoIndexed($core.bool v) { $_setBool(3, v); } @$pb.TagNumber(4) $core.bool hasIsUtxoIndexed() => $_has(3); @$pb.TagNumber(4) @@ -9084,113 +6549,91 @@ class GetInfoResponseMessage extends $pb.GeneratedMessage { @$pb.TagNumber(5) $core.bool get isSynced => $_getBF(4); @$pb.TagNumber(5) - set isSynced($core.bool v) { - $_setBool(4, v); - } - + set isSynced($core.bool v) { $_setBool(4, v); } @$pb.TagNumber(5) $core.bool hasIsSynced() => $_has(4); @$pb.TagNumber(5) void clearIsSynced() => clearField(5); + @$pb.TagNumber(11) + $core.bool get hasNotifyCommand => $_getBF(5); + @$pb.TagNumber(11) + set hasNotifyCommand($core.bool v) { $_setBool(5, v); } + @$pb.TagNumber(11) + $core.bool hasHasNotifyCommand() => $_has(5); + @$pb.TagNumber(11) + void clearHasNotifyCommand() => clearField(11); + + @$pb.TagNumber(12) + $core.bool get hasMessageId => $_getBF(6); + @$pb.TagNumber(12) + set hasMessageId($core.bool v) { $_setBool(6, v); } + @$pb.TagNumber(12) + $core.bool hasHasMessageId() => $_has(6); + @$pb.TagNumber(12) + void clearHasMessageId() => clearField(12); + @$pb.TagNumber(1000) - RPCError get error => $_getN(5); + RPCError get error => $_getN(7); @$pb.TagNumber(1000) - set error(RPCError v) { - setField(1000, v); - } - + set error(RPCError v) { setField(1000, v); } @$pb.TagNumber(1000) - $core.bool hasError() => $_has(5); + $core.bool hasError() => $_has(7); @$pb.TagNumber(1000) void clearError() => clearField(1000); @$pb.TagNumber(1000) - RPCError ensureError() => $_ensure(5); -} - -class EstimateNetworkHashesPerSecondRequestMessage - extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'EstimateNetworkHashesPerSecondRequestMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..a<$core.int>( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'windowSize', - $pb.PbFieldType.OU3, - protoName: 'windowSize') - ..aOS( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'startHash', - protoName: 'startHash') - ..hasRequiredFields = false; + RPCError ensureError() => $_ensure(7); +} - EstimateNetworkHashesPerSecondRequestMessage._() : super(); +class EstimateNetworkHashesPerSecondRequestMessage extends $pb.GeneratedMessage { factory EstimateNetworkHashesPerSecondRequestMessage({ $core.int? windowSize, $core.String? startHash, }) { - final _result = create(); + final $result = create(); if (windowSize != null) { - _result.windowSize = windowSize; + $result.windowSize = windowSize; } if (startHash != null) { - _result.startHash = startHash; + $result.startHash = startHash; } - return _result; + return $result; } - factory EstimateNetworkHashesPerSecondRequestMessage.fromBuffer( - $core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory EstimateNetworkHashesPerSecondRequestMessage.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') - EstimateNetworkHashesPerSecondRequestMessage clone() => - EstimateNetworkHashesPerSecondRequestMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - EstimateNetworkHashesPerSecondRequestMessage copyWith( - void Function(EstimateNetworkHashesPerSecondRequestMessage) - updates) => - super.copyWith((message) => - updates(message as EstimateNetworkHashesPerSecondRequestMessage)) - as EstimateNetworkHashesPerSecondRequestMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static EstimateNetworkHashesPerSecondRequestMessage create() => - EstimateNetworkHashesPerSecondRequestMessage._(); - EstimateNetworkHashesPerSecondRequestMessage createEmptyInstance() => - create(); - static $pb.PbList - createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static EstimateNetworkHashesPerSecondRequestMessage getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< - EstimateNetworkHashesPerSecondRequestMessage>(create); + EstimateNetworkHashesPerSecondRequestMessage._() : super(); + factory EstimateNetworkHashesPerSecondRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory EstimateNetworkHashesPerSecondRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'EstimateNetworkHashesPerSecondRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'windowSize', $pb.PbFieldType.OU3, protoName: 'windowSize') + ..aOS(2, _omitFieldNames ? '' : 'startHash', protoName: 'startHash') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + EstimateNetworkHashesPerSecondRequestMessage clone() => EstimateNetworkHashesPerSecondRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + EstimateNetworkHashesPerSecondRequestMessage copyWith(void Function(EstimateNetworkHashesPerSecondRequestMessage) updates) => super.copyWith((message) => updates(message as EstimateNetworkHashesPerSecondRequestMessage)) as EstimateNetworkHashesPerSecondRequestMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static EstimateNetworkHashesPerSecondRequestMessage create() => EstimateNetworkHashesPerSecondRequestMessage._(); + EstimateNetworkHashesPerSecondRequestMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static EstimateNetworkHashesPerSecondRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static EstimateNetworkHashesPerSecondRequestMessage? _defaultInstance; @$pb.TagNumber(1) $core.int get windowSize => $_getIZ(0); @$pb.TagNumber(1) - set windowSize($core.int v) { - $_setUnsignedInt32(0, v); - } - + set windowSize($core.int v) { $_setUnsignedInt32(0, v); } @$pb.TagNumber(1) $core.bool hasWindowSize() => $_has(0); @$pb.TagNumber(1) @@ -9199,100 +6642,62 @@ class EstimateNetworkHashesPerSecondRequestMessage @$pb.TagNumber(2) $core.String get startHash => $_getSZ(1); @$pb.TagNumber(2) - set startHash($core.String v) { - $_setString(1, v); - } - + set startHash($core.String v) { $_setString(1, v); } @$pb.TagNumber(2) $core.bool hasStartHash() => $_has(1); @$pb.TagNumber(2) void clearStartHash() => clearField(2); } -class EstimateNetworkHashesPerSecondResponseMessage - extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'EstimateNetworkHashesPerSecondResponseMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..a<$fixnum.Int64>( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'networkHashesPerSecond', - $pb.PbFieldType.OU6, - protoName: 'networkHashesPerSecond', - defaultOrMaker: $fixnum.Int64.ZERO) - ..aOM( - 1000, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'error', - subBuilder: RPCError.create) - ..hasRequiredFields = false; - - EstimateNetworkHashesPerSecondResponseMessage._() : super(); +class EstimateNetworkHashesPerSecondResponseMessage extends $pb.GeneratedMessage { factory EstimateNetworkHashesPerSecondResponseMessage({ $fixnum.Int64? networkHashesPerSecond, RPCError? error, }) { - final _result = create(); + final $result = create(); if (networkHashesPerSecond != null) { - _result.networkHashesPerSecond = networkHashesPerSecond; + $result.networkHashesPerSecond = networkHashesPerSecond; } if (error != null) { - _result.error = error; + $result.error = error; } - return _result; + return $result; } - factory EstimateNetworkHashesPerSecondResponseMessage.fromBuffer( - $core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory EstimateNetworkHashesPerSecondResponseMessage.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') - EstimateNetworkHashesPerSecondResponseMessage clone() => - EstimateNetworkHashesPerSecondResponseMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - EstimateNetworkHashesPerSecondResponseMessage copyWith( - void Function(EstimateNetworkHashesPerSecondResponseMessage) - updates) => - super.copyWith((message) => - updates(message as EstimateNetworkHashesPerSecondResponseMessage)) - as EstimateNetworkHashesPerSecondResponseMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static EstimateNetworkHashesPerSecondResponseMessage create() => - EstimateNetworkHashesPerSecondResponseMessage._(); - EstimateNetworkHashesPerSecondResponseMessage createEmptyInstance() => - create(); - static $pb.PbList - createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static EstimateNetworkHashesPerSecondResponseMessage getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< - EstimateNetworkHashesPerSecondResponseMessage>(create); + EstimateNetworkHashesPerSecondResponseMessage._() : super(); + factory EstimateNetworkHashesPerSecondResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory EstimateNetworkHashesPerSecondResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'EstimateNetworkHashesPerSecondResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..a<$fixnum.Int64>(1, _omitFieldNames ? '' : 'networkHashesPerSecond', $pb.PbFieldType.OU6, protoName: 'networkHashesPerSecond', defaultOrMaker: $fixnum.Int64.ZERO) + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + EstimateNetworkHashesPerSecondResponseMessage clone() => EstimateNetworkHashesPerSecondResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + EstimateNetworkHashesPerSecondResponseMessage copyWith(void Function(EstimateNetworkHashesPerSecondResponseMessage) updates) => super.copyWith((message) => updates(message as EstimateNetworkHashesPerSecondResponseMessage)) as EstimateNetworkHashesPerSecondResponseMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static EstimateNetworkHashesPerSecondResponseMessage create() => EstimateNetworkHashesPerSecondResponseMessage._(); + EstimateNetworkHashesPerSecondResponseMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static EstimateNetworkHashesPerSecondResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static EstimateNetworkHashesPerSecondResponseMessage? _defaultInstance; @$pb.TagNumber(1) $fixnum.Int64 get networkHashesPerSecond => $_getI64(0); @$pb.TagNumber(1) - set networkHashesPerSecond($fixnum.Int64 v) { - $_setInt64(0, v); - } - + set networkHashesPerSecond($fixnum.Int64 v) { $_setInt64(0, v); } @$pb.TagNumber(1) $core.bool hasNetworkHashesPerSecond() => $_has(0); @$pb.TagNumber(1) @@ -9301,10 +6706,7 @@ class EstimateNetworkHashesPerSecondResponseMessage @$pb.TagNumber(1000) RPCError get error => $_getN(1); @$pb.TagNumber(1000) - set error(RPCError v) { - setField(1000, v); - } - + set error(RPCError v) { setField(1000, v); } @$pb.TagNumber(1000) $core.bool hasError() => $_has(1); @$pb.TagNumber(1000) @@ -9313,122 +6715,104 @@ class EstimateNetworkHashesPerSecondResponseMessage RPCError ensureError() => $_ensure(1); } +/// NotifyNewBlockTemplateRequestMessage registers this connection for +/// NewBlockTemplate notifications. +/// +/// See: NewBlockTemplateNotificationMessage class NotifyNewBlockTemplateRequestMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'NotifyNewBlockTemplateRequestMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..hasRequiredFields = false; - + factory NotifyNewBlockTemplateRequestMessage({ + RpcNotifyCommand? command, + }) { + final $result = create(); + if (command != null) { + $result.command = command; + } + return $result; + } NotifyNewBlockTemplateRequestMessage._() : super(); - factory NotifyNewBlockTemplateRequestMessage() => create(); - factory NotifyNewBlockTemplateRequestMessage.fromBuffer( - $core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory NotifyNewBlockTemplateRequestMessage.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') - NotifyNewBlockTemplateRequestMessage clone() => - NotifyNewBlockTemplateRequestMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - NotifyNewBlockTemplateRequestMessage copyWith( - void Function(NotifyNewBlockTemplateRequestMessage) updates) => - super.copyWith((message) => - updates(message as NotifyNewBlockTemplateRequestMessage)) - as NotifyNewBlockTemplateRequestMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static NotifyNewBlockTemplateRequestMessage create() => - NotifyNewBlockTemplateRequestMessage._(); + factory NotifyNewBlockTemplateRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory NotifyNewBlockTemplateRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'NotifyNewBlockTemplateRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..e(101, _omitFieldNames ? '' : 'command', $pb.PbFieldType.OE, defaultOrMaker: RpcNotifyCommand.NOTIFY_START, valueOf: RpcNotifyCommand.valueOf, enumValues: RpcNotifyCommand.values) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + NotifyNewBlockTemplateRequestMessage clone() => NotifyNewBlockTemplateRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + NotifyNewBlockTemplateRequestMessage copyWith(void Function(NotifyNewBlockTemplateRequestMessage) updates) => super.copyWith((message) => updates(message as NotifyNewBlockTemplateRequestMessage)) as NotifyNewBlockTemplateRequestMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static NotifyNewBlockTemplateRequestMessage create() => NotifyNewBlockTemplateRequestMessage._(); NotifyNewBlockTemplateRequestMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static NotifyNewBlockTemplateRequestMessage getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< - NotifyNewBlockTemplateRequestMessage>(create); + static NotifyNewBlockTemplateRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static NotifyNewBlockTemplateRequestMessage? _defaultInstance; + + @$pb.TagNumber(101) + RpcNotifyCommand get command => $_getN(0); + @$pb.TagNumber(101) + set command(RpcNotifyCommand v) { setField(101, v); } + @$pb.TagNumber(101) + $core.bool hasCommand() => $_has(0); + @$pb.TagNumber(101) + void clearCommand() => clearField(101); } class NotifyNewBlockTemplateResponseMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'NotifyNewBlockTemplateResponseMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOM( - 1000, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'error', - subBuilder: RPCError.create) - ..hasRequiredFields = false; - - NotifyNewBlockTemplateResponseMessage._() : super(); factory NotifyNewBlockTemplateResponseMessage({ RPCError? error, }) { - final _result = create(); + final $result = create(); if (error != null) { - _result.error = error; + $result.error = error; } - return _result; + return $result; } - factory NotifyNewBlockTemplateResponseMessage.fromBuffer( - $core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory NotifyNewBlockTemplateResponseMessage.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') - NotifyNewBlockTemplateResponseMessage clone() => - NotifyNewBlockTemplateResponseMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - NotifyNewBlockTemplateResponseMessage copyWith( - void Function(NotifyNewBlockTemplateResponseMessage) updates) => - super.copyWith((message) => - updates(message as NotifyNewBlockTemplateResponseMessage)) - as NotifyNewBlockTemplateResponseMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static NotifyNewBlockTemplateResponseMessage create() => - NotifyNewBlockTemplateResponseMessage._(); + NotifyNewBlockTemplateResponseMessage._() : super(); + factory NotifyNewBlockTemplateResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory NotifyNewBlockTemplateResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'NotifyNewBlockTemplateResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + NotifyNewBlockTemplateResponseMessage clone() => NotifyNewBlockTemplateResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + NotifyNewBlockTemplateResponseMessage copyWith(void Function(NotifyNewBlockTemplateResponseMessage) updates) => super.copyWith((message) => updates(message as NotifyNewBlockTemplateResponseMessage)) as NotifyNewBlockTemplateResponseMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static NotifyNewBlockTemplateResponseMessage create() => NotifyNewBlockTemplateResponseMessage._(); NotifyNewBlockTemplateResponseMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static NotifyNewBlockTemplateResponseMessage getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< - NotifyNewBlockTemplateResponseMessage>(create); + static NotifyNewBlockTemplateResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static NotifyNewBlockTemplateResponseMessage? _defaultInstance; @$pb.TagNumber(1000) RPCError get error => $_getN(0); @$pb.TagNumber(1000) - set error(RPCError v) { - setField(1000, v); - } - + set error(RPCError v) { setField(1000, v); } @$pb.TagNumber(1000) $core.bool hasError() => $_has(0); @$pb.TagNumber(1000) @@ -9437,230 +6821,156 @@ class NotifyNewBlockTemplateResponseMessage extends $pb.GeneratedMessage { RPCError ensureError() => $_ensure(0); } +/// NewBlockTemplateNotificationMessage is sent whenever a new updated block template is +/// available for miners. +/// +/// See NotifyNewBlockTemplateRequestMessage class NewBlockTemplateNotificationMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'NewBlockTemplateNotificationMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..hasRequiredFields = false; - - NewBlockTemplateNotificationMessage._() : super(); factory NewBlockTemplateNotificationMessage() => create(); - factory NewBlockTemplateNotificationMessage.fromBuffer( - $core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory NewBlockTemplateNotificationMessage.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') - NewBlockTemplateNotificationMessage clone() => - NewBlockTemplateNotificationMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - NewBlockTemplateNotificationMessage copyWith( - void Function(NewBlockTemplateNotificationMessage) updates) => - super.copyWith((message) => - updates(message as NewBlockTemplateNotificationMessage)) - as NewBlockTemplateNotificationMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static NewBlockTemplateNotificationMessage create() => - NewBlockTemplateNotificationMessage._(); + NewBlockTemplateNotificationMessage._() : super(); + factory NewBlockTemplateNotificationMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory NewBlockTemplateNotificationMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'NewBlockTemplateNotificationMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + NewBlockTemplateNotificationMessage clone() => NewBlockTemplateNotificationMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + NewBlockTemplateNotificationMessage copyWith(void Function(NewBlockTemplateNotificationMessage) updates) => super.copyWith((message) => updates(message as NewBlockTemplateNotificationMessage)) as NewBlockTemplateNotificationMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static NewBlockTemplateNotificationMessage create() => NewBlockTemplateNotificationMessage._(); NewBlockTemplateNotificationMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static NewBlockTemplateNotificationMessage getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< - NewBlockTemplateNotificationMessage>(create); + static NewBlockTemplateNotificationMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static NewBlockTemplateNotificationMessage? _defaultInstance; } -class MempoolEntryByAddress extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'MempoolEntryByAddress', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..aOS( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'address') - ..pc( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'sending', - $pb.PbFieldType.PM, - subBuilder: MempoolEntry.create) - ..pc( - 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'receiving', - $pb.PbFieldType.PM, - subBuilder: MempoolEntry.create) - ..hasRequiredFields = false; - - MempoolEntryByAddress._() : super(); - factory MempoolEntryByAddress({ +class RpcMempoolEntryByAddress extends $pb.GeneratedMessage { + factory RpcMempoolEntryByAddress({ $core.String? address, - $core.Iterable? sending, - $core.Iterable? receiving, + $core.Iterable? sending, + $core.Iterable? receiving, }) { - final _result = create(); + final $result = create(); if (address != null) { - _result.address = address; + $result.address = address; } if (sending != null) { - _result.sending.addAll(sending); + $result.sending.addAll(sending); } if (receiving != null) { - _result.receiving.addAll(receiving); - } - return _result; - } - factory MempoolEntryByAddress.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory MempoolEntryByAddress.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') - MempoolEntryByAddress clone() => - MempoolEntryByAddress()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - MempoolEntryByAddress copyWith( - void Function(MempoolEntryByAddress) updates) => - super.copyWith((message) => updates(message as MempoolEntryByAddress)) - as MempoolEntryByAddress; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static MempoolEntryByAddress create() => MempoolEntryByAddress._(); - MempoolEntryByAddress createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); - @$core.pragma('dart2js:noInline') - static MempoolEntryByAddress getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); - static MempoolEntryByAddress? _defaultInstance; + $result.receiving.addAll(receiving); + } + return $result; + } + RpcMempoolEntryByAddress._() : super(); + factory RpcMempoolEntryByAddress.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory RpcMempoolEntryByAddress.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'RpcMempoolEntryByAddress', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'address') + ..pc(2, _omitFieldNames ? '' : 'sending', $pb.PbFieldType.PM, subBuilder: RpcMempoolEntry.create) + ..pc(3, _omitFieldNames ? '' : 'receiving', $pb.PbFieldType.PM, subBuilder: RpcMempoolEntry.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + RpcMempoolEntryByAddress clone() => RpcMempoolEntryByAddress()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RpcMempoolEntryByAddress copyWith(void Function(RpcMempoolEntryByAddress) updates) => super.copyWith((message) => updates(message as RpcMempoolEntryByAddress)) as RpcMempoolEntryByAddress; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static RpcMempoolEntryByAddress create() => RpcMempoolEntryByAddress._(); + RpcMempoolEntryByAddress createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static RpcMempoolEntryByAddress getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static RpcMempoolEntryByAddress? _defaultInstance; @$pb.TagNumber(1) $core.String get address => $_getSZ(0); @$pb.TagNumber(1) - set address($core.String v) { - $_setString(0, v); - } - + set address($core.String v) { $_setString(0, v); } @$pb.TagNumber(1) $core.bool hasAddress() => $_has(0); @$pb.TagNumber(1) void clearAddress() => clearField(1); @$pb.TagNumber(2) - $core.List get sending => $_getList(1); + $core.List get sending => $_getList(1); @$pb.TagNumber(3) - $core.List get receiving => $_getList(2); + $core.List get receiving => $_getList(2); } class GetMempoolEntriesByAddressesRequestMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'GetMempoolEntriesByAddressesRequestMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..pPS( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'addresses') - ..aOB( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'includeOrphanPool', - protoName: 'includeOrphanPool') - ..aOB( - 3, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'filterTransactionPool', - protoName: 'filterTransactionPool') - ..hasRequiredFields = false; - - GetMempoolEntriesByAddressesRequestMessage._() : super(); factory GetMempoolEntriesByAddressesRequestMessage({ $core.Iterable<$core.String>? addresses, $core.bool? includeOrphanPool, $core.bool? filterTransactionPool, }) { - final _result = create(); + final $result = create(); if (addresses != null) { - _result.addresses.addAll(addresses); + $result.addresses.addAll(addresses); } if (includeOrphanPool != null) { - _result.includeOrphanPool = includeOrphanPool; + $result.includeOrphanPool = includeOrphanPool; } if (filterTransactionPool != null) { - _result.filterTransactionPool = filterTransactionPool; + $result.filterTransactionPool = filterTransactionPool; } - return _result; + return $result; } - factory GetMempoolEntriesByAddressesRequestMessage.fromBuffer( - $core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory GetMempoolEntriesByAddressesRequestMessage.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') - GetMempoolEntriesByAddressesRequestMessage clone() => - GetMempoolEntriesByAddressesRequestMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - GetMempoolEntriesByAddressesRequestMessage copyWith( - void Function(GetMempoolEntriesByAddressesRequestMessage) updates) => - super.copyWith((message) => - updates(message as GetMempoolEntriesByAddressesRequestMessage)) - as GetMempoolEntriesByAddressesRequestMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static GetMempoolEntriesByAddressesRequestMessage create() => - GetMempoolEntriesByAddressesRequestMessage._(); + GetMempoolEntriesByAddressesRequestMessage._() : super(); + factory GetMempoolEntriesByAddressesRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetMempoolEntriesByAddressesRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetMempoolEntriesByAddressesRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..pPS(1, _omitFieldNames ? '' : 'addresses') + ..aOB(2, _omitFieldNames ? '' : 'includeOrphanPool', protoName: 'includeOrphanPool') + ..aOB(3, _omitFieldNames ? '' : 'filterTransactionPool', protoName: 'filterTransactionPool') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetMempoolEntriesByAddressesRequestMessage clone() => GetMempoolEntriesByAddressesRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetMempoolEntriesByAddressesRequestMessage copyWith(void Function(GetMempoolEntriesByAddressesRequestMessage) updates) => super.copyWith((message) => updates(message as GetMempoolEntriesByAddressesRequestMessage)) as GetMempoolEntriesByAddressesRequestMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetMempoolEntriesByAddressesRequestMessage create() => GetMempoolEntriesByAddressesRequestMessage._(); GetMempoolEntriesByAddressesRequestMessage createEmptyInstance() => create(); - static $pb.PbList - createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static GetMempoolEntriesByAddressesRequestMessage getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< - GetMempoolEntriesByAddressesRequestMessage>(create); + static GetMempoolEntriesByAddressesRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static GetMempoolEntriesByAddressesRequestMessage? _defaultInstance; @$pb.TagNumber(1) @@ -9669,10 +6979,7 @@ class GetMempoolEntriesByAddressesRequestMessage extends $pb.GeneratedMessage { @$pb.TagNumber(2) $core.bool get includeOrphanPool => $_getBF(1); @$pb.TagNumber(2) - set includeOrphanPool($core.bool v) { - $_setBool(1, v); - } - + set includeOrphanPool($core.bool v) { $_setBool(1, v); } @$pb.TagNumber(2) $core.bool hasIncludeOrphanPool() => $_has(1); @$pb.TagNumber(2) @@ -9681,10 +6988,7 @@ class GetMempoolEntriesByAddressesRequestMessage extends $pb.GeneratedMessage { @$pb.TagNumber(3) $core.bool get filterTransactionPool => $_getBF(2); @$pb.TagNumber(3) - set filterTransactionPool($core.bool v) { - $_setBool(2, v); - } - + set filterTransactionPool($core.bool v) { $_setBool(2, v); } @$pb.TagNumber(3) $core.bool hasFilterTransactionPool() => $_has(2); @$pb.TagNumber(3) @@ -9692,88 +6996,57 @@ class GetMempoolEntriesByAddressesRequestMessage extends $pb.GeneratedMessage { } class GetMempoolEntriesByAddressesResponseMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'GetMempoolEntriesByAddressesResponseMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..pc( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'entries', - $pb.PbFieldType.PM, - subBuilder: MempoolEntryByAddress.create) - ..aOM( - 1000, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'error', - subBuilder: RPCError.create) - ..hasRequiredFields = false; - - GetMempoolEntriesByAddressesResponseMessage._() : super(); factory GetMempoolEntriesByAddressesResponseMessage({ - $core.Iterable? entries, + $core.Iterable? entries, RPCError? error, }) { - final _result = create(); + final $result = create(); if (entries != null) { - _result.entries.addAll(entries); + $result.entries.addAll(entries); } if (error != null) { - _result.error = error; + $result.error = error; } - return _result; + return $result; } - factory GetMempoolEntriesByAddressesResponseMessage.fromBuffer( - $core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory GetMempoolEntriesByAddressesResponseMessage.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') - GetMempoolEntriesByAddressesResponseMessage clone() => - GetMempoolEntriesByAddressesResponseMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - GetMempoolEntriesByAddressesResponseMessage copyWith( - void Function(GetMempoolEntriesByAddressesResponseMessage) updates) => - super.copyWith((message) => - updates(message as GetMempoolEntriesByAddressesResponseMessage)) - as GetMempoolEntriesByAddressesResponseMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static GetMempoolEntriesByAddressesResponseMessage create() => - GetMempoolEntriesByAddressesResponseMessage._(); + GetMempoolEntriesByAddressesResponseMessage._() : super(); + factory GetMempoolEntriesByAddressesResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetMempoolEntriesByAddressesResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetMempoolEntriesByAddressesResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..pc(1, _omitFieldNames ? '' : 'entries', $pb.PbFieldType.PM, subBuilder: RpcMempoolEntryByAddress.create) + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetMempoolEntriesByAddressesResponseMessage clone() => GetMempoolEntriesByAddressesResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetMempoolEntriesByAddressesResponseMessage copyWith(void Function(GetMempoolEntriesByAddressesResponseMessage) updates) => super.copyWith((message) => updates(message as GetMempoolEntriesByAddressesResponseMessage)) as GetMempoolEntriesByAddressesResponseMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetMempoolEntriesByAddressesResponseMessage create() => GetMempoolEntriesByAddressesResponseMessage._(); GetMempoolEntriesByAddressesResponseMessage createEmptyInstance() => create(); - static $pb.PbList - createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static GetMempoolEntriesByAddressesResponseMessage getDefault() => - _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor< - GetMempoolEntriesByAddressesResponseMessage>(create); + static GetMempoolEntriesByAddressesResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static GetMempoolEntriesByAddressesResponseMessage? _defaultInstance; @$pb.TagNumber(1) - $core.List get entries => $_getList(0); + $core.List get entries => $_getList(0); @$pb.TagNumber(1000) RPCError get error => $_getN(1); @$pb.TagNumber(1000) - set error(RPCError v) { - setField(1000, v); - } - + set error(RPCError v) { setField(1000, v); } @$pb.TagNumber(1000) $core.bool hasError() => $_has(1); @$pb.TagNumber(1000) @@ -9783,141 +7056,91 @@ class GetMempoolEntriesByAddressesResponseMessage extends $pb.GeneratedMessage { } class GetCoinSupplyRequestMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'GetCoinSupplyRequestMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..hasRequiredFields = false; - - GetCoinSupplyRequestMessage._() : super(); factory GetCoinSupplyRequestMessage() => create(); - factory GetCoinSupplyRequestMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory GetCoinSupplyRequestMessage.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') - GetCoinSupplyRequestMessage clone() => - GetCoinSupplyRequestMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - GetCoinSupplyRequestMessage copyWith( - void Function(GetCoinSupplyRequestMessage) updates) => - super.copyWith( - (message) => updates(message as GetCoinSupplyRequestMessage)) - as GetCoinSupplyRequestMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static GetCoinSupplyRequestMessage create() => - GetCoinSupplyRequestMessage._(); + GetCoinSupplyRequestMessage._() : super(); + factory GetCoinSupplyRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetCoinSupplyRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetCoinSupplyRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetCoinSupplyRequestMessage clone() => GetCoinSupplyRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetCoinSupplyRequestMessage copyWith(void Function(GetCoinSupplyRequestMessage) updates) => super.copyWith((message) => updates(message as GetCoinSupplyRequestMessage)) as GetCoinSupplyRequestMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetCoinSupplyRequestMessage create() => GetCoinSupplyRequestMessage._(); GetCoinSupplyRequestMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static GetCoinSupplyRequestMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); + static GetCoinSupplyRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static GetCoinSupplyRequestMessage? _defaultInstance; } class GetCoinSupplyResponseMessage extends $pb.GeneratedMessage { - static final $pb.BuilderInfo _i = $pb.BuilderInfo( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'GetCoinSupplyResponseMessage', - package: const $pb.PackageName( - const $core.bool.fromEnvironment('protobuf.omit_message_names') - ? '' - : 'protowire'), - createEmptyInstance: create) - ..a<$fixnum.Int64>( - 1, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'maxSompi', - $pb.PbFieldType.OU6, - protoName: 'maxSompi', - defaultOrMaker: $fixnum.Int64.ZERO) - ..a<$fixnum.Int64>( - 2, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'circulatingSompi', - $pb.PbFieldType.OU6, - protoName: 'circulatingSompi', - defaultOrMaker: $fixnum.Int64.ZERO) - ..aOM( - 1000, - const $core.bool.fromEnvironment('protobuf.omit_field_names') - ? '' - : 'error', - subBuilder: RPCError.create) - ..hasRequiredFields = false; - - GetCoinSupplyResponseMessage._() : super(); factory GetCoinSupplyResponseMessage({ $fixnum.Int64? maxSompi, $fixnum.Int64? circulatingSompi, RPCError? error, }) { - final _result = create(); + final $result = create(); if (maxSompi != null) { - _result.maxSompi = maxSompi; + $result.maxSompi = maxSompi; } if (circulatingSompi != null) { - _result.circulatingSompi = circulatingSompi; + $result.circulatingSompi = circulatingSompi; } if (error != null) { - _result.error = error; + $result.error = error; } - return _result; + return $result; } - factory GetCoinSupplyResponseMessage.fromBuffer($core.List<$core.int> i, - [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => - create()..mergeFromBuffer(i, r); - factory GetCoinSupplyResponseMessage.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') - GetCoinSupplyResponseMessage clone() => - GetCoinSupplyResponseMessage()..mergeFromMessage(this); - @$core.Deprecated('Using this can add significant overhead to your binary. ' - 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' - 'Will be removed in next major version') - GetCoinSupplyResponseMessage copyWith( - void Function(GetCoinSupplyResponseMessage) updates) => - super.copyWith( - (message) => updates(message as GetCoinSupplyResponseMessage)) - as GetCoinSupplyResponseMessage; // ignore: deprecated_member_use - $pb.BuilderInfo get info_ => _i; - @$core.pragma('dart2js:noInline') - static GetCoinSupplyResponseMessage create() => - GetCoinSupplyResponseMessage._(); + GetCoinSupplyResponseMessage._() : super(); + factory GetCoinSupplyResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetCoinSupplyResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetCoinSupplyResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..a<$fixnum.Int64>(1, _omitFieldNames ? '' : 'maxSompi', $pb.PbFieldType.OU6, protoName: 'maxSompi', defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$fixnum.Int64>(2, _omitFieldNames ? '' : 'circulatingSompi', $pb.PbFieldType.OU6, protoName: 'circulatingSompi', defaultOrMaker: $fixnum.Int64.ZERO) + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetCoinSupplyResponseMessage clone() => GetCoinSupplyResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetCoinSupplyResponseMessage copyWith(void Function(GetCoinSupplyResponseMessage) updates) => super.copyWith((message) => updates(message as GetCoinSupplyResponseMessage)) as GetCoinSupplyResponseMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetCoinSupplyResponseMessage create() => GetCoinSupplyResponseMessage._(); GetCoinSupplyResponseMessage createEmptyInstance() => create(); - static $pb.PbList createRepeated() => - $pb.PbList(); + static $pb.PbList createRepeated() => $pb.PbList(); @$core.pragma('dart2js:noInline') - static GetCoinSupplyResponseMessage getDefault() => _defaultInstance ??= - $pb.GeneratedMessage.$_defaultFor(create); + static GetCoinSupplyResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); static GetCoinSupplyResponseMessage? _defaultInstance; @$pb.TagNumber(1) $fixnum.Int64 get maxSompi => $_getI64(0); @$pb.TagNumber(1) - set maxSompi($fixnum.Int64 v) { - $_setInt64(0, v); - } - + set maxSompi($fixnum.Int64 v) { $_setInt64(0, v); } @$pb.TagNumber(1) $core.bool hasMaxSompi() => $_has(0); @$pb.TagNumber(1) @@ -9926,10 +7149,7 @@ class GetCoinSupplyResponseMessage extends $pb.GeneratedMessage { @$pb.TagNumber(2) $fixnum.Int64 get circulatingSompi => $_getI64(1); @$pb.TagNumber(2) - set circulatingSompi($fixnum.Int64 v) { - $_setInt64(1, v); - } - + set circulatingSompi($fixnum.Int64 v) { $_setInt64(1, v); } @$pb.TagNumber(2) $core.bool hasCirculatingSompi() => $_has(1); @$pb.TagNumber(2) @@ -9938,10 +7158,7 @@ class GetCoinSupplyResponseMessage extends $pb.GeneratedMessage { @$pb.TagNumber(1000) RPCError get error => $_getN(2); @$pb.TagNumber(1000) - set error(RPCError v) { - setField(1000, v); - } - + set error(RPCError v) { setField(1000, v); } @$pb.TagNumber(1000) $core.bool hasError() => $_has(2); @$pb.TagNumber(1000) @@ -9949,3 +7166,2475 @@ class GetCoinSupplyResponseMessage extends $pb.GeneratedMessage { @$pb.TagNumber(1000) RPCError ensureError() => $_ensure(2); } + +class PingRequestMessage extends $pb.GeneratedMessage { + factory PingRequestMessage() => create(); + PingRequestMessage._() : super(); + factory PingRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory PingRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'PingRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + PingRequestMessage clone() => PingRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + PingRequestMessage copyWith(void Function(PingRequestMessage) updates) => super.copyWith((message) => updates(message as PingRequestMessage)) as PingRequestMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static PingRequestMessage create() => PingRequestMessage._(); + PingRequestMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static PingRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static PingRequestMessage? _defaultInstance; +} + +class PingResponseMessage extends $pb.GeneratedMessage { + factory PingResponseMessage({ + RPCError? error, + }) { + final $result = create(); + if (error != null) { + $result.error = error; + } + return $result; + } + PingResponseMessage._() : super(); + factory PingResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory PingResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'PingResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + PingResponseMessage clone() => PingResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + PingResponseMessage copyWith(void Function(PingResponseMessage) updates) => super.copyWith((message) => updates(message as PingResponseMessage)) as PingResponseMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static PingResponseMessage create() => PingResponseMessage._(); + PingResponseMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static PingResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static PingResponseMessage? _defaultInstance; + + @$pb.TagNumber(1000) + RPCError get error => $_getN(0); + @$pb.TagNumber(1000) + set error(RPCError v) { setField(1000, v); } + @$pb.TagNumber(1000) + $core.bool hasError() => $_has(0); + @$pb.TagNumber(1000) + void clearError() => clearField(1000); + @$pb.TagNumber(1000) + RPCError ensureError() => $_ensure(0); +} + +class ProcessMetrics extends $pb.GeneratedMessage { + factory ProcessMetrics({ + $fixnum.Int64? residentSetSize, + $fixnum.Int64? virtualMemorySize, + $core.int? coreNum, + $core.double? cpuUsage, + $core.int? fdNum, + $fixnum.Int64? diskIoReadBytes, + $fixnum.Int64? diskIoWriteBytes, + $core.double? diskIoReadPerSec, + $core.double? diskIoWritePerSec, + }) { + final $result = create(); + if (residentSetSize != null) { + $result.residentSetSize = residentSetSize; + } + if (virtualMemorySize != null) { + $result.virtualMemorySize = virtualMemorySize; + } + if (coreNum != null) { + $result.coreNum = coreNum; + } + if (cpuUsage != null) { + $result.cpuUsage = cpuUsage; + } + if (fdNum != null) { + $result.fdNum = fdNum; + } + if (diskIoReadBytes != null) { + $result.diskIoReadBytes = diskIoReadBytes; + } + if (diskIoWriteBytes != null) { + $result.diskIoWriteBytes = diskIoWriteBytes; + } + if (diskIoReadPerSec != null) { + $result.diskIoReadPerSec = diskIoReadPerSec; + } + if (diskIoWritePerSec != null) { + $result.diskIoWritePerSec = diskIoWritePerSec; + } + return $result; + } + ProcessMetrics._() : super(); + factory ProcessMetrics.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ProcessMetrics.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ProcessMetrics', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..a<$fixnum.Int64>(1, _omitFieldNames ? '' : 'residentSetSize', $pb.PbFieldType.OU6, protoName: 'residentSetSize', defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$fixnum.Int64>(2, _omitFieldNames ? '' : 'virtualMemorySize', $pb.PbFieldType.OU6, protoName: 'virtualMemorySize', defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$core.int>(3, _omitFieldNames ? '' : 'coreNum', $pb.PbFieldType.OU3, protoName: 'coreNum') + ..a<$core.double>(4, _omitFieldNames ? '' : 'cpuUsage', $pb.PbFieldType.OF, protoName: 'cpuUsage') + ..a<$core.int>(5, _omitFieldNames ? '' : 'fdNum', $pb.PbFieldType.OU3, protoName: 'fdNum') + ..a<$fixnum.Int64>(6, _omitFieldNames ? '' : 'diskIoReadBytes', $pb.PbFieldType.OU6, protoName: 'diskIoReadBytes', defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$fixnum.Int64>(7, _omitFieldNames ? '' : 'diskIoWriteBytes', $pb.PbFieldType.OU6, protoName: 'diskIoWriteBytes', defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$core.double>(8, _omitFieldNames ? '' : 'diskIoReadPerSec', $pb.PbFieldType.OF, protoName: 'diskIoReadPerSec') + ..a<$core.double>(9, _omitFieldNames ? '' : 'diskIoWritePerSec', $pb.PbFieldType.OF, protoName: 'diskIoWritePerSec') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ProcessMetrics clone() => ProcessMetrics()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ProcessMetrics copyWith(void Function(ProcessMetrics) updates) => super.copyWith((message) => updates(message as ProcessMetrics)) as ProcessMetrics; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ProcessMetrics create() => ProcessMetrics._(); + ProcessMetrics createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ProcessMetrics getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ProcessMetrics? _defaultInstance; + + @$pb.TagNumber(1) + $fixnum.Int64 get residentSetSize => $_getI64(0); + @$pb.TagNumber(1) + set residentSetSize($fixnum.Int64 v) { $_setInt64(0, v); } + @$pb.TagNumber(1) + $core.bool hasResidentSetSize() => $_has(0); + @$pb.TagNumber(1) + void clearResidentSetSize() => clearField(1); + + @$pb.TagNumber(2) + $fixnum.Int64 get virtualMemorySize => $_getI64(1); + @$pb.TagNumber(2) + set virtualMemorySize($fixnum.Int64 v) { $_setInt64(1, v); } + @$pb.TagNumber(2) + $core.bool hasVirtualMemorySize() => $_has(1); + @$pb.TagNumber(2) + void clearVirtualMemorySize() => clearField(2); + + @$pb.TagNumber(3) + $core.int get coreNum => $_getIZ(2); + @$pb.TagNumber(3) + set coreNum($core.int v) { $_setUnsignedInt32(2, v); } + @$pb.TagNumber(3) + $core.bool hasCoreNum() => $_has(2); + @$pb.TagNumber(3) + void clearCoreNum() => clearField(3); + + @$pb.TagNumber(4) + $core.double get cpuUsage => $_getN(3); + @$pb.TagNumber(4) + set cpuUsage($core.double v) { $_setFloat(3, v); } + @$pb.TagNumber(4) + $core.bool hasCpuUsage() => $_has(3); + @$pb.TagNumber(4) + void clearCpuUsage() => clearField(4); + + @$pb.TagNumber(5) + $core.int get fdNum => $_getIZ(4); + @$pb.TagNumber(5) + set fdNum($core.int v) { $_setUnsignedInt32(4, v); } + @$pb.TagNumber(5) + $core.bool hasFdNum() => $_has(4); + @$pb.TagNumber(5) + void clearFdNum() => clearField(5); + + @$pb.TagNumber(6) + $fixnum.Int64 get diskIoReadBytes => $_getI64(5); + @$pb.TagNumber(6) + set diskIoReadBytes($fixnum.Int64 v) { $_setInt64(5, v); } + @$pb.TagNumber(6) + $core.bool hasDiskIoReadBytes() => $_has(5); + @$pb.TagNumber(6) + void clearDiskIoReadBytes() => clearField(6); + + @$pb.TagNumber(7) + $fixnum.Int64 get diskIoWriteBytes => $_getI64(6); + @$pb.TagNumber(7) + set diskIoWriteBytes($fixnum.Int64 v) { $_setInt64(6, v); } + @$pb.TagNumber(7) + $core.bool hasDiskIoWriteBytes() => $_has(6); + @$pb.TagNumber(7) + void clearDiskIoWriteBytes() => clearField(7); + + @$pb.TagNumber(8) + $core.double get diskIoReadPerSec => $_getN(7); + @$pb.TagNumber(8) + set diskIoReadPerSec($core.double v) { $_setFloat(7, v); } + @$pb.TagNumber(8) + $core.bool hasDiskIoReadPerSec() => $_has(7); + @$pb.TagNumber(8) + void clearDiskIoReadPerSec() => clearField(8); + + @$pb.TagNumber(9) + $core.double get diskIoWritePerSec => $_getN(8); + @$pb.TagNumber(9) + set diskIoWritePerSec($core.double v) { $_setFloat(8, v); } + @$pb.TagNumber(9) + $core.bool hasDiskIoWritePerSec() => $_has(8); + @$pb.TagNumber(9) + void clearDiskIoWritePerSec() => clearField(9); +} + +class ConnectionMetrics extends $pb.GeneratedMessage { + factory ConnectionMetrics({ + $core.int? borshLiveConnections, + $fixnum.Int64? borshConnectionAttempts, + $fixnum.Int64? borshHandshakeFailures, + $core.int? jsonLiveConnections, + $fixnum.Int64? jsonConnectionAttempts, + $fixnum.Int64? jsonHandshakeFailures, + $core.int? activePeers, + }) { + final $result = create(); + if (borshLiveConnections != null) { + $result.borshLiveConnections = borshLiveConnections; + } + if (borshConnectionAttempts != null) { + $result.borshConnectionAttempts = borshConnectionAttempts; + } + if (borshHandshakeFailures != null) { + $result.borshHandshakeFailures = borshHandshakeFailures; + } + if (jsonLiveConnections != null) { + $result.jsonLiveConnections = jsonLiveConnections; + } + if (jsonConnectionAttempts != null) { + $result.jsonConnectionAttempts = jsonConnectionAttempts; + } + if (jsonHandshakeFailures != null) { + $result.jsonHandshakeFailures = jsonHandshakeFailures; + } + if (activePeers != null) { + $result.activePeers = activePeers; + } + return $result; + } + ConnectionMetrics._() : super(); + factory ConnectionMetrics.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ConnectionMetrics.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ConnectionMetrics', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..a<$core.int>(31, _omitFieldNames ? '' : 'borshLiveConnections', $pb.PbFieldType.OU3, protoName: 'borshLiveConnections') + ..a<$fixnum.Int64>(32, _omitFieldNames ? '' : 'borshConnectionAttempts', $pb.PbFieldType.OU6, protoName: 'borshConnectionAttempts', defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$fixnum.Int64>(33, _omitFieldNames ? '' : 'borshHandshakeFailures', $pb.PbFieldType.OU6, protoName: 'borshHandshakeFailures', defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$core.int>(41, _omitFieldNames ? '' : 'jsonLiveConnections', $pb.PbFieldType.OU3, protoName: 'jsonLiveConnections') + ..a<$fixnum.Int64>(42, _omitFieldNames ? '' : 'jsonConnectionAttempts', $pb.PbFieldType.OU6, protoName: 'jsonConnectionAttempts', defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$fixnum.Int64>(43, _omitFieldNames ? '' : 'jsonHandshakeFailures', $pb.PbFieldType.OU6, protoName: 'jsonHandshakeFailures', defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$core.int>(51, _omitFieldNames ? '' : 'activePeers', $pb.PbFieldType.OU3, protoName: 'activePeers') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ConnectionMetrics clone() => ConnectionMetrics()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ConnectionMetrics copyWith(void Function(ConnectionMetrics) updates) => super.copyWith((message) => updates(message as ConnectionMetrics)) as ConnectionMetrics; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ConnectionMetrics create() => ConnectionMetrics._(); + ConnectionMetrics createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ConnectionMetrics getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ConnectionMetrics? _defaultInstance; + + @$pb.TagNumber(31) + $core.int get borshLiveConnections => $_getIZ(0); + @$pb.TagNumber(31) + set borshLiveConnections($core.int v) { $_setUnsignedInt32(0, v); } + @$pb.TagNumber(31) + $core.bool hasBorshLiveConnections() => $_has(0); + @$pb.TagNumber(31) + void clearBorshLiveConnections() => clearField(31); + + @$pb.TagNumber(32) + $fixnum.Int64 get borshConnectionAttempts => $_getI64(1); + @$pb.TagNumber(32) + set borshConnectionAttempts($fixnum.Int64 v) { $_setInt64(1, v); } + @$pb.TagNumber(32) + $core.bool hasBorshConnectionAttempts() => $_has(1); + @$pb.TagNumber(32) + void clearBorshConnectionAttempts() => clearField(32); + + @$pb.TagNumber(33) + $fixnum.Int64 get borshHandshakeFailures => $_getI64(2); + @$pb.TagNumber(33) + set borshHandshakeFailures($fixnum.Int64 v) { $_setInt64(2, v); } + @$pb.TagNumber(33) + $core.bool hasBorshHandshakeFailures() => $_has(2); + @$pb.TagNumber(33) + void clearBorshHandshakeFailures() => clearField(33); + + @$pb.TagNumber(41) + $core.int get jsonLiveConnections => $_getIZ(3); + @$pb.TagNumber(41) + set jsonLiveConnections($core.int v) { $_setUnsignedInt32(3, v); } + @$pb.TagNumber(41) + $core.bool hasJsonLiveConnections() => $_has(3); + @$pb.TagNumber(41) + void clearJsonLiveConnections() => clearField(41); + + @$pb.TagNumber(42) + $fixnum.Int64 get jsonConnectionAttempts => $_getI64(4); + @$pb.TagNumber(42) + set jsonConnectionAttempts($fixnum.Int64 v) { $_setInt64(4, v); } + @$pb.TagNumber(42) + $core.bool hasJsonConnectionAttempts() => $_has(4); + @$pb.TagNumber(42) + void clearJsonConnectionAttempts() => clearField(42); + + @$pb.TagNumber(43) + $fixnum.Int64 get jsonHandshakeFailures => $_getI64(5); + @$pb.TagNumber(43) + set jsonHandshakeFailures($fixnum.Int64 v) { $_setInt64(5, v); } + @$pb.TagNumber(43) + $core.bool hasJsonHandshakeFailures() => $_has(5); + @$pb.TagNumber(43) + void clearJsonHandshakeFailures() => clearField(43); + + @$pb.TagNumber(51) + $core.int get activePeers => $_getIZ(6); + @$pb.TagNumber(51) + set activePeers($core.int v) { $_setUnsignedInt32(6, v); } + @$pb.TagNumber(51) + $core.bool hasActivePeers() => $_has(6); + @$pb.TagNumber(51) + void clearActivePeers() => clearField(51); +} + +class BandwidthMetrics extends $pb.GeneratedMessage { + factory BandwidthMetrics({ + $fixnum.Int64? borshBytesTx, + $fixnum.Int64? borshBytesRx, + $fixnum.Int64? jsonBytesTx, + $fixnum.Int64? jsonBytesRx, + $fixnum.Int64? grpcP2pBytesTx, + $fixnum.Int64? grpcP2pBytesRx, + $fixnum.Int64? grpcUserBytesTx, + $fixnum.Int64? grpcUserBytesRx, + }) { + final $result = create(); + if (borshBytesTx != null) { + $result.borshBytesTx = borshBytesTx; + } + if (borshBytesRx != null) { + $result.borshBytesRx = borshBytesRx; + } + if (jsonBytesTx != null) { + $result.jsonBytesTx = jsonBytesTx; + } + if (jsonBytesRx != null) { + $result.jsonBytesRx = jsonBytesRx; + } + if (grpcP2pBytesTx != null) { + $result.grpcP2pBytesTx = grpcP2pBytesTx; + } + if (grpcP2pBytesRx != null) { + $result.grpcP2pBytesRx = grpcP2pBytesRx; + } + if (grpcUserBytesTx != null) { + $result.grpcUserBytesTx = grpcUserBytesTx; + } + if (grpcUserBytesRx != null) { + $result.grpcUserBytesRx = grpcUserBytesRx; + } + return $result; + } + BandwidthMetrics._() : super(); + factory BandwidthMetrics.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory BandwidthMetrics.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'BandwidthMetrics', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..a<$fixnum.Int64>(61, _omitFieldNames ? '' : 'borshBytesTx', $pb.PbFieldType.OU6, protoName: 'borshBytesTx', defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$fixnum.Int64>(62, _omitFieldNames ? '' : 'borshBytesRx', $pb.PbFieldType.OU6, protoName: 'borshBytesRx', defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$fixnum.Int64>(63, _omitFieldNames ? '' : 'jsonBytesTx', $pb.PbFieldType.OU6, protoName: 'jsonBytesTx', defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$fixnum.Int64>(64, _omitFieldNames ? '' : 'jsonBytesRx', $pb.PbFieldType.OU6, protoName: 'jsonBytesRx', defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$fixnum.Int64>(65, _omitFieldNames ? '' : 'grpcP2pBytesTx', $pb.PbFieldType.OU6, protoName: 'grpcP2pBytesTx', defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$fixnum.Int64>(66, _omitFieldNames ? '' : 'grpcP2pBytesRx', $pb.PbFieldType.OU6, protoName: 'grpcP2pBytesRx', defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$fixnum.Int64>(67, _omitFieldNames ? '' : 'grpcUserBytesTx', $pb.PbFieldType.OU6, protoName: 'grpcUserBytesTx', defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$fixnum.Int64>(68, _omitFieldNames ? '' : 'grpcUserBytesRx', $pb.PbFieldType.OU6, protoName: 'grpcUserBytesRx', defaultOrMaker: $fixnum.Int64.ZERO) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + BandwidthMetrics clone() => BandwidthMetrics()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + BandwidthMetrics copyWith(void Function(BandwidthMetrics) updates) => super.copyWith((message) => updates(message as BandwidthMetrics)) as BandwidthMetrics; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static BandwidthMetrics create() => BandwidthMetrics._(); + BandwidthMetrics createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static BandwidthMetrics getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static BandwidthMetrics? _defaultInstance; + + @$pb.TagNumber(61) + $fixnum.Int64 get borshBytesTx => $_getI64(0); + @$pb.TagNumber(61) + set borshBytesTx($fixnum.Int64 v) { $_setInt64(0, v); } + @$pb.TagNumber(61) + $core.bool hasBorshBytesTx() => $_has(0); + @$pb.TagNumber(61) + void clearBorshBytesTx() => clearField(61); + + @$pb.TagNumber(62) + $fixnum.Int64 get borshBytesRx => $_getI64(1); + @$pb.TagNumber(62) + set borshBytesRx($fixnum.Int64 v) { $_setInt64(1, v); } + @$pb.TagNumber(62) + $core.bool hasBorshBytesRx() => $_has(1); + @$pb.TagNumber(62) + void clearBorshBytesRx() => clearField(62); + + @$pb.TagNumber(63) + $fixnum.Int64 get jsonBytesTx => $_getI64(2); + @$pb.TagNumber(63) + set jsonBytesTx($fixnum.Int64 v) { $_setInt64(2, v); } + @$pb.TagNumber(63) + $core.bool hasJsonBytesTx() => $_has(2); + @$pb.TagNumber(63) + void clearJsonBytesTx() => clearField(63); + + @$pb.TagNumber(64) + $fixnum.Int64 get jsonBytesRx => $_getI64(3); + @$pb.TagNumber(64) + set jsonBytesRx($fixnum.Int64 v) { $_setInt64(3, v); } + @$pb.TagNumber(64) + $core.bool hasJsonBytesRx() => $_has(3); + @$pb.TagNumber(64) + void clearJsonBytesRx() => clearField(64); + + @$pb.TagNumber(65) + $fixnum.Int64 get grpcP2pBytesTx => $_getI64(4); + @$pb.TagNumber(65) + set grpcP2pBytesTx($fixnum.Int64 v) { $_setInt64(4, v); } + @$pb.TagNumber(65) + $core.bool hasGrpcP2pBytesTx() => $_has(4); + @$pb.TagNumber(65) + void clearGrpcP2pBytesTx() => clearField(65); + + @$pb.TagNumber(66) + $fixnum.Int64 get grpcP2pBytesRx => $_getI64(5); + @$pb.TagNumber(66) + set grpcP2pBytesRx($fixnum.Int64 v) { $_setInt64(5, v); } + @$pb.TagNumber(66) + $core.bool hasGrpcP2pBytesRx() => $_has(5); + @$pb.TagNumber(66) + void clearGrpcP2pBytesRx() => clearField(66); + + @$pb.TagNumber(67) + $fixnum.Int64 get grpcUserBytesTx => $_getI64(6); + @$pb.TagNumber(67) + set grpcUserBytesTx($fixnum.Int64 v) { $_setInt64(6, v); } + @$pb.TagNumber(67) + $core.bool hasGrpcUserBytesTx() => $_has(6); + @$pb.TagNumber(67) + void clearGrpcUserBytesTx() => clearField(67); + + @$pb.TagNumber(68) + $fixnum.Int64 get grpcUserBytesRx => $_getI64(7); + @$pb.TagNumber(68) + set grpcUserBytesRx($fixnum.Int64 v) { $_setInt64(7, v); } + @$pb.TagNumber(68) + $core.bool hasGrpcUserBytesRx() => $_has(7); + @$pb.TagNumber(68) + void clearGrpcUserBytesRx() => clearField(68); +} + +class ConsensusMetrics extends $pb.GeneratedMessage { + factory ConsensusMetrics({ + $fixnum.Int64? blocksSubmitted, + $fixnum.Int64? headerCounts, + $fixnum.Int64? depCounts, + $fixnum.Int64? bodyCounts, + $fixnum.Int64? txsCounts, + $fixnum.Int64? chainBlockCounts, + $fixnum.Int64? massCounts, + $fixnum.Int64? blockCount, + $fixnum.Int64? headerCount, + $fixnum.Int64? mempoolSize, + $core.int? tipHashesCount, + $core.double? difficulty, + $fixnum.Int64? pastMedianTime, + $core.int? virtualParentHashesCount, + $fixnum.Int64? virtualDaaScore, + }) { + final $result = create(); + if (blocksSubmitted != null) { + $result.blocksSubmitted = blocksSubmitted; + } + if (headerCounts != null) { + $result.headerCounts = headerCounts; + } + if (depCounts != null) { + $result.depCounts = depCounts; + } + if (bodyCounts != null) { + $result.bodyCounts = bodyCounts; + } + if (txsCounts != null) { + $result.txsCounts = txsCounts; + } + if (chainBlockCounts != null) { + $result.chainBlockCounts = chainBlockCounts; + } + if (massCounts != null) { + $result.massCounts = massCounts; + } + if (blockCount != null) { + $result.blockCount = blockCount; + } + if (headerCount != null) { + $result.headerCount = headerCount; + } + if (mempoolSize != null) { + $result.mempoolSize = mempoolSize; + } + if (tipHashesCount != null) { + $result.tipHashesCount = tipHashesCount; + } + if (difficulty != null) { + $result.difficulty = difficulty; + } + if (pastMedianTime != null) { + $result.pastMedianTime = pastMedianTime; + } + if (virtualParentHashesCount != null) { + $result.virtualParentHashesCount = virtualParentHashesCount; + } + if (virtualDaaScore != null) { + $result.virtualDaaScore = virtualDaaScore; + } + return $result; + } + ConsensusMetrics._() : super(); + factory ConsensusMetrics.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ConsensusMetrics.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ConsensusMetrics', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..a<$fixnum.Int64>(1, _omitFieldNames ? '' : 'blocksSubmitted', $pb.PbFieldType.OU6, protoName: 'blocksSubmitted', defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$fixnum.Int64>(2, _omitFieldNames ? '' : 'headerCounts', $pb.PbFieldType.OU6, protoName: 'headerCounts', defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$fixnum.Int64>(3, _omitFieldNames ? '' : 'depCounts', $pb.PbFieldType.OU6, protoName: 'depCounts', defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$fixnum.Int64>(4, _omitFieldNames ? '' : 'bodyCounts', $pb.PbFieldType.OU6, protoName: 'bodyCounts', defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$fixnum.Int64>(5, _omitFieldNames ? '' : 'txsCounts', $pb.PbFieldType.OU6, protoName: 'txsCounts', defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$fixnum.Int64>(6, _omitFieldNames ? '' : 'chainBlockCounts', $pb.PbFieldType.OU6, protoName: 'chainBlockCounts', defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$fixnum.Int64>(7, _omitFieldNames ? '' : 'massCounts', $pb.PbFieldType.OU6, protoName: 'massCounts', defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$fixnum.Int64>(11, _omitFieldNames ? '' : 'blockCount', $pb.PbFieldType.OU6, protoName: 'blockCount', defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$fixnum.Int64>(12, _omitFieldNames ? '' : 'headerCount', $pb.PbFieldType.OU6, protoName: 'headerCount', defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$fixnum.Int64>(13, _omitFieldNames ? '' : 'mempoolSize', $pb.PbFieldType.OU6, protoName: 'mempoolSize', defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$core.int>(14, _omitFieldNames ? '' : 'tipHashesCount', $pb.PbFieldType.OU3, protoName: 'tipHashesCount') + ..a<$core.double>(15, _omitFieldNames ? '' : 'difficulty', $pb.PbFieldType.OD) + ..a<$fixnum.Int64>(16, _omitFieldNames ? '' : 'pastMedianTime', $pb.PbFieldType.OU6, protoName: 'pastMedianTime', defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$core.int>(17, _omitFieldNames ? '' : 'virtualParentHashesCount', $pb.PbFieldType.OU3, protoName: 'virtualParentHashesCount') + ..a<$fixnum.Int64>(18, _omitFieldNames ? '' : 'virtualDaaScore', $pb.PbFieldType.OU6, protoName: 'virtualDaaScore', defaultOrMaker: $fixnum.Int64.ZERO) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ConsensusMetrics clone() => ConsensusMetrics()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ConsensusMetrics copyWith(void Function(ConsensusMetrics) updates) => super.copyWith((message) => updates(message as ConsensusMetrics)) as ConsensusMetrics; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ConsensusMetrics create() => ConsensusMetrics._(); + ConsensusMetrics createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ConsensusMetrics getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ConsensusMetrics? _defaultInstance; + + @$pb.TagNumber(1) + $fixnum.Int64 get blocksSubmitted => $_getI64(0); + @$pb.TagNumber(1) + set blocksSubmitted($fixnum.Int64 v) { $_setInt64(0, v); } + @$pb.TagNumber(1) + $core.bool hasBlocksSubmitted() => $_has(0); + @$pb.TagNumber(1) + void clearBlocksSubmitted() => clearField(1); + + @$pb.TagNumber(2) + $fixnum.Int64 get headerCounts => $_getI64(1); + @$pb.TagNumber(2) + set headerCounts($fixnum.Int64 v) { $_setInt64(1, v); } + @$pb.TagNumber(2) + $core.bool hasHeaderCounts() => $_has(1); + @$pb.TagNumber(2) + void clearHeaderCounts() => clearField(2); + + @$pb.TagNumber(3) + $fixnum.Int64 get depCounts => $_getI64(2); + @$pb.TagNumber(3) + set depCounts($fixnum.Int64 v) { $_setInt64(2, v); } + @$pb.TagNumber(3) + $core.bool hasDepCounts() => $_has(2); + @$pb.TagNumber(3) + void clearDepCounts() => clearField(3); + + @$pb.TagNumber(4) + $fixnum.Int64 get bodyCounts => $_getI64(3); + @$pb.TagNumber(4) + set bodyCounts($fixnum.Int64 v) { $_setInt64(3, v); } + @$pb.TagNumber(4) + $core.bool hasBodyCounts() => $_has(3); + @$pb.TagNumber(4) + void clearBodyCounts() => clearField(4); + + @$pb.TagNumber(5) + $fixnum.Int64 get txsCounts => $_getI64(4); + @$pb.TagNumber(5) + set txsCounts($fixnum.Int64 v) { $_setInt64(4, v); } + @$pb.TagNumber(5) + $core.bool hasTxsCounts() => $_has(4); + @$pb.TagNumber(5) + void clearTxsCounts() => clearField(5); + + @$pb.TagNumber(6) + $fixnum.Int64 get chainBlockCounts => $_getI64(5); + @$pb.TagNumber(6) + set chainBlockCounts($fixnum.Int64 v) { $_setInt64(5, v); } + @$pb.TagNumber(6) + $core.bool hasChainBlockCounts() => $_has(5); + @$pb.TagNumber(6) + void clearChainBlockCounts() => clearField(6); + + @$pb.TagNumber(7) + $fixnum.Int64 get massCounts => $_getI64(6); + @$pb.TagNumber(7) + set massCounts($fixnum.Int64 v) { $_setInt64(6, v); } + @$pb.TagNumber(7) + $core.bool hasMassCounts() => $_has(6); + @$pb.TagNumber(7) + void clearMassCounts() => clearField(7); + + @$pb.TagNumber(11) + $fixnum.Int64 get blockCount => $_getI64(7); + @$pb.TagNumber(11) + set blockCount($fixnum.Int64 v) { $_setInt64(7, v); } + @$pb.TagNumber(11) + $core.bool hasBlockCount() => $_has(7); + @$pb.TagNumber(11) + void clearBlockCount() => clearField(11); + + @$pb.TagNumber(12) + $fixnum.Int64 get headerCount => $_getI64(8); + @$pb.TagNumber(12) + set headerCount($fixnum.Int64 v) { $_setInt64(8, v); } + @$pb.TagNumber(12) + $core.bool hasHeaderCount() => $_has(8); + @$pb.TagNumber(12) + void clearHeaderCount() => clearField(12); + + @$pb.TagNumber(13) + $fixnum.Int64 get mempoolSize => $_getI64(9); + @$pb.TagNumber(13) + set mempoolSize($fixnum.Int64 v) { $_setInt64(9, v); } + @$pb.TagNumber(13) + $core.bool hasMempoolSize() => $_has(9); + @$pb.TagNumber(13) + void clearMempoolSize() => clearField(13); + + @$pb.TagNumber(14) + $core.int get tipHashesCount => $_getIZ(10); + @$pb.TagNumber(14) + set tipHashesCount($core.int v) { $_setUnsignedInt32(10, v); } + @$pb.TagNumber(14) + $core.bool hasTipHashesCount() => $_has(10); + @$pb.TagNumber(14) + void clearTipHashesCount() => clearField(14); + + @$pb.TagNumber(15) + $core.double get difficulty => $_getN(11); + @$pb.TagNumber(15) + set difficulty($core.double v) { $_setDouble(11, v); } + @$pb.TagNumber(15) + $core.bool hasDifficulty() => $_has(11); + @$pb.TagNumber(15) + void clearDifficulty() => clearField(15); + + @$pb.TagNumber(16) + $fixnum.Int64 get pastMedianTime => $_getI64(12); + @$pb.TagNumber(16) + set pastMedianTime($fixnum.Int64 v) { $_setInt64(12, v); } + @$pb.TagNumber(16) + $core.bool hasPastMedianTime() => $_has(12); + @$pb.TagNumber(16) + void clearPastMedianTime() => clearField(16); + + @$pb.TagNumber(17) + $core.int get virtualParentHashesCount => $_getIZ(13); + @$pb.TagNumber(17) + set virtualParentHashesCount($core.int v) { $_setUnsignedInt32(13, v); } + @$pb.TagNumber(17) + $core.bool hasVirtualParentHashesCount() => $_has(13); + @$pb.TagNumber(17) + void clearVirtualParentHashesCount() => clearField(17); + + @$pb.TagNumber(18) + $fixnum.Int64 get virtualDaaScore => $_getI64(14); + @$pb.TagNumber(18) + set virtualDaaScore($fixnum.Int64 v) { $_setInt64(14, v); } + @$pb.TagNumber(18) + $core.bool hasVirtualDaaScore() => $_has(14); + @$pb.TagNumber(18) + void clearVirtualDaaScore() => clearField(18); +} + +class StorageMetrics extends $pb.GeneratedMessage { + factory StorageMetrics({ + $fixnum.Int64? storageSizeBytes, + }) { + final $result = create(); + if (storageSizeBytes != null) { + $result.storageSizeBytes = storageSizeBytes; + } + return $result; + } + StorageMetrics._() : super(); + factory StorageMetrics.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory StorageMetrics.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'StorageMetrics', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..a<$fixnum.Int64>(1, _omitFieldNames ? '' : 'storageSizeBytes', $pb.PbFieldType.OU6, protoName: 'storageSizeBytes', defaultOrMaker: $fixnum.Int64.ZERO) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + StorageMetrics clone() => StorageMetrics()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + StorageMetrics copyWith(void Function(StorageMetrics) updates) => super.copyWith((message) => updates(message as StorageMetrics)) as StorageMetrics; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static StorageMetrics create() => StorageMetrics._(); + StorageMetrics createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static StorageMetrics getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static StorageMetrics? _defaultInstance; + + @$pb.TagNumber(1) + $fixnum.Int64 get storageSizeBytes => $_getI64(0); + @$pb.TagNumber(1) + set storageSizeBytes($fixnum.Int64 v) { $_setInt64(0, v); } + @$pb.TagNumber(1) + $core.bool hasStorageSizeBytes() => $_has(0); + @$pb.TagNumber(1) + void clearStorageSizeBytes() => clearField(1); +} + +class GetConnectionsRequestMessage extends $pb.GeneratedMessage { + factory GetConnectionsRequestMessage({ + $core.bool? includeProfileData, + }) { + final $result = create(); + if (includeProfileData != null) { + $result.includeProfileData = includeProfileData; + } + return $result; + } + GetConnectionsRequestMessage._() : super(); + factory GetConnectionsRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetConnectionsRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetConnectionsRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOB(1, _omitFieldNames ? '' : 'includeProfileData', protoName: 'includeProfileData') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetConnectionsRequestMessage clone() => GetConnectionsRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetConnectionsRequestMessage copyWith(void Function(GetConnectionsRequestMessage) updates) => super.copyWith((message) => updates(message as GetConnectionsRequestMessage)) as GetConnectionsRequestMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetConnectionsRequestMessage create() => GetConnectionsRequestMessage._(); + GetConnectionsRequestMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetConnectionsRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static GetConnectionsRequestMessage? _defaultInstance; + + @$pb.TagNumber(1) + $core.bool get includeProfileData => $_getBF(0); + @$pb.TagNumber(1) + set includeProfileData($core.bool v) { $_setBool(0, v); } + @$pb.TagNumber(1) + $core.bool hasIncludeProfileData() => $_has(0); + @$pb.TagNumber(1) + void clearIncludeProfileData() => clearField(1); +} + +class ConnectionsProfileData extends $pb.GeneratedMessage { + factory ConnectionsProfileData({ + $core.double? cpuUsage, + $fixnum.Int64? memoryUsage, + }) { + final $result = create(); + if (cpuUsage != null) { + $result.cpuUsage = cpuUsage; + } + if (memoryUsage != null) { + $result.memoryUsage = memoryUsage; + } + return $result; + } + ConnectionsProfileData._() : super(); + factory ConnectionsProfileData.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ConnectionsProfileData.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ConnectionsProfileData', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..a<$core.double>(1, _omitFieldNames ? '' : 'cpuUsage', $pb.PbFieldType.OD, protoName: 'cpuUsage') + ..a<$fixnum.Int64>(2, _omitFieldNames ? '' : 'memoryUsage', $pb.PbFieldType.OU6, protoName: 'memoryUsage', defaultOrMaker: $fixnum.Int64.ZERO) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ConnectionsProfileData clone() => ConnectionsProfileData()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ConnectionsProfileData copyWith(void Function(ConnectionsProfileData) updates) => super.copyWith((message) => updates(message as ConnectionsProfileData)) as ConnectionsProfileData; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ConnectionsProfileData create() => ConnectionsProfileData._(); + ConnectionsProfileData createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ConnectionsProfileData getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ConnectionsProfileData? _defaultInstance; + + @$pb.TagNumber(1) + $core.double get cpuUsage => $_getN(0); + @$pb.TagNumber(1) + set cpuUsage($core.double v) { $_setDouble(0, v); } + @$pb.TagNumber(1) + $core.bool hasCpuUsage() => $_has(0); + @$pb.TagNumber(1) + void clearCpuUsage() => clearField(1); + + @$pb.TagNumber(2) + $fixnum.Int64 get memoryUsage => $_getI64(1); + @$pb.TagNumber(2) + set memoryUsage($fixnum.Int64 v) { $_setInt64(1, v); } + @$pb.TagNumber(2) + $core.bool hasMemoryUsage() => $_has(1); + @$pb.TagNumber(2) + void clearMemoryUsage() => clearField(2); +} + +class GetConnectionsResponseMessage extends $pb.GeneratedMessage { + factory GetConnectionsResponseMessage({ + $core.int? clients, + $core.int? peers, + ConnectionsProfileData? profileData, + RPCError? error, + }) { + final $result = create(); + if (clients != null) { + $result.clients = clients; + } + if (peers != null) { + $result.peers = peers; + } + if (profileData != null) { + $result.profileData = profileData; + } + if (error != null) { + $result.error = error; + } + return $result; + } + GetConnectionsResponseMessage._() : super(); + factory GetConnectionsResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetConnectionsResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetConnectionsResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'clients', $pb.PbFieldType.OU3) + ..a<$core.int>(2, _omitFieldNames ? '' : 'peers', $pb.PbFieldType.OU3) + ..aOM(3, _omitFieldNames ? '' : 'profileData', protoName: 'profileData', subBuilder: ConnectionsProfileData.create) + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetConnectionsResponseMessage clone() => GetConnectionsResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetConnectionsResponseMessage copyWith(void Function(GetConnectionsResponseMessage) updates) => super.copyWith((message) => updates(message as GetConnectionsResponseMessage)) as GetConnectionsResponseMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetConnectionsResponseMessage create() => GetConnectionsResponseMessage._(); + GetConnectionsResponseMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetConnectionsResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static GetConnectionsResponseMessage? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get clients => $_getIZ(0); + @$pb.TagNumber(1) + set clients($core.int v) { $_setUnsignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasClients() => $_has(0); + @$pb.TagNumber(1) + void clearClients() => clearField(1); + + @$pb.TagNumber(2) + $core.int get peers => $_getIZ(1); + @$pb.TagNumber(2) + set peers($core.int v) { $_setUnsignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasPeers() => $_has(1); + @$pb.TagNumber(2) + void clearPeers() => clearField(2); + + @$pb.TagNumber(3) + ConnectionsProfileData get profileData => $_getN(2); + @$pb.TagNumber(3) + set profileData(ConnectionsProfileData v) { setField(3, v); } + @$pb.TagNumber(3) + $core.bool hasProfileData() => $_has(2); + @$pb.TagNumber(3) + void clearProfileData() => clearField(3); + @$pb.TagNumber(3) + ConnectionsProfileData ensureProfileData() => $_ensure(2); + + @$pb.TagNumber(1000) + RPCError get error => $_getN(3); + @$pb.TagNumber(1000) + set error(RPCError v) { setField(1000, v); } + @$pb.TagNumber(1000) + $core.bool hasError() => $_has(3); + @$pb.TagNumber(1000) + void clearError() => clearField(1000); + @$pb.TagNumber(1000) + RPCError ensureError() => $_ensure(3); +} + +class GetSystemInfoRequestMessage extends $pb.GeneratedMessage { + factory GetSystemInfoRequestMessage() => create(); + GetSystemInfoRequestMessage._() : super(); + factory GetSystemInfoRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetSystemInfoRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetSystemInfoRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetSystemInfoRequestMessage clone() => GetSystemInfoRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetSystemInfoRequestMessage copyWith(void Function(GetSystemInfoRequestMessage) updates) => super.copyWith((message) => updates(message as GetSystemInfoRequestMessage)) as GetSystemInfoRequestMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetSystemInfoRequestMessage create() => GetSystemInfoRequestMessage._(); + GetSystemInfoRequestMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetSystemInfoRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static GetSystemInfoRequestMessage? _defaultInstance; +} + +class GetSystemInfoResponseMessage extends $pb.GeneratedMessage { + factory GetSystemInfoResponseMessage({ + $core.String? version, + $core.String? systemId, + $core.String? gitHash, + $core.int? coreNum, + $fixnum.Int64? totalMemory, + $core.int? fdLimit, + RPCError? error, + }) { + final $result = create(); + if (version != null) { + $result.version = version; + } + if (systemId != null) { + $result.systemId = systemId; + } + if (gitHash != null) { + $result.gitHash = gitHash; + } + if (coreNum != null) { + $result.coreNum = coreNum; + } + if (totalMemory != null) { + $result.totalMemory = totalMemory; + } + if (fdLimit != null) { + $result.fdLimit = fdLimit; + } + if (error != null) { + $result.error = error; + } + return $result; + } + GetSystemInfoResponseMessage._() : super(); + factory GetSystemInfoResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetSystemInfoResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetSystemInfoResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'version') + ..aOS(2, _omitFieldNames ? '' : 'systemId', protoName: 'systemId') + ..aOS(3, _omitFieldNames ? '' : 'gitHash', protoName: 'gitHash') + ..a<$core.int>(4, _omitFieldNames ? '' : 'coreNum', $pb.PbFieldType.OU3, protoName: 'coreNum') + ..a<$fixnum.Int64>(5, _omitFieldNames ? '' : 'totalMemory', $pb.PbFieldType.OU6, protoName: 'totalMemory', defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$core.int>(6, _omitFieldNames ? '' : 'fdLimit', $pb.PbFieldType.OU3, protoName: 'fdLimit') + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetSystemInfoResponseMessage clone() => GetSystemInfoResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetSystemInfoResponseMessage copyWith(void Function(GetSystemInfoResponseMessage) updates) => super.copyWith((message) => updates(message as GetSystemInfoResponseMessage)) as GetSystemInfoResponseMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetSystemInfoResponseMessage create() => GetSystemInfoResponseMessage._(); + GetSystemInfoResponseMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetSystemInfoResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static GetSystemInfoResponseMessage? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get version => $_getSZ(0); + @$pb.TagNumber(1) + set version($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasVersion() => $_has(0); + @$pb.TagNumber(1) + void clearVersion() => clearField(1); + + @$pb.TagNumber(2) + $core.String get systemId => $_getSZ(1); + @$pb.TagNumber(2) + set systemId($core.String v) { $_setString(1, v); } + @$pb.TagNumber(2) + $core.bool hasSystemId() => $_has(1); + @$pb.TagNumber(2) + void clearSystemId() => clearField(2); + + @$pb.TagNumber(3) + $core.String get gitHash => $_getSZ(2); + @$pb.TagNumber(3) + set gitHash($core.String v) { $_setString(2, v); } + @$pb.TagNumber(3) + $core.bool hasGitHash() => $_has(2); + @$pb.TagNumber(3) + void clearGitHash() => clearField(3); + + @$pb.TagNumber(4) + $core.int get coreNum => $_getIZ(3); + @$pb.TagNumber(4) + set coreNum($core.int v) { $_setUnsignedInt32(3, v); } + @$pb.TagNumber(4) + $core.bool hasCoreNum() => $_has(3); + @$pb.TagNumber(4) + void clearCoreNum() => clearField(4); + + @$pb.TagNumber(5) + $fixnum.Int64 get totalMemory => $_getI64(4); + @$pb.TagNumber(5) + set totalMemory($fixnum.Int64 v) { $_setInt64(4, v); } + @$pb.TagNumber(5) + $core.bool hasTotalMemory() => $_has(4); + @$pb.TagNumber(5) + void clearTotalMemory() => clearField(5); + + @$pb.TagNumber(6) + $core.int get fdLimit => $_getIZ(5); + @$pb.TagNumber(6) + set fdLimit($core.int v) { $_setUnsignedInt32(5, v); } + @$pb.TagNumber(6) + $core.bool hasFdLimit() => $_has(5); + @$pb.TagNumber(6) + void clearFdLimit() => clearField(6); + + @$pb.TagNumber(1000) + RPCError get error => $_getN(6); + @$pb.TagNumber(1000) + set error(RPCError v) { setField(1000, v); } + @$pb.TagNumber(1000) + $core.bool hasError() => $_has(6); + @$pb.TagNumber(1000) + void clearError() => clearField(1000); + @$pb.TagNumber(1000) + RPCError ensureError() => $_ensure(6); +} + +class GetMetricsRequestMessage extends $pb.GeneratedMessage { + factory GetMetricsRequestMessage({ + $core.bool? processMetrics, + $core.bool? connectionMetrics, + $core.bool? bandwidthMetrics, + $core.bool? consensusMetrics, + $core.bool? storageMetrics, + $core.bool? customMetrics, + }) { + final $result = create(); + if (processMetrics != null) { + $result.processMetrics = processMetrics; + } + if (connectionMetrics != null) { + $result.connectionMetrics = connectionMetrics; + } + if (bandwidthMetrics != null) { + $result.bandwidthMetrics = bandwidthMetrics; + } + if (consensusMetrics != null) { + $result.consensusMetrics = consensusMetrics; + } + if (storageMetrics != null) { + $result.storageMetrics = storageMetrics; + } + if (customMetrics != null) { + $result.customMetrics = customMetrics; + } + return $result; + } + GetMetricsRequestMessage._() : super(); + factory GetMetricsRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetMetricsRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetMetricsRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOB(1, _omitFieldNames ? '' : 'processMetrics', protoName: 'processMetrics') + ..aOB(2, _omitFieldNames ? '' : 'connectionMetrics', protoName: 'connectionMetrics') + ..aOB(3, _omitFieldNames ? '' : 'bandwidthMetrics', protoName: 'bandwidthMetrics') + ..aOB(4, _omitFieldNames ? '' : 'consensusMetrics', protoName: 'consensusMetrics') + ..aOB(5, _omitFieldNames ? '' : 'storageMetrics', protoName: 'storageMetrics') + ..aOB(6, _omitFieldNames ? '' : 'customMetrics', protoName: 'customMetrics') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetMetricsRequestMessage clone() => GetMetricsRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetMetricsRequestMessage copyWith(void Function(GetMetricsRequestMessage) updates) => super.copyWith((message) => updates(message as GetMetricsRequestMessage)) as GetMetricsRequestMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetMetricsRequestMessage create() => GetMetricsRequestMessage._(); + GetMetricsRequestMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetMetricsRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static GetMetricsRequestMessage? _defaultInstance; + + @$pb.TagNumber(1) + $core.bool get processMetrics => $_getBF(0); + @$pb.TagNumber(1) + set processMetrics($core.bool v) { $_setBool(0, v); } + @$pb.TagNumber(1) + $core.bool hasProcessMetrics() => $_has(0); + @$pb.TagNumber(1) + void clearProcessMetrics() => clearField(1); + + @$pb.TagNumber(2) + $core.bool get connectionMetrics => $_getBF(1); + @$pb.TagNumber(2) + set connectionMetrics($core.bool v) { $_setBool(1, v); } + @$pb.TagNumber(2) + $core.bool hasConnectionMetrics() => $_has(1); + @$pb.TagNumber(2) + void clearConnectionMetrics() => clearField(2); + + @$pb.TagNumber(3) + $core.bool get bandwidthMetrics => $_getBF(2); + @$pb.TagNumber(3) + set bandwidthMetrics($core.bool v) { $_setBool(2, v); } + @$pb.TagNumber(3) + $core.bool hasBandwidthMetrics() => $_has(2); + @$pb.TagNumber(3) + void clearBandwidthMetrics() => clearField(3); + + @$pb.TagNumber(4) + $core.bool get consensusMetrics => $_getBF(3); + @$pb.TagNumber(4) + set consensusMetrics($core.bool v) { $_setBool(3, v); } + @$pb.TagNumber(4) + $core.bool hasConsensusMetrics() => $_has(3); + @$pb.TagNumber(4) + void clearConsensusMetrics() => clearField(4); + + @$pb.TagNumber(5) + $core.bool get storageMetrics => $_getBF(4); + @$pb.TagNumber(5) + set storageMetrics($core.bool v) { $_setBool(4, v); } + @$pb.TagNumber(5) + $core.bool hasStorageMetrics() => $_has(4); + @$pb.TagNumber(5) + void clearStorageMetrics() => clearField(5); + + @$pb.TagNumber(6) + $core.bool get customMetrics => $_getBF(5); + @$pb.TagNumber(6) + set customMetrics($core.bool v) { $_setBool(5, v); } + @$pb.TagNumber(6) + $core.bool hasCustomMetrics() => $_has(5); + @$pb.TagNumber(6) + void clearCustomMetrics() => clearField(6); +} + +class GetMetricsResponseMessage extends $pb.GeneratedMessage { + factory GetMetricsResponseMessage({ + $fixnum.Int64? serverTime, + ProcessMetrics? processMetrics, + ConnectionMetrics? connectionMetrics, + BandwidthMetrics? bandwidthMetrics, + ConsensusMetrics? consensusMetrics, + StorageMetrics? storageMetrics, + RPCError? error, + }) { + final $result = create(); + if (serverTime != null) { + $result.serverTime = serverTime; + } + if (processMetrics != null) { + $result.processMetrics = processMetrics; + } + if (connectionMetrics != null) { + $result.connectionMetrics = connectionMetrics; + } + if (bandwidthMetrics != null) { + $result.bandwidthMetrics = bandwidthMetrics; + } + if (consensusMetrics != null) { + $result.consensusMetrics = consensusMetrics; + } + if (storageMetrics != null) { + $result.storageMetrics = storageMetrics; + } + if (error != null) { + $result.error = error; + } + return $result; + } + GetMetricsResponseMessage._() : super(); + factory GetMetricsResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetMetricsResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetMetricsResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..a<$fixnum.Int64>(1, _omitFieldNames ? '' : 'serverTime', $pb.PbFieldType.OU6, protoName: 'serverTime', defaultOrMaker: $fixnum.Int64.ZERO) + ..aOM(11, _omitFieldNames ? '' : 'processMetrics', protoName: 'processMetrics', subBuilder: ProcessMetrics.create) + ..aOM(12, _omitFieldNames ? '' : 'connectionMetrics', protoName: 'connectionMetrics', subBuilder: ConnectionMetrics.create) + ..aOM(13, _omitFieldNames ? '' : 'bandwidthMetrics', protoName: 'bandwidthMetrics', subBuilder: BandwidthMetrics.create) + ..aOM(14, _omitFieldNames ? '' : 'consensusMetrics', protoName: 'consensusMetrics', subBuilder: ConsensusMetrics.create) + ..aOM(15, _omitFieldNames ? '' : 'storageMetrics', protoName: 'storageMetrics', subBuilder: StorageMetrics.create) + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetMetricsResponseMessage clone() => GetMetricsResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetMetricsResponseMessage copyWith(void Function(GetMetricsResponseMessage) updates) => super.copyWith((message) => updates(message as GetMetricsResponseMessage)) as GetMetricsResponseMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetMetricsResponseMessage create() => GetMetricsResponseMessage._(); + GetMetricsResponseMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetMetricsResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static GetMetricsResponseMessage? _defaultInstance; + + @$pb.TagNumber(1) + $fixnum.Int64 get serverTime => $_getI64(0); + @$pb.TagNumber(1) + set serverTime($fixnum.Int64 v) { $_setInt64(0, v); } + @$pb.TagNumber(1) + $core.bool hasServerTime() => $_has(0); + @$pb.TagNumber(1) + void clearServerTime() => clearField(1); + + @$pb.TagNumber(11) + ProcessMetrics get processMetrics => $_getN(1); + @$pb.TagNumber(11) + set processMetrics(ProcessMetrics v) { setField(11, v); } + @$pb.TagNumber(11) + $core.bool hasProcessMetrics() => $_has(1); + @$pb.TagNumber(11) + void clearProcessMetrics() => clearField(11); + @$pb.TagNumber(11) + ProcessMetrics ensureProcessMetrics() => $_ensure(1); + + @$pb.TagNumber(12) + ConnectionMetrics get connectionMetrics => $_getN(2); + @$pb.TagNumber(12) + set connectionMetrics(ConnectionMetrics v) { setField(12, v); } + @$pb.TagNumber(12) + $core.bool hasConnectionMetrics() => $_has(2); + @$pb.TagNumber(12) + void clearConnectionMetrics() => clearField(12); + @$pb.TagNumber(12) + ConnectionMetrics ensureConnectionMetrics() => $_ensure(2); + + @$pb.TagNumber(13) + BandwidthMetrics get bandwidthMetrics => $_getN(3); + @$pb.TagNumber(13) + set bandwidthMetrics(BandwidthMetrics v) { setField(13, v); } + @$pb.TagNumber(13) + $core.bool hasBandwidthMetrics() => $_has(3); + @$pb.TagNumber(13) + void clearBandwidthMetrics() => clearField(13); + @$pb.TagNumber(13) + BandwidthMetrics ensureBandwidthMetrics() => $_ensure(3); + + @$pb.TagNumber(14) + ConsensusMetrics get consensusMetrics => $_getN(4); + @$pb.TagNumber(14) + set consensusMetrics(ConsensusMetrics v) { setField(14, v); } + @$pb.TagNumber(14) + $core.bool hasConsensusMetrics() => $_has(4); + @$pb.TagNumber(14) + void clearConsensusMetrics() => clearField(14); + @$pb.TagNumber(14) + ConsensusMetrics ensureConsensusMetrics() => $_ensure(4); + + @$pb.TagNumber(15) + StorageMetrics get storageMetrics => $_getN(5); + @$pb.TagNumber(15) + set storageMetrics(StorageMetrics v) { setField(15, v); } + @$pb.TagNumber(15) + $core.bool hasStorageMetrics() => $_has(5); + @$pb.TagNumber(15) + void clearStorageMetrics() => clearField(15); + @$pb.TagNumber(15) + StorageMetrics ensureStorageMetrics() => $_ensure(5); + + @$pb.TagNumber(1000) + RPCError get error => $_getN(6); + @$pb.TagNumber(1000) + set error(RPCError v) { setField(1000, v); } + @$pb.TagNumber(1000) + $core.bool hasError() => $_has(6); + @$pb.TagNumber(1000) + void clearError() => clearField(1000); + @$pb.TagNumber(1000) + RPCError ensureError() => $_ensure(6); +} + +class GetServerInfoRequestMessage extends $pb.GeneratedMessage { + factory GetServerInfoRequestMessage() => create(); + GetServerInfoRequestMessage._() : super(); + factory GetServerInfoRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetServerInfoRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetServerInfoRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetServerInfoRequestMessage clone() => GetServerInfoRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetServerInfoRequestMessage copyWith(void Function(GetServerInfoRequestMessage) updates) => super.copyWith((message) => updates(message as GetServerInfoRequestMessage)) as GetServerInfoRequestMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetServerInfoRequestMessage create() => GetServerInfoRequestMessage._(); + GetServerInfoRequestMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetServerInfoRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static GetServerInfoRequestMessage? _defaultInstance; +} + +class GetServerInfoResponseMessage extends $pb.GeneratedMessage { + factory GetServerInfoResponseMessage({ + $core.int? rpcApiVersion, + $core.int? rpcApiRevision, + $core.String? serverVersion, + $core.String? networkId, + $core.bool? hasUtxoIndex, + $core.bool? isSynced, + $fixnum.Int64? virtualDaaScore, + RPCError? error, + }) { + final $result = create(); + if (rpcApiVersion != null) { + $result.rpcApiVersion = rpcApiVersion; + } + if (rpcApiRevision != null) { + $result.rpcApiRevision = rpcApiRevision; + } + if (serverVersion != null) { + $result.serverVersion = serverVersion; + } + if (networkId != null) { + $result.networkId = networkId; + } + if (hasUtxoIndex != null) { + $result.hasUtxoIndex = hasUtxoIndex; + } + if (isSynced != null) { + $result.isSynced = isSynced; + } + if (virtualDaaScore != null) { + $result.virtualDaaScore = virtualDaaScore; + } + if (error != null) { + $result.error = error; + } + return $result; + } + GetServerInfoResponseMessage._() : super(); + factory GetServerInfoResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetServerInfoResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetServerInfoResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'rpcApiVersion', $pb.PbFieldType.OU3, protoName: 'rpcApiVersion') + ..a<$core.int>(2, _omitFieldNames ? '' : 'rpcApiRevision', $pb.PbFieldType.OU3, protoName: 'rpcApiRevision') + ..aOS(3, _omitFieldNames ? '' : 'serverVersion', protoName: 'serverVersion') + ..aOS(4, _omitFieldNames ? '' : 'networkId', protoName: 'networkId') + ..aOB(5, _omitFieldNames ? '' : 'hasUtxoIndex', protoName: 'hasUtxoIndex') + ..aOB(6, _omitFieldNames ? '' : 'isSynced', protoName: 'isSynced') + ..a<$fixnum.Int64>(7, _omitFieldNames ? '' : 'virtualDaaScore', $pb.PbFieldType.OU6, protoName: 'virtualDaaScore', defaultOrMaker: $fixnum.Int64.ZERO) + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetServerInfoResponseMessage clone() => GetServerInfoResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetServerInfoResponseMessage copyWith(void Function(GetServerInfoResponseMessage) updates) => super.copyWith((message) => updates(message as GetServerInfoResponseMessage)) as GetServerInfoResponseMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetServerInfoResponseMessage create() => GetServerInfoResponseMessage._(); + GetServerInfoResponseMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetServerInfoResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static GetServerInfoResponseMessage? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get rpcApiVersion => $_getIZ(0); + @$pb.TagNumber(1) + set rpcApiVersion($core.int v) { $_setUnsignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasRpcApiVersion() => $_has(0); + @$pb.TagNumber(1) + void clearRpcApiVersion() => clearField(1); + + @$pb.TagNumber(2) + $core.int get rpcApiRevision => $_getIZ(1); + @$pb.TagNumber(2) + set rpcApiRevision($core.int v) { $_setUnsignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasRpcApiRevision() => $_has(1); + @$pb.TagNumber(2) + void clearRpcApiRevision() => clearField(2); + + @$pb.TagNumber(3) + $core.String get serverVersion => $_getSZ(2); + @$pb.TagNumber(3) + set serverVersion($core.String v) { $_setString(2, v); } + @$pb.TagNumber(3) + $core.bool hasServerVersion() => $_has(2); + @$pb.TagNumber(3) + void clearServerVersion() => clearField(3); + + @$pb.TagNumber(4) + $core.String get networkId => $_getSZ(3); + @$pb.TagNumber(4) + set networkId($core.String v) { $_setString(3, v); } + @$pb.TagNumber(4) + $core.bool hasNetworkId() => $_has(3); + @$pb.TagNumber(4) + void clearNetworkId() => clearField(4); + + @$pb.TagNumber(5) + $core.bool get hasUtxoIndex => $_getBF(4); + @$pb.TagNumber(5) + set hasUtxoIndex($core.bool v) { $_setBool(4, v); } + @$pb.TagNumber(5) + $core.bool hasHasUtxoIndex() => $_has(4); + @$pb.TagNumber(5) + void clearHasUtxoIndex() => clearField(5); + + @$pb.TagNumber(6) + $core.bool get isSynced => $_getBF(5); + @$pb.TagNumber(6) + set isSynced($core.bool v) { $_setBool(5, v); } + @$pb.TagNumber(6) + $core.bool hasIsSynced() => $_has(5); + @$pb.TagNumber(6) + void clearIsSynced() => clearField(6); + + @$pb.TagNumber(7) + $fixnum.Int64 get virtualDaaScore => $_getI64(6); + @$pb.TagNumber(7) + set virtualDaaScore($fixnum.Int64 v) { $_setInt64(6, v); } + @$pb.TagNumber(7) + $core.bool hasVirtualDaaScore() => $_has(6); + @$pb.TagNumber(7) + void clearVirtualDaaScore() => clearField(7); + + @$pb.TagNumber(1000) + RPCError get error => $_getN(7); + @$pb.TagNumber(1000) + set error(RPCError v) { setField(1000, v); } + @$pb.TagNumber(1000) + $core.bool hasError() => $_has(7); + @$pb.TagNumber(1000) + void clearError() => clearField(1000); + @$pb.TagNumber(1000) + RPCError ensureError() => $_ensure(7); +} + +class GetSyncStatusRequestMessage extends $pb.GeneratedMessage { + factory GetSyncStatusRequestMessage() => create(); + GetSyncStatusRequestMessage._() : super(); + factory GetSyncStatusRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetSyncStatusRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetSyncStatusRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetSyncStatusRequestMessage clone() => GetSyncStatusRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetSyncStatusRequestMessage copyWith(void Function(GetSyncStatusRequestMessage) updates) => super.copyWith((message) => updates(message as GetSyncStatusRequestMessage)) as GetSyncStatusRequestMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetSyncStatusRequestMessage create() => GetSyncStatusRequestMessage._(); + GetSyncStatusRequestMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetSyncStatusRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static GetSyncStatusRequestMessage? _defaultInstance; +} + +class GetSyncStatusResponseMessage extends $pb.GeneratedMessage { + factory GetSyncStatusResponseMessage({ + $core.bool? isSynced, + RPCError? error, + }) { + final $result = create(); + if (isSynced != null) { + $result.isSynced = isSynced; + } + if (error != null) { + $result.error = error; + } + return $result; + } + GetSyncStatusResponseMessage._() : super(); + factory GetSyncStatusResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetSyncStatusResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetSyncStatusResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOB(1, _omitFieldNames ? '' : 'isSynced', protoName: 'isSynced') + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetSyncStatusResponseMessage clone() => GetSyncStatusResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetSyncStatusResponseMessage copyWith(void Function(GetSyncStatusResponseMessage) updates) => super.copyWith((message) => updates(message as GetSyncStatusResponseMessage)) as GetSyncStatusResponseMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetSyncStatusResponseMessage create() => GetSyncStatusResponseMessage._(); + GetSyncStatusResponseMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetSyncStatusResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static GetSyncStatusResponseMessage? _defaultInstance; + + @$pb.TagNumber(1) + $core.bool get isSynced => $_getBF(0); + @$pb.TagNumber(1) + set isSynced($core.bool v) { $_setBool(0, v); } + @$pb.TagNumber(1) + $core.bool hasIsSynced() => $_has(0); + @$pb.TagNumber(1) + void clearIsSynced() => clearField(1); + + @$pb.TagNumber(1000) + RPCError get error => $_getN(1); + @$pb.TagNumber(1000) + set error(RPCError v) { setField(1000, v); } + @$pb.TagNumber(1000) + $core.bool hasError() => $_has(1); + @$pb.TagNumber(1000) + void clearError() => clearField(1000); + @$pb.TagNumber(1000) + RPCError ensureError() => $_ensure(1); +} + +class GetDaaScoreTimestampEstimateRequestMessage extends $pb.GeneratedMessage { + factory GetDaaScoreTimestampEstimateRequestMessage({ + $core.Iterable<$fixnum.Int64>? daaScores, + }) { + final $result = create(); + if (daaScores != null) { + $result.daaScores.addAll(daaScores); + } + return $result; + } + GetDaaScoreTimestampEstimateRequestMessage._() : super(); + factory GetDaaScoreTimestampEstimateRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetDaaScoreTimestampEstimateRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetDaaScoreTimestampEstimateRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..p<$fixnum.Int64>(1, _omitFieldNames ? '' : 'daaScores', $pb.PbFieldType.KU6) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetDaaScoreTimestampEstimateRequestMessage clone() => GetDaaScoreTimestampEstimateRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetDaaScoreTimestampEstimateRequestMessage copyWith(void Function(GetDaaScoreTimestampEstimateRequestMessage) updates) => super.copyWith((message) => updates(message as GetDaaScoreTimestampEstimateRequestMessage)) as GetDaaScoreTimestampEstimateRequestMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetDaaScoreTimestampEstimateRequestMessage create() => GetDaaScoreTimestampEstimateRequestMessage._(); + GetDaaScoreTimestampEstimateRequestMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetDaaScoreTimestampEstimateRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static GetDaaScoreTimestampEstimateRequestMessage? _defaultInstance; + + @$pb.TagNumber(1) + $core.List<$fixnum.Int64> get daaScores => $_getList(0); +} + +class GetDaaScoreTimestampEstimateResponseMessage extends $pb.GeneratedMessage { + factory GetDaaScoreTimestampEstimateResponseMessage({ + $core.Iterable<$fixnum.Int64>? timestamps, + RPCError? error, + }) { + final $result = create(); + if (timestamps != null) { + $result.timestamps.addAll(timestamps); + } + if (error != null) { + $result.error = error; + } + return $result; + } + GetDaaScoreTimestampEstimateResponseMessage._() : super(); + factory GetDaaScoreTimestampEstimateResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetDaaScoreTimestampEstimateResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetDaaScoreTimestampEstimateResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..p<$fixnum.Int64>(1, _omitFieldNames ? '' : 'timestamps', $pb.PbFieldType.KU6) + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetDaaScoreTimestampEstimateResponseMessage clone() => GetDaaScoreTimestampEstimateResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetDaaScoreTimestampEstimateResponseMessage copyWith(void Function(GetDaaScoreTimestampEstimateResponseMessage) updates) => super.copyWith((message) => updates(message as GetDaaScoreTimestampEstimateResponseMessage)) as GetDaaScoreTimestampEstimateResponseMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetDaaScoreTimestampEstimateResponseMessage create() => GetDaaScoreTimestampEstimateResponseMessage._(); + GetDaaScoreTimestampEstimateResponseMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetDaaScoreTimestampEstimateResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static GetDaaScoreTimestampEstimateResponseMessage? _defaultInstance; + + @$pb.TagNumber(1) + $core.List<$fixnum.Int64> get timestamps => $_getList(0); + + @$pb.TagNumber(1000) + RPCError get error => $_getN(1); + @$pb.TagNumber(1000) + set error(RPCError v) { setField(1000, v); } + @$pb.TagNumber(1000) + $core.bool hasError() => $_has(1); + @$pb.TagNumber(1000) + void clearError() => clearField(1000); + @$pb.TagNumber(1000) + RPCError ensureError() => $_ensure(1); +} + +class RpcFeerateBucket extends $pb.GeneratedMessage { + factory RpcFeerateBucket({ + $core.double? feerate, + $core.double? estimatedSeconds, + }) { + final $result = create(); + if (feerate != null) { + $result.feerate = feerate; + } + if (estimatedSeconds != null) { + $result.estimatedSeconds = estimatedSeconds; + } + return $result; + } + RpcFeerateBucket._() : super(); + factory RpcFeerateBucket.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory RpcFeerateBucket.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'RpcFeerateBucket', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..a<$core.double>(1, _omitFieldNames ? '' : 'feerate', $pb.PbFieldType.OD) + ..a<$core.double>(2, _omitFieldNames ? '' : 'estimatedSeconds', $pb.PbFieldType.OD) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + RpcFeerateBucket clone() => RpcFeerateBucket()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RpcFeerateBucket copyWith(void Function(RpcFeerateBucket) updates) => super.copyWith((message) => updates(message as RpcFeerateBucket)) as RpcFeerateBucket; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static RpcFeerateBucket create() => RpcFeerateBucket._(); + RpcFeerateBucket createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static RpcFeerateBucket getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static RpcFeerateBucket? _defaultInstance; + + /// Fee/mass of a transaction in `sompi/gram` units + @$pb.TagNumber(1) + $core.double get feerate => $_getN(0); + @$pb.TagNumber(1) + set feerate($core.double v) { $_setDouble(0, v); } + @$pb.TagNumber(1) + $core.bool hasFeerate() => $_has(0); + @$pb.TagNumber(1) + void clearFeerate() => clearField(1); + + @$pb.TagNumber(2) + $core.double get estimatedSeconds => $_getN(1); + @$pb.TagNumber(2) + set estimatedSeconds($core.double v) { $_setDouble(1, v); } + @$pb.TagNumber(2) + $core.bool hasEstimatedSeconds() => $_has(1); + @$pb.TagNumber(2) + void clearEstimatedSeconds() => clearField(2); +} + +/// Data required for making fee estimates. +/// +/// Feerate values represent fee/mass of a transaction in `sompi/gram` units. +/// Given a feerate value recommendation, calculate the required fee by +/// taking the transaction mass and multiplying it by feerate: `fee = feerate * mass(tx)` +class RpcFeeEstimate extends $pb.GeneratedMessage { + factory RpcFeeEstimate({ + RpcFeerateBucket? priorityBucket, + $core.Iterable? normalBuckets, + $core.Iterable? lowBuckets, + }) { + final $result = create(); + if (priorityBucket != null) { + $result.priorityBucket = priorityBucket; + } + if (normalBuckets != null) { + $result.normalBuckets.addAll(normalBuckets); + } + if (lowBuckets != null) { + $result.lowBuckets.addAll(lowBuckets); + } + return $result; + } + RpcFeeEstimate._() : super(); + factory RpcFeeEstimate.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory RpcFeeEstimate.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'RpcFeeEstimate', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'priorityBucket', subBuilder: RpcFeerateBucket.create) + ..pc(2, _omitFieldNames ? '' : 'normalBuckets', $pb.PbFieldType.PM, subBuilder: RpcFeerateBucket.create) + ..pc(3, _omitFieldNames ? '' : 'lowBuckets', $pb.PbFieldType.PM, subBuilder: RpcFeerateBucket.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + RpcFeeEstimate clone() => RpcFeeEstimate()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RpcFeeEstimate copyWith(void Function(RpcFeeEstimate) updates) => super.copyWith((message) => updates(message as RpcFeeEstimate)) as RpcFeeEstimate; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static RpcFeeEstimate create() => RpcFeeEstimate._(); + RpcFeeEstimate createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static RpcFeeEstimate getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static RpcFeeEstimate? _defaultInstance; + + /// Top-priority feerate bucket. Provides an estimation of the feerate required for sub-second DAG inclusion. + @$pb.TagNumber(1) + RpcFeerateBucket get priorityBucket => $_getN(0); + @$pb.TagNumber(1) + set priorityBucket(RpcFeerateBucket v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasPriorityBucket() => $_has(0); + @$pb.TagNumber(1) + void clearPriorityBucket() => clearField(1); + @$pb.TagNumber(1) + RpcFeerateBucket ensurePriorityBucket() => $_ensure(0); + + /// A vector of *normal* priority feerate values. The first value of this vector is guaranteed to exist and + /// provide an estimation for sub-*minute* DAG inclusion. All other values will have shorter estimation + /// times than all `low_bucket` values. Therefor by chaining `[priority] | normal | low` and interpolating + /// between them, one can compose a complete feerate function on the client side. The API makes an effort + /// to sample enough "interesting" points on the feerate-to-time curve, so that the interpolation is meaningful. + @$pb.TagNumber(2) + $core.List get normalBuckets => $_getList(1); + + /// A vector of *low* priority feerate values. The first value of this vector is guaranteed to + /// exist and provide an estimation for sub-*hour* DAG inclusion. + @$pb.TagNumber(3) + $core.List get lowBuckets => $_getList(2); +} + +class RpcFeeEstimateVerboseExperimentalData extends $pb.GeneratedMessage { + factory RpcFeeEstimateVerboseExperimentalData({ + $fixnum.Int64? mempoolReadyTransactionsCount, + $fixnum.Int64? mempoolReadyTransactionsTotalMass, + $fixnum.Int64? networkMassPerSecond, + $core.double? nextBlockTemplateFeerateMin, + $core.double? nextBlockTemplateFeerateMedian, + $core.double? nextBlockTemplateFeerateMax, + }) { + final $result = create(); + if (mempoolReadyTransactionsCount != null) { + $result.mempoolReadyTransactionsCount = mempoolReadyTransactionsCount; + } + if (mempoolReadyTransactionsTotalMass != null) { + $result.mempoolReadyTransactionsTotalMass = mempoolReadyTransactionsTotalMass; + } + if (networkMassPerSecond != null) { + $result.networkMassPerSecond = networkMassPerSecond; + } + if (nextBlockTemplateFeerateMin != null) { + $result.nextBlockTemplateFeerateMin = nextBlockTemplateFeerateMin; + } + if (nextBlockTemplateFeerateMedian != null) { + $result.nextBlockTemplateFeerateMedian = nextBlockTemplateFeerateMedian; + } + if (nextBlockTemplateFeerateMax != null) { + $result.nextBlockTemplateFeerateMax = nextBlockTemplateFeerateMax; + } + return $result; + } + RpcFeeEstimateVerboseExperimentalData._() : super(); + factory RpcFeeEstimateVerboseExperimentalData.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory RpcFeeEstimateVerboseExperimentalData.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'RpcFeeEstimateVerboseExperimentalData', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..a<$fixnum.Int64>(1, _omitFieldNames ? '' : 'mempoolReadyTransactionsCount', $pb.PbFieldType.OU6, defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$fixnum.Int64>(2, _omitFieldNames ? '' : 'mempoolReadyTransactionsTotalMass', $pb.PbFieldType.OU6, defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$fixnum.Int64>(3, _omitFieldNames ? '' : 'networkMassPerSecond', $pb.PbFieldType.OU6, defaultOrMaker: $fixnum.Int64.ZERO) + ..a<$core.double>(11, _omitFieldNames ? '' : 'nextBlockTemplateFeerateMin', $pb.PbFieldType.OD) + ..a<$core.double>(12, _omitFieldNames ? '' : 'nextBlockTemplateFeerateMedian', $pb.PbFieldType.OD) + ..a<$core.double>(13, _omitFieldNames ? '' : 'nextBlockTemplateFeerateMax', $pb.PbFieldType.OD) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + RpcFeeEstimateVerboseExperimentalData clone() => RpcFeeEstimateVerboseExperimentalData()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RpcFeeEstimateVerboseExperimentalData copyWith(void Function(RpcFeeEstimateVerboseExperimentalData) updates) => super.copyWith((message) => updates(message as RpcFeeEstimateVerboseExperimentalData)) as RpcFeeEstimateVerboseExperimentalData; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static RpcFeeEstimateVerboseExperimentalData create() => RpcFeeEstimateVerboseExperimentalData._(); + RpcFeeEstimateVerboseExperimentalData createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static RpcFeeEstimateVerboseExperimentalData getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static RpcFeeEstimateVerboseExperimentalData? _defaultInstance; + + @$pb.TagNumber(1) + $fixnum.Int64 get mempoolReadyTransactionsCount => $_getI64(0); + @$pb.TagNumber(1) + set mempoolReadyTransactionsCount($fixnum.Int64 v) { $_setInt64(0, v); } + @$pb.TagNumber(1) + $core.bool hasMempoolReadyTransactionsCount() => $_has(0); + @$pb.TagNumber(1) + void clearMempoolReadyTransactionsCount() => clearField(1); + + @$pb.TagNumber(2) + $fixnum.Int64 get mempoolReadyTransactionsTotalMass => $_getI64(1); + @$pb.TagNumber(2) + set mempoolReadyTransactionsTotalMass($fixnum.Int64 v) { $_setInt64(1, v); } + @$pb.TagNumber(2) + $core.bool hasMempoolReadyTransactionsTotalMass() => $_has(1); + @$pb.TagNumber(2) + void clearMempoolReadyTransactionsTotalMass() => clearField(2); + + @$pb.TagNumber(3) + $fixnum.Int64 get networkMassPerSecond => $_getI64(2); + @$pb.TagNumber(3) + set networkMassPerSecond($fixnum.Int64 v) { $_setInt64(2, v); } + @$pb.TagNumber(3) + $core.bool hasNetworkMassPerSecond() => $_has(2); + @$pb.TagNumber(3) + void clearNetworkMassPerSecond() => clearField(3); + + @$pb.TagNumber(11) + $core.double get nextBlockTemplateFeerateMin => $_getN(3); + @$pb.TagNumber(11) + set nextBlockTemplateFeerateMin($core.double v) { $_setDouble(3, v); } + @$pb.TagNumber(11) + $core.bool hasNextBlockTemplateFeerateMin() => $_has(3); + @$pb.TagNumber(11) + void clearNextBlockTemplateFeerateMin() => clearField(11); + + @$pb.TagNumber(12) + $core.double get nextBlockTemplateFeerateMedian => $_getN(4); + @$pb.TagNumber(12) + set nextBlockTemplateFeerateMedian($core.double v) { $_setDouble(4, v); } + @$pb.TagNumber(12) + $core.bool hasNextBlockTemplateFeerateMedian() => $_has(4); + @$pb.TagNumber(12) + void clearNextBlockTemplateFeerateMedian() => clearField(12); + + @$pb.TagNumber(13) + $core.double get nextBlockTemplateFeerateMax => $_getN(5); + @$pb.TagNumber(13) + set nextBlockTemplateFeerateMax($core.double v) { $_setDouble(5, v); } + @$pb.TagNumber(13) + $core.bool hasNextBlockTemplateFeerateMax() => $_has(5); + @$pb.TagNumber(13) + void clearNextBlockTemplateFeerateMax() => clearField(13); +} + +class GetFeeEstimateRequestMessage extends $pb.GeneratedMessage { + factory GetFeeEstimateRequestMessage() => create(); + GetFeeEstimateRequestMessage._() : super(); + factory GetFeeEstimateRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetFeeEstimateRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetFeeEstimateRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetFeeEstimateRequestMessage clone() => GetFeeEstimateRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetFeeEstimateRequestMessage copyWith(void Function(GetFeeEstimateRequestMessage) updates) => super.copyWith((message) => updates(message as GetFeeEstimateRequestMessage)) as GetFeeEstimateRequestMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetFeeEstimateRequestMessage create() => GetFeeEstimateRequestMessage._(); + GetFeeEstimateRequestMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetFeeEstimateRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static GetFeeEstimateRequestMessage? _defaultInstance; +} + +class GetFeeEstimateResponseMessage extends $pb.GeneratedMessage { + factory GetFeeEstimateResponseMessage({ + RpcFeeEstimate? estimate, + RPCError? error, + }) { + final $result = create(); + if (estimate != null) { + $result.estimate = estimate; + } + if (error != null) { + $result.error = error; + } + return $result; + } + GetFeeEstimateResponseMessage._() : super(); + factory GetFeeEstimateResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetFeeEstimateResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetFeeEstimateResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'estimate', subBuilder: RpcFeeEstimate.create) + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetFeeEstimateResponseMessage clone() => GetFeeEstimateResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetFeeEstimateResponseMessage copyWith(void Function(GetFeeEstimateResponseMessage) updates) => super.copyWith((message) => updates(message as GetFeeEstimateResponseMessage)) as GetFeeEstimateResponseMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetFeeEstimateResponseMessage create() => GetFeeEstimateResponseMessage._(); + GetFeeEstimateResponseMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetFeeEstimateResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static GetFeeEstimateResponseMessage? _defaultInstance; + + @$pb.TagNumber(1) + RpcFeeEstimate get estimate => $_getN(0); + @$pb.TagNumber(1) + set estimate(RpcFeeEstimate v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasEstimate() => $_has(0); + @$pb.TagNumber(1) + void clearEstimate() => clearField(1); + @$pb.TagNumber(1) + RpcFeeEstimate ensureEstimate() => $_ensure(0); + + @$pb.TagNumber(1000) + RPCError get error => $_getN(1); + @$pb.TagNumber(1000) + set error(RPCError v) { setField(1000, v); } + @$pb.TagNumber(1000) + $core.bool hasError() => $_has(1); + @$pb.TagNumber(1000) + void clearError() => clearField(1000); + @$pb.TagNumber(1000) + RPCError ensureError() => $_ensure(1); +} + +class GetFeeEstimateExperimentalRequestMessage extends $pb.GeneratedMessage { + factory GetFeeEstimateExperimentalRequestMessage({ + $core.bool? verbose, + }) { + final $result = create(); + if (verbose != null) { + $result.verbose = verbose; + } + return $result; + } + GetFeeEstimateExperimentalRequestMessage._() : super(); + factory GetFeeEstimateExperimentalRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetFeeEstimateExperimentalRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetFeeEstimateExperimentalRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOB(1, _omitFieldNames ? '' : 'verbose') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetFeeEstimateExperimentalRequestMessage clone() => GetFeeEstimateExperimentalRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetFeeEstimateExperimentalRequestMessage copyWith(void Function(GetFeeEstimateExperimentalRequestMessage) updates) => super.copyWith((message) => updates(message as GetFeeEstimateExperimentalRequestMessage)) as GetFeeEstimateExperimentalRequestMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetFeeEstimateExperimentalRequestMessage create() => GetFeeEstimateExperimentalRequestMessage._(); + GetFeeEstimateExperimentalRequestMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetFeeEstimateExperimentalRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static GetFeeEstimateExperimentalRequestMessage? _defaultInstance; + + @$pb.TagNumber(1) + $core.bool get verbose => $_getBF(0); + @$pb.TagNumber(1) + set verbose($core.bool v) { $_setBool(0, v); } + @$pb.TagNumber(1) + $core.bool hasVerbose() => $_has(0); + @$pb.TagNumber(1) + void clearVerbose() => clearField(1); +} + +class GetFeeEstimateExperimentalResponseMessage extends $pb.GeneratedMessage { + factory GetFeeEstimateExperimentalResponseMessage({ + RpcFeeEstimate? estimate, + RpcFeeEstimateVerboseExperimentalData? verbose, + RPCError? error, + }) { + final $result = create(); + if (estimate != null) { + $result.estimate = estimate; + } + if (verbose != null) { + $result.verbose = verbose; + } + if (error != null) { + $result.error = error; + } + return $result; + } + GetFeeEstimateExperimentalResponseMessage._() : super(); + factory GetFeeEstimateExperimentalResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetFeeEstimateExperimentalResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetFeeEstimateExperimentalResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOM(1, _omitFieldNames ? '' : 'estimate', subBuilder: RpcFeeEstimate.create) + ..aOM(2, _omitFieldNames ? '' : 'verbose', subBuilder: RpcFeeEstimateVerboseExperimentalData.create) + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetFeeEstimateExperimentalResponseMessage clone() => GetFeeEstimateExperimentalResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetFeeEstimateExperimentalResponseMessage copyWith(void Function(GetFeeEstimateExperimentalResponseMessage) updates) => super.copyWith((message) => updates(message as GetFeeEstimateExperimentalResponseMessage)) as GetFeeEstimateExperimentalResponseMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetFeeEstimateExperimentalResponseMessage create() => GetFeeEstimateExperimentalResponseMessage._(); + GetFeeEstimateExperimentalResponseMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetFeeEstimateExperimentalResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static GetFeeEstimateExperimentalResponseMessage? _defaultInstance; + + @$pb.TagNumber(1) + RpcFeeEstimate get estimate => $_getN(0); + @$pb.TagNumber(1) + set estimate(RpcFeeEstimate v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasEstimate() => $_has(0); + @$pb.TagNumber(1) + void clearEstimate() => clearField(1); + @$pb.TagNumber(1) + RpcFeeEstimate ensureEstimate() => $_ensure(0); + + @$pb.TagNumber(2) + RpcFeeEstimateVerboseExperimentalData get verbose => $_getN(1); + @$pb.TagNumber(2) + set verbose(RpcFeeEstimateVerboseExperimentalData v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasVerbose() => $_has(1); + @$pb.TagNumber(2) + void clearVerbose() => clearField(2); + @$pb.TagNumber(2) + RpcFeeEstimateVerboseExperimentalData ensureVerbose() => $_ensure(1); + + @$pb.TagNumber(1000) + RPCError get error => $_getN(2); + @$pb.TagNumber(1000) + set error(RPCError v) { setField(1000, v); } + @$pb.TagNumber(1000) + $core.bool hasError() => $_has(2); + @$pb.TagNumber(1000) + void clearError() => clearField(1000); + @$pb.TagNumber(1000) + RPCError ensureError() => $_ensure(2); +} + +class GetCurrentBlockColorRequestMessage extends $pb.GeneratedMessage { + factory GetCurrentBlockColorRequestMessage({ + $core.String? hash, + }) { + final $result = create(); + if (hash != null) { + $result.hash = hash; + } + return $result; + } + GetCurrentBlockColorRequestMessage._() : super(); + factory GetCurrentBlockColorRequestMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetCurrentBlockColorRequestMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetCurrentBlockColorRequestMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOS(1, _omitFieldNames ? '' : 'hash') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetCurrentBlockColorRequestMessage clone() => GetCurrentBlockColorRequestMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetCurrentBlockColorRequestMessage copyWith(void Function(GetCurrentBlockColorRequestMessage) updates) => super.copyWith((message) => updates(message as GetCurrentBlockColorRequestMessage)) as GetCurrentBlockColorRequestMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetCurrentBlockColorRequestMessage create() => GetCurrentBlockColorRequestMessage._(); + GetCurrentBlockColorRequestMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetCurrentBlockColorRequestMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static GetCurrentBlockColorRequestMessage? _defaultInstance; + + @$pb.TagNumber(1) + $core.String get hash => $_getSZ(0); + @$pb.TagNumber(1) + set hash($core.String v) { $_setString(0, v); } + @$pb.TagNumber(1) + $core.bool hasHash() => $_has(0); + @$pb.TagNumber(1) + void clearHash() => clearField(1); +} + +class GetCurrentBlockColorResponseMessage extends $pb.GeneratedMessage { + factory GetCurrentBlockColorResponseMessage({ + $core.bool? blue, + RPCError? error, + }) { + final $result = create(); + if (blue != null) { + $result.blue = blue; + } + if (error != null) { + $result.error = error; + } + return $result; + } + GetCurrentBlockColorResponseMessage._() : super(); + factory GetCurrentBlockColorResponseMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetCurrentBlockColorResponseMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetCurrentBlockColorResponseMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'protowire'), createEmptyInstance: create) + ..aOB(1, _omitFieldNames ? '' : 'blue') + ..aOM(1000, _omitFieldNames ? '' : 'error', subBuilder: RPCError.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetCurrentBlockColorResponseMessage clone() => GetCurrentBlockColorResponseMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetCurrentBlockColorResponseMessage copyWith(void Function(GetCurrentBlockColorResponseMessage) updates) => super.copyWith((message) => updates(message as GetCurrentBlockColorResponseMessage)) as GetCurrentBlockColorResponseMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetCurrentBlockColorResponseMessage create() => GetCurrentBlockColorResponseMessage._(); + GetCurrentBlockColorResponseMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetCurrentBlockColorResponseMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static GetCurrentBlockColorResponseMessage? _defaultInstance; + + @$pb.TagNumber(1) + $core.bool get blue => $_getBF(0); + @$pb.TagNumber(1) + set blue($core.bool v) { $_setBool(0, v); } + @$pb.TagNumber(1) + $core.bool hasBlue() => $_has(0); + @$pb.TagNumber(1) + void clearBlue() => clearField(1); + + @$pb.TagNumber(1000) + RPCError get error => $_getN(1); + @$pb.TagNumber(1000) + set error(RPCError v) { setField(1000, v); } + @$pb.TagNumber(1000) + $core.bool hasError() => $_has(1); + @$pb.TagNumber(1000) + void clearError() => clearField(1000); + @$pb.TagNumber(1000) + RPCError ensureError() => $_ensure(1); +} + + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names'); \ No newline at end of file diff --git a/lib/karlsen/grpc/rpc.pbenum.dart b/lib/karlsen/grpc/rpc.pbenum.dart index c0b1c414..92d79ce2 100644 --- a/lib/karlsen/grpc/rpc.pbenum.dart +++ b/lib/karlsen/grpc/rpc.pbenum.dart @@ -1,46 +1,49 @@ -/// +// // Generated code. Do not modify. // source: rpc.proto // // @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 -// ignore_for_file: UNDEFINED_SHOWN_NAME +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + import 'dart:core' as $core; + import 'package:protobuf/protobuf.dart' as $pb; +class RpcNotifyCommand extends $pb.ProtobufEnum { + static const RpcNotifyCommand NOTIFY_START = RpcNotifyCommand._(0, _omitEnumNames ? '' : 'NOTIFY_START'); + static const RpcNotifyCommand NOTIFY_STOP = RpcNotifyCommand._(1, _omitEnumNames ? '' : 'NOTIFY_STOP'); + + static const $core.List values = [ + NOTIFY_START, + NOTIFY_STOP, + ]; + + static final $core.Map<$core.int, RpcNotifyCommand> _byValue = $pb.ProtobufEnum.initByValue(values); + static RpcNotifyCommand? valueOf($core.int value) => _byValue[value]; + + const RpcNotifyCommand._($core.int v, $core.String n) : super(v, n); +} + class SubmitBlockResponseMessage_RejectReason extends $pb.ProtobufEnum { - static const SubmitBlockResponseMessage_RejectReason NONE = - SubmitBlockResponseMessage_RejectReason._( - 0, - const $core.bool.fromEnvironment('protobuf.omit_enum_names') - ? '' - : 'NONE'); - static const SubmitBlockResponseMessage_RejectReason BLOCK_INVALID = - SubmitBlockResponseMessage_RejectReason._( - 1, - const $core.bool.fromEnvironment('protobuf.omit_enum_names') - ? '' - : 'BLOCK_INVALID'); - static const SubmitBlockResponseMessage_RejectReason IS_IN_IBD = - SubmitBlockResponseMessage_RejectReason._( - 2, - const $core.bool.fromEnvironment('protobuf.omit_enum_names') - ? '' - : 'IS_IN_IBD'); - - static const $core.List values = - [ + static const SubmitBlockResponseMessage_RejectReason NONE = SubmitBlockResponseMessage_RejectReason._(0, _omitEnumNames ? '' : 'NONE'); + static const SubmitBlockResponseMessage_RejectReason BLOCK_INVALID = SubmitBlockResponseMessage_RejectReason._(1, _omitEnumNames ? '' : 'BLOCK_INVALID'); + static const SubmitBlockResponseMessage_RejectReason IS_IN_IBD = SubmitBlockResponseMessage_RejectReason._(2, _omitEnumNames ? '' : 'IS_IN_IBD'); + + static const $core.List values = [ NONE, BLOCK_INVALID, IS_IN_IBD, ]; - static final $core.Map<$core.int, SubmitBlockResponseMessage_RejectReason> - _byValue = $pb.ProtobufEnum.initByValue(values); - static SubmitBlockResponseMessage_RejectReason? valueOf($core.int value) => - _byValue[value]; + static final $core.Map<$core.int, SubmitBlockResponseMessage_RejectReason> _byValue = $pb.ProtobufEnum.initByValue(values); + static SubmitBlockResponseMessage_RejectReason? valueOf($core.int value) => _byValue[value]; - const SubmitBlockResponseMessage_RejectReason._($core.int v, $core.String n) - : super(v, n); + const SubmitBlockResponseMessage_RejectReason._($core.int v, $core.String n) : super(v, n); } + + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); \ No newline at end of file diff --git a/lib/karlsen/grpc/rpc.pbjson.dart b/lib/karlsen/grpc/rpc.pbjson.dart index b72c76cf..75fe2a70 100644 --- a/lib/karlsen/grpc/rpc.pbjson.dart +++ b/lib/karlsen/grpc/rpc.pbjson.dart @@ -1,2203 +1,2121 @@ -/// +// // Generated code. Do not modify. // source: rpc.proto // // @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; +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + import 'dart:convert' as $convert; +import 'dart:core' as $core; import 'dart:typed_data' as $typed_data; +@$core.Deprecated('Use rpcNotifyCommandDescriptor instead') +const RpcNotifyCommand$json = { + '1': 'RpcNotifyCommand', + '2': [ + {'1': 'NOTIFY_START', '2': 0}, + {'1': 'NOTIFY_STOP', '2': 1}, + ], +}; + +/// Descriptor for `RpcNotifyCommand`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List rpcNotifyCommandDescriptor = $convert.base64Decode( + 'ChBScGNOb3RpZnlDb21tYW5kEhAKDE5PVElGWV9TVEFSVBAAEg8KC05PVElGWV9TVE9QEAE='); + @$core.Deprecated('Use rPCErrorDescriptor instead') -const RPCError$json = const { +const RPCError$json = { '1': 'RPCError', - '2': const [ - const {'1': 'message', '3': 1, '4': 1, '5': 9, '10': 'message'}, + '2': [ + {'1': 'message', '3': 1, '4': 1, '5': 9, '10': 'message'}, ], }; /// Descriptor for `RPCError`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List rPCErrorDescriptor = - $convert.base64Decode('CghSUENFcnJvchIYCgdtZXNzYWdlGAEgASgJUgdtZXNzYWdl'); +final $typed_data.Uint8List rPCErrorDescriptor = $convert.base64Decode( + 'CghSUENFcnJvchIYCgdtZXNzYWdlGAEgASgJUgdtZXNzYWdl'); + @$core.Deprecated('Use rpcBlockDescriptor instead') -const RpcBlock$json = const { +const RpcBlock$json = { '1': 'RpcBlock', - '2': const [ - const { - '1': 'header', - '3': 1, - '4': 1, - '5': 11, - '6': '.protowire.RpcBlockHeader', - '10': 'header' - }, - const { - '1': 'transactions', - '3': 2, - '4': 3, - '5': 11, - '6': '.protowire.RpcTransaction', - '10': 'transactions' - }, - const { - '1': 'verboseData', - '3': 3, - '4': 1, - '5': 11, - '6': '.protowire.RpcBlockVerboseData', - '10': 'verboseData' - }, + '2': [ + {'1': 'header', '3': 1, '4': 1, '5': 11, '6': '.protowire.RpcBlockHeader', '10': 'header'}, + {'1': 'transactions', '3': 2, '4': 3, '5': 11, '6': '.protowire.RpcTransaction', '10': 'transactions'}, + {'1': 'verboseData', '3': 3, '4': 1, '5': 11, '6': '.protowire.RpcBlockVerboseData', '10': 'verboseData'}, ], }; /// Descriptor for `RpcBlock`. Decode as a `google.protobuf.DescriptorProto`. final $typed_data.Uint8List rpcBlockDescriptor = $convert.base64Decode( - 'CghScGNCbG9jaxIxCgZoZWFkZXIYASABKAsyGS5wcm90b3dpcmUuUnBjQmxvY2tIZWFkZXJSBmhlYWRlchI9Cgx0cmFuc2FjdGlvbnMYAiADKAsyGS5wcm90b3dpcmUuUnBjVHJhbnNhY3Rpb25SDHRyYW5zYWN0aW9ucxJACgt2ZXJib3NlRGF0YRgDIAEoCzIeLnByb3Rvd2lyZS5ScGNCbG9ja1ZlcmJvc2VEYXRhUgt2ZXJib3NlRGF0YQ=='); + 'CghScGNCbG9jaxIxCgZoZWFkZXIYASABKAsyGS5wcm90b3dpcmUuUnBjQmxvY2tIZWFkZXJSBm' + 'hlYWRlchI9Cgx0cmFuc2FjdGlvbnMYAiADKAsyGS5wcm90b3dpcmUuUnBjVHJhbnNhY3Rpb25S' + 'DHRyYW5zYWN0aW9ucxJACgt2ZXJib3NlRGF0YRgDIAEoCzIeLnByb3Rvd2lyZS5ScGNCbG9ja1' + 'ZlcmJvc2VEYXRhUgt2ZXJib3NlRGF0YQ=='); + @$core.Deprecated('Use rpcBlockHeaderDescriptor instead') -const RpcBlockHeader$json = const { +const RpcBlockHeader$json = { '1': 'RpcBlockHeader', - '2': const [ - const {'1': 'version', '3': 1, '4': 1, '5': 13, '10': 'version'}, - const { - '1': 'parents', - '3': 12, - '4': 3, - '5': 11, - '6': '.protowire.RpcBlockLevelParents', - '10': 'parents' - }, - const { - '1': 'hashMerkleRoot', - '3': 3, - '4': 1, - '5': 9, - '10': 'hashMerkleRoot' - }, - const { - '1': 'acceptedIdMerkleRoot', - '3': 4, - '4': 1, - '5': 9, - '10': 'acceptedIdMerkleRoot' - }, - const { - '1': 'utxoCommitment', - '3': 5, - '4': 1, - '5': 9, - '10': 'utxoCommitment' - }, - const {'1': 'timestamp', '3': 6, '4': 1, '5': 3, '10': 'timestamp'}, - const {'1': 'bits', '3': 7, '4': 1, '5': 13, '10': 'bits'}, - const {'1': 'nonce', '3': 8, '4': 1, '5': 4, '10': 'nonce'}, - const {'1': 'daaScore', '3': 9, '4': 1, '5': 4, '10': 'daaScore'}, - const {'1': 'blueWork', '3': 10, '4': 1, '5': 9, '10': 'blueWork'}, - const {'1': 'pruningPoint', '3': 14, '4': 1, '5': 9, '10': 'pruningPoint'}, - const {'1': 'blueScore', '3': 13, '4': 1, '5': 4, '10': 'blueScore'}, + '2': [ + {'1': 'version', '3': 1, '4': 1, '5': 13, '10': 'version'}, + {'1': 'parents', '3': 12, '4': 3, '5': 11, '6': '.protowire.RpcBlockLevelParents', '10': 'parents'}, + {'1': 'hashMerkleRoot', '3': 3, '4': 1, '5': 9, '10': 'hashMerkleRoot'}, + {'1': 'acceptedIdMerkleRoot', '3': 4, '4': 1, '5': 9, '10': 'acceptedIdMerkleRoot'}, + {'1': 'utxoCommitment', '3': 5, '4': 1, '5': 9, '10': 'utxoCommitment'}, + {'1': 'timestamp', '3': 6, '4': 1, '5': 3, '10': 'timestamp'}, + {'1': 'bits', '3': 7, '4': 1, '5': 13, '10': 'bits'}, + {'1': 'nonce', '3': 8, '4': 1, '5': 4, '10': 'nonce'}, + {'1': 'daaScore', '3': 9, '4': 1, '5': 4, '10': 'daaScore'}, + {'1': 'blueWork', '3': 10, '4': 1, '5': 9, '10': 'blueWork'}, + {'1': 'pruningPoint', '3': 14, '4': 1, '5': 9, '10': 'pruningPoint'}, + {'1': 'blueScore', '3': 13, '4': 1, '5': 4, '10': 'blueScore'}, ], }; /// Descriptor for `RpcBlockHeader`. Decode as a `google.protobuf.DescriptorProto`. final $typed_data.Uint8List rpcBlockHeaderDescriptor = $convert.base64Decode( - 'Cg5ScGNCbG9ja0hlYWRlchIYCgd2ZXJzaW9uGAEgASgNUgd2ZXJzaW9uEjkKB3BhcmVudHMYDCADKAsyHy5wcm90b3dpcmUuUnBjQmxvY2tMZXZlbFBhcmVudHNSB3BhcmVudHMSJgoOaGFzaE1lcmtsZVJvb3QYAyABKAlSDmhhc2hNZXJrbGVSb290EjIKFGFjY2VwdGVkSWRNZXJrbGVSb290GAQgASgJUhRhY2NlcHRlZElkTWVya2xlUm9vdBImCg51dHhvQ29tbWl0bWVudBgFIAEoCVIOdXR4b0NvbW1pdG1lbnQSHAoJdGltZXN0YW1wGAYgASgDUgl0aW1lc3RhbXASEgoEYml0cxgHIAEoDVIEYml0cxIUCgVub25jZRgIIAEoBFIFbm9uY2USGgoIZGFhU2NvcmUYCSABKARSCGRhYVNjb3JlEhoKCGJsdWVXb3JrGAogASgJUghibHVlV29yaxIiCgxwcnVuaW5nUG9pbnQYDiABKAlSDHBydW5pbmdQb2ludBIcCglibHVlU2NvcmUYDSABKARSCWJsdWVTY29yZQ=='); + 'Cg5ScGNCbG9ja0hlYWRlchIYCgd2ZXJzaW9uGAEgASgNUgd2ZXJzaW9uEjkKB3BhcmVudHMYDC' + 'ADKAsyHy5wcm90b3dpcmUuUnBjQmxvY2tMZXZlbFBhcmVudHNSB3BhcmVudHMSJgoOaGFzaE1l' + 'cmtsZVJvb3QYAyABKAlSDmhhc2hNZXJrbGVSb290EjIKFGFjY2VwdGVkSWRNZXJrbGVSb290GA' + 'QgASgJUhRhY2NlcHRlZElkTWVya2xlUm9vdBImCg51dHhvQ29tbWl0bWVudBgFIAEoCVIOdXR4' + 'b0NvbW1pdG1lbnQSHAoJdGltZXN0YW1wGAYgASgDUgl0aW1lc3RhbXASEgoEYml0cxgHIAEoDV' + 'IEYml0cxIUCgVub25jZRgIIAEoBFIFbm9uY2USGgoIZGFhU2NvcmUYCSABKARSCGRhYVNjb3Jl' + 'EhoKCGJsdWVXb3JrGAogASgJUghibHVlV29yaxIiCgxwcnVuaW5nUG9pbnQYDiABKAlSDHBydW' + '5pbmdQb2ludBIcCglibHVlU2NvcmUYDSABKARSCWJsdWVTY29yZQ=='); + @$core.Deprecated('Use rpcBlockLevelParentsDescriptor instead') -const RpcBlockLevelParents$json = const { +const RpcBlockLevelParents$json = { '1': 'RpcBlockLevelParents', - '2': const [ - const {'1': 'parentHashes', '3': 1, '4': 3, '5': 9, '10': 'parentHashes'}, + '2': [ + {'1': 'parentHashes', '3': 1, '4': 3, '5': 9, '10': 'parentHashes'}, ], }; /// Descriptor for `RpcBlockLevelParents`. Decode as a `google.protobuf.DescriptorProto`. final $typed_data.Uint8List rpcBlockLevelParentsDescriptor = $convert.base64Decode( - 'ChRScGNCbG9ja0xldmVsUGFyZW50cxIiCgxwYXJlbnRIYXNoZXMYASADKAlSDHBhcmVudEhhc2hlcw=='); + 'ChRScGNCbG9ja0xldmVsUGFyZW50cxIiCgxwYXJlbnRIYXNoZXMYASADKAlSDHBhcmVudEhhc2' + 'hlcw=='); + @$core.Deprecated('Use rpcBlockVerboseDataDescriptor instead') -const RpcBlockVerboseData$json = const { +const RpcBlockVerboseData$json = { '1': 'RpcBlockVerboseData', - '2': const [ - const {'1': 'hash', '3': 1, '4': 1, '5': 9, '10': 'hash'}, - const {'1': 'difficulty', '3': 11, '4': 1, '5': 1, '10': 'difficulty'}, - const { - '1': 'selectedParentHash', - '3': 13, - '4': 1, - '5': 9, - '10': 'selectedParentHash' - }, - const { - '1': 'transactionIds', - '3': 14, - '4': 3, - '5': 9, - '10': 'transactionIds' - }, - const {'1': 'isHeaderOnly', '3': 15, '4': 1, '5': 8, '10': 'isHeaderOnly'}, - const {'1': 'blueScore', '3': 16, '4': 1, '5': 4, '10': 'blueScore'}, - const { - '1': 'childrenHashes', - '3': 17, - '4': 3, - '5': 9, - '10': 'childrenHashes' - }, - const { - '1': 'mergeSetBluesHashes', - '3': 18, - '4': 3, - '5': 9, - '10': 'mergeSetBluesHashes' - }, - const { - '1': 'mergeSetRedsHashes', - '3': 19, - '4': 3, - '5': 9, - '10': 'mergeSetRedsHashes' - }, - const {'1': 'isChainBlock', '3': 20, '4': 1, '5': 8, '10': 'isChainBlock'}, + '2': [ + {'1': 'hash', '3': 1, '4': 1, '5': 9, '10': 'hash'}, + {'1': 'difficulty', '3': 11, '4': 1, '5': 1, '10': 'difficulty'}, + {'1': 'selectedParentHash', '3': 13, '4': 1, '5': 9, '10': 'selectedParentHash'}, + {'1': 'transactionIds', '3': 14, '4': 3, '5': 9, '10': 'transactionIds'}, + {'1': 'isHeaderOnly', '3': 15, '4': 1, '5': 8, '10': 'isHeaderOnly'}, + {'1': 'blueScore', '3': 16, '4': 1, '5': 4, '10': 'blueScore'}, + {'1': 'childrenHashes', '3': 17, '4': 3, '5': 9, '10': 'childrenHashes'}, + {'1': 'mergeSetBluesHashes', '3': 18, '4': 3, '5': 9, '10': 'mergeSetBluesHashes'}, + {'1': 'mergeSetRedsHashes', '3': 19, '4': 3, '5': 9, '10': 'mergeSetRedsHashes'}, + {'1': 'isChainBlock', '3': 20, '4': 1, '5': 8, '10': 'isChainBlock'}, ], }; /// Descriptor for `RpcBlockVerboseData`. Decode as a `google.protobuf.DescriptorProto`. final $typed_data.Uint8List rpcBlockVerboseDataDescriptor = $convert.base64Decode( - 'ChNScGNCbG9ja1ZlcmJvc2VEYXRhEhIKBGhhc2gYASABKAlSBGhhc2gSHgoKZGlmZmljdWx0eRgLIAEoAVIKZGlmZmljdWx0eRIuChJzZWxlY3RlZFBhcmVudEhhc2gYDSABKAlSEnNlbGVjdGVkUGFyZW50SGFzaBImCg50cmFuc2FjdGlvbklkcxgOIAMoCVIOdHJhbnNhY3Rpb25JZHMSIgoMaXNIZWFkZXJPbmx5GA8gASgIUgxpc0hlYWRlck9ubHkSHAoJYmx1ZVNjb3JlGBAgASgEUglibHVlU2NvcmUSJgoOY2hpbGRyZW5IYXNoZXMYESADKAlSDmNoaWxkcmVuSGFzaGVzEjAKE21lcmdlU2V0Qmx1ZXNIYXNoZXMYEiADKAlSE21lcmdlU2V0Qmx1ZXNIYXNoZXMSLgoSbWVyZ2VTZXRSZWRzSGFzaGVzGBMgAygJUhJtZXJnZVNldFJlZHNIYXNoZXMSIgoMaXNDaGFpbkJsb2NrGBQgASgIUgxpc0NoYWluQmxvY2s='); + 'ChNScGNCbG9ja1ZlcmJvc2VEYXRhEhIKBGhhc2gYASABKAlSBGhhc2gSHgoKZGlmZmljdWx0eR' + 'gLIAEoAVIKZGlmZmljdWx0eRIuChJzZWxlY3RlZFBhcmVudEhhc2gYDSABKAlSEnNlbGVjdGVk' + 'UGFyZW50SGFzaBImCg50cmFuc2FjdGlvbklkcxgOIAMoCVIOdHJhbnNhY3Rpb25JZHMSIgoMaX' + 'NIZWFkZXJPbmx5GA8gASgIUgxpc0hlYWRlck9ubHkSHAoJYmx1ZVNjb3JlGBAgASgEUglibHVl' + 'U2NvcmUSJgoOY2hpbGRyZW5IYXNoZXMYESADKAlSDmNoaWxkcmVuSGFzaGVzEjAKE21lcmdlU2' + 'V0Qmx1ZXNIYXNoZXMYEiADKAlSE21lcmdlU2V0Qmx1ZXNIYXNoZXMSLgoSbWVyZ2VTZXRSZWRz' + 'SGFzaGVzGBMgAygJUhJtZXJnZVNldFJlZHNIYXNoZXMSIgoMaXNDaGFpbkJsb2NrGBQgASgIUg' + 'xpc0NoYWluQmxvY2s='); + @$core.Deprecated('Use rpcTransactionDescriptor instead') -const RpcTransaction$json = const { +const RpcTransaction$json = { '1': 'RpcTransaction', - '2': const [ - const {'1': 'version', '3': 1, '4': 1, '5': 13, '10': 'version'}, - const { - '1': 'inputs', - '3': 2, - '4': 3, - '5': 11, - '6': '.protowire.RpcTransactionInput', - '10': 'inputs' - }, - const { - '1': 'outputs', - '3': 3, - '4': 3, - '5': 11, - '6': '.protowire.RpcTransactionOutput', - '10': 'outputs' - }, - const {'1': 'lockTime', '3': 4, '4': 1, '5': 4, '10': 'lockTime'}, - const {'1': 'subnetworkId', '3': 5, '4': 1, '5': 9, '10': 'subnetworkId'}, - const {'1': 'gas', '3': 6, '4': 1, '5': 4, '10': 'gas'}, - const {'1': 'payload', '3': 8, '4': 1, '5': 9, '10': 'payload'}, - const { - '1': 'verboseData', - '3': 9, - '4': 1, - '5': 11, - '6': '.protowire.RpcTransactionVerboseData', - '10': 'verboseData' - }, + '2': [ + {'1': 'version', '3': 1, '4': 1, '5': 13, '10': 'version'}, + {'1': 'inputs', '3': 2, '4': 3, '5': 11, '6': '.protowire.RpcTransactionInput', '10': 'inputs'}, + {'1': 'outputs', '3': 3, '4': 3, '5': 11, '6': '.protowire.RpcTransactionOutput', '10': 'outputs'}, + {'1': 'lockTime', '3': 4, '4': 1, '5': 4, '10': 'lockTime'}, + {'1': 'subnetworkId', '3': 5, '4': 1, '5': 9, '10': 'subnetworkId'}, + {'1': 'gas', '3': 6, '4': 1, '5': 4, '10': 'gas'}, + {'1': 'payload', '3': 8, '4': 1, '5': 9, '10': 'payload'}, + {'1': 'verboseData', '3': 9, '4': 1, '5': 11, '6': '.protowire.RpcTransactionVerboseData', '10': 'verboseData'}, + {'1': 'mass', '3': 10, '4': 1, '5': 4, '10': 'mass'}, ], }; /// Descriptor for `RpcTransaction`. Decode as a `google.protobuf.DescriptorProto`. final $typed_data.Uint8List rpcTransactionDescriptor = $convert.base64Decode( - 'Cg5ScGNUcmFuc2FjdGlvbhIYCgd2ZXJzaW9uGAEgASgNUgd2ZXJzaW9uEjYKBmlucHV0cxgCIAMoCzIeLnByb3Rvd2lyZS5ScGNUcmFuc2FjdGlvbklucHV0UgZpbnB1dHMSOQoHb3V0cHV0cxgDIAMoCzIfLnByb3Rvd2lyZS5ScGNUcmFuc2FjdGlvbk91dHB1dFIHb3V0cHV0cxIaCghsb2NrVGltZRgEIAEoBFIIbG9ja1RpbWUSIgoMc3VibmV0d29ya0lkGAUgASgJUgxzdWJuZXR3b3JrSWQSEAoDZ2FzGAYgASgEUgNnYXMSGAoHcGF5bG9hZBgIIAEoCVIHcGF5bG9hZBJGCgt2ZXJib3NlRGF0YRgJIAEoCzIkLnByb3Rvd2lyZS5ScGNUcmFuc2FjdGlvblZlcmJvc2VEYXRhUgt2ZXJib3NlRGF0YQ=='); + 'Cg5ScGNUcmFuc2FjdGlvbhIYCgd2ZXJzaW9uGAEgASgNUgd2ZXJzaW9uEjYKBmlucHV0cxgCIA' + 'MoCzIeLnByb3Rvd2lyZS5ScGNUcmFuc2FjdGlvbklucHV0UgZpbnB1dHMSOQoHb3V0cHV0cxgD' + 'IAMoCzIfLnByb3Rvd2lyZS5ScGNUcmFuc2FjdGlvbk91dHB1dFIHb3V0cHV0cxIaCghsb2NrVG' + 'ltZRgEIAEoBFIIbG9ja1RpbWUSIgoMc3VibmV0d29ya0lkGAUgASgJUgxzdWJuZXR3b3JrSWQS' + 'EAoDZ2FzGAYgASgEUgNnYXMSGAoHcGF5bG9hZBgIIAEoCVIHcGF5bG9hZBJGCgt2ZXJib3NlRG' + 'F0YRgJIAEoCzIkLnByb3Rvd2lyZS5ScGNUcmFuc2FjdGlvblZlcmJvc2VEYXRhUgt2ZXJib3Nl' + 'RGF0YRISCgRtYXNzGAogASgEUgRtYXNz'); + @$core.Deprecated('Use rpcTransactionInputDescriptor instead') -const RpcTransactionInput$json = const { +const RpcTransactionInput$json = { '1': 'RpcTransactionInput', - '2': const [ - const { - '1': 'previousOutpoint', - '3': 1, - '4': 1, - '5': 11, - '6': '.protowire.RpcOutpoint', - '10': 'previousOutpoint' - }, - const { - '1': 'signatureScript', - '3': 2, - '4': 1, - '5': 9, - '10': 'signatureScript' - }, - const {'1': 'sequence', '3': 3, '4': 1, '5': 4, '10': 'sequence'}, - const {'1': 'sigOpCount', '3': 5, '4': 1, '5': 13, '10': 'sigOpCount'}, - const { - '1': 'verboseData', - '3': 4, - '4': 1, - '5': 11, - '6': '.protowire.RpcTransactionInputVerboseData', - '10': 'verboseData' - }, + '2': [ + {'1': 'previousOutpoint', '3': 1, '4': 1, '5': 11, '6': '.protowire.RpcOutpoint', '10': 'previousOutpoint'}, + {'1': 'signatureScript', '3': 2, '4': 1, '5': 9, '10': 'signatureScript'}, + {'1': 'sequence', '3': 3, '4': 1, '5': 4, '10': 'sequence'}, + {'1': 'sigOpCount', '3': 5, '4': 1, '5': 13, '10': 'sigOpCount'}, + {'1': 'verboseData', '3': 4, '4': 1, '5': 11, '6': '.protowire.RpcTransactionInputVerboseData', '10': 'verboseData'}, ], }; /// Descriptor for `RpcTransactionInput`. Decode as a `google.protobuf.DescriptorProto`. final $typed_data.Uint8List rpcTransactionInputDescriptor = $convert.base64Decode( - 'ChNScGNUcmFuc2FjdGlvbklucHV0EkIKEHByZXZpb3VzT3V0cG9pbnQYASABKAsyFi5wcm90b3dpcmUuUnBjT3V0cG9pbnRSEHByZXZpb3VzT3V0cG9pbnQSKAoPc2lnbmF0dXJlU2NyaXB0GAIgASgJUg9zaWduYXR1cmVTY3JpcHQSGgoIc2VxdWVuY2UYAyABKARSCHNlcXVlbmNlEh4KCnNpZ09wQ291bnQYBSABKA1SCnNpZ09wQ291bnQSSwoLdmVyYm9zZURhdGEYBCABKAsyKS5wcm90b3dpcmUuUnBjVHJhbnNhY3Rpb25JbnB1dFZlcmJvc2VEYXRhUgt2ZXJib3NlRGF0YQ=='); + 'ChNScGNUcmFuc2FjdGlvbklucHV0EkIKEHByZXZpb3VzT3V0cG9pbnQYASABKAsyFi5wcm90b3' + 'dpcmUuUnBjT3V0cG9pbnRSEHByZXZpb3VzT3V0cG9pbnQSKAoPc2lnbmF0dXJlU2NyaXB0GAIg' + 'ASgJUg9zaWduYXR1cmVTY3JpcHQSGgoIc2VxdWVuY2UYAyABKARSCHNlcXVlbmNlEh4KCnNpZ0' + '9wQ291bnQYBSABKA1SCnNpZ09wQ291bnQSSwoLdmVyYm9zZURhdGEYBCABKAsyKS5wcm90b3dp' + 'cmUuUnBjVHJhbnNhY3Rpb25JbnB1dFZlcmJvc2VEYXRhUgt2ZXJib3NlRGF0YQ=='); + @$core.Deprecated('Use rpcScriptPublicKeyDescriptor instead') -const RpcScriptPublicKey$json = const { +const RpcScriptPublicKey$json = { '1': 'RpcScriptPublicKey', - '2': const [ - const {'1': 'version', '3': 1, '4': 1, '5': 13, '10': 'version'}, - const { - '1': 'scriptPublicKey', - '3': 2, - '4': 1, - '5': 9, - '10': 'scriptPublicKey' - }, + '2': [ + {'1': 'version', '3': 1, '4': 1, '5': 13, '10': 'version'}, + {'1': 'scriptPublicKey', '3': 2, '4': 1, '5': 9, '10': 'scriptPublicKey'}, ], }; /// Descriptor for `RpcScriptPublicKey`. Decode as a `google.protobuf.DescriptorProto`. final $typed_data.Uint8List rpcScriptPublicKeyDescriptor = $convert.base64Decode( - 'ChJScGNTY3JpcHRQdWJsaWNLZXkSGAoHdmVyc2lvbhgBIAEoDVIHdmVyc2lvbhIoCg9zY3JpcHRQdWJsaWNLZXkYAiABKAlSD3NjcmlwdFB1YmxpY0tleQ=='); + 'ChJScGNTY3JpcHRQdWJsaWNLZXkSGAoHdmVyc2lvbhgBIAEoDVIHdmVyc2lvbhIoCg9zY3JpcH' + 'RQdWJsaWNLZXkYAiABKAlSD3NjcmlwdFB1YmxpY0tleQ=='); + @$core.Deprecated('Use rpcTransactionOutputDescriptor instead') -const RpcTransactionOutput$json = const { +const RpcTransactionOutput$json = { '1': 'RpcTransactionOutput', - '2': const [ - const {'1': 'amount', '3': 1, '4': 1, '5': 4, '10': 'amount'}, - const { - '1': 'scriptPublicKey', - '3': 2, - '4': 1, - '5': 11, - '6': '.protowire.RpcScriptPublicKey', - '10': 'scriptPublicKey' - }, - const { - '1': 'verboseData', - '3': 3, - '4': 1, - '5': 11, - '6': '.protowire.RpcTransactionOutputVerboseData', - '10': 'verboseData' - }, + '2': [ + {'1': 'amount', '3': 1, '4': 1, '5': 4, '10': 'amount'}, + {'1': 'scriptPublicKey', '3': 2, '4': 1, '5': 11, '6': '.protowire.RpcScriptPublicKey', '10': 'scriptPublicKey'}, + {'1': 'verboseData', '3': 3, '4': 1, '5': 11, '6': '.protowire.RpcTransactionOutputVerboseData', '10': 'verboseData'}, ], }; /// Descriptor for `RpcTransactionOutput`. Decode as a `google.protobuf.DescriptorProto`. final $typed_data.Uint8List rpcTransactionOutputDescriptor = $convert.base64Decode( - 'ChRScGNUcmFuc2FjdGlvbk91dHB1dBIWCgZhbW91bnQYASABKARSBmFtb3VudBJHCg9zY3JpcHRQdWJsaWNLZXkYAiABKAsyHS5wcm90b3dpcmUuUnBjU2NyaXB0UHVibGljS2V5Ug9zY3JpcHRQdWJsaWNLZXkSTAoLdmVyYm9zZURhdGEYAyABKAsyKi5wcm90b3dpcmUuUnBjVHJhbnNhY3Rpb25PdXRwdXRWZXJib3NlRGF0YVILdmVyYm9zZURhdGE='); + 'ChRScGNUcmFuc2FjdGlvbk91dHB1dBIWCgZhbW91bnQYASABKARSBmFtb3VudBJHCg9zY3JpcH' + 'RQdWJsaWNLZXkYAiABKAsyHS5wcm90b3dpcmUuUnBjU2NyaXB0UHVibGljS2V5Ug9zY3JpcHRQ' + 'dWJsaWNLZXkSTAoLdmVyYm9zZURhdGEYAyABKAsyKi5wcm90b3dpcmUuUnBjVHJhbnNhY3Rpb2' + '5PdXRwdXRWZXJib3NlRGF0YVILdmVyYm9zZURhdGE='); + @$core.Deprecated('Use rpcOutpointDescriptor instead') -const RpcOutpoint$json = const { +const RpcOutpoint$json = { '1': 'RpcOutpoint', - '2': const [ - const {'1': 'transactionId', '3': 1, '4': 1, '5': 9, '10': 'transactionId'}, - const {'1': 'index', '3': 2, '4': 1, '5': 13, '10': 'index'}, + '2': [ + {'1': 'transactionId', '3': 1, '4': 1, '5': 9, '10': 'transactionId'}, + {'1': 'index', '3': 2, '4': 1, '5': 13, '10': 'index'}, ], }; /// Descriptor for `RpcOutpoint`. Decode as a `google.protobuf.DescriptorProto`. final $typed_data.Uint8List rpcOutpointDescriptor = $convert.base64Decode( - 'CgtScGNPdXRwb2ludBIkCg10cmFuc2FjdGlvbklkGAEgASgJUg10cmFuc2FjdGlvbklkEhQKBWluZGV4GAIgASgNUgVpbmRleA=='); + 'CgtScGNPdXRwb2ludBIkCg10cmFuc2FjdGlvbklkGAEgASgJUg10cmFuc2FjdGlvbklkEhQKBW' + 'luZGV4GAIgASgNUgVpbmRleA=='); + @$core.Deprecated('Use rpcUtxoEntryDescriptor instead') -const RpcUtxoEntry$json = const { +const RpcUtxoEntry$json = { '1': 'RpcUtxoEntry', - '2': const [ - const {'1': 'amount', '3': 1, '4': 1, '5': 4, '10': 'amount'}, - const { - '1': 'scriptPublicKey', - '3': 2, - '4': 1, - '5': 11, - '6': '.protowire.RpcScriptPublicKey', - '10': 'scriptPublicKey' - }, - const {'1': 'blockDaaScore', '3': 3, '4': 1, '5': 4, '10': 'blockDaaScore'}, - const {'1': 'isCoinbase', '3': 4, '4': 1, '5': 8, '10': 'isCoinbase'}, + '2': [ + {'1': 'amount', '3': 1, '4': 1, '5': 4, '10': 'amount'}, + {'1': 'scriptPublicKey', '3': 2, '4': 1, '5': 11, '6': '.protowire.RpcScriptPublicKey', '10': 'scriptPublicKey'}, + {'1': 'blockDaaScore', '3': 3, '4': 1, '5': 4, '10': 'blockDaaScore'}, + {'1': 'isCoinbase', '3': 4, '4': 1, '5': 8, '10': 'isCoinbase'}, ], }; /// Descriptor for `RpcUtxoEntry`. Decode as a `google.protobuf.DescriptorProto`. final $typed_data.Uint8List rpcUtxoEntryDescriptor = $convert.base64Decode( - 'CgxScGNVdHhvRW50cnkSFgoGYW1vdW50GAEgASgEUgZhbW91bnQSRwoPc2NyaXB0UHVibGljS2V5GAIgASgLMh0ucHJvdG93aXJlLlJwY1NjcmlwdFB1YmxpY0tleVIPc2NyaXB0UHVibGljS2V5EiQKDWJsb2NrRGFhU2NvcmUYAyABKARSDWJsb2NrRGFhU2NvcmUSHgoKaXNDb2luYmFzZRgEIAEoCFIKaXNDb2luYmFzZQ=='); + 'CgxScGNVdHhvRW50cnkSFgoGYW1vdW50GAEgASgEUgZhbW91bnQSRwoPc2NyaXB0UHVibGljS2' + 'V5GAIgASgLMh0ucHJvdG93aXJlLlJwY1NjcmlwdFB1YmxpY0tleVIPc2NyaXB0UHVibGljS2V5' + 'EiQKDWJsb2NrRGFhU2NvcmUYAyABKARSDWJsb2NrRGFhU2NvcmUSHgoKaXNDb2luYmFzZRgEIA' + 'EoCFIKaXNDb2luYmFzZQ=='); + @$core.Deprecated('Use rpcTransactionVerboseDataDescriptor instead') -const RpcTransactionVerboseData$json = const { +const RpcTransactionVerboseData$json = { '1': 'RpcTransactionVerboseData', - '2': const [ - const {'1': 'transactionId', '3': 1, '4': 1, '5': 9, '10': 'transactionId'}, - const {'1': 'hash', '3': 2, '4': 1, '5': 9, '10': 'hash'}, - const {'1': 'mass', '3': 4, '4': 1, '5': 4, '10': 'mass'}, - const {'1': 'blockHash', '3': 12, '4': 1, '5': 9, '10': 'blockHash'}, - const {'1': 'blockTime', '3': 14, '4': 1, '5': 4, '10': 'blockTime'}, + '2': [ + {'1': 'transactionId', '3': 1, '4': 1, '5': 9, '10': 'transactionId'}, + {'1': 'hash', '3': 2, '4': 1, '5': 9, '10': 'hash'}, + {'1': 'mass', '3': 4, '4': 1, '5': 4, '10': 'mass'}, + {'1': 'blockHash', '3': 12, '4': 1, '5': 9, '10': 'blockHash'}, + {'1': 'blockTime', '3': 14, '4': 1, '5': 4, '10': 'blockTime'}, ], }; /// Descriptor for `RpcTransactionVerboseData`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List rpcTransactionVerboseDataDescriptor = - $convert.base64Decode( - 'ChlScGNUcmFuc2FjdGlvblZlcmJvc2VEYXRhEiQKDXRyYW5zYWN0aW9uSWQYASABKAlSDXRyYW5zYWN0aW9uSWQSEgoEaGFzaBgCIAEoCVIEaGFzaBISCgRtYXNzGAQgASgEUgRtYXNzEhwKCWJsb2NrSGFzaBgMIAEoCVIJYmxvY2tIYXNoEhwKCWJsb2NrVGltZRgOIAEoBFIJYmxvY2tUaW1l'); +final $typed_data.Uint8List rpcTransactionVerboseDataDescriptor = $convert.base64Decode( + 'ChlScGNUcmFuc2FjdGlvblZlcmJvc2VEYXRhEiQKDXRyYW5zYWN0aW9uSWQYASABKAlSDXRyYW' + '5zYWN0aW9uSWQSEgoEaGFzaBgCIAEoCVIEaGFzaBISCgRtYXNzGAQgASgEUgRtYXNzEhwKCWJs' + 'b2NrSGFzaBgMIAEoCVIJYmxvY2tIYXNoEhwKCWJsb2NrVGltZRgOIAEoBFIJYmxvY2tUaW1l'); + @$core.Deprecated('Use rpcTransactionInputVerboseDataDescriptor instead') -const RpcTransactionInputVerboseData$json = const { +const RpcTransactionInputVerboseData$json = { '1': 'RpcTransactionInputVerboseData', }; /// Descriptor for `RpcTransactionInputVerboseData`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List rpcTransactionInputVerboseDataDescriptor = - $convert.base64Decode('Ch5ScGNUcmFuc2FjdGlvbklucHV0VmVyYm9zZURhdGE='); +final $typed_data.Uint8List rpcTransactionInputVerboseDataDescriptor = $convert.base64Decode( + 'Ch5ScGNUcmFuc2FjdGlvbklucHV0VmVyYm9zZURhdGE='); + @$core.Deprecated('Use rpcTransactionOutputVerboseDataDescriptor instead') -const RpcTransactionOutputVerboseData$json = const { +const RpcTransactionOutputVerboseData$json = { '1': 'RpcTransactionOutputVerboseData', - '2': const [ - const { - '1': 'scriptPublicKeyType', - '3': 5, - '4': 1, - '5': 9, - '10': 'scriptPublicKeyType' - }, - const { - '1': 'scriptPublicKeyAddress', - '3': 6, - '4': 1, - '5': 9, - '10': 'scriptPublicKeyAddress' - }, + '2': [ + {'1': 'scriptPublicKeyType', '3': 5, '4': 1, '5': 9, '10': 'scriptPublicKeyType'}, + {'1': 'scriptPublicKeyAddress', '3': 6, '4': 1, '5': 9, '10': 'scriptPublicKeyAddress'}, ], }; /// Descriptor for `RpcTransactionOutputVerboseData`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List rpcTransactionOutputVerboseDataDescriptor = - $convert.base64Decode( - 'Ch9ScGNUcmFuc2FjdGlvbk91dHB1dFZlcmJvc2VEYXRhEjAKE3NjcmlwdFB1YmxpY0tleVR5cGUYBSABKAlSE3NjcmlwdFB1YmxpY0tleVR5cGUSNgoWc2NyaXB0UHVibGljS2V5QWRkcmVzcxgGIAEoCVIWc2NyaXB0UHVibGljS2V5QWRkcmVzcw=='); +final $typed_data.Uint8List rpcTransactionOutputVerboseDataDescriptor = $convert.base64Decode( + 'Ch9ScGNUcmFuc2FjdGlvbk91dHB1dFZlcmJvc2VEYXRhEjAKE3NjcmlwdFB1YmxpY0tleVR5cG' + 'UYBSABKAlSE3NjcmlwdFB1YmxpY0tleVR5cGUSNgoWc2NyaXB0UHVibGljS2V5QWRkcmVzcxgG' + 'IAEoCVIWc2NyaXB0UHVibGljS2V5QWRkcmVzcw=='); + @$core.Deprecated('Use getCurrentNetworkRequestMessageDescriptor instead') -const GetCurrentNetworkRequestMessage$json = const { +const GetCurrentNetworkRequestMessage$json = { '1': 'GetCurrentNetworkRequestMessage', }; /// Descriptor for `GetCurrentNetworkRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List getCurrentNetworkRequestMessageDescriptor = - $convert.base64Decode('Ch9HZXRDdXJyZW50TmV0d29ya1JlcXVlc3RNZXNzYWdl'); +final $typed_data.Uint8List getCurrentNetworkRequestMessageDescriptor = $convert.base64Decode( + 'Ch9HZXRDdXJyZW50TmV0d29ya1JlcXVlc3RNZXNzYWdl'); + @$core.Deprecated('Use getCurrentNetworkResponseMessageDescriptor instead') -const GetCurrentNetworkResponseMessage$json = const { +const GetCurrentNetworkResponseMessage$json = { '1': 'GetCurrentNetworkResponseMessage', - '2': const [ - const { - '1': 'currentNetwork', - '3': 1, - '4': 1, - '5': 9, - '10': 'currentNetwork' - }, - const { - '1': 'error', - '3': 1000, - '4': 1, - '5': 11, - '6': '.protowire.RPCError', - '10': 'error' - }, + '2': [ + {'1': 'currentNetwork', '3': 1, '4': 1, '5': 9, '10': 'currentNetwork'}, + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, ], }; /// Descriptor for `GetCurrentNetworkResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List getCurrentNetworkResponseMessageDescriptor = - $convert.base64Decode( - 'CiBHZXRDdXJyZW50TmV0d29ya1Jlc3BvbnNlTWVzc2FnZRImCg5jdXJyZW50TmV0d29yaxgBIAEoCVIOY3VycmVudE5ldHdvcmsSKgoFZXJyb3IY6AcgASgLMhMucHJvdG93aXJlLlJQQ0Vycm9yUgVlcnJvcg=='); +final $typed_data.Uint8List getCurrentNetworkResponseMessageDescriptor = $convert.base64Decode( + 'CiBHZXRDdXJyZW50TmV0d29ya1Jlc3BvbnNlTWVzc2FnZRImCg5jdXJyZW50TmV0d29yaxgBIA' + 'EoCVIOY3VycmVudE5ldHdvcmsSKgoFZXJyb3IY6AcgASgLMhMucHJvdG93aXJlLlJQQ0Vycm9y' + 'UgVlcnJvcg=='); + @$core.Deprecated('Use submitBlockRequestMessageDescriptor instead') -const SubmitBlockRequestMessage$json = const { +const SubmitBlockRequestMessage$json = { '1': 'SubmitBlockRequestMessage', - '2': const [ - const { - '1': 'block', - '3': 2, - '4': 1, - '5': 11, - '6': '.protowire.RpcBlock', - '10': 'block' - }, - const { - '1': 'allowNonDAABlocks', - '3': 3, - '4': 1, - '5': 8, - '10': 'allowNonDAABlocks' - }, + '2': [ + {'1': 'block', '3': 2, '4': 1, '5': 11, '6': '.protowire.RpcBlock', '10': 'block'}, + {'1': 'allowNonDAABlocks', '3': 3, '4': 1, '5': 8, '10': 'allowNonDAABlocks'}, ], }; /// Descriptor for `SubmitBlockRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List submitBlockRequestMessageDescriptor = - $convert.base64Decode( - 'ChlTdWJtaXRCbG9ja1JlcXVlc3RNZXNzYWdlEikKBWJsb2NrGAIgASgLMhMucHJvdG93aXJlLlJwY0Jsb2NrUgVibG9jaxIsChFhbGxvd05vbkRBQUJsb2NrcxgDIAEoCFIRYWxsb3dOb25EQUFCbG9ja3M='); +final $typed_data.Uint8List submitBlockRequestMessageDescriptor = $convert.base64Decode( + 'ChlTdWJtaXRCbG9ja1JlcXVlc3RNZXNzYWdlEikKBWJsb2NrGAIgASgLMhMucHJvdG93aXJlLl' + 'JwY0Jsb2NrUgVibG9jaxIsChFhbGxvd05vbkRBQUJsb2NrcxgDIAEoCFIRYWxsb3dOb25EQUFC' + 'bG9ja3M='); + @$core.Deprecated('Use submitBlockResponseMessageDescriptor instead') -const SubmitBlockResponseMessage$json = const { +const SubmitBlockResponseMessage$json = { '1': 'SubmitBlockResponseMessage', - '2': const [ - const { - '1': 'rejectReason', - '3': 1, - '4': 1, - '5': 14, - '6': '.protowire.SubmitBlockResponseMessage.RejectReason', - '10': 'rejectReason' - }, - const { - '1': 'error', - '3': 1000, - '4': 1, - '5': 11, - '6': '.protowire.RPCError', - '10': 'error' - }, - ], - '4': const [SubmitBlockResponseMessage_RejectReason$json], + '2': [ + {'1': 'rejectReason', '3': 1, '4': 1, '5': 14, '6': '.protowire.SubmitBlockResponseMessage.RejectReason', '10': 'rejectReason'}, + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, + ], + '4': [SubmitBlockResponseMessage_RejectReason$json], }; @$core.Deprecated('Use submitBlockResponseMessageDescriptor instead') -const SubmitBlockResponseMessage_RejectReason$json = const { +const SubmitBlockResponseMessage_RejectReason$json = { '1': 'RejectReason', - '2': const [ - const {'1': 'NONE', '2': 0}, - const {'1': 'BLOCK_INVALID', '2': 1}, - const {'1': 'IS_IN_IBD', '2': 2}, + '2': [ + {'1': 'NONE', '2': 0}, + {'1': 'BLOCK_INVALID', '2': 1}, + {'1': 'IS_IN_IBD', '2': 2}, ], }; /// Descriptor for `SubmitBlockResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List submitBlockResponseMessageDescriptor = - $convert.base64Decode( - 'ChpTdWJtaXRCbG9ja1Jlc3BvbnNlTWVzc2FnZRJWCgxyZWplY3RSZWFzb24YASABKA4yMi5wcm90b3dpcmUuU3VibWl0QmxvY2tSZXNwb25zZU1lc3NhZ2UuUmVqZWN0UmVhc29uUgxyZWplY3RSZWFzb24SKgoFZXJyb3IY6AcgASgLMhMucHJvdG93aXJlLlJQQ0Vycm9yUgVlcnJvciI6CgxSZWplY3RSZWFzb24SCAoETk9ORRAAEhEKDUJMT0NLX0lOVkFMSUQQARINCglJU19JTl9JQkQQAg=='); +final $typed_data.Uint8List submitBlockResponseMessageDescriptor = $convert.base64Decode( + 'ChpTdWJtaXRCbG9ja1Jlc3BvbnNlTWVzc2FnZRJWCgxyZWplY3RSZWFzb24YASABKA4yMi5wcm' + '90b3dpcmUuU3VibWl0QmxvY2tSZXNwb25zZU1lc3NhZ2UuUmVqZWN0UmVhc29uUgxyZWplY3RS' + 'ZWFzb24SKgoFZXJyb3IY6AcgASgLMhMucHJvdG93aXJlLlJQQ0Vycm9yUgVlcnJvciI6CgxSZW' + 'plY3RSZWFzb24SCAoETk9ORRAAEhEKDUJMT0NLX0lOVkFMSUQQARINCglJU19JTl9JQkQQAg=='); + @$core.Deprecated('Use getBlockTemplateRequestMessageDescriptor instead') -const GetBlockTemplateRequestMessage$json = const { +const GetBlockTemplateRequestMessage$json = { '1': 'GetBlockTemplateRequestMessage', - '2': const [ - const {'1': 'payAddress', '3': 1, '4': 1, '5': 9, '10': 'payAddress'}, - const {'1': 'extraData', '3': 2, '4': 1, '5': 9, '10': 'extraData'}, + '2': [ + {'1': 'payAddress', '3': 1, '4': 1, '5': 9, '10': 'payAddress'}, + {'1': 'extraData', '3': 2, '4': 1, '5': 9, '10': 'extraData'}, ], }; /// Descriptor for `GetBlockTemplateRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List getBlockTemplateRequestMessageDescriptor = - $convert.base64Decode( - 'Ch5HZXRCbG9ja1RlbXBsYXRlUmVxdWVzdE1lc3NhZ2USHgoKcGF5QWRkcmVzcxgBIAEoCVIKcGF5QWRkcmVzcxIcCglleHRyYURhdGEYAiABKAlSCWV4dHJhRGF0YQ=='); +final $typed_data.Uint8List getBlockTemplateRequestMessageDescriptor = $convert.base64Decode( + 'Ch5HZXRCbG9ja1RlbXBsYXRlUmVxdWVzdE1lc3NhZ2USHgoKcGF5QWRkcmVzcxgBIAEoCVIKcG' + 'F5QWRkcmVzcxIcCglleHRyYURhdGEYAiABKAlSCWV4dHJhRGF0YQ=='); + @$core.Deprecated('Use getBlockTemplateResponseMessageDescriptor instead') -const GetBlockTemplateResponseMessage$json = const { +const GetBlockTemplateResponseMessage$json = { '1': 'GetBlockTemplateResponseMessage', - '2': const [ - const { - '1': 'block', - '3': 3, - '4': 1, - '5': 11, - '6': '.protowire.RpcBlock', - '10': 'block' - }, - const {'1': 'isSynced', '3': 2, '4': 1, '5': 8, '10': 'isSynced'}, - const { - '1': 'error', - '3': 1000, - '4': 1, - '5': 11, - '6': '.protowire.RPCError', - '10': 'error' - }, + '2': [ + {'1': 'block', '3': 3, '4': 1, '5': 11, '6': '.protowire.RpcBlock', '10': 'block'}, + {'1': 'isSynced', '3': 2, '4': 1, '5': 8, '10': 'isSynced'}, + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, ], }; /// Descriptor for `GetBlockTemplateResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List getBlockTemplateResponseMessageDescriptor = - $convert.base64Decode( - 'Ch9HZXRCbG9ja1RlbXBsYXRlUmVzcG9uc2VNZXNzYWdlEikKBWJsb2NrGAMgASgLMhMucHJvdG93aXJlLlJwY0Jsb2NrUgVibG9jaxIaCghpc1N5bmNlZBgCIAEoCFIIaXNTeW5jZWQSKgoFZXJyb3IY6AcgASgLMhMucHJvdG93aXJlLlJQQ0Vycm9yUgVlcnJvcg=='); +final $typed_data.Uint8List getBlockTemplateResponseMessageDescriptor = $convert.base64Decode( + 'Ch9HZXRCbG9ja1RlbXBsYXRlUmVzcG9uc2VNZXNzYWdlEikKBWJsb2NrGAMgASgLMhMucHJvdG' + '93aXJlLlJwY0Jsb2NrUgVibG9jaxIaCghpc1N5bmNlZBgCIAEoCFIIaXNTeW5jZWQSKgoFZXJy' + 'b3IY6AcgASgLMhMucHJvdG93aXJlLlJQQ0Vycm9yUgVlcnJvcg=='); + @$core.Deprecated('Use notifyBlockAddedRequestMessageDescriptor instead') -const NotifyBlockAddedRequestMessage$json = const { +const NotifyBlockAddedRequestMessage$json = { '1': 'NotifyBlockAddedRequestMessage', + '2': [ + {'1': 'command', '3': 101, '4': 1, '5': 14, '6': '.protowire.RpcNotifyCommand', '10': 'command'}, + ], }; /// Descriptor for `NotifyBlockAddedRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List notifyBlockAddedRequestMessageDescriptor = - $convert.base64Decode('Ch5Ob3RpZnlCbG9ja0FkZGVkUmVxdWVzdE1lc3NhZ2U='); +final $typed_data.Uint8List notifyBlockAddedRequestMessageDescriptor = $convert.base64Decode( + 'Ch5Ob3RpZnlCbG9ja0FkZGVkUmVxdWVzdE1lc3NhZ2USNQoHY29tbWFuZBhlIAEoDjIbLnByb3' + 'Rvd2lyZS5ScGNOb3RpZnlDb21tYW5kUgdjb21tYW5k'); + @$core.Deprecated('Use notifyBlockAddedResponseMessageDescriptor instead') -const NotifyBlockAddedResponseMessage$json = const { +const NotifyBlockAddedResponseMessage$json = { '1': 'NotifyBlockAddedResponseMessage', - '2': const [ - const { - '1': 'error', - '3': 1000, - '4': 1, - '5': 11, - '6': '.protowire.RPCError', - '10': 'error' - }, + '2': [ + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, ], }; /// Descriptor for `NotifyBlockAddedResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List notifyBlockAddedResponseMessageDescriptor = - $convert.base64Decode( - 'Ch9Ob3RpZnlCbG9ja0FkZGVkUmVzcG9uc2VNZXNzYWdlEioKBWVycm9yGOgHIAEoCzITLnByb3Rvd2lyZS5SUENFcnJvclIFZXJyb3I='); +final $typed_data.Uint8List notifyBlockAddedResponseMessageDescriptor = $convert.base64Decode( + 'Ch9Ob3RpZnlCbG9ja0FkZGVkUmVzcG9uc2VNZXNzYWdlEioKBWVycm9yGOgHIAEoCzITLnByb3' + 'Rvd2lyZS5SUENFcnJvclIFZXJyb3I='); + @$core.Deprecated('Use blockAddedNotificationMessageDescriptor instead') -const BlockAddedNotificationMessage$json = const { +const BlockAddedNotificationMessage$json = { '1': 'BlockAddedNotificationMessage', - '2': const [ - const { - '1': 'block', - '3': 3, - '4': 1, - '5': 11, - '6': '.protowire.RpcBlock', - '10': 'block' - }, + '2': [ + {'1': 'block', '3': 3, '4': 1, '5': 11, '6': '.protowire.RpcBlock', '10': 'block'}, ], }; /// Descriptor for `BlockAddedNotificationMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List blockAddedNotificationMessageDescriptor = - $convert.base64Decode( - 'Ch1CbG9ja0FkZGVkTm90aWZpY2F0aW9uTWVzc2FnZRIpCgVibG9jaxgDIAEoCzITLnByb3Rvd2lyZS5ScGNCbG9ja1IFYmxvY2s='); +final $typed_data.Uint8List blockAddedNotificationMessageDescriptor = $convert.base64Decode( + 'Ch1CbG9ja0FkZGVkTm90aWZpY2F0aW9uTWVzc2FnZRIpCgVibG9jaxgDIAEoCzITLnByb3Rvd2' + 'lyZS5ScGNCbG9ja1IFYmxvY2s='); + @$core.Deprecated('Use getPeerAddressesRequestMessageDescriptor instead') -const GetPeerAddressesRequestMessage$json = const { +const GetPeerAddressesRequestMessage$json = { '1': 'GetPeerAddressesRequestMessage', }; /// Descriptor for `GetPeerAddressesRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List getPeerAddressesRequestMessageDescriptor = - $convert.base64Decode('Ch5HZXRQZWVyQWRkcmVzc2VzUmVxdWVzdE1lc3NhZ2U='); +final $typed_data.Uint8List getPeerAddressesRequestMessageDescriptor = $convert.base64Decode( + 'Ch5HZXRQZWVyQWRkcmVzc2VzUmVxdWVzdE1lc3NhZ2U='); + @$core.Deprecated('Use getPeerAddressesResponseMessageDescriptor instead') -const GetPeerAddressesResponseMessage$json = const { +const GetPeerAddressesResponseMessage$json = { '1': 'GetPeerAddressesResponseMessage', - '2': const [ - const { - '1': 'addresses', - '3': 1, - '4': 3, - '5': 11, - '6': '.protowire.GetPeerAddressesKnownAddressMessage', - '10': 'addresses' - }, - const { - '1': 'bannedAddresses', - '3': 2, - '4': 3, - '5': 11, - '6': '.protowire.GetPeerAddressesKnownAddressMessage', - '10': 'bannedAddresses' - }, - const { - '1': 'error', - '3': 1000, - '4': 1, - '5': 11, - '6': '.protowire.RPCError', - '10': 'error' - }, + '2': [ + {'1': 'addresses', '3': 1, '4': 3, '5': 11, '6': '.protowire.GetPeerAddressesKnownAddressMessage', '10': 'addresses'}, + {'1': 'bannedAddresses', '3': 2, '4': 3, '5': 11, '6': '.protowire.GetPeerAddressesKnownAddressMessage', '10': 'bannedAddresses'}, + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, ], }; /// Descriptor for `GetPeerAddressesResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List getPeerAddressesResponseMessageDescriptor = - $convert.base64Decode( - 'Ch9HZXRQZWVyQWRkcmVzc2VzUmVzcG9uc2VNZXNzYWdlEkwKCWFkZHJlc3NlcxgBIAMoCzIuLnByb3Rvd2lyZS5HZXRQZWVyQWRkcmVzc2VzS25vd25BZGRyZXNzTWVzc2FnZVIJYWRkcmVzc2VzElgKD2Jhbm5lZEFkZHJlc3NlcxgCIAMoCzIuLnByb3Rvd2lyZS5HZXRQZWVyQWRkcmVzc2VzS25vd25BZGRyZXNzTWVzc2FnZVIPYmFubmVkQWRkcmVzc2VzEioKBWVycm9yGOgHIAEoCzITLnByb3Rvd2lyZS5SUENFcnJvclIFZXJyb3I='); +final $typed_data.Uint8List getPeerAddressesResponseMessageDescriptor = $convert.base64Decode( + 'Ch9HZXRQZWVyQWRkcmVzc2VzUmVzcG9uc2VNZXNzYWdlEkwKCWFkZHJlc3NlcxgBIAMoCzIuLn' + 'Byb3Rvd2lyZS5HZXRQZWVyQWRkcmVzc2VzS25vd25BZGRyZXNzTWVzc2FnZVIJYWRkcmVzc2Vz' + 'ElgKD2Jhbm5lZEFkZHJlc3NlcxgCIAMoCzIuLnByb3Rvd2lyZS5HZXRQZWVyQWRkcmVzc2VzS2' + '5vd25BZGRyZXNzTWVzc2FnZVIPYmFubmVkQWRkcmVzc2VzEioKBWVycm9yGOgHIAEoCzITLnBy' + 'b3Rvd2lyZS5SUENFcnJvclIFZXJyb3I='); + @$core.Deprecated('Use getPeerAddressesKnownAddressMessageDescriptor instead') -const GetPeerAddressesKnownAddressMessage$json = const { +const GetPeerAddressesKnownAddressMessage$json = { '1': 'GetPeerAddressesKnownAddressMessage', - '2': const [ - const {'1': 'Addr', '3': 1, '4': 1, '5': 9, '10': 'Addr'}, + '2': [ + {'1': 'Addr', '3': 1, '4': 1, '5': 9, '10': 'Addr'}, ], }; /// Descriptor for `GetPeerAddressesKnownAddressMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List getPeerAddressesKnownAddressMessageDescriptor = - $convert.base64Decode( - 'CiNHZXRQZWVyQWRkcmVzc2VzS25vd25BZGRyZXNzTWVzc2FnZRISCgRBZGRyGAEgASgJUgRBZGRy'); -@$core.Deprecated('Use getSelectedTipHashRequestMessageDescriptor instead') -const GetSelectedTipHashRequestMessage$json = const { - '1': 'GetSelectedTipHashRequestMessage', -}; - -/// Descriptor for `GetSelectedTipHashRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List getSelectedTipHashRequestMessageDescriptor = - $convert.base64Decode('CiBHZXRTZWxlY3RlZFRpcEhhc2hSZXF1ZXN0TWVzc2FnZQ=='); -@$core.Deprecated('Use getSelectedTipHashResponseMessageDescriptor instead') -const GetSelectedTipHashResponseMessage$json = const { - '1': 'GetSelectedTipHashResponseMessage', - '2': const [ - const { - '1': 'selectedTipHash', - '3': 1, - '4': 1, - '5': 9, - '10': 'selectedTipHash' - }, - const { - '1': 'error', - '3': 1000, - '4': 1, - '5': 11, - '6': '.protowire.RPCError', - '10': 'error' - }, - ], -}; - -/// Descriptor for `GetSelectedTipHashResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List getSelectedTipHashResponseMessageDescriptor = - $convert.base64Decode( - 'CiFHZXRTZWxlY3RlZFRpcEhhc2hSZXNwb25zZU1lc3NhZ2USKAoPc2VsZWN0ZWRUaXBIYXNoGAEgASgJUg9zZWxlY3RlZFRpcEhhc2gSKgoFZXJyb3IY6AcgASgLMhMucHJvdG93aXJlLlJQQ0Vycm9yUgVlcnJvcg=='); +final $typed_data.Uint8List getPeerAddressesKnownAddressMessageDescriptor = $convert.base64Decode( + 'CiNHZXRQZWVyQWRkcmVzc2VzS25vd25BZGRyZXNzTWVzc2FnZRISCgRBZGRyGAEgASgJUgRBZG' + 'Ry'); + +@$core.Deprecated('Use getSinkRequestMessageDescriptor instead') +const GetSinkRequestMessage$json = { + '1': 'GetSinkRequestMessage', +}; + +/// Descriptor for `GetSinkRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getSinkRequestMessageDescriptor = $convert.base64Decode( + 'ChVHZXRTaW5rUmVxdWVzdE1lc3NhZ2U='); + +@$core.Deprecated('Use getSinkResponseMessageDescriptor instead') +const GetSinkResponseMessage$json = { + '1': 'GetSinkResponseMessage', + '2': [ + {'1': 'sink', '3': 1, '4': 1, '5': 9, '10': 'sink'}, + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, + ], +}; + +/// Descriptor for `GetSinkResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getSinkResponseMessageDescriptor = $convert.base64Decode( + 'ChZHZXRTaW5rUmVzcG9uc2VNZXNzYWdlEhIKBHNpbmsYASABKAlSBHNpbmsSKgoFZXJyb3IY6A' + 'cgASgLMhMucHJvdG93aXJlLlJQQ0Vycm9yUgVlcnJvcg=='); + @$core.Deprecated('Use getMempoolEntryRequestMessageDescriptor instead') -const GetMempoolEntryRequestMessage$json = const { +const GetMempoolEntryRequestMessage$json = { '1': 'GetMempoolEntryRequestMessage', - '2': const [ - const {'1': 'txId', '3': 1, '4': 1, '5': 9, '10': 'txId'}, - const { - '1': 'includeOrphanPool', - '3': 2, - '4': 1, - '5': 8, - '10': 'includeOrphanPool' - }, - const { - '1': 'filterTransactionPool', - '3': 3, - '4': 1, - '5': 8, - '10': 'filterTransactionPool' - }, + '2': [ + {'1': 'txId', '3': 1, '4': 1, '5': 9, '10': 'txId'}, + {'1': 'includeOrphanPool', '3': 2, '4': 1, '5': 8, '10': 'includeOrphanPool'}, + {'1': 'filterTransactionPool', '3': 3, '4': 1, '5': 8, '10': 'filterTransactionPool'}, ], }; /// Descriptor for `GetMempoolEntryRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List getMempoolEntryRequestMessageDescriptor = - $convert.base64Decode( - 'Ch1HZXRNZW1wb29sRW50cnlSZXF1ZXN0TWVzc2FnZRISCgR0eElkGAEgASgJUgR0eElkEiwKEWluY2x1ZGVPcnBoYW5Qb29sGAIgASgIUhFpbmNsdWRlT3JwaGFuUG9vbBI0ChVmaWx0ZXJUcmFuc2FjdGlvblBvb2wYAyABKAhSFWZpbHRlclRyYW5zYWN0aW9uUG9vbA=='); +final $typed_data.Uint8List getMempoolEntryRequestMessageDescriptor = $convert.base64Decode( + 'Ch1HZXRNZW1wb29sRW50cnlSZXF1ZXN0TWVzc2FnZRISCgR0eElkGAEgASgJUgR0eElkEiwKEW' + 'luY2x1ZGVPcnBoYW5Qb29sGAIgASgIUhFpbmNsdWRlT3JwaGFuUG9vbBI0ChVmaWx0ZXJUcmFu' + 'c2FjdGlvblBvb2wYAyABKAhSFWZpbHRlclRyYW5zYWN0aW9uUG9vbA=='); + @$core.Deprecated('Use getMempoolEntryResponseMessageDescriptor instead') -const GetMempoolEntryResponseMessage$json = const { +const GetMempoolEntryResponseMessage$json = { '1': 'GetMempoolEntryResponseMessage', - '2': const [ - const { - '1': 'entry', - '3': 1, - '4': 1, - '5': 11, - '6': '.protowire.MempoolEntry', - '10': 'entry' - }, - const { - '1': 'error', - '3': 1000, - '4': 1, - '5': 11, - '6': '.protowire.RPCError', - '10': 'error' - }, + '2': [ + {'1': 'entry', '3': 1, '4': 1, '5': 11, '6': '.protowire.RpcMempoolEntry', '10': 'entry'}, + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, ], }; /// Descriptor for `GetMempoolEntryResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List getMempoolEntryResponseMessageDescriptor = - $convert.base64Decode( - 'Ch5HZXRNZW1wb29sRW50cnlSZXNwb25zZU1lc3NhZ2USLQoFZW50cnkYASABKAsyFy5wcm90b3dpcmUuTWVtcG9vbEVudHJ5UgVlbnRyeRIqCgVlcnJvchjoByABKAsyEy5wcm90b3dpcmUuUlBDRXJyb3JSBWVycm9y'); +final $typed_data.Uint8List getMempoolEntryResponseMessageDescriptor = $convert.base64Decode( + 'Ch5HZXRNZW1wb29sRW50cnlSZXNwb25zZU1lc3NhZ2USMAoFZW50cnkYASABKAsyGi5wcm90b3' + 'dpcmUuUnBjTWVtcG9vbEVudHJ5UgVlbnRyeRIqCgVlcnJvchjoByABKAsyEy5wcm90b3dpcmUu' + 'UlBDRXJyb3JSBWVycm9y'); + @$core.Deprecated('Use getMempoolEntriesRequestMessageDescriptor instead') -const GetMempoolEntriesRequestMessage$json = const { +const GetMempoolEntriesRequestMessage$json = { '1': 'GetMempoolEntriesRequestMessage', - '2': const [ - const { - '1': 'includeOrphanPool', - '3': 1, - '4': 1, - '5': 8, - '10': 'includeOrphanPool' - }, - const { - '1': 'filterTransactionPool', - '3': 2, - '4': 1, - '5': 8, - '10': 'filterTransactionPool' - }, + '2': [ + {'1': 'includeOrphanPool', '3': 1, '4': 1, '5': 8, '10': 'includeOrphanPool'}, + {'1': 'filterTransactionPool', '3': 2, '4': 1, '5': 8, '10': 'filterTransactionPool'}, ], }; /// Descriptor for `GetMempoolEntriesRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List getMempoolEntriesRequestMessageDescriptor = - $convert.base64Decode( - 'Ch9HZXRNZW1wb29sRW50cmllc1JlcXVlc3RNZXNzYWdlEiwKEWluY2x1ZGVPcnBoYW5Qb29sGAEgASgIUhFpbmNsdWRlT3JwaGFuUG9vbBI0ChVmaWx0ZXJUcmFuc2FjdGlvblBvb2wYAiABKAhSFWZpbHRlclRyYW5zYWN0aW9uUG9vbA=='); +final $typed_data.Uint8List getMempoolEntriesRequestMessageDescriptor = $convert.base64Decode( + 'Ch9HZXRNZW1wb29sRW50cmllc1JlcXVlc3RNZXNzYWdlEiwKEWluY2x1ZGVPcnBoYW5Qb29sGA' + 'EgASgIUhFpbmNsdWRlT3JwaGFuUG9vbBI0ChVmaWx0ZXJUcmFuc2FjdGlvblBvb2wYAiABKAhS' + 'FWZpbHRlclRyYW5zYWN0aW9uUG9vbA=='); + @$core.Deprecated('Use getMempoolEntriesResponseMessageDescriptor instead') -const GetMempoolEntriesResponseMessage$json = const { +const GetMempoolEntriesResponseMessage$json = { '1': 'GetMempoolEntriesResponseMessage', - '2': const [ - const { - '1': 'entries', - '3': 1, - '4': 3, - '5': 11, - '6': '.protowire.MempoolEntry', - '10': 'entries' - }, - const { - '1': 'error', - '3': 1000, - '4': 1, - '5': 11, - '6': '.protowire.RPCError', - '10': 'error' - }, + '2': [ + {'1': 'entries', '3': 1, '4': 3, '5': 11, '6': '.protowire.RpcMempoolEntry', '10': 'entries'}, + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, ], }; /// Descriptor for `GetMempoolEntriesResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List getMempoolEntriesResponseMessageDescriptor = - $convert.base64Decode( - 'CiBHZXRNZW1wb29sRW50cmllc1Jlc3BvbnNlTWVzc2FnZRIxCgdlbnRyaWVzGAEgAygLMhcucHJvdG93aXJlLk1lbXBvb2xFbnRyeVIHZW50cmllcxIqCgVlcnJvchjoByABKAsyEy5wcm90b3dpcmUuUlBDRXJyb3JSBWVycm9y'); -@$core.Deprecated('Use mempoolEntryDescriptor instead') -const MempoolEntry$json = const { - '1': 'MempoolEntry', - '2': const [ - const {'1': 'fee', '3': 1, '4': 1, '5': 4, '10': 'fee'}, - const { - '1': 'transaction', - '3': 3, - '4': 1, - '5': 11, - '6': '.protowire.RpcTransaction', - '10': 'transaction' - }, - const {'1': 'isOrphan', '3': 4, '4': 1, '5': 8, '10': 'isOrphan'}, - ], -}; - -/// Descriptor for `MempoolEntry`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List mempoolEntryDescriptor = $convert.base64Decode( - 'CgxNZW1wb29sRW50cnkSEAoDZmVlGAEgASgEUgNmZWUSOwoLdHJhbnNhY3Rpb24YAyABKAsyGS5wcm90b3dpcmUuUnBjVHJhbnNhY3Rpb25SC3RyYW5zYWN0aW9uEhoKCGlzT3JwaGFuGAQgASgIUghpc09ycGhhbg=='); +final $typed_data.Uint8List getMempoolEntriesResponseMessageDescriptor = $convert.base64Decode( + 'CiBHZXRNZW1wb29sRW50cmllc1Jlc3BvbnNlTWVzc2FnZRI0CgdlbnRyaWVzGAEgAygLMhoucH' + 'JvdG93aXJlLlJwY01lbXBvb2xFbnRyeVIHZW50cmllcxIqCgVlcnJvchjoByABKAsyEy5wcm90' + 'b3dpcmUuUlBDRXJyb3JSBWVycm9y'); + +@$core.Deprecated('Use rpcMempoolEntryDescriptor instead') +const RpcMempoolEntry$json = { + '1': 'RpcMempoolEntry', + '2': [ + {'1': 'fee', '3': 1, '4': 1, '5': 4, '10': 'fee'}, + {'1': 'transaction', '3': 3, '4': 1, '5': 11, '6': '.protowire.RpcTransaction', '10': 'transaction'}, + {'1': 'isOrphan', '3': 4, '4': 1, '5': 8, '10': 'isOrphan'}, + ], +}; + +/// Descriptor for `RpcMempoolEntry`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List rpcMempoolEntryDescriptor = $convert.base64Decode( + 'Cg9ScGNNZW1wb29sRW50cnkSEAoDZmVlGAEgASgEUgNmZWUSOwoLdHJhbnNhY3Rpb24YAyABKA' + 'syGS5wcm90b3dpcmUuUnBjVHJhbnNhY3Rpb25SC3RyYW5zYWN0aW9uEhoKCGlzT3JwaGFuGAQg' + 'ASgIUghpc09ycGhhbg=='); + @$core.Deprecated('Use getConnectedPeerInfoRequestMessageDescriptor instead') -const GetConnectedPeerInfoRequestMessage$json = const { +const GetConnectedPeerInfoRequestMessage$json = { '1': 'GetConnectedPeerInfoRequestMessage', }; /// Descriptor for `GetConnectedPeerInfoRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List getConnectedPeerInfoRequestMessageDescriptor = - $convert.base64Decode('CiJHZXRDb25uZWN0ZWRQZWVySW5mb1JlcXVlc3RNZXNzYWdl'); +final $typed_data.Uint8List getConnectedPeerInfoRequestMessageDescriptor = $convert.base64Decode( + 'CiJHZXRDb25uZWN0ZWRQZWVySW5mb1JlcXVlc3RNZXNzYWdl'); + @$core.Deprecated('Use getConnectedPeerInfoResponseMessageDescriptor instead') -const GetConnectedPeerInfoResponseMessage$json = const { +const GetConnectedPeerInfoResponseMessage$json = { '1': 'GetConnectedPeerInfoResponseMessage', - '2': const [ - const { - '1': 'infos', - '3': 1, - '4': 3, - '5': 11, - '6': '.protowire.GetConnectedPeerInfoMessage', - '10': 'infos' - }, - const { - '1': 'error', - '3': 1000, - '4': 1, - '5': 11, - '6': '.protowire.RPCError', - '10': 'error' - }, + '2': [ + {'1': 'infos', '3': 1, '4': 3, '5': 11, '6': '.protowire.GetConnectedPeerInfoMessage', '10': 'infos'}, + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, ], }; /// Descriptor for `GetConnectedPeerInfoResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List getConnectedPeerInfoResponseMessageDescriptor = - $convert.base64Decode( - 'CiNHZXRDb25uZWN0ZWRQZWVySW5mb1Jlc3BvbnNlTWVzc2FnZRI8CgVpbmZvcxgBIAMoCzImLnByb3Rvd2lyZS5HZXRDb25uZWN0ZWRQZWVySW5mb01lc3NhZ2VSBWluZm9zEioKBWVycm9yGOgHIAEoCzITLnByb3Rvd2lyZS5SUENFcnJvclIFZXJyb3I='); +final $typed_data.Uint8List getConnectedPeerInfoResponseMessageDescriptor = $convert.base64Decode( + 'CiNHZXRDb25uZWN0ZWRQZWVySW5mb1Jlc3BvbnNlTWVzc2FnZRI8CgVpbmZvcxgBIAMoCzImLn' + 'Byb3Rvd2lyZS5HZXRDb25uZWN0ZWRQZWVySW5mb01lc3NhZ2VSBWluZm9zEioKBWVycm9yGOgH' + 'IAEoCzITLnByb3Rvd2lyZS5SUENFcnJvclIFZXJyb3I='); + @$core.Deprecated('Use getConnectedPeerInfoMessageDescriptor instead') -const GetConnectedPeerInfoMessage$json = const { +const GetConnectedPeerInfoMessage$json = { '1': 'GetConnectedPeerInfoMessage', - '2': const [ - const {'1': 'id', '3': 1, '4': 1, '5': 9, '10': 'id'}, - const {'1': 'address', '3': 2, '4': 1, '5': 9, '10': 'address'}, - const { - '1': 'lastPingDuration', - '3': 3, - '4': 1, - '5': 3, - '10': 'lastPingDuration' - }, - const {'1': 'isOutbound', '3': 6, '4': 1, '5': 8, '10': 'isOutbound'}, - const {'1': 'timeOffset', '3': 7, '4': 1, '5': 3, '10': 'timeOffset'}, - const {'1': 'userAgent', '3': 8, '4': 1, '5': 9, '10': 'userAgent'}, - const { - '1': 'advertisedProtocolVersion', - '3': 9, - '4': 1, - '5': 13, - '10': 'advertisedProtocolVersion' - }, - const { - '1': 'timeConnected', - '3': 10, - '4': 1, - '5': 3, - '10': 'timeConnected' - }, - const {'1': 'isIbdPeer', '3': 11, '4': 1, '5': 8, '10': 'isIbdPeer'}, + '2': [ + {'1': 'id', '3': 1, '4': 1, '5': 9, '10': 'id'}, + {'1': 'address', '3': 2, '4': 1, '5': 9, '10': 'address'}, + {'1': 'lastPingDuration', '3': 3, '4': 1, '5': 3, '10': 'lastPingDuration'}, + {'1': 'isOutbound', '3': 6, '4': 1, '5': 8, '10': 'isOutbound'}, + {'1': 'timeOffset', '3': 7, '4': 1, '5': 3, '10': 'timeOffset'}, + {'1': 'userAgent', '3': 8, '4': 1, '5': 9, '10': 'userAgent'}, + {'1': 'advertisedProtocolVersion', '3': 9, '4': 1, '5': 13, '10': 'advertisedProtocolVersion'}, + {'1': 'timeConnected', '3': 10, '4': 1, '5': 3, '10': 'timeConnected'}, + {'1': 'isIbdPeer', '3': 11, '4': 1, '5': 8, '10': 'isIbdPeer'}, ], }; /// Descriptor for `GetConnectedPeerInfoMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List getConnectedPeerInfoMessageDescriptor = - $convert.base64Decode( - 'ChtHZXRDb25uZWN0ZWRQZWVySW5mb01lc3NhZ2USDgoCaWQYASABKAlSAmlkEhgKB2FkZHJlc3MYAiABKAlSB2FkZHJlc3MSKgoQbGFzdFBpbmdEdXJhdGlvbhgDIAEoA1IQbGFzdFBpbmdEdXJhdGlvbhIeCgppc091dGJvdW5kGAYgASgIUgppc091dGJvdW5kEh4KCnRpbWVPZmZzZXQYByABKANSCnRpbWVPZmZzZXQSHAoJdXNlckFnZW50GAggASgJUgl1c2VyQWdlbnQSPAoZYWR2ZXJ0aXNlZFByb3RvY29sVmVyc2lvbhgJIAEoDVIZYWR2ZXJ0aXNlZFByb3RvY29sVmVyc2lvbhIkCg10aW1lQ29ubmVjdGVkGAogASgDUg10aW1lQ29ubmVjdGVkEhwKCWlzSWJkUGVlchgLIAEoCFIJaXNJYmRQZWVy'); +final $typed_data.Uint8List getConnectedPeerInfoMessageDescriptor = $convert.base64Decode( + 'ChtHZXRDb25uZWN0ZWRQZWVySW5mb01lc3NhZ2USDgoCaWQYASABKAlSAmlkEhgKB2FkZHJlc3' + 'MYAiABKAlSB2FkZHJlc3MSKgoQbGFzdFBpbmdEdXJhdGlvbhgDIAEoA1IQbGFzdFBpbmdEdXJh' + 'dGlvbhIeCgppc091dGJvdW5kGAYgASgIUgppc091dGJvdW5kEh4KCnRpbWVPZmZzZXQYByABKA' + 'NSCnRpbWVPZmZzZXQSHAoJdXNlckFnZW50GAggASgJUgl1c2VyQWdlbnQSPAoZYWR2ZXJ0aXNl' + 'ZFByb3RvY29sVmVyc2lvbhgJIAEoDVIZYWR2ZXJ0aXNlZFByb3RvY29sVmVyc2lvbhIkCg10aW' + '1lQ29ubmVjdGVkGAogASgDUg10aW1lQ29ubmVjdGVkEhwKCWlzSWJkUGVlchgLIAEoCFIJaXNJ' + 'YmRQZWVy'); + @$core.Deprecated('Use addPeerRequestMessageDescriptor instead') -const AddPeerRequestMessage$json = const { +const AddPeerRequestMessage$json = { '1': 'AddPeerRequestMessage', - '2': const [ - const {'1': 'address', '3': 1, '4': 1, '5': 9, '10': 'address'}, - const {'1': 'isPermanent', '3': 2, '4': 1, '5': 8, '10': 'isPermanent'}, + '2': [ + {'1': 'address', '3': 1, '4': 1, '5': 9, '10': 'address'}, + {'1': 'isPermanent', '3': 2, '4': 1, '5': 8, '10': 'isPermanent'}, ], }; /// Descriptor for `AddPeerRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. final $typed_data.Uint8List addPeerRequestMessageDescriptor = $convert.base64Decode( - 'ChVBZGRQZWVyUmVxdWVzdE1lc3NhZ2USGAoHYWRkcmVzcxgBIAEoCVIHYWRkcmVzcxIgCgtpc1Blcm1hbmVudBgCIAEoCFILaXNQZXJtYW5lbnQ='); + 'ChVBZGRQZWVyUmVxdWVzdE1lc3NhZ2USGAoHYWRkcmVzcxgBIAEoCVIHYWRkcmVzcxIgCgtpc1' + 'Blcm1hbmVudBgCIAEoCFILaXNQZXJtYW5lbnQ='); + @$core.Deprecated('Use addPeerResponseMessageDescriptor instead') -const AddPeerResponseMessage$json = const { +const AddPeerResponseMessage$json = { '1': 'AddPeerResponseMessage', - '2': const [ - const { - '1': 'error', - '3': 1000, - '4': 1, - '5': 11, - '6': '.protowire.RPCError', - '10': 'error' - }, + '2': [ + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, ], }; /// Descriptor for `AddPeerResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List addPeerResponseMessageDescriptor = - $convert.base64Decode( - 'ChZBZGRQZWVyUmVzcG9uc2VNZXNzYWdlEioKBWVycm9yGOgHIAEoCzITLnByb3Rvd2lyZS5SUENFcnJvclIFZXJyb3I='); +final $typed_data.Uint8List addPeerResponseMessageDescriptor = $convert.base64Decode( + 'ChZBZGRQZWVyUmVzcG9uc2VNZXNzYWdlEioKBWVycm9yGOgHIAEoCzITLnByb3Rvd2lyZS5SUE' + 'NFcnJvclIFZXJyb3I='); + @$core.Deprecated('Use submitTransactionRequestMessageDescriptor instead') -const SubmitTransactionRequestMessage$json = const { +const SubmitTransactionRequestMessage$json = { '1': 'SubmitTransactionRequestMessage', - '2': const [ - const { - '1': 'transaction', - '3': 1, - '4': 1, - '5': 11, - '6': '.protowire.RpcTransaction', - '10': 'transaction' - }, - const {'1': 'allowOrphan', '3': 2, '4': 1, '5': 8, '10': 'allowOrphan'}, + '2': [ + {'1': 'transaction', '3': 1, '4': 1, '5': 11, '6': '.protowire.RpcTransaction', '10': 'transaction'}, + {'1': 'allowOrphan', '3': 2, '4': 1, '5': 8, '10': 'allowOrphan'}, ], }; /// Descriptor for `SubmitTransactionRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List submitTransactionRequestMessageDescriptor = - $convert.base64Decode( - 'Ch9TdWJtaXRUcmFuc2FjdGlvblJlcXVlc3RNZXNzYWdlEjsKC3RyYW5zYWN0aW9uGAEgASgLMhkucHJvdG93aXJlLlJwY1RyYW5zYWN0aW9uUgt0cmFuc2FjdGlvbhIgCgthbGxvd09ycGhhbhgCIAEoCFILYWxsb3dPcnBoYW4='); +final $typed_data.Uint8List submitTransactionRequestMessageDescriptor = $convert.base64Decode( + 'Ch9TdWJtaXRUcmFuc2FjdGlvblJlcXVlc3RNZXNzYWdlEjsKC3RyYW5zYWN0aW9uGAEgASgLMh' + 'kucHJvdG93aXJlLlJwY1RyYW5zYWN0aW9uUgt0cmFuc2FjdGlvbhIgCgthbGxvd09ycGhhbhgC' + 'IAEoCFILYWxsb3dPcnBoYW4='); + @$core.Deprecated('Use submitTransactionResponseMessageDescriptor instead') -const SubmitTransactionResponseMessage$json = const { +const SubmitTransactionResponseMessage$json = { '1': 'SubmitTransactionResponseMessage', - '2': const [ - const {'1': 'transactionId', '3': 1, '4': 1, '5': 9, '10': 'transactionId'}, - const { - '1': 'error', - '3': 1000, - '4': 1, - '5': 11, - '6': '.protowire.RPCError', - '10': 'error' - }, + '2': [ + {'1': 'transactionId', '3': 1, '4': 1, '5': 9, '10': 'transactionId'}, + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, ], }; /// Descriptor for `SubmitTransactionResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List submitTransactionResponseMessageDescriptor = - $convert.base64Decode( - 'CiBTdWJtaXRUcmFuc2FjdGlvblJlc3BvbnNlTWVzc2FnZRIkCg10cmFuc2FjdGlvbklkGAEgASgJUg10cmFuc2FjdGlvbklkEioKBWVycm9yGOgHIAEoCzITLnByb3Rvd2lyZS5SUENFcnJvclIFZXJyb3I='); -@$core.Deprecated( - 'Use notifyVirtualSelectedParentChainChangedRequestMessageDescriptor instead') -const NotifyVirtualSelectedParentChainChangedRequestMessage$json = const { - '1': 'NotifyVirtualSelectedParentChainChangedRequestMessage', - '2': const [ - const { - '1': 'includeAcceptedTransactionIds', - '3': 1, - '4': 1, - '5': 8, - '10': 'includeAcceptedTransactionIds' - }, - ], -}; - -/// Descriptor for `NotifyVirtualSelectedParentChainChangedRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List - notifyVirtualSelectedParentChainChangedRequestMessageDescriptor = - $convert.base64Decode( - 'CjVOb3RpZnlWaXJ0dWFsU2VsZWN0ZWRQYXJlbnRDaGFpbkNoYW5nZWRSZXF1ZXN0TWVzc2FnZRJECh1pbmNsdWRlQWNjZXB0ZWRUcmFuc2FjdGlvbklkcxgBIAEoCFIdaW5jbHVkZUFjY2VwdGVkVHJhbnNhY3Rpb25JZHM='); -@$core.Deprecated( - 'Use notifyVirtualSelectedParentChainChangedResponseMessageDescriptor instead') -const NotifyVirtualSelectedParentChainChangedResponseMessage$json = const { - '1': 'NotifyVirtualSelectedParentChainChangedResponseMessage', - '2': const [ - const { - '1': 'error', - '3': 1000, - '4': 1, - '5': 11, - '6': '.protowire.RPCError', - '10': 'error' - }, - ], -}; - -/// Descriptor for `NotifyVirtualSelectedParentChainChangedResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List - notifyVirtualSelectedParentChainChangedResponseMessageDescriptor = - $convert.base64Decode( - 'CjZOb3RpZnlWaXJ0dWFsU2VsZWN0ZWRQYXJlbnRDaGFpbkNoYW5nZWRSZXNwb25zZU1lc3NhZ2USKgoFZXJyb3IY6AcgASgLMhMucHJvdG93aXJlLlJQQ0Vycm9yUgVlcnJvcg=='); -@$core.Deprecated( - 'Use virtualSelectedParentChainChangedNotificationMessageDescriptor instead') -const VirtualSelectedParentChainChangedNotificationMessage$json = const { - '1': 'VirtualSelectedParentChainChangedNotificationMessage', - '2': const [ - const { - '1': 'removedChainBlockHashes', - '3': 1, - '4': 3, - '5': 9, - '10': 'removedChainBlockHashes' - }, - const { - '1': 'addedChainBlockHashes', - '3': 3, - '4': 3, - '5': 9, - '10': 'addedChainBlockHashes' - }, - const { - '1': 'acceptedTransactionIds', - '3': 2, - '4': 3, - '5': 11, - '6': '.protowire.AcceptedTransactionIds', - '10': 'acceptedTransactionIds' - }, - ], -}; - -/// Descriptor for `VirtualSelectedParentChainChangedNotificationMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List - virtualSelectedParentChainChangedNotificationMessageDescriptor = - $convert.base64Decode( - 'CjRWaXJ0dWFsU2VsZWN0ZWRQYXJlbnRDaGFpbkNoYW5nZWROb3RpZmljYXRpb25NZXNzYWdlEjgKF3JlbW92ZWRDaGFpbkJsb2NrSGFzaGVzGAEgAygJUhdyZW1vdmVkQ2hhaW5CbG9ja0hhc2hlcxI0ChVhZGRlZENoYWluQmxvY2tIYXNoZXMYAyADKAlSFWFkZGVkQ2hhaW5CbG9ja0hhc2hlcxJZChZhY2NlcHRlZFRyYW5zYWN0aW9uSWRzGAIgAygLMiEucHJvdG93aXJlLkFjY2VwdGVkVHJhbnNhY3Rpb25JZHNSFmFjY2VwdGVkVHJhbnNhY3Rpb25JZHM='); +final $typed_data.Uint8List submitTransactionResponseMessageDescriptor = $convert.base64Decode( + 'CiBTdWJtaXRUcmFuc2FjdGlvblJlc3BvbnNlTWVzc2FnZRIkCg10cmFuc2FjdGlvbklkGAEgAS' + 'gJUg10cmFuc2FjdGlvbklkEioKBWVycm9yGOgHIAEoCzITLnByb3Rvd2lyZS5SUENFcnJvclIF' + 'ZXJyb3I='); + +@$core.Deprecated('Use submitTransactionReplacementRequestMessageDescriptor instead') +const SubmitTransactionReplacementRequestMessage$json = { + '1': 'SubmitTransactionReplacementRequestMessage', + '2': [ + {'1': 'transaction', '3': 1, '4': 1, '5': 11, '6': '.protowire.RpcTransaction', '10': 'transaction'}, + ], +}; + +/// Descriptor for `SubmitTransactionReplacementRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List submitTransactionReplacementRequestMessageDescriptor = $convert.base64Decode( + 'CipTdWJtaXRUcmFuc2FjdGlvblJlcGxhY2VtZW50UmVxdWVzdE1lc3NhZ2USOwoLdHJhbnNhY3' + 'Rpb24YASABKAsyGS5wcm90b3dpcmUuUnBjVHJhbnNhY3Rpb25SC3RyYW5zYWN0aW9u'); + +@$core.Deprecated('Use submitTransactionReplacementResponseMessageDescriptor instead') +const SubmitTransactionReplacementResponseMessage$json = { + '1': 'SubmitTransactionReplacementResponseMessage', + '2': [ + {'1': 'transactionId', '3': 1, '4': 1, '5': 9, '10': 'transactionId'}, + {'1': 'replacedTransaction', '3': 2, '4': 1, '5': 11, '6': '.protowire.RpcTransaction', '10': 'replacedTransaction'}, + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, + ], +}; + +/// Descriptor for `SubmitTransactionReplacementResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List submitTransactionReplacementResponseMessageDescriptor = $convert.base64Decode( + 'CitTdWJtaXRUcmFuc2FjdGlvblJlcGxhY2VtZW50UmVzcG9uc2VNZXNzYWdlEiQKDXRyYW5zYW' + 'N0aW9uSWQYASABKAlSDXRyYW5zYWN0aW9uSWQSSwoTcmVwbGFjZWRUcmFuc2FjdGlvbhgCIAEo' + 'CzIZLnByb3Rvd2lyZS5ScGNUcmFuc2FjdGlvblITcmVwbGFjZWRUcmFuc2FjdGlvbhIqCgVlcn' + 'JvchjoByABKAsyEy5wcm90b3dpcmUuUlBDRXJyb3JSBWVycm9y'); + +@$core.Deprecated('Use notifyVirtualChainChangedRequestMessageDescriptor instead') +const NotifyVirtualChainChangedRequestMessage$json = { + '1': 'NotifyVirtualChainChangedRequestMessage', + '2': [ + {'1': 'includeAcceptedTransactionIds', '3': 1, '4': 1, '5': 8, '10': 'includeAcceptedTransactionIds'}, + {'1': 'command', '3': 101, '4': 1, '5': 14, '6': '.protowire.RpcNotifyCommand', '10': 'command'}, + ], +}; + +/// Descriptor for `NotifyVirtualChainChangedRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List notifyVirtualChainChangedRequestMessageDescriptor = $convert.base64Decode( + 'CidOb3RpZnlWaXJ0dWFsQ2hhaW5DaGFuZ2VkUmVxdWVzdE1lc3NhZ2USRAodaW5jbHVkZUFjY2' + 'VwdGVkVHJhbnNhY3Rpb25JZHMYASABKAhSHWluY2x1ZGVBY2NlcHRlZFRyYW5zYWN0aW9uSWRz' + 'EjUKB2NvbW1hbmQYZSABKA4yGy5wcm90b3dpcmUuUnBjTm90aWZ5Q29tbWFuZFIHY29tbWFuZA' + '=='); + +@$core.Deprecated('Use notifyVirtualChainChangedResponseMessageDescriptor instead') +const NotifyVirtualChainChangedResponseMessage$json = { + '1': 'NotifyVirtualChainChangedResponseMessage', + '2': [ + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, + ], +}; + +/// Descriptor for `NotifyVirtualChainChangedResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List notifyVirtualChainChangedResponseMessageDescriptor = $convert.base64Decode( + 'CihOb3RpZnlWaXJ0dWFsQ2hhaW5DaGFuZ2VkUmVzcG9uc2VNZXNzYWdlEioKBWVycm9yGOgHIA' + 'EoCzITLnByb3Rvd2lyZS5SUENFcnJvclIFZXJyb3I='); + +@$core.Deprecated('Use virtualChainChangedNotificationMessageDescriptor instead') +const VirtualChainChangedNotificationMessage$json = { + '1': 'VirtualChainChangedNotificationMessage', + '2': [ + {'1': 'removedChainBlockHashes', '3': 1, '4': 3, '5': 9, '10': 'removedChainBlockHashes'}, + {'1': 'addedChainBlockHashes', '3': 3, '4': 3, '5': 9, '10': 'addedChainBlockHashes'}, + {'1': 'acceptedTransactionIds', '3': 2, '4': 3, '5': 11, '6': '.protowire.RpcAcceptedTransactionIds', '10': 'acceptedTransactionIds'}, + ], +}; + +/// Descriptor for `VirtualChainChangedNotificationMessage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List virtualChainChangedNotificationMessageDescriptor = $convert.base64Decode( + 'CiZWaXJ0dWFsQ2hhaW5DaGFuZ2VkTm90aWZpY2F0aW9uTWVzc2FnZRI4ChdyZW1vdmVkQ2hhaW' + '5CbG9ja0hhc2hlcxgBIAMoCVIXcmVtb3ZlZENoYWluQmxvY2tIYXNoZXMSNAoVYWRkZWRDaGFp' + 'bkJsb2NrSGFzaGVzGAMgAygJUhVhZGRlZENoYWluQmxvY2tIYXNoZXMSXAoWYWNjZXB0ZWRUcm' + 'Fuc2FjdGlvbklkcxgCIAMoCzIkLnByb3Rvd2lyZS5ScGNBY2NlcHRlZFRyYW5zYWN0aW9uSWRz' + 'UhZhY2NlcHRlZFRyYW5zYWN0aW9uSWRz'); + @$core.Deprecated('Use getBlockRequestMessageDescriptor instead') -const GetBlockRequestMessage$json = const { +const GetBlockRequestMessage$json = { '1': 'GetBlockRequestMessage', - '2': const [ - const {'1': 'hash', '3': 1, '4': 1, '5': 9, '10': 'hash'}, - const { - '1': 'includeTransactions', - '3': 3, - '4': 1, - '5': 8, - '10': 'includeTransactions' - }, + '2': [ + {'1': 'hash', '3': 1, '4': 1, '5': 9, '10': 'hash'}, + {'1': 'includeTransactions', '3': 3, '4': 1, '5': 8, '10': 'includeTransactions'}, ], }; /// Descriptor for `GetBlockRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List getBlockRequestMessageDescriptor = - $convert.base64Decode( - 'ChZHZXRCbG9ja1JlcXVlc3RNZXNzYWdlEhIKBGhhc2gYASABKAlSBGhhc2gSMAoTaW5jbHVkZVRyYW5zYWN0aW9ucxgDIAEoCFITaW5jbHVkZVRyYW5zYWN0aW9ucw=='); +final $typed_data.Uint8List getBlockRequestMessageDescriptor = $convert.base64Decode( + 'ChZHZXRCbG9ja1JlcXVlc3RNZXNzYWdlEhIKBGhhc2gYASABKAlSBGhhc2gSMAoTaW5jbHVkZV' + 'RyYW5zYWN0aW9ucxgDIAEoCFITaW5jbHVkZVRyYW5zYWN0aW9ucw=='); + @$core.Deprecated('Use getBlockResponseMessageDescriptor instead') -const GetBlockResponseMessage$json = const { +const GetBlockResponseMessage$json = { '1': 'GetBlockResponseMessage', - '2': const [ - const { - '1': 'block', - '3': 3, - '4': 1, - '5': 11, - '6': '.protowire.RpcBlock', - '10': 'block' - }, - const { - '1': 'error', - '3': 1000, - '4': 1, - '5': 11, - '6': '.protowire.RPCError', - '10': 'error' - }, + '2': [ + {'1': 'block', '3': 3, '4': 1, '5': 11, '6': '.protowire.RpcBlock', '10': 'block'}, + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, ], }; /// Descriptor for `GetBlockResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List getBlockResponseMessageDescriptor = - $convert.base64Decode( - 'ChdHZXRCbG9ja1Jlc3BvbnNlTWVzc2FnZRIpCgVibG9jaxgDIAEoCzITLnByb3Rvd2lyZS5ScGNCbG9ja1IFYmxvY2sSKgoFZXJyb3IY6AcgASgLMhMucHJvdG93aXJlLlJQQ0Vycm9yUgVlcnJvcg=='); +final $typed_data.Uint8List getBlockResponseMessageDescriptor = $convert.base64Decode( + 'ChdHZXRCbG9ja1Jlc3BvbnNlTWVzc2FnZRIpCgVibG9jaxgDIAEoCzITLnByb3Rvd2lyZS5ScG' + 'NCbG9ja1IFYmxvY2sSKgoFZXJyb3IY6AcgASgLMhMucHJvdG93aXJlLlJQQ0Vycm9yUgVlcnJv' + 'cg=='); + @$core.Deprecated('Use getSubnetworkRequestMessageDescriptor instead') -const GetSubnetworkRequestMessage$json = const { +const GetSubnetworkRequestMessage$json = { '1': 'GetSubnetworkRequestMessage', - '2': const [ - const {'1': 'subnetworkId', '3': 1, '4': 1, '5': 9, '10': 'subnetworkId'}, + '2': [ + {'1': 'subnetworkId', '3': 1, '4': 1, '5': 9, '10': 'subnetworkId'}, ], }; /// Descriptor for `GetSubnetworkRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List getSubnetworkRequestMessageDescriptor = - $convert.base64Decode( - 'ChtHZXRTdWJuZXR3b3JrUmVxdWVzdE1lc3NhZ2USIgoMc3VibmV0d29ya0lkGAEgASgJUgxzdWJuZXR3b3JrSWQ='); +final $typed_data.Uint8List getSubnetworkRequestMessageDescriptor = $convert.base64Decode( + 'ChtHZXRTdWJuZXR3b3JrUmVxdWVzdE1lc3NhZ2USIgoMc3VibmV0d29ya0lkGAEgASgJUgxzdW' + 'JuZXR3b3JrSWQ='); + @$core.Deprecated('Use getSubnetworkResponseMessageDescriptor instead') -const GetSubnetworkResponseMessage$json = const { +const GetSubnetworkResponseMessage$json = { '1': 'GetSubnetworkResponseMessage', - '2': const [ - const {'1': 'gasLimit', '3': 1, '4': 1, '5': 4, '10': 'gasLimit'}, - const { - '1': 'error', - '3': 1000, - '4': 1, - '5': 11, - '6': '.protowire.RPCError', - '10': 'error' - }, + '2': [ + {'1': 'gasLimit', '3': 1, '4': 1, '5': 4, '10': 'gasLimit'}, + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, ], }; /// Descriptor for `GetSubnetworkResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List getSubnetworkResponseMessageDescriptor = - $convert.base64Decode( - 'ChxHZXRTdWJuZXR3b3JrUmVzcG9uc2VNZXNzYWdlEhoKCGdhc0xpbWl0GAEgASgEUghnYXNMaW1pdBIqCgVlcnJvchjoByABKAsyEy5wcm90b3dpcmUuUlBDRXJyb3JSBWVycm9y'); -@$core.Deprecated( - 'Use getVirtualSelectedParentChainFromBlockRequestMessageDescriptor instead') -const GetVirtualSelectedParentChainFromBlockRequestMessage$json = const { - '1': 'GetVirtualSelectedParentChainFromBlockRequestMessage', - '2': const [ - const {'1': 'startHash', '3': 1, '4': 1, '5': 9, '10': 'startHash'}, - const { - '1': 'includeAcceptedTransactionIds', - '3': 2, - '4': 1, - '5': 8, - '10': 'includeAcceptedTransactionIds' - }, - ], -}; - -/// Descriptor for `GetVirtualSelectedParentChainFromBlockRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List - getVirtualSelectedParentChainFromBlockRequestMessageDescriptor = - $convert.base64Decode( - 'CjRHZXRWaXJ0dWFsU2VsZWN0ZWRQYXJlbnRDaGFpbkZyb21CbG9ja1JlcXVlc3RNZXNzYWdlEhwKCXN0YXJ0SGFzaBgBIAEoCVIJc3RhcnRIYXNoEkQKHWluY2x1ZGVBY2NlcHRlZFRyYW5zYWN0aW9uSWRzGAIgASgIUh1pbmNsdWRlQWNjZXB0ZWRUcmFuc2FjdGlvbklkcw=='); -@$core.Deprecated('Use acceptedTransactionIdsDescriptor instead') -const AcceptedTransactionIds$json = const { - '1': 'AcceptedTransactionIds', - '2': const [ - const { - '1': 'acceptingBlockHash', - '3': 1, - '4': 1, - '5': 9, - '10': 'acceptingBlockHash' - }, - const { - '1': 'acceptedTransactionIds', - '3': 2, - '4': 3, - '5': 9, - '10': 'acceptedTransactionIds' - }, - ], -}; - -/// Descriptor for `AcceptedTransactionIds`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List acceptedTransactionIdsDescriptor = - $convert.base64Decode( - 'ChZBY2NlcHRlZFRyYW5zYWN0aW9uSWRzEi4KEmFjY2VwdGluZ0Jsb2NrSGFzaBgBIAEoCVISYWNjZXB0aW5nQmxvY2tIYXNoEjYKFmFjY2VwdGVkVHJhbnNhY3Rpb25JZHMYAiADKAlSFmFjY2VwdGVkVHJhbnNhY3Rpb25JZHM='); -@$core.Deprecated( - 'Use getVirtualSelectedParentChainFromBlockResponseMessageDescriptor instead') -const GetVirtualSelectedParentChainFromBlockResponseMessage$json = const { - '1': 'GetVirtualSelectedParentChainFromBlockResponseMessage', - '2': const [ - const { - '1': 'removedChainBlockHashes', - '3': 1, - '4': 3, - '5': 9, - '10': 'removedChainBlockHashes' - }, - const { - '1': 'addedChainBlockHashes', - '3': 3, - '4': 3, - '5': 9, - '10': 'addedChainBlockHashes' - }, - const { - '1': 'acceptedTransactionIds', - '3': 2, - '4': 3, - '5': 11, - '6': '.protowire.AcceptedTransactionIds', - '10': 'acceptedTransactionIds' - }, - const { - '1': 'error', - '3': 1000, - '4': 1, - '5': 11, - '6': '.protowire.RPCError', - '10': 'error' - }, - ], -}; - -/// Descriptor for `GetVirtualSelectedParentChainFromBlockResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List - getVirtualSelectedParentChainFromBlockResponseMessageDescriptor = - $convert.base64Decode( - 'CjVHZXRWaXJ0dWFsU2VsZWN0ZWRQYXJlbnRDaGFpbkZyb21CbG9ja1Jlc3BvbnNlTWVzc2FnZRI4ChdyZW1vdmVkQ2hhaW5CbG9ja0hhc2hlcxgBIAMoCVIXcmVtb3ZlZENoYWluQmxvY2tIYXNoZXMSNAoVYWRkZWRDaGFpbkJsb2NrSGFzaGVzGAMgAygJUhVhZGRlZENoYWluQmxvY2tIYXNoZXMSWQoWYWNjZXB0ZWRUcmFuc2FjdGlvbklkcxgCIAMoCzIhLnByb3Rvd2lyZS5BY2NlcHRlZFRyYW5zYWN0aW9uSWRzUhZhY2NlcHRlZFRyYW5zYWN0aW9uSWRzEioKBWVycm9yGOgHIAEoCzITLnByb3Rvd2lyZS5SUENFcnJvclIFZXJyb3I='); +final $typed_data.Uint8List getSubnetworkResponseMessageDescriptor = $convert.base64Decode( + 'ChxHZXRTdWJuZXR3b3JrUmVzcG9uc2VNZXNzYWdlEhoKCGdhc0xpbWl0GAEgASgEUghnYXNMaW' + '1pdBIqCgVlcnJvchjoByABKAsyEy5wcm90b3dpcmUuUlBDRXJyb3JSBWVycm9y'); + +@$core.Deprecated('Use getVirtualChainFromBlockRequestMessageDescriptor instead') +const GetVirtualChainFromBlockRequestMessage$json = { + '1': 'GetVirtualChainFromBlockRequestMessage', + '2': [ + {'1': 'startHash', '3': 1, '4': 1, '5': 9, '10': 'startHash'}, + {'1': 'includeAcceptedTransactionIds', '3': 2, '4': 1, '5': 8, '10': 'includeAcceptedTransactionIds'}, + ], +}; + +/// Descriptor for `GetVirtualChainFromBlockRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getVirtualChainFromBlockRequestMessageDescriptor = $convert.base64Decode( + 'CiZHZXRWaXJ0dWFsQ2hhaW5Gcm9tQmxvY2tSZXF1ZXN0TWVzc2FnZRIcCglzdGFydEhhc2gYAS' + 'ABKAlSCXN0YXJ0SGFzaBJECh1pbmNsdWRlQWNjZXB0ZWRUcmFuc2FjdGlvbklkcxgCIAEoCFId' + 'aW5jbHVkZUFjY2VwdGVkVHJhbnNhY3Rpb25JZHM='); + +@$core.Deprecated('Use rpcAcceptedTransactionIdsDescriptor instead') +const RpcAcceptedTransactionIds$json = { + '1': 'RpcAcceptedTransactionIds', + '2': [ + {'1': 'acceptingBlockHash', '3': 1, '4': 1, '5': 9, '10': 'acceptingBlockHash'}, + {'1': 'acceptedTransactionIds', '3': 2, '4': 3, '5': 9, '10': 'acceptedTransactionIds'}, + ], +}; + +/// Descriptor for `RpcAcceptedTransactionIds`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List rpcAcceptedTransactionIdsDescriptor = $convert.base64Decode( + 'ChlScGNBY2NlcHRlZFRyYW5zYWN0aW9uSWRzEi4KEmFjY2VwdGluZ0Jsb2NrSGFzaBgBIAEoCV' + 'ISYWNjZXB0aW5nQmxvY2tIYXNoEjYKFmFjY2VwdGVkVHJhbnNhY3Rpb25JZHMYAiADKAlSFmFj' + 'Y2VwdGVkVHJhbnNhY3Rpb25JZHM='); + +@$core.Deprecated('Use getVirtualChainFromBlockResponseMessageDescriptor instead') +const GetVirtualChainFromBlockResponseMessage$json = { + '1': 'GetVirtualChainFromBlockResponseMessage', + '2': [ + {'1': 'removedChainBlockHashes', '3': 1, '4': 3, '5': 9, '10': 'removedChainBlockHashes'}, + {'1': 'addedChainBlockHashes', '3': 3, '4': 3, '5': 9, '10': 'addedChainBlockHashes'}, + {'1': 'acceptedTransactionIds', '3': 2, '4': 3, '5': 11, '6': '.protowire.RpcAcceptedTransactionIds', '10': 'acceptedTransactionIds'}, + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, + ], +}; + +/// Descriptor for `GetVirtualChainFromBlockResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getVirtualChainFromBlockResponseMessageDescriptor = $convert.base64Decode( + 'CidHZXRWaXJ0dWFsQ2hhaW5Gcm9tQmxvY2tSZXNwb25zZU1lc3NhZ2USOAoXcmVtb3ZlZENoYW' + 'luQmxvY2tIYXNoZXMYASADKAlSF3JlbW92ZWRDaGFpbkJsb2NrSGFzaGVzEjQKFWFkZGVkQ2hh' + 'aW5CbG9ja0hhc2hlcxgDIAMoCVIVYWRkZWRDaGFpbkJsb2NrSGFzaGVzElwKFmFjY2VwdGVkVH' + 'JhbnNhY3Rpb25JZHMYAiADKAsyJC5wcm90b3dpcmUuUnBjQWNjZXB0ZWRUcmFuc2FjdGlvbklk' + 'c1IWYWNjZXB0ZWRUcmFuc2FjdGlvbklkcxIqCgVlcnJvchjoByABKAsyEy5wcm90b3dpcmUuUl' + 'BDRXJyb3JSBWVycm9y'); + @$core.Deprecated('Use getBlocksRequestMessageDescriptor instead') -const GetBlocksRequestMessage$json = const { +const GetBlocksRequestMessage$json = { '1': 'GetBlocksRequestMessage', - '2': const [ - const {'1': 'lowHash', '3': 1, '4': 1, '5': 9, '10': 'lowHash'}, - const {'1': 'includeBlocks', '3': 2, '4': 1, '5': 8, '10': 'includeBlocks'}, - const { - '1': 'includeTransactions', - '3': 3, - '4': 1, - '5': 8, - '10': 'includeTransactions' - }, + '2': [ + {'1': 'lowHash', '3': 1, '4': 1, '5': 9, '10': 'lowHash'}, + {'1': 'includeBlocks', '3': 2, '4': 1, '5': 8, '10': 'includeBlocks'}, + {'1': 'includeTransactions', '3': 3, '4': 1, '5': 8, '10': 'includeTransactions'}, ], }; /// Descriptor for `GetBlocksRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List getBlocksRequestMessageDescriptor = - $convert.base64Decode( - 'ChdHZXRCbG9ja3NSZXF1ZXN0TWVzc2FnZRIYCgdsb3dIYXNoGAEgASgJUgdsb3dIYXNoEiQKDWluY2x1ZGVCbG9ja3MYAiABKAhSDWluY2x1ZGVCbG9ja3MSMAoTaW5jbHVkZVRyYW5zYWN0aW9ucxgDIAEoCFITaW5jbHVkZVRyYW5zYWN0aW9ucw=='); +final $typed_data.Uint8List getBlocksRequestMessageDescriptor = $convert.base64Decode( + 'ChdHZXRCbG9ja3NSZXF1ZXN0TWVzc2FnZRIYCgdsb3dIYXNoGAEgASgJUgdsb3dIYXNoEiQKDW' + 'luY2x1ZGVCbG9ja3MYAiABKAhSDWluY2x1ZGVCbG9ja3MSMAoTaW5jbHVkZVRyYW5zYWN0aW9u' + 'cxgDIAEoCFITaW5jbHVkZVRyYW5zYWN0aW9ucw=='); + @$core.Deprecated('Use getBlocksResponseMessageDescriptor instead') -const GetBlocksResponseMessage$json = const { +const GetBlocksResponseMessage$json = { '1': 'GetBlocksResponseMessage', - '2': const [ - const {'1': 'blockHashes', '3': 4, '4': 3, '5': 9, '10': 'blockHashes'}, - const { - '1': 'blocks', - '3': 3, - '4': 3, - '5': 11, - '6': '.protowire.RpcBlock', - '10': 'blocks' - }, - const { - '1': 'error', - '3': 1000, - '4': 1, - '5': 11, - '6': '.protowire.RPCError', - '10': 'error' - }, + '2': [ + {'1': 'blockHashes', '3': 4, '4': 3, '5': 9, '10': 'blockHashes'}, + {'1': 'blocks', '3': 3, '4': 3, '5': 11, '6': '.protowire.RpcBlock', '10': 'blocks'}, + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, ], }; /// Descriptor for `GetBlocksResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List getBlocksResponseMessageDescriptor = - $convert.base64Decode( - 'ChhHZXRCbG9ja3NSZXNwb25zZU1lc3NhZ2USIAoLYmxvY2tIYXNoZXMYBCADKAlSC2Jsb2NrSGFzaGVzEisKBmJsb2NrcxgDIAMoCzITLnByb3Rvd2lyZS5ScGNCbG9ja1IGYmxvY2tzEioKBWVycm9yGOgHIAEoCzITLnByb3Rvd2lyZS5SUENFcnJvclIFZXJyb3I='); +final $typed_data.Uint8List getBlocksResponseMessageDescriptor = $convert.base64Decode( + 'ChhHZXRCbG9ja3NSZXNwb25zZU1lc3NhZ2USIAoLYmxvY2tIYXNoZXMYBCADKAlSC2Jsb2NrSG' + 'FzaGVzEisKBmJsb2NrcxgDIAMoCzITLnByb3Rvd2lyZS5ScGNCbG9ja1IGYmxvY2tzEioKBWVy' + 'cm9yGOgHIAEoCzITLnByb3Rvd2lyZS5SUENFcnJvclIFZXJyb3I='); + @$core.Deprecated('Use getBlockCountRequestMessageDescriptor instead') -const GetBlockCountRequestMessage$json = const { +const GetBlockCountRequestMessage$json = { '1': 'GetBlockCountRequestMessage', }; /// Descriptor for `GetBlockCountRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List getBlockCountRequestMessageDescriptor = - $convert.base64Decode('ChtHZXRCbG9ja0NvdW50UmVxdWVzdE1lc3NhZ2U='); +final $typed_data.Uint8List getBlockCountRequestMessageDescriptor = $convert.base64Decode( + 'ChtHZXRCbG9ja0NvdW50UmVxdWVzdE1lc3NhZ2U='); + @$core.Deprecated('Use getBlockCountResponseMessageDescriptor instead') -const GetBlockCountResponseMessage$json = const { +const GetBlockCountResponseMessage$json = { '1': 'GetBlockCountResponseMessage', - '2': const [ - const {'1': 'blockCount', '3': 1, '4': 1, '5': 4, '10': 'blockCount'}, - const {'1': 'headerCount', '3': 2, '4': 1, '5': 4, '10': 'headerCount'}, - const { - '1': 'error', - '3': 1000, - '4': 1, - '5': 11, - '6': '.protowire.RPCError', - '10': 'error' - }, + '2': [ + {'1': 'blockCount', '3': 1, '4': 1, '5': 4, '10': 'blockCount'}, + {'1': 'headerCount', '3': 2, '4': 1, '5': 4, '10': 'headerCount'}, + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, ], }; /// Descriptor for `GetBlockCountResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List getBlockCountResponseMessageDescriptor = - $convert.base64Decode( - 'ChxHZXRCbG9ja0NvdW50UmVzcG9uc2VNZXNzYWdlEh4KCmJsb2NrQ291bnQYASABKARSCmJsb2NrQ291bnQSIAoLaGVhZGVyQ291bnQYAiABKARSC2hlYWRlckNvdW50EioKBWVycm9yGOgHIAEoCzITLnByb3Rvd2lyZS5SUENFcnJvclIFZXJyb3I='); +final $typed_data.Uint8List getBlockCountResponseMessageDescriptor = $convert.base64Decode( + 'ChxHZXRCbG9ja0NvdW50UmVzcG9uc2VNZXNzYWdlEh4KCmJsb2NrQ291bnQYASABKARSCmJsb2' + 'NrQ291bnQSIAoLaGVhZGVyQ291bnQYAiABKARSC2hlYWRlckNvdW50EioKBWVycm9yGOgHIAEo' + 'CzITLnByb3Rvd2lyZS5SUENFcnJvclIFZXJyb3I='); + @$core.Deprecated('Use getBlockDagInfoRequestMessageDescriptor instead') -const GetBlockDagInfoRequestMessage$json = const { +const GetBlockDagInfoRequestMessage$json = { '1': 'GetBlockDagInfoRequestMessage', }; /// Descriptor for `GetBlockDagInfoRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List getBlockDagInfoRequestMessageDescriptor = - $convert.base64Decode('Ch1HZXRCbG9ja0RhZ0luZm9SZXF1ZXN0TWVzc2FnZQ=='); +final $typed_data.Uint8List getBlockDagInfoRequestMessageDescriptor = $convert.base64Decode( + 'Ch1HZXRCbG9ja0RhZ0luZm9SZXF1ZXN0TWVzc2FnZQ=='); + @$core.Deprecated('Use getBlockDagInfoResponseMessageDescriptor instead') -const GetBlockDagInfoResponseMessage$json = const { +const GetBlockDagInfoResponseMessage$json = { '1': 'GetBlockDagInfoResponseMessage', - '2': const [ - const {'1': 'networkName', '3': 1, '4': 1, '5': 9, '10': 'networkName'}, - const {'1': 'blockCount', '3': 2, '4': 1, '5': 4, '10': 'blockCount'}, - const {'1': 'headerCount', '3': 3, '4': 1, '5': 4, '10': 'headerCount'}, - const {'1': 'tipHashes', '3': 4, '4': 3, '5': 9, '10': 'tipHashes'}, - const {'1': 'difficulty', '3': 5, '4': 1, '5': 1, '10': 'difficulty'}, - const { - '1': 'pastMedianTime', - '3': 6, - '4': 1, - '5': 3, - '10': 'pastMedianTime' - }, - const { - '1': 'virtualParentHashes', - '3': 7, - '4': 3, - '5': 9, - '10': 'virtualParentHashes' - }, - const { - '1': 'pruningPointHash', - '3': 8, - '4': 1, - '5': 9, - '10': 'pruningPointHash' - }, - const { - '1': 'virtualDaaScore', - '3': 9, - '4': 1, - '5': 4, - '10': 'virtualDaaScore' - }, - const { - '1': 'error', - '3': 1000, - '4': 1, - '5': 11, - '6': '.protowire.RPCError', - '10': 'error' - }, + '2': [ + {'1': 'networkName', '3': 1, '4': 1, '5': 9, '10': 'networkName'}, + {'1': 'blockCount', '3': 2, '4': 1, '5': 4, '10': 'blockCount'}, + {'1': 'headerCount', '3': 3, '4': 1, '5': 4, '10': 'headerCount'}, + {'1': 'tipHashes', '3': 4, '4': 3, '5': 9, '10': 'tipHashes'}, + {'1': 'difficulty', '3': 5, '4': 1, '5': 1, '10': 'difficulty'}, + {'1': 'pastMedianTime', '3': 6, '4': 1, '5': 3, '10': 'pastMedianTime'}, + {'1': 'virtualParentHashes', '3': 7, '4': 3, '5': 9, '10': 'virtualParentHashes'}, + {'1': 'pruningPointHash', '3': 8, '4': 1, '5': 9, '10': 'pruningPointHash'}, + {'1': 'virtualDaaScore', '3': 9, '4': 1, '5': 4, '10': 'virtualDaaScore'}, + {'1': 'sink', '3': 10, '4': 1, '5': 9, '10': 'sink'}, + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, ], }; /// Descriptor for `GetBlockDagInfoResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List getBlockDagInfoResponseMessageDescriptor = - $convert.base64Decode( - 'Ch5HZXRCbG9ja0RhZ0luZm9SZXNwb25zZU1lc3NhZ2USIAoLbmV0d29ya05hbWUYASABKAlSC25ldHdvcmtOYW1lEh4KCmJsb2NrQ291bnQYAiABKARSCmJsb2NrQ291bnQSIAoLaGVhZGVyQ291bnQYAyABKARSC2hlYWRlckNvdW50EhwKCXRpcEhhc2hlcxgEIAMoCVIJdGlwSGFzaGVzEh4KCmRpZmZpY3VsdHkYBSABKAFSCmRpZmZpY3VsdHkSJgoOcGFzdE1lZGlhblRpbWUYBiABKANSDnBhc3RNZWRpYW5UaW1lEjAKE3ZpcnR1YWxQYXJlbnRIYXNoZXMYByADKAlSE3ZpcnR1YWxQYXJlbnRIYXNoZXMSKgoQcHJ1bmluZ1BvaW50SGFzaBgIIAEoCVIQcHJ1bmluZ1BvaW50SGFzaBIoCg92aXJ0dWFsRGFhU2NvcmUYCSABKARSD3ZpcnR1YWxEYWFTY29yZRIqCgVlcnJvchjoByABKAsyEy5wcm90b3dpcmUuUlBDRXJyb3JSBWVycm9y'); +final $typed_data.Uint8List getBlockDagInfoResponseMessageDescriptor = $convert.base64Decode( + 'Ch5HZXRCbG9ja0RhZ0luZm9SZXNwb25zZU1lc3NhZ2USIAoLbmV0d29ya05hbWUYASABKAlSC2' + '5ldHdvcmtOYW1lEh4KCmJsb2NrQ291bnQYAiABKARSCmJsb2NrQ291bnQSIAoLaGVhZGVyQ291' + 'bnQYAyABKARSC2hlYWRlckNvdW50EhwKCXRpcEhhc2hlcxgEIAMoCVIJdGlwSGFzaGVzEh4KCm' + 'RpZmZpY3VsdHkYBSABKAFSCmRpZmZpY3VsdHkSJgoOcGFzdE1lZGlhblRpbWUYBiABKANSDnBh' + 'c3RNZWRpYW5UaW1lEjAKE3ZpcnR1YWxQYXJlbnRIYXNoZXMYByADKAlSE3ZpcnR1YWxQYXJlbn' + 'RIYXNoZXMSKgoQcHJ1bmluZ1BvaW50SGFzaBgIIAEoCVIQcHJ1bmluZ1BvaW50SGFzaBIoCg92' + 'aXJ0dWFsRGFhU2NvcmUYCSABKARSD3ZpcnR1YWxEYWFTY29yZRISCgRzaW5rGAogASgJUgRzaW' + '5rEioKBWVycm9yGOgHIAEoCzITLnByb3Rvd2lyZS5SUENFcnJvclIFZXJyb3I='); + @$core.Deprecated('Use resolveFinalityConflictRequestMessageDescriptor instead') -const ResolveFinalityConflictRequestMessage$json = const { +const ResolveFinalityConflictRequestMessage$json = { '1': 'ResolveFinalityConflictRequestMessage', - '2': const [ - const { - '1': 'finalityBlockHash', - '3': 1, - '4': 1, - '5': 9, - '10': 'finalityBlockHash' - }, + '2': [ + {'1': 'finalityBlockHash', '3': 1, '4': 1, '5': 9, '10': 'finalityBlockHash'}, ], }; /// Descriptor for `ResolveFinalityConflictRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List resolveFinalityConflictRequestMessageDescriptor = - $convert.base64Decode( - 'CiVSZXNvbHZlRmluYWxpdHlDb25mbGljdFJlcXVlc3RNZXNzYWdlEiwKEWZpbmFsaXR5QmxvY2tIYXNoGAEgASgJUhFmaW5hbGl0eUJsb2NrSGFzaA=='); -@$core - .Deprecated('Use resolveFinalityConflictResponseMessageDescriptor instead') -const ResolveFinalityConflictResponseMessage$json = const { +final $typed_data.Uint8List resolveFinalityConflictRequestMessageDescriptor = $convert.base64Decode( + 'CiVSZXNvbHZlRmluYWxpdHlDb25mbGljdFJlcXVlc3RNZXNzYWdlEiwKEWZpbmFsaXR5QmxvY2' + 'tIYXNoGAEgASgJUhFmaW5hbGl0eUJsb2NrSGFzaA=='); + +@$core.Deprecated('Use resolveFinalityConflictResponseMessageDescriptor instead') +const ResolveFinalityConflictResponseMessage$json = { '1': 'ResolveFinalityConflictResponseMessage', - '2': const [ - const { - '1': 'error', - '3': 1000, - '4': 1, - '5': 11, - '6': '.protowire.RPCError', - '10': 'error' - }, + '2': [ + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, ], }; /// Descriptor for `ResolveFinalityConflictResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List resolveFinalityConflictResponseMessageDescriptor = - $convert.base64Decode( - 'CiZSZXNvbHZlRmluYWxpdHlDb25mbGljdFJlc3BvbnNlTWVzc2FnZRIqCgVlcnJvchjoByABKAsyEy5wcm90b3dpcmUuUlBDRXJyb3JSBWVycm9y'); -@$core.Deprecated('Use notifyFinalityConflictsRequestMessageDescriptor instead') -const NotifyFinalityConflictsRequestMessage$json = const { - '1': 'NotifyFinalityConflictsRequestMessage', -}; - -/// Descriptor for `NotifyFinalityConflictsRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List notifyFinalityConflictsRequestMessageDescriptor = - $convert - .base64Decode('CiVOb3RpZnlGaW5hbGl0eUNvbmZsaWN0c1JlcXVlc3RNZXNzYWdl'); -@$core - .Deprecated('Use notifyFinalityConflictsResponseMessageDescriptor instead') -const NotifyFinalityConflictsResponseMessage$json = const { - '1': 'NotifyFinalityConflictsResponseMessage', - '2': const [ - const { - '1': 'error', - '3': 1000, - '4': 1, - '5': 11, - '6': '.protowire.RPCError', - '10': 'error' - }, - ], -}; - -/// Descriptor for `NotifyFinalityConflictsResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List notifyFinalityConflictsResponseMessageDescriptor = - $convert.base64Decode( - 'CiZOb3RpZnlGaW5hbGl0eUNvbmZsaWN0c1Jlc3BvbnNlTWVzc2FnZRIqCgVlcnJvchjoByABKAsyEy5wcm90b3dpcmUuUlBDRXJyb3JSBWVycm9y'); +final $typed_data.Uint8List resolveFinalityConflictResponseMessageDescriptor = $convert.base64Decode( + 'CiZSZXNvbHZlRmluYWxpdHlDb25mbGljdFJlc3BvbnNlTWVzc2FnZRIqCgVlcnJvchjoByABKA' + 'syEy5wcm90b3dpcmUuUlBDRXJyb3JSBWVycm9y'); + +@$core.Deprecated('Use notifyFinalityConflictRequestMessageDescriptor instead') +const NotifyFinalityConflictRequestMessage$json = { + '1': 'NotifyFinalityConflictRequestMessage', + '2': [ + {'1': 'command', '3': 101, '4': 1, '5': 14, '6': '.protowire.RpcNotifyCommand', '10': 'command'}, + ], +}; + +/// Descriptor for `NotifyFinalityConflictRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List notifyFinalityConflictRequestMessageDescriptor = $convert.base64Decode( + 'CiROb3RpZnlGaW5hbGl0eUNvbmZsaWN0UmVxdWVzdE1lc3NhZ2USNQoHY29tbWFuZBhlIAEoDj' + 'IbLnByb3Rvd2lyZS5ScGNOb3RpZnlDb21tYW5kUgdjb21tYW5k'); + +@$core.Deprecated('Use notifyFinalityConflictResponseMessageDescriptor instead') +const NotifyFinalityConflictResponseMessage$json = { + '1': 'NotifyFinalityConflictResponseMessage', + '2': [ + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, + ], +}; + +/// Descriptor for `NotifyFinalityConflictResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List notifyFinalityConflictResponseMessageDescriptor = $convert.base64Decode( + 'CiVOb3RpZnlGaW5hbGl0eUNvbmZsaWN0UmVzcG9uc2VNZXNzYWdlEioKBWVycm9yGOgHIAEoCz' + 'ITLnByb3Rvd2lyZS5SUENFcnJvclIFZXJyb3I='); + @$core.Deprecated('Use finalityConflictNotificationMessageDescriptor instead') -const FinalityConflictNotificationMessage$json = const { +const FinalityConflictNotificationMessage$json = { '1': 'FinalityConflictNotificationMessage', - '2': const [ - const { - '1': 'violatingBlockHash', - '3': 1, - '4': 1, - '5': 9, - '10': 'violatingBlockHash' - }, + '2': [ + {'1': 'violatingBlockHash', '3': 1, '4': 1, '5': 9, '10': 'violatingBlockHash'}, ], }; /// Descriptor for `FinalityConflictNotificationMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List finalityConflictNotificationMessageDescriptor = - $convert.base64Decode( - 'CiNGaW5hbGl0eUNvbmZsaWN0Tm90aWZpY2F0aW9uTWVzc2FnZRIuChJ2aW9sYXRpbmdCbG9ja0hhc2gYASABKAlSEnZpb2xhdGluZ0Jsb2NrSGFzaA=='); -@$core.Deprecated( - 'Use finalityConflictResolvedNotificationMessageDescriptor instead') -const FinalityConflictResolvedNotificationMessage$json = const { +final $typed_data.Uint8List finalityConflictNotificationMessageDescriptor = $convert.base64Decode( + 'CiNGaW5hbGl0eUNvbmZsaWN0Tm90aWZpY2F0aW9uTWVzc2FnZRIuChJ2aW9sYXRpbmdCbG9ja0' + 'hhc2gYASABKAlSEnZpb2xhdGluZ0Jsb2NrSGFzaA=='); + +@$core.Deprecated('Use finalityConflictResolvedNotificationMessageDescriptor instead') +const FinalityConflictResolvedNotificationMessage$json = { '1': 'FinalityConflictResolvedNotificationMessage', - '2': const [ - const { - '1': 'finalityBlockHash', - '3': 1, - '4': 1, - '5': 9, - '10': 'finalityBlockHash' - }, + '2': [ + {'1': 'finalityBlockHash', '3': 1, '4': 1, '5': 9, '10': 'finalityBlockHash'}, ], }; /// Descriptor for `FinalityConflictResolvedNotificationMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List - finalityConflictResolvedNotificationMessageDescriptor = - $convert.base64Decode( - 'CitGaW5hbGl0eUNvbmZsaWN0UmVzb2x2ZWROb3RpZmljYXRpb25NZXNzYWdlEiwKEWZpbmFsaXR5QmxvY2tIYXNoGAEgASgJUhFmaW5hbGl0eUJsb2NrSGFzaA=='); -@$core.Deprecated('Use shutDownRequestMessageDescriptor instead') -const ShutDownRequestMessage$json = const { - '1': 'ShutDownRequestMessage', -}; - -/// Descriptor for `ShutDownRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List shutDownRequestMessageDescriptor = - $convert.base64Decode('ChZTaHV0RG93blJlcXVlc3RNZXNzYWdl'); -@$core.Deprecated('Use shutDownResponseMessageDescriptor instead') -const ShutDownResponseMessage$json = const { - '1': 'ShutDownResponseMessage', - '2': const [ - const { - '1': 'error', - '3': 1000, - '4': 1, - '5': 11, - '6': '.protowire.RPCError', - '10': 'error' - }, - ], -}; - -/// Descriptor for `ShutDownResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List shutDownResponseMessageDescriptor = - $convert.base64Decode( - 'ChdTaHV0RG93blJlc3BvbnNlTWVzc2FnZRIqCgVlcnJvchjoByABKAsyEy5wcm90b3dpcmUuUlBDRXJyb3JSBWVycm9y'); +final $typed_data.Uint8List finalityConflictResolvedNotificationMessageDescriptor = $convert.base64Decode( + 'CitGaW5hbGl0eUNvbmZsaWN0UmVzb2x2ZWROb3RpZmljYXRpb25NZXNzYWdlEiwKEWZpbmFsaX' + 'R5QmxvY2tIYXNoGAEgASgJUhFmaW5hbGl0eUJsb2NrSGFzaA=='); + +@$core.Deprecated('Use shutdownRequestMessageDescriptor instead') +const ShutdownRequestMessage$json = { + '1': 'ShutdownRequestMessage', +}; + +/// Descriptor for `ShutdownRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List shutdownRequestMessageDescriptor = $convert.base64Decode( + 'ChZTaHV0ZG93blJlcXVlc3RNZXNzYWdl'); + +@$core.Deprecated('Use shutdownResponseMessageDescriptor instead') +const ShutdownResponseMessage$json = { + '1': 'ShutdownResponseMessage', + '2': [ + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, + ], +}; + +/// Descriptor for `ShutdownResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List shutdownResponseMessageDescriptor = $convert.base64Decode( + 'ChdTaHV0ZG93blJlc3BvbnNlTWVzc2FnZRIqCgVlcnJvchjoByABKAsyEy5wcm90b3dpcmUuUl' + 'BDRXJyb3JSBWVycm9y'); + @$core.Deprecated('Use getHeadersRequestMessageDescriptor instead') -const GetHeadersRequestMessage$json = const { +const GetHeadersRequestMessage$json = { '1': 'GetHeadersRequestMessage', - '2': const [ - const {'1': 'startHash', '3': 1, '4': 1, '5': 9, '10': 'startHash'}, - const {'1': 'limit', '3': 2, '4': 1, '5': 4, '10': 'limit'}, - const {'1': 'isAscending', '3': 3, '4': 1, '5': 8, '10': 'isAscending'}, + '2': [ + {'1': 'startHash', '3': 1, '4': 1, '5': 9, '10': 'startHash'}, + {'1': 'limit', '3': 2, '4': 1, '5': 4, '10': 'limit'}, + {'1': 'isAscending', '3': 3, '4': 1, '5': 8, '10': 'isAscending'}, ], }; /// Descriptor for `GetHeadersRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List getHeadersRequestMessageDescriptor = - $convert.base64Decode( - 'ChhHZXRIZWFkZXJzUmVxdWVzdE1lc3NhZ2USHAoJc3RhcnRIYXNoGAEgASgJUglzdGFydEhhc2gSFAoFbGltaXQYAiABKARSBWxpbWl0EiAKC2lzQXNjZW5kaW5nGAMgASgIUgtpc0FzY2VuZGluZw=='); +final $typed_data.Uint8List getHeadersRequestMessageDescriptor = $convert.base64Decode( + 'ChhHZXRIZWFkZXJzUmVxdWVzdE1lc3NhZ2USHAoJc3RhcnRIYXNoGAEgASgJUglzdGFydEhhc2' + 'gSFAoFbGltaXQYAiABKARSBWxpbWl0EiAKC2lzQXNjZW5kaW5nGAMgASgIUgtpc0FzY2VuZGlu' + 'Zw=='); + @$core.Deprecated('Use getHeadersResponseMessageDescriptor instead') -const GetHeadersResponseMessage$json = const { +const GetHeadersResponseMessage$json = { '1': 'GetHeadersResponseMessage', - '2': const [ - const {'1': 'headers', '3': 1, '4': 3, '5': 9, '10': 'headers'}, - const { - '1': 'error', - '3': 1000, - '4': 1, - '5': 11, - '6': '.protowire.RPCError', - '10': 'error' - }, + '2': [ + {'1': 'headers', '3': 1, '4': 3, '5': 9, '10': 'headers'}, + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, ], }; /// Descriptor for `GetHeadersResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List getHeadersResponseMessageDescriptor = - $convert.base64Decode( - 'ChlHZXRIZWFkZXJzUmVzcG9uc2VNZXNzYWdlEhgKB2hlYWRlcnMYASADKAlSB2hlYWRlcnMSKgoFZXJyb3IY6AcgASgLMhMucHJvdG93aXJlLlJQQ0Vycm9yUgVlcnJvcg=='); +final $typed_data.Uint8List getHeadersResponseMessageDescriptor = $convert.base64Decode( + 'ChlHZXRIZWFkZXJzUmVzcG9uc2VNZXNzYWdlEhgKB2hlYWRlcnMYASADKAlSB2hlYWRlcnMSKg' + 'oFZXJyb3IY6AcgASgLMhMucHJvdG93aXJlLlJQQ0Vycm9yUgVlcnJvcg=='); + @$core.Deprecated('Use notifyUtxosChangedRequestMessageDescriptor instead') -const NotifyUtxosChangedRequestMessage$json = const { +const NotifyUtxosChangedRequestMessage$json = { '1': 'NotifyUtxosChangedRequestMessage', - '2': const [ - const {'1': 'addresses', '3': 1, '4': 3, '5': 9, '10': 'addresses'}, + '2': [ + {'1': 'addresses', '3': 1, '4': 3, '5': 9, '10': 'addresses'}, + {'1': 'command', '3': 101, '4': 1, '5': 14, '6': '.protowire.RpcNotifyCommand', '10': 'command'}, ], }; /// Descriptor for `NotifyUtxosChangedRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List notifyUtxosChangedRequestMessageDescriptor = - $convert.base64Decode( - 'CiBOb3RpZnlVdHhvc0NoYW5nZWRSZXF1ZXN0TWVzc2FnZRIcCglhZGRyZXNzZXMYASADKAlSCWFkZHJlc3Nlcw=='); +final $typed_data.Uint8List notifyUtxosChangedRequestMessageDescriptor = $convert.base64Decode( + 'CiBOb3RpZnlVdHhvc0NoYW5nZWRSZXF1ZXN0TWVzc2FnZRIcCglhZGRyZXNzZXMYASADKAlSCW' + 'FkZHJlc3NlcxI1Cgdjb21tYW5kGGUgASgOMhsucHJvdG93aXJlLlJwY05vdGlmeUNvbW1hbmRS' + 'B2NvbW1hbmQ='); + @$core.Deprecated('Use notifyUtxosChangedResponseMessageDescriptor instead') -const NotifyUtxosChangedResponseMessage$json = const { +const NotifyUtxosChangedResponseMessage$json = { '1': 'NotifyUtxosChangedResponseMessage', - '2': const [ - const { - '1': 'error', - '3': 1000, - '4': 1, - '5': 11, - '6': '.protowire.RPCError', - '10': 'error' - }, + '2': [ + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, ], }; /// Descriptor for `NotifyUtxosChangedResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List notifyUtxosChangedResponseMessageDescriptor = - $convert.base64Decode( - 'CiFOb3RpZnlVdHhvc0NoYW5nZWRSZXNwb25zZU1lc3NhZ2USKgoFZXJyb3IY6AcgASgLMhMucHJvdG93aXJlLlJQQ0Vycm9yUgVlcnJvcg=='); +final $typed_data.Uint8List notifyUtxosChangedResponseMessageDescriptor = $convert.base64Decode( + 'CiFOb3RpZnlVdHhvc0NoYW5nZWRSZXNwb25zZU1lc3NhZ2USKgoFZXJyb3IY6AcgASgLMhMucH' + 'JvdG93aXJlLlJQQ0Vycm9yUgVlcnJvcg=='); + @$core.Deprecated('Use utxosChangedNotificationMessageDescriptor instead') -const UtxosChangedNotificationMessage$json = const { +const UtxosChangedNotificationMessage$json = { '1': 'UtxosChangedNotificationMessage', - '2': const [ - const { - '1': 'added', - '3': 1, - '4': 3, - '5': 11, - '6': '.protowire.UtxosByAddressesEntry', - '10': 'added' - }, - const { - '1': 'removed', - '3': 2, - '4': 3, - '5': 11, - '6': '.protowire.UtxosByAddressesEntry', - '10': 'removed' - }, + '2': [ + {'1': 'added', '3': 1, '4': 3, '5': 11, '6': '.protowire.RpcUtxosByAddressesEntry', '10': 'added'}, + {'1': 'removed', '3': 2, '4': 3, '5': 11, '6': '.protowire.RpcUtxosByAddressesEntry', '10': 'removed'}, ], }; /// Descriptor for `UtxosChangedNotificationMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List utxosChangedNotificationMessageDescriptor = - $convert.base64Decode( - 'Ch9VdHhvc0NoYW5nZWROb3RpZmljYXRpb25NZXNzYWdlEjYKBWFkZGVkGAEgAygLMiAucHJvdG93aXJlLlV0eG9zQnlBZGRyZXNzZXNFbnRyeVIFYWRkZWQSOgoHcmVtb3ZlZBgCIAMoCzIgLnByb3Rvd2lyZS5VdHhvc0J5QWRkcmVzc2VzRW50cnlSB3JlbW92ZWQ='); -@$core.Deprecated('Use utxosByAddressesEntryDescriptor instead') -const UtxosByAddressesEntry$json = const { - '1': 'UtxosByAddressesEntry', - '2': const [ - const {'1': 'address', '3': 1, '4': 1, '5': 9, '10': 'address'}, - const { - '1': 'outpoint', - '3': 2, - '4': 1, - '5': 11, - '6': '.protowire.RpcOutpoint', - '10': 'outpoint' - }, - const { - '1': 'utxoEntry', - '3': 3, - '4': 1, - '5': 11, - '6': '.protowire.RpcUtxoEntry', - '10': 'utxoEntry' - }, - ], -}; - -/// Descriptor for `UtxosByAddressesEntry`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List utxosByAddressesEntryDescriptor = $convert.base64Decode( - 'ChVVdHhvc0J5QWRkcmVzc2VzRW50cnkSGAoHYWRkcmVzcxgBIAEoCVIHYWRkcmVzcxIyCghvdXRwb2ludBgCIAEoCzIWLnByb3Rvd2lyZS5ScGNPdXRwb2ludFIIb3V0cG9pbnQSNQoJdXR4b0VudHJ5GAMgASgLMhcucHJvdG93aXJlLlJwY1V0eG9FbnRyeVIJdXR4b0VudHJ5'); -@$core - .Deprecated('Use stopNotifyingUtxosChangedRequestMessageDescriptor instead') -const StopNotifyingUtxosChangedRequestMessage$json = const { +final $typed_data.Uint8List utxosChangedNotificationMessageDescriptor = $convert.base64Decode( + 'Ch9VdHhvc0NoYW5nZWROb3RpZmljYXRpb25NZXNzYWdlEjkKBWFkZGVkGAEgAygLMiMucHJvdG' + '93aXJlLlJwY1V0eG9zQnlBZGRyZXNzZXNFbnRyeVIFYWRkZWQSPQoHcmVtb3ZlZBgCIAMoCzIj' + 'LnByb3Rvd2lyZS5ScGNVdHhvc0J5QWRkcmVzc2VzRW50cnlSB3JlbW92ZWQ='); + +@$core.Deprecated('Use rpcUtxosByAddressesEntryDescriptor instead') +const RpcUtxosByAddressesEntry$json = { + '1': 'RpcUtxosByAddressesEntry', + '2': [ + {'1': 'address', '3': 1, '4': 1, '5': 9, '10': 'address'}, + {'1': 'outpoint', '3': 2, '4': 1, '5': 11, '6': '.protowire.RpcOutpoint', '10': 'outpoint'}, + {'1': 'utxoEntry', '3': 3, '4': 1, '5': 11, '6': '.protowire.RpcUtxoEntry', '10': 'utxoEntry'}, + ], +}; + +/// Descriptor for `RpcUtxosByAddressesEntry`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List rpcUtxosByAddressesEntryDescriptor = $convert.base64Decode( + 'ChhScGNVdHhvc0J5QWRkcmVzc2VzRW50cnkSGAoHYWRkcmVzcxgBIAEoCVIHYWRkcmVzcxIyCg' + 'hvdXRwb2ludBgCIAEoCzIWLnByb3Rvd2lyZS5ScGNPdXRwb2ludFIIb3V0cG9pbnQSNQoJdXR4' + 'b0VudHJ5GAMgASgLMhcucHJvdG93aXJlLlJwY1V0eG9FbnRyeVIJdXR4b0VudHJ5'); + +@$core.Deprecated('Use stopNotifyingUtxosChangedRequestMessageDescriptor instead') +const StopNotifyingUtxosChangedRequestMessage$json = { '1': 'StopNotifyingUtxosChangedRequestMessage', - '2': const [ - const {'1': 'addresses', '3': 1, '4': 3, '5': 9, '10': 'addresses'}, + '2': [ + {'1': 'addresses', '3': 1, '4': 3, '5': 9, '10': 'addresses'}, ], }; /// Descriptor for `StopNotifyingUtxosChangedRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List stopNotifyingUtxosChangedRequestMessageDescriptor = - $convert.base64Decode( - 'CidTdG9wTm90aWZ5aW5nVXR4b3NDaGFuZ2VkUmVxdWVzdE1lc3NhZ2USHAoJYWRkcmVzc2VzGAEgAygJUglhZGRyZXNzZXM='); -@$core.Deprecated( - 'Use stopNotifyingUtxosChangedResponseMessageDescriptor instead') -const StopNotifyingUtxosChangedResponseMessage$json = const { +final $typed_data.Uint8List stopNotifyingUtxosChangedRequestMessageDescriptor = $convert.base64Decode( + 'CidTdG9wTm90aWZ5aW5nVXR4b3NDaGFuZ2VkUmVxdWVzdE1lc3NhZ2USHAoJYWRkcmVzc2VzGA' + 'EgAygJUglhZGRyZXNzZXM='); + +@$core.Deprecated('Use stopNotifyingUtxosChangedResponseMessageDescriptor instead') +const StopNotifyingUtxosChangedResponseMessage$json = { '1': 'StopNotifyingUtxosChangedResponseMessage', - '2': const [ - const { - '1': 'error', - '3': 1000, - '4': 1, - '5': 11, - '6': '.protowire.RPCError', - '10': 'error' - }, + '2': [ + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, ], }; /// Descriptor for `StopNotifyingUtxosChangedResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List stopNotifyingUtxosChangedResponseMessageDescriptor = - $convert.base64Decode( - 'CihTdG9wTm90aWZ5aW5nVXR4b3NDaGFuZ2VkUmVzcG9uc2VNZXNzYWdlEioKBWVycm9yGOgHIAEoCzITLnByb3Rvd2lyZS5SUENFcnJvclIFZXJyb3I='); +final $typed_data.Uint8List stopNotifyingUtxosChangedResponseMessageDescriptor = $convert.base64Decode( + 'CihTdG9wTm90aWZ5aW5nVXR4b3NDaGFuZ2VkUmVzcG9uc2VNZXNzYWdlEioKBWVycm9yGOgHIA' + 'EoCzITLnByb3Rvd2lyZS5SUENFcnJvclIFZXJyb3I='); + @$core.Deprecated('Use getUtxosByAddressesRequestMessageDescriptor instead') -const GetUtxosByAddressesRequestMessage$json = const { +const GetUtxosByAddressesRequestMessage$json = { '1': 'GetUtxosByAddressesRequestMessage', - '2': const [ - const {'1': 'addresses', '3': 1, '4': 3, '5': 9, '10': 'addresses'}, + '2': [ + {'1': 'addresses', '3': 1, '4': 3, '5': 9, '10': 'addresses'}, ], }; /// Descriptor for `GetUtxosByAddressesRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List getUtxosByAddressesRequestMessageDescriptor = - $convert.base64Decode( - 'CiFHZXRVdHhvc0J5QWRkcmVzc2VzUmVxdWVzdE1lc3NhZ2USHAoJYWRkcmVzc2VzGAEgAygJUglhZGRyZXNzZXM='); +final $typed_data.Uint8List getUtxosByAddressesRequestMessageDescriptor = $convert.base64Decode( + 'CiFHZXRVdHhvc0J5QWRkcmVzc2VzUmVxdWVzdE1lc3NhZ2USHAoJYWRkcmVzc2VzGAEgAygJUg' + 'lhZGRyZXNzZXM='); + @$core.Deprecated('Use getUtxosByAddressesResponseMessageDescriptor instead') -const GetUtxosByAddressesResponseMessage$json = const { +const GetUtxosByAddressesResponseMessage$json = { '1': 'GetUtxosByAddressesResponseMessage', - '2': const [ - const { - '1': 'entries', - '3': 1, - '4': 3, - '5': 11, - '6': '.protowire.UtxosByAddressesEntry', - '10': 'entries' - }, - const { - '1': 'error', - '3': 1000, - '4': 1, - '5': 11, - '6': '.protowire.RPCError', - '10': 'error' - }, + '2': [ + {'1': 'entries', '3': 1, '4': 3, '5': 11, '6': '.protowire.RpcUtxosByAddressesEntry', '10': 'entries'}, + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, ], }; /// Descriptor for `GetUtxosByAddressesResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List getUtxosByAddressesResponseMessageDescriptor = - $convert.base64Decode( - 'CiJHZXRVdHhvc0J5QWRkcmVzc2VzUmVzcG9uc2VNZXNzYWdlEjoKB2VudHJpZXMYASADKAsyIC5wcm90b3dpcmUuVXR4b3NCeUFkZHJlc3Nlc0VudHJ5UgdlbnRyaWVzEioKBWVycm9yGOgHIAEoCzITLnByb3Rvd2lyZS5SUENFcnJvclIFZXJyb3I='); +final $typed_data.Uint8List getUtxosByAddressesResponseMessageDescriptor = $convert.base64Decode( + 'CiJHZXRVdHhvc0J5QWRkcmVzc2VzUmVzcG9uc2VNZXNzYWdlEj0KB2VudHJpZXMYASADKAsyIy' + '5wcm90b3dpcmUuUnBjVXR4b3NCeUFkZHJlc3Nlc0VudHJ5UgdlbnRyaWVzEioKBWVycm9yGOgH' + 'IAEoCzITLnByb3Rvd2lyZS5SUENFcnJvclIFZXJyb3I='); + @$core.Deprecated('Use getBalanceByAddressRequestMessageDescriptor instead') -const GetBalanceByAddressRequestMessage$json = const { +const GetBalanceByAddressRequestMessage$json = { '1': 'GetBalanceByAddressRequestMessage', - '2': const [ - const {'1': 'address', '3': 1, '4': 1, '5': 9, '10': 'address'}, + '2': [ + {'1': 'address', '3': 1, '4': 1, '5': 9, '10': 'address'}, ], }; /// Descriptor for `GetBalanceByAddressRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List getBalanceByAddressRequestMessageDescriptor = - $convert.base64Decode( - 'CiFHZXRCYWxhbmNlQnlBZGRyZXNzUmVxdWVzdE1lc3NhZ2USGAoHYWRkcmVzcxgBIAEoCVIHYWRkcmVzcw=='); +final $typed_data.Uint8List getBalanceByAddressRequestMessageDescriptor = $convert.base64Decode( + 'CiFHZXRCYWxhbmNlQnlBZGRyZXNzUmVxdWVzdE1lc3NhZ2USGAoHYWRkcmVzcxgBIAEoCVIHYW' + 'RkcmVzcw=='); + @$core.Deprecated('Use getBalanceByAddressResponseMessageDescriptor instead') -const GetBalanceByAddressResponseMessage$json = const { +const GetBalanceByAddressResponseMessage$json = { '1': 'GetBalanceByAddressResponseMessage', - '2': const [ - const {'1': 'balance', '3': 1, '4': 1, '5': 4, '10': 'balance'}, - const { - '1': 'error', - '3': 1000, - '4': 1, - '5': 11, - '6': '.protowire.RPCError', - '10': 'error' - }, + '2': [ + {'1': 'balance', '3': 1, '4': 1, '5': 4, '10': 'balance'}, + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, ], }; /// Descriptor for `GetBalanceByAddressResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List getBalanceByAddressResponseMessageDescriptor = - $convert.base64Decode( - 'CiJHZXRCYWxhbmNlQnlBZGRyZXNzUmVzcG9uc2VNZXNzYWdlEhgKB2JhbGFuY2UYASABKARSB2JhbGFuY2USKgoFZXJyb3IY6AcgASgLMhMucHJvdG93aXJlLlJQQ0Vycm9yUgVlcnJvcg=='); +final $typed_data.Uint8List getBalanceByAddressResponseMessageDescriptor = $convert.base64Decode( + 'CiJHZXRCYWxhbmNlQnlBZGRyZXNzUmVzcG9uc2VNZXNzYWdlEhgKB2JhbGFuY2UYASABKARSB2' + 'JhbGFuY2USKgoFZXJyb3IY6AcgASgLMhMucHJvdG93aXJlLlJQQ0Vycm9yUgVlcnJvcg=='); + @$core.Deprecated('Use getBalancesByAddressesRequestMessageDescriptor instead') -const GetBalancesByAddressesRequestMessage$json = const { +const GetBalancesByAddressesRequestMessage$json = { '1': 'GetBalancesByAddressesRequestMessage', - '2': const [ - const {'1': 'addresses', '3': 1, '4': 3, '5': 9, '10': 'addresses'}, + '2': [ + {'1': 'addresses', '3': 1, '4': 3, '5': 9, '10': 'addresses'}, ], }; /// Descriptor for `GetBalancesByAddressesRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List getBalancesByAddressesRequestMessageDescriptor = - $convert.base64Decode( - 'CiRHZXRCYWxhbmNlc0J5QWRkcmVzc2VzUmVxdWVzdE1lc3NhZ2USHAoJYWRkcmVzc2VzGAEgAygJUglhZGRyZXNzZXM='); -@$core.Deprecated('Use balancesByAddressEntryDescriptor instead') -const BalancesByAddressEntry$json = const { - '1': 'BalancesByAddressEntry', - '2': const [ - const {'1': 'address', '3': 1, '4': 1, '5': 9, '10': 'address'}, - const {'1': 'balance', '3': 2, '4': 1, '5': 4, '10': 'balance'}, - const { - '1': 'error', - '3': 1000, - '4': 1, - '5': 11, - '6': '.protowire.RPCError', - '10': 'error' - }, - ], -}; - -/// Descriptor for `BalancesByAddressEntry`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List balancesByAddressEntryDescriptor = - $convert.base64Decode( - 'ChZCYWxhbmNlc0J5QWRkcmVzc0VudHJ5EhgKB2FkZHJlc3MYASABKAlSB2FkZHJlc3MSGAoHYmFsYW5jZRgCIAEoBFIHYmFsYW5jZRIqCgVlcnJvchjoByABKAsyEy5wcm90b3dpcmUuUlBDRXJyb3JSBWVycm9y'); +final $typed_data.Uint8List getBalancesByAddressesRequestMessageDescriptor = $convert.base64Decode( + 'CiRHZXRCYWxhbmNlc0J5QWRkcmVzc2VzUmVxdWVzdE1lc3NhZ2USHAoJYWRkcmVzc2VzGAEgAy' + 'gJUglhZGRyZXNzZXM='); + +@$core.Deprecated('Use rpcBalancesByAddressesEntryDescriptor instead') +const RpcBalancesByAddressesEntry$json = { + '1': 'RpcBalancesByAddressesEntry', + '2': [ + {'1': 'address', '3': 1, '4': 1, '5': 9, '10': 'address'}, + {'1': 'balance', '3': 2, '4': 1, '5': 4, '10': 'balance'}, + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, + ], +}; + +/// Descriptor for `RpcBalancesByAddressesEntry`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List rpcBalancesByAddressesEntryDescriptor = $convert.base64Decode( + 'ChtScGNCYWxhbmNlc0J5QWRkcmVzc2VzRW50cnkSGAoHYWRkcmVzcxgBIAEoCVIHYWRkcmVzcx' + 'IYCgdiYWxhbmNlGAIgASgEUgdiYWxhbmNlEioKBWVycm9yGOgHIAEoCzITLnByb3Rvd2lyZS5S' + 'UENFcnJvclIFZXJyb3I='); + @$core.Deprecated('Use getBalancesByAddressesResponseMessageDescriptor instead') -const GetBalancesByAddressesResponseMessage$json = const { +const GetBalancesByAddressesResponseMessage$json = { '1': 'GetBalancesByAddressesResponseMessage', - '2': const [ - const { - '1': 'entries', - '3': 1, - '4': 3, - '5': 11, - '6': '.protowire.BalancesByAddressEntry', - '10': 'entries' - }, - const { - '1': 'error', - '3': 1000, - '4': 1, - '5': 11, - '6': '.protowire.RPCError', - '10': 'error' - }, + '2': [ + {'1': 'entries', '3': 1, '4': 3, '5': 11, '6': '.protowire.RpcBalancesByAddressesEntry', '10': 'entries'}, + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, ], }; /// Descriptor for `GetBalancesByAddressesResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List getBalancesByAddressesResponseMessageDescriptor = - $convert.base64Decode( - 'CiVHZXRCYWxhbmNlc0J5QWRkcmVzc2VzUmVzcG9uc2VNZXNzYWdlEjsKB2VudHJpZXMYASADKAsyIS5wcm90b3dpcmUuQmFsYW5jZXNCeUFkZHJlc3NFbnRyeVIHZW50cmllcxIqCgVlcnJvchjoByABKAsyEy5wcm90b3dpcmUuUlBDRXJyb3JSBWVycm9y'); -@$core.Deprecated( - 'Use getVirtualSelectedParentBlueScoreRequestMessageDescriptor instead') -const GetVirtualSelectedParentBlueScoreRequestMessage$json = const { - '1': 'GetVirtualSelectedParentBlueScoreRequestMessage', -}; - -/// Descriptor for `GetVirtualSelectedParentBlueScoreRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List - getVirtualSelectedParentBlueScoreRequestMessageDescriptor = - $convert.base64Decode( - 'Ci9HZXRWaXJ0dWFsU2VsZWN0ZWRQYXJlbnRCbHVlU2NvcmVSZXF1ZXN0TWVzc2FnZQ=='); -@$core.Deprecated( - 'Use getVirtualSelectedParentBlueScoreResponseMessageDescriptor instead') -const GetVirtualSelectedParentBlueScoreResponseMessage$json = const { - '1': 'GetVirtualSelectedParentBlueScoreResponseMessage', - '2': const [ - const {'1': 'blueScore', '3': 1, '4': 1, '5': 4, '10': 'blueScore'}, - const { - '1': 'error', - '3': 1000, - '4': 1, - '5': 11, - '6': '.protowire.RPCError', - '10': 'error' - }, - ], -}; - -/// Descriptor for `GetVirtualSelectedParentBlueScoreResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List - getVirtualSelectedParentBlueScoreResponseMessageDescriptor = - $convert.base64Decode( - 'CjBHZXRWaXJ0dWFsU2VsZWN0ZWRQYXJlbnRCbHVlU2NvcmVSZXNwb25zZU1lc3NhZ2USHAoJYmx1ZVNjb3JlGAEgASgEUglibHVlU2NvcmUSKgoFZXJyb3IY6AcgASgLMhMucHJvdG93aXJlLlJQQ0Vycm9yUgVlcnJvcg=='); -@$core.Deprecated( - 'Use notifyVirtualSelectedParentBlueScoreChangedRequestMessageDescriptor instead') -const NotifyVirtualSelectedParentBlueScoreChangedRequestMessage$json = const { - '1': 'NotifyVirtualSelectedParentBlueScoreChangedRequestMessage', -}; - -/// Descriptor for `NotifyVirtualSelectedParentBlueScoreChangedRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List - notifyVirtualSelectedParentBlueScoreChangedRequestMessageDescriptor = - $convert.base64Decode( - 'CjlOb3RpZnlWaXJ0dWFsU2VsZWN0ZWRQYXJlbnRCbHVlU2NvcmVDaGFuZ2VkUmVxdWVzdE1lc3NhZ2U='); -@$core.Deprecated( - 'Use notifyVirtualSelectedParentBlueScoreChangedResponseMessageDescriptor instead') -const NotifyVirtualSelectedParentBlueScoreChangedResponseMessage$json = const { - '1': 'NotifyVirtualSelectedParentBlueScoreChangedResponseMessage', - '2': const [ - const { - '1': 'error', - '3': 1000, - '4': 1, - '5': 11, - '6': '.protowire.RPCError', - '10': 'error' - }, - ], -}; - -/// Descriptor for `NotifyVirtualSelectedParentBlueScoreChangedResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List - notifyVirtualSelectedParentBlueScoreChangedResponseMessageDescriptor = - $convert.base64Decode( - 'CjpOb3RpZnlWaXJ0dWFsU2VsZWN0ZWRQYXJlbnRCbHVlU2NvcmVDaGFuZ2VkUmVzcG9uc2VNZXNzYWdlEioKBWVycm9yGOgHIAEoCzITLnByb3Rvd2lyZS5SUENFcnJvclIFZXJyb3I='); -@$core.Deprecated( - 'Use virtualSelectedParentBlueScoreChangedNotificationMessageDescriptor instead') -const VirtualSelectedParentBlueScoreChangedNotificationMessage$json = const { - '1': 'VirtualSelectedParentBlueScoreChangedNotificationMessage', - '2': const [ - const { - '1': 'virtualSelectedParentBlueScore', - '3': 1, - '4': 1, - '5': 4, - '10': 'virtualSelectedParentBlueScore' - }, - ], -}; - -/// Descriptor for `VirtualSelectedParentBlueScoreChangedNotificationMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List - virtualSelectedParentBlueScoreChangedNotificationMessageDescriptor = - $convert.base64Decode( - 'CjhWaXJ0dWFsU2VsZWN0ZWRQYXJlbnRCbHVlU2NvcmVDaGFuZ2VkTm90aWZpY2F0aW9uTWVzc2FnZRJGCh52aXJ0dWFsU2VsZWN0ZWRQYXJlbnRCbHVlU2NvcmUYASABKARSHnZpcnR1YWxTZWxlY3RlZFBhcmVudEJsdWVTY29yZQ=='); -@$core.Deprecated( - 'Use notifyVirtualDaaScoreChangedRequestMessageDescriptor instead') -const NotifyVirtualDaaScoreChangedRequestMessage$json = const { +final $typed_data.Uint8List getBalancesByAddressesResponseMessageDescriptor = $convert.base64Decode( + 'CiVHZXRCYWxhbmNlc0J5QWRkcmVzc2VzUmVzcG9uc2VNZXNzYWdlEkAKB2VudHJpZXMYASADKA' + 'syJi5wcm90b3dpcmUuUnBjQmFsYW5jZXNCeUFkZHJlc3Nlc0VudHJ5UgdlbnRyaWVzEioKBWVy' + 'cm9yGOgHIAEoCzITLnByb3Rvd2lyZS5SUENFcnJvclIFZXJyb3I='); + +@$core.Deprecated('Use getSinkBlueScoreRequestMessageDescriptor instead') +const GetSinkBlueScoreRequestMessage$json = { + '1': 'GetSinkBlueScoreRequestMessage', +}; + +/// Descriptor for `GetSinkBlueScoreRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getSinkBlueScoreRequestMessageDescriptor = $convert.base64Decode( + 'Ch5HZXRTaW5rQmx1ZVNjb3JlUmVxdWVzdE1lc3NhZ2U='); + +@$core.Deprecated('Use getSinkBlueScoreResponseMessageDescriptor instead') +const GetSinkBlueScoreResponseMessage$json = { + '1': 'GetSinkBlueScoreResponseMessage', + '2': [ + {'1': 'blueScore', '3': 1, '4': 1, '5': 4, '10': 'blueScore'}, + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, + ], +}; + +/// Descriptor for `GetSinkBlueScoreResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getSinkBlueScoreResponseMessageDescriptor = $convert.base64Decode( + 'Ch9HZXRTaW5rQmx1ZVNjb3JlUmVzcG9uc2VNZXNzYWdlEhwKCWJsdWVTY29yZRgBIAEoBFIJYm' + 'x1ZVNjb3JlEioKBWVycm9yGOgHIAEoCzITLnByb3Rvd2lyZS5SUENFcnJvclIFZXJyb3I='); + +@$core.Deprecated('Use notifySinkBlueScoreChangedRequestMessageDescriptor instead') +const NotifySinkBlueScoreChangedRequestMessage$json = { + '1': 'NotifySinkBlueScoreChangedRequestMessage', + '2': [ + {'1': 'command', '3': 101, '4': 1, '5': 14, '6': '.protowire.RpcNotifyCommand', '10': 'command'}, + ], +}; + +/// Descriptor for `NotifySinkBlueScoreChangedRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List notifySinkBlueScoreChangedRequestMessageDescriptor = $convert.base64Decode( + 'CihOb3RpZnlTaW5rQmx1ZVNjb3JlQ2hhbmdlZFJlcXVlc3RNZXNzYWdlEjUKB2NvbW1hbmQYZS' + 'ABKA4yGy5wcm90b3dpcmUuUnBjTm90aWZ5Q29tbWFuZFIHY29tbWFuZA=='); + +@$core.Deprecated('Use notifySinkBlueScoreChangedResponseMessageDescriptor instead') +const NotifySinkBlueScoreChangedResponseMessage$json = { + '1': 'NotifySinkBlueScoreChangedResponseMessage', + '2': [ + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, + ], +}; + +/// Descriptor for `NotifySinkBlueScoreChangedResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List notifySinkBlueScoreChangedResponseMessageDescriptor = $convert.base64Decode( + 'CilOb3RpZnlTaW5rQmx1ZVNjb3JlQ2hhbmdlZFJlc3BvbnNlTWVzc2FnZRIqCgVlcnJvchjoBy' + 'ABKAsyEy5wcm90b3dpcmUuUlBDRXJyb3JSBWVycm9y'); + +@$core.Deprecated('Use sinkBlueScoreChangedNotificationMessageDescriptor instead') +const SinkBlueScoreChangedNotificationMessage$json = { + '1': 'SinkBlueScoreChangedNotificationMessage', + '2': [ + {'1': 'sinkBlueScore', '3': 1, '4': 1, '5': 4, '10': 'sinkBlueScore'}, + ], +}; + +/// Descriptor for `SinkBlueScoreChangedNotificationMessage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List sinkBlueScoreChangedNotificationMessageDescriptor = $convert.base64Decode( + 'CidTaW5rQmx1ZVNjb3JlQ2hhbmdlZE5vdGlmaWNhdGlvbk1lc3NhZ2USJAoNc2lua0JsdWVTY2' + '9yZRgBIAEoBFINc2lua0JsdWVTY29yZQ=='); + +@$core.Deprecated('Use notifyVirtualDaaScoreChangedRequestMessageDescriptor instead') +const NotifyVirtualDaaScoreChangedRequestMessage$json = { '1': 'NotifyVirtualDaaScoreChangedRequestMessage', + '2': [ + {'1': 'command', '3': 101, '4': 1, '5': 14, '6': '.protowire.RpcNotifyCommand', '10': 'command'}, + ], }; /// Descriptor for `NotifyVirtualDaaScoreChangedRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List - notifyVirtualDaaScoreChangedRequestMessageDescriptor = - $convert.base64Decode( - 'CipOb3RpZnlWaXJ0dWFsRGFhU2NvcmVDaGFuZ2VkUmVxdWVzdE1lc3NhZ2U='); -@$core.Deprecated( - 'Use notifyVirtualDaaScoreChangedResponseMessageDescriptor instead') -const NotifyVirtualDaaScoreChangedResponseMessage$json = const { +final $typed_data.Uint8List notifyVirtualDaaScoreChangedRequestMessageDescriptor = $convert.base64Decode( + 'CipOb3RpZnlWaXJ0dWFsRGFhU2NvcmVDaGFuZ2VkUmVxdWVzdE1lc3NhZ2USNQoHY29tbWFuZB' + 'hlIAEoDjIbLnByb3Rvd2lyZS5ScGNOb3RpZnlDb21tYW5kUgdjb21tYW5k'); + +@$core.Deprecated('Use notifyVirtualDaaScoreChangedResponseMessageDescriptor instead') +const NotifyVirtualDaaScoreChangedResponseMessage$json = { '1': 'NotifyVirtualDaaScoreChangedResponseMessage', - '2': const [ - const { - '1': 'error', - '3': 1000, - '4': 1, - '5': 11, - '6': '.protowire.RPCError', - '10': 'error' - }, + '2': [ + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, ], }; /// Descriptor for `NotifyVirtualDaaScoreChangedResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List - notifyVirtualDaaScoreChangedResponseMessageDescriptor = - $convert.base64Decode( - 'CitOb3RpZnlWaXJ0dWFsRGFhU2NvcmVDaGFuZ2VkUmVzcG9uc2VNZXNzYWdlEioKBWVycm9yGOgHIAEoCzITLnByb3Rvd2lyZS5SUENFcnJvclIFZXJyb3I='); -@$core.Deprecated( - 'Use virtualDaaScoreChangedNotificationMessageDescriptor instead') -const VirtualDaaScoreChangedNotificationMessage$json = const { +final $typed_data.Uint8List notifyVirtualDaaScoreChangedResponseMessageDescriptor = $convert.base64Decode( + 'CitOb3RpZnlWaXJ0dWFsRGFhU2NvcmVDaGFuZ2VkUmVzcG9uc2VNZXNzYWdlEioKBWVycm9yGO' + 'gHIAEoCzITLnByb3Rvd2lyZS5SUENFcnJvclIFZXJyb3I='); + +@$core.Deprecated('Use virtualDaaScoreChangedNotificationMessageDescriptor instead') +const VirtualDaaScoreChangedNotificationMessage$json = { '1': 'VirtualDaaScoreChangedNotificationMessage', - '2': const [ - const { - '1': 'virtualDaaScore', - '3': 1, - '4': 1, - '5': 4, - '10': 'virtualDaaScore' - }, + '2': [ + {'1': 'virtualDaaScore', '3': 1, '4': 1, '5': 4, '10': 'virtualDaaScore'}, ], }; /// Descriptor for `VirtualDaaScoreChangedNotificationMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List - virtualDaaScoreChangedNotificationMessageDescriptor = $convert.base64Decode( - 'CilWaXJ0dWFsRGFhU2NvcmVDaGFuZ2VkTm90aWZpY2F0aW9uTWVzc2FnZRIoCg92aXJ0dWFsRGFhU2NvcmUYASABKARSD3ZpcnR1YWxEYWFTY29yZQ=='); -@$core.Deprecated( - 'Use notifyPruningPointUTXOSetOverrideRequestMessageDescriptor instead') -const NotifyPruningPointUTXOSetOverrideRequestMessage$json = const { - '1': 'NotifyPruningPointUTXOSetOverrideRequestMessage', -}; - -/// Descriptor for `NotifyPruningPointUTXOSetOverrideRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List - notifyPruningPointUTXOSetOverrideRequestMessageDescriptor = - $convert.base64Decode( - 'Ci9Ob3RpZnlQcnVuaW5nUG9pbnRVVFhPU2V0T3ZlcnJpZGVSZXF1ZXN0TWVzc2FnZQ=='); -@$core.Deprecated( - 'Use notifyPruningPointUTXOSetOverrideResponseMessageDescriptor instead') -const NotifyPruningPointUTXOSetOverrideResponseMessage$json = const { - '1': 'NotifyPruningPointUTXOSetOverrideResponseMessage', - '2': const [ - const { - '1': 'error', - '3': 1000, - '4': 1, - '5': 11, - '6': '.protowire.RPCError', - '10': 'error' - }, - ], -}; - -/// Descriptor for `NotifyPruningPointUTXOSetOverrideResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List - notifyPruningPointUTXOSetOverrideResponseMessageDescriptor = - $convert.base64Decode( - 'CjBOb3RpZnlQcnVuaW5nUG9pbnRVVFhPU2V0T3ZlcnJpZGVSZXNwb25zZU1lc3NhZ2USKgoFZXJyb3IY6AcgASgLMhMucHJvdG93aXJlLlJQQ0Vycm9yUgVlcnJvcg=='); -@$core.Deprecated( - 'Use pruningPointUTXOSetOverrideNotificationMessageDescriptor instead') -const PruningPointUTXOSetOverrideNotificationMessage$json = const { - '1': 'PruningPointUTXOSetOverrideNotificationMessage', -}; - -/// Descriptor for `PruningPointUTXOSetOverrideNotificationMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List - pruningPointUTXOSetOverrideNotificationMessageDescriptor = - $convert.base64Decode( - 'Ci5QcnVuaW5nUG9pbnRVVFhPU2V0T3ZlcnJpZGVOb3RpZmljYXRpb25NZXNzYWdl'); -@$core.Deprecated( - 'Use stopNotifyingPruningPointUTXOSetOverrideRequestMessageDescriptor instead') -const StopNotifyingPruningPointUTXOSetOverrideRequestMessage$json = const { - '1': 'StopNotifyingPruningPointUTXOSetOverrideRequestMessage', -}; - -/// Descriptor for `StopNotifyingPruningPointUTXOSetOverrideRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List - stopNotifyingPruningPointUTXOSetOverrideRequestMessageDescriptor = - $convert.base64Decode( - 'CjZTdG9wTm90aWZ5aW5nUHJ1bmluZ1BvaW50VVRYT1NldE92ZXJyaWRlUmVxdWVzdE1lc3NhZ2U='); -@$core.Deprecated( - 'Use stopNotifyingPruningPointUTXOSetOverrideResponseMessageDescriptor instead') -const StopNotifyingPruningPointUTXOSetOverrideResponseMessage$json = const { - '1': 'StopNotifyingPruningPointUTXOSetOverrideResponseMessage', - '2': const [ - const { - '1': 'error', - '3': 1000, - '4': 1, - '5': 11, - '6': '.protowire.RPCError', - '10': 'error' - }, - ], -}; - -/// Descriptor for `StopNotifyingPruningPointUTXOSetOverrideResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List - stopNotifyingPruningPointUTXOSetOverrideResponseMessageDescriptor = - $convert.base64Decode( - 'CjdTdG9wTm90aWZ5aW5nUHJ1bmluZ1BvaW50VVRYT1NldE92ZXJyaWRlUmVzcG9uc2VNZXNzYWdlEioKBWVycm9yGOgHIAEoCzITLnByb3Rvd2lyZS5SUENFcnJvclIFZXJyb3I='); +final $typed_data.Uint8List virtualDaaScoreChangedNotificationMessageDescriptor = $convert.base64Decode( + 'CilWaXJ0dWFsRGFhU2NvcmVDaGFuZ2VkTm90aWZpY2F0aW9uTWVzc2FnZRIoCg92aXJ0dWFsRG' + 'FhU2NvcmUYASABKARSD3ZpcnR1YWxEYWFTY29yZQ=='); + +@$core.Deprecated('Use notifyPruningPointUtxoSetOverrideRequestMessageDescriptor instead') +const NotifyPruningPointUtxoSetOverrideRequestMessage$json = { + '1': 'NotifyPruningPointUtxoSetOverrideRequestMessage', + '2': [ + {'1': 'command', '3': 101, '4': 1, '5': 14, '6': '.protowire.RpcNotifyCommand', '10': 'command'}, + ], +}; + +/// Descriptor for `NotifyPruningPointUtxoSetOverrideRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List notifyPruningPointUtxoSetOverrideRequestMessageDescriptor = $convert.base64Decode( + 'Ci9Ob3RpZnlQcnVuaW5nUG9pbnRVdHhvU2V0T3ZlcnJpZGVSZXF1ZXN0TWVzc2FnZRI1Cgdjb2' + '1tYW5kGGUgASgOMhsucHJvdG93aXJlLlJwY05vdGlmeUNvbW1hbmRSB2NvbW1hbmQ='); + +@$core.Deprecated('Use notifyPruningPointUtxoSetOverrideResponseMessageDescriptor instead') +const NotifyPruningPointUtxoSetOverrideResponseMessage$json = { + '1': 'NotifyPruningPointUtxoSetOverrideResponseMessage', + '2': [ + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, + ], +}; + +/// Descriptor for `NotifyPruningPointUtxoSetOverrideResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List notifyPruningPointUtxoSetOverrideResponseMessageDescriptor = $convert.base64Decode( + 'CjBOb3RpZnlQcnVuaW5nUG9pbnRVdHhvU2V0T3ZlcnJpZGVSZXNwb25zZU1lc3NhZ2USKgoFZX' + 'Jyb3IY6AcgASgLMhMucHJvdG93aXJlLlJQQ0Vycm9yUgVlcnJvcg=='); + +@$core.Deprecated('Use pruningPointUtxoSetOverrideNotificationMessageDescriptor instead') +const PruningPointUtxoSetOverrideNotificationMessage$json = { + '1': 'PruningPointUtxoSetOverrideNotificationMessage', +}; + +/// Descriptor for `PruningPointUtxoSetOverrideNotificationMessage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List pruningPointUtxoSetOverrideNotificationMessageDescriptor = $convert.base64Decode( + 'Ci5QcnVuaW5nUG9pbnRVdHhvU2V0T3ZlcnJpZGVOb3RpZmljYXRpb25NZXNzYWdl'); + +@$core.Deprecated('Use stopNotifyingPruningPointUtxoSetOverrideRequestMessageDescriptor instead') +const StopNotifyingPruningPointUtxoSetOverrideRequestMessage$json = { + '1': 'StopNotifyingPruningPointUtxoSetOverrideRequestMessage', +}; + +/// Descriptor for `StopNotifyingPruningPointUtxoSetOverrideRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List stopNotifyingPruningPointUtxoSetOverrideRequestMessageDescriptor = $convert.base64Decode( + 'CjZTdG9wTm90aWZ5aW5nUHJ1bmluZ1BvaW50VXR4b1NldE92ZXJyaWRlUmVxdWVzdE1lc3NhZ2' + 'U='); + +@$core.Deprecated('Use stopNotifyingPruningPointUtxoSetOverrideResponseMessageDescriptor instead') +const StopNotifyingPruningPointUtxoSetOverrideResponseMessage$json = { + '1': 'StopNotifyingPruningPointUtxoSetOverrideResponseMessage', + '2': [ + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, + ], +}; + +/// Descriptor for `StopNotifyingPruningPointUtxoSetOverrideResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List stopNotifyingPruningPointUtxoSetOverrideResponseMessageDescriptor = $convert.base64Decode( + 'CjdTdG9wTm90aWZ5aW5nUHJ1bmluZ1BvaW50VXR4b1NldE92ZXJyaWRlUmVzcG9uc2VNZXNzYW' + 'dlEioKBWVycm9yGOgHIAEoCzITLnByb3Rvd2lyZS5SUENFcnJvclIFZXJyb3I='); + @$core.Deprecated('Use banRequestMessageDescriptor instead') -const BanRequestMessage$json = const { +const BanRequestMessage$json = { '1': 'BanRequestMessage', - '2': const [ - const {'1': 'ip', '3': 1, '4': 1, '5': 9, '10': 'ip'}, + '2': [ + {'1': 'ip', '3': 1, '4': 1, '5': 9, '10': 'ip'}, ], }; /// Descriptor for `BanRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List banRequestMessageDescriptor = - $convert.base64Decode('ChFCYW5SZXF1ZXN0TWVzc2FnZRIOCgJpcBgBIAEoCVICaXA='); +final $typed_data.Uint8List banRequestMessageDescriptor = $convert.base64Decode( + 'ChFCYW5SZXF1ZXN0TWVzc2FnZRIOCgJpcBgBIAEoCVICaXA='); + @$core.Deprecated('Use banResponseMessageDescriptor instead') -const BanResponseMessage$json = const { +const BanResponseMessage$json = { '1': 'BanResponseMessage', - '2': const [ - const { - '1': 'error', - '3': 1000, - '4': 1, - '5': 11, - '6': '.protowire.RPCError', - '10': 'error' - }, + '2': [ + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, ], }; /// Descriptor for `BanResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. final $typed_data.Uint8List banResponseMessageDescriptor = $convert.base64Decode( - 'ChJCYW5SZXNwb25zZU1lc3NhZ2USKgoFZXJyb3IY6AcgASgLMhMucHJvdG93aXJlLlJQQ0Vycm9yUgVlcnJvcg=='); + 'ChJCYW5SZXNwb25zZU1lc3NhZ2USKgoFZXJyb3IY6AcgASgLMhMucHJvdG93aXJlLlJQQ0Vycm' + '9yUgVlcnJvcg=='); + @$core.Deprecated('Use unbanRequestMessageDescriptor instead') -const UnbanRequestMessage$json = const { +const UnbanRequestMessage$json = { '1': 'UnbanRequestMessage', - '2': const [ - const {'1': 'ip', '3': 1, '4': 1, '5': 9, '10': 'ip'}, + '2': [ + {'1': 'ip', '3': 1, '4': 1, '5': 9, '10': 'ip'}, ], }; /// Descriptor for `UnbanRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List unbanRequestMessageDescriptor = $convert - .base64Decode('ChNVbmJhblJlcXVlc3RNZXNzYWdlEg4KAmlwGAEgASgJUgJpcA=='); +final $typed_data.Uint8List unbanRequestMessageDescriptor = $convert.base64Decode( + 'ChNVbmJhblJlcXVlc3RNZXNzYWdlEg4KAmlwGAEgASgJUgJpcA=='); + @$core.Deprecated('Use unbanResponseMessageDescriptor instead') -const UnbanResponseMessage$json = const { +const UnbanResponseMessage$json = { '1': 'UnbanResponseMessage', - '2': const [ - const { - '1': 'error', - '3': 1000, - '4': 1, - '5': 11, - '6': '.protowire.RPCError', - '10': 'error' - }, + '2': [ + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, ], }; /// Descriptor for `UnbanResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. final $typed_data.Uint8List unbanResponseMessageDescriptor = $convert.base64Decode( - 'ChRVbmJhblJlc3BvbnNlTWVzc2FnZRIqCgVlcnJvchjoByABKAsyEy5wcm90b3dpcmUuUlBDRXJyb3JSBWVycm9y'); + 'ChRVbmJhblJlc3BvbnNlTWVzc2FnZRIqCgVlcnJvchjoByABKAsyEy5wcm90b3dpcmUuUlBDRX' + 'Jyb3JSBWVycm9y'); + @$core.Deprecated('Use getInfoRequestMessageDescriptor instead') -const GetInfoRequestMessage$json = const { +const GetInfoRequestMessage$json = { '1': 'GetInfoRequestMessage', }; /// Descriptor for `GetInfoRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List getInfoRequestMessageDescriptor = - $convert.base64Decode('ChVHZXRJbmZvUmVxdWVzdE1lc3NhZ2U='); +final $typed_data.Uint8List getInfoRequestMessageDescriptor = $convert.base64Decode( + 'ChVHZXRJbmZvUmVxdWVzdE1lc3NhZ2U='); + @$core.Deprecated('Use getInfoResponseMessageDescriptor instead') -const GetInfoResponseMessage$json = const { +const GetInfoResponseMessage$json = { '1': 'GetInfoResponseMessage', - '2': const [ - const {'1': 'p2pId', '3': 1, '4': 1, '5': 9, '10': 'p2pId'}, - const {'1': 'mempoolSize', '3': 2, '4': 1, '5': 4, '10': 'mempoolSize'}, - const {'1': 'serverVersion', '3': 3, '4': 1, '5': 9, '10': 'serverVersion'}, - const {'1': 'isUtxoIndexed', '3': 4, '4': 1, '5': 8, '10': 'isUtxoIndexed'}, - const {'1': 'isSynced', '3': 5, '4': 1, '5': 8, '10': 'isSynced'}, - const { - '1': 'error', - '3': 1000, - '4': 1, - '5': 11, - '6': '.protowire.RPCError', - '10': 'error' - }, + '2': [ + {'1': 'p2pId', '3': 1, '4': 1, '5': 9, '10': 'p2pId'}, + {'1': 'mempoolSize', '3': 2, '4': 1, '5': 4, '10': 'mempoolSize'}, + {'1': 'serverVersion', '3': 3, '4': 1, '5': 9, '10': 'serverVersion'}, + {'1': 'isUtxoIndexed', '3': 4, '4': 1, '5': 8, '10': 'isUtxoIndexed'}, + {'1': 'isSynced', '3': 5, '4': 1, '5': 8, '10': 'isSynced'}, + {'1': 'hasNotifyCommand', '3': 11, '4': 1, '5': 8, '10': 'hasNotifyCommand'}, + {'1': 'hasMessageId', '3': 12, '4': 1, '5': 8, '10': 'hasMessageId'}, + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, ], }; /// Descriptor for `GetInfoResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List getInfoResponseMessageDescriptor = - $convert.base64Decode( - 'ChZHZXRJbmZvUmVzcG9uc2VNZXNzYWdlEhQKBXAycElkGAEgASgJUgVwMnBJZBIgCgttZW1wb29sU2l6ZRgCIAEoBFILbWVtcG9vbFNpemUSJAoNc2VydmVyVmVyc2lvbhgDIAEoCVINc2VydmVyVmVyc2lvbhIkCg1pc1V0eG9JbmRleGVkGAQgASgIUg1pc1V0eG9JbmRleGVkEhoKCGlzU3luY2VkGAUgASgIUghpc1N5bmNlZBIqCgVlcnJvchjoByABKAsyEy5wcm90b3dpcmUuUlBDRXJyb3JSBWVycm9y'); -@$core.Deprecated( - 'Use estimateNetworkHashesPerSecondRequestMessageDescriptor instead') -const EstimateNetworkHashesPerSecondRequestMessage$json = const { +final $typed_data.Uint8List getInfoResponseMessageDescriptor = $convert.base64Decode( + 'ChZHZXRJbmZvUmVzcG9uc2VNZXNzYWdlEhQKBXAycElkGAEgASgJUgVwMnBJZBIgCgttZW1wb2' + '9sU2l6ZRgCIAEoBFILbWVtcG9vbFNpemUSJAoNc2VydmVyVmVyc2lvbhgDIAEoCVINc2VydmVy' + 'VmVyc2lvbhIkCg1pc1V0eG9JbmRleGVkGAQgASgIUg1pc1V0eG9JbmRleGVkEhoKCGlzU3luY2' + 'VkGAUgASgIUghpc1N5bmNlZBIqChBoYXNOb3RpZnlDb21tYW5kGAsgASgIUhBoYXNOb3RpZnlD' + 'b21tYW5kEiIKDGhhc01lc3NhZ2VJZBgMIAEoCFIMaGFzTWVzc2FnZUlkEioKBWVycm9yGOgHIA' + 'EoCzITLnByb3Rvd2lyZS5SUENFcnJvclIFZXJyb3I='); + +@$core.Deprecated('Use estimateNetworkHashesPerSecondRequestMessageDescriptor instead') +const EstimateNetworkHashesPerSecondRequestMessage$json = { '1': 'EstimateNetworkHashesPerSecondRequestMessage', - '2': const [ - const {'1': 'windowSize', '3': 1, '4': 1, '5': 13, '10': 'windowSize'}, - const {'1': 'startHash', '3': 2, '4': 1, '5': 9, '10': 'startHash'}, + '2': [ + {'1': 'windowSize', '3': 1, '4': 1, '5': 13, '10': 'windowSize'}, + {'1': 'startHash', '3': 2, '4': 1, '5': 9, '10': 'startHash'}, ], }; /// Descriptor for `EstimateNetworkHashesPerSecondRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List - estimateNetworkHashesPerSecondRequestMessageDescriptor = - $convert.base64Decode( - 'CixFc3RpbWF0ZU5ldHdvcmtIYXNoZXNQZXJTZWNvbmRSZXF1ZXN0TWVzc2FnZRIeCgp3aW5kb3dTaXplGAEgASgNUgp3aW5kb3dTaXplEhwKCXN0YXJ0SGFzaBgCIAEoCVIJc3RhcnRIYXNo'); -@$core.Deprecated( - 'Use estimateNetworkHashesPerSecondResponseMessageDescriptor instead') -const EstimateNetworkHashesPerSecondResponseMessage$json = const { +final $typed_data.Uint8List estimateNetworkHashesPerSecondRequestMessageDescriptor = $convert.base64Decode( + 'CixFc3RpbWF0ZU5ldHdvcmtIYXNoZXNQZXJTZWNvbmRSZXF1ZXN0TWVzc2FnZRIeCgp3aW5kb3' + 'dTaXplGAEgASgNUgp3aW5kb3dTaXplEhwKCXN0YXJ0SGFzaBgCIAEoCVIJc3RhcnRIYXNo'); + +@$core.Deprecated('Use estimateNetworkHashesPerSecondResponseMessageDescriptor instead') +const EstimateNetworkHashesPerSecondResponseMessage$json = { '1': 'EstimateNetworkHashesPerSecondResponseMessage', - '2': const [ - const { - '1': 'networkHashesPerSecond', - '3': 1, - '4': 1, - '5': 4, - '10': 'networkHashesPerSecond' - }, - const { - '1': 'error', - '3': 1000, - '4': 1, - '5': 11, - '6': '.protowire.RPCError', - '10': 'error' - }, + '2': [ + {'1': 'networkHashesPerSecond', '3': 1, '4': 1, '5': 4, '10': 'networkHashesPerSecond'}, + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, ], }; /// Descriptor for `EstimateNetworkHashesPerSecondResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List - estimateNetworkHashesPerSecondResponseMessageDescriptor = - $convert.base64Decode( - 'Ci1Fc3RpbWF0ZU5ldHdvcmtIYXNoZXNQZXJTZWNvbmRSZXNwb25zZU1lc3NhZ2USNgoWbmV0d29ya0hhc2hlc1BlclNlY29uZBgBIAEoBFIWbmV0d29ya0hhc2hlc1BlclNlY29uZBIqCgVlcnJvchjoByABKAsyEy5wcm90b3dpcmUuUlBDRXJyb3JSBWVycm9y'); +final $typed_data.Uint8List estimateNetworkHashesPerSecondResponseMessageDescriptor = $convert.base64Decode( + 'Ci1Fc3RpbWF0ZU5ldHdvcmtIYXNoZXNQZXJTZWNvbmRSZXNwb25zZU1lc3NhZ2USNgoWbmV0d2' + '9ya0hhc2hlc1BlclNlY29uZBgBIAEoBFIWbmV0d29ya0hhc2hlc1BlclNlY29uZBIqCgVlcnJv' + 'chjoByABKAsyEy5wcm90b3dpcmUuUlBDRXJyb3JSBWVycm9y'); + @$core.Deprecated('Use notifyNewBlockTemplateRequestMessageDescriptor instead') -const NotifyNewBlockTemplateRequestMessage$json = const { +const NotifyNewBlockTemplateRequestMessage$json = { '1': 'NotifyNewBlockTemplateRequestMessage', + '2': [ + {'1': 'command', '3': 101, '4': 1, '5': 14, '6': '.protowire.RpcNotifyCommand', '10': 'command'}, + ], }; /// Descriptor for `NotifyNewBlockTemplateRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List notifyNewBlockTemplateRequestMessageDescriptor = - $convert - .base64Decode('CiROb3RpZnlOZXdCbG9ja1RlbXBsYXRlUmVxdWVzdE1lc3NhZ2U='); +final $typed_data.Uint8List notifyNewBlockTemplateRequestMessageDescriptor = $convert.base64Decode( + 'CiROb3RpZnlOZXdCbG9ja1RlbXBsYXRlUmVxdWVzdE1lc3NhZ2USNQoHY29tbWFuZBhlIAEoDj' + 'IbLnByb3Rvd2lyZS5ScGNOb3RpZnlDb21tYW5kUgdjb21tYW5k'); + @$core.Deprecated('Use notifyNewBlockTemplateResponseMessageDescriptor instead') -const NotifyNewBlockTemplateResponseMessage$json = const { +const NotifyNewBlockTemplateResponseMessage$json = { '1': 'NotifyNewBlockTemplateResponseMessage', - '2': const [ - const { - '1': 'error', - '3': 1000, - '4': 1, - '5': 11, - '6': '.protowire.RPCError', - '10': 'error' - }, + '2': [ + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, ], }; /// Descriptor for `NotifyNewBlockTemplateResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List notifyNewBlockTemplateResponseMessageDescriptor = - $convert.base64Decode( - 'CiVOb3RpZnlOZXdCbG9ja1RlbXBsYXRlUmVzcG9uc2VNZXNzYWdlEioKBWVycm9yGOgHIAEoCzITLnByb3Rvd2lyZS5SUENFcnJvclIFZXJyb3I='); +final $typed_data.Uint8List notifyNewBlockTemplateResponseMessageDescriptor = $convert.base64Decode( + 'CiVOb3RpZnlOZXdCbG9ja1RlbXBsYXRlUmVzcG9uc2VNZXNzYWdlEioKBWVycm9yGOgHIAEoCz' + 'ITLnByb3Rvd2lyZS5SUENFcnJvclIFZXJyb3I='); + @$core.Deprecated('Use newBlockTemplateNotificationMessageDescriptor instead') -const NewBlockTemplateNotificationMessage$json = const { +const NewBlockTemplateNotificationMessage$json = { '1': 'NewBlockTemplateNotificationMessage', }; /// Descriptor for `NewBlockTemplateNotificationMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List newBlockTemplateNotificationMessageDescriptor = - $convert - .base64Decode('CiNOZXdCbG9ja1RlbXBsYXRlTm90aWZpY2F0aW9uTWVzc2FnZQ=='); -@$core.Deprecated('Use mempoolEntryByAddressDescriptor instead') -const MempoolEntryByAddress$json = const { - '1': 'MempoolEntryByAddress', - '2': const [ - const {'1': 'address', '3': 1, '4': 1, '5': 9, '10': 'address'}, - const { - '1': 'sending', - '3': 2, - '4': 3, - '5': 11, - '6': '.protowire.MempoolEntry', - '10': 'sending' - }, - const { - '1': 'receiving', - '3': 3, - '4': 3, - '5': 11, - '6': '.protowire.MempoolEntry', - '10': 'receiving' - }, - ], -}; - -/// Descriptor for `MempoolEntryByAddress`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List mempoolEntryByAddressDescriptor = $convert.base64Decode( - 'ChVNZW1wb29sRW50cnlCeUFkZHJlc3MSGAoHYWRkcmVzcxgBIAEoCVIHYWRkcmVzcxIxCgdzZW5kaW5nGAIgAygLMhcucHJvdG93aXJlLk1lbXBvb2xFbnRyeVIHc2VuZGluZxI1CglyZWNlaXZpbmcYAyADKAsyFy5wcm90b3dpcmUuTWVtcG9vbEVudHJ5UglyZWNlaXZpbmc='); -@$core.Deprecated( - 'Use getMempoolEntriesByAddressesRequestMessageDescriptor instead') -const GetMempoolEntriesByAddressesRequestMessage$json = const { +final $typed_data.Uint8List newBlockTemplateNotificationMessageDescriptor = $convert.base64Decode( + 'CiNOZXdCbG9ja1RlbXBsYXRlTm90aWZpY2F0aW9uTWVzc2FnZQ=='); + +@$core.Deprecated('Use rpcMempoolEntryByAddressDescriptor instead') +const RpcMempoolEntryByAddress$json = { + '1': 'RpcMempoolEntryByAddress', + '2': [ + {'1': 'address', '3': 1, '4': 1, '5': 9, '10': 'address'}, + {'1': 'sending', '3': 2, '4': 3, '5': 11, '6': '.protowire.RpcMempoolEntry', '10': 'sending'}, + {'1': 'receiving', '3': 3, '4': 3, '5': 11, '6': '.protowire.RpcMempoolEntry', '10': 'receiving'}, + ], +}; + +/// Descriptor for `RpcMempoolEntryByAddress`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List rpcMempoolEntryByAddressDescriptor = $convert.base64Decode( + 'ChhScGNNZW1wb29sRW50cnlCeUFkZHJlc3MSGAoHYWRkcmVzcxgBIAEoCVIHYWRkcmVzcxI0Cg' + 'dzZW5kaW5nGAIgAygLMhoucHJvdG93aXJlLlJwY01lbXBvb2xFbnRyeVIHc2VuZGluZxI4Cgly' + 'ZWNlaXZpbmcYAyADKAsyGi5wcm90b3dpcmUuUnBjTWVtcG9vbEVudHJ5UglyZWNlaXZpbmc='); + +@$core.Deprecated('Use getMempoolEntriesByAddressesRequestMessageDescriptor instead') +const GetMempoolEntriesByAddressesRequestMessage$json = { '1': 'GetMempoolEntriesByAddressesRequestMessage', - '2': const [ - const {'1': 'addresses', '3': 1, '4': 3, '5': 9, '10': 'addresses'}, - const { - '1': 'includeOrphanPool', - '3': 2, - '4': 1, - '5': 8, - '10': 'includeOrphanPool' - }, - const { - '1': 'filterTransactionPool', - '3': 3, - '4': 1, - '5': 8, - '10': 'filterTransactionPool' - }, + '2': [ + {'1': 'addresses', '3': 1, '4': 3, '5': 9, '10': 'addresses'}, + {'1': 'includeOrphanPool', '3': 2, '4': 1, '5': 8, '10': 'includeOrphanPool'}, + {'1': 'filterTransactionPool', '3': 3, '4': 1, '5': 8, '10': 'filterTransactionPool'}, ], }; /// Descriptor for `GetMempoolEntriesByAddressesRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List - getMempoolEntriesByAddressesRequestMessageDescriptor = - $convert.base64Decode( - 'CipHZXRNZW1wb29sRW50cmllc0J5QWRkcmVzc2VzUmVxdWVzdE1lc3NhZ2USHAoJYWRkcmVzc2VzGAEgAygJUglhZGRyZXNzZXMSLAoRaW5jbHVkZU9ycGhhblBvb2wYAiABKAhSEWluY2x1ZGVPcnBoYW5Qb29sEjQKFWZpbHRlclRyYW5zYWN0aW9uUG9vbBgDIAEoCFIVZmlsdGVyVHJhbnNhY3Rpb25Qb29s'); -@$core.Deprecated( - 'Use getMempoolEntriesByAddressesResponseMessageDescriptor instead') -const GetMempoolEntriesByAddressesResponseMessage$json = const { +final $typed_data.Uint8List getMempoolEntriesByAddressesRequestMessageDescriptor = $convert.base64Decode( + 'CipHZXRNZW1wb29sRW50cmllc0J5QWRkcmVzc2VzUmVxdWVzdE1lc3NhZ2USHAoJYWRkcmVzc2' + 'VzGAEgAygJUglhZGRyZXNzZXMSLAoRaW5jbHVkZU9ycGhhblBvb2wYAiABKAhSEWluY2x1ZGVP' + 'cnBoYW5Qb29sEjQKFWZpbHRlclRyYW5zYWN0aW9uUG9vbBgDIAEoCFIVZmlsdGVyVHJhbnNhY3' + 'Rpb25Qb29s'); + +@$core.Deprecated('Use getMempoolEntriesByAddressesResponseMessageDescriptor instead') +const GetMempoolEntriesByAddressesResponseMessage$json = { '1': 'GetMempoolEntriesByAddressesResponseMessage', - '2': const [ - const { - '1': 'entries', - '3': 1, - '4': 3, - '5': 11, - '6': '.protowire.MempoolEntryByAddress', - '10': 'entries' - }, - const { - '1': 'error', - '3': 1000, - '4': 1, - '5': 11, - '6': '.protowire.RPCError', - '10': 'error' - }, + '2': [ + {'1': 'entries', '3': 1, '4': 3, '5': 11, '6': '.protowire.RpcMempoolEntryByAddress', '10': 'entries'}, + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, ], }; /// Descriptor for `GetMempoolEntriesByAddressesResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List - getMempoolEntriesByAddressesResponseMessageDescriptor = - $convert.base64Decode( - 'CitHZXRNZW1wb29sRW50cmllc0J5QWRkcmVzc2VzUmVzcG9uc2VNZXNzYWdlEjoKB2VudHJpZXMYASADKAsyIC5wcm90b3dpcmUuTWVtcG9vbEVudHJ5QnlBZGRyZXNzUgdlbnRyaWVzEioKBWVycm9yGOgHIAEoCzITLnByb3Rvd2lyZS5SUENFcnJvclIFZXJyb3I='); +final $typed_data.Uint8List getMempoolEntriesByAddressesResponseMessageDescriptor = $convert.base64Decode( + 'CitHZXRNZW1wb29sRW50cmllc0J5QWRkcmVzc2VzUmVzcG9uc2VNZXNzYWdlEj0KB2VudHJpZX' + 'MYASADKAsyIy5wcm90b3dpcmUuUnBjTWVtcG9vbEVudHJ5QnlBZGRyZXNzUgdlbnRyaWVzEioK' + 'BWVycm9yGOgHIAEoCzITLnByb3Rvd2lyZS5SUENFcnJvclIFZXJyb3I='); + @$core.Deprecated('Use getCoinSupplyRequestMessageDescriptor instead') -const GetCoinSupplyRequestMessage$json = const { +const GetCoinSupplyRequestMessage$json = { '1': 'GetCoinSupplyRequestMessage', }; /// Descriptor for `GetCoinSupplyRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List getCoinSupplyRequestMessageDescriptor = - $convert.base64Decode('ChtHZXRDb2luU3VwcGx5UmVxdWVzdE1lc3NhZ2U='); +final $typed_data.Uint8List getCoinSupplyRequestMessageDescriptor = $convert.base64Decode( + 'ChtHZXRDb2luU3VwcGx5UmVxdWVzdE1lc3NhZ2U='); + @$core.Deprecated('Use getCoinSupplyResponseMessageDescriptor instead') -const GetCoinSupplyResponseMessage$json = const { +const GetCoinSupplyResponseMessage$json = { '1': 'GetCoinSupplyResponseMessage', - '2': const [ - const {'1': 'maxSompi', '3': 1, '4': 1, '5': 4, '10': 'maxSompi'}, - const { - '1': 'circulatingSompi', - '3': 2, - '4': 1, - '5': 4, - '10': 'circulatingSompi' - }, - const { - '1': 'error', - '3': 1000, - '4': 1, - '5': 11, - '6': '.protowire.RPCError', - '10': 'error' - }, + '2': [ + {'1': 'maxSompi', '3': 1, '4': 1, '5': 4, '10': 'maxSompi'}, + {'1': 'circulatingSompi', '3': 2, '4': 1, '5': 4, '10': 'circulatingSompi'}, + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, ], }; /// Descriptor for `GetCoinSupplyResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. -final $typed_data.Uint8List getCoinSupplyResponseMessageDescriptor = - $convert.base64Decode( - 'ChxHZXRDb2luU3VwcGx5UmVzcG9uc2VNZXNzYWdlEhoKCG1heFNvbXBpGAEgASgEUghtYXhTb21waRIqChBjaXJjdWxhdGluZ1NvbXBpGAIgASgEUhBjaXJjdWxhdGluZ1NvbXBpEioKBWVycm9yGOgHIAEoCzITLnByb3Rvd2lyZS5SUENFcnJvclIFZXJyb3I='); +final $typed_data.Uint8List getCoinSupplyResponseMessageDescriptor = $convert.base64Decode( + 'ChxHZXRDb2luU3VwcGx5UmVzcG9uc2VNZXNzYWdlEhoKCG1heFNvbXBpGAEgASgEUghtYXhTb2' + '1waRIqChBjaXJjdWxhdGluZ1NvbXBpGAIgASgEUhBjaXJjdWxhdGluZ1NvbXBpEioKBWVycm9y' + 'GOgHIAEoCzITLnByb3Rvd2lyZS5SUENFcnJvclIFZXJyb3I='); + +@$core.Deprecated('Use pingRequestMessageDescriptor instead') +const PingRequestMessage$json = { + '1': 'PingRequestMessage', +}; + +/// Descriptor for `PingRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List pingRequestMessageDescriptor = $convert.base64Decode( + 'ChJQaW5nUmVxdWVzdE1lc3NhZ2U='); + +@$core.Deprecated('Use pingResponseMessageDescriptor instead') +const PingResponseMessage$json = { + '1': 'PingResponseMessage', + '2': [ + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, + ], +}; + +/// Descriptor for `PingResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List pingResponseMessageDescriptor = $convert.base64Decode( + 'ChNQaW5nUmVzcG9uc2VNZXNzYWdlEioKBWVycm9yGOgHIAEoCzITLnByb3Rvd2lyZS5SUENFcn' + 'JvclIFZXJyb3I='); + +@$core.Deprecated('Use processMetricsDescriptor instead') +const ProcessMetrics$json = { + '1': 'ProcessMetrics', + '2': [ + {'1': 'residentSetSize', '3': 1, '4': 1, '5': 4, '10': 'residentSetSize'}, + {'1': 'virtualMemorySize', '3': 2, '4': 1, '5': 4, '10': 'virtualMemorySize'}, + {'1': 'coreNum', '3': 3, '4': 1, '5': 13, '10': 'coreNum'}, + {'1': 'cpuUsage', '3': 4, '4': 1, '5': 2, '10': 'cpuUsage'}, + {'1': 'fdNum', '3': 5, '4': 1, '5': 13, '10': 'fdNum'}, + {'1': 'diskIoReadBytes', '3': 6, '4': 1, '5': 4, '10': 'diskIoReadBytes'}, + {'1': 'diskIoWriteBytes', '3': 7, '4': 1, '5': 4, '10': 'diskIoWriteBytes'}, + {'1': 'diskIoReadPerSec', '3': 8, '4': 1, '5': 2, '10': 'diskIoReadPerSec'}, + {'1': 'diskIoWritePerSec', '3': 9, '4': 1, '5': 2, '10': 'diskIoWritePerSec'}, + ], +}; + +/// Descriptor for `ProcessMetrics`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List processMetricsDescriptor = $convert.base64Decode( + 'Cg5Qcm9jZXNzTWV0cmljcxIoCg9yZXNpZGVudFNldFNpemUYASABKARSD3Jlc2lkZW50U2V0U2' + 'l6ZRIsChF2aXJ0dWFsTWVtb3J5U2l6ZRgCIAEoBFIRdmlydHVhbE1lbW9yeVNpemUSGAoHY29y' + 'ZU51bRgDIAEoDVIHY29yZU51bRIaCghjcHVVc2FnZRgEIAEoAlIIY3B1VXNhZ2USFAoFZmROdW' + '0YBSABKA1SBWZkTnVtEigKD2Rpc2tJb1JlYWRCeXRlcxgGIAEoBFIPZGlza0lvUmVhZEJ5dGVz' + 'EioKEGRpc2tJb1dyaXRlQnl0ZXMYByABKARSEGRpc2tJb1dyaXRlQnl0ZXMSKgoQZGlza0lvUm' + 'VhZFBlclNlYxgIIAEoAlIQZGlza0lvUmVhZFBlclNlYxIsChFkaXNrSW9Xcml0ZVBlclNlYxgJ' + 'IAEoAlIRZGlza0lvV3JpdGVQZXJTZWM='); + +@$core.Deprecated('Use connectionMetricsDescriptor instead') +const ConnectionMetrics$json = { + '1': 'ConnectionMetrics', + '2': [ + {'1': 'borshLiveConnections', '3': 31, '4': 1, '5': 13, '10': 'borshLiveConnections'}, + {'1': 'borshConnectionAttempts', '3': 32, '4': 1, '5': 4, '10': 'borshConnectionAttempts'}, + {'1': 'borshHandshakeFailures', '3': 33, '4': 1, '5': 4, '10': 'borshHandshakeFailures'}, + {'1': 'jsonLiveConnections', '3': 41, '4': 1, '5': 13, '10': 'jsonLiveConnections'}, + {'1': 'jsonConnectionAttempts', '3': 42, '4': 1, '5': 4, '10': 'jsonConnectionAttempts'}, + {'1': 'jsonHandshakeFailures', '3': 43, '4': 1, '5': 4, '10': 'jsonHandshakeFailures'}, + {'1': 'activePeers', '3': 51, '4': 1, '5': 13, '10': 'activePeers'}, + ], +}; + +/// Descriptor for `ConnectionMetrics`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List connectionMetricsDescriptor = $convert.base64Decode( + 'ChFDb25uZWN0aW9uTWV0cmljcxIyChRib3JzaExpdmVDb25uZWN0aW9ucxgfIAEoDVIUYm9yc2' + 'hMaXZlQ29ubmVjdGlvbnMSOAoXYm9yc2hDb25uZWN0aW9uQXR0ZW1wdHMYICABKARSF2JvcnNo' + 'Q29ubmVjdGlvbkF0dGVtcHRzEjYKFmJvcnNoSGFuZHNoYWtlRmFpbHVyZXMYISABKARSFmJvcn' + 'NoSGFuZHNoYWtlRmFpbHVyZXMSMAoTanNvbkxpdmVDb25uZWN0aW9ucxgpIAEoDVITanNvbkxp' + 'dmVDb25uZWN0aW9ucxI2ChZqc29uQ29ubmVjdGlvbkF0dGVtcHRzGCogASgEUhZqc29uQ29ubm' + 'VjdGlvbkF0dGVtcHRzEjQKFWpzb25IYW5kc2hha2VGYWlsdXJlcxgrIAEoBFIVanNvbkhhbmRz' + 'aGFrZUZhaWx1cmVzEiAKC2FjdGl2ZVBlZXJzGDMgASgNUgthY3RpdmVQZWVycw=='); + +@$core.Deprecated('Use bandwidthMetricsDescriptor instead') +const BandwidthMetrics$json = { + '1': 'BandwidthMetrics', + '2': [ + {'1': 'borshBytesTx', '3': 61, '4': 1, '5': 4, '10': 'borshBytesTx'}, + {'1': 'borshBytesRx', '3': 62, '4': 1, '5': 4, '10': 'borshBytesRx'}, + {'1': 'jsonBytesTx', '3': 63, '4': 1, '5': 4, '10': 'jsonBytesTx'}, + {'1': 'jsonBytesRx', '3': 64, '4': 1, '5': 4, '10': 'jsonBytesRx'}, + {'1': 'grpcP2pBytesTx', '3': 65, '4': 1, '5': 4, '10': 'grpcP2pBytesTx'}, + {'1': 'grpcP2pBytesRx', '3': 66, '4': 1, '5': 4, '10': 'grpcP2pBytesRx'}, + {'1': 'grpcUserBytesTx', '3': 67, '4': 1, '5': 4, '10': 'grpcUserBytesTx'}, + {'1': 'grpcUserBytesRx', '3': 68, '4': 1, '5': 4, '10': 'grpcUserBytesRx'}, + ], +}; + +/// Descriptor for `BandwidthMetrics`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List bandwidthMetricsDescriptor = $convert.base64Decode( + 'ChBCYW5kd2lkdGhNZXRyaWNzEiIKDGJvcnNoQnl0ZXNUeBg9IAEoBFIMYm9yc2hCeXRlc1R4Ei' + 'IKDGJvcnNoQnl0ZXNSeBg+IAEoBFIMYm9yc2hCeXRlc1J4EiAKC2pzb25CeXRlc1R4GD8gASgE' + 'Ugtqc29uQnl0ZXNUeBIgCgtqc29uQnl0ZXNSeBhAIAEoBFILanNvbkJ5dGVzUngSJgoOZ3JwY1' + 'AycEJ5dGVzVHgYQSABKARSDmdycGNQMnBCeXRlc1R4EiYKDmdycGNQMnBCeXRlc1J4GEIgASgE' + 'Ug5ncnBjUDJwQnl0ZXNSeBIoCg9ncnBjVXNlckJ5dGVzVHgYQyABKARSD2dycGNVc2VyQnl0ZX' + 'NUeBIoCg9ncnBjVXNlckJ5dGVzUngYRCABKARSD2dycGNVc2VyQnl0ZXNSeA=='); + +@$core.Deprecated('Use consensusMetricsDescriptor instead') +const ConsensusMetrics$json = { + '1': 'ConsensusMetrics', + '2': [ + {'1': 'blocksSubmitted', '3': 1, '4': 1, '5': 4, '10': 'blocksSubmitted'}, + {'1': 'headerCounts', '3': 2, '4': 1, '5': 4, '10': 'headerCounts'}, + {'1': 'depCounts', '3': 3, '4': 1, '5': 4, '10': 'depCounts'}, + {'1': 'bodyCounts', '3': 4, '4': 1, '5': 4, '10': 'bodyCounts'}, + {'1': 'txsCounts', '3': 5, '4': 1, '5': 4, '10': 'txsCounts'}, + {'1': 'chainBlockCounts', '3': 6, '4': 1, '5': 4, '10': 'chainBlockCounts'}, + {'1': 'massCounts', '3': 7, '4': 1, '5': 4, '10': 'massCounts'}, + {'1': 'blockCount', '3': 11, '4': 1, '5': 4, '10': 'blockCount'}, + {'1': 'headerCount', '3': 12, '4': 1, '5': 4, '10': 'headerCount'}, + {'1': 'mempoolSize', '3': 13, '4': 1, '5': 4, '10': 'mempoolSize'}, + {'1': 'tipHashesCount', '3': 14, '4': 1, '5': 13, '10': 'tipHashesCount'}, + {'1': 'difficulty', '3': 15, '4': 1, '5': 1, '10': 'difficulty'}, + {'1': 'pastMedianTime', '3': 16, '4': 1, '5': 4, '10': 'pastMedianTime'}, + {'1': 'virtualParentHashesCount', '3': 17, '4': 1, '5': 13, '10': 'virtualParentHashesCount'}, + {'1': 'virtualDaaScore', '3': 18, '4': 1, '5': 4, '10': 'virtualDaaScore'}, + ], +}; + +/// Descriptor for `ConsensusMetrics`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List consensusMetricsDescriptor = $convert.base64Decode( + 'ChBDb25zZW5zdXNNZXRyaWNzEigKD2Jsb2Nrc1N1Ym1pdHRlZBgBIAEoBFIPYmxvY2tzU3VibW' + 'l0dGVkEiIKDGhlYWRlckNvdW50cxgCIAEoBFIMaGVhZGVyQ291bnRzEhwKCWRlcENvdW50cxgD' + 'IAEoBFIJZGVwQ291bnRzEh4KCmJvZHlDb3VudHMYBCABKARSCmJvZHlDb3VudHMSHAoJdHhzQ2' + '91bnRzGAUgASgEUgl0eHNDb3VudHMSKgoQY2hhaW5CbG9ja0NvdW50cxgGIAEoBFIQY2hhaW5C' + 'bG9ja0NvdW50cxIeCgptYXNzQ291bnRzGAcgASgEUgptYXNzQ291bnRzEh4KCmJsb2NrQ291bn' + 'QYCyABKARSCmJsb2NrQ291bnQSIAoLaGVhZGVyQ291bnQYDCABKARSC2hlYWRlckNvdW50EiAK' + 'C21lbXBvb2xTaXplGA0gASgEUgttZW1wb29sU2l6ZRImCg50aXBIYXNoZXNDb3VudBgOIAEoDV' + 'IOdGlwSGFzaGVzQ291bnQSHgoKZGlmZmljdWx0eRgPIAEoAVIKZGlmZmljdWx0eRImCg5wYXN0' + 'TWVkaWFuVGltZRgQIAEoBFIOcGFzdE1lZGlhblRpbWUSOgoYdmlydHVhbFBhcmVudEhhc2hlc0' + 'NvdW50GBEgASgNUhh2aXJ0dWFsUGFyZW50SGFzaGVzQ291bnQSKAoPdmlydHVhbERhYVNjb3Jl' + 'GBIgASgEUg92aXJ0dWFsRGFhU2NvcmU='); + +@$core.Deprecated('Use storageMetricsDescriptor instead') +const StorageMetrics$json = { + '1': 'StorageMetrics', + '2': [ + {'1': 'storageSizeBytes', '3': 1, '4': 1, '5': 4, '10': 'storageSizeBytes'}, + ], +}; + +/// Descriptor for `StorageMetrics`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List storageMetricsDescriptor = $convert.base64Decode( + 'Cg5TdG9yYWdlTWV0cmljcxIqChBzdG9yYWdlU2l6ZUJ5dGVzGAEgASgEUhBzdG9yYWdlU2l6ZU' + 'J5dGVz'); + +@$core.Deprecated('Use getConnectionsRequestMessageDescriptor instead') +const GetConnectionsRequestMessage$json = { + '1': 'GetConnectionsRequestMessage', + '2': [ + {'1': 'includeProfileData', '3': 1, '4': 1, '5': 8, '10': 'includeProfileData'}, + ], +}; + +/// Descriptor for `GetConnectionsRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getConnectionsRequestMessageDescriptor = $convert.base64Decode( + 'ChxHZXRDb25uZWN0aW9uc1JlcXVlc3RNZXNzYWdlEi4KEmluY2x1ZGVQcm9maWxlRGF0YRgBIA' + 'EoCFISaW5jbHVkZVByb2ZpbGVEYXRh'); + +@$core.Deprecated('Use connectionsProfileDataDescriptor instead') +const ConnectionsProfileData$json = { + '1': 'ConnectionsProfileData', + '2': [ + {'1': 'cpuUsage', '3': 1, '4': 1, '5': 1, '10': 'cpuUsage'}, + {'1': 'memoryUsage', '3': 2, '4': 1, '5': 4, '10': 'memoryUsage'}, + ], +}; + +/// Descriptor for `ConnectionsProfileData`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List connectionsProfileDataDescriptor = $convert.base64Decode( + 'ChZDb25uZWN0aW9uc1Byb2ZpbGVEYXRhEhoKCGNwdVVzYWdlGAEgASgBUghjcHVVc2FnZRIgCg' + 'ttZW1vcnlVc2FnZRgCIAEoBFILbWVtb3J5VXNhZ2U='); + +@$core.Deprecated('Use getConnectionsResponseMessageDescriptor instead') +const GetConnectionsResponseMessage$json = { + '1': 'GetConnectionsResponseMessage', + '2': [ + {'1': 'clients', '3': 1, '4': 1, '5': 13, '10': 'clients'}, + {'1': 'peers', '3': 2, '4': 1, '5': 13, '10': 'peers'}, + {'1': 'profileData', '3': 3, '4': 1, '5': 11, '6': '.protowire.ConnectionsProfileData', '10': 'profileData'}, + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, + ], +}; + +/// Descriptor for `GetConnectionsResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getConnectionsResponseMessageDescriptor = $convert.base64Decode( + 'Ch1HZXRDb25uZWN0aW9uc1Jlc3BvbnNlTWVzc2FnZRIYCgdjbGllbnRzGAEgASgNUgdjbGllbn' + 'RzEhQKBXBlZXJzGAIgASgNUgVwZWVycxJDCgtwcm9maWxlRGF0YRgDIAEoCzIhLnByb3Rvd2ly' + 'ZS5Db25uZWN0aW9uc1Byb2ZpbGVEYXRhUgtwcm9maWxlRGF0YRIqCgVlcnJvchjoByABKAsyEy' + '5wcm90b3dpcmUuUlBDRXJyb3JSBWVycm9y'); + +@$core.Deprecated('Use getSystemInfoRequestMessageDescriptor instead') +const GetSystemInfoRequestMessage$json = { + '1': 'GetSystemInfoRequestMessage', +}; + +/// Descriptor for `GetSystemInfoRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getSystemInfoRequestMessageDescriptor = $convert.base64Decode( + 'ChtHZXRTeXN0ZW1JbmZvUmVxdWVzdE1lc3NhZ2U='); + +@$core.Deprecated('Use getSystemInfoResponseMessageDescriptor instead') +const GetSystemInfoResponseMessage$json = { + '1': 'GetSystemInfoResponseMessage', + '2': [ + {'1': 'version', '3': 1, '4': 1, '5': 9, '10': 'version'}, + {'1': 'systemId', '3': 2, '4': 1, '5': 9, '10': 'systemId'}, + {'1': 'gitHash', '3': 3, '4': 1, '5': 9, '10': 'gitHash'}, + {'1': 'coreNum', '3': 4, '4': 1, '5': 13, '10': 'coreNum'}, + {'1': 'totalMemory', '3': 5, '4': 1, '5': 4, '10': 'totalMemory'}, + {'1': 'fdLimit', '3': 6, '4': 1, '5': 13, '10': 'fdLimit'}, + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, + ], +}; + +/// Descriptor for `GetSystemInfoResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getSystemInfoResponseMessageDescriptor = $convert.base64Decode( + 'ChxHZXRTeXN0ZW1JbmZvUmVzcG9uc2VNZXNzYWdlEhgKB3ZlcnNpb24YASABKAlSB3ZlcnNpb2' + '4SGgoIc3lzdGVtSWQYAiABKAlSCHN5c3RlbUlkEhgKB2dpdEhhc2gYAyABKAlSB2dpdEhhc2gS' + 'GAoHY29yZU51bRgEIAEoDVIHY29yZU51bRIgCgt0b3RhbE1lbW9yeRgFIAEoBFILdG90YWxNZW' + '1vcnkSGAoHZmRMaW1pdBgGIAEoDVIHZmRMaW1pdBIqCgVlcnJvchjoByABKAsyEy5wcm90b3dp' + 'cmUuUlBDRXJyb3JSBWVycm9y'); + +@$core.Deprecated('Use getMetricsRequestMessageDescriptor instead') +const GetMetricsRequestMessage$json = { + '1': 'GetMetricsRequestMessage', + '2': [ + {'1': 'processMetrics', '3': 1, '4': 1, '5': 8, '10': 'processMetrics'}, + {'1': 'connectionMetrics', '3': 2, '4': 1, '5': 8, '10': 'connectionMetrics'}, + {'1': 'bandwidthMetrics', '3': 3, '4': 1, '5': 8, '10': 'bandwidthMetrics'}, + {'1': 'consensusMetrics', '3': 4, '4': 1, '5': 8, '10': 'consensusMetrics'}, + {'1': 'storageMetrics', '3': 5, '4': 1, '5': 8, '10': 'storageMetrics'}, + {'1': 'customMetrics', '3': 6, '4': 1, '5': 8, '10': 'customMetrics'}, + ], +}; + +/// Descriptor for `GetMetricsRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getMetricsRequestMessageDescriptor = $convert.base64Decode( + 'ChhHZXRNZXRyaWNzUmVxdWVzdE1lc3NhZ2USJgoOcHJvY2Vzc01ldHJpY3MYASABKAhSDnByb2' + 'Nlc3NNZXRyaWNzEiwKEWNvbm5lY3Rpb25NZXRyaWNzGAIgASgIUhFjb25uZWN0aW9uTWV0cmlj' + 'cxIqChBiYW5kd2lkdGhNZXRyaWNzGAMgASgIUhBiYW5kd2lkdGhNZXRyaWNzEioKEGNvbnNlbn' + 'N1c01ldHJpY3MYBCABKAhSEGNvbnNlbnN1c01ldHJpY3MSJgoOc3RvcmFnZU1ldHJpY3MYBSAB' + 'KAhSDnN0b3JhZ2VNZXRyaWNzEiQKDWN1c3RvbU1ldHJpY3MYBiABKAhSDWN1c3RvbU1ldHJpY3' + 'M='); + +@$core.Deprecated('Use getMetricsResponseMessageDescriptor instead') +const GetMetricsResponseMessage$json = { + '1': 'GetMetricsResponseMessage', + '2': [ + {'1': 'serverTime', '3': 1, '4': 1, '5': 4, '10': 'serverTime'}, + {'1': 'processMetrics', '3': 11, '4': 1, '5': 11, '6': '.protowire.ProcessMetrics', '10': 'processMetrics'}, + {'1': 'connectionMetrics', '3': 12, '4': 1, '5': 11, '6': '.protowire.ConnectionMetrics', '10': 'connectionMetrics'}, + {'1': 'bandwidthMetrics', '3': 13, '4': 1, '5': 11, '6': '.protowire.BandwidthMetrics', '10': 'bandwidthMetrics'}, + {'1': 'consensusMetrics', '3': 14, '4': 1, '5': 11, '6': '.protowire.ConsensusMetrics', '10': 'consensusMetrics'}, + {'1': 'storageMetrics', '3': 15, '4': 1, '5': 11, '6': '.protowire.StorageMetrics', '10': 'storageMetrics'}, + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, + ], +}; + +/// Descriptor for `GetMetricsResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getMetricsResponseMessageDescriptor = $convert.base64Decode( + 'ChlHZXRNZXRyaWNzUmVzcG9uc2VNZXNzYWdlEh4KCnNlcnZlclRpbWUYASABKARSCnNlcnZlcl' + 'RpbWUSQQoOcHJvY2Vzc01ldHJpY3MYCyABKAsyGS5wcm90b3dpcmUuUHJvY2Vzc01ldHJpY3NS' + 'DnByb2Nlc3NNZXRyaWNzEkoKEWNvbm5lY3Rpb25NZXRyaWNzGAwgASgLMhwucHJvdG93aXJlLk' + 'Nvbm5lY3Rpb25NZXRyaWNzUhFjb25uZWN0aW9uTWV0cmljcxJHChBiYW5kd2lkdGhNZXRyaWNz' + 'GA0gASgLMhsucHJvdG93aXJlLkJhbmR3aWR0aE1ldHJpY3NSEGJhbmR3aWR0aE1ldHJpY3MSRw' + 'oQY29uc2Vuc3VzTWV0cmljcxgOIAEoCzIbLnByb3Rvd2lyZS5Db25zZW5zdXNNZXRyaWNzUhBj' + 'b25zZW5zdXNNZXRyaWNzEkEKDnN0b3JhZ2VNZXRyaWNzGA8gASgLMhkucHJvdG93aXJlLlN0b3' + 'JhZ2VNZXRyaWNzUg5zdG9yYWdlTWV0cmljcxIqCgVlcnJvchjoByABKAsyEy5wcm90b3dpcmUu' + 'UlBDRXJyb3JSBWVycm9y'); + +@$core.Deprecated('Use getServerInfoRequestMessageDescriptor instead') +const GetServerInfoRequestMessage$json = { + '1': 'GetServerInfoRequestMessage', +}; + +/// Descriptor for `GetServerInfoRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getServerInfoRequestMessageDescriptor = $convert.base64Decode( + 'ChtHZXRTZXJ2ZXJJbmZvUmVxdWVzdE1lc3NhZ2U='); + +@$core.Deprecated('Use getServerInfoResponseMessageDescriptor instead') +const GetServerInfoResponseMessage$json = { + '1': 'GetServerInfoResponseMessage', + '2': [ + {'1': 'rpcApiVersion', '3': 1, '4': 1, '5': 13, '10': 'rpcApiVersion'}, + {'1': 'rpcApiRevision', '3': 2, '4': 1, '5': 13, '10': 'rpcApiRevision'}, + {'1': 'serverVersion', '3': 3, '4': 1, '5': 9, '10': 'serverVersion'}, + {'1': 'networkId', '3': 4, '4': 1, '5': 9, '10': 'networkId'}, + {'1': 'hasUtxoIndex', '3': 5, '4': 1, '5': 8, '10': 'hasUtxoIndex'}, + {'1': 'isSynced', '3': 6, '4': 1, '5': 8, '10': 'isSynced'}, + {'1': 'virtualDaaScore', '3': 7, '4': 1, '5': 4, '10': 'virtualDaaScore'}, + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, + ], +}; + +/// Descriptor for `GetServerInfoResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getServerInfoResponseMessageDescriptor = $convert.base64Decode( + 'ChxHZXRTZXJ2ZXJJbmZvUmVzcG9uc2VNZXNzYWdlEiQKDXJwY0FwaVZlcnNpb24YASABKA1SDX' + 'JwY0FwaVZlcnNpb24SJgoOcnBjQXBpUmV2aXNpb24YAiABKA1SDnJwY0FwaVJldmlzaW9uEiQK' + 'DXNlcnZlclZlcnNpb24YAyABKAlSDXNlcnZlclZlcnNpb24SHAoJbmV0d29ya0lkGAQgASgJUg' + 'luZXR3b3JrSWQSIgoMaGFzVXR4b0luZGV4GAUgASgIUgxoYXNVdHhvSW5kZXgSGgoIaXNTeW5j' + 'ZWQYBiABKAhSCGlzU3luY2VkEigKD3ZpcnR1YWxEYWFTY29yZRgHIAEoBFIPdmlydHVhbERhYV' + 'Njb3JlEioKBWVycm9yGOgHIAEoCzITLnByb3Rvd2lyZS5SUENFcnJvclIFZXJyb3I='); + +@$core.Deprecated('Use getSyncStatusRequestMessageDescriptor instead') +const GetSyncStatusRequestMessage$json = { + '1': 'GetSyncStatusRequestMessage', +}; + +/// Descriptor for `GetSyncStatusRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getSyncStatusRequestMessageDescriptor = $convert.base64Decode( + 'ChtHZXRTeW5jU3RhdHVzUmVxdWVzdE1lc3NhZ2U='); + +@$core.Deprecated('Use getSyncStatusResponseMessageDescriptor instead') +const GetSyncStatusResponseMessage$json = { + '1': 'GetSyncStatusResponseMessage', + '2': [ + {'1': 'isSynced', '3': 1, '4': 1, '5': 8, '10': 'isSynced'}, + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, + ], +}; + +/// Descriptor for `GetSyncStatusResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getSyncStatusResponseMessageDescriptor = $convert.base64Decode( + 'ChxHZXRTeW5jU3RhdHVzUmVzcG9uc2VNZXNzYWdlEhoKCGlzU3luY2VkGAEgASgIUghpc1N5bm' + 'NlZBIqCgVlcnJvchjoByABKAsyEy5wcm90b3dpcmUuUlBDRXJyb3JSBWVycm9y'); + +@$core.Deprecated('Use getDaaScoreTimestampEstimateRequestMessageDescriptor instead') +const GetDaaScoreTimestampEstimateRequestMessage$json = { + '1': 'GetDaaScoreTimestampEstimateRequestMessage', + '2': [ + {'1': 'daa_scores', '3': 1, '4': 3, '5': 4, '10': 'daaScores'}, + ], +}; + +/// Descriptor for `GetDaaScoreTimestampEstimateRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getDaaScoreTimestampEstimateRequestMessageDescriptor = $convert.base64Decode( + 'CipHZXREYWFTY29yZVRpbWVzdGFtcEVzdGltYXRlUmVxdWVzdE1lc3NhZ2USHQoKZGFhX3Njb3' + 'JlcxgBIAMoBFIJZGFhU2NvcmVz'); + +@$core.Deprecated('Use getDaaScoreTimestampEstimateResponseMessageDescriptor instead') +const GetDaaScoreTimestampEstimateResponseMessage$json = { + '1': 'GetDaaScoreTimestampEstimateResponseMessage', + '2': [ + {'1': 'timestamps', '3': 1, '4': 3, '5': 4, '10': 'timestamps'}, + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, + ], +}; + +/// Descriptor for `GetDaaScoreTimestampEstimateResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getDaaScoreTimestampEstimateResponseMessageDescriptor = $convert.base64Decode( + 'CitHZXREYWFTY29yZVRpbWVzdGFtcEVzdGltYXRlUmVzcG9uc2VNZXNzYWdlEh4KCnRpbWVzdG' + 'FtcHMYASADKARSCnRpbWVzdGFtcHMSKgoFZXJyb3IY6AcgASgLMhMucHJvdG93aXJlLlJQQ0Vy' + 'cm9yUgVlcnJvcg=='); + +@$core.Deprecated('Use rpcFeerateBucketDescriptor instead') +const RpcFeerateBucket$json = { + '1': 'RpcFeerateBucket', + '2': [ + {'1': 'feerate', '3': 1, '4': 1, '5': 1, '10': 'feerate'}, + {'1': 'estimated_seconds', '3': 2, '4': 1, '5': 1, '10': 'estimatedSeconds'}, + ], +}; + +/// Descriptor for `RpcFeerateBucket`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List rpcFeerateBucketDescriptor = $convert.base64Decode( + 'ChBScGNGZWVyYXRlQnVja2V0EhgKB2ZlZXJhdGUYASABKAFSB2ZlZXJhdGUSKwoRZXN0aW1hdG' + 'VkX3NlY29uZHMYAiABKAFSEGVzdGltYXRlZFNlY29uZHM='); + +@$core.Deprecated('Use rpcFeeEstimateDescriptor instead') +const RpcFeeEstimate$json = { + '1': 'RpcFeeEstimate', + '2': [ + {'1': 'priority_bucket', '3': 1, '4': 1, '5': 11, '6': '.protowire.RpcFeerateBucket', '10': 'priorityBucket'}, + {'1': 'normal_buckets', '3': 2, '4': 3, '5': 11, '6': '.protowire.RpcFeerateBucket', '10': 'normalBuckets'}, + {'1': 'low_buckets', '3': 3, '4': 3, '5': 11, '6': '.protowire.RpcFeerateBucket', '10': 'lowBuckets'}, + ], +}; + +/// Descriptor for `RpcFeeEstimate`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List rpcFeeEstimateDescriptor = $convert.base64Decode( + 'Cg5ScGNGZWVFc3RpbWF0ZRJECg9wcmlvcml0eV9idWNrZXQYASABKAsyGy5wcm90b3dpcmUuUn' + 'BjRmVlcmF0ZUJ1Y2tldFIOcHJpb3JpdHlCdWNrZXQSQgoObm9ybWFsX2J1Y2tldHMYAiADKAsy' + 'Gy5wcm90b3dpcmUuUnBjRmVlcmF0ZUJ1Y2tldFINbm9ybWFsQnVja2V0cxI8Cgtsb3dfYnVja2' + 'V0cxgDIAMoCzIbLnByb3Rvd2lyZS5ScGNGZWVyYXRlQnVja2V0Ugpsb3dCdWNrZXRz'); + +@$core.Deprecated('Use rpcFeeEstimateVerboseExperimentalDataDescriptor instead') +const RpcFeeEstimateVerboseExperimentalData$json = { + '1': 'RpcFeeEstimateVerboseExperimentalData', + '2': [ + {'1': 'mempool_ready_transactions_count', '3': 1, '4': 1, '5': 4, '10': 'mempoolReadyTransactionsCount'}, + {'1': 'mempool_ready_transactions_total_mass', '3': 2, '4': 1, '5': 4, '10': 'mempoolReadyTransactionsTotalMass'}, + {'1': 'network_mass_per_second', '3': 3, '4': 1, '5': 4, '10': 'networkMassPerSecond'}, + {'1': 'next_block_template_feerate_min', '3': 11, '4': 1, '5': 1, '10': 'nextBlockTemplateFeerateMin'}, + {'1': 'next_block_template_feerate_median', '3': 12, '4': 1, '5': 1, '10': 'nextBlockTemplateFeerateMedian'}, + {'1': 'next_block_template_feerate_max', '3': 13, '4': 1, '5': 1, '10': 'nextBlockTemplateFeerateMax'}, + ], +}; + +/// Descriptor for `RpcFeeEstimateVerboseExperimentalData`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List rpcFeeEstimateVerboseExperimentalDataDescriptor = $convert.base64Decode( + 'CiVScGNGZWVFc3RpbWF0ZVZlcmJvc2VFeHBlcmltZW50YWxEYXRhEkcKIG1lbXBvb2xfcmVhZH' + 'lfdHJhbnNhY3Rpb25zX2NvdW50GAEgASgEUh1tZW1wb29sUmVhZHlUcmFuc2FjdGlvbnNDb3Vu' + 'dBJQCiVtZW1wb29sX3JlYWR5X3RyYW5zYWN0aW9uc190b3RhbF9tYXNzGAIgASgEUiFtZW1wb2' + '9sUmVhZHlUcmFuc2FjdGlvbnNUb3RhbE1hc3MSNQoXbmV0d29ya19tYXNzX3Blcl9zZWNvbmQY' + 'AyABKARSFG5ldHdvcmtNYXNzUGVyU2Vjb25kEkQKH25leHRfYmxvY2tfdGVtcGxhdGVfZmVlcm' + 'F0ZV9taW4YCyABKAFSG25leHRCbG9ja1RlbXBsYXRlRmVlcmF0ZU1pbhJKCiJuZXh0X2Jsb2Nr' + 'X3RlbXBsYXRlX2ZlZXJhdGVfbWVkaWFuGAwgASgBUh5uZXh0QmxvY2tUZW1wbGF0ZUZlZXJhdG' + 'VNZWRpYW4SRAofbmV4dF9ibG9ja190ZW1wbGF0ZV9mZWVyYXRlX21heBgNIAEoAVIbbmV4dEJs' + 'b2NrVGVtcGxhdGVGZWVyYXRlTWF4'); + +@$core.Deprecated('Use getFeeEstimateRequestMessageDescriptor instead') +const GetFeeEstimateRequestMessage$json = { + '1': 'GetFeeEstimateRequestMessage', +}; + +/// Descriptor for `GetFeeEstimateRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getFeeEstimateRequestMessageDescriptor = $convert.base64Decode( + 'ChxHZXRGZWVFc3RpbWF0ZVJlcXVlc3RNZXNzYWdl'); + +@$core.Deprecated('Use getFeeEstimateResponseMessageDescriptor instead') +const GetFeeEstimateResponseMessage$json = { + '1': 'GetFeeEstimateResponseMessage', + '2': [ + {'1': 'estimate', '3': 1, '4': 1, '5': 11, '6': '.protowire.RpcFeeEstimate', '10': 'estimate'}, + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, + ], +}; + +/// Descriptor for `GetFeeEstimateResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getFeeEstimateResponseMessageDescriptor = $convert.base64Decode( + 'Ch1HZXRGZWVFc3RpbWF0ZVJlc3BvbnNlTWVzc2FnZRI1Cghlc3RpbWF0ZRgBIAEoCzIZLnByb3' + 'Rvd2lyZS5ScGNGZWVFc3RpbWF0ZVIIZXN0aW1hdGUSKgoFZXJyb3IY6AcgASgLMhMucHJvdG93' + 'aXJlLlJQQ0Vycm9yUgVlcnJvcg=='); + +@$core.Deprecated('Use getFeeEstimateExperimentalRequestMessageDescriptor instead') +const GetFeeEstimateExperimentalRequestMessage$json = { + '1': 'GetFeeEstimateExperimentalRequestMessage', + '2': [ + {'1': 'verbose', '3': 1, '4': 1, '5': 8, '10': 'verbose'}, + ], +}; + +/// Descriptor for `GetFeeEstimateExperimentalRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getFeeEstimateExperimentalRequestMessageDescriptor = $convert.base64Decode( + 'CihHZXRGZWVFc3RpbWF0ZUV4cGVyaW1lbnRhbFJlcXVlc3RNZXNzYWdlEhgKB3ZlcmJvc2UYAS' + 'ABKAhSB3ZlcmJvc2U='); + +@$core.Deprecated('Use getFeeEstimateExperimentalResponseMessageDescriptor instead') +const GetFeeEstimateExperimentalResponseMessage$json = { + '1': 'GetFeeEstimateExperimentalResponseMessage', + '2': [ + {'1': 'estimate', '3': 1, '4': 1, '5': 11, '6': '.protowire.RpcFeeEstimate', '10': 'estimate'}, + {'1': 'verbose', '3': 2, '4': 1, '5': 11, '6': '.protowire.RpcFeeEstimateVerboseExperimentalData', '10': 'verbose'}, + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, + ], +}; + +/// Descriptor for `GetFeeEstimateExperimentalResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getFeeEstimateExperimentalResponseMessageDescriptor = $convert.base64Decode( + 'CilHZXRGZWVFc3RpbWF0ZUV4cGVyaW1lbnRhbFJlc3BvbnNlTWVzc2FnZRI1Cghlc3RpbWF0ZR' + 'gBIAEoCzIZLnByb3Rvd2lyZS5ScGNGZWVFc3RpbWF0ZVIIZXN0aW1hdGUSSgoHdmVyYm9zZRgC' + 'IAEoCzIwLnByb3Rvd2lyZS5ScGNGZWVFc3RpbWF0ZVZlcmJvc2VFeHBlcmltZW50YWxEYXRhUg' + 'd2ZXJib3NlEioKBWVycm9yGOgHIAEoCzITLnByb3Rvd2lyZS5SUENFcnJvclIFZXJyb3I='); + +@$core.Deprecated('Use getCurrentBlockColorRequestMessageDescriptor instead') +const GetCurrentBlockColorRequestMessage$json = { + '1': 'GetCurrentBlockColorRequestMessage', + '2': [ + {'1': 'hash', '3': 1, '4': 1, '5': 9, '10': 'hash'}, + ], +}; + +/// Descriptor for `GetCurrentBlockColorRequestMessage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getCurrentBlockColorRequestMessageDescriptor = $convert.base64Decode( + 'CiJHZXRDdXJyZW50QmxvY2tDb2xvclJlcXVlc3RNZXNzYWdlEhIKBGhhc2gYASABKAlSBGhhc2' + 'g='); + +@$core.Deprecated('Use getCurrentBlockColorResponseMessageDescriptor instead') +const GetCurrentBlockColorResponseMessage$json = { + '1': 'GetCurrentBlockColorResponseMessage', + '2': [ + {'1': 'blue', '3': 1, '4': 1, '5': 8, '10': 'blue'}, + {'1': 'error', '3': 1000, '4': 1, '5': 11, '6': '.protowire.RPCError', '10': 'error'}, + ], +}; + +/// Descriptor for `GetCurrentBlockColorResponseMessage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getCurrentBlockColorResponseMessageDescriptor = $convert.base64Decode( + 'CiNHZXRDdXJyZW50QmxvY2tDb2xvclJlc3BvbnNlTWVzc2FnZRISCgRibHVlGAEgASgIUgRibH' + 'VlEioKBWVycm9yGOgHIAEoCzITLnByb3Rvd2lyZS5SUENFcnJvclIFZXJyb3I='); diff --git a/lib/karlsen/karlsen.dart b/lib/karlsen/karlsen.dart index 148d4c54..57f72457 100644 --- a/lib/karlsen/karlsen.dart +++ b/lib/karlsen/karlsen.dart @@ -1,11 +1,7 @@ -export 'address_generator.dart'; -export 'client/karlsen_client.dart'; -export 'karlsen_api/karlsen_api.dart'; -export 'karlsen_api/karlsen_api_service.dart'; +export 'karlsen_api.dart'; +export 'karlsen_client.dart'; export 'network.dart'; -export 'signer_base.dart'; -export 'transaction/types.dart'; +export 'transaction.dart'; export 'types.dart'; export 'utils.dart'; -export 'wallet.dart'; export 'wallet_service.dart'; diff --git a/lib/karlsen/karlsen_api.dart b/lib/karlsen/karlsen_api.dart new file mode 100644 index 00000000..46e85fcf --- /dev/null +++ b/lib/karlsen/karlsen_api.dart @@ -0,0 +1 @@ +export 'karlsen_api/karlsen_api.dart'; diff --git a/lib/karlsen/karlsen_api/karlsen_api.dart b/lib/karlsen/karlsen_api/karlsen_api.dart index 52bf1fa0..f7dad52a 100644 --- a/lib/karlsen/karlsen_api/karlsen_api.dart +++ b/lib/karlsen/karlsen_api/karlsen_api.dart @@ -1,3 +1,5 @@ -export 'karlsen_api_mainnet.dart'; -export 'karlsen_api_empty.dart'; export 'karlsen_api_base.dart'; +export 'karlsen_api_empty.dart'; +export 'karlsen_api_mainnet.dart'; +export 'karlsen_api_service.dart'; +export 'types.dart'; diff --git a/lib/karlsen/karlsen_api/karlsen_api_base.dart b/lib/karlsen/karlsen_api/karlsen_api_base.dart index 35f577f0..43337247 100644 --- a/lib/karlsen/karlsen_api/karlsen_api_base.dart +++ b/lib/karlsen/karlsen_api/karlsen_api_base.dart @@ -1,13 +1,5 @@ import 'types.dart'; -export 'karlsen_api_mainnet.dart'; - -enum ResolvePreviousOutpoints { - no, - light, - full, -} - abstract class KarlsenApi { Future getBalance({ required String address, diff --git a/lib/karlsen/karlsen_api/karlsen_api_mainnet.dart b/lib/karlsen/karlsen_api/karlsen_api_mainnet.dart index b6da8c4f..4d60122c 100644 --- a/lib/karlsen/karlsen_api/karlsen_api_mainnet.dart +++ b/lib/karlsen/karlsen_api/karlsen_api_mainnet.dart @@ -2,7 +2,7 @@ import 'dart:convert'; import 'package:http/http.dart' as http; -import 'karlsen_api.dart'; +import 'karlsen_api_base.dart'; import 'types.dart'; class KarlsenApiMainnet implements KarlsenApi { diff --git a/lib/karlsen/karlsen_api/types.dart b/lib/karlsen/karlsen_api/types.dart index b3e05c4e..6532159c 100644 --- a/lib/karlsen/karlsen_api/types.dart +++ b/lib/karlsen/karlsen_api/types.dart @@ -6,6 +6,12 @@ import '../grpc/rpc.pb.dart'; part 'types.freezed.dart'; part 'types.g.dart'; +enum ResolvePreviousOutpoints { + no, + light, + full, +} + @freezed class ApiAddressBalance with _$ApiAddressBalance { const factory ApiAddressBalance({ diff --git a/lib/karlsen/karlsen_client.dart b/lib/karlsen/karlsen_client.dart new file mode 100644 index 00000000..46abaa52 --- /dev/null +++ b/lib/karlsen/karlsen_client.dart @@ -0,0 +1 @@ +export 'client/karlsen_client.dart'; diff --git a/lib/karlsen/network.dart b/lib/karlsen/network.dart index b9e0263e..9a342b4b 100644 --- a/lib/karlsen/network.dart +++ b/lib/karlsen/network.dart @@ -1,5 +1,16 @@ import 'bip32/bip32.dart'; +const String kKarlsenNetworkMainnet = 'mainnet'; +const String kKarlsenNetworkTestnet = 'testnet'; +const String kKarlsenNetworkSimnet = 'simnet'; +const String kKarlsenNetworkDevnet = 'devnet'; + +const String kKarlsenNetworkIdMainnet = '$kKarlsenNetworkMainnet'; +const String kKarlsenNetworkIdTestnet10 = '$kKarlsenNetworkTestnet-10'; +const String kKarlsenNetworkIdTestnet11 = '$kKarlsenNetworkTestnet-11'; +const String kKarlsenNetworkIdSimnet = '$kKarlsenNetworkSimnet'; +const String kKarlsenNetworkIdDevnet = '$kKarlsenNetworkDevnet'; + const int kMainnetRpcPort = 42110; const int kTestnetPpcPort = 42210; const int kSimnetRpcPort = 42510; @@ -9,20 +20,31 @@ enum KarlsenNetwork { mainnet, testnet, devnet, - simnet, -} + simnet; -int portForNetwork(KarlsenNetwork network) { - switch (network) { - case KarlsenNetwork.mainnet: - return kMainnetRpcPort; - case KarlsenNetwork.testnet: - return kTestnetPpcPort; - case KarlsenNetwork.simnet: - return kSimnetRpcPort; - case KarlsenNetwork.devnet: - return kDevnetRpcPort; + static KarlsenNetwork? tryParse(String network) { + return switch (network) { + kKarlsenNetworkMainnet => KarlsenNetwork.mainnet, + kKarlsenNetworkTestnet => KarlsenNetwork.testnet, + kKarlsenNetworkSimnet => KarlsenNetwork.simnet, + kKarlsenNetworkDevnet => KarlsenNetwork.devnet, + _ => null, + }; } + + String idWithSuffix([String suffix = '']) { + if (suffix.isNotEmpty) { + return name + '-$suffix'; + } + return name; + } + + int get defaultRpcPort => switch (this) { + KarlsenNetwork.mainnet => kMainnetRpcPort, + KarlsenNetwork.testnet => kTestnetPpcPort, + KarlsenNetwork.simnet => kSimnetRpcPort, + KarlsenNetwork.devnet => kDevnetRpcPort + }; } KarlsenNetwork networkForPort(int port) { diff --git a/lib/karlsen/transaction.dart b/lib/karlsen/transaction.dart new file mode 100644 index 00000000..c57a3a07 --- /dev/null +++ b/lib/karlsen/transaction.dart @@ -0,0 +1,3 @@ +export 'transaction/transaction_builder.dart'; +export 'transaction/transaction_util.dart'; +export 'transaction/types.dart'; diff --git a/lib/karlsen/txmass_calculator.dart b/lib/karlsen/transaction/mass_calculator.dart similarity index 51% rename from lib/karlsen/txmass_calculator.dart rename to lib/karlsen/transaction/mass_calculator.dart index c8437fdd..37352599 100644 --- a/lib/karlsen/txmass_calculator.dart +++ b/lib/karlsen/transaction/mass_calculator.dart @@ -1,30 +1,99 @@ import '../utils.dart'; -import 'karlsen.dart'; +import 'types.dart'; -bool isCoinBase({required Transaction tx}) => - tx.subnetworkId.hex == kSubnetworkIdCoinbaseHex; +//1 byte for OP_DATA_65 + 64 (length of signature) + 1 byte for sig hash type +const kSignatureSize = 1 + 64 + 1; -class TxMassCalculator { +BigInt _max(BigInt a, BigInt b) => a > b ? a : b; + +enum Kip9Version { + alpha, + beta, +} + +class MassCalculator { final int massPerTxByte; final int massPerScriptPubKeyByte; final int massPerSigOp; + final BigInt storageMassParameter; - static TxMassCalculator get defaultCalculator { - return TxMassCalculator( + static MassCalculator get defaultCalculator { + return MassCalculator( massPerTxByte: 1, massPerScriptPubKeyByte: 10, massPerSigOp: 1000, + storageMassParameter: kStorageMassParameter, ); } - TxMassCalculator({ + MassCalculator({ required this.massPerTxByte, required this.massPerScriptPubKeyByte, required this.massPerSigOp, + required this.storageMassParameter, }); - int calculateMass({required Transaction tx}) { - if (isCoinBase(tx: tx)) { + BigInt calcTxOverallMass({ + required Transaction tx, + Kip9Version version = Kip9Version.beta, + }) { + final computeMass = BigInt.from(calcTxComputeMass(tx: tx)); + final storageMass = calcTxStorageMass(tx: tx); + return switch (version) { + Kip9Version.alpha => computeMass + storageMass, + Kip9Version.beta => _max(computeMass, storageMass), + }; + } + + BigInt calcTxStorageMass({ + required Transaction tx, + Kip9Version version = Kip9Version.beta, + }) { + if (tx.isCoinbase) { + return BigInt.zero; + } + + final harmonicOuts = tx.outputs + .map( + (output) => storageMassParameter ~/ output.value.toUnsignedBigInt(), + ) + .fold( + BigInt.zero, + (total, element) => total + element, + ); + + final outsLen = tx.outputs.length; + final insLen = tx.inputs.length; + + final isRelaxed = + outsLen == 1 || insLen == 1 || (outsLen == 2 && insLen == 2); + if (version == Kip9Version.beta && isRelaxed) { + final harmonicIns = tx.inputs + .map( + (input) => storageMassParameter ~/ input.utxoEntry.amount, + ) + .fold( + BigInt.zero, + (total, element) => total + element, + ); + + return _max(BigInt.zero, harmonicOuts - harmonicIns); + } + + final sumIns = tx.inputs + .map((input) => input.utxoEntry.amount) + .fold(BigInt.zero, (previousValue, element) => previousValue + element); + + final meanIns = sumIns ~/ BigInt.from(insLen); + + final arithmeticIns = + BigInt.from(insLen) * (storageMassParameter ~/ meanIns); + + return _max(BigInt.zero, harmonicOuts - arithmeticIns); + } + + int calcTxComputeMass({required Transaction tx}) { + if (tx.isCoinbase) { return 0; } @@ -52,10 +121,6 @@ class TxMassCalculator { } int txEstimatedSerializedSize({required Transaction tx}) { - if (isCoinBase(tx: tx)) { - return 0; - } - int size = 0; size += 2; // version size += 8; // number of inputs @@ -80,7 +145,7 @@ class TxMassCalculator { int size = 0; size += outpointEstimatedSerializedSize(); // previous outpoint size += 8; // signature script length - size += input.signatureScript.length; // signature script + size += kSignatureSize; // input.signatureScript.length; // signature script size += 8; // sequence (uint64) return size; } diff --git a/lib/karlsen/transaction/transaction_builder.dart b/lib/karlsen/transaction/transaction_builder.dart index eff4dfb1..5fd7e3b9 100644 --- a/lib/karlsen/transaction/transaction_builder.dart +++ b/lib/karlsen/transaction/transaction_builder.dart @@ -1,54 +1,125 @@ +import 'dart:collection'; import 'dart:typed_data'; import 'package:fixnum/fixnum.dart'; -import '../types.dart'; -import '../utils.dart'; +import '../karlsen.dart'; import 'txscript.dart'; -import 'types.dart'; class TransactionBuilder { final List utxos; + final BigInt feePerInputRaw; + final Amount priorityFee; + + BigInt _change = BigInt.zero; + Amount get change => Amount.raw(_change); + + Address? _changeAddress; + Address? get changeAddress => _changeAddress; + + BigInt _baseFee = BigInt.zero; + Amount get baseFee => Amount.raw(_baseFee); + + List _selectedUtxos = []; + List get selectedUtxos => UnmodifiableListView(_selectedUtxos); TransactionBuilder({ required this.utxos, - }); + BigInt? feePerInput, + Amount? priorityFee, + }) : feePerInputRaw = feePerInput ?? kFeePerInput, + priorityFee = priorityFee ?? Amount.zero; - List selectUtxos({ - required BigInt spendAmount, - required BigInt feePerInput, + Transaction? rebuildTransaction( + ApiTransaction tx, { + required Address toAddress, + required Address changeAddress, }) { - final selectedUtxos = _selectUtxos( - spendAmount: spendAmount, - feePerInput: feePerInput, - ); + final amountRaw = BigInt.from(tx.outputs.first.amount); + + final utxoMap = tx.inputs + .map( + (input) => ( + input.previousOutpointHash, + input.previousOutpointIndex.toInt(), + ), + ) + .toSet(); + final txUtxos = []; + for (final utxo in utxos) { + final outpoint = (utxo.outpoint.transactionId, utxo.outpoint.index); + if (utxoMap.contains(outpoint)) { + txUtxos.add(utxo); + utxoMap.remove(outpoint); + if (utxoMap.isEmpty) { + break; + } + } + } - return selectedUtxos; + int index = 0; + while (index++ < kMaxInputsPerTransaction) { + try { + final tx = createUnsignedTransaction( + toAddress: toAddress, + amountRaw: amountRaw, + changeAddress: changeAddress, + preselectedUtxos: txUtxos, + ); + return tx; + } catch (e) { + if (utxos.length == txUtxos.length) { + // Not enough funds + rethrow; + } + final newUtxo = utxos.firstWhere( + (utxo) => !selectedUtxos.contains(utxo), + ); + txUtxos.add(newUtxo); + } + } + return null; } Transaction createUnsignedTransaction({ required Address toAddress, - required Amount amount, + required BigInt amountRaw, required Address changeAddress, + List? preselectedUtxos, }) { - final selectedUtxos = _selectUtxos( - spendAmount: amount.raw, - feePerInput: kFeePerInput, + _selectedUtxos = preselectedUtxos != null + ? _userSelectedUtxos( + userSelectedUtxos: preselectedUtxos, + spendAmountRaw: amountRaw, + ) + : _selectUtxos(spendAmount: amountRaw); + + final changeAmount = _getChangeAmountRaw( + selectedUtxos: _selectedUtxos, + spendAmount: amountRaw, ); - final changeAmount = _getChangeRaw( - selectedUtxos: selectedUtxos, - spendAmount: amount.raw, - feePerInput: kFeePerInput, - ); + final hasChange = changeAmount >= kMinChangeTarget || + changeAmount >= amountRaw ~/ BigInt.two; final payments = { - toAddress: amount.raw.toInt64(), - if (changeAmount > kFeePerInput) changeAddress: changeAmount.toInt64(), + toAddress: amountRaw.toInt64(), + if (hasChange) changeAddress: changeAmount.toInt64(), }; + if (hasChange) { + _change = changeAmount; + _changeAddress = changeAddress; + _baseFee = feePerInputRaw * BigInt.from(_selectedUtxos.length); + } else { + _change = BigInt.zero; + _changeAddress = null; + _baseFee = + feePerInputRaw * BigInt.from(_selectedUtxos.length) + changeAmount; + } + final unsignedTransaction = _createUnsignedTransaction( - utxos: selectedUtxos, + utxos: _selectedUtxos, payments: payments, ); @@ -93,26 +164,48 @@ class TransactionBuilder { return tx; } + List _userSelectedUtxos({ + required List userSelectedUtxos, + required BigInt spendAmountRaw, + }) { + final selectedUtxos = List.of(userSelectedUtxos); + final totalValue = selectedUtxos.fold( + BigInt.zero, + (total, utxo) => total + utxo.utxoEntry.amount, + ); + + final baseFeeRaw = feePerInputRaw * BigInt.from(selectedUtxos.length); + final totalSpendRaw = spendAmountRaw + baseFeeRaw + priorityFee.raw; + + if (totalValue < totalSpendRaw) { + throw Exception('Not enough funds'); + } + + return selectedUtxos; + } + List _selectUtxos({ required BigInt spendAmount, - required BigInt feePerInput, }) { final selectedUtxos = []; var totalValue = BigInt.zero; + for (final utxo in utxos) { selectedUtxos.add(utxo); totalValue += utxo.utxoEntry.amount; - final fee = feePerInput * BigInt.from(selectedUtxos.length); - final totalSpend = spendAmount + fee; + final baseFeeRaw = feePerInputRaw * BigInt.from(selectedUtxos.length); + final totalSpend = spendAmount + baseFeeRaw + priorityFee.raw; - if (totalValue >= totalSpend) { + if (totalValue == totalSpend || + (totalValue >= totalSpend + kMinChangeTarget && + selectedUtxos.length > 1)) { break; } } - final fee = feePerInput * BigInt.from(selectedUtxos.length); - final totalSpend = spendAmount + fee; + final baseFeeRaw = feePerInputRaw * BigInt.from(selectedUtxos.length); + final totalSpend = spendAmount + baseFeeRaw + priorityFee.raw; if (totalValue < totalSpend) { throw Exception('Not enough funds'); @@ -121,10 +214,9 @@ class TransactionBuilder { return selectedUtxos; } - BigInt _getChangeRaw({ + BigInt _getChangeAmountRaw({ required List selectedUtxos, required BigInt spendAmount, - required BigInt feePerInput, }) { var totalValue = BigInt.zero; @@ -132,7 +224,8 @@ class TransactionBuilder { totalValue += utxo.utxoEntry.amount; } - final fee = feePerInput * BigInt.from(selectedUtxos.length); + final baseFeeRaw = feePerInputRaw * BigInt.from(selectedUtxos.length); + final fee = baseFeeRaw + priorityFee.raw; final totalSpend = spendAmount + fee; return totalValue - totalSpend; diff --git a/lib/karlsen/transaction/transaction_util.dart b/lib/karlsen/transaction/transaction_util.dart index 11ba9fa6..d934c61e 100644 --- a/lib/karlsen/transaction/transaction_util.dart +++ b/lib/karlsen/transaction/transaction_util.dart @@ -4,9 +4,9 @@ import 'dart:typed_data'; import 'package:fixnum/fixnum.dart'; import 'package:pointycastle/digests/blake2b.dart'; -import '../../utils.dart'; import '../bip340/bip340.dart' as schnorr; -import '../karlsen.dart'; +import '../utils.dart'; +import 'types.dart'; const kTransactionHashDomain = 'TransactionHash'; const kTransactionIdDomain = 'TransactionID'; @@ -252,7 +252,7 @@ Uint8List _genAux([int bytes = 32]) { final random = Random.secure(); final aux = Uint8List(bytes); for (int i = 0; i < bytes; ++i) { - aux[i] = random.nextInt(0xFF); + aux[i] = random.nextInt(0x100); } return aux; } diff --git a/lib/karlsen/transaction/types.dart b/lib/karlsen/transaction/types.dart index 621990cb..73fc71ef 100644 --- a/lib/karlsen/transaction/types.dart +++ b/lib/karlsen/transaction/types.dart @@ -3,13 +3,17 @@ import 'dart:typed_data'; import 'package:fixnum/fixnum.dart'; import 'package:freezed_annotation/freezed_annotation.dart'; -import '../../utils.dart'; import '../grpc/rpc.pb.dart'; -import '../karlsen.dart'; +import '../types/address.dart'; +import '../utils.dart'; part 'types.freezed.dart'; part 'types.g.dart'; +final kSompiPerKarlsen = BigInt.from(100000000); +final kStorageMassParameter = kSompiPerKarlsen * BigInt.from(10000); + +final kMinChangeTarget = BigInt.from(20000000); final kFeePerInput = BigInt.from(10000); const kMaxInputsPerTransaction = 84; final kMaximumStandardTransactionMass = BigInt.from(100000); @@ -81,13 +85,13 @@ class Utxo with _$Utxo { factory Utxo.fromJson(Map json) => _$UtxoFromJson(json); - factory Utxo.fromRpc(UtxosByAddressesEntry rpc) => Utxo( + factory Utxo.fromRpc(RpcUtxosByAddressesEntry rpc) => Utxo( address: rpc.address, outpoint: Outpoint.fromRpc(rpc.outpoint), utxoEntry: UtxoEntry.fromRpc(rpc.utxoEntry), ); - UtxosByAddressesEntry toRpc() => UtxosByAddressesEntry( + RpcUtxosByAddressesEntry toRpc() => RpcUtxosByAddressesEntry( address: address, outpoint: outpoint.toRpc(), utxoEntry: utxoEntry.toRpc(), @@ -222,6 +226,7 @@ class TxOutput with _$TxOutput { @freezed class Transaction with _$Transaction { + const Transaction._(); const factory Transaction({ /*uint16*/ required int version, required List inputs, @@ -234,6 +239,18 @@ class Transaction with _$Transaction { /*uint64*/ Int64? mass, Uint8List? id, }) = _Transaction; + + RpcTransaction toRpc() => RpcTransaction( + version: version, + inputs: inputs.map((input) => input.toRpc()), + outputs: outputs.map((output) => output.toRpc()), + lockTime: lockTime, + subnetworkId: subnetworkId.hex, + gas: gas, + payload: payload?.hex, + ); + + bool get isCoinbase => subnetworkId.hex == kSubnetworkIdCoinbaseHex; } @unfreezed diff --git a/lib/karlsen/transaction/types.freezed.dart b/lib/karlsen/transaction/types.freezed.dart index 942ed8ba..31f5d0b3 100644 --- a/lib/karlsen/transaction/types.freezed.dart +++ b/lib/karlsen/transaction/types.freezed.dart @@ -1509,7 +1509,7 @@ class __$$TransactionImplCopyWithImpl<$Res> /// @nodoc -class _$TransactionImpl implements _Transaction { +class _$TransactionImpl extends _Transaction { const _$TransactionImpl( {required this.version, required final List inputs, @@ -1522,7 +1522,8 @@ class _$TransactionImpl implements _Transaction { this.mass, this.id}) : _inputs = inputs, - _outputs = outputs; + _outputs = outputs, + super._(); /*uint16*/ @override @@ -1608,7 +1609,7 @@ class _$TransactionImpl implements _Transaction { __$$TransactionImplCopyWithImpl<_$TransactionImpl>(this, _$identity); } -abstract class _Transaction implements Transaction { +abstract class _Transaction extends Transaction { const factory _Transaction( {required final int version, required final List inputs, @@ -1620,6 +1621,7 @@ abstract class _Transaction implements Transaction { final Int64? fee, final Int64? mass, final Uint8List? id}) = _$TransactionImpl; + const _Transaction._() : super._(); @override /*uint16*/ int get version; diff --git a/lib/karlsen/types.dart b/lib/karlsen/types.dart index b9788c12..1e1ebe9b 100644 --- a/lib/karlsen/types.dart +++ b/lib/karlsen/types.dart @@ -1,4 +1,3 @@ -export 'karlsen_api/types.dart'; export 'types/address.dart'; export 'types/address_balance.dart'; export 'types/address_prefix.dart'; diff --git a/lib/karlsen/types/address.dart b/lib/karlsen/types/address.dart index 38e942c1..3e01b0e0 100644 --- a/lib/karlsen/types/address.dart +++ b/lib/karlsen/types/address.dart @@ -3,7 +3,8 @@ import 'dart:typed_data'; import 'package:freezed_annotation/freezed_annotation.dart'; import '../bech32/bech32.dart' as bech32; -import '../karlsen.dart'; +import '../utils.dart'; +import 'address_prefix.dart'; part 'address.freezed.dart'; @@ -103,9 +104,9 @@ class Address with _$Address { Uint8List scriptAddress() { return when( - publicKey: (_, publicKey) => publicKey.asUnmodifiableView(), - pubKeyECDSA: (_, publicKey) => publicKey.asUnmodifiableView(), - scriptHash: (_, hash) => hash.asUnmodifiableView(), + publicKey: (_, publicKey) => Uint8List.fromList(publicKey), + pubKeyECDSA: (_, publicKey) => Uint8List.fromList(publicKey), + scriptHash: (_, hash) => Uint8List.fromList(hash), ); } diff --git a/lib/karlsen/types/address_balance.dart b/lib/karlsen/types/address_balance.dart index 27630663..2b24ce19 100644 --- a/lib/karlsen/types/address_balance.dart +++ b/lib/karlsen/types/address_balance.dart @@ -17,12 +17,13 @@ class AddressBalance with _$AddressBalance { factory AddressBalance.fromJson(Map json) => _$AddressBalanceFromJson(json); - factory AddressBalance.fromRpc(BalancesByAddressEntry rpc) => AddressBalance( + factory AddressBalance.fromRpc(RpcBalancesByAddressesEntry rpc) => + AddressBalance( address: rpc.address, balance: rpc.balance.toUnsignedBigInt(), ); - BalancesByAddressEntry toRpc() => BalancesByAddressEntry( + RpcBalancesByAddressesEntry toRpc() => RpcBalancesByAddressesEntry( address: address, balance: balance.toInt64(), ); diff --git a/lib/karlsen/types/amount.dart b/lib/karlsen/types/amount.dart index ff979612..2bf5697c 100644 --- a/lib/karlsen/types/amount.dart +++ b/lib/karlsen/types/amount.dart @@ -4,7 +4,7 @@ import 'package:decimal/decimal.dart'; import 'package:fixnum/fixnum.dart'; import 'package:freezed_annotation/freezed_annotation.dart'; -import '../karlsen.dart'; +import 'token_info.dart'; part 'amount.freezed.dart'; part 'amount.g.dart'; diff --git a/lib/karlsen/utils.dart b/lib/karlsen/utils.dart index fd5ab14a..d48d28d3 100644 --- a/lib/karlsen/utils.dart +++ b/lib/karlsen/utils.dart @@ -1,10 +1,20 @@ +import 'dart:convert'; import 'dart:typed_data'; import 'package:fixnum/fixnum.dart'; +import 'package:hex/hex.dart'; +import 'package:pointycastle/digests/blake2b.dart'; +// ignore: implementation_imports +import 'package:pointycastle/src/utils.dart' as p_utils; -import '../utils.dart'; +import 'bip39/bip39.dart' as bip39; const karlsenDecimals = 8; +const _seedLength = 128; + +bool isValidSeed(String seed) { + return isHex(seed) && seed.length == _seedLength; +} extension ToBigInt on Int64 { BigInt toUnsignedBigInt() => BigInt.parse(toStringUnsigned()); @@ -25,3 +35,87 @@ extension AsUint8List on List { return (self is Uint8List) ? self : Uint8List.fromList(this); } } + +extension Uint8ListUtils on Uint8List { + String get hex => bytesToHex(this); + String get toBase64 => bytesToBase64(this); + Uint8List get complement => Uint8List.fromList(map((e) => ~e).toList()); +} + +Uint8List leftPadBytes(Uint8List bytes, int size) { + if (bytes.lengthInBytes >= size) { + return bytes; + } + + final result = Uint8List(size); + result.setAll(size - bytes.lengthInBytes, bytes); + return result; +} + +Uint8List rightPadBytes(Uint8List bytes, int size) { + if (bytes.lengthInBytes >= size) { + return bytes; + } + + final result = Uint8List(size); + result.setAll(0, bytes); + return result; +} + +String bytesToHex(Uint8List bytes) => HEX.encode(bytes); + +Uint8List hexToBytes(String hex) => Uint8List.fromList(HEX.decode(hex)); + +String bytesToBase64(Uint8List bytes) => base64.encode(bytes); + +Uint8List base64ToBytes(String data) => base64.decode(data); + +Uint8List stringToBytesUtf8(String str) => utf8.encode(str); + +String bytesUtf8ToString(Uint8List bytes) => utf8.decode(bytes); + +BigInt bytesToBigInt(Uint8List bytes) => p_utils.decodeBigInt(bytes); + +BigInt bytesToBigIntUnsigned(Uint8List bytes) => + p_utils.decodeBigIntWithSign(1, bytes); + +Uint8List bigIntToBytes(BigInt bigInt) => p_utils.encodeBigInt(bigInt); +Uint8List bigIntToBytesUnsigned(BigInt bigInt) => + p_utils.encodeBigIntAsUnsigned(bigInt); + +RegExp _hexRegExp = RegExp(r'^[0-9a-fA-F]+$'); + +bool isHex(String hex) => _hexRegExp.hasMatch(hex); + +Uint8List digest({required Uint8List data, int digestSize = 32}) { + final blake2b = Blake2bDigest(digestSize: digestSize); + final output = blake2b.process(data); + + return output; +} + +String hash(String data) => digest(data: stringToBytesUtf8(data)).hex; + +// mnemonic helpers + +String generateMnemonic({int strength = 256}) => + bip39.generateMnemonic(strength: strength); + +const kMnemonicWordList = bip39.WORDLIST; + +final _kMnemonicWords = kMnemonicWordList.toSet(); + +bool isValidMnemonicWord(String word) { + return _kMnemonicWords.contains(word); +} + +// Generic bip39 validation +bool isValidMnemonic(String mnemonic, {bool verifyChecksum = true}) { + final words = mnemonic.split(' '); + return (words.length >= 12 && words.length <= 24 && words.length % 3 == 0) && + words.every((word) => isValidMnemonicWord(word)) && + (verifyChecksum ? bip39.validateMnemonic(mnemonic) : true); +} + +String mnemonicToSeedHex(String mnemonic, {String passphrase = ''}) => + bip39.mnemonicToSeed(mnemonic, passphrase: passphrase).hex; diff --git a/lib/karlsen/wallet_service.dart b/lib/karlsen/wallet_service.dart index 8efce043..828d04af 100644 --- a/lib/karlsen/wallet_service.dart +++ b/lib/karlsen/wallet_service.dart @@ -1,150 +1,5 @@ -import 'dart:async'; - -import '../transactions/send_tx.dart'; -import '../utils.dart'; -import 'grpc/rpc.pb.dart'; -import 'karlsen.dart'; -import 'transaction/transaction_builder.dart'; -import 'transaction/transaction_util.dart'; - -class SendResult { - final String txId; - final Transaction tx; - final bool changeAddressUsed; - - const SendResult({ - required this.txId, - required this.tx, - required this.changeAddressUsed, - }); -} - -class WalletService { - final SignerBase signer; - final KarlsenClient client; - - const WalletService({ - required this.signer, - required this.client, - }); - - SendTx createSendTx({ - required Address toAddress, - required BigInt amountRaw, - required List spendableUtxos, - required BigInt feePerInput, - String? note, - }) { - final txBuilder = TransactionBuilder(utxos: spendableUtxos); - final selectedUtxos = txBuilder.selectUtxos( - spendAmount: amountRaw, - feePerInput: feePerInput, - ); - final fee = BigInt.from(selectedUtxos.length) * feePerInput; - - return SendTx( - uri: KarlsenUri( - address: toAddress, - amount: Amount.raw(amountRaw), - ), - amountRaw: amountRaw, - utxos: selectedUtxos, - fee: fee, - note: note, - ); - } - - SendTx createCompoundTx({ - required Address compoundAddress, - required List spendableUtxos, - required BigInt feePerInput, - }) { - final selectedUtxos = - spendableUtxos.take(kMaxInputsPerTransaction).toList(); - final fee = BigInt.from(selectedUtxos.length) * feePerInput; - final selectedTotal = selectedUtxos.fold( - BigInt.zero, - (sum, utxo) => sum + utxo.utxoEntry.amount, - ); - final amountRaw = selectedTotal - fee; - - return SendTx( - uri: KarlsenUri( - address: compoundAddress, - amount: Amount.raw(amountRaw), - ), - amountRaw: amountRaw, - utxos: selectedUtxos, - fee: fee, - ); - } - - Future sendTransaction( - SendTx rawTx, { - required Address changeAddress, - }) async { - final builder = TransactionBuilder(utxos: rawTx.utxos); - final tx = builder.createUnsignedTransaction( - toAddress: rawTx.toAddress, - amount: rawTx.amount, - changeAddress: changeAddress, - ); - - await _signTransaction(tx); - - final rpcTx = RpcTransaction( - version: tx.version, - inputs: tx.inputs.map( - (input) => RpcTransactionInput( - previousOutpoint: input.previousOutpoint.toRpc(), - signatureScript: bytesToHex(input.signatureScript), - sequence: input.sequence, - sigOpCount: input.sigOpCount, - ), - ), - outputs: tx.outputs.map( - (output) => RpcTransactionOutput( - amount: output.value, - scriptPublicKey: output.scriptPublicKey.toRpc(), - ), - ), - lockTime: tx.lockTime, - subnetworkId: tx.subnetworkId.hex, - gas: tx.gas, - payload: tx.payload?.hex, - ); - - final txId = await client.submitTransaction(rpcTx); - - final changeAddressUsed = rpcTx.outputs.length > 1; - - return SendResult( - txId: txId, - tx: tx, - changeAddressUsed: changeAddressUsed, - ); - } - - Future _signTransaction(Transaction tx) async { - final hashType = SigHashType.sigHashAll; - final reusedValues = SighashReusedValues(); - - // Sign all inputs - for (int index = 0; index < tx.inputs.length; ++index) { - final input = tx.inputs[index]; - - final hash = calculateSignatureHashSchnorr( - tx: tx, - inputIndex: index, - hashType: hashType, - sighashReusedValues: reusedValues, - ); - - final signature = await signer.sign(hash, input.address); - - final signatureScript = - [signature.length + 1] + signature + [hashType.raw]; - input.signatureScript.setAll(0, signatureScript); - } - } -} +export 'wallet_service/address_generator.dart'; +export 'wallet_service/send_tx.dart'; +export 'wallet_service/signer_base.dart'; +export 'wallet_service/wallet.dart'; +export 'wallet_service/wallet_service.dart'; diff --git a/lib/karlsen/address_generator.dart b/lib/karlsen/wallet_service/address_generator.dart similarity index 98% rename from lib/karlsen/address_generator.dart rename to lib/karlsen/wallet_service/address_generator.dart index 186180a4..4966f6ef 100644 --- a/lib/karlsen/address_generator.dart +++ b/lib/karlsen/wallet_service/address_generator.dart @@ -1,6 +1,7 @@ import 'dart:typed_data'; -import 'karlsen.dart'; +import '../types.dart'; +import 'wallet.dart'; typedef LegacyPubKeyCallback = Future Function({ required int typeIndex, diff --git a/lib/karlsen/wallet_service/send_tx.dart b/lib/karlsen/wallet_service/send_tx.dart new file mode 100644 index 00000000..7827d2db --- /dev/null +++ b/lib/karlsen/wallet_service/send_tx.dart @@ -0,0 +1,31 @@ +import 'package:freezed_annotation/freezed_annotation.dart'; + +import '../transaction.dart'; +import '../types.dart'; + +part 'send_tx.freezed.dart'; + +@freezed +class SendTx with _$SendTx { + const SendTx._(); + + factory SendTx({ + required KarlsenUri uri, + required Transaction tx, + required List utxos, + @Default(false) bool userSelected, + required Amount amount, + required Amount baseFee, + required Amount priorityFee, + required Amount change, + Address? changeAddress, + String? note, + required BigInt mass, + }) = _SendTx; + + Amount get fee => Amount.raw(baseFee.raw + priorityFee.raw); + + Address get toAddress => uri.address; + + List? get userSelectedUtxos => userSelected ? utxos : null; +} diff --git a/lib/karlsen/wallet_service/send_tx.freezed.dart b/lib/karlsen/wallet_service/send_tx.freezed.dart new file mode 100644 index 00000000..d8ef8ab1 --- /dev/null +++ b/lib/karlsen/wallet_service/send_tx.freezed.dart @@ -0,0 +1,441 @@ +// coverage:ignore-file +// GENERATED CODE - DO NOT MODIFY BY HAND +// ignore_for_file: type=lint +// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark + +part of 'send_tx.dart'; + +// ************************************************************************** +// FreezedGenerator +// ************************************************************************** + +T _$identity(T value) => value; + +final _privateConstructorUsedError = UnsupportedError( + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); + +/// @nodoc +mixin _$SendTx { + KarlsenUri get uri => throw _privateConstructorUsedError; + Transaction get tx => throw _privateConstructorUsedError; + List get utxos => throw _privateConstructorUsedError; + bool get userSelected => throw _privateConstructorUsedError; + Amount get amount => throw _privateConstructorUsedError; + Amount get baseFee => throw _privateConstructorUsedError; + Amount get priorityFee => throw _privateConstructorUsedError; + Amount get change => throw _privateConstructorUsedError; + Address? get changeAddress => throw _privateConstructorUsedError; + String? get note => throw _privateConstructorUsedError; + BigInt get mass => throw _privateConstructorUsedError; + + @JsonKey(ignore: true) + $SendTxCopyWith get copyWith => throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $SendTxCopyWith<$Res> { + factory $SendTxCopyWith(SendTx value, $Res Function(SendTx) then) = + _$SendTxCopyWithImpl<$Res, SendTx>; + @useResult + $Res call( + {KarlsenUri uri, + Transaction tx, + List utxos, + bool userSelected, + Amount amount, + Amount baseFee, + Amount priorityFee, + Amount change, + Address? changeAddress, + String? note, + BigInt mass}); + + $KarlsenUriCopyWith<$Res> get uri; + $TransactionCopyWith<$Res> get tx; + $AmountCopyWith<$Res> get amount; + $AmountCopyWith<$Res> get baseFee; + $AmountCopyWith<$Res> get priorityFee; + $AmountCopyWith<$Res> get change; + $AddressCopyWith<$Res>? get changeAddress; +} + +/// @nodoc +class _$SendTxCopyWithImpl<$Res, $Val extends SendTx> + implements $SendTxCopyWith<$Res> { + _$SendTxCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? uri = null, + Object? tx = null, + Object? utxos = null, + Object? userSelected = null, + Object? amount = null, + Object? baseFee = null, + Object? priorityFee = null, + Object? change = null, + Object? changeAddress = freezed, + Object? note = freezed, + Object? mass = null, + }) { + return _then(_value.copyWith( + uri: null == uri + ? _value.uri + : uri // ignore: cast_nullable_to_non_nullable + as KarlsenUri, + tx: null == tx + ? _value.tx + : tx // ignore: cast_nullable_to_non_nullable + as Transaction, + utxos: null == utxos + ? _value.utxos + : utxos // ignore: cast_nullable_to_non_nullable + as List, + userSelected: null == userSelected + ? _value.userSelected + : userSelected // ignore: cast_nullable_to_non_nullable + as bool, + amount: null == amount + ? _value.amount + : amount // ignore: cast_nullable_to_non_nullable + as Amount, + baseFee: null == baseFee + ? _value.baseFee + : baseFee // ignore: cast_nullable_to_non_nullable + as Amount, + priorityFee: null == priorityFee + ? _value.priorityFee + : priorityFee // ignore: cast_nullable_to_non_nullable + as Amount, + change: null == change + ? _value.change + : change // ignore: cast_nullable_to_non_nullable + as Amount, + changeAddress: freezed == changeAddress + ? _value.changeAddress + : changeAddress // ignore: cast_nullable_to_non_nullable + as Address?, + note: freezed == note + ? _value.note + : note // ignore: cast_nullable_to_non_nullable + as String?, + mass: null == mass + ? _value.mass + : mass // ignore: cast_nullable_to_non_nullable + as BigInt, + ) as $Val); + } + + @override + @pragma('vm:prefer-inline') + $KarlsenUriCopyWith<$Res> get uri { + return $KarlsenUriCopyWith<$Res>(_value.uri, (value) { + return _then(_value.copyWith(uri: value) as $Val); + }); + } + + @override + @pragma('vm:prefer-inline') + $TransactionCopyWith<$Res> get tx { + return $TransactionCopyWith<$Res>(_value.tx, (value) { + return _then(_value.copyWith(tx: value) as $Val); + }); + } + + @override + @pragma('vm:prefer-inline') + $AmountCopyWith<$Res> get amount { + return $AmountCopyWith<$Res>(_value.amount, (value) { + return _then(_value.copyWith(amount: value) as $Val); + }); + } + + @override + @pragma('vm:prefer-inline') + $AmountCopyWith<$Res> get baseFee { + return $AmountCopyWith<$Res>(_value.baseFee, (value) { + return _then(_value.copyWith(baseFee: value) as $Val); + }); + } + + @override + @pragma('vm:prefer-inline') + $AmountCopyWith<$Res> get priorityFee { + return $AmountCopyWith<$Res>(_value.priorityFee, (value) { + return _then(_value.copyWith(priorityFee: value) as $Val); + }); + } + + @override + @pragma('vm:prefer-inline') + $AmountCopyWith<$Res> get change { + return $AmountCopyWith<$Res>(_value.change, (value) { + return _then(_value.copyWith(change: value) as $Val); + }); + } + + @override + @pragma('vm:prefer-inline') + $AddressCopyWith<$Res>? get changeAddress { + if (_value.changeAddress == null) { + return null; + } + + return $AddressCopyWith<$Res>(_value.changeAddress!, (value) { + return _then(_value.copyWith(changeAddress: value) as $Val); + }); + } +} + +/// @nodoc +abstract class _$$SendTxImplCopyWith<$Res> implements $SendTxCopyWith<$Res> { + factory _$$SendTxImplCopyWith( + _$SendTxImpl value, $Res Function(_$SendTxImpl) then) = + __$$SendTxImplCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {KarlsenUri uri, + Transaction tx, + List utxos, + bool userSelected, + Amount amount, + Amount baseFee, + Amount priorityFee, + Amount change, + Address? changeAddress, + String? note, + BigInt mass}); + + @override + $KarlsenUriCopyWith<$Res> get uri; + @override + $TransactionCopyWith<$Res> get tx; + @override + $AmountCopyWith<$Res> get amount; + @override + $AmountCopyWith<$Res> get baseFee; + @override + $AmountCopyWith<$Res> get priorityFee; + @override + $AmountCopyWith<$Res> get change; + @override + $AddressCopyWith<$Res>? get changeAddress; +} + +/// @nodoc +class __$$SendTxImplCopyWithImpl<$Res> + extends _$SendTxCopyWithImpl<$Res, _$SendTxImpl> + implements _$$SendTxImplCopyWith<$Res> { + __$$SendTxImplCopyWithImpl( + _$SendTxImpl _value, $Res Function(_$SendTxImpl) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? uri = null, + Object? tx = null, + Object? utxos = null, + Object? userSelected = null, + Object? amount = null, + Object? baseFee = null, + Object? priorityFee = null, + Object? change = null, + Object? changeAddress = freezed, + Object? note = freezed, + Object? mass = null, + }) { + return _then(_$SendTxImpl( + uri: null == uri + ? _value.uri + : uri // ignore: cast_nullable_to_non_nullable + as KarlsenUri, + tx: null == tx + ? _value.tx + : tx // ignore: cast_nullable_to_non_nullable + as Transaction, + utxos: null == utxos + ? _value._utxos + : utxos // ignore: cast_nullable_to_non_nullable + as List, + userSelected: null == userSelected + ? _value.userSelected + : userSelected // ignore: cast_nullable_to_non_nullable + as bool, + amount: null == amount + ? _value.amount + : amount // ignore: cast_nullable_to_non_nullable + as Amount, + baseFee: null == baseFee + ? _value.baseFee + : baseFee // ignore: cast_nullable_to_non_nullable + as Amount, + priorityFee: null == priorityFee + ? _value.priorityFee + : priorityFee // ignore: cast_nullable_to_non_nullable + as Amount, + change: null == change + ? _value.change + : change // ignore: cast_nullable_to_non_nullable + as Amount, + changeAddress: freezed == changeAddress + ? _value.changeAddress + : changeAddress // ignore: cast_nullable_to_non_nullable + as Address?, + note: freezed == note + ? _value.note + : note // ignore: cast_nullable_to_non_nullable + as String?, + mass: null == mass + ? _value.mass + : mass // ignore: cast_nullable_to_non_nullable + as BigInt, + )); + } +} + +/// @nodoc + +class _$SendTxImpl extends _SendTx { + _$SendTxImpl( + {required this.uri, + required this.tx, + required final List utxos, + this.userSelected = false, + required this.amount, + required this.baseFee, + required this.priorityFee, + required this.change, + this.changeAddress, + this.note, + required this.mass}) + : _utxos = utxos, + super._(); + + @override + final KarlsenUri uri; + @override + final Transaction tx; + final List _utxos; + @override + List get utxos { + if (_utxos is EqualUnmodifiableListView) return _utxos; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(_utxos); + } + + @override + @JsonKey() + final bool userSelected; + @override + final Amount amount; + @override + final Amount baseFee; + @override + final Amount priorityFee; + @override + final Amount change; + @override + final Address? changeAddress; + @override + final String? note; + @override + final BigInt mass; + + @override + String toString() { + return 'SendTx(uri: $uri, tx: $tx, utxos: $utxos, userSelected: $userSelected, amount: $amount, baseFee: $baseFee, priorityFee: $priorityFee, change: $change, changeAddress: $changeAddress, note: $note, mass: $mass)'; + } + + @override + bool operator ==(Object other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$SendTxImpl && + (identical(other.uri, uri) || other.uri == uri) && + (identical(other.tx, tx) || other.tx == tx) && + const DeepCollectionEquality().equals(other._utxos, _utxos) && + (identical(other.userSelected, userSelected) || + other.userSelected == userSelected) && + (identical(other.amount, amount) || other.amount == amount) && + (identical(other.baseFee, baseFee) || other.baseFee == baseFee) && + (identical(other.priorityFee, priorityFee) || + other.priorityFee == priorityFee) && + (identical(other.change, change) || other.change == change) && + (identical(other.changeAddress, changeAddress) || + other.changeAddress == changeAddress) && + (identical(other.note, note) || other.note == note) && + (identical(other.mass, mass) || other.mass == mass)); + } + + @override + int get hashCode => Object.hash( + runtimeType, + uri, + tx, + const DeepCollectionEquality().hash(_utxos), + userSelected, + amount, + baseFee, + priorityFee, + change, + changeAddress, + note, + mass); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$SendTxImplCopyWith<_$SendTxImpl> get copyWith => + __$$SendTxImplCopyWithImpl<_$SendTxImpl>(this, _$identity); +} + +abstract class _SendTx extends SendTx { + factory _SendTx( + {required final KarlsenUri uri, + required final Transaction tx, + required final List utxos, + final bool userSelected, + required final Amount amount, + required final Amount baseFee, + required final Amount priorityFee, + required final Amount change, + final Address? changeAddress, + final String? note, + required final BigInt mass}) = _$SendTxImpl; + _SendTx._() : super._(); + + @override + KarlsenUri get uri; + @override + Transaction get tx; + @override + List get utxos; + @override + bool get userSelected; + @override + Amount get amount; + @override + Amount get baseFee; + @override + Amount get priorityFee; + @override + Amount get change; + @override + Address? get changeAddress; + @override + String? get note; + @override + BigInt get mass; + @override + @JsonKey(ignore: true) + _$$SendTxImplCopyWith<_$SendTxImpl> get copyWith => + throw _privateConstructorUsedError; +} diff --git a/lib/karlsen/signer_base.dart b/lib/karlsen/wallet_service/signer_base.dart similarity index 84% rename from lib/karlsen/signer_base.dart rename to lib/karlsen/wallet_service/signer_base.dart index 7179bf68..8bfdafc0 100644 --- a/lib/karlsen/signer_base.dart +++ b/lib/karlsen/wallet_service/signer_base.dart @@ -1,6 +1,6 @@ import 'dart:typed_data'; -import 'types.dart'; +import '../types/address.dart'; abstract class SignerBase { Future canSignForAddress(Address address); diff --git a/lib/karlsen/wallet.dart b/lib/karlsen/wallet_service/wallet.dart similarity index 81% rename from lib/karlsen/wallet.dart rename to lib/karlsen/wallet_service/wallet.dart index 6de5d290..4bf14cf6 100644 --- a/lib/karlsen/wallet.dart +++ b/lib/karlsen/wallet_service/wallet.dart @@ -1,13 +1,12 @@ import 'dart:typed_data'; +import '../bip32/bip32.dart'; +import '../network.dart'; +import '../types/address_prefix.dart'; import '../utils.dart'; -import 'bip32/bip32.dart'; -import 'network.dart'; -import 'types/address_prefix.dart'; const kSeedSize = 64; -const kKaspaDerivationPath = "m/44'/111111'/0'"; const kKarlsenDerivationPath = "m/44'/121337'/0'"; const kLegacyDerivationPath = "m/44'/972/0'"; @@ -105,27 +104,19 @@ abstract class HdWallet implements HdWalletView { const HdWallet._(); - factory HdWallet.forSeed( - Uint8List seed, { - required bool legacy, - required HdWalletType type, - }) { + factory HdWallet.forSeed(Uint8List seed, {required HdWalletType type}) { if (seed.length != kSeedSize) { throw Exception('Invalid seed length'); } return switch (type) { - HdWalletType.ecdsa => HdWalletEcdsa(seed, legacy: legacy), - HdWalletType.schnorr => HdWalletSchnorr(seed, legacy: legacy), + HdWalletType.ecdsa => HdWalletEcdsa(seed), + HdWalletType.schnorr => HdWalletSchnorr(seed), HdWalletType.legacy => HdWalletLegacy(seed), }; } - factory HdWallet.forSeedHex( - String seed, { - required bool legacy, - required HdWalletType type, - }) => - HdWallet.forSeed(hexToBytes(seed), legacy: legacy, type: type); + factory HdWallet.forSeedHex(String seed, {required HdWalletType type}) => + HdWallet.forSeed(hexToBytes(seed), type: type); KeyPair deriveKeyPair({ required int typeIndex, @@ -142,12 +133,10 @@ abstract class HdWallet implements HdWalletView { static String hdPublicKeyFromSeed( Uint8List seed, { - required bool legacy, required NetworkType networkType, }) { final bip32 = BIP32.fromSeed(seed, networkType); - final child = bip32 - .derivePath(legacy ? kKaspaDerivationPath : kKarlsenDerivationPath); + final child = bip32.derivePath(kKarlsenDerivationPath); return child.neutered().toBase58(); } } @@ -155,13 +144,8 @@ abstract class HdWallet implements HdWalletView { class HdWalletEcdsa extends HdWallet { late final BIP32 _bip32; - HdWalletEcdsa( - Uint8List seed, { - required bool legacy, - }) : super._() { - _bip32 = BIP32 - .fromSeed(seed) - .derivePath(legacy ? kKaspaDerivationPath : kKarlsenDerivationPath); + HdWalletEcdsa(Uint8List seed) : super._() { + _bip32 = BIP32.fromSeed(seed).derivePath(kKarlsenDerivationPath); } @override @@ -179,10 +163,7 @@ class HdWalletEcdsa extends HdWallet { } class HdWalletSchnorr extends HdWalletEcdsa { - HdWalletSchnorr( - Uint8List seed, { - required bool legacy, - }) : super(seed, legacy: legacy); + HdWalletSchnorr(Uint8List seed) : super(seed); @override HdWalletType get type => HdWalletType.schnorr; diff --git a/lib/karlsen/wallet_service/wallet_service.dart b/lib/karlsen/wallet_service/wallet_service.dart new file mode 100644 index 00000000..5e0ab909 --- /dev/null +++ b/lib/karlsen/wallet_service/wallet_service.dart @@ -0,0 +1,130 @@ +import 'dart:async'; + +import '../karlsen_client.dart'; +import '../transaction.dart'; +import '../transaction/mass_calculator.dart'; +import '../types.dart'; +import 'send_tx.dart'; +import 'signer_base.dart'; + +class WalletService { + final SignerBase signer; + final KarlsenClient client; + + const WalletService({ + required this.signer, + required this.client, + }); + + SendTx createSendTx({ + required Address toAddress, + required Amount amount, + required List spendableUtxos, + List? selectedUtxos, + required BigInt feePerInput, + Amount? priorityFee, + required Address changeAddress, + String? note, + }) { + final txBuilder = TransactionBuilder( + utxos: spendableUtxos, + feePerInput: feePerInput, + priorityFee: priorityFee, + ); + final tx = txBuilder.createUnsignedTransaction( + toAddress: toAddress, + amountRaw: amount.raw, + changeAddress: changeAddress, + preselectedUtxos: selectedUtxos, + ); + + final massCalculator = MassCalculator( + massPerTxByte: 1, + massPerScriptPubKeyByte: 10, + massPerSigOp: 1000, + storageMassParameter: kStorageMassParameter, + ); + + final mass = massCalculator.calcTxOverallMass(tx: tx); + + return SendTx( + uri: KarlsenUri( + address: toAddress, + amount: amount, + ), + tx: tx, + utxos: txBuilder.selectedUtxos, + amount: amount, + change: txBuilder.change, + changeAddress: txBuilder.changeAddress, + baseFee: txBuilder.baseFee, + priorityFee: txBuilder.priorityFee, + note: note, + mass: mass, + ); + } + + SendTx createCompoundTx({ + required Address compoundAddress, + required List spendableUtxos, + required BigInt feePerInput, + Amount? priorityFee, + }) { + final selectedUtxos = + spendableUtxos.take(kMaxInputsPerTransaction).toList(); + final fee = BigInt.from(selectedUtxos.length) * feePerInput + + (priorityFee?.raw ?? BigInt.zero); + final selectedTotal = selectedUtxos.fold( + BigInt.zero, + (sum, utxo) => sum + utxo.utxoEntry.amount, + ); + final amountRaw = selectedTotal - fee; + + return createSendTx( + toAddress: compoundAddress, + amount: Amount.raw(amountRaw), + spendableUtxos: spendableUtxos, + selectedUtxos: selectedUtxos, + feePerInput: feePerInput, + priorityFee: priorityFee, + changeAddress: compoundAddress, + ); + } + + Future sendTransaction(Transaction tx, {bool rbf = false}) async { + await _signTransaction(tx); + + final rpcTx = tx.toRpc(); + + if (rbf) { + final result = await client.submitTransactionReplacement(rpcTx); + return result.transactionId; + } + + final txId = await client.submitTransaction(rpcTx); + return txId; + } + + Future _signTransaction(Transaction tx) async { + final hashType = SigHashType.sigHashAll; + final reusedValues = SighashReusedValues(); + + // Sign all inputs + for (int index = 0; index < tx.inputs.length; ++index) { + final input = tx.inputs[index]; + + final hash = calculateSignatureHashSchnorr( + tx: tx, + inputIndex: index, + hashType: hashType, + sighashReusedValues: reusedValues, + ); + + final signature = await signer.sign(hash, input.address); + + final signatureScript = + [signature.length + 1] + signature + [hashType.raw]; + input.signatureScript.setAll(0, signatureScript); + } + } +} diff --git a/lib/l10n/app_af.arb b/lib/l10n/app_af.arb index 818f2747..1504b5a2 100644 --- a/lib/l10n/app_af.arb +++ b/lib/l10n/app_af.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2023-09-25T17:48:36.587Z", + "@@last_modified": "2024-11-1T11:12:41.441Z", "@@author": "arb-converter-cli", "account": "Account", "accounts": "Accounts", @@ -19,6 +19,8 @@ "addressHint": "Enter Address", "addressMissing": "Please Enter an Address", "addressShare": "Share Address", + "karlsenUriCopied": "Karlsen URI Copied", + "karlsenUriCopyFailed": "Failed to copy Karlsen URI", "advancedHeader": "Advanced", "amount": "Amount", "amountConfirm": "Amount {amount} {coin}", @@ -78,6 +80,7 @@ "disableWalletPassword": "Disable Wallet Password", "doContinue": "Continue", "donate": "Donate", + "donateTo": "Donate To", "dontShowAgain": "Don't show again", "emptyCardIntroUtxos": "This is the UTXOs tab. All UTXOs in your wallet will appear here", "emptyResult": "Empty Result", @@ -85,6 +88,7 @@ "encryptionFailedError": "Failed to set a wallet password", "enterAddress": "Enter Address", "enterAmount": "Enter Amount", + "enterFiatValue": "Enter Fiat Value", "enterNote": "Enter Note", "enterPasswordHint": "Enter your password", "errorMessageCopied": "Error message copied to clipboard", @@ -114,7 +118,7 @@ "invalidDestinationAddress": "Invalid Destination Address", "invalidPassword": "Invalid Password", "karlsenDevFund": "Karlsen Dev Fund", - "mobileWallet": "Karlsen Mobile Wallet", + "karlsenmobileWallet": "Karlsen Mobile Wallet", "language": "Language", "loadingTransactions": "Loading Transactions...", "lockAppSetting": "Authenticate on Launch", @@ -197,16 +201,16 @@ "sendTxProgressTitle": "Sending Transaction", "sending": "Send", "sent": "Sent", - "sentTo": "Send to", + "sentTo": "Sent to", "setPassword": "Set Password", "setPasswordSuccess": "Wallet password has been set", "setWalletPassword": "Set Wallet Password", "settingsHeader": "Settings", "settingsTransfer": "Load from Paper Wallet", "setupFailedMessage": "Something went wrong", - "shareMobile": "Share Karlsen Mobile", - "shareMobileSubject": "Check out Karlsen Mobile Wallet", - "shareMobileText": "Check out Karlsen Mobile - Karlsen Mobile Wallet.\nWebsite - mobile.karlsencoin.com", + "shareKarlsenMobile": "Share Karlsen Mobile", + "shareKarlsenMobileSubject": "Check out Karlsen Mobile Wallet", + "shareKarlsenMobileText": "Check out Karlsen Mobile - Karlsen Mobile Wallet.\nWebsite - mobile.karlsencoin.com", "somethingWentWrong": "Something went wrong", "systemDefault": "System Default", "tapToHide": "Tap to hide", @@ -246,6 +250,7 @@ "viewAddress": "View Address", "viewTransaction": "View Transaction", "walletAddresses": "Wallet Addresses", + "walletAddress": "Wallet Address", "walletName": "Wallet name", "walletNameDescription": "Enter a name for your wallet", "walletNameHint": "Wallet Name", @@ -264,6 +269,8 @@ "nodeSecureConnection": "Secure connection", "karlsenUriInvalid": "Invalid Karlsen URI", "compoundUtxos": "Compound transactions", + "compoundRequired": "Compound required", + "compoundRequiredDescription": "The transaction amount requires too many UTXOs. Compounding will reduce the number of UTXOs.", "compoundUtxosDescription": "Combine multiple UTXOs into one", "compoundUtxosConfirmation": "Compound transactions?", "compoundingUtxos": "Compounding transactions", @@ -288,10 +295,8 @@ "addressFilterDialogTitle": "Address Filter", "addressFilterDialogOptionAllAddresses": "View All Addresses", "addressFilterDialogOptionNonZeroBalances": "View Addresses With Balance", - "importOption24WordsLegacyTitle": "Import 24 Word Secret Phrase", - "importOption24WordsLegacyDescription": "Compatible with Node Wallet up to v1.1.0", "importOption24WordsTitle": "Import 24 Word Secret Phrase", - "importOption24WordsDescription": "Compatible with Node Wallet from v1.2.0", + "importOption24WordsDescription": "Compatible with Cli Wallet and Ledger", "importOption12WordsTitle": "Import 12 Word Secret Phrase", "importOption12WordsDescription": "Compatible with Web Wallet and Karlsen Desktop", "importOptionKpubTitle": "Import Watch Only Wallet", @@ -303,5 +308,53 @@ "importKpubInvalidMessage": "Please check that your extended public key is entered correctly!", "receiveAddressListEmpty": "Receive address list is empty", "changeAddressListEmpty": "Change address list is empty", - "hintAddressListEmpty": "Check address filter from the top right corner" -} + "hintAddressListEmpty": "Check address filter from the top right corner", + "invalidSecretPhrase": "Invalid Secret Phrase", + "invalidSecretPhraseDetails": "The Secret Phrase you entered has an invalid checksum.", + "invalidSecretPhraseConfirmation": "I know what I'm doing", + "contactSupport": "Contact Support", + "emailAction": "Email {email}", + "noteLabel": "Note:", + "optionalLabel": "(Optional)", + "moreInfo": "More Info", + "selectAddress": "Select Address", + "kpubTitle": "Extended Public Key", + "kpubAuth": "View Extended Public Key", + "kpubDescription": "The extended public key can be used to import your wallet as a 'watch only' wallet.", + "copyKpub": "Copy Kpub", + "kpubCopied": "Extended Public Key Copied", + "kpubCopyFailed": "Failed to copy Extended Public Key", + "walletAddressesCopied": "Wallet {addressType} Addresses Copied to Clipboard", + "walletAddressesCopyFailed": "Failed to Copy Wallet {addressType} Addresses", + "txReport": "Transaction Report", + "txReportSubtitle": "Get CSV file with transaction history", + "txReportDetails": "Generate a transaction report, in CSV format, that contains all the wallet's transaction history.", + "txReportOptionIgnoreCompound": "Ignore compound transactions", + "txReportOptionIgnoreSelfTxs": "Ignore transactions sent to self", + "txReportOptionRefreshTxs": "Refresh transactions", + "txReportGenerate": "Generate", + "txReportStatusRefreshing": "Refreshing transactions", + "txReportStatusLoading": "Loading transactions", + "txReportStatusReady": "Transaction report is ready!", + "txReportGetReport": "Get Report", + "txReportDate": "Date", + "txReportSentAmount": "Sent Amount", + "txReportSentCurrency": "Sent Currency", + "txReportReceivedAmount": "Received Amount", + "txReportReceivedCurrency": "Received Currency", + "txReportFeeAmount": "Fee Amount", + "txReportFeeCurrency": "Fee Currency", + "txReportLabel": "Label", + "txReportDescription": "Description", + "txReportTxHash": "TxHash", + "txReportNote": "Note", + "txReportLabelCost": "cost", + "txReportFeeForCompound": "Fee for Compound Transaction", + "txReportFeeForSelfSend": "Fee to send to own addresses", + "txReportError": "Error generating report", + "txReportNoTxs": "Found {numberOf} transactions.", + "txReportNoLoadedTxs": "({loadedTxs} of {totalTxs})", + "txFilterDialogTitle": "Transaction Filter", + "txFilterDialogOptionAllTxs": "Show All Transactions", + "txFilterDialogOptionHideNotAcceptedCoinbase": "Hide Not Accepted Coinbase Transactions" +} \ No newline at end of file diff --git a/lib/l10n/app_ar.arb b/lib/l10n/app_ar.arb index 40e860a5..c330287c 100644 --- a/lib/l10n/app_ar.arb +++ b/lib/l10n/app_ar.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2023-09-25T17:48:36.587Z", + "@@last_modified": "2024-11-1T11:12:41.441Z", "@@author": "arb-converter-cli", "account": "الحساب", "accounts": "الحسابات", @@ -19,6 +19,8 @@ "addressHint": "أدخل العنوان\n", "addressMissing": "يرجى إدخال العنوان", "addressShare": "أنشر العنوان", + "karlsenUriCopied": "Karlsen URI Copied", + "karlsenUriCopyFailed": "Failed to copy Karlsen URI", "advancedHeader": "Advanced", "amount": "Amount", "amountConfirm": "Amount {amount} {coin}", @@ -78,6 +80,7 @@ "disableWalletPassword": "تعطيل كلمة مرور المحفظة\n", "doContinue": "Continue", "donate": "Donate", + "donateTo": "Donate To", "dontShowAgain": "Don't show again", "emptyCardIntroUtxos": "This is the UTXOs tab. All UTXOs in your wallet will appear here", "emptyResult": "Empty Result", @@ -85,10 +88,11 @@ "encryptionFailedError": "أخفق إنشاء كلمة مرور المحفظة\n", "enterAddress": "أدخل العنوان", "enterAmount": "أدخل المبلغ", + "enterFiatValue": "Enter Fiat Value", "enterNote": "Enter Note", "enterPasswordHint": "ادخل رقمك ادخل رقمك\n", "errorMessageCopied": "Error message copied to clipboard", - "exampleCardIntro": "مرحبا بكم في كارلسن موبايل. بمجرد حصولك على KLS، ستظهر المعاملات على النحو التالي:", + "exampleCardIntro": "مرحبا بكم في نتريوم. بمجرد تلقي KLS ، ستظهر المعاملات كما يلي:", "export": "Export", "fee": "Fee", "feeConfirm": "Fee {amount} {coin}", @@ -114,7 +118,7 @@ "invalidDestinationAddress": "Invalid Destination Address", "invalidPassword": "كلمة المرور خاطئ\n", "karlsenDevFund": "Karlsen Dev Fund", - "mobileWallet": "Karlsen Mobile Wallet", + "karlsenmobileWallet": "Karlsen Mobile Wallet", "language": "اللغة", "loadingTransactions": "Loading Transactions...", "lockAppSetting": "المصادقة في الاطلاق", @@ -148,7 +152,7 @@ "paperWallet": "المحفظة الورقية", "passwordBlank": "لا يمكن أن تكون كلمة المرور فارغة\n", "passwordNoLongerRequiredToOpenParagraph": "لن تحتاج إلى كلمة مرور لفتح نتريم بعد الآن.\n", - "passwordWillBeRequiredToOpenParagraph": "كلمة المرور مطلوبة لفتح Karlsen Mobile", + "passwordWillBeRequiredToOpenParagraph": "هناك حاجة إلى كلمة المرور لفتح نتريم", "passwordsDontMatch": "كلمة المرور غير مطابقة\n", "pasteMnemonicError": "Clipboard content is not a valid secret phrase", "pending": "pending", @@ -177,7 +181,7 @@ "removeWalletDetail": "Removing this wallet will remove the Secret Phrase and all wallet-related data from this device. If the Secret Phrase is not backed up, you will never be able to access your funds again.", "removeWalletPinMessage": "Enter PIN to Remove Wallet", "removeWalletReassurance": "As long as you've backed up the Secret Phrase you have nothing to worry about.", - "requireAPasswordToOpenHeader": "هل تحتاج إلى كلمة مرور لفتح Karlsen Mobile؟", + "requireAPasswordToOpenHeader": "مطالبة كلمة مرور لفتح نتريم ؟", "restartSetupButton": "Restart Setup", "scanQrCode": "مسح رمز الاستجابة السريعة", "scanQrCodeError": "Failed to parse qr code", @@ -197,16 +201,16 @@ "sendTxProgressTitle": "Sending Transaction", "sending": "إرسال", "sent": "تم الارسال", - "sentTo": "تم الإرسال إلى", + "sentTo": "Sent to", "setPassword": "إنشاء كلمة مرور\n", "setPasswordSuccess": "تم إنشاء كلمة مرور المحفظة بنجاح\n", "setWalletPassword": "إنشاء كلمة مرور المحفظة\n", "settingsHeader": "الإعدادات", "settingsTransfer": "تحميل من المحفظة الورقية", "setupFailedMessage": "Something went wrong", - "shareMobile": "Share Karlsen Mobile", - "shareMobileSubject": "Check out Karlsen Mobile Wallet", - "shareMobileText": "Check out Karlsen Mobile - Karlsen Mobile Wallet.\nWebsite - mobile.karlsencoin.com", + "shareKarlsenMobile": "Share Karlsen Mobile", + "shareKarlsenMobileSubject": "Check out Karlsen Mobile Wallet", + "shareKarlsenMobileText": "Check out Karlsen Mobile - Karlsen Mobile Wallet.\nWebsite - mobile.karlsencoin.com", "somethingWentWrong": "Something went wrong", "systemDefault": "النظام الافتراضي", "tapToHide": "إضغط للاخفاء", @@ -223,13 +227,13 @@ "transactionsUppercase": "TRANSACTIONS", "transfer": "تحويل", "transferClose": "اضغط في أي مكان لغلق النافذة.", - "transferComplete": "تم تحويل {amount} KLS إلى محفظة كارلسن المتنقلة.\n", + "transferComplete": "تم تحويل {amount} KLS إلى محفظة نتريوم.\n", "transferConfirmInfo": "تم كشف محفظة برصيد {amount} KLS.\n", "transferConfirmInfoSecond": "إضغط لتأكيد تحويل الرصيد.\n", "transferConfirmInfoThird": "قد يستغرق النقل عدة ثوانيٍ.", "transferError": "لقد حدث خطأ أثناء النقل. الرجاء إعادة المحاولة في وقت لاحق.", "transferHeader": "تحويل الرصيد", - "transferIntro": "ستؤدي هذه العملية إلى تحويل الرصيد من المحفظة الورقية إلى محفظة Karlsen Mobile الخاصة بك. \n\n اضغط على الزر \"{button}\" للبدء.", + "transferIntro": "ستقوم هذه العملية بتحويل الرصيد من المحفظة الورقية إلى محفظة نتريوم الخاصة بك. \n\n اضغط على الزر \"{button}\" للبدء.", "transferLoading": "بصدد التحويل", "transferManualHint": "الرجاء إدخال المفتاح الخاص.", "transferNoFunds": "هذا المفتاح الخاص لا يحتوي على KLS", @@ -240,12 +244,13 @@ "accepted": "accepted", "unknown": "unknown", "unlock": "فتح", - "unlockBiometrics": "المصادقة لفتح كارلسن موبايل", - "unlockPin": "أدخل رقم التعريف الشخصي لفتح Karlsen Mobile", + "unlockBiometrics": "مصادقة لفتح نتريوم", + "unlockPin": "أدخل الPIN لفتح نتريوم", "utxosUppercase": "UTXOs", "viewAddress": "View Address", "viewTransaction": "View Transaction", "walletAddresses": "Wallet Addresses", + "walletAddress": "Wallet Address", "walletName": "Wallet name", "walletNameDescription": "Enter a name for your wallet", "walletNameHint": "Wallet Name", @@ -254,7 +259,7 @@ "walletsTitle": "Wallets", "warning": "تحذير", "welcomeMessage": "Welcome!\n\nThis is version {version} of Karlsen Mobile - the mobile wallet for Karlsen", - "welcomeText": "مرحبا بكم في كارلسن موبايل. للبدء، قم بإنشاء محفظة أو قم بإحضار واحدة موجودة.", + "welcomeText": "أهلا بك في نتريوم. لتبدأ، إحدث محفظة أو إجلب محفظة موجودة.", "xMinutes": "بعد {minutes, plural, =1{1 دقيقة} other{{minutes} دقائق}}", "yes": "نعم", "yesButton": "Yes", @@ -264,6 +269,8 @@ "nodeSecureConnection": "Secure connection", "karlsenUriInvalid": "Invalid Karlsen URI", "compoundUtxos": "Compound transactions", + "compoundRequired": "Compound required", + "compoundRequiredDescription": "The transaction amount requires too many UTXOs. Compounding will reduce the number of UTXOs.", "compoundUtxosDescription": "Combine multiple UTXOs into one", "compoundUtxosConfirmation": "Compound transactions?", "compoundingUtxos": "Compounding transactions", @@ -288,10 +295,8 @@ "addressFilterDialogTitle": "Address Filter", "addressFilterDialogOptionAllAddresses": "View All Addresses", "addressFilterDialogOptionNonZeroBalances": "View Addresses With Balance", - "importOption24WordsLegacyTitle": "Import 24 Word Secret Phrase", - "importOption24WordsLegacyDescription": "Compatible with Node Wallet up to v1.1.0", "importOption24WordsTitle": "Import 24 Word Secret Phrase", - "importOption24WordsDescription": "Compatible with Node Wallet from v1.2.0", + "importOption24WordsDescription": "Compatible with Cli Wallet and Ledger", "importOption12WordsTitle": "Import 12 Word Secret Phrase", "importOption12WordsDescription": "Compatible with Web Wallet and Karlsen Desktop", "importOptionKpubTitle": "Import Watch Only Wallet", @@ -303,5 +308,53 @@ "importKpubInvalidMessage": "Please check that your extended public key is entered correctly!", "receiveAddressListEmpty": "Receive address list is empty", "changeAddressListEmpty": "Change address list is empty", - "hintAddressListEmpty": "Check address filter from the top right corner" -} + "hintAddressListEmpty": "Check address filter from the top right corner", + "invalidSecretPhrase": "Invalid Secret Phrase", + "invalidSecretPhraseDetails": "The Secret Phrase you entered has an invalid checksum.", + "invalidSecretPhraseConfirmation": "I know what I'm doing", + "contactSupport": "Contact Support", + "emailAction": "Email {email}", + "noteLabel": "Note:", + "optionalLabel": "(Optional)", + "moreInfo": "More Info", + "selectAddress": "Select Address", + "kpubTitle": "Extended Public Key", + "kpubAuth": "View Extended Public Key", + "kpubDescription": "The extended public key can be used to import your wallet as a 'watch only' wallet.", + "copyKpub": "Copy Kpub", + "kpubCopied": "Extended Public Key Copied", + "kpubCopyFailed": "Failed to copy Extended Public Key", + "walletAddressesCopied": "Wallet {addressType} Addresses Copied to Clipboard", + "walletAddressesCopyFailed": "Failed to Copy Wallet {addressType} Addresses", + "txReport": "Transaction Report", + "txReportSubtitle": "Get CSV file with transaction history", + "txReportDetails": "Generate a transaction report, in CSV format, that contains all the wallet's transaction history.", + "txReportOptionIgnoreCompound": "Ignore compound transactions", + "txReportOptionIgnoreSelfTxs": "Ignore transactions sent to self", + "txReportOptionRefreshTxs": "Refresh transactions", + "txReportGenerate": "Generate", + "txReportStatusRefreshing": "Refreshing transactions", + "txReportStatusLoading": "Loading transactions", + "txReportStatusReady": "Transaction report is ready!", + "txReportGetReport": "Get Report", + "txReportDate": "Date", + "txReportSentAmount": "Sent Amount", + "txReportSentCurrency": "Sent Currency", + "txReportReceivedAmount": "Received Amount", + "txReportReceivedCurrency": "Received Currency", + "txReportFeeAmount": "Fee Amount", + "txReportFeeCurrency": "Fee Currency", + "txReportLabel": "Label", + "txReportDescription": "Description", + "txReportTxHash": "TxHash", + "txReportNote": "Note", + "txReportLabelCost": "cost", + "txReportFeeForCompound": "Fee for Compound Transaction", + "txReportFeeForSelfSend": "Fee to send to own addresses", + "txReportError": "Error generating report", + "txReportNoTxs": "Found {numberOf} transactions.", + "txReportNoLoadedTxs": "({loadedTxs} of {totalTxs})", + "txFilterDialogTitle": "Transaction Filter", + "txFilterDialogOptionAllTxs": "Show All Transactions", + "txFilterDialogOptionHideNotAcceptedCoinbase": "Hide Not Accepted Coinbase Transactions" +} \ No newline at end of file diff --git a/lib/l10n/app_bg.arb b/lib/l10n/app_bg.arb index 0d450e58..acf1ff73 100644 --- a/lib/l10n/app_bg.arb +++ b/lib/l10n/app_bg.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2023-09-30T20:57:42.789Z", + "@@last_modified": "2024-11-1T11:12:41.441Z", "@@author": "arb-converter-cli", "account": "Акаунт", "accounts": "Акаунти", @@ -19,6 +19,8 @@ "addressHint": "Въведете адрес", "addressMissing": "Моля въведете адрес", "addressShare": "Сподели адрес", + "karlsenUriCopied": "Karlsen URI е копиран", + "karlsenUriCopyFailed": "Неуспешно копиране на Karlsen URI", "advancedHeader": "Разширени", "amount": "Сума", "amountConfirm": "Сума {amount} {coin}", @@ -35,11 +37,11 @@ "biometricsMethod": "Биометрия", "blockExplorer": "Block Explorer", "cancel": "Отмени", - "change": "Ресто", - "changeAddress": "Адрес за ресто", - "changeAddressCopied": "Адресът за ресто е копиран", - "changeIndex": "Индекс на ресто", - "changeIndexParam": "Ресто {addressIndex}", + "change": "Остатък", + "changeAddress": "Остатъчен адрес", + "changeAddressCopied": "Остатъчния адрес е копиран", + "changeIndex": "Индекс на остатъка", + "changeIndexParam": "Остатък {addressIndex}", "checkCameraPermission": "Моля разрешете използването на камерата", "clipboardEmpty": "Няма копирана стойност", "close": "Затвори", @@ -78,6 +80,7 @@ "disableWalletPassword": "Премахни паролата на портфейла", "doContinue": "Продължи", "donate": "Дарете средства", + "donateTo": "Дарете на", "dontShowAgain": "Не показвай отново", "emptyCardIntroUtxos": "Това е раздела за неизразходвани изходи от транзакции (UTXO). Всички UTXO в твоят портфейл ще се покажат тук.", "emptyResult": "Празен резултат", @@ -85,6 +88,7 @@ "encryptionFailedError": "Неуспешно създаване на парола", "enterAddress": "Въведете адрес", "enterAmount": "Въведете сума", + "enterFiatValue": "Въведете фиат стойност", "enterNote": "Въведете бележка", "enterPasswordHint": "Въведете парола", "errorMessageCopied": "Съобщението за грешка беше успешно копирано", @@ -114,7 +118,7 @@ "invalidDestinationAddress": "Невалиден адрес на получателя", "invalidPassword": "Грешна парола ", "karlsenDevFund": "Karlsen Dev Fund", - "mobileWallet": "Karlsen Mobile Wallet", + "karlsenmobileWallet": "Karlsen Mobile Wallet", "language": "Език", "loadingTransactions": "Зареждане на транзакциите...", "lockAppSetting": "Удостоверяване при старт", @@ -162,9 +166,9 @@ "preferences": "Предпочитания", "privacyPolicy": "Декларация за поверителност", "qrInvalidAddress": "QR кода не съдържа валидна дестинация ", - "qrInvalidSeed": "QR кода не съдържа валиден Seed или личен ключ", + "qrInvalidSeed": "QR кода не съдържа валиден seed или личен ключ", "qrMnemonicError": "QR кода не съдържа валидна тайна фраза", - "receive": "Получи", + "receive": "Получаване", "receiveAddress": "Адрес за получаване", "receiveAddressCopied": "Адресът е копиран", "receiveIndex": "Индекс на получаване", @@ -186,8 +190,8 @@ "secretPhrase": "Тайна фраза", "secretWarning": "Ако изгубите устройството си или деинсталирате приложението, ще се нуждаете от тайната си фраза, за да възстановите средствата си!", "securityHeader": "Сигурност", - "seed": "Тайна фраза", - "seedInvalid": "Невалиден Seed", + "seed": "Seed", + "seedInvalid": "Невалиден seed", "send": "Изпрати", "sendConfirm": "Изпрати", "sendError": "Възникна грешка. Опитайте по-късно.", @@ -197,16 +201,16 @@ "sendTxProgressTitle": "Транзакцията се изпраща", "sending": "Изпрати", "sent": "Изпратено", - "sentTo": "Изпратено до", + "sentTo": "Изпратено на", "setPassword": "Създай парола", "setPasswordSuccess": "Паролата е създадена успешно", "setWalletPassword": "Създайте парола за достъп", "settingsHeader": "Настройки", "settingsTransfer": "Зареди от Paper Wallet", "setupFailedMessage": "Нещо се обърка", - "shareMobile": "Споделете Karlsen Mobile", - "shareMobileSubject": "Виж повече за Karlsen Mobile портфейл", - "shareMobileText": "Научете повече за Karlsen Mobile - Официалният Karlsen мобилен портфейл. \nУебсайт - mobile.karlsencoin.com", + "shareKarlsenMobile": "Споделете Karlsen Mobile", + "shareKarlsenMobileSubject": "Виж повече за Karlsen Mobile портфейл", + "shareKarlsenMobileText": "Научете повече за Karlsen Mobile - Официалният Karlsen мобилен портфейл. \nУебсайт - mobile.karlsencoin.com", "somethingWentWrong": "Нещо се обърка", "systemDefault": "По подразбиране", "tapToHide": "Докоснете за да скриете", @@ -231,10 +235,10 @@ "transferHeader": "Прехвърли средства", "transferIntro": "Този процес ще прехвърли вашите средства от Paper Wallet към Karlsen Mobile Wallet.\n\nНатиснете \"{button}\" бутона за старт.", "transferLoading": "Прехвърляне", - "transferManualHint": "Моля въведете тайната фраза по-долу.", - "transferNoFunds": "Този Seed не съдържа KLS", - "transferQrScanError": "Този QR код не съдържа валиден Seed.", - "transferQrScanHint": "Сканирайте Karlsen \nSeed или личен ключ", + "transferManualHint": "Моля въведете seed по-долу.", + "transferNoFunds": "Този seed не съдържа KLS", + "transferQrScanError": "Този QR код не съдържа валиден seed.", + "transferQrScanHint": "Сканирайте Karlsen \nseed или частен ключ", "unconfirmed": "непотвърдена", "notAccepted": "не приета", "accepted": "приета", @@ -246,6 +250,7 @@ "viewAddress": "Виж адрес", "viewTransaction": "Виж транзакция", "walletAddresses": "Адреси на портфейла", + "walletAddress": "Адрес на портфейла", "walletName": "Име на портфейла", "walletNameDescription": "Въведете име на портфейла", "walletNameHint": "Име на портфейла", @@ -264,6 +269,8 @@ "nodeSecureConnection": "Сигурна връзка", "karlsenUriInvalid": "Невалиден Karlsen URI", "compoundUtxos": "Обедини транзакциите", + "compoundRequired": "Нужно е обединяване", + "compoundRequiredDescription": "Сумата на транзакцията изисква твърде много UTXO. Комбинирането ще намали броя на UTXO.", "compoundUtxosDescription": "Комбинирай множество UTXO в едно", "compoundUtxosConfirmation": "Обедини транзакциите?", "compoundingUtxos": "Обединяване на транзакциите", @@ -288,10 +295,8 @@ "addressFilterDialogTitle": "Филтър за адреси", "addressFilterDialogOptionAllAddresses": "Покажи всички адреси", "addressFilterDialogOptionNonZeroBalances": "Покажи адресите с наличен баланс", - "importOption24WordsLegacyTitle": "Импортирай тайна фраза от 24 думи", - "importOption24WordsLegacyDescription": "Съвместим с Node Wallet до v1.1.0", "importOption24WordsTitle": "Импортирай тайна фраза от 24 думи", - "importOption24WordsDescription": "Съвместим с Node Wallet от v1.2.0", + "importOption24WordsDescription": "Съвместим с Cli Wallet и Ledger", "importOption12WordsTitle": "Импортирай тайна фраза от 12 думи", "importOption12WordsDescription": "Съвместим с Web Wallet и Karlsen Desktop", "importOptionKpubTitle": "Импортирай портфейл само за преглед", @@ -302,6 +307,54 @@ "importKpubQrCodeError": "QR кода не съдържа валиден удължен публичен ключ", "importKpubInvalidMessage": "Моля проверете дали удълженият публичен ключ е въведен правилно!", "receiveAddressListEmpty": "Списъкът с адреси за получаване е празен", - "changeAddressListEmpty": "Списъкът с адреси за ресто е празен", - "hintAddressListEmpty": "Проверете филтърът за адреси в горния десен ъгъл" -} + "changeAddressListEmpty": "Списъкът с остатъчни адреси е празен", + "hintAddressListEmpty": "Проверете филтърът за адреси в горния десен ъгъл", + "invalidSecretPhrase": "Невалидна тайна фраза", + "invalidSecretPhraseDetails": "Въведената тайна фраза има невалидна контролна сума (checksum).", + "invalidSecretPhraseConfirmation": "Знам какво правя", + "contactSupport": "Свържете се с поддръжка", + "emailAction": "Имейл {email}", + "noteLabel": "Бележка:", + "optionalLabel": "(по желание)", + "moreInfo": "Повече информация", + "selectAddress": "Изберете адрес", + "kpubTitle": "Разширен публичен ключ", + "kpubAuth": "Виж разширения публичен ключ", + "kpubDescription": "Разширеният публичен ключ може да се използва за импортиране на портфейла ви като 'watch only' портфейл.", + "copyKpub": "Копирай Kpub", + "kpubCopied": "Разширения публичен ключ е копиран", + "kpubCopyFailed": "Неуспешно копиране на разширения публичен ключ", + "walletAddressesCopied": "Wallet {addressType} Addresses Copied to Clipboard", + "walletAddressesCopyFailed": "Failed to Copy Wallet {addressType} Addresses", + "txReport": "Отчет за транзакции", + "txReportSubtitle": "Получeте CSV файл с историята на транзакциите", + "txReportDetails": "Генерирай отчет за транзакциите в CSV формат, който съдържа цялата история на транзакциите на портфейла.", + "txReportOptionIgnoreCompound": "Игнориране на комбинирани транзакции", + "txReportOptionIgnoreSelfTxs": "Игнорирай транзакциите изпратени до себе си", + "txReportOptionRefreshTxs": "Обнови транзакциите", + "txReportGenerate": "Генерирай", + "txReportStatusRefreshing": "Обновяване на транзакциите", + "txReportStatusLoading": "Зареждане на транзакциите", + "txReportStatusReady": "Отчетът за транзакциите е готов!", + "txReportGetReport": "Получете отчет", + "txReportDate": "Дата", + "txReportSentAmount": "Изпратена сума", + "txReportSentCurrency": "Изпратена валута", + "txReportReceivedAmount": "Получена сума", + "txReportReceivedCurrency": "Получена валута", + "txReportFeeAmount": "Размер на таксата", + "txReportFeeCurrency": "Валута на таксата", + "txReportLabel": "Етикет", + "txReportDescription": "Описание", + "txReportTxHash": "TxHash", + "txReportNote": "Бележка", + "txReportLabelCost": "себестойност", + "txReportFeeForCompound": "Такса за комбинирана транзакция", + "txReportFeeForSelfSend": "Такса за изпращане към собствени адреси", + "txReportError": "Грешка при генериране на отчет", + "txReportNoTxs": "Намерени {numberOf} транзакции.", + "txReportNoLoadedTxs": "({loadedTxs} от {totalTxs})", + "txFilterDialogTitle": "Филтър за транзакции", + "txFilterDialogOptionAllTxs": "Покажи всички транзакции", + "txFilterDialogOptionHideNotAcceptedCoinbase": "Скриване на неприети Coinbase транзакции" +} \ No newline at end of file diff --git a/lib/l10n/app_bn.arb b/lib/l10n/app_bn.arb index a06fef89..d1e43ba0 100644 --- a/lib/l10n/app_bn.arb +++ b/lib/l10n/app_bn.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2023-11-10T10:15:24.600Z", + "@@last_modified": "2024-11-1T11:12:41.441Z", "@@author": "arb-converter-cli", "account": "অ্যাকাউন্ট", "accounts": "অ্যাকাউন্টস", @@ -19,6 +19,8 @@ "addressHint": "ঠিকানা লিখুন", "addressMissing": "দয়া করে ঠিকানা লিখুন", "addressShare": "ঠিকানা শেয়ার করুন", + "karlsenUriCopied": "Karlsen URI Copied", + "karlsenUriCopyFailed": "Failed to copy Karlsen URI", "advancedHeader": "উন্নত স্তরের", "amount": "রাশি", "amountConfirm": "রাশি {amount} {coin}", @@ -78,6 +80,7 @@ "disableWalletPassword": "ওয়ালেট পাসওয়ার্ড নিষ্ক্রিয় করুন", "doContinue": "অব্যাহত", "donate": "দান করুন", + "donateTo": "Donate To", "dontShowAgain": "পুনরায় দেখাবেন না", "emptyCardIntroUtxos": "এটি UTXOs ট্যাব। আপনার ওয়ালেটের সমস্ত UTXO এখানে পরিলক্ষিত হবে", "emptyResult": "ফলাফল শূন্য", @@ -85,6 +88,7 @@ "encryptionFailedError": "ওয়ালেট পাসওয়ার্ড সেট করা ব্যর্থ হয়েছে", "enterAddress": "ঠিকানা লিখুন", "enterAmount": "রাশি লিখুন", + "enterFiatValue": "Enter Fiat Value", "enterNote": "নোট লিখুন", "enterPasswordHint": "আপনার পাসওয়ার্ড লিখুন", "errorMessageCopied": "ত্রুটি বার্তা ক্লিপবোর্ডে কপি করা হয়েছে", @@ -114,7 +118,7 @@ "invalidDestinationAddress": "গন্তব্যের ঠিকানা অবৈধ", "invalidPassword": "ভুল পাসওয়ার্ড", "karlsenDevFund": "কাসপা ডেভ তহবিল", - "mobileWallet": "কার্লসেন মোবাইল ওয়ালেট", + "karlsenmobileWallet": "কাস্পিয়াম ওয়ালেট", "language": "ভাষা", "loadingTransactions": "লেনদেন লোড হচ্ছে...", "lockAppSetting": "শুরু করতে প্রমাণীকরণ করুন", @@ -197,16 +201,16 @@ "sendTxProgressTitle": "রাশি পাঠানো হচ্ছে", "sending": "পাঠানো", "sent": "পাঠানো হয়েছে", - "sentTo": "পাঠানো", + "sentTo": "Sent to", "setPassword": "পাসওয়ার্ড সেট করুন", "setPasswordSuccess": "পাসওয়ার্ড সফলভাবে সেট করা হয়েছে", "setWalletPassword": "ওয়ালেট পাসওয়ার্ড সেট করুন", "settingsHeader": "সেটিংস", "settingsTransfer": "পেপার ওয়ালেট থেকে লোড করুন", "setupFailedMessage": "কিছু ভুল হয়েছে", - "shareMobile": "কার্লসেন মোবাইল শেয়ার করুন", - "shareMobileSubject": "কার্লসেন মোবাইল ওয়ালেট দেখুন", - "shareMobileText": "কার্লসেন মোবাইল - কার্লসেন মোবাইল ওয়ালেট চেক করুন।\nওয়েবসাইট - mobile.karlsencoin.com", + "shareKarlsenMobile": "কাসপিয়াম শেয়ার করুন", + "shareKarlsenMobileSubject": "কাসপিয়াম ওয়ালেট চেক আউট", + "shareKarlsenMobileText": "কাসপিয়াম - কাসপা মোবাইল ওয়ালেট দেখুন।\nওয়েবসাইট - mobile.karlsencoin.com", "somethingWentWrong": "কিছু ভুল হয়েছে", "systemDefault": "সিস্টেমের ডিফল্ট", "tapToHide": "লুকানোর জন্য আলতো চাপুন", @@ -240,12 +244,13 @@ "accepted": "গৃহীত", "unknown": "অজানা", "unlock": "আনলক", - "unlockBiometrics": "কার্লসেন মোবাইল আনলক করতে প্রমাণীকরণ করুন", - "unlockPin": "কার্লসেন মোবাইল আনলক করতে পিন লিখুন", + "unlockBiometrics": "ক্যাস্পিয়াম আনলক করার জন্য প্রমাণীকরণ করুন", + "unlockPin": "ক্যাস্পিয়াম আনলক করতে PIN লিখুন", "utxosUppercase": "UTXOs", "viewAddress": "ঠিকানা দেখুন", "viewTransaction": "লেনদেন দেখুন", "walletAddresses": "ওয়ালেট এর ঠিকানা", + "walletAddress": "Wallet Address", "walletName": "ওয়ালেটের নাম", "walletNameDescription": "আপনার ওয়ালেটের জন্য একটি নাম লিখুন", "walletNameHint": "ওয়ালেটের নাম", @@ -253,8 +258,8 @@ "walletSetupMessage": "ওয়ালেট সেট আপ করা হচ্ছে", "walletsTitle": "ওয়ালেটস", "warning": "সতর্ক থাকুন", - "welcomeMessage": "স্বাগতম! \n\nএটি কার্লসেন মোবাইলের সংস্করণ {version} - কার্লসেনের জন্য মোবাইল ওয়ালেট", - "welcomeText": "কার্লসেন মোবাইলে স্বাগতম। শুরু করতে, আপনি একটি নতুন ওয়ালেট তৈরি করতে পারেন বা একটি বিদ্যমান একটি ব্যবহার করতে পারেন৷", + "welcomeMessage": "স্বাগতম! \n\nএটি ক্যাস্পিয়ামের সংস্করণ {version} - কাস্পার জন্য মোবাইল ওয়ালেট", + "welcomeText": "কাস্পিয়ামে স্বাগতম। শুরু করার জন্য, আপনি একটি নতুন ওয়ালেট তৈরি করতে পারেন অথবা বিদ্যমান একটি ব্যবহার করতে পারেন।", "xMinutes": "{minutes, plural, =1{1 মিনিট} other{{minutes} মিনিটের}} পরে", "yes": "হ্যাঁ", "yesButton": "হ্যাঁ", @@ -264,6 +269,8 @@ "nodeSecureConnection": "নিরাপদ সংযোগ", "karlsenUriInvalid": "অবৈধ Karlsen URI", "compoundUtxos": "যৌগিক লেনদেন", + "compoundRequired": "Compound required", + "compoundRequiredDescription": "The transaction amount requires too many UTXOs. Compounding will reduce the number of UTXOs.", "compoundUtxosDescription": "একাধিক UTXO একত্রিত করুন", "compoundUtxosConfirmation": "যৌগিক লেনদেন?", "compoundingUtxos": "চক্রবৃদ্ধি লেনদেন", @@ -288,10 +295,8 @@ "addressFilterDialogTitle": "ঠিকানা ফিল্টার", "addressFilterDialogOptionAllAddresses": "সব ঠিকানা দেখুন", "addressFilterDialogOptionNonZeroBalances": "ব্যালেন্স সহ ঠিকানা দেখুন", - "importOption24WordsLegacyTitle": "24 শব্দের গোপন বাক্যাংশ আমদানি করুন", - "importOption24WordsLegacyDescription": "v1.1.0 পর্যন্ত নোড ওয়ালেটের সাথে সামঞ্জস্যপূর্ণ", "importOption24WordsTitle": "24 শব্দের গোপন বাক্যাংশ আমদানি করুন", - "importOption24WordsDescription": "v1.2.0 থেকে নোড ওয়ালেটের সাথে সামঞ্জস্যপূর্ণ", + "importOption24WordsDescription": "CLI ওয়ালেট এবং লেজারের সাথে সামঞ্জস্যপূর্ণ", "importOption12WordsTitle": "12 শব্দের গোপন বাক্যাংশ আমদানি করুন", "importOption12WordsDescription": "ওয়েব ওয়ালেট এবং Karlsen Desktop এর সাথে সামঞ্জস্যপূর্ণ", "importOptionKpubTitle": "শুধুমাত্র পর্যবেক্ষণ করার ওয়ালেট আমদানি করুন", @@ -303,5 +308,53 @@ "importKpubInvalidMessage": "আপনার বর্ধিত পাবলিক কী সঠিকভাবে প্রবেশ করানো হয়েছে তা পরীক্ষা করুন!", "receiveAddressListEmpty": "প্রাপ্তির ঠিকানা তালিকা খালি", "changeAddressListEmpty": "ঠিকানা পরিবর্তনের তালিকা খালি", - "hintAddressListEmpty": "উপরের ডান কোণ থেকে ঠিকানা ফিল্টার চেক করুন" -} + "hintAddressListEmpty": "উপরের ডান কোণ থেকে ঠিকানা ফিল্টার চেক করুন", + "invalidSecretPhrase": "Invalid Secret Phrase", + "invalidSecretPhraseDetails": "The Secret Phrase you entered has an invalid checksum.", + "invalidSecretPhraseConfirmation": "I know what I'm doing", + "contactSupport": "Contact Support", + "emailAction": "Email {email}", + "noteLabel": "Note:", + "optionalLabel": "(Optional)", + "moreInfo": "More Info", + "selectAddress": "Select Address", + "kpubTitle": "Extended Public Key", + "kpubAuth": "View Extended Public Key", + "kpubDescription": "The extended public key can be used to import your wallet as a 'watch only' wallet.", + "copyKpub": "Copy Kpub", + "kpubCopied": "Extended Public Key Copied", + "kpubCopyFailed": "Failed to copy Extended Public Key", + "walletAddressesCopied": "Wallet {addressType} Addresses Copied to Clipboard", + "walletAddressesCopyFailed": "Failed to Copy Wallet {addressType} Addresses", + "txReport": "Transaction Report", + "txReportSubtitle": "Get CSV file with transaction history", + "txReportDetails": "Generate a transaction report, in CSV format, that contains all the wallet's transaction history.", + "txReportOptionIgnoreCompound": "Ignore compound transactions", + "txReportOptionIgnoreSelfTxs": "Ignore transactions sent to self", + "txReportOptionRefreshTxs": "Refresh transactions", + "txReportGenerate": "Generate", + "txReportStatusRefreshing": "Refreshing transactions", + "txReportStatusLoading": "Loading transactions", + "txReportStatusReady": "Transaction report is ready!", + "txReportGetReport": "Get Report", + "txReportDate": "Date", + "txReportSentAmount": "Sent Amount", + "txReportSentCurrency": "Sent Currency", + "txReportReceivedAmount": "Received Amount", + "txReportReceivedCurrency": "Received Currency", + "txReportFeeAmount": "Fee Amount", + "txReportFeeCurrency": "Fee Currency", + "txReportLabel": "Label", + "txReportDescription": "Description", + "txReportTxHash": "TxHash", + "txReportNote": "Note", + "txReportLabelCost": "cost", + "txReportFeeForCompound": "Fee for Compound Transaction", + "txReportFeeForSelfSend": "Fee to send to own addresses", + "txReportError": "Error generating report", + "txReportNoTxs": "Found {numberOf} transactions.", + "txReportNoLoadedTxs": "({loadedTxs} of {totalTxs})", + "txFilterDialogTitle": "Transaction Filter", + "txFilterDialogOptionAllTxs": "Show All Transactions", + "txFilterDialogOptionHideNotAcceptedCoinbase": "Hide Not Accepted Coinbase Transactions" +} \ No newline at end of file diff --git a/lib/l10n/app_ca.arb b/lib/l10n/app_ca.arb index 53c0941b..57057257 100644 --- a/lib/l10n/app_ca.arb +++ b/lib/l10n/app_ca.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2023-09-25T17:48:36.587Z", + "@@last_modified": "2024-11-1T11:12:41.441Z", "@@author": "arb-converter-cli", "account": "Compte", "accounts": "Comptes", @@ -19,6 +19,8 @@ "addressHint": "Introduir adreça", "addressMissing": "Si us plau, introdueix una adreça", "addressShare": "Compartir adreça", + "karlsenUriCopied": "Karlsen URI Copied", + "karlsenUriCopyFailed": "Failed to copy Karlsen URI", "advancedHeader": "Avançat", "amount": "Quantitat", "amountConfirm": "Quantitat {amount} {coin}", @@ -78,6 +80,7 @@ "disableWalletPassword": "Desactivar contrasenya del moneder", "doContinue": "Continuar", "donate": "Fer una donació", + "donateTo": "Donate To", "dontShowAgain": "No mostris més", "emptyCardIntroUtxos": "Aquesta és la pestanya de UTXOs. Tots els UTXOs del teu moneder apareixeran aquí", "emptyResult": "Resultat buit", @@ -85,10 +88,11 @@ "encryptionFailedError": "Error a l'establir la contrasenya del moneder", "enterAddress": "Introduir adreça", "enterAmount": "Introduir quantitat", + "enterFiatValue": "Enter Fiat Value", "enterNote": "Inserir nota", "enterPasswordHint": "Introdueix la teva contrasenya", "errorMessageCopied": "Missatge d'error copiat al porta-retalls", - "exampleCardIntro": "Benvingut a Karlsen Mobile. Un cop hagis rebut KLS, les transaccions apareixeran així:", + "exampleCardIntro": "Benvingut a Natrium. Un cop hagis rebut KLS, les transaccions apareixeran així:", "export": "Exportar", "fee": "Comissió", "feeConfirm": "Comissió {amount} {coin}", @@ -114,7 +118,7 @@ "invalidDestinationAddress": "Adreça de destí incorrecta", "invalidPassword": "Contrasenya no vàlida", "karlsenDevFund": "Fons de Desenvolupadors Karlsen", - "mobileWallet": "Moneder Karlsen Mobile", + "karlsenmobileWallet": "Moneder Karlsen Mobile", "language": "Idioma", "loadingTransactions": "Carregant Transaccions...", "lockAppSetting": "Autenticar-se a l'inici", @@ -147,8 +151,8 @@ "on": "Activades", "paperWallet": "Moneder de paper", "passwordBlank": "La contrasenya no pot estar buida", - "passwordNoLongerRequiredToOpenParagraph": "Ja no requeriràs una contrasenya per obrir Karlsen Mobile.", - "passwordWillBeRequiredToOpenParagraph": "Es requerirà aquesta contrasenya per obrir Karlsen Mobile.", + "passwordNoLongerRequiredToOpenParagraph": "Ja no requeriràs una contrasenya per obrir Natrium.", + "passwordWillBeRequiredToOpenParagraph": "Es requerirà aquesta contrasenya per obrir Natrium.", "passwordsDontMatch": "Les contrasenyes no coincideixen", "pasteMnemonicError": "El contingut del porta-retalls no és una frase secreta correcta", "pending": "pendent", @@ -177,7 +181,7 @@ "removeWalletDetail": "Al esborrar aquest moneder, s'esborrarà la frase secreta i totes les dades relacionades amb aquest moneder en aquest dispositiu. Si no tens còpia de la frase secreta, mai més podràs accedir als teus fons.", "removeWalletPinMessage": "Introduir PIN per eliminar el moneder", "removeWalletReassurance": "Sempre que tinguis una còpia de la teva frase secreta, no tens per què preocupar-te", - "requireAPasswordToOpenHeader": "Vols requerir una contrasenya per obrir Karlsen Mobile?", + "requireAPasswordToOpenHeader": "Vols requerir una contrasenya per obrir Natrium?", "restartSetupButton": "Reiniciar configuració", "scanQrCode": "Escanejar codi QR", "scanQrCodeError": "Error al obtenir codi QR", @@ -197,16 +201,16 @@ "sendTxProgressTitle": "Enviant transacció", "sending": "Enviar", "sent": "Enviat", - "sentTo": "Enviar a", + "sentTo": "Sent to", "setPassword": "Establir contrasenya", "setPasswordSuccess": "Contrasenya establerta amb èxit", "setWalletPassword": "Establir contrasenya del moneder", "settingsHeader": "Configuració", "settingsTransfer": "Carregar des d'un moneder de paper", "setupFailedMessage": "Hi ha hagut un error", - "shareMobile": "Compartir Karlsen Mobile", - "shareMobileSubject": "Veure el moneder de Karlsen Mobile", - "shareMobileText": "Mira Karlsen Mobile - Karlsen Moneder Mòbil.\nWeb - mobile.karlsencoin.com", + "shareKarlsenMobile": "Compartir Karlsen Mobile", + "shareKarlsenMobileSubject": "Veure el moneder de Karlsen Mobile", + "shareKarlsenMobileText": "Mira Karlsen Mobile - Karlsen Moneder Mòbil.\nWeb - mobile.karlsencoin.com", "somethingWentWrong": "Hi ha hagut un error", "systemDefault": "Predeterminat del sistema", "tapToHide": "Prem per amagar", @@ -223,13 +227,13 @@ "transactionsUppercase": "TRANSACCIONS", "transfer": "Transferir", "transferClose": "Prem a qualsevol lloc per tancar la finestra.", - "transferComplete": "{amount} KLS han estat transferits amb èxit al teu moneder Karlsen Mobile.\n", + "transferComplete": "{amount} KLS han estat transferits amb èxit al teu moneder Natrium.\n", "transferConfirmInfo": "S'ha detectat un moneder amb un saldo de {amount} KLS.\n", "transferConfirmInfoSecond": "La transferència pot tardar uns quants segons a completar-se.\n", "transferConfirmInfoThird": "La transferència pot tardar uns quants segons a completar-se.", "transferError": "S'ha produït un error en la transferència. Si us plau, intenta-ho més tard.", "transferHeader": "Transferir fons", - "transferIntro": "Aquest procés transferirà els fons des d'un moneder de paper al teu moneder Karlsen Mobile.\n\nPrem el botó \"{button}\" per començar.", + "transferIntro": "Aquest procés transferirà els fons des d'un moneder de paper al teu moneder Natrium.\n\nPrem el botó \"{button}\" per començar.", "transferLoading": "Transferint", "transferManualHint": "Si us plau, introdueix la llavor a sota.", "transferNoFunds": "Aquesta llavor no conté cap KLS", @@ -240,12 +244,13 @@ "accepted": "accepted", "unknown": "desconegut", "unlock": "Desbloquejar", - "unlockBiometrics": "Autentica't per desbloquejar Karlsen Mobile", - "unlockPin": "Introdueix el PIN per desbloquejar Karlsen Mobile", + "unlockBiometrics": "Autentica't per desbloquejar Natrium", + "unlockPin": "Introdueix el PIN per desbloquejar Natrium", "utxosUppercase": "UTXOs", "viewAddress": "Veure Adreça", "viewTransaction": "Veure Transacció", "walletAddresses": "Adreces del moneder", + "walletAddress": "Wallet Address", "walletName": "Nom del moneder", "walletNameDescription": "Introdueix un nom pel teu moneder", "walletNameHint": "Nom del moneder", @@ -254,7 +259,7 @@ "walletsTitle": "Moneders", "warning": "Advertència", "welcomeMessage": "Benvingut/uda!\n\nAquesta és la versió {version} de Karlsen Mobile - el moneder mòbil per Karlsen", - "welcomeText": "Benvingut a Karlsen Mobile. Per començar, pots crear un nou moneder o importar-ne un d'existent.", + "welcomeText": "Benvingut a Natrium. Per començar, pots crear un nou moneder o importar-ne un d'existent.", "xMinutes": "Després de {minutes, plural, =1{1 minut} other{{minutes} minuts}}", "yes": "Sí", "yesButton": "Sí", @@ -264,6 +269,8 @@ "nodeSecureConnection": "Connexió segura", "karlsenUriInvalid": "Invalid Karlsen URI", "compoundUtxos": "Compound transactions", + "compoundRequired": "Compound required", + "compoundRequiredDescription": "The transaction amount requires too many UTXOs. Compounding will reduce the number of UTXOs.", "compoundUtxosDescription": "Combine multiple UTXOs into one", "compoundUtxosConfirmation": "Compound transactions?", "compoundingUtxos": "Compounding transactions", @@ -288,10 +295,8 @@ "addressFilterDialogTitle": "Address Filter", "addressFilterDialogOptionAllAddresses": "View All Addresses", "addressFilterDialogOptionNonZeroBalances": "View Addresses With Balance", - "importOption24WordsLegacyTitle": "Import 24 Word Secret Phrase", - "importOption24WordsLegacyDescription": "Compatible with Node Wallet up to v1.1.0", "importOption24WordsTitle": "Import 24 Word Secret Phrase", - "importOption24WordsDescription": "Compatible with Node Wallet from v1.2.0", + "importOption24WordsDescription": "Compatible with Cli Wallet and Ledger", "importOption12WordsTitle": "Import 12 Word Secret Phrase", "importOption12WordsDescription": "Compatible with Web Wallet and Karlsen Desktop", "importOptionKpubTitle": "Import Watch Only Wallet", @@ -303,5 +308,53 @@ "importKpubInvalidMessage": "Please check that your extended public key is entered correctly!", "receiveAddressListEmpty": "Receive address list is empty", "changeAddressListEmpty": "Change address list is empty", - "hintAddressListEmpty": "Check address filter from the top right corner" -} + "hintAddressListEmpty": "Check address filter from the top right corner", + "invalidSecretPhrase": "Invalid Secret Phrase", + "invalidSecretPhraseDetails": "The Secret Phrase you entered has an invalid checksum.", + "invalidSecretPhraseConfirmation": "I know what I'm doing", + "contactSupport": "Contact Support", + "emailAction": "Email {email}", + "noteLabel": "Note:", + "optionalLabel": "(Optional)", + "moreInfo": "More Info", + "selectAddress": "Select Address", + "kpubTitle": "Extended Public Key", + "kpubAuth": "View Extended Public Key", + "kpubDescription": "The extended public key can be used to import your wallet as a 'watch only' wallet.", + "copyKpub": "Copy Kpub", + "kpubCopied": "Extended Public Key Copied", + "kpubCopyFailed": "Failed to copy Extended Public Key", + "walletAddressesCopied": "Wallet {addressType} Addresses Copied to Clipboard", + "walletAddressesCopyFailed": "Failed to Copy Wallet {addressType} Addresses", + "txReport": "Transaction Report", + "txReportSubtitle": "Get CSV file with transaction history", + "txReportDetails": "Generate a transaction report, in CSV format, that contains all the wallet's transaction history.", + "txReportOptionIgnoreCompound": "Ignore compound transactions", + "txReportOptionIgnoreSelfTxs": "Ignore transactions sent to self", + "txReportOptionRefreshTxs": "Refresh transactions", + "txReportGenerate": "Generate", + "txReportStatusRefreshing": "Refreshing transactions", + "txReportStatusLoading": "Loading transactions", + "txReportStatusReady": "Transaction report is ready!", + "txReportGetReport": "Get Report", + "txReportDate": "Date", + "txReportSentAmount": "Sent Amount", + "txReportSentCurrency": "Sent Currency", + "txReportReceivedAmount": "Received Amount", + "txReportReceivedCurrency": "Received Currency", + "txReportFeeAmount": "Fee Amount", + "txReportFeeCurrency": "Fee Currency", + "txReportLabel": "Label", + "txReportDescription": "Description", + "txReportTxHash": "TxHash", + "txReportNote": "Note", + "txReportLabelCost": "cost", + "txReportFeeForCompound": "Fee for Compound Transaction", + "txReportFeeForSelfSend": "Fee to send to own addresses", + "txReportError": "Error generating report", + "txReportNoTxs": "Found {numberOf} transactions.", + "txReportNoLoadedTxs": "({loadedTxs} of {totalTxs})", + "txFilterDialogTitle": "Transaction Filter", + "txFilterDialogOptionAllTxs": "Show All Transactions", + "txFilterDialogOptionHideNotAcceptedCoinbase": "Hide Not Accepted Coinbase Transactions" +} \ No newline at end of file diff --git a/lib/l10n/app_cs.arb b/lib/l10n/app_cs.arb index 690b7b73..abe438f1 100644 --- a/lib/l10n/app_cs.arb +++ b/lib/l10n/app_cs.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2023-09-25T17:48:36.587Z", + "@@last_modified": "2024-11-1T11:12:41.441Z", "@@author": "arb-converter-cli", "account": "Účet", "accounts": "Účty", @@ -19,6 +19,8 @@ "addressHint": "Zadejte adresu", "addressMissing": "Prosím zadejte adresu", "addressShare": "Sdílet adresu", + "karlsenUriCopied": "Karlsen URI Copied", + "karlsenUriCopyFailed": "Failed to copy Karlsen URI", "advancedHeader": "Rozšířené", "amount": "Částka", "amountConfirm": "Částka {amount} {coin}", @@ -78,6 +80,7 @@ "disableWalletPassword": "Znemožnit heslo peněženky", "doContinue": "Pokračovat", "donate": "Darovat", + "donateTo": "Donate To", "dontShowAgain": "Znovu Neukazovat", "emptyCardIntroUtxos": "Toto je záložka UTXO. Všechna UTXO ve Vaší peněžence se objeví zde", "emptyResult": "Výsledek Prázdný", @@ -85,6 +88,7 @@ "encryptionFailedError": "Nastavení hesla k peněžence se nezdařilo", "enterAddress": "Zadejte Adresu", "enterAmount": "Zadejte Částku", + "enterFiatValue": "Enter Fiat Value", "enterNote": "Zadejte Poznámku", "enterPasswordHint": "Zadejte vaše heslo", "errorMessageCopied": "Kód chyby zkopírován do schránky", @@ -113,8 +117,8 @@ "invalidKpubMessage": "Please check that your extended public key is entered correctly!", "invalidDestinationAddress": "Neplataná Doručovací Adresa", "invalidPassword": "Neplatné Heslo", - "karlsenDevFund": "Vývojářský Fond Karlsen", - "mobileWallet": "Peněženka Karlsen Mobile", + "karlsenDevFund": "Vývojářský Fond Klspy", + "karlsenmobileWallet": "Peněženka Karlsen Mobile", "language": "Jazyk", "loadingTransactions": "Nahrávám Transakce...", "lockAppSetting": "Ověřit při Spuštění", @@ -197,16 +201,16 @@ "sendTxProgressTitle": "Odesílám Transakci", "sending": "Poslat", "sent": "Odesláno", - "sentTo": "Odeslat", + "sentTo": "Sent to", "setPassword": "Nastavit heslo", "setPasswordSuccess": "Heslo bylo úspěšně nastaveno", "setWalletPassword": "Nastavit heslo peněženky", "settingsHeader": "Nastavení", "settingsTransfer": "Načíst z Papírové Peněženky", "setupFailedMessage": "Něco se pokazilo", - "shareMobile": "Sdílet Karlsen Mobile", - "shareMobileSubject": "Vyzkoušet Peněženku Karlsen Mobile", - "shareMobileText": "Vyzkoušejte Karlsen Mobile - mobilní peněženka pro Karlsen. Web - mobile.karlsencoin.com", + "shareKarlsenMobile": "Sdílet Karlsen Mobile", + "shareKarlsenMobileSubject": "Vyzkoušet Peněženku Karlsen Mobile", + "shareKarlsenMobileText": "Vyzkoušejte Karlsen Mobile - mobilní peněženka pro Klspu. Web - mobile.karlsencoin.com", "somethingWentWrong": "Něco se pokazilo", "systemDefault": "Výchozí systému", "tapToHide": "Klepnutím skryjete", @@ -246,6 +250,7 @@ "viewAddress": "Zobrazit Adresu", "viewTransaction": "Zobrazit Transakci", "walletAddresses": "Adresy Peněženky", + "walletAddress": "Wallet Address", "walletName": "Název Peněženky", "walletNameDescription": "Zadejte název své peněženky", "walletNameHint": "Název Peněženky", @@ -253,7 +258,7 @@ "walletSetupMessage": "Nastavuji Peněženku", "walletsTitle": "Peněženky", "warning": "Varování", - "welcomeMessage": "Vítejte!\n\nToto je verze {version} Karlsen Mobile Peněženky - mobilní peněženky pro Karlsen", + "welcomeMessage": "Vítejte!\n\nToto je verze {version} Karlsen Mobile Peněženky - mobilní peněženky pro Klspu", "welcomeText": "Vítejte v Karlsen Mobile. Nejprve můžete vytvořit novou peněženku nebo importovat stávající.", "xMinutes": "Po {minutes, plural, =1{1 minutě} other{{minutes} minutách}}", "yes": "Ano", @@ -264,6 +269,8 @@ "nodeSecureConnection": "Bezpečné spojení", "karlsenUriInvalid": "Invalid Karlsen URI", "compoundUtxos": "Compound transactions", + "compoundRequired": "Compound required", + "compoundRequiredDescription": "The transaction amount requires too many UTXOs. Compounding will reduce the number of UTXOs.", "compoundUtxosDescription": "Combine multiple UTXOs into one", "compoundUtxosConfirmation": "Compound transactions?", "compoundingUtxos": "Compounding transactions", @@ -288,10 +295,8 @@ "addressFilterDialogTitle": "Address Filter", "addressFilterDialogOptionAllAddresses": "View All Addresses", "addressFilterDialogOptionNonZeroBalances": "View Addresses With Balance", - "importOption24WordsLegacyTitle": "Import 24 Word Secret Phrase", - "importOption24WordsLegacyDescription": "Compatible with Node Wallet up to v1.1.0", "importOption24WordsTitle": "Import 24 Word Secret Phrase", - "importOption24WordsDescription": "Compatible with Node Wallet from v1.2.0", + "importOption24WordsDescription": "Compatible with Cli Wallet and Ledger", "importOption12WordsTitle": "Import 12 Word Secret Phrase", "importOption12WordsDescription": "Compatible with Web Wallet and Karlsen Desktop", "importOptionKpubTitle": "Import Watch Only Wallet", @@ -303,5 +308,53 @@ "importKpubInvalidMessage": "Please check that your extended public key is entered correctly!", "receiveAddressListEmpty": "Receive address list is empty", "changeAddressListEmpty": "Change address list is empty", - "hintAddressListEmpty": "Check address filter from the top right corner" -} + "hintAddressListEmpty": "Check address filter from the top right corner", + "invalidSecretPhrase": "Invalid Secret Phrase", + "invalidSecretPhraseDetails": "The Secret Phrase you entered has an invalid checksum.", + "invalidSecretPhraseConfirmation": "I know what I'm doing", + "contactSupport": "Contact Support", + "emailAction": "Email {email}", + "noteLabel": "Note:", + "optionalLabel": "(Optional)", + "moreInfo": "More Info", + "selectAddress": "Select Address", + "kpubTitle": "Extended Public Key", + "kpubAuth": "View Extended Public Key", + "kpubDescription": "The extended public key can be used to import your wallet as a 'watch only' wallet.", + "copyKpub": "Copy Kpub", + "kpubCopied": "Extended Public Key Copied", + "kpubCopyFailed": "Failed to copy Extended Public Key", + "walletAddressesCopied": "Wallet {addressType} Addresses Copied to Clipboard", + "walletAddressesCopyFailed": "Failed to Copy Wallet {addressType} Addresses", + "txReport": "Transaction Report", + "txReportSubtitle": "Get CSV file with transaction history", + "txReportDetails": "Generate a transaction report, in CSV format, that contains all the wallet's transaction history.", + "txReportOptionIgnoreCompound": "Ignore compound transactions", + "txReportOptionIgnoreSelfTxs": "Ignore transactions sent to self", + "txReportOptionRefreshTxs": "Refresh transactions", + "txReportGenerate": "Generate", + "txReportStatusRefreshing": "Refreshing transactions", + "txReportStatusLoading": "Loading transactions", + "txReportStatusReady": "Transaction report is ready!", + "txReportGetReport": "Get Report", + "txReportDate": "Date", + "txReportSentAmount": "Sent Amount", + "txReportSentCurrency": "Sent Currency", + "txReportReceivedAmount": "Received Amount", + "txReportReceivedCurrency": "Received Currency", + "txReportFeeAmount": "Fee Amount", + "txReportFeeCurrency": "Fee Currency", + "txReportLabel": "Label", + "txReportDescription": "Description", + "txReportTxHash": "TxHash", + "txReportNote": "Note", + "txReportLabelCost": "cost", + "txReportFeeForCompound": "Fee for Compound Transaction", + "txReportFeeForSelfSend": "Fee to send to own addresses", + "txReportError": "Error generating report", + "txReportNoTxs": "Found {numberOf} transactions.", + "txReportNoLoadedTxs": "({loadedTxs} of {totalTxs})", + "txFilterDialogTitle": "Transaction Filter", + "txFilterDialogOptionAllTxs": "Show All Transactions", + "txFilterDialogOptionHideNotAcceptedCoinbase": "Hide Not Accepted Coinbase Transactions" +} \ No newline at end of file diff --git a/lib/l10n/app_da.arb b/lib/l10n/app_da.arb index 94461a96..3a61f81e 100644 --- a/lib/l10n/app_da.arb +++ b/lib/l10n/app_da.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2023-10-08T18:51:30.958Z", + "@@last_modified": "2024-11-1T11:12:41.441Z", "@@author": "arb-converter-cli", "account": "Konto", "accounts": "Konti", @@ -19,6 +19,8 @@ "addressHint": "Indtast Adresse", "addressMissing": "Indtast Venligst en Adresse", "addressShare": "Del Adresse", + "karlsenUriCopied": "Karlsen URI Copied", + "karlsenUriCopyFailed": "Failed to copy Karlsen URI", "advancedHeader": "Avanceret", "amount": "Beløb", "amountConfirm": "Beløb {amount} {coin}", @@ -78,6 +80,7 @@ "disableWalletPassword": "Deaktiver pungens adgangskode", "doContinue": "Fortsæt", "donate": "Donér", + "donateTo": "Donate To", "dontShowAgain": "Vis ikke igen", "emptyCardIntroUtxos": "Dette er UTXO fanen. Alle UTXO'er i din pung vises her", "emptyResult": "Tomt resultat", @@ -85,6 +88,7 @@ "encryptionFailedError": "Kunne ikke ændre pungens adgangskode", "enterAddress": "Indtast adresse", "enterAmount": "Indtast beløb", + "enterFiatValue": "Enter Fiat Value", "enterNote": "Indtast Node", "enterPasswordHint": "Indtast dit kodeord", "errorMessageCopied": "Fejlmeddelelse kopieret til udklipsholder", @@ -114,7 +118,7 @@ "invalidDestinationAddress": "Ugyldig modtager adresse", "invalidPassword": "Ugyldig adgangskode", "karlsenDevFund": "Karlsen Dev Fund", - "mobileWallet": "Karlsen Mobile Pung", + "karlsenmobileWallet": "Karlsen Mobile Pung", "language": "Sprog", "loadingTransactions": "Indlæser transaktioner...", "lockAppSetting": "Verificer ved opstart", @@ -197,16 +201,16 @@ "sendTxProgressTitle": "Sender transaktion", "sending": "Sender", "sent": "Sendt", - "sentTo": "Sendt til", + "sentTo": "Sent to", "setPassword": "Skift adgangskode", "setPasswordSuccess": "Adgangskoden er ændret", "setWalletPassword": "Angiv Pungens adgangskode", "settingsHeader": "Indstillinger", "settingsTransfer": "Hent fra Papir Pung", "setupFailedMessage": "Noget gik galt", - "shareMobile": "Del Karlsen Mobile", - "shareMobileSubject": "Tjek Karlsen Mobile Pung", - "shareMobileText": "Tjek Karlsen Mobile - Karlsen Mobil Pung.\nHjemmeside - mobile.karlsencoin.com", + "shareKarlsenMobile": "Del Karlsen Mobile", + "shareKarlsenMobileSubject": "Tjek Karlsen Mobile Pung", + "shareKarlsenMobileText": "Tjek Karlsen Mobile - Karlsen Mobil Pung.\nHjemmeside - mobile.karlsencoin.com", "somethingWentWrong": "Noget gik galt", "systemDefault": "Systemstandard", "tapToHide": "Tryk for at skjule", @@ -241,11 +245,12 @@ "unknown": "Ukendt", "unlock": "Lås op", "unlockBiometrics": "Verificer for at låse pungen op", - "unlockPin": "Indtast PIN-koden for at låse Karlsen Mobile op", + "unlockPin": "Indtast PIN-koden for at låse Natirum op", "utxosUppercase": "UTXOs", "viewAddress": "Se Adresse", "viewTransaction": "Se Transaktion", "walletAddresses": "Pung Adresser", + "walletAddress": "Wallet Address", "walletName": "Pung navn", "walletNameDescription": "Indtast et navn til din pung", "walletNameHint": "Pung Navn", @@ -264,6 +269,8 @@ "nodeSecureConnection": "Sikker forbindelse", "karlsenUriInvalid": "Ugyldig Karlsen URI", "compoundUtxos": "Sammensatte transaktioner", + "compoundRequired": "Compound required", + "compoundRequiredDescription": "The transaction amount requires too many UTXOs. Compounding will reduce the number of UTXOs.", "compoundUtxosDescription": "Kombiner flere UTXO'er til én", "compoundUtxosConfirmation": "Sammensatte transaktioner?", "compoundingUtxos": "Sammensatte transaktioner", @@ -288,10 +295,8 @@ "addressFilterDialogTitle": "Adresse Filter", "addressFilterDialogOptionAllAddresses": "Se alle adresser", "addressFilterDialogOptionNonZeroBalances": "Se adresser med balance", - "importOption24WordsLegacyTitle": "Importer 24 ord hemmelig sætning", - "importOption24WordsLegacyDescription": "Kompatibel med Node Wallet op til v1.1.0", "importOption24WordsTitle": "Importer 24 ord hemmelig sætning", - "importOption24WordsDescription": "Kompatibel med Node Wallet fra v1.2.0", + "importOption24WordsDescription": "Kompatibel med Cli Wallet og Ledger", "importOption12WordsTitle": "Importer 12 ord hemmelig sætning", "importOption12WordsDescription": "Kompatibel med Web Wallet og Karlsen Desktop", "importOptionKpubTitle": "Importer se-kun pung", @@ -303,5 +308,53 @@ "importKpubInvalidMessage": "Tjek venligst, at din udvidede offentlige nøgle er indtastet korrekt!", "receiveAddressListEmpty": "Modtagelsesadresselisten er tom", "changeAddressListEmpty": "Skift adresseliste er tom", - "hintAddressListEmpty": "Tjek adressefilteret fra øverste højre hjørne" -} + "hintAddressListEmpty": "Tjek adressefilteret fra øverste højre hjørne", + "invalidSecretPhrase": "Invalid Secret Phrase", + "invalidSecretPhraseDetails": "The Secret Phrase you entered has an invalid checksum.", + "invalidSecretPhraseConfirmation": "I know what I'm doing", + "contactSupport": "Contact Support", + "emailAction": "Email {email}", + "noteLabel": "Note:", + "optionalLabel": "(Optional)", + "moreInfo": "More Info", + "selectAddress": "Select Address", + "kpubTitle": "Extended Public Key", + "kpubAuth": "View Extended Public Key", + "kpubDescription": "The extended public key can be used to import your wallet as a 'watch only' wallet.", + "copyKpub": "Copy Kpub", + "kpubCopied": "Extended Public Key Copied", + "kpubCopyFailed": "Failed to copy Extended Public Key", + "walletAddressesCopied": "Wallet {addressType} Addresses Copied to Clipboard", + "walletAddressesCopyFailed": "Failed to Copy Wallet {addressType} Addresses", + "txReport": "Transaction Report", + "txReportSubtitle": "Get CSV file with transaction history", + "txReportDetails": "Generate a transaction report, in CSV format, that contains all the wallet's transaction history.", + "txReportOptionIgnoreCompound": "Ignore compound transactions", + "txReportOptionIgnoreSelfTxs": "Ignore transactions sent to self", + "txReportOptionRefreshTxs": "Refresh transactions", + "txReportGenerate": "Generate", + "txReportStatusRefreshing": "Refreshing transactions", + "txReportStatusLoading": "Loading transactions", + "txReportStatusReady": "Transaction report is ready!", + "txReportGetReport": "Get Report", + "txReportDate": "Date", + "txReportSentAmount": "Sent Amount", + "txReportSentCurrency": "Sent Currency", + "txReportReceivedAmount": "Received Amount", + "txReportReceivedCurrency": "Received Currency", + "txReportFeeAmount": "Fee Amount", + "txReportFeeCurrency": "Fee Currency", + "txReportLabel": "Label", + "txReportDescription": "Description", + "txReportTxHash": "TxHash", + "txReportNote": "Note", + "txReportLabelCost": "cost", + "txReportFeeForCompound": "Fee for Compound Transaction", + "txReportFeeForSelfSend": "Fee to send to own addresses", + "txReportError": "Error generating report", + "txReportNoTxs": "Found {numberOf} transactions.", + "txReportNoLoadedTxs": "({loadedTxs} of {totalTxs})", + "txFilterDialogTitle": "Transaction Filter", + "txFilterDialogOptionAllTxs": "Show All Transactions", + "txFilterDialogOptionHideNotAcceptedCoinbase": "Hide Not Accepted Coinbase Transactions" +} \ No newline at end of file diff --git a/lib/l10n/app_de.arb b/lib/l10n/app_de.arb index 83b1c26d..bcfb01f1 100644 --- a/lib/l10n/app_de.arb +++ b/lib/l10n/app_de.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2023-09-25T17:48:36.587Z", + "@@last_modified": "2024-04-18T20:07:44.355Z", "@@author": "arb-converter-cli", "account": "Konto", "accounts": "Konten", @@ -19,6 +19,8 @@ "addressHint": "Adresse eingeben", "addressMissing": "Bitte Adresse eingeben", "addressShare": "Adresse teilen", + "karlsenUriCopied": "Karlsen URI kopiert", + "karlsenUriCopyFailed": "Kopieren der Karlsen URI fehlgeschlagen", "advancedHeader": "Erweitert", "amount": "Betrag", "amountConfirm": "Betrag {amount} {coin}", @@ -78,6 +80,7 @@ "disableWalletPassword": "Wallet-Passwort deaktivieren", "doContinue": "Fortfahren", "donate": "Spenden", + "donateTo": "Spenden an", "dontShowAgain": "Nicht mehr anzeigen", "emptyCardIntroUtxos": "Dies ist der UTXO-Reiter. Alle UTXOs in Ihrem Wallet werden hier aufgeführt.", "emptyResult": "Leeres Ergebnis", @@ -85,6 +88,7 @@ "encryptionFailedError": "Wallet-Passwort konnte nicht festgelegt werden", "enterAddress": "Adresse eingeben", "enterAmount": "Betrag eingeben", + "enterFiatValue": "Fiat-Betrag eingeben", "enterNote": "Notiz eingeben", "enterPasswordHint": "Passwort eingeben", "errorMessageCopied": "Fehlermeldung in die Zwischenablage kopiert", @@ -114,7 +118,7 @@ "invalidDestinationAddress": "Ungültige Empfängeradresse", "invalidPassword": "Ungültiges Passwort", "karlsenDevFund": "Karlsen Entwickler Fonds", - "mobileWallet": "Karlsen Mobile Wallet", + "karlsenmobileWallet": "Karlsen Mobile Wallet", "language": "Sprache", "loadingTransactions": "Lade Transaktionen...", "lockAppSetting": "Authentifizierung beim Öffnen", @@ -204,9 +208,9 @@ "settingsHeader": "Einstellungen", "settingsTransfer": "Von Papier-Wallet importieren", "setupFailedMessage": "Da hat etwas nicht funktioniert", - "shareMobile": "Teile Karlsen Mobile", - "shareMobileSubject": "Karlsen Mobile Wallet ausprobieren", - "shareMobileText": "Probiere Karlsen Mobile, Karlsens offizielles mobiles Wallet!", + "shareKarlsenMobile": "Teile Karlsen Mobile", + "shareKarlsenMobileSubject": "Karlsen Mobile-Wallet ausprobieren", + "shareKarlsenMobileText": "Probiere Karlsen Mobile, Karlsens offizielles mobiles Wallet!", "somethingWentWrong": "Da hat etwas nicht funktioniert", "systemDefault": "Standardeinstellung", "tapToHide": "Zum Verbergen tippen", @@ -246,6 +250,7 @@ "viewAddress": "Adresse anzeigen", "viewTransaction": "Transaktion anzeigen", "walletAddresses": "Wallet-Adressen", + "walletAddress": "Wallet-Adresse", "walletName": "Wallet Name", "walletNameDescription": "Bitte Name für das Wallet eingeben", "walletNameHint": "Wallet Name", @@ -264,6 +269,8 @@ "nodeSecureConnection": "Sichere Verbindung", "karlsenUriInvalid": "Invalide Karlsen URI", "compoundUtxos": "Transaktionen zusammenfassen", + "compoundRequired": "Mischung notwendig", + "compoundRequiredDescription": "Der Transaktionsbetrag benötigt zu viele UTXOs. Eine Mischung kann die Anzahl der UTXOs reduzieren.", "compoundUtxosDescription": "Mehrere UTXOs in eine kombinieren", "compoundUtxosConfirmation": "Transaktionen zusammenfassen?", "compoundingUtxos": "Transaktionen werden zusammengefasst", @@ -288,10 +295,8 @@ "addressFilterDialogTitle": "Adressfilter", "addressFilterDialogOptionAllAddresses": "Zeige alle Adressen", "addressFilterDialogOptionNonZeroBalances": "Zeige Adressen mit Guthaben", - "importOption24WordsLegacyTitle": "24 Wort Seed Phrase importieren", - "importOption24WordsLegacyDescription": "Kompatibel mit Node Wallet bis v1.1.0", "importOption24WordsTitle": "24 Wort Seed Phrase importieren", - "importOption24WordsDescription": "Kompatibel mit Node Wallet ab v1.2.0", + "importOption24WordsDescription": "Kompatibel mit Cli Wallet und Ledger", "importOption12WordsTitle": "12 Wort Seed Phrase importieren", "importOption12WordsDescription": "Kompatibel mit Web Wallet und Karlsen Desktop", "importOptionKpubTitle": "Beobachtungswallet importieren", @@ -303,5 +308,53 @@ "importKpubInvalidMessage": "Bitte prüfen, dass der erweiterte öffentliche Schlüssel korrekt eingegeben wurde!", "receiveAddressListEmpty": "Liste der Empfangsadressen ist leer", "changeAddressListEmpty": "Liste der Wechsel-Adressen ist leer", - "hintAddressListEmpty": "Adressfilter in der oberen rechten Ecke prüfen" -} + "hintAddressListEmpty": "Adressfilter in der oberen rechten Ecke prüfen", + "invalidSecretPhrase": "Ungültige Geheimwörter", + "invalidSecretPhraseDetails": "Die eingegebenen Geheimwörter haben eine ungültige Prüfsumme.", + "invalidSecretPhraseConfirmation": "Ich weiss was ich tue", + "contactSupport": "Support kontaktieren", + "emailAction": "Email {email}", + "noteLabel": "Notiz:", + "optionalLabel": "(Optional)", + "moreInfo": "Mehr Informationen", + "selectAddress": "Adresse auswählen", + "kpubTitle": "Erweiterter öffentlicher Schlüssel", + "kpubAuth": "Zeige erweiterten öffentlichen Schlüssel", + "kpubDescription": "Der erweiterte öffentliche Schlüssel kann verwendet werden, um ein Wallet \"nur-zum-anzeigen\" zu verwenden.", + "copyKpub": "Kopiere Kpub", + "kpubCopied": "Erweiterter öffentlicher Schlüssel kopiert", + "kpubCopyFailed": "Kopieren des erweiterten öffentlichen Schlüssels fehlgeschlagen", + "walletAddressesCopied": "Wallet {addressType} Adressen in die Zwischenablage kopiert", + "walletAddressesCopyFailed": "Kopieren der Wallet {addressType} Adressen fehlgeschlagen", + "txReport": "Transaktionsbericht", + "txReportSubtitle": "CSV-Datei des Transaktionsverlaufen herunterladen", + "txReportDetails": "Transaktionsbericht im CSV-Format erzeugen, welcher die gesamte Liste der Transaktionen dieses Wallet enthält.", + "txReportOptionIgnoreCompound": "Vermischungstransaktionen ignorieren", + "txReportOptionIgnoreSelfTxs": "Transaktionen an sich selbst ignorieren", + "txReportOptionRefreshTxs": "Transaktionen neu laden", + "txReportGenerate": "Erzeugen", + "txReportStatusRefreshing": "Transaktionen werden neu geladen", + "txReportStatusLoading": "Lade Transaktionen", + "txReportStatusReady": "Transaktionsbericht ist fertig!", + "txReportGetReport": "Bericht herunterladen", + "txReportDate": "Datum", + "txReportSentAmount": "Gesendeter Betrag", + "txReportSentCurrency": "Gesendete Währung", + "txReportReceivedAmount": "Empfangener Betrag", + "txReportReceivedCurrency": "Empfangene Währung", + "txReportFeeAmount": "Betrag der Gebühren", + "txReportFeeCurrency": "Währung der Gebühren", + "txReportLabel": "Bezeichnung", + "txReportDescription": "Beschreibung", + "txReportTxHash": "TxHash", + "txReportNote": "Notiz", + "txReportLabelCost": "kostet", + "txReportFeeForCompound": "Gebühr für Mischungstransaktion", + "txReportFeeForSelfSend": "Gebühr um an eigene Adresse zu senden", + "txReportError": "Fehler beim Erzeugen des Berichtes", + "txReportNoTxs": "{numberOf} Transaktionen gefunden.", + "txReportNoLoadedTxs": "({loadedTxs} von {totalTxs})", + "txFilterDialogTitle": "Transaktionsfilter", + "txFilterDialogOptionAllTxs": "Zeige alle Transaktionen", + "txFilterDialogOptionHideNotAcceptedCoinbase": "Verberge alle nicht akzeptierten Coinbase-Transaktionen" +} \ No newline at end of file diff --git a/lib/l10n/app_el.arb b/lib/l10n/app_el.arb index 68b8f358..516154a2 100644 --- a/lib/l10n/app_el.arb +++ b/lib/l10n/app_el.arb @@ -1,31 +1,33 @@ { - "@@last_modified": "2023-09-25T17:48:36.587Z", + "@@last_modified": "2024-04-18T20:07:44.355Z", "@@author": "arb-converter-cli", "account": "Λογαριασμός", "accounts": "Λογαριασμοί", "ackBackedUp": "Είστε σίγουροι ότι έχετε κρατήσει αντίγραφο ασφαλείας της μυστικής σας φράσης;", "add": "Προσθήκη", - "addAccount": "Προσθήκη λογαριασμού", - "addContact": "Προσθήκη επαφής", - "addNode": "Προσθήκη κόμβου", + "addAccount": "Προσθήκη Λογαριασμού", + "addContact": "Προσθήκη Επαφής", + "addNode": "Προσθήκη Κόμβου", "addNodeFailed": "Αποτυχία προσθήκης κόμβου Karlsen", "addNodeFailedMessage": "Σφάλμα: {error}", - "addNodeSuccess": "Προσθήκη κόμβου επιτυχής", + "addNodeSuccess": "Προσθήκη Κόμβου Επιτυχής", "addingNodeMessage": "Παρακαλώ περιμένετε όσο γίνεται επικοινωνία με τον κόμβο", - "addingNodeTitle": "Γίνεται προσθήκη κόμβου", + "addingNodeTitle": "Γίνεται προσθήκη Κόμβου", "address": "Διέυθυνση", - "addressCopied": "Έγινε αντιγραφή της διεύθυνσης", - "addressCopiedFailed": "Failed to copy address", - "addressHint": "Εισαγωγή διεύθυνσης", - "addressMissing": "Παρακαλώ εισάγετε μια διεύθυνση", - "addressShare": "Κοινοποιήστε μια διεύθυνση", + "addressCopied": "Η Διεύθυνση Αντιγράφηκε", + "addressCopiedFailed": "Αποτυχία αντιγραφής διεύθυνσης", + "addressHint": "Εισαγωγή Διεύθυνσης", + "addressMissing": "Παρακαλώ Εισάγετε μια Διεύθυνση", + "addressShare": "Κοινή χρήση Διεύθυνσης", + "karlsenUriCopied": "Karlsen URI Copied", + "karlsenUriCopyFailed": "Failed to copy Karlsen URI", "advancedHeader": "Για προχωρημένους", "amount": "Ποσό", "amountConfirm": "Ποσό {amount} {coin}", - "amountMissing": "Παρακαλώ εισάγετε ένα ποσό", + "amountMissing": "Παρακαλώ Εισάγετε ένα Ποσό", "amountZero": "Το ποσό δεν μπορεί να είναι μηδενικό", "areYouSure": "Είστε σίγουροι;", - "authBiometricMessage": "Πραγματοποιήστε έλεγχο ταυτότητας για την προσθήκη πορτοφολιού", + "authBiometricMessage": "Πραγματοποιήστε έλεγχο ταυτότητας για να Προσθέσετε Πορτοφόλι", "authMethod": "Τρόπος ελέγχου ταυτότητας", "authPinMessage": "Εισάγετε το PIN για να προσθέσετε ένα πορτοφόλι", "autoLockHeader": "Αυτόματο κλείδωμα", @@ -46,8 +48,8 @@ "confirm": "Επιβεβαίωση", "confirmPasswordHint": "Επιβεβαιώστε των κωδικό πρόσβασης", "confirmations": "{confirmations} επιβεβαιώσεις", - "confirmed": "Επιβεβαιωμένο", - "confirming": "Γίνεται επιβεβαίωση", + "confirmed": "επιβεβαιωμένο", + "confirming": "γίνεται επιβεβαίωση", "contactAdded": "{contactName} προστέθηκε στις επαφές", "contactAddressCopied": "{address} η διεύθυνση αντιγράφηκε ", "contactExists": "Η επαφή υπάρχει ήδη", @@ -78,6 +80,7 @@ "disableWalletPassword": "Απενεργοποίηση κωδικού πρόσβασης πορτοφολιού", "doContinue": "Συνέχεια", "donate": "Δωρίστε", + "donateTo": "Donate To", "dontShowAgain": "Να μην εμφανιστεί ξανά", "emptyCardIntroUtxos": "Αυτή είναι η ταμπέλα συνναλαγών UTXO. Όλες οι UTXO συνναλαγές τους πορτοφολιού σας θα εμφανιστούν εδώ", "emptyResult": "Κενό αποτέλεσμα", @@ -85,6 +88,7 @@ "encryptionFailedError": "Δεν ήταν δυνατή η ενεργοποίηση κωδικού πρόσβασης πορτοφολιού", "enterAddress": "Εισάγετε διεύθυνση", "enterAmount": "Εισάγετε ποσό", + "enterFiatValue": "Enter Fiat Value", "enterNote": "Εισάγετε σημείωση", "enterPasswordHint": "Εισάγετε τον κωδικό πρόσβασης", "errorMessageCopied": "Το μήνυμα λάθους έχει αντιγραφεί στο πρόχειρο", @@ -100,21 +104,21 @@ "import": "Εισαγωγή", "importSecretPhrase": "Εισαγωγή μυστικής φράσης", "importSecretPhraseHint": "Παρακαλώ εισάγετε την μυστική φράση των 24 λέξεων παρακάτω.", - "importSecretPhraseHintCombo": "Please enter your 12 or 24 word secret phrase below.", - "importSecretPhraseHintLegacy": "Please enter your 12 word secret phrase below.", + "importSecretPhraseHintCombo": "Εισάγετε παρακάτω τη μυστική φράση 12 ή 24 λέξεων", + "importSecretPhraseHintLegacy": "Εισάγετε παρακάτω τη μυστική φράση 12 λέξεων", "importWallet": "Εισαγωγή πορτοφολιού", - "importWalletDescription": "Please select an option below.", + "importWalletDescription": "Παρακαλούμε διαλέξτε μία επιλογή παρακάτω", "instantly": "Στιγμιαία", "insufficientBalance": "Ανεπαρκές υπόλοιπο", "insufficientBalanceDetails": "Δεν έχετε αρκετά KLS για αυτήν την συναλλαγή", "invalidAddress": "Η διεύθυνση που έχετε εισάγει δεν είναι έγκυρη", "invalidAmount": "Το ποσό που έχετε εισάγει δεν είναι έγκυρο", "invalidChecksumMessage": "Παρακαλώ ελέγξτε ότι η μυστική σας φράση έχει εισαχθεί σωστά!", - "invalidKpubMessage": "Please check that your extended public key is entered correctly!", + "invalidKpubMessage": "Παρακαλούμε ελέγξτε ότι το εκτεταμένο δημόσιο κλειδί σας έχει εισαχθεί σωστά!", "invalidDestinationAddress": "Άκυρη διεύθυνση αποστολής", "invalidPassword": "Άκυρος κωδικός πρόσβασης", - "karlsenDevFund": "Κονδύλιο προγραμματιστών Karlsen", - "mobileWallet": "Το πορτοφόλι Karlsen Mobile", + "karlsenDevFund": "Κονδύλιο προγραμματιστών KARLSEN", + "karlsenmobileWallet": "Το πορτοφόλι Karlsen Mobile", "language": "Επιλογή γλώσσας", "loadingTransactions": "Λήψη συνναλαγών...", "lockAppSetting": "Πιστοποίηση με την έναρξη του προγράμματος", @@ -186,7 +190,7 @@ "secretPhrase": "Μυστική φράση", "secretWarning": "Άμα χάσετε την συσκευή σας ή απεγκαταστήσετε την εφαρμοφή, θα χρειαστείτε την μυστική σας φράση για αν έχετε πρόσβαση στα κεφάλαιά σας.", "securityHeader": "Ασφάλεια", - "seed": "Seed", + "seed": "Η φράση", "seedInvalid": "Η μυστική σας φράση δεν είναι έγκυρη.", "send": "Αποστολή", "sendConfirm": "Αποστολή", @@ -197,16 +201,16 @@ "sendTxProgressTitle": "Αποστολής συναλλαγής", "sending": "Αποστολή", "sent": "Απεστάλη", - "sentTo": "Αποστολή σε", + "sentTo": "Sent to", "setPassword": "Ενεργοποίηση κωδικού πρόσβασης", "setPasswordSuccess": "Ο κωδικός πρόσβασης του πορτοφολιού ενεργοποιήθηκε", "setWalletPassword": "Ενεργοποίηση κωδικού πρόσβασης πορτοφολιού", "settingsHeader": "Ρυθμίσεις", "settingsTransfer": "Φορτώστε τα στοιχεία από το χάρτινο <<εκτυπωμένο>> πορτοφόλι.", "setupFailedMessage": "Κάτι πήγε στραβά", - "shareMobile": "Μοιράστε το Karlsen Mobile", - "shareMobileSubject": "Τσεκάρετε το πορτοφόλι Karlsen Mobile!", - "shareMobileText": "Τσεκάρετε το Karlsen Mobile! Το φορητό πορτοφόλι για το Karlsen. Ιστοσελίδα - mobile.karlsencoin.com", + "shareKarlsenMobile": "Μοιράστε το Karlsen Mobile", + "shareKarlsenMobileSubject": "Τσεκάρετε το πορτοφόλι Karlsen Mobile!", + "shareKarlsenMobileText": "Τσεκάρετε το Karlsen Mobile! Το φορητό πορτοφόλι για το Karlsen. Ιστοσελίδα - mobile.karlsencoin.com", "somethingWentWrong": "Κάτι πήγε στραβά", "systemDefault": "Προκαθορισμένες επιλογές του συστήματος", "tapToHide": "Πατήστε εδώ για να το κρύψετε", @@ -236,8 +240,8 @@ "transferQrScanError": "Αυτός ο κωδικός QR δεν αντιστοιχεί σε μία έγκυρη μυστική φράση.", "transferQrScanHint": "Σαρώστε μία μυστική φράση Karlsen ή ένα ιδιωτικό κλειδί.", "unconfirmed": "Ανεπιβαιβέωτο", - "notAccepted": "not accepted", - "accepted": "accepted", + "notAccepted": "δεν έγινε αποδεκτή", + "accepted": "έγινε αποδεκτή", "unknown": "Άγνωστο", "unlock": "Ξεκλείδωμα", "unlockBiometrics": "Κάντε πιστοποίηση για να ξεκλειδώσετε το πορτοφόλι", @@ -246,6 +250,7 @@ "viewAddress": "Δείτε την διεύθυνση", "viewTransaction": "Δείτε την συναλλαγή", "walletAddresses": "Διευθύνσεις πορτοφολιού", + "walletAddress": "Wallet Address", "walletName": "Όνομα πορτοφολιού", "walletNameDescription": "Εισάγετε όνομα για το πορτοφόλι σας", "walletNameHint": "Όνομα πορτοφολιού", @@ -260,48 +265,96 @@ "yesButton": "Ναι", "yesUppercase": "ΝΑΙ", "nodeNotSyncedException": "Ο κόμβος δεν είναι συγχρονισμένος.", - "nodeNoUTXOIndexException": "Ο κόμβος δεν έχει δείκτη UTXO.", + "nodeNoUTXOIndexException": "Ο κόμβος δεν έχει ευρετήριο UTXO.", "nodeSecureConnection": "Ασφαλής σύνδεση.", - "karlsenUriInvalid": "Invalid Karlsen URI", - "compoundUtxos": "Compound transactions", - "compoundUtxosDescription": "Combine multiple UTXOs into one", - "compoundUtxosConfirmation": "Compound transactions?", - "compoundingUtxos": "Compounding transactions", - "compoundingMessage": "Please wait...", - "compoundSuccess": "Compound successful", - "compoundFailure": "Failed to compound transactions", - "compoundTooFewUtxos": "At least two UTXOs are required", - "balance": "Balance", - "maxSend": "Max Send", - "compoundUppercased": "COMPOUND", - "closeUppercased": "CLOSE", - "scanMoreAddresses": "Scan For More Addresses", - "addressDiscovery": "Address Discovery", - "scanningTitle": "Scanning", - "scanningDescription": "Scanning for new addresses...", - "scanMore": "SCAN MORE", - "scanFailedMessage": "Scan failed, please try again later", - "indexHeader": "Index", - "currentIndex": "Current", - "scannedIndex": "Scanned", - "newIndex": "New", - "addressFilterDialogTitle": "Address Filter", - "addressFilterDialogOptionAllAddresses": "View All Addresses", - "addressFilterDialogOptionNonZeroBalances": "View Addresses With Balance", - "importOption24WordsLegacyTitle": "Import 24 Word Secret Phrase", - "importOption24WordsLegacyDescription": "Compatible with Node Wallet up to v1.1.0", - "importOption24WordsTitle": "Import 24 Word Secret Phrase", - "importOption24WordsDescription": "Compatible with Node Wallet from v1.2.0", - "importOption12WordsTitle": "Import 12 Word Secret Phrase", - "importOption12WordsDescription": "Compatible with Web Wallet and Karlsen Desktop", - "importOptionKpubTitle": "Import Watch Only Wallet", - "importOptionKpubDescription": "Monitor the balance and transactions of a wallet using an extended public key", - "importKpub": "Import Watch Only Wallet", - "importKpubHint": "Please enter your extended public key.", - "importKpubClipboardError": "Clipboard content is not a valid extended public key", - "importKpubQrCodeError": "QR code does not contain a valid extended public key", - "importKpubInvalidMessage": "Please check that your extended public key is entered correctly!", - "receiveAddressListEmpty": "Receive address list is empty", - "changeAddressListEmpty": "Change address list is empty", - "hintAddressListEmpty": "Check address filter from the top right corner" -} + "karlsenUriInvalid": "Μη έγκυρο ενιαίο αναγνωριστικό πόρων του Κάσπα", + "compoundUtxos": "Σύνθετες συναλλαγές", + "compoundRequired": "Compound required", + "compoundRequiredDescription": "The transaction amount requires too many UTXOs. Compounding will reduce the number of UTXOs.", + "compoundUtxosDescription": "Συνδυάστε πολλαπλές εκροές αδιάθετων συναλλαγών σε μία", + "compoundUtxosConfirmation": "Σύνθετες συναλλαγές?", + "compoundingUtxos": "Γίνεται σύνθεση συναλλαγών", + "compoundingMessage": "Παρακαλούμε περιμένετε...", + "compoundSuccess": "Σύνθεση επιτυχής", + "compoundFailure": "Αποτυχία σύνθεσης συναλλαγών", + "compoundTooFewUtxos": "Απαιτούνται τουλάχιστον δύο εκροές αδιάθετων συναλλαγών", + "balance": "Υπόλοιπο", + "maxSend": "Μέγιστη Αποστολή", + "compoundUppercased": "ΣΥΝΘΕΣΗ", + "closeUppercased": "ΚΛΕΙΣΙΜΟ", + "scanMoreAddresses": "Σάρωση για περισσότερες διευθύνσεις", + "addressDiscovery": "Ανακάλυψη Διεύθυνσης", + "scanningTitle": "Γίνεται Σάρωση", + "scanningDescription": "Γίνεται σάρωση για νέες διευθύνσεις", + "scanMore": "ΣΑΡΩΣΗ ΠΕΡΙΣΣΟΤΕΡΩΝ", + "scanFailedMessage": "Η σάρωση απέτυχε, παρακαλούμε προσπαθήστε ξανά αργότερα", + "indexHeader": "Ευρετήριο", + "currentIndex": "Τρέχων", + "scannedIndex": "Σαρώθηκαν", + "newIndex": "Νέο", + "addressFilterDialogTitle": "Φίλτρο Δισυθύνσεων", + "addressFilterDialogOptionAllAddresses": "Εμφάνιση Όλων των Διευθύνσεων", + "addressFilterDialogOptionNonZeroBalances": "Εμφάνιση Διευθύνσεων Με Υπόλοιπο", + "importOption24WordsTitle": "Εισάγετε τη Μυστική Φράση 24 Λέξεων", + "importOption24WordsDescription": "Συμβατό με πορτοφόλι CLI και Ledger", + "importOption12WordsTitle": "Εισάγετε τη Μυστική Φράση 12 Λέξεων", + "importOption12WordsDescription": "Συμβατό με πορτοφόλι Web και Karlsen Desktop", + "importOptionKpubTitle": "Εισάγετε το πορτοφόλι που είναι μόνο για παρακολούθηση", + "importOptionKpubDescription": "Παρακολουθήστε το υπόλοιπο και τις συναλλαγές ενός πορτοφολιού χρησιμοποιώντας ένα εκτεταμένο δημόσιο κλειδί", + "importKpub": "Εισάγετε το πορτοφόλι που είναι μόνο για παρακολούθηση", + "importKpubHint": "Εισαγάγετε το εκτεταμένο δημόσιο κλειδί σας.", + "importKpubClipboardError": "Το περιεχόμενο του προχείρου δεν είναι έγκυρο εκτεταμένο δημόσιο κλειδί", + "importKpubQrCodeError": "Ο κωδικός QR δεν περιέχει έγκυρο εκτεταμένο δημόσιο κλειδί", + "importKpubInvalidMessage": "Ελέγξτε ότι το εκτεταμένο δημόσιο κλειδί σας έχει εισαχθεί σωστά!", + "receiveAddressListEmpty": "Η λίστα διεύθυνσης λήψης είναι κενή", + "changeAddressListEmpty": "Η λίστα διεύθυνσης αλλαγής είναι κενή", + "hintAddressListEmpty": "Τσεκάρετε το φίλτρο διεύθυνσης από την επάνω δεξιά γωνία", + "invalidSecretPhrase": "Invalid Secret Phrase", + "invalidSecretPhraseDetails": "The Secret Phrase you entered has an invalid checksum.", + "invalidSecretPhraseConfirmation": "I know what I'm doing", + "contactSupport": "Contact Support", + "emailAction": "Email {email}", + "noteLabel": "Note:", + "optionalLabel": "(Optional)", + "moreInfo": "More Info", + "selectAddress": "Select Address", + "kpubTitle": "Extended Public Key", + "kpubAuth": "View Extended Public Key", + "kpubDescription": "The extended public key can be used to import your wallet as a 'watch only' wallet.", + "copyKpub": "Copy Kpub", + "kpubCopied": "Extended Public Key Copied", + "kpubCopyFailed": "Failed to copy Extended Public Key", + "walletAddressesCopied": "Wallet {addressType} Addresses Copied to Clipboard", + "walletAddressesCopyFailed": "Failed to Copy Wallet {addressType} Addresses", + "txReport": "Transaction Report", + "txReportSubtitle": "Get CSV file with transaction history", + "txReportDetails": "Generate a transaction report, in CSV format, that contains all the wallet's transaction history.", + "txReportOptionIgnoreCompound": "Ignore compound transactions", + "txReportOptionIgnoreSelfTxs": "Ignore transactions sent to self", + "txReportOptionRefreshTxs": "Refresh transactions", + "txReportGenerate": "Generate", + "txReportStatusRefreshing": "Refreshing transactions", + "txReportStatusLoading": "Loading transactions", + "txReportStatusReady": "Transaction report is ready!", + "txReportGetReport": "Get Report", + "txReportDate": "Date", + "txReportSentAmount": "Sent Amount", + "txReportSentCurrency": "Sent Currency", + "txReportReceivedAmount": "Received Amount", + "txReportReceivedCurrency": "Received Currency", + "txReportFeeAmount": "Fee Amount", + "txReportFeeCurrency": "Fee Currency", + "txReportLabel": "Label", + "txReportDescription": "Description", + "txReportTxHash": "TxHash", + "txReportNote": "Note", + "txReportLabelCost": "cost", + "txReportFeeForCompound": "Fee for Compound Transaction", + "txReportFeeForSelfSend": "Fee to send to own addresses", + "txReportError": "Error generating report", + "txReportNoTxs": "Found {numberOf} transactions.", + "txReportNoLoadedTxs": "({loadedTxs} of {totalTxs})", + "txFilterDialogTitle": "Transaction Filter", + "txFilterDialogOptionAllTxs": "Show All Transactions", + "txFilterDialogOptionHideNotAcceptedCoinbase": "Hide Not Accepted Coinbase Transactions" +} \ No newline at end of file diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index 4adb11c4..50d11054 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -2,7 +2,7 @@ "@@locale": "en", "account": "Account", "accounts": "Accounts", - "ackBackedUp": "Are you sure you've backed up your secret phrase?", + "ackBackedUp": "Are you sure that you've backed up your secret phrase?", "add": "Add", "addAccount": "Add Account", "addContact": "Add Contact", @@ -16,20 +16,20 @@ } } }, - "addNodeSuccess": "Node added successfully", - "addingNodeMessage": "Please wait while contacting the node", + "addNodeSuccess": "Node Added Successfully", + "addingNodeMessage": "Please wait while contacting node", "addingNodeTitle": "Adding Node", "address": "Address", - "addressCopied": "Address copied", + "addressCopied": "Address Copied", "addressCopiedFailed": "Failed to copy address", - "addressHint": "Enter address", - "addressMissing": "Please enter an address", - "addressShare": "Share address", - "karlsenUriCopied": "Karlsen URI copied", + "addressHint": "Enter Address", + "addressMissing": "Please Enter an Address", + "addressShare": "Share Address", + "karlsenUriCopied": "Karlsen URI Copied", "karlsenUriCopyFailed": "Failed to copy Karlsen URI", "advancedHeader": "Advanced", "amount": "Amount", - "amountConfirm": "Amount: {amount} {coin}", + "amountConfirm": "Amount {amount} {coin}", "@amountConfirm": { "placeholders": { "amount": { @@ -40,16 +40,17 @@ } } }, - "amountMissing": "Please enter an amount", + "amountMissing": "Please Enter an Amount", "amountZero": "Amount can't be zero", "areYouSure": "Are you sure?", - "authBiometricMessage": "Authenticate to add wallet", + "authBiometricMessage": "Authenticate to Add Wallet", "authMethod": "Authentication Method", - "authPinMessage": "Enter PIN to add wallet", + "authPinMessage": "Enter PIN to Add Wallet", "autoLockHeader": "Automatically Lock", "available": "Available", - "backupConfirmButton": "I've backed it up", + "backupConfirmButton": "I've Backed It Up", "backupSecretPhrase": "Backup Secret Phrase", + "missingSecretPhrase": "Missing Secret Phrase", "biometricsMethod": "Biometrics", "blockExplorer": "Block Explorer", "cancel": "Cancel", @@ -80,8 +81,8 @@ } } }, - "confirmed": "Confirmed", - "confirming": "Confirming", + "confirmed": "confirmed", + "confirming": "confirming", "contactAdded": "{contactName} added to contacts", "@contactAdded": { "placeholders": { @@ -98,11 +99,11 @@ } } }, - "contactExists": "Contact already exists", + "contactExists": "Contact Already Exists", "contactHeader": "Contact", - "contactInvalid": "Invalid contact name", - "contactNameHint": "Enter a name", - "contactNameMissing": "Choose a name for this contact", + "contactInvalid": "Invalid Contact Name", + "contactNameHint": "Enter a Name @", + "contactNameMissing": "Choose a Name for this Contact", "contactRemoved": "{contactName} has been removed from contacts!", "@contactRemoved": { "placeholders": { @@ -113,7 +114,7 @@ }, "contactsHeader": "Contacts", "contactsImportErr": "Failed to import contacts", - "contactsImportSuccess": "Successfully imported {noContacts} contacts", + "contactsImportSuccess": "Sucessfully imported {noContacts} contacts", "@contactsImportSuccess": { "placeholders": { "noContacts": { @@ -125,7 +126,7 @@ "copy": "Copy", "copyAddress": "Copy Address", "copyErrorButton": "Copy Error", - "createAPasswordHeader": "Create a password", + "createAPasswordHeader": "Create a password.", "createPasswordFirstParagraph": "You can create a password to add additional security to your wallet.", "createPasswordHint": "Create a password", "createPasswordSecondParagraph": "Password is optional, and your wallet will be protected with your PIN or biometrics regardless.", @@ -147,22 +148,22 @@ "disableWalletPassword": "Disable Wallet Password", "doContinue": "Continue", "donate": "Donate", - "donateTo": "Donate to", + "donateTo": "Donate To", "dontShowAgain": "Don't show again", - "emptyCardIntroUtxos": "This is the UTXOs tab. All UTXOs in your wallet will appear here.", - "emptyResult": "Empty result", - "emptyWalletName": "Wallet name cannot be empty", + "emptyCardIntroUtxos": "This is the UTXOs tab. All UTXOs in your wallet will appear here", + "emptyResult": "Empty Result", + "emptyWalletName": "Wallet Name cannot be empty", "encryptionFailedError": "Failed to set a wallet password", - "enterAddress": "Enter address", - "enterAmount": "Enter amount", - "enterFiatValue": "Enter fiat value", - "enterNote": "Enter note", + "enterAddress": "Enter Address", + "enterAmount": "Enter Amount", + "enterFiatValue": "Enter Fiat Value", + "enterNote": "Enter Note", "enterPasswordHint": "Enter your password", "errorMessageCopied": "Error message copied to clipboard", "exampleCardIntro": "This is the transactions tab. Once you send or receive a transaction, it will show up here.", "export": "Export", "fee": "Fee", - "feeConfirm": "Fee: {amount} {coin}", + "feeConfirm": "Fee {amount} {coin}", "@feeConfirm": { "placeholders": { "amount": { @@ -174,35 +175,35 @@ } }, "feeTitle": "FEE", - "fetchingTransactions": "Fetching transactions", - "fingerprintSeedBackup": "Authenticate to backup secret phrase.", + "fetchingTransactions": "Fetching Transactions", + "fingerprintSeedBackup": "Authenticate to Backup Secret Phrase.", "goBackButton": "Go Back", - "gotItButton": "Got it!", + "gotItButton": "Got It!", "import": "Import", "importSecretPhrase": "Import Secret Phrase", - "importSecretPhraseHint": "Please enter your 24-word secret phrase below.", - "importSecretPhraseHintCombo": "Please enter your 12 or 24-word secret phrase below.", - "importSecretPhraseHintLegacy": "Please enter your 12-word secret phrase below.", + "importSecretPhraseHint": "Please enter your 24 word secret phrase below.", + "importSecretPhraseHintCombo": "Please enter your 12 or 24 word secret phrase below.", + "importSecretPhraseHintLegacy": "Please enter your 12 word secret phrase below.", "importWallet": "Import Wallet", "importWalletDescription": "Please select an option below.", "instantly": "Instantly", - "insufficientBalance": "Insufficient balance", - "insufficientBalanceDetails": "You don't have enough KLS for this transaction.", - "invalidAddress": "Invalid address entered", - "invalidAmount": "Invalid amount", - "invalidChecksumMessage": "Please check that your secret phrase is entered correctly!", + "insufficientBalance": "Insufficient Balance", + "insufficientBalanceDetails": "You don't have enough KLS for this transaction", + "invalidAddress": "Address entered was invalid", + "invalidAmount": "Invalid Amount", + "invalidChecksumMessage": "Please check that your Secret Phrase\n is entered correctly!", "invalidKpubMessage": "Please check that your extended public key is entered correctly!", - "invalidDestinationAddress": "Invalid destination address", - "invalidPassword": "Invalid password", + "invalidDestinationAddress": "Invalid Destination Address", + "invalidPassword": "Invalid Password", "karlsenDevFund": "Karlsen Dev Fund", - "mobileWallet": "Karlsen Mobile Wallet", + "karlsenmobileWallet": "Karlsen Mobile Wallet", "language": "Language", - "loadingTransactions": "Loading transactions...", - "lockAppSetting": "Authenticate on launch", + "loadingTransactions": "Loading Transactions...", + "lockAppSetting": "Authenticate on Launch", "locked": "Locked", "loggingOutMessage": "Logging out...", "logout": "Logout", - "logoutDialogContent": "Are you sure you want to log out from this wallet?", + "logoutDialogContent": "Are you sure you want to logout from this wallet?", "logoutOrSwitchWallet": "Logout / Switch Wallet", "manage": "Manage", "manualEntry": "Manual Entry", @@ -220,17 +221,10 @@ "nodeDeleteMessage": "Are you sure you want to delete?", "nodeDeleteTitle": "Delete Karlsen Node Config?", "nodeNameEmpty": "Node name cannot be empty", - "nodeNameHint": "Enter node name", - "nodeUrlHint": "Enter node URL", + "nodeNameHint": "Enter Node Name", + "nodeUrlHint": "Enter Node URL", "nodeUrlInvalid": "Invalid node URL", "nodesSheetTitle": "Karlsen Nodes", - "@notificationTitle": { - "placeholders": { - "amount": { - "type": "String" - } - } - }, "off": "Off", "on": "On", "paperWallet": "Paper Wallet", @@ -239,14 +233,14 @@ "passwordWillBeRequiredToOpenParagraph": "This password will be required to open this wallet.", "passwordsDontMatch": "Passwords do not match", "pasteMnemonicError": "Clipboard content is not a valid secret phrase", - "pending": "Pending", - "pinConfirmError": "PINs do not match", + "pending": "pending", + "pinConfirmError": "Pins do not match", "pinConfirmTitle": "Confirm your PIN", "pinCreateTitle": "Create a 6-digit PIN", "pinEnterTitle": "Enter PIN", "pinInvalid": "Invalid PIN entered", "pinMethod": "PIN", - "pinSeedBackup": "Enter PIN to backup secret phrase", + "pinSeedBackup": "Enter PIN to Backup Secret Phrase", "preferences": "Preferences", "privacyPolicy": "Privacy Policy", "qrInvalidAddress": "QR code does not contain a valid address", @@ -276,29 +270,31 @@ } }, "removeWalletAction": "Remove Wallet", - "removeWalletBiometricsMessage": "Authenticate to remove wallet", - "removeWalletDetail": "Removing this wallet will remove the secret phrase and all wallet-related data from this device. If the secret phrase is not backed up, you will never be able to access your funds again.", - "removeWalletPinMessage": "Enter PIN to remove wallet", - "removeWalletReassurance": "As long as you've backed up the secret phrase you have nothing to worry about.", + "removeWalletBiometricsMessage": "Authenticate to Remove Wallet", + "removeWalletDetail": "Removing this wallet will remove the Secret Phrase and all wallet-related data from this device. If the Secret Phrase is not backed up, you will never be able to access your funds again.", + "removeWalletPinMessage": "Enter PIN to Remove Wallet", + "removeWalletReassurance": "As long as you've backed up the Secret Phrase you have nothing to worry about.", "requireAPasswordToOpenHeader": "Require a password to open this wallet?", "restartSetupButton": "Restart Setup", "scanQrCode": "Scan QR Code", - "scanQrCodeError": "Failed to parse QR code", - "secretInfo": "On the next screen, you will see your secret phrase. It is a password to access your funds. It is crucial that you back it up and never share it with anyone.", + "scanQrCodeError": "Failed to parse qr code", + "secretInfo": "In the next screen, you will see your secret phrase. It is a password to access your funds. It is crucial that you back it up and never share it with anyone.", "secretInfoHeader": "Safety First!", "secretPhrase": "Secret Phrase", + "secretPhrase12Words": "12 WORDS", + "secretPhrase24Words": "24 WORDS", "secretWarning": "If you lose your device or uninstall the application, you'll need your secret phrase to recover your funds!", "securityHeader": "Security", "seed": "Seed", - "seedInvalid": "Seed is invalid", + "seedInvalid": "Seed is Invalid", "send": "Send", "sendConfirm": "Send", - "sendError": "An error occurred. Please try again.", - "sendNote": "Note", + "sendError": "An error occurred. Please try again", + "sendNote": "NOTE", "sendToAddressTitle": "To", "sendTxProgressDescription": "Please wait while the transaction is sent", "sendTxProgressTitle": "Sending Transaction", - "sending": "Sending", + "sending": "Send", "sent": "Sent", "sentTo": "Sent to", "setPassword": "Set Password", @@ -307,9 +303,9 @@ "settingsHeader": "Settings", "settingsTransfer": "Load from Paper Wallet", "setupFailedMessage": "Something went wrong", - "shareMobile": "Share Karlsen Mobile", - "shareMobileSubject": "Check out Karlsen Mobile Wallet", - "shareMobileText": "Check out Karlsen Mobile - Karlsen Mobile Wallet.\nWebsite - mobile.karlsencoin.com", + "shareKarlsenMobile": "Share Karlsen Mobile", + "shareKarlsenMobileSubject": "Check out Karlsen Mobile Wallet", + "shareKarlsenMobileText": "Check out Karlsen Mobile - Karlsen Mobile Wallet.\nWebsite - mobile.karlsencoin.com", "somethingWentWrong": "Something went wrong", "systemDefault": "System Default", "tapToHide": "Tap to hide", @@ -317,7 +313,7 @@ "themeDark": "Dark Theme", "themeHeader": "Theme", "themeLight": "Light Theme", - "thisWallet": "This Wallet", + "thisWallet": "#This Wallet", "to": "To", "toAddress": "To Address", "tooManyFailedAttempts": "Too many failed unlock attempts.", @@ -326,7 +322,7 @@ "transactionsUppercase": "TRANSACTIONS", "transfer": "Transfer", "transferClose": "Tap anywhere to close the window.", - "transferComplete": "{amount} KLS successfully transferred to your Karlsen Mobile Wallet.", + "transferComplete": "{amount} KLS successfully transferred to your Karlsen Mobile Wallet.\n", "@transferComplete": { "placeholders": { "amount": { @@ -342,7 +338,7 @@ } } }, - "transferConfirmInfoSecond": "Tap confirm to transfer the funds.", + "transferConfirmInfoSecond": "Tap confirm to transfer the funds.\n", "transferConfirmInfoThird": "Transfer may take several seconds to complete.", "transferError": "An error has occurred during the transfer. Please try again later.", "transferHeader": "Transfer Funds", @@ -356,16 +352,16 @@ }, "transferLoading": "Transferring", "transferManualHint": "Please enter the seed below.", - "transferNoFunds": "This seed does not have any KLS on it.", + "transferNoFunds": "This seed does not have any KLS on it", "transferQrScanError": "This QR code does not contain a valid seed.", - "transferQrScanHint": "Scan a Karlsen seed or private key", - "unconfirmed": "Unconfirmed", - "notAccepted": "Not accepted", - "accepted": "Accepted", - "unknown": "Unknown", + "transferQrScanHint": "Scan a Karlsen \nseed or private key", + "unconfirmed": "unconfirmed", + "notAccepted": "not accepted", + "accepted": "accepted", + "unknown": "unknown", "unlock": "Unlock", - "unlockBiometrics": "Authenticate to unlock wallet", - "unlockPin": "Enter PIN to unlock wallet", + "unlockBiometrics": "Authenticate to Unlock Wallet", + "unlockPin": "Enter PIN to Unlock Wallet", "utxosUppercase": "UTXOs", "viewAddress": "View Address", "viewTransaction": "View Transaction", @@ -374,11 +370,11 @@ "walletName": "Wallet name", "walletNameDescription": "Enter a name for your wallet", "walletNameHint": "Wallet Name", - "walletSetupAddressDiscovery": "Running address discovery", + "walletSetupAddressDiscovery": "Running Address Discovery", "walletSetupMessage": "Setting up wallet", "walletsTitle": "Wallets", "warning": "Warning", - "welcomeMessage": "Welcome!\n\nThis is version {version} of Karlsen Mobile - the mobile wallet for Karlsen.", + "welcomeMessage": "Welcome!\n\nThis is version {version} of Karlsen Mobile - the mobile wallet for Karlsen", "@welcomeMessage": { "placeholders": { "version": { @@ -403,7 +399,7 @@ "nodeNoUTXOIndexException": "Node does not have UTXO index", "nodeSecureConnection": "Secure connection", "karlsenUriInvalid": "Invalid Karlsen URI", - "compoundUtxos": "Compound Transactions", + "compoundUtxos": "Compound transactions", "compoundRequired": "Compound required", "compoundRequiredDescription": "The transaction amount requires too many UTXOs. Compounding will reduce the number of UTXOs.", "compoundUtxosDescription": "Combine multiple UTXOs into one", @@ -417,7 +413,7 @@ "maxSend": "Max Send", "compoundUppercased": "COMPOUND", "closeUppercased": "CLOSE", - "scanMoreAddresses": "Scan for More Addresses", + "scanMoreAddresses": "Scan For More Addresses", "addressDiscovery": "Address Discovery", "scanningTitle": "Scanning", "scanningDescription": "Scanning for new addresses...", @@ -430,15 +426,17 @@ "addressFilterDialogTitle": "Address Filter", "addressFilterDialogOptionAllAddresses": "View All Addresses", "addressFilterDialogOptionNonZeroBalances": "View Addresses With Balance", - "importOption24WordsLegacyTitle": "Import 24 Word Secret Phrase", - "importOption24WordsLegacyDescription": "Compatible with Node Wallet up to v1.1.0", "importOption24WordsTitle": "Import 24 Word Secret Phrase", - "importOption24WordsDescription": "Compatible with Node Wallet from v1.2.0", + "importOption24WordsDescription": "Compatible with Cli Wallet and Ledger", "importOption12WordsTitle": "Import 12 Word Secret Phrase", "importOption12WordsDescription": "Compatible with Web Wallet and Karlsen Desktop", - "importOptionKpubTitle": "Import Watch-Only Wallet", + "importOptionStandardWalletTitle": "Import Standard Wallet", + "importOptionStandardWalletDescription": "Standard derivation 12 or 24 word wallets with optional BIP39 passphrase", + "importOptionLegacyWalletTitle": "Import Legacy Wallet", + "importOptionLegacyWalletDescription": "Legacy derivation 12 word wallets compatible with legacy Web Wallet and Karlsen Desktop", + "importOptionKpubTitle": "Import Watch Only Wallet", "importOptionKpubDescription": "Monitor the balance and transactions of a wallet using an extended public key", - "importKpub": "Import Watch-Only Wallet", + "importKpub": "Import Watch Only Wallet", "importKpubHint": "Please enter your extended public key.", "importKpubClipboardError": "Clipboard content is not a valid extended public key", "importKpubQrCodeError": "QR code does not contain a valid extended public key", @@ -447,7 +445,7 @@ "changeAddressListEmpty": "Change address list is empty", "hintAddressListEmpty": "Check address filter from the top right corner", "invalidSecretPhrase": "Invalid Secret Phrase", - "invalidSecretPhraseDetails": "The secret phrase you entered has an invalid checksum.", + "invalidSecretPhraseDetails": "The Secret Phrase you entered has an invalid checksum.", "invalidSecretPhraseConfirmation": "I know what I'm doing", "contactSupport": "Contact Support", "emailAction": "Email {email}", @@ -460,14 +458,15 @@ }, "noteLabel": "Note:", "optionalLabel": "(Optional)", + "moreInfo": "More Info", "selectAddress": "Select Address", "kpubTitle": "Extended Public Key", "kpubAuth": "View Extended Public Key", - "kpubDescription": "The extended public key can be used to import your wallet as a 'watch-only' wallet.", + "kpubDescription": "The extended public key can be used to import your wallet as a 'watch only' wallet.", "copyKpub": "Copy Kpub", - "kpubCopied": "Extended public key copied", - "kpubCopyFailed": "Failed to copy extended public key", - "walletAddressesCopied": "Wallet {addressType} addresses copied to clipboard", + "kpubCopied": "Extended Public Key Copied", + "kpubCopyFailed": "Failed to copy Extended Public Key", + "walletAddressesCopied": "Wallet {addressType} Addresses Copied to Clipboard", "@walletAddressesCopied": { "placeholders": { "addressType": { @@ -475,7 +474,7 @@ } } }, - "walletAddressesCopyFailed": "Failed to copy wallet {addressType} addresses", + "walletAddressesCopyFailed": "Failed to Copy Wallet {addressType} Addresses", "@walletAddressesCopyFailed": { "placeholders": { "addressType": { @@ -484,7 +483,7 @@ } }, "txReport": "Transaction Report", - "txReportSubtitle": "Get a CSV file with transaction history", + "txReportSubtitle": "Get CSV file with transaction history", "txReportDetails": "Generate a transaction report, in CSV format, that contains all the wallet's transaction history.", "txReportOptionIgnoreCompound": "Ignore compound transactions", "txReportOptionIgnoreSelfTxs": "Ignore transactions sent to self", @@ -505,8 +504,8 @@ "txReportDescription": "Description", "txReportTxHash": "TxHash", "txReportNote": "Note", - "txReportLabelCost": "Cost", - "txReportFeeForCompound": "Fee for compound transaction", + "txReportLabelCost": "cost", + "txReportFeeForCompound": "Fee for Compound Transaction", "txReportFeeForSelfSend": "Fee to send to own addresses", "txReportError": "Error generating report", "txReportNoTxs": "Found {numberOf} transactions.", @@ -529,6 +528,48 @@ } }, "txFilterDialogTitle": "Transaction Filter", - "txFilterDialogOptionAllTxs": "Show all transactions", - "txFilterDialogOptionHideNotAcceptedCoinbase": "Hide not accepted Coinbase transactions" -} + "txFilterDialogOptionAllTxs": "Show All Transactions", + "txFilterDialogOptionHideNotAcceptedCoinbase": "Hide Not Accepted Coinbase Transactions", + "requestPasswordHeader": "Request Password", + "requestPasswordAtLaunch": "At Launch", + "requestPasswordWhenLocked": "When Locked", + "requestPasswordWhenSigning": "When Signing", + "importWalletAdvancedOptions": "Advanced Options", + "bip39Passphrase": "BIP39 Passphrase", + "bip39PassphraseWarning": "NOTE: This is not a wallet password, different BIP39 passphrases will open different wallets.", + "bip39PassphraseEnter": "Enter Passphrase", + "bip39PassphraseConfirm": "Confirm Passphrase", + "bip39PassphraseMismatch": "Passphrases do not match!", + "bip39PassphraseNote": "Wallet with BIP39 passphrase.", + "feePriorityHint": "Enter Priority Fee", + "feeTitle": "Manage Fee", + "feeBaseUppercase": "BASE FEE", + "feePriorityUppsercase": "PRIORITY FEE", + "feeUpdateAddressError": "Failed to recognise destination address", + "feeUpdateRebuildError": "Failed to rebuild transaction", + "feeUpdateRebuildError2": "Failed to rebuild transaction with new fee", + "feeUpdateError": "Failed to update fee", + "feeUpdate": "Update Fee", + "feeUpdateTitle": "Updating fee", + "feeSheetRecommendedPriority": "Recommended Priority Fees", + "feeSheetPriorityFeeWarning": "New priority fee must be at least {amount} {symbol}", + "@feeSheetPriorityFeeWarning": { + "placeholders": { + "amount": { + "type": "String" + }, + "symbol": { + "type": "String" + } + } + }, + "txPending": "PENDING", + "txPendingMessage": "This transaction is pending", + "txPendingTitle": "Pending Transaction", + "txPendingContent": "There is a pending transactions in the mempool.", + "txPendingActionUpdateFee": "Update Tx Fee", + "txPendingActionRbf": "Replace By Fee", + "txInMempool": "in mempool", + "utxoSelectionTitle": "Select UTXOs", + "utxoSelectionHint": "Please select more UTXOs" +} \ No newline at end of file diff --git a/lib/l10n/app_es.arb b/lib/l10n/app_es.arb index c5e35fcd..bcd691db 100644 --- a/lib/l10n/app_es.arb +++ b/lib/l10n/app_es.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2023-10-08T18:51:30.958Z", + "@@last_modified": "2024-04-18T20:07:44.355Z", "@@author": "arb-converter-cli", "account": "Cuenta", "accounts": "Cuentas", @@ -19,6 +19,8 @@ "addressHint": "Introducir dirección", "addressMissing": "Por favor, introduzca una dirección", "addressShare": "Compartir Dirección", + "karlsenUriCopied": "URI de Karlsen copiado", + "karlsenUriCopyFailed": "Fallo al copiar el URI de Karlsen", "advancedHeader": "Avanzado", "amount": "Cantidad", "amountConfirm": "Cantidad {amount} {coin}", @@ -78,6 +80,7 @@ "disableWalletPassword": "Desactivar la contraseña de la billetera", "doContinue": "Continuar", "donate": "Donar", + "donateTo": "Donar a", "dontShowAgain": "No mostrar de nuevo", "emptyCardIntroUtxos": "Esta es la pestaña de UTXOs. Todos los UTXO en su billetera aparecerán aquí.", "emptyResult": "Resultado vacío", @@ -85,6 +88,7 @@ "encryptionFailedError": "No se pudo establecer una contraseña para la billetera", "enterAddress": "Ingresar billetera", "enterAmount": "Ingresar cantidad", + "enterFiatValue": "Introducir el Valor Fiat", "enterNote": "Ingresar nota", "enterPasswordHint": "Ingrese su contraseña", "errorMessageCopied": "Mensaje de error copiado al portapapeles", @@ -114,7 +118,7 @@ "invalidDestinationAddress": "Dirección de destino no válida.", "invalidPassword": "Contraseña inválida", "karlsenDevFund": "Fondo de desarrollo Karlsen", - "mobileWallet": "Billetera Karlsen Mobile", + "karlsenmobileWallet": "Billetera Karlsen Mobile", "language": "Idioma", "loadingTransactions": "Cargando transacciones...", "lockAppSetting": "Autenticarse al iniciar", @@ -204,9 +208,9 @@ "settingsHeader": "Configuración", "settingsTransfer": "Cargar desde billetera de papel", "setupFailedMessage": "Algo salió mal", - "shareMobile": "Compartir Karlsen Mobile", - "shareMobileSubject": "Prueba Karlsen Mobile Wallet", - "shareMobileText": "Descubre Karlsen Mobile - Karlsen Mobile Wallet. \nSitio web - mobile.karlsencoin.com", + "shareKarlsenMobile": "Compartir Karlsen Mobile", + "shareKarlsenMobileSubject": "Prueba Karlsen Mobile Wallet", + "shareKarlsenMobileText": "Descubre Karlsen Mobile - Karlsen Mobile Wallet. \nSitio web - mobile.karlsencoin.com", "somethingWentWrong": "Algo salió mal", "systemDefault": "Ajustes por defecto del sistema", "tapToHide": "Toque para ocultar", @@ -246,6 +250,7 @@ "viewAddress": "Ver dirección", "viewTransaction": "Ver transacción", "walletAddresses": "Direcciones de la billetera", + "walletAddress": "Dirección de la billetera", "walletName": "Nombre de la billetera", "walletNameDescription": "Introduzca un nombre para tu billetera", "walletNameHint": "Nombre de la billetera", @@ -264,6 +269,8 @@ "nodeSecureConnection": "Conexión segura", "karlsenUriInvalid": "Dirección URI Karlsen no válida", "compoundUtxos": "Agrupar transacciones", + "compoundRequired": "Compuesta requerida", + "compoundRequiredDescription": "La cantidad de transacción requiere demasiados UTXOs. Componer reducirá el número de UTXOs.", "compoundUtxosDescription": "Combinar múltiples UTXOs en una", "compoundUtxosConfirmation": "¿Combinar transacciones?", "compoundingUtxos": "Combinando transacciones", @@ -288,10 +295,8 @@ "addressFilterDialogTitle": "Filtro de direcciones", "addressFilterDialogOptionAllAddresses": "Ver Todas las Direcciones", "addressFilterDialogOptionNonZeroBalances": "Ver Todas las Direcciones con Balance", - "importOption24WordsLegacyTitle": "Importar Frase Secreta de 24 Palabras", - "importOption24WordsLegacyDescription": "Compatible con Node Wallet hasta v1.1.0", "importOption24WordsTitle": "Importar Frase Secreta de 24 Palabras", - "importOption24WordsDescription": "Compatible con Node Wallet desde v1.2.0", + "importOption24WordsDescription": "Compatible con Cli Wallet y Ledger", "importOption12WordsTitle": "Importar Frase Secreta de 12 Palabras", "importOption12WordsDescription": "Compatible con Web Wallet y Karlsen Desktop", "importOptionKpubTitle": "Importar Billetera de Solo Lectura", @@ -303,5 +308,53 @@ "importKpubInvalidMessage": "¡Por favor compruebe que su clave pública extendida se ha introducido correctamente!", "receiveAddressListEmpty": "La lista de direcciones de recepción está vacía", "changeAddressListEmpty": "La lista de direcciones de cambio está vacía", - "hintAddressListEmpty": "Compruebe el filtro de direcciones en la esquina superior derecha" -} + "hintAddressListEmpty": "Compruebe el filtro de direcciones en la esquina superior derecha", + "invalidSecretPhrase": "Frase secreta inválida", + "invalidSecretPhraseDetails": "La frase secreta que has introducido tiene un checksum inválido", + "invalidSecretPhraseConfirmation": "Sé lo que estoy haciendo", + "contactSupport": "Contactar a Soporte", + "emailAction": "Email {email}", + "noteLabel": "Nota:", + "optionalLabel": "(Opcional)", + "moreInfo": "Más Información", + "selectAddress": "Elegir Billetera", + "kpubTitle": "Clave Pública Extendida", + "kpubAuth": "Ver la Clave Pública Extendida", + "kpubDescription": "La clave pública extendida puede utilizarse para importar tu billetera en modo \"sólo visualizar\"", + "copyKpub": "Copiar Kpub", + "kpubCopied": "Clave Pública Extendida Copiada", + "kpubCopyFailed": "Fallo al copiar la Clave Pública Extendida", + "walletAddressesCopied": "Direcciones de Billetera {addressType} Copiadas al Portapapeles", + "walletAddressesCopyFailed": "Fallo al copiar las Direcciones de Billetera {addressType}", + "txReport": "Informe de Transacción", + "txReportSubtitle": "Guardar fichero CSV con el historial de transacciones", + "txReportDetails": "Generar un informe de transacción, en formato CSV, que contiene todo el historial de transacciones de la billetera.", + "txReportOptionIgnoreCompound": "Ignorar transacciones compuestas", + "txReportOptionIgnoreSelfTxs": "Ignorar transacciones enviadas a mi mismo", + "txReportOptionRefreshTxs": "Actualizar transacciones", + "txReportGenerate": "Generar", + "txReportStatusRefreshing": "Actualizando transacciones", + "txReportStatusLoading": "Cargando transacciones", + "txReportStatusReady": " ¡Informe de transacción listo!", + "txReportGetReport": "Guardar Informe", + "txReportDate": "Fecha", + "txReportSentAmount": "Cantidad Enviada", + "txReportSentCurrency": "Moneda Enviada", + "txReportReceivedAmount": "Cantidad Recibida", + "txReportReceivedCurrency": "Moneda Recibida", + "txReportFeeAmount": "Cantidad de Comisión", + "txReportFeeCurrency": "Moneda de Comisión", + "txReportLabel": "Etiqueta", + "txReportDescription": "Descripción", + "txReportTxHash": "TxHash", + "txReportNote": "Nota", + "txReportLabelCost": "coste", + "txReportFeeForCompound": "Comisión por Transacción Compuesta", + "txReportFeeForSelfSend": "Comisión por envío a direcciones propias", + "txReportError": "Error generando en informe", + "txReportNoTxs": "Encontradas {numberOf} transacciones.", + "txReportNoLoadedTxs": "({loadedTxs} de {totalTxs})", + "txFilterDialogTitle": "Filtro de Transacción", + "txFilterDialogOptionAllTxs": "Mostrar Todas las Transacciones", + "txFilterDialogOptionHideNotAcceptedCoinbase": "Ocultar Transacciones Coinbase no aceptadas" +} \ No newline at end of file diff --git a/lib/l10n/app_eu.arb b/lib/l10n/app_eu.arb index 4534a55e..12c51b42 100644 --- a/lib/l10n/app_eu.arb +++ b/lib/l10n/app_eu.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2023-11-10T10:15:24.600Z", + "@@last_modified": "2024-11-1T11:12:41.441Z", "@@author": "arb-converter-cli", "account": "Kontua", "accounts": "Kontuak", @@ -19,6 +19,8 @@ "addressHint": "Sartu helbidea", "addressMissing": "Mesedez, sartu helbide bat", "addressShare": "Partekatu helbidea", + "karlsenUriCopied": "Karlsen URI Copied", + "karlsenUriCopyFailed": "Failed to copy Karlsen URI", "advancedHeader": "Aurreratua", "amount": "Kopurua", "amountConfirm": "Kopurua {amount} {coin}", @@ -78,6 +80,7 @@ "disableWalletPassword": "Ezinduta utzi karteraren pasahitza", "doContinue": "Jarraitu", "donate": "Dohanik eman", + "donateTo": "Donate To", "dontShowAgain": "Berriro ez erakutsi", "emptyCardIntroUtxos": "Hau da UTXOren fitxa. Zure karterako UTXO guztiak hemen agertuko dira", "emptyResult": "Emaitza hutsa", @@ -85,6 +88,7 @@ "encryptionFailedError": "Ezin izan da karteraren pasahitza ezarri", "enterAddress": "Helbidea jarri", "enterAmount": "Zenbatekoa sartu", + "enterFiatValue": "Enter Fiat Value", "enterNote": "Sartu oharra", "enterPasswordHint": "Sartu zure pasahitza", "errorMessageCopied": "Akats mezua paperzorroan kopiatu egin da", @@ -114,7 +118,7 @@ "invalidDestinationAddress": "Helmuga-helbide okerra", "invalidPassword": "Pasahitza okerra", "karlsenDevFund": "Karlsen Dev fondoa", - "mobileWallet": "Karlsen Mobile Kartera", + "karlsenmobileWallet": "Karlsen Mobile Kartera", "language": "Hezkuntza", "loadingTransactions": "Transakzioak kargatzen", "lockAppSetting": "Hasieran autentifikatu", @@ -197,16 +201,16 @@ "sendTxProgressTitle": "Transakzioa bidaltzen", "sending": "Bidali", "sent": "Bidalita", - "sentTo": "Badaltzeko helbidea", + "sentTo": "Sent to", "setPassword": "Ezarri Pasahitza", "setPasswordSuccess": "Karteraren pasahitza ezarri da", "setWalletPassword": "Ezarri kartearen pasahitza", "settingsHeader": "Ezarpenak", "settingsTransfer": "Kargatu Paper-karteratik", "setupFailedMessage": "Zerbait gaizki joan da", - "shareMobile": "Partekatu Karlsen Mobile", - "shareMobileSubject": "Ikusi Karlsen Mobile Kartera", - "shareMobileText": "Ikusi Karlsen Mobile - Karlsen mugikorren Kartera. \nWebgunea - mobile.karlsencoin.com", + "shareKarlsenMobile": "Partekatu Karlsen Mobile", + "shareKarlsenMobileSubject": "Ikusi Karlsen Mobile Kartera", + "shareKarlsenMobileText": "Ikusi Karlsen Mobile - Karlsen mugikorren Kartera. \nWebgunea - mobile.karlsencoin.com", "somethingWentWrong": "Zerbait gaizki joan da", "systemDefault": "Sistema lehenetsia", "tapToHide": "Sakatu ezkutatzeko", @@ -246,6 +250,7 @@ "viewAddress": "Helbidea Ikusi", "viewTransaction": "Transakzioa Ikusi", "walletAddresses": "Karteraren Helbideak", + "walletAddress": "Wallet Address", "walletName": "Helbidearen izena", "walletNameDescription": "Sartu izen bat zure helbidearentzat", "walletNameHint": "Helbidearen Izena", @@ -264,6 +269,8 @@ "nodeSecureConnection": "Secure connection", "karlsenUriInvalid": "Karlsen URI baliogabea", "compoundUtxos": "Transakzio konposatuak", + "compoundRequired": "Compound required", + "compoundRequiredDescription": "The transaction amount requires too many UTXOs. Compounding will reduce the number of UTXOs.", "compoundUtxosDescription": "Konbinatu hainbat UTXO bakarrean", "compoundUtxosConfirmation": "Transakzio konposatu?", "compoundingUtxos": "Konposaketa-eragiketak", @@ -288,10 +295,8 @@ "addressFilterDialogTitle": "Helbide-iragazkia", "addressFilterDialogOptionAllAddresses": "Ikusi helbide guztiak", "addressFilterDialogOptionNonZeroBalances": "Ikusi helbideak saldoarekin", - "importOption24WordsLegacyTitle": "Inportatu 24 hitz esaldi sekretua", - "importOption24WordsLegacyDescription": "Node Wallet-ekin bateragarria da v1.1.0", "importOption24WordsTitle": "Inportatu 24 hitz esaldi sekretua", - "importOption24WordsDescription": "Node Wallet-ekin bateragarria da v1.2.0", + "importOption24WordsDescription": "Cli Wallet eta Ledger-ekin bateragarria", "importOption12WordsTitle": "Inportatu 12 hitz esaldi sekretua", "importOption12WordsDescription": "Web Wallet eta Karlsen Desktop-rekin bateragarria", "importOptionKpubTitle": "Inportatu zorroa ikusteko moduan bakarrik", @@ -303,5 +308,53 @@ "importKpubInvalidMessage": "Mesedez, egiaztatu zure gako publiko hedatua behar bezala sartu dela!", "receiveAddressListEmpty": "Jasotzeko helbide-zerrenda hutsik dago", "changeAddressListEmpty": "Aldatu helbideen zerrenda hutsik dago", - "hintAddressListEmpty": "Egiaztatu helbide-iragazkia goiko eskuineko izkinan" -} + "hintAddressListEmpty": "Egiaztatu helbide-iragazkia goiko eskuineko izkinan", + "invalidSecretPhrase": "Invalid Secret Phrase", + "invalidSecretPhraseDetails": "The Secret Phrase you entered has an invalid checksum.", + "invalidSecretPhraseConfirmation": "I know what I'm doing", + "contactSupport": "Contact Support", + "emailAction": "Email {email}", + "noteLabel": "Note:", + "optionalLabel": "(Optional)", + "moreInfo": "More Info", + "selectAddress": "Select Address", + "kpubTitle": "Extended Public Key", + "kpubAuth": "View Extended Public Key", + "kpubDescription": "The extended public key can be used to import your wallet as a 'watch only' wallet.", + "copyKpub": "Copy Kpub", + "kpubCopied": "Extended Public Key Copied", + "kpubCopyFailed": "Failed to copy Extended Public Key", + "walletAddressesCopied": "Wallet {addressType} Addresses Copied to Clipboard", + "walletAddressesCopyFailed": "Failed to Copy Wallet {addressType} Addresses", + "txReport": "Transaction Report", + "txReportSubtitle": "Get CSV file with transaction history", + "txReportDetails": "Generate a transaction report, in CSV format, that contains all the wallet's transaction history.", + "txReportOptionIgnoreCompound": "Ignore compound transactions", + "txReportOptionIgnoreSelfTxs": "Ignore transactions sent to self", + "txReportOptionRefreshTxs": "Refresh transactions", + "txReportGenerate": "Generate", + "txReportStatusRefreshing": "Refreshing transactions", + "txReportStatusLoading": "Loading transactions", + "txReportStatusReady": "Transaction report is ready!", + "txReportGetReport": "Get Report", + "txReportDate": "Date", + "txReportSentAmount": "Sent Amount", + "txReportSentCurrency": "Sent Currency", + "txReportReceivedAmount": "Received Amount", + "txReportReceivedCurrency": "Received Currency", + "txReportFeeAmount": "Fee Amount", + "txReportFeeCurrency": "Fee Currency", + "txReportLabel": "Label", + "txReportDescription": "Description", + "txReportTxHash": "TxHash", + "txReportNote": "Note", + "txReportLabelCost": "cost", + "txReportFeeForCompound": "Fee for Compound Transaction", + "txReportFeeForSelfSend": "Fee to send to own addresses", + "txReportError": "Error generating report", + "txReportNoTxs": "Found {numberOf} transactions.", + "txReportNoLoadedTxs": "({loadedTxs} of {totalTxs})", + "txFilterDialogTitle": "Transaction Filter", + "txFilterDialogOptionAllTxs": "Show All Transactions", + "txFilterDialogOptionHideNotAcceptedCoinbase": "Hide Not Accepted Coinbase Transactions" +} \ No newline at end of file diff --git a/lib/l10n/app_fa.arb b/lib/l10n/app_fa.arb index 829fb60b..b295a938 100644 --- a/lib/l10n/app_fa.arb +++ b/lib/l10n/app_fa.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2023-09-25T17:48:36.587Z", + "@@last_modified": "2024-04-18T20:07:44.355Z", "@@author": "arb-converter-cli", "account": "حساب کاربری", "accounts": "حساب ها", @@ -19,6 +19,8 @@ "addressHint": "آدرس را وارد کنید", "addressMissing": "لطفا یک آدرس را وارد کنید", "addressShare": "به اشتراک گذاری آدرس", + "karlsenUriCopied": "Karlsen URI کپی شد", + "karlsenUriCopyFailed": "Karlsen URI کپی نشد", "advancedHeader": "پیشرفته", "amount": "مقدار", "amountConfirm": "مقدار {amount} {coin}", @@ -78,6 +80,7 @@ "disableWalletPassword": "غیرفعال کردن کلمه عبور کیف پول", "doContinue": "ادامه", "donate": "اهدا", + "donateTo": "اهدا به", "dontShowAgain": "دیگر نشان نده", "emptyCardIntroUtxos": "این برگه UTXO ها است. همه UTXO های کیف پول شما در اینجا ظاهر می شوند", "emptyResult": "بدون نتیجه", @@ -85,6 +88,7 @@ "encryptionFailedError": "رمز عبور کیف پول تنظیم نشد", "enterAddress": "آدرس را وارد کنید", "enterAmount": "مقدار را وارد کنید", + "enterFiatValue": "مقدار فیات را وارد کنید", "enterNote": "یادداشت را وارد کنید", "enterPasswordHint": "کلمه عبور خود را وارد کنید", "errorMessageCopied": "پیام خطا در کلیپ بورد کپی شد", @@ -114,7 +118,7 @@ "invalidDestinationAddress": "آدرس مقصد نامعتبر", "invalidPassword": "کلمه عبور نامعتبر", "karlsenDevFund": "صندوق توسعه دهندگان Karlsen", - "mobileWallet": "کیف پول Karlsen Mobile", + "karlsenmobileWallet": "کیف پول Karlsen Mobile", "language": "زبان", "loadingTransactions": "در حال بارگیری تراکنش ها...", "lockAppSetting": "هویت سنجی در موقع راه اندازی", @@ -204,9 +208,9 @@ "settingsHeader": "تنظیمات", "settingsTransfer": "بارگزاری از کیف پول کاغذی", "setupFailedMessage": "خطایی پیش آمد", - "shareMobile": "اشتراک گذاری Karlsen Mobile", - "shareMobileSubject": "بررسی کیف پول Karlsen Mobile", - "shareMobileText": "بررسی Karlsen Mobile - کیف پول موبایلی Karlsen\nوبسایت - mobile.karlsencoin.com", + "shareKarlsenMobile": "اشتراک گذاری Karlsen Mobile", + "shareKarlsenMobileSubject": "بررسی کیف پول Karlsen Mobile", + "shareKarlsenMobileText": "بررسی Karlsen Mobile - کیف پول موبایلی Karlsen\nوبسایت - mobile.karlsencoin.com", "somethingWentWrong": "خطایی پیش آمد", "systemDefault": "پیش فرض سیستم", "tapToHide": "برای پنهان کردن، لمس کنید", @@ -246,6 +250,7 @@ "viewAddress": "نمایش آدرس", "viewTransaction": "نمایش تراکنش", "walletAddresses": "آدرس های کیف پول", + "walletAddress": "آدرس کیف پول", "walletName": "نام کیف پول", "walletNameDescription": "یک نام برای کیف پول خود انتخاب کنید", "walletNameHint": "نام کیف پول", @@ -264,6 +269,8 @@ "nodeSecureConnection": "ارتباط امن", "karlsenUriInvalid": " Karlsen URI یا شناسه منبع یکپارچه Karlsen نامعتبر است", "compoundUtxos": "ترکیب تراکنش ها", + "compoundRequired": "ترکیب مورد نیاز", + "compoundRequiredDescription": "مبلغ تراکنش به تعداد زیادی UTXO نیاز دارد. ترکیب کردن، تعداد UTXO ها را کاهش می دهد.", "compoundUtxosDescription": "چندین UTXO را یکی و ترکیب کن", "compoundUtxosConfirmation": "تراکنش ها ترکیب شوند؟", "compoundingUtxos": "ترکیب تراکنش ها", @@ -288,10 +295,8 @@ "addressFilterDialogTitle": "فیلتر آدرس", "addressFilterDialogOptionAllAddresses": "مشاهده همه آدرس ها", "addressFilterDialogOptionNonZeroBalances": "مشاهده آدرس ها با موجودی", - "importOption24WordsLegacyTitle": "ﻭﺍﺭﺩ ﮎﺭﺪﻧ ﻊﺑﺍﺮﺗ ﻢﺨﻔﯾ 24 ﮏﻠﻤﻫ ﺎﯾ ", - "importOption24WordsLegacyDescription": "سازگار با کیف پول نود تا نسخه 1.1.0", "importOption24WordsTitle": "وارد کردن عبارت مخفی 24 کلمه ای ", - "importOption24WordsDescription": "سازگار با کیف پول گره از نسخه 1.2.0", + "importOption24WordsDescription": "سازگار با کیف پول Cli و Ledger", "importOption12WordsTitle": "وارد کردن عبارت مخفی 12 کلمه ای", "importOption12WordsDescription": "سازگار با کیف پول Karlsen Desktop و Web Wallet", "importOptionKpubTitle": "وارد کردن کیف پول Watch Only", @@ -303,5 +308,53 @@ "importKpubInvalidMessage": "لطفاً بررسی کنید که کلید عمومی توسعه یافته شما به درستی وارد شده باشد!", "receiveAddressListEmpty": "لیست آدرس دریافت خالی است", "changeAddressListEmpty": "لیست تغییر آدرس خالی است", - "hintAddressListEmpty": "فیلتر آدرس را از گوشه بالا سمت راست بررسی کنید" -} + "hintAddressListEmpty": "فیلتر آدرس را از گوشه بالا سمت راست بررسی کنید", + "invalidSecretPhrase": "عبارت مخفی نامعتبر است", + "invalidSecretPhraseDetails": "عبارت مخفی که وارد کردید دارای یک جمع کنترل نامعتبر است.", + "invalidSecretPhraseConfirmation": "من به کاری که میکنم، واقف هستم ", + "contactSupport": "تماس با پشتیبانی", + "emailAction": "ایمیل {email}", + "noteLabel": "یادداشت:", + "optionalLabel": "(اختیاری)", + "moreInfo": "اطلاعات بیشتر", + "selectAddress": "انتخاب آدرس", + "kpubTitle": "کلید عمومی توسعه یافته", + "kpubAuth": "نمایش کلید عمومی توسعه یافته", + "kpubDescription": "کلید عمومی توسعه یافته می تواند برای وارد کردن کیف پول شما به عنوان کیف پول «صرفا رویت» استفاده شود.", + "copyKpub": "کپی Kpub", + "kpubCopied": "کلید عمومی توسعه یافته کپی شد", + "kpubCopyFailed": "کلید عمومی توسعه یافته کپی نشد", + "walletAddressesCopied": "آدرس های کیف پول {addressType} در کلیپ بورد کپی شد", + "walletAddressesCopyFailed": "آدرس های کیف پول {addressType} در کلیپ بورد کپی نشد", + "txReport": "گزارش معامله", + "txReportSubtitle": "دریافت فایل CSV با سابقه تراکنش ها", + "txReportDetails": "یک گزارش تراکنش در قالب CSV ایجاد کنید که شامل تمام تاریخچه تراکنش های کیف پول است.", + "txReportOptionIgnoreCompound": "تراکنش های مرکب را نادیده بگیرید", + "txReportOptionIgnoreSelfTxs": "تراکنش های ارسال شده به خود را نادیده بگیرید", + "txReportOptionRefreshTxs": "تازه سازی تراکنش ها", + "txReportGenerate": "ایجاد", + "txReportStatusRefreshing": "در حال تازه سازی تراکنش ها", + "txReportStatusLoading": "در حال بارگزاری تراکنش ها", + "txReportStatusReady": "گزارش معامله آماده است!", + "txReportGetReport": "گزارش گیری", + "txReportDate": "تاریخ", + "txReportSentAmount": "مقدار ارسالی", + "txReportSentCurrency": "ارز ارسالی", + "txReportReceivedAmount": "مقدار دریافتی", + "txReportReceivedCurrency": "ارز دریافتی", + "txReportFeeAmount": "مبلغ کارمزد", + "txReportFeeCurrency": "ارز کارمزد", + "txReportLabel": "برچسب", + "txReportDescription": "توضیحات", + "txReportTxHash": "هش تراکنش", + "txReportNote": "یادداشت", + "txReportLabelCost": "هزینه", + "txReportFeeForCompound": "کارمزد تراکنش مرکب", + "txReportFeeForSelfSend": "هزینه ارسال به آدرس های خود", + "txReportError": "خطا در ایجاد گزارش", + "txReportNoTxs": "{numberOf} تراکنش پیدا شد.", + "txReportNoLoadedTxs": "({loadedTxs} از {totalTxs})", + "txFilterDialogTitle": "فیلتر تراکنش", + "txFilterDialogOptionAllTxs": "نمایش تمامی تراکنش ها", + "txFilterDialogOptionHideNotAcceptedCoinbase": "پنهان کردن تراکنش های پذیرفته نشده Coinbase" +} \ No newline at end of file diff --git a/lib/l10n/app_fi.arb b/lib/l10n/app_fi.arb index 36927f23..a29bcf7f 100644 --- a/lib/l10n/app_fi.arb +++ b/lib/l10n/app_fi.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2023-09-25T17:48:36.587Z", + "@@last_modified": "2024-11-1T11:12:41.441Z", "@@author": "arb-converter-cli", "account": "Tili", "accounts": "Tilit", @@ -19,6 +19,8 @@ "addressHint": "Syötä osoite", "addressMissing": "Syötä osoite", "addressShare": "Jaa osoite", + "karlsenUriCopied": "Karlsen URI Copied", + "karlsenUriCopyFailed": "Failed to copy Karlsen URI", "advancedHeader": "Edistynyt", "amount": "Määrä", "amountConfirm": "Määrä {amount} {coin}", @@ -78,6 +80,7 @@ "disableWalletPassword": "Kytke pois lompakon salasana", "doContinue": "Jatka", "donate": "Lahjoita", + "donateTo": "Donate To", "dontShowAgain": "Älä näytä uudelleen", "emptyCardIntroUtxos": "Tämä on UTXO-välilehti. Kaikki lompakkosi UTXO:t näkyvät täällä", "emptyResult": "Tyhjä tulos", @@ -85,6 +88,7 @@ "encryptionFailedError": "Lompakon salasanan asetus epäonnistui", "enterAddress": "Syötä osoite", "enterAmount": "Syötä määrä", + "enterFiatValue": "Enter Fiat Value", "enterNote": "Syötä viesti", "enterPasswordHint": "Syötä salasana", "errorMessageCopied": "Virheviesti kopioitu leikepöydälle", @@ -114,7 +118,7 @@ "invalidDestinationAddress": "Vastaanottajan osoite on virheellinen", "invalidPassword": "Virheellinen salasana", "karlsenDevFund": "Karlsenn kehitysvarat", - "mobileWallet": "Karlsen Mobile Lompakko", + "karlsenmobileWallet": "Karlsen Mobile-lompakko", "language": "Kieli", "loadingTransactions": "Ladataan tapahtumia...", "lockAppSetting": "Tunnistaudu käynnistettäessä", @@ -197,16 +201,16 @@ "sendTxProgressTitle": "Lähetetään tapahtumaa", "sending": "Lähetä", "sent": "Lähetetty", - "sentTo": "Lähetä vastaanottajalle", + "sentTo": "Sent to", "setPassword": "Aseta salasana", "setPasswordSuccess": "Lompakon salasana asetettu", "setWalletPassword": "Aseta lompakon salasana", "settingsHeader": "Asetukset", "settingsTransfer": "Lataa paperilompakosta", "setupFailedMessage": "Jokin meni pieleen", - "shareMobile": "Jaa Karlsen Mobile", - "shareMobileSubject": "Käy tutustumassa Karlsen Mobile-lompakkoon", - "shareMobileText": "Käy tutustumassa Karlsen Mobile — Karlsen-mobiililompakko.\nVerkkosivusto — mobile.karlsencoin.com", + "shareKarlsenMobile": "Jaa Karlsen Mobile", + "shareKarlsenMobileSubject": "Käy tutustumassa Karlsen Mobile-lompakkoon", + "shareKarlsenMobileText": "Käy tutustumassa KarlsenMobileiin — Karlsen-mobiililompakko.\nVerkkosivusto — mobile.karlsencoin.com", "somethingWentWrong": "Jokin meni pieleen", "systemDefault": "Järjestelmän oletusarvo", "tapToHide": "Piilota napauttamalla", @@ -246,6 +250,7 @@ "viewAddress": "Tarkastele osoitetta", "viewTransaction": "Tarkastele tapahtumaa", "walletAddresses": "Lompakon osoitteet", + "walletAddress": "Wallet Address", "walletName": "Lompakon nimi", "walletNameDescription": "Syötä nimi lompakollesi", "walletNameHint": "Lompakon nimi", @@ -253,8 +258,8 @@ "walletSetupMessage": "Alustetaan lompakkoa", "walletsTitle": "Lompakot", "warning": "Varoitus", - "welcomeMessage": "Tervetuloa!\n\nTämä on versio {version} Karlsen Mobile - Mobiililompakko Karlsenlle", - "welcomeText": "Tervetuloa Karlsen Mobile. Aloittaaksesi voit luoda uuden lompakon tai tuoda olemassa olevan.", + "welcomeMessage": "Tervetuloa!\n\nTämä on versio {version} KarlsenMobileista - Mobiililompakko Karlsenlle", + "welcomeText": "Tervetuloa KarlsenMobileiin. Aloittaaksesi voit luoda uuden lompakon tai tuoda olemassa olevan.", "xMinutes": "{minutes, plural, =1{1 minuutin} other{{minutes} minuutin}} jälkeen", "yes": "Kyllä", "yesButton": "Kyllä", @@ -264,6 +269,8 @@ "nodeSecureConnection": "Salattu yhteys", "karlsenUriInvalid": "Virheellinen Karlsen-URI", "compoundUtxos": "Koosta tapahtumat", + "compoundRequired": "Compound required", + "compoundRequiredDescription": "The transaction amount requires too many UTXOs. Compounding will reduce the number of UTXOs.", "compoundUtxosDescription": "Yhdistä monet UTXO:t yhdeksi", "compoundUtxosConfirmation": "Koostetaanko tapahtumat?", "compoundingUtxos": "Koostetaan tapahtumat", @@ -288,10 +295,8 @@ "addressFilterDialogTitle": "Osoitteen suodatus", "addressFilterDialogOptionAllAddresses": "Näytä kaikki osoitteet", "addressFilterDialogOptionNonZeroBalances": "Näytä osoitteet, joissa saldoa", - "importOption24WordsLegacyTitle": "Tuo 24 turvasanaa", - "importOption24WordsLegacyDescription": "Yhteensopiva solmulompakon kanssa v1.1.0 asti", "importOption24WordsTitle": "Tuo 24 turvasanaa", - "importOption24WordsDescription": "Yhteensopiva solmulompakon kanssa versiosta 1.2.0", + "importOption24WordsDescription": "Yhteensopiva Cli-lompakon ja Ledgerin kanssa", "importOption12WordsTitle": "Tuo 12 turvasanaa", "importOption12WordsDescription": "Yhteensopiva Web-lompakon ja Karlsen Desktop:n kanssa", "importOptionKpubTitle": "Tuo Watch-seurantalompakko", @@ -303,5 +308,53 @@ "importKpubInvalidMessage": "Varmista, että syötit laajennetun julkisen avaimesi oikein!", "receiveAddressListEmpty": "Vastaanottajaosoitteiden lista on tyhjä", "changeAddressListEmpty": "Vaihtorahaosoitteiden lista on tyhjä", - "hintAddressListEmpty": "Varmista osoitteiden suodatus oikeasta yläreunasta" -} + "hintAddressListEmpty": "Varmista osoitteiden suodatus oikeasta yläreunasta", + "invalidSecretPhrase": "Invalid Secret Phrase", + "invalidSecretPhraseDetails": "The Secret Phrase you entered has an invalid checksum.", + "invalidSecretPhraseConfirmation": "I know what I'm doing", + "contactSupport": "Contact Support", + "emailAction": "Email {email}", + "noteLabel": "Note:", + "optionalLabel": "(Optional)", + "moreInfo": "More Info", + "selectAddress": "Select Address", + "kpubTitle": "Extended Public Key", + "kpubAuth": "View Extended Public Key", + "kpubDescription": "The extended public key can be used to import your wallet as a 'watch only' wallet.", + "copyKpub": "Copy Kpub", + "kpubCopied": "Extended Public Key Copied", + "kpubCopyFailed": "Failed to copy Extended Public Key", + "walletAddressesCopied": "Wallet {addressType} Addresses Copied to Clipboard", + "walletAddressesCopyFailed": "Failed to Copy Wallet {addressType} Addresses", + "txReport": "Transaction Report", + "txReportSubtitle": "Get CSV file with transaction history", + "txReportDetails": "Generate a transaction report, in CSV format, that contains all the wallet's transaction history.", + "txReportOptionIgnoreCompound": "Ignore compound transactions", + "txReportOptionIgnoreSelfTxs": "Ignore transactions sent to self", + "txReportOptionRefreshTxs": "Refresh transactions", + "txReportGenerate": "Generate", + "txReportStatusRefreshing": "Refreshing transactions", + "txReportStatusLoading": "Loading transactions", + "txReportStatusReady": "Transaction report is ready!", + "txReportGetReport": "Get Report", + "txReportDate": "Date", + "txReportSentAmount": "Sent Amount", + "txReportSentCurrency": "Sent Currency", + "txReportReceivedAmount": "Received Amount", + "txReportReceivedCurrency": "Received Currency", + "txReportFeeAmount": "Fee Amount", + "txReportFeeCurrency": "Fee Currency", + "txReportLabel": "Label", + "txReportDescription": "Description", + "txReportTxHash": "TxHash", + "txReportNote": "Note", + "txReportLabelCost": "cost", + "txReportFeeForCompound": "Fee for Compound Transaction", + "txReportFeeForSelfSend": "Fee to send to own addresses", + "txReportError": "Error generating report", + "txReportNoTxs": "Found {numberOf} transactions.", + "txReportNoLoadedTxs": "({loadedTxs} of {totalTxs})", + "txFilterDialogTitle": "Transaction Filter", + "txFilterDialogOptionAllTxs": "Show All Transactions", + "txFilterDialogOptionHideNotAcceptedCoinbase": "Hide Not Accepted Coinbase Transactions" +} \ No newline at end of file diff --git a/lib/l10n/app_fr.arb b/lib/l10n/app_fr.arb index 6eda881d..ef38349b 100644 --- a/lib/l10n/app_fr.arb +++ b/lib/l10n/app_fr.arb @@ -1,9 +1,9 @@ { - "@@last_modified": "2023-09-30T20:57:42.789Z", + "@@last_modified": "2024-11-1T11:12:41.441Z", "@@author": "arb-converter-cli", "account": "Compte", "accounts": "Comptes", - "ackBackedUp": "Êtes-vous sûr de bien avoir correctement sauvegardé votre Seed ?", + "ackBackedUp": "Êtes-vous sûr de bien avoir correctement sauvegardé votre phrase secrète ?", "add": "Ajouter", "addAccount": "Ajouter un compte", "addContact": "Ajouter un contact", @@ -11,14 +11,16 @@ "addNodeFailed": "Échec de l'ajout du nœud Karlsen", "addNodeFailedMessage": "Erreur: {error}", "addNodeSuccess": "Nœud ajouté avec succès", - "addingNodeMessage": "Merci de patienter pendant que je contacte le nœud", + "addingNodeMessage": "Veuillez patienter pendant que le nœud est contacté", "addingNodeTitle": "Ajout du nœud en cours", "address": "Adresse", "addressCopied": "Adresse copiée", "addressCopiedFailed": "La copie de l'adresse à échoué", - "addressHint": "Entrer l'adresse", + "addressHint": "Entrez une adresse", "addressMissing": "Veuillez entrer une adresse de destination", - "addressShare": "Partager", + "addressShare": "Partager l'adresse", + "karlsenUriCopied": "URI Karlsen copiée", + "karlsenUriCopyFailed": "Échec de la copie de l'URI Karlsen", "advancedHeader": "Avancé", "amount": "Montant", "amountConfirm": "Montant {amount} {coin}", @@ -27,10 +29,10 @@ "areYouSure": "Êtes-vous sûr ?", "authBiometricMessage": "Authentifiez-vous pour ajouter un portefeuille", "authMethod": "Méthode d’authentification", - "authPinMessage": "Rentrez votre PIN pour ajouter un portefeuille", - "autoLockHeader": "Verrouiller automatiquement", + "authPinMessage": "Entrez votre code PIN pour ajouter un portefeuille", + "autoLockHeader": "Verrouillage automatique", "available": "Disponible", - "backupConfirmButton": "J'ai correctement sauvegardé", + "backupConfirmButton": "Je l'ai sauvegardé", "backupSecretPhrase": "Sauvegarder la phrase secrète", "biometricsMethod": "Biométrie", "blockExplorer": "Explorateur de blocs", @@ -48,14 +50,14 @@ "confirmations": "{confirmations} confirmations", "confirmed": "confirmé", "confirming": "en cours de confirmation", - "contactAdded": "{contactName} a été ajouté aux contacts !", + "contactAdded": "{contactName} a été ajouté aux contacts !", "contactAddressCopied": "{address} adresse copiée", "contactExists": "Ce contact existe déjà", "contactHeader": "Contact", "contactInvalid": "Nom du contact erroné", - "contactNameHint": "Saisir un nom @", + "contactNameHint": "Entrez un nom @", "contactNameMissing": "Choisir un nom pour ce contact", - "contactRemoved": "{contactName} a été supprimé de vos contacts !", + "contactRemoved": "{contactName} a été supprimé de vos contacts !", "contactsHeader": "Contacts", "contactsImportErr": "Échec de l'importation des contacts", "contactsImportSuccess": "Import de {noContacts} contacts réussi", @@ -64,60 +66,62 @@ "copyAddress": "Copier l’adresse", "copyErrorButton": "Erreur de copie", "createAPasswordHeader": "Créer un mot de passe.", - "createPasswordFirstParagraph": "Vous pouvez créer un mot de passe pour sécuriser votre portefeuille.", + "createPasswordFirstParagraph": "Vous pouvez créer un mot de passe pour améliorer la sécurité de votre portefeuille.", "createPasswordHint": "Créer un mot de passe", - "createPasswordSecondParagraph": "Le mot de passe est optionnel, votre portefeuille sera néanmoins protégé par votre PIN ou les données biométriques.", + "createPasswordSecondParagraph": "Le mot de passe est optionnel, votre portefeuille sera néanmoins protégé par votre code PIN ou vos données biométriques.", "createPasswordSheetHeader": "Créer", "currency": "Devise", "currencyPoweredBy": "Propulsé par CoinGecko", - "defaultAccountName": "Compte principal", - "defaultNewAccountName": "Compte {addressIndex}", + "defaultAccountName": "Adresse 1", + "defaultNewAccountName": "Adresse de réception {addressIndex}", "defaultWalletName": "Mon portefeuille", "disablePasswordSheetHeader": "Désactiver", "disablePasswordSuccess": "Mot de passe désactivé", "disableWalletPassword": "Désactiver le mot de passe du portefeuille", "doContinue": "Continuer", - "donate": "Donner", - "dontShowAgain": "Ne plus afficher ce message", + "donate": "Faire un don", + "donateTo": "Faire un don à", + "dontShowAgain": "Ne plus afficher", "emptyCardIntroUtxos": "Ceci est l'onglet des UTXOs. Tous les UTXOs de votre portefeuille apparaîtront ici", "emptyResult": "Résultat vide", "emptyWalletName": "Le nom du portefeuille ne peut pas être vide", "encryptionFailedError": "La définition du mot de passe de portefeuille à échouée", - "enterAddress": "Saisir l’adresse", - "enterAmount": "Saisir le montant", - "enterNote": "Saisir une note", - "enterPasswordHint": "Entrer le mot de passe", + "enterAddress": "Entrez l’adresse", + "enterAmount": "Entrez le montant", + "enterFiatValue": "Entrez la valeur Fiat", + "enterNote": "Entrez une note", + "enterPasswordHint": "Entrez votre mot de passe", "errorMessageCopied": "Le message d'erreur à été copié dans le presse-papier", - "exampleCardIntro": "Bienvenue sur Karlsen Mobile. Lorsque vous recevrez ou enverrez des KLS, les transactions apparaîtront ici.", + "exampleCardIntro": "Ceci est le volet de transactions. Lorsque vous recevrez ou enverrez des KLS, les transactions apparaîtront ici.", "export": "Exporter", "fee": "Frais", "feeConfirm": "Frais {amount} {coin}", "feeTitle": "FRAIS", "fetchingTransactions": "Récupération des transactions", - "fingerprintSeedBackup": "Merci de vous authentifier pour sauvegarder la Seed.", + "fingerprintSeedBackup": "Veuillez vous authentifier pour sauvegarder la phrase secrète.", "goBackButton": "Retour", "gotItButton": "J'ai compris !", "import": "Importer", "importSecretPhrase": "Importer une phrase secrète", - "importSecretPhraseHint": "Veuillez entrer ci-dessous les 24 mots de votre phrase secrète. Les mots doivent être séparés par un espace.", - "importSecretPhraseHintCombo": "Merci d'entrer votre passe phrase de 12 ou 24 mots ci-dessous.", - "importSecretPhraseHintLegacy": "Merci d'entrer votre passe phrase de 12 ci-dessous.", - "importWallet": "Importer", - "importWalletDescription": "Merci de sélectionner une option ci-dessous.", - "instantly": "Immédiatement", + "importSecretPhraseHint": "Veuillez entrer votre phrase secrète de 24 mots ci-dessous.", + "importSecretPhraseHintCombo": "Veuillez entrer votre phrase secrète de 12 ou 24 mots ci-dessous.", + "importSecretPhraseHintLegacy": "Veuillez entrer votre passe phrase de 12 mots ci-dessous.", + "importWallet": "Importer un portefeuille", + "importWalletDescription": "Veuillez sélectionner une option ci-dessous.", + "instantly": "Instantanément", "insufficientBalance": "Solde insuffisant", "insufficientBalanceDetails": "Vous n'avez pas assez de KLS pour cette transaction", - "invalidAddress": "Adresse du destinataire invalide", + "invalidAddress": "L'adresse saisie est invalide", "invalidAmount": "Montant invalide", "invalidChecksumMessage": "Merci de vérifier que votre phrase secrète\nest correcte !", "invalidKpubMessage": "Merci de vérifier que la clé publique étendue renseignée soit correcte!", "invalidDestinationAddress": "Adresse du destinataire invalide", "invalidPassword": "Mot de passe invalide", "karlsenDevFund": "Fond de développement Karlsen", - "mobileWallet": "Karlsen Mobile", + "karlsenmobileWallet": "Portefeuille Karlsen Mobile", "language": "Langue", "loadingTransactions": "Chargement des transactions...", - "lockAppSetting": "Authentifier au démarrage", + "lockAppSetting": "S'authentifier au démarrage", "locked": "Verrouillé", "loggingOutMessage": "Déconnexion...", "logout": "Déconnexion", @@ -127,11 +131,11 @@ "manualEntry": "Saisie manuelle", "networkHeader": "Réseau", "newAddress": "Ajouter une nouvelle adresse", - "newWallet": "Nouveau", + "newWallet": "Nouveau portefeuille", "nextButton": "Suivant", "no": "Non", "noContactsExport": "Il n’y a pas de contacts à exporter", - "noContactsImport": "Aucun contact à importer", + "noContactsImport": "Aucun nouveau contact à importer", "noQrCodeFound": "QR Code introuvable", "noSkipButton": "Passer", "noUppercase": "NON", @@ -139,74 +143,74 @@ "nodeDeleteMessage": "Êtes-vous sûr de vouloir supprimer ?", "nodeDeleteTitle": "Supprimer la configuration du nœud Karlsen ?", "nodeNameEmpty": "Le nom du nœud ne peux pas être vide", - "nodeNameHint": "Renseigner un nom de nœud", - "nodeUrlHint": "Renseigner une URL de nœud", + "nodeNameHint": "Entrez un nom de nœud", + "nodeUrlHint": "Entrez une URL de nœud", "nodeUrlInvalid": "URL du nœud invalide", "nodesSheetTitle": "Nœuds Karlsen", "off": "Désactivé", "on": "Activé", "paperWallet": "Portefeuille papier", "passwordBlank": "Le mot de passe ne peut être vide", - "passwordNoLongerRequiredToOpenParagraph": "Vous n'aurez plus besoin de mot de passe pour ouvrir Karlsen Mobile.", - "passwordWillBeRequiredToOpenParagraph": "Le mot passe sera utilisé pour ouvrir Karlsen Mobile.", + "passwordNoLongerRequiredToOpenParagraph": "Vous n'aurez plus besoin de mot de passe pour ouvrir ce portefeuille.", + "passwordWillBeRequiredToOpenParagraph": "Ce mot passe vous sera demandé pour ouvrir ce portefeuille.", "passwordsDontMatch": "Les mots de passe sont différents", "pasteMnemonicError": "Le contenu du presse-papier n'est pas une phrase secrète valide", "pending": "En attente", "pinConfirmError": "Les PINs ne correspondent pas", - "pinConfirmTitle": "Confirmer votre PIN", + "pinConfirmTitle": "Confirmer votre code PIN", "pinCreateTitle": "Créer un code PIN à 6 chiffres", - "pinEnterTitle": "Saisir le PIN", + "pinEnterTitle": "Entrez le code PIN", "pinInvalid": "Code PIN saisi invalide", "pinMethod": "Code PIN", - "pinSeedBackup": "Saisir le PIN afin de voir votre Seed", + "pinSeedBackup": "Entrez le code PIN pour voir votre phrase secrète", "preferences": "Préférences", "privacyPolicy": "Politique de confidentialité", "qrInvalidAddress": "Le QR code ne contient pas de destinataire valide", - "qrInvalidSeed": "Le QR code ne contient pas de clé privée valide ", + "qrInvalidSeed": "Le QR code ne contient pas de phrase secrète ou de clé privée valide ", "qrMnemonicError": "Le QR Code ne contient pas de phrase secrète valide.", "receive": "Recevoir", "receiveAddress": "Adresse de réception", - "receiveAddressCopied": "Adresse de réception copiée !", + "receiveAddressCopied": "Adresse de réception copiée", "receiveIndex": "Adresse de réception", "receiveIndexParam": "Adresse de réception {addressIndex}", "received": "Reçu", "removeContact": "Supprimer le contact", "removeContactConfirmation": "Êtes vous sûr de vouloir supprimer {contactName}?", "removeWalletAction": "Supprimer le portefeuille", - "removeWalletBiometricsMessage": "Merci de vous authentifier pour supprimer le portefeuille", + "removeWalletBiometricsMessage": "Veuillez vous authentifier pour supprimer le portefeuille", "removeWalletDetail": "La suppression de ce portefeuille supprimera la phrase secrète et toutes les données liées au portefeuille sur cet appareil. Si la phrase secrète n'est pas sauvegardée, vous ne pourrez plus jamais accéder à vos fonds.", "removeWalletPinMessage": "Entrer votre PIN pour supprimer le portefeuille", "removeWalletReassurance": "Tant que vous avez sauvegardé la phrase secrète, vous n'avez rien à craindre.", - "requireAPasswordToOpenHeader": "Besoin d'un mot de passe pour ouvrir Karlsen Mobile ?", + "requireAPasswordToOpenHeader": "Demander un mot de passe pour ouvrir ce portefeuille ?", "restartSetupButton": "Redémarrer la configuration", "scanQrCode": "Scanner le QR Code", "scanQrCodeError": "Échec de l'analyse du QR Code", "secretInfo": "Dans l'écran suivant, vous verrez votre phrase secrète. Il s'agit d'un mot de passe qui permet d'accéder à vos fonds. Il est crucial que vous le sauvegardiez et que vous ne le partagiez jamais avec qui que ce soit.", "secretInfoHeader": "La sécurité avant tout !", "secretPhrase": "Phrase secrète", - "secretWarning": "Si vous perdez votre appareil ou désinstallez l'application, vous aurez besoin de votre phrase secrète pour restaurer votre portefeuille !", + "secretWarning": "Si vous perdez votre appareil ou désinstallez l'application, vous aurez besoin de votre phrase secrète pour restaurer votre portefeuille !", "securityHeader": "Sécurité", - "seed": "Seed", - "seedInvalid": "La Seed est invalide", + "seed": "Phrase secrète", + "seedInvalid": "La phrase secrète est invalide", "send": "Envoyer", "sendConfirm": "Envoyer", - "sendError": "Une erreur s'est produite. Veuillez réessayer plus tard.", + "sendError": "Une erreur s'est produite. Veuillez réessayer.", "sendNote": "NOTE", "sendToAddressTitle": "Vers", "sendTxProgressDescription": "Veuillez patienter pendant l'envoi de la transaction", "sendTxProgressTitle": "Transaction en cours", "sending": "Envoyer", "sent": "Envoyé", - "sentTo": "Envoyé À", + "sentTo": "Envoyé à", "setPassword": "Définir le mot de passe", "setPasswordSuccess": "Mot de passe activé", - "setWalletPassword": "Définir le mot de passe du portefeuille", + "setWalletPassword": "Définir un mot de passe", "settingsHeader": "Réglages", "settingsTransfer": "Charger depuis un portefeuille papier", "setupFailedMessage": "Une erreur est survenue", - "shareMobile": "Partager Karlsen Mobile", - "shareMobileSubject": "Découvrez le portefeuille Karlsen Mobile", - "shareMobileText": "Découvrez Karlsen Mobile - Le portefeuille mobile de Karlsen\nmobile.karlsencoin.com", + "shareKarlsenMobile": "Partager Karlsen Mobile", + "shareKarlsenMobileSubject": "Découvrez le portefeuille Karlsen Mobile", + "shareKarlsenMobileText": "Découvrez Karlsen Mobile - Le portefeuille mobile de Karlsen.\nmobile.karlsencoin.com", "somethingWentWrong": "Une erreur est survenue", "systemDefault": "Paramètres par défaut", "tapToHide": "Taper pour masquer", @@ -222,38 +226,39 @@ "transactionId": "ID de transaction", "transactionsUppercase": "TRANSACTIONS", "transfer": "Transférer", - "transferClose": "Appuyer n’importe où afin de fermer ce volet.", + "transferClose": "Appuyez n’importe où afin de fermer ce volet.", "transferComplete": "{amount} KLS ont été transférés avec succès vers votre portefeuille Karlsen Mobile.\n", "transferConfirmInfo": "Un portefeuille avec un solde de {amount} KLS a été détecté.", - "transferConfirmInfoSecond": "Appuyer pour confirmer le transfert de fonds.\n", + "transferConfirmInfoSecond": "Appuyez sur confirmer pour transférer les fonds.\n", "transferConfirmInfoThird": "Le transfert peut prendre quelques secondes.", "transferError": "Une erreur s’est produite durant le transfert. Veuillez réessayer plus tard.", - "transferHeader": "Transférer", + "transferHeader": "Transférer les fonds", "transferIntro": "Transférer le contenu d'un portefeuille papier vers votre portefeuille Karlsen Mobile.\n\nAppuyer sur le bouton \"{button}\" pour commencer.", "transferLoading": "Transfert en cours", - "transferManualHint": "Merci d'entrer votre clé privée ci-dessous", - "transferNoFunds": "Ce seed ne contient pas de KLS.", - "transferQrScanError": "Ce QR code ne contient pas de seed valide.", - "transferQrScanHint": "Scanner une seed Karlsen\nou une clé privée", + "transferManualHint": "Merci d'entrer votre phrase secrète ci-dessous.", + "transferNoFunds": "Cette phrase secrète ne contient pas de KLS", + "transferQrScanError": "Ce QR code ne contient pas de phrase secrète valide.", + "transferQrScanHint": "Scanner une phrase secrète\nou une clé privée Karlsen", "unconfirmed": "non confirmé", "notAccepted": "rejeté", "accepted": "accepté", "unknown": "inconnu", "unlock": "Déverrouiller", - "unlockBiometrics": "Authentifiez-vous pour déverrouiller Karlsen Mobile", - "unlockPin": "Entrer votre PIN pour déverrouiller Karlsen Mobile", + "unlockBiometrics": "Authentifiez-vous pour déverrouiller le portefeuille", + "unlockPin": "Entrer votre code PIN pour déverrouiller le portefeuille", "utxosUppercase": "UTXOs", "viewAddress": "Voir les adresses", "viewTransaction": "Voir la transaction", "walletAddresses": "Adresses du portefeuille", + "walletAddress": "Adresse du portefeuille", "walletName": "Nom du portefeuille", "walletNameDescription": "Entrez un nom pour votre portefeuille", "walletNameHint": "Nom du portefeuille", "walletSetupAddressDiscovery": "Découverte d'adresses en cours", - "walletSetupMessage": "Configurer le portefeuille", + "walletSetupMessage": "Configuration du portefeuille", "walletsTitle": "Portefeuilles", - "warning": "ATTENTION", - "welcomeMessage": "Bienvenue !\n\nVoici la version {version} de Karlsen Mobile - le portefeuille mobile de Karlsen !", + "warning": "Attention", + "welcomeMessage": "Bienvenue !\n\nVoici la version {version} de Karlsen Mobile - le portefeuille mobile de Karlsen !", "welcomeText": "Bienvenue dans Karlsen Mobile. Avant de continuer, veuillez créer un nouveau portefeuille ou en importer un déjà existant.", "xMinutes": "Après {minutes, plural, =1{1 minute} other{{minutes} minutes}}", "yes": "Oui", @@ -262,46 +267,94 @@ "nodeNotSyncedException": "Le nœud n'est pas synchronisé", "nodeNoUTXOIndexException": "Le nœud ne possède pas d'index UTXO", "nodeSecureConnection": "Connexion sécurisée", - "karlsenUriInvalid": "URL Karlsen invalide", + "karlsenUriInvalid": "URI Karlsen invalide", "compoundUtxos": "Combiner les transactions", - "compoundUtxosDescription": "Combiner les multiples UTXOs en une seule", - "compoundUtxosConfirmation": "Combiner les transactions ?", + "compoundRequired": "Combinaison requise", + "compoundRequiredDescription": "Le montant de la transaction nécessite trop de UTXOs. Les combiner va réduire le nombre de UTXOs.", + "compoundUtxosDescription": "Combiner plusieurs UTXOs en un seul", + "compoundUtxosConfirmation": "Combiner les transactions ?", "compoundingUtxos": "Combinaison des transactions en cours", - "compoundingMessage": "Merci de patienter...", + "compoundingMessage": "Veuillez patienter...", "compoundSuccess": "Combinaison réussie", "compoundFailure": "La combinaison des transactions à échoué", "compoundTooFewUtxos": "Un minimum de 2 UTXOs sont nécéssaires", "balance": "Solde", - "maxSend": "Envoyer le total", + "maxSend": "Envoyer le maximum", "compoundUppercased": "COMBINER", "closeUppercased": "FERMER", "scanMoreAddresses": "Scanner pour trouver plus d'adresses", "addressDiscovery": "Découverte d'adresses", "scanningTitle": "Scan en cours", - "scanningDescription": "Scanner de nouvelles adresses...", - "scanMore": "SCAN", - "scanFailedMessage": "Scan échoué, merci d'essayer ultérieurement", + "scanningDescription": "Scan de nouvelles adresses...", + "scanMore": "SCANNER PLUS", + "scanFailedMessage": "Scan échoué, merci d'essayer à nouveau plus tard", "indexHeader": "Index", "currentIndex": "Actuel", "scannedIndex": "Scanné", - "newIndex": "Ajouter", + "newIndex": "Nouveau", "addressFilterDialogTitle": "Filtrer l'adresse", "addressFilterDialogOptionAllAddresses": "Voir toutes les adresses", "addressFilterDialogOptionNonZeroBalances": "Voir les adresses avec un solde", - "importOption24WordsLegacyTitle": "Importer une passe phrase de 24 mots", - "importOption24WordsLegacyDescription": "Compatible avec le portefeuille de nœuds jusqu'à la v1.1.0", - "importOption24WordsTitle": "Importer une passe phrase de 24 mots", - "importOption24WordsDescription": "Compatible avec le portefeuille de nœuds à partir de la v1.1.0", - "importOption12WordsTitle": "Importer une passe phrase de 12 mots", + "importOption24WordsTitle": "Importer une phrase secrète de 24 mots", + "importOption24WordsDescription": "Compatible avec le portefeuille CLI et Ledger", + "importOption12WordsTitle": "Importer une phrase secrète de 12 mots", "importOption12WordsDescription": "Compatible avec le portefeuille web et Karlsen Desktop", "importOptionKpubTitle": "Importer un portefeuille en lecture seule", "importOptionKpubDescription": "Surveille le solde et les transactions d'un portefeuille à l'aide de sa clé publique étendue", "importKpub": "Importer un portefeuille en lecture seule", - "importKpubHint": "Merci de renseigner la clé publique étendue.", + "importKpubHint": "Veuillez entrer votre clé publique étendue.", "importKpubClipboardError": "Le presse papier ne contient pas une clé publique étendue valide", - "importKpubQrCodeError": "Le QR Code ne contient pas une clé publique étendue valide", - "importKpubInvalidMessage": "Merci de vérifier que votre clé publique étendue est correctement renseignée!", + "importKpubQrCodeError": "Le QR code ne contient pas une clé publique étendue valide", + "importKpubInvalidMessage": "Veuillez vérifier que votre clé publique étendue est correctement renseignée !", "receiveAddressListEmpty": "L'adresse de réception est vide", "changeAddressListEmpty": "La liste d'adresses est vide", - "hintAddressListEmpty": "Vérifier le filtre d'adresses dans le menu en haut à droite" -} + "hintAddressListEmpty": "Vérifier le filtre d'adresses dans le coin en haut à droite", + "invalidSecretPhrase": "Phrase secrète invalide", + "invalidSecretPhraseDetails": "Le checksum de la phrase secrète renseignée est invalide.", + "invalidSecretPhraseConfirmation": "Je sais ce que je fais", + "contactSupport": "Contacter le support", + "emailAction": "Email {email}", + "noteLabel": "Note:", + "optionalLabel": "(Optionnel)", + "moreInfo": "Plus d'info", + "selectAddress": "Sélectionnez l'adresse", + "kpubTitle": "Clé publique étendue", + "kpubAuth": "Voir la clé publique étendue", + "kpubDescription": "La clé publique étendue peut être utilisée pour importer votre portefeuille en \"lecture seule\".", + "copyKpub": "Copier la Kpub", + "kpubCopied": "Clé publique étendue copiée", + "kpubCopyFailed": "Échec de copie de la clé publique", + "walletAddressesCopied": "Adresses du portefeuille {addressType} copiées dans le presse-papier", + "walletAddressesCopyFailed": "Échec de copie des adresses du portefeuille {addressType} ", + "txReport": "Rapport de transaction", + "txReportSubtitle": "Obtenir un fichier CSV de l'historique de transaction", + "txReportDetails": "Générer un rapport de transaction, au format CSV, qui contient tout l'historique de transaction du portefeuille.", + "txReportOptionIgnoreCompound": "Ignorer les transactions combinées", + "txReportOptionIgnoreSelfTxs": "Ignorer les transactions envoyées à soi-même", + "txReportOptionRefreshTxs": "Rafraichir les transactions", + "txReportGenerate": "Générer", + "txReportStatusRefreshing": "Rafraichissement des transactions", + "txReportStatusLoading": "Chargement des transactions", + "txReportStatusReady": "Rapport de transaction prêt!", + "txReportGetReport": "Obtenir le rapport", + "txReportDate": "Date", + "txReportSentAmount": "Montant envoyé", + "txReportSentCurrency": "Devise envoyée", + "txReportReceivedAmount": "Montant reçu", + "txReportReceivedCurrency": "Devise reçue", + "txReportFeeAmount": "Montant des frais", + "txReportFeeCurrency": "Devise des frais", + "txReportLabel": "Label", + "txReportDescription": "Description", + "txReportTxHash": "TxHash", + "txReportNote": "Note", + "txReportLabelCost": "coût", + "txReportFeeForCompound": "Frais pour combiner la transaction", + "txReportFeeForSelfSend": "Frais pour envoyer à sa propre adresse", + "txReportError": "Échec lors de la génération du rapport", + "txReportNoTxs": "{numberOf} transactions trouvées.", + "txReportNoLoadedTxs": "({loadedTxs} sur {totalTxs})", + "txFilterDialogTitle": "Filtre de transaction", + "txFilterDialogOptionAllTxs": "Afficher toutes les transactions", + "txFilterDialogOptionHideNotAcceptedCoinbase": "Cacher les transactions coinbase refusées" +} \ No newline at end of file diff --git a/lib/l10n/app_he.arb b/lib/l10n/app_he.arb index 70ad0890..44349774 100644 --- a/lib/l10n/app_he.arb +++ b/lib/l10n/app_he.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2023-09-30T20:57:42.789Z", + "@@last_modified": "2024-11-1T11:12:41.441Z", "@@author": "arb-converter-cli", "account": "חשבון", "accounts": "חשבונות", @@ -19,6 +19,8 @@ "addressHint": "הזן כתובת", "addressMissing": "אנא הזן כתובת", "addressShare": "שתף כתובת", + "karlsenUriCopied": "Karlsen URI Copied", + "karlsenUriCopyFailed": "Failed to copy Karlsen URI", "advancedHeader": "מתקדם ", "amount": "סכום ", "amountConfirm": "סכום {amount} {coin}", @@ -78,6 +80,7 @@ "disableWalletPassword": "בטל את סיסמת הארנק", "doContinue": "המשך", "donate": "תרומה", + "donateTo": "Donate To", "dontShowAgain": "אל תציג שוב", "emptyCardIntroUtxos": "לשונית ה-UTXO. כל ה-UTXO בארנק יופיעו פה", "emptyResult": "תוצאה ריקה", @@ -85,6 +88,7 @@ "encryptionFailedError": "הגדרת סיסמת הארנק נכשלה", "enterAddress": "הזן כתובת", "enterAmount": "הזן כמות", + "enterFiatValue": "Enter Fiat Value", "enterNote": "הזן הערה", "enterPasswordHint": "הזן סיסמה", "errorMessageCopied": "הודעת שגיאת הועתקה ללוח העתקות", @@ -114,7 +118,7 @@ "invalidDestinationAddress": "כתובת יעד לא חוקית", "invalidPassword": "סיסמה לא חוקית", "karlsenDevFund": "קרן פיתוח כספא", - "mobileWallet": "ארנק נייד של קרלסן", + "karlsenmobileWallet": "ארנק כספיום", "language": "שפה", "loadingTransactions": "טוען עסקאות...", "lockAppSetting": "בצע אימות בעת הפעלה", @@ -197,16 +201,16 @@ "sendTxProgressTitle": "העסקה נשלחת", "sending": "שלח", "sent": "נשלח", - "sentTo": "נשלח אל", + "sentTo": "Sent to", "setPassword": "הגדר סיסמה", "setPasswordSuccess": "סיסמת הארנק הוגדרה", "setWalletPassword": "הגדר סיסמת הארנק", "settingsHeader": "הגדרות", "settingsTransfer": "טען מארנק נייר", "setupFailedMessage": "משהו השתבש", - "shareMobile": "שתף את Karlsen Mobile", - "shareMobileSubject": "תראה כמה קרלסן מובייל מגניב", - "shareMobileText": "תראו את Karlsen Mobile - ארנק בטוח לנייד.\nאתר - mobile.karlsencoin.com", + "shareKarlsenMobile": "שתף את כספיום", + "shareKarlsenMobileSubject": "תראו כמה מגניב כספיום", + "shareKarlsenMobileText": "תראו את כספיום - ארנק כספא לנייד.\nאתר - mobile.karlsencoin.com", "somethingWentWrong": "משהו השתבש", "systemDefault": "ברירת מחדל", "tapToHide": "הקש להחביא", @@ -246,6 +250,7 @@ "viewAddress": "הצג כתובת", "viewTransaction": "הצג עסקה", "walletAddresses": "כתובות הארנקים", + "walletAddress": "Wallet Address", "walletName": "שם הארנק", "walletNameDescription": "הזן שם לארנק שלך", "walletNameHint": "שם הארנק", @@ -253,8 +258,8 @@ "walletSetupMessage": "הכנת ארנק", "walletsTitle": "ארנקים", "warning": "אזהרה", - "welcomeMessage": "ברוך הבא!\n\nזוהי גרסה {version} של Karlsen Mobile - ארנק בטוח לנייד", - "welcomeText": "ברוכים הבאים ל- Karlsen Mobile. כדי להתחיל, אתה יכול ליצור ארנק חדש או לייבא קיים.", + "welcomeMessage": "ברוכים הבאים!\n\nזו גרסה {version} של כספיום - ארנק כספא לנייד", + "welcomeText": "ברוך הבא לכספיום. כדי להתחיל, ניתן ליצור ארנק חדש או לייבא אחד קיים.", "xMinutes": "אחרי {minutes, plural, =1{1 דקה} other{{minutes} דקות}}", "yes": "כן", "yesButton": "כן", @@ -264,6 +269,8 @@ "nodeSecureConnection": "חיבור מאובטח", "karlsenUriInvalid": "URI של כספא לא חוקי", "compoundUtxos": "עסקאות מורכבות", + "compoundRequired": "Compound required", + "compoundRequiredDescription": "The transaction amount requires too many UTXOs. Compounding will reduce the number of UTXOs.", "compoundUtxosDescription": "שלב מספר UTXOs לאחד", "compoundUtxosConfirmation": "עסקאות מורכבות?", "compoundingUtxos": "עסקאות מורכבות", @@ -288,10 +295,8 @@ "addressFilterDialogTitle": "סנן כתובות", "addressFilterDialogOptionAllAddresses": "הצג את כל הכתובות", "addressFilterDialogOptionNonZeroBalances": "הצג כתובות עם יתרה ", - "importOption24WordsLegacyTitle": "יבוא ביטוי סודי של 24 מילים", - "importOption24WordsLegacyDescription": "תואם עם ארנק צומת עד v1.1.0", "importOption24WordsTitle": "יבוא ביטוי סודי של 24 מילים", - "importOption24WordsDescription": "תואם לארנק צומת מגרסה 1.2.0", + "importOption24WordsDescription": "תואם עם Cli Wallet ו- Ledger", "importOption12WordsTitle": "ייבוא ​​ביטוי סודי של 12 מילים", "importOption12WordsDescription": "תואם עם ארנק Web ו-Karlsen Desktop", "importOptionKpubTitle": "ייבוא ארנק צפייה בלבד", @@ -303,5 +308,53 @@ "importKpubInvalidMessage": "אנא בדוק שהמפתח הציבורי המורחב שלך הוזן כראוי!", "receiveAddressListEmpty": "רשימת כתובות קבלה ריקה", "changeAddressListEmpty": "רשימת הכתובות לשינוי ריקה", - "hintAddressListEmpty": "בדוק את מסנן הכתובות מהפינה השמאלית העליונה" -} + "hintAddressListEmpty": "בדוק את מסנן הכתובות מהפינה השמאלית העליונה", + "invalidSecretPhrase": "Invalid Secret Phrase", + "invalidSecretPhraseDetails": "The Secret Phrase you entered has an invalid checksum.", + "invalidSecretPhraseConfirmation": "I know what I'm doing", + "contactSupport": "Contact Support", + "emailAction": "Email {email}", + "noteLabel": "Note:", + "optionalLabel": "(Optional)", + "moreInfo": "More Info", + "selectAddress": "Select Address", + "kpubTitle": "Extended Public Key", + "kpubAuth": "View Extended Public Key", + "kpubDescription": "The extended public key can be used to import your wallet as a 'watch only' wallet.", + "copyKpub": "Copy Kpub", + "kpubCopied": "Extended Public Key Copied", + "kpubCopyFailed": "Failed to copy Extended Public Key", + "walletAddressesCopied": "Wallet {addressType} Addresses Copied to Clipboard", + "walletAddressesCopyFailed": "Failed to Copy Wallet {addressType} Addresses", + "txReport": "Transaction Report", + "txReportSubtitle": "Get CSV file with transaction history", + "txReportDetails": "Generate a transaction report, in CSV format, that contains all the wallet's transaction history.", + "txReportOptionIgnoreCompound": "Ignore compound transactions", + "txReportOptionIgnoreSelfTxs": "Ignore transactions sent to self", + "txReportOptionRefreshTxs": "Refresh transactions", + "txReportGenerate": "Generate", + "txReportStatusRefreshing": "Refreshing transactions", + "txReportStatusLoading": "Loading transactions", + "txReportStatusReady": "Transaction report is ready!", + "txReportGetReport": "Get Report", + "txReportDate": "Date", + "txReportSentAmount": "Sent Amount", + "txReportSentCurrency": "Sent Currency", + "txReportReceivedAmount": "Received Amount", + "txReportReceivedCurrency": "Received Currency", + "txReportFeeAmount": "Fee Amount", + "txReportFeeCurrency": "Fee Currency", + "txReportLabel": "Label", + "txReportDescription": "Description", + "txReportTxHash": "TxHash", + "txReportNote": "Note", + "txReportLabelCost": "cost", + "txReportFeeForCompound": "Fee for Compound Transaction", + "txReportFeeForSelfSend": "Fee to send to own addresses", + "txReportError": "Error generating report", + "txReportNoTxs": "Found {numberOf} transactions.", + "txReportNoLoadedTxs": "({loadedTxs} of {totalTxs})", + "txFilterDialogTitle": "Transaction Filter", + "txFilterDialogOptionAllTxs": "Show All Transactions", + "txFilterDialogOptionHideNotAcceptedCoinbase": "Hide Not Accepted Coinbase Transactions" +} \ No newline at end of file diff --git a/lib/l10n/app_hi.arb b/lib/l10n/app_hi.arb index e0e3c7a9..09553f79 100644 --- a/lib/l10n/app_hi.arb +++ b/lib/l10n/app_hi.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2023-11-10T10:15:24.600Z", + "@@last_modified": "2024-11-1T11:12:41.441Z", "@@author": "arb-converter-cli", "account": "खाता", "accounts": "खाते", @@ -19,6 +19,8 @@ "addressHint": "एड्रेस दर्ज करें", "addressMissing": "कृपया एक एड्रेस डालें", "addressShare": "एड्रेस शेयर करें", + "karlsenUriCopied": "Karlsen URI Copied", + "karlsenUriCopyFailed": "Failed to copy Karlsen URI", "advancedHeader": "विकसित", "amount": "मात्रा", "amountConfirm": "राशि {coin} {amount}", @@ -78,6 +80,7 @@ "disableWalletPassword": "वॉलेट पासवर्ड अक्षम करें", "doContinue": "जारी रखना", "donate": "दान करे", + "donateTo": "Donate To", "dontShowAgain": "दोबारा मत दिखाओ", "emptyCardIntroUtxos": "यह UTXOs टैब है। आपके बटुए में सभी UTXO यहां दिखाई देंगे", "emptyResult": "खाली परिणाम", @@ -85,6 +88,7 @@ "encryptionFailedError": "वॉलेट पासवर्ड सेट करने में विफल", "enterAddress": "एड्रेस दर्ज करें", "enterAmount": "राशि दर्ज करें", + "enterFiatValue": "Enter Fiat Value", "enterNote": "नोट दर्ज करें", "enterPasswordHint": "अपना पासवर्ड डालें", "errorMessageCopied": "त्रुटि संदेश क्लिपबोर्ड पर कॉपी किया गया", @@ -114,7 +118,7 @@ "invalidDestinationAddress": "अमान्य गंतव्य एड्रेस", "invalidPassword": "अवैध पासवर्ड", "karlsenDevFund": "karlsen Dev कोष", - "mobileWallet": "कार्लसन मोबाइल वॉलेट", + "karlsenmobileWallet": "कैस्पियम वॉलेट", "language": "भाषा", "loadingTransactions": "लेन-देन लोड हो रहे हैं...", "lockAppSetting": "लॉन्च पर प्रमाणित करें", @@ -148,7 +152,7 @@ "paperWallet": "पेपर वॉलेट", "passwordBlank": "पासवर्ड खाली नहीं हो सकता", "passwordNoLongerRequiredToOpenParagraph": "अब आपको कैस्पियम खोलने के लिए पासवर्ड की जरूरत नहीं पड़ेगी।", - "passwordWillBeRequiredToOpenParagraph": "कार्लसन मोबाइल खोलने के लिए इस पासवर्ड की आवश्यकता होगी।", + "passwordWillBeRequiredToOpenParagraph": "कैस्पियम खोलने के लिए इस पासवर्ड की आवश्यकता होगी।", "passwordsDontMatch": "पासवर्ड मेल नहीं खाते", "pasteMnemonicError": "क्लिपबोर्ड सामग्री मान्य गुप्त वाक्यांश नहीं है", "pending": "अपूर्ण", @@ -177,7 +181,7 @@ "removeWalletDetail": "इस वॉलेट को हटाने से इस डिवाइस से गुप्त वाक्यांश और वॉलेट से संबंधित सभी डेटा हट जाएगा। यदि गुप्त वाक्यांश का बैकअप नहीं लिया जाता है, तो आप कभी भी अपने फंड तक दोबारा नहीं पहुंच पाएंगे।", "removeWalletPinMessage": "वॉलेट निकालने के लिए पिन दर्ज करें", "removeWalletReassurance": "जब तक आपने गुप्त वाक्यांश का बैकअप लिया है तब तक आपको चिंता करने की कोई बात नहीं है।", - "requireAPasswordToOpenHeader": "क्या आपको कार्लसन मोबाइल खोलने के लिए पासवर्ड की आवश्यकता है?", + "requireAPasswordToOpenHeader": "कैस्पियम खोलने के लिए पासवर्ड की आवश्यकता रखें?", "restartSetupButton": "सेटअप को पुनरारंभ करें", "scanQrCode": "क्यूआर कोड स्कैन करें", "scanQrCodeError": "QR कोड पार्स करने में विफल", @@ -197,16 +201,16 @@ "sendTxProgressTitle": "लेन-देन भेज रहा है", "sending": "भेजा जा रहा है", "sent": "भेज दिया गया", - "sentTo": "भेजें", + "sentTo": "Sent to", "setPassword": "पासवर्ड सेट करें", "setPasswordSuccess": "पासवर्ड सफलतापूर्वक सेट कर दिया गया है", "setWalletPassword": "वॉलेट पासवर्ड सेट करें", "settingsHeader": "सेटिंग्स", "settingsTransfer": "पेपर वॉलेट से लोड करें", "setupFailedMessage": "कुछ गलत हो गया", - "shareMobile": "कार्लसन मोबाइल साझा करें", - "shareMobileSubject": "कार्लसन मोबाइल वॉलेट देखें", - "shareMobileText": "कार्लसन मोबाइल - कार्लसन मोबाइल वॉलेट देखें।\nवेबसाइट - mobile.karlsencoin.com", + "shareKarlsenMobile": "शेयर कैपियम", + "shareKarlsenMobileSubject": "कैस्पियम वॉलेट देखें", + "shareKarlsenMobileText": "कैस्पियम - कास्पा मोबाइल वॉलेट देखें।\nवेबसाइट - mobile.karlsencoin.com", "somethingWentWrong": "कुछ गलत हो गया", "systemDefault": "सिस्टम डिफ़ॉल्ट", "tapToHide": "छिपाने के लिए दबाएँ", @@ -223,13 +227,13 @@ "transactionsUppercase": "लेनदेन", "transfer": "ट्रांसफर", "transferClose": "विंडो बंद करने के लिए कहीं भी टैप करें।", - "transferComplete": "{amount} KLS को आपके कार्लसन मोबाइल वॉलेट में सफलतापूर्वक स्थानांतरित कर दिया गया है। \n", + "transferComplete": "{amount} KLS सफलतापूर्वक आपके कैपियम वॉलेट में स्थानांतरित कर दी गई है। \n", "transferConfirmInfo": "{amount} कैपियम के बैलेंस वाले वॉलेट का पता चला है", "transferConfirmInfoSecond": "फंड ट्रांसफर करने के लिए कन्फर्म दबाएँ \n", "transferConfirmInfoThird": "स्थानांतरण को पूरा होने में कई सेकंड लग सकते हैं।", "transferError": "लेन-देन के दौरान एक त्रुटि हुई है। कृपया बाद में पुन: प्रयास करें।", "transferHeader": "राशि का ट्रांसफर", - "transferIntro": "यह प्रक्रिया एक पेपर वॉलेट से आपके कार्लसन मोबाइल वॉलेट में धनराशि स्थानांतरित कर देगी। \n\nशुरू करने के लिए \"{button}\" बटन को दबाएँ।", + "transferIntro": "यह प्रक्रिया एक पेपर वॉलेट से आपके कैपियम वॉलेट में फंड ट्रांसफर कर देगी। \n\nशुरू करने के लिए \"{button}\" बटन को दबाएँ।", "transferLoading": "ट्रांसफर हो रहा है", "transferManualHint": "कृपया नीचे सीड दर्ज करें।", "transferNoFunds": "इस सीड पर कोई KLS नहीं है", @@ -240,12 +244,13 @@ "accepted": "स्वीकृत", "unknown": "अज्ञात", "unlock": "खोले", - "unlockBiometrics": "कार्लसन मोबाइल को अनलॉक करने के लिए प्रमाणित करें", - "unlockPin": "कार्लसन मोबाइल को अनलॉक करने के लिए पिन दर्ज करें", + "unlockBiometrics": "कैपियम अनलॉक करने के लिए प्रमाणित करें", + "unlockPin": "कैपियम अनलॉक करने के लिए पिन दर्ज करें", "utxosUppercase": "UTXOs", "viewAddress": "एड्रेस देखें", "viewTransaction": "लेन-देन देखें", "walletAddresses": "वॉलेट एड्रेस", + "walletAddress": "Wallet Address", "walletName": "वॉलेट का नाम", "walletNameDescription": "अपने वॉलेट के लिए एक नाम दर्ज करें", "walletNameHint": "वॉलेट का नाम", @@ -253,8 +258,8 @@ "walletSetupMessage": "वॉलेट स्थापित करना", "walletsTitle": "वॉलेट", "warning": "चेतावनी !", - "welcomeMessage": "स्वागत!\n\nयह कार्लसन मोबाइल {version} है - कार्लसन के लिए मोबाइल वॉलेट।", - "welcomeText": "कार्लसन मोबाइल में आपका स्वागत है। आगे बढ़ने के लिए, आप एक नया वॉलेट बना सकते हैं या मौजूदा वॉलेट आयात कर सकते हैं।", + "welcomeMessage": "स्वागत है!\n\nयह कस्पियम का संस्करण {version} है - कस्पा के लिए मोबाइल वॉलेट", + "welcomeText": "कैपियम में आपका स्वागत है। आगे बढ़ने के लिए, आप एक नया वॉलेट बना सकते हैं या एक मौजूदा वॉलेट को आयात कर सकते हैं।", "xMinutes": "{minutes, plural, =1{1 मिनट} other{{minutes} मिनट}} के बाद", "yes": "हाँ", "yesButton": "हाँ", @@ -264,6 +269,8 @@ "nodeSecureConnection": "सुरक्षित संयोजन", "karlsenUriInvalid": "अमान्य Karlsen URI", "compoundUtxos": "यौगिक लेनदेन", + "compoundRequired": "Compound required", + "compoundRequiredDescription": "The transaction amount requires too many UTXOs. Compounding will reduce the number of UTXOs.", "compoundUtxosDescription": "एकाधिक UTXOs को एक में संयोजित करें", "compoundUtxosConfirmation": "मिश्रित लेनदेन?", "compoundingUtxos": "शेष राशि के साथ एड्रेस देखें", @@ -288,10 +295,8 @@ "addressFilterDialogTitle": "एड्रेस फ़िल्टर", "addressFilterDialogOptionAllAddresses": "सभी एड्रेस देखें", "addressFilterDialogOptionNonZeroBalances": "शेष राशि के साथ एड्रेस देखें", - "importOption24WordsLegacyTitle": "24 शब्द गुप्त वाक्यांश आयात करें", - "importOption24WordsLegacyDescription": "v1.1.0 तक नोड वॉलेट के साथ संगत", "importOption24WordsTitle": "24 शब्द गुप्त वाक्यांश आयात करें", - "importOption24WordsDescription": "v1.2.0 से नोड वॉलेट के साथ संगत", + "importOption24WordsDescription": "CLI वॉलेट और लेजर के साथ संगत", "importOption12WordsTitle": "12 शब्द गुप्त वाक्यांश आयात करें", "importOption12WordsDescription": "वेब वॉलेट और Karlsen Desktop के साथ संगत", "importOptionKpubTitle": "केवल वाच वॉलेट आयात करें", @@ -303,5 +308,53 @@ "importKpubInvalidMessage": "कृपया जांचें कि आपकी विस्तारित पब्लिक की सही ढंग से दर्ज की गई है!", "receiveAddressListEmpty": "प्राप्त एड्रेस सूची खाली है", "changeAddressListEmpty": "एड्रेस परिवर्तन सूची खाली है", - "hintAddressListEmpty": "शीर्ष दाएं कोने से एड्रेस फ़िल्टर जांचें" -} + "hintAddressListEmpty": "शीर्ष दाएं कोने से एड्रेस फ़िल्टर जांचें", + "invalidSecretPhrase": "Invalid Secret Phrase", + "invalidSecretPhraseDetails": "The Secret Phrase you entered has an invalid checksum.", + "invalidSecretPhraseConfirmation": "I know what I'm doing", + "contactSupport": "Contact Support", + "emailAction": "Email {email}", + "noteLabel": "Note:", + "optionalLabel": "(Optional)", + "moreInfo": "More Info", + "selectAddress": "Select Address", + "kpubTitle": "Extended Public Key", + "kpubAuth": "View Extended Public Key", + "kpubDescription": "The extended public key can be used to import your wallet as a 'watch only' wallet.", + "copyKpub": "Copy Kpub", + "kpubCopied": "Extended Public Key Copied", + "kpubCopyFailed": "Failed to copy Extended Public Key", + "walletAddressesCopied": "Wallet {addressType} Addresses Copied to Clipboard", + "walletAddressesCopyFailed": "Failed to Copy Wallet {addressType} Addresses", + "txReport": "Transaction Report", + "txReportSubtitle": "Get CSV file with transaction history", + "txReportDetails": "Generate a transaction report, in CSV format, that contains all the wallet's transaction history.", + "txReportOptionIgnoreCompound": "Ignore compound transactions", + "txReportOptionIgnoreSelfTxs": "Ignore transactions sent to self", + "txReportOptionRefreshTxs": "Refresh transactions", + "txReportGenerate": "Generate", + "txReportStatusRefreshing": "Refreshing transactions", + "txReportStatusLoading": "Loading transactions", + "txReportStatusReady": "Transaction report is ready!", + "txReportGetReport": "Get Report", + "txReportDate": "Date", + "txReportSentAmount": "Sent Amount", + "txReportSentCurrency": "Sent Currency", + "txReportReceivedAmount": "Received Amount", + "txReportReceivedCurrency": "Received Currency", + "txReportFeeAmount": "Fee Amount", + "txReportFeeCurrency": "Fee Currency", + "txReportLabel": "Label", + "txReportDescription": "Description", + "txReportTxHash": "TxHash", + "txReportNote": "Note", + "txReportLabelCost": "cost", + "txReportFeeForCompound": "Fee for Compound Transaction", + "txReportFeeForSelfSend": "Fee to send to own addresses", + "txReportError": "Error generating report", + "txReportNoTxs": "Found {numberOf} transactions.", + "txReportNoLoadedTxs": "({loadedTxs} of {totalTxs})", + "txFilterDialogTitle": "Transaction Filter", + "txFilterDialogOptionAllTxs": "Show All Transactions", + "txFilterDialogOptionHideNotAcceptedCoinbase": "Hide Not Accepted Coinbase Transactions" +} \ No newline at end of file diff --git a/lib/l10n/app_hu.arb b/lib/l10n/app_hu.arb index 546073a7..ae1bd6f6 100644 --- a/lib/l10n/app_hu.arb +++ b/lib/l10n/app_hu.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2023-10-08T18:51:30.958Z", + "@@last_modified": "2024-11-1T11:12:41.441Z", "@@author": "arb-converter-cli", "account": "Fiók", "accounts": "Fiókok", @@ -19,6 +19,8 @@ "addressHint": "Cím megadása", "addressMissing": "Adj meg egy Karlsen címet", "addressShare": "Cím megosztása", + "karlsenUriCopied": "Karlsen URI Copied", + "karlsenUriCopyFailed": "Failed to copy Karlsen URI", "advancedHeader": "Haladó", "amount": "Összeg", "amountConfirm": "Összeg {amount} {coin}", @@ -78,6 +80,7 @@ "disableWalletPassword": "Jelszókérés tiltása", "doContinue": "Tovább", "donate": "Adományozás", + "donateTo": "Donate To", "dontShowAgain": "Ne mutasd újra", "emptyCardIntroUtxos": "Itt találod majd a tárcába érkezett utalások maradékait.", "emptyResult": "Nincs találat", @@ -85,6 +88,7 @@ "encryptionFailedError": "Jelszó beállítása sikertelen", "enterAddress": "Küldés erre a címre", "enterAmount": "Küldött mennyiség", + "enterFiatValue": "Enter Fiat Value", "enterNote": "Megjegyzés", "enterPasswordHint": "Írd be a jelszót", "errorMessageCopied": "Hibaüzenet a vágólapra másolva", @@ -114,7 +118,7 @@ "invalidDestinationAddress": "Érvénytelen a megadott cím", "invalidPassword": "Helytelen jelszó", "karlsenDevFund": "Karlsen fejlesztői alap", - "mobileWallet": "Karlsen Mobile tárca", + "karlsenmobileWallet": "Karlsen Mobile tárca", "language": "Nyelv", "loadingTransactions": "Tranzakciók betöltése...", "lockAppSetting": "Megnyitás hitelesítéssel", @@ -197,16 +201,16 @@ "sendTxProgressTitle": "Tranzakció küldése", "sending": "Küldés folyamatban", "sent": "Küldött", - "sentTo": "Elküldve ide", + "sentTo": "Sent to", "setPassword": "Jelszó mentése", "setPasswordSuccess": "Jelszó sikeresen beállítva", "setWalletPassword": "Jelszó beállítása", "settingsHeader": "Beállítások", "settingsTransfer": "Betöltés egy papírtárcából", "setupFailedMessage": "Valami hiba történt.", - "shareMobile": "Karlsen Mobile megosztása", - "shareMobileSubject": "Nézd meg a Karlsen Mobile tárcát", - "shareMobileText": "Próbáld ki a Karlsen Mobileot, a Karlsen mobiltárcáját!\nWebsite - mobile.karlsencoin.com", + "shareKarlsenMobile": "Karlsen Mobile megosztása", + "shareKarlsenMobileSubject": "Nézd meg a Karlsen Mobile tárcát", + "shareKarlsenMobileText": "Próbáld ki a KarlsenMobileot, a Karlsen mobiltárcáját!\nWebsite - mobile.karlsencoin.com", "somethingWentWrong": "Valami hiba történt.", "systemDefault": "Alapértelmezett", "tapToHide": "Koppints az elrejtéshez", @@ -240,12 +244,13 @@ "accepted": "elfogadva", "unknown": "ismeretlen", "unlock": "Feloldás", - "unlockBiometrics": "Hitelesítés szükséges a Karlsen Mobileba való bejelentkezéshez", + "unlockBiometrics": "Hitelesítés szükséges a KarlsenMobileba való bejelentkezéshez", "unlockPin": "a tárca megnyitásához.", "utxosUppercase": "MARADÉKOK", "viewAddress": "Cím megtekintése", "viewTransaction": "Tranzakció megtekintése", "walletAddresses": "Tárca címek", + "walletAddress": "Wallet Address", "walletName": "Tárca neve", "walletNameDescription": "Adj egy nevet a tárcának", "walletNameHint": "Tárca neve", @@ -254,7 +259,7 @@ "walletsTitle": "KLS tárcák", "warning": "FIGYELEM", "welcomeMessage": "Légy üdvözölve!\n\nEz a Karlsen mobiltárca {version} verziója.", - "welcomeText": "Üdv Karlsen Mobileban! Hozz létre egy új tárcát, vagy importálj egy meglévőt.", + "welcomeText": "Üdv KarlsenMobileban! Hozz létre egy új tárcát, vagy importálj egy meglévőt.", "xMinutes": "{minutes, plural, =1{1 perc után} other{{minutes} perc után}}", "yes": "Igen", "yesButton": "Igen", @@ -264,6 +269,8 @@ "nodeSecureConnection": "Biztonságos kapcsolat", "karlsenUriInvalid": "Helytelen Karlsen URI", "compoundUtxos": "Tranzakciók egyesítése", + "compoundRequired": "Compound required", + "compoundRequiredDescription": "The transaction amount requires too many UTXOs. Compounding will reduce the number of UTXOs.", "compoundUtxosDescription": "Több Maradék (UTXOs) egyesítése", "compoundUtxosConfirmation": "Egyesíted a tranzakciókat?", "compoundingUtxos": "Egyesített tranzakciók", @@ -288,10 +295,8 @@ "addressFilterDialogTitle": "Cím szűrő", "addressFilterDialogOptionAllAddresses": "Minden cím látható", "addressFilterDialogOptionNonZeroBalances": "Címek egyenleggel", - "importOption24WordsLegacyTitle": "24 szavas Secret Phrase importálása", - "importOption24WordsLegacyDescription": "Kompatibilis a csomóponti pénztárcával v1.1.0-ig", "importOption24WordsTitle": "24 szavas Secret Phrase importálása", - "importOption24WordsDescription": "Kompatibilis a v1.2.0 csomóponti pénztárcával", + "importOption24WordsDescription": "Kompatibilis Cli pénztárcával és Ledger-rel ", "importOption12WordsTitle": "12 szavas Secret Phrase importálása", "importOption12WordsDescription": "Kompatibilis a webes pénztárcával és Karlsen Desktop mentéssel.", "importOptionKpubTitle": "Tárca figyelés importálása", @@ -303,5 +308,53 @@ "importKpubInvalidMessage": "Ellenőrizd, hogy a kibővített nyilvános kulcs helyesen van-e megadva!", "receiveAddressListEmpty": "Saját címek listája üres", "changeAddressListEmpty": "Cserélt címek listája üres", - "hintAddressListEmpty": "Ellenőrizd a cím szűrőt a jobb felső sarokban" -} + "hintAddressListEmpty": "Ellenőrizd a cím szűrőt a jobb felső sarokban", + "invalidSecretPhrase": "Invalid Secret Phrase", + "invalidSecretPhraseDetails": "The Secret Phrase you entered has an invalid checksum.", + "invalidSecretPhraseConfirmation": "I know what I'm doing", + "contactSupport": "Contact Support", + "emailAction": "Email {email}", + "noteLabel": "Note:", + "optionalLabel": "(Optional)", + "moreInfo": "More Info", + "selectAddress": "Select Address", + "kpubTitle": "Extended Public Key", + "kpubAuth": "View Extended Public Key", + "kpubDescription": "The extended public key can be used to import your wallet as a 'watch only' wallet.", + "copyKpub": "Copy Kpub", + "kpubCopied": "Extended Public Key Copied", + "kpubCopyFailed": "Failed to copy Extended Public Key", + "walletAddressesCopied": "Wallet {addressType} Addresses Copied to Clipboard", + "walletAddressesCopyFailed": "Failed to Copy Wallet {addressType} Addresses", + "txReport": "Transaction Report", + "txReportSubtitle": "Get CSV file with transaction history", + "txReportDetails": "Generate a transaction report, in CSV format, that contains all the wallet's transaction history.", + "txReportOptionIgnoreCompound": "Ignore compound transactions", + "txReportOptionIgnoreSelfTxs": "Ignore transactions sent to self", + "txReportOptionRefreshTxs": "Refresh transactions", + "txReportGenerate": "Generate", + "txReportStatusRefreshing": "Refreshing transactions", + "txReportStatusLoading": "Loading transactions", + "txReportStatusReady": "Transaction report is ready!", + "txReportGetReport": "Get Report", + "txReportDate": "Date", + "txReportSentAmount": "Sent Amount", + "txReportSentCurrency": "Sent Currency", + "txReportReceivedAmount": "Received Amount", + "txReportReceivedCurrency": "Received Currency", + "txReportFeeAmount": "Fee Amount", + "txReportFeeCurrency": "Fee Currency", + "txReportLabel": "Label", + "txReportDescription": "Description", + "txReportTxHash": "TxHash", + "txReportNote": "Note", + "txReportLabelCost": "cost", + "txReportFeeForCompound": "Fee for Compound Transaction", + "txReportFeeForSelfSend": "Fee to send to own addresses", + "txReportError": "Error generating report", + "txReportNoTxs": "Found {numberOf} transactions.", + "txReportNoLoadedTxs": "({loadedTxs} of {totalTxs})", + "txFilterDialogTitle": "Transaction Filter", + "txFilterDialogOptionAllTxs": "Show All Transactions", + "txFilterDialogOptionHideNotAcceptedCoinbase": "Hide Not Accepted Coinbase Transactions" +} \ No newline at end of file diff --git a/lib/l10n/app_id.arb b/lib/l10n/app_id.arb index 0d41644f..b850c47f 100644 --- a/lib/l10n/app_id.arb +++ b/lib/l10n/app_id.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2023-09-25T17:48:36.587Z", + "@@last_modified": "2024-04-28T15:35:46.507Z", "@@author": "arb-converter-cli", "account": "Akun", "accounts": "Semua Akun", @@ -19,6 +19,8 @@ "addressHint": "Masukkan Alamat", "addressMissing": "Harap Masukkan Alamat", "addressShare": "Bagikan Alamat", + "karlsenUriCopied": "Karlsen URI Tersalin", + "karlsenUriCopyFailed": "Gagal menyalin Karlsen URI ", "advancedHeader": "Lanjutan", "amount": "Jumlah", "amountConfirm": "Jumlah {amount} {coin}", @@ -78,6 +80,7 @@ "disableWalletPassword": "Nonaktifkan Kata Sandi Dompet", "doContinue": "Lanjutkan", "donate": "Donasi", + "donateTo": "Donasi Ke", "dontShowAgain": "Jangan tampilkan lagi", "emptyCardIntroUtxos": "Ini adalah tab UTXO. Semua UTXO di dompet Anda akan muncul di sini", "emptyResult": "Hasilnya Kosong", @@ -85,6 +88,7 @@ "encryptionFailedError": "Gagal menetapkan kata sandi dompet", "enterAddress": "Masukkan Alamat", "enterAmount": "Masukkan Jumlah", + "enterFiatValue": "Masukkan Nilai Fiat", "enterNote": "Masukan Catatan", "enterPasswordHint": "Masukkan kata sandi Anda", "errorMessageCopied": "Pesan kesalahan telah disalin ke papan klip", @@ -114,7 +118,7 @@ "invalidDestinationAddress": "Alamat Tujuan Tidak Valid", "invalidPassword": "Kata sandi tidak valid", "karlsenDevFund": "Dana Pengembang Karlsen", - "mobileWallet": "Dompet Karlsen Mobile", + "karlsenmobileWallet": "Dompet Karlsen Mobile", "language": "Bahasa", "loadingTransactions": "Memuat Transaksi...", "lockAppSetting": "Otentikasi saat diluncurkan.", @@ -197,16 +201,16 @@ "sendTxProgressTitle": "Mengirim Transaksi", "sending": "Kirim", "sent": "Terkirim", - "sentTo": "Terkirim Kepada", + "sentTo": "Terkirim Ke", "setPassword": "Atur Kata Sandi", "setPasswordSuccess": "Kata Sandi dompet telah berhasil ditetapkan", "setWalletPassword": "Atur Kata Sandi Dompet", "settingsHeader": "Pengaturan", "settingsTransfer": "Memuat dari Dompet Kertas", "setupFailedMessage": "Ada yang salah", - "shareMobile": "Bagikan Karlsen Mobile", - "shareMobileSubject": "Periksa Dompet Karlsen Mobile", - "shareMobileText": "Periksa Karlsen Mobile - Dompet Seluler Karlsen.\nSitus Web - mobile.karlsencoin.com", + "shareKarlsenMobile": "Bagikan Karlsen Mobile", + "shareKarlsenMobileSubject": "Periksa Dompet Karlsen Mobile", + "shareKarlsenMobileText": "Periksa Karlsen Mobile - Dompet Seluler Karlsen.\nSitus Web - mobile.karlsencoin.com", "somethingWentWrong": "Ada yang salah", "systemDefault": "Sistem Bawaan", "tapToHide": "Ketuk untuk menyembunyikan", @@ -246,6 +250,7 @@ "viewAddress": "Lihat Alamat", "viewTransaction": "Lihat Transaksi", "walletAddresses": "Alamat Dompet", + "walletAddress": "Alamat Dompet", "walletName": "Nama dompet", "walletNameDescription": "Masukkan nama untuk dompet Anda", "walletNameHint": "Nama Dompet", @@ -264,6 +269,8 @@ "nodeSecureConnection": "Koneksi Aman", "karlsenUriInvalid": "URI Karlsen tidak valid", "compoundUtxos": "Gabungkan transaksi", + "compoundRequired": "Diperlukan senyawa", + "compoundRequiredDescription": "Jumlah transaksi membutuhkan terlalu banyak UTXO. Penggabungan akan mengurangi jumlah UTXO.", "compoundUtxosDescription": "Menggabungkan beberapa UTXO menjadi satu", "compoundUtxosConfirmation": "Gabungkan transaksi?", "compoundingUtxos": "Menggabungkan transaksi", @@ -288,10 +295,8 @@ "addressFilterDialogTitle": "Filter Alamat", "addressFilterDialogOptionAllAddresses": "Lihat Semua Alamat", "addressFilterDialogOptionNonZeroBalances": "Lihat Alamat Dengan Saldo", - "importOption24WordsLegacyTitle": "Impor 24 Kata Frasa Rahasia", - "importOption24WordsLegacyDescription": "Kompatibel dengan Node Wallet hingga v1.1.0", "importOption24WordsTitle": "Impor 24 Kata Frasa Rahasia", - "importOption24WordsDescription": "Kompatibel dengan Node Wallet dari v1.2.0", + "importOption24WordsDescription": "Kompatibel dengan Dompet Cli dan Ledger", "importOption12WordsTitle": "Impor 12 Kata Frasa Rahasia", "importOption12WordsDescription": "Kompatibel dengan Dompet Web dan Karlsen Desktop", "importOptionKpubTitle": "Impor Dompet Khusus Hanya Lihat Saja", @@ -303,5 +308,53 @@ "importKpubInvalidMessage": "Periksa apakah kunci publik yang diperpanjang telah dimasukkan dengan benar!", "receiveAddressListEmpty": "Daftar alamat penerima kosong", "changeAddressListEmpty": "Daftar perubahan alamat kosong", - "hintAddressListEmpty": "Periksa filter alamat dari sudut kanan atas" -} + "hintAddressListEmpty": "Periksa filter alamat dari sudut kanan atas", + "invalidSecretPhrase": "Frasa Rahasia Tidak Valid", + "invalidSecretPhraseDetails": "Frasa Rahasia yang Anda masukkan memiliki checksum yang tidak valid.", + "invalidSecretPhraseConfirmation": "Aku tahu apa yang saya lakukan", + "contactSupport": "Hubungi Dukungan", + "emailAction": "Email {email}", + "noteLabel": "Catatan:", + "optionalLabel": "(Opsional)", + "moreInfo": "Info lebih", + "selectAddress": "Pilih Alamat", + "kpubTitle": "Kunci Publik yang Diperluas", + "kpubAuth": "Lihat Kunci Publik yang Diperluas", + "kpubDescription": "Kunci publik yang diperluas dapat digunakan untuk mengimpor dompet Anda sebagai dompet 'hanya lihat saja'.", + "copyKpub": "Salin Kpub", + "kpubCopied": "Kunci Publik yang Diperluas Disalin", + "kpubCopyFailed": "Gagal menyalin Kunci Publik yang Diperluas", + "walletAddressesCopied": "Alamat {addressType} dompet yang Disalin ke Papan klip", + "walletAddressesCopyFailed": "Gagal Menyalin Alamat {addressType} dompet", + "txReport": "Laporan Transaksi", + "txReportSubtitle": "Dapatkan file CSV dengan riwayat transaksi", + "txReportDetails": "Hasilkan laporan transaksi, dalam format CSV, yang berisi semua riwayat transaksi dompet.", + "txReportOptionIgnoreCompound": "Abaikan transaksi gabungan", + "txReportOptionIgnoreSelfTxs": "Abaikan transaksi yang dikirim ke diri sendiri", + "txReportOptionRefreshTxs": "Segrakan transaksi", + "txReportGenerate": "Hasilkan", + "txReportStatusRefreshing": "Menyegarkan transaksi", + "txReportStatusLoading": "Memuat transaksi", + "txReportStatusReady": "Laporan transaksi sudah siap!", + "txReportGetReport": "Dapatkan Laporan", + "txReportDate": "Tanggal", + "txReportSentAmount": "Jumlah Terkirim", + "txReportSentCurrency": "Mata Uang yang Dikirim", + "txReportReceivedAmount": "Jumlah yang Diterima", + "txReportReceivedCurrency": "Mata Uang yang Diterima", + "txReportFeeAmount": "Jumlah Biaya", + "txReportFeeCurrency": "Biaya Mata Uang", + "txReportLabel": "Label", + "txReportDescription": "Deskripsi", + "txReportTxHash": "TxHash", + "txReportNote": "Catatan", + "txReportLabelCost": "biaya", + "txReportFeeForCompound": "Biaya Transaksi Majemuk", + "txReportFeeForSelfSend": "Biaya untuk mengirim ke alamat sendiri", + "txReportError": "Kesalahan saat membuat laporan", + "txReportNoTxs": "Transaksi {numberOf} ditemukan.", + "txReportNoLoadedTxs": "({loadedTxs} dari {totalTxs})", + "txFilterDialogTitle": "Filter Transaksi", + "txFilterDialogOptionAllTxs": "Tampilkan Semua Transaksi", + "txFilterDialogOptionHideNotAcceptedCoinbase": "Sembunyikan Transaksi Coinbase yang Tidak Diterima" +} \ No newline at end of file diff --git a/lib/l10n/app_it.arb b/lib/l10n/app_it.arb index 5b4d1533..665b5b4b 100644 --- a/lib/l10n/app_it.arb +++ b/lib/l10n/app_it.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2023-09-25T17:48:36.587Z", + "@@last_modified": "2024-11-1T11:12:41.441Z", "@@author": "arb-converter-cli", "account": "Account", "accounts": "Accounts", @@ -15,10 +15,12 @@ "addingNodeTitle": "Aggiungendo il nodo", "address": "Indirizzo", "addressCopied": "Indirizzo copiato", - "addressCopiedFailed": "Failed to copy address", + "addressCopiedFailed": "La copia dell'indirizzo non è andata a buon fine", "addressHint": "Inserisci indirizzo", "addressMissing": "Inserisci un indirizzo", "addressShare": "Condividi indirizzo", + "karlsenUriCopied": "Karlsen URI Copied", + "karlsenUriCopyFailed": "Failed to copy Karlsen URI", "advancedHeader": "Avanzate", "amount": "Importo", "amountConfirm": "Importo {amount} {coin}", @@ -78,6 +80,7 @@ "disableWalletPassword": "Disattiva la password del wallet", "doContinue": "Continua", "donate": "Dona", + "donateTo": "Donate To", "dontShowAgain": "Non mostrare più", "emptyCardIntroUtxos": "Questa è la sezione dedicata agli UTXO. Tutti gli UTXO del tuo wallet appariranno qui", "emptyResult": "Nessun risultato", @@ -85,6 +88,7 @@ "encryptionFailedError": " \nImpostazione della password non riuscita", "enterAddress": "Inserisci indirizzo", "enterAmount": "Inserisci importo", + "enterFiatValue": "Enter Fiat Value", "enterNote": "Inserisci note", "enterPasswordHint": "Inserisci la tua password", "errorMessageCopied": "Messaggio d'errore copiato", @@ -100,10 +104,10 @@ "import": "Importa", "importSecretPhrase": "Importa frase segreta", "importSecretPhraseHint": "Inserisci la tua frase segreta di 24 parole.", - "importSecretPhraseHintCombo": "Please enter your 12 or 24 word secret phrase below.", - "importSecretPhraseHintLegacy": "Please enter your 12 word secret phrase below.", + "importSecretPhraseHintCombo": "Inserisci qui sotto le tue 12 o 24 parole chiave", + "importSecretPhraseHintLegacy": "Inserisci qui sotto le tue 12 parole chiave", "importWallet": "Importa wallet", - "importWalletDescription": "Please select an option below.", + "importWalletDescription": "Seleziona una delle opzioni disponibili sotto", "instantly": "Subito", "insufficientBalance": "Saldo insufficiente", "insufficientBalanceDetails": "Non hai abbastanza KLS per questa transazione", @@ -114,7 +118,7 @@ "invalidDestinationAddress": "L'indirizzo di destinazione inserito non è valido", "invalidPassword": "La password inserita non è valida", "karlsenDevFund": "Fondo dei developer di Karlsen", - "mobileWallet": "Karlsen Mobile Wallet", + "karlsenmobileWallet": "Karlsen Mobile Wallet", "language": "Lingua", "loadingTransactions": "Caricamento delle transazioni in corso...", "lockAppSetting": "Autenticazione all'avvio", @@ -197,16 +201,16 @@ "sendTxProgressTitle": "Invio della transazione in corso", "sending": "Invio in corso", "sent": "Inviata", - "sentTo": "Inviata a", + "sentTo": "Sent to", "setPassword": "Imposta Password", "setPasswordSuccess": "La password è stata impostata correttamente", "setWalletPassword": "Imposta la password del wallet", "settingsHeader": "Impostazioni", "settingsTransfer": "Recupera da wallet cartaceo", "setupFailedMessage": "Qualcosa è andato storto", - "shareMobile": "Condividi Karlsen Mobile", - "shareMobileSubject": "Dai un'occhiata al wallet Karlsen Mobile", - "shareMobileText": "Dai un'occhiata a Karlsen Mobile, il wallet mobile di Karlsen!\nWebsite - mobile.karlsencoin.com", + "shareKarlsenMobile": "Condividi Karlsen Mobile", + "shareKarlsenMobileSubject": "Dai un'occhiata al wallet Karlsen Mobile", + "shareKarlsenMobileText": "Dai un'occhiata a Karlsen Mobile, il wallet mobile di Karlsen!\nWebsite - mobile.karlsencoin.com", "somethingWentWrong": "Qualcosa è andato storto", "systemDefault": "Predefinito", "tapToHide": "Tocca qui per nascondere", @@ -246,6 +250,7 @@ "viewAddress": "Visualizza indirizzo", "viewTransaction": "Visualizza transazione", "walletAddresses": "Indirizzi del wallet", + "walletAddress": "Wallet Address", "walletName": "Nome del wallet", "walletNameDescription": "Inserisci un nome per il tuo wallet", "walletNameHint": "Nome del wallet", @@ -259,11 +264,13 @@ "yes": "Si", "yesButton": "Si", "yesUppercase": "SI", - "nodeNotSyncedException": "Node is not synced", - "nodeNoUTXOIndexException": "Node does not have UTXO index", - "nodeSecureConnection": "Secure connection", + "nodeNotSyncedException": "Il nodo non è sincronizzato", + "nodeNoUTXOIndexException": "Il nodo non sta indicizzando gli UTXO", + "nodeSecureConnection": "Connessione sicura", "karlsenUriInvalid": "Invalid Karlsen URI", "compoundUtxos": "Compound transactions", + "compoundRequired": "Compound required", + "compoundRequiredDescription": "The transaction amount requires too many UTXOs. Compounding will reduce the number of UTXOs.", "compoundUtxosDescription": "Combine multiple UTXOs into one", "compoundUtxosConfirmation": "Compound transactions?", "compoundingUtxos": "Compounding transactions", @@ -288,10 +295,8 @@ "addressFilterDialogTitle": "Address Filter", "addressFilterDialogOptionAllAddresses": "View All Addresses", "addressFilterDialogOptionNonZeroBalances": "View Addresses With Balance", - "importOption24WordsLegacyTitle": "Import 24 Word Secret Phrase", - "importOption24WordsLegacyDescription": "Compatible with Node Wallet up to v1.1.0", "importOption24WordsTitle": "Import 24 Word Secret Phrase", - "importOption24WordsDescription": "Compatible with Node Wallet from v1.2.0", + "importOption24WordsDescription": "Compatible with Cli Wallet and Ledger", "importOption12WordsTitle": "Import 12 Word Secret Phrase", "importOption12WordsDescription": "Compatible with Web Wallet and Karlsen Desktop", "importOptionKpubTitle": "Import Watch Only Wallet", @@ -303,5 +308,53 @@ "importKpubInvalidMessage": "Please check that your extended public key is entered correctly!", "receiveAddressListEmpty": "Receive address list is empty", "changeAddressListEmpty": "Change address list is empty", - "hintAddressListEmpty": "Check address filter from the top right corner" -} + "hintAddressListEmpty": "Check address filter from the top right corner", + "invalidSecretPhrase": "Invalid Secret Phrase", + "invalidSecretPhraseDetails": "The Secret Phrase you entered has an invalid checksum.", + "invalidSecretPhraseConfirmation": "I know what I'm doing", + "contactSupport": "Contact Support", + "emailAction": "Email {email}", + "noteLabel": "Note:", + "optionalLabel": "(Optional)", + "moreInfo": "More Info", + "selectAddress": "Select Address", + "kpubTitle": "Extended Public Key", + "kpubAuth": "View Extended Public Key", + "kpubDescription": "The extended public key can be used to import your wallet as a 'watch only' wallet.", + "copyKpub": "Copy Kpub", + "kpubCopied": "Extended Public Key Copied", + "kpubCopyFailed": "Failed to copy Extended Public Key", + "walletAddressesCopied": "Wallet {addressType} Addresses Copied to Clipboard", + "walletAddressesCopyFailed": "Failed to Copy Wallet {addressType} Addresses", + "txReport": "Transaction Report", + "txReportSubtitle": "Get CSV file with transaction history", + "txReportDetails": "Generate a transaction report, in CSV format, that contains all the wallet's transaction history.", + "txReportOptionIgnoreCompound": "Ignore compound transactions", + "txReportOptionIgnoreSelfTxs": "Ignore transactions sent to self", + "txReportOptionRefreshTxs": "Refresh transactions", + "txReportGenerate": "Generate", + "txReportStatusRefreshing": "Refreshing transactions", + "txReportStatusLoading": "Loading transactions", + "txReportStatusReady": "Transaction report is ready!", + "txReportGetReport": "Get Report", + "txReportDate": "Date", + "txReportSentAmount": "Sent Amount", + "txReportSentCurrency": "Sent Currency", + "txReportReceivedAmount": "Received Amount", + "txReportReceivedCurrency": "Received Currency", + "txReportFeeAmount": "Fee Amount", + "txReportFeeCurrency": "Fee Currency", + "txReportLabel": "Label", + "txReportDescription": "Description", + "txReportTxHash": "TxHash", + "txReportNote": "Note", + "txReportLabelCost": "cost", + "txReportFeeForCompound": "Fee for Compound Transaction", + "txReportFeeForSelfSend": "Fee to send to own addresses", + "txReportError": "Error generating report", + "txReportNoTxs": "Found {numberOf} transactions.", + "txReportNoLoadedTxs": "({loadedTxs} of {totalTxs})", + "txFilterDialogTitle": "Transaction Filter", + "txFilterDialogOptionAllTxs": "Show All Transactions", + "txFilterDialogOptionHideNotAcceptedCoinbase": "Hide Not Accepted Coinbase Transactions" +} \ No newline at end of file diff --git a/lib/l10n/app_ja.arb b/lib/l10n/app_ja.arb index 5a53bdb2..bf40eb87 100644 --- a/lib/l10n/app_ja.arb +++ b/lib/l10n/app_ja.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2023-09-25T17:48:36.587Z", + "@@last_modified": "2024-11-1T11:12:41.441Z", "@@author": "arb-converter-cli", "account": "アカウント", "accounts": "アカウント", @@ -19,6 +19,8 @@ "addressHint": "アドレスを入力", "addressMissing": "アドレスを入力してください", "addressShare": "アドレスを共有する", + "karlsenUriCopied": "Karlsen URI Copied", + "karlsenUriCopyFailed": "Failed to copy Karlsen URI", "advancedHeader": "Advanced", "amount": "Amount", "amountConfirm": "Amount {amount} {coin}", @@ -78,6 +80,7 @@ "disableWalletPassword": "ウォレットのパスワードを無効にする", "doContinue": "Continue", "donate": "Donate", + "donateTo": "Donate To", "dontShowAgain": "Don't show again", "emptyCardIntroUtxos": "This is the UTXOs tab. All UTXOs in your wallet will appear here", "emptyResult": "Empty Result", @@ -85,10 +88,11 @@ "encryptionFailedError": "ウォレットパスワードの作成に失敗しました。", "enterAddress": "アドレスを入力する", "enterAmount": "金額を入力する", + "enterFiatValue": "Enter Fiat Value", "enterNote": "Enter Note", "enterPasswordHint": "パスワードを入力する", "errorMessageCopied": "Error message copied to clipboard", - "exampleCardIntro": "カールセン モバイルへようこそ。 KLS を受け取ると、トランザクションは次のようになります。", + "exampleCardIntro": "ナトリアムへようこそ。 ナノを受け取ると、トランザクションは次のように表示されます。", "export": "Export", "fee": "Fee", "feeConfirm": "Fee {amount} {coin}", @@ -114,7 +118,7 @@ "invalidDestinationAddress": "Invalid Destination Address", "invalidPassword": "パスワードが無効です", "karlsenDevFund": "Karlsen Dev Fund", - "mobileWallet": "Karlsen Mobile Wallet", + "karlsenmobileWallet": "Karlsen Mobile Wallet", "language": "言語", "loadingTransactions": "Loading Transactions...", "lockAppSetting": "起動時に認証する", @@ -147,8 +151,8 @@ "on": "オン", "paperWallet": "ペーパーウォレット", "passwordBlank": "パスワードは空欄にできません", - "passwordNoLongerRequiredToOpenParagraph": "Karlsen Mobileを開く際にパスワードを必要としなくなります。", - "passwordWillBeRequiredToOpenParagraph": "このパスワードはKarlsen Mobileを開く際に必要となります。", + "passwordNoLongerRequiredToOpenParagraph": "Natriumを開く際にパスワードを必要としなくなります。", + "passwordWillBeRequiredToOpenParagraph": "このパスワードはNatriumを開く際に必要となります。", "passwordsDontMatch": "パスワードが一致しません", "pasteMnemonicError": "Clipboard content is not a valid secret phrase", "pending": "pending", @@ -177,7 +181,7 @@ "removeWalletDetail": "Removing this wallet will remove the Secret Phrase and all wallet-related data from this device. If the Secret Phrase is not backed up, you will never be able to access your funds again.", "removeWalletPinMessage": "Enter PIN to Remove Wallet", "removeWalletReassurance": "As long as you've backed up the Secret Phrase you have nothing to worry about.", - "requireAPasswordToOpenHeader": "Karlsen Mobileを開く際にパスワードを要求しますか?", + "requireAPasswordToOpenHeader": "Natriumを開く際にパスワードを要求しますか?", "restartSetupButton": "Restart Setup", "scanQrCode": "QRコードをスキャン", "scanQrCodeError": "Failed to parse qr code", @@ -197,16 +201,16 @@ "sendTxProgressTitle": "Sending Transaction", "sending": "送金金額", "sent": "送金した", - "sentTo": "送金先", + "sentTo": "Sent to", "setPassword": "ウォレットのパスワードを作成する", "setPasswordSuccess": "パスワードの設定に成功しました。", "setWalletPassword": "ウォレットのパスワードを作成する", "settingsHeader": "設定", "settingsTransfer": "ペーパーウォレットから読み込む", "setupFailedMessage": "Something went wrong", - "shareMobile": "Share Karlsen Mobile", - "shareMobileSubject": "Check out Karlsen Mobile Wallet", - "shareMobileText": "Check out Karlsen Mobile - Karlsen Mobile Wallet.\nWebsite - mobile.karlsencoin.com", + "shareKarlsenMobile": "Share Karlsen Mobile", + "shareKarlsenMobileSubject": "Check out Karlsen Mobile Wallet", + "shareKarlsenMobileText": "Check out Karlsen Mobile - Karlsen Mobile Wallet.\nWebsite - mobile.karlsencoin.com", "somethingWentWrong": "Something went wrong", "systemDefault": "システムのデフォルト言語", "tapToHide": "タップして非表示にする", @@ -223,13 +227,13 @@ "transactionsUppercase": "TRANSACTIONS", "transfer": "転送", "transferClose": "任意の場所をタップしてウィンドウを閉じます。", - "transferComplete": "{amount} KLS は Karlsen モバイル ウォレットに正常に転送されました。\n", + "transferComplete": "{amount} ナノがナトリアムウォレットに正常に転送されました。\n", "transferConfirmInfo": "残高{amount} ナノのウォレットが検出されました。\n", "transferConfirmInfoSecond": "確認をタップして資金を転送します。\n", "transferConfirmInfoThird": "転送が完了するまでに数秒かかる場合があります。", "transferError": "転送中にエラーが発生しました。後で再び実行してください。", "transferHeader": "資金を転送する", - "transferIntro": "このプロセスにより、資金がペーパーウォレットからKarlsen Mobileウォレットに転送されます。\n \n{button}「%1」ボタンをタップして開始します。", + "transferIntro": "このプロセスにより、資金がペーパーウォレットからNatriumウォレットに転送されます。\n \n{button}「%1」ボタンをタップして開始します。", "transferLoading": "転送中", "transferManualHint": "シードを入力してください。", "transferNoFunds": "このシードにはナノが含まれていません", @@ -240,12 +244,13 @@ "accepted": "accepted", "unknown": "unknown", "unlock": "ロックを解除する", - "unlockBiometrics": "Karlsen Mobile のロックを解除するための認証", - "unlockPin": "PIN を入力してカールセン モバイルのロックを解除します", + "unlockBiometrics": "ナトリアムのロックを解除するよう認証する", + "unlockPin": "ピンを入力してナトリアムのロックを解除する", "utxosUppercase": "UTXOs", "viewAddress": "View Address", "viewTransaction": "View Transaction", "walletAddresses": "Wallet Addresses", + "walletAddress": "Wallet Address", "walletName": "Wallet name", "walletNameDescription": "Enter a name for your wallet", "walletNameHint": "Wallet Name", @@ -254,7 +259,7 @@ "walletsTitle": "Wallets", "warning": "警告", "welcomeMessage": "Welcome!\n\nThis is version {version} of Karlsen Mobile - the mobile wallet for Karlsen", - "welcomeText": "カールセン モバイルへようこそ。 まず、新しいウォレットを作成するか、既存のウォレットをインポートします。", + "welcomeText": "ナトリアムへようこそ。最初に、新しいウォレットを作成するか、既存のウォレットをインポートします。", "xMinutes": "{minutes}", "yes": "はい", "yesButton": "Yes", @@ -264,6 +269,8 @@ "nodeSecureConnection": "Secure connection", "karlsenUriInvalid": "Invalid Karlsen URI", "compoundUtxos": "Compound transactions", + "compoundRequired": "Compound required", + "compoundRequiredDescription": "The transaction amount requires too many UTXOs. Compounding will reduce the number of UTXOs.", "compoundUtxosDescription": "Combine multiple UTXOs into one", "compoundUtxosConfirmation": "Compound transactions?", "compoundingUtxos": "Compounding transactions", @@ -288,10 +295,8 @@ "addressFilterDialogTitle": "Address Filter", "addressFilterDialogOptionAllAddresses": "View All Addresses", "addressFilterDialogOptionNonZeroBalances": "View Addresses With Balance", - "importOption24WordsLegacyTitle": "Import 24 Word Secret Phrase", - "importOption24WordsLegacyDescription": "Compatible with Node Wallet up to v1.1.0", "importOption24WordsTitle": "Import 24 Word Secret Phrase", - "importOption24WordsDescription": "Compatible with Node Wallet from v1.2.0", + "importOption24WordsDescription": "Compatible with Cli Wallet and Ledger", "importOption12WordsTitle": "Import 12 Word Secret Phrase", "importOption12WordsDescription": "Compatible with Web Wallet and Karlsen Desktop", "importOptionKpubTitle": "Import Watch Only Wallet", @@ -303,5 +308,53 @@ "importKpubInvalidMessage": "Please check that your extended public key is entered correctly!", "receiveAddressListEmpty": "Receive address list is empty", "changeAddressListEmpty": "Change address list is empty", - "hintAddressListEmpty": "Check address filter from the top right corner" -} + "hintAddressListEmpty": "Check address filter from the top right corner", + "invalidSecretPhrase": "Invalid Secret Phrase", + "invalidSecretPhraseDetails": "The Secret Phrase you entered has an invalid checksum.", + "invalidSecretPhraseConfirmation": "I know what I'm doing", + "contactSupport": "Contact Support", + "emailAction": "Email {email}", + "noteLabel": "Note:", + "optionalLabel": "(Optional)", + "moreInfo": "More Info", + "selectAddress": "Select Address", + "kpubTitle": "Extended Public Key", + "kpubAuth": "View Extended Public Key", + "kpubDescription": "The extended public key can be used to import your wallet as a 'watch only' wallet.", + "copyKpub": "Copy Kpub", + "kpubCopied": "Extended Public Key Copied", + "kpubCopyFailed": "Failed to copy Extended Public Key", + "walletAddressesCopied": "Wallet {addressType} Addresses Copied to Clipboard", + "walletAddressesCopyFailed": "Failed to Copy Wallet {addressType} Addresses", + "txReport": "Transaction Report", + "txReportSubtitle": "Get CSV file with transaction history", + "txReportDetails": "Generate a transaction report, in CSV format, that contains all the wallet's transaction history.", + "txReportOptionIgnoreCompound": "Ignore compound transactions", + "txReportOptionIgnoreSelfTxs": "Ignore transactions sent to self", + "txReportOptionRefreshTxs": "Refresh transactions", + "txReportGenerate": "Generate", + "txReportStatusRefreshing": "Refreshing transactions", + "txReportStatusLoading": "Loading transactions", + "txReportStatusReady": "Transaction report is ready!", + "txReportGetReport": "Get Report", + "txReportDate": "Date", + "txReportSentAmount": "Sent Amount", + "txReportSentCurrency": "Sent Currency", + "txReportReceivedAmount": "Received Amount", + "txReportReceivedCurrency": "Received Currency", + "txReportFeeAmount": "Fee Amount", + "txReportFeeCurrency": "Fee Currency", + "txReportLabel": "Label", + "txReportDescription": "Description", + "txReportTxHash": "TxHash", + "txReportNote": "Note", + "txReportLabelCost": "cost", + "txReportFeeForCompound": "Fee for Compound Transaction", + "txReportFeeForSelfSend": "Fee to send to own addresses", + "txReportError": "Error generating report", + "txReportNoTxs": "Found {numberOf} transactions.", + "txReportNoLoadedTxs": "({loadedTxs} of {totalTxs})", + "txFilterDialogTitle": "Transaction Filter", + "txFilterDialogOptionAllTxs": "Show All Transactions", + "txFilterDialogOptionHideNotAcceptedCoinbase": "Hide Not Accepted Coinbase Transactions" +} \ No newline at end of file diff --git a/lib/l10n/app_ka.arb b/lib/l10n/app_ka.arb index 888b2b65..98168acf 100644 --- a/lib/l10n/app_ka.arb +++ b/lib/l10n/app_ka.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2023-10-08T18:51:30.958Z", + "@@last_modified": "2024-11-1T11:12:41.441Z", "@@author": "arb-converter-cli", "account": "პირადი ანგარიში", "accounts": "პირადი ანგარიშები", @@ -19,6 +19,8 @@ "addressHint": "შეიყვანეთ მისამართი", "addressMissing": "გთხოვთ შეიყვანოთ მისამართი", "addressShare": "მისამართის გაზიარება", + "karlsenUriCopied": "Karlsen URI Copied", + "karlsenUriCopyFailed": "Failed to copy Karlsen URI", "advancedHeader": "სიღრმისეული", "amount": "ოდენობა", "amountConfirm": "ოდენობა {amount} {coin}", @@ -78,6 +80,7 @@ "disableWalletPassword": "საფულის პაროლის გამორთვა", "doContinue": "გაგრძელება", "donate": "დონაცია", + "donateTo": "Donate To", "dontShowAgain": "აღარ მაჩვენო", "emptyCardIntroUtxos": "ეს არის UTXO-ს გვერდი. ყველა UTXO თქვენს საფულეში გამოჩნდება აქ", "emptyResult": "ცარიელი შედეგი", @@ -85,6 +88,7 @@ "encryptionFailedError": "საფულის პაროლის დაყენება ვერ მოხერხდა", "enterAddress": "შეიყვანეთ მისამართი", "enterAmount": "შეიყვანეთ ოდენობა", + "enterFiatValue": "Enter Fiat Value", "enterNote": "შეიყვანეთ ტექსტი", "enterPasswordHint": "შეიყვანეთ თქვენი პაროლი", "errorMessageCopied": "შეცდომის შეტყობინება კოპირებულია ბუფერში", @@ -114,7 +118,7 @@ "invalidDestinationAddress": "არასწორი დანიშნულების მისამართი", "invalidPassword": "არასწორი პაროლი", "karlsenDevFund": "Karlsen-ს Dev ფონდი", - "mobileWallet": "Karlsen Mobile საფულე", + "karlsenmobileWallet": "Karlsen Mobile საფულე", "language": "ენა", "loadingTransactions": "ტრანზაქციები იტვირთება...", "lockAppSetting": "ავთენტიფიკაცია გაშვებისას", @@ -153,9 +157,9 @@ "pasteMnemonicError": "ბუფერში არსებული ინფორმაცია არ არის ვალიდური საიდუმლო ფრაზა", "pending": "მოლოდინის რეჟიმი", "pinConfirmError": "წერტილები არ ემთხვევა", - "pinConfirmTitle": "დაადასტურეთ თქვენი პინ", - "pinCreateTitle": "შექმენით 6-ციფრა პინ", - "pinEnterTitle": "შეიყვანეთ პინ", + "pinConfirmTitle": "დაადასტურეთ თქვენი PIN", + "pinCreateTitle": "შექმენით 6-ციფრა PIN", + "pinEnterTitle": "შეიყვანეთ PIN", "pinInvalid": "იქნა შეყვანილი არასწორი PIN", "pinMethod": "PIN", "pinSeedBackup": "შეიყვანეთ PIN საიდუმლო ფრაზის სარეზერვო ასლის შესაქმნელად", @@ -197,16 +201,16 @@ "sendTxProgressTitle": "იგზავნება ტრანზაქცია", "sending": "გაგზავნა", "sent": "გაგზავნილია", - "sentTo": "გაგზავნა ", + "sentTo": "Sent to", "setPassword": "პაროლის დაყენება", "setPasswordSuccess": "საფულის პაროლი დაყენებული იქნა", "setWalletPassword": "საფულის პაროლის დაყენება", "settingsHeader": "პარამეტრები", "settingsTransfer": "ქაღალდის საფულიდან ჩატვირთვა", "setupFailedMessage": "Რაღაც წავიდა არასწორად", - "shareMobile": "Karlsen Mobile-ის გაზიარება", - "shareMobileSubject": "Karlsen Mobile-ის საფულის შემოწმება", - "shareMobileText": "იხილეთ Karlsen Mobile - Karlsen-ს მობილური საფულე. \nვებსაიტი - mobile.karlsencoin.com", + "shareKarlsenMobile": "Karlsen Mobile-ის გაზიარება", + "shareKarlsenMobileSubject": "Kapsium-ის საფულის შემოწმება", + "shareKarlsenMobileText": "იხილეთ Karlsen Mobile - Karlsen-ს მობილური საფულე. \nვებსაიტი - mobile.karlsencoin.com", "somethingWentWrong": "Რაღაც წავიდა არასწორად", "systemDefault": "სისტემის ქარხნული პარამეტრები", "tapToHide": "შეეხეთ დასამალად", @@ -229,7 +233,7 @@ "transferConfirmInfoThird": "ტრანსფერის დასრულებას შეიძლება დასჭირდეს რამოდენიმე წამი.", "transferError": "ტრანსფერისას მოხდა შეცდომა. გთხოვთ სცადოთ მოგვიანებით.", "transferHeader": "სახსრების ტრასფერი", - "transferIntro": "ეს პროცესი გადასცემს თანხებს თქვენი ქაღალდის საფულედან თქვენს Karlsen Mobile საფულეში. \n\nშეეხეთ \"{button}\" ღილაკს დასაწყებად.", + "transferIntro": "ეს პროცესი გადაიტანს თანხებს ქაღალდის საფულედან თქვენს კასპიუმის საფულეში. \n\nშეეხეთ \"{button}\" ღილაკს დასაწყებად.", "transferLoading": "მიმდინარეობს ტრანსფერი", "transferManualHint": "გთხოვთ შეიყვანოთ seed", "transferNoFunds": "ამ seed-ს არ აქვს KLS", @@ -246,6 +250,7 @@ "viewAddress": "მისამართის ნახვა", "viewTransaction": "ტრანზაქციების ნახვა", "walletAddresses": "საფულის მისამართები", + "walletAddress": "Wallet Address", "walletName": "საფულის დასახელება", "walletNameDescription": "შეიყვანეთ დასახელება თქვენი საფულისთვის", "walletNameHint": "საფულის დასახელება", @@ -264,6 +269,8 @@ "nodeSecureConnection": "დაცული კავშირი", "karlsenUriInvalid": "არასწორი Karlsen URI", "compoundUtxos": "გაერთიანებული ტრანზაქციები", + "compoundRequired": "Compound required", + "compoundRequiredDescription": "The transaction amount requires too many UTXOs. Compounding will reduce the number of UTXOs.", "compoundUtxosDescription": "გააერთიანეთ რამდენიმე UTXO ერთში", "compoundUtxosConfirmation": "გაერთიანებული ტრანზაქციები?", "compoundingUtxos": "ტრანზაქციების გაერთიანება", @@ -288,10 +295,8 @@ "addressFilterDialogTitle": "მისამართების ფილტრი", "addressFilterDialogOptionAllAddresses": "ყველა მისამართის ნახვა", "addressFilterDialogOptionNonZeroBalances": "ბალანსიანი მისამართების ნახვა", - "importOption24WordsLegacyTitle": "24 სიტყვიანი საიდუმლო ფრაზის იმპორტი", - "importOption24WordsLegacyDescription": "თავსებადია Node Wallet-თან v1.1.0-მდე", "importOption24WordsTitle": "24 სიტყვიანი საიდუმლო ფრაზის იმპორტი", - "importOption24WordsDescription": "თავსებადია Node Wallet-თან v1.2.0-დან", + "importOption24WordsDescription": "თავსებადია Cli Wallet-თან და Ledger-თან", "importOption12WordsTitle": "12 სიტყვიანი საიდუმლო ფრაზის იმპორტი", "importOption12WordsDescription": "თავსებადია Web Wallet-თან და Karlsen Desktop-თან", "importOptionKpubTitle": "Watch Only Wallet-ის იმპორტი", @@ -303,5 +308,53 @@ "importKpubInvalidMessage": "გთხოვთ, შეამოწმოთ, რომ თქვენი გაფართოებული საჯარო გასაღები სწორად არის შეყვანილი!", "receiveAddressListEmpty": "მიმღების მისამართების სია ცარიელია", "changeAddressListEmpty": "მისამართების შეცვლა ცარიელია", - "hintAddressListEmpty": "შეამოწმეთ მისამართის ფილტრი ზედა მარჯვენა კუთხიდან" -} + "hintAddressListEmpty": "შეამოწმეთ მისამართის ფილტრი ზედა მარჯვენა კუთხიდან", + "invalidSecretPhrase": "Invalid Secret Phrase", + "invalidSecretPhraseDetails": "The Secret Phrase you entered has an invalid checksum.", + "invalidSecretPhraseConfirmation": "I know what I'm doing", + "contactSupport": "Contact Support", + "emailAction": "Email {email}", + "noteLabel": "Note:", + "optionalLabel": "(Optional)", + "moreInfo": "More Info", + "selectAddress": "Select Address", + "kpubTitle": "Extended Public Key", + "kpubAuth": "View Extended Public Key", + "kpubDescription": "The extended public key can be used to import your wallet as a 'watch only' wallet.", + "copyKpub": "Copy Kpub", + "kpubCopied": "Extended Public Key Copied", + "kpubCopyFailed": "Failed to copy Extended Public Key", + "walletAddressesCopied": "Wallet {addressType} Addresses Copied to Clipboard", + "walletAddressesCopyFailed": "Failed to Copy Wallet {addressType} Addresses", + "txReport": "Transaction Report", + "txReportSubtitle": "Get CSV file with transaction history", + "txReportDetails": "Generate a transaction report, in CSV format, that contains all the wallet's transaction history.", + "txReportOptionIgnoreCompound": "Ignore compound transactions", + "txReportOptionIgnoreSelfTxs": "Ignore transactions sent to self", + "txReportOptionRefreshTxs": "Refresh transactions", + "txReportGenerate": "Generate", + "txReportStatusRefreshing": "Refreshing transactions", + "txReportStatusLoading": "Loading transactions", + "txReportStatusReady": "Transaction report is ready!", + "txReportGetReport": "Get Report", + "txReportDate": "Date", + "txReportSentAmount": "Sent Amount", + "txReportSentCurrency": "Sent Currency", + "txReportReceivedAmount": "Received Amount", + "txReportReceivedCurrency": "Received Currency", + "txReportFeeAmount": "Fee Amount", + "txReportFeeCurrency": "Fee Currency", + "txReportLabel": "Label", + "txReportDescription": "Description", + "txReportTxHash": "TxHash", + "txReportNote": "Note", + "txReportLabelCost": "cost", + "txReportFeeForCompound": "Fee for Compound Transaction", + "txReportFeeForSelfSend": "Fee to send to own addresses", + "txReportError": "Error generating report", + "txReportNoTxs": "Found {numberOf} transactions.", + "txReportNoLoadedTxs": "({loadedTxs} of {totalTxs})", + "txFilterDialogTitle": "Transaction Filter", + "txFilterDialogOptionAllTxs": "Show All Transactions", + "txFilterDialogOptionHideNotAcceptedCoinbase": "Hide Not Accepted Coinbase Transactions" +} \ No newline at end of file diff --git a/lib/l10n/app_ko.arb b/lib/l10n/app_ko.arb index 999c80f2..c99ea687 100644 --- a/lib/l10n/app_ko.arb +++ b/lib/l10n/app_ko.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2023-09-25T17:48:36.587Z", + "@@last_modified": "2024-11-1T11:12:41.441Z", "@@author": "arb-converter-cli", "account": "계정", "accounts": "계정", @@ -19,6 +19,8 @@ "addressHint": "주소를 입력하세요", "addressMissing": "주소를 입력하세요", "addressShare": "주소 공유하기", + "karlsenUriCopied": "Karlsen URI Copied", + "karlsenUriCopyFailed": "Failed to copy Karlsen URI", "advancedHeader": "고급", "amount": "금액", "amountConfirm": "금액 {amount} {coin}", @@ -78,6 +80,7 @@ "disableWalletPassword": "지갑 비밀번호를 비활성화하기", "doContinue": "계속", "donate": "기부하기", + "donateTo": "Donate To", "dontShowAgain": "다시 보지 않기", "emptyCardIntroUtxos": "이것은 UTXOs 탭입니다. 지갑 내의 모든 UTXO가 여기에 표시됩니다", "emptyResult": "결과가 없습니다", @@ -85,10 +88,11 @@ "encryptionFailedError": "지갑 비밀번호 설정에 실패했습니다", "enterAddress": "주소를 입력하세요", "enterAmount": "금액을 입력하세요", + "enterFiatValue": "Enter Fiat Value", "enterNote": "노트를 입력하세요", "enterPasswordHint": "비밀번호를 입력하세요", "errorMessageCopied": "오류 메시지가 클립보드에 복사되었습니다", - "exampleCardIntro": "Karlsen Mobile에 오신 것을 환영합니다. KLS를 받으시면 거래가 다음과 같이 표시됩니다.", + "exampleCardIntro": "KarlsenMobile에 오신 것을 환영합니다. KLS를 받으시면 거래가 다음과 같이 표시됩니다.", "export": "내보내기", "fee": "수수료", "feeConfirm": "수수료 {amount} {coin}", @@ -114,7 +118,7 @@ "invalidDestinationAddress": "유효하지 않은 목적지 주소입니다", "invalidPassword": "유효하지 않은 비밀번호입니다", "karlsenDevFund": "Karlsen 개발자 기금", - "mobileWallet": "Karlsen Mobile 지갑", + "karlsenmobileWallet": "Karlsen Mobile 지갑", "language": "언어", "loadingTransactions": "거래 내역을 불러오는 중...", "lockAppSetting": "시작 시 인증하기", @@ -197,16 +201,16 @@ "sendTxProgressTitle": "거래 전송 중입니다", "sending": "전송중", "sent": "전송 완료", - "sentTo": "받는 사람", + "sentTo": "Sent to", "setPassword": "비밀번호를 설정하기", "setPasswordSuccess": "지갑 비밀번호가 설정되었습니다", "setWalletPassword": "지갑 비밀번호를 설정하기", "settingsHeader": "설정", "settingsTransfer": "Load from Paper Wallet", "setupFailedMessage": "문제가 발생했습니다", - "shareMobile": "Karlsen Mobile 공유 ", - "shareMobileSubject": "Check out Karlsen Mobile Wallet", - "shareMobileText": "Karlsen Mobile을 확인하세요! Karlsen의 공식 Android 지갑!", + "shareKarlsenMobile": "Karlsen Mobile 공유 ", + "shareKarlsenMobileSubject": "Check out Karlsen Mobile Wallet", + "shareKarlsenMobileText": "KarlsenMobile을 확인하세요! Karlsen의 공식 Android 지갑!", "somethingWentWrong": "Something went wrong", "systemDefault": "전화 언어", "tapToHide": "Tap to hide", @@ -246,6 +250,7 @@ "viewAddress": "주소 보기", "viewTransaction": "거래 내역 보기", "walletAddresses": "지갑 주소들", + "walletAddress": "Wallet Address", "walletName": "지갑 이름", "walletNameDescription": "지갑에 이름을 입력하세요", "walletNameHint": "지갑 이름", @@ -254,7 +259,7 @@ "walletsTitle": "Wallets", "warning": "경고", "welcomeMessage": "Welcome!\n\nThis is version {version} of Karlsen Mobile - the mobile wallet for Karlsen", - "welcomeText": "Karlsen Mobile에 오신 것을 환영합니다. 계속하려면, 새 지갑을 만들거나 기존 지갑을 불러오세요.", + "welcomeText": "KarlsenMobile에 오신 것을 환영합니다. 계속하려면, 새 지갑을 만들거나 기존 지갑을 불러오세요.", "xMinutes": "After {minutes, plural, =1{1 minute} other{{minutes} minutes}}", "yes": "네", "yesButton": "네", @@ -264,6 +269,8 @@ "nodeSecureConnection": "Secure connection", "karlsenUriInvalid": "Invalid Karlsen URI", "compoundUtxos": "Compound transactions", + "compoundRequired": "Compound required", + "compoundRequiredDescription": "The transaction amount requires too many UTXOs. Compounding will reduce the number of UTXOs.", "compoundUtxosDescription": "Combine multiple UTXOs into one", "compoundUtxosConfirmation": "Compound transactions?", "compoundingUtxos": "Compounding transactions", @@ -288,10 +295,8 @@ "addressFilterDialogTitle": "Address Filter", "addressFilterDialogOptionAllAddresses": "View All Addresses", "addressFilterDialogOptionNonZeroBalances": "View Addresses With Balance", - "importOption24WordsLegacyTitle": "Import 24 Word Secret Phrase", - "importOption24WordsLegacyDescription": "Compatible with Node Wallet up to v1.1.0", "importOption24WordsTitle": "Import 24 Word Secret Phrase", - "importOption24WordsDescription": "Compatible with Node Wallet from v1.2.0", + "importOption24WordsDescription": "Compatible with Cli Wallet and Ledger", "importOption12WordsTitle": "Import 12 Word Secret Phrase", "importOption12WordsDescription": "Compatible with Web Wallet and Karlsen Desktop", "importOptionKpubTitle": "Import Watch Only Wallet", @@ -303,5 +308,53 @@ "importKpubInvalidMessage": "Please check that your extended public key is entered correctly!", "receiveAddressListEmpty": "Receive address list is empty", "changeAddressListEmpty": "Change address list is empty", - "hintAddressListEmpty": "Check address filter from the top right corner" -} + "hintAddressListEmpty": "Check address filter from the top right corner", + "invalidSecretPhrase": "Invalid Secret Phrase", + "invalidSecretPhraseDetails": "The Secret Phrase you entered has an invalid checksum.", + "invalidSecretPhraseConfirmation": "I know what I'm doing", + "contactSupport": "Contact Support", + "emailAction": "Email {email}", + "noteLabel": "Note:", + "optionalLabel": "(Optional)", + "moreInfo": "More Info", + "selectAddress": "Select Address", + "kpubTitle": "Extended Public Key", + "kpubAuth": "View Extended Public Key", + "kpubDescription": "The extended public key can be used to import your wallet as a 'watch only' wallet.", + "copyKpub": "Copy Kpub", + "kpubCopied": "Extended Public Key Copied", + "kpubCopyFailed": "Failed to copy Extended Public Key", + "walletAddressesCopied": "Wallet {addressType} Addresses Copied to Clipboard", + "walletAddressesCopyFailed": "Failed to Copy Wallet {addressType} Addresses", + "txReport": "Transaction Report", + "txReportSubtitle": "Get CSV file with transaction history", + "txReportDetails": "Generate a transaction report, in CSV format, that contains all the wallet's transaction history.", + "txReportOptionIgnoreCompound": "Ignore compound transactions", + "txReportOptionIgnoreSelfTxs": "Ignore transactions sent to self", + "txReportOptionRefreshTxs": "Refresh transactions", + "txReportGenerate": "Generate", + "txReportStatusRefreshing": "Refreshing transactions", + "txReportStatusLoading": "Loading transactions", + "txReportStatusReady": "Transaction report is ready!", + "txReportGetReport": "Get Report", + "txReportDate": "Date", + "txReportSentAmount": "Sent Amount", + "txReportSentCurrency": "Sent Currency", + "txReportReceivedAmount": "Received Amount", + "txReportReceivedCurrency": "Received Currency", + "txReportFeeAmount": "Fee Amount", + "txReportFeeCurrency": "Fee Currency", + "txReportLabel": "Label", + "txReportDescription": "Description", + "txReportTxHash": "TxHash", + "txReportNote": "Note", + "txReportLabelCost": "cost", + "txReportFeeForCompound": "Fee for Compound Transaction", + "txReportFeeForSelfSend": "Fee to send to own addresses", + "txReportError": "Error generating report", + "txReportNoTxs": "Found {numberOf} transactions.", + "txReportNoLoadedTxs": "({loadedTxs} of {totalTxs})", + "txFilterDialogTitle": "Transaction Filter", + "txFilterDialogOptionAllTxs": "Show All Transactions", + "txFilterDialogOptionHideNotAcceptedCoinbase": "Hide Not Accepted Coinbase Transactions" +} \ No newline at end of file diff --git a/lib/l10n/app_lv.arb b/lib/l10n/app_lv.arb index 87ea80cc..7a4f81f9 100644 --- a/lib/l10n/app_lv.arb +++ b/lib/l10n/app_lv.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2023-09-25T17:48:36.587Z", + "@@last_modified": "2024-11-1T11:12:41.441Z", "@@author": "arb-converter-cli", "account": "Konts", "accounts": "Konti", @@ -19,6 +19,8 @@ "addressHint": "Enter Address", "addressMissing": "Lūdzu ievadiet adresi", "addressShare": "Kopīgot adresi", + "karlsenUriCopied": "Karlsen URI Copied", + "karlsenUriCopyFailed": "Failed to copy Karlsen URI", "advancedHeader": "Advanced", "amount": "Amount", "amountConfirm": "Amount {amount} {coin}", @@ -78,6 +80,7 @@ "disableWalletPassword": "Disable Wallet Password", "doContinue": "Continue", "donate": "Donate", + "donateTo": "Donate To", "dontShowAgain": "Don't show again", "emptyCardIntroUtxos": "This is the UTXOs tab. All UTXOs in your wallet will appear here", "emptyResult": "Empty Result", @@ -85,6 +88,7 @@ "encryptionFailedError": "Failed to set a wallet password", "enterAddress": "Ievadiet adresi", "enterAmount": "Ievadiet daudzumu", + "enterFiatValue": "Enter Fiat Value", "enterNote": "Enter Note", "enterPasswordHint": "Enter your password", "errorMessageCopied": "Error message copied to clipboard", @@ -114,7 +118,7 @@ "invalidDestinationAddress": "Invalid Destination Address", "invalidPassword": "Invalid Password", "karlsenDevFund": "Karlsen Dev Fund", - "mobileWallet": "Karlsen Mobile Wallet", + "karlsenmobileWallet": "Karlsen Mobile Wallet", "language": "Valoda", "loadingTransactions": "Loading Transactions...", "lockAppSetting": "Autentificēties palaižot", @@ -197,16 +201,16 @@ "sendTxProgressTitle": "Sending Transaction", "sending": "Sūta", "sent": "Nosūtītie", - "sentTo": "Nosūtīts", + "sentTo": "Sent to", "setPassword": "Set Password", "setPasswordSuccess": "Wallet password has been set", "setWalletPassword": "Set Wallet Password", "settingsHeader": "Iestatījumi", "settingsTransfer": "Ielādēt no papīra maka", "setupFailedMessage": "Something went wrong", - "shareMobile": "Dalīties ar Karlsen Mobile", - "shareMobileSubject": "Check out Karlsen Mobile Wallet", - "shareMobileText": "Uzmet aci Karlsen Mobile! Izcils KLS viedais maks!", + "shareKarlsenMobile": "Dalīties ar Karlsen Mobile", + "shareKarlsenMobileSubject": "Check out Karlsen Mobile Wallet", + "shareKarlsenMobileText": "Uzmet aci Karlsen Mobile! Izcils KLS viedais maks!", "somethingWentWrong": "Something went wrong", "systemDefault": "Noklusētie iestatījumi", "tapToHide": "Pieskaries, lai paslēptu", @@ -246,6 +250,7 @@ "viewAddress": "View Address", "viewTransaction": "View Transaction", "walletAddresses": "Wallet Addresses", + "walletAddress": "Wallet Address", "walletName": "Wallet name", "walletNameDescription": "Enter a name for your wallet", "walletNameHint": "Wallet Name", @@ -264,6 +269,8 @@ "nodeSecureConnection": "Secure connection", "karlsenUriInvalid": "Invalid Karlsen URI", "compoundUtxos": "Compound transactions", + "compoundRequired": "Compound required", + "compoundRequiredDescription": "The transaction amount requires too many UTXOs. Compounding will reduce the number of UTXOs.", "compoundUtxosDescription": "Combine multiple UTXOs into one", "compoundUtxosConfirmation": "Compound transactions?", "compoundingUtxos": "Compounding transactions", @@ -288,10 +295,8 @@ "addressFilterDialogTitle": "Address Filter", "addressFilterDialogOptionAllAddresses": "View All Addresses", "addressFilterDialogOptionNonZeroBalances": "View Addresses With Balance", - "importOption24WordsLegacyTitle": "Import 24 Word Secret Phrase", - "importOption24WordsLegacyDescription": "Compatible with Node Wallet up to v1.1.0", "importOption24WordsTitle": "Import 24 Word Secret Phrase", - "importOption24WordsDescription": "Compatible with Node Wallet from v1.2.0", + "importOption24WordsDescription": "Compatible with Cli Wallet and Ledger", "importOption12WordsTitle": "Import 12 Word Secret Phrase", "importOption12WordsDescription": "Compatible with Web Wallet and Karlsen Desktop", "importOptionKpubTitle": "Import Watch Only Wallet", @@ -303,5 +308,53 @@ "importKpubInvalidMessage": "Please check that your extended public key is entered correctly!", "receiveAddressListEmpty": "Receive address list is empty", "changeAddressListEmpty": "Change address list is empty", - "hintAddressListEmpty": "Check address filter from the top right corner" -} + "hintAddressListEmpty": "Check address filter from the top right corner", + "invalidSecretPhrase": "Invalid Secret Phrase", + "invalidSecretPhraseDetails": "The Secret Phrase you entered has an invalid checksum.", + "invalidSecretPhraseConfirmation": "I know what I'm doing", + "contactSupport": "Contact Support", + "emailAction": "Email {email}", + "noteLabel": "Note:", + "optionalLabel": "(Optional)", + "moreInfo": "More Info", + "selectAddress": "Select Address", + "kpubTitle": "Extended Public Key", + "kpubAuth": "View Extended Public Key", + "kpubDescription": "The extended public key can be used to import your wallet as a 'watch only' wallet.", + "copyKpub": "Copy Kpub", + "kpubCopied": "Extended Public Key Copied", + "kpubCopyFailed": "Failed to copy Extended Public Key", + "walletAddressesCopied": "Wallet {addressType} Addresses Copied to Clipboard", + "walletAddressesCopyFailed": "Failed to Copy Wallet {addressType} Addresses", + "txReport": "Transaction Report", + "txReportSubtitle": "Get CSV file with transaction history", + "txReportDetails": "Generate a transaction report, in CSV format, that contains all the wallet's transaction history.", + "txReportOptionIgnoreCompound": "Ignore compound transactions", + "txReportOptionIgnoreSelfTxs": "Ignore transactions sent to self", + "txReportOptionRefreshTxs": "Refresh transactions", + "txReportGenerate": "Generate", + "txReportStatusRefreshing": "Refreshing transactions", + "txReportStatusLoading": "Loading transactions", + "txReportStatusReady": "Transaction report is ready!", + "txReportGetReport": "Get Report", + "txReportDate": "Date", + "txReportSentAmount": "Sent Amount", + "txReportSentCurrency": "Sent Currency", + "txReportReceivedAmount": "Received Amount", + "txReportReceivedCurrency": "Received Currency", + "txReportFeeAmount": "Fee Amount", + "txReportFeeCurrency": "Fee Currency", + "txReportLabel": "Label", + "txReportDescription": "Description", + "txReportTxHash": "TxHash", + "txReportNote": "Note", + "txReportLabelCost": "cost", + "txReportFeeForCompound": "Fee for Compound Transaction", + "txReportFeeForSelfSend": "Fee to send to own addresses", + "txReportError": "Error generating report", + "txReportNoTxs": "Found {numberOf} transactions.", + "txReportNoLoadedTxs": "({loadedTxs} of {totalTxs})", + "txFilterDialogTitle": "Transaction Filter", + "txFilterDialogOptionAllTxs": "Show All Transactions", + "txFilterDialogOptionHideNotAcceptedCoinbase": "Hide Not Accepted Coinbase Transactions" +} \ No newline at end of file diff --git a/lib/l10n/app_ms.arb b/lib/l10n/app_ms.arb index 10399aee..27cd7366 100644 --- a/lib/l10n/app_ms.arb +++ b/lib/l10n/app_ms.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2023-09-25T17:48:36.587Z", + "@@last_modified": "2024-11-1T11:12:41.441Z", "@@author": "arb-converter-cli", "account": "Akaun", "accounts": "Akaun", @@ -19,6 +19,8 @@ "addressHint": "Masukkan Alamat", "addressMissing": "Sila masukkan destinasi", "addressShare": "Kongsikan Alamat", + "karlsenUriCopied": "Karlsen URI Copied", + "karlsenUriCopyFailed": "Failed to copy Karlsen URI", "advancedHeader": "Maju", "amount": "Jumlah", "amountConfirm": "Jumlah {amount} {coin}", @@ -78,6 +80,7 @@ "disableWalletPassword": "Lumpuhkan Kata Laluan Dompet", "doContinue": "Teruskan", "donate": "Menderma", + "donateTo": "Donate To", "dontShowAgain": "Jangan tunjukkan lagi", "emptyCardIntroUtxos": "Ini ialah tab UTXOs. Semua UTXO dalam dompet anda akan dipaparkan di sini", "emptyResult": "Hasil Kosong", @@ -85,6 +88,7 @@ "encryptionFailedError": "Gagal menetapkan kata laluan dompet", "enterAddress": "Masukan Alamat", "enterAmount": "Masukan Amaun", + "enterFiatValue": "Enter Fiat Value", "enterNote": "Masukkan Nota", "enterPasswordHint": "Masukkan kata laluan anda", "errorMessageCopied": "Mesej ralat disalin ke papan keratan", @@ -114,7 +118,7 @@ "invalidDestinationAddress": "Alamat Destinasi Tidak Sah", "invalidPassword": "kata laluan tidak sah", "karlsenDevFund": "Dana Karlsen Dev", - "mobileWallet": "Dompet Karlsen Mobile", + "karlsenmobileWallet": "Dompet Karlsen Mobile", "language": "Bahasa", "loadingTransactions": "Memuatkan Transaksi...", "lockAppSetting": "Mengesahkan masa Pelancaran", @@ -197,16 +201,16 @@ "sendTxProgressTitle": "Menghantar Transaksi", "sending": "Sedang dihantarkan", "sent": "Dihantar", - "sentTo": "Dihantar ke", + "sentTo": "Sent to", "setPassword": "Tetapkan kata laluan", "setPasswordSuccess": "Kata laluan telah ditetapkan dengan kejayaannya", "setWalletPassword": "Tetapkan Kata Laluan Wallet", "settingsHeader": "Tetapan", "settingsTransfer": "Muatkan dari Dompet Kertas", "setupFailedMessage": "Sesuatu telah berlaku", - "shareMobile": "Bahagian Karlsen Mobile", - "shareMobileSubject": "Lihat Karlsen Mobile Wallet", - "shareMobileText": "Lihat Karlsen Mobile - Dompet Mobile Karlsen.\nLaman web - mobile.karlsencoin.com", + "shareKarlsenMobile": "Bahagian Karlsen Mobile", + "shareKarlsenMobileSubject": "Lihat Karlsen Mobile Wallet", + "shareKarlsenMobileText": "Lihat Karlsen Mobile - Dompet Mobile Karlsen.\nLaman web - mobile.karlsencoin.com", "somethingWentWrong": "Sesuatu telah berlaku", "systemDefault": "Lalai Sistem", "tapToHide": "Ketuk untuk menyaring", @@ -246,6 +250,7 @@ "viewAddress": "Lihat Alamat", "viewTransaction": "Lihat Transaksi", "walletAddresses": "Alamat Dompet", + "walletAddress": "Wallet Address", "walletName": "Nama dompet", "walletNameDescription": "Masukkan nama untuk dompet anda", "walletNameHint": "Nama Dompet", @@ -264,6 +269,8 @@ "nodeSecureConnection": "Sambungan selamat", "karlsenUriInvalid": "URI Karlsen tidak sah", "compoundUtxos": "Gabungkan Transaksi ", + "compoundRequired": "Compound required", + "compoundRequiredDescription": "The transaction amount requires too many UTXOs. Compounding will reduce the number of UTXOs.", "compoundUtxosDescription": "Gabungkan berbilang UTXO menjadi satu", "compoundUtxosConfirmation": "Kompaun Transaksi?", "compoundingUtxos": "Urus niaga pengkompaunan transaksi", @@ -288,10 +295,8 @@ "addressFilterDialogTitle": "Penapis Alamat", "addressFilterDialogOptionAllAddresses": "Lihat Semua Alamat", "addressFilterDialogOptionNonZeroBalances": "Lihat Alamat Dengan Saldo", - "importOption24WordsLegacyTitle": "Import 24 Perkataan Frasa Rahsia", - "importOption24WordsLegacyDescription": "Kompatibel dengan Node Wallet hingga v1.1.0", - "importOption24WordsTitle": "Import 24 Perkataan Frasa Rahsia", - "importOption24WordsDescription": "Kompatibel dengan Node Wallet dari v1.2.0", + "importOption24WordsTitle": "Import 24 Perkataan Frasa Rahsia ", + "importOption24WordsDescription": "Serasi dengan Dompet Cli dan Ledger", "importOption12WordsTitle": "Import 12 Perkataan Frasa Rahsia", "importOption12WordsDescription": "Serasi dengan Dompet Web dan Karlsen Desktop", "importOptionKpubTitle": "Import Dompet Hanya Lihat Sahaja", @@ -303,5 +308,53 @@ "importKpubInvalidMessage": "Sila pastikan bahawa kunci awam lanjutan anda dimasukkan dengan betul!", "receiveAddressListEmpty": "Senarai alamat terima telah kosong", "changeAddressListEmpty": "Senarai alamat tukar telah kosong", - "hintAddressListEmpty": "Semak penapis alamat dari penjuru kanan sebelah atas" -} + "hintAddressListEmpty": "Semak penapis alamat dari penjuru kanan sebelah atas", + "invalidSecretPhrase": "Invalid Secret Phrase", + "invalidSecretPhraseDetails": "The Secret Phrase you entered has an invalid checksum.", + "invalidSecretPhraseConfirmation": "I know what I'm doing", + "contactSupport": "Contact Support", + "emailAction": "Email {email}", + "noteLabel": "Note:", + "optionalLabel": "(Optional)", + "moreInfo": "More Info", + "selectAddress": "Select Address", + "kpubTitle": "Extended Public Key", + "kpubAuth": "View Extended Public Key", + "kpubDescription": "The extended public key can be used to import your wallet as a 'watch only' wallet.", + "copyKpub": "Copy Kpub", + "kpubCopied": "Extended Public Key Copied", + "kpubCopyFailed": "Failed to copy Extended Public Key", + "walletAddressesCopied": "Wallet {addressType} Addresses Copied to Clipboard", + "walletAddressesCopyFailed": "Failed to Copy Wallet {addressType} Addresses", + "txReport": "Transaction Report", + "txReportSubtitle": "Get CSV file with transaction history", + "txReportDetails": "Generate a transaction report, in CSV format, that contains all the wallet's transaction history.", + "txReportOptionIgnoreCompound": "Ignore compound transactions", + "txReportOptionIgnoreSelfTxs": "Ignore transactions sent to self", + "txReportOptionRefreshTxs": "Refresh transactions", + "txReportGenerate": "Generate", + "txReportStatusRefreshing": "Refreshing transactions", + "txReportStatusLoading": "Loading transactions", + "txReportStatusReady": "Transaction report is ready!", + "txReportGetReport": "Get Report", + "txReportDate": "Date", + "txReportSentAmount": "Sent Amount", + "txReportSentCurrency": "Sent Currency", + "txReportReceivedAmount": "Received Amount", + "txReportReceivedCurrency": "Received Currency", + "txReportFeeAmount": "Fee Amount", + "txReportFeeCurrency": "Fee Currency", + "txReportLabel": "Label", + "txReportDescription": "Description", + "txReportTxHash": "TxHash", + "txReportNote": "Note", + "txReportLabelCost": "cost", + "txReportFeeForCompound": "Fee for Compound Transaction", + "txReportFeeForSelfSend": "Fee to send to own addresses", + "txReportError": "Error generating report", + "txReportNoTxs": "Found {numberOf} transactions.", + "txReportNoLoadedTxs": "({loadedTxs} of {totalTxs})", + "txFilterDialogTitle": "Transaction Filter", + "txFilterDialogOptionAllTxs": "Show All Transactions", + "txFilterDialogOptionHideNotAcceptedCoinbase": "Hide Not Accepted Coinbase Transactions" +} \ No newline at end of file diff --git a/lib/l10n/app_nl.arb b/lib/l10n/app_nl.arb index ad7dcae9..2f633552 100644 --- a/lib/l10n/app_nl.arb +++ b/lib/l10n/app_nl.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2023-09-25T17:48:36.587Z", + "@@last_modified": "2024-11-1T11:12:41.441Z", "@@author": "arb-converter-cli", "account": "Account", "accounts": "Accounts", @@ -15,10 +15,12 @@ "addingNodeTitle": "Node wordt toegevoegd", "address": "Adres", "addressCopied": "Adres gekopieerd", - "addressCopiedFailed": "Failed to copy address", + "addressCopiedFailed": "Adres kopiëren is mislukt", "addressHint": "Voer adres in", "addressMissing": "Voer a.u.b. een adres in", "addressShare": "Deel adres", + "karlsenUriCopied": "Karlsen URI Copied", + "karlsenUriCopyFailed": "Failed to copy Karlsen URI", "advancedHeader": "Geavanceerd", "amount": "Hoeveelheid", "amountConfirm": "Hoeveelheid {amount} {coin}", @@ -78,6 +80,7 @@ "disableWalletPassword": "Wachtwoord van je wallet uitschakelen", "doContinue": "Doorgaan", "donate": "Doneer", + "donateTo": "Donate To", "dontShowAgain": "Niet meer laten zien", "emptyCardIntroUtxos": "Dit is de UTXOs tab. Alle UTXOs in je wallet zullen hier te zien zijn", "emptyResult": "Leeg resultaat", @@ -85,6 +88,7 @@ "encryptionFailedError": "Kan geen wachtwoord voor je wallet instellen", "enterAddress": "Vul adres in", "enterAmount": "Vul bedrag in", + "enterFiatValue": "Enter Fiat Value", "enterNote": "Notitie invoeren", "enterPasswordHint": "Voer je wachtwoord in", "errorMessageCopied": "Fout melding gekopieerd naar klembord", @@ -100,21 +104,21 @@ "import": "Importeren", "importSecretPhrase": "Importeer Secret Phrase", "importSecretPhraseHint": "Vul hieronder jouw uit 24 woorden bestaande Secret Phrase in", - "importSecretPhraseHintCombo": "Please enter your 12 or 24 word secret phrase below.", - "importSecretPhraseHintLegacy": "Please enter your 12 word secret phrase below.", + "importSecretPhraseHintCombo": "Voer hieronder alsjeblieft jouw seed phrase bestaande uit 12 of 24 woorden in.", + "importSecretPhraseHintLegacy": "Voer hieronder uw seed phrase van 12 woorden in.", "importWallet": "Importeer wallet", - "importWalletDescription": "Please select an option below.", + "importWalletDescription": "Selecteer hieronder een optie.", "instantly": "Direct", "insufficientBalance": "Onvoldoende saldo", "insufficientBalanceDetails": "Je hebt niet genoeg KLS voor deze transactie", "invalidAddress": "Ongeldig adres van ontvanger", "invalidAmount": "Ongeldige hoeveelheid", "invalidChecksumMessage": "Controleer a.u.b. of je Secret Phrase\n goed is ingevoerd!", - "invalidKpubMessage": "Please check that your extended public key is entered correctly!", + "invalidKpubMessage": "Controleer alsjeblieft of je extended public key juist is ingevoerd!", "invalidDestinationAddress": "Ongeldig ontvangstadres", "invalidPassword": "Wachtwoord ongeldig", "karlsenDevFund": "Karlsen Dev Fund", - "mobileWallet": "Karlsen Mobile Wallet", + "karlsenmobileWallet": "Karlsen Mobile Wallet", "language": "Taal", "loadingTransactions": "Laden Transacties...", "lockAppSetting": "Authoriseer bij opstarten", @@ -197,16 +201,16 @@ "sendTxProgressTitle": "Transactie versturen", "sending": "Versturen", "sent": "Verstuurd", - "sentTo": "Verstuurd naar", + "sentTo": "Sent to", "setPassword": "Wachtwoord aanmaken", "setPasswordSuccess": "Wachtwoord van je wallet is succesvol ingesteld", "setWalletPassword": "Stel een wachtwoord voor je portemonnee in", "settingsHeader": "Instellingen", "settingsTransfer": "Van Paper Wallet importeren", "setupFailedMessage": "Er is iets verkeerd gegaan", - "shareMobile": "Deel Karlsen Mobile", - "shareMobileSubject": "Probeer de Karlsen Mobile Wallet", - "shareMobileText": "Probeer Karlsen Mobile! Karlsen Mobiele Wallet.\nWebsite - mobile.karlsencoin.com", + "shareKarlsenMobile": "Deel Karlsen Mobile", + "shareKarlsenMobileSubject": "Probeer de Karlsen Mobile Wallet", + "shareKarlsenMobileText": "Probeer Karlsen Mobile! Karlsen Mobiele Wallet.\nWebsite - mobile.karlsencoin.com", "somethingWentWrong": "Er is iets verkeerd gegaan", "systemDefault": "Systeem standaardinsteliingen", "tapToHide": "Tik om te verbergen", @@ -236,8 +240,8 @@ "transferQrScanError": "Deze QR-code bevat geen geldige seed.", "transferQrScanHint": "Scan een Karlsen \nseed of een private key", "unconfirmed": "onbevestigd", - "notAccepted": "not accepted", - "accepted": "accepted", + "notAccepted": "niet geaccepteerd", + "accepted": "geaccepteerd", "unknown": "Onbekend", "unlock": "Ontgrendelen", "unlockBiometrics": "Verifiëren om wallet te ontgrendelen", @@ -246,6 +250,7 @@ "viewAddress": "Bekijk adres", "viewTransaction": "Bekijk transactie", "walletAddresses": "Adressen van je Wallet", + "walletAddress": "Wallet Address", "walletName": "Naam van je wallet", "walletNameDescription": "Vul een naam voor je Wallet in", "walletNameHint": "Naam van je Wallet", @@ -262,46 +267,94 @@ "nodeNotSyncedException": "Node draait niet synchroon", "nodeNoUTXOIndexException": "Node heeft geen UTXO index", "nodeSecureConnection": "Beveiligde verbinding", - "karlsenUriInvalid": "Invalid Karlsen URI", - "compoundUtxos": "Compound transactions", - "compoundUtxosDescription": "Combine multiple UTXOs into one", - "compoundUtxosConfirmation": "Compound transactions?", - "compoundingUtxos": "Compounding transactions", - "compoundingMessage": "Please wait...", - "compoundSuccess": "Compound successful", - "compoundFailure": "Failed to compound transactions", - "compoundTooFewUtxos": "At least two UTXOs are required", - "balance": "Balance", - "maxSend": "Max Send", + "karlsenUriInvalid": "Ongeldige Karlsen URI", + "compoundUtxos": "Transacties compounden", + "compoundRequired": "Compound required", + "compoundRequiredDescription": "The transaction amount requires too many UTXOs. Compounding will reduce the number of UTXOs.", + "compoundUtxosDescription": "Combineer meerdere UTXOs in één", + "compoundUtxosConfirmation": "Transacties compounden?", + "compoundingUtxos": "Transacties aan het compounden", + "compoundingMessage": "Even wachten...", + "compoundSuccess": "Compounden gelukt", + "compoundFailure": "Transacties compounden is mislukt", + "compoundTooFewUtxos": "Ten minste twee UTXO's zijn vereist", + "balance": "Saldo", + "maxSend": "Max verzonden", "compoundUppercased": "COMPOUND", - "closeUppercased": "CLOSE", - "scanMoreAddresses": "Scan For More Addresses", - "addressDiscovery": "Address Discovery", - "scanningTitle": "Scanning", - "scanningDescription": "Scanning for new addresses...", - "scanMore": "SCAN MORE", - "scanFailedMessage": "Scan failed, please try again later", + "closeUppercased": "SLUITEN", + "scanMoreAddresses": "Scan voor meer adressen", + "addressDiscovery": "Adres opzoeken", + "scanningTitle": "Scannen", + "scanningDescription": "Scannen naar nieuwe adressen...", + "scanMore": "MEER SCANNEN", + "scanFailedMessage": "Scan mislukt, probeer het later opnieuw", "indexHeader": "Index", - "currentIndex": "Current", - "scannedIndex": "Scanned", - "newIndex": "New", - "addressFilterDialogTitle": "Address Filter", - "addressFilterDialogOptionAllAddresses": "View All Addresses", - "addressFilterDialogOptionNonZeroBalances": "View Addresses With Balance", - "importOption24WordsLegacyTitle": "Import 24 Word Secret Phrase", - "importOption24WordsLegacyDescription": "Compatible with Node Wallet up to v1.1.0", - "importOption24WordsTitle": "Import 24 Word Secret Phrase", - "importOption24WordsDescription": "Compatible with Node Wallet from v1.2.0", - "importOption12WordsTitle": "Import 12 Word Secret Phrase", - "importOption12WordsDescription": "Compatible with Web Wallet and Karlsen Desktop", - "importOptionKpubTitle": "Import Watch Only Wallet", - "importOptionKpubDescription": "Monitor the balance and transactions of a wallet using an extended public key", - "importKpub": "Import Watch Only Wallet", - "importKpubHint": "Please enter your extended public key.", - "importKpubClipboardError": "Clipboard content is not a valid extended public key", - "importKpubQrCodeError": "QR code does not contain a valid extended public key", - "importKpubInvalidMessage": "Please check that your extended public key is entered correctly!", - "receiveAddressListEmpty": "Receive address list is empty", - "changeAddressListEmpty": "Change address list is empty", - "hintAddressListEmpty": "Check address filter from the top right corner" -} + "currentIndex": "Huidige", + "scannedIndex": "Gescand", + "newIndex": "Nieuw", + "addressFilterDialogTitle": "Filter adressen", + "addressFilterDialogOptionAllAddresses": "Bekijk alle adressen", + "addressFilterDialogOptionNonZeroBalances": "Bekijk alle adressen met saldo", + "importOption24WordsTitle": "Importeer 24-woordige seed phrase", + "importOption24WordsDescription": "Compatibel met de Cli Wallet en Ledger", + "importOption12WordsTitle": "Importeer 12-woordige seed phrase", + "importOption12WordsDescription": "Compatibel met web wallet en Karlsen Desktop", + "importOptionKpubTitle": "Importeer Watch Only Wallet", + "importOptionKpubDescription": "Monitor de balans en transacties van een wallet met behulp van een extended public key", + "importKpub": "Importeer Watch Only Wallet", + "importKpubHint": "Voer alsjeblieft je extended public key in.", + "importKpubClipboardError": "Klembordinhoud is geen geldige extended public key", + "importKpubQrCodeError": "QR-code bevat geen geldige extended public key", + "importKpubInvalidMessage": "Controleer alsjeblieft of je extended public key correct is ingevoerd!", + "receiveAddressListEmpty": "Ontvangstadreslijst is leeg", + "changeAddressListEmpty": "Wisseladreslijst is leeg", + "hintAddressListEmpty": "Controleer het adresfilter vanuit de rechterbovenhoek", + "invalidSecretPhrase": "Invalid Secret Phrase", + "invalidSecretPhraseDetails": "The Secret Phrase you entered has an invalid checksum.", + "invalidSecretPhraseConfirmation": "I know what I'm doing", + "contactSupport": "Contact Support", + "emailAction": "Email {email}", + "noteLabel": "Note:", + "optionalLabel": "(Optional)", + "moreInfo": "More Info", + "selectAddress": "Select Address", + "kpubTitle": "Extended Public Key", + "kpubAuth": "View Extended Public Key", + "kpubDescription": "The extended public key can be used to import your wallet as a 'watch only' wallet.", + "copyKpub": "Copy Kpub", + "kpubCopied": "Extended Public Key Copied", + "kpubCopyFailed": "Failed to copy Extended Public Key", + "walletAddressesCopied": "Wallet {addressType} Addresses Copied to Clipboard", + "walletAddressesCopyFailed": "Failed to Copy Wallet {addressType} Addresses", + "txReport": "Transaction Report", + "txReportSubtitle": "Get CSV file with transaction history", + "txReportDetails": "Generate a transaction report, in CSV format, that contains all the wallet's transaction history.", + "txReportOptionIgnoreCompound": "Ignore compound transactions", + "txReportOptionIgnoreSelfTxs": "Ignore transactions sent to self", + "txReportOptionRefreshTxs": "Refresh transactions", + "txReportGenerate": "Generate", + "txReportStatusRefreshing": "Refreshing transactions", + "txReportStatusLoading": "Loading transactions", + "txReportStatusReady": "Transaction report is ready!", + "txReportGetReport": "Get Report", + "txReportDate": "Date", + "txReportSentAmount": "Sent Amount", + "txReportSentCurrency": "Sent Currency", + "txReportReceivedAmount": "Received Amount", + "txReportReceivedCurrency": "Received Currency", + "txReportFeeAmount": "Fee Amount", + "txReportFeeCurrency": "Fee Currency", + "txReportLabel": "Label", + "txReportDescription": "Description", + "txReportTxHash": "TxHash", + "txReportNote": "Note", + "txReportLabelCost": "cost", + "txReportFeeForCompound": "Fee for Compound Transaction", + "txReportFeeForSelfSend": "Fee to send to own addresses", + "txReportError": "Error generating report", + "txReportNoTxs": "Found {numberOf} transactions.", + "txReportNoLoadedTxs": "({loadedTxs} of {totalTxs})", + "txFilterDialogTitle": "Transaction Filter", + "txFilterDialogOptionAllTxs": "Show All Transactions", + "txFilterDialogOptionHideNotAcceptedCoinbase": "Hide Not Accepted Coinbase Transactions" +} \ No newline at end of file diff --git a/lib/l10n/app_no.arb b/lib/l10n/app_no.arb index 7ba8d646..2fa6371b 100644 --- a/lib/l10n/app_no.arb +++ b/lib/l10n/app_no.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2023-09-25T17:48:36.587Z", + "@@last_modified": "2024-11-1T11:12:41.441Z", "@@author": "arb-converter-cli", "account": "Konto", "accounts": "Kontoer", @@ -19,6 +19,8 @@ "addressHint": "Angi adresse", "addressMissing": "Angi en adresse", "addressShare": "Del adresse", + "karlsenUriCopied": "Karlsen URI Copied", + "karlsenUriCopyFailed": "Failed to copy Karlsen URI", "advancedHeader": "Avansert", "amount": "Beløp", "amountConfirm": "Beløp {amount} {coin}", @@ -78,6 +80,7 @@ "disableWalletPassword": "Deaktiver passord på lommebok", "doContinue": "Fortsett", "donate": "Doner", + "donateTo": "Donate To", "dontShowAgain": "Ikke vis på nytt", "emptyCardIntroUtxos": "Dette er UTXO-fanen. Alle UTXOene i din lommebok vil vises her", "emptyResult": "Tøm resultat", @@ -85,6 +88,7 @@ "encryptionFailedError": "Klarte ikke å sette passord på lommebok", "enterAddress": "Angi adresse", "enterAmount": "Tast inn beløp", + "enterFiatValue": "Enter Fiat Value", "enterNote": "Angi notis", "enterPasswordHint": "Tast inn ditt passord", "errorMessageCopied": "Feilmelding ble kopiert til utklippstavlen", @@ -114,7 +118,7 @@ "invalidDestinationAddress": "Ugyldig destinasjonsadresse", "invalidPassword": "Ugyldig passord", "karlsenDevFund": "Karlsen utviklerfond", - "mobileWallet": "Karlsen Mobile Wallet", + "karlsenmobileWallet": "Karlsen Mobile Wallet", "language": "Språk", "loadingTransactions": "Laster transaksjoner...", "lockAppSetting": "Verifiser ved oppstart", @@ -197,16 +201,16 @@ "sendTxProgressTitle": "Sender transaksjon", "sending": "Sender", "sent": "Sendt", - "sentTo": "Sendt til", + "sentTo": "Sent to", "setPassword": "Sett passord", "setPasswordSuccess": "Lommebokens passord er satt", "setWalletPassword": "Sett lommebokens passord", "settingsHeader": "Innstillinger", "settingsTransfer": "Last fra papirlommebok", "setupFailedMessage": "Noe gikk galt", - "shareMobile": "Del Karlsen Mobile", - "shareMobileSubject": "Sjekk ut Karlsen Mobile Wallet", - "shareMobileText": "Sjekk ut Karlsen Mobile - Den mobile lommeboken for Karlsen.\nNettsted - mobile.karlsencoin.com", + "shareKarlsenMobile": "Del Karlsen Mobile", + "shareKarlsenMobileSubject": "Sjekk ut Karlsen Mobile Wallet", + "shareKarlsenMobileText": "Sjekk ut Karlsen Mobile - Den mobile lommeboken for Karlsen.\nNettsted - mobile.karlsencoin.com", "somethingWentWrong": "Noe gikk galt", "systemDefault": "Systemstandard", "tapToHide": "Trykk for å skjule", @@ -246,6 +250,7 @@ "viewAddress": "Vis adresse", "viewTransaction": "Vis transaksjoner", "walletAddresses": "Adresser i lommebok", + "walletAddress": "Wallet Address", "walletName": "Navn på lommebok", "walletNameDescription": "Angi et navn for din lommebok", "walletNameHint": "Navn på lommebok", @@ -264,6 +269,8 @@ "nodeSecureConnection": "Sikker tilkobling", "karlsenUriInvalid": "Invalid Karlsen URI", "compoundUtxos": "Compound transactions", + "compoundRequired": "Compound required", + "compoundRequiredDescription": "The transaction amount requires too many UTXOs. Compounding will reduce the number of UTXOs.", "compoundUtxosDescription": "Combine multiple UTXOs into one", "compoundUtxosConfirmation": "Compound transactions?", "compoundingUtxos": "Compounding transactions", @@ -288,10 +295,8 @@ "addressFilterDialogTitle": "Address Filter", "addressFilterDialogOptionAllAddresses": "View All Addresses", "addressFilterDialogOptionNonZeroBalances": "View Addresses With Balance", - "importOption24WordsLegacyTitle": "Import 24 Word Secret Phrase", - "importOption24WordsLegacyDescription": "Compatible with Node Wallet up to v1.1.0", "importOption24WordsTitle": "Import 24 Word Secret Phrase", - "importOption24WordsDescription": "Compatible with Node Wallet from v1.2.0", + "importOption24WordsDescription": "Compatible with Cli Wallet and Ledger", "importOption12WordsTitle": "Import 12 Word Secret Phrase", "importOption12WordsDescription": "Compatible with Web Wallet and Karlsen Desktop", "importOptionKpubTitle": "Import Watch Only Wallet", @@ -303,5 +308,53 @@ "importKpubInvalidMessage": "Please check that your extended public key is entered correctly!", "receiveAddressListEmpty": "Receive address list is empty", "changeAddressListEmpty": "Change address list is empty", - "hintAddressListEmpty": "Check address filter from the top right corner" -} + "hintAddressListEmpty": "Check address filter from the top right corner", + "invalidSecretPhrase": "Invalid Secret Phrase", + "invalidSecretPhraseDetails": "The Secret Phrase you entered has an invalid checksum.", + "invalidSecretPhraseConfirmation": "I know what I'm doing", + "contactSupport": "Contact Support", + "emailAction": "Email {email}", + "noteLabel": "Note:", + "optionalLabel": "(Optional)", + "moreInfo": "More Info", + "selectAddress": "Select Address", + "kpubTitle": "Extended Public Key", + "kpubAuth": "View Extended Public Key", + "kpubDescription": "The extended public key can be used to import your wallet as a 'watch only' wallet.", + "copyKpub": "Copy Kpub", + "kpubCopied": "Extended Public Key Copied", + "kpubCopyFailed": "Failed to copy Extended Public Key", + "walletAddressesCopied": "Wallet {addressType} Addresses Copied to Clipboard", + "walletAddressesCopyFailed": "Failed to Copy Wallet {addressType} Addresses", + "txReport": "Transaction Report", + "txReportSubtitle": "Get CSV file with transaction history", + "txReportDetails": "Generate a transaction report, in CSV format, that contains all the wallet's transaction history.", + "txReportOptionIgnoreCompound": "Ignore compound transactions", + "txReportOptionIgnoreSelfTxs": "Ignore transactions sent to self", + "txReportOptionRefreshTxs": "Refresh transactions", + "txReportGenerate": "Generate", + "txReportStatusRefreshing": "Refreshing transactions", + "txReportStatusLoading": "Loading transactions", + "txReportStatusReady": "Transaction report is ready!", + "txReportGetReport": "Get Report", + "txReportDate": "Date", + "txReportSentAmount": "Sent Amount", + "txReportSentCurrency": "Sent Currency", + "txReportReceivedAmount": "Received Amount", + "txReportReceivedCurrency": "Received Currency", + "txReportFeeAmount": "Fee Amount", + "txReportFeeCurrency": "Fee Currency", + "txReportLabel": "Label", + "txReportDescription": "Description", + "txReportTxHash": "TxHash", + "txReportNote": "Note", + "txReportLabelCost": "cost", + "txReportFeeForCompound": "Fee for Compound Transaction", + "txReportFeeForSelfSend": "Fee to send to own addresses", + "txReportError": "Error generating report", + "txReportNoTxs": "Found {numberOf} transactions.", + "txReportNoLoadedTxs": "({loadedTxs} of {totalTxs})", + "txFilterDialogTitle": "Transaction Filter", + "txFilterDialogOptionAllTxs": "Show All Transactions", + "txFilterDialogOptionHideNotAcceptedCoinbase": "Hide Not Accepted Coinbase Transactions" +} \ No newline at end of file diff --git a/lib/l10n/app_pl.arb b/lib/l10n/app_pl.arb index 888a01f2..977a6806 100644 --- a/lib/l10n/app_pl.arb +++ b/lib/l10n/app_pl.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2023-11-10T10:15:24.600Z", + "@@last_modified": "2024-11-1T11:12:41.441Z", "@@author": "arb-converter-cli", "account": "Konto", "accounts": "Konta", @@ -19,6 +19,8 @@ "addressHint": "Wpisz adres", "addressMissing": "Proszę wpisać adres", "addressShare": "Udostępnij adres", + "karlsenUriCopied": "Karlsen URI Copied", + "karlsenUriCopyFailed": "Failed to copy Karlsen URI", "advancedHeader": "Zaawansowane", "amount": "Kwota", "amountConfirm": "Kwota {amount} {coin}", @@ -78,6 +80,7 @@ "disableWalletPassword": "Wyłącz hasło portfela", "doContinue": "Kontynuuj", "donate": "Wspomóż", + "donateTo": "Donate To", "dontShowAgain": "Nie pokazuj ponownie", "emptyCardIntroUtxos": "Tu jest sekcja niewydanej reszty UTXO, wszystkie UTXO w twoim portfelu pojawią się tutaj.", "emptyResult": "Pusty wynik", @@ -85,6 +88,7 @@ "encryptionFailedError": "Nie udało się ustawić hasła portfela", "enterAddress": "Wpisz adres", "enterAmount": "Wpisz kwotę", + "enterFiatValue": "Enter Fiat Value", "enterNote": "Wpisz notatkę", "enterPasswordHint": "Wpisz swoje hasło", "errorMessageCopied": "Informacja o błędzie skopiowana do schowka", @@ -114,7 +118,7 @@ "invalidDestinationAddress": "Nieprawidłowy adres docelowy", "invalidPassword": "Nieprawidłowe hasło", "karlsenDevFund": "Fundusz rozwoju Karlsen", - "mobileWallet": "Portfel Karlsen Mobile", + "karlsenmobileWallet": "Portfel Karlsen Mobile", "language": "Język", "loadingTransactions": "Ładowanie transakcji...", "lockAppSetting": "Autentykacja przy uruchamianiu", @@ -197,16 +201,16 @@ "sendTxProgressTitle": "Wysyłanie transakcji", "sending": "Wyślij", "sent": "Wysłano", - "sentTo": "Wyślij do", + "sentTo": "Sent to", "setPassword": "Ustaw hasło", "setPasswordSuccess": "Hasło do portfela zostało ustawione", "setWalletPassword": "Ustaw hasło portfela", "settingsHeader": "Ustawienia", "settingsTransfer": "Załaduj z portfela papierowego", "setupFailedMessage": "Coś poszło nie tak", - "shareMobile": "Udostępnij Karlsen Mobile", - "shareMobileSubject": "Zapoznaj się z Karlsen Mobile", - "shareMobileText": "Zapoznaj się z mobilnym portfelem Karlsen Mobile. \nStrona internetowa - mobile.karlsencoin.com.", + "shareKarlsenMobile": "Udostępnij Karlsen Mobile", + "shareKarlsenMobileSubject": "Zapoznaj się z Karlsen Mobile", + "shareKarlsenMobileText": "Zapoznaj się z mobilnym portfelem Karlsen Mobile. \nStrona internetowa - mobile.karlsencoin.com.", "somethingWentWrong": "Coś poszło nie tak", "systemDefault": "Domyślny język systemu", "tapToHide": "Dotknij, aby ukryć", @@ -246,6 +250,7 @@ "viewAddress": "Zobacz adres", "viewTransaction": "Zobacz transakcję", "walletAddresses": "Adresy portfela", + "walletAddress": "Wallet Address", "walletName": "Nazwa portfela", "walletNameDescription": "Wpisz nazwę dla swojego portfela", "walletNameHint": "Nazwa portfela", @@ -264,6 +269,8 @@ "nodeSecureConnection": "Bezpieczne połączenie", "karlsenUriInvalid": "Nieprawidłowe URI Karlsen", "compoundUtxos": "Złóż transakcje", + "compoundRequired": "Compound required", + "compoundRequiredDescription": "The transaction amount requires too many UTXOs. Compounding will reduce the number of UTXOs.", "compoundUtxosDescription": "Złóż wiele UTXO w jedno", "compoundUtxosConfirmation": "Złożyć transakcje?", "compoundingUtxos": "Składanie transakcji", @@ -288,10 +295,8 @@ "addressFilterDialogTitle": "Filtr adresów", "addressFilterDialogOptionAllAddresses": "Wyświetl wszystkie adresy", "addressFilterDialogOptionNonZeroBalances": "Wyświetl adresy, na których jest Karlsen", - "importOption24WordsLegacyTitle": "Importuj 24-słowną tajną frazę", - "importOption24WordsLegacyDescription": "Kompatybilny z portfelem węzłów do wersji 1.1.0", "importOption24WordsTitle": "Importuj 24-słowną tajną frazę", - "importOption24WordsDescription": "Kompatybilny z portfelem węzłów od wersji 1.2.0", + "importOption24WordsDescription": "Kompatybilny z portfelem Cli i Ledger", "importOption12WordsTitle": "Importuj 12-słowną tajną frazę", "importOption12WordsDescription": "Kompatybilny z portfelem Web i Karlsen Desktop", "importOptionKpubTitle": "Importuj portfel w trybie tylko do oglądania", @@ -303,5 +308,53 @@ "importKpubInvalidMessage": "Sprawdź, czy rozszerzony klucz publiczny został wprowadzony poprawnie!", "receiveAddressListEmpty": "Lista adresów odbioru jest pusta", "changeAddressListEmpty": "Lista adresów do zmiany jest pusta", - "hintAddressListEmpty": "Sprawdź filtr adresów w prawym górnym rogu" -} + "hintAddressListEmpty": "Sprawdź filtr adresów w prawym górnym rogu", + "invalidSecretPhrase": "Invalid Secret Phrase", + "invalidSecretPhraseDetails": "The Secret Phrase you entered has an invalid checksum.", + "invalidSecretPhraseConfirmation": "I know what I'm doing", + "contactSupport": "Contact Support", + "emailAction": "Email {email}", + "noteLabel": "Note:", + "optionalLabel": "(Optional)", + "moreInfo": "More Info", + "selectAddress": "Select Address", + "kpubTitle": "Extended Public Key", + "kpubAuth": "View Extended Public Key", + "kpubDescription": "The extended public key can be used to import your wallet as a 'watch only' wallet.", + "copyKpub": "Copy Kpub", + "kpubCopied": "Extended Public Key Copied", + "kpubCopyFailed": "Failed to copy Extended Public Key", + "walletAddressesCopied": "Wallet {addressType} Addresses Copied to Clipboard", + "walletAddressesCopyFailed": "Failed to Copy Wallet {addressType} Addresses", + "txReport": "Transaction Report", + "txReportSubtitle": "Get CSV file with transaction history", + "txReportDetails": "Generate a transaction report, in CSV format, that contains all the wallet's transaction history.", + "txReportOptionIgnoreCompound": "Ignore compound transactions", + "txReportOptionIgnoreSelfTxs": "Ignore transactions sent to self", + "txReportOptionRefreshTxs": "Refresh transactions", + "txReportGenerate": "Generate", + "txReportStatusRefreshing": "Refreshing transactions", + "txReportStatusLoading": "Loading transactions", + "txReportStatusReady": "Transaction report is ready!", + "txReportGetReport": "Get Report", + "txReportDate": "Date", + "txReportSentAmount": "Sent Amount", + "txReportSentCurrency": "Sent Currency", + "txReportReceivedAmount": "Received Amount", + "txReportReceivedCurrency": "Received Currency", + "txReportFeeAmount": "Fee Amount", + "txReportFeeCurrency": "Fee Currency", + "txReportLabel": "Label", + "txReportDescription": "Description", + "txReportTxHash": "TxHash", + "txReportNote": "Note", + "txReportLabelCost": "cost", + "txReportFeeForCompound": "Fee for Compound Transaction", + "txReportFeeForSelfSend": "Fee to send to own addresses", + "txReportError": "Error generating report", + "txReportNoTxs": "Found {numberOf} transactions.", + "txReportNoLoadedTxs": "({loadedTxs} of {totalTxs})", + "txFilterDialogTitle": "Transaction Filter", + "txFilterDialogOptionAllTxs": "Show All Transactions", + "txFilterDialogOptionHideNotAcceptedCoinbase": "Hide Not Accepted Coinbase Transactions" +} \ No newline at end of file diff --git a/lib/l10n/app_pt.arb b/lib/l10n/app_pt.arb index 424720ab..a6da40d6 100644 --- a/lib/l10n/app_pt.arb +++ b/lib/l10n/app_pt.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2023-09-25T17:48:36.587Z", + "@@last_modified": "2024-04-18T20:07:44.355Z", "@@author": "arb-converter-cli", "account": "Conta", "accounts": "Contas", @@ -19,6 +19,8 @@ "addressHint": "Insira o Endereço", "addressMissing": "Por Favor Insira um Endereço", "addressShare": "Compartilhar Endereço", + "karlsenUriCopied": "URI Karlsen Copiada", + "karlsenUriCopyFailed": "Falha ao copiar a URI Karlsen", "advancedHeader": "Avançado", "amount": "Valor", "amountConfirm": "Valor {amount} {coin}", @@ -78,6 +80,7 @@ "disableWalletPassword": "Desabilitar a Senha da Carteira", "doContinue": "Continuar", "donate": "Doar", + "donateTo": "Doar para", "dontShowAgain": "Não mostrar de novo", "emptyCardIntroUtxos": "Esta é a aba UTXOs. Todos os UTXOs em sua carteira aparecerão aqui.", "emptyResult": "Resultado Vazio", @@ -85,6 +88,7 @@ "encryptionFailedError": "Falha ao definir a senha da carteira", "enterAddress": "Insira o endereço", "enterAmount": "Digite o valor", + "enterFiatValue": "Insira o Valor Fiat", "enterNote": "Digite uma Anotação", "enterPasswordHint": "Digite sua senha", "errorMessageCopied": "Mensagem de erro copiada para a área de transferência", @@ -114,7 +118,7 @@ "invalidDestinationAddress": "Endereço de destino inválido", "invalidPassword": "Senha Inválida", "karlsenDevFund": "Fundo Dev Karlsen", - "mobileWallet": "Carteira Karlsen Mobile", + "karlsenmobileWallet": "Carteira Karlsen Mobile", "language": "Língua", "loadingTransactions": "Carregando transações...", "lockAppSetting": "Autenticar ao Iniciar", @@ -204,9 +208,9 @@ "settingsHeader": "Configurações", "settingsTransfer": "Carregue Usando a Carteira de Papel", "setupFailedMessage": "Algo deu errado", - "shareMobile": "Compartilhe a Karlsen Mobile", - "shareMobileSubject": "Experimente a Carteira Karlsen Mobile", - "shareMobileText": "Confira Karlsen Mobile! Carteira Karlsen.\nWebsite - mobile.karlsencoin.com", + "shareKarlsenMobile": "Compartilhe a Karlsen Mobile", + "shareKarlsenMobileSubject": "Experimente a Carteira Karlsen Mobile", + "shareKarlsenMobileText": "Confira Karlsen Mobile! Carteira Karlsen.\nWebsite - mobile.karlsencoin.com", "somethingWentWrong": "Algo deu errado", "systemDefault": "Sistema Padrão", "tapToHide": "Toque para esconder", @@ -246,6 +250,7 @@ "viewAddress": "Ver Endereço", "viewTransaction": "Ver Transação", "walletAddresses": "Endereços da Carteira", + "walletAddress": "Endereço da Carteira", "walletName": "Nome da carteira", "walletNameDescription": "Digite um nome para a sua carteira", "walletNameHint": "Nome da Carteira", @@ -264,6 +269,8 @@ "nodeSecureConnection": "Conexão segura ", "karlsenUriInvalid": "URI de Karlsen inválido", "compoundUtxos": "Combinar transacções ", + "compoundRequired": "Necessário Combinar", + "compoundRequiredDescription": "A quantidade da transação requer demasiados UTXOs. A combinação irá reduzir o número de UTXOs.", "compoundUtxosDescription": "Combinar múltiplos UTXOs para um", "compoundUtxosConfirmation": "Combinar transacções?", "compoundingUtxos": "A combinar transacções", @@ -288,10 +295,8 @@ "addressFilterDialogTitle": "Filtro de Endereços ", "addressFilterDialogOptionAllAddresses": "Mostrar Todos Os Endereços", "addressFilterDialogOptionNonZeroBalances": "Mostrar Todos Os Endereços Com Saldo", - "importOption24WordsLegacyTitle": "Importar Frase Secreta De 24 Palavras", - "importOption24WordsLegacyDescription": "Compatível com carteira de nó até v1.1.0", "importOption24WordsTitle": "Importar Frase Secreta De 24 Palavras", - "importOption24WordsDescription": "Compatível com carteira de nó da v1.2.0", + "importOption24WordsDescription": "Compatível com carteira CLI e Ledger", "importOption12WordsTitle": "Importar Frase Secreta De 12 Palavras", "importOption12WordsDescription": "Compatível com carteira WEB e Karlsen Desktop", "importOptionKpubTitle": "Importar Carteira Só Para Visualizar ", @@ -303,5 +308,52 @@ "importKpubInvalidMessage": "Por favor verifique se a chave pública está inserida correctamente! ", "receiveAddressListEmpty": "Lista de endereços para receber vazia", "changeAddressListEmpty": "Lista de endereços de troco vazia ", - "hintAddressListEmpty": "Verificar o filtro de endereços a partir do canto no topo direito" -} + "hintAddressListEmpty": "Verificar o filtro de endereços a partir do canto no topo direito", + "invalidSecretPhrase": "Frase Secreta Inváida", + "invalidSecretPhraseDetails": "A frase secreta que inseriu tem um checksum inválido.", + "invalidSecretPhraseConfirmation": "Eu sei o que estou a fazer.", + "contactSupport": "Contactar o Suporte", + "emailAction": "Email {email}", + "noteLabel": "Nota:", + "optionalLabel": "(Opcional)", + "selectAddress": "Seleccione o Endereço", + "kpubTitle": "Chave Pública Estendida", + "kpubAuth": "Ver Chave Pública Estendida", + "kpubDescription": "A chave pública estendida pode ser usada para importar sua carteira como uma carteira 'apenas para observação'.", + "copyKpub": "Copiar Kpub", + "kpubCopied": "Chave Pública Estendida Copiada", + "kpubCopyFailed": "Falha ao copiar Chave Pública Estendida", + "walletAddressesCopied": "Endereços da Carteira {addressType} Copiados para a Área de Transferência", + "walletAddressesCopyFailed": "Falha ao Copiar Endereços da Carteira {addressType}", + "txReport": "Relatório de Transacção", + "txReportSubtitle": "Obter ficheiro CSV com o histórico de transacções", + "txReportDetails": "Gerar um relatório de transacções, em formato CSV, que contenha todo o histórico de transacções da carteira.", + "txReportOptionIgnoreCompound": "Ignorar transacções combinadas", + "txReportOptionIgnoreSelfTxs": "Ignorar transacções enviadas para si mesmo", + "txReportOptionRefreshTxs": "Atualizar transacções", + "txReportGenerate": "Gerar", + "txReportStatusRefreshing": "A atualizar transacções", + "txReportStatusLoading": "A carregar transacções", + "txReportStatusReady": "O relatório de transacções está pronto!", + "txReportGetReport": "Obter relatório", + "txReportDate": "Data", + "txReportSentAmount": "Montante Enviado", + "txReportSentCurrency": "Moeda Enviada", + "txReportReceivedAmount": "Montante Recebido", + "txReportReceivedCurrency": "Moeda Recebida", + "txReportFeeAmount": "Montante da Taxa", + "txReportFeeCurrency": "Moeda da Taxa", + "txReportLabel": "Etiqueta", + "txReportDescription": "Descrição", + "txReportTxHash": "TxHash", + "txReportNote": "Nota", + "txReportLabelCost": "custo", + "txReportFeeForCompound": "Taxa para Transacção Combinada", + "txReportFeeForSelfSend": "Taxa para enviar para os próprios endereços", + "txReportError": "Erro ao gerar o relatório", + "txReportNoTxs": "Encontradas {numberOf} transacções.", + "txReportNoLoadedTxs": "({loadedTxs} de {totalTxs})", + "txFilterDialogTitle": "Filtro de Transacções", + "txFilterDialogOptionAllTxs": "\"Mostrar Todas as Transacções\"", + "txFilterDialogOptionHideNotAcceptedCoinbase": "Ocultar Transacções da Coinbase Não Aceites" +} \ No newline at end of file diff --git a/lib/l10n/app_ro.arb b/lib/l10n/app_ro.arb index 5dfe425f..90c5cfe4 100644 --- a/lib/l10n/app_ro.arb +++ b/lib/l10n/app_ro.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2023-11-10T10:15:24.600Z", + "@@last_modified": "2024-04-18T20:07:44.355Z", "@@author": "arb-converter-cli", "account": "Cont", "accounts": "Conturi", @@ -19,6 +19,8 @@ "addressHint": "Introdu adresa", "addressMissing": "Introduceți o Adresă", "addressShare": "Distribuie Adresa", + "karlsenUriCopied": "Karlsen URI a fost copiat", + "karlsenUriCopyFailed": "Karlsen URI nu a putut fi copiat", "advancedHeader": "Avansat", "amount": "Cantitate", "amountConfirm": "Cantitate {amount} {coin}", @@ -78,6 +80,7 @@ "disableWalletPassword": "Dezactivați parola portofelului", "doContinue": "Continuă", "donate": "Donează", + "donateTo": "Donează către", "dontShowAgain": "Nu arăta din nou", "emptyCardIntroUtxos": "Aceasta este fila UTXO. Toate UTXO-urile din portofelul tău vor apărea aici", "emptyResult": "Rezultatul este gol", @@ -85,6 +88,7 @@ "encryptionFailedError": "Setarea parolei a eșuat", "enterAddress": "Introdu adresa", "enterAmount": "Introdu suma", + "enterFiatValue": "Introduceți valoarea fiat", "enterNote": "Introdu nota", "enterPasswordHint": "Introdu parola", "errorMessageCopied": "Mesajul de eroare a fost copiat în clipboard", @@ -114,7 +118,7 @@ "invalidDestinationAddress": "Adresa destinatarului este greșită", "invalidPassword": "Parolă incorectă", "karlsenDevFund": "Fondul Karlsen Dev", - "mobileWallet": "Portofelul Karlsen Mobile", + "karlsenmobileWallet": "Portofelul Karlsen Mobile", "language": "Limba", "loadingTransactions": "Tranzacțiile se încarcă...", "lockAppSetting": "Autentificare la deschidere", @@ -197,16 +201,16 @@ "sendTxProgressTitle": "Se efectuează tranzacția", "sending": "Trimitere...", "sent": "Trimis", - "sentTo": "Trimite către", + "sentTo": "Trimis către", "setPassword": "Setează parola", "setPasswordSuccess": "Parola a fost setată cu succes", "setWalletPassword": "Setați o parolă portofelului", "settingsHeader": "Setări", "settingsTransfer": "Încarcă din Paper Wallet", "setupFailedMessage": "Ceva nu a mers bine", - "shareMobile": "Distribuie Karlsen Mobile", - "shareMobileSubject": "Verifică portofelul Karlsen Mobile", - "shareMobileText": "Descoperă Karlsen Mobile - Portofelul mobil KLS.\nWebsite - mobile.karlsencoin.com", + "shareKarlsenMobile": "Distribuie Karlsen Mobile", + "shareKarlsenMobileSubject": "Verifică portofelul Karlsen Mobile", + "shareKarlsenMobileText": "Descoperă Karlsen Mobile - Portofelul mobil KLS.\nWebsite - mobile.karlsencoin.com", "somethingWentWrong": "Ceva nu a mers bine", "systemDefault": "Limba implicită", "tapToHide": "Apăsați pentru a ascunde", @@ -246,6 +250,7 @@ "viewAddress": "Vezi adresa", "viewTransaction": "Vezi tranzacția", "walletAddresses": "Adresele portofelelor", + "walletAddress": "Adresa Portofelului", "walletName": "Numele portofelului", "walletNameDescription": "Introduceți un nume pentru portofelul Dvs.", "walletNameHint": "Numele Portofelului", @@ -264,6 +269,8 @@ "nodeSecureConnection": "Conexiune securizată", "karlsenUriInvalid": "Adresa URL Karlsen este invalidă", "compoundUtxos": "Agrega tranzacțiile", + "compoundRequired": "Compus este necesar", + "compoundRequiredDescription": "Suma tranzacției necesită prea multe UTXO-uri. Compunerea va reduce numărul de UTXO-uri.", "compoundUtxosDescription": "Combină mai multe tranzacții in una singură", "compoundUtxosConfirmation": "Agregare tranzacții?", "compoundingUtxos": "Tranzacțiile se agregă", @@ -288,10 +295,8 @@ "addressFilterDialogTitle": "Filtru Adresă", "addressFilterDialogOptionAllAddresses": "Vezi toate Adresele", "addressFilterDialogOptionNonZeroBalances": "Vezi Adresele cu sold", - "importOption24WordsLegacyTitle": "Importă cele 24 cuvinte secrete", - "importOption24WordsLegacyDescription": "Compatibil cu Node Wallet până la v1.1.0", "importOption24WordsTitle": "Importă cele 24 cuvinte secrete", - "importOption24WordsDescription": "Compatibil cu Node Wallet de la v1.2.0", + "importOption24WordsDescription": "Compatibil cu Portofel Cli si Ledger", "importOption12WordsTitle": "Importă cele 12 cuvinte secrete", "importOption12WordsDescription": "Compatibil cu Web Wallet și Karlsen Desktop", "importOptionKpubTitle": "Importă Portofelul Watch Only", @@ -303,5 +308,53 @@ "importKpubInvalidMessage": "Te rog să verifici dacă cheia ta publica extinsă este introdusă corect!", "receiveAddressListEmpty": "Lista de adrese pentru primire este goală", "changeAddressListEmpty": "Modificarea listei de adresa este goală", - "hintAddressListEmpty": "Verificati filtrul de adrese din colțul din dreapta sus" -} + "hintAddressListEmpty": "Verificati filtrul de adrese din colțul din dreapta sus", + "invalidSecretPhrase": "Fraza secreta este invalidă", + "invalidSecretPhraseDetails": "Fraza secretă introdusă are o sumă de verificare invalidă.", + "invalidSecretPhraseConfirmation": "Înțeleg ce fac", + "contactSupport": "Contactează Suport-ul", + "emailAction": "Email {email}", + "noteLabel": "Notă:", + "optionalLabel": "(Opțional)", + "moreInfo": "Mai multe informații", + "selectAddress": "Selectează Adresa", + "kpubTitle": "Cheia Publică Extinsă", + "kpubAuth": "Vezi Cheia Publică Extinsă", + "kpubDescription": "Cheia publică extinsă poate fi folosită pentru a importa portofelul dvs. ca un portofel 'doar pentru vizualizare'.", + "copyKpub": "Copiază Kpub", + "kpubCopied": "Cheia Publică Extinsă a fost copiată", + "kpubCopyFailed": "Nu s-a putut copia Cheia Publică Extinsă", + "walletAddressesCopied": "Adresele portofelului {addressType} au fost copiate în clipboard", + "walletAddressesCopyFailed": "Nu s-au putut copia adresele portofelului {addressType}", + "txReport": "Raport Tranzacție", + "txReportSubtitle": "Obțineți fișierul CSV cu istoricul tranzacțiilor", + "txReportDetails": "Generați un raport de tranzacții, în format CSV, care conține întregul istoric al tranzacțiilor portofelului.", + "txReportOptionIgnoreCompound": "Ignorați tranzacțiile compuse", + "txReportOptionIgnoreSelfTxs": "Ignorați tranzacțiile trimise către sine", + "txReportOptionRefreshTxs": "Reîmprospătați tranzacțiile", + "txReportGenerate": "Generează", + "txReportStatusRefreshing": "Se reîmprospătează tranzacțiile", + "txReportStatusLoading": "Se încarcă tranzacțiile", + "txReportStatusReady": "Raportul de tranzacții este pregătit!", + "txReportGetReport": "Obțineți Raportul", + "txReportDate": "Data", + "txReportSentAmount": "Sumă Trimisă", + "txReportSentCurrency": "Monedă Trimisă", + "txReportReceivedAmount": "Suma primită", + "txReportReceivedCurrency": "Valuta primită", + "txReportFeeAmount": "Suma taxei", + "txReportFeeCurrency": "Suma Valutei", + "txReportLabel": "Etichetă", + "txReportDescription": "Descriere", + "txReportTxHash": "TxHash", + "txReportNote": "Notă", + "txReportLabelCost": "cost", + "txReportFeeForCompound": "Taxa pentru tranzacția compusă", + "txReportFeeForSelfSend": "Taxa pentru a trimite către propriile adrese", + "txReportError": "Eroare la generarea raportului", + "txReportNoTxs": "Au fost găsite {numberOf} tranzacții.", + "txReportNoLoadedTxs": "({loadedTxs} din {totalTxs})", + "txFilterDialogTitle": "Filtru de tranzacție", + "txFilterDialogOptionAllTxs": "Arată toate Tranzacțiile", + "txFilterDialogOptionHideNotAcceptedCoinbase": "Ascundeți tranzacțiile Coinbase care nu sunt acceptate" +} \ No newline at end of file diff --git a/lib/l10n/app_ru.arb b/lib/l10n/app_ru.arb index 5a3cc302..ba2c389f 100644 --- a/lib/l10n/app_ru.arb +++ b/lib/l10n/app_ru.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2023-09-25T17:48:36.587Z", + "@@last_modified": "2024-11-1T11:12:41.441Z", "@@author": "arb-converter-cli", "account": "Счёт", "accounts": "Счета", @@ -19,6 +19,8 @@ "addressHint": "Введите адрес", "addressMissing": "Пожалуйста, введите адрес", "addressShare": "Поделиться адресом", + "karlsenUriCopied": "Karlsen URI Copied", + "karlsenUriCopyFailed": "Failed to copy Karlsen URI", "advancedHeader": "Дополнительно", "amount": "Количество", "amountConfirm": "Количество {amount} {coin}", @@ -78,6 +80,7 @@ "disableWalletPassword": "Отключить пароль", "doContinue": "Продолжить", "donate": "Пожертвовать", + "donateTo": "Donate To", "dontShowAgain": "Не показывать снова", "emptyCardIntroUtxos": "Это вкладка с выходом неизрасходованных транзакций - UTXO. Здесь будут отображаться все UTXO вашего кошелька.", "emptyResult": "Пустой результат", @@ -85,6 +88,7 @@ "encryptionFailedError": "Не удалось установить пароль к кошельку", "enterAddress": "Введите адрес", "enterAmount": "Введите сумму", + "enterFiatValue": "Enter Fiat Value", "enterNote": "Введите примечание", "enterPasswordHint": "Введите свой пароль", "errorMessageCopied": "Сообщение об ошибке скопировано в буфер обмена", @@ -113,8 +117,8 @@ "invalidKpubMessage": "Проверьте, пожалуйста, правильность ввода расширенного публичного ключа!", "invalidDestinationAddress": "Неверный адрес назначения", "invalidPassword": "Неправильный пароль", - "karlsenDevFund": "Фонд разработки Каспы", - "mobileWallet": "Кошелёк Karlsen Mobile", + "karlsenDevFund": "Фонд разработки Карлсен", + "karlsenmobileWallet": "Кошелёк Karlsen Mobile", "language": "Язык", "loadingTransactions": "Загрузка переводов...", "lockAppSetting": "Аутентификация при запуске", @@ -197,16 +201,16 @@ "sendTxProgressTitle": "Отправка транзакции", "sending": "Отправить", "sent": "Отправлено", - "sentTo": "Отправлено на ", + "sentTo": "Sent to", "setPassword": "Установить пароль", "setPasswordSuccess": "Пароль был успешно установлен", "setWalletPassword": "Установить пароль кошелька", "settingsHeader": "Настройки", "settingsTransfer": "Загрузить с бумажного кошелька", "setupFailedMessage": "Что-то пошло не так", - "shareMobile": "Поделиться Karlsen Mobile", - "shareMobileSubject": "Попробуйте кошелёк Karlsen Mobile", - "shareMobileText": "Попробуйте Karlsen Mobile - мобильный кошелёк Karlsen.\nВеб-сайт - mobile.karlsencoin.com", + "shareKarlsenMobile": "Поделиться Karlsen Mobile", + "shareKarlsenMobileSubject": "Попробуйте кошелёк Karlsen Mobile", + "shareKarlsenMobileText": "Попробуйте Karlsen Mobile - мобильный кошелёк Karlsen.\nВеб-сайт - mobile.karlsencoin.com", "somethingWentWrong": "Что-то пошло не так", "systemDefault": "По умолчанию", "tapToHide": "Нажмите, чтобы скрыть", @@ -246,6 +250,7 @@ "viewAddress": "Посмотреть адрес", "viewTransaction": "Посмотреть транзакцию", "walletAddresses": "Адреса кошелька", + "walletAddress": "Wallet Address", "walletName": "Имя кошелька", "walletNameDescription": "Введите имя своего кошелька", "walletNameHint": "Имя кошелька", @@ -264,6 +269,8 @@ "nodeSecureConnection": "Безопасное соединение", "karlsenUriInvalid": "Недействительный URI Karlsen", "compoundUtxos": "Сложить транзакции", + "compoundRequired": "Compound required", + "compoundRequiredDescription": "The transaction amount requires too many UTXOs. Compounding will reduce the number of UTXOs.", "compoundUtxosDescription": "Сложить несколько UTXO в один", "compoundUtxosConfirmation": "Сложить транзакции?", "compoundingUtxos": "Сложение транзакций", @@ -288,12 +295,10 @@ "addressFilterDialogTitle": "Фильтр адресов", "addressFilterDialogOptionAllAddresses": "Просмотреть все адреса", "addressFilterDialogOptionNonZeroBalances": "Просмотреть адреса с балансом", - "importOption24WordsLegacyTitle": "Импортировать секретную фразу из 24 слов", - "importOption24WordsLegacyDescription": "Совместимость с кошельком узла до версии 1.1.0", "importOption24WordsTitle": "Импортировать секретную фразу из 24 слов", - "importOption24WordsDescription": "Совместим с кошельком узла версии 1.2.0", + "importOption24WordsDescription": "Совместим с кошельком командной строки CLI и Ledger", "importOption12WordsTitle": "Импортировать секретную фразу из 12 слов", - "importOption12WordsDescription": "Совместим с кошельком командной строки CLI", + "importOption12WordsDescription": "Совместим с кошельком командной строки CLI и Ledger", "importOptionKpubTitle": "Импортировать кошелек только для просмотра", "importOptionKpubDescription": "Наблюдать за балансом и транзакциями кошелька с помощью расширенного публичного ключа", "importKpub": "Импортировать кошелек только для просмотра", @@ -303,5 +308,53 @@ "importKpubInvalidMessage": "Проверьте, пожалуйста, правильность ввода расширенного публичного ключа!", "receiveAddressListEmpty": "Список адресов для получения пуст", "changeAddressListEmpty": "Список адресов для сдачи пуст", - "hintAddressListEmpty": "Проверьте фильтр адресов в правом верхнем углу" -} + "hintAddressListEmpty": "Проверьте фильтр адресов в правом верхнем углу", + "invalidSecretPhrase": "Invalid Secret Phrase", + "invalidSecretPhraseDetails": "The Secret Phrase you entered has an invalid checksum.", + "invalidSecretPhraseConfirmation": "I know what I'm doing", + "contactSupport": "Contact Support", + "emailAction": "Email {email}", + "noteLabel": "Note:", + "optionalLabel": "(Optional)", + "moreInfo": "More Info", + "selectAddress": "Select Address", + "kpubTitle": "Extended Public Key", + "kpubAuth": "View Extended Public Key", + "kpubDescription": "The extended public key can be used to import your wallet as a 'watch only' wallet.", + "copyKpub": "Copy Kpub", + "kpubCopied": "Extended Public Key Copied", + "kpubCopyFailed": "Failed to copy Extended Public Key", + "walletAddressesCopied": "Wallet {addressType} Addresses Copied to Clipboard", + "walletAddressesCopyFailed": "Failed to Copy Wallet {addressType} Addresses", + "txReport": "Transaction Report", + "txReportSubtitle": "Get CSV file with transaction history", + "txReportDetails": "Generate a transaction report, in CSV format, that contains all the wallet's transaction history.", + "txReportOptionIgnoreCompound": "Ignore compound transactions", + "txReportOptionIgnoreSelfTxs": "Ignore transactions sent to self", + "txReportOptionRefreshTxs": "Refresh transactions", + "txReportGenerate": "Generate", + "txReportStatusRefreshing": "Refreshing transactions", + "txReportStatusLoading": "Loading transactions", + "txReportStatusReady": "Transaction report is ready!", + "txReportGetReport": "Get Report", + "txReportDate": "Date", + "txReportSentAmount": "Sent Amount", + "txReportSentCurrency": "Sent Currency", + "txReportReceivedAmount": "Received Amount", + "txReportReceivedCurrency": "Received Currency", + "txReportFeeAmount": "Fee Amount", + "txReportFeeCurrency": "Fee Currency", + "txReportLabel": "Label", + "txReportDescription": "Description", + "txReportTxHash": "TxHash", + "txReportNote": "Note", + "txReportLabelCost": "cost", + "txReportFeeForCompound": "Fee for Compound Transaction", + "txReportFeeForSelfSend": "Fee to send to own addresses", + "txReportError": "Error generating report", + "txReportNoTxs": "Found {numberOf} transactions.", + "txReportNoLoadedTxs": "({loadedTxs} of {totalTxs})", + "txFilterDialogTitle": "Transaction Filter", + "txFilterDialogOptionAllTxs": "Show All Transactions", + "txFilterDialogOptionHideNotAcceptedCoinbase": "Hide Not Accepted Coinbase Transactions" +} \ No newline at end of file diff --git a/lib/l10n/app_sk.arb b/lib/l10n/app_sk.arb new file mode 100644 index 00000000..d27a913b --- /dev/null +++ b/lib/l10n/app_sk.arb @@ -0,0 +1,360 @@ +{ + "@@last_modified": "2024-04-18T20:07:44.355Z", + "@@author": "arb-converter-cli", + "account": "Účet", + "accounts": "Účty", + "ackBackedUp": "Ste si istí, že ste si zálohovali svoju tajnú frázu?", + "add": "Pridať", + "addAccount": "Pridať Účet", + "addContact": "Pridať kontakt", + "addNode": "Pridať Uzol", + "addNodeFailed": "Nepodarilo sa pridať Karlsen uzol ", + "addNodeFailedMessage": "Failed: {error}", + "addNodeSuccess": "Uzol Úspešne Pridaný", + "addingNodeMessage": "Čakajte prosím, kontaktuje sa uzol", + "addingNodeTitle": "Uzol sa pridáva", + "address": "Adresa", + "addressCopied": "Adresa Skopírovaná", + "addressCopiedFailed": "Nepodarilo sa skopírovať adresu", + "addressHint": "Zadajte Adresu", + "addressMissing": "Prosím Zadajte Adresu", + "addressShare": "Zdieľať Adresu", + "karlsenUriCopied": "Karlsen URI Copied", + "karlsenUriCopyFailed": "Failed to copy Karlsen URI", + "advancedHeader": "Rozšírené nastavenia", + "amount": "Čiastka", + "amountConfirm": "Čiastka {amount} {coin}", + "amountMissing": "Prosím Zadajte Čiastku", + "amountZero": "Čiastka sa nesmie rovnať nule", + "areYouSure": "Ste si istí?", + "authBiometricMessage": "Authenticate to Add Wallet", + "authMethod": "Spôsob Overovania", + "authPinMessage": "Zadajte PIN pre Pridanie Peňaženky", + "autoLockHeader": "Automaticky Zamknúť", + "available": "Available", + "backupConfirmButton": "I've Backed It Up", + "backupSecretPhrase": "Zálohovať Tajnú Frázu", + "biometricsMethod": "Biometrické údaje", + "blockExplorer": "Prieskumník Blokov", + "cancel": "Zrušiť", + "change": "Zmeniť", + "changeAddress": "Change Address", + "changeAddressCopied": "Change address copied", + "changeIndex": "Change Index", + "changeIndexParam": "Change {addressIndex}", + "checkCameraPermission": "Please check camera permissions", + "clipboardEmpty": "Clipboard is empty", + "close": "Zavrieť", + "confirm": "Potvrdiť", + "confirmPasswordHint": "Potvrdiť heslo", + "confirmations": "{confirmations} potvrdení", + "confirmed": "potvrdená", + "confirming": "potvrdzovanie", + "contactAdded": "Kontakt {contactName} bol pridaný", + "contactAddressCopied": "{address} address copied", + "contactExists": "Kontakt už Existuje", + "contactHeader": "Kontakt", + "contactInvalid": "Neplatný Názov Kontaktu", + "contactNameHint": "Zadajte Názov @", + "contactNameMissing": "Zadajte názov pre tento Kontakt", + "contactRemoved": "Kontakt {contactName} bol odstránený!", + "contactsHeader": "Kontakty", + "contactsImportErr": "Nepodarilo sa importovať kontakty", + "contactsImportSuccess": "Úspešne importované kontakty v počte - {noContacts}", + "copied": "Skopírované", + "copy": "Kopírovať", + "copyAddress": "Kopírovať Adresu", + "copyErrorButton": "Chyba pri Kopírovaní", + "createAPasswordHeader": "Vytvorte heslo.", + "createPasswordFirstParagraph": "Môžete vytvoriť heslo pre dodatočné zabezpečenie svojej peňaženky.", + "createPasswordHint": "Vytvoriť heslo", + "createPasswordSecondParagraph": "Heslo je voliteľné a vaša peňaženka bude chránená PIN kódom alebo biometrickými údajmi.", + "createPasswordSheetHeader": "Vytvoriť", + "currency": "Mena", + "currencyPoweredBy": "Powered by CoinGecko", + "defaultAccountName": "Adresa 1", + "defaultNewAccountName": "Receive {addressIndex}", + "defaultWalletName": "Moja Peňaženka", + "disablePasswordSheetHeader": "Disable", + "disablePasswordSuccess": "Password has been disabled", + "disableWalletPassword": "Disable Wallet Password", + "doContinue": "Pokračovať", + "donate": "Darovať", + "donateTo": "Donate To", + "dontShowAgain": "Don't show again", + "emptyCardIntroUtxos": "Toto je karta UTXO. Tu sa zobrazia všetky UTXO vo vašej peňaženke", + "emptyResult": "Empty Result", + "emptyWalletName": "Názov Peňaženky nesmie byť prázdny", + "encryptionFailedError": "Failed to set a wallet password", + "enterAddress": "Enter Address", + "enterAmount": "Enter Amount", + "enterFiatValue": "Enter Fiat Value", + "enterNote": "Enter Note", + "enterPasswordHint": "Enter your password", + "errorMessageCopied": "Error message copied to clipboard", + "exampleCardIntro": "This is the transactions tab. Once you send or receive a transaction, it will show up here.", + "export": "Export", + "fee": "Fee", + "feeConfirm": "Fee {amount} {coin}", + "feeTitle": "FEE", + "fetchingTransactions": "Získavanie Transakcií", + "fingerprintSeedBackup": "Authenticate to Backup Secret Phrase.", + "goBackButton": "Go Back", + "gotItButton": "Got It!", + "import": "Import", + "importSecretPhrase": "Import Secret Phrase", + "importSecretPhraseHint": "Please enter your 24 word secret phrase below.", + "importSecretPhraseHintCombo": "Please enter your 12 or 24 word secret phrase below.", + "importSecretPhraseHintLegacy": "Please enter your 12 word secret phrase below.", + "importWallet": "Import Wallet", + "importWalletDescription": "Please select an option below.", + "instantly": "Instantly", + "insufficientBalance": "Insufficient Balance", + "insufficientBalanceDetails": "Na túto transakciu nemáte dostatok KLS", + "invalidAddress": "Address entered was invalid", + "invalidAmount": "Invalid Amount", + "invalidChecksumMessage": "Please check that your Secret Phrase\n is entered correctly!", + "invalidKpubMessage": "Please check that your extended public key is entered correctly!", + "invalidDestinationAddress": "Invalid Destination Address", + "invalidPassword": "Invalid Password", + "karlsenDevFund": "Karlsen Dev Fund", + "karlsenmobileWallet": "Karlsen Mobile Wallet", + "language": "Jazyk", + "loadingTransactions": "Načítavanie Transakcií...", + "lockAppSetting": "Authenticate on Launch", + "locked": "Locked", + "loggingOutMessage": "Logging out...", + "logout": "Logout", + "logoutDialogContent": "Are you sure you want to logout from this wallet?", + "logoutOrSwitchWallet": "Logout / Switch Wallet", + "manage": "Manage", + "manualEntry": "Manual Entry", + "networkHeader": "Sieť", + "newAddress": "New Address", + "newWallet": "New Wallet", + "nextButton": "Next", + "no": "No", + "noContactsExport": "There's no contacts to export", + "noContactsImport": "No new contacts to import", + "noQrCodeFound": "No QR code found", + "noSkipButton": "No, Skip", + "noUppercase": "NO", + "nodeAddress": "Karlsen Node", + "nodeDeleteMessage": "Are you sure you want to delete?", + "nodeDeleteTitle": "Delete Karlsen Node Config?", + "nodeNameEmpty": "Názov Uzla nesmie byť prázdny", + "nodeNameHint": "Zadajte Názov Uzla", + "nodeUrlHint": "Enter Node URL", + "nodeUrlInvalid": "Invalid node URL", + "nodesSheetTitle": "Karlsen Nodes", + "off": "Off", + "on": "On", + "paperWallet": "Paper Wallet", + "passwordBlank": "Password cannot be empty", + "passwordNoLongerRequiredToOpenParagraph": "You will not need a password to open this wallet.", + "passwordWillBeRequiredToOpenParagraph": "This password will be required to open this wallet.", + "passwordsDontMatch": "Passwords do not match", + "pasteMnemonicError": "Clipboard content is not a valid secret phrase", + "pending": "pending", + "pinConfirmError": "Pins do not match", + "pinConfirmTitle": "Confirm your PIN", + "pinCreateTitle": "Create a 6-digit PIN", + "pinEnterTitle": "Enter PIN", + "pinInvalid": "Invalid PIN entered", + "pinMethod": "PIN", + "pinSeedBackup": "Enter PIN to Backup Secret Phrase", + "preferences": "Preferences", + "privacyPolicy": "Privacy Policy", + "qrInvalidAddress": "QR code does not contain a valid address", + "qrInvalidSeed": "QR code does not contain a valid seed or private key", + "qrMnemonicError": "QR code does not contain a valid secret phrase", + "receive": "Receive", + "receiveAddress": "Receive Address", + "receiveAddressCopied": "Receive address copied", + "receiveIndex": "Receive Index", + "receiveIndexParam": "Receive {addressIndex}", + "received": "Received", + "removeContact": "Remove Contact", + "removeContactConfirmation": "Ste si istí, že chcete odstrániť kontakt {contactName}?", + "removeWalletAction": "Remove Wallet", + "removeWalletBiometricsMessage": "Authenticate to Remove Wallet", + "removeWalletDetail": "Removing this wallet will remove the Secret Phrase and all wallet-related data from this device. If the Secret Phrase is not backed up, you will never be able to access your funds again.", + "removeWalletPinMessage": "Enter PIN to Remove Wallet", + "removeWalletReassurance": "As long as you've backed up the Secret Phrase you have nothing to worry about.", + "requireAPasswordToOpenHeader": "Require a password to open this wallet?", + "restartSetupButton": "Restart Setup", + "scanQrCode": "Naskenovať QR Kód", + "scanQrCodeError": "Failed to parse qr code", + "secretInfo": "In the next screen, you will see your secret phrase. It is a password to access your funds. It is crucial that you back it up and never share it with anyone.", + "secretInfoHeader": "Safety First!", + "secretPhrase": "Secret Phrase", + "secretWarning": "If you lose your device or uninstall the application, you'll need your secret phrase to recover your funds!", + "securityHeader": "Zabezpečenie", + "seed": "Seed", + "seedInvalid": "Seed is Invalid", + "send": "Send", + "sendConfirm": "Send", + "sendError": "An error occurred. Please try again", + "sendNote": "NOTE", + "sendToAddressTitle": "To", + "sendTxProgressDescription": "Počkajte, kým sa transakcia odošle", + "sendTxProgressTitle": "Odosielanie Transakcie", + "sending": "Send", + "sent": "Sent", + "sentTo": "Sent to", + "setPassword": "Set Password", + "setPasswordSuccess": "Wallet password has been set", + "setWalletPassword": "Set Wallet Password", + "settingsHeader": "Settings", + "settingsTransfer": "Load from Paper Wallet", + "setupFailedMessage": "Something went wrong", + "shareKarlsenMobile": "Share Karlsen Mobile", + "shareKarlsenMobileSubject": "Check out Karlsen Mobile Wallet", + "shareKarlsenMobileText": "Check out Karlsen Mobile - Karlsen Mobile Wallet.\nWebsite - mobile.karlsencoin.com", + "somethingWentWrong": "Something went wrong", + "systemDefault": "System Default", + "tapToHide": "Tap to hide", + "tapToReveal": "Tap to reveal", + "themeDark": "Tmavá Téma", + "themeHeader": "Téma", + "themeLight": "Svetlá Téma", + "thisWallet": "#This Wallet", + "to": "To", + "toAddress": "To Address", + "tooManyFailedAttempts": "Too many failed unlock attempts.", + "totalValue": "Total Value", + "transactionId": "ID Transakcie", + "transactionsUppercase": "TRANSAKCIE", + "transfer": "Transfer", + "transferClose": "Tap anywhere to close the window.", + "transferComplete": "{amount} KLS successfully transferred to your Karlsen Mobile Wallet.\n", + "transferConfirmInfo": "A wallet with a balance of {amount} KLS has been detected.", + "transferConfirmInfoSecond": "Tap confirm to transfer the funds.\n", + "transferConfirmInfoThird": "Transfer may take several seconds to complete.", + "transferError": "An error has occurred during the transfer. Please try again later.", + "transferHeader": "Transfer Funds", + "transferIntro": "This process will transfer the funds from a paper wallet to your Karlsen Mobile wallet.\n\nTap the \"{button}\" button to start.", + "transferLoading": "Transferring", + "transferManualHint": "Please enter the seed below.", + "transferNoFunds": "This seed does not have any KLS on it", + "transferQrScanError": "This QR code does not contain a valid seed.", + "transferQrScanHint": "Vyhľadať Karlsen\nseed alebo privátny kľúč", + "unconfirmed": "unconfirmed", + "notAccepted": "not accepted", + "accepted": "accepted", + "unknown": "unknown", + "unlock": "Unlock", + "unlockBiometrics": "Authenticate to Unlock Wallet", + "unlockPin": "Enter PIN to Unlock Wallet", + "utxosUppercase": "UTXO", + "viewAddress": "View Address", + "viewTransaction": "Zobraziť Transakciu", + "walletAddresses": "Adresy Peňaženiek", + "walletAddress": "Wallet Address", + "walletName": "Meno peňaženky", + "walletNameDescription": "Zadajte názov svojej peňaženky", + "walletNameHint": "Názov Peňaženky", + "walletSetupAddressDiscovery": "Running Address Discovery", + "walletSetupMessage": "Setting up wallet", + "walletsTitle": "Peňaženky", + "warning": "Upozornenie", + "welcomeMessage": "Welcome!\n\nThis is version {version} of Karlsen Mobile - the mobile wallet for Karlsen", + "welcomeText": "Welcome to Karlsen Mobile. To begin, you may create a new wallet or import an existing one.", + "xMinutes": "After {minutes, plural, =1{1 minute} other{{minutes} minutes}}", + "yes": "Áno", + "yesButton": "Áno", + "yesUppercase": "ÁNO", + "nodeNotSyncedException": "Uzol nie je synchronizovaný", + "nodeNoUTXOIndexException": "Uzol nemá index UTXO", + "nodeSecureConnection": "Bezpečné pripojenie", + "karlsenUriInvalid": "Neplatné Karlsen URI", + "compoundUtxos": "Compound transactions", + "compoundRequired": "Compound required", + "compoundRequiredDescription": "The transaction amount requires too many UTXOs. Compounding will reduce the number of UTXOs.", + "compoundUtxosDescription": "Kombinácia viacerých UTXO do jedného", + "compoundUtxosConfirmation": "Compound transactions?", + "compoundingUtxos": "Compounding transactions", + "compoundingMessage": "Čakajte prosím...", + "compoundSuccess": "Compound successful", + "compoundFailure": "Failed to compound transactions", + "compoundTooFewUtxos": "Vyžadujú sa najmenej dve UTXO", + "balance": "Zostatok", + "maxSend": "Max Send", + "compoundUppercased": "ZLOŽIŤ", + "closeUppercased": "ZAVRIEŤ", + "scanMoreAddresses": "Vyhľadávanie Ďalších Adries", + "addressDiscovery": "Address Discovery", + "scanningTitle": "Vyhľadávanie", + "scanningDescription": "Vyhľadávanie nových adries...", + "scanMore": "VYHĽADAŤ VIAC", + "scanFailedMessage": "Vyhľadávanie zlyhalo, skúste to prosím neskôr", + "indexHeader": "Index", + "currentIndex": "Current", + "scannedIndex": "Naskenované", + "newIndex": "New", + "addressFilterDialogTitle": "Address Filter", + "addressFilterDialogOptionAllAddresses": "Zobraziť Všetky Adresy", + "addressFilterDialogOptionNonZeroBalances": "Zobraziť Adresy so Zostatkom", + "importOption24WordsTitle": "Import 24 Word Secret Phrase", + "importOption24WordsDescription": "Compatible with Cli Wallet and Ledger", + "importOption12WordsTitle": "Import 12 Word Secret Phrase", + "importOption12WordsDescription": "Compatible with Web Wallet and Karlsen Desktop", + "importOptionKpubTitle": "Import Watch Only Wallet", + "importOptionKpubDescription": "Monitor the balance and transactions of a wallet using an extended public key", + "importKpub": "Import Watch Only Wallet", + "importKpubHint": "Zadajte prosím svoj rozšírený verejný kľúč.", + "importKpubClipboardError": "Clipboard content is not a valid extended public key", + "importKpubQrCodeError": "QR code does not contain a valid extended public key", + "importKpubInvalidMessage": "Please check that your extended public key is entered correctly!", + "receiveAddressListEmpty": "Receive address list is empty", + "changeAddressListEmpty": "Change address list is empty", + "hintAddressListEmpty": "Check address filter from the top right corner", + "invalidSecretPhrase": "Invalid Secret Phrase", + "invalidSecretPhraseDetails": "The Secret Phrase you entered has an invalid checksum.", + "invalidSecretPhraseConfirmation": "I know what I'm doing", + "contactSupport": "Contact Support", + "emailAction": "Email {email}", + "noteLabel": "Note:", + "optionalLabel": "(Optional)", + "moreInfo": "More Info", + "selectAddress": "Select Address", + "kpubTitle": "Extended Public Key", + "kpubAuth": "View Extended Public Key", + "kpubDescription": "The extended public key can be used to import your wallet as a 'watch only' wallet.", + "copyKpub": "Copy Kpub", + "kpubCopied": "Extended Public Key Copied", + "kpubCopyFailed": "Failed to copy Extended Public Key", + "walletAddressesCopied": "Wallet {addressType} Addresses Copied to Clipboard", + "walletAddressesCopyFailed": "Failed to Copy Wallet {addressType} Addresses", + "txReport": "Transaction Report", + "txReportSubtitle": "Get CSV file with transaction history", + "txReportDetails": "Generate a transaction report, in CSV format, that contains all the wallet's transaction history.", + "txReportOptionIgnoreCompound": "Ignore compound transactions", + "txReportOptionIgnoreSelfTxs": "Ignore transactions sent to self", + "txReportOptionRefreshTxs": "Refresh transactions", + "txReportGenerate": "Generate", + "txReportStatusRefreshing": "Refreshing transactions", + "txReportStatusLoading": "Loading transactions", + "txReportStatusReady": "Transaction report is ready!", + "txReportGetReport": "Get Report", + "txReportDate": "Date", + "txReportSentAmount": "Sent Amount", + "txReportSentCurrency": "Sent Currency", + "txReportReceivedAmount": "Received Amount", + "txReportReceivedCurrency": "Received Currency", + "txReportFeeAmount": "Fee Amount", + "txReportFeeCurrency": "Fee Currency", + "txReportLabel": "Label", + "txReportDescription": "Description", + "txReportTxHash": "TxHash", + "txReportNote": "Note", + "txReportLabelCost": "cost", + "txReportFeeForCompound": "Fee for Compound Transaction", + "txReportFeeForSelfSend": "Fee to send to own addresses", + "txReportError": "Error generating report", + "txReportNoTxs": "Found {numberOf} transactions.", + "txReportNoLoadedTxs": "({loadedTxs} of {totalTxs})", + "txFilterDialogTitle": "Transaction Filter", + "txFilterDialogOptionAllTxs": "Show All Transactions", + "txFilterDialogOptionHideNotAcceptedCoinbase": "Hide Not Accepted Coinbase Transactions" +} \ No newline at end of file diff --git a/lib/l10n/app_sl.arb b/lib/l10n/app_sl.arb index e80d63df..4df3d843 100644 --- a/lib/l10n/app_sl.arb +++ b/lib/l10n/app_sl.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2023-09-25T17:48:36.587Z", + "@@last_modified": "2024-11-1T11:12:41.441Z", "@@author": "arb-converter-cli", "account": "Račun", "accounts": "Računi", @@ -19,6 +19,8 @@ "addressHint": "Enter Address", "addressMissing": "Prosim vnesite naslov", "addressShare": "Deli naslov", + "karlsenUriCopied": "Karlsen URI Copied", + "karlsenUriCopyFailed": "Failed to copy Karlsen URI", "advancedHeader": "Advanced", "amount": "Amount", "amountConfirm": "Amount {amount} {coin}", @@ -78,6 +80,7 @@ "disableWalletPassword": "Disable Wallet Password", "doContinue": "Continue", "donate": "Donate", + "donateTo": "Donate To", "dontShowAgain": "Don't show again", "emptyCardIntroUtxos": "This is the UTXOs tab. All UTXOs in your wallet will appear here", "emptyResult": "Empty Result", @@ -85,6 +88,7 @@ "encryptionFailedError": "Failed to set a wallet password", "enterAddress": "Vnesite naslov", "enterAmount": "Vnesite znesek", + "enterFiatValue": "Enter Fiat Value", "enterNote": "Enter Note", "enterPasswordHint": "Enter your password", "errorMessageCopied": "Error message copied to clipboard", @@ -114,7 +118,7 @@ "invalidDestinationAddress": "Invalid Destination Address", "invalidPassword": "Invalid Password", "karlsenDevFund": "Karlsen Dev Fund", - "mobileWallet": "Karlsen Mobile Wallet", + "karlsenmobileWallet": "Karlsen Mobile Wallet", "language": "Jezik", "loadingTransactions": "Loading Transactions...", "lockAppSetting": "Avtenticiraj ob zagonu", @@ -197,16 +201,16 @@ "sendTxProgressTitle": "Sending Transaction", "sending": "Pošiljam", "sent": "Poslano", - "sentTo": "Poslano", + "sentTo": "Sent to", "setPassword": "Set Password", "setPasswordSuccess": "Wallet password has been set", "setWalletPassword": "Set Wallet Password", "settingsHeader": "Nastavitve", "settingsTransfer": "Naloži iz papirnate denarnice", "setupFailedMessage": "Something went wrong", - "shareMobile": "Deli Karlsen Mobile", - "shareMobileSubject": "Check out Karlsen Mobile Wallet", - "shareMobileText": "Preveri Karlsen Mobile! Uradna mobilna Karlsen denarnica!", + "shareKarlsenMobile": "Deli Karlsen Mobile", + "shareKarlsenMobileSubject": "Check out Karlsen Mobile Wallet", + "shareKarlsenMobileText": "Preveri Karlsen Mobile! Uradna mobilna Karlsen denarnica!", "somethingWentWrong": "Something went wrong", "systemDefault": "Sistemski", "tapToHide": "Pritisnite za skrivanje", @@ -246,6 +250,7 @@ "viewAddress": "View Address", "viewTransaction": "View Transaction", "walletAddresses": "Wallet Addresses", + "walletAddress": "Wallet Address", "walletName": "Wallet name", "walletNameDescription": "Enter a name for your wallet", "walletNameHint": "Wallet Name", @@ -264,6 +269,8 @@ "nodeSecureConnection": "Secure connection", "karlsenUriInvalid": "Invalid Karlsen URI", "compoundUtxos": "Compound transactions", + "compoundRequired": "Compound required", + "compoundRequiredDescription": "The transaction amount requires too many UTXOs. Compounding will reduce the number of UTXOs.", "compoundUtxosDescription": "Combine multiple UTXOs into one", "compoundUtxosConfirmation": "Compound transactions?", "compoundingUtxos": "Compounding transactions", @@ -288,10 +295,8 @@ "addressFilterDialogTitle": "Address Filter", "addressFilterDialogOptionAllAddresses": "View All Addresses", "addressFilterDialogOptionNonZeroBalances": "View Addresses With Balance", - "importOption24WordsLegacyTitle": "Import 24 Word Secret Phrase", - "importOption24WordsLegacyDescription": "Compatible with Node Wallet up to v1.1.0", "importOption24WordsTitle": "Import 24 Word Secret Phrase", - "importOption24WordsDescription": "Compatible with Node Wallet from v1.2.0", + "importOption24WordsDescription": "Compatible with Cli Wallet and Ledger", "importOption12WordsTitle": "Import 12 Word Secret Phrase", "importOption12WordsDescription": "Compatible with Web Wallet and Karlsen Desktop", "importOptionKpubTitle": "Import Watch Only Wallet", @@ -303,5 +308,53 @@ "importKpubInvalidMessage": "Please check that your extended public key is entered correctly!", "receiveAddressListEmpty": "Receive address list is empty", "changeAddressListEmpty": "Change address list is empty", - "hintAddressListEmpty": "Check address filter from the top right corner" -} + "hintAddressListEmpty": "Check address filter from the top right corner", + "invalidSecretPhrase": "Invalid Secret Phrase", + "invalidSecretPhraseDetails": "The Secret Phrase you entered has an invalid checksum.", + "invalidSecretPhraseConfirmation": "I know what I'm doing", + "contactSupport": "Contact Support", + "emailAction": "Email {email}", + "noteLabel": "Note:", + "optionalLabel": "(Optional)", + "moreInfo": "More Info", + "selectAddress": "Select Address", + "kpubTitle": "Extended Public Key", + "kpubAuth": "View Extended Public Key", + "kpubDescription": "The extended public key can be used to import your wallet as a 'watch only' wallet.", + "copyKpub": "Copy Kpub", + "kpubCopied": "Extended Public Key Copied", + "kpubCopyFailed": "Failed to copy Extended Public Key", + "walletAddressesCopied": "Wallet {addressType} Addresses Copied to Clipboard", + "walletAddressesCopyFailed": "Failed to Copy Wallet {addressType} Addresses", + "txReport": "Transaction Report", + "txReportSubtitle": "Get CSV file with transaction history", + "txReportDetails": "Generate a transaction report, in CSV format, that contains all the wallet's transaction history.", + "txReportOptionIgnoreCompound": "Ignore compound transactions", + "txReportOptionIgnoreSelfTxs": "Ignore transactions sent to self", + "txReportOptionRefreshTxs": "Refresh transactions", + "txReportGenerate": "Generate", + "txReportStatusRefreshing": "Refreshing transactions", + "txReportStatusLoading": "Loading transactions", + "txReportStatusReady": "Transaction report is ready!", + "txReportGetReport": "Get Report", + "txReportDate": "Date", + "txReportSentAmount": "Sent Amount", + "txReportSentCurrency": "Sent Currency", + "txReportReceivedAmount": "Received Amount", + "txReportReceivedCurrency": "Received Currency", + "txReportFeeAmount": "Fee Amount", + "txReportFeeCurrency": "Fee Currency", + "txReportLabel": "Label", + "txReportDescription": "Description", + "txReportTxHash": "TxHash", + "txReportNote": "Note", + "txReportLabelCost": "cost", + "txReportFeeForCompound": "Fee for Compound Transaction", + "txReportFeeForSelfSend": "Fee to send to own addresses", + "txReportError": "Error generating report", + "txReportNoTxs": "Found {numberOf} transactions.", + "txReportNoLoadedTxs": "({loadedTxs} of {totalTxs})", + "txFilterDialogTitle": "Transaction Filter", + "txFilterDialogOptionAllTxs": "Show All Transactions", + "txFilterDialogOptionHideNotAcceptedCoinbase": "Hide Not Accepted Coinbase Transactions" +} \ No newline at end of file diff --git a/lib/l10n/app_sq.arb b/lib/l10n/app_sq.arb index dbee8e06..caf6ce55 100644 --- a/lib/l10n/app_sq.arb +++ b/lib/l10n/app_sq.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2023-09-25T17:48:36.587Z", + "@@last_modified": "2024-11-1T11:12:41.441Z", "@@author": "arb-converter-cli", "account": "Llogaria", "accounts": "Llogaritë", @@ -19,6 +19,8 @@ "addressHint": "Fut Adresën", "addressMissing": "Ju lutemi shkruani një adresë", "addressShare": "Ndani adresën", + "karlsenUriCopied": "Karlsen URI Copied", + "karlsenUriCopyFailed": "Failed to copy Karlsen URI", "advancedHeader": "E avancuar", "amount": "Sasia", "amountConfirm": "Shuma {amount} {coin}", @@ -78,6 +80,7 @@ "disableWalletPassword": "Çaktivizo fjalëkalimin e portofolit", "doContinue": "Vazhdo", "donate": "Dhuroni", + "donateTo": "Donate To", "dontShowAgain": "Mos e shfaq më", "emptyCardIntroUtxos": "Kjo është skeda UTXOs. Të gjitha UTXO-të në portofolin tuaj do të shfaqen këtu", "emptyResult": "Rezultati bosh", @@ -85,6 +88,7 @@ "encryptionFailedError": "Vendosja e fjalëkalimit të portofolit dështoi", "enterAddress": "Fut adresën", "enterAmount": "Futni shumën", + "enterFiatValue": "Enter Fiat Value", "enterNote": "Shkruani Shënimin", "enterPasswordHint": "Futni fjalëkalimin tuaj", "errorMessageCopied": "Mesazhi i gabimit u kopjua", @@ -114,7 +118,7 @@ "invalidDestinationAddress": "Adresa e destinacionit e pavlefshme", "invalidPassword": "Fjalëkalim i pavlefshëm", "karlsenDevFund": "Fondi i Dev te Karlsen", - "mobileWallet": "Portofoli celular Karlsen", + "karlsenmobileWallet": "Portofoli i KarlsenMobileit", "language": "Gjuhë", "loadingTransactions": "Transaksionet po ngarkohen...", "lockAppSetting": "Autentifikojeni në nisje", @@ -197,16 +201,16 @@ "sendTxProgressTitle": "Dërgimi i transaksionit", "sending": "Dërgo", "sent": "Dërguar", - "sentTo": "Dërgo në", + "sentTo": "Sent to", "setPassword": "Vendosni fjalëkalimin", "setPasswordSuccess": "Është vendosur fjalëkalimi i portofolit", "setWalletPassword": "Vendosni fjalëkalimin e portofolit", "settingsHeader": "Cilësimet", "settingsTransfer": "Ngarkoni nga Portofoli i letrës", "setupFailedMessage": "Dicka shkoj keq", - "shareMobile": "Shpërnda Karlsen Mobile", - "shareMobileSubject": "Shikoni Portofolin Karlsen Mobile", - "shareMobileText": "Shikoni Karlsen Mobile - Karlsen Mobile Wallet.\nFaqja e internetit - mobile.karlsencoin.com", + "shareKarlsenMobile": "Shpërnda Karlsen Mobile", + "shareKarlsenMobileSubject": "Shikoni Portofolin Karlsen Mobile", + "shareKarlsenMobileText": "Shikoni Karlsen Mobile - Karlsen Mobile Wallet.\nFaqja e internetit - mobile.karlsencoin.com", "somethingWentWrong": "Dicka shkoj keq", "systemDefault": "Parazgjedhjet e sistemit", "tapToHide": "Trokit për ta fshehur", @@ -246,6 +250,7 @@ "viewAddress": "Shiko adresën", "viewTransaction": "Shikoni transaksionin", "walletAddresses": "Adresat e portofolit", + "walletAddress": "Wallet Address", "walletName": "Emri i portofolit", "walletNameDescription": "Futni një emër për portofolin tuaj", "walletNameHint": "Emri i portofolit", @@ -264,6 +269,8 @@ "nodeSecureConnection": "Lidhje e sigurt", "karlsenUriInvalid": "Invalid Karlsen URI", "compoundUtxos": "Compound transactions", + "compoundRequired": "Compound required", + "compoundRequiredDescription": "The transaction amount requires too many UTXOs. Compounding will reduce the number of UTXOs.", "compoundUtxosDescription": "Combine multiple UTXOs into one", "compoundUtxosConfirmation": "Compound transactions?", "compoundingUtxos": "Compounding transactions", @@ -288,10 +295,8 @@ "addressFilterDialogTitle": "Address Filter", "addressFilterDialogOptionAllAddresses": "View All Addresses", "addressFilterDialogOptionNonZeroBalances": "View Addresses With Balance", - "importOption24WordsLegacyTitle": "Import 24 Word Secret Phrase", - "importOption24WordsLegacyDescription": "Compatible with Node Wallet up to v1.1.0", "importOption24WordsTitle": "Import 24 Word Secret Phrase", - "importOption24WordsDescription": "Compatible with Node Wallet from v1.2.0", + "importOption24WordsDescription": "Compatible with Cli Wallet and Ledger", "importOption12WordsTitle": "Import 12 Word Secret Phrase", "importOption12WordsDescription": "Compatible with Web Wallet and Karlsen Desktop", "importOptionKpubTitle": "Import Watch Only Wallet", @@ -303,5 +308,53 @@ "importKpubInvalidMessage": "Please check that your extended public key is entered correctly!", "receiveAddressListEmpty": "Receive address list is empty", "changeAddressListEmpty": "Change address list is empty", - "hintAddressListEmpty": "Check address filter from the top right corner" -} + "hintAddressListEmpty": "Check address filter from the top right corner", + "invalidSecretPhrase": "Invalid Secret Phrase", + "invalidSecretPhraseDetails": "The Secret Phrase you entered has an invalid checksum.", + "invalidSecretPhraseConfirmation": "I know what I'm doing", + "contactSupport": "Contact Support", + "emailAction": "Email {email}", + "noteLabel": "Note:", + "optionalLabel": "(Optional)", + "moreInfo": "More Info", + "selectAddress": "Select Address", + "kpubTitle": "Extended Public Key", + "kpubAuth": "View Extended Public Key", + "kpubDescription": "The extended public key can be used to import your wallet as a 'watch only' wallet.", + "copyKpub": "Copy Kpub", + "kpubCopied": "Extended Public Key Copied", + "kpubCopyFailed": "Failed to copy Extended Public Key", + "walletAddressesCopied": "Wallet {addressType} Addresses Copied to Clipboard", + "walletAddressesCopyFailed": "Failed to Copy Wallet {addressType} Addresses", + "txReport": "Transaction Report", + "txReportSubtitle": "Get CSV file with transaction history", + "txReportDetails": "Generate a transaction report, in CSV format, that contains all the wallet's transaction history.", + "txReportOptionIgnoreCompound": "Ignore compound transactions", + "txReportOptionIgnoreSelfTxs": "Ignore transactions sent to self", + "txReportOptionRefreshTxs": "Refresh transactions", + "txReportGenerate": "Generate", + "txReportStatusRefreshing": "Refreshing transactions", + "txReportStatusLoading": "Loading transactions", + "txReportStatusReady": "Transaction report is ready!", + "txReportGetReport": "Get Report", + "txReportDate": "Date", + "txReportSentAmount": "Sent Amount", + "txReportSentCurrency": "Sent Currency", + "txReportReceivedAmount": "Received Amount", + "txReportReceivedCurrency": "Received Currency", + "txReportFeeAmount": "Fee Amount", + "txReportFeeCurrency": "Fee Currency", + "txReportLabel": "Label", + "txReportDescription": "Description", + "txReportTxHash": "TxHash", + "txReportNote": "Note", + "txReportLabelCost": "cost", + "txReportFeeForCompound": "Fee for Compound Transaction", + "txReportFeeForSelfSend": "Fee to send to own addresses", + "txReportError": "Error generating report", + "txReportNoTxs": "Found {numberOf} transactions.", + "txReportNoLoadedTxs": "({loadedTxs} of {totalTxs})", + "txFilterDialogTitle": "Transaction Filter", + "txFilterDialogOptionAllTxs": "Show All Transactions", + "txFilterDialogOptionHideNotAcceptedCoinbase": "Hide Not Accepted Coinbase Transactions" +} \ No newline at end of file diff --git a/lib/l10n/app_sr.arb b/lib/l10n/app_sr.arb index c124678d..7320d3ec 100644 --- a/lib/l10n/app_sr.arb +++ b/lib/l10n/app_sr.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2023-09-25T17:48:36.587Z", + "@@last_modified": "2024-11-1T11:12:41.441Z", "@@author": "arb-converter-cli", "account": "Налог", "accounts": "Налози", @@ -19,6 +19,8 @@ "addressHint": "Унесите Адресу", "addressMissing": "Молимо Вас Унесите Адресу", "addressShare": "Подели Адресу", + "karlsenUriCopied": "Karlsen URI Copied", + "karlsenUriCopyFailed": "Failed to copy Karlsen URI", "advancedHeader": "Напредно", "amount": "Износ", "amountConfirm": "Износ {amount} {coin}", @@ -78,6 +80,7 @@ "disableWalletPassword": "Онемогући Шифру Новчаника", "doContinue": "Настави", "donate": "Донирај", + "donateTo": "Donate To", "dontShowAgain": "Не приказуј поново", "emptyCardIntroUtxos": "Ово је УТИКСО таб. Сви УТИКСОс у вашем новчанику ће бити приказани овде.", "emptyResult": "Празан Резултат", @@ -85,6 +88,7 @@ "encryptionFailedError": "Неуспело постављање шифре новчаника", "enterAddress": "Унесите Адресу", "enterAmount": "Унесите износ", + "enterFiatValue": "Enter Fiat Value", "enterNote": "Унесите белешку", "enterPasswordHint": "Унесите шифру", "errorMessageCopied": "Порука грешке је копирана у тастатуру", @@ -114,7 +118,7 @@ "invalidDestinationAddress": "Одредишна Адреса није Важеђа", "invalidPassword": "Неисправна Лозинка", "karlsenDevFund": "Каспа Дев Фонд", - "mobileWallet": "Карлсен мобилни новчаник", + "karlsenmobileWallet": "Каспиум Новчаник", "language": "Језик", "loadingTransactions": "Учитавање трансакција...", "lockAppSetting": "Аутентификујте при покретању", @@ -197,16 +201,16 @@ "sendTxProgressTitle": "Трансакција се Шаље", "sending": "Пошаљи", "sent": "Послато", - "sentTo": "Пошалјите до", + "sentTo": "Sent to", "setPassword": "Подеси Шифру", "setPasswordSuccess": "Шифра новчаника је успешно подешена", "setWalletPassword": "Подеси Шифру Новчаника", "settingsHeader": "Подешавања", "settingsTransfer": "Учитај са Папирног Новчаника", "setupFailedMessage": "Негде је дошло до грешке", - "shareMobile": "Подели Карлсен Мобиле", - "shareMobileSubject": "Прикажи Карлсен мобилни новчаник", - "shareMobileText": "Прикажи Карлсен - Карлсен мобилни новчаник.\nВебсајт - mobile.karlsencoin.com", + "shareKarlsenMobile": "Подели Каспиум", + "shareKarlsenMobileSubject": "Погледај Каспиум Новчаник", + "shareKarlsenMobileText": "Погледај Каспиум - Каспа Мобилни Новчаник.\nВебсајт - mobile.karlsencoin.com", "somethingWentWrong": "Негде је дошло до грешке", "systemDefault": "Системски Подразумевано", "tapToHide": "Кликни да сакријеш", @@ -223,16 +227,16 @@ "transactionsUppercase": "ТРАНСАКЦИЈЕ", "transfer": "Траснфер", "transferClose": "Кликните било где да затворите прозор.", - "transferComplete": "{amount} КЛС је успешно пренет на ваш Карлсен мобилни новчаник.\n", - "transferConfirmInfo": "Новчаник са сумом од {amount} КЛС је детектован.", + "transferComplete": "{amount} КАС је успешно пребачено у ваш Каспиум Новчаник.\n", + "transferConfirmInfo": "Новчаник са сумом од {amount} КАС је детектован.", "transferConfirmInfoSecond": "Кликни да потврдиш слање средстава.\n", "transferConfirmInfoThird": "Пренос може трајати више секунди.", "transferError": "Дошло је до грешке приликом трансфера. Молимо покушајте касније.", "transferHeader": "Трансфер Средстава", - "transferIntro": "Овај процес ће послати средства из папирног новчаника у ваш Карлсен Мобиле новчаник\n\nПритисни \"{button}\" да започнеш.", + "transferIntro": "Овај процес ће послати средства са папирног новчаника у ваш Каспиум новчаник\n\nПритисни \"{button}\" да започнеш.", "transferLoading": "Пребацивање", "transferManualHint": "Унесите семе испод.", - "transferNoFunds": "Ово семе нема КЛС на себи", + "transferNoFunds": "Ово семе нема КАС на себи", "transferQrScanError": "Овај КЈУ-АР код не садржи валидно семе.", "transferQrScanHint": "Скенирај Каспа семе или приватни кључ", "unconfirmed": "непотврђено", @@ -246,6 +250,7 @@ "viewAddress": "Види Адресу", "viewTransaction": "Види Трансакцију", "walletAddresses": "Адреса Новчаника", + "walletAddress": "Wallet Address", "walletName": "Име новчаника", "walletNameDescription": "Унесите име за ваш новчаник", "walletNameHint": "Име Новчаника", @@ -253,8 +258,8 @@ "walletSetupMessage": "Иницално подешавање новчаника", "walletsTitle": "Новчаници", "warning": "Упозорење", - "welcomeMessage": "Добродошли! \n\nОво је верзија {version} Карлсен Мобиле - мобилног новчаника за Карлсен", - "welcomeText": "Добродошли у Карлсен Мобиле. Да бисте започели, можете креирати нови новчаник или увести постојећи.", + "welcomeMessage": "Добродошли! \n\nОво је верзија {version} Каспиума - мобилног новчаника за Каспу", + "welcomeText": "Добродошли у Каспиум. Да започнете, можете креирати нов новчаник или увезти већ постојеђи.", "xMinutes": "Након {minutes, plural, =1{1 minute} other{{minutes} minutes}}", "yes": "Да", "yesButton": "Да", @@ -264,6 +269,8 @@ "nodeSecureConnection": "Безбедна веза", "karlsenUriInvalid": "Invalid Karlsen URI", "compoundUtxos": "Compound transactions", + "compoundRequired": "Compound required", + "compoundRequiredDescription": "The transaction amount requires too many UTXOs. Compounding will reduce the number of UTXOs.", "compoundUtxosDescription": "Combine multiple UTXOs into one", "compoundUtxosConfirmation": "Compound transactions?", "compoundingUtxos": "Compounding transactions", @@ -288,10 +295,8 @@ "addressFilterDialogTitle": "Address Filter", "addressFilterDialogOptionAllAddresses": "View All Addresses", "addressFilterDialogOptionNonZeroBalances": "View Addresses With Balance", - "importOption24WordsLegacyTitle": "Import 24 Word Secret Phrase", - "importOption24WordsLegacyDescription": "Compatible with Node Wallet up to v1.1.0", "importOption24WordsTitle": "Import 24 Word Secret Phrase", - "importOption24WordsDescription": "Compatible with Node Wallet from v1.2.0", + "importOption24WordsDescription": "Compatible with Cli Wallet and Ledger", "importOption12WordsTitle": "Import 12 Word Secret Phrase", "importOption12WordsDescription": "Compatible with Web Wallet and Karlsen Desktop", "importOptionKpubTitle": "Import Watch Only Wallet", @@ -303,5 +308,53 @@ "importKpubInvalidMessage": "Please check that your extended public key is entered correctly!", "receiveAddressListEmpty": "Receive address list is empty", "changeAddressListEmpty": "Change address list is empty", - "hintAddressListEmpty": "Check address filter from the top right corner" -} + "hintAddressListEmpty": "Check address filter from the top right corner", + "invalidSecretPhrase": "Invalid Secret Phrase", + "invalidSecretPhraseDetails": "The Secret Phrase you entered has an invalid checksum.", + "invalidSecretPhraseConfirmation": "I know what I'm doing", + "contactSupport": "Contact Support", + "emailAction": "Email {email}", + "noteLabel": "Note:", + "optionalLabel": "(Optional)", + "moreInfo": "More Info", + "selectAddress": "Select Address", + "kpubTitle": "Extended Public Key", + "kpubAuth": "View Extended Public Key", + "kpubDescription": "The extended public key can be used to import your wallet as a 'watch only' wallet.", + "copyKpub": "Copy Kpub", + "kpubCopied": "Extended Public Key Copied", + "kpubCopyFailed": "Failed to copy Extended Public Key", + "walletAddressesCopied": "Wallet {addressType} Addresses Copied to Clipboard", + "walletAddressesCopyFailed": "Failed to Copy Wallet {addressType} Addresses", + "txReport": "Transaction Report", + "txReportSubtitle": "Get CSV file with transaction history", + "txReportDetails": "Generate a transaction report, in CSV format, that contains all the wallet's transaction history.", + "txReportOptionIgnoreCompound": "Ignore compound transactions", + "txReportOptionIgnoreSelfTxs": "Ignore transactions sent to self", + "txReportOptionRefreshTxs": "Refresh transactions", + "txReportGenerate": "Generate", + "txReportStatusRefreshing": "Refreshing transactions", + "txReportStatusLoading": "Loading transactions", + "txReportStatusReady": "Transaction report is ready!", + "txReportGetReport": "Get Report", + "txReportDate": "Date", + "txReportSentAmount": "Sent Amount", + "txReportSentCurrency": "Sent Currency", + "txReportReceivedAmount": "Received Amount", + "txReportReceivedCurrency": "Received Currency", + "txReportFeeAmount": "Fee Amount", + "txReportFeeCurrency": "Fee Currency", + "txReportLabel": "Label", + "txReportDescription": "Description", + "txReportTxHash": "TxHash", + "txReportNote": "Note", + "txReportLabelCost": "cost", + "txReportFeeForCompound": "Fee for Compound Transaction", + "txReportFeeForSelfSend": "Fee to send to own addresses", + "txReportError": "Error generating report", + "txReportNoTxs": "Found {numberOf} transactions.", + "txReportNoLoadedTxs": "({loadedTxs} of {totalTxs})", + "txFilterDialogTitle": "Transaction Filter", + "txFilterDialogOptionAllTxs": "Show All Transactions", + "txFilterDialogOptionHideNotAcceptedCoinbase": "Hide Not Accepted Coinbase Transactions" +} \ No newline at end of file diff --git a/lib/l10n/app_sv.arb b/lib/l10n/app_sv.arb index b7e91579..c3fb10f1 100644 --- a/lib/l10n/app_sv.arb +++ b/lib/l10n/app_sv.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2023-09-25T17:48:36.587Z", + "@@last_modified": "2024-11-1T11:12:41.441Z", "@@author": "arb-converter-cli", "account": "Konto", "accounts": "Konton", @@ -19,6 +19,8 @@ "addressHint": "Ange adress", "addressMissing": "Ange en adress", "addressShare": "Dela adress", + "karlsenUriCopied": "Karlsen URI Copied", + "karlsenUriCopyFailed": "Failed to copy Karlsen URI", "advancedHeader": "Avancerad ", "amount": "Belopp", "amountConfirm": "Belopp {amount} {coin}", @@ -78,6 +80,7 @@ "disableWalletPassword": "Avaktivera plånbokslösenord", "doContinue": "Fortsätt", "donate": "Donera", + "donateTo": "Donate To", "dontShowAgain": "Visa inte igen", "emptyCardIntroUtxos": "Det här är fliken för unspent transaction outputs. Alla UTXOs i din plånbok kommer att visas här", "emptyResult": "Inget resultat", @@ -85,6 +88,7 @@ "encryptionFailedError": "Misslyckades med att ställa in ett lösenord", "enterAddress": "Ange adress", "enterAmount": "Ange belopp", + "enterFiatValue": "Enter Fiat Value", "enterNote": "Ange notering ", "enterPasswordHint": "Ange ditt lösenord", "errorMessageCopied": "Felkodmeddelande kopierad till urklipp", @@ -114,7 +118,7 @@ "invalidDestinationAddress": "Ogiltig destination adress", "invalidPassword": "Ogiltigt lösenord", "karlsenDevFund": "Karlsens utvecklingsfond", - "mobileWallet": "Karlsen Mobile plånbok", + "karlsenmobileWallet": "Karlsen Mobile plånbok", "language": "Språk", "loadingTransactions": "Laddar transaktioner...", "lockAppSetting": "Verifiera vid uppstart", @@ -197,16 +201,16 @@ "sendTxProgressTitle": "Skickar transaktion", "sending": "Skicka", "sent": "Skickat", - "sentTo": "Skicka till", + "sentTo": "Sent to", "setPassword": "Ställ in lösenord", "setPasswordSuccess": "Lösenordet har ställts in", "setWalletPassword": "Ställ in plånbokslösenord", "settingsHeader": "Inställningar", "settingsTransfer": "Ladda från pappersplånbok", "setupFailedMessage": "Något gick fel", - "shareMobile": "Dela Karlsen Mobile", - "shareMobileSubject": "Kolla in Karlsen Mobile plånboken", - "shareMobileText": "Prova Karlsen Mobile! Karlsens mobila plånbok. Webbsida - mobile.karlsencoin.com", + "shareKarlsenMobile": "Dela Karlsen Mobile", + "shareKarlsenMobileSubject": "Kolla in Karlsen Mobile plånboken", + "shareKarlsenMobileText": "Prova Karlsen Mobile! Karlsens mobila plånbok. Webbsida - mobile.karlsencoin.com", "somethingWentWrong": "Något gick fel", "systemDefault": "Standardinställning", "tapToHide": "Tryck för att dölja", @@ -246,6 +250,7 @@ "viewAddress": "Kolla adress", "viewTransaction": "Kolla transaktion", "walletAddresses": "Plånboks adresser", + "walletAddress": "Wallet Address", "walletName": "Plånbokens namn", "walletNameDescription": "Skriv in ett namn för din plånbok", "walletNameHint": "Plånbokens namn", @@ -264,6 +269,8 @@ "nodeSecureConnection": "Säkra anslutning", "karlsenUriInvalid": "Invalid Karlsen URI", "compoundUtxos": "Compound transactions", + "compoundRequired": "Compound required", + "compoundRequiredDescription": "The transaction amount requires too many UTXOs. Compounding will reduce the number of UTXOs.", "compoundUtxosDescription": "Combine multiple UTXOs into one", "compoundUtxosConfirmation": "Compound transactions?", "compoundingUtxos": "Compounding transactions", @@ -288,10 +295,8 @@ "addressFilterDialogTitle": "Address Filter", "addressFilterDialogOptionAllAddresses": "View All Addresses", "addressFilterDialogOptionNonZeroBalances": "View Addresses With Balance", - "importOption24WordsLegacyTitle": "Import 24 Word Secret Phrase", - "importOption24WordsLegacyDescription": "Compatible with Node Wallet up to v1.1.0", "importOption24WordsTitle": "Import 24 Word Secret Phrase", - "importOption24WordsDescription": "Compatible with Node Wallet from v1.2.0", + "importOption24WordsDescription": "Compatible with Cli Wallet and Ledger", "importOption12WordsTitle": "Import 12 Word Secret Phrase", "importOption12WordsDescription": "Compatible with Web Wallet and Karlsen Desktop", "importOptionKpubTitle": "Import Watch Only Wallet", @@ -303,5 +308,53 @@ "importKpubInvalidMessage": "Please check that your extended public key is entered correctly!", "receiveAddressListEmpty": "Receive address list is empty", "changeAddressListEmpty": "Change address list is empty", - "hintAddressListEmpty": "Check address filter from the top right corner" -} + "hintAddressListEmpty": "Check address filter from the top right corner", + "invalidSecretPhrase": "Invalid Secret Phrase", + "invalidSecretPhraseDetails": "The Secret Phrase you entered has an invalid checksum.", + "invalidSecretPhraseConfirmation": "I know what I'm doing", + "contactSupport": "Contact Support", + "emailAction": "Email {email}", + "noteLabel": "Note:", + "optionalLabel": "(Optional)", + "moreInfo": "More Info", + "selectAddress": "Select Address", + "kpubTitle": "Extended Public Key", + "kpubAuth": "View Extended Public Key", + "kpubDescription": "The extended public key can be used to import your wallet as a 'watch only' wallet.", + "copyKpub": "Copy Kpub", + "kpubCopied": "Extended Public Key Copied", + "kpubCopyFailed": "Failed to copy Extended Public Key", + "walletAddressesCopied": "Wallet {addressType} Addresses Copied to Clipboard", + "walletAddressesCopyFailed": "Failed to Copy Wallet {addressType} Addresses", + "txReport": "Transaction Report", + "txReportSubtitle": "Get CSV file with transaction history", + "txReportDetails": "Generate a transaction report, in CSV format, that contains all the wallet's transaction history.", + "txReportOptionIgnoreCompound": "Ignore compound transactions", + "txReportOptionIgnoreSelfTxs": "Ignore transactions sent to self", + "txReportOptionRefreshTxs": "Refresh transactions", + "txReportGenerate": "Generate", + "txReportStatusRefreshing": "Refreshing transactions", + "txReportStatusLoading": "Loading transactions", + "txReportStatusReady": "Transaction report is ready!", + "txReportGetReport": "Get Report", + "txReportDate": "Date", + "txReportSentAmount": "Sent Amount", + "txReportSentCurrency": "Sent Currency", + "txReportReceivedAmount": "Received Amount", + "txReportReceivedCurrency": "Received Currency", + "txReportFeeAmount": "Fee Amount", + "txReportFeeCurrency": "Fee Currency", + "txReportLabel": "Label", + "txReportDescription": "Description", + "txReportTxHash": "TxHash", + "txReportNote": "Note", + "txReportLabelCost": "cost", + "txReportFeeForCompound": "Fee for Compound Transaction", + "txReportFeeForSelfSend": "Fee to send to own addresses", + "txReportError": "Error generating report", + "txReportNoTxs": "Found {numberOf} transactions.", + "txReportNoLoadedTxs": "({loadedTxs} of {totalTxs})", + "txFilterDialogTitle": "Transaction Filter", + "txFilterDialogOptionAllTxs": "Show All Transactions", + "txFilterDialogOptionHideNotAcceptedCoinbase": "Hide Not Accepted Coinbase Transactions" +} \ No newline at end of file diff --git a/lib/l10n/app_te.arb b/lib/l10n/app_te.arb index f645e98f..00cdfdfa 100644 --- a/lib/l10n/app_te.arb +++ b/lib/l10n/app_te.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2023-10-08T18:51:30.958Z", + "@@last_modified": "2024-11-1T11:12:41.441Z", "@@author": "arb-converter-cli", "account": "ఖాతా", "accounts": "ఖాతాలు", @@ -19,6 +19,8 @@ "addressHint": "ఎంటర్ చిరునామా", "addressMissing": "దయచేసి చిరునామాను నమోదు చేయండి", "addressShare": "చిరునామాను పంచుకోండి", + "karlsenUriCopied": "Karlsen URI Copied", + "karlsenUriCopyFailed": "Failed to copy Karlsen URI", "advancedHeader": "ఆధునిక", "amount": "మొత్తం", "amountConfirm": "మొత్తం {amount} {coin}", @@ -78,6 +80,7 @@ "disableWalletPassword": "వాలెట్ పాస్‌వర్డ్‌ని నిలిపివేయండి", "doContinue": "కొనసాగుతుంది", "donate": "దానం చేయండి", + "donateTo": "Donate To", "dontShowAgain": "మళ్లీ చూపించవద్దు", "emptyCardIntroUtxos": "ఇది UTXOs ట్యాబ్. మీ వాలెట్‌లోని అన్ని UTXOలు ఇక్కడ కనిపిస్తాయి", "emptyResult": "ఖాళీ ఫలితం", @@ -85,6 +88,7 @@ "encryptionFailedError": "వాలెట్ పాస్‌వర్డ్‌ని సెట్ చేయడంలో విఫలమైంది", "enterAddress": "చిరునామాను నమోదు చేయండి", "enterAmount": "మొత్తాన్ని నమోదు చేయండి", + "enterFiatValue": "Enter Fiat Value", "enterNote": "గమనికను నమోదు చేయండి", "enterPasswordHint": "మొత్తాన్ని నమోదు చేయండి", "errorMessageCopied": "లోపం సందేశం క్లిప్‌బోర్డ్‌కి కాపీ చేయబడింది", @@ -114,7 +118,7 @@ "invalidDestinationAddress": "గమ్యస్థాన చిరునామా చెల్లదు", "invalidPassword": "చెల్లని పాస్వర్డ్", "karlsenDevFund": "కస్పా Dev ఫండ్", - "mobileWallet": "కార్ల్‌సెన్ మొబైల్ వాలెట్", + "karlsenmobileWallet": "కాస్పియం వాలెట్", "language": "భాష", "loadingTransactions": "లావాదేవీలను లోడ్ చేస్తోంది...", "lockAppSetting": "ప్రారంభించినప్పుడు ప్రమాణీకరించండి", @@ -197,16 +201,16 @@ "sendTxProgressTitle": "లావాదేవీని పంపుతోంది", "sending": "పంపండి", "sent": "పంపారు", - "sentTo": "పంపే", + "sentTo": "Sent to", "setPassword": "పాస్వర్డ్ను సెట్ చేయండి", "setPasswordSuccess": "వాలెట్ పాస్‌వర్డ్ సెట్ చేయబడింది", "setWalletPassword": "వాలెట్ పాస్‌వర్డ్‌ని సెట్ చేయండి", "settingsHeader": "సెట్టింగులు", "settingsTransfer": "పేపర్ వాలెట్ నుండి లోడ్ చేయండి", "setupFailedMessage": "ఎక్కడో తేడ జరిగింది", - "shareMobile": "కార్ల్‌సెన్ మొబైల్‌ను భాగస్వామ్యం చేయండి", - "shareMobileSubject": "కార్ల్‌సెన్ మొబైల్ వాలెట్‌ని చూడండి", - "shareMobileText": "కాస్పియం - Karlsen మొబైల్ వాలెట్‌ని తనిఖీ చేయండి.\nవెబ్సైట్ - mobile.karlsencoin.com", + "shareKarlsenMobile": "కాస్పియం యాప్‌ను భాగస్వామ్యం చేయండి", + "shareKarlsenMobileSubject": "కాస్పియం వాలెట్‌ని తనిఖీ చేయండి", + "shareKarlsenMobileText": "కాస్పియం - Karlsen మొబైల్ వాలెట్‌ని తనిఖీ చేయండి.\nవెబ్సైట్ - mobile.karlsencoin.com", "somethingWentWrong": "ఎక్కడో తేడ జరిగింది", "systemDefault": "సిస్టమ్ డిఫాల్ట్", "tapToHide": "దాచడానికి నొక్కండి", @@ -223,13 +227,13 @@ "transactionsUppercase": "లావాదేవీలు", "transfer": "బదిలీ", "transferClose": "విండోను మూసివేయడానికి ఎక్కడైనా నొక్కండి.", - "transferComplete": "{amount} KLS విజయవంతంగా మీ Karlsen మొబైల్ వాలెట్‌కి బదిలీ చేయబడింది.\n", + "transferComplete": "{amount} KLS మీ కాస్పియం వాలెట్కి విజయవంతంగా బదిలీ చేయబడింది.\n", "transferConfirmInfo": "{amount} KLS బ్యాలెన్స్ ఉన్న వాలెట్ కనుగొనబడింది.", "transferConfirmInfoSecond": "నిధులను బదిలీ చేయడానికి నిర్ధారించు నొక్కండి.\n", "transferConfirmInfoThird": "బదిలీ పూర్తి కావడానికి కొన్ని సెకన్లు పట్టవచ్చు.", "transferError": "బదిలీ సమయంలో లోపం సంభవించింది. దయచేసి తర్వాత మళ్లీ ప్రయత్నించండి.", "transferHeader": "నిధులను బదిలీ చేయండి", - "transferIntro": "ఈ ప్రక్రియ పేపర్ వాలెట్ నుండి మీ కార్ల్‌సెన్ మొబైల్ వాలెట్‌కి నిధులను బదిలీ చేస్తుంది.\n\nప్రారంభించడానికి \"{button}\" బటన్‌ను నొక్కండి.", + "transferIntro": "ఈ ప్రక్రియ పేపర్ వాలెట్ నుండి మీ కాస్పియం వాలెట్‌కి నిధులను బదిలీ చేస్తుంది.\n\nప్రారంభించడానికి \"{button}\" బటన్‌ను నొక్కండి.", "transferLoading": "బదిలీ చేయడం", "transferManualHint": "దయచేసి క్రింద Seed నమోదు చేయండి", "transferNoFunds": "ఈ Seedలో KLS ఏదీ లేదు", @@ -246,6 +250,7 @@ "viewAddress": "చిరునామాను వీక్షించండి", "viewTransaction": "లావాదేవీని వీక్షించండి", "walletAddresses": "వాలెట్ చిరునామాలు", + "walletAddress": "Wallet Address", "walletName": "వాలెట్ పేరు", "walletNameDescription": "మీ వాలెట్ కోసం పేరును నమోదు చేయండి", "walletNameHint": "వాలెట్ పేరు", @@ -254,7 +259,7 @@ "walletsTitle": "వాలెట్లు", "warning": "హెచ్చరిక", "welcomeMessage": "స్వాగతం!\n\nఇది కాస్పియం యొక్క వెర్షన్ {version} - Karlsen కోసం మొబైల్ వాలెట్", - "welcomeText": "Karlsen మొబైల్‌కి స్వాగతం. ప్రారంభించడానికి, మీరు కొత్త వాలెట్‌ని సృష్టించవచ్చు లేదా ఇప్పటికే ఉన్న దాన్ని దిగుమతి చేసుకోవచ్చు.", + "welcomeText": "కాస్పియంకు స్వాగతం. ప్రారంభించడానికి, మీరు కొత్త వాలెట్‌ని సృష్టించవచ్చు లేదా ఇప్పటికే ఉన్న దాన్ని దిగుమతి చేసుకోవచ్చు.", "xMinutes": "తర్వాత {minutes, plural, =1{1 నిమిషం} other{{minutes} నిమిషం}} ", "yes": "అవును", "yesButton": "అవును", @@ -264,6 +269,8 @@ "nodeSecureConnection": "సురక్షిత కనెక్షన్", "karlsenUriInvalid": "చెల్లని Karlsen URI", "compoundUtxos": "సమ్మేళనం లావాదేవీలు", + "compoundRequired": "Compound required", + "compoundRequiredDescription": "The transaction amount requires too many UTXOs. Compounding will reduce the number of UTXOs.", "compoundUtxosDescription": "బహుళ UTXOలను ఒకటిగా కలపండి", "compoundUtxosConfirmation": "సమ్మేళనం లావాదేవీలు?", "compoundingUtxos": "కాంపౌండింగ్ లావాదేవీలు", @@ -288,10 +295,8 @@ "addressFilterDialogTitle": "చిరునామా ఫిల్టర్", "addressFilterDialogOptionAllAddresses": "అన్ని చిరునామాలను వీక్షించండి", "addressFilterDialogOptionNonZeroBalances": "బ్యాలెన్స్‌తో చిరునామాలను వీక్షించండి", - "importOption24WordsLegacyTitle": "24 పదాల రహస్య పదబంధాన్ని దిగుమతి చేయండి", - "importOption24WordsLegacyDescription": "నోడ్ వాలెట్‌తో v1.1.0 వరకు అనుకూలమైనది", "importOption24WordsTitle": "24 పదాల రహస్య పదబంధాన్ని దిగుమతి చేయండి", - "importOption24WordsDescription": "v1.2.0 నుండి నోడ్ వాలెట్‌తో అనుకూలమైనది", + "importOption24WordsDescription": "Cli Wallet మరియు లెడ్జర్‌తో అనుకూలమైనది", "importOption12WordsTitle": "12 పదాల రహస్య పదబంధాన్ని దిగుమతి చేయండి", "importOption12WordsDescription": "వెబ్ వాలెట్ మరియు Karlsen Desktopతో అనుకూలమైనది", "importOptionKpubTitle": "వాచ్ మాత్రమే వాలెట్‌ని దిగుమతి చేయండి", @@ -303,5 +308,53 @@ "importKpubInvalidMessage": "దయచేసి మీ పొడిగించిన పబ్లిక్ కీ సరిగ్గా నమోదు చేయబడిందో లేదో తనిఖీ చేయండి!", "receiveAddressListEmpty": "స్వీకరించే చిరునామా జాబితా ఖాళీగా ఉంది", "changeAddressListEmpty": "చిరునామా మార్పు జాబితా ఖాళీగా ఉంది", - "hintAddressListEmpty": "ఎగువ కుడి మూలలో నుండి చిరునామా ఫిల్టర్‌ని తనిఖీ చేయండి" -} + "hintAddressListEmpty": "ఎగువ కుడి మూలలో నుండి చిరునామా ఫిల్టర్‌ని తనిఖీ చేయండి", + "invalidSecretPhrase": "Invalid Secret Phrase", + "invalidSecretPhraseDetails": "The Secret Phrase you entered has an invalid checksum.", + "invalidSecretPhraseConfirmation": "I know what I'm doing", + "contactSupport": "Contact Support", + "emailAction": "Email {email}", + "noteLabel": "Note:", + "optionalLabel": "(Optional)", + "moreInfo": "More Info", + "selectAddress": "Select Address", + "kpubTitle": "Extended Public Key", + "kpubAuth": "View Extended Public Key", + "kpubDescription": "The extended public key can be used to import your wallet as a 'watch only' wallet.", + "copyKpub": "Copy Kpub", + "kpubCopied": "Extended Public Key Copied", + "kpubCopyFailed": "Failed to copy Extended Public Key", + "walletAddressesCopied": "Wallet {addressType} Addresses Copied to Clipboard", + "walletAddressesCopyFailed": "Failed to Copy Wallet {addressType} Addresses", + "txReport": "Transaction Report", + "txReportSubtitle": "Get CSV file with transaction history", + "txReportDetails": "Generate a transaction report, in CSV format, that contains all the wallet's transaction history.", + "txReportOptionIgnoreCompound": "Ignore compound transactions", + "txReportOptionIgnoreSelfTxs": "Ignore transactions sent to self", + "txReportOptionRefreshTxs": "Refresh transactions", + "txReportGenerate": "Generate", + "txReportStatusRefreshing": "Refreshing transactions", + "txReportStatusLoading": "Loading transactions", + "txReportStatusReady": "Transaction report is ready!", + "txReportGetReport": "Get Report", + "txReportDate": "Date", + "txReportSentAmount": "Sent Amount", + "txReportSentCurrency": "Sent Currency", + "txReportReceivedAmount": "Received Amount", + "txReportReceivedCurrency": "Received Currency", + "txReportFeeAmount": "Fee Amount", + "txReportFeeCurrency": "Fee Currency", + "txReportLabel": "Label", + "txReportDescription": "Description", + "txReportTxHash": "TxHash", + "txReportNote": "Note", + "txReportLabelCost": "cost", + "txReportFeeForCompound": "Fee for Compound Transaction", + "txReportFeeForSelfSend": "Fee to send to own addresses", + "txReportError": "Error generating report", + "txReportNoTxs": "Found {numberOf} transactions.", + "txReportNoLoadedTxs": "({loadedTxs} of {totalTxs})", + "txFilterDialogTitle": "Transaction Filter", + "txFilterDialogOptionAllTxs": "Show All Transactions", + "txFilterDialogOptionHideNotAcceptedCoinbase": "Hide Not Accepted Coinbase Transactions" +} \ No newline at end of file diff --git a/lib/l10n/app_tl.arb b/lib/l10n/app_tl.arb index 7bbf5394..b0cae0b0 100644 --- a/lib/l10n/app_tl.arb +++ b/lib/l10n/app_tl.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2023-09-25T17:48:36.587Z", + "@@last_modified": "2024-11-1T11:12:41.441Z", "@@author": "arb-converter-cli", "account": "Account", "accounts": "Mga Account", @@ -19,6 +19,8 @@ "addressHint": "Ilagay ang Address", "addressMissing": "Mangyaring magpasok ng patutunguhan", "addressShare": "I-share", + "karlsenUriCopied": "Karlsen URI Copied", + "karlsenUriCopyFailed": "Failed to copy Karlsen URI", "advancedHeader": "Advanced", "amount": "Amount", "amountConfirm": "Amount {amount} {coin}", @@ -78,6 +80,7 @@ "disableWalletPassword": "I-disable ang Wallet Password", "doContinue": "Continue", "donate": "Donate", + "donateTo": "Donate To", "dontShowAgain": "Don't show again", "emptyCardIntroUtxos": "This is the UTXOs tab. All UTXOs in your wallet will appear here", "emptyResult": "Empty Result", @@ -85,6 +88,7 @@ "encryptionFailedError": "Nabigo sa paglagay ng wallet password", "enterAddress": "Ilagay ang Address", "enterAmount": "Ilagay ang Amount", + "enterFiatValue": "Enter Fiat Value", "enterNote": "Enter Note", "enterPasswordHint": "Ilagay ang password", "errorMessageCopied": "Error message copied to clipboard", @@ -114,7 +118,7 @@ "invalidDestinationAddress": "Invalid Destination Address", "invalidPassword": "Maling Password", "karlsenDevFund": "Karlsen Dev Fund", - "mobileWallet": "Karlsen Mobile Wallet", + "karlsenmobileWallet": "Karlsen Mobile Wallet", "language": "Wika", "loadingTransactions": "Loading Transactions...", "lockAppSetting": "I-authenticate sa paglunsad", @@ -197,16 +201,16 @@ "sendTxProgressTitle": "Sending Transaction", "sending": "Pinapadala", "sent": "Naipadala", - "sentTo": "Pinadala sa", + "sentTo": "Sent to", "setPassword": "Maglagay ng Password", "setPasswordSuccess": "Ang password ay nakalagay na", "setWalletPassword": "Maglagay ng Wallet Password", "settingsHeader": "Mga setting", "settingsTransfer": "Ilipat galing sa Paper Wallet", "setupFailedMessage": "Something went wrong", - "shareMobile": "I-share ang Karlsen Mobile", - "shareMobileSubject": "Check out Karlsen Mobile Wallet", - "shareMobileText": "Tignan ang Karlsen Mobile! Opisyal na mobile wallet ng Karlsen!", + "shareKarlsenMobile": "I-share ang Karlsen Mobile", + "shareKarlsenMobileSubject": "Check out Karlsen Mobile Wallet", + "shareKarlsenMobileText": "Tignan ang Karlsen Mobile! Opisyal na mobile wallet ng Karlsen!", "somethingWentWrong": "Something went wrong", "systemDefault": "Default na System", "tapToHide": "Tapikin para itago", @@ -246,6 +250,7 @@ "viewAddress": "View Address", "viewTransaction": "View Transaction", "walletAddresses": "Wallet Addresses", + "walletAddress": "Wallet Address", "walletName": "Wallet name", "walletNameDescription": "Enter a name for your wallet", "walletNameHint": "Wallet Name", @@ -264,6 +269,8 @@ "nodeSecureConnection": "Secure connection", "karlsenUriInvalid": "Invalid Karlsen URI", "compoundUtxos": "Compound transactions", + "compoundRequired": "Compound required", + "compoundRequiredDescription": "The transaction amount requires too many UTXOs. Compounding will reduce the number of UTXOs.", "compoundUtxosDescription": "Combine multiple UTXOs into one", "compoundUtxosConfirmation": "Compound transactions?", "compoundingUtxos": "Compounding transactions", @@ -288,10 +295,8 @@ "addressFilterDialogTitle": "Address Filter", "addressFilterDialogOptionAllAddresses": "View All Addresses", "addressFilterDialogOptionNonZeroBalances": "View Addresses With Balance", - "importOption24WordsLegacyTitle": "Import 24 Word Secret Phrase", - "importOption24WordsLegacyDescription": "Compatible with Node Wallet up to v1.1.0", "importOption24WordsTitle": "Import 24 Word Secret Phrase", - "importOption24WordsDescription": "Compatible with Node Wallet from v1.2.0", + "importOption24WordsDescription": "Compatible with Cli Wallet and Ledger", "importOption12WordsTitle": "Import 12 Word Secret Phrase", "importOption12WordsDescription": "Compatible with Web Wallet and Karlsen Desktop", "importOptionKpubTitle": "Import Watch Only Wallet", @@ -303,5 +308,53 @@ "importKpubInvalidMessage": "Please check that your extended public key is entered correctly!", "receiveAddressListEmpty": "Receive address list is empty", "changeAddressListEmpty": "Change address list is empty", - "hintAddressListEmpty": "Check address filter from the top right corner" -} + "hintAddressListEmpty": "Check address filter from the top right corner", + "invalidSecretPhrase": "Invalid Secret Phrase", + "invalidSecretPhraseDetails": "The Secret Phrase you entered has an invalid checksum.", + "invalidSecretPhraseConfirmation": "I know what I'm doing", + "contactSupport": "Contact Support", + "emailAction": "Email {email}", + "noteLabel": "Note:", + "optionalLabel": "(Optional)", + "moreInfo": "More Info", + "selectAddress": "Select Address", + "kpubTitle": "Extended Public Key", + "kpubAuth": "View Extended Public Key", + "kpubDescription": "The extended public key can be used to import your wallet as a 'watch only' wallet.", + "copyKpub": "Copy Kpub", + "kpubCopied": "Extended Public Key Copied", + "kpubCopyFailed": "Failed to copy Extended Public Key", + "walletAddressesCopied": "Wallet {addressType} Addresses Copied to Clipboard", + "walletAddressesCopyFailed": "Failed to Copy Wallet {addressType} Addresses", + "txReport": "Transaction Report", + "txReportSubtitle": "Get CSV file with transaction history", + "txReportDetails": "Generate a transaction report, in CSV format, that contains all the wallet's transaction history.", + "txReportOptionIgnoreCompound": "Ignore compound transactions", + "txReportOptionIgnoreSelfTxs": "Ignore transactions sent to self", + "txReportOptionRefreshTxs": "Refresh transactions", + "txReportGenerate": "Generate", + "txReportStatusRefreshing": "Refreshing transactions", + "txReportStatusLoading": "Loading transactions", + "txReportStatusReady": "Transaction report is ready!", + "txReportGetReport": "Get Report", + "txReportDate": "Date", + "txReportSentAmount": "Sent Amount", + "txReportSentCurrency": "Sent Currency", + "txReportReceivedAmount": "Received Amount", + "txReportReceivedCurrency": "Received Currency", + "txReportFeeAmount": "Fee Amount", + "txReportFeeCurrency": "Fee Currency", + "txReportLabel": "Label", + "txReportDescription": "Description", + "txReportTxHash": "TxHash", + "txReportNote": "Note", + "txReportLabelCost": "cost", + "txReportFeeForCompound": "Fee for Compound Transaction", + "txReportFeeForSelfSend": "Fee to send to own addresses", + "txReportError": "Error generating report", + "txReportNoTxs": "Found {numberOf} transactions.", + "txReportNoLoadedTxs": "({loadedTxs} of {totalTxs})", + "txFilterDialogTitle": "Transaction Filter", + "txFilterDialogOptionAllTxs": "Show All Transactions", + "txFilterDialogOptionHideNotAcceptedCoinbase": "Hide Not Accepted Coinbase Transactions" +} \ No newline at end of file diff --git a/lib/l10n/app_tr.arb b/lib/l10n/app_tr.arb index dfc8217c..ca7325de 100644 --- a/lib/l10n/app_tr.arb +++ b/lib/l10n/app_tr.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2023-09-25T17:48:36.587Z", + "@@last_modified": "2024-04-18T20:07:44.355Z", "@@author": "arb-converter-cli", "account": "Hesap", "accounts": "Hesaplar", @@ -19,6 +19,8 @@ "addressHint": "Adres Gir", "addressMissing": "Lütfen Bir Adres Girin", "addressShare": "Adresi Paylaş", + "karlsenUriCopied": "Karlsen URI Adresi Kopyalandı", + "karlsenUriCopyFailed": "Karlsen URI adresi kopyalanamadı", "advancedHeader": "Gelişmiş", "amount": "Miktar", "amountConfirm": "Miktar {amount} {coin}", @@ -78,6 +80,7 @@ "disableWalletPassword": "Cüzdan Şifresini Devre Dışı Bırak", "doContinue": "Devam et", "donate": "Bağış Yap", + "donateTo": "Bağış Yap:", "dontShowAgain": "Tekrar gösterme", "emptyCardIntroUtxos": "Burası UTXO sekmesi. Cüzdanınızdaki tüm UTXO işlemleri burada gösterilir.", "emptyResult": "Boş Sonuç", @@ -85,6 +88,7 @@ "encryptionFailedError": "Cüzdan şifresi oluşturma işlemi başarısız", "enterAddress": "Adres Girin", "enterAmount": "Miktar Girin", + "enterFiatValue": "İtibari Para Değerini Gir", "enterNote": "Not Gir", "enterPasswordHint": "Şifrenizi girin", "errorMessageCopied": "Hata mesajı panoya kopyalandı", @@ -114,7 +118,7 @@ "invalidDestinationAddress": "Hedef Adres Geçersiz", "invalidPassword": "Geçersiz Şifre", "karlsenDevFund": "Karlsen Geliştirici Fonu", - "mobileWallet": "Karlsen Mobil Cüzdan", + "karlsenmobileWallet": "Karlsen Mobil Cüzdan", "language": "Dil", "loadingTransactions": "İşlemler Yükleniyor...", "lockAppSetting": "Başlangıçta Kimlik Doğrula", @@ -197,7 +201,7 @@ "sendTxProgressTitle": "İşlem Gönderiliyor", "sending": "Gönder", "sent": "Gönderildi", - "sentTo": "Alıcı", + "sentTo": "Şu adrese gönderildi:", "setPassword": "Şifre Belirle", "setPasswordSuccess": "Cüzdan şifresi belirlendi", "setWalletPassword": "Cüzdan Şifresi Belirle", @@ -246,6 +250,7 @@ "viewAddress": "Adresi Göster", "viewTransaction": "İşlemi Göster", "walletAddresses": "Cüzdan Adresleri", + "walletAddress": "Cüzdan Adresi", "walletName": "Cüzdan adı", "walletNameDescription": "Cüzdanınız için bir ad girin", "walletNameHint": "Cüzdan Adı", @@ -253,8 +258,8 @@ "walletSetupMessage": "Cüzdan kuruluyor", "walletsTitle": "Cüzdanlar", "warning": "UYARI", - "welcomeMessage": "Hoş geldiniz!\n\nBu, Karlsen mobil cüzdanı olan Karlsen Mobil'in {version} sürümü.", - "welcomeText": "Karlsen Mobil'e hoş geldiniz. Başlamak için yeni bir cüzdan oluşturabilir veya var olan bir cüzdanı içe aktarabilirsiniz.", + "welcomeMessage": "Hoş geldiniz!\n\nBu, Karlsen mobil cüzdanı olan Karlsen Mobile'un {version} sürümü.", + "welcomeText": "Karlsen Mobile'a hoş geldiniz. Başlamak için yeni bir cüzdan oluşturabilir veya var olan bir cüzdanı içe aktarabilirsiniz.", "xMinutes": "{minutes, plural, =1{1 dakika} other{{minutes} dakika}} sonra", "yes": "Evet", "yesButton": "Evet", @@ -264,7 +269,8 @@ "nodeSecureConnection": "Güvenli bağlantı", "karlsenUriInvalid": "Geçersiz Karlsen URI Adresi", "compoundUtxos": "İşlemleri birleştir", - "compoundUtxosDescription": "Birden çok UTXO'yu tek bir UTXO'da birleştir", + "compoundRequired": "Birleştirme Gerekli", + "compoundRequiredDescription": "İşlemdeki miktar, çok fazla UTXO gerektiriyor. Birleştirilirse gereken UTXO miktarı azalacak.", "compoundUtxosConfirmation": "İşlemleri birleştir?", "compoundingUtxos": "İşlemler birleştiriliyor", "compoundingMessage": "Lütfen bekleyin...", @@ -288,10 +294,8 @@ "addressFilterDialogTitle": "Adres Filtresi", "addressFilterDialogOptionAllAddresses": "Tüm Adresleri Göster", "addressFilterDialogOptionNonZeroBalances": "Bakiyesi Olan Adresleri Göster", - "importOption24WordsLegacyTitle": "24 Kelimelik Gizli Cümleyi Aktar", - "importOption24WordsLegacyDescription": "Düğüm Cüzdanı ile v1.1.0'a kadar uyumlu", "importOption24WordsTitle": "24 Kelimelik Gizli Cümleyi Aktar", - "importOption24WordsDescription": "v1.2.0'dan itibaren Düğüm Cüzdanı ile uyumlu", + "importOption24WordsDescription": "Cli Cüzdan ve Ledger ile uyumlu", "importOption12WordsTitle": "12 Kelimelik Gizli Cümleyi Aktar", "importOption12WordsDescription": "Web Cüzdan ve Karlsen Desktop ile uyumlu", "importOptionKpubTitle": "Sadece İzlemek için Cüzdan Aktar", @@ -303,5 +307,53 @@ "importKpubInvalidMessage": "Lütfen genişletilmiş herkese açık anahtarınızın (public key) doğru girildiğinden emin olun!", "receiveAddressListEmpty": "Alma adres listesi boş", "changeAddressListEmpty": "Para üstü adres listesi boş", - "hintAddressListEmpty": "Sağ üst köşedeki adres filtresini kontrol edin" -} + "hintAddressListEmpty": "Sağ üst köşedeki adres filtresini kontrol edin", + "invalidSecretPhrase": "Yanlış Gizli Cümle", + "invalidSecretPhraseDetails": "Girdiğin Gizli Cümlenin sağlama toplamı geçersiz.", + "invalidSecretPhraseConfirmation": "Ne yaptığımı biliyorum", + "contactSupport": "Destek ile iletişime geç", + "emailAction": "E-posta {email}", + "noteLabel": "Not:", + "optionalLabel": "(İsteğe Bağlı)", + "moreInfo": "Daha Fazla Bilgi", + "selectAddress": "Adres Seç", + "kpubTitle": "Genişletilmiş Herkese Açık Anahtar", + "kpubAuth": "Genişletilmiş Herkese Açık Anahtarı Görüntüle", + "kpubDescription": "Genişletilmiş herkese açık anahtar (public key), cüzdanınızı 'yalnızca izleme' cüzdanı olarak içe aktarmak için kullanılabilir.", + "copyKpub": "Kpub'ı Kopyala", + "kpubCopied": "Genişletilmiş Herkese Açık Anahtar Kopyalandı", + "kpubCopyFailed": "Genişletilmiş Herkese Açık Anahtar kopyalanamadı", + "walletAddressesCopied": "Cüzdan {addressType} Adresleri Panoya Kopyalandı", + "walletAddressesCopyFailed": "Cüzdan {addressType} Adresleri Kopyalanamadı", + "txReport": "İşlem Raporu", + "txReportSubtitle": "İşlem geçmişini CSV dosyası olarak dışarı aktar", + "txReportDetails": "Cüzdanın tüm işlem geçmişini içeren CSV formatında bir işlem raporu oluşturun.", + "txReportOptionIgnoreCompound": "Birleştirme işlemlerini yok say", + "txReportOptionIgnoreSelfTxs": "Kendine gönderdiğin işlemleri yok say", + "txReportOptionRefreshTxs": "İşlemleri yenile", + "txReportGenerate": "Oluştur", + "txReportStatusRefreshing": "İşlemler yenileniyor", + "txReportStatusLoading": "İşlemler yükleniyor", + "txReportStatusReady": "İşlem raporu hazır!", + "txReportGetReport": "Raporu Al", + "txReportDate": "Tarih", + "txReportSentAmount": "Gönderilen Miktar", + "txReportSentCurrency": "Gönderilen Para Birimi", + "txReportReceivedAmount": "Alınan Miktar", + "txReportReceivedCurrency": "Alınan Para Birimi", + "txReportFeeAmount": "Ücret Miktarı", + "txReportFeeCurrency": "Ücret Para Birimi", + "txReportLabel": "Etiket", + "txReportDescription": "Açıklama", + "txReportTxHash": "TxHash", + "txReportNote": "Not", + "txReportLabelCost": "maliyet", + "txReportFeeForCompound": "Birleştirme İşlemi Ücreti", + "txReportFeeForSelfSend": "Kendi adreslerine gönderme ücreti", + "txReportError": "Rapor oluşturulurken bir hata meydana geldi", + "txReportNoTxs": "{numberOf} işlem bulundu.", + "txReportNoLoadedTxs": "({loadedTxs} / {totalTxs})", + "txFilterDialogTitle": "İşlem Filtresi", + "txFilterDialogOptionAllTxs": "Tüm İşlemleri Göster", + "txFilterDialogOptionHideNotAcceptedCoinbase": "Kabul Edilmeyen Coinbase İşlemlerini Gizle" +} \ No newline at end of file diff --git a/lib/l10n/app_uk.arb b/lib/l10n/app_uk.arb index 9be59f41..5049d210 100644 --- a/lib/l10n/app_uk.arb +++ b/lib/l10n/app_uk.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2023-09-30T20:57:42.789Z", + "@@last_modified": "2024-11-1T11:12:41.441Z", "@@author": "arb-converter-cli", "account": "Рахунок", "accounts": "Рахунки", @@ -19,6 +19,8 @@ "addressHint": "Введіть адресу", "addressMissing": "Будь-ласка, введіть адресу", "addressShare": "Поділитися адресою", + "karlsenUriCopied": "Karlsen URI Copied", + "karlsenUriCopyFailed": "Failed to copy Karlsen URI", "advancedHeader": "Додаткові налаштування", "amount": "Сума", "amountConfirm": "Сума {amount} {coin}", @@ -78,6 +80,7 @@ "disableWalletPassword": "Вимкнути пароль гаманця", "doContinue": "Продовжити", "donate": "Пожертвувати", + "donateTo": "Donate To", "dontShowAgain": "Не показувати знову", "emptyCardIntroUtxos": "Це вкладка невитраченого результату транзакції - UTXO. Усі UTXOs у вашому гаманці з'являтимуться тут.", "emptyResult": "Порожній результат", @@ -85,6 +88,7 @@ "encryptionFailedError": "Не вдалося встановити пароль гаманця", "enterAddress": "Введіть адресу", "enterAmount": "Введіть суму", + "enterFiatValue": "Enter Fiat Value", "enterNote": "Введіть примітку", "enterPasswordHint": "Введіть пароль", "errorMessageCopied": "Повідомлення про помилку скопійовано в буфер обміну", @@ -114,7 +118,7 @@ "invalidDestinationAddress": "Неправильна адреса призначення", "invalidPassword": "Невірний пароль", "karlsenDevFund": "Фонд розвитку Karlsen", - "mobileWallet": "Гаманець Karlsen Mobile", + "karlsenmobileWallet": "Гаманець Karlsen Mobile", "language": "Мова", "loadingTransactions": "Завантаження транзакцій...", "lockAppSetting": "Аутентифікуватися при вході", @@ -197,16 +201,16 @@ "sendTxProgressTitle": "Надсилаємо транзакцію", "sending": "Надіслати", "sent": "Надіслано", - "sentTo": "Надіслано до", + "sentTo": "Sent to", "setPassword": "Встановити пароль", "setPasswordSuccess": "Пароль було успішно встановлено", "setWalletPassword": "Встановити пароль гаманця", "settingsHeader": "Налаштування", "settingsTransfer": "Завантажити з паперового гаманця", "setupFailedMessage": "Щось пішло не так", - "shareMobile": "Поділитися Karlsen Mobile", - "shareMobileSubject": "Спробуйте гаманець Karlsen Mobile", - "shareMobileText": "Спробуйте Karlsen Mobile - мобільний гаманець Karlsen.\nВебсайт - mobile.karlsencoin.com", + "shareKarlsenMobile": "Поділитися Karlsen Mobile", + "shareKarlsenMobileSubject": "Спробуйте гаманець Karlsen Mobile", + "shareKarlsenMobileText": "Спробуйте Karlsen Mobile - мобільний гаманець Karlsen.\nВебсайт - mobile.karlsencoin.com", "somethingWentWrong": "Щось пішло не так", "systemDefault": "Системна за замовчуванням", "tapToHide": "Натисніть, щоб приховати", @@ -246,6 +250,7 @@ "viewAddress": "Переглянути адресу", "viewTransaction": "Переглянути транзакцію", "walletAddresses": "Адреси гаманця", + "walletAddress": "Wallet Address", "walletName": "Назва гаманця", "walletNameDescription": "Введіть назву для вашого гаманця", "walletNameHint": "Назва гаманця", @@ -264,6 +269,8 @@ "nodeSecureConnection": "Захищене з'єднання", "karlsenUriInvalid": "Невірний URI Karlsen", "compoundUtxos": "Об'єднати транзакції", + "compoundRequired": "Compound required", + "compoundRequiredDescription": "The transaction amount requires too many UTXOs. Compounding will reduce the number of UTXOs.", "compoundUtxosDescription": "Об'єднати декілька UTXO в один", "compoundUtxosConfirmation": "Об'єднати транзакції?", "compoundingUtxos": "Об'єднування транзакцій", @@ -288,10 +295,8 @@ "addressFilterDialogTitle": "Фільтр адрес", "addressFilterDialogOptionAllAddresses": "Переглянути всі адреси", "addressFilterDialogOptionNonZeroBalances": "Переглянути адреси з балансом", - "importOption24WordsLegacyTitle": "Імпортувати секретну фразу з 24 слів", - "importOption24WordsLegacyDescription": "Сумісний із гаманцем node до версії 1.1.0", "importOption24WordsTitle": "Імпортувати секретну фразу з 24 слів", - "importOption24WordsDescription": "Сумісний з нод-гаманцем з версії 1.2.0", + "importOption24WordsDescription": "Сумісний з консольним гаманцем CLI та Ledger", "importOption12WordsTitle": "Імпортувати секретну фразу з 12 слів", "importOption12WordsDescription": "Сумісний з веб-гаманцем та Karlsen Desktop", "importOptionKpubTitle": "Імпортувати гаманець тільки для перегладу", @@ -303,5 +308,53 @@ "importKpubInvalidMessage": "Будь ласка, перевірте, чи ваш розширений публічний ключ введено коректно!", "receiveAddressListEmpty": "Список адрес для отримування порожній", "changeAddressListEmpty": "Список адрес для решти порожній", - "hintAddressListEmpty": "Перевірте фільтр адрес у верхньому правому кутку" -} + "hintAddressListEmpty": "Перевірте фільтр адрес у верхньому правому кутку", + "invalidSecretPhrase": "Invalid Secret Phrase", + "invalidSecretPhraseDetails": "The Secret Phrase you entered has an invalid checksum.", + "invalidSecretPhraseConfirmation": "I know what I'm doing", + "contactSupport": "Contact Support", + "emailAction": "Email {email}", + "noteLabel": "Note:", + "optionalLabel": "(Optional)", + "moreInfo": "More Info", + "selectAddress": "Select Address", + "kpubTitle": "Extended Public Key", + "kpubAuth": "View Extended Public Key", + "kpubDescription": "The extended public key can be used to import your wallet as a 'watch only' wallet.", + "copyKpub": "Copy Kpub", + "kpubCopied": "Extended Public Key Copied", + "kpubCopyFailed": "Failed to copy Extended Public Key", + "walletAddressesCopied": "Wallet {addressType} Addresses Copied to Clipboard", + "walletAddressesCopyFailed": "Failed to Copy Wallet {addressType} Addresses", + "txReport": "Transaction Report", + "txReportSubtitle": "Get CSV file with transaction history", + "txReportDetails": "Generate a transaction report, in CSV format, that contains all the wallet's transaction history.", + "txReportOptionIgnoreCompound": "Ignore compound transactions", + "txReportOptionIgnoreSelfTxs": "Ignore transactions sent to self", + "txReportOptionRefreshTxs": "Refresh transactions", + "txReportGenerate": "Generate", + "txReportStatusRefreshing": "Refreshing transactions", + "txReportStatusLoading": "Loading transactions", + "txReportStatusReady": "Transaction report is ready!", + "txReportGetReport": "Get Report", + "txReportDate": "Date", + "txReportSentAmount": "Sent Amount", + "txReportSentCurrency": "Sent Currency", + "txReportReceivedAmount": "Received Amount", + "txReportReceivedCurrency": "Received Currency", + "txReportFeeAmount": "Fee Amount", + "txReportFeeCurrency": "Fee Currency", + "txReportLabel": "Label", + "txReportDescription": "Description", + "txReportTxHash": "TxHash", + "txReportNote": "Note", + "txReportLabelCost": "cost", + "txReportFeeForCompound": "Fee for Compound Transaction", + "txReportFeeForSelfSend": "Fee to send to own addresses", + "txReportError": "Error generating report", + "txReportNoTxs": "Found {numberOf} transactions.", + "txReportNoLoadedTxs": "({loadedTxs} of {totalTxs})", + "txFilterDialogTitle": "Transaction Filter", + "txFilterDialogOptionAllTxs": "Show All Transactions", + "txFilterDialogOptionHideNotAcceptedCoinbase": "Hide Not Accepted Coinbase Transactions" +} \ No newline at end of file diff --git a/lib/l10n/app_ur.arb b/lib/l10n/app_ur.arb index 652833d0..8b0efea4 100644 --- a/lib/l10n/app_ur.arb +++ b/lib/l10n/app_ur.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2023-09-25T17:48:36.587Z", + "@@last_modified": "2024-11-1T11:12:41.441Z", "@@author": "arb-converter-cli", "account": "اکاؤنٹ", "accounts": "اکاؤنٹس", @@ -19,6 +19,8 @@ "addressHint": "پتہ درج کریں", "addressMissing": "براہ کرم ایک پتہ درج کریں", "addressShare": "پتہ شیئر کریں", + "karlsenUriCopied": "Karlsen URI Copied", + "karlsenUriCopyFailed": "Failed to copy Karlsen URI", "advancedHeader": "اعلی درجے", "amount": "رقم", "amountConfirm": "رقم {amount} {coin}", @@ -78,6 +80,7 @@ "disableWalletPassword": "بٹوا پاس ورڈ کو غیر فعال کریں", "doContinue": "جاری رہے", "donate": "عطیہ کریں", + "donateTo": "Donate To", "dontShowAgain": "دوبارہ مت دکھانا", "emptyCardIntroUtxos": "یہ UTXOs ٹیب ہے۔ آپ کے بٹوے میں موجود تمام UTXO یہاں ظاہر ہوں گے۔", "emptyResult": "خالی نتیجہ", @@ -85,6 +88,7 @@ "encryptionFailedError": "بٹوا پاس ورڈ سیٹ کرنے میں ناکام", "enterAddress": "پتہ درج کریں", "enterAmount": "رقم درج کریں", + "enterFiatValue": "Enter Fiat Value", "enterNote": "نوٹ درج کریں", "enterPasswordHint": "اپنا پاس ورڈ درج کریں", "errorMessageCopied": "خرابی کا پیغام کلپ بورڈ پر کاپی ہو گیا", @@ -114,7 +118,7 @@ "invalidDestinationAddress": "غلط منزل کا پتہ", "invalidPassword": "غلط پاسورڈ", "karlsenDevFund": "کاسپا دیو فنڈ", - "mobileWallet": "کارلسن موبائل والیٹ", + "karlsenmobileWallet": "کاسپیم بٹوا ", "language": "زبان", "loadingTransactions": "لین دین لوڈ ہو رہا ہے...", "lockAppSetting": "لانچ پر تصدیق کریں۔", @@ -197,16 +201,16 @@ "sendTxProgressTitle": "لین دین بھیجنا", "sending": "بھیجیں", "sent": "بھیجا", - "sentTo": "کے لئے بھیج", + "sentTo": "Sent to", "setPassword": "پاس ورڈ رکھیں", "setPasswordSuccess": "والیٹ پاس ورڈ سیٹ کر دیا گیا ہے۔", "setWalletPassword": "والیٹ پاس ورڈ سیٹ کریں۔", "settingsHeader": "ترتیبات", "settingsTransfer": "کاغذی بٹوے سے لوڈ کریں۔", "setupFailedMessage": "کچھ غلط ہو گیا", - "shareMobile": "Karlsen Mobile کا اشتراک کریں۔", - "shareMobileSubject": "Karlsen Mobile Wallet چیک کریں۔", - "shareMobileText": "Karlsen Mobile - Karlsen Mobile Wallet ویب سائٹ - mobile.karlsencoin.com چیک کریں۔", + "shareKarlsenMobile": "Karlsen Mobile کا اشتراک کریں۔", + "shareKarlsenMobileSubject": "Karlsen Mobile Wallet چیک کریں۔", + "shareKarlsenMobileText": "Karlsen Mobile - Karlsen Mobile Wallet ویب سائٹ - mobile.karlsencoin.com چیک کریں۔", "somethingWentWrong": "کچھ غلط ہو گیا", "systemDefault": "سسٹم ڈیفالٹ", "tapToHide": "چھپانے کے لئے ٹیپ", @@ -246,6 +250,7 @@ "viewAddress": "پتہ دیکھیں", "viewTransaction": "لین دین دیکھیں", "walletAddresses": "بٹوے کے پتے", + "walletAddress": "Wallet Address", "walletName": "بٹوے کا نام", "walletNameDescription": "اپنے بٹوے کے لیے ایک نام درج کریں۔", "walletNameHint": "بٹوے کا نام", @@ -264,6 +269,8 @@ "nodeSecureConnection": "محفوظ کنکشن", "karlsenUriInvalid": "Invalid Karlsen URI", "compoundUtxos": "Compound transactions", + "compoundRequired": "Compound required", + "compoundRequiredDescription": "The transaction amount requires too many UTXOs. Compounding will reduce the number of UTXOs.", "compoundUtxosDescription": "Combine multiple UTXOs into one", "compoundUtxosConfirmation": "Compound transactions?", "compoundingUtxos": "Compounding transactions", @@ -288,10 +295,8 @@ "addressFilterDialogTitle": "Address Filter", "addressFilterDialogOptionAllAddresses": "View All Addresses", "addressFilterDialogOptionNonZeroBalances": "View Addresses With Balance", - "importOption24WordsLegacyTitle": "Import 24 Word Secret Phrase", - "importOption24WordsLegacyDescription": "Compatible with Node Wallet up to v1.1.0", "importOption24WordsTitle": "Import 24 Word Secret Phrase", - "importOption24WordsDescription": "Compatible with Node Wallet from v1.2.0", + "importOption24WordsDescription": "Compatible with Cli Wallet and Ledger", "importOption12WordsTitle": "Import 12 Word Secret Phrase", "importOption12WordsDescription": "Compatible with Web Wallet and Karlsen Desktop", "importOptionKpubTitle": "Import Watch Only Wallet", @@ -303,5 +308,53 @@ "importKpubInvalidMessage": "Please check that your extended public key is entered correctly!", "receiveAddressListEmpty": "Receive address list is empty", "changeAddressListEmpty": "Change address list is empty", - "hintAddressListEmpty": "Check address filter from the top right corner" -} + "hintAddressListEmpty": "Check address filter from the top right corner", + "invalidSecretPhrase": "Invalid Secret Phrase", + "invalidSecretPhraseDetails": "The Secret Phrase you entered has an invalid checksum.", + "invalidSecretPhraseConfirmation": "I know what I'm doing", + "contactSupport": "Contact Support", + "emailAction": "Email {email}", + "noteLabel": "Note:", + "optionalLabel": "(Optional)", + "moreInfo": "More Info", + "selectAddress": "Select Address", + "kpubTitle": "Extended Public Key", + "kpubAuth": "View Extended Public Key", + "kpubDescription": "The extended public key can be used to import your wallet as a 'watch only' wallet.", + "copyKpub": "Copy Kpub", + "kpubCopied": "Extended Public Key Copied", + "kpubCopyFailed": "Failed to copy Extended Public Key", + "walletAddressesCopied": "Wallet {addressType} Addresses Copied to Clipboard", + "walletAddressesCopyFailed": "Failed to Copy Wallet {addressType} Addresses", + "txReport": "Transaction Report", + "txReportSubtitle": "Get CSV file with transaction history", + "txReportDetails": "Generate a transaction report, in CSV format, that contains all the wallet's transaction history.", + "txReportOptionIgnoreCompound": "Ignore compound transactions", + "txReportOptionIgnoreSelfTxs": "Ignore transactions sent to self", + "txReportOptionRefreshTxs": "Refresh transactions", + "txReportGenerate": "Generate", + "txReportStatusRefreshing": "Refreshing transactions", + "txReportStatusLoading": "Loading transactions", + "txReportStatusReady": "Transaction report is ready!", + "txReportGetReport": "Get Report", + "txReportDate": "Date", + "txReportSentAmount": "Sent Amount", + "txReportSentCurrency": "Sent Currency", + "txReportReceivedAmount": "Received Amount", + "txReportReceivedCurrency": "Received Currency", + "txReportFeeAmount": "Fee Amount", + "txReportFeeCurrency": "Fee Currency", + "txReportLabel": "Label", + "txReportDescription": "Description", + "txReportTxHash": "TxHash", + "txReportNote": "Note", + "txReportLabelCost": "cost", + "txReportFeeForCompound": "Fee for Compound Transaction", + "txReportFeeForSelfSend": "Fee to send to own addresses", + "txReportError": "Error generating report", + "txReportNoTxs": "Found {numberOf} transactions.", + "txReportNoLoadedTxs": "({loadedTxs} of {totalTxs})", + "txFilterDialogTitle": "Transaction Filter", + "txFilterDialogOptionAllTxs": "Show All Transactions", + "txFilterDialogOptionHideNotAcceptedCoinbase": "Hide Not Accepted Coinbase Transactions" +} \ No newline at end of file diff --git a/lib/l10n/app_vi.arb b/lib/l10n/app_vi.arb index 9a0238fd..ad1e95a4 100644 --- a/lib/l10n/app_vi.arb +++ b/lib/l10n/app_vi.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2023-09-25T17:48:36.587Z", + "@@last_modified": "2024-11-1T11:12:41.441Z", "@@author": "arb-converter-cli", "account": "Tài khoản", "accounts": "Các tài khoản", @@ -19,6 +19,8 @@ "addressHint": "Nhập địa chỉ", "addressMissing": "Hãy nhập một địa chỉ", "addressShare": "Chia sẻ địa chỉ", + "karlsenUriCopied": "Karlsen URI Copied", + "karlsenUriCopyFailed": "Failed to copy Karlsen URI", "advancedHeader": "Advanced", "amount": "Amount", "amountConfirm": "Amount {amount} {coin}", @@ -78,6 +80,7 @@ "disableWalletPassword": "Vô hiệu hoá mật khẩu ví", "doContinue": "Continue", "donate": "Donate", + "donateTo": "Donate To", "dontShowAgain": "Don't show again", "emptyCardIntroUtxos": "This is the UTXOs tab. All UTXOs in your wallet will appear here", "emptyResult": "Empty Result", @@ -85,6 +88,7 @@ "encryptionFailedError": "Đặt mật khẩu ví không thành công", "enterAddress": "Nhập địa chỉ", "enterAmount": "Nhập số lượng", + "enterFiatValue": "Enter Fiat Value", "enterNote": "Enter Note", "enterPasswordHint": "Nhập mật khẩu", "errorMessageCopied": "Error message copied to clipboard", @@ -114,7 +118,7 @@ "invalidDestinationAddress": "Invalid Destination Address", "invalidPassword": "Mật khẩu không hợp lệ", "karlsenDevFund": "Karlsen Dev Fund", - "mobileWallet": "Karlsen Mobile Wallet", + "karlsenmobileWallet": "Karlsen Mobile Wallet", "language": "Ngôn ngữ", "loadingTransactions": "Loading Transactions...", "lockAppSetting": "Xác thực khi khởi chạy", @@ -197,16 +201,16 @@ "sendTxProgressTitle": "Sending Transaction", "sending": "Đang gửi", "sent": "Đã gửi", - "sentTo": "Đã gửi tới", + "sentTo": "Sent to", "setPassword": "Đặt mật khẩu", "setPasswordSuccess": "Đã đặt mật khẩu thành công", "setWalletPassword": "Đặt mật khẩu ví", "settingsHeader": "Cài đặt", "settingsTransfer": "Nhập từ ví giấy", "setupFailedMessage": "Something went wrong", - "shareMobile": "Chia sẻ Karlsen Mobile", - "shareMobileSubject": "Check out Karlsen Mobile Wallet", - "shareMobileText": "Thử ngay Karlsen Mobile! Ví Karlsen di động chính thức!", + "shareKarlsenMobile": "Chia sẻ Karlsen Mobile", + "shareKarlsenMobileSubject": "Check out Karlsen Mobile Wallet", + "shareKarlsenMobileText": "Thử ngay Karlsen Mobile! Ví Karlsen di động chính thức!", "somethingWentWrong": "Something went wrong", "systemDefault": "Mặc định hệ thống", "tapToHide": "Nhấn để ẩn", @@ -246,6 +250,7 @@ "viewAddress": "View Address", "viewTransaction": "View Transaction", "walletAddresses": "Wallet Addresses", + "walletAddress": "Wallet Address", "walletName": "Wallet name", "walletNameDescription": "Enter a name for your wallet", "walletNameHint": "Wallet Name", @@ -264,6 +269,8 @@ "nodeSecureConnection": "Secure connection", "karlsenUriInvalid": "Invalid Karlsen URI", "compoundUtxos": "Compound transactions", + "compoundRequired": "Compound required", + "compoundRequiredDescription": "The transaction amount requires too many UTXOs. Compounding will reduce the number of UTXOs.", "compoundUtxosDescription": "Combine multiple UTXOs into one", "compoundUtxosConfirmation": "Compound transactions?", "compoundingUtxos": "Compounding transactions", @@ -288,10 +295,8 @@ "addressFilterDialogTitle": "Address Filter", "addressFilterDialogOptionAllAddresses": "View All Addresses", "addressFilterDialogOptionNonZeroBalances": "View Addresses With Balance", - "importOption24WordsLegacyTitle": "Import 24 Word Secret Phrase", - "importOption24WordsLegacyDescription": "Compatible with Node Wallet up to v1.1.0", "importOption24WordsTitle": "Import 24 Word Secret Phrase", - "importOption24WordsDescription": "Compatible with Node Wallet from v1.2.0", + "importOption24WordsDescription": "Compatible with Cli Wallet and Ledger", "importOption12WordsTitle": "Import 12 Word Secret Phrase", "importOption12WordsDescription": "Compatible with Web Wallet and Karlsen Desktop", "importOptionKpubTitle": "Import Watch Only Wallet", @@ -303,5 +308,53 @@ "importKpubInvalidMessage": "Please check that your extended public key is entered correctly!", "receiveAddressListEmpty": "Receive address list is empty", "changeAddressListEmpty": "Change address list is empty", - "hintAddressListEmpty": "Check address filter from the top right corner" -} + "hintAddressListEmpty": "Check address filter from the top right corner", + "invalidSecretPhrase": "Invalid Secret Phrase", + "invalidSecretPhraseDetails": "The Secret Phrase you entered has an invalid checksum.", + "invalidSecretPhraseConfirmation": "I know what I'm doing", + "contactSupport": "Contact Support", + "emailAction": "Email {email}", + "noteLabel": "Note:", + "optionalLabel": "(Optional)", + "moreInfo": "More Info", + "selectAddress": "Select Address", + "kpubTitle": "Extended Public Key", + "kpubAuth": "View Extended Public Key", + "kpubDescription": "The extended public key can be used to import your wallet as a 'watch only' wallet.", + "copyKpub": "Copy Kpub", + "kpubCopied": "Extended Public Key Copied", + "kpubCopyFailed": "Failed to copy Extended Public Key", + "walletAddressesCopied": "Wallet {addressType} Addresses Copied to Clipboard", + "walletAddressesCopyFailed": "Failed to Copy Wallet {addressType} Addresses", + "txReport": "Transaction Report", + "txReportSubtitle": "Get CSV file with transaction history", + "txReportDetails": "Generate a transaction report, in CSV format, that contains all the wallet's transaction history.", + "txReportOptionIgnoreCompound": "Ignore compound transactions", + "txReportOptionIgnoreSelfTxs": "Ignore transactions sent to self", + "txReportOptionRefreshTxs": "Refresh transactions", + "txReportGenerate": "Generate", + "txReportStatusRefreshing": "Refreshing transactions", + "txReportStatusLoading": "Loading transactions", + "txReportStatusReady": "Transaction report is ready!", + "txReportGetReport": "Get Report", + "txReportDate": "Date", + "txReportSentAmount": "Sent Amount", + "txReportSentCurrency": "Sent Currency", + "txReportReceivedAmount": "Received Amount", + "txReportReceivedCurrency": "Received Currency", + "txReportFeeAmount": "Fee Amount", + "txReportFeeCurrency": "Fee Currency", + "txReportLabel": "Label", + "txReportDescription": "Description", + "txReportTxHash": "TxHash", + "txReportNote": "Note", + "txReportLabelCost": "cost", + "txReportFeeForCompound": "Fee for Compound Transaction", + "txReportFeeForSelfSend": "Fee to send to own addresses", + "txReportError": "Error generating report", + "txReportNoTxs": "Found {numberOf} transactions.", + "txReportNoLoadedTxs": "({loadedTxs} of {totalTxs})", + "txFilterDialogTitle": "Transaction Filter", + "txFilterDialogOptionAllTxs": "Show All Transactions", + "txFilterDialogOptionHideNotAcceptedCoinbase": "Hide Not Accepted Coinbase Transactions" +} \ No newline at end of file diff --git a/lib/l10n/app_zh.arb b/lib/l10n/app_zh.arb index e7eb4214..863e0553 100644 --- a/lib/l10n/app_zh.arb +++ b/lib/l10n/app_zh.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2023-09-30T20:57:42.789Z", + "@@last_modified": "2024-04-18T20:07:44.355Z", "@@author": "arb-converter-cli", "account": "账户", "accounts": "账户", @@ -19,6 +19,8 @@ "addressHint": "输入地址", "addressMissing": "请输入地址", "addressShare": "分享地址", + "karlsenUriCopied": "已复制 Karlsen URI", + "karlsenUriCopyFailed": "未能成功复制 Karlsen URI", "advancedHeader": "高级", "amount": "数额", "amountConfirm": "数额 {amount} {coin}", @@ -78,6 +80,7 @@ "disableWalletPassword": "解除钱包密码", "doContinue": "继续", "donate": "捐赠", + "donateTo": "捐赠给", "dontShowAgain": "不再显示", "emptyCardIntroUtxos": "这是 UTXO 选项卡。此钱包中的所有 UTXO 都会在这里显示。", "emptyResult": "空结果", @@ -85,6 +88,7 @@ "encryptionFailedError": "钱包密码设置失败", "enterAddress": "输入地址", "enterAmount": "输入数额", + "enterFiatValue": "输入法币单位", "enterNote": "输入笔记", "enterPasswordHint": "输入您的密码", "errorMessageCopied": "错误信息已复制到粘贴板", @@ -114,7 +118,7 @@ "invalidDestinationAddress": "无效目标地址", "invalidPassword": "无效密码", "karlsenDevFund": "Karlsen 开发基金", - "mobileWallet": "Karlsen Mobile 钱包", + "karlsenmobileWallet": "Karlsen Mobile 钱包", "language": "语言", "loadingTransactions": "加载交易中... ", "lockAppSetting": "启动时要求验证", @@ -148,7 +152,7 @@ "paperWallet": "纸钱包", "passwordBlank": "密码不能为空", "passwordNoLongerRequiredToOpenParagraph": "您以后打开 Karlsen Mobile 不再需要密码了。", - "passwordWillBeRequiredToOpenParagraph": "以后需要这个密码才能打开Karlsen Mobile。", + "passwordWillBeRequiredToOpenParagraph": "以后需要这个密码才能打开KarlsenMobile。", "passwordsDontMatch": "密码不匹配", "pasteMnemonicError": "粘贴板内容不是有效的助记词", "pending": "待处理", @@ -204,9 +208,9 @@ "settingsHeader": "设置", "settingsTransfer": "从纸钱包载入", "setupFailedMessage": "发生了错误", - "shareMobile": "分享 Karlsen Mobile", - "shareMobileSubject": "查看 Karlsen Mobile 钱包", - "shareMobileText": "查看 Karlsen Mobile - Karlsen 移动钱包\n网站 - mobile.karlsencoin.com", + "shareKarlsenMobile": "分享 Karlsen Mobile", + "shareKarlsenMobileSubject": "查看 Karlsen Mobile 钱包", + "shareKarlsenMobileText": "查看 Karlsen Mobile - Karlsen 移动钱包\n网站 - mobile.karlsencoin.com", "somethingWentWrong": "发生了错误", "systemDefault": "系统默认", "tapToHide": "点击隐藏", @@ -246,6 +250,7 @@ "viewAddress": "查看地址", "viewTransaction": "查看交易", "walletAddresses": "钱包地址", + "walletAddress": "钱包地址", "walletName": "钱包名称", "walletNameDescription": "输入钱包名称", "walletNameHint": "钱包名称", @@ -264,6 +269,8 @@ "nodeSecureConnection": "安全连接", "karlsenUriInvalid": "无效的 Karlsen 地址", "compoundUtxos": "合并交易(化零为整)", + "compoundRequired": "需要合并", + "compoundRequiredDescription": "这笔交易需要过多的 UTXO,建议合并余额以减少所需的 UTXO。", "compoundUtxosDescription": "合并多个地址的零钱到一个地址。", "compoundUtxosConfirmation": "合并交易(化零为整)?", "compoundingUtxos": "正在合并交易(化零为整)", @@ -288,10 +295,8 @@ "addressFilterDialogTitle": "地址过滤", "addressFilterDialogOptionAllAddresses": "查看全部地址", "addressFilterDialogOptionNonZeroBalances": "查看所有非零余额地址", - "importOption24WordsLegacyTitle": "导入 24 个助记词", - "importOption24WordsLegacyDescription": "兼容节点钱包 v1.1.0 以上", "importOption24WordsTitle": "导入 24 个助记词", - "importOption24WordsDescription": "从 v1.2.0 开始兼容节点钱包", + "importOption24WordsDescription": "与 Cli 钱包和 Ledger 兼容", "importOption12WordsTitle": "导入 12 个助记词", "importOption12WordsDescription": "与网页钱包和 Karlsen Desktop 兼容", "importOptionKpubTitle": "导入只读钱包", @@ -303,5 +308,53 @@ "importKpubInvalidMessage": "请确认你的扩展公钥输入正确。", "receiveAddressListEmpty": "接收地址列表为空", "changeAddressListEmpty": "零钱地址列表为空", - "hintAddressListEmpty": "从右上角查看地址过滤" -} + "hintAddressListEmpty": "从右上角查看地址过滤", + "invalidSecretPhrase": "无效的秘钥助记词", + "invalidSecretPhraseDetails": "您输入的秘钥助记词未能通过 Checksum 校验。", + "invalidSecretPhraseConfirmation": "我已知晓我的操作", + "contactSupport": "获取支持", + "emailAction": "Email 地址", + "noteLabel": "备注:", + "optionalLabel": "(可选)", + "moreInfo": "更多信息", + "selectAddress": "选择地址", + "kpubTitle": "扩展公钥", + "kpubAuth": "查看扩展公钥", + "kpubDescription": "本扩展公钥能够让你将本钱包作为「观察钱包」导出至其他支持平台。", + "copyKpub": "复制 Kpub", + "kpubCopied": "已复制扩展公钥", + "kpubCopyFailed": "未能成功复制扩展公钥", + "walletAddressesCopied": "钱包 {addressType} 地址已复制到剪切板", + "walletAddressesCopyFailed": "钱包 {addressType} 地址未能成功复制", + "txReport": "交易报告", + "txReportSubtitle": "获取 CSV 格式的交易报告", + "txReportDetails": "生成 CSV 格式的交易报告,其中包含钱包的所有交易历史记录。", + "txReportOptionIgnoreCompound": "忽略合并交易操作", + "txReportOptionIgnoreSelfTxs": "忽略对象为自己的交易操作", + "txReportOptionRefreshTxs": "刷新交易", + "txReportGenerate": "生成", + "txReportStatusRefreshing": "刷新交易中", + "txReportStatusLoading": "加载交易中", + "txReportStatusReady": "交易报告已经完成!", + "txReportGetReport": "获取报告", + "txReportDate": "日期", + "txReportSentAmount": "发送金额", + "txReportSentCurrency": "发送币种", + "txReportReceivedAmount": "接收金额", + "txReportReceivedCurrency": "接收币种", + "txReportFeeAmount": "手续费金额", + "txReportFeeCurrency": "手续费币种", + "txReportLabel": "标签", + "txReportDescription": "描述", + "txReportTxHash": "TxHash", + "txReportNote": "备注", + "txReportLabelCost": "支出", + "txReportFeeForCompound": "合并交易的费用", + "txReportFeeForSelfSend": "发送给自有地址的费用", + "txReportError": "生成报告时出错", + "txReportNoTxs": "找到 {numberOf} 条交易记录。", + "txReportNoLoadedTxs": "({loadedTxs} / {totalTxs})", + "txFilterDialogTitle": "筛选交易", + "txFilterDialogOptionAllTxs": "展示所有交易", + "txFilterDialogOptionHideNotAcceptedCoinbase": "隐藏未接受的创币交易" +} \ No newline at end of file diff --git a/lib/main.dart b/lib/main.dart index 862d4e07..8612262d 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,4 +1,3 @@ -import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; @@ -8,6 +7,7 @@ import 'package:shared_preferences/shared_preferences.dart'; import 'app.dart'; import 'app_providers.dart'; import 'database/database.dart'; +import 'util/platform.dart'; import 'util/sharedprefsutil.dart'; void main() async { @@ -27,7 +27,7 @@ void main() async { ); // Setup logger - if (kDebugMode) { + if (kInDebugMode) { Logger.level = Level.debug; //debugRepaintRainbowEnabled = true; } else { diff --git a/lib/main_card/main_card.dart b/lib/main_card/main_card.dart index 852a5b0b..95232603 100644 --- a/lib/main_card/main_card.dart +++ b/lib/main_card/main_card.dart @@ -32,7 +32,7 @@ class MainCard extends ConsumerWidget { Future scanQrCode() async { final qrCode = await UserDataUtil.scanQrCode(context); - final data = qrCode; + final data = qrCode?.code; if (data == null) { return; } diff --git a/lib/node_settings/node_add_sheet.dart b/lib/node_settings/node_add_sheet.dart index cf4c8ca8..1f4d5590 100644 --- a/lib/node_settings/node_add_sheet.dart +++ b/lib/node_settings/node_add_sheet.dart @@ -6,6 +6,7 @@ import 'package:validators/validators.dart'; import '../app_icons.dart'; import '../app_providers.dart'; +import '../app_router.dart'; import '../karlsen/karlsen.dart'; import '../l10n/l10n.dart'; import '../util/random_util.dart'; @@ -16,7 +17,6 @@ import '../widgets/buttons.dart'; import '../widgets/dialog.dart'; import '../widgets/sheet_widget.dart'; import '../widgets/validation_text.dart'; -import 'node_providers.dart'; import 'node_types.dart'; class NodeAddSheet extends HookConsumerWidget { @@ -24,6 +24,8 @@ class NodeAddSheet extends HookConsumerWidget { @override Widget build(BuildContext context, WidgetRef ref) { + final theme = ref.watch(themeProvider); + final styles = ref.watch(stylesProvider); final l10n = l10nOf(context); final stateNotifier = useState(const AddNodeSheetState()); @@ -104,19 +106,31 @@ class NodeAddSheet extends HookConsumerWidget { final port = int.tryParse(url.split(':').last) ?? kMainnetRpcPort; bool isSecure; var nodeInfo; + String networkName; try { // Try secure connection first client = KarlsenClient.url(url, isSecure: true); nodeInfo = await client.getInfo(); + networkName = (await client.getBlockDagInfo()).networkName; isSecure = true; } catch (_) { // Fallback to insecure connection client = KarlsenClient.url(url, isSecure: false); nodeInfo = await client.getInfo(); + networkName = (await client.getBlockDagInfo()).networkName; isSecure = false; } - final network = networkForPort(port); + KarlsenNetwork network; + String suffix; + final parts = networkName.split('-'); + if (parts.length > 1) { + network = KarlsenNetwork.tryParse(parts[1]) ?? networkForPort(port); + suffix = parts.length == 3 ? parts[2] : ''; + } else { + network = networkForPort(port); + suffix = ''; + } if (!nodeInfo.isSynced) { throw Exception(l10n.nodeNotSyncedException); @@ -132,15 +146,16 @@ class NodeAddSheet extends HookConsumerWidget { name: name, urls: [url], network: network, + networkSuffix: suffix, isSecure: isSecure, ); if (!cancelled) { - Navigator.of(context).pop(); + appRouter.pop(context); final success = await notifier.addOption(config); if (success) { // pop sheet - Navigator.of(context).pop(); + appRouter.pop(context); UIUtil.showSnackbar(l10n.addNodeSuccess, context); } else { UIUtil.showSnackbar(l10n.addNodeFailed, context); @@ -149,7 +164,7 @@ class NodeAddSheet extends HookConsumerWidget { } catch (e, st) { if (!cancelled) { // pop dialog - Navigator.of(context).pop(); + appRouter.pop(context); } final log = ref.read(loggerProvider); log.e('Failed to add node', error: e, stackTrace: st); @@ -164,7 +179,7 @@ class NodeAddSheet extends HookConsumerWidget { Future scanUrl() async { FocusManager.instance.primaryFocus?.unfocus(); final scanResult = await UserDataUtil.scanQrCode(context); - final url = scanResult; + final url = scanResult?.code; if (url == null) { return; } @@ -187,6 +202,8 @@ class NodeAddSheet extends HookConsumerWidget { AppTextField( controller: nameController, focusNode: nameFocusNode, + cursorColor: theme.primary, + style: styles.textStyleParagraphNormal, hintText: state.showNameHint ? l10n.nodeNameHint : '', textInputAction: TextInputAction.next, textCapitalization: TextCapitalization.words, @@ -198,6 +215,8 @@ class NodeAddSheet extends HookConsumerWidget { AppTextField( controller: urlController, focusNode: urlFocusNode, + cursorColor: theme.primary, + style: styles.textStyleParagraphNormal, hintText: state.showUrlHint ? l10n.nodeUrlHint : '', textInputAction: TextInputAction.next, keyboardType: TextInputType.url, @@ -223,7 +242,7 @@ class NodeAddSheet extends HookConsumerWidget { const SizedBox(height: 16), PrimaryOutlineButton( title: l10n.cancel, - onPressed: () => Navigator.pop(context), + onPressed: () => appRouter.pop(context), ), ]), ), diff --git a/lib/node_settings/node_item.dart b/lib/node_settings/node_item.dart index a39bfed3..12e42cdb 100644 --- a/lib/node_settings/node_item.dart +++ b/lib/node_settings/node_item.dart @@ -6,7 +6,6 @@ import '../app_providers.dart'; import '../app_styles.dart'; import '../l10n/l10n.dart'; import '../widgets/dialog.dart'; -import 'node_providers.dart'; import 'node_types.dart'; final karlsenNodeConfigItemProvider = @@ -25,19 +24,19 @@ class NodeItem extends ConsumerWidget { final activeConfig = ref.watch(karlsenNodeConfigProvider); Future change() async { - final oldNetwork = ref.read(networkProvider); - final newNetwork = item.network; + final oldNetworkId = ref.read(networkIdProvider); + final newNetworkId = item.networkId; final repository = ref.read(walletRepositoryProvider); final wallet = ref.read(walletProvider); - if (oldNetwork != newNetwork) { - await repository.openWalletBoxes(wallet, network: newNetwork); + if (oldNetworkId != newNetworkId) { + await repository.openWalletBoxes(wallet, networkId: newNetworkId); } final notifier = ref.read(karlsenNodeSettingsProvider.notifier); await notifier.updateSelected(item.config); - if (oldNetwork != newNetwork) { - await repository.closeWalletBoxes(wallet, network: oldNetwork); + if (oldNetworkId != newNetworkId) { + await repository.closeWalletBoxes(wallet, networkId: oldNetworkId); } } @@ -88,9 +87,7 @@ class NodeItem extends ConsumerWidget { value: item, groupValue: activeConfig, activeColor: theme.primary, - onChanged: (_) { - change(); - }, + onChanged: (_) => change(), ), const SizedBox(width: 10), Expanded( @@ -115,7 +112,7 @@ class NodeItem extends ConsumerWidget { borderRadius: BorderRadius.circular(4), ), child: Text( - item.network.name.toUpperCase(), + item.networkId.toUpperCase(), style: styles.tagText.copyWith(fontSize: 10), ), ), diff --git a/lib/node_settings/node_providers.dart b/lib/node_settings/node_providers.dart index 37e8b27d..7e10ba48 100644 --- a/lib/node_settings/node_providers.dart +++ b/lib/node_settings/node_providers.dart @@ -1,62 +1,9 @@ -import 'package:fast_immutable_collections/fast_immutable_collections.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; -import '../settings/settings_providers.dart'; +import '../app_providers.dart'; +import 'node_settings_notifier.dart'; import 'node_types.dart'; -const kNodeConfigKey = '_kNodeConfigKeyV2'; - -extension NodeSettingsExtension on SettingsRepository { - NodeConfigSettings getNodeConfigSettings() { - return box.tryGet( - kNodeConfigKey, - typeFactory: NodeConfigSettings.fromJson, - ) ?? - const NodeConfigSettings(); - } - - Future setNodeConfigSettings(NodeConfigSettings settings) { - return box.set(kNodeConfigKey, settings); - } -} - -class NodeSettingsNotifier extends StateNotifier { - final SettingsRepository repository; - - NodeSettingsNotifier(this.repository) - : super(repository.getNodeConfigSettings()); - - Future updateSelected(NodeConfig config) { - state = state.copyWith(selected: config); - return repository.setNodeConfigSettings(state); - } - - Future updateOptions(IList options) { - state = state.copyWith( - options: options, - ); - return repository.setNodeConfigSettings(state); - } - - Future addOption(NodeConfig config) async { - if (state.options.contains(config)) { - return false; - } - final options = state.options.add(config); - await updateOptions(options); - return true; - } - - Future removeOption(NodeConfig config) async { - if (config == state.selected) { - return false; - } - final options = state.options.remove(config); - await updateOptions(options); - return true; - } -} - final karlsenNodeSettingsProvider = StateNotifierProvider((ref) { final repository = ref.watch(settingsRepositoryProvider); diff --git a/lib/node_settings/node_settings_notifier.dart b/lib/node_settings/node_settings_notifier.dart new file mode 100644 index 00000000..ec323b77 --- /dev/null +++ b/lib/node_settings/node_settings_notifier.dart @@ -0,0 +1,58 @@ +import 'package:fast_immutable_collections/fast_immutable_collections.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; + +import '../settings/settings_repository.dart'; +import 'node_types.dart'; + +const kNodeConfigKey = '_kNodeConfigKeyV2'; + +extension NodeSettingsExtension on SettingsRepository { + NodeConfigSettings getNodeConfigSettings() { + return box.tryGet( + kNodeConfigKey, + typeFactory: NodeConfigSettings.fromJson, + ) ?? + const NodeConfigSettings(); + } + + Future setNodeConfigSettings(NodeConfigSettings settings) { + return box.set(kNodeConfigKey, settings); + } +} + +class NodeSettingsNotifier extends StateNotifier { + final SettingsRepository repository; + + NodeSettingsNotifier(this.repository) + : super(repository.getNodeConfigSettings()); + + Future updateSelected(NodeConfig config) { + state = state.copyWith(selected: config); + return repository.setNodeConfigSettings(state); + } + + Future updateOptions(IList options) { + state = state.copyWith( + options: options, + ); + return repository.setNodeConfigSettings(state); + } + + Future addOption(NodeConfig config) async { + if (state.options.contains(config)) { + return false; + } + final options = state.options.add(config); + await updateOptions(options); + return true; + } + + Future removeOption(NodeConfig config) async { + if (config == state.selected) { + return false; + } + final options = state.options.remove(config); + await updateOptions(options); + return true; + } +} diff --git a/lib/node_settings/node_types.dart b/lib/node_settings/node_types.dart index cdff6582..20ed1924 100644 --- a/lib/node_settings/node_types.dart +++ b/lib/node_settings/node_types.dart @@ -37,8 +37,11 @@ class NodeConfig with _$NodeConfig { @Default(false) bool isSecure, required List urls, required KarlsenNetwork network, + @Default('') String networkSuffix, }) = _NodeConfig; + String get networkId => network.idWithSuffix(networkSuffix); + factory NodeConfig.fromJson(Map json) => _$NodeConfigFromJson(json); } @@ -52,8 +55,10 @@ class ActiveNodeConfig with _$ActiveNodeConfig { String get name => config.name; KarlsenNetwork get network => config.network; + bool get isSecure => config.isSecure; late final String url = config.urls[Random().nextInt(config.urls.length)]; + late final String networkId = config.networkId; } @freezed diff --git a/lib/node_settings/node_types.freezed.dart b/lib/node_settings/node_types.freezed.dart index 2f675f4b..91d4b674 100644 --- a/lib/node_settings/node_types.freezed.dart +++ b/lib/node_settings/node_types.freezed.dart @@ -200,6 +200,7 @@ mixin _$NodeConfig { bool get isSecure => throw _privateConstructorUsedError; List get urls => throw _privateConstructorUsedError; KarlsenNetwork get network => throw _privateConstructorUsedError; + String get networkSuffix => throw _privateConstructorUsedError; Map toJson() => throw _privateConstructorUsedError; @JsonKey(ignore: true) @@ -219,7 +220,8 @@ abstract class $NodeConfigCopyWith<$Res> { bool isDns, bool isSecure, List urls, - KarlsenNetwork network}); + KarlsenNetwork network, + String networkSuffix}); } /// @nodoc @@ -241,6 +243,7 @@ class _$NodeConfigCopyWithImpl<$Res, $Val extends NodeConfig> Object? isSecure = null, Object? urls = null, Object? network = null, + Object? networkSuffix = null, }) { return _then(_value.copyWith( id: null == id @@ -267,6 +270,10 @@ class _$NodeConfigCopyWithImpl<$Res, $Val extends NodeConfig> ? _value.network : network // ignore: cast_nullable_to_non_nullable as KarlsenNetwork, + networkSuffix: null == networkSuffix + ? _value.networkSuffix + : networkSuffix // ignore: cast_nullable_to_non_nullable + as String, ) as $Val); } } @@ -285,7 +292,8 @@ abstract class _$$NodeConfigImplCopyWith<$Res> bool isDns, bool isSecure, List urls, - KarlsenNetwork network}); + KarlsenNetwork network, + String networkSuffix}); } /// @nodoc @@ -305,6 +313,7 @@ class __$$NodeConfigImplCopyWithImpl<$Res> Object? isSecure = null, Object? urls = null, Object? network = null, + Object? networkSuffix = null, }) { return _then(_$NodeConfigImpl( id: null == id @@ -331,6 +340,10 @@ class __$$NodeConfigImplCopyWithImpl<$Res> ? _value.network : network // ignore: cast_nullable_to_non_nullable as KarlsenNetwork, + networkSuffix: null == networkSuffix + ? _value.networkSuffix + : networkSuffix // ignore: cast_nullable_to_non_nullable + as String, )); } } @@ -344,7 +357,8 @@ class _$NodeConfigImpl extends _NodeConfig { this.isDns = false, this.isSecure = false, required final List urls, - required this.network}) + required this.network, + this.networkSuffix = ''}) : _urls = urls, super._(); @@ -371,10 +385,13 @@ class _$NodeConfigImpl extends _NodeConfig { @override final KarlsenNetwork network; + @override + @JsonKey() + final String networkSuffix; @override String toString() { - return 'NodeConfig(id: $id, name: $name, isDns: $isDns, isSecure: $isSecure, urls: $urls, network: $network)'; + return 'NodeConfig(id: $id, name: $name, isDns: $isDns, isSecure: $isSecure, urls: $urls, network: $network, networkSuffix: $networkSuffix)'; } @override @@ -388,13 +405,15 @@ class _$NodeConfigImpl extends _NodeConfig { (identical(other.isSecure, isSecure) || other.isSecure == isSecure) && const DeepCollectionEquality().equals(other._urls, _urls) && - (identical(other.network, network) || other.network == network)); + (identical(other.network, network) || other.network == network) && + (identical(other.networkSuffix, networkSuffix) || + other.networkSuffix == networkSuffix)); } @JsonKey(ignore: true) @override int get hashCode => Object.hash(runtimeType, id, name, isDns, isSecure, - const DeepCollectionEquality().hash(_urls), network); + const DeepCollectionEquality().hash(_urls), network, networkSuffix); @JsonKey(ignore: true) @override @@ -417,7 +436,8 @@ abstract class _NodeConfig extends NodeConfig { final bool isDns, final bool isSecure, required final List urls, - required final KarlsenNetwork network}) = _$NodeConfigImpl; + required final KarlsenNetwork network, + final String networkSuffix}) = _$NodeConfigImpl; const _NodeConfig._() : super._(); factory _NodeConfig.fromJson(Map json) = @@ -436,6 +456,8 @@ abstract class _NodeConfig extends NodeConfig { @override KarlsenNetwork get network; @override + String get networkSuffix; + @override @JsonKey(ignore: true) _$$NodeConfigImplCopyWith<_$NodeConfigImpl> get copyWith => throw _privateConstructorUsedError; diff --git a/lib/node_settings/node_types.g.dart b/lib/node_settings/node_types.g.dart index dd5cf70a..3e084f78 100644 --- a/lib/node_settings/node_types.g.dart +++ b/lib/node_settings/node_types.g.dart @@ -36,6 +36,7 @@ _$NodeConfigImpl _$$NodeConfigImplFromJson(Map json) => _$NodeConfigImpl( isSecure: json['isSecure'] as bool? ?? false, urls: (json['urls'] as List).map((e) => e as String).toList(), network: $enumDecode(_$KarlsenNetworkEnumMap, json['network']), + networkSuffix: json['networkSuffix'] as String? ?? '', ); Map _$$NodeConfigImplToJson(_$NodeConfigImpl instance) => @@ -46,6 +47,7 @@ Map _$$NodeConfigImplToJson(_$NodeConfigImpl instance) => 'isSecure': instance.isSecure, 'urls': instance.urls, 'network': _$KarlsenNetworkEnumMap[instance.network]!, + 'networkSuffix': instance.networkSuffix, }; const _$KarlsenNetworkEnumMap = { diff --git a/lib/node_settings/nodes_sheet.dart b/lib/node_settings/nodes_sheet.dart index 78c84c31..7cf71122 100644 --- a/lib/node_settings/nodes_sheet.dart +++ b/lib/node_settings/nodes_sheet.dart @@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../app_providers.dart'; +import '../app_router.dart'; import '../l10n/l10n.dart'; import '../widgets/buttons.dart'; import '../widgets/gradient_widgets.dart'; @@ -9,7 +10,6 @@ import '../widgets/sheet_util.dart'; import '../widgets/sheet_widget.dart'; import 'node_add_sheet.dart'; import 'node_item.dart'; -import 'node_providers.dart'; import 'node_types.dart'; class ListViewEndItem extends ConsumerWidget { @@ -86,7 +86,7 @@ class KarlsenNodesSheet extends ConsumerWidget { const SizedBox(height: 16), PrimaryOutlineButton( title: l10n.close, - onPressed: () => Navigator.pop(context), + onPressed: () => appRouter.pop(context), ), ]), ), diff --git a/lib/receive/receive_amount_field.dart b/lib/receive/receive_amount_field.dart index e43806d5..5ca7e243 100644 --- a/lib/receive/receive_amount_field.dart +++ b/lib/receive/receive_amount_field.dart @@ -3,14 +3,13 @@ import 'package:flutter/material.dart'; import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; -import '../app_icons.dart'; import '../app_providers.dart'; import '../karlsen/karlsen.dart'; import '../l10n/l10n.dart'; import '../util/numberutil.dart'; import '../widgets/app_text_field.dart'; +import '../widgets/fiat_mode_icon.dart'; import '../widgets/fiat_value_container.dart'; -import '../widgets/karlsen_icon_widget.dart'; final amountProvider = StateProvider.autoDispose((ref) => null); @@ -32,22 +31,24 @@ class ReceiveAmountField extends HookConsumerWidget { final karlsenFormatter = ref.watch(karlsenFormatterProvider); final fiatFormatter = ref.watch(fiatFormatterProvider); + final amount = ref.watch(amountProvider); final amountController = useTextEditingController(); final amountFocusNode = useFocusNode(); - final fiatMode = ref.watch(fiatModeProvider); + final fiatMode = allowFiat ? ref.watch(fiatModeProvider) : false; final amountHint = useState(null); final hintText = fiatMode ? l10n.enterFiatValue : l10n.enterAmount; useEffect(() { - amountFocusNode.addListener(() { + final listener = () { amountHint.value = amountFocusNode.hasFocus ? '' : null; - }); - return null; - }); + }; + amountFocusNode.addListener(listener); + return () => amountFocusNode.removeListener(listener); + }, [amountFocusNode]); useEffect(() { if (amount != null) { @@ -103,16 +104,15 @@ class ReceiveAmountField extends HookConsumerWidget { maxLines: null, autocorrect: false, hintText: amountHint.value ?? hintText, - prefixButton: allowFiat - ? TextFieldButton( - icon: AppIcons.swapcurrency, - onPressed: () => ref - .read(fiatModeProvider.notifier) - .update((state) => !state), - ) - : TextFieldButton( - widget: Image.asset(kKarlsenIconPath, width: 40, height: 40), - ), + prefixButton: TextFieldButton( + widget: FiatModeIcon(fiatMode: fiatMode), + onPressed: () { + if (allowFiat) { + final notifier = ref.read(fiatModeProvider.notifier); + notifier.update((state) => !state); + } + }, + ), suffixButton: TextFieldButton( icon: Icons.clear, onPressed: clearAmount, diff --git a/lib/receive/share_card.dart b/lib/receive/share_card.dart index 2322dc86..91f8faff 100644 --- a/lib/receive/share_card.dart +++ b/lib/receive/share_card.dart @@ -27,7 +27,7 @@ class _AppShareCardState extends State { key: globalKey, child: Consumer(builder: (context, ref, _) { final theme = ref.watch(themeProvider); - final selected = ref.watch(receiveAddressProvider); + final selected = ref.watch(selectedAddressProvider); return Container( height: 126, width: 236, diff --git a/lib/screens/home_screen.dart b/lib/screens/home_screen.dart index 777e00f8..422adab8 100755 --- a/lib/screens/home_screen.dart +++ b/lib/screens/home_screen.dart @@ -1,22 +1,23 @@ import 'dart:async'; -import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:flutter_portal/flutter_portal.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import '../app_providers.dart'; +import '../app_router.dart'; import '../chain_state/chain_state.dart'; import '../l10n/l10n.dart'; import '../main_card/main_card.dart'; +import '../settings/wallet_settings.dart'; import '../settings_drawer/settings_drawer.dart'; import '../util/lock_settings.dart'; -import '../util/platform.dart'; +import '../util/routes.dart'; import '../util/ui_util.dart'; import '../wallet_home/wallet_home.dart'; import '../widgets/network_banner.dart'; -import 'privacy_overlay.dart'; +import 'lock_screen.dart'; +import 'password_lock_screen.dart'; class HomeScreen extends HookConsumerWidget { const HomeScreen({Key? key}) : super(key: key); @@ -26,37 +27,50 @@ class HomeScreen extends HookConsumerWidget { final theme = ref.watch(themeProvider); l10nWrapper.l10n = l10nOf(context); - // To lock and unlock the app - final lockStreamListener = useRef(null); - final inactive = useState(false); + final scaffoldKey = ref.watch(homePageScaffoldKeyProvider); + + ref.listen(walletAuthProvider.select((walletAuth) => walletAuth.isLocked), + (wasLocked, isLocked) { + if (wasLocked == isLocked) { + return; + } + if (isLocked) { + final walletSettings = ref.read(walletSettingsProvider); + final requestPassword = walletSettings.requestPassword; + final lockScreen = switch (requestPassword) { + RequestPassword.whenLocked => const PasswordLockScreen(), + _ => LockScreen(autoTransition: false), + }; - Future setAppLockEvent() async { + appRouter.push( + context, + BarrierRoute(builder: (_) => lockScreen), + ); + } else { + if (appRouter.isTopRoute(context)) { + appRouter.pop(context); + } + } + }); + + Future checkAutoLock() async { // whether we should avoid locking the app final lockDisabled = ref.read(lockDisabledProvider); - if (lockDisabled) { + final isLocked = ref.read(walletAuthProvider).isLocked; + if (lockDisabled || isLocked) { return; } - final auth = ref.read(walletAuthProvider); final vault = ref.read(vaultProvider); final lockSettings = LockSettings(vault); - final shouldLock = await lockSettings.getLock(); + final shouldAutoLock = await lockSettings.getAutoLock(); - if ((shouldLock || auth.encryptedSecret != null)) { - final notifier = ref.read(walletAuthNotifierProvider); - await lockStreamListener.value?.cancel(); - final timeout = await lockSettings.getLockTimeout(); - Future delayed = Future.delayed(timeout.getDuration()); - lockStreamListener.value = delayed.asStream().listen((_) { - notifier?.lock(); - }); + if (shouldAutoLock) { + final notifier = ref.read(walletAuthProvider.notifier); + notifier.lock(); } } - Future cancelLockEvent() async { - await lockStreamListener.value?.cancel(); - } - Future saveChainState() async { final virtualDaaScore = ref.read(lastKnownVirtualDaaScoreProvider); final blueScore = ref.read(virtualSelectedParentBlueScoreProvider); @@ -75,64 +89,44 @@ class HomeScreen extends HookConsumerWidget { switch (state) { case AppLifecycleState.inactive: - if (kDebugMode && kPlatformIsMacOS) { - break; - } - inactive.value = true; + await saveChainState(); break; case AppLifecycleState.hidden: - await setAppLockEvent(); - await saveChainState(); break; case AppLifecycleState.paused: final inBackground = ref.read(inBackgroundProvider.notifier); inBackground.state = true; + await checkAutoLock(); break; case AppLifecycleState.resumed: - await cancelLockEvent(); // refresh remote data final remote = ref.read(remoteRefreshProvider.notifier); remote.update((state) => state + 1); final inBackground = ref.read(inBackgroundProvider.notifier); - final notifier = ref.read(walletAuthNotifierProvider); - if (notifier?.walletLocked == true) { - Navigator.of(context).pushNamedAndRemoveUntil('/', (_) => false); - Future.delayed(const Duration(milliseconds: 1000), () { - inBackground.state = false; - }); - } else { - inBackground.state = false; - inactive.value = false; - } + inBackground.state = false; break; - default: + case AppLifecycleState.detached: break; } }); - final scaffoldKey = ref.watch(homePageScaffoldKeyProvider); - - return PortalTarget( - visible: inactive.value, - portalFollower: const PrivacyOverlay(), - child: Scaffold( - key: scaffoldKey, - drawerEdgeDragWidth: 60, - resizeToAvoidBottomInset: false, - backgroundColor: theme.background, - drawerScrimColor: theme.barrierWeaker, - drawer: SizedBox( - width: UIUtil.drawerWidth(context), - child: const Drawer(child: SettingsSheet()), - ), - body: SafeArea( - child: ClipRect( - child: NetworkBanner( - child: Padding( - padding: const EdgeInsets.only(top: 4), - child: const WalletHome(), - ), + return Scaffold( + key: scaffoldKey, + drawerEdgeDragWidth: 60, + resizeToAvoidBottomInset: false, + backgroundColor: theme.background, + drawerScrimColor: theme.barrierWeaker, + drawer: SizedBox( + width: UIUtil.drawerWidth(context), + child: const Drawer(child: SettingsSheet()), + ), + body: SafeArea( + child: ClipRect( + child: NetworkBanner( + child: Padding( + padding: const EdgeInsets.only(top: 4), + child: const WalletHome(), ), ), ), diff --git a/lib/screens/intro_screen.dart b/lib/screens/intro_screen.dart index c4bb3bcf..f2baeae3 100644 --- a/lib/screens/intro_screen.dart +++ b/lib/screens/intro_screen.dart @@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import '../app_providers.dart'; +import '../app_router.dart'; import '../intro/intro.dart'; import '../intro/intro_providers.dart'; import '../intro/intro_types.dart'; @@ -17,11 +18,12 @@ class IntroScreen extends HookConsumerWidget { final walletBundle = ref.watch(walletBundleProvider); Future checkPin() async { + final l10n = l10nOf(context); + final vault = ref.read(vaultProvider); final pinIsSet = await vault.pinIsSet; if (pinIsSet) { - final l10n = l10nOf(context); final authUtil = ref.read(authUtilProvider); final auth = authUtil.authenticate( context, @@ -31,12 +33,13 @@ class IntroScreen extends HookConsumerWidget { return auth; } - final pin = await Navigator.of(context).push( + final pin = await appRouter.push( + context, MaterialPageRoute( - builder: (context) { - final l10n = l10nOf(context); - return PinScreen(PinOverlayType.NEW_PIN, l10n: l10n); - }, + builder: (_) => PinScreen( + PinOverlayType.NEW_PIN, + l10n: l10n, + ), ), ); if (pin != null && pin.length > 5) { @@ -63,8 +66,7 @@ class IntroScreen extends HookConsumerWidget { return; } - Navigator.of(context) - .pushNamedAndRemoveUntil('/wallet_setup', (route) => false); + appRouter.setupWallet(context); }); Widget widgetForPage(IntroPage page) { @@ -73,8 +75,6 @@ class IntroScreen extends HookConsumerWidget { IntroPage.passwordOnLaunch => const IntroPasswordOnLaunch(), IntroPage.password => const IntroPassword(), IntroPage.importSelect => const IntroImportSelect(), - IntroPage.importSeedLegacyDerivation => - const IntroImportSeed(isLegacyDerivation: true), IntroPage.importSeed => const IntroImportSeed(), IntroPage.importLegacySeed => const IntroImportSeed(isLegacy: true), IntroPage.importKpub => const IntroImportKpub(), @@ -88,11 +88,12 @@ class IntroScreen extends HookConsumerWidget { state.whenOrNull( push: (page) { final widget = widgetForPage(page); - Navigator.of(context).push( + appRouter.push( + context, MaterialPageRoute(builder: (_) => widget), ); }, - pop: () => Navigator.of(context).pop(), + pop: () => appRouter.pop(context), ); }); diff --git a/lib/screens/lock_screen.dart b/lib/screens/lock_screen.dart index 83a33561..4ea3c140 100644 --- a/lib/screens/lock_screen.dart +++ b/lib/screens/lock_screen.dart @@ -1,8 +1,10 @@ import 'package:flutter/material.dart'; +import 'package:flutter/scheduler.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../app_icons.dart'; import '../app_providers.dart'; +import '../app_router.dart'; import '../l10n/l10n.dart'; import '../settings/authentication_method.dart'; import '../util/caseconverter.dart'; @@ -10,10 +12,10 @@ import '../util/pin_lockout.dart'; import '../util/routes.dart'; import '../widgets/buttons.dart'; import '../widgets/logout_button.dart'; -import '../widgets/pin_screen.dart'; class LockScreen extends ConsumerStatefulWidget { - const LockScreen({Key? key}) : super(key: key); + final bool autoTransition; + const LockScreen({super.key, this.autoTransition = true}); @override _LockScreenState createState() => _LockScreenState(); @@ -25,13 +27,36 @@ class _LockScreenState extends ConsumerState { bool _lockedOut = true; String _countDownTxt = ""; - Future _goHome() async { - final walletAuth = ref.read(walletAuthNotifierProvider); - if (walletAuth != null) { - await walletAuth.unlock(); + late final AppLifecycleListener _appStateListener; + + @override + void initState() { + super.initState(); + + _appStateListener = AppLifecycleListener(onResume: () { + if (appRouter.isTopRoute(context)) { + _authenticate(useTransition: true); + } + }); + + if (SchedulerBinding.instance.lifecycleState == AppLifecycleState.resumed) { + _authenticate(useTransition: true); } + } - Navigator.of(context).pushNamedAndRemoveUntil('/', (_) => false); + @override + void dispose() { + _appStateListener.dispose(); + super.dispose(); + } + + Future _unlock() async { + final walletAuth = ref.read(walletAuthProvider.notifier); + final unlocked = await walletAuth.unlock(); + + if (unlocked && widget.autoTransition) { + appRouter.reload(context); + } } String _formatCountDisplay(int count) { @@ -109,49 +134,60 @@ class _LockScreenState extends ConsumerState { } } - Future authenticateWithBiometrics() async { + Future _authenticateWithBiometrics() async { final l10n = l10nOf(context); + + final privacyOverlayDisabled = + ref.read(privacyOverlayDisabledProvider.notifier); + privacyOverlayDisabled.state = true; + final biometricUtil = ref.read(biometricUtilProvider); - final authenticated = await biometricUtil.authenticateWithBiometrics( - l10n.unlockBiometrics, - ); - if (authenticated) { - _goHome(); - } else { - setState(() { - _showUnlockButton = true; + bool authenticated = false; + + try { + authenticated = await biometricUtil.authenticateWithBiometrics( + l10n.unlockBiometrics, + ); + + if (authenticated) { + _unlock(); + } else { + setState(() { + _showUnlockButton = true; + }); + throw Exception('Authentication failed'); + } + } catch (_) { + rethrow; + } finally { + final privacyOverlayDisabled = + ref.read(privacyOverlayDisabledProvider.notifier); + Future.delayed(Duration(milliseconds: 500), () { + privacyOverlayDisabled.state = false; }); } } - Future authenticateWithPin({bool useTransition = false}) async { - final theme = ref.read(themeProvider); + Future _authenticateWithPin({bool useTransition = false}) async { final l10n = l10nOf(context); + final authUtil = ref.read(authUtilProvider); - String? expectedPin = await ref.read(vaultProvider).getPin(); - - final pinScreen = PinScreen( - PinOverlayType.ENTER_PIN, - expectedPin: expectedPin, + final auth = authUtil.authenticateWithPin( + context, description: l10n.unlockPin, - pinScreenBackgroundColor: theme.backgroundDark, - l10n: l10n, + useTransition: useTransition, ); - final transition = useTransition - ? MaterialPageRoute(builder: (context) => pinScreen) - : NoTransitionRoute(builder: (context) => pinScreen); - final auth = await Navigator.of(context).push(transition); await Future.delayed(Duration(milliseconds: 200)); - if (mounted) { setState(() { _showUnlockButton = true; _showLock = true; }); } - if (auth == true) { - _goHome(); + + if ((await auth) == true) { + _unlock(); } } @@ -184,25 +220,22 @@ class _LockScreenState extends ConsumerState { _showLock = true; _showUnlockButton = true; }); - try { - await authenticateWithBiometrics(); - } catch (e) { - await authenticateWithPin(useTransition: true); + if (SchedulerBinding.instance.lifecycleState == + AppLifecycleState.resumed) { + try { + await _authenticateWithBiometrics(); + } catch (e) { + await _authenticateWithPin(useTransition: true); + } } } else { - await authenticateWithPin(useTransition: true); + await _authenticateWithPin(useTransition: true); } } else { - await authenticateWithPin(useTransition: useTransition); + await _authenticateWithPin(useTransition: useTransition); } } - @override - void initState() { - super.initState(); - _authenticate(); - } - @override Widget build(BuildContext context) { final theme = ref.watch(themeProvider); diff --git a/lib/screens/logout_screen.dart b/lib/screens/logout_screen.dart index 8d515baa..6cee6c39 100644 --- a/lib/screens/logout_screen.dart +++ b/lib/screens/logout_screen.dart @@ -3,6 +3,7 @@ import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import '../app_providers.dart'; +import '../app_router.dart'; import '../l10n/l10n.dart'; class LogoutScreen extends HookConsumerWidget { @@ -17,13 +18,13 @@ class LogoutScreen extends HookConsumerWidget { Future logout() async { try { final notifier = ref.read(walletBundleProvider.notifier); - final network = ref.read(networkProvider); - await notifier.logout(network); + final networkId = ref.read(networkIdProvider); + await notifier.logout(networkId); } catch (e, st) { final log = ref.read(loggerProvider); log.e('Failed to logout', error: e, stackTrace: st); } finally { - Navigator.of(context).pushNamedAndRemoveUntil('/', (_) => false); + appRouter.reload(context); } } diff --git a/lib/screens/password_lock_page.dart b/lib/screens/password_lock_page.dart new file mode 100644 index 00000000..136757a7 --- /dev/null +++ b/lib/screens/password_lock_page.dart @@ -0,0 +1,146 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_hooks/flutter_hooks.dart'; +import 'package:hooks_riverpod/hooks_riverpod.dart'; + +import '../app_icons.dart'; +import '../app_providers.dart'; +import '../app_router.dart'; +import '../l10n/l10n.dart'; +import '../util/caseconverter.dart'; +import '../widgets/app_text_field.dart'; +import '../widgets/buttons.dart'; +import '../widgets/logout_button.dart'; +import '../widgets/tap_outside_unfocus.dart'; + +class PasswordLockPage extends HookConsumerWidget { + final bool canCancel; + final Future Function(String password) validator; + + const PasswordLockPage({ + super.key, + required this.canCancel, + required this.validator, + }); + + @override + Widget build(BuildContext context, WidgetRef ref) { + final theme = ref.watch(themeProvider); + final styles = ref.watch(stylesProvider); + final l10n = l10nOf(context); + + final wallet = ref.watch(walletProvider); + + final enterFocusNode = useFocusNode(); + final enterController = useTextEditingController(); + final passwordError = useState(''); + final unlockDisabled = useState(false); + + Future validateAndUnlock() async { + try { + final password = enterController.text; + final valid = await validator(password); + if (!valid) { + throw Exception('Invalid password'); + } + if (canCancel) { + appRouter.pop(context, withResult: valid); + } + } catch (e) { + passwordError.value = l10n.invalidPassword; + unlockDisabled.value = true; + Future.delayed(const Duration(seconds: 2), () { + if (context.mounted) { + unlockDisabled.value = false; + } + }); + } + } + + return Scaffold( + resizeToAvoidBottomInset: false, + body: TapOutsideUnfocus( + child: Container( + color: theme.backgroundDark, + width: double.infinity, + child: SafeArea( + minimum: EdgeInsets.only( + bottom: MediaQuery.of(context).size.height * 0.035, + ), + child: Column(children: [ + Row(children: [ + Padding( + padding: const EdgeInsetsDirectional.fromSTEB(20, 16, 12, 4), + child: canCancel ? const BackButton() : const LogoutButton(), + ), + ]), + Expanded( + child: Column(children: [ + Container( + child: Icon( + AppIcons.lock, + size: 80, + color: theme.primary, + ), + margin: EdgeInsets.only( + top: MediaQuery.of(context).size.height * 0.1, + ), + ), + Container( + child: Text( + CaseChange.toUpperCase(l10n.locked, ref), + style: styles.textStyleHeaderColored, + ), + margin: const EdgeInsets.only(top: 10), + ), + Expanded( + child: Column(children: [ + const SizedBox(height: 20), + Text(wallet.name, style: styles.textStyleAccount), + AppTextField( + topMargin: 10, + padding: EdgeInsetsDirectional.only( + start: 16, + end: 16, + ), + focusNode: enterFocusNode, + controller: enterController, + textInputAction: TextInputAction.go, + autofocus: true, + onChanged: (_) => passwordError.value = '', + onSubmitted: (value) { + FocusScope.of(context).unfocus(); + if (!unlockDisabled.value) { + validateAndUnlock(); + } + }, + hintText: l10n.enterPasswordHint, + keyboardType: TextInputType.text, + obscureText: true, + textAlign: TextAlign.center, + style: styles.textStyleParagraphPrimary, + ), + Container( + alignment: AlignmentDirectional(0, 0), + margin: const EdgeInsets.only(top: 3), + child: Text( + passwordError.value, + style: styles.textStyleParagraphThinPrimary, + ), + ), + ]), + ), + ]), + ), + PrimaryButton( + title: l10n.unlock, + margin: const EdgeInsets.fromLTRB(28, 8, 28, 0), + disabled: unlockDisabled.value, + onPressed: validateAndUnlock, + ), + ]), + ), + ), + ), + ); + } +} diff --git a/lib/screens/password_lock_screen.dart b/lib/screens/password_lock_screen.dart index eeabb4ea..f6058ba6 100644 --- a/lib/screens/password_lock_screen.dart +++ b/lib/screens/password_lock_screen.dart @@ -1,154 +1,28 @@ import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; -import '../app_icons.dart'; import '../app_providers.dart'; -import '../l10n/l10n.dart'; -import '../util/caseconverter.dart'; -import '../widgets/app_text_field.dart'; -import '../widgets/buttons.dart'; -import '../widgets/logout_button.dart'; -import '../widgets/tap_outside_unfocus.dart'; +import '../app_router.dart'; +import 'password_lock_page.dart'; -class PasswordLockScreen extends HookConsumerWidget { - final Future Function(String)? validator; - - const PasswordLockScreen({ - Key? key, - this.validator, - }) : super(key: key); +class PasswordLockScreen extends ConsumerWidget { + const PasswordLockScreen({super.key}); @override Widget build(BuildContext context, WidgetRef ref) { - final theme = ref.watch(themeProvider); - final styles = ref.watch(stylesProvider); - final l10n = l10nOf(context); - - final wallet = ref.watch(walletProvider); - - final enterFocusNode = useFocusNode(); - final enterController = useTextEditingController(); - final passwordError = useState(''); - final unlockDisabled = useState(false); - - Future validateAndUnlock() async { - try { - final validator = this.validator; - final password = enterController.text; - if (validator == null) { - final walletAuth = ref.read(walletAuthNotifierProvider); - if (walletAuth != null) { - await walletAuth.unlockWithPassword(password); + return PasswordLockPage( + canCancel: false, + validator: (password) async { + final walletAuth = ref.read(walletAuthNotifierProvider); + if (walletAuth != null) { + final unlocked = await walletAuth.unlock(password: password); + if (!unlocked) { + return false; } - Navigator.of(context).pushNamedAndRemoveUntil('/', (route) => false); - } else { - final valid = await validator(password); - if (!valid) { - throw Exception('Invalid password'); - } - Navigator.of(context).pop(true); } - } catch (e) { - passwordError.value = l10n.invalidPassword; - unlockDisabled.value = true; - Future.delayed(const Duration(seconds: 2), () { - if (context.mounted) { - unlockDisabled.value = false; - } - }); - } - } - - return Scaffold( - resizeToAvoidBottomInset: false, - body: TapOutsideUnfocus( - child: Container( - color: theme.backgroundDark, - width: double.infinity, - child: SafeArea( - minimum: EdgeInsets.only( - bottom: MediaQuery.of(context).size.height * 0.035, - ), - child: Column(children: [ - Row(children: [ - Padding( - padding: const EdgeInsetsDirectional.fromSTEB(20, 16, 12, 4), - child: validator != null - ? const BackButton() - : const LogoutButton(), - ), - ]), - Expanded( - child: Column(children: [ - Container( - child: Icon( - AppIcons.lock, - size: 80, - color: theme.primary, - ), - margin: EdgeInsets.only( - top: MediaQuery.of(context).size.height * 0.1, - ), - ), - Container( - child: Text( - CaseChange.toUpperCase(l10n.locked, ref), - style: styles.textStyleHeaderColored, - ), - margin: const EdgeInsets.only(top: 10), - ), - Expanded( - child: Column(children: [ - const SizedBox(height: 20), - Text(wallet.name, style: styles.textStyleAccount), - AppTextField( - topMargin: 10, - padding: EdgeInsetsDirectional.only( - start: 16, - end: 16, - ), - focusNode: enterFocusNode, - controller: enterController, - textInputAction: TextInputAction.go, - autofocus: true, - onChanged: (String newText) { - passwordError.value = ''; - }, - onSubmitted: (value) { - FocusScope.of(context).unfocus(); - if (!unlockDisabled.value) { - validateAndUnlock(); - } - }, - hintText: l10n.enterPasswordHint, - keyboardType: TextInputType.text, - obscureText: true, - textAlign: TextAlign.center, - style: styles.textStyleParagraphPrimary, - ), - Container( - alignment: AlignmentDirectional(0, 0), - margin: const EdgeInsets.only(top: 3), - child: Text( - passwordError.value, - style: styles.textStyleParagraphThinPrimary, - ), - ), - ]), - ), - ]), - ), - PrimaryButton( - title: l10n.unlock, - margin: const EdgeInsets.fromLTRB(28, 8, 28, 0), - disabled: unlockDisabled.value, - onPressed: validateAndUnlock, - ), - ]), - ), - ), - ), + appRouter.reload(context); + return true; + }, ); } } diff --git a/lib/screens/privacy_overlay.dart b/lib/screens/privacy_overlay.dart index 302d35bc..90f10f44 100644 --- a/lib/screens/privacy_overlay.dart +++ b/lib/screens/privacy_overlay.dart @@ -11,6 +11,7 @@ class PrivacyOverlay extends ConsumerWidget { Widget build(BuildContext context, WidgetRef ref) { final theme = ref.watch(themeProvider); final styles = ref.watch(stylesProvider); + return Scaffold( backgroundColor: theme.backgroundDark, body: SafeArea( diff --git a/lib/screens/privacy_screen.dart b/lib/screens/privacy_screen.dart new file mode 100644 index 00000000..3ac8fed2 --- /dev/null +++ b/lib/screens/privacy_screen.dart @@ -0,0 +1,60 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_hooks/flutter_hooks.dart'; +import 'package:flutter_portal/flutter_portal.dart'; +import 'package:hooks_riverpod/hooks_riverpod.dart'; + +import '../app_providers.dart'; +import '../util/platform.dart'; +import 'privacy_overlay.dart'; + +class PrivacyScreen extends HookConsumerWidget { + final Widget child; + const PrivacyScreen({ + super.key, + required this.child, + }); + + @override + Widget build(BuildContext context, WidgetRef ref) { + final disabled = ref.watch(privacyOverlayDisabledProvider); + final inactive = useState(false); + + useEffect(() { + Future.microtask( + () => precacheImage(AssetImage('assets/karlsen.png'), context), + ); + return null; + }, const []); + + useOnAppLifecycleStateChange((previous, state) { + switch (state) { + case AppLifecycleState.detached: + break; + case AppLifecycleState.resumed: + inactive.value = false; + break; + case AppLifecycleState.inactive: + if (kInDebugMode && kPlatformIsMacOS) { + break; + } + inactive.value = true; + break; + case AppLifecycleState.hidden: + break; + case AppLifecycleState.paused: + break; + } + }); + + return Portal( + child: Directionality( + textDirection: TextDirection.ltr, + child: PortalTarget( + visible: inactive.value && !disabled, + portalFollower: const PrivacyOverlay(), + child: child, + ), + ), + ); + } +} diff --git a/lib/screens/setup_wallet_screen.dart b/lib/screens/setup_wallet_screen.dart index c5c3760b..0057e021 100644 --- a/lib/screens/setup_wallet_screen.dart +++ b/lib/screens/setup_wallet_screen.dart @@ -3,10 +3,10 @@ import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import '../app_providers.dart'; +import '../app_router.dart'; import '../intro/intro_providers.dart'; import '../karlsen/karlsen.dart'; import '../l10n/l10n.dart'; -import '../utils.dart'; import '../wallet/wallet_types.dart'; import '../wallet_address/address_discovery.dart'; import '../wallet_address/wallet_address.dart'; @@ -48,9 +48,8 @@ class SetupWalletScreen extends HookConsumerWidget { throw Exception('Missing seed'); } WalletKind walletKind; - if (introData.mnemonic?.split(' ').length == 12) { - final wallet = HdWallet.forSeedHex(seed, - legacy: false, type: HdWalletType.legacy); + if (introData.isLegacyWallet) { + final wallet = HdWallet.forSeedHex(seed, type: HdWalletType.legacy); final pubKey = wallet.derivePublicKey(typeIndex: 0, index: 0); walletKind = WalletKind.localHdLegacy(mainPubKey: pubKey.hex); } else { @@ -61,6 +60,7 @@ class SetupWalletScreen extends HookConsumerWidget { name: introData.name ?? l10n.defaultWalletName, kind: walletKind, seed: seed, + usesBip39Passphrase: introData.bip39Passphrase.isNotEmpty, mnemonic: introData.mnemonic, password: introData.password, ); @@ -68,10 +68,10 @@ class SetupWalletScreen extends HookConsumerWidget { // setup wallet final network = ref.read(networkProvider); + final networkId = ref.read(networkIdProvider); final notifier = ref.read(walletBundleProvider.notifier); - final wallet = - await notifier.setupWallet(walletData, legacy: introData.legacy); - await notifier.selectWallet(wallet, network); + final wallet = await notifier.setupWallet(walletData); + await notifier.selectWallet(wallet, networkId); final auth = ref.read(walletAuthNotifierProvider); if (auth == null) throw Exception('No active wallet'); @@ -125,7 +125,7 @@ class SetupWalletScreen extends HookConsumerWidget { } final walletRepository = ref.read(walletRepositoryProvider); - await walletRepository.openWalletBoxes(wallet, network: network); + await walletRepository.openWalletBoxes(wallet, networkId: networkId); final addressBox = ref.read(addressBoxProvider(wallet)); @@ -138,24 +138,21 @@ class SetupWalletScreen extends HookConsumerWidget { final txCache = ref.read(txCacheServiceProvider(wallet)); await txCache.addWalletTxIds(discovery.txIds); - await walletRepository.closeWalletBoxes(wallet, network: network); + await walletRepository.closeWalletBoxes(wallet, networkId: networkId); message.value = l10n.fetchingTransactions; details.value = ''; - Navigator.of(context).pushNamedAndRemoveUntil('/', (_) => false); + + appRouter.reload(context); } catch (e, st) { final log = ref.read(loggerProvider); - log.e('Failed to send transaction', error: e, stackTrace: st); + log.e('Failed to create wallet', error: e, stackTrace: st); setupFailed.value = true; setupError.value = e; } } - void restartSetup() { - Navigator.of(context).pushNamedAndRemoveUntil('/', (_) => false); - } - useEffect(() { Future.delayed(const Duration(milliseconds: 200), setupWallet); return null; @@ -164,7 +161,7 @@ class SetupWalletScreen extends HookConsumerWidget { if (setupFailed.value) { return SetupFailedPage( error: setupError.value, - onRestart: restartSetup, + onRestart: () => appRouter.reload(context), ); } diff --git a/lib/screens/splash_screen.dart b/lib/screens/splash_screen.dart index 299d87ac..fb5191f9 100644 --- a/lib/screens/splash_screen.dart +++ b/lib/screens/splash_screen.dart @@ -4,9 +4,11 @@ import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:package_info_plus/package_info_plus.dart'; import '../app_providers.dart'; +import '../app_router.dart'; import '../database/database.dart'; import '../intro/intro_providers.dart'; import '../l10n/l10n.dart'; +import '../settings/wallet_settings.dart'; import '../util/lock_settings.dart'; import '../util/ui_util.dart'; import '../widgets/notice_dialog.dart'; @@ -43,18 +45,21 @@ class SplashScreen extends HookConsumerWidget { final walletBundle = ref.read(walletBundleProvider); final wallet = walletBundle.selected; if (wallet == null) { - final vault = ref.read(vaultProvider); - final pinIsSet = await vault.pinIsSet; - // on iOS the Vault is not cleared on app uninstall - // check if pin is set but wallets is null then reset vault and database - if (pinIsSet && walletBundle.wallets == null) { - await vault.deleteAll(); - final db = await Database.reset(); - ref.read(dbProvider.notifier).state = db; + if (walletBundle.wallets == null) { + final vault = ref.read(vaultProvider); + final pinIsSet = await vault.pinIsSet; + // on iOS the Vault is not cleared on app uninstall + // check if pin is set but wallets is null then reset vault and database + if (pinIsSet) { + await vault.deleteAll(); + final db = await Database.reset(); + ref.read(dbProvider.notifier).state = db; + } } ref.read(introDataProvider.notifier).clear(); - Navigator.of(context).pushReplacementNamed('/intro'); + + appRouter.startIntro(context); return; } @@ -62,22 +67,32 @@ class SplashScreen extends HookConsumerWidget { if (walletAuthNotifier == null) { final l10n = l10nOf(context); UIUtil.showSnackbar(l10n.somethingWentWrong, context); - Navigator.of(context).pushReplacementNamed('/intro'); + appRouter.startIntro(context); return; } await walletAuthNotifier.checkEncryptedState(); - if (walletAuthNotifier.walletLocked) { - if (walletAuthNotifier.walletEncrypted) { - Navigator.of(context).pushReplacementNamed('/password_lock_screen'); - return; - } + if (walletAuthNotifier.walletIsLocked) { final vault = ref.read(vaultProvider); final lockSettings = LockSettings(vault); final authOnLaunch = await lockSettings.getLock(); + + final walletSettings = ref.read(walletSettingsProvider); + final requirePassword = switch (walletSettings.requestPassword) { + RequestPassword.atLaunch => walletAuthNotifier.walletIsEncrypted, + RequestPassword.whenLocked => + walletAuthNotifier.walletIsEncrypted && authOnLaunch, + RequestPassword.whenSigning => false, + }; + + if (requirePassword) { + appRouter.requirePassword(context); + return; + } + if (authOnLaunch) { - Navigator.of(context).pushReplacementNamed('/lock_screen'); + appRouter.requireUnlock(context); return; } else { await walletAuthNotifier.unlock(); @@ -85,10 +100,10 @@ class SplashScreen extends HookConsumerWidget { } // open database boxes for selected wallet final walletRepository = ref.read(walletRepositoryProvider); - final network = ref.read(networkProvider); - await walletRepository.openWalletBoxes(wallet, network: network); + final networkId = ref.read(networkIdProvider); + await walletRepository.openWalletBoxes(wallet, networkId: networkId); - Navigator.of(context).pushReplacementNamed('/home'); + appRouter.openWallet(context); } useEffect(() { diff --git a/lib/send_sheet/balance_text_widget.dart b/lib/send_sheet/balance_text_widget.dart index 9db85272..fffe0570 100644 --- a/lib/send_sheet/balance_text_widget.dart +++ b/lib/send_sheet/balance_text_widget.dart @@ -2,7 +2,6 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../app_providers.dart'; -import '../karlsen/karlsen.dart'; import '../wallet_address/wallet_address.dart'; final _balanceProvider = @@ -35,7 +34,7 @@ class BalanceRowWidget extends ConsumerWidget { Widget build(BuildContext context, WidgetRef ref) { final styles = ref.watch(stylesProvider); - final tokenInfo = TokenInfo.karlsen; + final klsSymbol = ref.watch(klsSymbolProvider); final balance = ref.watch(_balanceProvider(address)); final fiatValue = ref.watch(_fiatProvider(address)); @@ -54,7 +53,7 @@ class BalanceRowWidget extends ConsumerWidget { style: styles.textStyleBalanceAmountSmall, ), TextSpan( - text: ' ${tokenInfo.symbolLabel}', + text: ' $klsSymbol', style: styles.textStyleTransactionUnitSmall, ), ], @@ -94,7 +93,7 @@ class BalanceTextWidget extends ConsumerWidget { Widget build(BuildContext context, WidgetRef ref) { final styles = ref.watch(stylesProvider); - final tokenInfo = TokenInfo.karlsen; + final klsSymbol = ref.watch(klsSymbolProvider); final balance = ref.watch(_balanceProvider(address)); final fiatValue = ref.watch(_fiatProvider(address)); @@ -109,7 +108,7 @@ class BalanceTextWidget extends ConsumerWidget { style: styles.textStyleBalanceAmountMedium, ), TextSpan( - text: ' ${tokenInfo.symbolLabel}', + text: ' $klsSymbol', style: styles.textStyleTransactionUnitMedium, ), ], diff --git a/lib/send_sheet/fee_sheet.dart b/lib/send_sheet/fee_sheet.dart new file mode 100644 index 00000000..939f01ef --- /dev/null +++ b/lib/send_sheet/fee_sheet.dart @@ -0,0 +1,201 @@ +import 'dart:math'; + +import 'package:decimal/decimal.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_hooks/flutter_hooks.dart'; +import 'package:hooks_riverpod/hooks_riverpod.dart'; + +import '../app_providers.dart'; +import '../app_router.dart'; +import '../karlsen/karlsen.dart'; +import '../l10n/l10n.dart'; +import '../util/numberutil.dart'; +import '../util/ui_util.dart'; +import '../widgets/amount_card.dart'; +import '../widgets/app_text_field.dart'; +import '../widgets/buttons.dart'; +import '../widgets/fiat_value_container.dart'; +import '../widgets/kls_icon_widget.dart'; +import '../widgets/sheet_widget.dart'; + +class FeeSheet extends HookConsumerWidget { + final Amount baseFee; + final Amount priorityFee; + final BigInt txMass; + final bool rbf; + + const FeeSheet({ + super.key, + required this.baseFee, + required this.priorityFee, + required this.txMass, + this.rbf = false, + }); + + @override + Widget build(BuildContext context, WidgetRef ref) { + final theme = ref.watch(themeProvider); + final styles = ref.watch(stylesProvider); + final l10n = l10nOf(context); + + final karlsenFormatter = ref.watch(karlsenFormatterProvider); + //final symbol = ref.watch(klsSymbolProvider); + + final feeEstimate = ref.watch(feeEstimateProvider((txMass, baseFee))); + + final amount = useState(priorityFee); + + final controller = useTextEditingController( + text: priorityFee == Amount.zero + ? null + : NumberUtil.textFieldFormatedAmount(priorityFee), + ); + final focusNode = useFocusNode(); + + final hint = useState(null); + + useEffect(() { + final listener = () { + hint.value = focusNode.hasFocus ? '' : null; + }; + focusNode.addListener(listener); + return () => focusNode.removeListener(listener); + }, [focusNode]); + + void onValueChanged(String text) { + final value = karlsenFormatter.tryParse(text); + + if (value == null) { + amount.value = null; + return; + } + amount.value = Amount.value(value); + } + + void clearAmount() { + amount.value = null; + controller.clear(); + } + + void confirmFee() { + if (rbf && (amount.value ?? Amount.zero).raw < priorityFee.raw) { + final symbol = ref.watch(klsSymbolProvider); + final amountStr = NumberUtil.formatedAmount(priorityFee); + UIUtil.showSnackbar( + l10n.feeSheetPriorityFeeWarning(amountStr, symbol), + context, + ); + return; + } + appRouter.pop(context, withResult: amount.value ?? Amount.zero); + } + + return SheetWidget( + title: l10n.feeTitle, + mainWidget: Column( + children: [ + const SizedBox(height: 20), + Text( + l10n.feeBaseUppercase, + style: styles.textStyleSubHeader, + ), + const SizedBox(height: 15), + AmountCard(amount: baseFee), + const SizedBox(height: 40), + Text( + l10n.feePriorityUppsercase, + style: styles.textStyleSubHeader, + ), + FiatValueContainer( + amount: amount.value ?? Amount.zero, + hint: l10n.optionalLabel, + child: AppTextField( + focusNode: focusNode, + controller: controller, + topMargin: 15, + cursorColor: theme.primary, + style: styles.textStyleParagraphPrimary, + inputFormatters: [karlsenFormatter], + onChanged: onValueChanged, + textInputAction: TextInputAction.done, + maxLines: null, + autocorrect: false, + hintText: hint.value ?? l10n.feePriorityHint, + prefixButton: TextFieldButton(widget: KlsIconWidget()), + suffixButton: TextFieldButton( + icon: Icons.clear, + onPressed: clearAmount, + ), + fadeSuffixOnCondition: true, + suffixShowFirstCondition: + (amount.value?.value ?? Decimal.zero) > Decimal.zero, + keyboardType: + const TextInputType.numberWithOptions(decimal: true), + textAlign: TextAlign.center, + ), + ), + if (feeEstimate.isNotEmpty) ...[ + const SizedBox(height: 20), + Text( + l10n.feeSheetRecommendedPriority, + style: styles.textStyleTokenSymbolSuccess, + ), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 28, vertical: 10), + child: FittedBox( + fit: BoxFit.scaleDown, + child: Row( + children: [ + for (final fee in feeEstimate) + Column( + children: [ + Padding( + padding: const EdgeInsets.symmetric(horizontal: 4), + child: ActionChip( + label: Text( + '${fee.$1}', + ), + labelStyle: + styles.textStyleTransactionAmountSmall, + padding: const EdgeInsets.symmetric( + horizontal: 8, vertical: 12), + onPressed: () { + final text = fee.$1.toString(); + controller.text = text; + onValueChanged(text); + }, + ), + ), + if (fee.$2 != null) + Text( + '< ${max(fee.$2!, 1)} s', + style: styles.textStyleParagraphThinSuccess, + ), + ], + ), + ], + ), + ), + ), + ] + ], + ), + bottomWidget: Padding( + padding: const EdgeInsets.symmetric(horizontal: 28), + child: Column( + children: [ + PrimaryButton( + title: l10n.confirm, + onPressed: confirmFee, + ), + const SizedBox(height: 16), + PrimaryOutlineButton( + title: l10n.cancel, + onPressed: () => appRouter.pop(context), + ), + ], + ), + ), + ); + } +} diff --git a/lib/send_sheet/fee_widget.dart b/lib/send_sheet/fee_widget.dart index 72ecf88c..22788817 100644 --- a/lib/send_sheet/fee_widget.dart +++ b/lib/send_sheet/fee_widget.dart @@ -18,6 +18,8 @@ class FeeWidget extends ConsumerWidget { final styles = ref.watch(stylesProvider); final l10n = l10nOf(context); + final symbol = ref.watch(symbolProvider(amount)); + return Container( width: double.infinity, margin: EdgeInsets.only( @@ -40,7 +42,7 @@ class FeeWidget extends ConsumerWidget { style: styles.textStyleDataTypeHeaderHighlight, ), Text( - '${amount.value} ${amount.symbolLabel}', + '${amount.value} $symbol', textAlign: TextAlign.center, style: styles.textStyleAddressText90, ), diff --git a/lib/send_sheet/send_complete_sheet.dart b/lib/send_sheet/send_complete_sheet.dart index a0b1863e..21e0b6e8 100755 --- a/lib/send_sheet/send_complete_sheet.dart +++ b/lib/send_sheet/send_complete_sheet.dart @@ -3,6 +3,7 @@ import 'package:hooks_riverpod/hooks_riverpod.dart'; import '../app_icons.dart'; import '../app_providers.dart'; +import '../app_router.dart'; import '../karlsen/karlsen.dart'; import '../l10n/l10n.dart'; import '../widgets/address_card.dart'; @@ -19,6 +20,7 @@ class SendCompleteSheet extends HookConsumerWidget { final Address toAddress; final String txId; final String? note; + final bool rbf; const SendCompleteSheet({ Key? key, @@ -26,6 +28,7 @@ class SendCompleteSheet extends HookConsumerWidget { required this.toAddress, required this.txId, this.note, + this.rbf = false, }) : super(key: key); @override @@ -93,7 +96,7 @@ class SendCompleteSheet extends HookConsumerWidget { PrimaryOutlineButton( title: l10n.close, margin: const EdgeInsets.only(left: 28, right: 28, top: 8), - onPressed: () => Navigator.of(context).pop(), + onPressed: () => appRouter.pop(context), ), ], ), diff --git a/lib/send_sheet/send_confirm_sheet.dart b/lib/send_sheet/send_confirm_sheet.dart index 56125c35..061f1a26 100755 --- a/lib/send_sheet/send_confirm_sheet.dart +++ b/lib/send_sheet/send_confirm_sheet.dart @@ -1,47 +1,53 @@ import 'dart:async'; +import 'package:fast_immutable_collections/fast_immutable_collections.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import '../app_providers.dart'; +import '../app_router.dart'; import '../karlsen/karlsen.dart'; import '../l10n/l10n.dart'; -import '../transactions/send_tx.dart'; import '../util/numberutil.dart'; import '../util/ui_util.dart'; +import '../utxos/utxos_selection_page.dart'; import '../widgets/address_card.dart'; import '../widgets/amount_card.dart'; +import '../widgets/app_text_field.dart'; import '../widgets/buttons.dart'; import '../widgets/dialog.dart'; import '../widgets/gradient_widgets.dart'; import '../widgets/sheet_util.dart'; import '../widgets/sheet_widget.dart'; +import 'fee_sheet.dart'; import 'send_complete_sheet.dart'; import 'send_note_widget.dart'; class SendConfirmSheet extends HookConsumerWidget { - final SendTx tx; + final SendTx sendTx; + final bool rbf; SendConfirmSheet({ - Key? key, - required this.tx, - }) : super(key: key); + super.key, + required this.sendTx, + this.rbf = false, + }); @override Widget build(BuildContext context, WidgetRef ref) { final theme = ref.watch(themeProvider); - final l10n = l10nOf(context); final styles = ref.watch(stylesProvider); + final l10n = l10nOf(context); + + final sendTxState = useState(sendTx); + final tx = sendTxState.value; final toAddress = tx.toAddress; final amount = tx.amount; - final fee = tx.fee; final note = tx.note; - final title = l10n.sendConfirm; - final toTitle = l10n.sendToAddressTitle; - Future sendTransaction() async { final walletService = ref.read(walletServiceProvider); @@ -52,30 +58,22 @@ class SendConfirmSheet extends HookConsumerWidget { l10n.sendTxProgressDescription, ); - final addressNotifier = ref.read(addressNotifierProvider); - final changeAddress = await addressNotifier.nextChangeAddress; - - final result = await walletService.sendTransaction( - tx, - changeAddress: changeAddress.address, - ); - - if (result.changeAddressUsed) { - await addressNotifier.addAddress(changeAddress); - } + final txId = await walletService.sendTransaction(tx.tx, rbf: rbf); + ref.invalidate(pendingTxsProvider); if (tx.note case final txNote?) { final notes = ref.read(txNotesProvider); - notes.addNoteForTxId(result.txId, txNote); + notes.addNoteForTxId(txId, txNote); } - Navigator.of(context).pop(); + appRouter.pop(context); final sheet = SendCompleteSheet( - amount: tx.amount, - toAddress: tx.toAddress, - txId: result.txId, + amount: amount, + toAddress: toAddress, + txId: txId, note: tx.note, + rbf: rbf, ); Sheets.showAppHeightNineSheet( @@ -90,51 +88,150 @@ class SendConfirmSheet extends HookConsumerWidget { log.e('Failed to send transaction', error: e, stackTrace: st); UIUtil.showSnackbar(l10n.sendError, context); - Navigator.of(context).pop(); + appRouter.pop(context); } } String authMessage() { + final symbol = ref.read(symbolProvider(amount)); final formatedAmount = NumberUtil.formatedAmount(amount); - return '${l10n.sendConfirm} ${formatedAmount} ${amount.symbolLabel}'; + return '${l10n.sendConfirm} $formatedAmount $symbol'; + } + + bool checkInsufficientBalance() { + final balance = ref.read(totalBalanceProvider); + + return balance.raw < amount.raw + fee.raw; + } + + Future updateTx({ + List? selectedUtxos, + required Amount priorityFee, + }) async { + final addressNotifier = ref.read(addressNotifierProvider); + final changeAddress = await addressNotifier.nextChangeAddress; + final spendableUtxos = ref.read(spendableUtxosProvider); + final txBuilder = TransactionBuilder( + utxos: spendableUtxos, + feePerInput: kFeePerInput, + priorityFee: priorityFee, + ); + + final newTx = txBuilder.createUnsignedTransaction( + toAddress: toAddress, + amountRaw: amount.raw, + changeAddress: changeAddress.address, + preselectedUtxos: selectedUtxos, + ); + + sendTxState.value = tx.copyWith( + tx: newTx, + utxos: txBuilder.selectedUtxos, + userSelected: selectedUtxos != null, + change: txBuilder.change, + changeAddress: txBuilder.changeAddress, + baseFee: txBuilder.baseFee, + priorityFee: txBuilder.priorityFee, + ); + } + + Future selectUtxos({required Amount priorityFee}) async { + final notifier = ref.read(selectedUtxosProvider.notifier); + notifier.state = ISet(tx.userSelectedUtxos); + + final selectedUtxos = await Sheets.showAppHeightNineSheet>( + context: context, + theme: theme, + widget: UtxosSelectionPage(tx: tx.copyWith(priorityFee: priorityFee)), + ); + + if (selectedUtxos != null) { + await updateTx( + selectedUtxos: selectedUtxos, + priorityFee: priorityFee, + ); + } } - String? checkMissingBalance() { - final balance = ref.read(totalBalanceProvider).raw; - if (balance < amount.raw) { - return 'KLS'; + Future adjustFee({Amount? requiredPriorityFee}) async { + Amount priorityFee = tx.priorityFee; + if (requiredPriorityFee != null && + requiredPriorityFee.raw > priorityFee.raw) { + priorityFee = requiredPriorityFee; } - if (fee != null) { - if (balance < amount.raw + fee) { - return amount.symbolLabel; + final newPriorityFee = await Sheets.showAppHeightNineSheet( + context: context, + widget: FeeSheet( + baseFee: tx.baseFee, + priorityFee: priorityFee, + txMass: tx.mass, + rbf: rbf, + ), + theme: theme, + ); + + if (newPriorityFee != null) { + try { + await updateTx( + selectedUtxos: tx.userSelectedUtxos, + priorityFee: newPriorityFee, + ); + } catch (e) { + // if (tx.userSelected) { + // selectUtxos(priorityFee: newPriorityFee); + // } else { + UIUtil.showSnackbar(l10n.insufficientBalance, context); + appRouter.pop(context); + //} } } - return null; } Future onConfirm() async { - final symbolLabel = checkMissingBalance(); - if (symbolLabel != null) { + final symbol = ref.read(klsSymbolProvider); + final insufficientBalance = checkInsufficientBalance(); + if (insufficientBalance) { AppDialogs.showInfoDialog( context, l10n.insufficientBalance, - l10n.insufficientBalanceDetails, + l10n.insufficientBalanceDetails.replaceAll('KLS', symbol), ); return; } + // handle RBF + if (rbf) { + final pendingTx = ref.read(txNotifierProvider).pendingTxs.first; + final fees = pendingTx.fees; + if (tx.fee.raw <= fees.baseFee.raw + fees.priorityFee.raw) { + final requiredPriorityFee = + Amount.raw(fees.priorityFee.raw + BigInt.one); + adjustFee(requiredPriorityFee: requiredPriorityFee); + return; + } + } + // Authenticate + final walletAuth = ref.read(walletAuthProvider.notifier); final authUtil = ref.read(authUtilProvider); - final message = authMessage(); - final auth = await authUtil.authenticate(context, message, message); + bool auth = false; + if (walletAuth.needsPasswordAuth) { + auth = await authUtil.authenticateWithPassword( + context, + validator: (password) => walletAuth.unlock(password: password), + ); + } else { + final message = authMessage(); + auth = await authUtil.authenticate(context, message, message); + } if (auth) { await sendTransaction(); } } return SheetWidget( - title: title, + title: l10n.sendConfirm, mainWidget: Stack( children: [ SingleChildScrollView( @@ -142,28 +239,36 @@ class SendConfirmSheet extends HookConsumerWidget { child: Column( mainAxisSize: MainAxisSize.min, children: [ - AmountCard(amount: amount), + AmountCard( + amount: amount, + // rightButton: TextFieldButton( + // icon: Icons.sort, + // onPressed: () => selectUtxos(priorityFee: tx.priorityFee), + // ), + ), // "TO" text Container( margin: const EdgeInsets.only(top: 30, bottom: 10), child: Text( - toTitle.toUpperCase(), + l10n.sendToAddressTitle.toUpperCase(), style: styles.textStyleSubHeader, ), ), AddressCard(address: toAddress), - if (fee != null) ...[ - Container( - margin: const EdgeInsets.only(top: 30, bottom: 10), - child: Text( - l10n.fee.toUpperCase(), - style: styles.textStyleSubHeader, - ), + Container( + margin: const EdgeInsets.only(top: 30, bottom: 10), + child: Text( + l10n.fee.toUpperCase(), + style: styles.textStyleSubHeader, ), - AmountCard( - amount: Amount.raw(fee), + ), + AmountCard( + amount: fee, + rightButton: TextFieldButton( + icon: Icons.add, + onPressed: adjustFee, ), - ], + ), if (note != null) Padding( padding: const EdgeInsets.only( @@ -190,7 +295,7 @@ class SendConfirmSheet extends HookConsumerWidget { const SizedBox(height: 16), PrimaryOutlineButton( title: l10n.cancel, - onPressed: () => Navigator.of(context).pop(), + onPressed: () => appRouter.pop(context), ), ], ), diff --git a/lib/send_sheet/send_sheet.dart b/lib/send_sheet/send_sheet.dart index b87f63ef..b14a4f29 100755 --- a/lib/send_sheet/send_sheet.dart +++ b/lib/send_sheet/send_sheet.dart @@ -8,6 +8,7 @@ import 'package:hooks_riverpod/hooks_riverpod.dart'; import '../app_icons.dart'; import '../app_providers.dart'; +import '../app_router.dart'; import '../contacts/contact.dart'; import '../karlsen/karlsen.dart'; import '../l10n/l10n.dart'; @@ -19,6 +20,7 @@ import '../widgets/address_widgets.dart'; import '../widgets/app_simpledialog.dart'; import '../widgets/app_text_field.dart'; import '../widgets/buttons.dart'; +import '../widgets/fiat_mode_icon.dart'; import '../widgets/fiat_value_container.dart'; import '../widgets/gradient_widgets.dart'; import '../widgets/sheet_handle.dart'; @@ -34,14 +36,16 @@ class SendSheet extends ConsumerStatefulWidget { final Contact? contact; final KarlsenUri? uri; final BigInt? feeRaw; + final bool rbf; const SendSheet({ - Key? key, + super.key, this.title, this.contact, this.uri, this.feeRaw, - }) : super(key: key); + this.rbf = false, + }); _SendSheetState createState() => _SendSheetState(); } @@ -82,7 +86,7 @@ class _SendSheetState extends ConsumerState { late BigInt? amountRaw = widget.uri?.amount?.raw; late BigInt? feeRaw = widget.feeRaw; - late String? _note = widget.uri?.message; + String? get _note => widget.uri?.message; bool get hasNote => _note != null; bool get hasUri => widget.uri != null; @@ -210,7 +214,7 @@ class _SendSheetState extends ConsumerState { FocusManager.instance.primaryFocus?.unfocus(); final qrCode = await UserDataUtil.scanQrCode(context); - final qrData = qrCode; + final qrData = qrCode?.code; if (qrData == null) { return; } @@ -235,7 +239,6 @@ class _SendSheetState extends ConsumerState { final note = uri?.message; if (note != null) { _noteController.text = note; - _note = note; } // See if this address belongs to a contact @@ -302,10 +305,8 @@ class _SendSheetState extends ConsumerState { return; } - final note = _noteController.text; - if (_note == null && note.isNotEmpty) { - _note = note; - } + final text = _noteController.text; + final note = text.isNotEmpty ? text : _note; final uri = KarlsenUri( address: toAddress, @@ -313,7 +314,7 @@ class _SendSheetState extends ConsumerState { message: note, ); - UIUtil.showSendFlow(context, ref: ref, uri: uri); + UIUtil.showSendFlow(context, ref: ref, uri: uri, useRbf: widget.rbf); } return SafeArea( @@ -520,7 +521,7 @@ class _SendSheetState extends ConsumerState { else PrimaryOutlineButton( title: l10n.cancel, - onPressed: Navigator.of(context).pop, + onPressed: () => appRouter.pop(context), ), ], ), @@ -611,7 +612,7 @@ class _SendSheetState extends ConsumerState { if (amountRaw! > maxSend.raw) { showAppDialog( context: context, - builder: (_) => const CompoundUtxosDialog(lightMode: true), + builder: (_) => CompoundUtxosDialog(lightMode: true, rbf: widget.rbf), ); return false; } @@ -733,9 +734,11 @@ class _SendSheetState extends ConsumerState { autocorrect: false, hintText: _amountHint ?? hintText, prefixButton: TextFieldButton( - icon: AppIcons.swapcurrency, - onPressed: () => - ref.read(fiatModeProvider.notifier).update((state) => !state), + widget: FiatModeIcon(fiatMode: fiatMode), + onPressed: () { + final notifier = ref.read(fiatModeProvider.notifier); + notifier.update((state) => !state); + }, ), suffixButton: TextFieldButton( icon: AppIcons.max, @@ -964,24 +967,24 @@ class _SendSheetState extends ConsumerState { maxLines: null, autocorrect: false, hintText: _noteHint ?? l10n.enterNote, - prefixButton: TextFieldButton( - icon: AppIcons.scan, - onPressed: () async { - FocusManager.instance.primaryFocus?.unfocus(); - - final qr = await UserDataUtil.scanQrCode(context); - final data = qr; - if (data == null) { - return; - } - - _noteController.text = data; - _notePasteButtonVisible = false; - _noteQrButtonVisible = false; - - setState(() => _noteValidAndUnfocused = true); - }, - ), + // prefixButton: TextFieldButton( + // icon: AppIcons.scan, + // onPressed: () async { + // FocusManager.instance.primaryFocus?.unfocus(); + + // final qr = await UserDataUtil.scanQrCode(context); + // final data = qr?.code; + // if (data == null) { + // return; + // } + + // _noteController.text = data; + // _notePasteButtonVisible = false; + // _noteQrButtonVisible = false; + + // setState(() => _noteValidAndUnfocused = true); + // }, + // ), fadePrefixOnCondition: true, prefixShowFirstCondition: _noteQrButtonVisible, suffixButton: TextFieldButton( @@ -993,14 +996,13 @@ class _SendSheetState extends ConsumerState { Clipboard.getData("text/plain").then((ClipboardData? data) { final text = data?.text; - if (text == null) { + if (text == null || text.isEmpty) { return; } FocusManager.instance.primaryFocus?.unfocus(); _noteController.text = text; _notePasteButtonVisible = false; _noteQrButtonVisible = false; - _note = text; setState(() => _noteValidAndUnfocused = true); }); diff --git a/lib/wallet_address/address_settings.dart b/lib/settings/address_settings.dart similarity index 100% rename from lib/wallet_address/address_settings.dart rename to lib/settings/address_settings.dart diff --git a/lib/wallet_address/address_settings/address_settings_notifier.dart b/lib/settings/address_settings/address_settings_notifier.dart similarity index 96% rename from lib/wallet_address/address_settings/address_settings_notifier.dart rename to lib/settings/address_settings/address_settings_notifier.dart index 530bfd7b..fddb9bea 100644 --- a/lib/wallet_address/address_settings/address_settings_notifier.dart +++ b/lib/settings/address_settings/address_settings_notifier.dart @@ -1,6 +1,6 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; -import '../../settings/settings.dart'; +import '../settings_repository.dart'; import 'address_settings_types.dart'; const kAddressSettingsKey = '_kAddressSettingsKey'; diff --git a/lib/wallet_address/address_settings/address_settings_providers.dart b/lib/settings/address_settings/address_settings_providers.dart similarity index 92% rename from lib/wallet_address/address_settings/address_settings_providers.dart rename to lib/settings/address_settings/address_settings_providers.dart index 5dadcf39..1d7a5414 100644 --- a/lib/wallet_address/address_settings/address_settings_providers.dart +++ b/lib/settings/address_settings/address_settings_providers.dart @@ -1,6 +1,6 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; -import '../../settings/settings.dart'; +import '../../app_providers.dart'; import 'address_settings_notifier.dart'; import 'address_settings_types.dart'; diff --git a/lib/wallet_address/address_settings/address_settings_types.dart b/lib/settings/address_settings/address_settings_types.dart similarity index 100% rename from lib/wallet_address/address_settings/address_settings_types.dart rename to lib/settings/address_settings/address_settings_types.dart diff --git a/lib/wallet_address/address_settings/address_settings_types.freezed.dart b/lib/settings/address_settings/address_settings_types.freezed.dart similarity index 100% rename from lib/wallet_address/address_settings/address_settings_types.freezed.dart rename to lib/settings/address_settings/address_settings_types.freezed.dart diff --git a/lib/wallet_address/address_settings/address_settings_types.g.dart b/lib/settings/address_settings/address_settings_types.g.dart similarity index 100% rename from lib/wallet_address/address_settings/address_settings_types.g.dart rename to lib/settings/address_settings/address_settings_types.g.dart diff --git a/lib/settings/available_language.dart b/lib/settings/available_language.dart index 98a9b494..0c1305ba 100644 --- a/lib/settings/available_language.dart +++ b/lib/settings/available_language.dart @@ -53,6 +53,7 @@ enum AvailableLanguage { ROMANIAN("ro", "Română (ro)"), RUSSIAN("ru", "Русский (ru)"), // S + SLOVAKIA("sk", "Slovakia (sk)"), SLOVENIAN("sl", "Slovenščina (sl)"), SWEDISH("sv", "Svenska (sv)"), FINNISH("fi", "Suomi (fi)"), diff --git a/lib/settings/block_explorer_notifier.dart b/lib/settings/block_explorer_notifier.dart index 263f8d07..54fddb01 100644 --- a/lib/settings/block_explorer_notifier.dart +++ b/lib/settings/block_explorer_notifier.dart @@ -1,11 +1,10 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; -import '../karlsen/karlsen.dart'; -import '../settings/block_explorer_settings.dart'; -import '../settings/block_explorers.dart'; -import '../settings/settings.dart'; +import 'block_explorer_settings.dart'; +import 'block_explorers.dart'; +import 'settings_repository.dart'; -const _kBlockExplorerConfigKey = '_kBlockExplorerConfigKey'; +const _kBlockExplorerConfigKey = '_kBlockExplorerConfigKeyV2'; extension BlockExplorerSettingsExtension on SettingsRepository { BlockExplorerSettings getBlockExplorerSettings() { @@ -29,10 +28,10 @@ class BlockExplorerNotifier extends StateNotifier { Future updateBlockExplorer( BlockExplorer explorer, { - required KarlsenNetwork network, + required String networkId, }) { final selection = Map.of(state.selection); - selection[network] = explorer; + selection[networkId] = explorer; state = state.copyWith( selection: selection, ); diff --git a/lib/settings/block_explorer_settings.dart b/lib/settings/block_explorer_settings.dart index f27a8ee6..7c759d18 100644 --- a/lib/settings/block_explorer_settings.dart +++ b/lib/settings/block_explorer_settings.dart @@ -12,16 +12,15 @@ class BlockExplorerSettings with _$BlockExplorerSettings { const factory BlockExplorerSettings({ @Default(const { - KarlsenNetwork.mainnet: kKarlsenExplorerMainnet, - KarlsenNetwork.testnet: kKarlsenExplorerMainnet, - KarlsenNetwork.devnet: kKarlsenExplorerMainnet, - KarlsenNetwork.simnet: kKarlsenExplorerMainnet, + kKarlsenNetworkIdMainnet: kKarlsenExplorerMainnet, + kKarlsenNetworkIdTestnet10: kKarlsenExplorerTestnet10, + kKarlsenNetworkIdTestnet11: kKarlsenExplorerTestnet11, }) - Map selection, + Map selection, }) = _BlockExplorerSettings; - BlockExplorer explorerForNetwork(KarlsenNetwork network) { - return selection[network] ?? kKarlsenExplorerMainnet; + BlockExplorer explorerForNetwork(String networkId) { + return selection[networkId] ?? kKarlsenExplorerMainnet; } factory BlockExplorerSettings.fromJson(Map json) => diff --git a/lib/settings/block_explorer_settings.freezed.dart b/lib/settings/block_explorer_settings.freezed.dart index 6cdbd91c..229c6f22 100644 --- a/lib/settings/block_explorer_settings.freezed.dart +++ b/lib/settings/block_explorer_settings.freezed.dart @@ -21,7 +21,7 @@ BlockExplorerSettings _$BlockExplorerSettingsFromJson( /// @nodoc mixin _$BlockExplorerSettings { - Map get selection => + Map get selection => throw _privateConstructorUsedError; Map toJson() => throw _privateConstructorUsedError; @@ -36,7 +36,7 @@ abstract class $BlockExplorerSettingsCopyWith<$Res> { $Res Function(BlockExplorerSettings) then) = _$BlockExplorerSettingsCopyWithImpl<$Res, BlockExplorerSettings>; @useResult - $Res call({Map selection}); + $Res call({Map selection}); } /// @nodoc @@ -59,7 +59,7 @@ class _$BlockExplorerSettingsCopyWithImpl<$Res, selection: null == selection ? _value.selection : selection // ignore: cast_nullable_to_non_nullable - as Map, + as Map, ) as $Val); } } @@ -73,7 +73,7 @@ abstract class _$$BlockExplorerSettingsImplCopyWith<$Res> __$$BlockExplorerSettingsImplCopyWithImpl<$Res>; @override @useResult - $Res call({Map selection}); + $Res call({Map selection}); } /// @nodoc @@ -94,7 +94,7 @@ class __$$BlockExplorerSettingsImplCopyWithImpl<$Res> selection: null == selection ? _value._selection : selection // ignore: cast_nullable_to_non_nullable - as Map, + as Map, )); } } @@ -103,11 +103,10 @@ class __$$BlockExplorerSettingsImplCopyWithImpl<$Res> @JsonSerializable() class _$BlockExplorerSettingsImpl extends _BlockExplorerSettings { const _$BlockExplorerSettingsImpl( - {final Map selection = const { - KarlsenNetwork.mainnet: kKarlsenExplorerMainnet, - KarlsenNetwork.testnet: kKarlsenExplorerMainnet, - KarlsenNetwork.devnet: kKarlsenExplorerMainnet, - KarlsenNetwork.simnet: kKarlsenExplorerMainnet + {final Map selection = const { + kKarlsenNetworkIdMainnet: kKarlsenExplorerMainnet, + kKarlsenNetworkIdTestnet10: kKarlsenExplorerTestnet10, + kKarlsenNetworkIdTestnet11: kKarlsenExplorerTestnet11 }}) : _selection = selection, super._(); @@ -115,10 +114,10 @@ class _$BlockExplorerSettingsImpl extends _BlockExplorerSettings { factory _$BlockExplorerSettingsImpl.fromJson(Map json) => _$$BlockExplorerSettingsImplFromJson(json); - final Map _selection; + final Map _selection; @override @JsonKey() - Map get selection { + Map get selection { if (_selection is EqualUnmodifiableMapView) return _selection; // ignore: implicit_dynamic_type return EqualUnmodifiableMapView(_selection); @@ -160,7 +159,7 @@ class _$BlockExplorerSettingsImpl extends _BlockExplorerSettings { abstract class _BlockExplorerSettings extends BlockExplorerSettings { const factory _BlockExplorerSettings( - {final Map selection}) = + {final Map selection}) = _$BlockExplorerSettingsImpl; const _BlockExplorerSettings._() : super._(); @@ -168,7 +167,7 @@ abstract class _BlockExplorerSettings extends BlockExplorerSettings { _$BlockExplorerSettingsImpl.fromJson; @override - Map get selection; + Map get selection; @override @JsonKey(ignore: true) _$$BlockExplorerSettingsImplCopyWith<_$BlockExplorerSettingsImpl> diff --git a/lib/settings/block_explorer_settings.g.dart b/lib/settings/block_explorer_settings.g.dart index 33821a3c..bb78c4b3 100644 --- a/lib/settings/block_explorer_settings.g.dart +++ b/lib/settings/block_explorer_settings.g.dart @@ -9,27 +9,18 @@ part of 'block_explorer_settings.dart'; _$BlockExplorerSettingsImpl _$$BlockExplorerSettingsImplFromJson(Map json) => _$BlockExplorerSettingsImpl( selection: (json['selection'] as Map?)?.map( - (k, e) => MapEntry($enumDecode(_$KarlsenNetworkEnumMap, k), + (k, e) => MapEntry(k as String, BlockExplorer.fromJson(Map.from(e as Map))), ) ?? const { - KarlsenNetwork.mainnet: kKarlsenExplorerMainnet, - KarlsenNetwork.testnet: kKarlsenExplorerMainnet, - KarlsenNetwork.devnet: kKarlsenExplorerMainnet, - KarlsenNetwork.simnet: kKarlsenExplorerMainnet + kKarlsenNetworkIdMainnet: kKarlsenExplorerMainnet, + kKarlsenNetworkIdTestnet10: kKarlsenExplorerTestnet10, + kKarlsenNetworkIdTestnet11: kKarlsenExplorerTestnet11 }, ); Map _$$BlockExplorerSettingsImplToJson( _$BlockExplorerSettingsImpl instance) => { - 'selection': instance.selection - .map((k, e) => MapEntry(_$KarlsenNetworkEnumMap[k]!, e.toJson())), + 'selection': instance.selection.map((k, e) => MapEntry(k, e.toJson())), }; - -const _$KarlsenNetworkEnumMap = { - KarlsenNetwork.mainnet: 'mainnet', - KarlsenNetwork.testnet: 'testnet', - KarlsenNetwork.devnet: 'devnet', - KarlsenNetwork.simnet: 'simnet', -}; diff --git a/lib/settings/block_explorers.dart b/lib/settings/block_explorers.dart index ddcde0ba..cd0b76db 100644 --- a/lib/settings/block_explorers.dart +++ b/lib/settings/block_explorers.dart @@ -35,11 +35,34 @@ const kKarlsenExplorerMainnet = BlockExplorer( txUrl: 'https://explorer.karlsencoin.com/txs/$kParamPattern', ); -const kBlockExplorerOptions = { - KarlsenNetwork.mainnet: [ +const kKarlsenExplorerTestnet10 = BlockExplorer( + network: KarlsenNetwork.testnet, + name: 'Karlsen Explorer', + url: 'explorer.testnet-1.karlsencoin.com', + addressUrl: + 'https://explorer.testnet-1.karlsencoin.com/addresses/$kParamPattern', + txUrl: 'https://explorer.testnet-1.karlsencoin.com/txs/$kParamPattern', +); + +const kKarlsenExplorerTestnet11 = BlockExplorer( + network: KarlsenNetwork.testnet, + name: 'Karlsen Explorer', + url: 'explorer.testnet-11.karlsencoin.com', + addressUrl: + 'hhttps://explorer.testnet-11.karlsencoin.com/addresses/$kParamPattern', + txUrl: 'https://explorer.testnet-11.karlsencoin.com/txs/$kParamPattern', +); + +const kBlockExplorersOptions = >{ + kKarlsenNetworkIdMainnet: [ kKarlsenExplorerMainnet, ], - KarlsenNetwork.testnet: [], - KarlsenNetwork.devnet: [], - KarlsenNetwork.simnet: [], + kKarlsenNetworkIdTestnet10: [ + kKarlsenExplorerTestnet10, + ], + kKarlsenNetworkIdTestnet11: [ + kKarlsenExplorerTestnet11, + ], + kKarlsenNetworkIdDevnet: [], + kKarlsenNetworkIdSimnet: [], }; diff --git a/lib/settings/device_lock_timeout.dart b/lib/settings/device_lock_timeout.dart deleted file mode 100644 index 31ea5c2c..00000000 --- a/lib/settings/device_lock_timeout.dart +++ /dev/null @@ -1,51 +0,0 @@ -import 'package:flutter/material.dart'; - -import '../l10n/l10n.dart'; -import 'setting_item.dart'; - -enum LockTimeoutOption { ZERO, ONE, FIVE, FIFTEEN, THIRTY, SIXTY } - -/// Represent auto-lock delay when requiring auth to open -class LockTimeoutSetting extends SettingSelectionItem { - final LockTimeoutOption setting; - - const LockTimeoutSetting(this.setting); - - String getDisplayName(BuildContext context) { - final l10n = l10nOf(context); - switch (setting) { - case LockTimeoutOption.ZERO: - return l10n.instantly; - case LockTimeoutOption.ONE: - return l10n.xMinutes(1); - case LockTimeoutOption.FIVE: - return l10n.xMinutes(5); - case LockTimeoutOption.FIFTEEN: - return l10n.xMinutes(15); - case LockTimeoutOption.THIRTY: - return l10n.xMinutes(30); - case LockTimeoutOption.SIXTY: - return l10n.xMinutes(60); - } - } - - Duration getDuration() { - switch (setting) { - case LockTimeoutOption.ZERO: - return Duration(seconds: 1); - case LockTimeoutOption.ONE: - return Duration(minutes: 1); - case LockTimeoutOption.FIVE: - return Duration(minutes: 5); - case LockTimeoutOption.FIFTEEN: - return Duration(minutes: 15); - case LockTimeoutOption.THIRTY: - return Duration(minutes: 30); - case LockTimeoutOption.SIXTY: - return Duration(hours: 1); - } - } - - // For saving to shared prefs - String getId() => setting.name; -} diff --git a/lib/settings/settings.dart b/lib/settings/settings.dart deleted file mode 100644 index bcbc5066..00000000 --- a/lib/settings/settings.dart +++ /dev/null @@ -1 +0,0 @@ -export 'settings_providers.dart'; diff --git a/lib/settings/settings_providers.dart b/lib/settings/settings_providers.dart index c786485e..1f76ae4f 100644 --- a/lib/settings/settings_providers.dart +++ b/lib/settings/settings_providers.dart @@ -1,7 +1,6 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../core/core_providers.dart'; -import '../database/boxes.dart'; import 'available_currency.dart'; import 'available_language.dart'; import 'available_themes.dart'; @@ -9,17 +8,9 @@ import 'block_explorer_notifier.dart'; import 'block_explorer_settings.dart'; import 'currency_notifier.dart'; import 'language_notifier.dart'; +import 'settings_repository.dart'; import 'theme_setting_notifier.dart'; -typedef TypeFactory = T Function(dynamic); - -class SettingsRepository { - final GenericBox box; - const SettingsRepository(this.box); - - Future remove(String key) => box.remove(key); -} - final _settingsBoxProvider = Provider((ref) { final db = ref.watch(dbProvider); final box = db.getGenericBox(db.settingsBox); diff --git a/lib/settings/settings_repository.dart b/lib/settings/settings_repository.dart new file mode 100644 index 00000000..a0144417 --- /dev/null +++ b/lib/settings/settings_repository.dart @@ -0,0 +1,8 @@ +import '../database/boxes.dart'; + +class SettingsRepository { + final GenericBox box; + const SettingsRepository(this.box); + + Future remove(String key) => box.remove(key); +} diff --git a/lib/settings/tx_settings.dart b/lib/settings/tx_settings.dart new file mode 100644 index 00000000..801186e8 --- /dev/null +++ b/lib/settings/tx_settings.dart @@ -0,0 +1,3 @@ +export 'tx_settings/tx_settings_notifier.dart'; +export 'tx_settings/tx_settings_providers.dart'; +export 'tx_settings/tx_settings_types.dart'; diff --git a/lib/transactions/tx_settings/tx_settings_notifier.dart b/lib/settings/tx_settings/tx_settings_notifier.dart similarity index 94% rename from lib/transactions/tx_settings/tx_settings_notifier.dart rename to lib/settings/tx_settings/tx_settings_notifier.dart index 4aa89169..8b498fe2 100644 --- a/lib/transactions/tx_settings/tx_settings_notifier.dart +++ b/lib/settings/tx_settings/tx_settings_notifier.dart @@ -1,6 +1,6 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; -import '../../settings/settings_providers.dart'; +import '../settings_repository.dart'; import 'tx_settings_types.dart'; const kTxSettingsKey = '_kTxSettingsKey'; diff --git a/lib/transactions/tx_settings/tx_settings_providers.dart b/lib/settings/tx_settings/tx_settings_providers.dart similarity index 90% rename from lib/transactions/tx_settings/tx_settings_providers.dart rename to lib/settings/tx_settings/tx_settings_providers.dart index fcb4b3b4..7a532d07 100644 --- a/lib/transactions/tx_settings/tx_settings_providers.dart +++ b/lib/settings/tx_settings/tx_settings_providers.dart @@ -1,6 +1,6 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; -import '../../settings/settings_providers.dart'; +import '../settings_providers.dart'; import 'tx_settings_notifier.dart'; import 'tx_settings_types.dart'; diff --git a/lib/transactions/tx_settings/tx_settings_types.dart b/lib/settings/tx_settings/tx_settings_types.dart similarity index 100% rename from lib/transactions/tx_settings/tx_settings_types.dart rename to lib/settings/tx_settings/tx_settings_types.dart diff --git a/lib/transactions/tx_settings/tx_settings_types.freezed.dart b/lib/settings/tx_settings/tx_settings_types.freezed.dart similarity index 100% rename from lib/transactions/tx_settings/tx_settings_types.freezed.dart rename to lib/settings/tx_settings/tx_settings_types.freezed.dart diff --git a/lib/transactions/tx_settings/tx_settings_types.g.dart b/lib/settings/tx_settings/tx_settings_types.g.dart similarity index 100% rename from lib/transactions/tx_settings/tx_settings_types.g.dart rename to lib/settings/tx_settings/tx_settings_types.g.dart diff --git a/lib/settings/wallet_settings.dart b/lib/settings/wallet_settings.dart new file mode 100644 index 00000000..d0f26650 --- /dev/null +++ b/lib/settings/wallet_settings.dart @@ -0,0 +1,4 @@ +export 'wallet_settings/request_password.dart'; +export 'wallet_settings/wallet_settings_notifier.dart'; +export 'wallet_settings/wallet_settings_providers.dart'; +export 'wallet_settings/wallet_settings_types.dart'; diff --git a/lib/settings/wallet_settings/request_password.dart b/lib/settings/wallet_settings/request_password.dart new file mode 100644 index 00000000..1ef7535f --- /dev/null +++ b/lib/settings/wallet_settings/request_password.dart @@ -0,0 +1,22 @@ +import 'package:flutter/material.dart'; + +import '../../l10n/l10n.dart'; +import '../setting_item.dart'; + +enum RequestPassword { atLaunch, whenLocked, whenSigning } + +class RequestPasswordSetting extends SettingSelectionItem { + final RequestPassword setting; + + const RequestPasswordSetting(this.setting); + + String getDisplayName(BuildContext context) { + final l10n = l10nOf(context); + + return switch (setting) { + RequestPassword.atLaunch => l10n.requestPasswordAtLaunch, + RequestPassword.whenLocked => l10n.requestPasswordWhenLocked, + RequestPassword.whenSigning => l10n.requestPasswordWhenSigning, + }; + } +} diff --git a/lib/settings/wallet_settings/wallet_settings_notifier.dart b/lib/settings/wallet_settings/wallet_settings_notifier.dart new file mode 100644 index 00000000..87eeec74 --- /dev/null +++ b/lib/settings/wallet_settings/wallet_settings_notifier.dart @@ -0,0 +1,36 @@ +import 'package:flutter_riverpod/flutter_riverpod.dart'; + +import '../settings_repository.dart'; +import 'request_password.dart'; +import 'wallet_settings_types.dart'; + +extension WalletSettingsExtension on SettingsRepository { + WalletSettings getWalletSettings(String key) { + return box.tryGet(key, + typeFactory: WalletSettings.fromJson) ?? + WalletSettings(); + } + + Future setWalletSettings( + String key, WalletSettings walletSettings) async { + await box.set(key, walletSettings); + } +} + +class WalletSettingsStateNotifier extends StateNotifier { + final SettingsRepository repository; + final String key; + + WalletSettingsStateNotifier({ + required this.repository, + required this.key, + }) : super(repository.getWalletSettings(key)); + + Future setRequestPassword(RequestPassword requestPassword) async { + if (state.requestPassword == requestPassword) { + return; + } + state = state.copyWith(requestPassword: requestPassword); + return repository.setWalletSettings(key, state); + } +} diff --git a/lib/settings/wallet_settings/wallet_settings_providers.dart b/lib/settings/wallet_settings/wallet_settings_providers.dart new file mode 100644 index 00000000..8eaa1378 --- /dev/null +++ b/lib/settings/wallet_settings/wallet_settings_providers.dart @@ -0,0 +1,16 @@ +import 'package:flutter_riverpod/flutter_riverpod.dart'; + +import '../../app_providers.dart'; +import 'wallet_settings_notifier.dart'; +import 'wallet_settings_types.dart'; + +final walletSettingsProvider = StateNotifierProvider.autoDispose< + WalletSettingsStateNotifier, WalletSettings>((ref) { + final settings = ref.watch(settingsRepositoryProvider); + final wallet = ref.watch(walletProvider); + + return WalletSettingsStateNotifier( + repository: settings, + key: wallet.settingsKey, + ); +}); diff --git a/lib/settings/wallet_settings/wallet_settings_types.dart b/lib/settings/wallet_settings/wallet_settings_types.dart new file mode 100644 index 00000000..77bfa347 --- /dev/null +++ b/lib/settings/wallet_settings/wallet_settings_types.dart @@ -0,0 +1,16 @@ +import 'package:freezed_annotation/freezed_annotation.dart'; + +import 'request_password.dart'; + +part 'wallet_settings_types.freezed.dart'; +part 'wallet_settings_types.g.dart'; + +@freezed +class WalletSettings with _$WalletSettings { + const factory WalletSettings({ + @Default(RequestPassword.atLaunch) RequestPassword requestPassword, + }) = _WalletSettings; + + factory WalletSettings.fromJson(Map json) => + _$WalletSettingsFromJson(json); +} diff --git a/lib/settings/wallet_settings/wallet_settings_types.freezed.dart b/lib/settings/wallet_settings/wallet_settings_types.freezed.dart new file mode 100644 index 00000000..b81572e2 --- /dev/null +++ b/lib/settings/wallet_settings/wallet_settings_types.freezed.dart @@ -0,0 +1,155 @@ +// coverage:ignore-file +// GENERATED CODE - DO NOT MODIFY BY HAND +// ignore_for_file: type=lint +// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark + +part of 'wallet_settings_types.dart'; + +// ************************************************************************** +// FreezedGenerator +// ************************************************************************** + +T _$identity(T value) => value; + +final _privateConstructorUsedError = UnsupportedError( + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); + +WalletSettings _$WalletSettingsFromJson(Map json) { + return _WalletSettings.fromJson(json); +} + +/// @nodoc +mixin _$WalletSettings { + RequestPassword get requestPassword => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $WalletSettingsCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $WalletSettingsCopyWith<$Res> { + factory $WalletSettingsCopyWith( + WalletSettings value, $Res Function(WalletSettings) then) = + _$WalletSettingsCopyWithImpl<$Res, WalletSettings>; + @useResult + $Res call({RequestPassword requestPassword}); +} + +/// @nodoc +class _$WalletSettingsCopyWithImpl<$Res, $Val extends WalletSettings> + implements $WalletSettingsCopyWith<$Res> { + _$WalletSettingsCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? requestPassword = null, + }) { + return _then(_value.copyWith( + requestPassword: null == requestPassword + ? _value.requestPassword + : requestPassword // ignore: cast_nullable_to_non_nullable + as RequestPassword, + ) as $Val); + } +} + +/// @nodoc +abstract class _$$WalletSettingsImplCopyWith<$Res> + implements $WalletSettingsCopyWith<$Res> { + factory _$$WalletSettingsImplCopyWith(_$WalletSettingsImpl value, + $Res Function(_$WalletSettingsImpl) then) = + __$$WalletSettingsImplCopyWithImpl<$Res>; + @override + @useResult + $Res call({RequestPassword requestPassword}); +} + +/// @nodoc +class __$$WalletSettingsImplCopyWithImpl<$Res> + extends _$WalletSettingsCopyWithImpl<$Res, _$WalletSettingsImpl> + implements _$$WalletSettingsImplCopyWith<$Res> { + __$$WalletSettingsImplCopyWithImpl( + _$WalletSettingsImpl _value, $Res Function(_$WalletSettingsImpl) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? requestPassword = null, + }) { + return _then(_$WalletSettingsImpl( + requestPassword: null == requestPassword + ? _value.requestPassword + : requestPassword // ignore: cast_nullable_to_non_nullable + as RequestPassword, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$WalletSettingsImpl implements _WalletSettings { + const _$WalletSettingsImpl({this.requestPassword = RequestPassword.atLaunch}); + + factory _$WalletSettingsImpl.fromJson(Map json) => + _$$WalletSettingsImplFromJson(json); + + @override + @JsonKey() + final RequestPassword requestPassword; + + @override + String toString() { + return 'WalletSettings(requestPassword: $requestPassword)'; + } + + @override + bool operator ==(Object other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$WalletSettingsImpl && + (identical(other.requestPassword, requestPassword) || + other.requestPassword == requestPassword)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash(runtimeType, requestPassword); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$WalletSettingsImplCopyWith<_$WalletSettingsImpl> get copyWith => + __$$WalletSettingsImplCopyWithImpl<_$WalletSettingsImpl>( + this, _$identity); + + @override + Map toJson() { + return _$$WalletSettingsImplToJson( + this, + ); + } +} + +abstract class _WalletSettings implements WalletSettings { + const factory _WalletSettings({final RequestPassword requestPassword}) = + _$WalletSettingsImpl; + + factory _WalletSettings.fromJson(Map json) = + _$WalletSettingsImpl.fromJson; + + @override + RequestPassword get requestPassword; + @override + @JsonKey(ignore: true) + _$$WalletSettingsImplCopyWith<_$WalletSettingsImpl> get copyWith => + throw _privateConstructorUsedError; +} diff --git a/lib/settings/wallet_settings/wallet_settings_types.g.dart b/lib/settings/wallet_settings/wallet_settings_types.g.dart new file mode 100644 index 00000000..57a73de4 --- /dev/null +++ b/lib/settings/wallet_settings/wallet_settings_types.g.dart @@ -0,0 +1,26 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'wallet_settings_types.dart'; + +// ************************************************************************** +// JsonSerializableGenerator +// ************************************************************************** + +_$WalletSettingsImpl _$$WalletSettingsImplFromJson(Map json) => + _$WalletSettingsImpl( + requestPassword: $enumDecodeNullable( + _$RequestPasswordEnumMap, json['requestPassword']) ?? + RequestPassword.atLaunch, + ); + +Map _$$WalletSettingsImplToJson( + _$WalletSettingsImpl instance) => + { + 'requestPassword': _$RequestPasswordEnumMap[instance.requestPassword]!, + }; + +const _$RequestPasswordEnumMap = { + RequestPassword.atLaunch: 'atLaunch', + RequestPassword.whenLocked: 'whenLocked', + RequestPassword.whenSigning: 'whenSigning', +}; diff --git a/lib/settings_advanced/address_discovery_dialog.dart b/lib/settings_advanced/address_discovery_dialog.dart index 24a9d7a3..7a023d76 100644 --- a/lib/settings_advanced/address_discovery_dialog.dart +++ b/lib/settings_advanced/address_discovery_dialog.dart @@ -3,6 +3,7 @@ import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import '../app_providers.dart'; +import '../app_router.dart'; import '../l10n/l10n.dart'; import '../util/ui_util.dart'; import '../wallet_address/address_discovery.dart'; @@ -96,7 +97,7 @@ class AddressDiscoveryDialog extends HookConsumerWidget { } catch (e) { UIUtil.showSnackbar(l10n.scanFailedMessage, context); } finally { - Navigator.of(context).pop(); + appRouter.pop(context); } } @@ -113,10 +114,22 @@ class AddressDiscoveryDialog extends HookConsumerWidget { mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.stretch, children: [ - Text(l10n.indexHeader), - Text(l10n.currentIndex), - Text(l10n.scannedIndex), - Text(l10n.newIndex), + Text( + l10n.indexHeader, + style: styles.textStyleParagraph, + ), + Text( + l10n.currentIndex, + style: styles.textStyleParagraph, + ), + Text( + l10n.scannedIndex, + style: styles.textStyleParagraph, + ), + Text( + l10n.newIndex, + style: styles.textStyleParagraph, + ), ], ), ), @@ -125,10 +138,22 @@ class AddressDiscoveryDialog extends HookConsumerWidget { mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.center, children: [ - Text(l10n.receive), - Text('${receiveIndexes.start ?? '-'}'), - Text('${receiveIndexes.scanned ?? '-'}'), - Text('${receiveIndexes.last ?? '-'}'), + Text( + l10n.receive, + style: styles.textStyleParagraph, + ), + Text( + '${receiveIndexes.start ?? '-'}', + style: styles.textStyleParagraph, + ), + Text( + '${receiveIndexes.scanned ?? '-'}', + style: styles.textStyleParagraph, + ), + Text( + '${receiveIndexes.last ?? '-'}', + style: styles.textStyleParagraph, + ), ], ), ), @@ -137,10 +162,22 @@ class AddressDiscoveryDialog extends HookConsumerWidget { mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.center, children: [ - Text(l10n.change), - Text('${changeIndexes.start ?? '-'}'), - Text('${changeIndexes.scanned ?? '-'}'), - Text('${changeIndexes.last ?? '-'}'), + Text( + l10n.change, + style: styles.textStyleParagraph, + ), + Text( + '${changeIndexes.start ?? '-'}', + style: styles.textStyleParagraph, + ), + Text( + '${changeIndexes.scanned ?? '-'}', + style: styles.textStyleParagraph, + ), + Text( + '${changeIndexes.last ?? '-'}', + style: styles.textStyleParagraph, + ), ], ), ), @@ -149,7 +186,7 @@ class AddressDiscoveryDialog extends HookConsumerWidget { actions: [ TextButton( style: styles.dialogButtonStyle, - onPressed: () => Navigator.of(context).pop(), + onPressed: () => appRouter.pop(context), child: Text( l10n.closeUppercased, style: styles.textStyleDialogOptions, diff --git a/lib/settings_advanced/advanced_menu.dart b/lib/settings_advanced/advanced_menu.dart index 454a1089..d623515a 100644 --- a/lib/settings_advanced/advanced_menu.dart +++ b/lib/settings_advanced/advanced_menu.dart @@ -7,6 +7,7 @@ import '../l10n/l10n.dart'; import '../settings_drawer/double_line_item_two.dart'; import '../transactions/tx_filter_settings.dart'; import '../tx_report/tx_report_sheet.dart'; +import '../util/ui_util.dart'; import '../widgets/app_icon_button.dart'; import '../widgets/app_simpledialog.dart'; import '../widgets/gradient_widgets.dart'; @@ -31,10 +32,13 @@ class AdvancedMenu extends ConsumerWidget { final wallet = ref.watch(walletProvider); Future compoundUtxos() async { - await showAppDialog( - context: context, - builder: (_) => const CompoundUtxosDialog(), - ); + final (:cont, :rbf) = await UIUtil.checkForPendingTx(context, ref: ref); + if (cont) { + showAppDialog( + context: context, + builder: (_) => CompoundUtxosDialog(rbf: rbf), + ); + } } Future scanMoreAddresses() async { diff --git a/lib/settings_advanced/compound_utxos_dialog.dart b/lib/settings_advanced/compound_utxos_dialog.dart index f917f25f..0ccb5214 100644 --- a/lib/settings_advanced/compound_utxos_dialog.dart +++ b/lib/settings_advanced/compound_utxos_dialog.dart @@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import '../app_providers.dart'; +import '../app_router.dart'; import '../karlsen/karlsen.dart'; import '../l10n/l10n.dart'; import '../util/numberutil.dart'; @@ -11,10 +12,12 @@ import '../widgets/dialog.dart'; class CompoundUtxosDialog extends ConsumerWidget { final bool lightMode; + final bool rbf; const CompoundUtxosDialog({ super.key, this.lightMode = false, + required this.rbf, }); @override @@ -25,6 +28,7 @@ class CompoundUtxosDialog extends ConsumerWidget { final utxos = ref.watch(utxoListProvider); final balance = ref.watch(formatedTotalBalanceProvider); final maxSend = NumberUtil.formatedAmount(ref.watch(maxSendProvider)); + final klsSymbol = ref.watch(klsSymbolProvider); Future sendCompoundTx() async { try { @@ -41,32 +45,37 @@ class CompoundUtxosDialog extends ConsumerWidget { final spendableUtxos = ref.read(spendableUtxosProvider); if (spendableUtxos.length <= 1) { UIUtil.showSnackbar(l10n.compoundTooFewUtxos, context); - Navigator.of(context).pop(); + appRouter.pop(context); return; } + + Amount? priorityFee; + if (rbf) { + final pendingTx = ref.read(txNotifierProvider).pendingTxs.first; + priorityFee = Amount.raw(pendingTx.fees.priorityFee.raw + BigInt.one); + } + final compoundTx = walletService.createCompoundTx( compoundAddress: changeAddress.address, spendableUtxos: spendableUtxos, feePerInput: kFeePerInput, + priorityFee: priorityFee, ); - await walletService.sendTransaction( - compoundTx, - changeAddress: changeAddress.address, - ); - await addressNotifier.addAddress(changeAddress); + await walletService.sendTransaction(compoundTx.tx, rbf: rbf); + ref.invalidate(pendingTxsProvider); if (lightMode) { // give some time for compound tx to broadcast and get accepted await Future.delayed(const Duration(seconds: 5)); // close both dialogs - Navigator.of(context).pop(); + appRouter.pop(context); } UIUtil.showSnackbar(l10n.compoundSuccess, context); } catch (e) { UIUtil.showSnackbar(l10n.compoundFailure, context); } finally { - Navigator.of(context).pop(); + appRouter.pop(context); } } @@ -129,13 +138,13 @@ class CompoundUtxosDialog extends ConsumerWidget { Container( padding: EdgeInsets.symmetric(vertical: 8), child: Text( - '$balance KLS', + '$balance $klsSymbol', style: styles.textStyleSettingItemHeader, ), ), Container( child: Text( - '${maxSend} KLS', + '$maxSend $klsSymbol', style: styles.textStyleSettingItemHeader, ), ), @@ -147,7 +156,7 @@ class CompoundUtxosDialog extends ConsumerWidget { actions: [ TextButton( style: styles.dialogButtonStyle, - onPressed: () => Navigator.of(context).pop(), + onPressed: () => appRouter.pop(context), child: Text( l10n.closeUppercased, style: styles.textStyleDialogOptions, diff --git a/lib/settings_advanced/kpub_sheet.dart b/lib/settings_advanced/kpub_sheet.dart index 3bd0a0d7..b49ed543 100644 --- a/lib/settings_advanced/kpub_sheet.dart +++ b/lib/settings_advanced/kpub_sheet.dart @@ -3,6 +3,7 @@ import 'package:flutter/services.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import '../app_providers.dart'; +import '../app_router.dart'; import '../l10n/l10n.dart'; import '../util/ui_util.dart'; import '../widgets/buttons.dart'; @@ -97,7 +98,7 @@ class KpubSheet extends ConsumerWidget { const SizedBox(height: 16), PrimaryOutlineButton( title: l10n.close, - onPressed: () => Navigator.pop(context), + onPressed: () => appRouter.pop(context), ), ], ), diff --git a/lib/settings_drawer/currency_dialog.dart b/lib/settings_drawer/currency_dialog.dart index 1a73e187..94ccd784 100644 --- a/lib/settings_drawer/currency_dialog.dart +++ b/lib/settings_drawer/currency_dialog.dart @@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../app_providers.dart'; +import '../app_router.dart'; import '../l10n/l10n.dart'; import '../settings/available_currency.dart'; import '../widgets/app_simpledialog.dart'; @@ -26,7 +27,7 @@ class CurrencyDialog extends ConsumerWidget { children: [ for (final value in AvailableCurrencies.values) SimpleDialogOption( - onPressed: () => Navigator.pop(context, value), + onPressed: () => appRouter.pop(context, withResult: value), child: Padding( padding: const EdgeInsets.symmetric(vertical: 8), child: Text( diff --git a/lib/settings_drawer/disable_password_sheet.dart b/lib/settings_drawer/disable_password_sheet.dart index 86b70b85..fe65154e 100644 --- a/lib/settings_drawer/disable_password_sheet.dart +++ b/lib/settings_drawer/disable_password_sheet.dart @@ -4,12 +4,12 @@ import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import '../app_providers.dart'; +import '../app_router.dart'; import '../l10n/l10n.dart'; import '../util/ui_util.dart'; import '../widgets/app_text_field.dart'; import '../widgets/buttons.dart'; import '../widgets/sheet_widget.dart'; -import '../widgets/tap_outside_unfocus.dart'; class DisablePasswordSheet extends HookConsumerWidget { const DisablePasswordSheet({Key? key}) : super(key: key); @@ -34,66 +34,64 @@ class DisablePasswordSheet extends HookConsumerWidget { await auth.removePassword(password); UIUtil.showSnackbar(l10n.disablePasswordSuccess, context); - Navigator.of(context).pop(); + appRouter.pop(context); } catch (e) { passwordError.value = l10n.invalidPassword; } } - return TapOutsideUnfocus( - child: SheetWidget( - title: l10n.disablePasswordSheetHeader, - mainWidget: Column(children: [ + return SheetWidget( + title: l10n.disablePasswordSheetHeader, + mainWidget: Column(children: [ + Container( + margin: EdgeInsetsDirectional.only(start: 40, end: 40, top: 16), + child: AutoSizeText( + l10n.passwordNoLongerRequiredToOpenParagraph, + style: styles.textStyleParagraph, + maxLines: 5, + stepGranularity: 0.5, + ), + ), + Column(children: [ + AppTextField( + topMargin: 30, + padding: EdgeInsetsDirectional.only(start: 16, end: 16), + focusNode: passwordFocusNode, + controller: passwordController, + textInputAction: TextInputAction.done, + maxLines: 1, + autocorrect: false, + onChanged: (String newText) { + passwordError.value = ''; + }, + hintText: l10n.enterPasswordHint, + keyboardType: TextInputType.text, + obscureText: true, + style: styles.textStyleParagraphText, + ), Container( - margin: EdgeInsetsDirectional.only(start: 40, end: 40, top: 16), - child: AutoSizeText( - l10n.passwordNoLongerRequiredToOpenParagraph, - style: styles.textStyleParagraph, - maxLines: 5, - stepGranularity: 0.5, + alignment: AlignmentDirectional(0, 0), + margin: EdgeInsets.only(top: 3), + child: Text( + passwordError.value, + style: styles.textStyleParagraphThinPrimary, ), ), - Column(children: [ - AppTextField( - topMargin: 30, - padding: EdgeInsetsDirectional.only(start: 16, end: 16), - focusNode: passwordFocusNode, - controller: passwordController, - textInputAction: TextInputAction.done, - maxLines: 1, - autocorrect: false, - onChanged: (String newText) { - passwordError.value = ''; - }, - hintText: l10n.enterPasswordHint, - keyboardType: TextInputType.text, - obscureText: true, - style: styles.textStyleParagraphText, - ), - Container( - alignment: AlignmentDirectional(0, 0), - margin: EdgeInsets.only(top: 3), - child: Text( - passwordError.value, - style: styles.textStyleParagraphThinPrimary, - ), - ), - ]), ]), - bottomWidget: Padding( - padding: const EdgeInsets.symmetric(horizontal: 28), - child: Column(children: [ - PrimaryButton( - title: l10n.disablePasswordSheetHeader, - onPressed: submitAndDecrypt, - ), - const SizedBox(height: 16), - PrimaryOutlineButton( - title: l10n.close, - onPressed: () => Navigator.pop(context), - ), - ]), - ), + ]), + bottomWidget: Padding( + padding: const EdgeInsets.symmetric(horizontal: 28), + child: Column(children: [ + PrimaryButton( + title: l10n.disablePasswordSheetHeader, + onPressed: submitAndDecrypt, + ), + const SizedBox(height: 16), + PrimaryOutlineButton( + title: l10n.close, + onPressed: () => appRouter.pop(context), + ), + ]), ), ); } diff --git a/lib/settings_drawer/donate_menu.dart b/lib/settings_drawer/donate_menu.dart new file mode 100644 index 00000000..2152af23 --- /dev/null +++ b/lib/settings_drawer/donate_menu.dart @@ -0,0 +1,74 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; + +import '../app_icons.dart'; +import '../app_providers.dart'; +import '../contacts/contact_labels.dart'; +import '../l10n/l10n.dart'; +import '../widgets/app_icon_button.dart'; +import 'donate_menu_item.dart'; + +class DonateMenu extends ConsumerWidget { + final VoidCallback onBackAction; + + const DonateMenu({ + Key? key, + required this.onBackAction, + }) : super(key: key); + + @override + Widget build(BuildContext context, WidgetRef ref) { + final theme = ref.watch(themeProvider); + final styles = ref.watch(stylesProvider); + final l10n = l10nOf(context); + + return Container( + decoration: BoxDecoration( + color: theme.backgroundDark, + boxShadow: [ + BoxShadow( + color: theme.barrierWeakest, + offset: Offset(-5, 0), + blurRadius: 20, + ), + ], + ), + child: SafeArea( + minimum: EdgeInsets.only( + bottom: MediaQuery.of(context).size.height * 0.035, + top: 60, + ), + child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [ + Container( + margin: const EdgeInsets.only(bottom: 10, top: 5), + child: Row(children: [ + Padding( + padding: const EdgeInsets.symmetric(horizontal: 10), + child: AppIconButton( + icon: AppIcons.back, + onPressed: onBackAction, + ), + ), + Text( + l10n.donate, + style: styles.textStyleSettingsHeader, + ), + ]), + ), + Container( + margin: const EdgeInsetsDirectional.only( + start: 30, + bottom: 10, + ), + child: Text( + l10n.donateTo, + style: styles.textStyleAppTextFieldHint, + ), + ), + for (final contact in kKarlsenDevFundAddress) + DonateMenuItem(contact: contact), + ]), + ), + ); + } +} diff --git a/lib/settings_drawer/donate_menu_item.dart b/lib/settings_drawer/donate_menu_item.dart index 36dff38a..eabbda3e 100644 --- a/lib/settings_drawer/donate_menu_item.dart +++ b/lib/settings_drawer/donate_menu_item.dart @@ -6,6 +6,7 @@ import '../contacts/contact.dart'; import '../karlsen/karlsen.dart'; import '../l10n/l10n.dart'; import '../send_sheet/send_sheet.dart'; +import '../util/ui_util.dart'; import '../widgets/address_widgets.dart'; import '../widgets/sheet_util.dart'; @@ -22,19 +23,24 @@ class DonateMenuItem extends ConsumerWidget { final theme = ref.watch(themeProvider); final styles = ref.watch(stylesProvider); - void donate() { + Future donate() async { final l10n = l10nOf(context); final uri = KarlsenUri( address: Address.decodeAddress(contact.address), ); - Sheets.showAppHeightNineSheet( - context: context, - theme: theme, - widget: SendSheet( - title: l10n.donate.toUpperCase(), - uri: uri, - ), - ); + + final (:cont, :rbf) = await UIUtil.checkForPendingTx(context, ref: ref); + if (cont) { + Sheets.showAppHeightNineSheet( + context: context, + theme: theme, + widget: SendSheet( + title: l10n.donate.toUpperCase(), + uri: uri, + rbf: rbf, + ), + ); + } } return TextButton( diff --git a/lib/settings_drawer/language_dialog.dart b/lib/settings_drawer/language_dialog.dart index bf2d4f51..d06a94d4 100644 --- a/lib/settings_drawer/language_dialog.dart +++ b/lib/settings_drawer/language_dialog.dart @@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../app_providers.dart'; +import '../app_router.dart'; import '../l10n/l10n.dart'; import '../settings/available_language.dart'; import '../widgets/app_simpledialog.dart'; @@ -30,8 +31,9 @@ class LanguageDialog extends ConsumerWidget { Builder(builder: (context) { final isAvailable = LanguageSetting.isAvailable(value); return SimpleDialogOption( - onPressed: - isAvailable ? () => Navigator.pop(context, value) : null, + onPressed: isAvailable + ? () => appRouter.pop(context, withResult: value) + : null, child: Padding( padding: const EdgeInsets.symmetric(vertical: 8), child: Text( diff --git a/lib/settings_drawer/network_menu.dart b/lib/settings_drawer/network_menu.dart index a31b7691..0bb54e73 100644 --- a/lib/settings_drawer/network_menu.dart +++ b/lib/settings_drawer/network_menu.dart @@ -3,8 +3,8 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../app_icons.dart'; import '../app_providers.dart'; +import '../app_router.dart'; import '../l10n/l10n.dart'; -import '../node_settings/node_providers.dart'; import '../node_settings/node_setting.dart'; import '../node_settings/nodes_sheet.dart'; import '../settings/block_explorer_setting.dart'; @@ -141,19 +141,19 @@ class NetworkMenu extends ConsumerWidget { }); if (selection != null) { final notifier = ref.read(blockExplorerSettingsProvider.notifier); - final network = ref.read(networkProvider); + final networkId = ref.read(networkIdProvider); - notifier.updateBlockExplorer(selection, network: network); + notifier.updateBlockExplorer(selection, networkId: networkId); } } List _buildExplorerOptions(BuildContext context, WidgetRef ref) { - final network = ref.read(networkProvider); - final options = kBlockExplorerOptions[network] ?? [kBlockExplorerOptions]; + final networkId = ref.read(networkIdProvider); + final options = kBlockExplorersOptions[networkId] ?? []; return options.map((value) { final styles = ref.read(stylesProvider); return SimpleDialogOption( - onPressed: () => Navigator.pop(context, value), + onPressed: () => appRouter.pop(context, withResult: value), child: Padding( padding: const EdgeInsets.symmetric(vertical: 8), child: Column( diff --git a/lib/settings_drawer/security_menu.dart b/lib/settings_drawer/security_menu.dart index 6371b166..ef6c10c9 100644 --- a/lib/settings_drawer/security_menu.dart +++ b/lib/settings_drawer/security_menu.dart @@ -3,10 +3,11 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../app_icons.dart'; import '../app_providers.dart'; +import '../app_router.dart'; import '../l10n/l10n.dart'; import '../settings/authentication_method.dart'; -import '../settings/device_lock_timeout.dart'; import '../settings/device_unlock_option.dart'; +import '../settings/wallet_settings.dart'; import '../util/lock_settings.dart'; import '../widgets/app_icon_button.dart'; import '../widgets/app_simpledialog.dart'; @@ -31,11 +32,10 @@ class SecurityMenu extends ConsumerStatefulWidget { class _SecurityMenuState extends ConsumerState { bool _hasBiometrics = false; - AuthenticationMethod _curAuthMethod = + AuthenticationMethod _authMethod = AuthenticationMethod(AuthMethod.BIOMETRICS); - UnlockSetting _curUnlockSetting = UnlockSetting(UnlockOption.NO); - LockTimeoutSetting _curTimeoutSetting = - LockTimeoutSetting(LockTimeoutOption.ONE); + UnlockSetting _unlockSetting = UnlockSetting(UnlockOption.NO); + UnlockSetting _autoLockSetting = UnlockSetting(UnlockOption.NO); @override void initState() { @@ -46,22 +46,26 @@ class _SecurityMenuState extends ConsumerState { final vault = ref.read(vaultProvider); final lockSettings = LockSettings(vault); final sharedPrefsUtil = ref.read(sharedPrefsUtilProvider); - biometricUtil.hasBiometrics().then((bool hasBiometrics) { + biometricUtil.hasBiometrics().then((hasBiometrics) { setState(() => _hasBiometrics = hasBiometrics); }); // Get default auth method setting - _curAuthMethod = sharedPrefsUtil.getAuthMethod(); + _authMethod = sharedPrefsUtil.getAuthMethod(); // Get default unlock settings - lockSettings.getLock().then( - (lock) { - setState(() => _curUnlockSetting = lock + lockSettings.getLock().then((lock) { + setState( + () => _unlockSetting = (lock ? UnlockSetting(UnlockOption.YES) - : UnlockSetting(UnlockOption.NO)); - }, - ); + : UnlockSetting(UnlockOption.NO)), + ); + }); - lockSettings.getLockTimeout().then((value) { - setState(() => _curTimeoutSetting = value); + lockSettings.getAutoLock().then((autolock) { + setState( + () => _autoLockSetting = (autolock + ? UnlockSetting(UnlockOption.YES) + : UnlockSetting(UnlockOption.NO)), + ); }); } @@ -73,7 +77,11 @@ class _SecurityMenuState extends ConsumerState { final wallet = ref.watch(walletProvider); final walletAuth = ref.watch(walletAuthProvider); - final encryptedSecret = walletAuth.encryptedSecret; + + final requestPassword = ref.watch( + walletSettingsProvider.select((settings) => settings.requestPassword), + ); + final requestPasswordSetting = RequestPasswordSetting(requestPassword); return Container( decoration: BoxDecoration( @@ -137,56 +145,61 @@ class _SecurityMenuState extends ConsumerState { Divider(height: 2, color: theme.text15), DoubleLineItem( heading: l10n.authMethod, - defaultMethod: _curAuthMethod, + defaultMethod: _authMethod, icon: AppIcons.fingerprint, onPressed: _authMethodDialog, ), ], // Authenticate on Launch - if (encryptedSecret == null) ...[ - Divider(height: 2, color: theme.text15), - DoubleLineItem( - heading: l10n.lockAppSetting, - defaultMethod: _curUnlockSetting, - icon: AppIcons.lock, - onPressed: _lockDialog, - ), - ], - // Authentication Timer + Divider(height: 2, color: theme.text15), + DoubleLineItem( + heading: l10n.lockAppSetting, + defaultMethod: _unlockSetting, + icon: AppIcons.lock, + onPressed: _lockDialog, + ), + + // Autolock Divider(height: 2, color: theme.text15), DoubleLineItem( heading: l10n.autoLockHeader, - defaultMethod: _curTimeoutSetting, - icon: AppIcons.timer, - onPressed: _lockTimeoutDialog, - disabled: _curUnlockSetting.setting == UnlockOption.NO && - encryptedSecret == null, + defaultMethod: _autoLockSetting, + icon: Icons.sync_lock, + onPressed: _autoLockDialog, + disabled: _unlockSetting.setting == UnlockOption.NO, ), - if (!wallet.isViewOnly) + if (wallet.canSetPassword) // Encrypt option - if (encryptedSecret == null) ...[ + if (walletAuth.isEncrypted) ...[ Divider(height: 2, color: theme.text15), SingleLineItem( - heading: l10n.setWalletPassword, - settingIcon: AppIcons.walletpassword, + heading: l10n.disableWalletPassword, + settingIcon: AppIcons.walletpassworddisabled, onPressed: () { Sheets.showAppHeightNineSheet( context: context, - widget: const SetPasswordSheet(), - theme: ref.read(themeProvider), + widget: const DisablePasswordSheet(), + theme: theme, ); }, ), + Divider(height: 2, color: theme.text15), + DoubleLineItem( + heading: l10n.requestPasswordHeader, + defaultMethod: requestPasswordSetting, + icon: Icons.password, + onPressed: _requestPasswordDialog, + ), ] else ...[ Divider(height: 2, color: theme.text15), SingleLineItem( - heading: l10n.disableWalletPassword, - settingIcon: AppIcons.walletpassworddisabled, + heading: l10n.setWalletPassword, + settingIcon: AppIcons.walletpassword, onPressed: () { Sheets.showAppHeightNineSheet( context: context, - widget: const DisablePasswordSheet(), - theme: ref.read(themeProvider), + widget: const SetPasswordSheet(), + theme: theme, ); }, ), @@ -220,9 +233,10 @@ class _SecurityMenuState extends ConsumerState { ), children: [ AppSimpleDialogOption( - onPressed: () { - Navigator.pop(context, AuthMethod.BIOMETRICS); - }, + onPressed: () => appRouter.pop( + context, + withResult: AuthMethod.BIOMETRICS, + ), child: Padding( padding: const EdgeInsets.symmetric(vertical: 8), child: Text( @@ -232,9 +246,10 @@ class _SecurityMenuState extends ConsumerState { ), ), AppSimpleDialogOption( - onPressed: () { - Navigator.pop(context, AuthMethod.PIN); - }, + onPressed: () => appRouter.pop( + context, + withResult: AuthMethod.PIN, + ), child: Padding( padding: const EdgeInsets.symmetric(vertical: 8), child: Text( @@ -251,7 +266,7 @@ class _SecurityMenuState extends ConsumerState { .setAuthMethod(AuthenticationMethod(AuthMethod.PIN)) .then((result) { setState(() { - _curAuthMethod = AuthenticationMethod(AuthMethod.PIN); + _authMethod = AuthenticationMethod(AuthMethod.PIN); }); }); break; @@ -260,7 +275,7 @@ class _SecurityMenuState extends ConsumerState { .setAuthMethod(AuthenticationMethod(AuthMethod.BIOMETRICS)) .then((result) { setState(() { - _curAuthMethod = AuthenticationMethod(AuthMethod.BIOMETRICS); + _authMethod = AuthenticationMethod(AuthMethod.BIOMETRICS); }); }); break; @@ -269,75 +284,107 @@ class _SecurityMenuState extends ConsumerState { } } - Future _lockDialog() async { + Future _getOption({required String title}) async { final theme = ref.read(themeProvider); final styles = ref.read(stylesProvider); final l10n = l10nOf(context); - final vault = ref.read(vaultProvider); - final lockSettings = LockSettings(vault); - switch (await showDialog( - context: context, - barrierColor: theme.barrier, - builder: (BuildContext context) { - return AppSimpleDialog( - title: Text( - l10n.lockAppSetting, - style: styles.textStyleDialogHeader, - ), - children: [ - AppSimpleDialogOption( - onPressed: () { - Navigator.pop(context, UnlockOption.NO); - }, - child: Padding( - padding: const EdgeInsets.symmetric(vertical: 8), - child: Text( - l10n.no, - style: styles.textStyleDialogOptions, - ), + final unlockOption = await showDialog( + context: context, + barrierColor: theme.barrier, + builder: (BuildContext context) { + return AppSimpleDialog( + title: Text(title, style: styles.textStyleDialogHeader), + children: [ + AppSimpleDialogOption( + onPressed: () => appRouter.pop( + context, + withResult: UnlockOption.YES, + ), + child: Padding( + padding: const EdgeInsets.symmetric(vertical: 8), + child: Text( + l10n.yes, + style: styles.textStyleDialogOptions, ), ), - AppSimpleDialogOption( - onPressed: () { - Navigator.pop(context, UnlockOption.YES); - }, - child: Padding( - padding: const EdgeInsets.symmetric(vertical: 8), - child: Text( - l10n.yes, - style: styles.textStyleDialogOptions, - ), + ), + AppSimpleDialogOption( + onPressed: () => appRouter.pop( + context, + withResult: UnlockOption.NO, + ), + child: Padding( + padding: const EdgeInsets.symmetric(vertical: 8), + child: Text( + l10n.no, + style: styles.textStyleDialogOptions, ), ), - ], - ); - })) { + ), + ], + ); + }, + ); + return unlockOption; + } + + Future _lockDialog() async { + final l10n = l10nOf(context); + final vault = ref.read(vaultProvider); + final lockSettings = LockSettings(vault); + + final unlockOption = await _getOption(title: l10n.lockAppSetting); + + switch (unlockOption) { case UnlockOption.YES: - lockSettings.setLock(true).then((_) { - setState(() => _curUnlockSetting = UnlockSetting(UnlockOption.YES)); - }); + await lockSettings.setLock(true); + setState(() => _unlockSetting = UnlockSetting(UnlockOption.YES)); + break; case UnlockOption.NO: - lockSettings.setLock(false).then((_) { - setState(() => _curUnlockSetting = UnlockSetting(UnlockOption.NO)); + await lockSettings.setLock(false); + await lockSettings.setAutoLock(false); + setState(() { + _unlockSetting = UnlockSetting(UnlockOption.NO); + _autoLockSetting = UnlockSetting(UnlockOption.NO); }); + break; - default: + case null: break; } } - List _buildLockTimeoutOptions() { - return LockTimeoutOption.values.map((LockTimeoutOption value) { + Future _autoLockDialog() async { + final l10n = l10nOf(context); + final vault = ref.read(vaultProvider); + final lockSettings = LockSettings(vault); + + final unlockOption = await _getOption(title: l10n.autoLockHeader); + + switch (unlockOption) { + case UnlockOption.YES: + await lockSettings.setAutoLock(true); + setState(() => _autoLockSetting = UnlockSetting(UnlockOption.YES)); + break; + case UnlockOption.NO: + await lockSettings.setAutoLock(false); + setState(() => _autoLockSetting = UnlockSetting(UnlockOption.NO)); + break; + case null: + break; + } + } + + List _buildPasswordOptions() { + return RequestPassword.values.map((value) { return SimpleDialogOption( - onPressed: () { - Navigator.pop(context, value); - }, + onPressed: () => appRouter.pop(context, withResult: value), child: Padding( padding: const EdgeInsets.symmetric(vertical: 8), child: Text( - LockTimeoutSetting(value).getDisplayName(context), + RequestPasswordSetting(value).getDisplayName(context), style: ref.read(stylesProvider).textStyleDialogOptions, ), ), @@ -345,34 +392,27 @@ class _SecurityMenuState extends ConsumerState { }).toList(); } - Future _lockTimeoutDialog() async { - LockTimeoutOption? selection = await showAppDialog( - context: context, - builder: (BuildContext context) { - return AppSimpleDialog( - title: Padding( - padding: const EdgeInsets.only(bottom: 10), - child: Text( - l10nOf(context).autoLockHeader, - style: ref.read(stylesProvider).textStyleDialogHeader, - ), + Future _requestPasswordDialog() async { + final selection = await showAppDialog( + context: context, + builder: (context) { + return AppSimpleDialog( + title: Padding( + padding: const EdgeInsets.only(bottom: 10), + child: Text( + l10nOf(context).requestPasswordHeader, + style: ref.read(stylesProvider).textStyleDialogHeader, ), - children: _buildLockTimeoutOptions(), - ); - }); + ), + children: _buildPasswordOptions(), + ); + }, + ); if (selection == null) { return; } - final vault = ref.read(vaultProvider); - final lockSettings = LockSettings(vault); - - lockSettings.setLockTimeout(LockTimeoutSetting(selection)).then((_) { - if (_curTimeoutSetting.setting != selection) { - setState(() { - _curTimeoutSetting = LockTimeoutSetting(selection); - }); - } - }); + final walletSettings = ref.read(walletSettingsProvider.notifier); + return walletSettings.setRequestPassword(selection); } } diff --git a/lib/settings_drawer/seed_backup_sheet.dart b/lib/settings_drawer/seed_backup_sheet.dart index fcffdd60..65b832ba 100644 --- a/lib/settings_drawer/seed_backup_sheet.dart +++ b/lib/settings_drawer/seed_backup_sheet.dart @@ -1,7 +1,8 @@ import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; +import '../app_providers.dart'; +import '../app_router.dart'; import '../l10n/l10n.dart'; import '../widgets/buttons.dart'; import '../widgets/mnemonic_display.dart'; @@ -13,50 +14,32 @@ class SeedBackupSheet extends HookConsumerWidget { @override Widget build(BuildContext context, WidgetRef ref) { + final styles = ref.watch(stylesProvider); final l10n = l10nOf(context); - final showMnemonic = useState(true); - - final title = showMnemonic.value ? l10n.secretPhrase : l10n.seed; + final wallet = ref.watch(walletProvider); return SheetWidget( - title: title, - //rightWidget: FlatButton( - // highlightColor: theme.text15, - // splashColor: theme.text15, - // onPressed: () { - // setState(() => _showMnemonic = !_showMnemonic); - // }, - // child: Icon( - // _showMnemonic ? AppIcons.seed : Icons.vpn_key, - // size: 24, - // color: theme.text, - // ), - // padding: const EdgeInsets.all(13.0), - // shape: RoundedRectangleBorder( - // borderRadius: BorderRadius.circular(100.0), - // ), - // materialTapTargetSize: MaterialTapTargetSize.padded, - // ), - mainWidget: Container( - child: Column(children: [ - //if (mnemonic.value != null) - MnemonicDisplay( - wordList: mnemonic, - obscured: true, - ) - // else - // PlainSeedDisplay( - // seed: _seed, - // obscureSeed: true, - // ), - ]), + title: l10n.secretPhrase, + mainWidget: ListView( + children: [ + Container( + child: MnemonicDisplay(wordList: mnemonic, obscured: true), + ), + const SizedBox(height: 30), + if (wallet.usesBip39Passphrase) + Text( + l10n.bip39PassphraseNote, + style: styles.textStyleAddressText60, + textAlign: TextAlign.center, + ), + ], ), bottomWidget: Padding( padding: const EdgeInsets.symmetric(horizontal: 28), child: PrimaryButton( title: l10n.close, - onPressed: () => Navigator.of(context).pop(), + onPressed: () => appRouter.pop(context), ), ), ); diff --git a/lib/settings_drawer/set_password_sheet.dart b/lib/settings_drawer/set_password_sheet.dart index 56be8ef5..2d57ed0c 100644 --- a/lib/settings_drawer/set_password_sheet.dart +++ b/lib/settings_drawer/set_password_sheet.dart @@ -4,12 +4,12 @@ import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import '../app_providers.dart'; +import '../app_router.dart'; import '../l10n/l10n.dart'; import '../util/ui_util.dart'; import '../widgets/app_text_field.dart'; import '../widgets/buttons.dart'; import '../widgets/sheet_widget.dart'; -import '../widgets/tap_outside_unfocus.dart'; class SetPasswordSheet extends HookConsumerWidget { const SetPasswordSheet({Key? key}) : super(key: key); @@ -55,94 +55,92 @@ class SetPasswordSheet extends HookConsumerWidget { await auth.setPassword(password); UIUtil.showSnackbar(l10n.setPasswordSuccess, context); - Navigator.pop(context); + appRouter.pop(context); } catch (e, st) { final log = ref.read(loggerProvider); log.e('Failed to set password', error: e, stackTrace: st); - Navigator.pop(context); + appRouter.pop(context); UIUtil.showSnackbar(l10n.encryptionFailedError, context); } } - return TapOutsideUnfocus( - child: SheetWidget( - title: l10n.createPasswordSheetHeader, - mainWidget: Column( - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - Container( - margin: EdgeInsetsDirectional.only(start: 40, end: 40, top: 16), - child: AutoSizeText( - l10n.passwordWillBeRequiredToOpenParagraph, - style: styles.textStyleParagraph, - maxLines: 5, - stepGranularity: 0.5, - ), + return SheetWidget( + title: l10n.createPasswordSheetHeader, + mainWidget: Column( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Container( + margin: EdgeInsetsDirectional.only(start: 40, end: 40, top: 16), + child: AutoSizeText( + l10n.passwordWillBeRequiredToOpenParagraph, + style: styles.textStyleParagraph, + maxLines: 5, + stepGranularity: 0.5, ), - // Create a Password Text Field - AppTextField( - topMargin: 30, - padding: EdgeInsetsDirectional.only(start: 16, end: 16), - focusNode: createFocusNode, - controller: createController, - textInputAction: TextInputAction.next, - maxLines: 1, - autocorrect: false, - onChanged: inputChanged, - hintText: l10n.createPasswordHint, - keyboardType: TextInputType.text, - obscureText: true, - textAlign: TextAlign.center, - style: textStyle, - onSubmitted: (text) { - confirmFocusNode.requestFocus(); - }, + ), + // Create a Password Text Field + AppTextField( + topMargin: 30, + padding: EdgeInsetsDirectional.only(start: 16, end: 16), + focusNode: createFocusNode, + controller: createController, + textInputAction: TextInputAction.next, + maxLines: 1, + autocorrect: false, + onChanged: inputChanged, + hintText: l10n.createPasswordHint, + keyboardType: TextInputType.text, + obscureText: true, + textAlign: TextAlign.center, + style: textStyle, + onSubmitted: (text) { + confirmFocusNode.requestFocus(); + }, + ), + // Confirm Password Text Field + AppTextField( + topMargin: 20, + padding: const EdgeInsetsDirectional.only( + start: 16, + end: 16, ), - // Confirm Password Text Field - AppTextField( - topMargin: 20, - padding: const EdgeInsetsDirectional.only( - start: 16, - end: 16, - ), - focusNode: confirmFocusNode, - controller: confirmController, - textInputAction: TextInputAction.done, - maxLines: 1, - autocorrect: false, - onChanged: inputChanged, - hintText: l10n.confirmPasswordHint, - keyboardType: TextInputType.text, - obscureText: true, - textAlign: TextAlign.center, - style: textStyle, + focusNode: confirmFocusNode, + controller: confirmController, + textInputAction: TextInputAction.done, + maxLines: 1, + autocorrect: false, + onChanged: inputChanged, + hintText: l10n.confirmPasswordHint, + keyboardType: TextInputType.text, + obscureText: true, + textAlign: TextAlign.center, + style: textStyle, + ), + // Error Text + Container( + alignment: AlignmentDirectional(0, 0), + margin: EdgeInsets.only(top: 3), + child: Text( + passwordError.value, + style: styles.textStyleParagraphThinPrimary, ), - // Error Text - Container( - alignment: AlignmentDirectional(0, 0), - margin: EdgeInsets.only(top: 3), - child: Text( - passwordError.value, - style: styles.textStyleParagraphThinPrimary, - ), - ), - ], - ), - bottomWidget: Padding( - padding: const EdgeInsets.symmetric(horizontal: 28), - child: Column(children: [ - PrimaryButton( - title: l10n.setPassword, - onPressed: submitAndEncrypt, - ), - const SizedBox(height: 16), - PrimaryOutlineButton( - title: l10n.close, - onPressed: () => Navigator.pop(context), - ), - ]), - ), + ), + ], + ), + bottomWidget: Padding( + padding: const EdgeInsets.symmetric(horizontal: 28), + child: Column(children: [ + PrimaryButton( + title: l10n.setPassword, + onPressed: submitAndEncrypt, + ), + const SizedBox(height: 16), + PrimaryOutlineButton( + title: l10n.close, + onPressed: () => appRouter.pop(context), + ), + ]), ), ); } diff --git a/lib/settings_drawer/settings_drawer.dart b/lib/settings_drawer/settings_drawer.dart index 6f465c66..3e7aa8be 100755 --- a/lib/settings_drawer/settings_drawer.dart +++ b/lib/settings_drawer/settings_drawer.dart @@ -6,23 +6,23 @@ import 'package:share_plus/share_plus.dart'; import '../app_icons.dart'; import '../app_providers.dart'; -import '../contacts/contact_labels.dart'; +import '../app_router.dart'; import '../contacts/contacts_widget.dart'; import '../karlsen/karlsen.dart'; import '../l10n/l10n.dart'; -import '../send_sheet/send_sheet.dart'; import '../settings/available_currency.dart'; import '../settings/available_language.dart'; import '../settings/available_themes.dart'; -import '../settings/setting_item.dart'; import '../settings_advanced/advanced_menu.dart'; import '../util/platform.dart'; +import '../util/ui_util.dart'; import '../widgets/app_simpledialog.dart'; import '../widgets/dialog.dart'; import '../widgets/gradient_widgets.dart'; import '../widgets/sheet_util.dart'; import 'accounts_area.dart'; import 'currency_dialog.dart'; +import 'donate_menu.dart'; import 'double_line_item.dart'; import 'language_dialog.dart'; import 'network_menu.dart'; @@ -52,10 +52,14 @@ class _SettingsSheetState extends ConsumerState late final AnimationController _advancedController; late final Animation _advancedOffsetFloat; + late final AnimationController _donateController; + late final Animation _donateOffsetFloat; + bool _securityOpen = false; bool _contactsOpen = false; bool _networkOpen = false; bool _advancedOpen = false; + bool _donateOpen = false; @override void initState() { @@ -82,6 +86,11 @@ class _SettingsSheetState extends ConsumerState vsync: this, duration: const Duration(milliseconds: 220), ); + // For donate menu + _donateController = AnimationController( + vsync: this, + duration: const Duration(milliseconds: 220), + ); final beginOffset = const Offset(1.1, 0); final endOffset = const Offset(0, 0); @@ -101,6 +110,10 @@ class _SettingsSheetState extends ConsumerState begin: beginOffset, end: endOffset, ).animate(_advancedController); + _donateOffsetFloat = Tween( + begin: beginOffset, + end: endOffset, + ).animate(_donateController); } @override @@ -109,6 +122,7 @@ class _SettingsSheetState extends ConsumerState _securityController.dispose(); _networkController.dispose(); _advancedController.dispose(); + _donateController.dispose(); super.dispose(); } @@ -159,6 +173,11 @@ class _SettingsSheetState extends ConsumerState } else if (_advancedOpen) { setState(() => _advancedOpen = false); _advancedController.reverse(); + } else if (_donateOpen) { + setState(() => _donateOpen = false); + _donateController.reverse(); + } else if (!didPop) { + appRouter.pop(context); } } @@ -207,6 +226,13 @@ class _SettingsSheetState extends ConsumerState _advancedController.reverse(); }), ), + SlideTransition( + position: _donateOffsetFloat, + child: DonateMenu(onBackAction: () { + setState(() => _donateOpen = false); + _donateController.reverse(); + }), + ), ]), ), ); @@ -222,6 +248,46 @@ class _SettingsSheetState extends ConsumerState final wallet = ref.watch(walletProvider); final hasMnemonic = ref.watch(walletHasMnemonic); + final canDonate = !kPlatformIsIOS && + network == KarlsenNetwork.mainnet && + !wallet.isViewOnly; + + Future backupSecretPhrase() async { + final authUtil = ref.read(authUtilProvider); + + final mnemonic = await authUtil.getMnemonic(context); + if (mnemonic == null) { + return; + } + if (mnemonic.isEmpty) { + UIUtil.showSnackbar(l10n.missingSecretPhrase, context); + return; + } + + Sheets.showAppHeightNineSheet( + context: context, + theme: theme, + widget: SeedBackupSheet(mnemonic: mnemonic), + ); + } + + void share() { + Share.share( + l10n.shareKarlsenMobileText, + subject: l10n.shareKarlsenMobileSubject, + ); + } + + void logout() { + AppDialogs.showConfirmDialog( + context, + l10n.areYouSure, + l10n.logoutDialogContent, + l10n.yesUppercase, + () => appRouter.logout(context), + ); + } + return Container( decoration: BoxDecoration(color: theme.backgroundDark), child: SafeArea( @@ -261,7 +327,7 @@ class _SettingsSheetState extends ConsumerState return DoubleLineItem( heading: l10n.language, defaultMethod: ref.watch(languageProvider), - icon: AppIcons.language, + icon: Icons.translate, onPressed: _showLanguageDialog, ); }), @@ -330,99 +396,46 @@ class _SettingsSheetState extends ConsumerState SingleLineItem( heading: l10n.backupSecretPhrase, settingIcon: AppIcons.backupseed, - onPressed: () async { - final authUtil = ref.read(authUtilProvider); - final walletAuth = ref.read(walletAuthProvider); - final notifier = - ref.read(walletAuthProvider.notifier); - var auth = false; - List? mnemonic = null; - if (walletAuth.isEncrypted) { - final notifier = - ref.read(walletAuthProvider.notifier); - auth = await authUtil.authenticateWithPassword( - context, (password) async { - try { - mnemonic = await notifier.getMnemonic( - password: password); - return true; - } catch (e) { - return false; - } - }); - } else { - auth = await authUtil.authenticate( - context, - l10n.pinSeedBackup, - l10n.fingerprintSeedBackup, - ); - } - if (auth) { - if (mnemonic == null) { - mnemonic = await notifier.getMnemonic(); - } - Sheets.showAppHeightNineSheet( - context: context, - theme: theme, - widget: SeedBackupSheet(mnemonic: mnemonic!), - ); - } - }, + onPressed: backupSecretPhrase, ), ], - if (!kPlatformIsIOS && - network == KarlsenNetwork.mainnet && - !wallet.isViewOnly) ...[ + // if (network == KarlsenNetwork.mainnet) ...[ + // Divider(height: 2, color: theme.text15), + // DoubleLineItem( + // heading: l10n.buyKarlsenTitle, + // defaultMethod: BuySettingItem(), + // icon: Icons.currency_exchange, + // onPressed: () { + // Sheets.showAppHeightNineSheet( + // context: context, + // theme: theme, + // widget: const BuySheet(), + // ); + // }, + // ), + // ], + if (canDonate) ...[ Divider(height: 2, color: theme.text15), - DoubleLineItem( + SingleLineItem( heading: l10n.donate, - defaultMethod: DonateSettingItem(), - icon: Icons.handshake_rounded, + settingIcon: Icons.handshake_rounded, onPressed: () { - final uri = KarlsenUri( - address: - Address.decodeAddress(kKarlsenDevFundAddress), - ); - Sheets.showAppHeightNineSheet( - context: context, - theme: theme, - widget: SendSheet( - title: l10n.donate.toUpperCase(), - uri: uri, - ), - ); + setState(() => _donateOpen = true); + _donateController.forward(); }, ), ], Divider(height: 2, color: theme.text15), SingleLineItem( - heading: l10n.shareMobile, + heading: l10n.shareKarlsenMobile, settingIcon: AppIcons.share, - onPressed: () { - Share.share( - l10n.shareMobileText, - subject: l10n.shareMobileSubject, - ); - }, + onPressed: share, ), Divider(height: 2, color: theme.text15), SingleLineItem( heading: l10n.logoutOrSwitchWallet, settingIcon: AppIcons.logout, - onPressed: () { - AppDialogs.showConfirmDialog( - context, - l10n.areYouSure, - l10n.logoutDialogContent, - l10n.yesUppercase, - () { - Navigator.of(context).pushNamedAndRemoveUntil( - '/logout', - (_) => false, - ); - }, - ); - }, + onPressed: logout, ), Divider(height: 2, color: theme.text15), const VersionWidget(), diff --git a/lib/settings_drawer/theme_dialog.dart b/lib/settings_drawer/theme_dialog.dart index 3c371266..93a01189 100644 --- a/lib/settings_drawer/theme_dialog.dart +++ b/lib/settings_drawer/theme_dialog.dart @@ -1,6 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; +import '../app_router.dart'; import '../core/core_providers.dart'; import '../l10n/l10n.dart'; import '../settings/available_themes.dart'; @@ -25,7 +26,7 @@ class ThemeDialog extends ConsumerWidget { children: [ for (final value in ThemeOptions.values) SimpleDialogOption( - onPressed: () => Navigator.pop(context, value), + onPressed: () => appRouter.pop(context, withResult: value), child: Padding( padding: const EdgeInsets.symmetric(vertical: 8), child: Text( diff --git a/lib/themes/karlsen_mobile_dark_theme.dart b/lib/themes/karlsen_mobile_dark_theme.dart index 4fe853ea..5447b39c 100644 --- a/lib/themes/karlsen_mobile_dark_theme.dart +++ b/lib/themes/karlsen_mobile_dark_theme.dart @@ -4,17 +4,10 @@ import 'package:flutter/services.dart'; import 'base_theme.dart'; class KarlsenMobileDarkTheme extends BaseTheme { - static const brightBlue = Color(0xff93939a); + static const blue = Color(0xff3C6490); + static const blueDark = Color(0xff325578); - static const green = Color(0xff777782); - - static const greenDark = Color(0xff93939a); - - static const blueishGreyDark = Color(0xff232323); - - static const blueishGreyLight = Color(0xff323232); - - static const blueishGreyDarkest = Color(0xff232323); + static const graphiteNight = Color.fromARGB(255, 28, 28, 30); static const white = Color(0xffffffff); @@ -22,30 +15,30 @@ class KarlsenMobileDarkTheme extends BaseTheme { bool isLightTheme = false; - Color primary = brightBlue; - Color primary60 = brightBlue.withOpacity(0.6); - Color primary45 = brightBlue.withOpacity(0.45); - Color primary30 = brightBlue.withOpacity(0.3); - Color primary20 = brightBlue.withOpacity(0.2); - Color primary15 = brightBlue.withOpacity(0.15); - Color primary10 = brightBlue.withOpacity(0.1); + Color primary = blueDark; + Color primary60 = blueDark.withOpacity(0.6); + Color primary45 = blueDark.withOpacity(0.45); + Color primary30 = blueDark.withOpacity(0.3); + Color primary20 = blueDark.withOpacity(0.2); + Color primary15 = blueDark.withOpacity(0.15); + Color primary10 = blueDark.withOpacity(0.1); - Color success = green; - Color success60 = green.withOpacity(0.6); - Color success30 = green.withOpacity(0.3); - Color success15 = green.withOpacity(0.15); + Color success = blue; + Color success60 = blue.withOpacity(0.6); + Color success30 = blue.withOpacity(0.3); + Color success15 = blue.withOpacity(0.15); - Color successDark = greenDark; - Color successDark30 = greenDark.withOpacity(0.3); + Color successDark = blueDark; + Color successDark30 = blueDark.withOpacity(0.3); - Color background = blueishGreyDark; - Color background40 = blueishGreyDark.withOpacity(0.4); - Color background00 = blueishGreyDark.withOpacity(0.0); + Color background = graphiteNight; + Color background40 = graphiteNight.withOpacity(0.4); + Color background00 = graphiteNight.withOpacity(0.0); - Color backgroundDark = blueishGreyLight; - Color backgroundDark00 = blueishGreyLight.withOpacity(0.0); + Color backgroundDark = graphiteNight; + Color backgroundDark00 = graphiteNight.withOpacity(0.0); - Color backgroundDarkest = blueishGreyDarkest; + Color backgroundDarkest = graphiteNight; Color text = white.withOpacity(0.9); Color text60 = white.withOpacity(0.6); diff --git a/lib/themes/karlsen_mobile_light_theme.dart b/lib/themes/karlsen_mobile_light_theme.dart index c081a22d..363ebe2b 100644 --- a/lib/themes/karlsen_mobile_light_theme.dart +++ b/lib/themes/karlsen_mobile_light_theme.dart @@ -4,39 +4,32 @@ import 'package:flutter/services.dart'; import 'base_theme.dart'; class KarlsenMobileLightTheme extends BaseTheme { - static const deepBlue = Color(0xFF4c5157); - - static const green = Color(0xFF4c5157); - - static const greenLight = Color(0xFF4c5157); + static const blue = Color(0xff3C6490); + static const blueDark = Color(0xff325578); static const white = Color(0xFFFFFFFF); - static const whiteishDark = Color(0xFFecebf0); - static const grey = Color(0xFF454868); - static const black = Color(0xFF000000); - static const darkDeepBlue = Color(0xFF2a2b38); bool isLightTheme = true; - Color primary = deepBlue; - Color primary60 = deepBlue.withOpacity(0.9); - Color primary45 = deepBlue.withOpacity(0.8); - Color primary30 = deepBlue.withOpacity(0.6); - Color primary20 = deepBlue.withOpacity(0.45); - Color primary15 = deepBlue.withOpacity(0.3); - Color primary10 = deepBlue.withOpacity(0.2); - - Color success = green; - Color success60 = green.withOpacity(0.6); - Color success30 = green.withOpacity(0.3); - Color success15 = green.withOpacity(0.15); - - Color successDark = greenLight; - Color successDark30 = greenLight.withOpacity(0.3); + Color primary = blueDark; + Color primary60 = blueDark.withOpacity(0.6); + Color primary45 = blueDark.withOpacity(0.45); + Color primary30 = blueDark.withOpacity(0.3); + Color primary20 = blueDark.withOpacity(0.2); + Color primary15 = blueDark.withOpacity(0.15); + Color primary10 = blueDark.withOpacity(0.1); + + Color success = blue; + Color success60 = blue.withOpacity(0.6); + Color success30 = blue.withOpacity(0.3); + Color success15 = blue.withOpacity(0.15); + + Color successDark = blueDark; + Color successDark30 = blueDark.withOpacity(0.3); Color background = white; Color background40 = white.withOpacity(0.4); diff --git a/lib/transactions/send_tx.dart b/lib/transactions/send_tx.dart deleted file mode 100644 index c8cf265e..00000000 --- a/lib/transactions/send_tx.dart +++ /dev/null @@ -1,23 +0,0 @@ -import 'package:freezed_annotation/freezed_annotation.dart'; - -import '../karlsen/karlsen.dart'; - -part 'send_tx.freezed.dart'; - -@freezed -class SendTx with _$SendTx { - const SendTx._(); - - factory SendTx({ - required KarlsenUri uri, - Address? changeAddress, - required BigInt amountRaw, - @Default([]) List utxos, - BigInt? fee, - String? note, - }) = _SendTx; - - Amount get amount => Amount.raw(amountRaw); - - Address get toAddress => uri.address; -} diff --git a/lib/transactions/send_tx.freezed.dart b/lib/transactions/send_tx.freezed.dart deleted file mode 100644 index 77afc6f0..00000000 --- a/lib/transactions/send_tx.freezed.dart +++ /dev/null @@ -1,274 +0,0 @@ -// coverage:ignore-file -// GENERATED CODE - DO NOT MODIFY BY HAND -// ignore_for_file: type=lint -// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark - -part of 'send_tx.dart'; - -// ************************************************************************** -// FreezedGenerator -// ************************************************************************** - -T _$identity(T value) => value; - -final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); - -/// @nodoc -mixin _$SendTx { - KarlsenUri get uri => throw _privateConstructorUsedError; - Address? get changeAddress => throw _privateConstructorUsedError; - BigInt get amountRaw => throw _privateConstructorUsedError; - List get utxos => throw _privateConstructorUsedError; - BigInt? get fee => throw _privateConstructorUsedError; - String? get note => throw _privateConstructorUsedError; - - @JsonKey(ignore: true) - $SendTxCopyWith get copyWith => throw _privateConstructorUsedError; -} - -/// @nodoc -abstract class $SendTxCopyWith<$Res> { - factory $SendTxCopyWith(SendTx value, $Res Function(SendTx) then) = - _$SendTxCopyWithImpl<$Res, SendTx>; - @useResult - $Res call( - {KarlsenUri uri, - Address? changeAddress, - BigInt amountRaw, - List utxos, - BigInt? fee, - String? note}); - - $KarlsenUriCopyWith<$Res> get uri; - $AddressCopyWith<$Res>? get changeAddress; -} - -/// @nodoc -class _$SendTxCopyWithImpl<$Res, $Val extends SendTx> - implements $SendTxCopyWith<$Res> { - _$SendTxCopyWithImpl(this._value, this._then); - - // ignore: unused_field - final $Val _value; - // ignore: unused_field - final $Res Function($Val) _then; - - @pragma('vm:prefer-inline') - @override - $Res call({ - Object? uri = null, - Object? changeAddress = freezed, - Object? amountRaw = null, - Object? utxos = null, - Object? fee = freezed, - Object? note = freezed, - }) { - return _then(_value.copyWith( - uri: null == uri - ? _value.uri - : uri // ignore: cast_nullable_to_non_nullable - as KarlsenUri, - changeAddress: freezed == changeAddress - ? _value.changeAddress - : changeAddress // ignore: cast_nullable_to_non_nullable - as Address?, - amountRaw: null == amountRaw - ? _value.amountRaw - : amountRaw // ignore: cast_nullable_to_non_nullable - as BigInt, - utxos: null == utxos - ? _value.utxos - : utxos // ignore: cast_nullable_to_non_nullable - as List, - fee: freezed == fee - ? _value.fee - : fee // ignore: cast_nullable_to_non_nullable - as BigInt?, - note: freezed == note - ? _value.note - : note // ignore: cast_nullable_to_non_nullable - as String?, - ) as $Val); - } - - @override - @pragma('vm:prefer-inline') - $KarlsenUriCopyWith<$Res> get uri { - return $KarlsenUriCopyWith<$Res>(_value.uri, (value) { - return _then(_value.copyWith(uri: value) as $Val); - }); - } - - @override - @pragma('vm:prefer-inline') - $AddressCopyWith<$Res>? get changeAddress { - if (_value.changeAddress == null) { - return null; - } - - return $AddressCopyWith<$Res>(_value.changeAddress!, (value) { - return _then(_value.copyWith(changeAddress: value) as $Val); - }); - } -} - -/// @nodoc -abstract class _$$SendTxImplCopyWith<$Res> implements $SendTxCopyWith<$Res> { - factory _$$SendTxImplCopyWith( - _$SendTxImpl value, $Res Function(_$SendTxImpl) then) = - __$$SendTxImplCopyWithImpl<$Res>; - @override - @useResult - $Res call( - {KarlsenUri uri, - Address? changeAddress, - BigInt amountRaw, - List utxos, - BigInt? fee, - String? note}); - - @override - $KarlsenUriCopyWith<$Res> get uri; - @override - $AddressCopyWith<$Res>? get changeAddress; -} - -/// @nodoc -class __$$SendTxImplCopyWithImpl<$Res> - extends _$SendTxCopyWithImpl<$Res, _$SendTxImpl> - implements _$$SendTxImplCopyWith<$Res> { - __$$SendTxImplCopyWithImpl( - _$SendTxImpl _value, $Res Function(_$SendTxImpl) _then) - : super(_value, _then); - - @pragma('vm:prefer-inline') - @override - $Res call({ - Object? uri = null, - Object? changeAddress = freezed, - Object? amountRaw = null, - Object? utxos = null, - Object? fee = freezed, - Object? note = freezed, - }) { - return _then(_$SendTxImpl( - uri: null == uri - ? _value.uri - : uri // ignore: cast_nullable_to_non_nullable - as KarlsenUri, - changeAddress: freezed == changeAddress - ? _value.changeAddress - : changeAddress // ignore: cast_nullable_to_non_nullable - as Address?, - amountRaw: null == amountRaw - ? _value.amountRaw - : amountRaw // ignore: cast_nullable_to_non_nullable - as BigInt, - utxos: null == utxos - ? _value._utxos - : utxos // ignore: cast_nullable_to_non_nullable - as List, - fee: freezed == fee - ? _value.fee - : fee // ignore: cast_nullable_to_non_nullable - as BigInt?, - note: freezed == note - ? _value.note - : note // ignore: cast_nullable_to_non_nullable - as String?, - )); - } -} - -/// @nodoc - -class _$SendTxImpl extends _SendTx { - _$SendTxImpl( - {required this.uri, - this.changeAddress, - required this.amountRaw, - final List utxos = const [], - this.fee, - this.note}) - : _utxos = utxos, - super._(); - - @override - final KarlsenUri uri; - @override - final Address? changeAddress; - @override - final BigInt amountRaw; - final List _utxos; - @override - @JsonKey() - List get utxos { - if (_utxos is EqualUnmodifiableListView) return _utxos; - // ignore: implicit_dynamic_type - return EqualUnmodifiableListView(_utxos); - } - - @override - final BigInt? fee; - @override - final String? note; - - @override - String toString() { - return 'SendTx(uri: $uri, changeAddress: $changeAddress, amountRaw: $amountRaw, utxos: $utxos, fee: $fee, note: $note)'; - } - - @override - bool operator ==(Object other) { - return identical(this, other) || - (other.runtimeType == runtimeType && - other is _$SendTxImpl && - (identical(other.uri, uri) || other.uri == uri) && - (identical(other.changeAddress, changeAddress) || - other.changeAddress == changeAddress) && - (identical(other.amountRaw, amountRaw) || - other.amountRaw == amountRaw) && - const DeepCollectionEquality().equals(other._utxos, _utxos) && - (identical(other.fee, fee) || other.fee == fee) && - (identical(other.note, note) || other.note == note)); - } - - @override - int get hashCode => Object.hash(runtimeType, uri, changeAddress, amountRaw, - const DeepCollectionEquality().hash(_utxos), fee, note); - - @JsonKey(ignore: true) - @override - @pragma('vm:prefer-inline') - _$$SendTxImplCopyWith<_$SendTxImpl> get copyWith => - __$$SendTxImplCopyWithImpl<_$SendTxImpl>(this, _$identity); -} - -abstract class _SendTx extends SendTx { - factory _SendTx( - {required final KarlsenUri uri, - final Address? changeAddress, - required final BigInt amountRaw, - final List utxos, - final BigInt? fee, - final String? note}) = _$SendTxImpl; - _SendTx._() : super._(); - - @override - KarlsenUri get uri; - @override - Address? get changeAddress; - @override - BigInt get amountRaw; - @override - List get utxos; - @override - BigInt? get fee; - @override - String? get note; - @override - @JsonKey(ignore: true) - _$$SendTxImplCopyWith<_$SendTxImpl> get copyWith => - throw _privateConstructorUsedError; -} diff --git a/lib/transactions/transaction_card.dart b/lib/transactions/transaction_card.dart index 2c4075c6..2ae29ea9 100644 --- a/lib/transactions/transaction_card.dart +++ b/lib/transactions/transaction_card.dart @@ -30,6 +30,7 @@ class TransactionCard extends ConsumerWidget { final addressNotifier = ref.watch(addressNotifierProvider.notifier); final note = ref.watch(txNoteProvider(tx.id)); + final klsSymbol = ref.watch(klsSymbolProvider); final output = tx.apiTx.outputs[item.outputIndex]; @@ -55,9 +56,11 @@ class TransactionCard extends ConsumerWidget { final date = formater.format(txDate); final txTypeIcon = switch (item.type) { - TxItemType.send => Icon(AppIcons.sent, color: theme.primary, size: 18), + TxItemType.send => Icon(AppIcons.sent, color: theme.text60, size: 18), TxItemType.receive => Icon(AppIcons.received, color: theme.primary, size: 18), + TxItemType.thisWallet => + Icon(Icons.swap_vert, color: theme.primary, size: 18), TxItemType.compound => Icon(Icons.refresh, color: theme.primary, size: 18), }; @@ -112,7 +115,7 @@ class TransactionCard extends ConsumerWidget { .copyWith(fontSize: AppFontSizes.small), ), TextSpan( - text: ' KLS', + text: ' ${klsSymbol}', style: styles.textStyleTransactionUnit .copyWith(fontSize: AppFontSizes.small), ), @@ -120,12 +123,13 @@ class TransactionCard extends ConsumerWidget { ), ), Text( - date, + item.pending ? l10n.txPending : date, textAlign: TextAlign.start, style: styles.textStyleTransactionType.copyWith( - fontWeight: FontWeight.w400, - fontSize: AppFontSizes.smallest, - color: theme.text60), + fontWeight: FontWeight.w400, + fontSize: AppFontSizes.smallest, + color: theme.text60, + ), ), ], ), @@ -142,7 +146,7 @@ class TransactionCard extends ConsumerWidget { ), Consumer(builder: (context, ref, _) { final txState = ref.watch( - txConfirmationStatusProvider(tx), + txConfirmationStatusProvider(item), ); return Container( margin: const EdgeInsetsDirectional.only( diff --git a/lib/transactions/transaction_details.dart b/lib/transactions/transaction_details.dart index 454db468..11eb1d4f 100644 --- a/lib/transactions/transaction_details.dart +++ b/lib/transactions/transaction_details.dart @@ -35,11 +35,14 @@ class TransactionDetails extends ConsumerWidget { final title = switch (txItem.type) { TxItemType.send => l10n.sent.toUpperCase(), TxItemType.receive => l10n.received.toUpperCase(), + TxItemType.thisWallet => + l10n.thisWallet.replaceAll('#', '').toUpperCase(), TxItemType.compound => l10n.compoundUppercased, }; final addressTitle = switch (txItem.type) { TxItemType.send => l10n.toAddress.toUpperCase(), TxItemType.receive || + TxItemType.thisWallet || TxItemType.compound => l10n.walletAddress.toUpperCase(), }; @@ -61,6 +64,14 @@ class TransactionDetails extends ConsumerWidget { maxLines: 1, ), ), + if (txItem.pending) + Padding( + padding: const EdgeInsets.only(top: 10, bottom: 10), + child: Text( + l10n.txPendingMessage, + style: styles.textStyleAddressPrimary, + ), + ), const SizedBox(height: 10), AmountLabel(amount: amount), Container( diff --git a/lib/transactions/transaction_details_sheet.dart b/lib/transactions/transaction_details_sheet.dart index 20179bc2..415dfb94 100644 --- a/lib/transactions/transaction_details_sheet.dart +++ b/lib/transactions/transaction_details_sheet.dart @@ -3,8 +3,10 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../app_icons.dart'; import '../app_providers.dart'; +import '../app_router.dart'; import '../contacts/contact_add_sheet.dart'; import '../l10n/l10n.dart'; +import '../util/ui_util.dart'; import '../util/util.dart'; import '../widgets/buttons.dart'; import '../widgets/sheet_handle.dart'; @@ -20,13 +22,13 @@ class TransactionDetailsSheet extends ConsumerWidget { final TxItem? txItem; const TransactionDetailsSheet({ - Key? key, + super.key, required this.transactionId, required this.address, this.displayContactButton = false, this.displayAddressButton = true, this.txItem, - }) : super(key: key); + }); @override Widget build(BuildContext context, WidgetRef ref) { @@ -35,7 +37,7 @@ class TransactionDetailsSheet extends ConsumerWidget { final styles = ref.watch(stylesProvider); void addContact() { - Navigator.of(context).pop(); + appRouter.pop(context); Sheets.showAppHeightNineSheet( context: context, widget: ContactAddSheet(address: address), @@ -53,6 +55,19 @@ class TransactionDetailsSheet extends ConsumerWidget { openUrl(explorer.urlForTx(transactionId)); } + Future updateFee() async { + final txItem = this.txItem; + if (txItem == null) { + return; + } + UIUtil.showUpdateFeeFlow( + context, + ref: ref, + tx: txItem.tx, + address: address, + ); + } + return SafeArea( minimum: EdgeInsets.only( bottom: MediaQuery.of(context).size.height * 0.035, @@ -71,7 +86,13 @@ class TransactionDetailsSheet extends ConsumerWidget { mainAxisSize: MainAxisSize.min, children: [ const SizedBox(height: 20), - if (displayAddressButton) ...[ + if (txItem?.pending ?? false) ...[ + PrimaryButton( + title: l10n.feeUpdate, + onPressed: updateFee, + ), + const SizedBox(height: 16), + ] else if (displayAddressButton) ...[ Stack(children: [ PrimaryButton( title: l10n.viewAddress, @@ -112,7 +133,7 @@ class TransactionDetailsSheet extends ConsumerWidget { else PrimaryOutlineButton( title: l10n.close, - onPressed: () => Navigator.of(context).pop(), + onPressed: () => appRouter.pop(context), ), ], ), diff --git a/lib/transactions/transaction_empty_list.dart b/lib/transactions/transaction_empty_list.dart index 5eb30e17..1244ee97 100644 --- a/lib/transactions/transaction_empty_list.dart +++ b/lib/transactions/transaction_empty_list.dart @@ -4,11 +4,7 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'tx_welcome_card.dart'; class TransactionEmptyList extends ConsumerWidget { - final String tokenSymbol; - const TransactionEmptyList({ - Key? key, - required this.tokenSymbol, - }) : super(key: key); + const TransactionEmptyList({super.key}); @override Widget build(BuildContext context, WidgetRef ref) { diff --git a/lib/transactions/transaction_notifier.dart b/lib/transactions/transaction_notifier.dart index a5607b92..0c9790e5 100644 --- a/lib/transactions/transaction_notifier.dart +++ b/lib/transactions/transaction_notifier.dart @@ -17,6 +17,8 @@ class TransactionNotifier extends SafeChangeNotifier { var loadedTxs = IList(); bool get hasMore => loadedTxs.length < cache.txCount; + var pendingTxs = IList(); + bool _loading = false; bool get loading => _loading; String? _lastLoadedTxId; @@ -26,6 +28,17 @@ class TransactionNotifier extends SafeChangeNotifier { TransactionNotifier({required this.cache}); + Future updatePendingTxs(Iterable pendingTxs) async { + if (pendingTxs.isEmpty) { + this.pendingTxs = this.pendingTxs.clear(); + } else { + final txs = await cache.txsForApiTxs(pendingTxs); + this.pendingTxs = txs.toIList(); + } + + notifyListeners(); + } + void addToMemcache(ApiTransaction tx) { // Don't cache coinbase transactions if (tx.inputs.isEmpty) { diff --git a/lib/transactions/transaction_providers.dart b/lib/transactions/transaction_providers.dart index ac7412f6..2652cfd9 100644 --- a/lib/transactions/transaction_providers.dart +++ b/lib/transactions/transaction_providers.dart @@ -2,14 +2,10 @@ import 'dart:async'; import 'package:flutter_riverpod/flutter_riverpod.dart'; -import '../core/core_providers.dart'; +import '../app_providers.dart'; import '../database/boxes.dart'; import '../karlsen/karlsen.dart'; -import '../utxos/utxos_providers.dart'; import '../wallet/wallet_types.dart'; -import '../wallet_address/wallet_address_providers.dart'; -import '../wallet_auth/wallet_auth_providers.dart'; -import '../wallet_balance/wallet_balance_providers.dart'; import 'transaction_notifier.dart'; import 'transaction_types.dart'; import 'tx_cache_service.dart'; @@ -77,18 +73,20 @@ final _acceptedTransactionIdsProvider = StreamProvider.autoDispose((ref) { final _txBoxProvider = Provider.autoDispose.family, WalletInfo>((ref, wallet) { final db = ref.watch(dbProvider); - final network = ref.watch(networkProvider); - - final txBoxKey = wallet.boxInfo.getBoxInfo(network).tx.boxKey; + final networkId = ref.watch(networkIdProvider); + final repository = ref.watch(boxInfoRepositoryProvider); + final boxInfo = repository.getBoxInfo(wallet.wid, networkId); + final txBoxKey = boxInfo.tx.boxKey; return db.getLazyTypedBox(txBoxKey); }); final _txIndexBoxProvider = Provider.autoDispose .family, WalletInfo>((ref, wallet) { final db = ref.watch(dbProvider); - final network = ref.watch(networkProvider); - - final txIndexBoxKey = wallet.getBoxInfo(network).txIndex.boxKey; + final networkId = ref.watch(networkIdProvider); + final repository = ref.watch(boxInfoRepositoryProvider); + final boxInfo = repository.getBoxInfo(wallet.wid, networkId); + final txIndexBoxKey = boxInfo.txIndex.boxKey; return db.getIndexedTypedBox(txIndexBoxKey); }); @@ -157,6 +155,13 @@ final txNotifierForWalletProvider = ChangeNotifierProvider.autoDispose } }); + // Update pending transactions + ref.listen(pendingTxsProvider, (_, next) { + if (next.asData?.value case final pendingTxs?) { + notifier.updatePendingTxs(pendingTxs); + } + }); + ref.onDispose(() { notifier.disposed = true; }); @@ -171,9 +176,13 @@ final txNotifierProvider = Provider.autoDispose((ref) { }); final txConfirmationStatusProvider = - Provider.autoDispose.family((ref, tx) { + Provider.autoDispose.family((ref, txItem) { final blueScore = ref.watch(virtualSelectedParentBlueScoreProvider); + final tx = txItem.tx; + if (txItem.pending) { + return TxState.pending(); + } final kNoConfirmations = BigInt.from(100); final txBlueScore = tx.apiTx.acceptingBlockBlueScore; diff --git a/lib/transactions/transaction_state_tag.dart b/lib/transactions/transaction_state_tag.dart index ca4667ad..786d5e7d 100644 --- a/lib/transactions/transaction_state_tag.dart +++ b/lib/transactions/transaction_state_tag.dart @@ -30,6 +30,10 @@ class TransactionStateTag extends ConsumerWidget { l10n.unknown, style: styles.tagText, ), + pending: () => Text( + l10n.txInMempool, + style: styles.tagText, + ), unconfirmed: () => Text( l10n.notAccepted, style: styles.tagText, diff --git a/lib/transactions/transaction_types.dart b/lib/transactions/transaction_types.dart index 22d8341b..6c96242d 100644 --- a/lib/transactions/transaction_types.dart +++ b/lib/transactions/transaction_types.dart @@ -1,6 +1,6 @@ import 'package:freezed_annotation/freezed_annotation.dart'; -import '../karlsen/types.dart'; +import '../karlsen/karlsen.dart'; part 'transaction_types.freezed.dart'; part 'transaction_types.g.dart'; @@ -38,10 +38,35 @@ class Tx with _$Tx { String get id => apiTx.transactionId; + Amount get amount => Amount.raw(BigInt.from(apiTx.outputs.first.amount)); + + ({Amount baseFee, Amount priorityFee}) get fees { + final baseFee = kFeePerInput * BigInt.from(apiTx.inputs.length); + final totalInput = inputData.fold( + BigInt.zero, + (total, input) => total + BigInt.from(input?.amount ?? 0), + ); + final totalOutput = apiTx.outputs.fold( + BigInt.zero, + (total, output) => total + BigInt.from(output.amount), + ); + final totalFee = totalInput - totalOutput; + + var priorityFee = totalFee - baseFee; + if (priorityFee < BigInt.zero) { + priorityFee = BigInt.zero; + } + + return ( + baseFee: Amount.raw(baseFee), + priorityFee: Amount.raw(priorityFee), + ); + } + factory Tx.fromJson(Map json) => _$TxFromJson(json); } -enum TxItemType { send, receive, compound } +enum TxItemType { send, receive, compound, thisWallet } @Freezed(equal: false) class TxItem with _$TxItem { @@ -50,6 +75,7 @@ class TxItem with _$TxItem { required Tx tx, required int outputIndex, required TxItemType type, + @Default(false) bool pending, }) = _TxItem; @override @@ -70,10 +96,12 @@ class TxItem with _$TxItem { @freezed class TxListItem with _$TxListItem { TxListItem._(); + factory TxListItem.pendingTxItem(TxItem tx) = _TxListItemPendingTxItem; factory TxListItem.txItem(TxItem tx) = _TxListItemTxItem; factory TxListItem.loader(bool hasMore) = _TxListItemLoader; late final id = when( + pendingTxItem: (item) => '${item.tx.id}:${item.outputIndex}:${item.type}', txItem: (item) => '${item.tx.id}:${item.outputIndex}:${item.type}', loader: (_) => 'loader', ); @@ -82,6 +110,7 @@ class TxListItem with _$TxListItem { @freezed class TxState with _$TxState { const factory TxState.unknown() = _TxStateUnknown; + const factory TxState.pending() = _TxStatePending; const factory TxState.unconfirmed() = _TxStateUnconfirmed; const factory TxState.confirming(BigInt confirmations) = _TxStateConfirming; const factory TxState.confirmed() = _TxStateConfirmed; diff --git a/lib/transactions/transaction_types.freezed.dart b/lib/transactions/transaction_types.freezed.dart index 0d2aa8d9..9292688b 100644 --- a/lib/transactions/transaction_types.freezed.dart +++ b/lib/transactions/transaction_types.freezed.dart @@ -518,6 +518,7 @@ mixin _$TxItem { Tx get tx => throw _privateConstructorUsedError; int get outputIndex => throw _privateConstructorUsedError; TxItemType get type => throw _privateConstructorUsedError; + bool get pending => throw _privateConstructorUsedError; @JsonKey(ignore: true) $TxItemCopyWith get copyWith => throw _privateConstructorUsedError; @@ -528,7 +529,7 @@ abstract class $TxItemCopyWith<$Res> { factory $TxItemCopyWith(TxItem value, $Res Function(TxItem) then) = _$TxItemCopyWithImpl<$Res, TxItem>; @useResult - $Res call({Tx tx, int outputIndex, TxItemType type}); + $Res call({Tx tx, int outputIndex, TxItemType type, bool pending}); $TxCopyWith<$Res> get tx; } @@ -549,6 +550,7 @@ class _$TxItemCopyWithImpl<$Res, $Val extends TxItem> Object? tx = null, Object? outputIndex = null, Object? type = null, + Object? pending = null, }) { return _then(_value.copyWith( tx: null == tx @@ -563,6 +565,10 @@ class _$TxItemCopyWithImpl<$Res, $Val extends TxItem> ? _value.type : type // ignore: cast_nullable_to_non_nullable as TxItemType, + pending: null == pending + ? _value.pending + : pending // ignore: cast_nullable_to_non_nullable + as bool, ) as $Val); } @@ -582,7 +588,7 @@ abstract class _$$TxItemImplCopyWith<$Res> implements $TxItemCopyWith<$Res> { __$$TxItemImplCopyWithImpl<$Res>; @override @useResult - $Res call({Tx tx, int outputIndex, TxItemType type}); + $Res call({Tx tx, int outputIndex, TxItemType type, bool pending}); @override $TxCopyWith<$Res> get tx; @@ -602,6 +608,7 @@ class __$$TxItemImplCopyWithImpl<$Res> Object? tx = null, Object? outputIndex = null, Object? type = null, + Object? pending = null, }) { return _then(_$TxItemImpl( tx: null == tx @@ -616,6 +623,10 @@ class __$$TxItemImplCopyWithImpl<$Res> ? _value.type : type // ignore: cast_nullable_to_non_nullable as TxItemType, + pending: null == pending + ? _value.pending + : pending // ignore: cast_nullable_to_non_nullable + as bool, )); } } @@ -624,7 +635,10 @@ class __$$TxItemImplCopyWithImpl<$Res> class _$TxItemImpl extends _TxItem { const _$TxItemImpl( - {required this.tx, required this.outputIndex, required this.type}) + {required this.tx, + required this.outputIndex, + required this.type, + this.pending = false}) : super._(); @override @@ -633,10 +647,13 @@ class _$TxItemImpl extends _TxItem { final int outputIndex; @override final TxItemType type; + @override + @JsonKey() + final bool pending; @override String toString() { - return 'TxItem(tx: $tx, outputIndex: $outputIndex, type: $type)'; + return 'TxItem(tx: $tx, outputIndex: $outputIndex, type: $type, pending: $pending)'; } @JsonKey(ignore: true) @@ -650,7 +667,8 @@ abstract class _TxItem extends TxItem { const factory _TxItem( {required final Tx tx, required final int outputIndex, - required final TxItemType type}) = _$TxItemImpl; + required final TxItemType type, + final bool pending}) = _$TxItemImpl; const _TxItem._() : super._(); @override @@ -660,6 +678,8 @@ abstract class _TxItem extends TxItem { @override TxItemType get type; @override + bool get pending; + @override @JsonKey(ignore: true) _$$TxItemImplCopyWith<_$TxItemImpl> get copyWith => throw _privateConstructorUsedError; @@ -669,18 +689,21 @@ abstract class _TxItem extends TxItem { mixin _$TxListItem { @optionalTypeArgs TResult when({ + required TResult Function(TxItem tx) pendingTxItem, required TResult Function(TxItem tx) txItem, required TResult Function(bool hasMore) loader, }) => throw _privateConstructorUsedError; @optionalTypeArgs TResult? whenOrNull({ + TResult? Function(TxItem tx)? pendingTxItem, TResult? Function(TxItem tx)? txItem, TResult? Function(bool hasMore)? loader, }) => throw _privateConstructorUsedError; @optionalTypeArgs TResult maybeWhen({ + TResult Function(TxItem tx)? pendingTxItem, TResult Function(TxItem tx)? txItem, TResult Function(bool hasMore)? loader, required TResult orElse(), @@ -688,18 +711,21 @@ mixin _$TxListItem { throw _privateConstructorUsedError; @optionalTypeArgs TResult map({ + required TResult Function(_TxListItemPendingTxItem value) pendingTxItem, required TResult Function(_TxListItemTxItem value) txItem, required TResult Function(_TxListItemLoader value) loader, }) => throw _privateConstructorUsedError; @optionalTypeArgs TResult? mapOrNull({ + TResult? Function(_TxListItemPendingTxItem value)? pendingTxItem, TResult? Function(_TxListItemTxItem value)? txItem, TResult? Function(_TxListItemLoader value)? loader, }) => throw _privateConstructorUsedError; @optionalTypeArgs TResult maybeMap({ + TResult Function(_TxListItemPendingTxItem value)? pendingTxItem, TResult Function(_TxListItemTxItem value)? txItem, TResult Function(_TxListItemLoader value)? loader, required TResult orElse(), @@ -725,6 +751,160 @@ class _$TxListItemCopyWithImpl<$Res, $Val extends TxListItem> final $Res Function($Val) _then; } +/// @nodoc +abstract class _$$TxListItemPendingTxItemImplCopyWith<$Res> { + factory _$$TxListItemPendingTxItemImplCopyWith( + _$TxListItemPendingTxItemImpl value, + $Res Function(_$TxListItemPendingTxItemImpl) then) = + __$$TxListItemPendingTxItemImplCopyWithImpl<$Res>; + @useResult + $Res call({TxItem tx}); + + $TxItemCopyWith<$Res> get tx; +} + +/// @nodoc +class __$$TxListItemPendingTxItemImplCopyWithImpl<$Res> + extends _$TxListItemCopyWithImpl<$Res, _$TxListItemPendingTxItemImpl> + implements _$$TxListItemPendingTxItemImplCopyWith<$Res> { + __$$TxListItemPendingTxItemImplCopyWithImpl( + _$TxListItemPendingTxItemImpl _value, + $Res Function(_$TxListItemPendingTxItemImpl) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? tx = null, + }) { + return _then(_$TxListItemPendingTxItemImpl( + null == tx + ? _value.tx + : tx // ignore: cast_nullable_to_non_nullable + as TxItem, + )); + } + + @override + @pragma('vm:prefer-inline') + $TxItemCopyWith<$Res> get tx { + return $TxItemCopyWith<$Res>(_value.tx, (value) { + return _then(_value.copyWith(tx: value)); + }); + } +} + +/// @nodoc + +class _$TxListItemPendingTxItemImpl extends _TxListItemPendingTxItem { + _$TxListItemPendingTxItemImpl(this.tx) : super._(); + + @override + final TxItem tx; + + @override + String toString() { + return 'TxListItem.pendingTxItem(tx: $tx)'; + } + + @override + bool operator ==(Object other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$TxListItemPendingTxItemImpl && + (identical(other.tx, tx) || other.tx == tx)); + } + + @override + int get hashCode => Object.hash(runtimeType, tx); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$TxListItemPendingTxItemImplCopyWith<_$TxListItemPendingTxItemImpl> + get copyWith => __$$TxListItemPendingTxItemImplCopyWithImpl< + _$TxListItemPendingTxItemImpl>(this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function(TxItem tx) pendingTxItem, + required TResult Function(TxItem tx) txItem, + required TResult Function(bool hasMore) loader, + }) { + return pendingTxItem(tx); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function(TxItem tx)? pendingTxItem, + TResult? Function(TxItem tx)? txItem, + TResult? Function(bool hasMore)? loader, + }) { + return pendingTxItem?.call(tx); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function(TxItem tx)? pendingTxItem, + TResult Function(TxItem tx)? txItem, + TResult Function(bool hasMore)? loader, + required TResult orElse(), + }) { + if (pendingTxItem != null) { + return pendingTxItem(tx); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(_TxListItemPendingTxItem value) pendingTxItem, + required TResult Function(_TxListItemTxItem value) txItem, + required TResult Function(_TxListItemLoader value) loader, + }) { + return pendingTxItem(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_TxListItemPendingTxItem value)? pendingTxItem, + TResult? Function(_TxListItemTxItem value)? txItem, + TResult? Function(_TxListItemLoader value)? loader, + }) { + return pendingTxItem?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_TxListItemPendingTxItem value)? pendingTxItem, + TResult Function(_TxListItemTxItem value)? txItem, + TResult Function(_TxListItemLoader value)? loader, + required TResult orElse(), + }) { + if (pendingTxItem != null) { + return pendingTxItem(this); + } + return orElse(); + } +} + +abstract class _TxListItemPendingTxItem extends TxListItem { + factory _TxListItemPendingTxItem(final TxItem tx) = + _$TxListItemPendingTxItemImpl; + _TxListItemPendingTxItem._() : super._(); + + TxItem get tx; + @JsonKey(ignore: true) + _$$TxListItemPendingTxItemImplCopyWith<_$TxListItemPendingTxItemImpl> + get copyWith => throw _privateConstructorUsedError; +} + /// @nodoc abstract class _$$TxListItemTxItemImplCopyWith<$Res> { factory _$$TxListItemTxItemImplCopyWith(_$TxListItemTxItemImpl value, @@ -800,6 +980,7 @@ class _$TxListItemTxItemImpl extends _TxListItemTxItem { @override @optionalTypeArgs TResult when({ + required TResult Function(TxItem tx) pendingTxItem, required TResult Function(TxItem tx) txItem, required TResult Function(bool hasMore) loader, }) { @@ -809,6 +990,7 @@ class _$TxListItemTxItemImpl extends _TxListItemTxItem { @override @optionalTypeArgs TResult? whenOrNull({ + TResult? Function(TxItem tx)? pendingTxItem, TResult? Function(TxItem tx)? txItem, TResult? Function(bool hasMore)? loader, }) { @@ -818,6 +1000,7 @@ class _$TxListItemTxItemImpl extends _TxListItemTxItem { @override @optionalTypeArgs TResult maybeWhen({ + TResult Function(TxItem tx)? pendingTxItem, TResult Function(TxItem tx)? txItem, TResult Function(bool hasMore)? loader, required TResult orElse(), @@ -831,6 +1014,7 @@ class _$TxListItemTxItemImpl extends _TxListItemTxItem { @override @optionalTypeArgs TResult map({ + required TResult Function(_TxListItemPendingTxItem value) pendingTxItem, required TResult Function(_TxListItemTxItem value) txItem, required TResult Function(_TxListItemLoader value) loader, }) { @@ -840,6 +1024,7 @@ class _$TxListItemTxItemImpl extends _TxListItemTxItem { @override @optionalTypeArgs TResult? mapOrNull({ + TResult? Function(_TxListItemPendingTxItem value)? pendingTxItem, TResult? Function(_TxListItemTxItem value)? txItem, TResult? Function(_TxListItemLoader value)? loader, }) { @@ -849,6 +1034,7 @@ class _$TxListItemTxItemImpl extends _TxListItemTxItem { @override @optionalTypeArgs TResult maybeMap({ + TResult Function(_TxListItemPendingTxItem value)? pendingTxItem, TResult Function(_TxListItemTxItem value)? txItem, TResult Function(_TxListItemLoader value)? loader, required TResult orElse(), @@ -935,6 +1121,7 @@ class _$TxListItemLoaderImpl extends _TxListItemLoader { @override @optionalTypeArgs TResult when({ + required TResult Function(TxItem tx) pendingTxItem, required TResult Function(TxItem tx) txItem, required TResult Function(bool hasMore) loader, }) { @@ -944,6 +1131,7 @@ class _$TxListItemLoaderImpl extends _TxListItemLoader { @override @optionalTypeArgs TResult? whenOrNull({ + TResult? Function(TxItem tx)? pendingTxItem, TResult? Function(TxItem tx)? txItem, TResult? Function(bool hasMore)? loader, }) { @@ -953,6 +1141,7 @@ class _$TxListItemLoaderImpl extends _TxListItemLoader { @override @optionalTypeArgs TResult maybeWhen({ + TResult Function(TxItem tx)? pendingTxItem, TResult Function(TxItem tx)? txItem, TResult Function(bool hasMore)? loader, required TResult orElse(), @@ -966,6 +1155,7 @@ class _$TxListItemLoaderImpl extends _TxListItemLoader { @override @optionalTypeArgs TResult map({ + required TResult Function(_TxListItemPendingTxItem value) pendingTxItem, required TResult Function(_TxListItemTxItem value) txItem, required TResult Function(_TxListItemLoader value) loader, }) { @@ -975,6 +1165,7 @@ class _$TxListItemLoaderImpl extends _TxListItemLoader { @override @optionalTypeArgs TResult? mapOrNull({ + TResult? Function(_TxListItemPendingTxItem value)? pendingTxItem, TResult? Function(_TxListItemTxItem value)? txItem, TResult? Function(_TxListItemLoader value)? loader, }) { @@ -984,6 +1175,7 @@ class _$TxListItemLoaderImpl extends _TxListItemLoader { @override @optionalTypeArgs TResult maybeMap({ + TResult Function(_TxListItemPendingTxItem value)? pendingTxItem, TResult Function(_TxListItemTxItem value)? txItem, TResult Function(_TxListItemLoader value)? loader, required TResult orElse(), @@ -1010,6 +1202,7 @@ mixin _$TxState { @optionalTypeArgs TResult when({ required TResult Function() unknown, + required TResult Function() pending, required TResult Function() unconfirmed, required TResult Function(BigInt confirmations) confirming, required TResult Function() confirmed, @@ -1018,6 +1211,7 @@ mixin _$TxState { @optionalTypeArgs TResult? whenOrNull({ TResult? Function()? unknown, + TResult? Function()? pending, TResult? Function()? unconfirmed, TResult? Function(BigInt confirmations)? confirming, TResult? Function()? confirmed, @@ -1026,6 +1220,7 @@ mixin _$TxState { @optionalTypeArgs TResult maybeWhen({ TResult Function()? unknown, + TResult Function()? pending, TResult Function()? unconfirmed, TResult Function(BigInt confirmations)? confirming, TResult Function()? confirmed, @@ -1035,6 +1230,7 @@ mixin _$TxState { @optionalTypeArgs TResult map({ required TResult Function(_TxStateUnknown value) unknown, + required TResult Function(_TxStatePending value) pending, required TResult Function(_TxStateUnconfirmed value) unconfirmed, required TResult Function(_TxStateConfirming value) confirming, required TResult Function(_TxStateConfirmed value) confirmed, @@ -1043,6 +1239,7 @@ mixin _$TxState { @optionalTypeArgs TResult? mapOrNull({ TResult? Function(_TxStateUnknown value)? unknown, + TResult? Function(_TxStatePending value)? pending, TResult? Function(_TxStateUnconfirmed value)? unconfirmed, TResult? Function(_TxStateConfirming value)? confirming, TResult? Function(_TxStateConfirmed value)? confirmed, @@ -1051,6 +1248,7 @@ mixin _$TxState { @optionalTypeArgs TResult maybeMap({ TResult Function(_TxStateUnknown value)? unknown, + TResult Function(_TxStatePending value)? pending, TResult Function(_TxStateUnconfirmed value)? unconfirmed, TResult Function(_TxStateConfirming value)? confirming, TResult Function(_TxStateConfirmed value)? confirmed, @@ -1115,6 +1313,7 @@ class _$TxStateUnknownImpl implements _TxStateUnknown { @optionalTypeArgs TResult when({ required TResult Function() unknown, + required TResult Function() pending, required TResult Function() unconfirmed, required TResult Function(BigInt confirmations) confirming, required TResult Function() confirmed, @@ -1126,6 +1325,7 @@ class _$TxStateUnknownImpl implements _TxStateUnknown { @optionalTypeArgs TResult? whenOrNull({ TResult? Function()? unknown, + TResult? Function()? pending, TResult? Function()? unconfirmed, TResult? Function(BigInt confirmations)? confirming, TResult? Function()? confirmed, @@ -1137,6 +1337,7 @@ class _$TxStateUnknownImpl implements _TxStateUnknown { @optionalTypeArgs TResult maybeWhen({ TResult Function()? unknown, + TResult Function()? pending, TResult Function()? unconfirmed, TResult Function(BigInt confirmations)? confirming, TResult Function()? confirmed, @@ -1152,6 +1353,7 @@ class _$TxStateUnknownImpl implements _TxStateUnknown { @optionalTypeArgs TResult map({ required TResult Function(_TxStateUnknown value) unknown, + required TResult Function(_TxStatePending value) pending, required TResult Function(_TxStateUnconfirmed value) unconfirmed, required TResult Function(_TxStateConfirming value) confirming, required TResult Function(_TxStateConfirmed value) confirmed, @@ -1163,6 +1365,7 @@ class _$TxStateUnknownImpl implements _TxStateUnknown { @optionalTypeArgs TResult? mapOrNull({ TResult? Function(_TxStateUnknown value)? unknown, + TResult? Function(_TxStatePending value)? pending, TResult? Function(_TxStateUnconfirmed value)? unconfirmed, TResult? Function(_TxStateConfirming value)? confirming, TResult? Function(_TxStateConfirmed value)? confirmed, @@ -1174,6 +1377,7 @@ class _$TxStateUnknownImpl implements _TxStateUnknown { @optionalTypeArgs TResult maybeMap({ TResult Function(_TxStateUnknown value)? unknown, + TResult Function(_TxStatePending value)? pending, TResult Function(_TxStateUnconfirmed value)? unconfirmed, TResult Function(_TxStateConfirming value)? confirming, TResult Function(_TxStateConfirmed value)? confirmed, @@ -1190,6 +1394,126 @@ abstract class _TxStateUnknown implements TxState { const factory _TxStateUnknown() = _$TxStateUnknownImpl; } +/// @nodoc +abstract class _$$TxStatePendingImplCopyWith<$Res> { + factory _$$TxStatePendingImplCopyWith(_$TxStatePendingImpl value, + $Res Function(_$TxStatePendingImpl) then) = + __$$TxStatePendingImplCopyWithImpl<$Res>; +} + +/// @nodoc +class __$$TxStatePendingImplCopyWithImpl<$Res> + extends _$TxStateCopyWithImpl<$Res, _$TxStatePendingImpl> + implements _$$TxStatePendingImplCopyWith<$Res> { + __$$TxStatePendingImplCopyWithImpl( + _$TxStatePendingImpl _value, $Res Function(_$TxStatePendingImpl) _then) + : super(_value, _then); +} + +/// @nodoc + +class _$TxStatePendingImpl implements _TxStatePending { + const _$TxStatePendingImpl(); + + @override + String toString() { + return 'TxState.pending()'; + } + + @override + bool operator ==(Object other) { + return identical(this, other) || + (other.runtimeType == runtimeType && other is _$TxStatePendingImpl); + } + + @override + int get hashCode => runtimeType.hashCode; + + @override + @optionalTypeArgs + TResult when({ + required TResult Function() unknown, + required TResult Function() pending, + required TResult Function() unconfirmed, + required TResult Function(BigInt confirmations) confirming, + required TResult Function() confirmed, + }) { + return pending(); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? unknown, + TResult? Function()? pending, + TResult? Function()? unconfirmed, + TResult? Function(BigInt confirmations)? confirming, + TResult? Function()? confirmed, + }) { + return pending?.call(); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? unknown, + TResult Function()? pending, + TResult Function()? unconfirmed, + TResult Function(BigInt confirmations)? confirming, + TResult Function()? confirmed, + required TResult orElse(), + }) { + if (pending != null) { + return pending(); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(_TxStateUnknown value) unknown, + required TResult Function(_TxStatePending value) pending, + required TResult Function(_TxStateUnconfirmed value) unconfirmed, + required TResult Function(_TxStateConfirming value) confirming, + required TResult Function(_TxStateConfirmed value) confirmed, + }) { + return pending(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_TxStateUnknown value)? unknown, + TResult? Function(_TxStatePending value)? pending, + TResult? Function(_TxStateUnconfirmed value)? unconfirmed, + TResult? Function(_TxStateConfirming value)? confirming, + TResult? Function(_TxStateConfirmed value)? confirmed, + }) { + return pending?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_TxStateUnknown value)? unknown, + TResult Function(_TxStatePending value)? pending, + TResult Function(_TxStateUnconfirmed value)? unconfirmed, + TResult Function(_TxStateConfirming value)? confirming, + TResult Function(_TxStateConfirmed value)? confirmed, + required TResult orElse(), + }) { + if (pending != null) { + return pending(this); + } + return orElse(); + } +} + +abstract class _TxStatePending implements TxState { + const factory _TxStatePending() = _$TxStatePendingImpl; +} + /// @nodoc abstract class _$$TxStateUnconfirmedImplCopyWith<$Res> { factory _$$TxStateUnconfirmedImplCopyWith(_$TxStateUnconfirmedImpl value, @@ -1229,6 +1553,7 @@ class _$TxStateUnconfirmedImpl implements _TxStateUnconfirmed { @optionalTypeArgs TResult when({ required TResult Function() unknown, + required TResult Function() pending, required TResult Function() unconfirmed, required TResult Function(BigInt confirmations) confirming, required TResult Function() confirmed, @@ -1240,6 +1565,7 @@ class _$TxStateUnconfirmedImpl implements _TxStateUnconfirmed { @optionalTypeArgs TResult? whenOrNull({ TResult? Function()? unknown, + TResult? Function()? pending, TResult? Function()? unconfirmed, TResult? Function(BigInt confirmations)? confirming, TResult? Function()? confirmed, @@ -1251,6 +1577,7 @@ class _$TxStateUnconfirmedImpl implements _TxStateUnconfirmed { @optionalTypeArgs TResult maybeWhen({ TResult Function()? unknown, + TResult Function()? pending, TResult Function()? unconfirmed, TResult Function(BigInt confirmations)? confirming, TResult Function()? confirmed, @@ -1266,6 +1593,7 @@ class _$TxStateUnconfirmedImpl implements _TxStateUnconfirmed { @optionalTypeArgs TResult map({ required TResult Function(_TxStateUnknown value) unknown, + required TResult Function(_TxStatePending value) pending, required TResult Function(_TxStateUnconfirmed value) unconfirmed, required TResult Function(_TxStateConfirming value) confirming, required TResult Function(_TxStateConfirmed value) confirmed, @@ -1277,6 +1605,7 @@ class _$TxStateUnconfirmedImpl implements _TxStateUnconfirmed { @optionalTypeArgs TResult? mapOrNull({ TResult? Function(_TxStateUnknown value)? unknown, + TResult? Function(_TxStatePending value)? pending, TResult? Function(_TxStateUnconfirmed value)? unconfirmed, TResult? Function(_TxStateConfirming value)? confirming, TResult? Function(_TxStateConfirmed value)? confirmed, @@ -1288,6 +1617,7 @@ class _$TxStateUnconfirmedImpl implements _TxStateUnconfirmed { @optionalTypeArgs TResult maybeMap({ TResult Function(_TxStateUnknown value)? unknown, + TResult Function(_TxStatePending value)? pending, TResult Function(_TxStateUnconfirmed value)? unconfirmed, TResult Function(_TxStateConfirming value)? confirming, TResult Function(_TxStateConfirmed value)? confirmed, @@ -1371,6 +1701,7 @@ class _$TxStateConfirmingImpl implements _TxStateConfirming { @optionalTypeArgs TResult when({ required TResult Function() unknown, + required TResult Function() pending, required TResult Function() unconfirmed, required TResult Function(BigInt confirmations) confirming, required TResult Function() confirmed, @@ -1382,6 +1713,7 @@ class _$TxStateConfirmingImpl implements _TxStateConfirming { @optionalTypeArgs TResult? whenOrNull({ TResult? Function()? unknown, + TResult? Function()? pending, TResult? Function()? unconfirmed, TResult? Function(BigInt confirmations)? confirming, TResult? Function()? confirmed, @@ -1393,6 +1725,7 @@ class _$TxStateConfirmingImpl implements _TxStateConfirming { @optionalTypeArgs TResult maybeWhen({ TResult Function()? unknown, + TResult Function()? pending, TResult Function()? unconfirmed, TResult Function(BigInt confirmations)? confirming, TResult Function()? confirmed, @@ -1408,6 +1741,7 @@ class _$TxStateConfirmingImpl implements _TxStateConfirming { @optionalTypeArgs TResult map({ required TResult Function(_TxStateUnknown value) unknown, + required TResult Function(_TxStatePending value) pending, required TResult Function(_TxStateUnconfirmed value) unconfirmed, required TResult Function(_TxStateConfirming value) confirming, required TResult Function(_TxStateConfirmed value) confirmed, @@ -1419,6 +1753,7 @@ class _$TxStateConfirmingImpl implements _TxStateConfirming { @optionalTypeArgs TResult? mapOrNull({ TResult? Function(_TxStateUnknown value)? unknown, + TResult? Function(_TxStatePending value)? pending, TResult? Function(_TxStateUnconfirmed value)? unconfirmed, TResult? Function(_TxStateConfirming value)? confirming, TResult? Function(_TxStateConfirmed value)? confirmed, @@ -1430,6 +1765,7 @@ class _$TxStateConfirmingImpl implements _TxStateConfirming { @optionalTypeArgs TResult maybeMap({ TResult Function(_TxStateUnknown value)? unknown, + TResult Function(_TxStatePending value)? pending, TResult Function(_TxStateUnconfirmed value)? unconfirmed, TResult Function(_TxStateConfirming value)? confirming, TResult Function(_TxStateConfirmed value)? confirmed, @@ -1491,6 +1827,7 @@ class _$TxStateConfirmedImpl implements _TxStateConfirmed { @optionalTypeArgs TResult when({ required TResult Function() unknown, + required TResult Function() pending, required TResult Function() unconfirmed, required TResult Function(BigInt confirmations) confirming, required TResult Function() confirmed, @@ -1502,6 +1839,7 @@ class _$TxStateConfirmedImpl implements _TxStateConfirmed { @optionalTypeArgs TResult? whenOrNull({ TResult? Function()? unknown, + TResult? Function()? pending, TResult? Function()? unconfirmed, TResult? Function(BigInt confirmations)? confirming, TResult? Function()? confirmed, @@ -1513,6 +1851,7 @@ class _$TxStateConfirmedImpl implements _TxStateConfirmed { @optionalTypeArgs TResult maybeWhen({ TResult Function()? unknown, + TResult Function()? pending, TResult Function()? unconfirmed, TResult Function(BigInt confirmations)? confirming, TResult Function()? confirmed, @@ -1528,6 +1867,7 @@ class _$TxStateConfirmedImpl implements _TxStateConfirmed { @optionalTypeArgs TResult map({ required TResult Function(_TxStateUnknown value) unknown, + required TResult Function(_TxStatePending value) pending, required TResult Function(_TxStateUnconfirmed value) unconfirmed, required TResult Function(_TxStateConfirming value) confirming, required TResult Function(_TxStateConfirmed value) confirmed, @@ -1539,6 +1879,7 @@ class _$TxStateConfirmedImpl implements _TxStateConfirmed { @optionalTypeArgs TResult? mapOrNull({ TResult? Function(_TxStateUnknown value)? unknown, + TResult? Function(_TxStatePending value)? pending, TResult? Function(_TxStateUnconfirmed value)? unconfirmed, TResult? Function(_TxStateConfirming value)? confirming, TResult? Function(_TxStateConfirmed value)? confirmed, @@ -1550,6 +1891,7 @@ class _$TxStateConfirmedImpl implements _TxStateConfirmed { @optionalTypeArgs TResult maybeMap({ TResult Function(_TxStateUnknown value)? unknown, + TResult Function(_TxStatePending value)? pending, TResult Function(_TxStateUnconfirmed value)? unconfirmed, TResult Function(_TxStateConfirming value)? confirming, TResult Function(_TxStateConfirmed value)? confirmed, diff --git a/lib/transactions/transactions_widget.dart b/lib/transactions/transactions_widget.dart index f18db3cc..c5027f31 100644 --- a/lib/transactions/transactions_widget.dart +++ b/lib/transactions/transactions_widget.dart @@ -8,21 +8,21 @@ import 'package:lazy_load_scrollview/lazy_load_scrollview.dart'; import '../app_providers.dart'; import '../karlsen/karlsen.dart'; import '../l10n/l10n.dart'; +import '../settings/tx_settings.dart'; +import '../utxos/utxos_notifier.dart'; import '../wallet/wallet_types.dart'; +import '../wallet_address/wallet_address_notifier.dart'; import 'transaction_card.dart'; import 'transaction_empty_list.dart'; import 'transaction_types.dart'; -import 'tx_settings/tx_settings_providers.dart'; -import 'tx_settings/tx_settings_types.dart'; -final _txListItemsProvider = - Provider.autoDispose.family, WalletInfo>((ref, wallet) { - final addressNotifier = ref.watch(addressNotifierProvider.notifier); - final utxoNotifier = ref.watch(utxoNotifierProvider.notifier); - final txNotifier = ref.watch(txNotifierForWalletProvider(wallet)); - final txFilter = ref.watch(txFilterProvider); - - final txItems = txNotifier.loadedTxs.expand((tx) { +List _txListItemsFromTxs( + Iterable txs, { + required TxFilter txFilter, + required WalletAddressNotifier addressNotifier, + required UtxosNotifier utxoNotifier, +}) { + return txs.expand((tx) { if (txFilter == TxFilter.hideNotAcceptedCoinbase && tx.apiTx.inputs.isEmpty && !tx.apiTx.isAccepted) { @@ -66,6 +66,15 @@ final _txListItemsProvider = outputs.last == output) { continue; } + if (addressNotifier.containsAddress(address) && hasWalletInputs) { + final listItem = TxListItem.txItem(TxItem( + tx: tx, + outputIndex: output.index, + type: TxItemType.thisWallet, + )); + listItems.add(listItem); + continue; + } if (addressNotifier.containsAddress(address)) { final listItem = TxListItem.txItem(TxItem( tx: tx, @@ -85,17 +94,41 @@ final _txListItemsProvider = } return listItems; - }); + }).toList(growable: false); +} - return [...txItems, TxListItem.loader(txNotifier.hasMore)]; +final _txListItemsProvider = + Provider.autoDispose.family, WalletInfo>((ref, wallet) { + final addressNotifier = ref.watch(addressNotifierProvider.notifier); + final utxoNotifier = ref.watch(utxoNotifierProvider.notifier); + final txNotifier = ref.watch(txNotifierForWalletProvider(wallet)); + final txFilter = ref.watch(txFilterProvider); + + final pendingItems = _txListItemsFromTxs( + txNotifier.pendingTxs, + txFilter: txFilter, + addressNotifier: addressNotifier, + utxoNotifier: utxoNotifier, + ) + .map((item) => item.maybeWhen( + txItem: (txItem) => TxListItem.pendingTxItem( + txItem.copyWith(pending: true), + ), + orElse: () => item, + )) + .toList(growable: false); + + final txItems = _txListItemsFromTxs(txNotifier.loadedTxs, + txFilter: txFilter, + addressNotifier: addressNotifier, + utxoNotifier: utxoNotifier); + + return [...pendingItems, ...txItems, TxListItem.loader(txNotifier.hasMore)]; }); class TransactionsWidget extends ConsumerWidget { - final String tokenSymbol; - const TransactionsWidget({ Key? key, - this.tokenSymbol = 'KLS', }) : super(key: key); @override @@ -158,7 +191,7 @@ class TransactionsWidget extends ConsumerWidget { backgroundColor: theme.backgroundDark, onRefresh: refresh, child: !txNotifier.loading && items.length == 1 - ? TransactionEmptyList(tokenSymbol: tokenSymbol) + ? const TransactionEmptyList() : AutomaticAnimatedList( key: PageStorageKey(wallet), physics: AlwaysScrollableScrollPhysics(), @@ -169,6 +202,7 @@ class TransactionsWidget extends ConsumerWidget { items: items, itemBuilder: (context, item, animation) { final card = item.when( + pendingTxItem: (item) => TransactionCard(item: item), txItem: (item) => TransactionCard(item: item), loader: (hasMore) { if (!hasMore) return const SizedBox(); diff --git a/lib/transactions/tx_cache_service.dart b/lib/transactions/tx_cache_service.dart index f6d6d6fe..1f25def4 100644 --- a/lib/transactions/tx_cache_service.dart +++ b/lib/transactions/tx_cache_service.dart @@ -18,7 +18,7 @@ class TxCacheService { // A cache of transactions that are currently loaded in memory final memCache = {}; - late final KarlsenApiService api; + late KarlsenApiService api; final Logger log; int get txCount => _txIndex.length; @@ -99,7 +99,7 @@ class TxCacheService { return tx; } - Future> _txsForApiTxs(Iterable apiTxs) async { + Future> txsForApiTxs(Iterable apiTxs) async { await _cacheInputsFor(apiTxs); final txs = apiTxs.map(_txForApiTx); @@ -110,7 +110,7 @@ class TxCacheService { Future> cacheWalletTxs(Iterable apiTxs) async { memCache.addEntries(apiTxs.map((e) => MapEntry(e.transactionId, e))); - final txs = (await _txsForApiTxs(apiTxs)).toList(); + final txs = (await txsForApiTxs(apiTxs)).toList(); final txIndexes = txs.map( (tx) => TxIndex( @@ -163,9 +163,8 @@ class TxCacheService { int get _refreshTimestamp => DateTime.now().toUtc().millisecondsSinceEpoch; bool _needsRefresh(Tx tx) { - final isCoinbase = tx.apiTx.inputs.isEmpty; - final delta = Duration(seconds: isCoinbase ? 100 : 10).inMilliseconds; - final notFresh = _refreshTimestamp > tx.lastUpdate + 2000; + final delta = Duration(seconds: 100).inMilliseconds; + final notFresh = _refreshTimestamp > tx.lastUpdate + 3000; final needsRefresh = tx.lastUpdate < tx.apiTx.blockTime + delta; return notFresh && needsRefresh; } diff --git a/lib/transactions/tx_filter_dialog.dart b/lib/transactions/tx_filter_dialog.dart index 1dc01fa6..2ac6ba52 100644 --- a/lib/transactions/tx_filter_dialog.dart +++ b/lib/transactions/tx_filter_dialog.dart @@ -2,10 +2,10 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../app_providers.dart'; +import '../app_router.dart'; import '../l10n/l10n.dart'; +import '../settings/tx_settings.dart'; import '../widgets/app_simpledialog.dart'; -import 'tx_settings/tx_settings_providers.dart'; -import 'tx_settings/tx_settings_types.dart'; Future showTxFilterDialog(BuildContext context, WidgetRef ref) async { final selection = await showAppDialog( @@ -38,7 +38,10 @@ class TxFilterDialog extends ConsumerWidget { ), children: [ SimpleDialogOption( - onPressed: () => Navigator.pop(context, TxFilter.all), + onPressed: () => appRouter.pop( + context, + withResult: TxFilter.all, + ), child: Padding( padding: const EdgeInsets.symmetric(vertical: 8), child: Text( @@ -48,8 +51,10 @@ class TxFilterDialog extends ConsumerWidget { ), ), SimpleDialogOption( - onPressed: () => - Navigator.pop(context, TxFilter.hideNotAcceptedCoinbase), + onPressed: () => appRouter.pop( + context, + withResult: TxFilter.hideNotAcceptedCoinbase, + ), child: Padding( padding: const EdgeInsets.symmetric(vertical: 8), child: Text( diff --git a/lib/transactions/tx_filter_settings.dart b/lib/transactions/tx_filter_settings.dart index 0660d3ae..80d6de9f 100644 --- a/lib/transactions/tx_filter_settings.dart +++ b/lib/transactions/tx_filter_settings.dart @@ -2,10 +2,9 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../l10n/l10n.dart'; +import '../settings/tx_settings.dart'; import '../settings_drawer/double_line_item_two.dart'; import 'tx_filter_dialog.dart'; -import 'tx_settings/tx_settings_providers.dart'; -import 'tx_settings/tx_settings_types.dart'; class TxFilterSettings extends ConsumerWidget { const TxFilterSettings({super.key}); diff --git a/lib/tx_report/tx_report_dialog.dart b/lib/tx_report/tx_report_dialog.dart index d8985796..320ce547 100644 --- a/lib/tx_report/tx_report_dialog.dart +++ b/lib/tx_report/tx_report_dialog.dart @@ -10,6 +10,7 @@ import 'package:path_provider/path_provider.dart'; import 'package:share_plus/share_plus.dart'; import '../app_providers.dart'; +import '../app_router.dart'; import '../l10n/l10n.dart'; import '../util/ui_util.dart'; import '../widgets/app_simpledialog.dart'; @@ -42,6 +43,7 @@ class DownloadTxsDialog extends HookConsumerWidget { final txNotifier = ref.read(txNotifierProvider); final txNotes = ref.read(txNotesProvider); final addresses = ref.read(addressNotifierProvider); + final klsSymbol = ref.read(klsSymbolProvider); try { if (options.refreshTxs) { @@ -93,7 +95,7 @@ class DownloadTxsDialog extends HookConsumerWidget { return null; } - return getCsvForItem(item); + return getCsvForItem(item, klsSymbol); }) .whereNotNull() .toIList(); @@ -112,8 +114,7 @@ class DownloadTxsDialog extends HookConsumerWidget { Future downloadCsv() async { final exportTime = DateTime.now(); final format = DateFormat('yyyyMMdd_HHmmss'); - final fileName = - "karlsen_mobile_transactions_${format.format(exportTime)}.csv"; + final fileName = "karlsium_transactions_${format.format(exportTime)}.csv"; final baseDiractory = await getTemporaryDirectory(); final txFile = File('${baseDiractory.path}/$fileName'); await txFile.writeAsString(csv.value); @@ -157,7 +158,7 @@ class DownloadTxsDialog extends HookConsumerWidget { ), TextButton( style: styles.dialogButtonStyle, - onPressed: () => Navigator.of(context).pop(), + onPressed: () => appRouter.pop(context), child: Text( l10n.cancel.toUpperCase(), style: styles.textStyleDialogOptions, diff --git a/lib/tx_report/tx_report_sheet.dart b/lib/tx_report/tx_report_sheet.dart index 8ae6bc36..f6d22d7c 100644 --- a/lib/tx_report/tx_report_sheet.dart +++ b/lib/tx_report/tx_report_sheet.dart @@ -3,6 +3,7 @@ import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import '../app_providers.dart'; +import '../app_router.dart'; import '../l10n/l10n.dart'; import '../widgets/app_simpledialog.dart'; import '../widgets/buttons.dart'; @@ -92,7 +93,7 @@ class TxReportSheet extends HookConsumerWidget { const SizedBox(height: 16), PrimaryOutlineButton( title: l10n.close, - onPressed: () => Navigator.pop(context), + onPressed: () => appRouter.pop(context), ), ], ), diff --git a/lib/tx_report/tx_report_util.dart b/lib/tx_report/tx_report_util.dart index 631c2eb1..c36288ab 100644 --- a/lib/tx_report/tx_report_util.dart +++ b/lib/tx_report/tx_report_util.dart @@ -27,7 +27,7 @@ String getCsvHeader(AppLocalizations l10n) { return header; } -String getCsvForItem(TxReportItem item) { +String getCsvForItem(TxReportItem item, String klsSymbol) { final txDate = DateTime.fromMillisecondsSinceEpoch(item.timestamp); final formater = DateFormat('yyyy-MM-dd HH:mm:ss'); final date = formater.format(txDate); @@ -35,11 +35,11 @@ String getCsvForItem(TxReportItem item) { final line = [ date, item.sendAmount, - 'KLS', + klsSymbol, item.receiveAmount, - 'KLS', + klsSymbol, item.fee, - 'KLS', + klsSymbol, item.label, item.description, item.txHash, diff --git a/lib/util/auth_util.dart b/lib/util/auth_util.dart index a43ad6a9..2d0f7ee7 100644 --- a/lib/util/auth_util.dart +++ b/lib/util/auth_util.dart @@ -1,11 +1,13 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; -import '../core/core_providers.dart'; +import '../app_providers.dart'; +import '../app_router.dart'; import '../l10n/l10n.dart'; -import '../screens/password_lock_screen.dart'; +import '../screens/password_lock_page.dart'; import '../settings/authentication_method.dart'; import '../widgets/pin_screen.dart'; +import 'routes.dart'; class AuthUtil { final Ref ref; @@ -20,11 +22,12 @@ class AuthUtil { final sharedPrefsUtil = ref.read(sharedPrefsUtilProvider); final biometricUtil = ref.read(biometricUtilProvider); - final authMethod = await sharedPrefsUtil.getAuthMethod(); + final authMethod = sharedPrefsUtil.getAuthMethod(); final hasBiometrics = await biometricUtil.hasBiometrics(); if (authMethod.method == AuthMethod.BIOMETRICS && hasBiometrics) { try { + ref.read(privacyOverlayDisabledProvider.notifier).state = true; final authenticated = await biometricUtil.authenticateWithBiometrics(biometricsMessage); if (authenticated) { @@ -37,42 +40,92 @@ class AuthUtil { final logger = ref.read(loggerProvider); logger.e('Failed to authenticate with biometrics', error: e, stackTrace: st); - return authenticateWithPin(context, pinMessage); + return authenticateWithPin(context, description: pinMessage); + } finally { + Future.delayed(Duration(milliseconds: 200), () { + ref.read(privacyOverlayDisabledProvider.notifier).state = false; + }); } } - return authenticateWithPin(context, pinMessage); + return authenticateWithPin(context, description: pinMessage); } - Future authenticateWithPin(BuildContext context, String message) async { + Future authenticateWithPin( + BuildContext context, { + required String description, + bool useTransition = false, + }) async { + final l10n = l10nOf(context); String? expectedPin = await ref.read(vaultProvider).getPin(); - bool? auth = await Navigator.of(context).push( - MaterialPageRoute(builder: (context) { - final l10n = l10nOf(context); - return PinScreen( - PinOverlayType.ENTER_PIN, - expectedPin: expectedPin, - description: message, - l10n: l10n, - ); - }), + final pinScreen = PinScreen( + PinOverlayType.ENTER_PIN, + expectedPin: expectedPin, + description: description, + l10n: l10n, ); + + final route = useTransition + ? MaterialPageRoute(builder: (_) => pinScreen) + : NoTransitionRoute(builder: (_) => pinScreen); + + final auth = await appRouter.push(context, route); await Future.delayed(const Duration(milliseconds: 200)); return auth == true; } Future authenticateWithPassword( - BuildContext context, - Future Function(String password) validator, - ) async { - final auth = await Navigator.of(context).push( - MaterialPageRoute(builder: (context) { - return PasswordLockScreen(validator: validator); - }), + BuildContext context, { + required Future Function(String password) validator, + }) async { + final auth = await appRouter.push( + context, + MaterialPageRoute( + builder: (context) => PasswordLockPage( + canCancel: true, + validator: validator, + ), + ), ); await Future.delayed(const Duration(milliseconds: 200)); return auth == true; } + + Future?> getMnemonic(BuildContext context) async { + final l10n = l10nOf(context); + + final walletAuth = ref.read(walletAuthProvider.notifier); + + if (walletAuth.walletIsEncrypted) { + List? mnemonic = null; + await authenticateWithPassword(context, validator: (password) async { + try { + mnemonic = await walletAuth.getMnemonic(password: password); + return true; + } catch (e) { + return false; + } + }); + + return mnemonic; + } else { + final auth = await authenticate( + context, + l10n.pinSeedBackup, + l10n.fingerprintSeedBackup, + ); + + if (auth) { + try { + final mnemonic = await walletAuth.getMnemonic(); + return mnemonic; + } catch (_) { + return []; + } + } + return null; + } + } } diff --git a/lib/util/biometrics.dart b/lib/util/biometrics.dart index b1ecf71a..db53239f 100644 --- a/lib/util/biometrics.dart +++ b/lib/util/biometrics.dart @@ -1,18 +1,15 @@ import 'package:local_auth/local_auth.dart'; -import 'package:logger/logger.dart'; import 'config.dart'; class BiometricUtil { - final Logger logger; - - const BiometricUtil(this.logger); + final localAuth = LocalAuthentication(); + BiometricUtil(); Future hasBiometrics() async { if (!kCheckBiometrics) { return false; } - final localAuth = LocalAuthentication(); final canCheck = await localAuth.canCheckBiometrics; if (canCheck) { final availableBiometrics = await localAuth.getAvailableBiometrics(); @@ -30,7 +27,6 @@ class BiometricUtil { throw Exception('Missing biometrics'); } - final localAuth = LocalAuthentication(); return localAuth.authenticate( localizedReason: message, options: AuthenticationOptions( diff --git a/lib/util/karlsen_util.dart b/lib/util/encryption_util.dart similarity index 65% rename from lib/util/karlsen_util.dart rename to lib/util/encryption_util.dart index 14694b4b..5a2b7402 100644 --- a/lib/util/karlsen_util.dart +++ b/lib/util/encryption_util.dart @@ -1,18 +1,9 @@ import 'package:flutter/foundation.dart'; import '../encrypt/crypter.dart'; -import '../karlsen/transaction/transaction_util.dart'; -import '../utils.dart'; - -class KarlsenUtil { - const KarlsenUtil(); - - static const seedLength = 128; - - static bool isValidSeed(String seed) { - return isHex(seed) && seed.length == seedLength; - } +import '../karlsen/utils.dart'; +abstract class EncryptionUtil { static bool isEncryptedHex(String hex) { try { final bytes = hexToBytes(hex.substring(0, 16)); @@ -23,14 +14,6 @@ class KarlsenUtil { } } - static List mnemonicWordsFromEntropyHex(String entropyHex) { - return entropyHexToMnemonic(entropyHex).split(' '); - } - - static String seedFromMnemonic(String mnemonic) { - return mnemonicToSeed(mnemonic).hex; - } - static Uint8List decrypt(Uint8List data, String password) { return NanoCrypt.decrypt(data, password); } @@ -69,15 +52,4 @@ class KarlsenUtil { if (value == null) return null; return encryptText(value, password); } - - static Future computeSignDataSchnorr( - Uint8List data, - Uint8List privateKey, - ) { - return compute(_computeSignDataSchnorr, [data, privateKey]); - } -} - -Uint8List _computeSignDataSchnorr(List params) { - return signSchnorr(hash: params.first, privateKey: params.last); } diff --git a/lib/util/formatters/currency_formatter.dart b/lib/util/formatters/currency_formatter.dart index 838aacec..876cc1ed 100644 --- a/lib/util/formatters/currency_formatter.dart +++ b/lib/util/formatters/currency_formatter.dart @@ -1,9 +1,9 @@ import 'dart:math'; import 'package:decimal/decimal.dart'; +import 'package:decimal/intl.dart'; import 'package:flutter/services.dart'; import 'package:intl/intl.dart'; -import 'package:decimal/intl.dart'; import '../numberutil.dart'; @@ -37,8 +37,7 @@ class CurrencyFormatter extends TextInputFormatter { String _formatNumber(String numberStr) { final number = Decimal.tryParse(numberStr); if (number != null) { - final formatter = DecimalFormatter(numberFormat); // Use DecimalFormatter - return formatter.format(number); // Format the Decimal number + return numberFormat.format(DecimalIntl(number)); } return numberStr; } diff --git a/lib/util/hapticutil.dart b/lib/util/hapticutil.dart index aa8d2b8a..69944ba3 100644 --- a/lib/util/hapticutil.dart +++ b/lib/util/hapticutil.dart @@ -1,6 +1,6 @@ import 'package:device_info_plus/device_info_plus.dart'; import 'package:flutter/services.dart'; -import 'package:vibration/vibration.dart'; +import 'package:flutter_vibrate/flutter_vibrate.dart'; import 'platform.dart'; @@ -9,7 +9,7 @@ class HapticUtil { const HapticUtil(); /// Return true if this device supports taptic engine (iPhone 7+) - Future hasTapticEngine() async { + Future hasTapicEngine() async { if (!kPlatformIsIOS) { return false; } @@ -35,9 +35,9 @@ class HapticUtil { /// Feedback for error Future error() async { if (kPlatformIsIOS) { - // If this is a simulator or the device doesn't have a taptic engine - if (await hasTapticEngine() && await Vibration.hasVibrator() == true) { - Vibration.vibrate(duration: 500); // Vibration for error feedback + // If this is simulator or this device doesnt have tapic then we can't use this + if (await hasTapicEngine() && await Vibrate.canVibrate) { + Vibrate.feedback(FeedbackType.error); } else { HapticFeedback.vibrate(); } @@ -49,10 +49,9 @@ class HapticUtil { /// Feedback for success Future success() async { if (kPlatformIsIOS) { - // If this is a simulator or the device doesn't have a taptic engine - if (await hasTapticEngine() && await Vibration.hasVibrator() == true) { - Vibration.vibrate( - duration: 100); // Short vibration for success feedback + // If this is simulator or this device doesnt have tapic then we can't use this + if (await hasTapicEngine() && await Vibrate.canVibrate) { + Vibrate.feedback(FeedbackType.medium); } else { HapticFeedback.mediumImpact(); } diff --git a/lib/util/lock_settings.dart b/lib/util/lock_settings.dart index c28b8f09..8576219f 100644 --- a/lib/util/lock_settings.dart +++ b/lib/util/lock_settings.dart @@ -1,9 +1,8 @@ -import '../settings/device_lock_timeout.dart'; import 'vault.dart'; class LockSettings { static const _karlsen_mobile_lock = 'fkarlsen_mobile_lock_dev'; - static const _karlsen_mobile_lock_timeout = 'fkarlsen_mobile_lock_timeout'; + static const _karlsen_mobile_autolock = 'fkarlsen_mobile_autolock_dev'; static const _true = 'true'; static const _false = 'false'; @@ -13,15 +12,13 @@ class LockSettings { Future setLock(bool value) => vault.set(_karlsen_mobile_lock, value ? _true : _false); + Future getLock() async => - (await vault.get(_karlsen_mobile_lock) ?? _false) == _true; + (await vault.get(_karlsen_mobile_lock) ?? _true) == _true; - Future setLockTimeout(LockTimeoutSetting setting) => - vault.set(_karlsen_mobile_lock_timeout, setting.getId()); + Future setAutoLock(bool value) => + vault.set(_karlsen_mobile_autolock, value ? _true : _false); - Future getLockTimeout() async { - final lockTimeout = await vault.get(_karlsen_mobile_lock_timeout) ?? - LockTimeoutOption.ONE.name; - return LockTimeoutSetting(LockTimeoutOption.values.byName(lockTimeout)); - } + Future getAutoLock() async => + (await vault.get(_karlsen_mobile_autolock) ?? _true) == _true; } diff --git a/lib/util/numberutil.dart b/lib/util/numberutil.dart index 1508a4d4..586aaed9 100644 --- a/lib/util/numberutil.dart +++ b/lib/util/numberutil.dart @@ -37,8 +37,7 @@ class NumberUtil { symbol: '', decimalDigits: scale, ); - final decimalFormatter = DecimalFormatter(formatter); - final formated = decimalFormatter.format(value).trim(); + final formated = formatter.format(DecimalIntl(value)).trim(); return formated; } diff --git a/lib/util/platform.dart b/lib/util/platform.dart index 69998f86..20b55aba 100644 --- a/lib/util/platform.dart +++ b/lib/util/platform.dart @@ -1,7 +1,8 @@ import 'dart:io' show Platform; -import 'package:flutter/foundation.dart' show kIsWeb; +import 'package:flutter/foundation.dart' show kIsWeb, kDebugMode; +const kInDebugMode = kDebugMode; const kPlatformIsWeb = kIsWeb; final kPlatformIsAndroid = !kIsWeb && Platform.isAndroid; final kPlatformIsIOS = !kIsWeb && Platform.isIOS; diff --git a/lib/util/routes.dart b/lib/util/routes.dart index aea7c652..cb649244 100644 --- a/lib/util/routes.dart +++ b/lib/util/routes.dart @@ -71,6 +71,17 @@ class NoPopTransitionRoute extends MaterialPageRoute { } } +// Used for lock screen +class BarrierRoute extends NoTransitionRoute { + BarrierRoute({required super.builder, super.settings}); + + @override + RoutePopDisposition get popDisposition => RoutePopDisposition.bubble; + + @override + bool get barrierDismissible => false; +} + class RouteUtils { static RoutePredicate withNameLike(String name) { return (Route route) { diff --git a/lib/util/ui_util.dart b/lib/util/ui_util.dart index 0c4c9a86..df99b9b1 100644 --- a/lib/util/ui_util.dart +++ b/lib/util/ui_util.dart @@ -3,18 +3,25 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:oktoast/oktoast.dart'; import '../app_providers.dart'; +import '../app_router.dart'; import '../karlsen/karlsen.dart'; +import '../karlsen/transaction/mass_calculator.dart'; import '../l10n/l10n.dart'; +import '../send_sheet/fee_sheet.dart'; +import '../send_sheet/send_complete_sheet.dart'; import '../send_sheet/send_confirm_sheet.dart'; import '../send_sheet/send_sheet.dart'; -import '../transactions/send_tx.dart'; +import '../transactions/transaction_types.dart'; +import '../widgets/app_simpledialog.dart'; +import '../widgets/dialog.dart'; +import '../widgets/pending_tx_dialog.dart'; import '../widgets/sheet_util.dart'; import '../widgets/toast_widget.dart'; import 'numberutil.dart'; abstract class UIUtil { static double drawerWidth(BuildContext context) { - final width = MediaQuery.of(context).size.width; + final width = MediaQuery.sizeOf(context).width; return (width < 375) ? width * 0.94 : width * 0.85; } @@ -26,45 +33,284 @@ abstract class UIUtil { ); } - static void showSendFlow( + static Future showUpdateFeeFlow( BuildContext context, { required WidgetRef ref, - required KarlsenUri uri, - }) { + required Tx tx, + required String address, + }) async { final theme = ref.read(themeProvider); + final l10n = l10nOf(context); - final amount = uri.amount; - if (amount == null) { - Sheets.showAppHeightNineSheet( + try { + final walletService = ref.read(walletServiceProvider); + final notes = ref.read(txNotesProvider); + final notifier = ref.read(addressNotifierProvider); + final spendableUtxos = ref.read(spendableUtxosProvider); + + final amount = Amount.raw(BigInt.from(tx.apiTx.outputs.first.amount)); + final fees = tx.fees; + + final changeAddress = await notifier.nextChangeAddress; + + final toAddress = Address.tryParse( + address, + expectedPrefix: changeAddress.address.prefix, + ); + + if (toAddress == null) { + UIUtil.showSnackbar(l10n.feeUpdateAddressError, context); + return; + } + + final txBuilder = TransactionBuilder( + utxos: spendableUtxos, + feePerInput: kFeePerInput, + priorityFee: fees.priorityFee, + ); + final newTx = txBuilder.rebuildTransaction( + tx.apiTx, + toAddress: toAddress, + changeAddress: changeAddress.address, + ); + + if (newTx == null) { + UIUtil.showSnackbar(l10n.feeUpdateRebuildError, context); + return; + } + + final massCalculator = MassCalculator( + massPerTxByte: 1, + massPerScriptPubKeyByte: 10, + massPerSigOp: 1000, + storageMassParameter: kStorageMassParameter, + ); + + final mass = massCalculator.calcTxOverallMass(tx: newTx); + + final priorityFee = Amount.raw(fees.priorityFee.raw + BigInt.one); + final newPriorityFee = await Sheets.showAppHeightNineSheet( context: context, + widget: FeeSheet( + baseFee: fees.baseFee, + priorityFee: priorityFee, + txMass: mass, + rbf: true, + ), theme: theme, - widget: SendSheet(uri: uri), ); + + if (newPriorityFee == null) { + // cancelled + return; + } + + Transaction? replacementTx; + if (tx.apiTx.outputs.length == 1 && + tx.apiTx.outputs.first.scriptPublicKeyAddress == + changeAddress.address.encoded) { + // compound tx + final sendTx = walletService.createCompoundTx( + compoundAddress: changeAddress.address, + spendableUtxos: spendableUtxos, + feePerInput: kFeePerInput, + priorityFee: newPriorityFee, + ); + replacementTx = sendTx.tx; + } else { + final newTxBuilder = TransactionBuilder( + utxos: spendableUtxos, + feePerInput: kFeePerInput, + priorityFee: newPriorityFee, + ); + replacementTx = newTxBuilder.rebuildTransaction( + tx.apiTx, + toAddress: toAddress, + changeAddress: changeAddress.address, + ); + } + + if (replacementTx == null) { + UIUtil.showSnackbar(l10n.feeUpdateRebuildError2, context); + return; + } + + final note = notes.getNoteForTxId(tx.id); + + // Authenticate + final walletAuth = ref.read(walletAuthProvider.notifier); + final authUtil = ref.read(authUtilProvider); + bool auth = false; + if (walletAuth.needsPasswordAuth) { + auth = await authUtil.authenticateWithPassword( + context, + validator: (password) => walletAuth.unlock(password: password), + ); + } else { + final symbol = ref.read(symbolProvider(amount)); + final formatedAmount = NumberUtil.formatedAmount(amount); + final message = '${l10n.sendConfirm} $formatedAmount $symbol'; + auth = await authUtil.authenticate(context, message, message); + } + + if (!auth) { + return; + } + + try { + AppDialogs.showInProgressDialog( + context, + l10n.feeUpdateTitle, + l10n.sendTxProgressDescription, + ); + + final txId = await walletService.sendTransaction( + replacementTx, + rbf: true, + ); + + ref.invalidate(pendingTxsProvider); + + if (note != null) { + notes.addNoteForTxId(txId, note.note); + } + + final sheet = SendCompleteSheet( + amount: amount, + toAddress: toAddress, + txId: txId, + note: note?.note, + ); + + Sheets.showAppHeightNineSheet( + context: context, + theme: theme, + closeOnTap: true, + removeUntilHome: true, + widget: sheet, + ); + } catch (e) { + UIUtil.showSnackbar(l10n.feeUpdateError, context); + appRouter.pop(context); + } + } catch (e) { + UIUtil.showSnackbar(l10n.feeUpdateError, context); + } + } + + static Future<({bool cont, bool rbf})> checkForPendingTx( + BuildContext context, { + required WidgetRef ref, + }) async { + final txNotifier = ref.read(txNotifierProvider); + final pendingTxs = txNotifier.pendingTxs; + + bool rbf = false; + if (pendingTxs.isNotEmpty) { + rbf = await showAppDialog( + context: context, + builder: (_) => PendingTxDialog( + pendingTx: pendingTxs.first, + safeContext: context, + safeRef: ref, + ), + ) ?? + false; + if (rbf == false) { + return (cont: false, rbf: rbf); + } + } + + return (cont: true, rbf: rbf); + } + + // static Future checkForPendingTx( + // BuildContext context, { + // required WidgetRef ref, + // required void Function(bool rbf) onContinue, + // }) async { + // final txNotifier = ref.read(txNotifierProvider); + // final pendingTxs = txNotifier.pendingTxs; + + // bool rbf = false; + // if (pendingTxs.isNotEmpty) { + // rbf = await showAppDialog( + // context: context, + // builder: (_) => PendingTxDialog(pendingTx: pendingTxs.first), + // ) ?? + // false; + // if (rbf == false) { + // return; + // } + // } + + // onContinue(rbf); + // } + + static Future showSendFlow( + BuildContext context, { + required WidgetRef ref, + required KarlsenUri uri, + bool useRbf = false, + }) async { + final theme = ref.read(themeProvider); + + final amount = uri.amount; + if (amount == null) { + final (:cont, :rbf) = useRbf + ? (cont: true, rbf: true) + : await UIUtil.checkForPendingTx(context, ref: ref); + if (cont) { + Sheets.showAppHeightNineSheet( + context: context, + theme: theme, + widget: SendSheet(uri: uri, rbf: rbf), + ); + } + return; } final spendableUtxos = ref.read(spendableUtxosProvider); final walletService = ref.read(walletServiceProvider); + final addressNotifier = ref.read(addressNotifierProvider); + + final (:cont, :rbf) = useRbf + ? (cont: true, rbf: true) + : await UIUtil.checkForPendingTx(context, ref: ref); + + if (!cont) { + return; + } - final SendTx tx; try { - tx = walletService.createSendTx( + final changeAddress = await addressNotifier.nextChangeAddress; + + Amount? priorityFee; + if (rbf) { + final pendingTx = ref.read(txNotifierProvider).pendingTxs.first; + priorityFee = Amount.raw(pendingTx.fees.priorityFee.raw + BigInt.one); + } + + final sendTx = walletService.createSendTx( toAddress: uri.address, - amountRaw: amount.raw, + amount: amount, spendableUtxos: spendableUtxos, feePerInput: kFeePerInput, + priorityFee: priorityFee, + changeAddress: changeAddress.address, note: uri.message, ); + + Sheets.showAppHeightNineSheet( + context: context, + theme: theme, + widget: SendConfirmSheet(sendTx: sendTx, rbf: rbf), + ); } catch (e) { UIUtil.showSnackbar(e.toString(), context); return; } - - Sheets.showAppHeightNineSheet( - context: context, - theme: theme, - widget: SendConfirmSheet(tx: tx), - ); } static bool smallScreen(BuildContext context) { @@ -76,18 +322,19 @@ abstract class UIUtil { required BuildContext context, required String action, required Amount amount, + required String symbol, BigInt? fee, }) { final l10n = l10nOf(context); if (amount.raw != BigInt.zero) { final amountStr = NumberUtil.formatedAmount(amount); - final amountConfirm = l10n.amountConfirm(amountStr, amount.symbolLabel); + final amountConfirm = l10n.amountConfirm(amountStr, symbol); action += '\n$amountConfirm'; } if (fee != null && fee != BigInt.zero) { final karlsen = TokenInfo.karlsen; final feeStr = NumberUtil.approxAmountRaw(fee, karlsen.decimals); - final feeConfirm = l10n.feeConfirm(feeStr, karlsen.symbolLabel); + final feeConfirm = l10n.feeConfirm(feeStr, symbol); action += '\n$feeConfirm'; } return action; diff --git a/lib/util/user_data_util.dart b/lib/util/user_data_util.dart index 5cc46676..ded96bbb 100644 --- a/lib/util/user_data_util.dart +++ b/lib/util/user_data_util.dart @@ -2,13 +2,14 @@ import 'dart:async'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; +import 'package:qr_code_scanner/qr_code_scanner.dart'; import 'package:validators/validators.dart'; +import '../app_router.dart'; import '../karlsen/karlsen.dart'; import '../widgets/qr_scanner_widget.dart'; -import 'karlsen_util.dart'; -enum DataType { RAW, URL, ADDRESS, SEED } +enum DataType { RAW, URL, ADDRESS } String sanitizeUri(String uri, String scheme) { if (isIP(uri)) { @@ -39,11 +40,6 @@ class UserDataUtil { if (address != null) { return address.encoded; } - } else if (type == DataType.SEED) { - // Check if valid seed - if (KarlsenUtil.isValidSeed(data)) { - return data; - } } return null; } @@ -57,11 +53,10 @@ class UserDataUtil { return _parseData(text, type); } - static Future scanQrCode(BuildContext context) async { - final result = await Navigator.of(context).push( - MaterialPageRoute(builder: (BuildContext context) { - return const QrScannerWidget(); - }), + static Future scanQrCode(BuildContext context) async { + final result = await appRouter.push( + context, + MaterialPageRoute(builder: (context) => const QrScannerWidget()), ); return result; } diff --git a/lib/util/util.dart b/lib/util/util.dart index 82f462e9..0ff42148 100644 --- a/lib/util/util.dart +++ b/lib/util/util.dart @@ -2,3 +2,6 @@ import 'package:url_launcher/url_launcher.dart'; Future openUrl(String url) => launchUrl(Uri.parse(url), mode: LaunchMode.externalApplication); + +Future openUri(Uri uri) => + launchUrl(uri, mode: LaunchMode.externalApplication); diff --git a/lib/util/vault.dart b/lib/util/vault.dart index 6e6d4e82..d89f4c54 100644 --- a/lib/util/vault.dart +++ b/lib/util/vault.dart @@ -28,11 +28,10 @@ class Vault { Future get pinIsSet async => (await get(_pinKey)) != null; Future getDbKey() async { - final key = await get(_dbKey); + var key = await get(_dbKey); if (key == null) { - final newKey = RandomUtil.generateKey(); - await set(_dbKey, newKey); - return newKey; + key = RandomUtil.generateKey(); + await set(_dbKey, key); } return key; } diff --git a/lib/utils.dart b/lib/utils.dart deleted file mode 100644 index b5e534ee..00000000 --- a/lib/utils.dart +++ /dev/null @@ -1,95 +0,0 @@ -import 'dart:convert'; -import 'dart:typed_data'; - -import 'package:hex/hex.dart'; -import 'package:pointycastle/digests/blake2b.dart'; -// ignore: implementation_imports -import 'package:pointycastle/src/utils.dart' as p_utils; - -import 'karlsen/bip39/bip39.dart' as bip39; - -extension Uint8ListUtils on Uint8List { - String get hex => bytesToHex(this); - String get toBase64 => bytesToBase64(this); - Uint8List get complement => Uint8List.fromList(map((e) => ~e).toList()); -} - -Uint8List leftPadBytes(Uint8List bytes, int size) { - if (bytes.lengthInBytes >= size) { - return bytes; - } - - final result = Uint8List(size); - result.setAll(size - bytes.lengthInBytes, bytes); - return result; -} - -Uint8List rightPadBytes(Uint8List bytes, int size) { - if (bytes.lengthInBytes >= size) { - return bytes; - } - - final result = Uint8List(size); - result.setAll(0, bytes); - return result; -} - -String bytesToHex(Uint8List bytes) => HEX.encode(bytes); - -Uint8List hexToBytes(String hex) => Uint8List.fromList(HEX.decode(hex)); - -String bytesToBase64(Uint8List bytes) => base64.encode(bytes); - -Uint8List base64ToBytes(String data) => base64.decode(data); - -Uint8List stringToBytesUtf8(String str) => Uint8List.fromList(utf8.encode(str)); - -String bytesUtf8ToString(Uint8List bytes) => utf8.decode(bytes); - -BigInt bytesToBigInt(Uint8List bytes) => p_utils.decodeBigInt(bytes); - -BigInt bytesToBigIntUnsigned(Uint8List bytes) => - p_utils.decodeBigIntWithSign(1, bytes); - -Uint8List bigIntToBytes(BigInt bigInt) => p_utils.encodeBigInt(bigInt); -Uint8List bigIntToBytesUnsigned(BigInt bigInt) => - p_utils.encodeBigIntAsUnsigned(bigInt); - -RegExp _hexRegExp = RegExp(r'^[0-9a-fA-F]+$'); - -bool isHex(String hex) => _hexRegExp.hasMatch(hex); - -Uint8List digest({required Uint8List data, int digestSize = 32}) { - final blake2b = Blake2bDigest(digestSize: digestSize); - final output = blake2b.process(data); - - return output; -} - -// mnemonic helpers - -String generateMnemonic({int strength = 256}) => - bip39.generateMnemonic(strength: strength); - -final _kBip39EnglishWords = bip39.WORDLIST.toSet(); - -bool isValidMnemonicWord(String word) { - return _kBip39EnglishWords.contains(word); -} - -// Generic bip39 validation -bool isValidMnemonic(String mnemonic, {bool verifyChecksum = true}) { - final words = mnemonic.split(' '); - return (words.length >= 12 && words.length <= 24 && words.length % 3 == 0) && - words.every((word) => isValidMnemonicWord(word)) && - (verifyChecksum ? bip39.validateMnemonic(mnemonic) : true); -} - -String mnemonicToEntropyHex(String mnemonic) => - bip39.mnemonicToEntropy(mnemonic); - -String entropyHexToMnemonic(String entropyHex) => - bip39.entropyToMnemonic(entropyHex); - -Uint8List mnemonicToSeed(String mnemonic, {String passphrase = ''}) => - bip39.mnemonicToSeed(mnemonic, passphrase: passphrase); diff --git a/lib/utxos/utxo_card.dart b/lib/utxos/utxo_card.dart index fb188dbd..d85caa1e 100644 --- a/lib/utxos/utxo_card.dart +++ b/lib/utxos/utxo_card.dart @@ -11,10 +11,12 @@ import '../widgets/sheet_util.dart'; class UtxoCard extends ConsumerWidget { final Utxo item; + final bool selectable; const UtxoCard({ Key? key, required this.item, + this.selectable = false, }) : super(key: key); @override @@ -24,9 +26,11 @@ class UtxoCard extends ConsumerWidget { final styles = ref.watch(stylesProvider); final amount = Amount.raw(item.utxoEntry.amount); + final klsSymbol = ref.watch(klsSymbolProvider); final formatedValue = NumberUtil.formatedAmount(amount); final fiatValue = ref.watch(formatedFiatForAmountProvider(amount)); + final addressNotifier = ref.watch(addressNotifierProvider); void showTxDetails() { Sheets.showAppHeightEightSheet( @@ -39,6 +43,29 @@ class UtxoCard extends ConsumerWidget { ); } + void updateSelected(bool? value) { + if (value == null) { + return; + } + + final notifier = ref.read(selectedUtxosProvider.notifier); + if (value) { + notifier.update((state) => state.add(item)); + } else { + notifier.update((state) => state.remove(item)); + } + } + + void onPressed() { + if (selectable) { + final selectedUtxos = ref.read(selectedUtxosProvider); + final isSelected = selectedUtxos.contains(item); + updateSelected(!isSelected); + } else { + showTxDetails(); + } + } + return Container( margin: EdgeInsetsDirectional.fromSTEB(14, 4, 14, 4), decoration: BoxDecoration( @@ -48,12 +75,21 @@ class UtxoCard extends ConsumerWidget { ), child: TextButton( style: styles.cardButtonStyle, - onPressed: showTxDetails, + onPressed: onPressed, child: Padding( padding: const EdgeInsets.symmetric(vertical: 14, horizontal: 12), child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ + if (selectable) + Consumer(builder: (context, ref, child) { + final selected = ref.watch( + selectedUtxosProvider.select( + (value) => value.contains(item), + ), + ); + return Checkbox(value: selected, onChanged: updateSelected); + }), Flexible( flex: 1, child: Row( @@ -66,7 +102,8 @@ class UtxoCard extends ConsumerWidget { crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( - l10n.address, + addressNotifier.nameForAddress(item.address) ?? + l10n.address, style: styles.textStyleTransactionAmountSmall, ), Text( @@ -100,8 +137,7 @@ class UtxoCard extends ConsumerWidget { style: styles.textStyleCurrencyAlt, ), TextSpan( - text: - ' ${TokenInfo.karlsen.symbolLabel}', + text: ' $klsSymbol', style: styles.textStyleCurrencyAlt, ), ], diff --git a/lib/utxos/utxos_providers.dart b/lib/utxos/utxos_providers.dart index ed49b418..510658fa 100644 --- a/lib/utxos/utxos_providers.dart +++ b/lib/utxos/utxos_providers.dart @@ -1,3 +1,4 @@ +import 'package:fast_immutable_collections/fast_immutable_collections.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../core/core_providers.dart'; @@ -86,3 +87,5 @@ final spendableUtxosProvider = Provider.autoDispose((ref) { return spendableUtxos; }); + +final selectedUtxosProvider = StateProvider>((ref) => ISet()); diff --git a/lib/utxos/utxos_selection_page.dart b/lib/utxos/utxos_selection_page.dart new file mode 100644 index 00000000..83ab2bb2 --- /dev/null +++ b/lib/utxos/utxos_selection_page.dart @@ -0,0 +1,196 @@ +import 'package:flutter/material.dart'; +import 'package:hooks_riverpod/hooks_riverpod.dart'; + +import '../app_providers.dart'; +import '../app_router.dart'; +import '../karlsen/karlsen.dart'; +import '../l10n/l10n.dart'; +import '../util/ui_util.dart'; +import '../widgets/buttons.dart'; +import '../widgets/sheet_widget.dart'; +import 'utxos_widget.dart'; + +final selectionSummaryProvider = + Provider.family.autoDispose((ref, state) { + final spendableUtxos = ref.watch(spendableUtxosProvider); + final selectedUtxos = ref.watch(selectedUtxosProvider).toList(); + + final tx = state.$1; + final changeAddress = state.$2; + + final totalAmountRaw = selectedUtxos.fold( + BigInt.zero, + (total, utxo) => total + utxo.utxoEntry.amount, + ); + final txBuilder = TransactionBuilder( + utxos: spendableUtxos, + priorityFee: tx.priorityFee, + ); + + var amountRaw = totalAmountRaw - + tx.priorityFee.raw - + kFeePerInput * BigInt.from(selectedUtxos.length); + if (amountRaw > tx.amount.raw) { + amountRaw = tx.amount.raw; + } + try { + final newTx = txBuilder.createUnsignedTransaction( + toAddress: tx.toAddress, + amountRaw: amountRaw, + changeAddress: changeAddress, + preselectedUtxos: selectedUtxos, + ); + + final newSendTx = tx.copyWith( + amount: Amount.raw(totalAmountRaw), + tx: newTx, + utxos: txBuilder.selectedUtxos, + change: txBuilder.change, + baseFee: txBuilder.baseFee, + priorityFee: txBuilder.priorityFee, + ); + + return newSendTx; + } catch (e) { + rethrow; + } +}); + +class UtxosSelectionSummary extends HookConsumerWidget { + final SendTx tx; + const UtxosSelectionSummary({super.key, required this.tx}); + + @override + Widget build(BuildContext context, WidgetRef ref) { + final styles = ref.watch(stylesProvider); + + final pendingTx = + ref.watch(selectionSummaryProvider((tx, tx.changeAddress!))); + + final spendableUtxos = ref.watch(spendableUtxosProvider); + final symbol = ref.watch(klsSymbolProvider); + + return Padding( + padding: const EdgeInsets.symmetric(horizontal: 20), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Target Amount', + style: styles.textStyleParagraph, + ), + Text( + 'Selected Amount', + style: styles.textStyleParagraph, + ), + Text( + 'Selected UTXOs', + style: styles.textStyleParagraph, + ), + Text( + 'Total fee', + style: styles.textStyleParagraph, + ), + Text( + 'Change', + style: styles.textStyleParagraph, + ), + ], + ), + Column( + crossAxisAlignment: CrossAxisAlignment.end, + children: [ + Text( + '${tx.amount.value} $symbol', + style: styles.textStyleParagraph, + ), + Text( + '${pendingTx.amount.value} $symbol', + style: styles.textStyleParagraph, + ), + Text( + '${pendingTx.utxos.length} of ${spendableUtxos.length}', + style: styles.textStyleParagraph, + ), + Text( + '${pendingTx.fee.value} $symbol', + style: styles.textStyleParagraph, + ), + Text( + '${pendingTx.change.value}$symbol', + style: styles.textStyleParagraph, + ), + ], + ), + ], + ), + ); + } +} + +class UtxosSelectionPage extends HookConsumerWidget { + final SendTx tx; + const UtxosSelectionPage({ + super.key, + required this.tx, + }); + + @override + Widget build(BuildContext context, WidgetRef ref) { + final l10n = l10nOf(context); + + Future onConfirm() async { + try { + final addressNotifier = ref.read(addressNotifierProvider); + final changeAddress = await addressNotifier.nextChangeAddress; + final spendableUtxos = ref.read(spendableUtxosProvider); + final selectedUtxos = ref.read(selectedUtxosProvider).toList(); + + final txBuilder = TransactionBuilder( + utxos: spendableUtxos, + feePerInput: kFeePerInput, + priorityFee: tx.priorityFee, + ); + txBuilder.createUnsignedTransaction( + toAddress: tx.toAddress, + amountRaw: tx.amount.raw, + preselectedUtxos: selectedUtxos, + changeAddress: changeAddress.address, + ); + appRouter.pop(context, withResult: selectedUtxos); + } catch (e) { + UIUtil.showSnackbar(l10n.utxoSelectionHint, context); + } + } + + return SheetWidget( + title: l10n.utxoSelectionTitle, + mainWidget: Column( + mainAxisSize: MainAxisSize.min, + children: [ + UtxosSelectionSummary(tx: tx), + Expanded(child: UtxosWidget(selectionMode: true)), + ], + ), + bottomWidget: Padding( + padding: const EdgeInsets.symmetric(horizontal: 28), + child: Column( + children: [ + PrimaryButton( + title: l10n.confirm, + onPressed: onConfirm, + ), + const SizedBox(height: 16), + PrimaryOutlineButton( + title: l10n.cancel, + onPressed: () => appRouter.pop(context), + ), + ], + ), + ), + ); + } +} diff --git a/lib/utxos/utxos_widget.dart b/lib/utxos/utxos_widget.dart index c90f1f2e..00a70801 100644 --- a/lib/utxos/utxos_widget.dart +++ b/lib/utxos/utxos_widget.dart @@ -6,7 +6,12 @@ import 'utxo_card.dart'; import 'utxos_empty_card.dart'; class UtxosWidget extends ConsumerWidget { - const UtxosWidget({Key? key}) : super(key: key); + final bool selectionMode; + + const UtxosWidget({ + super.key, + this.selectionMode = false, + }); @override Widget build(BuildContext context, WidgetRef ref) { @@ -42,7 +47,7 @@ class UtxosWidget extends ConsumerWidget { itemCount: utxoList.length, itemBuilder: (context, index) { final item = utxoList[index]; - return UtxoCard(item: item); + return UtxoCard(item: item, selectable: selectionMode); }, ), ); diff --git a/lib/wallet/box_info_repository.dart b/lib/wallet/box_info_repository.dart new file mode 100644 index 00000000..c9379213 --- /dev/null +++ b/lib/wallet/box_info_repository.dart @@ -0,0 +1,114 @@ +import 'dart:async'; + +import '../database/database.dart'; +import '../karlsen/karlsen.dart'; +import '../settings/settings_repository.dart'; +import '../wallet/wallet_types.dart'; + +BoxInfo _genBoxInfo({ + required String wid, + required String networkId, +}) { + final addressBoxKey = hash('addressBoxKey#KarlsenNetwork.$networkId#$wid'); + final balanceBoxKey = hash('balanceBoxKey#KarlsenNetwork.$networkId#$wid'); + final utxoBoxKey = hash('utxoBoxKey#KarlsenNetwork.$networkId#$wid'); + final txIndexBoxKey = hash('txIndexBoxKey#KarlsenNetwork.$networkId#$wid'); + final txBoxKey = hash('txBoxKey#KarlsenNetwork.$networkId#$wid'); + + return BoxInfo( + address: BoxKeys( + boxKey: addressBoxKey, + encryptionKey: Database.generateSecureKey(), + ), + balance: BoxKeys( + boxKey: balanceBoxKey, + encryptionKey: Database.generateSecureKey(), + ), + utxo: BoxKeys( + boxKey: utxoBoxKey, + encryptionKey: Database.generateSecureKey(), + ), + txIndex: BoxKeys( + boxKey: txIndexBoxKey, + encryptionKey: Database.generateSecureKey(), + ), + tx: BoxKeys( + boxKey: txBoxKey, + encryptionKey: Database.generateSecureKey(), + ), + ); +} + +extension BoxInfoExtension on SettingsRepository { + String _boxInfoBundleKey(String wid) { + return hash('boxInfoBundleKey#$wid'); + } + + BoxInfoBundle getBoxInfoBundle(String wid) { + final bundle = box.tryGet( + _boxInfoBundleKey(wid), + typeFactory: BoxInfoBundle.fromJson, + ); + if (bundle == null) { + return BoxInfoBundle(); + } + return bundle; + } + + Future removeBoxInfoBundle(String wid) { + return box.remove(_boxInfoBundleKey(wid)); + } + + BoxInfo getBoxInfo(String wid, String networkId) { + var bundle = getBoxInfoBundle(wid); + + var boxInfo = bundle.byNetworkId[networkId]; + if (boxInfo == null) { + boxInfo = _genBoxInfo(wid: wid, networkId: networkId); + + bundle = bundle.copyWith(byNetworkId: { + ...bundle.byNetworkId, + networkId: boxInfo, + }); + box.set(_boxInfoBundleKey(wid), bundle); + } + + return boxInfo; + } + + Future migrateIfNeeded(WalletInfo wallet) async { + var bundle = getBoxInfoBundle(wallet.wid); + + if (!bundle.wasMigrated) { + final mainnet = wallet.boxInfo?.mainnet; + bundle = bundle.copyWith( + byNetworkId: mainnet != null + ? { + ...bundle.byNetworkId, + kKarlsenNetworkIdMainnet: mainnet, + } + : bundle.byNetworkId, + wasMigrated: true, + ); + await box.set(_boxInfoBundleKey(wallet.wid), bundle); + } + } +} + +class BoxInfoRepository { + final SettingsRepository settings; + + BoxInfoRepository(this.settings); + + BoxInfo getBoxInfo(String wid, String networkId) => + settings.getBoxInfo(wid, networkId); + + BoxInfoBundle getBoxInfoBundle(String wid) => settings.getBoxInfoBundle(wid); + + Future removeBoxInfoBundle(String wid) async { + await settings.removeBoxInfoBundle(wid); + } + + Future migrateIfNeeded(WalletInfo wallet) => + settings.migrateIfNeeded(wallet); +} diff --git a/lib/wallet/wallet_bundle_notifier.dart b/lib/wallet/wallet_bundle_notifier.dart index a2ddbf78..7b1b1b61 100644 --- a/lib/wallet/wallet_bundle_notifier.dart +++ b/lib/wallet/wallet_bundle_notifier.dart @@ -1,10 +1,8 @@ import 'package:fast_immutable_collections/fast_immutable_collections.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; -import '../database/database.dart'; import '../karlsen/karlsen.dart'; import '../util/random_util.dart'; -import '../utils.dart'; import 'wallet_repository.dart'; import 'wallet_types.dart'; import 'wallet_vault.dart'; @@ -24,24 +22,24 @@ class WalletBundleNotifier extends StateNotifier { state = state.copyWith(wallets: wallets); } - Future selectWallet(WalletInfo wallet, KarlsenNetwork network) => - switchWallet(wallet, network); + Future selectWallet(WalletInfo wallet, String networkId) => + switchWallet(wallet, networkId); - Future logout(KarlsenNetwork network) async { + Future logout(String networkId) async { final wallet = state.selected; if (wallet == null) { return; } await _updateSelectedWallet(null); - await repository.closeWalletBoxes(wallet, network: network); + await repository.closeWalletBoxes(wallet, networkId: networkId); } - Future switchWallet(WalletInfo wallet, KarlsenNetwork network) async { + Future switchWallet(WalletInfo wallet, String networkId) async { final oldWallet = state.selected; await _updateSelectedWallet(wallet); if (oldWallet != null) { - await repository.closeWalletBoxes(oldWallet, network: network); + await repository.closeWalletBoxes(oldWallet, networkId: networkId); } } @@ -54,64 +52,14 @@ class WalletBundleNotifier extends StateNotifier { await _updateWallets(wallets.add(wallet)); } - static WalletInfo generateWalletInfo( - WalletData walletData, { - required bool legacy, - }) { + static WalletInfo generateWalletInfo(WalletData walletData) { final wid = RandomUtil.generateKey(); - BoxInfo genBoxInfo({ - required String wid, - required KarlsenNetwork network, - }) { - final addressBoxKey = - digest(data: stringToBytesUtf8('addressBoxKey#$network#$wid')).hex; - final balanceBoxKey = - digest(data: stringToBytesUtf8('balanceBoxKey#$network#$wid')).hex; - final utxoBoxKey = - digest(data: stringToBytesUtf8('utxoBoxKey#$network#$wid')).hex; - final txIndexBoxKey = - digest(data: stringToBytesUtf8('txIndexBoxKey#$network#$wid')).hex; - final txBoxKey = - digest(data: stringToBytesUtf8('txBoxKey#$network#$wid')).hex; - - return BoxInfo( - address: BoxKeys( - boxKey: addressBoxKey, - encryptionKey: Database.generateSecureKey(), - ), - balance: BoxKeys( - boxKey: balanceBoxKey, - encryptionKey: Database.generateSecureKey(), - ), - utxo: BoxKeys( - boxKey: utxoBoxKey, - encryptionKey: Database.generateSecureKey(), - ), - txIndex: BoxKeys( - boxKey: txIndexBoxKey, - encryptionKey: Database.generateSecureKey(), - ), - tx: BoxKeys( - boxKey: txBoxKey, - encryptionKey: Database.generateSecureKey(), - ), - ); - } - - final boxInfo = BoxInfoByNetwork( - mainnet: genBoxInfo(wid: wid, network: KarlsenNetwork.mainnet), - testnet: genBoxInfo(wid: wid, network: KarlsenNetwork.testnet), - devnet: genBoxInfo(wid: wid, network: KarlsenNetwork.devnet), - simnet: genBoxInfo(wid: wid, network: KarlsenNetwork.simnet), - ); - final mainnetPublicKey = walletData.map( seed: (data) { final seed = hexToBytes(data.seed); return HdWallet.hdPublicKeyFromSeed( seed, - legacy: legacy, networkType: karlsenMainnet, ); }, @@ -123,21 +71,22 @@ class WalletBundleNotifier extends StateNotifier { }, ); + final usesBip39Passphrase = walletData.map( + seed: (data) => data.usesBip39Passphrase, + kpub: (data) => false, + ); + return WalletInfo( name: walletData.name, kind: walletData.kind, wid: wid, - legacy: legacy, - boxInfo: boxInfo, mainnetPublicKey: mainnetPublicKey, + usesBip39Passphrase: usesBip39Passphrase, ); } - Future setupWallet( - WalletData walletData, { - required bool legacy, - }) async { - final wallet = generateWalletInfo(walletData, legacy: legacy); + Future setupWallet(WalletData walletData) async { + final wallet = generateWalletInfo(walletData); await walletData.mapOrNull(seed: (data) async { final walletVault = WalletVault(wallet.wid, repository.vault); @@ -162,14 +111,7 @@ class WalletBundleNotifier extends StateNotifier { await walletVault.delete(); // remove wallet boxes - for (final network in KarlsenNetwork.values) { - final boxInfo = wallet.getBoxInfo(network); - await Database.removeBox(boxInfo.address.boxKey); - await Database.removeBox(boxInfo.balance.boxKey); - await Database.removeBox(boxInfo.utxo.boxKey); - await Database.removeBox(boxInfo.txIndex.boxKey); - await Database.removeBox(boxInfo.tx.boxKey); - } + await repository.removeWalletBoxes(wallet); // remove wallet from bundle final wallets = state.wallets?.remove(wallet) ?? IList(const []); diff --git a/lib/wallet/wallet_card.dart b/lib/wallet/wallet_card.dart index 66ed7f89..7243fc40 100644 --- a/lib/wallet/wallet_card.dart +++ b/lib/wallet/wallet_card.dart @@ -4,6 +4,7 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_slidable/flutter_slidable.dart'; import '../app_providers.dart'; +import '../app_router.dart'; import '../l10n/l10n.dart'; import '../util/caseconverter.dart'; import '../widgets/dialog.dart'; @@ -25,10 +26,10 @@ class WalletCard extends ConsumerWidget { Future selectWallet() async { final notifier = ref.read(walletBundleProvider.notifier); - final network = ref.read(networkProvider); - await notifier.selectWallet(wallet, network); + final networkId = ref.read(networkIdProvider); + await notifier.selectWallet(wallet, networkId); - Navigator.of(context).pushNamedAndRemoveUntil('/', (_) => false); + appRouter.reload(context); } Future removeWallet() async { diff --git a/lib/wallet/wallet_providers.dart b/lib/wallet/wallet_providers.dart index c3ca261f..f25a62b9 100644 --- a/lib/wallet/wallet_providers.dart +++ b/lib/wallet/wallet_providers.dart @@ -2,6 +2,7 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../core/core_providers.dart'; import '../settings/settings_providers.dart'; +import 'box_info_repository.dart'; import 'wallet_bundle_notifier.dart'; import 'wallet_repository.dart'; import 'wallet_types.dart'; @@ -14,10 +15,21 @@ final walletVaultProvider = return walletVault; }); +final boxInfoRepositoryProvider = Provider((ref) { + final settings = ref.watch(settingsRepositoryProvider); + return BoxInfoRepository(settings); +}); + final walletRepositoryProvider = Provider((ref) { final settings = ref.watch(settingsRepositoryProvider); + final boxInfos = ref.watch(boxInfoRepositoryProvider); final vault = ref.watch(vaultProvider); - final repository = WalletRepository(settings, vault); + + final repository = WalletRepository( + settings: settings, + boxInfos: boxInfos, + vault: vault, + ); return repository; }); diff --git a/lib/wallet/wallet_repository.dart b/lib/wallet/wallet_repository.dart index acb0a937..4e85e925 100644 --- a/lib/wallet/wallet_repository.dart +++ b/lib/wallet/wallet_repository.dart @@ -2,10 +2,11 @@ import 'package:fast_immutable_collections/fast_immutable_collections.dart'; import '../database/database.dart'; import '../karlsen/karlsen.dart'; -import '../settings/settings_providers.dart'; +import '../settings/settings_repository.dart'; import '../transactions/transaction_types.dart'; import '../util/vault.dart'; import '../wallet_address/wallet_address.dart'; +import 'box_info_repository.dart'; import 'wallet_types.dart'; import 'wallet_vault.dart'; @@ -24,7 +25,7 @@ extension WalletSettings on SettingsRepository { Future setWalletEntries(List entries) => box.setList( _kWalletEntriesKey, entries, - convert: (e) => (e as dynamic).toJson(), + convert: (e) => e.toJson(), ); WalletInfo? getSelectedWallet() => @@ -36,9 +37,14 @@ extension WalletSettings on SettingsRepository { class WalletRepository { final SettingsRepository settings; + final BoxInfoRepository boxInfos; final Vault vault; - const WalletRepository(this.settings, this.vault); + const WalletRepository({ + required this.settings, + required this.boxInfos, + required this.vault, + }); WalletVault vaultForWallet(WalletInfo wallet) => WalletVault(wallet.wid, vault); @@ -56,9 +62,11 @@ class WalletRepository { Future openWalletBoxes( WalletInfo wallet, { - required KarlsenNetwork network, + required String networkId, }) async { - final boxInfo = wallet.getBoxInfo(network); + await boxInfos.migrateIfNeeded(wallet); + + final boxInfo = boxInfos.getBoxInfo(wallet.wid, networkId); // open wallet boxes await Database.openBox( boxInfo.address.boxKey, @@ -89,9 +97,9 @@ class WalletRepository { Future closeWalletBoxes( WalletInfo wallet, { - required KarlsenNetwork network, + required String networkId, }) async { - final boxInfo = wallet.getBoxInfo(network); + final boxInfo = boxInfos.getBoxInfo(wallet.wid, networkId); // close wallet boxes await Database.closeBox(boxInfo.address.boxKey); await Database.closeBox(boxInfo.balance.boxKey); @@ -99,4 +107,18 @@ class WalletRepository { await Database.closeBox(boxInfo.txIndex.boxKey); await Database.closeBox(boxInfo.tx.boxKey, lazy: true); } + + Future removeWalletBoxes(WalletInfo wallet) async { + final boxInfoBundle = boxInfos.getBoxInfoBundle(wallet.wid); + // remove wallet boxes + for (final boxInfo in boxInfoBundle.byNetworkId.values) { + await Database.removeBox(boxInfo.address.boxKey); + await Database.removeBox(boxInfo.balance.boxKey); + await Database.removeBox(boxInfo.utxo.boxKey); + await Database.removeBox(boxInfo.txIndex.boxKey); + await Database.removeBox(boxInfo.tx.boxKey); + } + + await boxInfos.removeBoxInfoBundle(wallet.wid); + } } diff --git a/lib/wallet/wallet_types.dart b/lib/wallet/wallet_types.dart index fdaf3783..a6fdb93a 100644 --- a/lib/wallet/wallet_types.dart +++ b/lib/wallet/wallet_types.dart @@ -31,6 +31,17 @@ class BoxInfo with _$BoxInfo { _$BoxInfoFromJson(json); } +@freezed +class BoxInfoBundle with _$BoxInfoBundle { + const factory BoxInfoBundle({ + @Default({}) Map byNetworkId, + @Default(false) bool wasMigrated, + }) = _BoxInfoBundle; + + factory BoxInfoBundle.fromJson(Map json) => + _$BoxInfoBundleFromJson(json); +} + @freezed class BoxInfoByNetwork with _$BoxInfoByNetwork { const BoxInfoByNetwork._(); @@ -70,8 +81,9 @@ class WalletKind with _$WalletKind { @Default(false) bool viewOnly, }) = _WalletKindLocalHdEcdsa; - const factory WalletKind.localHdLegacy({required String mainPubKey}) = - _WalletKindLocalHdLegacy; + const factory WalletKind.localHdLegacy({ + required String mainPubKey, + }) = _WalletKindLocalHdLegacy; factory WalletKind.fromJson(Map json) => _$WalletKindFromJson(json); @@ -97,15 +109,14 @@ class WalletKind with _$WalletKind { @freezed class WalletInfo with _$WalletInfo { - const WalletInfo._(); - const factory WalletInfo({ + WalletInfo._(); + factory WalletInfo({ required String name, @Default(WalletKind.localHdSchnorr()) WalletKind kind, required String wid, - required bool legacy, - required BoxInfoByNetwork boxInfo, - // HDPublic key base58 encoded - required String mainnetPublicKey, + @deprecated BoxInfoByNetwork? boxInfo, + required String mainnetPublicKey, // HDPublic key base58 encoded + @Default(false) bool usesBip39Passphrase, }) = _WalletInfo; factory WalletInfo.fromJson(Map json) => @@ -117,7 +128,9 @@ class WalletInfo with _$WalletInfo { bool get hasValidKpub => !kind.isLegacy; - BoxInfo getBoxInfo(KarlsenNetwork network) => boxInfo.getBoxInfo(network); + bool get canSetPassword => !kind.isViewOnly; + + late final String settingsKey = hash('walletSettingsKey#${wid}'); String hdPublicKey(KarlsenNetwork network) { if (network == KarlsenNetwork.mainnet) { @@ -162,9 +175,10 @@ class WalletData with _$WalletData { required String name, required WalletKind kind, required String seed, + required bool usesBip39Passphrase, String? mnemonic, String? password, - }) = _WalletDataMnemonic; + }) = _WalletDataSeed; const factory WalletData.kpub({ required String name, diff --git a/lib/wallet/wallet_types.freezed.dart b/lib/wallet/wallet_types.freezed.dart index 61177fa8..828dda7e 100644 --- a/lib/wallet/wallet_types.freezed.dart +++ b/lib/wallet/wallet_types.freezed.dart @@ -439,6 +439,174 @@ abstract class _BoxInfo implements BoxInfo { throw _privateConstructorUsedError; } +BoxInfoBundle _$BoxInfoBundleFromJson(Map json) { + return _BoxInfoBundle.fromJson(json); +} + +/// @nodoc +mixin _$BoxInfoBundle { + Map get byNetworkId => throw _privateConstructorUsedError; + bool get wasMigrated => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $BoxInfoBundleCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $BoxInfoBundleCopyWith<$Res> { + factory $BoxInfoBundleCopyWith( + BoxInfoBundle value, $Res Function(BoxInfoBundle) then) = + _$BoxInfoBundleCopyWithImpl<$Res, BoxInfoBundle>; + @useResult + $Res call({Map byNetworkId, bool wasMigrated}); +} + +/// @nodoc +class _$BoxInfoBundleCopyWithImpl<$Res, $Val extends BoxInfoBundle> + implements $BoxInfoBundleCopyWith<$Res> { + _$BoxInfoBundleCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? byNetworkId = null, + Object? wasMigrated = null, + }) { + return _then(_value.copyWith( + byNetworkId: null == byNetworkId + ? _value.byNetworkId + : byNetworkId // ignore: cast_nullable_to_non_nullable + as Map, + wasMigrated: null == wasMigrated + ? _value.wasMigrated + : wasMigrated // ignore: cast_nullable_to_non_nullable + as bool, + ) as $Val); + } +} + +/// @nodoc +abstract class _$$BoxInfoBundleImplCopyWith<$Res> + implements $BoxInfoBundleCopyWith<$Res> { + factory _$$BoxInfoBundleImplCopyWith( + _$BoxInfoBundleImpl value, $Res Function(_$BoxInfoBundleImpl) then) = + __$$BoxInfoBundleImplCopyWithImpl<$Res>; + @override + @useResult + $Res call({Map byNetworkId, bool wasMigrated}); +} + +/// @nodoc +class __$$BoxInfoBundleImplCopyWithImpl<$Res> + extends _$BoxInfoBundleCopyWithImpl<$Res, _$BoxInfoBundleImpl> + implements _$$BoxInfoBundleImplCopyWith<$Res> { + __$$BoxInfoBundleImplCopyWithImpl( + _$BoxInfoBundleImpl _value, $Res Function(_$BoxInfoBundleImpl) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? byNetworkId = null, + Object? wasMigrated = null, + }) { + return _then(_$BoxInfoBundleImpl( + byNetworkId: null == byNetworkId + ? _value._byNetworkId + : byNetworkId // ignore: cast_nullable_to_non_nullable + as Map, + wasMigrated: null == wasMigrated + ? _value.wasMigrated + : wasMigrated // ignore: cast_nullable_to_non_nullable + as bool, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$BoxInfoBundleImpl implements _BoxInfoBundle { + const _$BoxInfoBundleImpl( + {final Map byNetworkId = const {}, + this.wasMigrated = false}) + : _byNetworkId = byNetworkId; + + factory _$BoxInfoBundleImpl.fromJson(Map json) => + _$$BoxInfoBundleImplFromJson(json); + + final Map _byNetworkId; + @override + @JsonKey() + Map get byNetworkId { + if (_byNetworkId is EqualUnmodifiableMapView) return _byNetworkId; + // ignore: implicit_dynamic_type + return EqualUnmodifiableMapView(_byNetworkId); + } + + @override + @JsonKey() + final bool wasMigrated; + + @override + String toString() { + return 'BoxInfoBundle(byNetworkId: $byNetworkId, wasMigrated: $wasMigrated)'; + } + + @override + bool operator ==(Object other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$BoxInfoBundleImpl && + const DeepCollectionEquality() + .equals(other._byNetworkId, _byNetworkId) && + (identical(other.wasMigrated, wasMigrated) || + other.wasMigrated == wasMigrated)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash(runtimeType, + const DeepCollectionEquality().hash(_byNetworkId), wasMigrated); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$BoxInfoBundleImplCopyWith<_$BoxInfoBundleImpl> get copyWith => + __$$BoxInfoBundleImplCopyWithImpl<_$BoxInfoBundleImpl>(this, _$identity); + + @override + Map toJson() { + return _$$BoxInfoBundleImplToJson( + this, + ); + } +} + +abstract class _BoxInfoBundle implements BoxInfoBundle { + const factory _BoxInfoBundle( + {final Map byNetworkId, + final bool wasMigrated}) = _$BoxInfoBundleImpl; + + factory _BoxInfoBundle.fromJson(Map json) = + _$BoxInfoBundleImpl.fromJson; + + @override + Map get byNetworkId; + @override + bool get wasMigrated; + @override + @JsonKey(ignore: true) + _$$BoxInfoBundleImplCopyWith<_$BoxInfoBundleImpl> get copyWith => + throw _privateConstructorUsedError; +} + BoxInfoByNetwork _$BoxInfoByNetworkFromJson(Map json) { return _BoxInfoByNetwork.fromJson(json); } @@ -1269,10 +1437,11 @@ mixin _$WalletInfo { String get name => throw _privateConstructorUsedError; WalletKind get kind => throw _privateConstructorUsedError; String get wid => throw _privateConstructorUsedError; - bool get legacy => throw _privateConstructorUsedError; - BoxInfoByNetwork get boxInfo => + @deprecated + BoxInfoByNetwork? get boxInfo => throw _privateConstructorUsedError; + String get mainnetPublicKey => throw _privateConstructorUsedError; // HDPublic key base58 encoded - String get mainnetPublicKey => throw _privateConstructorUsedError; + bool get usesBip39Passphrase => throw _privateConstructorUsedError; Map toJson() => throw _privateConstructorUsedError; @JsonKey(ignore: true) @@ -1290,12 +1459,12 @@ abstract class $WalletInfoCopyWith<$Res> { {String name, WalletKind kind, String wid, - bool legacy, - BoxInfoByNetwork boxInfo, - String mainnetPublicKey}); + @deprecated BoxInfoByNetwork? boxInfo, + String mainnetPublicKey, + bool usesBip39Passphrase}); $WalletKindCopyWith<$Res> get kind; - $BoxInfoByNetworkCopyWith<$Res> get boxInfo; + $BoxInfoByNetworkCopyWith<$Res>? get boxInfo; } /// @nodoc @@ -1314,9 +1483,9 @@ class _$WalletInfoCopyWithImpl<$Res, $Val extends WalletInfo> Object? name = null, Object? kind = null, Object? wid = null, - Object? legacy = null, - Object? boxInfo = null, + Object? boxInfo = freezed, Object? mainnetPublicKey = null, + Object? usesBip39Passphrase = null, }) { return _then(_value.copyWith( name: null == name @@ -1331,18 +1500,18 @@ class _$WalletInfoCopyWithImpl<$Res, $Val extends WalletInfo> ? _value.wid : wid // ignore: cast_nullable_to_non_nullable as String, - legacy: null == legacy - ? _value.legacy - : legacy // ignore: cast_nullable_to_non_nullable - as bool, - boxInfo: null == boxInfo + boxInfo: freezed == boxInfo ? _value.boxInfo : boxInfo // ignore: cast_nullable_to_non_nullable - as BoxInfoByNetwork, + as BoxInfoByNetwork?, mainnetPublicKey: null == mainnetPublicKey ? _value.mainnetPublicKey : mainnetPublicKey // ignore: cast_nullable_to_non_nullable as String, + usesBip39Passphrase: null == usesBip39Passphrase + ? _value.usesBip39Passphrase + : usesBip39Passphrase // ignore: cast_nullable_to_non_nullable + as bool, ) as $Val); } @@ -1356,8 +1525,12 @@ class _$WalletInfoCopyWithImpl<$Res, $Val extends WalletInfo> @override @pragma('vm:prefer-inline') - $BoxInfoByNetworkCopyWith<$Res> get boxInfo { - return $BoxInfoByNetworkCopyWith<$Res>(_value.boxInfo, (value) { + $BoxInfoByNetworkCopyWith<$Res>? get boxInfo { + if (_value.boxInfo == null) { + return null; + } + + return $BoxInfoByNetworkCopyWith<$Res>(_value.boxInfo!, (value) { return _then(_value.copyWith(boxInfo: value) as $Val); }); } @@ -1375,14 +1548,14 @@ abstract class _$$WalletInfoImplCopyWith<$Res> {String name, WalletKind kind, String wid, - bool legacy, - BoxInfoByNetwork boxInfo, - String mainnetPublicKey}); + @deprecated BoxInfoByNetwork? boxInfo, + String mainnetPublicKey, + bool usesBip39Passphrase}); @override $WalletKindCopyWith<$Res> get kind; @override - $BoxInfoByNetworkCopyWith<$Res> get boxInfo; + $BoxInfoByNetworkCopyWith<$Res>? get boxInfo; } /// @nodoc @@ -1399,9 +1572,9 @@ class __$$WalletInfoImplCopyWithImpl<$Res> Object? name = null, Object? kind = null, Object? wid = null, - Object? legacy = null, - Object? boxInfo = null, + Object? boxInfo = freezed, Object? mainnetPublicKey = null, + Object? usesBip39Passphrase = null, }) { return _then(_$WalletInfoImpl( name: null == name @@ -1416,18 +1589,18 @@ class __$$WalletInfoImplCopyWithImpl<$Res> ? _value.wid : wid // ignore: cast_nullable_to_non_nullable as String, - legacy: null == legacy - ? _value.legacy - : legacy // ignore: cast_nullable_to_non_nullable - as bool, - boxInfo: null == boxInfo + boxInfo: freezed == boxInfo ? _value.boxInfo : boxInfo // ignore: cast_nullable_to_non_nullable - as BoxInfoByNetwork, + as BoxInfoByNetwork?, mainnetPublicKey: null == mainnetPublicKey ? _value.mainnetPublicKey : mainnetPublicKey // ignore: cast_nullable_to_non_nullable as String, + usesBip39Passphrase: null == usesBip39Passphrase + ? _value.usesBip39Passphrase + : usesBip39Passphrase // ignore: cast_nullable_to_non_nullable + as bool, )); } } @@ -1435,13 +1608,13 @@ class __$$WalletInfoImplCopyWithImpl<$Res> /// @nodoc @JsonSerializable() class _$WalletInfoImpl extends _WalletInfo { - const _$WalletInfoImpl( + _$WalletInfoImpl( {required this.name, this.kind = const WalletKind.localHdSchnorr(), required this.wid, - required this.legacy, - required this.boxInfo, - required this.mainnetPublicKey}) + @deprecated this.boxInfo, + required this.mainnetPublicKey, + this.usesBip39Passphrase = false}) : super._(); factory _$WalletInfoImpl.fromJson(Map json) => @@ -1455,16 +1628,18 @@ class _$WalletInfoImpl extends _WalletInfo { @override final String wid; @override - final bool legacy; + @deprecated + final BoxInfoByNetwork? boxInfo; @override - final BoxInfoByNetwork boxInfo; + final String mainnetPublicKey; // HDPublic key base58 encoded @override - final String mainnetPublicKey; + @JsonKey() + final bool usesBip39Passphrase; @override String toString() { - return 'WalletInfo(name: $name, kind: $kind, wid: $wid, legacy: $legacy, boxInfo: $boxInfo, mainnetPublicKey: $mainnetPublicKey)'; + return 'WalletInfo(name: $name, kind: $kind, wid: $wid, boxInfo: $boxInfo, mainnetPublicKey: $mainnetPublicKey, usesBip39Passphrase: $usesBip39Passphrase)'; } @override @@ -1475,16 +1650,17 @@ class _$WalletInfoImpl extends _WalletInfo { (identical(other.name, name) || other.name == name) && (identical(other.kind, kind) || other.kind == kind) && (identical(other.wid, wid) || other.wid == wid) && - (identical(other.legacy, legacy) || other.legacy == legacy) && (identical(other.boxInfo, boxInfo) || other.boxInfo == boxInfo) && (identical(other.mainnetPublicKey, mainnetPublicKey) || - other.mainnetPublicKey == mainnetPublicKey)); + other.mainnetPublicKey == mainnetPublicKey) && + (identical(other.usesBip39Passphrase, usesBip39Passphrase) || + other.usesBip39Passphrase == usesBip39Passphrase)); } @JsonKey(ignore: true) @override - int get hashCode => Object.hash( - runtimeType, name, kind, wid, legacy, boxInfo, mainnetPublicKey); + int get hashCode => Object.hash(runtimeType, name, kind, wid, boxInfo, + mainnetPublicKey, usesBip39Passphrase); @JsonKey(ignore: true) @override @@ -1501,14 +1677,14 @@ class _$WalletInfoImpl extends _WalletInfo { } abstract class _WalletInfo extends WalletInfo { - const factory _WalletInfo( + factory _WalletInfo( {required final String name, final WalletKind kind, required final String wid, - required final bool legacy, - required final BoxInfoByNetwork boxInfo, - required final String mainnetPublicKey}) = _$WalletInfoImpl; - const _WalletInfo._() : super._(); + @deprecated final BoxInfoByNetwork? boxInfo, + required final String mainnetPublicKey, + final bool usesBip39Passphrase}) = _$WalletInfoImpl; + _WalletInfo._() : super._(); factory _WalletInfo.fromJson(Map json) = _$WalletInfoImpl.fromJson; @@ -1520,11 +1696,12 @@ abstract class _WalletInfo extends WalletInfo { @override String get wid; @override - bool get legacy; + @deprecated + BoxInfoByNetwork? get boxInfo; @override - BoxInfoByNetwork get boxInfo; - @override // HDPublic key base58 encoded String get mainnetPublicKey; + @override // HDPublic key base58 encoded + bool get usesBip39Passphrase; @override @JsonKey(ignore: true) _$$WalletInfoImplCopyWith<_$WalletInfoImpl> get copyWith => @@ -1711,7 +1888,7 @@ mixin _$WalletData { @optionalTypeArgs TResult when({ required TResult Function(String name, WalletKind kind, String seed, - String? mnemonic, String? password) + bool usesBip39Passphrase, String? mnemonic, String? password) seed, required TResult Function(String name, WalletKind kind, String kpub) kpub, }) => @@ -1719,7 +1896,7 @@ mixin _$WalletData { @optionalTypeArgs TResult? whenOrNull({ TResult? Function(String name, WalletKind kind, String seed, - String? mnemonic, String? password)? + bool usesBip39Passphrase, String? mnemonic, String? password)? seed, TResult? Function(String name, WalletKind kind, String kpub)? kpub, }) => @@ -1727,7 +1904,7 @@ mixin _$WalletData { @optionalTypeArgs TResult maybeWhen({ TResult Function(String name, WalletKind kind, String seed, - String? mnemonic, String? password)? + bool usesBip39Passphrase, String? mnemonic, String? password)? seed, TResult Function(String name, WalletKind kind, String kpub)? kpub, required TResult orElse(), @@ -1735,19 +1912,19 @@ mixin _$WalletData { throw _privateConstructorUsedError; @optionalTypeArgs TResult map({ - required TResult Function(_WalletDataMnemonic value) seed, + required TResult Function(_WalletDataSeed value) seed, required TResult Function(_WalletDataKpub value) kpub, }) => throw _privateConstructorUsedError; @optionalTypeArgs TResult? mapOrNull({ - TResult? Function(_WalletDataMnemonic value)? seed, + TResult? Function(_WalletDataSeed value)? seed, TResult? Function(_WalletDataKpub value)? kpub, }) => throw _privateConstructorUsedError; @optionalTypeArgs TResult maybeMap({ - TResult Function(_WalletDataMnemonic value)? seed, + TResult Function(_WalletDataSeed value)? seed, TResult Function(_WalletDataKpub value)? kpub, required TResult orElse(), }) => @@ -1807,17 +1984,18 @@ class _$WalletDataCopyWithImpl<$Res, $Val extends WalletData> } /// @nodoc -abstract class _$$WalletDataMnemonicImplCopyWith<$Res> +abstract class _$$WalletDataSeedImplCopyWith<$Res> implements $WalletDataCopyWith<$Res> { - factory _$$WalletDataMnemonicImplCopyWith(_$WalletDataMnemonicImpl value, - $Res Function(_$WalletDataMnemonicImpl) then) = - __$$WalletDataMnemonicImplCopyWithImpl<$Res>; + factory _$$WalletDataSeedImplCopyWith(_$WalletDataSeedImpl value, + $Res Function(_$WalletDataSeedImpl) then) = + __$$WalletDataSeedImplCopyWithImpl<$Res>; @override @useResult $Res call( {String name, WalletKind kind, String seed, + bool usesBip39Passphrase, String? mnemonic, String? password}); @@ -1826,11 +2004,11 @@ abstract class _$$WalletDataMnemonicImplCopyWith<$Res> } /// @nodoc -class __$$WalletDataMnemonicImplCopyWithImpl<$Res> - extends _$WalletDataCopyWithImpl<$Res, _$WalletDataMnemonicImpl> - implements _$$WalletDataMnemonicImplCopyWith<$Res> { - __$$WalletDataMnemonicImplCopyWithImpl(_$WalletDataMnemonicImpl _value, - $Res Function(_$WalletDataMnemonicImpl) _then) +class __$$WalletDataSeedImplCopyWithImpl<$Res> + extends _$WalletDataCopyWithImpl<$Res, _$WalletDataSeedImpl> + implements _$$WalletDataSeedImplCopyWith<$Res> { + __$$WalletDataSeedImplCopyWithImpl( + _$WalletDataSeedImpl _value, $Res Function(_$WalletDataSeedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1839,10 +2017,11 @@ class __$$WalletDataMnemonicImplCopyWithImpl<$Res> Object? name = null, Object? kind = null, Object? seed = null, + Object? usesBip39Passphrase = null, Object? mnemonic = freezed, Object? password = freezed, }) { - return _then(_$WalletDataMnemonicImpl( + return _then(_$WalletDataSeedImpl( name: null == name ? _value.name : name // ignore: cast_nullable_to_non_nullable @@ -1855,6 +2034,10 @@ class __$$WalletDataMnemonicImplCopyWithImpl<$Res> ? _value.seed : seed // ignore: cast_nullable_to_non_nullable as String, + usesBip39Passphrase: null == usesBip39Passphrase + ? _value.usesBip39Passphrase + : usesBip39Passphrase // ignore: cast_nullable_to_non_nullable + as bool, mnemonic: freezed == mnemonic ? _value.mnemonic : mnemonic // ignore: cast_nullable_to_non_nullable @@ -1869,11 +2052,12 @@ class __$$WalletDataMnemonicImplCopyWithImpl<$Res> /// @nodoc -class _$WalletDataMnemonicImpl implements _WalletDataMnemonic { - const _$WalletDataMnemonicImpl( +class _$WalletDataSeedImpl implements _WalletDataSeed { + const _$WalletDataSeedImpl( {required this.name, required this.kind, required this.seed, + required this.usesBip39Passphrase, this.mnemonic, this.password}); @@ -1884,23 +2068,27 @@ class _$WalletDataMnemonicImpl implements _WalletDataMnemonic { @override final String seed; @override + final bool usesBip39Passphrase; + @override final String? mnemonic; @override final String? password; @override String toString() { - return 'WalletData.seed(name: $name, kind: $kind, seed: $seed, mnemonic: $mnemonic, password: $password)'; + return 'WalletData.seed(name: $name, kind: $kind, seed: $seed, usesBip39Passphrase: $usesBip39Passphrase, mnemonic: $mnemonic, password: $password)'; } @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$WalletDataMnemonicImpl && + other is _$WalletDataSeedImpl && (identical(other.name, name) || other.name == name) && (identical(other.kind, kind) || other.kind == kind) && (identical(other.seed, seed) || other.seed == seed) && + (identical(other.usesBip39Passphrase, usesBip39Passphrase) || + other.usesBip39Passphrase == usesBip39Passphrase) && (identical(other.mnemonic, mnemonic) || other.mnemonic == mnemonic) && (identical(other.password, password) || @@ -1908,49 +2096,51 @@ class _$WalletDataMnemonicImpl implements _WalletDataMnemonic { } @override - int get hashCode => - Object.hash(runtimeType, name, kind, seed, mnemonic, password); + int get hashCode => Object.hash( + runtimeType, name, kind, seed, usesBip39Passphrase, mnemonic, password); @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$WalletDataMnemonicImplCopyWith<_$WalletDataMnemonicImpl> get copyWith => - __$$WalletDataMnemonicImplCopyWithImpl<_$WalletDataMnemonicImpl>( + _$$WalletDataSeedImplCopyWith<_$WalletDataSeedImpl> get copyWith => + __$$WalletDataSeedImplCopyWithImpl<_$WalletDataSeedImpl>( this, _$identity); @override @optionalTypeArgs TResult when({ required TResult Function(String name, WalletKind kind, String seed, - String? mnemonic, String? password) + bool usesBip39Passphrase, String? mnemonic, String? password) seed, required TResult Function(String name, WalletKind kind, String kpub) kpub, }) { - return seed(name, kind, this.seed, mnemonic, password); + return seed(name, kind, this.seed, usesBip39Passphrase, mnemonic, password); } @override @optionalTypeArgs TResult? whenOrNull({ TResult? Function(String name, WalletKind kind, String seed, - String? mnemonic, String? password)? + bool usesBip39Passphrase, String? mnemonic, String? password)? seed, TResult? Function(String name, WalletKind kind, String kpub)? kpub, }) { - return seed?.call(name, kind, this.seed, mnemonic, password); + return seed?.call( + name, kind, this.seed, usesBip39Passphrase, mnemonic, password); } @override @optionalTypeArgs TResult maybeWhen({ TResult Function(String name, WalletKind kind, String seed, - String? mnemonic, String? password)? + bool usesBip39Passphrase, String? mnemonic, String? password)? seed, TResult Function(String name, WalletKind kind, String kpub)? kpub, required TResult orElse(), }) { if (seed != null) { - return seed(name, kind, this.seed, mnemonic, password); + return seed( + name, kind, this.seed, usesBip39Passphrase, mnemonic, password); } return orElse(); } @@ -1958,7 +2148,7 @@ class _$WalletDataMnemonicImpl implements _WalletDataMnemonic { @override @optionalTypeArgs TResult map({ - required TResult Function(_WalletDataMnemonic value) seed, + required TResult Function(_WalletDataSeed value) seed, required TResult Function(_WalletDataKpub value) kpub, }) { return seed(this); @@ -1967,7 +2157,7 @@ class _$WalletDataMnemonicImpl implements _WalletDataMnemonic { @override @optionalTypeArgs TResult? mapOrNull({ - TResult? Function(_WalletDataMnemonic value)? seed, + TResult? Function(_WalletDataSeed value)? seed, TResult? Function(_WalletDataKpub value)? kpub, }) { return seed?.call(this); @@ -1976,7 +2166,7 @@ class _$WalletDataMnemonicImpl implements _WalletDataMnemonic { @override @optionalTypeArgs TResult maybeMap({ - TResult Function(_WalletDataMnemonic value)? seed, + TResult Function(_WalletDataSeed value)? seed, TResult Function(_WalletDataKpub value)? kpub, required TResult orElse(), }) { @@ -1987,24 +2177,26 @@ class _$WalletDataMnemonicImpl implements _WalletDataMnemonic { } } -abstract class _WalletDataMnemonic implements WalletData { - const factory _WalletDataMnemonic( +abstract class _WalletDataSeed implements WalletData { + const factory _WalletDataSeed( {required final String name, required final WalletKind kind, required final String seed, + required final bool usesBip39Passphrase, final String? mnemonic, - final String? password}) = _$WalletDataMnemonicImpl; + final String? password}) = _$WalletDataSeedImpl; @override String get name; @override WalletKind get kind; String get seed; + bool get usesBip39Passphrase; String? get mnemonic; String? get password; @override @JsonKey(ignore: true) - _$$WalletDataMnemonicImplCopyWith<_$WalletDataMnemonicImpl> get copyWith => + _$$WalletDataSeedImplCopyWith<_$WalletDataSeedImpl> get copyWith => throw _privateConstructorUsedError; } @@ -2096,7 +2288,7 @@ class _$WalletDataKpubImpl implements _WalletDataKpub { @optionalTypeArgs TResult when({ required TResult Function(String name, WalletKind kind, String seed, - String? mnemonic, String? password) + bool usesBip39Passphrase, String? mnemonic, String? password) seed, required TResult Function(String name, WalletKind kind, String kpub) kpub, }) { @@ -2107,7 +2299,7 @@ class _$WalletDataKpubImpl implements _WalletDataKpub { @optionalTypeArgs TResult? whenOrNull({ TResult? Function(String name, WalletKind kind, String seed, - String? mnemonic, String? password)? + bool usesBip39Passphrase, String? mnemonic, String? password)? seed, TResult? Function(String name, WalletKind kind, String kpub)? kpub, }) { @@ -2118,7 +2310,7 @@ class _$WalletDataKpubImpl implements _WalletDataKpub { @optionalTypeArgs TResult maybeWhen({ TResult Function(String name, WalletKind kind, String seed, - String? mnemonic, String? password)? + bool usesBip39Passphrase, String? mnemonic, String? password)? seed, TResult Function(String name, WalletKind kind, String kpub)? kpub, required TResult orElse(), @@ -2132,7 +2324,7 @@ class _$WalletDataKpubImpl implements _WalletDataKpub { @override @optionalTypeArgs TResult map({ - required TResult Function(_WalletDataMnemonic value) seed, + required TResult Function(_WalletDataSeed value) seed, required TResult Function(_WalletDataKpub value) kpub, }) { return kpub(this); @@ -2141,7 +2333,7 @@ class _$WalletDataKpubImpl implements _WalletDataKpub { @override @optionalTypeArgs TResult? mapOrNull({ - TResult? Function(_WalletDataMnemonic value)? seed, + TResult? Function(_WalletDataSeed value)? seed, TResult? Function(_WalletDataKpub value)? kpub, }) { return kpub?.call(this); @@ -2150,7 +2342,7 @@ class _$WalletDataKpubImpl implements _WalletDataKpub { @override @optionalTypeArgs TResult maybeMap({ - TResult Function(_WalletDataMnemonic value)? seed, + TResult Function(_WalletDataSeed value)? seed, TResult Function(_WalletDataKpub value)? kpub, required TResult orElse(), }) { diff --git a/lib/wallet/wallet_types.g.dart b/lib/wallet/wallet_types.g.dart index e192b244..b2d922e4 100644 --- a/lib/wallet/wallet_types.g.dart +++ b/lib/wallet/wallet_types.g.dart @@ -37,6 +37,23 @@ Map _$$BoxInfoImplToJson(_$BoxInfoImpl instance) => 'tx': instance.tx.toJson(), }; +_$BoxInfoBundleImpl _$$BoxInfoBundleImplFromJson(Map json) => + _$BoxInfoBundleImpl( + byNetworkId: (json['byNetworkId'] as Map?)?.map( + (k, e) => MapEntry(k as String, + BoxInfo.fromJson(Map.from(e as Map))), + ) ?? + const {}, + wasMigrated: json['wasMigrated'] as bool? ?? false, + ); + +Map _$$BoxInfoBundleImplToJson(_$BoxInfoBundleImpl instance) => + { + 'byNetworkId': + instance.byNetworkId.map((k, e) => MapEntry(k, e.toJson())), + 'wasMigrated': instance.wasMigrated, + }; + _$BoxInfoByNetworkImpl _$$BoxInfoByNetworkImplFromJson(Map json) => _$BoxInfoByNetworkImpl( mainnet: @@ -105,21 +122,32 @@ _$WalletInfoImpl _$$WalletInfoImplFromJson(Map json) => _$WalletInfoImpl( ? const WalletKind.localHdSchnorr() : WalletKind.fromJson(Map.from(json['kind'] as Map)), wid: json['wid'] as String, - legacy: json['legacy'] as bool, - boxInfo: BoxInfoByNetwork.fromJson( - Map.from(json['boxInfo'] as Map)), + boxInfo: json['boxInfo'] == null + ? null + : BoxInfoByNetwork.fromJson( + Map.from(json['boxInfo'] as Map)), mainnetPublicKey: json['mainnetPublicKey'] as String, + usesBip39Passphrase: json['usesBip39Passphrase'] as bool? ?? false, ); -Map _$$WalletInfoImplToJson(_$WalletInfoImpl instance) => - { - 'name': instance.name, - 'kind': instance.kind.toJson(), - 'wid': instance.wid, - 'legacy': instance.legacy, - 'boxInfo': instance.boxInfo.toJson(), - 'mainnetPublicKey': instance.mainnetPublicKey, - }; +Map _$$WalletInfoImplToJson(_$WalletInfoImpl instance) { + final val = { + 'name': instance.name, + 'kind': instance.kind.toJson(), + 'wid': instance.wid, + }; + + void writeNotNull(String key, dynamic value) { + if (value != null) { + val[key] = value; + } + } + + writeNotNull('boxInfo', instance.boxInfo?.toJson()); + val['mainnetPublicKey'] = instance.mainnetPublicKey; + val['usesBip39Passphrase'] = instance.usesBip39Passphrase; + return val; +} _$WalletBundleImpl _$$WalletBundleImplFromJson(Map json) => _$WalletBundleImpl( wallets: json['wallets'] == null diff --git a/lib/wallet/wallet_vault.dart b/lib/wallet/wallet_vault.dart index f51a8828..bbb93fb9 100644 --- a/lib/wallet/wallet_vault.dart +++ b/lib/wallet/wallet_vault.dart @@ -1,4 +1,5 @@ -import '../util/karlsen_util.dart'; +import '../karlsen/utils.dart'; +import '../util/encryption_util.dart'; import '../util/vault.dart'; const _kMnemonicKey = 'karlsen_mobile_mnemonic_key'; @@ -20,7 +21,7 @@ class WalletVault { throw Exception('Mnemonic is missing from vault'); } - if (!KarlsenUtil.isEncryptedHex(mnemonic)) { + if (!EncryptionUtil.isEncryptedHex(mnemonic)) { return mnemonic; } @@ -28,7 +29,7 @@ class WalletVault { throw Exception('Mnemonic is password protected'); } - final decrypted = KarlsenUtil.decryptToText(mnemonic, password); + final decrypted = EncryptionUtil.decryptToText(mnemonic, password); return decrypted; } @@ -39,7 +40,7 @@ class WalletVault { throw Exception('Seed is missing from vault'); } - if (!KarlsenUtil.isEncryptedHex(seed)) { + if (!EncryptionUtil.isEncryptedHex(seed)) { return seed; } @@ -47,9 +48,9 @@ class WalletVault { throw Exception('Seed is password protected'); } - final decrypted = KarlsenUtil.decryptHex(seed, password); + final decrypted = EncryptionUtil.decryptHex(seed, password); - if (!KarlsenUtil.isValidSeed(decrypted)) { + if (!isValidSeed(decrypted)) { throw Exception('Incorrect password'); } return decrypted; @@ -57,8 +58,7 @@ class WalletVault { Future hasMnemonic() async { final mnemonic = await vault.get(_mnemonicKey); - final mnemonicOrSeed = mnemonic ?? await vault.get(_seedKey); - return mnemonicOrSeed != null; + return mnemonic != null; } Future seedIsEncrypted() async { @@ -67,7 +67,7 @@ class WalletVault { return false; } - return KarlsenUtil.isEncryptedHex(seed); + return EncryptionUtil.isEncryptedHex(seed); } Future setSeed( @@ -77,9 +77,9 @@ class WalletVault { }) async { if (password != null) { // encrypt mnemonic with password for vault - mnemonic = KarlsenUtil.maybeEncryptText(mnemonic, password); + mnemonic = EncryptionUtil.maybeEncryptText(mnemonic, password); // encrypt seed with password for vault - seed = KarlsenUtil.encryptHex(seed, password); + seed = EncryptionUtil.encryptHex(seed, password); } await vault.set(_seedKey, seed); await vault.set(_mnemonicKey, mnemonic); diff --git a/lib/wallet_address/address_details_sheet.dart b/lib/wallet_address/address_details_sheet.dart index c9151673..257a8d8d 100644 --- a/lib/wallet_address/address_details_sheet.dart +++ b/lib/wallet_address/address_details_sheet.dart @@ -7,6 +7,7 @@ import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:qr_flutter/qr_flutter.dart'; import '../app_providers.dart'; +import '../app_router.dart'; import '../l10n/l10n.dart'; import '../util/ui_util.dart'; import '../util/util.dart'; @@ -15,7 +16,6 @@ import '../widgets/app_text_field.dart'; import '../widgets/buttons.dart'; import '../widgets/contact_info_button.dart'; import '../widgets/sheet_widget.dart'; -import '../widgets/tap_outside_unfocus.dart'; import 'wallet_address.dart'; class AddressDetailsSheet extends HookConsumerWidget { @@ -64,72 +64,70 @@ class AddressDetailsSheet extends HookConsumerWidget { }; }, const []); - return TapOutsideUnfocus( - child: SheetWidget( - title: title, - rightWidget: ContactInfoButton(onPressed: showExplorer), - mainWidget: Column( - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - AppTextField( - topMargin: 10, - controller: nameController, - focusNode: nameFocusNode, - textInputAction: TextInputAction.done, - autocorrect: false, - keyboardType: TextInputType.text, - inputFormatters: [ - LengthLimitingTextInputFormatter(25), - ], - style: styles.textStyleAppTextField, - ), - const SizedBox(height: 22), - AddressThreeLineText( - address: address.encoded, - type: AddressTextType.PRIMARY60, - ), - const SizedBox(height: 12), - if (address.type == AddressType.receive) - Expanded( - child: Center( - child: Container( - constraints: BoxConstraints(maxWidth: 280), - padding: const EdgeInsets.all(10), - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(10), - shape: BoxShape.rectangle, - border: Border.all(color: theme.primary, width: 2), - ), - child: QrImageView( - data: '${address.encoded}', - gapless: false, - embeddedImage: AssetImage('assets/qr_code_icon.png'), - embeddedImageStyle: QrEmbeddedImageStyle( - size: const Size(40, 40), - ), - backgroundColor: Colors.white, - errorCorrectionLevel: QrErrorCorrectLevel.Q, - semanticsLabel: 'QR code for address $address', + return SheetWidget( + title: title, + rightWidget: ContactInfoButton(onPressed: showExplorer), + mainWidget: Column( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + AppTextField( + topMargin: 10, + controller: nameController, + focusNode: nameFocusNode, + textInputAction: TextInputAction.done, + autocorrect: false, + keyboardType: TextInputType.text, + inputFormatters: [ + LengthLimitingTextInputFormatter(25), + ], + style: styles.textStyleAppTextField, + ), + const SizedBox(height: 22), + AddressThreeLineText( + address: address.encoded, + type: AddressTextType.PRIMARY60, + ), + const SizedBox(height: 12), + if (address.type == AddressType.receive) + Expanded( + child: Center( + child: Container( + constraints: BoxConstraints(maxWidth: 280), + padding: const EdgeInsets.all(10), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(10), + shape: BoxShape.rectangle, + border: Border.all(color: theme.primary, width: 2), + ), + child: QrImageView( + data: '${address.encoded}', + gapless: false, + embeddedImage: AssetImage('assets/qr_code_icon.png'), + embeddedImageStyle: QrEmbeddedImageStyle( + size: const Size(40, 40), ), + backgroundColor: Colors.white, + errorCorrectionLevel: QrErrorCorrectLevel.Q, + semanticsLabel: 'QR code for address $address', ), ), ), - ], - ), - bottomWidget: Padding( - padding: const EdgeInsets.symmetric(horizontal: 28), - child: Column(children: [ - PrimaryButton( - title: l10n.copyAddress, - onPressed: copyAddress, - ), - const SizedBox(height: 16), - PrimaryOutlineButton( - title: l10n.close, - onPressed: () => Navigator.pop(context), ), - ]), - ), + ], + ), + bottomWidget: Padding( + padding: const EdgeInsets.symmetric(horizontal: 28), + child: Column(children: [ + PrimaryButton( + title: l10n.copyAddress, + onPressed: copyAddress, + ), + const SizedBox(height: 16), + PrimaryOutlineButton( + title: l10n.close, + onPressed: () => appRouter.pop(context), + ), + ]), ), ); } diff --git a/lib/wallet_address/address_filter_dialog.dart b/lib/wallet_address/address_filter_dialog.dart index 46d155ae..b095acf3 100644 --- a/lib/wallet_address/address_filter_dialog.dart +++ b/lib/wallet_address/address_filter_dialog.dart @@ -2,9 +2,10 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../app_providers.dart'; +import '../app_router.dart'; import '../l10n/l10n.dart'; +import '../settings/address_settings.dart'; import '../widgets/app_simpledialog.dart'; -import 'address_settings.dart'; class AddressFilterDialog extends ConsumerWidget { const AddressFilterDialog({Key? key}) : super(key: key); @@ -26,7 +27,10 @@ class AddressFilterDialog extends ConsumerWidget { ), children: [ SimpleDialogOption( - onPressed: () => Navigator.pop(context, AddressFilter.all), + onPressed: () => appRouter.pop( + context, + withResult: AddressFilter.all, + ), child: Padding( padding: const EdgeInsets.symmetric(vertical: 8), child: Text( @@ -36,7 +40,10 @@ class AddressFilterDialog extends ConsumerWidget { ), ), SimpleDialogOption( - onPressed: () => Navigator.pop(context, AddressFilter.nonZero), + onPressed: () => appRouter.pop( + context, + withResult: AddressFilter.nonZero, + ), child: Padding( padding: const EdgeInsets.symmetric(vertical: 8), child: Text( diff --git a/lib/wallet_address/address_selection_sheet.dart b/lib/wallet_address/address_selection_sheet.dart index b7bbaab3..fe41ee31 100644 --- a/lib/wallet_address/address_selection_sheet.dart +++ b/lib/wallet_address/address_selection_sheet.dart @@ -3,7 +3,9 @@ import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import '../app_providers.dart'; +import '../app_router.dart'; import '../l10n/l10n.dart'; +import '../settings/address_settings.dart'; import '../widgets/app_simpledialog.dart'; import '../widgets/buttons.dart'; import '../widgets/gradient_widgets.dart'; @@ -11,13 +13,8 @@ import '../widgets/sheet_header_button.dart'; import '../widgets/sheet_widget.dart'; import 'address_filter_dialog.dart'; import 'address_list_widget.dart'; -import 'address_settings.dart'; import 'wallet_address.dart'; -final selectedAddressProvider = StateProvider.autoDispose((ref) { - return ref.read(receiveAddressProvider); -}); - class AddressSelectionSheet extends HookConsumerWidget { final AddressType addressType; @@ -79,7 +76,7 @@ class AddressSelectionSheet extends HookConsumerWidget { onSelection: (address) { final notifier = ref.read(selectedAddressProvider.notifier); notifier.state = address; - Navigator.pop(context); + appRouter.pop(context); }, ), const ListTopGradient(), @@ -102,7 +99,7 @@ class AddressSelectionSheet extends HookConsumerWidget { ], PrimaryOutlineButton( title: l10n.close, - onPressed: () => Navigator.pop(context), + onPressed: () => appRouter.pop(context), ), ]), ), diff --git a/lib/wallet_address/wallet_address_manager.dart b/lib/wallet_address/wallet_address_manager.dart index a78132f0..4453c3cf 100644 --- a/lib/wallet_address/wallet_address_manager.dart +++ b/lib/wallet_address/wallet_address_manager.dart @@ -14,7 +14,7 @@ class WalletAddressManager { }) { addresses.forEach(_updateAddress); - if (addresses.isEmpty) { + if (_addresses.length < bufferSize) { _addresses.length = bufferSize; } } diff --git a/lib/wallet_address/wallet_address_notifier.dart b/lib/wallet_address/wallet_address_notifier.dart index d5026950..640f08bf 100644 --- a/lib/wallet_address/wallet_address_notifier.dart +++ b/lib/wallet_address/wallet_address_notifier.dart @@ -99,7 +99,7 @@ class WalletAddressNotifier extends SafeChangeNotifier required this.addressNameCallback, }) : _walletAddressBox = addressBox { final addresses = _walletAddressBox.getAll(); - final bufferSize = 100; + final bufferSize = 30; _receive = WalletAddressManager( type: AddressType.receive, @@ -244,17 +244,8 @@ class WalletAddressNotifier extends SafeChangeNotifier } } - WalletAddress? getAddress(String address) { - final receive = _receive.getAddress(address); - if (receive != null) { - return receive; - } - final change = _change.getAddress(address); - if (change != null) { - return change; - } - return null; - } + WalletAddress? getAddress(String address) => + _receive.getAddress(address) ?? _change.getAddress(address); Future markUsed(Iterable addresses) async { if (addresses.isEmpty) { diff --git a/lib/wallet_address/wallet_address_providers.dart b/lib/wallet_address/wallet_address_providers.dart index bd7474da..2b46e176 100644 --- a/lib/wallet_address/wallet_address_providers.dart +++ b/lib/wallet_address/wallet_address_providers.dart @@ -1,23 +1,22 @@ import 'package:fast_immutable_collections/fast_immutable_collections.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; -import '../core/core_providers.dart'; +import '../app_providers.dart'; import '../database/boxes.dart'; import '../karlsen/karlsen.dart'; import '../l10n/l10n.dart'; -import '../transactions/transaction_providers.dart'; +import '../settings/address_settings.dart'; import '../wallet/wallet_types.dart'; -import '../wallet_auth/wallet_auth_providers.dart'; -import '../wallet_balance/wallet_balance_providers.dart'; -import 'address_settings.dart'; import 'wallet_address.dart'; import 'wallet_address_notifier.dart'; final addressBoxProvider = Provider.autoDispose .family, WalletInfo>((ref, wallet) { final db = ref.watch(dbProvider); - final network = ref.watch(networkProvider); - final addressBoxKey = wallet.getBoxInfo(network).address.boxKey; + final networkId = ref.watch(networkIdProvider); + final repository = ref.watch(boxInfoRepositoryProvider); + final boxInfo = repository.getBoxInfo(wallet.wid, networkId); + final addressBoxKey = boxInfo.address.boxKey; return db.getTypedBox(addressBoxKey); }); @@ -136,3 +135,7 @@ final receiveAddressProvider = Provider.autoDispose((ref) { addressNotifierProvider.select((value) => value.receiveAddress), ); }); + +final selectedAddressProvider = StateProvider.autoDispose((ref) { + return ref.read(receiveAddressProvider); +}); diff --git a/lib/wallet_address/wallet_addresses_sheet.dart b/lib/wallet_address/wallet_addresses_sheet.dart index 0dc67857..407842ce 100644 --- a/lib/wallet_address/wallet_addresses_sheet.dart +++ b/lib/wallet_address/wallet_addresses_sheet.dart @@ -4,7 +4,9 @@ import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import '../app_providers.dart'; +import '../app_router.dart'; import '../l10n/l10n.dart'; +import '../settings/address_settings.dart'; import '../settings_advanced/kpub_sheet.dart'; import '../util/ui_util.dart'; import '../widgets/app_simpledialog.dart'; @@ -15,7 +17,6 @@ import '../widgets/sheet_util.dart'; import '../widgets/sheet_widget.dart'; import 'address_filter_dialog.dart'; import 'address_list_widget.dart'; -import 'address_settings.dart'; import 'wallet_address.dart'; class WalletAddressesSheet extends HookConsumerWidget { @@ -200,7 +201,7 @@ class WalletAddressesSheet extends HookConsumerWidget { const SizedBox(height: 16), PrimaryOutlineButton( title: l10n.close, - onPressed: () => Navigator.pop(context), + onPressed: () => appRouter.pop(context), ), ]), ), diff --git a/lib/wallet_auth/wallet_auth_notifier.dart b/lib/wallet_auth/wallet_auth_notifier.dart index e627e9ff..6783e03e 100644 --- a/lib/wallet_auth/wallet_auth_notifier.dart +++ b/lib/wallet_auth/wallet_auth_notifier.dart @@ -1,26 +1,39 @@ -import 'dart:typed_data'; - +import 'package:flutter/foundation.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../karlsen/karlsen.dart'; -import '../util/karlsen_util.dart'; -import '../utils.dart'; +import '../util/encryption_util.dart'; import '../wallet/wallet_vault.dart'; import 'wallet_auth_types.dart'; +Uint8List _computeSignDataSchnorr(List params) { + return signSchnorr(hash: params.first, privateKey: params.last); +} + class WalletAuthNotifier extends StateNotifier { final WalletVault walletVault; WalletAuthNotifier(this.walletVault, WalletAuth auth) : super(auth); + static Future computeSignDataSchnorr( + Uint8List data, + Uint8List privateKey, + ) { + return compute(_computeSignDataSchnorr, [data, privateKey]); + } + Future checkEncryptedState() async { final isEncrypted = await walletVault.seedIsEncrypted(); state = state.copyWith(isEncrypted: isEncrypted); } - WalletAuth get walletAuth => state; - bool get walletLocked => state.isLocked; - bool get walletEncrypted => state.isEncrypted; + bool get walletIsLocked => state.isLocked; + bool get walletIsEncrypted => state.isEncrypted; + + bool get walletIsLegacy => state.wallet.isLegacy; + + bool get needsPasswordAuth => + state.isEncrypted && state.encryptedSecret == null; Future _getSeed() async { if (state.isLocked) { @@ -30,7 +43,7 @@ class WalletAuthNotifier extends StateNotifier { if (!state.isEncrypted) { final seed = await walletVault.getSeed(); - if (KarlsenUtil.isEncryptedHex(seed)) { + if (EncryptionUtil.isEncryptedHex(seed)) { throw Exception('Seed is password protected'); } return seed; @@ -42,7 +55,7 @@ class WalletAuthNotifier extends StateNotifier { } final sessionKey = await walletVault.getSessionKey(); - return KarlsenUtil.decryptHex(secret, sessionKey); + return EncryptionUtil.decryptHex(secret, sessionKey); } Future sign( @@ -53,11 +66,9 @@ class WalletAuthNotifier extends StateNotifier { final walletKind = state.wallet.kind; final seed = await _getSeed(); - final wallet = HdWallet.forSeedHex(seed, - legacy: state.wallet.legacy, type: walletKind.type); + final wallet = HdWallet.forSeedHex(seed, type: walletKind.type); final keyPair = wallet.deriveKeyPair(typeIndex: typeIndex, index: index); - final signature = - await KarlsenUtil.computeSignDataSchnorr(data, keyPair.privateKey); + final signature = await computeSignDataSchnorr(data, keyPair.privateKey); return signature; } @@ -76,12 +87,9 @@ class WalletAuthNotifier extends StateNotifier { } Future unlock({String? password}) async { - if (state.isEncrypted) { - if (password == null) { - return false; - } + if (state.isEncrypted && password != null) { try { - await unlockWithPassword(password); + await _unlockWithPassword(password); return true; } catch (_) { return false; @@ -91,11 +99,11 @@ class WalletAuthNotifier extends StateNotifier { return true; } - Future unlockWithPassword(String password) async { + Future _unlockWithPassword(String password) async { final seed = await walletVault.getSeed(password: password); - final sessionKey = await walletVault.getSessionKey(); - final encryptedSecret = KarlsenUtil.encryptHex(seed, sessionKey); + final sessionKey = await walletVault.updateSessionKey(); + final encryptedSecret = EncryptionUtil.encryptHex(seed, sessionKey); state = state.copyWith( encryptedSecret: encryptedSecret, @@ -107,9 +115,12 @@ class WalletAuthNotifier extends StateNotifier { Future setPassword(String password) async { try { final seed = await walletVault.getSeed(); + if (EncryptionUtil.isEncryptedHex(seed)) { + throw Exception('Wallet is password protected'); + } final mnemonic = await walletVault.getMnemonic(); - final sessionKey = await walletVault.getSessionKey(); - final encryptedSecret = KarlsenUtil.encryptHex(seed, sessionKey); + final sessionKey = await walletVault.updateSessionKey(); + final encryptedSecret = EncryptionUtil.encryptHex(seed, sessionKey); await walletVault.setSeed( seed, @@ -147,8 +158,7 @@ class WalletAuthNotifier extends StateNotifier { required int index, }) async { final seed = await _getSeed(); - final wallet = - HdWallet.forSeedHex(seed, legacy: false, type: HdWalletType.legacy); + final wallet = HdWallet.forSeedHex(seed, type: HdWalletType.legacy); final keyPair = wallet.deriveKeyPair( typeIndex: typeIndex, index: index, diff --git a/lib/wallet_auth/wallet_auth_providers.dart b/lib/wallet_auth/wallet_auth_providers.dart index 799e4617..1f91b18b 100644 --- a/lib/wallet_auth/wallet_auth_providers.dart +++ b/lib/wallet_auth/wallet_auth_providers.dart @@ -20,12 +20,13 @@ final walletAuthNotifierProvider = Provider((ref) { }); final walletAuthProvider = - StateNotifierProvider.autoDispose((ref) { + StateNotifierProvider((ref) { final authNotifier = ref.watch(walletAuthNotifierProvider); if (authNotifier == null) { throw Exception('No active wallet'); } - return WalletAuthNotifier(authNotifier.walletVault, authNotifier.walletAuth); + + return authNotifier; }); final walletHasMnemonic = FutureProvider.autoDispose((ref) { @@ -40,8 +41,9 @@ final walletProvider = Provider.autoDispose((ref) { final walletBoxInfoProvider = Provider.autoDispose((ref) { final wallet = ref.watch(walletProvider); - final network = ref.watch(networkProvider); - final boxInfo = wallet.getBoxInfo(network); + final networkId = ref.watch(networkIdProvider); + final repository = ref.watch(boxInfoRepositoryProvider); + final boxInfo = repository.getBoxInfo(wallet.wid, networkId); return boxInfo; }); diff --git a/lib/wallet_auth/wallet_auth_types.dart b/lib/wallet_auth/wallet_auth_types.dart index 1d624b01..35a6d47b 100644 --- a/lib/wallet_auth/wallet_auth_types.dart +++ b/lib/wallet_auth/wallet_auth_types.dart @@ -1,23 +1,12 @@ -import 'package:fast_immutable_collections/fast_immutable_collections.dart'; import 'package:freezed_annotation/freezed_annotation.dart'; import '../wallet/wallet_types.dart'; part 'wallet_auth_types.freezed.dart'; -@freezed -class WalletStatus with _$WalletStatus { - const factory WalletStatus.noWallets() = _WalletStatusNoWallets; - const factory WalletStatus.noSelection({ - required IList wallets, - }) = _WalletStatusNoSelection; - const factory WalletStatus.selected({ - required WalletInfo wallet, - }) = _WalletStatusSelected; -} - @freezed class WalletAuth with _$WalletAuth { + const WalletAuth._(); const factory WalletAuth({ required WalletInfo wallet, String? encryptedSecret, @@ -25,4 +14,6 @@ class WalletAuth with _$WalletAuth { @Default(false) bool isEncrypted, @Default(false) bool hasMnemonic, }) = _WalletAuth; + + bool get canSetPassword => wallet.canSetPassword; } diff --git a/lib/wallet_auth/wallet_auth_types.freezed.dart b/lib/wallet_auth/wallet_auth_types.freezed.dart index ca36fea5..6bc5294b 100644 --- a/lib/wallet_auth/wallet_auth_types.freezed.dart +++ b/lib/wallet_auth/wallet_auth_types.freezed.dart @@ -14,479 +14,6 @@ T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); -/// @nodoc -mixin _$WalletStatus { - @optionalTypeArgs - TResult when({ - required TResult Function() noWallets, - required TResult Function(IList wallets) noSelection, - required TResult Function(WalletInfo wallet) selected, - }) => - throw _privateConstructorUsedError; - @optionalTypeArgs - TResult? whenOrNull({ - TResult? Function()? noWallets, - TResult? Function(IList wallets)? noSelection, - TResult? Function(WalletInfo wallet)? selected, - }) => - throw _privateConstructorUsedError; - @optionalTypeArgs - TResult maybeWhen({ - TResult Function()? noWallets, - TResult Function(IList wallets)? noSelection, - TResult Function(WalletInfo wallet)? selected, - required TResult orElse(), - }) => - throw _privateConstructorUsedError; - @optionalTypeArgs - TResult map({ - required TResult Function(_WalletStatusNoWallets value) noWallets, - required TResult Function(_WalletStatusNoSelection value) noSelection, - required TResult Function(_WalletStatusSelected value) selected, - }) => - throw _privateConstructorUsedError; - @optionalTypeArgs - TResult? mapOrNull({ - TResult? Function(_WalletStatusNoWallets value)? noWallets, - TResult? Function(_WalletStatusNoSelection value)? noSelection, - TResult? Function(_WalletStatusSelected value)? selected, - }) => - throw _privateConstructorUsedError; - @optionalTypeArgs - TResult maybeMap({ - TResult Function(_WalletStatusNoWallets value)? noWallets, - TResult Function(_WalletStatusNoSelection value)? noSelection, - TResult Function(_WalletStatusSelected value)? selected, - required TResult orElse(), - }) => - throw _privateConstructorUsedError; -} - -/// @nodoc -abstract class $WalletStatusCopyWith<$Res> { - factory $WalletStatusCopyWith( - WalletStatus value, $Res Function(WalletStatus) then) = - _$WalletStatusCopyWithImpl<$Res, WalletStatus>; -} - -/// @nodoc -class _$WalletStatusCopyWithImpl<$Res, $Val extends WalletStatus> - implements $WalletStatusCopyWith<$Res> { - _$WalletStatusCopyWithImpl(this._value, this._then); - - // ignore: unused_field - final $Val _value; - // ignore: unused_field - final $Res Function($Val) _then; -} - -/// @nodoc -abstract class _$$WalletStatusNoWalletsImplCopyWith<$Res> { - factory _$$WalletStatusNoWalletsImplCopyWith( - _$WalletStatusNoWalletsImpl value, - $Res Function(_$WalletStatusNoWalletsImpl) then) = - __$$WalletStatusNoWalletsImplCopyWithImpl<$Res>; -} - -/// @nodoc -class __$$WalletStatusNoWalletsImplCopyWithImpl<$Res> - extends _$WalletStatusCopyWithImpl<$Res, _$WalletStatusNoWalletsImpl> - implements _$$WalletStatusNoWalletsImplCopyWith<$Res> { - __$$WalletStatusNoWalletsImplCopyWithImpl(_$WalletStatusNoWalletsImpl _value, - $Res Function(_$WalletStatusNoWalletsImpl) _then) - : super(_value, _then); -} - -/// @nodoc - -class _$WalletStatusNoWalletsImpl implements _WalletStatusNoWallets { - const _$WalletStatusNoWalletsImpl(); - - @override - String toString() { - return 'WalletStatus.noWallets()'; - } - - @override - bool operator ==(Object other) { - return identical(this, other) || - (other.runtimeType == runtimeType && - other is _$WalletStatusNoWalletsImpl); - } - - @override - int get hashCode => runtimeType.hashCode; - - @override - @optionalTypeArgs - TResult when({ - required TResult Function() noWallets, - required TResult Function(IList wallets) noSelection, - required TResult Function(WalletInfo wallet) selected, - }) { - return noWallets(); - } - - @override - @optionalTypeArgs - TResult? whenOrNull({ - TResult? Function()? noWallets, - TResult? Function(IList wallets)? noSelection, - TResult? Function(WalletInfo wallet)? selected, - }) { - return noWallets?.call(); - } - - @override - @optionalTypeArgs - TResult maybeWhen({ - TResult Function()? noWallets, - TResult Function(IList wallets)? noSelection, - TResult Function(WalletInfo wallet)? selected, - required TResult orElse(), - }) { - if (noWallets != null) { - return noWallets(); - } - return orElse(); - } - - @override - @optionalTypeArgs - TResult map({ - required TResult Function(_WalletStatusNoWallets value) noWallets, - required TResult Function(_WalletStatusNoSelection value) noSelection, - required TResult Function(_WalletStatusSelected value) selected, - }) { - return noWallets(this); - } - - @override - @optionalTypeArgs - TResult? mapOrNull({ - TResult? Function(_WalletStatusNoWallets value)? noWallets, - TResult? Function(_WalletStatusNoSelection value)? noSelection, - TResult? Function(_WalletStatusSelected value)? selected, - }) { - return noWallets?.call(this); - } - - @override - @optionalTypeArgs - TResult maybeMap({ - TResult Function(_WalletStatusNoWallets value)? noWallets, - TResult Function(_WalletStatusNoSelection value)? noSelection, - TResult Function(_WalletStatusSelected value)? selected, - required TResult orElse(), - }) { - if (noWallets != null) { - return noWallets(this); - } - return orElse(); - } -} - -abstract class _WalletStatusNoWallets implements WalletStatus { - const factory _WalletStatusNoWallets() = _$WalletStatusNoWalletsImpl; -} - -/// @nodoc -abstract class _$$WalletStatusNoSelectionImplCopyWith<$Res> { - factory _$$WalletStatusNoSelectionImplCopyWith( - _$WalletStatusNoSelectionImpl value, - $Res Function(_$WalletStatusNoSelectionImpl) then) = - __$$WalletStatusNoSelectionImplCopyWithImpl<$Res>; - @useResult - $Res call({IList wallets}); -} - -/// @nodoc -class __$$WalletStatusNoSelectionImplCopyWithImpl<$Res> - extends _$WalletStatusCopyWithImpl<$Res, _$WalletStatusNoSelectionImpl> - implements _$$WalletStatusNoSelectionImplCopyWith<$Res> { - __$$WalletStatusNoSelectionImplCopyWithImpl( - _$WalletStatusNoSelectionImpl _value, - $Res Function(_$WalletStatusNoSelectionImpl) _then) - : super(_value, _then); - - @pragma('vm:prefer-inline') - @override - $Res call({ - Object? wallets = null, - }) { - return _then(_$WalletStatusNoSelectionImpl( - wallets: null == wallets - ? _value.wallets - : wallets // ignore: cast_nullable_to_non_nullable - as IList, - )); - } -} - -/// @nodoc - -class _$WalletStatusNoSelectionImpl implements _WalletStatusNoSelection { - const _$WalletStatusNoSelectionImpl({required this.wallets}); - - @override - final IList wallets; - - @override - String toString() { - return 'WalletStatus.noSelection(wallets: $wallets)'; - } - - @override - bool operator ==(Object other) { - return identical(this, other) || - (other.runtimeType == runtimeType && - other is _$WalletStatusNoSelectionImpl && - const DeepCollectionEquality().equals(other.wallets, wallets)); - } - - @override - int get hashCode => - Object.hash(runtimeType, const DeepCollectionEquality().hash(wallets)); - - @JsonKey(ignore: true) - @override - @pragma('vm:prefer-inline') - _$$WalletStatusNoSelectionImplCopyWith<_$WalletStatusNoSelectionImpl> - get copyWith => __$$WalletStatusNoSelectionImplCopyWithImpl< - _$WalletStatusNoSelectionImpl>(this, _$identity); - - @override - @optionalTypeArgs - TResult when({ - required TResult Function() noWallets, - required TResult Function(IList wallets) noSelection, - required TResult Function(WalletInfo wallet) selected, - }) { - return noSelection(wallets); - } - - @override - @optionalTypeArgs - TResult? whenOrNull({ - TResult? Function()? noWallets, - TResult? Function(IList wallets)? noSelection, - TResult? Function(WalletInfo wallet)? selected, - }) { - return noSelection?.call(wallets); - } - - @override - @optionalTypeArgs - TResult maybeWhen({ - TResult Function()? noWallets, - TResult Function(IList wallets)? noSelection, - TResult Function(WalletInfo wallet)? selected, - required TResult orElse(), - }) { - if (noSelection != null) { - return noSelection(wallets); - } - return orElse(); - } - - @override - @optionalTypeArgs - TResult map({ - required TResult Function(_WalletStatusNoWallets value) noWallets, - required TResult Function(_WalletStatusNoSelection value) noSelection, - required TResult Function(_WalletStatusSelected value) selected, - }) { - return noSelection(this); - } - - @override - @optionalTypeArgs - TResult? mapOrNull({ - TResult? Function(_WalletStatusNoWallets value)? noWallets, - TResult? Function(_WalletStatusNoSelection value)? noSelection, - TResult? Function(_WalletStatusSelected value)? selected, - }) { - return noSelection?.call(this); - } - - @override - @optionalTypeArgs - TResult maybeMap({ - TResult Function(_WalletStatusNoWallets value)? noWallets, - TResult Function(_WalletStatusNoSelection value)? noSelection, - TResult Function(_WalletStatusSelected value)? selected, - required TResult orElse(), - }) { - if (noSelection != null) { - return noSelection(this); - } - return orElse(); - } -} - -abstract class _WalletStatusNoSelection implements WalletStatus { - const factory _WalletStatusNoSelection( - {required final IList wallets}) = - _$WalletStatusNoSelectionImpl; - - IList get wallets; - @JsonKey(ignore: true) - _$$WalletStatusNoSelectionImplCopyWith<_$WalletStatusNoSelectionImpl> - get copyWith => throw _privateConstructorUsedError; -} - -/// @nodoc -abstract class _$$WalletStatusSelectedImplCopyWith<$Res> { - factory _$$WalletStatusSelectedImplCopyWith(_$WalletStatusSelectedImpl value, - $Res Function(_$WalletStatusSelectedImpl) then) = - __$$WalletStatusSelectedImplCopyWithImpl<$Res>; - @useResult - $Res call({WalletInfo wallet}); - - $WalletInfoCopyWith<$Res> get wallet; -} - -/// @nodoc -class __$$WalletStatusSelectedImplCopyWithImpl<$Res> - extends _$WalletStatusCopyWithImpl<$Res, _$WalletStatusSelectedImpl> - implements _$$WalletStatusSelectedImplCopyWith<$Res> { - __$$WalletStatusSelectedImplCopyWithImpl(_$WalletStatusSelectedImpl _value, - $Res Function(_$WalletStatusSelectedImpl) _then) - : super(_value, _then); - - @pragma('vm:prefer-inline') - @override - $Res call({ - Object? wallet = null, - }) { - return _then(_$WalletStatusSelectedImpl( - wallet: null == wallet - ? _value.wallet - : wallet // ignore: cast_nullable_to_non_nullable - as WalletInfo, - )); - } - - @override - @pragma('vm:prefer-inline') - $WalletInfoCopyWith<$Res> get wallet { - return $WalletInfoCopyWith<$Res>(_value.wallet, (value) { - return _then(_value.copyWith(wallet: value)); - }); - } -} - -/// @nodoc - -class _$WalletStatusSelectedImpl implements _WalletStatusSelected { - const _$WalletStatusSelectedImpl({required this.wallet}); - - @override - final WalletInfo wallet; - - @override - String toString() { - return 'WalletStatus.selected(wallet: $wallet)'; - } - - @override - bool operator ==(Object other) { - return identical(this, other) || - (other.runtimeType == runtimeType && - other is _$WalletStatusSelectedImpl && - (identical(other.wallet, wallet) || other.wallet == wallet)); - } - - @override - int get hashCode => Object.hash(runtimeType, wallet); - - @JsonKey(ignore: true) - @override - @pragma('vm:prefer-inline') - _$$WalletStatusSelectedImplCopyWith<_$WalletStatusSelectedImpl> - get copyWith => - __$$WalletStatusSelectedImplCopyWithImpl<_$WalletStatusSelectedImpl>( - this, _$identity); - - @override - @optionalTypeArgs - TResult when({ - required TResult Function() noWallets, - required TResult Function(IList wallets) noSelection, - required TResult Function(WalletInfo wallet) selected, - }) { - return selected(wallet); - } - - @override - @optionalTypeArgs - TResult? whenOrNull({ - TResult? Function()? noWallets, - TResult? Function(IList wallets)? noSelection, - TResult? Function(WalletInfo wallet)? selected, - }) { - return selected?.call(wallet); - } - - @override - @optionalTypeArgs - TResult maybeWhen({ - TResult Function()? noWallets, - TResult Function(IList wallets)? noSelection, - TResult Function(WalletInfo wallet)? selected, - required TResult orElse(), - }) { - if (selected != null) { - return selected(wallet); - } - return orElse(); - } - - @override - @optionalTypeArgs - TResult map({ - required TResult Function(_WalletStatusNoWallets value) noWallets, - required TResult Function(_WalletStatusNoSelection value) noSelection, - required TResult Function(_WalletStatusSelected value) selected, - }) { - return selected(this); - } - - @override - @optionalTypeArgs - TResult? mapOrNull({ - TResult? Function(_WalletStatusNoWallets value)? noWallets, - TResult? Function(_WalletStatusNoSelection value)? noSelection, - TResult? Function(_WalletStatusSelected value)? selected, - }) { - return selected?.call(this); - } - - @override - @optionalTypeArgs - TResult maybeMap({ - TResult Function(_WalletStatusNoWallets value)? noWallets, - TResult Function(_WalletStatusNoSelection value)? noSelection, - TResult Function(_WalletStatusSelected value)? selected, - required TResult orElse(), - }) { - if (selected != null) { - return selected(this); - } - return orElse(); - } -} - -abstract class _WalletStatusSelected implements WalletStatus { - const factory _WalletStatusSelected({required final WalletInfo wallet}) = - _$WalletStatusSelectedImpl; - - WalletInfo get wallet; - @JsonKey(ignore: true) - _$$WalletStatusSelectedImplCopyWith<_$WalletStatusSelectedImpl> - get copyWith => throw _privateConstructorUsedError; -} - /// @nodoc mixin _$WalletAuth { WalletInfo get wallet => throw _privateConstructorUsedError; @@ -631,13 +158,14 @@ class __$$WalletAuthImplCopyWithImpl<$Res> /// @nodoc -class _$WalletAuthImpl implements _WalletAuth { +class _$WalletAuthImpl extends _WalletAuth { const _$WalletAuthImpl( {required this.wallet, this.encryptedSecret, this.isLocked = true, this.isEncrypted = false, - this.hasMnemonic = false}); + this.hasMnemonic = false}) + : super._(); @override final WalletInfo wallet; @@ -685,13 +213,14 @@ class _$WalletAuthImpl implements _WalletAuth { __$$WalletAuthImplCopyWithImpl<_$WalletAuthImpl>(this, _$identity); } -abstract class _WalletAuth implements WalletAuth { +abstract class _WalletAuth extends WalletAuth { const factory _WalletAuth( {required final WalletInfo wallet, final String? encryptedSecret, final bool isLocked, final bool isEncrypted, final bool hasMnemonic}) = _$WalletAuthImpl; + const _WalletAuth._() : super._(); @override WalletInfo get wallet; diff --git a/lib/wallet_balance/wallet_balance_providers.dart b/lib/wallet_balance/wallet_balance_providers.dart index 81e2342d..f888b778 100644 --- a/lib/wallet_balance/wallet_balance_providers.dart +++ b/lib/wallet_balance/wallet_balance_providers.dart @@ -6,6 +6,7 @@ import 'package:intl/intl.dart'; import '../coingecko/coingecko_providers.dart'; import '../core/core_providers.dart'; import '../karlsen/karlsen.dart'; +import '../settings/available_currency.dart'; import '../settings/settings_providers.dart'; import '../util/formatters.dart'; import '../util/numberutil.dart'; @@ -126,13 +127,13 @@ final formatedTotalFiatProvider = Provider.autoDispose((ref) { decimalDigits: decimals, ); - final decimalFormatter = DecimalFormatter(formatter); - return decimalFormatter.format(fiat); + return formatter.format(DecimalIntl(fiat)); }); final formatedKarlsenPriceProvider = Provider.autoDispose((ref) { final price = ref.watch(karlsenPriceProvider).price; final currency = ref.watch(currencyProvider); + final symbol = ref.watch(klsSymbolProvider); final decimals = price >= Decimal.parse('1') ? 2 : price >= Decimal.parse('0.01') @@ -140,16 +141,13 @@ final formatedKarlsenPriceProvider = Provider.autoDispose((ref) { : price >= Decimal.parse('0.0001') ? 6 : 8; - - final formatter = NumberFormat.currency( + final priceStr = NumberFormat.currency( symbol: currency.symbol, name: currency.name, decimalDigits: decimals, - ); - final decimalFormatter = DecimalFormatter(formatter); - final priceStr = decimalFormatter.format(price); + ).format(DecimalIntl(price)); - return '$priceStr / KLS'; + return '$priceStr / $symbol'; }); final fiatValueForAddressProvider = @@ -165,12 +163,10 @@ final formatedFiatForAddressProvider = final balance = ref.watch(fiatValueForAddressProvider(address)); final currency = ref.watch(currencyProvider); - final formatter = NumberFormat.currency( + return NumberFormat.currency( symbol: currency.symbol, name: currency.name, - ); - final decimalFormatter = DecimalFormatter(formatter); - return decimalFormatter.format(balance); + ).format(DecimalIntl(balance)); }); final formatedFiatForAmountProvider = @@ -179,13 +175,10 @@ final formatedFiatForAmountProvider = final currency = ref.watch(currencyProvider); final fiatValue = value.value * price.price; - - final formatter = NumberFormat.currency( + return NumberFormat.currency( symbol: currency.symbol, name: currency.name, - ); - final decimalFormatter = DecimalFormatter(formatter); - return decimalFormatter.format(fiatValue); + ).format(DecimalIntl(fiatValue)); }); final fiatForAmountProvider = @@ -197,18 +190,18 @@ final fiatForAmountProvider = if (fiatValue == Decimal.zero) { return '0'; } - final formatter = NumberFormat.currency( + final formater = NumberFormat.currency( symbol: currency.symbol, name: currency.name, ); - final decimalFormatter = DecimalFormatter(formatter); - return decimalFormatter - .format(fiatValue) - .replaceAll(formatter.currencySymbol, ''); + return formater + .format(DecimalIntl(fiatValue)) + .replaceAll(formater.currencySymbol, ''); }); final karlsenFormatterProvider = Provider((ref) { - final format = NumberFormat.currency(name: '', symbol: 'KLS'); + final symbol = ref.watch(klsSymbolProvider); + final format = NumberFormat.currency(name: '', symbol: symbol); final formatter = CurrencyFormatter( groupSeparator: format.symbols.GROUP_SEP, decimalSeparator: format.symbols.DECIMAL_SEP, @@ -228,10 +221,16 @@ final fiatFormatterProvider = Provider.autoDispose((ref) { name: currency.name, symbol: currency.symbol, ); + + var maxDecimalDigits = format.decimalDigits ?? 2; + if (currency.currency == AvailableCurrencies.BTC) { + maxDecimalDigits = 8; + } + final formatter = CurrencyFormatter( groupSeparator: format.symbols.GROUP_SEP, decimalSeparator: format.symbols.DECIMAL_SEP, - maxDecimalDigits: format.decimalDigits ?? 2, + maxDecimalDigits: maxDecimalDigits, maxAmount: maxAmount, ); diff --git a/lib/wallet_home/wallet_home.dart b/lib/wallet_home/wallet_home.dart index 0ac3f2e1..63dbc631 100644 --- a/lib/wallet_home/wallet_home.dart +++ b/lib/wallet_home/wallet_home.dart @@ -22,12 +22,13 @@ final _walletWatcherProvider = Provider.autoDispose((ref) { ref.watch(txNotifierProvider); ref.watch(utxoNotifierProvider); ref.watch(utxoListProvider); + ref.watch(pendingTxsProvider); ref.watch(addressMonitorProvider); }); class WalletHome extends HookConsumerWidget { - const WalletHome({Key? key}) : super(key: key); + const WalletHome({super.key}); @override Widget build(BuildContext context, WidgetRef ref) { @@ -43,8 +44,8 @@ class WalletHome extends HookConsumerWidget { if (appLink == null) { return; } - final auth = ref.read(walletAuthNotifierProvider); - if (auth == null || auth.walletLocked == true) { + final walletAuth = ref.read(walletAuthNotifierProvider); + if (walletAuth == null || walletAuth.walletIsLocked) { return; } final prefix = ref.read(addressPrefixProvider); diff --git a/lib/widgets/action_button.dart b/lib/widgets/action_button.dart index b77aed02..ef6f652d 100644 --- a/lib/widgets/action_button.dart +++ b/lib/widgets/action_button.dart @@ -1,10 +1,11 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; -import '../core/core_providers.dart'; +import '../app_providers.dart'; import '../l10n/l10n.dart'; import '../receive/receive_sheet.dart'; import '../send_sheet/send_sheet.dart'; +import '../util/ui_util.dart'; import 'sheet_util.dart'; class ActionButton extends ConsumerWidget { @@ -85,16 +86,25 @@ class SendActionButton extends ConsumerWidget { final theme = ref.watch(themeProvider); final l10n = l10nOf(context); - return ActionButton( - title: l10n.send, - onPressed: () { + Future sendAction() async { + if (onPressed != null) { onPressed?.call(); + return; + } + + final (:cont, :rbf) = await UIUtil.checkForPendingTx(context, ref: ref); + if (cont) { Sheets.showAppHeightNineSheet( context: context, - widget: const SendSheet(), + widget: SendSheet(rbf: rbf), theme: theme, ); - }, + } + } + + return ActionButton( + title: l10n.send, + onPressed: sendAction, ); } } diff --git a/lib/widgets/amount_card.dart b/lib/widgets/amount_card.dart index 5d3ace55..752a9bef 100644 --- a/lib/widgets/amount_card.dart +++ b/lib/widgets/amount_card.dart @@ -5,19 +5,28 @@ import 'package:hooks_riverpod/hooks_riverpod.dart'; import '../core/core_providers.dart'; import '../karlsen/types.dart'; import '../util/numberutil.dart'; +import 'app_text_field.dart'; import 'fiat_value_container.dart'; -import 'karlsen_icon_widget.dart'; +import 'kls_icon_widget.dart'; class AmountCard extends HookConsumerWidget { final Amount amount; - const AmountCard({Key? key, required this.amount}) : super(key: key); + final TextFieldButton? rightButton; + + const AmountCard({ + super.key, + required this.amount, + this.rightButton, + }); @override Widget build(BuildContext context, WidgetRef ref) { final theme = ref.watch(themeProvider); final styles = ref.watch(stylesProvider); + final symbol = ref.watch(symbolProvider(amount)); + final formatedAmount = useMemoized(() { return NumberUtil.formatedAmount(amount); }, [amount]); @@ -27,7 +36,7 @@ class AmountCard extends HookConsumerWidget { amount: amount, precision: amount.decimals, ) + - ' ${amount.symbolLabel}'; + ' $symbol'; }, [amount]); return Container( @@ -55,7 +64,7 @@ class AmountCard extends HookConsumerWidget { ), child: Padding( padding: const EdgeInsets.all(4), - child: const KarlsenIconWidget(), + child: const KlsIconWidget(), ), ), Expanded( @@ -74,7 +83,7 @@ class AmountCard extends HookConsumerWidget { style: styles.textStyleParagraphPrimary, ), TextSpan( - text: ' ${amount.symbolLabel}', + text: ' $symbol', style: styles.textStyleParagraphPrimaryW100, ), ], @@ -84,7 +93,7 @@ class AmountCard extends HookConsumerWidget { ), ), ), - const SizedBox(width: 48), + rightButton ?? const SizedBox(width: 48), ], ), ), diff --git a/lib/widgets/amount_label.dart b/lib/widgets/amount_label.dart index 06ee17c0..ffb02213 100644 --- a/lib/widgets/amount_label.dart +++ b/lib/widgets/amount_label.dart @@ -17,6 +17,8 @@ class AmountLabel extends HookConsumerWidget { final theme = ref.watch(themeProvider); final styles = ref.watch(stylesProvider); + final symbol = ref.watch(symbolProvider(amount)); + final formatedAmount = useMemoized(() { return NumberUtil.formatedAmount(amount); }, [amount]); @@ -26,7 +28,7 @@ class AmountLabel extends HookConsumerWidget { amount: amount, precision: amount.decimals, ) + - ' ${amount.symbolLabel}'; + ' $symbol'; }, [amount]); return FiatValueContainer( @@ -60,7 +62,7 @@ class AmountLabel extends HookConsumerWidget { style: styles.textStyleApproxAmountSuccess, ), TextSpan( - text: ' ${amount.symbolLabel}', + text: ' $symbol', style: styles.textStyleTokenSymbolSuccess, ), ], diff --git a/lib/widgets/dialog.dart b/lib/widgets/dialog.dart index 4b70caa5..40c4362e 100644 --- a/lib/widgets/dialog.dart +++ b/lib/widgets/dialog.dart @@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../app_providers.dart'; +import '../app_router.dart'; import '../l10n/l10n.dart'; import '../util/caseconverter.dart'; import 'app_simpledialog.dart'; @@ -47,7 +48,7 @@ class AppDialogs { ), ), onPressed: () { - Navigator.of(context).pop(); + appRouter.pop(context); onCancel.call(); }, ), @@ -98,7 +99,7 @@ class AppDialogs { ), ), onPressed: () { - Navigator.of(context).pop(); + appRouter.pop(context); onClose?.call(); }, ), @@ -155,7 +156,7 @@ class AppDialogs { ), ), onPressed: () { - Navigator.of(context).pop(); + appRouter.pop(context); cancelAction?.call(); }, ), @@ -169,7 +170,7 @@ class AppDialogs { ), ), onPressed: () { - Navigator.of(context).pop(); + appRouter.pop(context); onPressed(); }, ), diff --git a/lib/widgets/fiat_mode_icon.dart b/lib/widgets/fiat_mode_icon.dart new file mode 100644 index 00000000..6c36402f --- /dev/null +++ b/lib/widgets/fiat_mode_icon.dart @@ -0,0 +1,26 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; + +import '../app_providers.dart'; +import 'kls_icon_widget.dart'; + +class FiatModeIcon extends ConsumerWidget { + final bool fiatMode; + const FiatModeIcon({super.key, required this.fiatMode}); + + @override + Widget build(BuildContext context, WidgetRef ref) { + final styles = ref.watch(stylesProvider); + final currency = ref.watch(currencyProvider); + + return fiatMode + ? FittedBox( + fit: BoxFit.scaleDown, + child: Text( + currency.symbol, + style: styles.textStyleParagraphPrimary, + ), + ) + : Image.asset(kKlsIconPath, width: 40, height: 40); + } +} diff --git a/lib/widgets/fiat_value_widget.dart b/lib/widgets/fiat_value_widget.dart index ad69d946..06467d6c 100644 --- a/lib/widgets/fiat_value_widget.dart +++ b/lib/widgets/fiat_value_widget.dart @@ -25,6 +25,7 @@ class FiatValueWidget extends ConsumerWidget { final fiatValue = ref.watch(formatedFiatForAmountProvider(amount)); final amountValue = NumberUtil.formatedAmount(amount); + final symbol = ref.watch(klsSymbolProvider); return Visibility( visible: amount.value != Decimal.zero, @@ -39,7 +40,7 @@ class FiatValueWidget extends ConsumerWidget { ), child: Container( child: Text( - showAmount ? '≈ $amountValue KLS' : '≈ $fiatValue', + showAmount ? '≈ $amountValue $symbol' : '≈ $fiatValue', style: styles.textStyleTransactionAmount, ), ), diff --git a/lib/widgets/keyboard_widget.dart b/lib/widgets/keyboard_widget.dart index 4a41f503..6f4a3664 100644 --- a/lib/widgets/keyboard_widget.dart +++ b/lib/widgets/keyboard_widget.dart @@ -3,7 +3,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../app_providers.dart'; -import '../karlsen/bip39/bip39.dart' as bip39; +import '../karlsen/karlsen.dart'; class Event { final T data; @@ -13,15 +13,15 @@ class Event { const kBackspaceKey = '⌫'; final wordListProvider = - Provider>((ref) => bip39.WORDLIST.toIList()); + Provider>((ref) => kMnemonicWordList.toIList()); -final wordPrefixProvider = StateProvider((ref) { +final wordPrefixProvider = StateProvider.autoDispose((ref) { return ''; }); final keyboardEnabledProvider = StateProvider.autoDispose((ref) => true); -final wordSuggestionsProvider = Provider>((ref) { +final wordSuggestionsProvider = Provider.autoDispose>((ref) { final prefix = ref.watch(wordPrefixProvider); final wordList = ref.watch(wordListProvider); if (prefix.isEmpty) { diff --git a/lib/widgets/karlsen_icon_widget.dart b/lib/widgets/kls_icon_widget.dart similarity index 81% rename from lib/widgets/karlsen_icon_widget.dart rename to lib/widgets/kls_icon_widget.dart index 4ff6e65e..75734e96 100644 --- a/lib/widgets/karlsen_icon_widget.dart +++ b/lib/widgets/kls_icon_widget.dart @@ -1,12 +1,12 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; -const kKarlsenIconPath = 'assets/karlsen_icon.png'; +const kKlsIconPath = 'assets/kls_icon.png'; -class KarlsenIconWidget extends ConsumerWidget { +class KlsIconWidget extends ConsumerWidget { final Size size; - const KarlsenIconWidget({ + const KlsIconWidget({ Key? key, this.size = const Size(40, 40), }) : super(key: key); @@ -20,7 +20,7 @@ class KarlsenIconWidget extends ConsumerWidget { ClipRRect( borderRadius: BorderRadius.circular(size.width / 2), child: Image.asset( - kKarlsenIconPath, + kKlsIconPath, width: size.width, height: size.height, filterQuality: FilterQuality.medium, diff --git a/lib/widgets/logout_button.dart b/lib/widgets/logout_button.dart index 04acd46d..d78f331a 100644 --- a/lib/widgets/logout_button.dart +++ b/lib/widgets/logout_button.dart @@ -3,6 +3,7 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../app_icons.dart'; import '../app_providers.dart'; +import '../app_router.dart'; import '../l10n/l10n.dart'; import 'dialog.dart'; @@ -15,17 +16,13 @@ class LogoutButton extends ConsumerWidget { final styles = ref.watch(stylesProvider); final l10n = l10nOf(context); - void logout() { - Navigator.of(context).pushNamedAndRemoveUntil('/logout', (_) => false); - } - void confirmLogout() { AppDialogs.showConfirmDialog( context, l10n.areYouSure, l10n.logoutDialogContent, l10n.yesUppercase, - logout, + () => appRouter.logout(context), ); } diff --git a/lib/widgets/network_banner.dart b/lib/widgets/network_banner.dart index 17a24892..649568fe 100644 --- a/lib/widgets/network_banner.dart +++ b/lib/widgets/network_banner.dart @@ -5,9 +5,10 @@ import '../app_providers.dart'; import '../karlsen/karlsen.dart'; final _networkBannerProvider = Provider((ref) { - final network = ref.watch(networkProvider); - if (network != KarlsenNetwork.mainnet) { - return network.name.toUpperCase(); + final nodeConfig = ref.watch(karlsenNodeConfigProvider); + + if (nodeConfig.network != KarlsenNetwork.mainnet) { + return nodeConfig.networkId.toUpperCase(); } return null; }); diff --git a/lib/widgets/notice_dialog.dart b/lib/widgets/notice_dialog.dart index d67e730d..0a381929 100644 --- a/lib/widgets/notice_dialog.dart +++ b/lib/widgets/notice_dialog.dart @@ -3,6 +3,7 @@ import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import '../app_providers.dart'; +import '../app_router.dart'; import '../l10n/l10n.dart'; import 'app_simpledialog.dart'; @@ -16,7 +17,7 @@ class NoticeDialog extends HookConsumerWidget { final styles = ref.watch(stylesProvider); final l10n = l10nOf(context); - final title = l10n.mobileWallet; + final title = l10n.karlsenmobileWallet; final content = l10n.welcomeMessage(version); final isChecked = useState(false); @@ -65,7 +66,7 @@ class NoticeDialog extends HookConsumerWidget { final sharedPrefsUtil = ref.read(sharedPrefsUtilProvider); await sharedPrefsUtil.setNoticeShown(true); } - Navigator.of(context).pop(); + appRouter.pop(context); }, ), ], diff --git a/lib/widgets/pending_tx_dialog.dart b/lib/widgets/pending_tx_dialog.dart new file mode 100644 index 00000000..437e92cf --- /dev/null +++ b/lib/widgets/pending_tx_dialog.dart @@ -0,0 +1,81 @@ +import 'package:flutter/material.dart'; +import 'package:hooks_riverpod/hooks_riverpod.dart'; + +import '../app_providers.dart'; +import '../app_router.dart'; +import '../l10n/l10n.dart'; +import '../transactions/transaction_types.dart'; +import '../util/ui_util.dart'; +import 'app_simpledialog.dart'; + +class PendingTxDialog extends HookConsumerWidget { + final Tx pendingTx; + final BuildContext safeContext; + final WidgetRef safeRef; + + const PendingTxDialog({ + super.key, + required this.pendingTx, + required this.safeContext, + required this.safeRef, + }); + + @override + Widget build(BuildContext context, WidgetRef ref) { + final styles = ref.watch(stylesProvider); + final l10n = l10nOf(context); + + Future updateFee() async { + final address = pendingTx.apiTx.outputs.first.scriptPublicKeyAddress; + UIUtil.showUpdateFeeFlow( + safeContext, + ref: safeRef, + tx: pendingTx, + address: address, + ); + } + + return AppAlertDialog( + title: Text( + l10n.txPendingTitle, + style: styles.textStyleButtonPrimaryOutline, + ), + contentPadding: const EdgeInsetsDirectional.fromSTEB(12, 20, 24, 12), + content: SingleChildScrollView( + child: Column( + children: [ + Padding( + padding: const EdgeInsetsDirectional.only(start: 12), + child: Text( + l10n.txPendingContent, + style: styles.textStyleParagraph, + ), + ), + const SizedBox(height: 12), + ], + ), + ), + actions: [ + TextButton( + style: styles.dialogButtonStyle, + child: Text( + l10n.txPendingActionUpdateFee, + style: styles.textStyleDialogOptions, + ), + onPressed: () async { + appRouter.pop(context); + updateFee(); + }, + ), + TextButton( + style: styles.dialogButtonStyle, + child: Text( + l10n.txPendingActionRbf, + style: styles.textStyleDialogOptions, + ), + onPressed: () => appRouter.pop(context, withResult: true), + ), + ], + ); + } +} diff --git a/lib/widgets/pin_screen.dart b/lib/widgets/pin_screen.dart index b281d434..cc888e39 100644 --- a/lib/widgets/pin_screen.dart +++ b/lib/widgets/pin_screen.dart @@ -6,6 +6,7 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../app_icons.dart'; import '../app_providers.dart'; +import '../app_router.dart'; import '../l10n/l10n.dart'; import '../util/pin_lockout.dart'; import 'pin_screen_button.dart'; @@ -98,11 +99,10 @@ class _PinScreenState extends ConsumerState setState(() { _controller.value = 0; }); - pinLockout.updateLockDate().then((_) { - Navigator.of(context).pushNamedAndRemoveUntil( - '/lock_screen_transition', - (Route route) => false); - }); + // TODO - check logic here + pinLockout + .updateLockDate() + .then((_) => appRouter.lockoutkWithTransition(context)); } else { setState(() { _pin = ''; @@ -210,7 +210,7 @@ class _PinScreenState extends ConsumerState _controller.forward(); } else { await pinLockout.resetUnlockAttempts(); - Navigator.of(context, rootNavigator: true).pop(true); + appRouter.pop(context, withResult: true); } } else { if (!_awaitingConfirmation) { @@ -223,7 +223,7 @@ class _PinScreenState extends ConsumerState } else { // First and second pins match if (_pin == _pinConfirmed) { - Navigator.of(context).pop(_pin); + appRouter.pop(context, withResult: _pin); } else { hapticUtil.error(); _controller.forward(); diff --git a/lib/widgets/qr_scanner_widget.dart b/lib/widgets/qr_scanner_widget.dart index 9a181642..161982cd 100644 --- a/lib/widgets/qr_scanner_widget.dart +++ b/lib/widgets/qr_scanner_widget.dart @@ -1,9 +1,11 @@ +import 'package:barcode_finder/barcode_finder.dart' as bf; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:image_picker/image_picker.dart'; -import 'package:mobile_scanner/mobile_scanner.dart'; +import 'package:qr_code_scanner/qr_code_scanner.dart'; import '../app_providers.dart'; +import '../app_router.dart'; import '../l10n/l10n.dart'; import '../util/platform.dart'; import '../util/ui_util.dart'; @@ -18,19 +20,21 @@ class QrScannerWidget extends ConsumerStatefulWidget { class _QrScannerWidgetState extends ConsumerState { final GlobalKey qrKey = GlobalKey(debugLabel: 'QR'); - String? result; - MobileScannerController controller = MobileScannerController(); + Barcode? result; + QRViewController? controller; bool _shouldScan = true; bool _flashOn = false; + bool _flashToggled = false; + bool _checkedPermission = false; @override void reassemble() { super.reassemble(); if (kPlatformIsAndroid) { - controller.stop(); + controller?.pauseCamera(); } else if (kPlatformIsIOS) { - controller.start(); + controller?.resumeCamera(); } } @@ -63,12 +67,11 @@ class _QrScannerWidgetState extends ConsumerState { return; } try { - final barcode = await controller.analyzeImage(file.path); - if (barcode == null || barcode.barcodes.isEmpty) { - throw Exception(l10n.emptyResult); - } - result = barcode.barcodes.first.rawValue; - Navigator.of(context).pop(result); + // removed 'formats' parameter + final code = await bf.BarcodeFinder.scanFile(path: file.path); + if (code == null) throw Exception(l10n.emptyResult); + result = Barcode(code, BarcodeFormat.qrcode, null); + appRouter.pop(context, withResult: result); } catch (e) { UIUtil.showSnackbar(l10n.noQrCodeFound, context); } @@ -76,32 +79,35 @@ class _QrScannerWidgetState extends ConsumerState { } Future toggleFlash() async { + if (_flashToggled) return; + var flashState = _flashOn; try { - _flashOn = !_flashOn; - controller.toggleTorch(); - setState(() {}); + controller?.toggleFlash(); + flashState = await controller?.getFlashStatus() ?? false; } catch (e) { - UIUtil.showSnackbar('Failed to toggle flash', context); + flashState = false; } + if (_flashOn != flashState) { + setState(() { + _flashOn = flashState; + }); + } + _flashToggled = false; } return Scaffold( body: Stack(children: [ - MobileScanner( + QRView( key: qrKey, - controller: controller, - onDetect: (barcodeCapture) { - final barcodes = barcodeCapture.barcodes; - if (barcodes.isNotEmpty && _shouldScan) { - _shouldScan = false; - result = barcodes.first.rawValue; - Navigator.of(context).pop(result); - } - }, - scanWindow: Rect.fromCenter( - center: Offset(scanArea, scanArea), - width: scanArea, - height: scanArea, + onQRViewCreated: _onQRViewCreated, + onPermissionSet: _onPermissionSet, + formatsAllowed: [BarcodeFormat.qrcode], + overlay: QrScannerOverlayShape( + borderColor: Colors.white, + borderRadius: 10, + borderLength: 30, + borderWidth: 10, + cutOutSize: scanArea, ), ), SafeArea( @@ -116,7 +122,7 @@ class _QrScannerWidgetState extends ConsumerState { AppIconButton( icon: Icons.arrow_back, color: Colors.white, - onPressed: () => Navigator.of(context).pop(), + onPressed: () => appRouter.pop(context), ), Text( l10n.scanQrCode, @@ -157,9 +163,34 @@ class _QrScannerWidgetState extends ConsumerState { ); } + void _onPermissionSet(QRViewController ctrl, bool p) { + if (!p && !_checkedPermission && context.mounted) { + _checkedPermission = true; + if (kPlatformIsAndroid) { + appRouter.pop(context); + } + + final l10n = l10nOf(context); + UIUtil.showSnackbar(l10n.checkCameraPermission, context); + } + } + + void _onQRViewCreated(QRViewController _controller) async { + controller = _controller; + if (kPlatformIsAndroid) { + await _controller.resumeCamera(); + } + _controller.scannedDataStream.listen((event) { + if (result == null && _shouldScan) { + result = event; + appRouter.pop(context, withResult: result); + } + }); + } + @override void dispose() { - controller.dispose(); + controller?.dispose(); super.dispose(); } } diff --git a/lib/widgets/sheet_util.dart b/lib/widgets/sheet_util.dart index 7ccd30af..675f8069 100644 --- a/lib/widgets/sheet_util.dart +++ b/lib/widgets/sheet_util.dart @@ -1,8 +1,8 @@ import 'package:flutter/material.dart'; +import '../app_router.dart'; import '../themes/themes.dart'; import '../util/platform.dart'; -import '../util/routes.dart'; class Sheets { //App Ninty Height Sheet @@ -33,10 +33,9 @@ class Sheets { onDisposed: onDisposed, ); if (removeUntilHome) { - return Navigator.pushAndRemoveUntil( - context, route, RouteUtils.withNameLike('/home')); + return appRouter.pushAndRemoveUntilHome(context, route); } - return Navigator.push(context, route); + return appRouter.push(context, route); } //App Height Eigth Sheet @@ -53,9 +52,9 @@ class Sheets { final color = backgroundColor ?? theme.backgroundDark; final barrier = theme.barrier; - return Navigator.push( + return appRouter.push( context, - _AppHeightEightModalRoute( + _AppHeightEightModalRoute( builder: (BuildContext context) => widget, color: color, radius: radius, @@ -182,7 +181,7 @@ class _AppHeightNineModalRoute extends PopupRoute { onTap: () { if (closeOnTap) { // Close when tapped anywhere - Navigator.of(context).pop(); + appRouter.pop(context); } }, child: Theme( @@ -193,7 +192,7 @@ class _AppHeightNineModalRoute extends PopupRoute { delegate: _AppHeightNineSheetLayout(appSheetAnimation.value), child: BottomSheet( animationController: _animationController, - onClosing: () => Navigator.pop(context), + onClosing: () => appRouter.pop(context), builder: (context) => Container( decoration: BoxDecoration( color: color, @@ -324,7 +323,7 @@ class _AppHeightEightModalRoute extends PopupRoute { delegate: _AppHeightEightSheetLayout(appSheetAnimation.value), child: BottomSheet( animationController: _animationController, - onClosing: () => Navigator.pop(context), + onClosing: () => appRouter.pop(context), builder: (context) => Container( decoration: BoxDecoration( color: color, diff --git a/lib/widgets/sheet_widget.dart b/lib/widgets/sheet_widget.dart index e4973251..4d24780c 100644 --- a/lib/widgets/sheet_widget.dart +++ b/lib/widgets/sheet_widget.dart @@ -3,6 +3,7 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../app_providers.dart'; import 'sheet_handle.dart'; +import 'tap_outside_unfocus.dart'; class SheetWidget extends ConsumerWidget { final Widget? leftWidget; @@ -25,51 +26,54 @@ class SheetWidget extends ConsumerWidget { final styles = ref.watch(stylesProvider); final leftRight = (leftWidget ?? rightWidget) != null; - return SafeArea( - minimum: EdgeInsets.only( - bottom: MediaQuery.of(context).size.height * 0.035, - ), - child: Column( - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - if (leftRight) - Padding( - padding: const EdgeInsetsDirectional.only(top: 10, start: 10), - child: leftWidget ?? const SizedBox(height: 50, width: 50), - ), - Expanded( - child: Column(children: [ - const SheetHandle(), - Container( - margin: const EdgeInsets.symmetric( - horizontal: 4, - vertical: 8, - ), - child: FittedBox( - fit: BoxFit.scaleDown, - child: Text( - title.toUpperCase(), - style: styles.textStyleHeader(context), - textAlign: TextAlign.center, + return TapOutsideUnfocus( + child: SafeArea( + minimum: EdgeInsets.only( + bottom: MediaQuery.of(context).size.height * 0.035, + ), + child: Column( + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + if (leftRight) + Padding( + padding: + const EdgeInsetsDirectional.only(top: 10, start: 10), + child: leftWidget ?? const SizedBox(height: 50, width: 50), + ), + Expanded( + child: Column(children: [ + const SheetHandle(), + Container( + margin: const EdgeInsets.symmetric( + horizontal: 4, + vertical: 8, + ), + child: FittedBox( + fit: BoxFit.scaleDown, + child: Text( + title.toUpperCase(), + style: styles.textStyleHeader(context), + textAlign: TextAlign.center, + ), ), ), - ), - ]), - ), - if (leftRight) - Padding( - padding: const EdgeInsetsDirectional.only(top: 10, end: 10), - child: rightWidget ?? const SizedBox(height: 50, width: 50), + ]), ), - ], - ), - Expanded(child: mainWidget), - const SizedBox(height: 16), - bottomWidget, - ], + if (leftRight) + Padding( + padding: const EdgeInsetsDirectional.only(top: 10, end: 10), + child: rightWidget ?? const SizedBox(height: 50, width: 50), + ), + ], + ), + Expanded(child: mainWidget), + const SizedBox(height: 16), + bottomWidget, + ], + ), ), ); } diff --git a/lib/widgets/tap_outside_unfocus.dart b/lib/widgets/tap_outside_unfocus.dart index 6e67c351..3b644d38 100644 --- a/lib/widgets/tap_outside_unfocus.dart +++ b/lib/widgets/tap_outside_unfocus.dart @@ -4,9 +4,9 @@ class TapOutsideUnfocus extends StatelessWidget { final Widget child; const TapOutsideUnfocus({ - Key? key, + super.key, required this.child, - }) : super(key: key); + }); @override Widget build(BuildContext context) { diff --git a/linux/CMakeLists.txt b/linux/CMakeLists.txt index 58fb3a67..014142e4 100644 --- a/linux/CMakeLists.txt +++ b/linux/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.10) project(runner LANGUAGES CXX) set(BINARY_NAME "karlsen-mobile") -set(APPLICATION_ID "io.karlsen.mobile") +set(APPLICATION_ID "karlsen.mobile") cmake_policy(SET CMP0063 NEW) diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift index 3f360b5e..de7ee65c 100644 --- a/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -10,7 +10,6 @@ import device_info_plus import file_selector_macos import flutter_secure_storage_macos import local_auth_darwin -import mobile_scanner import package_info_plus import path_provider_foundation import share_plus @@ -23,7 +22,6 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { FileSelectorPlugin.register(with: registry.registrar(forPlugin: "FileSelectorPlugin")) FlutterSecureStoragePlugin.register(with: registry.registrar(forPlugin: "FlutterSecureStoragePlugin")) FLALocalAuthPlugin.register(with: registry.registrar(forPlugin: "FLALocalAuthPlugin")) - MobileScannerPlugin.register(with: registry.registrar(forPlugin: "MobileScannerPlugin")) FPPPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FPPPackageInfoPlusPlugin")) PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) SharePlusMacosPlugin.register(with: registry.registrar(forPlugin: "SharePlusMacosPlugin")) diff --git a/proto/messages.proto b/proto/messages.proto index 7c7674df..2f7b06b6 100644 --- a/proto/messages.proto +++ b/proto/messages.proto @@ -1,151 +1,138 @@ syntax = "proto3"; package protowire; -option go_package = "github.com/karlsen-network/karlsend/protowire"; - -import "p2p.proto"; import "rpc.proto"; -message KarlsendMessage { +message KarlsendRequest { + uint64 id = 101; oneof payload { - AddressesMessage addresses = 1; - BlockMessage block = 2; - TransactionMessage transaction = 3; - BlockLocatorMessage blockLocator = 5; - RequestAddressesMessage requestAddresses = 6; - RequestRelayBlocksMessage requestRelayBlocks = 10; - RequestTransactionsMessage requestTransactions = 12; - BlockMessage ibdBlock = 13; - InvRelayBlockMessage invRelayBlock = 14; - InvTransactionsMessage invTransactions = 15; - PingMessage ping = 16; - PongMessage pong = 17; - VerackMessage verack = 19; - VersionMessage version = 20; - TransactionNotFoundMessage transactionNotFound = 21; - RejectMessage reject = 22; - PruningPointUtxoSetChunkMessage pruningPointUtxoSetChunk = 25; - RequestIBDBlocksMessage requestIBDBlocks = 26; - UnexpectedPruningPointMessage unexpectedPruningPoint = 27; - IbdBlockLocatorMessage ibdBlockLocator = 30; - IbdBlockLocatorHighestHashMessage ibdBlockLocatorHighestHash = 31; - RequestNextPruningPointUtxoSetChunkMessage requestNextPruningPointUtxoSetChunk = 33; - DonePruningPointUtxoSetChunksMessage donePruningPointUtxoSetChunks = 34; - IbdBlockLocatorHighestHashNotFoundMessage ibdBlockLocatorHighestHashNotFound = 35; - BlockWithTrustedDataMessage blockWithTrustedData = 36; - DoneBlocksWithTrustedDataMessage doneBlocksWithTrustedData = 37; - RequestPruningPointAndItsAnticoneMessage requestPruningPointAndItsAnticone = 40; - BlockHeadersMessage blockHeaders = 41; - RequestNextHeadersMessage requestNextHeaders = 42; - DoneHeadersMessage DoneHeaders = 43; - RequestPruningPointUTXOSetMessage requestPruningPointUTXOSet = 44; - RequestHeadersMessage requestHeaders = 45; - RequestBlockLocatorMessage requestBlockLocator = 46; - PruningPointsMessage pruningPoints = 47; - RequestPruningPointProofMessage requestPruningPointProof = 48; - PruningPointProofMessage pruningPointProof = 49; - ReadyMessage ready = 50; - BlockWithTrustedDataV4Message blockWithTrustedDataV4 = 51; - TrustedDataMessage trustedData = 52; - RequestIBDChainBlockLocatorMessage requestIBDChainBlockLocator = 53; - IbdChainBlockLocatorMessage ibdChainBlockLocator = 54; - RequestAnticoneMessage requestAnticone = 55; - RequestNextPruningPointAndItsAnticoneBlocksMessage requestNextPruningPointAndItsAnticoneBlocks = 56; - GetCurrentNetworkRequestMessage getCurrentNetworkRequest = 1001; - GetCurrentNetworkResponseMessage getCurrentNetworkResponse = 1002; SubmitBlockRequestMessage submitBlockRequest = 1003; - SubmitBlockResponseMessage submitBlockResponse = 1004; GetBlockTemplateRequestMessage getBlockTemplateRequest = 1005; - GetBlockTemplateResponseMessage getBlockTemplateResponse = 1006; NotifyBlockAddedRequestMessage notifyBlockAddedRequest = 1007; + // BlockAddedNotificationMessage blockAddedNotification = 1009; + GetPeerAddressesRequestMessage getPeerAddressesRequest = 1010; + GetSinkRequestMessage GetSinkRequest = 1012; + GetMempoolEntryRequestMessage getMempoolEntryRequest = 1014; + GetConnectedPeerInfoRequestMessage getConnectedPeerInfoRequest = 1016; + AddPeerRequestMessage addPeerRequest = 1018; + SubmitTransactionRequestMessage submitTransactionRequest = 1020; + NotifyVirtualChainChangedRequestMessage notifyVirtualChainChangedRequest = 1022; + // VirtualChainChangedNotificationMessage virtualChainChangedNotification = 1024; + GetBlockRequestMessage getBlockRequest = 1025; + GetSubnetworkRequestMessage getSubnetworkRequest = 1027; + GetVirtualChainFromBlockRequestMessage getVirtualChainFromBlockRequest = 1029; + GetBlocksRequestMessage getBlocksRequest = 1031; + GetBlockCountRequestMessage getBlockCountRequest = 1033; + GetBlockDagInfoRequestMessage getBlockDagInfoRequest = 1035; + ResolveFinalityConflictRequestMessage resolveFinalityConflictRequest = 1037; + NotifyFinalityConflictRequestMessage notifyFinalityConflictRequest = 1039; + // FinalityConflictNotificationMessage finalityConflictNotification = 1041; + // FinalityConflictResolvedNotificationMessage finalityConflictResolvedNotification = 1042; + GetMempoolEntriesRequestMessage getMempoolEntriesRequest = 1043; + ShutdownRequestMessage shutdownRequest = 1045; + GetHeadersRequestMessage getHeadersRequest = 1047; + NotifyUtxosChangedRequestMessage notifyUtxosChangedRequest = 1049; + // UtxosChangedNotificationMessage utxosChangedNotification = 1051; + GetUtxosByAddressesRequestMessage getUtxosByAddressesRequest = 1052; + GetSinkBlueScoreRequestMessage getSinkBlueScoreRequest = 1054; + NotifySinkBlueScoreChangedRequestMessage notifySinkBlueScoreChangedRequest = 1056; + // SinkBlueScoreChangedNotificationMessage sinkBlueScoreChangedNotification = 1058; + BanRequestMessage banRequest = 1059; + UnbanRequestMessage unbanRequest = 1061; + GetInfoRequestMessage getInfoRequest = 1063; + StopNotifyingUtxosChangedRequestMessage stopNotifyingUtxosChangedRequest = 1065; + NotifyPruningPointUtxoSetOverrideRequestMessage notifyPruningPointUtxoSetOverrideRequest = 1067; + // PruningPointUtxoSetOverrideNotificationMessage pruningPointUtxoSetOverrideNotification = 1069; + StopNotifyingPruningPointUtxoSetOverrideRequestMessage stopNotifyingPruningPointUtxoSetOverrideRequest = 1070; + EstimateNetworkHashesPerSecondRequestMessage estimateNetworkHashesPerSecondRequest = 1072; + NotifyVirtualDaaScoreChangedRequestMessage notifyVirtualDaaScoreChangedRequest = 1074; + // VirtualDaaScoreChangedNotificationMessage virtualDaaScoreChangedNotification = 1076; + GetBalanceByAddressRequestMessage getBalanceByAddressRequest = 1077; + GetBalancesByAddressesRequestMessage getBalancesByAddressesRequest = 1079; + NotifyNewBlockTemplateRequestMessage notifyNewBlockTemplateRequest = 1081; + // NewBlockTemplateNotificationMessage newBlockTemplateNotification = 1083; + GetMempoolEntriesByAddressesRequestMessage getMempoolEntriesByAddressesRequest = 1084; + GetCoinSupplyRequestMessage getCoinSupplyRequest = 1086; + PingRequestMessage pingRequest = 1088; + GetMetricsRequestMessage getMetricsRequest = 1090; + GetServerInfoRequestMessage getServerInfoRequest = 1092; + GetSyncStatusRequestMessage getSyncStatusRequest = 1094; + GetDaaScoreTimestampEstimateRequestMessage getDaaScoreTimestampEstimateRequest = 1096; + SubmitTransactionReplacementRequestMessage submitTransactionReplacementRequest = 1100; + GetConnectionsRequestMessage getConnectionsRequest = 1102; + GetSystemInfoRequestMessage getSystemInfoRequest = 1104; + GetFeeEstimateRequestMessage getFeeEstimateRequest = 1106; + GetFeeEstimateExperimentalRequestMessage getFeeEstimateExperimentalRequest = 1108; + GetCurrentBlockColorRequestMessage getCurrentBlockColorRequest = 1110; + } +} + +message KarlsendResponse { + uint64 id = 101; + oneof payload { + GetCurrentNetworkResponseMessage getCurrentNetworkResponse = 1002; + SubmitBlockResponseMessage submitBlockResponse = 1004; + GetBlockTemplateResponseMessage getBlockTemplateResponse = 1006; NotifyBlockAddedResponseMessage notifyBlockAddedResponse = 1008; BlockAddedNotificationMessage blockAddedNotification = 1009; - GetPeerAddressesRequestMessage getPeerAddressesRequest = 1010; GetPeerAddressesResponseMessage getPeerAddressesResponse = 1011; - GetSelectedTipHashRequestMessage getSelectedTipHashRequest = 1012; - GetSelectedTipHashResponseMessage getSelectedTipHashResponse = 1013; - GetMempoolEntryRequestMessage getMempoolEntryRequest = 1014; + GetSinkResponseMessage GetSinkResponse = 1013; GetMempoolEntryResponseMessage getMempoolEntryResponse = 1015; - GetConnectedPeerInfoRequestMessage getConnectedPeerInfoRequest = 1016; GetConnectedPeerInfoResponseMessage getConnectedPeerInfoResponse = 1017; - AddPeerRequestMessage addPeerRequest = 1018; AddPeerResponseMessage addPeerResponse = 1019; - SubmitTransactionRequestMessage submitTransactionRequest = 1020; SubmitTransactionResponseMessage submitTransactionResponse = 1021; - NotifyVirtualSelectedParentChainChangedRequestMessage notifyVirtualSelectedParentChainChangedRequest = 1022; - NotifyVirtualSelectedParentChainChangedResponseMessage notifyVirtualSelectedParentChainChangedResponse = 1023; - VirtualSelectedParentChainChangedNotificationMessage virtualSelectedParentChainChangedNotification = 1024; - GetBlockRequestMessage getBlockRequest = 1025; + NotifyVirtualChainChangedResponseMessage notifyVirtualChainChangedResponse = 1023; + VirtualChainChangedNotificationMessage virtualChainChangedNotification = 1024; GetBlockResponseMessage getBlockResponse = 1026; - GetSubnetworkRequestMessage getSubnetworkRequest = 1027; GetSubnetworkResponseMessage getSubnetworkResponse = 1028; - GetVirtualSelectedParentChainFromBlockRequestMessage getVirtualSelectedParentChainFromBlockRequest = 1029; - GetVirtualSelectedParentChainFromBlockResponseMessage getVirtualSelectedParentChainFromBlockResponse = 1030; - GetBlocksRequestMessage getBlocksRequest = 1031; + GetVirtualChainFromBlockResponseMessage getVirtualChainFromBlockResponse = 1030; GetBlocksResponseMessage getBlocksResponse = 1032; - GetBlockCountRequestMessage getBlockCountRequest = 1033; GetBlockCountResponseMessage getBlockCountResponse = 1034; - GetBlockDagInfoRequestMessage getBlockDagInfoRequest = 1035; GetBlockDagInfoResponseMessage getBlockDagInfoResponse = 1036; - ResolveFinalityConflictRequestMessage resolveFinalityConflictRequest = 1037; ResolveFinalityConflictResponseMessage resolveFinalityConflictResponse = 1038; - NotifyFinalityConflictsRequestMessage notifyFinalityConflictsRequest = 1039; - NotifyFinalityConflictsResponseMessage notifyFinalityConflictsResponse = 1040; + NotifyFinalityConflictResponseMessage notifyFinalityConflictResponse = 1040; FinalityConflictNotificationMessage finalityConflictNotification = 1041; FinalityConflictResolvedNotificationMessage finalityConflictResolvedNotification = 1042; - GetMempoolEntriesRequestMessage getMempoolEntriesRequest = 1043; GetMempoolEntriesResponseMessage getMempoolEntriesResponse = 1044; - ShutDownRequestMessage shutDownRequest = 1045; - ShutDownResponseMessage shutDownResponse = 1046; - GetHeadersRequestMessage getHeadersRequest = 1047; + ShutdownResponseMessage shutdownResponse = 1046; GetHeadersResponseMessage getHeadersResponse = 1048; - NotifyUtxosChangedRequestMessage notifyUtxosChangedRequest = 1049; NotifyUtxosChangedResponseMessage notifyUtxosChangedResponse = 1050; UtxosChangedNotificationMessage utxosChangedNotification = 1051; - GetUtxosByAddressesRequestMessage getUtxosByAddressesRequest = 1052; GetUtxosByAddressesResponseMessage getUtxosByAddressesResponse = 1053; - GetVirtualSelectedParentBlueScoreRequestMessage getVirtualSelectedParentBlueScoreRequest = 1054; - GetVirtualSelectedParentBlueScoreResponseMessage getVirtualSelectedParentBlueScoreResponse = 1055; - NotifyVirtualSelectedParentBlueScoreChangedRequestMessage notifyVirtualSelectedParentBlueScoreChangedRequest = 1056; - NotifyVirtualSelectedParentBlueScoreChangedResponseMessage notifyVirtualSelectedParentBlueScoreChangedResponse = 1057; - VirtualSelectedParentBlueScoreChangedNotificationMessage virtualSelectedParentBlueScoreChangedNotification = 1058; - BanRequestMessage banRequest = 1059; + GetSinkBlueScoreResponseMessage getSinkBlueScoreResponse = 1055; + NotifySinkBlueScoreChangedResponseMessage notifySinkBlueScoreChangedResponse = 1057; + SinkBlueScoreChangedNotificationMessage sinkBlueScoreChangedNotification = 1058; BanResponseMessage banResponse = 1060; - UnbanRequestMessage unbanRequest = 1061; UnbanResponseMessage unbanResponse = 1062; - GetInfoRequestMessage getInfoRequest = 1063; GetInfoResponseMessage getInfoResponse = 1064; - StopNotifyingUtxosChangedRequestMessage stopNotifyingUtxosChangedRequest = 1065; StopNotifyingUtxosChangedResponseMessage stopNotifyingUtxosChangedResponse = 1066; - NotifyPruningPointUTXOSetOverrideRequestMessage notifyPruningPointUTXOSetOverrideRequest = 1067; - NotifyPruningPointUTXOSetOverrideResponseMessage notifyPruningPointUTXOSetOverrideResponse = 1068; - PruningPointUTXOSetOverrideNotificationMessage pruningPointUTXOSetOverrideNotification = 1069; - StopNotifyingPruningPointUTXOSetOverrideRequestMessage stopNotifyingPruningPointUTXOSetOverrideRequest = 1070; - StopNotifyingPruningPointUTXOSetOverrideResponseMessage stopNotifyingPruningPointUTXOSetOverrideResponse = 1071; - EstimateNetworkHashesPerSecondRequestMessage estimateNetworkHashesPerSecondRequest = 1072; + NotifyPruningPointUtxoSetOverrideResponseMessage notifyPruningPointUtxoSetOverrideResponse = 1068; + PruningPointUtxoSetOverrideNotificationMessage pruningPointUtxoSetOverrideNotification = 1069; + StopNotifyingPruningPointUtxoSetOverrideResponseMessage stopNotifyingPruningPointUtxoSetOverrideResponse = 1071; EstimateNetworkHashesPerSecondResponseMessage estimateNetworkHashesPerSecondResponse = 1073; - NotifyVirtualDaaScoreChangedRequestMessage notifyVirtualDaaScoreChangedRequest = 1074; NotifyVirtualDaaScoreChangedResponseMessage notifyVirtualDaaScoreChangedResponse = 1075; VirtualDaaScoreChangedNotificationMessage virtualDaaScoreChangedNotification = 1076; - GetBalanceByAddressRequestMessage getBalanceByAddressRequest = 1077; GetBalanceByAddressResponseMessage getBalanceByAddressResponse = 1078; - GetBalancesByAddressesRequestMessage getBalancesByAddressesRequest = 1079; GetBalancesByAddressesResponseMessage getBalancesByAddressesResponse = 1080; - NotifyNewBlockTemplateRequestMessage notifyNewBlockTemplateRequest = 1081; NotifyNewBlockTemplateResponseMessage notifyNewBlockTemplateResponse = 1082; NewBlockTemplateNotificationMessage newBlockTemplateNotification = 1083; - GetMempoolEntriesByAddressesRequestMessage getMempoolEntriesByAddressesRequest = 1084; GetMempoolEntriesByAddressesResponseMessage getMempoolEntriesByAddressesResponse = 1085; - GetCoinSupplyRequestMessage getCoinSupplyRequest = 1086; GetCoinSupplyResponseMessage getCoinSupplyResponse= 1087; + PingResponseMessage pingResponse= 1089; + GetMetricsResponseMessage getMetricsResponse= 1091; + GetServerInfoResponseMessage getServerInfoResponse = 1093; + GetSyncStatusResponseMessage getSyncStatusResponse = 1095; + GetDaaScoreTimestampEstimateResponseMessage getDaaScoreTimestampEstimateResponse = 1097; + SubmitTransactionReplacementResponseMessage submitTransactionReplacementResponse = 1101; + GetConnectionsResponseMessage getConnectionsResponse= 1103; + GetSystemInfoResponseMessage getSystemInfoResponse= 1105; + GetFeeEstimateResponseMessage getFeeEstimateResponse = 1107; + GetFeeEstimateExperimentalResponseMessage getFeeEstimateExperimentalResponse = 1109; + GetCurrentBlockColorResponseMessage getCurrentBlockColorResponse = 1111; } } -service P2P { - rpc MessageStream (stream KarlsendMessage) returns (stream KarlsendMessage) {} -} - service RPC { - rpc MessageStream (stream KarlsendMessage) returns (stream KarlsendMessage) {} + rpc MessageStream (stream KarlsendRequest) returns (stream KarlsendResponse) {} } diff --git a/proto/p2p.proto b/proto/p2p.proto deleted file mode 100644 index 0e714c2e..00000000 --- a/proto/p2p.proto +++ /dev/null @@ -1,290 +0,0 @@ -syntax = "proto3"; -package protowire; - -option go_package = "github.com/karlsen-network/karlsend/protowire"; - -message RequestAddressesMessage{ - bool includeAllSubnetworks = 1; - SubnetworkId subnetworkId = 2; -} - -message AddressesMessage{ - repeated NetAddress addressList = 1; -} - -message NetAddress{ - int64 timestamp = 1; - bytes ip = 3; - uint32 port = 4; -} - -message SubnetworkId{ - bytes bytes = 1; -} - -message TransactionMessage{ - uint32 version = 1; - repeated TransactionInput inputs = 2; - repeated TransactionOutput outputs = 3; - uint64 lockTime = 4; - SubnetworkId subnetworkId = 5; - uint64 gas = 6; - bytes payload = 8; -} - -message TransactionInput{ - Outpoint previousOutpoint = 1; - bytes signatureScript = 2; - uint64 sequence = 3; - uint32 sigOpCount = 4; -} - -message Outpoint{ - TransactionId transactionId = 1; - uint32 index = 2; -} - -message TransactionId{ - bytes bytes = 1; -} -message ScriptPublicKey { - bytes script = 1; - uint32 version = 2; -} - -message TransactionOutput{ - uint64 value = 1; - ScriptPublicKey scriptPublicKey = 2; -} - -message BlockMessage{ - BlockHeader header = 1; - repeated TransactionMessage transactions = 2; -} - -message BlockHeader{ - uint32 version = 1; - repeated BlockLevelParents parents = 12; - Hash hashMerkleRoot = 3; - Hash acceptedIdMerkleRoot = 4; - Hash utxoCommitment = 5; - int64 timestamp = 6; - uint32 bits = 7; - uint64 nonce = 8; - uint64 daaScore = 9; - bytes blueWork = 10; - Hash pruningPoint = 14; - uint64 blueScore = 13; -} - -message BlockLevelParents { - repeated Hash parentHashes = 1; -} - -message Hash{ - bytes bytes = 1; -} - -message RequestBlockLocatorMessage{ - Hash highHash = 1; - uint32 limit = 2; -} - -message BlockLocatorMessage{ - repeated Hash hashes = 1; -} - -message RequestHeadersMessage{ - Hash lowHash = 1; - Hash highHash = 2; -} - -message RequestNextHeadersMessage{ -} - -message DoneHeadersMessage{ -} - -message RequestRelayBlocksMessage{ - repeated Hash hashes = 1; -} - -message RequestTransactionsMessage { - repeated TransactionId ids = 1; -} - -message TransactionNotFoundMessage{ - TransactionId id = 1; -} - -message InvRelayBlockMessage{ - Hash hash = 1; -} - -message InvTransactionsMessage{ - repeated TransactionId ids = 1; -} - -message PingMessage{ - uint64 nonce = 1; -} - -message PongMessage{ - uint64 nonce = 1; -} - -message VerackMessage{ -} - -message VersionMessage{ - uint32 protocolVersion = 1; - uint64 services = 2; - int64 timestamp = 3; - NetAddress address = 4; - bytes id = 5; - string userAgent = 6; - bool disableRelayTx = 8; - SubnetworkId subnetworkId = 9; - string network = 10; -} - -message RejectMessage{ - string reason = 1; -} - -message RequestPruningPointUTXOSetMessage{ - Hash pruningPointHash = 1; -} - -message PruningPointUtxoSetChunkMessage{ - repeated OutpointAndUtxoEntryPair outpointAndUtxoEntryPairs = 1; -} - -message OutpointAndUtxoEntryPair{ - Outpoint outpoint = 1; - UtxoEntry utxoEntry = 2; -} - -message UtxoEntry { - uint64 amount = 1; - ScriptPublicKey scriptPublicKey = 2; - uint64 blockDaaScore = 3; - bool isCoinbase = 4; -} - -message RequestNextPruningPointUtxoSetChunkMessage { -} - -message DonePruningPointUtxoSetChunksMessage { -} - -message RequestIBDBlocksMessage{ - repeated Hash hashes = 1; -} - -message UnexpectedPruningPointMessage{ -} - -message IbdBlockLocatorMessage { - Hash targetHash = 1; - repeated Hash blockLocatorHashes = 2; -} - -message RequestIBDChainBlockLocatorMessage{ - Hash lowHash = 1; - Hash highHash = 2; -} - -message IbdChainBlockLocatorMessage { - repeated Hash blockLocatorHashes = 1; -} - -message RequestAnticoneMessage{ - Hash blockHash = 1; - Hash contextHash = 2; -} - -message IbdBlockLocatorHighestHashMessage { - Hash highestHash = 1; -} - -message IbdBlockLocatorHighestHashNotFoundMessage { -} - -message BlockHeadersMessage { - repeated BlockHeader blockHeaders = 1; -} - -message RequestPruningPointAndItsAnticoneMessage { -} - -message RequestNextPruningPointAndItsAnticoneBlocksMessage{ -} - -message BlockWithTrustedDataMessage { - BlockMessage block = 1; - uint64 daaScore = 2; - repeated DaaBlock daaWindow = 3; - repeated BlockGhostdagDataHashPair ghostdagData = 4; -} - -message DaaBlock { - BlockMessage block = 3; - GhostdagData ghostdagData = 2; -} - -message DaaBlockV4 { - BlockHeader header = 1; - GhostdagData ghostdagData = 2; -} - -message BlockGhostdagDataHashPair { - Hash hash = 1; - GhostdagData ghostdagData = 2; -} - -message GhostdagData { - uint64 blueScore = 1; - bytes blueWork = 2; - Hash selectedParent = 3; - repeated Hash mergeSetBlues = 4; - repeated Hash mergeSetReds = 5; - repeated BluesAnticoneSizes bluesAnticoneSizes = 6; -} - -message BluesAnticoneSizes { - Hash blueHash = 1; - uint32 anticoneSize = 2; -} - -message DoneBlocksWithTrustedDataMessage { -} - -message PruningPointsMessage { - repeated BlockHeader headers = 1; -} - -message RequestPruningPointProofMessage { -} - -message PruningPointProofMessage { - repeated PruningPointProofHeaderArray headers = 1; -} - -message PruningPointProofHeaderArray { - repeated BlockHeader headers = 1; -} - -message ReadyMessage { -} - -message BlockWithTrustedDataV4Message { - BlockMessage block = 1; - repeated uint64 daaWindowIndices = 2; - repeated uint64 ghostdagDataIndices = 3; -} - -message TrustedDataMessage { - repeated DaaBlockV4 daaWindow = 1; - repeated BlockGhostdagDataHashPair ghostdagData = 2; -} diff --git a/proto/rpc.proto b/proto/rpc.proto index 9a087f0f..14ba1b06 100644 --- a/proto/rpc.proto +++ b/proto/rpc.proto @@ -10,8 +10,6 @@ syntax = "proto3"; package protowire; -option go_package = "github.com/karlsen-network/karlsend/protowire"; - // RPCError represents a generic non-internal error. // // Receivers of any ResponseMessage are expected to check whether its error field is not null. @@ -66,6 +64,7 @@ message RpcTransaction { uint64 gas = 6; string payload = 8; RpcTransactionVerboseData verboseData = 9; + uint64 mass = 10; } message RpcTransactionInput { @@ -115,6 +114,11 @@ message RpcTransactionOutputVerboseData{ string scriptPublicKeyAddress = 6; } +enum RpcNotifyCommand { + NOTIFY_START = 0; + NOTIFY_STOP = 1; +} + // GetCurrentNetworkRequestMessage requests the network karlsend is currently running against. // // Possible networks are: Mainnet, Testnet, Simnet, Devnet @@ -171,6 +175,7 @@ message GetBlockTemplateResponseMessage{ // // See: BlockAddedNotificationMessage message NotifyBlockAddedRequestMessage{ + RpcNotifyCommand command = 101; } message NotifyBlockAddedResponseMessage{ @@ -200,13 +205,13 @@ message GetPeerAddressesKnownAddressMessage { string Addr = 1; } -// GetSelectedTipHashRequestMessage requests the hash of the current virtual's +// GetSinkRequestMessage requests the hash of the current virtual's // selected parent. -message GetSelectedTipHashRequestMessage{ +message GetSinkRequestMessage{ } -message GetSelectedTipHashResponseMessage{ - string selectedTipHash = 1; +message GetSinkResponseMessage{ + string sink = 1; RPCError error = 1000; } @@ -220,7 +225,7 @@ message GetMempoolEntryRequestMessage{ } message GetMempoolEntryResponseMessage{ - MempoolEntry entry = 1; + RpcMempoolEntry entry = 1; RPCError error = 1000; } @@ -228,17 +233,17 @@ message GetMempoolEntryResponseMessage{ // GetMempoolEntriesRequestMessage requests information about all the transactions // currently in the mempool. message GetMempoolEntriesRequestMessage{ - bool includeOrphanPool = 1; - bool filterTransactionPool = 2; + bool includeOrphanPool = 1; + bool filterTransactionPool = 2; } message GetMempoolEntriesResponseMessage{ - repeated MempoolEntry entries = 1; + repeated RpcMempoolEntry entries = 1; RPCError error = 1000; } -message MempoolEntry{ +message RpcMempoolEntry{ uint64 fee = 1; RpcTransaction transaction = 3; bool isOrphan = 4; @@ -302,22 +307,38 @@ message SubmitTransactionResponseMessage{ RPCError error = 1000; } -// NotifyVirtualSelectedParentChainChangedRequestMessage registers this connection for virtualSelectedParentChainChanged notifications. +// SubmitTransactionReplacementRequestMessage submits a transaction to the mempool, applying a mandatory Replace by Fee policy +message SubmitTransactionReplacementRequestMessage{ + RpcTransaction transaction = 1; +} + +message SubmitTransactionReplacementResponseMessage{ + // The transaction ID of the submitted transaction + string transactionId = 1; + + // The previous transaction replaced in the mempool by the newly submitted one + RpcTransaction replacedTransaction = 2; + + RPCError error = 1000; +} + +// NotifyVirtualChainChangedRequestMessage registers this connection for virtualChainChanged notifications. // -// See: VirtualSelectedParentChainChangedNotificationMessage -message NotifyVirtualSelectedParentChainChangedRequestMessage{ +// See: VirtualChainChangedNotificationMessage +message NotifyVirtualChainChangedRequestMessage{ bool includeAcceptedTransactionIds = 1; + RpcNotifyCommand command = 101; } -message NotifyVirtualSelectedParentChainChangedResponseMessage{ +message NotifyVirtualChainChangedResponseMessage{ RPCError error = 1000; } -// VirtualSelectedParentChainChangedNotificationMessage is sent whenever the DAG's selected parent +// VirtualChainChangedNotificationMessage is sent whenever the DAG's selected parent // chain had changed. // -// See: NotifyVirtualSelectedParentChainChangedRequestMessage -message VirtualSelectedParentChainChangedNotificationMessage{ +// See: NotifyVirtualChainChangedRequestMessage +message VirtualChainChangedNotificationMessage{ // The chain blocks that were removed, in high-to-low order repeated string removedChainBlockHashes = 1; @@ -325,7 +346,7 @@ message VirtualSelectedParentChainChangedNotificationMessage{ repeated string addedChainBlockHashes = 3; // Will be filled only if `includeAcceptedTransactionIds = true` in the notify request. - repeated AcceptedTransactionIds acceptedTransactionIds = 2; + repeated RpcAcceptedTransactionIds acceptedTransactionIds = 2; } // GetBlockRequestMessage requests information about a specific block @@ -354,19 +375,19 @@ message GetSubnetworkResponseMessage{ RPCError error = 1000; } -// GetVirtualSelectedParentChainFromBlockRequestMessage requests the virtual selected +// GetVirtualChainFromBlockRequestMessage requests the virtual selected // parent chain from some startHash to this karlsend's current virtual -message GetVirtualSelectedParentChainFromBlockRequestMessage{ +message GetVirtualChainFromBlockRequestMessage{ string startHash = 1; bool includeAcceptedTransactionIds = 2; } -message AcceptedTransactionIds{ +message RpcAcceptedTransactionIds{ string acceptingBlockHash = 1; repeated string acceptedTransactionIds = 2; } -message GetVirtualSelectedParentChainFromBlockResponseMessage{ +message GetVirtualChainFromBlockResponseMessage{ // The chain blocks that were removed, in high-to-low order repeated string removedChainBlockHashes = 1; @@ -375,7 +396,7 @@ message GetVirtualSelectedParentChainFromBlockResponseMessage{ // The transactions accepted by each block in addedChainBlockHashes. // Will be filled only if `includeAcceptedTransactionIds = true` in the request. - repeated AcceptedTransactionIds acceptedTransactionIds = 2; + repeated RpcAcceptedTransactionIds acceptedTransactionIds = 2; RPCError error = 1000; } @@ -420,6 +441,7 @@ message GetBlockDagInfoResponseMessage{ repeated string virtualParentHashes = 7; string pruningPointHash = 8; uint64 virtualDaaScore = 9; + string sink = 10; RPCError error = 1000; } @@ -431,10 +453,11 @@ message ResolveFinalityConflictResponseMessage{ RPCError error = 1000; } -message NotifyFinalityConflictsRequestMessage{ +message NotifyFinalityConflictRequestMessage{ + RpcNotifyCommand command = 101; } -message NotifyFinalityConflictsResponseMessage{ +message NotifyFinalityConflictResponseMessage{ RPCError error = 1000; } @@ -446,11 +469,11 @@ message FinalityConflictResolvedNotificationMessage{ string finalityBlockHash = 1; } -// ShutDownRequestMessage shuts down this karlsend. -message ShutDownRequestMessage{ +// ShutdownRequestMessage shuts down this karlsend. +message ShutdownRequestMessage{ } -message ShutDownResponseMessage{ +message ShutdownResponseMessage{ RPCError error = 1000; } @@ -474,7 +497,10 @@ message GetHeadersResponseMessage{ // // See: UtxosChangedNotificationMessage message NotifyUtxosChangedRequestMessage { - repeated string addresses = 1; // Leave empty to get all updates + // UTXOs addresses to start/stop getting notified about + // Leave empty to start/stop all updates + repeated string addresses = 1; + RpcNotifyCommand command = 101; } message NotifyUtxosChangedResponseMessage { @@ -485,11 +511,11 @@ message NotifyUtxosChangedResponseMessage { // // See: NotifyUtxosChangedRequestMessage message UtxosChangedNotificationMessage { - repeated UtxosByAddressesEntry added = 1; - repeated UtxosByAddressesEntry removed = 2; + repeated RpcUtxosByAddressesEntry added = 1; + repeated RpcUtxosByAddressesEntry removed = 2; } -message UtxosByAddressesEntry { +message RpcUtxosByAddressesEntry { string address = 1; RpcOutpoint outpoint = 2; RpcUtxoEntry utxoEntry = 3; @@ -501,6 +527,9 @@ message UtxosByAddressesEntry { // This call is only available when this karlsend was started with `--utxoindex` // // See: UtxosChangedNotificationMessage +// +// This message only exists for backward compatibility reason with karlsend and is deprecated. +// Use instead UtxosChangedNotificationMessage with command = NOTIFY_STOP. message StopNotifyingUtxosChangedRequestMessage { repeated string addresses = 1; } @@ -517,7 +546,7 @@ message GetUtxosByAddressesRequestMessage { } message GetUtxosByAddressesResponseMessage { - repeated UtxosByAddressesEntry entries = 1; + repeated RpcUtxosByAddressesEntry entries = 1; RPCError error = 1000; } @@ -539,7 +568,7 @@ message GetBalancesByAddressesRequestMessage { repeated string addresses = 1; } -message BalancesByAddressEntry{ +message RpcBalancesByAddressesEntry{ string address = 1; uint64 balance = 2; @@ -547,39 +576,40 @@ message BalancesByAddressEntry{ } message GetBalancesByAddressesResponseMessage { - repeated BalancesByAddressEntry entries = 1; + repeated RpcBalancesByAddressesEntry entries = 1; RPCError error = 1000; } -// GetVirtualSelectedParentBlueScoreRequestMessage requests the blue score of the current selected parent +// GetSinkBlueScoreRequestMessage requests the blue score of the current selected parent // of the virtual block. -message GetVirtualSelectedParentBlueScoreRequestMessage { +message GetSinkBlueScoreRequestMessage { } -message GetVirtualSelectedParentBlueScoreResponseMessage { +message GetSinkBlueScoreResponseMessage { uint64 blueScore = 1; RPCError error = 1000; } -// NotifyVirtualSelectedParentBlueScoreChangedRequestMessage registers this connection for -// virtualSelectedParentBlueScoreChanged notifications. +// NotifySinkBlueScoreChangedRequestMessage registers this connection for +// sinkBlueScoreChanged notifications. // -// See: VirtualSelectedParentBlueScoreChangedNotificationMessage -message NotifyVirtualSelectedParentBlueScoreChangedRequestMessage { +// See: SinkBlueScoreChangedNotificationMessage +message NotifySinkBlueScoreChangedRequestMessage { + RpcNotifyCommand command = 101; } -message NotifyVirtualSelectedParentBlueScoreChangedResponseMessage { +message NotifySinkBlueScoreChangedResponseMessage { RPCError error = 1000; } -// VirtualSelectedParentBlueScoreChangedNotificationMessage is sent whenever the blue score +// SinkBlueScoreChangedNotificationMessage is sent whenever the blue score // of the virtual's selected parent changes. // -// See NotifyVirtualSelectedParentBlueScoreChangedRequestMessage -message VirtualSelectedParentBlueScoreChangedNotificationMessage { - uint64 virtualSelectedParentBlueScore = 1; +// See NotifySinkBlueScoreChangedRequestMessage +message SinkBlueScoreChangedNotificationMessage { + uint64 sinkBlueScore = 1; } // NotifyVirtualDaaScoreChangedRequestMessage registers this connection for @@ -587,6 +617,7 @@ message VirtualSelectedParentBlueScoreChangedNotificationMessage { // // See: VirtualDaaScoreChangedNotificationMessage message NotifyVirtualDaaScoreChangedRequestMessage { + RpcNotifyCommand command = 101; } message NotifyVirtualDaaScoreChangedResponseMessage { @@ -601,37 +632,41 @@ message VirtualDaaScoreChangedNotificationMessage { uint64 virtualDaaScore = 1; } -// NotifyPruningPointUTXOSetOverrideRequestMessage registers this connection for +// NotifyPruningPointUtxoSetOverrideRequestMessage registers this connection for // pruning point UTXO set override notifications. // // This call is only available when this karlsend was started with `--utxoindex` // -// See: NotifyPruningPointUTXOSetOverrideResponseMessage -message NotifyPruningPointUTXOSetOverrideRequestMessage { +// See: NotifyPruningPointUtxoSetOverrideResponseMessage +message NotifyPruningPointUtxoSetOverrideRequestMessage { + RpcNotifyCommand command = 101; } -message NotifyPruningPointUTXOSetOverrideResponseMessage { +message NotifyPruningPointUtxoSetOverrideResponseMessage { RPCError error = 1000; } -// PruningPointUTXOSetOverrideNotificationMessage is sent whenever the UTXO index +// PruningPointUtxoSetOverrideNotificationMessage is sent whenever the UTXO index // resets due to pruning point change via IBD. // -// See NotifyPruningPointUTXOSetOverrideRequestMessage -message PruningPointUTXOSetOverrideNotificationMessage { +// See NotifyPruningPointUtxoSetOverrideRequestMessage +message PruningPointUtxoSetOverrideNotificationMessage { } -// StopNotifyingPruningPointUTXOSetOverrideRequestMessage unregisters this connection for +// StopNotifyingPruningPointUtxoSetOverrideRequestMessage unregisters this connection for // pruning point UTXO set override notifications. // // This call is only available when this karlsend was started with `--utxoindex` // -// See: PruningPointUTXOSetOverrideNotificationMessage -message StopNotifyingPruningPointUTXOSetOverrideRequestMessage { +// See: PruningPointUtxoSetOverrideNotificationMessage +// +// This message only exists for backward compatibility reason with karlsend and is deprecated. +// Use instead NotifyPruningPointUtxoSetOverrideRequestMessage with command = NOTIFY_STOP. +message StopNotifyingPruningPointUtxoSetOverrideRequestMessage { } -message StopNotifyingPruningPointUTXOSetOverrideResponseMessage { +message StopNotifyingPruningPointUtxoSetOverrideResponseMessage { RPCError error = 1000; } @@ -663,6 +698,8 @@ message GetInfoResponseMessage{ string serverVersion = 3; bool isUtxoIndexed = 4; bool isSynced = 5; + bool hasNotifyCommand = 11; + bool hasMessageId = 12; RPCError error = 1000; } @@ -681,6 +718,7 @@ message EstimateNetworkHashesPerSecondResponseMessage{ // // See: NewBlockTemplateNotificationMessage message NotifyNewBlockTemplateRequestMessage { + RpcNotifyCommand command = 101; } message NotifyNewBlockTemplateResponseMessage { @@ -694,10 +732,10 @@ message NotifyNewBlockTemplateResponseMessage { message NewBlockTemplateNotificationMessage { } -message MempoolEntryByAddress{ +message RpcMempoolEntryByAddress{ string address = 1; - repeated MempoolEntry sending = 2; - repeated MempoolEntry receiving = 3; + repeated RpcMempoolEntry sending = 2; + repeated RpcMempoolEntry receiving = 3; } message GetMempoolEntriesByAddressesRequestMessage{ @@ -707,7 +745,7 @@ message GetMempoolEntriesByAddressesRequestMessage{ } message GetMempoolEntriesByAddressesResponseMessage{ - repeated MempoolEntryByAddress entries = 1; + repeated RpcMempoolEntryByAddress entries = 1; RPCError error = 1000; } @@ -716,8 +754,218 @@ message GetCoinSupplyRequestMessage{ } message GetCoinSupplyResponseMessage{ - uint64 maxSompi = 1; // note: this is a hard coded maxSupply, actual maxSupply is expected to deviate by upto -5%, but cannot be measured exactly. - uint64 circulatingSompi = 2; + uint64 maxSompi = 1; // note: this is a hard coded maxSupply, actual maxSupply is expected to deviate by upto -5%, but cannot be measured exactly. + uint64 circulatingSompi = 2; + + RPCError error = 1000; +} + +message PingRequestMessage{ +} + +message PingResponseMessage{ + RPCError error = 1000; +} + +message ProcessMetrics{ + uint64 residentSetSize = 1; + uint64 virtualMemorySize = 2; + uint32 coreNum = 3; + float cpuUsage = 4; + uint32 fdNum = 5; + uint64 diskIoReadBytes = 6; + uint64 diskIoWriteBytes = 7; + float diskIoReadPerSec = 8; + float diskIoWritePerSec = 9; +} + +message ConnectionMetrics { + uint32 borshLiveConnections = 31; + uint64 borshConnectionAttempts = 32; + uint64 borshHandshakeFailures = 33; + + uint32 jsonLiveConnections = 41; + uint64 jsonConnectionAttempts = 42; + uint64 jsonHandshakeFailures = 43; + + uint32 activePeers = 51; +} + +message BandwidthMetrics { + uint64 borshBytesTx = 61; + uint64 borshBytesRx = 62; + uint64 jsonBytesTx = 63; + uint64 jsonBytesRx = 64; + uint64 grpcP2pBytesTx = 65; + uint64 grpcP2pBytesRx = 66; + uint64 grpcUserBytesTx = 67; + uint64 grpcUserBytesRx = 68; +} + +message ConsensusMetrics{ + uint64 blocksSubmitted = 1; + uint64 headerCounts = 2; + uint64 depCounts = 3; + uint64 bodyCounts = 4; + uint64 txsCounts = 5; + uint64 chainBlockCounts = 6; + uint64 massCounts = 7; + + uint64 blockCount = 11; + uint64 headerCount = 12; + uint64 mempoolSize = 13; + uint32 tipHashesCount = 14; + double difficulty = 15; + uint64 pastMedianTime = 16; + uint32 virtualParentHashesCount = 17; + uint64 virtualDaaScore = 18; +} + +message StorageMetrics{ + uint64 storageSizeBytes = 1; +} + +message GetConnectionsRequestMessage{ + bool includeProfileData = 1; +} + +message ConnectionsProfileData { + double cpuUsage = 1; + uint64 memoryUsage = 2; +} + +message GetConnectionsResponseMessage{ + uint32 clients = 1; + uint32 peers = 2; + ConnectionsProfileData profileData = 3; + RPCError error = 1000; +} + +message GetSystemInfoRequestMessage{ +} + +message GetSystemInfoResponseMessage{ + string version = 1; + string systemId = 2; + string gitHash = 3; + uint32 coreNum = 4; + uint64 totalMemory = 5; + uint32 fdLimit = 6; + RPCError error = 1000; +} - RPCError error = 1000; +message GetMetricsRequestMessage{ + bool processMetrics = 1; + bool connectionMetrics = 2; + bool bandwidthMetrics = 3; + bool consensusMetrics = 4; + bool storageMetrics = 5; + bool customMetrics = 6; +} + +message GetMetricsResponseMessage{ + uint64 serverTime = 1; + ProcessMetrics processMetrics = 11; + ConnectionMetrics connectionMetrics = 12; + BandwidthMetrics bandwidthMetrics = 13; + ConsensusMetrics consensusMetrics = 14; + StorageMetrics storageMetrics = 15; + RPCError error = 1000; +} + +message GetServerInfoRequestMessage{ +} + +message GetServerInfoResponseMessage{ + uint32 rpcApiVersion = 1; + uint32 rpcApiRevision = 2; + string serverVersion = 3; + string networkId = 4; + bool hasUtxoIndex = 5; + bool isSynced = 6; + uint64 virtualDaaScore = 7; + RPCError error = 1000; +} + +message GetSyncStatusRequestMessage{ +} + +message GetSyncStatusResponseMessage{ + bool isSynced = 1; + RPCError error = 1000; +} + +message GetDaaScoreTimestampEstimateRequestMessage { + repeated uint64 daa_scores = 1; +} + +message GetDaaScoreTimestampEstimateResponseMessage{ + repeated uint64 timestamps = 1; + RPCError error = 1000; +} + +message RpcFeerateBucket { + // Fee/mass of a transaction in `sompi/gram` units + double feerate = 1; + double estimated_seconds = 2; +} + +// Data required for making fee estimates. +// +// Feerate values represent fee/mass of a transaction in `sompi/gram` units. +// Given a feerate value recommendation, calculate the required fee by +// taking the transaction mass and multiplying it by feerate: `fee = feerate * mass(tx)` +message RpcFeeEstimate { + // Top-priority feerate bucket. Provides an estimation of the feerate required for sub-second DAG inclusion. + RpcFeerateBucket priority_bucket = 1; + + // A vector of *normal* priority feerate values. The first value of this vector is guaranteed to exist and + // provide an estimation for sub-*minute* DAG inclusion. All other values will have shorter estimation + // times than all `low_bucket` values. Therefor by chaining `[priority] | normal | low` and interpolating + // between them, one can compose a complete feerate function on the client side. The API makes an effort + // to sample enough "interesting" points on the feerate-to-time curve, so that the interpolation is meaningful. + repeated RpcFeerateBucket normal_buckets = 2; + + // A vector of *low* priority feerate values. The first value of this vector is guaranteed to + // exist and provide an estimation for sub-*hour* DAG inclusion. + repeated RpcFeerateBucket low_buckets = 3; +} + +message RpcFeeEstimateVerboseExperimentalData { + uint64 mempool_ready_transactions_count = 1; + uint64 mempool_ready_transactions_total_mass = 2; + uint64 network_mass_per_second = 3; + + double next_block_template_feerate_min = 11; + double next_block_template_feerate_median = 12; + double next_block_template_feerate_max = 13; +} + +message GetFeeEstimateRequestMessage { +} + +message GetFeeEstimateResponseMessage { + RpcFeeEstimate estimate = 1; + RPCError error = 1000; +} + +message GetFeeEstimateExperimentalRequestMessage { + bool verbose = 1; +} + +message GetFeeEstimateExperimentalResponseMessage { + RpcFeeEstimate estimate = 1; + RpcFeeEstimateVerboseExperimentalData verbose = 2; + + RPCError error = 1000; +} + +message GetCurrentBlockColorRequestMessage { + string hash = 1; +} + +message GetCurrentBlockColorResponseMessage { + bool blue = 1; + + RPCError error = 1000; } diff --git a/pubspec.yaml b/pubspec.yaml index 17e298a9..b8239188 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -2,7 +2,7 @@ name: karlsen_mobile description: The Ultimate Self-Custodial Wallet for the Karlsen Network. publish_to: "none" -version: 2.0.0 +version: 3.0.0+1 environment: sdk: '>=3.3.0 <4.0.0' @@ -19,21 +19,20 @@ dependencies: package_info_plus: ^8.0.2 device_info_plus: ^10.1.2 json_annotation: ^4.9.0 - intl: ^0.19.0 - decimal: ^3.0.2 + intl: 0.19.0 + decimal: 2.3.3 logger: ^2.4.0 hive_flutter: 1.1.0 path_provider: ^2.1.4 local_auth: ^2.3.0 qr_flutter: 4.1.0 - #qr_code_scanner: 1.0.1 - share_plus: ^10.0.2 - file_picker: ^8.1.2 - app_links: ^6.2.0 + qr_code_scanner: 1.0.1 + share_plus: 8.0.3 + file_picker: 8.0.0+1 + app_links: 4.0.1 http: ^1.2.2 - #flutter_vibrate: 1.3.0 - vibration: ^2.0.0 - flutter_slidable: ^3.1.1 + flutter_vibrate: 1.3.0 + flutter_slidable: 3.1.0 validators: 3.0.0 auto_size_text: 3.0.0 url_launcher: ^6.3.0 @@ -46,16 +45,14 @@ dependencies: oktoast: ^3.4.0 automatic_animated_list: 1.1.0 lazy_load_scrollview: 1.3.0 - image_picker: ^1.1.2 - mobile_scanner: ^5.2.1 - #barcode_finder: 0.0.5 + image_picker: 1.0.8 + barcode_finder: 0.0.5 flutter_displaymode: 0.6.0 #push: 1.0.0 - cross_file: ^0.3.4+2 - protobuf: ^3.1.0 - grpc: ^4.0.0 - coinslib: ^3.1.8 - collection: ^1.18.0 + protobuf: 3.1.0 + grpc: 4.0.1 + hex: 0.2.0 + collection: 1.18.0 fixnum: 1.1.0 pointycastle: ^3.9.1 flutter_portal: 1.1.4 @@ -65,9 +62,8 @@ dev_dependencies: sdk: flutter build_runner: ^2.4.11 json_serializable: ^6.8.0 - intl_utils: ^2.4.2 flutter_lints: ^4.0.0 - freezed: ^2.5.2 + freezed: 2.5.2 watcher: 1.1.0 # The following section is specific to Flutter. diff --git a/test/bech32_test.dart b/test/bech32_test.dart index 374acd2a..d58b9419 100644 --- a/test/bech32_test.dart +++ b/test/bech32_test.dart @@ -1,7 +1,6 @@ import 'package:flutter_test/flutter_test.dart'; import 'package:karlsen_mobile/karlsen/bech32/bech32.dart'; import 'package:karlsen_mobile/karlsen/karlsen.dart'; -import 'package:karlsen_mobile/utils.dart'; const checkEncodingStringTests = [ ["a", "0", "", "a:qqeq69uvrh"], diff --git a/test/bip32/fixtures.json b/test/bip32/fixtures.json index 18576a8c..6829f5bf 100644 --- a/test/bip32/fixtures.json +++ b/test/bip32/fixtures.json @@ -1,359 +1,359 @@ { - "valid": [ - { - "network": "bitcoin", - "master": { - "seed": "000102030405060708090a0b0c0d0e0f", - "wif": "L52XzL2cMkHxqxBXRyEpnPQZGUs3uKiL3R11XbAdHigRzDozKZeW", - "pubKey": "0339a36013301597daef41fbe593a02cc513d0b55527ec2df1050e2e8ff49c85c2", - "privKey": "e8f32e723decf4051aefac8e2c93c9c5b214313817cdb01a1494b917c8436b35", - "chainCode": "873dff81c02f525623fd1fe5167eac3a55a049de3d314bb42ee227ffed37d508", - "base58": "xpub661MyMwAqRbcFtXgS5sYJABqqG9YLmC4Q1Rdap9gSE8NqtwybGhePY2gZ29ESFjqJoCu1Rupje8YtGqsefD265TMg7usUDFdp6W1EGMcet8", - "base58Priv": "xprv9s21ZrQH143K3QTDL4LXw2F7HEK3wJUD2nW2nRk4stbPy6cq3jPPqjiChkVvvNKmPGJxWUtg6LnF5kejMRNNU3TGtRBeJgk33yuGBxrMPHi", - "identifier": "3442193e1bb70916e914552172cd4e2dbc9df811", - "fingerprint": "3442193e" - }, - "children": [ - { - "path": "m/0'", - "m": 0, - "hardened": true, - "wif": "L5BmPijJjrKbiUfG4zbiFKNqkvuJ8usooJmzuD7Z8dkRoTThYnAT", - "pubKey": "035a784662a4a20a65bf6aab9ae98a6c068a81c52e4b032c0fb5400c706cfccc56", - "privKey": "edb2e14f9ee77d26dd93b4ecede8d16ed408ce149b6cd80b0715a2d911a0afea", - "chainCode": "47fdacbd0f1097043b78c63c20c34ef4ed9a111d980047ad16282c7ae6236141", - "base58": "xpub68Gmy5EdvgibQVfPdqkBBCHxA5htiqg55crXYuXoQRKfDBFA1WEjWgP6LHhwBZeNK1VTsfTFUHCdrfp1bgwQ9xv5ski8PX9rL2dZXvgGDnw", - "base58Priv": "xprv9uHRZZhk6KAJC1avXpDAp4MDc3sQKNxDiPvvkX8Br5ngLNv1TxvUxt4cV1rGL5hj6KCesnDYUhd7oWgT11eZG7XnxHrnYeSvkzY7d2bhkJ7", - "identifier": "5c1bd648ed23aa5fd50ba52b2457c11e9e80a6a7", - "fingerprint": "5c1bd648", - "index": 2147483648, - "depth": 1 - }, - { - "path": "m/0'/1", - "m": 1, - "wif": "KyFAjQ5rgrKvhXvNMtFB5PCSKUYD1yyPEe3xr3T34TZSUHycXtMM", - "pubKey": "03501e454bf00751f24b1b489aa925215d66af2234e3891c3b21a52bedb3cd711c", - "privKey": "3c6cb8d0f6a264c91ea8b5030fadaa8e538b020f0a387421a12de9319dc93368", - "chainCode": "2a7857631386ba23dacac34180dd1983734e444fdbf774041578e9b6adb37c19", - "base58": "xpub6ASuArnXKPbfEwhqN6e3mwBcDTgzisQN1wXN9BJcM47sSikHjJf3UFHKkNAWbWMiGj7Wf5uMash7SyYq527Hqck2AxYysAA7xmALppuCkwQ", - "base58Priv": "xprv9wTYmMFdV23N2TdNG573QoEsfRrWKQgWeibmLntzniatZvR9BmLnvSxqu53Kw1UmYPxLgboyZQaXwTCg8MSY3H2EU4pWcQDnRnrVA1xe8fs", - "identifier": "bef5a2f9a56a94aab12459f72ad9cf8cf19c7bbe", - "fingerprint": "bef5a2f9", - "index": 1, - "depth": 2 - }, - { - "path": "m/0'/1/2'", - "m": 2, - "hardened": true, - "wif": "L43t3od1Gh7Lj55Bzjj1xDAgJDcL7YFo2nEcNaMGiyRZS1CidBVU", - "pubKey": "0357bfe1e341d01c69fe5654309956cbea516822fba8a601743a012a7896ee8dc2", - "privKey": "cbce0d719ecf7431d88e6a89fa1483e02e35092af60c042b1df2ff59fa424dca", - "chainCode": "04466b9cc8e161e966409ca52986c584f07e9dc81f735db683c3ff6ec7b1503f", - "base58": "xpub6D4BDPcP2GT577Vvch3R8wDkScZWzQzMMUm3PWbmWvVJrZwQY4VUNgqFJPMM3No2dFDFGTsxxpG5uJh7n7epu4trkrX7x7DogT5Uv6fcLW5", - "base58Priv": "xprv9z4pot5VBttmtdRTWfWQmoH1taj2axGVzFqSb8C9xaxKymcFzXBDptWmT7FwuEzG3ryjH4ktypQSAewRiNMjANTtpgP4mLTj34bhnZX7UiM", - "identifier": "ee7ab90cde56a8c0e2bb086ac49748b8db9dce72", - "fingerprint": "ee7ab90c", - "index": 2147483650, - "depth": 3 - }, - { - "path": "m/0'/1/2'/2", - "m": 2, - "wif": "KwjQsVuMjbCP2Zmr3VaFaStav7NvevwjvvkqrWd5Qmh1XVnCteBR", - "pubKey": "02e8445082a72f29b75ca48748a914df60622a609cacfce8ed0e35804560741d29", - "privKey": "0f479245fb19a38a1954c5c7c0ebab2f9bdfd96a17563ef28a6a4b1a2a764ef4", - "chainCode": "cfb71883f01676f587d023cc53a35bc7f88f724b1f8c2892ac1275ac822a3edd", - "base58": "xpub6FHa3pjLCk84BayeJxFW2SP4XRrFd1JYnxeLeU8EqN3vDfZmbqBqaGJAyiLjTAwm6ZLRQUMv1ZACTj37sR62cfN7fe5JnJ7dh8zL4fiyLHV", - "base58Priv": "xprvA2JDeKCSNNZky6uBCviVfJSKyQ1mDYahRjijr5idH2WwLsEd4Hsb2Tyh8RfQMuPh7f7RtyzTtdrbdqqsunu5Mm3wDvUAKRHSC34sJ7in334", - "identifier": "d880d7d893848509a62d8fb74e32148dac68412f", - "fingerprint": "d880d7d8", - "index": 2, - "depth": 4 - }, - { - "path": "m/0'/1/2'/2/1000000000", - "m": 1000000000, - "wif": "Kybw8izYevo5xMh1TK7aUr7jHFCxXS1zv8p3oqFz3o2zFbhRXHYs", - "pubKey": "022a471424da5e657499d1ff51cb43c47481a03b1e77f951fe64cec9f5a48f7011", - "privKey": "471b76e389e528d6de6d816857e012c5455051cad6660850e58372a6c3e6e7c8", - "chainCode": "c783e67b921d2beb8f6b389cc646d7263b4145701dadd2161548a8b078e65e9e", - "base58": "xpub6H1LXWLaKsWFhvm6RVpEL9P4KfRZSW7abD2ttkWP3SSQvnyA8FSVqNTEcYFgJS2UaFcxupHiYkro49S8yGasTvXEYBVPamhGW6cFJodrTHy", - "base58Priv": "xprvA41z7zogVVwxVSgdKUHDy1SKmdb533PjDz7J6N6mV6uS3ze1ai8FHa8kmHScGpWmj4WggLyQjgPie1rFSruoUihUZREPSL39UNdE3BBDu76", - "identifier": "d69aa102255fed74378278c7812701ea641fdf32", - "fingerprint": "d69aa102", - "index": 1000000000, - "depth": 5 - } - ] - }, - { - "network": "bitcoin", - "master": { - "seed": "fffcf9f6f3f0edeae7e4e1dedbd8d5d2cfccc9c6c3c0bdbab7b4b1aeaba8a5a29f9c999693908d8a8784817e7b7875726f6c696663605d5a5754514e4b484542", - "wif": "KyjXhyHF9wTphBkfpxjL8hkDXDUSbE3tKANT94kXSyh6vn6nKaoy", - "pubKey": "03cbcaa9c98c877a26977d00825c956a238e8dddfbd322cce4f74b0b5bd6ace4a7", - "privKey": "4b03d6fc340455b363f51020ad3ecca4f0850280cf436c70c727923f6db46c3e", - "chainCode": "60499f801b896d83179a4374aeb7822aaeaceaa0db1f85ee3e904c4defbd9689", - "base58": "xpub661MyMwAqRbcFW31YEwpkMuc5THy2PSt5bDMsktWQcFF8syAmRUapSCGu8ED9W6oDMSgv6Zz8idoc4a6mr8BDzTJY47LJhkJ8UB7WEGuduB", - "base58Priv": "xprv9s21ZrQH143K31xYSDQpPDxsXRTUcvj2iNHm5NUtrGiGG5e2DtALGdso3pGz6ssrdK4PFmM8NSpSBHNqPqm55Qn3LqFtT2emdEXVYsCzC2U", - "identifier": "bd16bee53961a47d6ad888e29545434a89bdfe95", - "fingerprint": "bd16bee5" - }, - "children": [ - { - "path": "m/0", - "m": 0, - "wif": "L2ysLrR6KMSAtx7uPqmYpoTeiRzydXBattRXjXz5GDFPrdfPzKbj", - "pubKey": "02fc9e5af0ac8d9b3cecfe2a888e2117ba3d089d8585886c9c826b6b22a98d12ea", - "privKey": "abe74a98f6c7eabee0428f53798f0ab8aa1bd37873999041703c742f15ac7e1e", - "chainCode": "f0909affaa7ee7abe5dd4e100598d4dc53cd709d5a5c2cac40e7412f232f7c9c", - "base58": "xpub69H7F5d8KSRgmmdJg2KhpAK8SR3DjMwAdkxj3ZuxV27CprR9LgpeyGmXUbC6wb7ERfvrnKZjXoUmmDznezpbZb7ap6r1D3tgFxHmwMkQTPH", - "base58Priv": "xprv9vHkqa6EV4sPZHYqZznhT2NPtPCjKuDKGY38FBWLvgaDx45zo9WQRUT3dKYnjwih2yJD9mkrocEZXo1ex8G81dwSM1fwqWpWkeS3v86pgKt", - "identifier": "5a61ff8eb7aaca3010db97ebda76121610b78096", - "fingerprint": "5a61ff8e", - "index": 0, - "depth": 1 - }, - { - "path": "m/0/2147483647'", - "m": 2147483647, - "hardened": true, - "wif": "L1m5VpbXmMp57P3knskwhoMTLdhAAaXiHvnGLMribbfwzVRpz2Sr", - "pubKey": "03c01e7425647bdefa82b12d9bad5e3e6865bee0502694b94ca58b666abc0a5c3b", - "privKey": "877c779ad9687164e9c2f4f0f4ff0340814392330693ce95a58fe18fd52e6e93", - "chainCode": "be17a268474a6bb9c61e1d720cf6215e2a88c5406c4aee7b38547f585c9a37d9", - "base58": "xpub6ASAVgeehLbnwdqV6UKMHVzgqAG8Gr6riv3Fxxpj8ksbH9ebxaEyBLZ85ySDhKiLDBrQSARLq1uNRts8RuJiHjaDMBU4Zn9h8LZNnBC5y4a", - "base58Priv": "xprv9wSp6B7kry3Vj9m1zSnLvN3xH8RdsPP1Mh7fAaR7aRLcQMKTR2vidYEeEg2mUCTAwCd6vnxVrcjfy2kRgVsFawNzmjuHc2YmYRmagcEPdU9", - "identifier": "d8ab493736da02f11ed682f88339e720fb0379d1", - "fingerprint": "d8ab4937", - "index": 4294967295, - "depth": 2 - }, - { - "path": "m/0/2147483647'/1", - "m": 1, - "wif": "KzyzXnznxSv249b4KuNkBwowaN3akiNeEHy5FWoPCJpStZbEKXN2", - "pubKey": "03a7d1d856deb74c508e05031f9895dab54626251b3806e16b4bd12e781a7df5b9", - "privKey": "704addf544a06e5ee4bea37098463c23613da32020d604506da8c0518e1da4b7", - "chainCode": "f366f48f1ea9f2d1d3fe958c95ca84ea18e4c4ddb9366c336c927eb246fb38cb", - "base58": "xpub6DF8uhdarytz3FWdA8TvFSvvAh8dP3283MY7p2V4SeE2wyWmG5mg5EwVvmdMVCQcoNJxGoWaU9DCWh89LojfZ537wTfunKau47EL2dhHKon", - "base58Priv": "xprv9zFnWC6h2cLgpmSA46vutJzBcfJ8yaJGg8cX1e5StJh45BBciYTRXSd25UEPVuesF9yog62tGAQtHjXajPPdbRCHuWS6T8XA2ECKADdw4Ef", - "identifier": "78412e3a2296a40de124307b6485bd19833e2e34", - "fingerprint": "78412e3a", - "index": 1, - "depth": 3 - }, - { - "path": "m/0/2147483647'/1/2147483646'", - "m": 2147483646, - "hardened": true, - "wif": "L5KhaMvPYRW1ZoFmRjUtxxPypQ94m6BcDrPhqArhggdaTbbAFJEF", - "pubKey": "02d2b36900396c9282fa14628566582f206a5dd0bcc8d5e892611806cafb0301f0", - "privKey": "f1c7c871a54a804afe328b4c83a1c33b8e5ff48f5087273f04efa83b247d6a2d", - "chainCode": "637807030d55d01f9a0cb3a7839515d796bd07706386a6eddf06cc29a65a0e29", - "base58": "xpub6ERApfZwUNrhLCkDtcHTcxd75RbzS1ed54G1LkBUHQVHQKqhMkhgbmJbZRkrgZw4koxb5JaHWkY4ALHY2grBGRjaDMzQLcgJvLJuZZvRcEL", - "base58Priv": "xprvA1RpRA33e1JQ7ifknakTFpgNXPmW2YvmhqLQYMmrj4xJXXWYpDPS3xz7iAxn8L39njGVyuoseXzU6rcxFLJ8HFsTjSyQbLYnMpCqE2VbFWc", - "identifier": "31a507b815593dfc51ffc7245ae7e5aee304246e", - "fingerprint": "31a507b8", - "index": 4294967294, - "depth": 4 - }, - { - "path": "m/0/2147483647'/1/2147483646'/2", - "m": 2, - "wif": "L3WAYNAZPxx1fr7KCz7GN9nD5qMBnNiqEJNJMU1z9MMaannAt4aK", - "pubKey": "024d902e1a2fc7a8755ab5b694c575fce742c48d9ff192e63df5193e4c7afe1f9c", - "privKey": "bb7d39bdb83ecf58f2fd82b6d918341cbef428661ef01ab97c28a4842125ac23", - "chainCode": "9452b549be8cea3ecb7a84bec10dcfd94afe4d129ebfd3b3cb58eedf394ed271", - "base58": "xpub6FnCn6nSzZAw5Tw7cgR9bi15UV96gLZhjDstkXXxvCLsUXBGXPdSnLFbdpq8p9HmGsApME5hQTZ3emM2rnY5agb9rXpVGyy3bdW6EEgAtqt", - "base58Priv": "xprvA2nrNbFZABcdryreWet9Ea4LvTJcGsqrMzxHx98MMrotbir7yrKCEXw7nadnHM8Dq38EGfSh6dqA9QWTyefMLEcBYJUuekgW4BYPJcr9E7j", - "identifier": "26132fdbe7bf89cbc64cf8dafa3f9f88b8666220", - "fingerprint": "26132fdb", - "index": 2, - "depth": 5 - } - ] - }, - { - "comment": "Private key has leading zeros (seed vers.)", - "network": "bitcoin", - "master": { - "seed": "d13de7bd1e54422d1a3b3b699a27fb460de2849e7e66a005c647e8e4a54075cb", - "wif": "KwDiCU5bs8xQwsRgxjhkcJcVuR7NE4Mei8X9uSAVviVTE7JmMoS6", - "pubKey": "0298ccc720d5dea817c7077605263bae52bca083cf8888fee77ff4c1b4797ee180", - "privKey": "0000081d1e4bad6731c84450c9a3dbb70e8ba30118d3419f2c74077b7996a078", - "chainCode": "c23ab32b36ddff49fae350a1bed8ec6b4d9fc252238dd789b7273ba4416054eb", - "base58": "xpub661MyMwAqRbcGUbHLLJ5n2DzFAt8mmaDxbmbdimh68m8EiXGEQPiJya4BJat5yMzy4e68VSUoLGCu5uvzf8dUoGvwuJsLE6F1cibmWsxFNn", - "base58Priv": "xprv9s21ZrQH143K3zWpEJm5QtHFh93eNJrNbNqzqLN5XoE9MvC7gs5TmBFaL2PpaXpDc8FBYVe5EChc73ApjSQ5fWsXS7auHy1MmG6hdpywE1q", - "identifier": "1a87677be6f73cc9655e8b4c5d2fd0aeeb1b23c7", - "fingerprint": "1a87677b" - }, - "children": [ - { - "hardened": true, - "path": "m/44'/0'/0'/0/0'", - "wif": "L3z3MSqZtDQ1FPHKi7oWf1nc9rMEGFtZUDCoFa7n4F695g5qZiSu", - "pubKey": "027c3591221e28939e45f8ea297d62c3640ebb09d7058b01d09c963d984a40ad49", - "privKey": "c9d464f63c78ed923b5fed4917bbbbd6936543baf12227067ddc99b63a54a058", - "chainCode": "ca27553aa89617e982e621637d6478f564b32738f8bbe2e48d0a58a8e0f6da40", - "base58": "xpub6GcBnm7FfDg5ERWACCvtuotN6Tdoc37r3SZ1asBHvCWzPkqWn3MVKPWKzy6GsfmdMUGanR3D12dH1cp5tJauuubwc4FAJDn67SH2uUjwAT1", - "base58Priv": "xprvA3cqPFaMpr7n1wRh6BPtYfwdYRoKCaPzgDdQnUmgMrz1WxWNEW3EmbBr9ieh9BJAsRGKFPLvotb4p4Aq79jddUVKPVJt7exVzLHcv777JVf", - "identifier": "e371d69b5dae6eacee832a130ee9f55545275a09", - "fingerprint": "e371d69b", - "index": 2147483648, - "depth": 5 - } - ] - }, - { - "comment": "Private key has leading zeros", - "network": "bitcoin", - "master": { - "wif": "KwDiBh3sys6SzXrv4cSUVpDHsVc8XiD3o3xyMx9wvUcu3nPJJ6PE", - "pubKey": "02b3e3e297165289611a2387e8089fcaf099926e4d31fdddb50c0ae0dfa36c97e6", - "privKey": "00000055378cf5fafb56c711c674143f9b0ee82ab0ba2924f19b64f5ae7cdbfd", - "chainCode": "9c8a5c863e5941f3d99453e6ba66b328bb17cf0b8dec89ed4fc5ace397a1c089", - "base58": "xpub661MyMwAqRbcG6q1FFDUUHr61LatpoMSZRQpVWR4MHzfGnfUp8GMT5xfKcrt4xB7nJCgXn1NBqgCGGDkJx1ZLRKeM58HZkhV5NjBWK1AyQY", - "base58Priv": "xprv9s21ZrQH143K3ckY9DgU79uMTJkQRLdbCCVDh81SnxTgPzLLGax6uHeBULTtaEtcAvKjXfT7ZWtHzKjTpujMkUd9dDb8msDeAfnJxrgAYhr", - "identifier": "afc10e1e7abbe99731c4c4606a3556d832372680", - "fingerprint": "afc10e1e" - }, - "children": [ - { - "hardened": true, - "path": "m/44'/0'/0'/0/0'", - "wif": "KxwPsTN9AdQ2CjGihVP8MnSadbtyByskCiX1GCEhjovKj4m3d7Xs", - "pubKey": "030e13168e3f9560da5cebca9c91b78280e7ffa221d097c6dac3e98f450355d6f6", - "privKey": "3348069561d2a0fb925e74bf198762acc47dce7db27372257d2d959a9e6f8aeb", - "chainCode": "7a16b2f4ad4cc1069338237f373dabf1fe329a5f3a0d95c4b98d061204676293", - "base58": "xpub6FqvhT2Bdh4YaWA3nqsNTaYNmCEXJnSJnBgntrH8GQVX8hf6exHusxyqgyd6kKKNTvtbpmNPGEH74VxJaAuo14NS52WBmWG9krq1ESqdR6T", - "base58Priv": "xprvA2raHwVHoKWFN25agpLN6SbeDAQ2uKiTQxmC6TsWi4xYFuKx7QyfLAfMqgvyXVr6fcDspooYFsas1ngymgmVSPjTCU5JRfwj6w4zukhfucS", - "identifier": "b2d8238bfeb71a89c8244b7e53105cd97021904e", - "fingerprint": "b2d8238b", - "index": 2147483648, - "depth": 5 - } - ] + "valid": [ + { + "network": "bitcoin", + "master": { + "seed": "000102030405060708090a0b0c0d0e0f", + "wif": "L52XzL2cMkHxqxBXRyEpnPQZGUs3uKiL3R11XbAdHigRzDozKZeW", + "pubKey": "0339a36013301597daef41fbe593a02cc513d0b55527ec2df1050e2e8ff49c85c2", + "privKey": "e8f32e723decf4051aefac8e2c93c9c5b214313817cdb01a1494b917c8436b35", + "chainCode": "873dff81c02f525623fd1fe5167eac3a55a049de3d314bb42ee227ffed37d508", + "base58": "xpub661MyMwAqRbcFtXgS5sYJABqqG9YLmC4Q1Rdap9gSE8NqtwybGhePY2gZ29ESFjqJoCu1Rupje8YtGqsefD265TMg7usUDFdp6W1EGMcet8", + "base58Priv": "xprv9s21ZrQH143K3QTDL4LXw2F7HEK3wJUD2nW2nRk4stbPy6cq3jPPqjiChkVvvNKmPGJxWUtg6LnF5kejMRNNU3TGtRBeJgk33yuGBxrMPHi", + "identifier": "3442193e1bb70916e914552172cd4e2dbc9df811", + "fingerprint": "3442193e" }, - { - "network": "litecoin", - "master": { - "seed": "000102030405060708090a0b0c0d0e0f", - "wif": "TAroS5Knm8GZcnpPycBgzjwwDLWMyQjDrcuGPPoArgrbW7Ln22qp", - "pubKey": "0339a36013301597daef41fbe593a02cc513d0b55527ec2df1050e2e8ff49c85c2", - "privKey": "e8f32e723decf4051aefac8e2c93c9c5b214313817cdb01a1494b917c8436b35", - "chainCode": "873dff81c02f525623fd1fe5167eac3a55a049de3d314bb42ee227ffed37d508", - "base58": "Ltub2SSUS19CirucWFod2ZsYA2J4v4U76YiCXHdcQttnoiy5aGanFHCPDBX7utfG6f95u1cUbZJNafmvzNCzZZJTw1EmyFoL8u1gJbGM8ipu491", - "base58Priv": "Ltpv71G8qDifUiNetP6nmxPA5STrUVmv2J9YSmXajv8VsYBUyuPhvN9xCaQrfX2wo5xxJNtEazYCFRUu5FmokYMM79pcqz8pcdo4rNXAFPgyB4k", - "identifier": "3442193e1bb70916e914552172cd4e2dbc9df811", - "fingerprint": "3442193e" - }, - "children": [ - { - "path": "m/0'", - "m": 0, - "hardened": true, - "wif": "TB22qU2V9EJCVKJ8cdYaTfvDhnYcCzthcWgFm1k6hbvbKM1NLxoL", - "pubKey": "035a784662a4a20a65bf6aab9ae98a6c068a81c52e4b032c0fb5400c706cfccc56", - "privKey": "edb2e14f9ee77d26dd93b4ecede8d16ed408ce149b6cd80b0715a2d911a0afea", - "chainCode": "47fdacbd0f1097043b78c63c20c34ef4ed9a111d980047ad16282c7ae6236141", - "base58": "Ltub2UhtRiSfp82berwLEKkB34QBEt2TUdCDCu4WNzGumvAMwYsxfWjULKsXhADxqy3cuDu3TnqoKJr1xmB8Wb2qzthWAtbb4CutpXPuSU1YMgG", - "base58Priv": "Ltpv73XYpw28ZyVe2zEVyiFnxUZxoKLGQNdZ8NxUi1WcqjNmMBgtLbh3KimGSnPHCoLv1RmvxHs4dnKmo1oXQ8dXuDu8uroxrbVxZPA1gXboYvx", - "identifier": "5c1bd648ed23aa5fd50ba52b2457c11e9e80a6a7", - "fingerprint": "5c1bd648", - "index": 2147483648, - "depth": 1 - } - ] - } - ], - "invalid": { - "fromBase58": [ + "children": [ { - "exception": "Invalid checksum", - "string": "xprvQQQQQQQQQQQQQQQQCviVfJSKyQ1mDYahRjijr5idH2WwLsEd4Hsb2Tyh8RfQMuPh7f7RtyzTtdrbdqqsunu5Mm3wDvUAKRHSC34sJ7in334" + "path": "m/0'", + "m": 0, + "hardened": true, + "wif": "L5BmPijJjrKbiUfG4zbiFKNqkvuJ8usooJmzuD7Z8dkRoTThYnAT", + "pubKey": "035a784662a4a20a65bf6aab9ae98a6c068a81c52e4b032c0fb5400c706cfccc56", + "privKey": "edb2e14f9ee77d26dd93b4ecede8d16ed408ce149b6cd80b0715a2d911a0afea", + "chainCode": "47fdacbd0f1097043b78c63c20c34ef4ed9a111d980047ad16282c7ae6236141", + "base58": "xpub68Gmy5EdvgibQVfPdqkBBCHxA5htiqg55crXYuXoQRKfDBFA1WEjWgP6LHhwBZeNK1VTsfTFUHCdrfp1bgwQ9xv5ski8PX9rL2dZXvgGDnw", + "base58Priv": "xprv9uHRZZhk6KAJC1avXpDAp4MDc3sQKNxDiPvvkX8Br5ngLNv1TxvUxt4cV1rGL5hj6KCesnDYUhd7oWgT11eZG7XnxHrnYeSvkzY7d2bhkJ7", + "identifier": "5c1bd648ed23aa5fd50ba52b2457c11e9e80a6a7", + "fingerprint": "5c1bd648", + "index": 2147483648, + "depth": 1 }, { - "exception": "Invalid buffer length", - "network": "bitcoin", - "string": "HAsbc6CgKmTYEQg2CTz7m5STEPAB" + "path": "m/0'/1", + "m": 1, + "wif": "KyFAjQ5rgrKvhXvNMtFB5PCSKUYD1yyPEe3xr3T34TZSUHycXtMM", + "pubKey": "03501e454bf00751f24b1b489aa925215d66af2234e3891c3b21a52bedb3cd711c", + "privKey": "3c6cb8d0f6a264c91ea8b5030fadaa8e538b020f0a387421a12de9319dc93368", + "chainCode": "2a7857631386ba23dacac34180dd1983734e444fdbf774041578e9b6adb37c19", + "base58": "xpub6ASuArnXKPbfEwhqN6e3mwBcDTgzisQN1wXN9BJcM47sSikHjJf3UFHKkNAWbWMiGj7Wf5uMash7SyYq527Hqck2AxYysAA7xmALppuCkwQ", + "base58Priv": "xprv9wTYmMFdV23N2TdNG573QoEsfRrWKQgWeibmLntzniatZvR9BmLnvSxqu53Kw1UmYPxLgboyZQaXwTCg8MSY3H2EU4pWcQDnRnrVA1xe8fs", + "identifier": "bef5a2f9a56a94aab12459f72ad9cf8cf19c7bbe", + "fingerprint": "bef5a2f9", + "index": 1, + "depth": 2 }, { - "exception": "Invalid parent fingerprint", - "network": "bitcoin", - "string": "xprv9tnJFvAXAXPfPnMTKfwpwnkty7MzJwELVgp4NTBquaKXy4RndyfJJCJJf7zNaVpBpzrwVRutZNLRCVLEcZHcvuCNG3zGbGBcZn57FbNnmSP" + "path": "m/0'/1/2'", + "m": 2, + "hardened": true, + "wif": "L43t3od1Gh7Lj55Bzjj1xDAgJDcL7YFo2nEcNaMGiyRZS1CidBVU", + "pubKey": "0357bfe1e341d01c69fe5654309956cbea516822fba8a601743a012a7896ee8dc2", + "privKey": "cbce0d719ecf7431d88e6a89fa1483e02e35092af60c042b1df2ff59fa424dca", + "chainCode": "04466b9cc8e161e966409ca52986c584f07e9dc81f735db683c3ff6ec7b1503f", + "base58": "xpub6D4BDPcP2GT577Vvch3R8wDkScZWzQzMMUm3PWbmWvVJrZwQY4VUNgqFJPMM3No2dFDFGTsxxpG5uJh7n7epu4trkrX7x7DogT5Uv6fcLW5", + "base58Priv": "xprv9z4pot5VBttmtdRTWfWQmoH1taj2axGVzFqSb8C9xaxKymcFzXBDptWmT7FwuEzG3ryjH4ktypQSAewRiNMjANTtpgP4mLTj34bhnZX7UiM", + "identifier": "ee7ab90cde56a8c0e2bb086ac49748b8db9dce72", + "fingerprint": "ee7ab90c", + "index": 2147483650, + "depth": 3 }, { - "exception": "Invalid private key", - "network": "bitcoin", - "string": "xprv9s21ZrQH143K3yLysFvsu3n1dMwhNusmNHr7xArzAeCc7MQYqDBBStmqnZq6WLi668siBBNs3SjiyaexduHu9sXT9ixTsqptL67ADqcaBdm" + "path": "m/0'/1/2'/2", + "m": 2, + "wif": "KwjQsVuMjbCP2Zmr3VaFaStav7NvevwjvvkqrWd5Qmh1XVnCteBR", + "pubKey": "02e8445082a72f29b75ca48748a914df60622a609cacfce8ed0e35804560741d29", + "privKey": "0f479245fb19a38a1954c5c7c0ebab2f9bdfd96a17563ef28a6a4b1a2a764ef4", + "chainCode": "cfb71883f01676f587d023cc53a35bc7f88f724b1f8c2892ac1275ac822a3edd", + "base58": "xpub6FHa3pjLCk84BayeJxFW2SP4XRrFd1JYnxeLeU8EqN3vDfZmbqBqaGJAyiLjTAwm6ZLRQUMv1ZACTj37sR62cfN7fe5JnJ7dh8zL4fiyLHV", + "base58Priv": "xprvA2JDeKCSNNZky6uBCviVfJSKyQ1mDYahRjijr5idH2WwLsEd4Hsb2Tyh8RfQMuPh7f7RtyzTtdrbdqqsunu5Mm3wDvUAKRHSC34sJ7in334", + "identifier": "d880d7d893848509a62d8fb74e32148dac68412f", + "fingerprint": "d880d7d8", + "index": 2, + "depth": 4 }, { - "exception": "Invalid index", - "network": "bitcoin", - "string": "xprv9s21ZrQYdgnodnKW4Drm1Qg7poU6Gf2WUDsjPxvYiK7iLBMrsjbnF1wsZZQgmXNeMSG3s7jmHk1b3JrzhG5w8mwXGxqFxfrweico7k8DtxR" - }, - { - "exception": "Invalid network version", - "network": "litecoin", - "string": "1111111111111adADjFaSNPxwXqLjHLj4mBfYxuewDPbw9hEj1uaXCzMxRPXDFF3cUoezTFYom4sEmEVSQmENPPR315cFk9YUFVek73wE9" - }, - { - "exception": "Invalid network version", - "string": "8FH81Rao5EgGmdScoN66TJAHsQP7phEMeyMTku9NBJd7hXgaj3HTvSNjqJjoqBpxdbuushwPEM5otvxXt2p9dcw33AqNKzZEPMqGHmz7Dpayi6Vb" - }, + "path": "m/0'/1/2'/2/1000000000", + "m": 1000000000, + "wif": "Kybw8izYevo5xMh1TK7aUr7jHFCxXS1zv8p3oqFz3o2zFbhRXHYs", + "pubKey": "022a471424da5e657499d1ff51cb43c47481a03b1e77f951fe64cec9f5a48f7011", + "privKey": "471b76e389e528d6de6d816857e012c5455051cad6660850e58372a6c3e6e7c8", + "chainCode": "c783e67b921d2beb8f6b389cc646d7263b4145701dadd2161548a8b078e65e9e", + "base58": "xpub6H1LXWLaKsWFhvm6RVpEL9P4KfRZSW7abD2ttkWP3SSQvnyA8FSVqNTEcYFgJS2UaFcxupHiYkro49S8yGasTvXEYBVPamhGW6cFJodrTHy", + "base58Priv": "xprvA41z7zogVVwxVSgdKUHDy1SKmdb533PjDz7J6N6mV6uS3ze1ai8FHa8kmHScGpWmj4WggLyQjgPie1rFSruoUihUZREPSL39UNdE3BBDu76", + "identifier": "d69aa102255fed74378278c7812701ea641fdf32", + "fingerprint": "d69aa102", + "index": 1000000000, + "depth": 5 + } + ] + }, + { + "network": "bitcoin", + "master": { + "seed": "fffcf9f6f3f0edeae7e4e1dedbd8d5d2cfccc9c6c3c0bdbab7b4b1aeaba8a5a29f9c999693908d8a8784817e7b7875726f6c696663605d5a5754514e4b484542", + "wif": "KyjXhyHF9wTphBkfpxjL8hkDXDUSbE3tKANT94kXSyh6vn6nKaoy", + "pubKey": "03cbcaa9c98c877a26977d00825c956a238e8dddfbd322cce4f74b0b5bd6ace4a7", + "privKey": "4b03d6fc340455b363f51020ad3ecca4f0850280cf436c70c727923f6db46c3e", + "chainCode": "60499f801b896d83179a4374aeb7822aaeaceaa0db1f85ee3e904c4defbd9689", + "base58": "xpub661MyMwAqRbcFW31YEwpkMuc5THy2PSt5bDMsktWQcFF8syAmRUapSCGu8ED9W6oDMSgv6Zz8idoc4a6mr8BDzTJY47LJhkJ8UB7WEGuduB", + "base58Priv": "xprv9s21ZrQH143K31xYSDQpPDxsXRTUcvj2iNHm5NUtrGiGG5e2DtALGdso3pGz6ssrdK4PFmM8NSpSBHNqPqm55Qn3LqFtT2emdEXVYsCzC2U", + "identifier": "bd16bee53961a47d6ad888e29545434a89bdfe95", + "fingerprint": "bd16bee5" + }, + "children": [ { - "exception": "Invalid network version", - "network": "bitcoin", - "string": "Ltpv73XYpw28ZyVe2zEVyiFnxUZxoKLGQNdZ8NxUi1WcqjNmMBgtLbh3KimGSnPHCoLv1RmvxHs4dnKmo1oXQ8dXuDu8uroxrbVxZPA1gXboYvx" + "path": "m/0", + "m": 0, + "wif": "L2ysLrR6KMSAtx7uPqmYpoTeiRzydXBattRXjXz5GDFPrdfPzKbj", + "pubKey": "02fc9e5af0ac8d9b3cecfe2a888e2117ba3d089d8585886c9c826b6b22a98d12ea", + "privKey": "abe74a98f6c7eabee0428f53798f0ab8aa1bd37873999041703c742f15ac7e1e", + "chainCode": "f0909affaa7ee7abe5dd4e100598d4dc53cd709d5a5c2cac40e7412f232f7c9c", + "base58": "xpub69H7F5d8KSRgmmdJg2KhpAK8SR3DjMwAdkxj3ZuxV27CprR9LgpeyGmXUbC6wb7ERfvrnKZjXoUmmDznezpbZb7ap6r1D3tgFxHmwMkQTPH", + "base58Priv": "xprv9vHkqa6EV4sPZHYqZznhT2NPtPCjKuDKGY38FBWLvgaDx45zo9WQRUT3dKYnjwih2yJD9mkrocEZXo1ex8G81dwSM1fwqWpWkeS3v86pgKt", + "identifier": "5a61ff8eb7aaca3010db97ebda76121610b78096", + "fingerprint": "5a61ff8e", + "index": 0, + "depth": 1 }, { - "exception": "Invalid buffer length", - "string": "9XpNiB4DberdMn4jZiMhNGtuZUd7xUrCEGw4MG967zsVNvUKBEC9XLrmVmFasanWGp15zXfTNw4vW4KdvUAynEwyKjdho9QdLMPA2H5uyt" + "path": "m/0/2147483647'", + "m": 2147483647, + "hardened": true, + "wif": "L1m5VpbXmMp57P3knskwhoMTLdhAAaXiHvnGLMribbfwzVRpz2Sr", + "pubKey": "03c01e7425647bdefa82b12d9bad5e3e6865bee0502694b94ca58b666abc0a5c3b", + "privKey": "877c779ad9687164e9c2f4f0f4ff0340814392330693ce95a58fe18fd52e6e93", + "chainCode": "be17a268474a6bb9c61e1d720cf6215e2a88c5406c4aee7b38547f585c9a37d9", + "base58": "xpub6ASAVgeehLbnwdqV6UKMHVzgqAG8Gr6riv3Fxxpj8ksbH9ebxaEyBLZ85ySDhKiLDBrQSARLq1uNRts8RuJiHjaDMBU4Zn9h8LZNnBC5y4a", + "base58Priv": "xprv9wSp6B7kry3Vj9m1zSnLvN3xH8RdsPP1Mh7fAaR7aRLcQMKTR2vidYEeEg2mUCTAwCd6vnxVrcjfy2kRgVsFawNzmjuHc2YmYRmagcEPdU9", + "identifier": "d8ab493736da02f11ed682f88339e720fb0379d1", + "fingerprint": "d8ab4937", + "index": 4294967295, + "depth": 2 }, { - "exception": "Invalid buffer length", - "string": "7JJikZQ2NUXjSAnAF2SjFYE3KXbnnVxzRBNddFE1DjbDEHVGEJzYC7zqSgPoauBJS3cWmZwsER94oYSFrW9vZ4Ch5FtGeifdzmtS3FGYDB1vxFZsYKgMc" + "path": "m/0/2147483647'/1", + "m": 1, + "wif": "KzyzXnznxSv249b4KuNkBwowaN3akiNeEHy5FWoPCJpStZbEKXN2", + "pubKey": "03a7d1d856deb74c508e05031f9895dab54626251b3806e16b4bd12e781a7df5b9", + "privKey": "704addf544a06e5ee4bea37098463c23613da32020d604506da8c0518e1da4b7", + "chainCode": "f366f48f1ea9f2d1d3fe958c95ca84ea18e4c4ddb9366c336c927eb246fb38cb", + "base58": "xpub6DF8uhdarytz3FWdA8TvFSvvAh8dP3283MY7p2V4SeE2wyWmG5mg5EwVvmdMVCQcoNJxGoWaU9DCWh89LojfZ537wTfunKau47EL2dhHKon", + "base58Priv": "xprv9zFnWC6h2cLgpmSA46vutJzBcfJ8yaJGg8cX1e5StJh45BBciYTRXSd25UEPVuesF9yog62tGAQtHjXajPPdbRCHuWS6T8XA2ECKADdw4Ef", + "identifier": "78412e3a2296a40de124307b6485bd19833e2e34", + "fingerprint": "78412e3a", + "index": 1, + "depth": 3 }, { - "exception": "Invalid parent fingerprint", - "string": "xpub67tVq9SuNQCfm2PXBqjGRAtNZ935kx2uHJaURePth4JBpMfEy6jum7Euj7FTpbs7fnjhfZcNEktCucWHcJf74dbKLKNSTZCQozdDVwvkJhs" + "path": "m/0/2147483647'/1/2147483646'", + "m": 2147483646, + "hardened": true, + "wif": "L5KhaMvPYRW1ZoFmRjUtxxPypQ94m6BcDrPhqArhggdaTbbAFJEF", + "pubKey": "02d2b36900396c9282fa14628566582f206a5dd0bcc8d5e892611806cafb0301f0", + "privKey": "f1c7c871a54a804afe328b4c83a1c33b8e5ff48f5087273f04efa83b247d6a2d", + "chainCode": "637807030d55d01f9a0cb3a7839515d796bd07706386a6eddf06cc29a65a0e29", + "base58": "xpub6ERApfZwUNrhLCkDtcHTcxd75RbzS1ed54G1LkBUHQVHQKqhMkhgbmJbZRkrgZw4koxb5JaHWkY4ALHY2grBGRjaDMzQLcgJvLJuZZvRcEL", + "base58Priv": "xprvA1RpRA33e1JQ7ifknakTFpgNXPmW2YvmhqLQYMmrj4xJXXWYpDPS3xz7iAxn8L39njGVyuoseXzU6rcxFLJ8HFsTjSyQbLYnMpCqE2VbFWc", + "identifier": "31a507b815593dfc51ffc7245ae7e5aee304246e", + "fingerprint": "31a507b8", + "index": 4294967294, + "depth": 4 }, { - "exception": "Invalid index", - "string": "xpub661MyMwTWkfYZq6BEh3ywGVXFvNj5hhzmWMhFBHSqmub31B1LZ9wbJ3DEYXZ8bHXGqnHKfepTud5a2XxGdnnePzZa2m2DyzTnFGBUXtaf9M" - }, + "path": "m/0/2147483647'/1/2147483646'/2", + "m": 2, + "wif": "L3WAYNAZPxx1fr7KCz7GN9nD5qMBnNiqEJNJMU1z9MMaannAt4aK", + "pubKey": "024d902e1a2fc7a8755ab5b694c575fce742c48d9ff192e63df5193e4c7afe1f9c", + "privKey": "bb7d39bdb83ecf58f2fd82b6d918341cbef428661ef01ab97c28a4842125ac23", + "chainCode": "9452b549be8cea3ecb7a84bec10dcfd94afe4d129ebfd3b3cb58eedf394ed271", + "base58": "xpub6FnCn6nSzZAw5Tw7cgR9bi15UV96gLZhjDstkXXxvCLsUXBGXPdSnLFbdpq8p9HmGsApME5hQTZ3emM2rnY5agb9rXpVGyy3bdW6EEgAtqt", + "base58Priv": "xprvA2nrNbFZABcdryreWet9Ea4LvTJcGsqrMzxHx98MMrotbir7yrKCEXw7nadnHM8Dq38EGfSh6dqA9QWTyefMLEcBYJUuekgW4BYPJcr9E7j", + "identifier": "26132fdbe7bf89cbc64cf8dafa3f9f88b8666220", + "fingerprint": "26132fdb", + "index": 2, + "depth": 5 + } + ] + }, + { + "comment": "Private key has leading zeros (seed vers.)", + "network": "bitcoin", + "master": { + "seed": "d13de7bd1e54422d1a3b3b699a27fb460de2849e7e66a005c647e8e4a54075cb", + "wif": "KwDiCU5bs8xQwsRgxjhkcJcVuR7NE4Mei8X9uSAVviVTE7JmMoS6", + "pubKey": "0298ccc720d5dea817c7077605263bae52bca083cf8888fee77ff4c1b4797ee180", + "privKey": "0000081d1e4bad6731c84450c9a3dbb70e8ba30118d3419f2c74077b7996a078", + "chainCode": "c23ab32b36ddff49fae350a1bed8ec6b4d9fc252238dd789b7273ba4416054eb", + "base58": "xpub661MyMwAqRbcGUbHLLJ5n2DzFAt8mmaDxbmbdimh68m8EiXGEQPiJya4BJat5yMzy4e68VSUoLGCu5uvzf8dUoGvwuJsLE6F1cibmWsxFNn", + "base58Priv": "xprv9s21ZrQH143K3zWpEJm5QtHFh93eNJrNbNqzqLN5XoE9MvC7gs5TmBFaL2PpaXpDc8FBYVe5EChc73ApjSQ5fWsXS7auHy1MmG6hdpywE1q", + "identifier": "1a87677be6f73cc9655e8b4c5d2fd0aeeb1b23c7", + "fingerprint": "1a87677b" + }, + "children": [ { - "exception": "Point is not on the curve", - "string": "xpub661MyMwAqRbcFtXgS5sYJABqqG9YLmC4Q1Rdap9gSE8NqtwybGhePY2gYymDsxxRe3WWeZQ7TadaLSdKUffezzczTCpB8j3JP96UwE2n6w1" + "hardened": true, + "path": "m/44'/0'/0'/0/0'", + "wif": "L3z3MSqZtDQ1FPHKi7oWf1nc9rMEGFtZUDCoFa7n4F695g5qZiSu", + "pubKey": "027c3591221e28939e45f8ea297d62c3640ebb09d7058b01d09c963d984a40ad49", + "privKey": "c9d464f63c78ed923b5fed4917bbbbd6936543baf12227067ddc99b63a54a058", + "chainCode": "ca27553aa89617e982e621637d6478f564b32738f8bbe2e48d0a58a8e0f6da40", + "base58": "xpub6GcBnm7FfDg5ERWACCvtuotN6Tdoc37r3SZ1asBHvCWzPkqWn3MVKPWKzy6GsfmdMUGanR3D12dH1cp5tJauuubwc4FAJDn67SH2uUjwAT1", + "base58Priv": "xprvA3cqPFaMpr7n1wRh6BPtYfwdYRoKCaPzgDdQnUmgMrz1WxWNEW3EmbBr9ieh9BJAsRGKFPLvotb4p4Aq79jddUVKPVJt7exVzLHcv777JVf", + "identifier": "e371d69b5dae6eacee832a130ee9f55545275a09", + "fingerprint": "e371d69b", + "index": 2147483648, + "depth": 5 } - ], - "fromSeed": [ + ] + }, + { + "comment": "Private key has leading zeros", + "network": "bitcoin", + "master": { + "wif": "KwDiBh3sys6SzXrv4cSUVpDHsVc8XiD3o3xyMx9wvUcu3nPJJ6PE", + "pubKey": "02b3e3e297165289611a2387e8089fcaf099926e4d31fdddb50c0ae0dfa36c97e6", + "privKey": "00000055378cf5fafb56c711c674143f9b0ee82ab0ba2924f19b64f5ae7cdbfd", + "chainCode": "9c8a5c863e5941f3d99453e6ba66b328bb17cf0b8dec89ed4fc5ace397a1c089", + "base58": "xpub661MyMwAqRbcG6q1FFDUUHr61LatpoMSZRQpVWR4MHzfGnfUp8GMT5xfKcrt4xB7nJCgXn1NBqgCGGDkJx1ZLRKeM58HZkhV5NjBWK1AyQY", + "base58Priv": "xprv9s21ZrQH143K3ckY9DgU79uMTJkQRLdbCCVDh81SnxTgPzLLGax6uHeBULTtaEtcAvKjXfT7ZWtHzKjTpujMkUd9dDb8msDeAfnJxrgAYhr", + "identifier": "afc10e1e7abbe99731c4c4606a3556d832372680", + "fingerprint": "afc10e1e" + }, + "children": [ { - "exception": "Seed should be at least 128 bits", - "seed": "ffff" - }, + "hardened": true, + "path": "m/44'/0'/0'/0/0'", + "wif": "KxwPsTN9AdQ2CjGihVP8MnSadbtyByskCiX1GCEhjovKj4m3d7Xs", + "pubKey": "030e13168e3f9560da5cebca9c91b78280e7ffa221d097c6dac3e98f450355d6f6", + "privKey": "3348069561d2a0fb925e74bf198762acc47dce7db27372257d2d959a9e6f8aeb", + "chainCode": "7a16b2f4ad4cc1069338237f373dabf1fe329a5f3a0d95c4b98d061204676293", + "base58": "xpub6FqvhT2Bdh4YaWA3nqsNTaYNmCEXJnSJnBgntrH8GQVX8hf6exHusxyqgyd6kKKNTvtbpmNPGEH74VxJaAuo14NS52WBmWG9krq1ESqdR6T", + "base58Priv": "xprvA2raHwVHoKWFN25agpLN6SbeDAQ2uKiTQxmC6TsWi4xYFuKx7QyfLAfMqgvyXVr6fcDspooYFsas1ngymgmVSPjTCU5JRfwj6w4zukhfucS", + "identifier": "b2d8238bfeb71a89c8244b7e53105cd97021904e", + "fingerprint": "b2d8238b", + "index": 2147483648, + "depth": 5 + } + ] + }, + { + "network": "litecoin", + "master": { + "seed": "000102030405060708090a0b0c0d0e0f", + "wif": "TAroS5Knm8GZcnpPycBgzjwwDLWMyQjDrcuGPPoArgrbW7Ln22qp", + "pubKey": "0339a36013301597daef41fbe593a02cc513d0b55527ec2df1050e2e8ff49c85c2", + "privKey": "e8f32e723decf4051aefac8e2c93c9c5b214313817cdb01a1494b917c8436b35", + "chainCode": "873dff81c02f525623fd1fe5167eac3a55a049de3d314bb42ee227ffed37d508", + "base58": "Ltub2SSUS19CirucWFod2ZsYA2J4v4U76YiCXHdcQttnoiy5aGanFHCPDBX7utfG6f95u1cUbZJNafmvzNCzZZJTw1EmyFoL8u1gJbGM8ipu491", + "base58Priv": "Ltpv71G8qDifUiNetP6nmxPA5STrUVmv2J9YSmXajv8VsYBUyuPhvN9xCaQrfX2wo5xxJNtEazYCFRUu5FmokYMM79pcqz8pcdo4rNXAFPgyB4k", + "identifier": "3442193e1bb70916e914552172cd4e2dbc9df811", + "fingerprint": "3442193e" + }, + "children": [ { - "exception": "Seed should be at most 512 bits", - "seed": "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + "path": "m/0'", + "m": 0, + "hardened": true, + "wif": "TB22qU2V9EJCVKJ8cdYaTfvDhnYcCzthcWgFm1k6hbvbKM1NLxoL", + "pubKey": "035a784662a4a20a65bf6aab9ae98a6c068a81c52e4b032c0fb5400c706cfccc56", + "privKey": "edb2e14f9ee77d26dd93b4ecede8d16ed408ce149b6cd80b0715a2d911a0afea", + "chainCode": "47fdacbd0f1097043b78c63c20c34ef4ed9a111d980047ad16282c7ae6236141", + "base58": "Ltub2UhtRiSfp82berwLEKkB34QBEt2TUdCDCu4WNzGumvAMwYsxfWjULKsXhADxqy3cuDu3TnqoKJr1xmB8Wb2qzthWAtbb4CutpXPuSU1YMgG", + "base58Priv": "Ltpv73XYpw28ZyVe2zEVyiFnxUZxoKLGQNdZ8NxUi1WcqjNmMBgtLbh3KimGSnPHCoLv1RmvxHs4dnKmo1oXQ8dXuDu8uroxrbVxZPA1gXboYvx", + "identifier": "5c1bd648ed23aa5fd50ba52b2457c11e9e80a6a7", + "fingerprint": "5c1bd648", + "index": 2147483648, + "depth": 1 } - ], - "deriveHardened": [ - 2147483648, - -1 - ], - "derive": [ - 4294967296, - -1 - ], - "derivePath": [ - "/", - "m/m/123", - "a/0/1/2", - "m/0/ 1 /2", - "m/0/1.5/2" ] } + ], + "invalid": { + "fromBase58": [ + { + "exception": "Invalid checksum", + "string": "xprvQQQQQQQQQQQQQQQQCviVfJSKyQ1mDYahRjijr5idH2WwLsEd4Hsb2Tyh8RfQMuPh7f7RtyzTtdrbdqqsunu5Mm3wDvUAKRHSC34sJ7in334" + }, + { + "exception": "Invalid buffer length", + "network": "bitcoin", + "string": "HAsbc6CgKmTYEQg2CTz7m5STEPAB" + }, + { + "exception": "Invalid parent fingerprint", + "network": "bitcoin", + "string": "xprv9tnJFvAXAXPfPnMTKfwpwnkty7MzJwELVgp4NTBquaKXy4RndyfJJCJJf7zNaVpBpzrwVRutZNLRCVLEcZHcvuCNG3zGbGBcZn57FbNnmSP" + }, + { + "exception": "Invalid private key", + "network": "bitcoin", + "string": "xprv9s21ZrQH143K3yLysFvsu3n1dMwhNusmNHr7xArzAeCc7MQYqDBBStmqnZq6WLi668siBBNs3SjiyaexduHu9sXT9ixTsqptL67ADqcaBdm" + }, + { + "exception": "Invalid index", + "network": "bitcoin", + "string": "xprv9s21ZrQYdgnodnKW4Drm1Qg7poU6Gf2WUDsjPxvYiK7iLBMrsjbnF1wsZZQgmXNeMSG3s7jmHk1b3JrzhG5w8mwXGxqFxfrweico7k8DtxR" + }, + { + "exception": "Invalid network version", + "network": "litecoin", + "string": "1111111111111adADjFaSNPxwXqLjHLj4mBfYxuewDPbw9hEj1uaXCzMxRPXDFF3cUoezTFYom4sEmEVSQmENPPR315cFk9YUFVek73wE9" + }, + { + "exception": "Invalid network version", + "string": "8FH81Rao5EgGmdScoN66TJAHsQP7phEMeyMTku9NBJd7hXgaj3HTvSNjqJjoqBpxdbuushwPEM5otvxXt2p9dcw33AqNKzZEPMqGHmz7Dpayi6Vb" + }, + { + "exception": "Invalid network version", + "network": "bitcoin", + "string": "Ltpv73XYpw28ZyVe2zEVyiFnxUZxoKLGQNdZ8NxUi1WcqjNmMBgtLbh3KimGSnPHCoLv1RmvxHs4dnKmo1oXQ8dXuDu8uroxrbVxZPA1gXboYvx" + }, + { + "exception": "Invalid buffer length", + "string": "9XpNiB4DberdMn4jZiMhNGtuZUd7xUrCEGw4MG967zsVNvUKBEC9XLrmVmFasanWGp15zXfTNw4vW4KdvUAynEwyKjdho9QdLMPA2H5uyt" + }, + { + "exception": "Invalid buffer length", + "string": "7JJikZQ2NUXjSAnAF2SjFYE3KXbnnVxzRBNddFE1DjbDEHVGEJzYC7zqSgPoauBJS3cWmZwsER94oYSFrW9vZ4Ch5FtGeifdzmtS3FGYDB1vxFZsYKgMc" + }, + { + "exception": "Invalid parent fingerprint", + "string": "xpub67tVq9SuNQCfm2PXBqjGRAtNZ935kx2uHJaURePth4JBpMfEy6jum7Euj7FTpbs7fnjhfZcNEktCucWHcJf74dbKLKNSTZCQozdDVwvkJhs" + }, + { + "exception": "Invalid index", + "string": "xpub661MyMwTWkfYZq6BEh3ywGVXFvNj5hhzmWMhFBHSqmub31B1LZ9wbJ3DEYXZ8bHXGqnHKfepTud5a2XxGdnnePzZa2m2DyzTnFGBUXtaf9M" + }, + { + "exception": "Point is not on the curve", + "string": "xpub661MyMwAqRbcFtXgS5sYJABqqG9YLmC4Q1Rdap9gSE8NqtwybGhePY2gYymDsxxRe3WWeZQ7TadaLSdKUffezzczTCpB8j3JP96UwE2n6w1" + } + ], + "fromSeed": [ + { + "exception": "Seed should be at least 128 bits", + "seed": "ffff" + }, + { + "exception": "Seed should be at most 512 bits", + "seed": "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "deriveHardened": [ + 2147483648, + -1 + ], + "derive": [ + 4294967296, + -1 + ], + "derivePath": [ + "/", + "m/m/123", + "a/0/1/2", + "m/0/ 1 /2", + "m/0/1.5/2" + ] } +} \ No newline at end of file diff --git a/test/mass_calculator_test.dart b/test/mass_calculator_test.dart new file mode 100644 index 00000000..077beaa5 --- /dev/null +++ b/test/mass_calculator_test.dart @@ -0,0 +1,235 @@ +import 'dart:typed_data'; + +import 'package:fixnum/fixnum.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:karlsen_mobile/karlsen/karlsen.dart'; +import 'package:karlsen_mobile/karlsen/transaction/mass_calculator.dart'; + +void main() { + Transaction generateTxFromAmounts( + Iterable ins, Iterable outs) { + final scriptPublicKey = ScriptPublicKey( + scriptPublicKey: Uint8List(0), + version: 0, + ); + final prevTxId = + '880eb9819a31821d9d2399e2f35e2433b72637e393d71ecc9b8d0250f49153c3'; + final address = Address.publicKey( + prefix: AddressPrefix.karlsen, + publicKey: Uint8List(32), + ); + final tx = Transaction( + version: 0, + inputs: ins.indexed + .map( + (indexed) => TxInput( + previousOutpoint: + Outpoint(transactionId: prevTxId, index: indexed.$1), + sequence: Int64(0), + sigOpCount: 0, + signatureScript: Uint8List(0), + address: address, + utxoEntry: UtxoEntry( + amount: indexed.$2, + isCoinbase: false, + blockDaaScore: BigInt.zero, + scriptPublicKey: scriptPublicKey, + ), + ), + ) + .toList(), + outputs: outs + .map( + (out) => TxOutput( + value: out.toInt64(), + scriptPublicKey: scriptPublicKey, + ), + ) + .toList(), + lockTime: Int64(1615462089000), + subnetworkId: Uint8List.fromList( + [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + ), + gas: Int64(0), + ); + + return tx; + } + + group('Test Kip9 Alpha', () { + final testVersion = Kip9Version.alpha; + + test('Test mass storage', () { + final tx = generateTxFromAmounts( + [100, 200, 300].map(BigInt.from), + [300, 300].map(BigInt.from), + ); + + final storageMassParameter = BigInt.from(10).pow(12); + + // Assert the formula: max( 0 , C·( |O|/H(O) - |I|/A(I) ) ) + + final calculator = MassCalculator( + massPerTxByte: 0, + massPerScriptPubKeyByte: 0, + massPerSigOp: 0, + storageMassParameter: storageMassParameter, + ); + + final storageMass = calculator.calcTxStorageMass( + tx: tx, + version: testVersion, + ); + // Compounds from 3 to 2, with symmetric outputs and no fee, should be zero + expect(storageMass, BigInt.zero); + }); + test('Test mass storage asymmetry', () { + // Create asymmetry + final tx = generateTxFromAmounts( + [100, 200, 300].map(BigInt.from), + [50, 550].map(BigInt.from), + ); + final storageMassParameter = BigInt.from(10).pow(12); + + final calculator = MassCalculator( + massPerTxByte: 0, + massPerScriptPubKeyByte: 0, + massPerSigOp: 0, + storageMassParameter: storageMassParameter, + ); + + final storageMass = + calculator.calcTxStorageMass(tx: tx, version: testVersion); + expect( + storageMass, + storageMassParameter ~/ BigInt.from(50) + + storageMassParameter ~/ BigInt.from(550) - + BigInt.from(3) * (storageMassParameter ~/ BigInt.from(200)), + ); + }); + + test('Test mass storage more outs than ins', () { + // Create a tx with more outs than ins + final baseValue = BigInt.from(10000) * kSompiPerKarlsen; + final tx = generateTxFromAmounts( + [baseValue, baseValue, baseValue * BigInt.two], + List.filled(4, baseValue)); + final storageMassParameter = kStorageMassParameter; + final calculator = MassCalculator( + massPerTxByte: 0, + massPerScriptPubKeyByte: 0, + massPerSigOp: 0, + storageMassParameter: storageMassParameter, + ); + final storageMass = + calculator.calcTxStorageMass(tx: tx, version: testVersion); + + // Inputs are above C so they don't contribute negative mass, 4 outputs exactly equal C each charge 1 + expect(storageMass, BigInt.from(4)); + }); + test('Test mass storage less outs than ins 2', () { + final baseValue = BigInt.from(10000) * kSompiPerKarlsen; + final tx = generateTxFromAmounts( + [baseValue, baseValue, baseValue * BigInt.two], + [BigInt.from(10) * kSompiPerKarlsen, ...List.filled(3, baseValue)]); + final storageMassParameter = kStorageMassParameter; + final calculator = MassCalculator( + massPerTxByte: 0, + massPerScriptPubKeyByte: 0, + massPerSigOp: 0, + storageMassParameter: storageMassParameter, + ); + final storageMass = calculator.calcTxStorageMass( + tx: tx, + version: testVersion, + ); + expect(storageMass, BigInt.from(1003)); + }); + + test('Test mass storage increase values over the limit', () { + // Increase values over the lim + final baseValue = BigInt.from(10000) * kSompiPerKarlsen; + final tx = generateTxFromAmounts( + [baseValue, baseValue, baseValue * BigInt.two], + List.filled(4, baseValue + BigInt.one)); + final storageMassParameter = kStorageMassParameter; + final calculator = MassCalculator( + massPerTxByte: 0, + massPerScriptPubKeyByte: 0, + massPerSigOp: 0, + storageMassParameter: storageMassParameter, + ); + final storageMass = calculator.calcTxStorageMass( + tx: tx, + version: testVersion, + ); + expect(storageMass, BigInt.zero); + }); + }); + + group('Test Kip9 Beta', () { + final testVersion = Kip9Version.beta; + + test('Test 2:2 transaction', () { + final tx = generateTxFromAmounts( + [100, 200].map(BigInt.from), + [50, 250].map(BigInt.from), + ); + final storageMassParameter = BigInt.from(10).pow(12); + // Assert the formula: max( 0 , C·( |O|/H(O) - |I|/O(I) ) ) + + final calculator = MassCalculator( + massPerTxByte: 0, + massPerScriptPubKeyByte: 0, + massPerSigOp: 0, + storageMassParameter: storageMassParameter, + ); + final storageMass = calculator.calcTxStorageMass( + tx: tx, + version: testVersion, + ); + expect(storageMass, BigInt.from(9000000000)); + }); + test('Test outputs equal to inputs', () { + final tx = generateTxFromAmounts( + [100, 200].map(BigInt.from), + [100, 200].map(BigInt.from), + ); + final storageMassParameter = BigInt.from(10).pow(12); + // Assert the formula: max( 0 , C·( |O|/H(O) - |I|/O(I) ) ) + + final calculator = MassCalculator( + massPerTxByte: 0, + massPerScriptPubKeyByte: 0, + massPerSigOp: 0, + storageMassParameter: storageMassParameter, + ); + final storageMass = calculator.calcTxStorageMass( + tx: tx, + version: testVersion, + ); + expect(storageMass, BigInt.zero); + }); + + test('Test mass storage one small output', () { + final tx = generateTxFromAmounts( + [100, 200].map(BigInt.from), + [50].map(BigInt.from), + ); + final storageMassParameter = BigInt.from(10).pow(12); + // Assert the formula: max( 0 , C·( |O|/H(O) - |I|/O(I) ) ) + + final calculator = MassCalculator( + massPerTxByte: 0, + massPerScriptPubKeyByte: 0, + massPerSigOp: 0, + storageMassParameter: storageMassParameter, + ); + final storageMass = calculator.calcTxStorageMass( + tx: tx, + version: testVersion, + ); + expect(storageMass, BigInt.from(5000000000)); + }); + }); +}