From 938c2992652ee8630499963980c85abc183a9ece Mon Sep 17 00:00:00 2001 From: Mikhail Smirnov <58223117+mismirnov@users.noreply.github.com> Date: Mon, 23 Jan 2023 12:45:28 +0300 Subject: [PATCH] Impl DApp deepLink, tezos DApp connection iOS fix (#77) * Improved gas limit per operation count * Reject dApp request by onClose * New OperationRequestPopup layout WIP * New OperationRequestPopup done, OperationRequestVM WIP * Autofill error handled * Raw and Bytes to SignatureRequestPopup * Raw operations, operationRequest popup changes, few fixes * Reveal operation layout, few fixes * Layout changes, added scanner overlay to connect dApp * Fix enable/disable scanner * i18n ru * Operation request popup layout fix * Connect dApp fix + few changes * Fix delegationTime format * Binding string values to entry components in OperationRequest popup * Beacon exclusive mode for iOS * Fix styles * Snack bar improvements * Fix snack bar after cancelation * Increase dApp connection timeout, few layout fixes * Detailed snack bar for dApp connection * Increase beakon SDK version * Increase app version, android targetSdkVersion, activity exported * Increase beacon SDK version * Increase app and beacon SDK version * Beacon TezosDelegationOperation handle * Fix OperationRequest popup layout * Handle few exceptions DappsViewModel * Default icon for null in permission popup * Added copy button to OperationBytes view * Increase app version --- atomex.Android/Atomex.Android.csproj | 4 + atomex.Android/MainActivity.cs | 2 +- atomex.Android/Properties/AndroidManifest.xml | 4 +- atomex.Android/Resources/Resource.designer.cs | 229 ++-- .../Resources/drawable-night/ic_dropdown.xml | 11 + .../Resources/drawable-night/ic_warning.xml | 11 + atomex.Android/Resources/drawable/.DS_Store | Bin 14340 -> 14340 bytes .../Resources/drawable/ic_dropdown.xml | 11 + .../Resources/drawable/ic_warning.xml | 10 + .../Services/FirebaseMessService.cs | 2 +- atomex.client.core | 2 +- .../ic_dropdown.imageset/Contents.json | 533 +++++++++ .../ic_dropdown.imageset/ic_dropdown.pdf | Bin 0 -> 892 bytes .../ic_dropdown__dark.pdf | Bin 0 -> 892 bytes .../ic_warning.imageset/Contents.json | 533 +++++++++ .../ic_warning.imageset/ic_warning.pdf | Bin 0 -> 1819 bytes .../ic_warning.imageset/ic_warning__dark.pdf | Bin 0 -> 1866 bytes atomex.iOS/Info.plist | 4 +- atomex.iOS/Properties/AssemblyInfo.cs | 1 - atomex.iOS/atomex.iOS.csproj | 9 +- atomex/CustomElements/CustomViewCell.cs | 3 +- atomex/Models/OperationRequestTab.cs | 11 + atomex/Resources/AppResources.Designer.cs | 163 ++- atomex/Resources/AppResources.fr.Designer.cs | 183 ++- atomex/Resources/AppResources.fr.resx | 90 +- atomex/Resources/AppResources.resx | 82 +- atomex/Resources/AppResources.ru.Designer.cs | 183 ++- atomex/Resources/AppResources.ru.resx | 96 +- atomex/Resources/AppResources.tr.Designer.cs | 183 ++- atomex/Resources/AppResources.tr.resx | 90 +- atomex/Services/INavigationService.cs | 6 +- atomex/Styles/Colors.xaml | 10 + atomex/Styles/Fonts/Roboto.xaml | 18 +- atomex/Styles/GeneralDevicesStyle.xaml | 22 + atomex/Styles/SmallDevicesStyle.xaml | 26 +- .../CurrencyViewModels/CurrencyViewModel.cs | 25 +- .../DappsViewModels/ConnectDappViewModel.cs | 53 +- .../DappsViewModels/DappsViewModel.cs | 856 ++++++++------ .../OperationRequestViewModel.cs | 605 +++++++++- .../SignatureRequestViewModel.cs | 32 +- atomex/ViewModels/DelegationViewModel.cs | 3 + atomex/ViewModels/PortfolioViewModel.cs | 11 +- atomex/Views/CurrencyPage.xaml | 106 ++ atomex/Views/Dapps/ConnectDappPage.xaml | 21 +- atomex/Views/Dapps/ConnectDappPage.xaml.cs | 27 + atomex/Views/Dapps/DappInfoPage.xaml | 2 +- atomex/Views/Dapps/DappInfoPage.xaml.cs | 1 - atomex/Views/Dapps/OperationRequestPopup.xaml | 1028 +++++++++++++---- .../Views/Dapps/OperationRequestPopup.xaml.cs | 16 + .../Views/Dapps/PermissionRequestPopup.xaml | 6 +- .../Dapps/PermissionRequestPopup.xaml.cs | 11 + atomex/Views/Dapps/SignatureRequestPopup.xaml | 95 +- .../Views/Dapps/SignatureRequestPopup.xaml.cs | 11 + .../Delegate/UndoDelegationBottomSheet.xaml | 2 +- atomex/Views/DelegationInfoPage.xaml | 2 +- atomex/Views/MainPage.xaml.cs | 53 +- atomex/Views/StartPage.xaml.cs | 51 +- atomex/atomex.csproj | 2 +- 58 files changed, 4465 insertions(+), 1086 deletions(-) create mode 100644 atomex.Android/Resources/drawable-night/ic_dropdown.xml create mode 100644 atomex.Android/Resources/drawable-night/ic_warning.xml create mode 100644 atomex.Android/Resources/drawable/ic_dropdown.xml create mode 100644 atomex.Android/Resources/drawable/ic_warning.xml create mode 100644 atomex.iOS/Assets.xcassets/ic_dropdown.imageset/Contents.json create mode 100644 atomex.iOS/Assets.xcassets/ic_dropdown.imageset/ic_dropdown.pdf create mode 100644 atomex.iOS/Assets.xcassets/ic_dropdown.imageset/ic_dropdown__dark.pdf create mode 100644 atomex.iOS/Assets.xcassets/ic_warning.imageset/Contents.json create mode 100644 atomex.iOS/Assets.xcassets/ic_warning.imageset/ic_warning.pdf create mode 100644 atomex.iOS/Assets.xcassets/ic_warning.imageset/ic_warning__dark.pdf create mode 100644 atomex/Models/OperationRequestTab.cs diff --git a/atomex.Android/Atomex.Android.csproj b/atomex.Android/Atomex.Android.csproj index 5d34f365..eda5049b 100644 --- a/atomex.Android/Atomex.Android.csproj +++ b/atomex.Android/Atomex.Android.csproj @@ -169,10 +169,14 @@ + + + + diff --git a/atomex.Android/MainActivity.cs b/atomex.Android/MainActivity.cs index 1564b3f1..11678817 100644 --- a/atomex.Android/MainActivity.cs +++ b/atomex.Android/MainActivity.cs @@ -25,7 +25,7 @@ namespace atomex.Droid { [Activity(Label = "Atomex", Icon = "@mipmap/icon", Theme = "@style/MainTheme", ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation, LaunchMode = LaunchMode.SingleTask, - ScreenOrientation = ScreenOrientation.Locked)] + ScreenOrientation = ScreenOrientation.Locked, Exported = true)] [IntentFilter(new[] { Intent.ActionView }, Categories = new[] diff --git a/atomex.Android/Properties/AndroidManifest.xml b/atomex.Android/Properties/AndroidManifest.xml index f2476daf..0831aded 100644 --- a/atomex.Android/Properties/AndroidManifest.xml +++ b/atomex.Android/Properties/AndroidManifest.xml @@ -1,6 +1,6 @@  - - + + diff --git a/atomex.Android/Resources/Resource.designer.cs b/atomex.Android/Resources/Resource.designer.cs index 58ba5e22..022a6367 100644 --- a/atomex.Android/Resources/Resource.designer.cs +++ b/atomex.Android/Resources/Resource.designer.cs @@ -2,6 +2,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. +// Runtime Version:4.0.30319.42000 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -35822,337 +35823,343 @@ public partial class Drawable public const int ic_disconnect__blue = 2131230862; // aapt resource value: 0x7F08008F - public const int ic_edit = 2131230863; + public const int ic_dropdown = 2131230863; // aapt resource value: 0x7F080090 - public const int ic_errorstatus = 2131230864; + public const int ic_edit = 2131230864; // aapt resource value: 0x7F080091 - public const int ic_exchange = 2131230865; + public const int ic_errorstatus = 2131230865; // aapt resource value: 0x7F080092 - public const int ic_exchange__white = 2131230866; + public const int ic_exchange = 2131230866; // aapt resource value: 0x7F080093 - public const int ic_export = 2131230867; + public const int ic_exchange__white = 2131230867; // aapt resource value: 0x7F080094 - public const int ic_export__green = 2131230868; + public const int ic_export = 2131230868; // aapt resource value: 0x7F080095 - public const int ic_filters = 2131230869; + public const int ic_export__green = 2131230869; // aapt resource value: 0x7F080096 - public const int ic_forward = 2131230870; + public const int ic_filters = 2131230870; // aapt resource value: 0x7F080097 - public const int ic_keyboard_black_24dp = 2131230871; + public const int ic_forward = 2131230871; // aapt resource value: 0x7F080098 - public const int ic_launcher = 2131230872; + public const int ic_keyboard_black_24dp = 2131230872; // aapt resource value: 0x7F080099 - public const int ic_line__empty = 2131230873; + public const int ic_launcher = 2131230873; // aapt resource value: 0x7F08009A - public const int ic_line__full = 2131230874; + public const int ic_line__empty = 2131230874; // aapt resource value: 0x7F08009B - public const int ic_menu = 2131230875; + public const int ic_line__full = 2131230875; // aapt resource value: 0x7F08009C - public const int ic_mtrl_checked_circle = 2131230876; + public const int ic_menu = 2131230876; // aapt resource value: 0x7F08009D - public const int ic_mtrl_chip_checked_black = 2131230877; + public const int ic_mtrl_checked_circle = 2131230877; // aapt resource value: 0x7F08009E - public const int ic_mtrl_chip_checked_circle = 2131230878; + public const int ic_mtrl_chip_checked_black = 2131230878; // aapt resource value: 0x7F08009F - public const int ic_mtrl_chip_close_circle = 2131230879; + public const int ic_mtrl_chip_checked_circle = 2131230879; // aapt resource value: 0x7F0800A0 - public const int ic_navbar__buy = 2131230880; + public const int ic_mtrl_chip_close_circle = 2131230880; // aapt resource value: 0x7F0800A1 - public const int ic_navbar__dex = 2131230881; + public const int ic_navbar__buy = 2131230881; // aapt resource value: 0x7F0800A2 - public const int ic_navbar__portfolio = 2131230882; + public const int ic_navbar__dex = 2131230882; // aapt resource value: 0x7F0800A3 - public const int ic_navbar__settings = 2131230883; + public const int ic_navbar__portfolio = 2131230883; // aapt resource value: 0x7F0800A4 - public const int ic_notification = 2131230884; + public const int ic_navbar__settings = 2131230884; // aapt resource value: 0x7F0800A5 - public const int ic_pin__del = 2131230885; + public const int ic_notification = 2131230885; // aapt resource value: 0x7F0800A6 - public const int ic_qr = 2131230886; + public const int ic_pin__del = 2131230886; // aapt resource value: 0x7F0800A7 - public const int ic_qr__blue = 2131230887; + public const int ic_qr = 2131230887; // aapt resource value: 0x7F0800A8 - public const int ic_question = 2131230888; + public const int ic_qr__blue = 2131230888; // aapt resource value: 0x7F0800A9 - public const int ic_question__error = 2131230889; + public const int ic_question = 2131230889; // aapt resource value: 0x7F0800AA - public const int ic_question__warning = 2131230890; + public const int ic_question__error = 2131230890; // aapt resource value: 0x7F0800AB - public const int ic_receive = 2131230891; + public const int ic_question__warning = 2131230891; // aapt resource value: 0x7F0800AC - public const int ic_search = 2131230892; + public const int ic_receive = 2131230892; // aapt resource value: 0x7F0800AD - public const int ic_send = 2131230893; + public const int ic_search = 2131230893; // aapt resource value: 0x7F0800AE - public const int ic_share = 2131230894; + public const int ic_send = 2131230894; // aapt resource value: 0x7F0800AF - public const int ic_sort__down = 2131230895; + public const int ic_share = 2131230895; // aapt resource value: 0x7F0800B0 - public const int ic_sort__up = 2131230896; + public const int ic_sort__down = 2131230896; // aapt resource value: 0x7F0800B1 - public const int ic_status__canceled = 2131230897; + public const int ic_sort__up = 2131230897; // aapt resource value: 0x7F0800B2 - public const int ic_status__completed = 2131230898; + public const int ic_status__canceled = 2131230898; // aapt resource value: 0x7F0800B3 - public const int ic_status__empty = 2131230899; + public const int ic_status__completed = 2131230899; // aapt resource value: 0x7F0800B4 - public const int ic_status__pending = 2131230900; + public const int ic_status__empty = 2131230900; // aapt resource value: 0x7F0800B5 - public const int ic_successstatus = 2131230901; + public const int ic_status__pending = 2131230901; // aapt resource value: 0x7F0800B6 - public const int ic_support = 2131230902; + public const int ic_successstatus = 2131230902; // aapt resource value: 0x7F0800B7 - public const int ic_swap = 2131230903; + public const int ic_support = 2131230903; // aapt resource value: 0x7F0800B8 - public const int ic_swipe__indicator = 2131230904; + public const int ic_swap = 2131230904; // aapt resource value: 0x7F0800B9 - public const int ic_telegram = 2131230905; + public const int ic_swipe__indicator = 2131230905; // aapt resource value: 0x7F0800BA - public const int ic_tick = 2131230906; + public const int ic_telegram = 2131230906; // aapt resource value: 0x7F0800BB - public const int ic_twitter = 2131230907; + public const int ic_tick = 2131230907; // aapt resource value: 0x7F0800BC - public const int ic_update = 2131230908; + public const int ic_twitter = 2131230908; // aapt resource value: 0x7F0800BD - public const int ic_youtube = 2131230909; + public const int ic_update = 2131230909; // aapt resource value: 0x7F0800BE - public const int KUSD = 2131230910; + public const int ic_warning = 2131230910; // aapt resource value: 0x7F0800BF - public const int LeftRoundedButton = 2131230911; + public const int ic_youtube = 2131230911; // aapt resource value: 0x7F0800C0 - public const int Lock = 2131230912; + public const int KUSD = 2131230912; // aapt resource value: 0x7F0800C1 - public const int Logo = 2131230913; + public const int LeftRoundedButton = 2131230913; // aapt resource value: 0x7F0800C2 - public const int LogoLabel = 2131230914; + public const int Lock = 2131230914; // aapt resource value: 0x7F0800C3 - public const int LTC = 2131230915; + public const int Logo = 2131230915; // aapt resource value: 0x7F0800C4 - public const int material_cursor_drawable = 2131230916; + public const int LogoLabel = 2131230916; // aapt resource value: 0x7F0800C5 - public const int material_ic_calendar_black_24dp = 2131230917; + public const int LTC = 2131230917; // aapt resource value: 0x7F0800C6 - public const int material_ic_clear_black_24dp = 2131230918; + public const int material_cursor_drawable = 2131230918; // aapt resource value: 0x7F0800C7 - public const int material_ic_edit_black_24dp = 2131230919; + public const int material_ic_calendar_black_24dp = 2131230919; // aapt resource value: 0x7F0800C8 - public const int material_ic_keyboard_arrow_left_black_24dp = 2131230920; + public const int material_ic_clear_black_24dp = 2131230920; // aapt resource value: 0x7F0800C9 - public const int material_ic_keyboard_arrow_next_black_24dp = 2131230921; + public const int material_ic_edit_black_24dp = 2131230921; // aapt resource value: 0x7F0800CA - public const int material_ic_keyboard_arrow_previous_black_24dp = 2131230922; + public const int material_ic_keyboard_arrow_left_black_24dp = 2131230922; // aapt resource value: 0x7F0800CB - public const int material_ic_keyboard_arrow_right_black_24dp = 2131230923; + public const int material_ic_keyboard_arrow_next_black_24dp = 2131230923; // aapt resource value: 0x7F0800CC - public const int material_ic_menu_arrow_down_black_24dp = 2131230924; + public const int material_ic_keyboard_arrow_previous_black_24dp = 2131230924; // aapt resource value: 0x7F0800CD - public const int material_ic_menu_arrow_up_black_24dp = 2131230925; + public const int material_ic_keyboard_arrow_right_black_24dp = 2131230925; // aapt resource value: 0x7F0800CE - public const int mtrl_dialog_background = 2131230926; + public const int material_ic_menu_arrow_down_black_24dp = 2131230926; // aapt resource value: 0x7F0800CF - public const int mtrl_dropdown_arrow = 2131230927; + public const int material_ic_menu_arrow_up_black_24dp = 2131230927; // aapt resource value: 0x7F0800D0 - public const int mtrl_ic_arrow_drop_down = 2131230928; + public const int mtrl_dialog_background = 2131230928; // aapt resource value: 0x7F0800D1 - public const int mtrl_ic_arrow_drop_up = 2131230929; + public const int mtrl_dropdown_arrow = 2131230929; // aapt resource value: 0x7F0800D2 - public const int mtrl_ic_cancel = 2131230930; + public const int mtrl_ic_arrow_drop_down = 2131230930; // aapt resource value: 0x7F0800D3 - public const int mtrl_ic_error = 2131230931; + public const int mtrl_ic_arrow_drop_up = 2131230931; // aapt resource value: 0x7F0800D4 - public const int mtrl_navigation_bar_item_background = 2131230932; + public const int mtrl_ic_cancel = 2131230932; // aapt resource value: 0x7F0800D5 - public const int mtrl_popupmenu_background = 2131230933; + public const int mtrl_ic_error = 2131230933; // aapt resource value: 0x7F0800D6 - public const int mtrl_popupmenu_background_dark = 2131230934; + public const int mtrl_navigation_bar_item_background = 2131230934; // aapt resource value: 0x7F0800D7 - public const int mtrl_tabs_default_indicator = 2131230935; + public const int mtrl_popupmenu_background = 2131230935; // aapt resource value: 0x7F0800D8 - public const int navigation_empty_icon = 2131230936; + public const int mtrl_popupmenu_background_dark = 2131230936; // aapt resource value: 0x7F0800D9 - public const int notification_action_background = 2131230937; + public const int mtrl_tabs_default_indicator = 2131230937; // aapt resource value: 0x7F0800DA - public const int notification_bg = 2131230938; + public const int navigation_empty_icon = 2131230938; // aapt resource value: 0x7F0800DB - public const int notification_bg_low = 2131230939; + public const int notification_action_background = 2131230939; // aapt resource value: 0x7F0800DC - public const int notification_bg_low_normal = 2131230940; + public const int notification_bg = 2131230940; // aapt resource value: 0x7F0800DD - public const int notification_bg_low_pressed = 2131230941; + public const int notification_bg_low = 2131230941; // aapt resource value: 0x7F0800DE - public const int notification_bg_normal = 2131230942; + public const int notification_bg_low_normal = 2131230942; // aapt resource value: 0x7F0800DF - public const int notification_bg_normal_pressed = 2131230943; + public const int notification_bg_low_pressed = 2131230943; // aapt resource value: 0x7F0800E0 - public const int notification_icon_background = 2131230944; + public const int notification_bg_normal = 2131230944; // aapt resource value: 0x7F0800E1 - public const int notification_template_icon_bg = 2131230945; + public const int notification_bg_normal_pressed = 2131230945; // aapt resource value: 0x7F0800E2 - public const int notification_template_icon_low_bg = 2131230946; + public const int notification_icon_background = 2131230946; // aapt resource value: 0x7F0800E3 - public const int notification_tile_bg = 2131230947; + public const int notification_template_icon_bg = 2131230947; // aapt resource value: 0x7F0800E4 - public const int notify_panel_notification_icon_bg = 2131230948; + public const int notification_template_icon_low_bg = 2131230948; // aapt resource value: 0x7F0800E5 - public const int preference_list_divider_material = 2131230949; + public const int notification_tile_bg = 2131230949; // aapt resource value: 0x7F0800E6 - public const int RightArrow__blue = 2131230950; + public const int notify_panel_notification_icon_bg = 2131230950; // aapt resource value: 0x7F0800E7 - public const int RightArrow__white = 2131230951; + public const int preference_list_divider_material = 2131230951; // aapt resource value: 0x7F0800E8 - public const int RightRoundedButton = 2131230952; + public const int RightArrow__blue = 2131230952; // aapt resource value: 0x7F0800E9 - public const int roundedbg = 2131230953; + public const int RightArrow__white = 2131230953; // aapt resource value: 0x7F0800EA - public const int roundedbgdark = 2131230954; + public const int RightRoundedButton = 2131230954; // aapt resource value: 0x7F0800EB - public const int ru = 2131230955; + public const int roundedbg = 2131230955; // aapt resource value: 0x7F0800EC - public const int SplashScreen = 2131230956; + public const int roundedbgdark = 2131230956; // aapt resource value: 0x7F0800ED - public const int SwapCanceled = 2131230957; + public const int ru = 2131230957; // aapt resource value: 0x7F0800EE - public const int SwapCompleted = 2131230958; + public const int SplashScreen = 2131230958; // aapt resource value: 0x7F0800EF - public const int SwapInProgress = 2131230959; + public const int SwapCanceled = 2131230959; // aapt resource value: 0x7F0800F0 - public const int TBTC = 2131230960; + public const int SwapCompleted = 2131230960; // aapt resource value: 0x7F0800F1 - public const int test_custom_background = 2131230961; + public const int SwapInProgress = 2131230961; // aapt resource value: 0x7F0800F2 - public const int Tick = 2131230962; + public const int TBTC = 2131230962; // aapt resource value: 0x7F0800F3 - public const int tooltip_frame_dark = 2131230963; + public const int test_custom_background = 2131230963; // aapt resource value: 0x7F0800F4 - public const int tooltip_frame_light = 2131230964; + public const int Tick = 2131230964; // aapt resource value: 0x7F0800F5 - public const int tr = 2131230965; + public const int tooltip_frame_dark = 2131230965; // aapt resource value: 0x7F0800F6 - public const int TZBTC = 2131230966; + public const int tooltip_frame_light = 2131230966; // aapt resource value: 0x7F0800F7 - public const int USDT = 2131230967; + public const int tr = 2131230967; // aapt resource value: 0x7F0800F8 - public const int USDT_XTZ = 2131230968; + public const int TZBTC = 2131230968; // aapt resource value: 0x7F0800F9 - public const int Wallet__blue = 2131230969; + public const int USDT = 2131230969; // aapt resource value: 0x7F0800FA - public const int Wallet__white = 2131230970; + public const int USDT_XTZ = 2131230970; // aapt resource value: 0x7F0800FB - public const int Warning = 2131230971; + public const int Wallet__blue = 2131230971; // aapt resource value: 0x7F0800FC - public const int WBTC = 2131230972; + public const int Wallet__white = 2131230972; // aapt resource value: 0x7F0800FD - public const int XTZ = 2131230973; + public const int Warning = 2131230973; + + // aapt resource value: 0x7F0800FE + public const int WBTC = 2131230974; + + // aapt resource value: 0x7F0800FF + public const int XTZ = 2131230975; static Drawable() { diff --git a/atomex.Android/Resources/drawable-night/ic_dropdown.xml b/atomex.Android/Resources/drawable-night/ic_dropdown.xml new file mode 100644 index 00000000..560392ca --- /dev/null +++ b/atomex.Android/Resources/drawable-night/ic_dropdown.xml @@ -0,0 +1,11 @@ + + + diff --git a/atomex.Android/Resources/drawable-night/ic_warning.xml b/atomex.Android/Resources/drawable-night/ic_warning.xml new file mode 100644 index 00000000..3b0ed4b2 --- /dev/null +++ b/atomex.Android/Resources/drawable-night/ic_warning.xml @@ -0,0 +1,11 @@ + + + diff --git a/atomex.Android/Resources/drawable/.DS_Store b/atomex.Android/Resources/drawable/.DS_Store index d7af9f4f45fb733e9a867f049589a7a78853400e..285daf8570e4cfa929fb0cdd538054d632ad8fc6 100644 GIT binary patch delta 51 zcmZoEXepTB&*;A~U^hRb?q(i=ShmfZ#UeN-D=>O(=2l?gm^@KMa&wWyOm?7%+h%ry Gzw7|F8W1i3 delta 67 zcmV-J0KET%aD;G>PXSP|P`eKSF0%{}T?Uh}78(U&0BitZldc#W1v>x$0rj(97Gnvs Z3m^mtlP?k-lMoREv*s7q2eSt-{Rg|S6gdC@ diff --git a/atomex.Android/Resources/drawable/ic_dropdown.xml b/atomex.Android/Resources/drawable/ic_dropdown.xml new file mode 100644 index 00000000..a44f9fbe --- /dev/null +++ b/atomex.Android/Resources/drawable/ic_dropdown.xml @@ -0,0 +1,11 @@ + + + diff --git a/atomex.Android/Resources/drawable/ic_warning.xml b/atomex.Android/Resources/drawable/ic_warning.xml new file mode 100644 index 00000000..7d3ab2fb --- /dev/null +++ b/atomex.Android/Resources/drawable/ic_warning.xml @@ -0,0 +1,10 @@ + + + diff --git a/atomex.Android/Services/FirebaseMessService.cs b/atomex.Android/Services/FirebaseMessService.cs index 680e8f1b..83949f8d 100644 --- a/atomex.Android/Services/FirebaseMessService.cs +++ b/atomex.Android/Services/FirebaseMessService.cs @@ -7,7 +7,7 @@ namespace atomex.Droid.Services { - [Service] + [Service(Exported = true)] [IntentFilter(new[] { "com.google.firebase.MESSAGING_EVENT" })] public class FirebaseMessService : FirebaseMessagingService { diff --git a/atomex.client.core b/atomex.client.core index fbf7ddec..8c64990e 160000 --- a/atomex.client.core +++ b/atomex.client.core @@ -1 +1 @@ -Subproject commit fbf7ddec409ce01cb83cbc1eacc75b97b5a1f503 +Subproject commit 8c64990e205aee6b5e7b310d5694269a52bd35b6 diff --git a/atomex.iOS/Assets.xcassets/ic_dropdown.imageset/Contents.json b/atomex.iOS/Assets.xcassets/ic_dropdown.imageset/Contents.json new file mode 100644 index 00000000..030b1e7e --- /dev/null +++ b/atomex.iOS/Assets.xcassets/ic_dropdown.imageset/Contents.json @@ -0,0 +1,533 @@ +{ + "images": [ + { + "idiom": "universal" + }, + { + "idiom": "universal", + "scale": "1x" + }, + { + "idiom": "universal", + "scale": "2x" + }, + { + "idiom": "universal", + "scale": "3x" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "filename": "ic_dropdown__dark.pdf", + "idiom": "universal" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "idiom": "universal", + "scale": "1x" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "idiom": "universal", + "scale": "2x" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "idiom": "universal", + "scale": "3x" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "light" + } + ], + "filename": "ic_dropdown.pdf", + "idiom": "universal" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "light" + } + ], + "idiom": "universal", + "scale": "1x" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "light" + } + ], + "idiom": "universal", + "scale": "2x" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "light" + } + ], + "idiom": "universal", + "scale": "3x" + }, + { + "idiom": "iphone" + }, + { + "idiom": "iphone", + "scale": "1x" + }, + { + "idiom": "iphone", + "scale": "2x" + }, + { + "subtype": "retina4", + "idiom": "iphone", + "scale": "2x" + }, + { + "idiom": "iphone", + "scale": "3x" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "idiom": "iphone" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "idiom": "iphone", + "scale": "1x" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "idiom": "iphone", + "scale": "2x" + }, + { + "subtype": "retina4", + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "idiom": "iphone", + "scale": "2x" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "idiom": "iphone", + "scale": "3x" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "light" + } + ], + "idiom": "iphone" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "light" + } + ], + "idiom": "iphone", + "scale": "1x" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "light" + } + ], + "idiom": "iphone", + "scale": "2x" + }, + { + "subtype": "retina4", + "appearances": [ + { + "appearance": "luminosity", + "value": "light" + } + ], + "idiom": "iphone", + "scale": "2x" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "light" + } + ], + "idiom": "iphone", + "scale": "3x" + }, + { + "idiom": "ipad" + }, + { + "idiom": "ipad", + "scale": "1x" + }, + { + "idiom": "ipad", + "scale": "2x" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "idiom": "ipad" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "idiom": "ipad", + "scale": "1x" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "idiom": "ipad", + "scale": "2x" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "light" + } + ], + "idiom": "ipad" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "light" + } + ], + "idiom": "ipad", + "scale": "1x" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "light" + } + ], + "idiom": "ipad", + "scale": "2x" + }, + { + "idiom": "mac" + }, + { + "idiom": "mac", + "scale": "1x" + }, + { + "idiom": "mac", + "scale": "2x" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "idiom": "mac" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "idiom": "mac", + "scale": "1x" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "idiom": "mac", + "scale": "2x" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "light" + } + ], + "idiom": "mac" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "light" + } + ], + "idiom": "mac", + "scale": "1x" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "light" + } + ], + "idiom": "mac", + "scale": "2x" + }, + { + "idiom": "car" + }, + { + "idiom": "car", + "scale": "2x" + }, + { + "idiom": "car", + "scale": "3x" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "idiom": "car" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "idiom": "car", + "scale": "2x" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "idiom": "car", + "scale": "3x" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "light" + } + ], + "idiom": "car" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "light" + } + ], + "idiom": "car", + "scale": "2x" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "light" + } + ], + "idiom": "car", + "scale": "3x" + }, + { + "idiom": "watch" + }, + { + "idiom": "watch", + "scale": "2x" + }, + { + "idiom": "watch", + "scale": "2x", + "screenWidth": "{130,145}" + }, + { + "idiom": "watch", + "scale": "2x", + "screenWidth": "{146,165}" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "idiom": "watch" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "idiom": "watch", + "scale": "2x" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "idiom": "watch", + "scale": "2x", + "screenWidth": "{130,145}" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "idiom": "watch", + "scale": "2x", + "screenWidth": "{146,165}" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "light" + } + ], + "idiom": "watch" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "light" + } + ], + "idiom": "watch", + "scale": "2x" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "light" + } + ], + "idiom": "watch", + "scale": "2x", + "screenWidth": "{130,145}" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "light" + } + ], + "idiom": "watch", + "scale": "2x", + "screenWidth": "{146,165}" + } + ], + "info": { + "author": "xcode", + "version": 1 + }, + "properties": { + "preserves-vector-representation": false, + "on-demand-resources-tags": [] + } +} \ No newline at end of file diff --git a/atomex.iOS/Assets.xcassets/ic_dropdown.imageset/ic_dropdown.pdf b/atomex.iOS/Assets.xcassets/ic_dropdown.imageset/ic_dropdown.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f8bf2af8f5cb9c8ee668ca8e416edc5a9b0aabc9 GIT binary patch literal 892 zcmZuw+fIW(5PhGon3pEiL|{t+O^k`X#;CDU-x?oQx~&+>D!Vn+uXmQq(u)%U!x`ps z&MckTXmY`v2!Nr7^6diZ1mA!=65nYe;^_c~^ZmC(!56q=hHC}PDO-5dtadJ}cN(*yWCPYGC+J^! zG?T-8W2ln64f{@1(!dQ^*XCvrH6(2?`zJSpcUYZ64$ojjs2MhL80M9nJr-Dz`W7`J z-{!g03Ky>=I+^?O^C{4s@wKRdN3l%#K<;qSYGLO*owBJD3njNjA{3gX#&xlw%(cj= zpV?Fc&Uir>1~o*RY6uvpJrDQkk_JUHe~e9^q1;j~JDFY)vR5fQsAT9V+pwiQIKytbJgY=;V<|Nn!ll6OJpC0kefb0MLYH*Hh(V__ewzFN0=~?9 literal 0 HcmV?d00001 diff --git a/atomex.iOS/Assets.xcassets/ic_dropdown.imageset/ic_dropdown__dark.pdf b/atomex.iOS/Assets.xcassets/ic_dropdown.imageset/ic_dropdown__dark.pdf new file mode 100644 index 0000000000000000000000000000000000000000..82a636ffaa07967d3d4f7588dc62de1e0cb312f7 GIT binary patch literal 892 zcmZuw$xg#C5WUY=%%xI6B8i(OX(fb27Z3tONx2~oCUr|t8bfSQ;p-VYiMuh16#I>5 zd(ZC7CRb<7O8^)KC|}xq69&D#_&ZUq z^c#i*rgRXLt^{9$KM~(~CerH>j_13(Ou;AkQ-&)A%rh0JM$j(K-0IlpT-h1|ZxHvA zengSOUeq53=+3LGBzKcI^peO{Sc6+SX90<4y#YFB@lR|4Z?HUt5+1>j&`j9UVJ5HX z?6Js^)OV;M`LZmfR`~ovq?7qiKOX}98DEJ8xEG6@kK_iQw_LbBkGpL1q(aHBDiaEg zsA-dIEK4m)s%MmH!5OazLt@NAq*ObAfwuSIHeXPqX!=jFtuvNi6w8jfSA^_jiuW>^ z@sumL9ed0*FXU=JbW@2X1eicAoYgFjqA)^&8)I})tb+t@ETKO4q0n5411L@op(q?2 zLNOz{nm}Fgybu)_?QSMSM_0+UIKghdIH^hTQz#O0Y3Lj3L%J-GD%owbp`!iuJ$Afix%g@G zt!L((v3Ig}adv)4!ZSu(^8Uw9#`)0^KR#w{cb$GRHRZEUZFjr9;~H?Db`9H2yI8Z? zS^H<%wDb2T{Pc4As~OmDMndMr<@j(|pI&{ZjFZvuW<3pcE+u))F*F_X!jm>CaFQZ8 zAFbkRK+@V+;zS}?9Z7R5y!42#NCJ`aPT3ktykSx(8MU`u2`gPh;uV8d?L*MWm!Xf) zfTDy7*l(PUsE=1lA+VB$p}f|?d;bVmjFd1jL^+MsLQzD8QXrs`5>AstXb}=2?iI5u zcE_whK5Jt#qR}@9T{9;rs1UL{hu6VzC!7uB^1h5LP_Seo3YSoYGLY?E^d`xPSTdps zfH8$9=$x}rrB-@nO_n`&p*p6qF~~QzrZS`xMAo|0w-So;^Hv$0&@O-Kw#4D0dXW*J z?G>-71x^?xt@7N9h*Q-ecfds`jgQQUIPP)*i{QT!vx{qxt1v4v^Kd_5q+vdFu4Fg6 ziXNnBs3hegV{|aQG8out!1dc@nvha2+Z>e^U8`h$WL161UR_rWl{C}tDB;s>^|?E^ z(w-ddS7BaA0Ne#Fq%py3G_DeZgK#?E!ODCfWi@=4Oa|u_J#JrBQAz3q&PQvHPLy5v zB&`lkqF%`~A+_Fw6;(A;RbJ~=l3d@sVIBL*(i|&8YMf|kcpynTjz0XK%Z% z-wyohI|d@w?Aza8EuUR1ZrcJrx7W+XN&mpF@OeL=bn;7|)b8b4iZ7pwmEY3ReIy5;maBHd(&>FTLp%0|e%&7M{pIz+t|_y5-*0&`oEtp5T>fjJKL3p^ QHrs56Z1ikz@7KoWFX-H<$O*yX&c$y7?RBe{I91h+bmx*RSV4 z*7dh3jH#3Ozqkt(2u zTt2+4pPqcCjFZvu_Q2{se6Tiu_0sD>95%uv%DFjy1 zGSt#Kc<&$Jo{C-S(9Zi zU8s&}X$T`E+r9C;^ufn{L0JsZUNMnN6 zXj~-*2jO(SgO&L}%4+y7nGDV=dfdLMqLS1JoR8KXohZBTN?IM9M7@$}MQXhjE2?Uy zs=U^#B)R_bg7xelmd06`Rm)&YGi)A=M8Vd1htaZ{mw)vAFpd1?6Xqw@=Hvh0I=;DT z?z#d#bho?a&2Z0e@OnR3NEJ{Ui5re;6f zorc~YyDv;~&u061#5-%X<-lbTrhb0VSLC7d1d%5Ad4%v1KSGw!u+v=@6K+A%vDxjr zBTK(_?=R4fXX9|_p7UqB+vjsrHrrvCcru(Dyt&@}?4UmXnl;BM+aYHRJ3G7l`|U4- CON)m9 literal 0 HcmV?d00001 diff --git a/atomex.iOS/Info.plist b/atomex.iOS/Info.plist index ee46804e..e1b0c445 100644 --- a/atomex.iOS/Info.plist +++ b/atomex.iOS/Info.plist @@ -24,7 +24,7 @@ CFBundleIdentifier com.atomex.ios CFBundleVersion - 1.21.0 + 1.22.14 UILaunchStoryboardName AtomexLaunchScreen CFBundleName @@ -88,7 +88,7 @@ UIStatusBarStyle UIStatusBarStyleLightContent CFBundleShortVersionString - 1.21 + 1.22 CFBundleLocalizations en diff --git a/atomex.iOS/Properties/AssemblyInfo.cs b/atomex.iOS/Properties/AssemblyInfo.cs index 1d02484b..3d68051b 100644 --- a/atomex.iOS/Properties/AssemblyInfo.cs +++ b/atomex.iOS/Properties/AssemblyInfo.cs @@ -1,5 +1,4 @@ using System.Reflection; -using System.Runtime.CompilerServices; using System.Runtime.InteropServices; // General Information about an assembly is controlled through the following diff --git a/atomex.iOS/atomex.iOS.csproj b/atomex.iOS/atomex.iOS.csproj index 22210e9a..a0985557 100644 --- a/atomex.iOS/atomex.iOS.csproj +++ b/atomex.iOS/atomex.iOS.csproj @@ -108,9 +108,15 @@ + + + + + + false @@ -737,9 +743,6 @@ - - 1.0.12 - diff --git a/atomex/CustomElements/CustomViewCell.cs b/atomex/CustomElements/CustomViewCell.cs index 94ce8450..e46ed172 100644 --- a/atomex/CustomElements/CustomViewCell.cs +++ b/atomex/CustomElements/CustomViewCell.cs @@ -1,5 +1,4 @@ -using System; -using Xamarin.Forms; +using Xamarin.Forms; namespace atomex.CustomElements { diff --git a/atomex/Models/OperationRequestTab.cs b/atomex/Models/OperationRequestTab.cs new file mode 100644 index 00000000..77f19035 --- /dev/null +++ b/atomex/Models/OperationRequestTab.cs @@ -0,0 +1,11 @@ +using System.ComponentModel; + +namespace atomex.Models +{ + public enum OperationRequestTab + { + [Description("Preview")] Preview, + [Description("Raw")] Raw, + [Description("Bytes")] Bytes + } +} \ No newline at end of file diff --git a/atomex/Resources/AppResources.Designer.cs b/atomex/Resources/AppResources.Designer.cs index da19840d..92b35e80 100644 --- a/atomex/Resources/AppResources.Designer.cs +++ b/atomex/Resources/AppResources.Designer.cs @@ -8,9 +8,6 @@ //------------------------------------------------------------------------------ namespace atomex.Resources { - using System; - - [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] [System.Diagnostics.DebuggerNonUserCodeAttribute()] [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] @@ -261,6 +258,54 @@ internal static string Search { } } + internal static string PasteButton { + get { + return ResourceManager.GetString("PasteButton", resourceCulture); + } + } + + internal static string GasPriceLabel { + get { + return ResourceManager.GetString("GasPriceLabel", resourceCulture); + } + } + + internal static string GasLimitLabel { + get { + return ResourceManager.GetString("GasLimitLabel", resourceCulture); + } + } + + internal static string GasUsedLabel { + get { + return ResourceManager.GetString("GasUsedLabel", resourceCulture); + } + } + + internal static string GasFeeLabel { + get { + return ResourceManager.GetString("GasFeeLabel", resourceCulture); + } + } + + internal static string StorageLimitLabel { + get { + return ResourceManager.GetString("StorageLimitLabel", resourceCulture); + } + } + + internal static string StorageFeeLabel { + get { + return ResourceManager.GetString("StorageFeeLabel", resourceCulture); + } + } + + internal static string TotalFees { + get { + return ResourceManager.GetString("TotalFees", resourceCulture); + } + } + internal static string MyWalletsButton { get { return ResourceManager.GetString("MyWalletsButton", resourceCulture); @@ -849,30 +894,6 @@ internal static string ScannerBottomOverlayText { } } - internal static string PasteButton { - get { - return ResourceManager.GetString("PasteButton", resourceCulture); - } - } - - internal static string GasPriceLabel { - get { - return ResourceManager.GetString("GasPriceLabel", resourceCulture); - } - } - - internal static string GasLimitLabel { - get { - return ResourceManager.GetString("GasLimitLabel", resourceCulture); - } - } - - internal static string GasUsedLabel { - get { - return ResourceManager.GetString("GasUsedLabel", resourceCulture); - } - } - internal static string IsInternalLabel { get { return ResourceManager.GetString("IsInternalLabel", resourceCulture); @@ -1743,15 +1764,9 @@ internal static string DoYouWantToSignData { } } - internal static string RequestFromDapp { - get { - return ResourceManager.GetString("RequestFromDapp", resourceCulture); - } - } - - internal static string ConfirmDappOperations { + internal static string DappRequestToConfirm { get { - return ResourceManager.GetString("ConfirmDappOperations", resourceCulture); + return ResourceManager.GetString("DappRequestToConfirm", resourceCulture); } } @@ -1773,6 +1788,30 @@ internal static string ConnectionError { } } + internal static string Preview { + get { + return ResourceManager.GetString("Preview", resourceCulture); + } + } + + internal static string Raw { + get { + return ResourceManager.GetString("Raw", resourceCulture); + } + } + + internal static string Bytes { + get { + return ResourceManager.GetString("Bytes", resourceCulture); + } + } + + internal static string ShowDetails { + get { + return ResourceManager.GetString("ShowDetails", resourceCulture); + } + } + internal static string SettingsPageTitle { get { return ResourceManager.GetString("SettingsPageTitle", resourceCulture); @@ -2319,6 +2358,18 @@ internal static string RemoveTxWarning { } } + internal static string ChangingTxFeeWarning { + get { + return ResourceManager.GetString("ChangingTxFeeWarning", resourceCulture); + } + } + + internal static string FailedTxParametersWarning { + get { + return ResourceManager.GetString("FailedTxParametersWarning", resourceCulture); + } + } + internal static string UpdateApp { get { return ResourceManager.GetString("UpdateApp", resourceCulture); @@ -2516,5 +2567,47 @@ internal static string IncorrectQrCodeFormat { return ResourceManager.GetString("IncorrectQrCodeFormat", resourceCulture); } } + + internal static string ConnectionTimeoutError { + get { + return ResourceManager.GetString("ConnectionTimeoutError", resourceCulture); + } + } + + internal static string TryAgainLaterError { + get { + return ResourceManager.GetString("TryAgainLaterError", resourceCulture); + } + } + + internal static string AtomexConnectsToDapp { + get { + return ResourceManager.GetString("AtomexConnectsToDapp", resourceCulture); + } + } + + internal static string TooLongToConnect { + get { + return ResourceManager.GetString("TooLongToConnect", resourceCulture); + } + } + + internal static string GoToBrowser { + get { + return ResourceManager.GetString("GoToBrowser", resourceCulture); + } + } + + internal static string WaitFor2Sec { + get { + return ResourceManager.GetString("WaitFor2Sec", resourceCulture); + } + } + + internal static string ReturnToAtomex { + get { + return ResourceManager.GetString("ReturnToAtomex", resourceCulture); + } + } } } diff --git a/atomex/Resources/AppResources.fr.Designer.cs b/atomex/Resources/AppResources.fr.Designer.cs index 256c5f21..161c5201 100644 --- a/atomex/Resources/AppResources.fr.Designer.cs +++ b/atomex/Resources/AppResources.fr.Designer.cs @@ -8,9 +8,6 @@ //------------------------------------------------------------------------------ namespace atomex.Resources { - using System; - - [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] [System.Diagnostics.DebuggerNonUserCodeAttribute()] [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] @@ -249,6 +246,36 @@ internal static string Current { } } + internal static string PasteButton { + get { + return ResourceManager.GetString("PasteButton", resourceCulture); + } + } + + internal static string GasPriceLabel { + get { + return ResourceManager.GetString("GasPriceLabel", resourceCulture); + } + } + + internal static string GasLimitLabel { + get { + return ResourceManager.GetString("GasLimitLabel", resourceCulture); + } + } + + internal static string GasUsedLabel { + get { + return ResourceManager.GetString("GasUsedLabel", resourceCulture); + } + } + + internal static string IsInternalLabel { + get { + return ResourceManager.GetString("IsInternalLabel", resourceCulture); + } + } + internal static string MyWalletsButton { get { return ResourceManager.GetString("MyWalletsButton", resourceCulture); @@ -825,36 +852,6 @@ internal static string ScannerBottomOverlayText { } } - internal static string PasteButton { - get { - return ResourceManager.GetString("PasteButton", resourceCulture); - } - } - - internal static string GasPriceLabel { - get { - return ResourceManager.GetString("GasPriceLabel", resourceCulture); - } - } - - internal static string GasLimitLabel { - get { - return ResourceManager.GetString("GasLimitLabel", resourceCulture); - } - } - - internal static string GasUsedLabel { - get { - return ResourceManager.GetString("GasUsedLabel", resourceCulture); - } - } - - internal static string IsInternalLabel { - get { - return ResourceManager.GetString("IsInternalLabel", resourceCulture); - } - } - internal static string ConfirmTransactionLabel { get { return ResourceManager.GetString("ConfirmTransactionLabel", resourceCulture); @@ -2463,18 +2460,6 @@ internal static string DappWantsToConnect { } } - internal static string ConfirmDappOperations { - get { - return ResourceManager.GetString("ConfirmDappOperations", resourceCulture); - } - } - - internal static string RequestFromDapp { - get { - return ResourceManager.GetString("RequestFromDapp", resourceCulture); - } - } - internal static string Transaction { get { return ResourceManager.GetString("Transaction", resourceCulture); @@ -2516,5 +2501,113 @@ internal static string PasteQr { return ResourceManager.GetString("PasteQr", resourceCulture); } } + + internal static string GasFeeLabel { + get { + return ResourceManager.GetString("GasFeeLabel", resourceCulture); + } + } + + internal static string StorageLimitLabel { + get { + return ResourceManager.GetString("StorageLimitLabel", resourceCulture); + } + } + + internal static string StorageFeeLabel { + get { + return ResourceManager.GetString("StorageFeeLabel", resourceCulture); + } + } + + internal static string ShowDetails { + get { + return ResourceManager.GetString("ShowDetails", resourceCulture); + } + } + + internal static string TotalFees { + get { + return ResourceManager.GetString("TotalFees", resourceCulture); + } + } + + internal static string Bytes { + get { + return ResourceManager.GetString("Bytes", resourceCulture); + } + } + + internal static string Preview { + get { + return ResourceManager.GetString("Preview", resourceCulture); + } + } + + internal static string Raw { + get { + return ResourceManager.GetString("Raw", resourceCulture); + } + } + + internal static string DappRequestToConfirm { + get { + return ResourceManager.GetString("DappRequestToConfirm", resourceCulture); + } + } + + internal static string ChangingTxFeeWarning { + get { + return ResourceManager.GetString("ChangingTxFeeWarning", resourceCulture); + } + } + + internal static string FailedTxParametersWarning { + get { + return ResourceManager.GetString("FailedTxParametersWarning", resourceCulture); + } + } + + internal static string ConnectionTimeoutError { + get { + return ResourceManager.GetString("ConnectionTimeoutError", resourceCulture); + } + } + + internal static string TryAgainLaterError { + get { + return ResourceManager.GetString("TryAgainLaterError", resourceCulture); + } + } + + internal static string AtomexConnectsToDapp { + get { + return ResourceManager.GetString("AtomexConnectsToDapp", resourceCulture); + } + } + + internal static string GoToBrowser { + get { + return ResourceManager.GetString("GoToBrowser", resourceCulture); + } + } + + internal static string ReturnToAtomex { + get { + return ResourceManager.GetString("ReturnToAtomex", resourceCulture); + } + } + + internal static string TooLongToConnect { + get { + return ResourceManager.GetString("TooLongToConnect", resourceCulture); + } + } + + internal static string WaitFor2Sec { + get { + return ResourceManager.GetString("WaitFor2Sec", resourceCulture); + } + } } } diff --git a/atomex/Resources/AppResources.fr.resx b/atomex/Resources/AppResources.fr.resx index cb30011e..e64e726a 100644 --- a/atomex/Resources/AppResources.fr.resx +++ b/atomex/Resources/AppResources.fr.resx @@ -116,6 +116,21 @@ Current + + Pâter + + + Prix ​​du gaz + + + Limite de gaz + + + Gaz utilisé + + + Interne + @@ -426,21 +441,6 @@ Scanning will happen automatically - - Pâter - - - Prix ​​du gaz - - - Limite de gaz - - - Gaz utilisé - - - Interne - Confirmer la transaction @@ -1279,12 +1279,6 @@ NOTE: Do not sign out or close the application until the swap is completed, othe {0} wants to connect to your account - - By confirming, you are allowing {0} to make the following operations - - - Request from {0} - Transaction @@ -1306,4 +1300,58 @@ NOTE: Do not sign out or close the application until the swap is completed, othe Paste QR + + Gas fee + + + Storage limit + + + Storage fee + + + Show Details + + + Total Fees + + + Bytes + + + Preview + + + Raw + + + {0} requests to confirm operations + + + Warning! Changing fee, gas limit or storage limit can lead to the cancellation of the transaction + + + Warning! Transaction with this parameters is likely to fail + + + The connection has timed out + + + An error occurred. Please try again later + + + Atomex connects to Dapp. + + + Go back to your browser + + + Return back to Atomex + + + If it takes too long to connect + + + Wait for 2 seconds + diff --git a/atomex/Resources/AppResources.resx b/atomex/Resources/AppResources.resx index 130c817f..13d2ae83 100644 --- a/atomex/Resources/AppResources.resx +++ b/atomex/Resources/AppResources.resx @@ -122,6 +122,30 @@ Search... + + Paste + + + Gas price + + + Gas limit + + + Gas used + + + Gas fee + + + Storage limit + + + Storage fee + + + Total Fees + @@ -438,18 +462,6 @@ Scanning will happen automatically - - Paste - - - Gas price - - - Gas limit - - - Gas used - Is Internal @@ -907,11 +919,8 @@ Do you want to sign the following data? - - Request from {0} - - - By confirming, you are allowing {0} to make the following operations + + {0} requests to confirm operations Display extra tx details @@ -922,6 +931,18 @@ Connection error + + Preview + + + Raw + + + Bytes + + + Show Details + @@ -1209,6 +1230,12 @@ Do you confirm the removal from the transaction list? This action affects only the local database and does not affect the blockchain + + Warning! Changing fee, gas limit or storage limit can lead to the cancellation of the transaction + + + Warning! Transaction with this parameters is likely to fail + There is a new version of this app available. Would you like to update now? @@ -1309,4 +1336,25 @@ NOTE: Do not sign out or close the application until the swap is completed, othe Incorrect QR code format + + The connection has timed out + + + An error occurred. Please try again later + + + Atomex connects to Dapp. + + + If it takes too long to connect + + + Go back to your browser + + + Wait for 2 seconds + + + Return back to Atomex + diff --git a/atomex/Resources/AppResources.ru.Designer.cs b/atomex/Resources/AppResources.ru.Designer.cs index 82608ad7..8d4fa469 100644 --- a/atomex/Resources/AppResources.ru.Designer.cs +++ b/atomex/Resources/AppResources.ru.Designer.cs @@ -8,9 +8,6 @@ //------------------------------------------------------------------------------ namespace atomex.Resources { - using System; - - [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] [System.Diagnostics.DebuggerNonUserCodeAttribute()] [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] @@ -249,6 +246,36 @@ internal static string Current { } } + internal static string PasteButton { + get { + return ResourceManager.GetString("PasteButton", resourceCulture); + } + } + + internal static string GasPriceLabel { + get { + return ResourceManager.GetString("GasPriceLabel", resourceCulture); + } + } + + internal static string GasLimitLabel { + get { + return ResourceManager.GetString("GasLimitLabel", resourceCulture); + } + } + + internal static string GasUsedLabel { + get { + return ResourceManager.GetString("GasUsedLabel", resourceCulture); + } + } + + internal static string IsInternalLabel { + get { + return ResourceManager.GetString("IsInternalLabel", resourceCulture); + } + } + internal static string MyWalletsButton { get { return ResourceManager.GetString("MyWalletsButton", resourceCulture); @@ -825,36 +852,6 @@ internal static string ScannerBottomOverlayText { } } - internal static string PasteButton { - get { - return ResourceManager.GetString("PasteButton", resourceCulture); - } - } - - internal static string GasPriceLabel { - get { - return ResourceManager.GetString("GasPriceLabel", resourceCulture); - } - } - - internal static string GasLimitLabel { - get { - return ResourceManager.GetString("GasLimitLabel", resourceCulture); - } - } - - internal static string GasUsedLabel { - get { - return ResourceManager.GetString("GasUsedLabel", resourceCulture); - } - } - - internal static string IsInternalLabel { - get { - return ResourceManager.GetString("IsInternalLabel", resourceCulture); - } - } - internal static string ConfirmTransactionLabel { get { return ResourceManager.GetString("ConfirmTransactionLabel", resourceCulture); @@ -2463,18 +2460,6 @@ internal static string DappWantsToConnect { } } - internal static string ConfirmDappOperations { - get { - return ResourceManager.GetString("ConfirmDappOperations", resourceCulture); - } - } - - internal static string RequestFromDapp { - get { - return ResourceManager.GetString("RequestFromDapp", resourceCulture); - } - } - internal static string Transaction { get { return ResourceManager.GetString("Transaction", resourceCulture); @@ -2516,5 +2501,113 @@ internal static string PasteQr { return ResourceManager.GetString("PasteQr", resourceCulture); } } + + internal static string GasFeeLabel { + get { + return ResourceManager.GetString("GasFeeLabel", resourceCulture); + } + } + + internal static string StorageLimitLabel { + get { + return ResourceManager.GetString("StorageLimitLabel", resourceCulture); + } + } + + internal static string StorageFeeLabel { + get { + return ResourceManager.GetString("StorageFeeLabel", resourceCulture); + } + } + + internal static string ShowDetails { + get { + return ResourceManager.GetString("ShowDetails", resourceCulture); + } + } + + internal static string TotalFees { + get { + return ResourceManager.GetString("TotalFees", resourceCulture); + } + } + + internal static string Bytes { + get { + return ResourceManager.GetString("Bytes", resourceCulture); + } + } + + internal static string Preview { + get { + return ResourceManager.GetString("Preview", resourceCulture); + } + } + + internal static string Raw { + get { + return ResourceManager.GetString("Raw", resourceCulture); + } + } + + internal static string DappRequestToConfirm { + get { + return ResourceManager.GetString("DappRequestToConfirm", resourceCulture); + } + } + + internal static string ChangingTxFeeWarning { + get { + return ResourceManager.GetString("ChangingTxFeeWarning", resourceCulture); + } + } + + internal static string FailedTxParametersWarning { + get { + return ResourceManager.GetString("FailedTxParametersWarning", resourceCulture); + } + } + + internal static string ConnectionTimeoutError { + get { + return ResourceManager.GetString("ConnectionTimeoutError", resourceCulture); + } + } + + internal static string TryAgainLaterError { + get { + return ResourceManager.GetString("TryAgainLaterError", resourceCulture); + } + } + + internal static string AtomexConnectsToDapp { + get { + return ResourceManager.GetString("AtomexConnectsToDapp", resourceCulture); + } + } + + internal static string GoToBrowser { + get { + return ResourceManager.GetString("GoToBrowser", resourceCulture); + } + } + + internal static string ReturnToAtomex { + get { + return ResourceManager.GetString("ReturnToAtomex", resourceCulture); + } + } + + internal static string TooLongToConnect { + get { + return ResourceManager.GetString("TooLongToConnect", resourceCulture); + } + } + + internal static string WaitFor2Sec { + get { + return ResourceManager.GetString("WaitFor2Sec", resourceCulture); + } + } } } diff --git a/atomex/Resources/AppResources.ru.resx b/atomex/Resources/AppResources.ru.resx index 7fc46fa1..d25d186d 100644 --- a/atomex/Resources/AppResources.ru.resx +++ b/atomex/Resources/AppResources.ru.resx @@ -116,6 +116,21 @@ Текущий + + Вставить + + + Цена газа + + + Лимит газа + + + Газа использовано + + + Внутренняя + @@ -307,7 +322,7 @@ Делегировать - Undelegate + Отменить делегирование Обновить @@ -426,21 +441,6 @@ Сканирование произойдет автоматически - - Вставить - - - Цена газа - - - Лимит газа - - - Газа использовано - - - Внутренняя - Подтвердите транзакцию @@ -1214,7 +1214,7 @@ Подробнее - Progress + Прогресс Некорректный формат QR-кода @@ -1279,12 +1279,6 @@ {0} хочет подключиться к вашему аккаунту - - Подтверждая, вы разрешаете {0} выполнить следующие операции - - - Запрос от {0} - Транзакция @@ -1298,7 +1292,7 @@ Ошибка подключения - Dapp pairing request + Запрос на сопряжение с dApp Сканировать QR @@ -1306,4 +1300,58 @@ Вставить QR + + Комиссия за газ + + + Лимит для Storage + + + Комиссия за Storage + + + Подробно + + + Всего комиссия + + + Байты + + + Предпросмотр + + + Данные + + + {0} запрашивает подтверждение операций + + + Внимание! Изменение комиссии, лимита газа или лимита для Storage может привести к отмене транзакции + + + Внимание! Транзакция с такими параметрами, скорее всего, не будет выполнена + + + Соединение прервалось по таймеру + + + Произошла ошибка. Пожалуйста, повторите попытку позже + + + Atomex подключается к Dapp. + + + Вернитесь в свой браузер + + + Вернитесь обратно в Atomex + + + Если подключение занимает много времени + + + Подождите 2 секунды + diff --git a/atomex/Resources/AppResources.tr.Designer.cs b/atomex/Resources/AppResources.tr.Designer.cs index ea2bc77f..aa26e6de 100644 --- a/atomex/Resources/AppResources.tr.Designer.cs +++ b/atomex/Resources/AppResources.tr.Designer.cs @@ -8,9 +8,6 @@ //------------------------------------------------------------------------------ namespace atomex.Resources { - using System; - - [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] [System.Diagnostics.DebuggerNonUserCodeAttribute()] [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] @@ -249,6 +246,36 @@ internal static string Current { } } + internal static string PasteButton { + get { + return ResourceManager.GetString("PasteButton", resourceCulture); + } + } + + internal static string GasPriceLabel { + get { + return ResourceManager.GetString("GasPriceLabel", resourceCulture); + } + } + + internal static string GasLimitLabel { + get { + return ResourceManager.GetString("GasLimitLabel", resourceCulture); + } + } + + internal static string GasUsedLabel { + get { + return ResourceManager.GetString("GasUsedLabel", resourceCulture); + } + } + + internal static string IsInternalLabel { + get { + return ResourceManager.GetString("IsInternalLabel", resourceCulture); + } + } + internal static string MyWalletsButton { get { return ResourceManager.GetString("MyWalletsButton", resourceCulture); @@ -825,36 +852,6 @@ internal static string ScannerBottomOverlayText { } } - internal static string PasteButton { - get { - return ResourceManager.GetString("PasteButton", resourceCulture); - } - } - - internal static string GasPriceLabel { - get { - return ResourceManager.GetString("GasPriceLabel", resourceCulture); - } - } - - internal static string GasLimitLabel { - get { - return ResourceManager.GetString("GasLimitLabel", resourceCulture); - } - } - - internal static string GasUsedLabel { - get { - return ResourceManager.GetString("GasUsedLabel", resourceCulture); - } - } - - internal static string IsInternalLabel { - get { - return ResourceManager.GetString("IsInternalLabel", resourceCulture); - } - } - internal static string ConfirmTransactionLabel { get { return ResourceManager.GetString("ConfirmTransactionLabel", resourceCulture); @@ -2463,18 +2460,6 @@ internal static string DappWantsToConnect { } } - internal static string ConfirmDappOperations { - get { - return ResourceManager.GetString("ConfirmDappOperations", resourceCulture); - } - } - - internal static string RequestFromDapp { - get { - return ResourceManager.GetString("RequestFromDapp", resourceCulture); - } - } - internal static string Transaction { get { return ResourceManager.GetString("Transaction", resourceCulture); @@ -2516,5 +2501,113 @@ internal static string PasteQr { return ResourceManager.GetString("PasteQr", resourceCulture); } } + + internal static string GasFeeLabel { + get { + return ResourceManager.GetString("GasFeeLabel", resourceCulture); + } + } + + internal static string StorageLimitLabel { + get { + return ResourceManager.GetString("StorageLimitLabel", resourceCulture); + } + } + + internal static string StorageFeeLabel { + get { + return ResourceManager.GetString("StorageFeeLabel", resourceCulture); + } + } + + internal static string ShowDetails { + get { + return ResourceManager.GetString("ShowDetails", resourceCulture); + } + } + + internal static string TotalFees { + get { + return ResourceManager.GetString("TotalFees", resourceCulture); + } + } + + internal static string Bytes { + get { + return ResourceManager.GetString("Bytes", resourceCulture); + } + } + + internal static string Preview { + get { + return ResourceManager.GetString("Preview", resourceCulture); + } + } + + internal static string Raw { + get { + return ResourceManager.GetString("Raw", resourceCulture); + } + } + + internal static string DappRequestToConfirm { + get { + return ResourceManager.GetString("DappRequestToConfirm", resourceCulture); + } + } + + internal static string ChangingTxFeeWarning { + get { + return ResourceManager.GetString("ChangingTxFeeWarning", resourceCulture); + } + } + + internal static string FailedTxParametersWarning { + get { + return ResourceManager.GetString("FailedTxParametersWarning", resourceCulture); + } + } + + internal static string ConnectionTimeoutError { + get { + return ResourceManager.GetString("ConnectionTimeoutError", resourceCulture); + } + } + + internal static string TryAgainLaterError { + get { + return ResourceManager.GetString("TryAgainLaterError", resourceCulture); + } + } + + internal static string AtomexConnectsToDapp { + get { + return ResourceManager.GetString("AtomexConnectsToDapp", resourceCulture); + } + } + + internal static string GoToBrowser { + get { + return ResourceManager.GetString("GoToBrowser", resourceCulture); + } + } + + internal static string ReturnToAtomex { + get { + return ResourceManager.GetString("ReturnToAtomex", resourceCulture); + } + } + + internal static string TooLongToConnect { + get { + return ResourceManager.GetString("TooLongToConnect", resourceCulture); + } + } + + internal static string WaitFor2Sec { + get { + return ResourceManager.GetString("WaitFor2Sec", resourceCulture); + } + } } } diff --git a/atomex/Resources/AppResources.tr.resx b/atomex/Resources/AppResources.tr.resx index 4952b72e..8bdb7321 100644 --- a/atomex/Resources/AppResources.tr.resx +++ b/atomex/Resources/AppResources.tr.resx @@ -116,6 +116,21 @@ Current + + Ekle + + + Gaz fiyatı + + + Gaz limiti + + + Kullanılan gaz + + + İç + @@ -426,21 +441,6 @@ Scanning will happen automatically - - Ekle - - - Gaz fiyatı - - - Gaz limiti - - - Kullanılan gaz - - - İç - İşlemi onaylayın @@ -1279,12 +1279,6 @@ NOTE: Do not sign out or close the application until the swap is completed, othe {0} wants to connect to your account - - By confirming, you are allowing {0} to make the following operations - - - Request from {0} - Transaction @@ -1306,4 +1300,58 @@ NOTE: Do not sign out or close the application until the swap is completed, othe Paste QR + + Gas fee + + + Storage limit + + + Storage fee + + + Show Details + + + Total Fees + + + Bytes + + + Preview + + + Raw + + + {0} requests to confirm operations + + + Warning! Changing fee, gas limit or storage limit can lead to the cancellation of the transaction + + + Warning! Transaction with this parameters is likely to fail + + + The connection has timed out + + + An error occurred. Please try again later + + + Atomex connects to Dapp. + + + Go back to your browser + + + Return back to Atomex + + + If it takes too long to connect + + + Wait for 2 seconds + diff --git a/atomex/Services/INavigationService.cs b/atomex/Services/INavigationService.cs index 46e30fac..d25e40e7 100644 --- a/atomex/Services/INavigationService.cs +++ b/atomex/Services/INavigationService.cs @@ -1,4 +1,6 @@ -using System.Threading.Tasks; +using System; +using System.Threading; +using System.Threading.Tasks; using Atomex.Core; using Rg.Plugins.Popup.Pages; using Xamarin.Forms; @@ -25,7 +27,7 @@ public interface INavigationService void ShowPopup(PopupPage popup, bool removePrevious = true); void ClosePopup(); bool HasMultipleBottomSheets(); - void DisplaySnackBar(MessageType messageType, string text, string btnTxt = "OK", int duration = 3000); + void DisplaySnackBar(MessageType messageType, string text, string btnTxt = "OK", int duration = 3000, Func action = null, CancellationTokenSource cts = null); Task ShowAlert(string title, string text, string cancel); Task ShowAlert(string title, string text, string accept, string cancel); Task DisplayActionSheet(string cancel, string[] actions, string title = null); diff --git a/atomex/Styles/Colors.xaml b/atomex/Styles/Colors.xaml index 8b539d53..d1bb6b58 100644 --- a/atomex/Styles/Colors.xaml +++ b/atomex/Styles/Colors.xaml @@ -26,6 +26,7 @@ #0F002041 #FFFFFF + #EFF1F4 #29000E22 #ffffff @@ -48,6 +49,10 @@ #AE0000 #f29c1f #008B00 + + #FFA800 + #F7000E22 + #1FE1457C #11233C #E1457C @@ -94,6 +99,7 @@ #14DCECFF #29DCECFF + #0B1C33 #29DCECFF #29DCECFF @@ -116,6 +122,10 @@ #E1457C #FF7A00 #48C3AD + + #1FFFA800 + #FFA800 + #1FE1457C #c4deff #E1457C diff --git a/atomex/Styles/Fonts/Roboto.xaml b/atomex/Styles/Fonts/Roboto.xaml index d594da03..9fb294f0 100644 --- a/atomex/Styles/Fonts/Roboto.xaml +++ b/atomex/Styles/Fonts/Roboto.xaml @@ -3,39 +3,39 @@ - + - + - + - + - + - + - + - + - + diff --git a/atomex/Styles/GeneralDevicesStyle.xaml b/atomex/Styles/GeneralDevicesStyle.xaml index d59a0158..c7dbad4c 100644 --- a/atomex/Styles/GeneralDevicesStyle.xaml +++ b/atomex/Styles/GeneralDevicesStyle.xaml @@ -95,6 +95,14 @@ + @@ -197,6 +205,20 @@ + + + + + @@ -197,6 +205,20 @@ + + + +