@@ -33,6 +33,12 @@ pub enum Error {
3333
3434 #[ error( "An identity with the name '{0}' already exists" ) ]
3535 IdentityAlreadyExists ( String ) ,
36+
37+ #[ error(
38+ "--secure-store only supports seed phrases; \
39+ unset STELLAR_SECRET_KEY or provide a seed phrase instead"
40+ ) ]
41+ SecureStoreRequiresSeedPhrase ,
3642}
3743
3844#[ derive( Debug , clap:: Parser , Clone ) ]
@@ -82,9 +88,15 @@ impl Cmd {
8288 }
8389
8490 fn read_secret ( & self , print : & Print ) -> Result < Secret , Error > {
85- if let Ok ( secret_key) = std:: env:: var ( "STELLAR_SECRET_KEY" ) {
86- Ok ( Secret :: SecretKey { secret_key } )
87- } else if self . secrets . secure_store {
91+ if self . secrets . secure_store {
92+ if std:: env:: var ( "STELLAR_SECRET_KEY" ) . is_ok ( ) {
93+ return Err ( Error :: SecureStoreRequiresSeedPhrase ) ;
94+ }
95+ } else if let Ok ( secret_key) = std:: env:: var ( "STELLAR_SECRET_KEY" ) {
96+ return Ok ( Secret :: SecretKey { secret_key } ) ;
97+ }
98+
99+ if self . secrets . secure_store {
88100 let prompt = "Type a 12/24 word seed phrase:" ;
89101 let secret_key = read_password ( print, prompt) ?;
90102 if secret_key. split_whitespace ( ) . count ( ) < 24 {
0 commit comments