1- use std:: convert:: identity;
21use crate :: app:: AppAction ;
32use crate :: context:: AppContext ;
43use crate :: model:: qualified_identity:: QualifiedIdentity ;
54use crate :: platform:: identity:: IdentityTask ;
65use crate :: platform:: BackendTask ;
76use crate :: ui:: components:: top_panel:: add_top_panel;
7+ use crate :: ui:: key_info_screen:: KeyInfoScreen ;
88use crate :: ui:: { MessageType , Screen , ScreenLike } ;
99use dash_sdk:: dashcore_rpc:: dashcore:: Address ;
1010use dash_sdk:: dpp:: fee:: Credits ;
@@ -13,9 +13,9 @@ use dash_sdk::dpp::identity::identity_public_key::accessors::v0::IdentityPublicK
1313use dash_sdk:: dpp:: identity:: { KeyType , Purpose , SecurityLevel } ;
1414use dash_sdk:: platform:: IdentityPublicKey ;
1515use eframe:: egui:: { self , Context , Ui } ;
16+ use std:: convert:: identity;
1617use std:: str:: FromStr ;
1718use std:: sync:: Arc ;
18- use crate :: ui:: key_info_screen:: KeyInfoScreen ;
1919
2020pub struct TransferScreen {
2121 pub identity : QualifiedIdentity ,
@@ -44,31 +44,30 @@ impl TransferScreen {
4444 }
4545
4646 fn render_key_selection ( & mut self , ui : & mut Ui ) {
47-
48- ui. horizontal ( |ui| {
49- ui. label ( "Select Key:" ) ;
50-
51- egui:: ComboBox :: from_id_salt ( "key_selector" )
52- . selected_text ( match & self . selected_key {
53- Some ( key) => format ! ( "Key ID: {}" , key. id( ) ) ,
54- None => "Select a key" . to_string ( ) ,
55- } )
56- . show_ui ( ui, |ui| {
57- if self . app_context . developer_mode {
58- for key in self . identity . identity . public_keys ( ) . values ( ) {
59- let label =
60- format ! ( "Key ID: {} (Purpose: {:?})" , key. id( ) , key. purpose( ) ) ;
61- ui. selectable_value ( & mut self . selected_key , Some ( key. clone ( ) ) , label) ;
62- }
63- } else {
64- for key in self . identity . available_transfer_keys ( ) {
65- let label =
66- format ! ( "Key ID: {} (Purpose: {:?})" , key. id( ) , key. purpose( ) ) ;
67- ui. selectable_value ( & mut self . selected_key , Some ( key. clone ( ) ) , label) ;
68- }
47+ ui. horizontal ( |ui| {
48+ ui. label ( "Select Key:" ) ;
49+
50+ egui:: ComboBox :: from_id_salt ( "key_selector" )
51+ . selected_text ( match & self . selected_key {
52+ Some ( key) => format ! ( "Key ID: {}" , key. id( ) ) ,
53+ None => "Select a key" . to_string ( ) ,
54+ } )
55+ . show_ui ( ui, |ui| {
56+ if self . app_context . developer_mode {
57+ for key in self . identity . identity . public_keys ( ) . values ( ) {
58+ let label =
59+ format ! ( "Key ID: {} (Purpose: {:?})" , key. id( ) , key. purpose( ) ) ;
60+ ui. selectable_value ( & mut self . selected_key , Some ( key. clone ( ) ) , label) ;
6961 }
70- } ) ;
71- } ) ;
62+ } else {
63+ for key in self . identity . available_transfer_keys ( ) {
64+ let label =
65+ format ! ( "Key ID: {} (Purpose: {:?})" , key. id( ) , key. purpose( ) ) ;
66+ ui. selectable_value ( & mut self . selected_key , Some ( key. clone ( ) ) , label) ;
67+ }
68+ }
69+ } ) ;
70+ } ) ;
7271 }
7372
7473 fn render_amount_input ( & mut self , ui : & mut Ui ) {
@@ -206,9 +205,17 @@ impl ScreenLike for TransferScreen {
206205 } ;
207206
208207 if !has_keys {
209- ui. heading ( format ! ( "You do not have any transfer keys loaded for this {}." , self . identity. identity_type) ) ;
208+ ui. heading ( format ! (
209+ "You do not have any transfer keys loaded for this {}." ,
210+ self . identity. identity_type
211+ ) ) ;
210212
211- let key = self . identity . identity . get_first_public_key_matching ( Purpose :: TRANSFER , SecurityLevel :: full_range ( ) . into ( ) , KeyType :: all_key_types ( ) . into ( ) , false ) ;
213+ let key = self . identity . identity . get_first_public_key_matching (
214+ Purpose :: TRANSFER ,
215+ SecurityLevel :: full_range ( ) . into ( ) ,
216+ KeyType :: all_key_types ( ) . into ( ) ,
217+ false ,
218+ ) ;
212219
213220 if let Some ( key) = key {
214221 if ui. button ( "Check Transfer Key" ) . clicked ( ) {
0 commit comments