private static void ChangePassword(WalletBackend wallet) { Utilities.ConfirmPassword(wallet); string newPassword; while (true) { YellowMsg.Write("Enter your new password: "******"Confirm your new password: "******"Passwords do not match! Try again.\n"); continue; } break; } wallet.password = newPassword; wallet.Save(); GreenMsg.WriteLine("\nPassword successfully updated!"); }
private static void ExportKeys(WalletBackend wallet) { Utilities.ConfirmPassword(wallet); RedMsg.WriteLine("The below data is PRIVATE and should not be " + "given to anyone!"); RedMsg.WriteLine("If someone else gains access to these, they " + "can steal all your funds!"); Console.WriteLine(); if (wallet.isViewWallet) { GreenMsg.WriteLine("Private view key:"); GreenMsg.WriteLine(wallet.keys.privateViewKey.ToString()); return; } GreenMsg.WriteLine("Private spend key:"); GreenMsg.WriteLine(wallet.keys.privateSpendKey.ToString()); Console.WriteLine(); GreenMsg.WriteLine("Private view key:"); GreenMsg.WriteLine(wallet.keys.privateViewKey.ToString()); if (KeyOps.AreKeysDeterministic(wallet.keys.privateSpendKey, wallet.keys.privateViewKey)) { string mnemonic = Mnemonics.PrivateKeyToMnemonic( wallet.keys.privateSpendKey ); GreenMsg.WriteLine("\nMnemonic seed:"); GreenMsg.WriteLine(mnemonic); } }
public static bool HandleCommand(string command, WalletBackend wallet) { switch (command) { case "advanced": { Advanced(wallet); break; } case "address": { GreenMsg.WriteLine(wallet.addresses[0]); break; } case "balance": { RedMsg.WriteLine("Command not implemented yet..."); break; } case "backup": { ExportKeys(wallet); break; } case "exit": { return(Exit(wallet)); } case "help": { Help(wallet); break; } case "transfer": { RedMsg.WriteLine("Command not implemented yet..."); break; } case "ab_add": { RedMsg.WriteLine("Command not implemented yet..."); break; } case "ab_delete": { RedMsg.WriteLine("Command not implemented yet..."); break; } case "ab_list": { RedMsg.WriteLine("Command not implemented yet..."); break; } case "ab_send": { RedMsg.WriteLine("Command not implemented yet..."); break; } case "change_password": { ChangePassword(wallet); break; } case "make_integrated_address": { RedMsg.WriteLine("Command not implemented yet..."); break; } case "incoming_transfers": { RedMsg.WriteLine("Command not implemented yet..."); break; } case "list_transfers": { RedMsg.WriteLine("Command not implemented yet..."); break; } case "optimize": { RedMsg.WriteLine("Command not implemented yet..."); break; } case "outgoing_transfers": { RedMsg.WriteLine("Command not implemented yet..."); break; } case "reset": { RedMsg.WriteLine("Command not implemented yet..."); break; } case "save": { Save(wallet); break; } case "save_csv": { RedMsg.WriteLine("Command not implemented yet..."); break; } case "send_all": { RedMsg.WriteLine("Command not implemented yet..."); break; } case "status": { RedMsg.WriteLine("Command not implemented yet..."); break; } /* This should never happen */ default: { throw new NotImplementedException( "Command was defined but not hooked up!" ); } } /* Don't exit */ return(false); }