diff --git a/src-tauri/migrations/20230418013219_initial_data.sql b/src-tauri/migrations/20230418013219_initial_data.sql
index 9f24dcd7..74b5f95d 100644
--- a/src-tauri/migrations/20230418013219_initial_data.sql
+++ b/src-tauri/migrations/20230418013219_initial_data.sql
@@ -1,45 +1,29 @@
--- Add migration script here
-- create accounts table
--- is_active (multi-account feature), value:
--- 0: false
--- 1: true
CREATE TABLE
accounts (
- id INTEGER NOT NULL PRIMARY KEY,
- npub TEXT NOT NULL UNIQUE,
+ id TEXT NOT NULL PRIMARY KEY,
pubkey TEXT NOT NULL UNIQUE,
- privkey TEXT NOT NULL,
- follows JSON,
+ follows TEXT,
+ circles TEXT,
is_active INTEGER NOT NULL DEFAULT 0,
+ last_login_at NUMBER NOT NULL DEFAULT 0,
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
);
-- create notes table
CREATE TABLE
- notes (
- id INTEGER NOT NULL PRIMARY KEY,
- event_id TEXT NOT NULL UNIQUE,
+ events (
+ id TEXT NOT NULL PRIMARY KEY,
account_id INTEGER NOT NULL,
- pubkey TEXT NOT NULL,
- kind INTEGER NOT NULL DEFAULT 1,
- tags JSON,
- content TEXT NOT NULL,
+ event TEXT NOT NULL,
+ author TEXT NOT NULL,
+ kind NUMBER NOT NULL DEFAULt 1,
+ root_id TEXT,
+ reply_id TEXT,
created_at INTEGER NOT NULL,
- parent_id TEXT,
FOREIGN KEY (account_id) REFERENCES accounts (id)
);
--- create channels table
-CREATE TABLE
- channels (
- id INTEGER NOT NULL PRIMARY KEY,
- event_id TEXT NOT NULL UNIQUE,
- name TEXT,
- about TEXT,
- picture TEXT,
- created_at INTEGER NOT NULL
- );
-
-- create settings table
CREATE TABLE
settings (
@@ -49,11 +33,23 @@ CREATE TABLE
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
);
--- create metadata table
CREATE TABLE
- metadata (
- id TEXT NOT NULL PRIMARY KEY,
- pubkey TEXT NOT NULL,
+ widgets (
+ id INTEGER NOT NULL PRIMARY KEY,
+ account_id INTEGER NOT NULL,
+ kind INTEGER NOT NULL,
+ title TEXT NOT NULL,
content TEXT NOT NULL,
- created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
- );
\ No newline at end of file
+ created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ FOREIGN KEY (account_id) REFERENCES accounts (id)
+ );
+
+CREATE TABLE
+ relays (
+ id INTEGER NOT NULL PRIMARY KEY,
+ account_id INTEGER NOT NULL,
+ relay TEXT NOT NULL UNIQUE,
+ purpose TEXT NOT NULL DEFAULT '',
+ created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ FOREIGN KEY (account_id) REFERENCES accounts (id)
+ );
diff --git a/src-tauri/migrations/20230418080146_create_chats.sql b/src-tauri/migrations/20230418080146_create_chats.sql
deleted file mode 100644
index 1dcd8cd0..00000000
--- a/src-tauri/migrations/20230418080146_create_chats.sql
+++ /dev/null
@@ -1,12 +0,0 @@
--- Add migration script here
--- create chats table
-CREATE TABLE
- chats (
- id INTEGER NOT NULL PRIMARY KEY,
- event_id TEXT NOT NULL UNIQUE,
- receiver_pubkey INTEGER NOT NULL,
- sender_pubkey TEXT NOT NULL,
- content TEXT NOT NULL,
- tags JSON,
- created_at INTEGER NOT NULL
- );
\ No newline at end of file
diff --git a/src-tauri/migrations/20230420040005_insert_last_login_to_settings.sql b/src-tauri/migrations/20230420040005_insert_last_login_to_settings.sql
deleted file mode 100644
index 322110a0..00000000
--- a/src-tauri/migrations/20230420040005_insert_last_login_to_settings.sql
+++ /dev/null
@@ -1,14 +0,0 @@
--- Add migration script here
-INSERT INTO
- settings (key, value)
-VALUES
- ("last_login", "0"),
- (
- "relays",
- '["wss://relayable.org","wss://relay.damus.io","wss://relay.nostr.band/all","wss://relay.nostrgraph.net","wss://nostr.mutinywallet.com"]'
- ),
- ("auto_start", "0"),
- ("cache_time", "86400000"),
- ("compose_shortcut", "meta+n"),
- ("add_imageblock_shortcut", "meta+i"),
- ("add_feedblock_shortcut", "meta+f")
\ No newline at end of file
diff --git a/src-tauri/migrations/20230425023912_add_pubkey_to_channel.sql b/src-tauri/migrations/20230425023912_add_pubkey_to_channel.sql
deleted file mode 100644
index 61d01078..00000000
--- a/src-tauri/migrations/20230425023912_add_pubkey_to_channel.sql
+++ /dev/null
@@ -1,3 +0,0 @@
--- Add migration script here
--- add pubkey to channel
-ALTER TABLE channels ADD pubkey TEXT NOT NULL DEFAULT '';
\ No newline at end of file
diff --git a/src-tauri/migrations/20230425024708_add_default_channels.sql b/src-tauri/migrations/20230425024708_add_default_channels.sql
deleted file mode 100644
index 3f7f42d9..00000000
--- a/src-tauri/migrations/20230425024708_add_default_channels.sql
+++ /dev/null
@@ -1,38 +0,0 @@
--- Add migration script here
-INSERT
-OR IGNORE INTO channels (
- event_id,
- pubkey,
- name,
- about,
- picture,
- created_at
-)
-VALUES
- (
- "e3cadf5beca1b2af1cddaa41a633679bedf263e3de1eb229c6686c50d85df753",
- "126103bfddc8df256b6e0abfd7f3797c80dcc4ea88f7c2f87dd4104220b4d65f",
- "lume-general",
- "General channel for Lume",
- "https://void.cat/d/UNyxBmAh1MUx5gQTX95jyf.webp",
- 1681898574
- );
-
-INSERT
-OR IGNORE INTO channels (
- event_id,
- pubkey,
- name,
- about,
- picture,
- created_at
-)
-VALUES
- (
- "25e5c82273a271cb1a840d0060391a0bf4965cafeb029d5ab55350b418953fbb",
- "ed1d0e1f743a7d19aa2dfb0162df73bacdbc699f67cc55bb91a98c35f7deac69",
- "Nostr",
- "",
- "https://cloudflare-ipfs.com/ipfs/QmTN4Eas9atUULVbEAbUU8cowhtvK7g3t7jfKztY7wc8eP?.png",
- 1661333723
- );
\ No newline at end of file
diff --git a/src-tauri/migrations/20230425050745_add_blacklist_model.sql b/src-tauri/migrations/20230425050745_add_blacklist_model.sql
deleted file mode 100644
index 67b25c7a..00000000
--- a/src-tauri/migrations/20230425050745_add_blacklist_model.sql
+++ /dev/null
@@ -1,11 +0,0 @@
--- Add migration script here
--- create blacklist table
-CREATE TABLE
- blacklist (
- id INTEGER NOT NULL PRIMARY KEY,
- account_id INTEGER NOT NULL,
- content TEXT NOT NULL UNIQUE,
- status INTEGER NOT NULL DEFAULT 0,
- kind INTEGER NOT NULL,
- FOREIGN KEY (account_id) REFERENCES accounts (id)
- );
\ No newline at end of file
diff --git a/src-tauri/migrations/20230521092300_add_block_model.sql b/src-tauri/migrations/20230521092300_add_block_model.sql
deleted file mode 100644
index eb4616d6..00000000
--- a/src-tauri/migrations/20230521092300_add_block_model.sql
+++ /dev/null
@@ -1,11 +0,0 @@
--- Add migration script here
-CREATE TABLE
- blocks (
- id INTEGER NOT NULL PRIMARY KEY,
- account_id INTEGER NOT NULL,
- kind INTEGER NOT NULL,
- title TEXT NOT NULL,
- content TEXT NOT NULL,
- created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
- FOREIGN KEY (account_id) REFERENCES accounts (id)
- );
\ No newline at end of file
diff --git a/src-tauri/migrations/20230617003135_add_channel_messages.sql b/src-tauri/migrations/20230617003135_add_channel_messages.sql
deleted file mode 100644
index a9486778..00000000
--- a/src-tauri/migrations/20230617003135_add_channel_messages.sql
+++ /dev/null
@@ -1,15 +0,0 @@
--- Add migration script here
-CREATE TABLE
- channel_messages (
- id INTEGER NOT NULL PRIMARY KEY,
- channel_id TEXT NOT NULL,
- event_id TEXT NOT NULL UNIQUE,
- pubkey TEXT NOT NULL,
- kind INTEGER NOT NULL,
- content TEXT NOT NULL,
- tags JSON,
- mute BOOLEAN DEFAULT 0,
- hide BOOLEAN DEFAULT 0,
- created_at INTEGER NOT NULL,
- FOREIGN KEY (channel_id) REFERENCES channels (event_id)
- );
\ No newline at end of file
diff --git a/src-tauri/migrations/20230619082415_add_replies.sql b/src-tauri/migrations/20230619082415_add_replies.sql
deleted file mode 100644
index 9dc877ca..00000000
--- a/src-tauri/migrations/20230619082415_add_replies.sql
+++ /dev/null
@@ -1,13 +0,0 @@
--- Add migration script here
-CREATE TABLE
- replies (
- id INTEGER NOT NULL PRIMARY KEY,
- parent_id TEXT NOT NULL,
- event_id TEXT NOT NULL UNIQUE,
- pubkey TEXT NOT NULL,
- kind INTEGER NOT NULL DEFAULT 1,
- tags JSON,
- content TEXT NOT NULL,
- created_at INTEGER NOT NULL,
- FOREIGN KEY (parent_id) REFERENCES notes (event_id)
- );
\ No newline at end of file
diff --git a/src-tauri/migrations/20230718072634_clean_up_old_tables.sql b/src-tauri/migrations/20230718072634_clean_up_old_tables.sql
deleted file mode 100644
index 707d2f9c..00000000
--- a/src-tauri/migrations/20230718072634_clean_up_old_tables.sql
+++ /dev/null
@@ -1,6 +0,0 @@
--- Add migration script here
-DROP TABLE IF EXISTS blacklist;
-
-DROP TABLE IF EXISTS channel_messages;
-
-DROP TABLE IF EXISTS channels;
\ No newline at end of file
diff --git a/src-tauri/migrations/20230725010250_update_default_relays.sql b/src-tauri/migrations/20230725010250_update_default_relays.sql
deleted file mode 100644
index 5c427e5d..00000000
--- a/src-tauri/migrations/20230725010250_update_default_relays.sql
+++ /dev/null
@@ -1,6 +0,0 @@
--- Add migration script here
-UPDATE settings
-SET
- value = '["wss://relayable.org","wss://relay.damus.io","wss://relay.nostr.band/all","wss://nostr.mutinywallet.com"]'
-WHERE
- key = 'relays';
\ No newline at end of file
diff --git a/src-tauri/migrations/20230804083544_add_network_to_account.sql b/src-tauri/migrations/20230804083544_add_network_to_account.sql
deleted file mode 100644
index 3fac9cfd..00000000
--- a/src-tauri/migrations/20230804083544_add_network_to_account.sql
+++ /dev/null
@@ -1,2 +0,0 @@
--- Add migration script here
-ALTER TABLE accounts ADD network JSON;
\ No newline at end of file
diff --git a/src-tauri/migrations/20230808085847_add_relays_table.sql b/src-tauri/migrations/20230808085847_add_relays_table.sql
deleted file mode 100644
index 17953d97..00000000
--- a/src-tauri/migrations/20230808085847_add_relays_table.sql
+++ /dev/null
@@ -1,10 +0,0 @@
--- Add migration script here
-CREATE TABLE
- relays (
- id INTEGER NOT NULL PRIMARY KEY,
- account_id INTEGER NOT NULL,
- relay TEXT NOT NULL,
- purpose TEXT NOT NULL DEFAULT '',
- created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
- FOREIGN KEY (account_id) REFERENCES accounts (id)
- );
\ No newline at end of file
diff --git a/src-tauri/migrations/20230811074423_rename_blocks_to_widgets.sql b/src-tauri/migrations/20230811074423_rename_blocks_to_widgets.sql
deleted file mode 100644
index b267ba0f..00000000
--- a/src-tauri/migrations/20230811074423_rename_blocks_to_widgets.sql
+++ /dev/null
@@ -1,3 +0,0 @@
--- Add migration script here
-ALTER TABLE blocks
-RENAME TO widgets;
\ No newline at end of file
diff --git a/src-tauri/migrations/20230814083543_add_events_table.sql b/src-tauri/migrations/20230814083543_add_events_table.sql
deleted file mode 100644
index 6db58368..00000000
--- a/src-tauri/migrations/20230814083543_add_events_table.sql
+++ /dev/null
@@ -1,13 +0,0 @@
--- Add migration script here
-CREATE TABLE
- events (
- id TEXT NOT NULL PRIMARY KEY,
- account_id INTEGER NOT NULL,
- event TEXT NOT NULL,
- author TEXT NOT NULL,
- kind NUMBER NOT NULL DEFAULt 1,
- root_id TEXT,
- reply_id TEXT,
- created_at INTEGER NOT NULL,
- FOREIGN KEY (account_id) REFERENCES accounts (id)
- );
\ No newline at end of file
diff --git a/src-tauri/migrations/20230816090508_clean_up_tables.sql b/src-tauri/migrations/20230816090508_clean_up_tables.sql
deleted file mode 100644
index 0814840b..00000000
--- a/src-tauri/migrations/20230816090508_clean_up_tables.sql
+++ /dev/null
@@ -1,8 +0,0 @@
--- Add migration script here
-DROP TABLE IF EXISTS notes;
-
-DROP TABLE IF EXISTS chats;
-
-DROP TABLE IF EXISTS metadata;
-
-DROP TABLE IF EXISTS replies;
\ No newline at end of file
diff --git a/src-tauri/migrations/20230817014932_add_last_login_time_to_account.sql b/src-tauri/migrations/20230817014932_add_last_login_time_to_account.sql
deleted file mode 100644
index a1b25281..00000000
--- a/src-tauri/migrations/20230817014932_add_last_login_time_to_account.sql
+++ /dev/null
@@ -1,3 +0,0 @@
--- Add migration script here
-ALTER TABLE accounts
-ADD COLUMN last_login_at NUMBER NOT NULL DEFAULT 0;
\ No newline at end of file
diff --git a/src-tauri/migrations/20230918235335_add_uniq_to_relay.sql b/src-tauri/migrations/20230918235335_add_uniq_to_relay.sql
deleted file mode 100644
index 7bb950ba..00000000
--- a/src-tauri/migrations/20230918235335_add_uniq_to_relay.sql
+++ /dev/null
@@ -1,2 +0,0 @@
--- Add migration script here
-CREATE UNIQUE INDEX unique_relay ON relays (relay);
\ No newline at end of file
diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs
index 3ad278f5..512e74ef 100644
--- a/src-tauri/src/main.rs
+++ b/src-tauri/src/main.rs
@@ -116,116 +116,12 @@ fn main() {
tauri_plugin_sql::Builder::default()
.add_migrations(
"sqlite:lume_v2.db",
- vec![
- Migration {
- version: 20230418013219,
- description: "initial data",
- sql: include_str!("../migrations/20230418013219_initial_data.sql"),
- kind: MigrationKind::Up,
- },
- Migration {
- version: 20230418080146,
- description: "create chats",
- sql: include_str!("../migrations/20230418080146_create_chats.sql"),
- kind: MigrationKind::Up,
- },
- Migration {
- version: 20230420040005,
- description: "insert last login to settings",
- sql: include_str!("../migrations/20230420040005_insert_last_login_to_settings.sql"),
- kind: MigrationKind::Up,
- },
- Migration {
- version: 20230425023912,
- description: "add pubkey to channel",
- sql: include_str!("../migrations/20230425023912_add_pubkey_to_channel.sql"),
- kind: MigrationKind::Up,
- },
- Migration {
- version: 20230425024708,
- description: "add default channels",
- sql: include_str!("../migrations/20230425024708_add_default_channels.sql"),
- kind: MigrationKind::Up,
- },
- Migration {
- version: 20230425050745,
- description: "create blacklist",
- sql: include_str!("../migrations/20230425050745_add_blacklist_model.sql"),
- kind: MigrationKind::Up,
- },
- Migration {
- version: 20230521092300,
- description: "create block",
- sql: include_str!("../migrations/20230521092300_add_block_model.sql"),
- kind: MigrationKind::Up,
- },
- Migration {
- version: 20230617003135,
- description: "add channel messages",
- sql: include_str!("../migrations/20230617003135_add_channel_messages.sql"),
- kind: MigrationKind::Up,
- },
- Migration {
- version: 20230619082415,
- description: "add replies",
- sql: include_str!("../migrations/20230619082415_add_replies.sql"),
- kind: MigrationKind::Up,
- },
- Migration {
- version: 20230718072634,
- description: "clean up",
- sql: include_str!("../migrations/20230718072634_clean_up_old_tables.sql"),
- kind: MigrationKind::Up,
- },
- Migration {
- version: 20230725010250,
- description: "update default relays",
- sql: include_str!("../migrations/20230725010250_update_default_relays.sql"),
- kind: MigrationKind::Up,
- },
- Migration {
- version: 20230804083544,
- description: "add network to accounts",
- sql: include_str!("../migrations/20230804083544_add_network_to_account.sql"),
- kind: MigrationKind::Up,
- },
- Migration {
- version: 20230808085847,
- description: "add relays",
- sql: include_str!("../migrations/20230808085847_add_relays_table.sql"),
- kind: MigrationKind::Up,
- },
- Migration {
- version: 20230811074423,
- description: "rename blocks to widgets",
- sql: include_str!("../migrations/20230811074423_rename_blocks_to_widgets.sql"),
- kind: MigrationKind::Up,
- },
- Migration {
- version: 20230814083543,
- description: "add events",
- sql: include_str!("../migrations/20230814083543_add_events_table.sql"),
- kind: MigrationKind::Up,
- },
- Migration {
- version: 20230816090508,
- description: "clean up tables",
- sql: include_str!("../migrations/20230816090508_clean_up_tables.sql"),
- kind: MigrationKind::Up,
- },
- Migration {
- version: 20230817014932,
- description: "add last login to account",
- sql: include_str!("../migrations/20230817014932_add_last_login_time_to_account.sql"),
- kind: MigrationKind::Up,
- },
- Migration {
- version: 20230918235335,
- description: "add unique to relay",
- sql: include_str!("../migrations/20230918235335_add_uniq_to_relay.sql"),
- kind: MigrationKind::Up,
- },
- ],
+ vec![Migration {
+ version: 20230418013219,
+ description: "initial data",
+ sql: include_str!("../migrations/20230418013219_initial_data.sql"),
+ kind: MigrationKind::Up,
+ }],
)
.build(),
)
diff --git a/src/app.tsx b/src/app.tsx
index e9ed5db0..2b132f4f 100644
--- a/src/app.tsx
+++ b/src/app.tsx
@@ -94,13 +94,6 @@ export default function App() {
return { Component: RelayScreen };
},
},
- {
- path: 'communities',
- async lazy() {
- const { CommunitiesScreen } = await import('@app/communities');
- return { Component: CommunitiesScreen };
- },
- },
{
path: 'explore',
element: (
@@ -173,13 +166,6 @@ export default function App() {
return { Component: ImportAccountScreen };
},
},
- {
- path: 'complete',
- async lazy() {
- const { CompleteScreen } = await import('@app/auth/complete');
- return { Component: CompleteScreen };
- },
- },
{
path: 'onboarding',
element: ,
@@ -203,6 +189,15 @@ export default function App() {
return { Component: OnboardEnrichScreen };
},
},
+ {
+ path: 'hashtag',
+ async lazy() {
+ const { OnboardHashtagScreen } = await import(
+ '@app/auth/onboarding/hashtag'
+ );
+ return { Component: OnboardHashtagScreen };
+ },
+ },
],
},
],
diff --git a/src/app/auth/complete.tsx b/src/app/auth/complete.tsx
deleted file mode 100644
index 740697df..00000000
--- a/src/app/auth/complete.tsx
+++ /dev/null
@@ -1,42 +0,0 @@
-import { useEffect, useState } from 'react';
-import { useNavigate } from 'react-router-dom';
-
-export function CompleteScreen() {
- const navigate = useNavigate();
- const [count, setCount] = useState(5);
-
- useEffect(() => {
- let counter: NodeJS.Timeout;
-
- if (count > 0) {
- counter = setTimeout(() => setCount(count - 1), 1000);
- }
-
- if (count === 0) {
- navigate('/', { replace: true });
- }
-
- return () => {
- clearTimeout(counter);
- };
- }, [count]);
-
- return (
-
-
-
- You're ready, redirecting in {count}
-
-
- Thank you for using Lume. Lume doesn't use telemetry. If you encounter any
- problems, please submit a report via the "Report Issue" button.
-
- You can find it while using the application.
-
+ By allowing Lume to send notifications in your OS settings, you will receive
+ notification messages when someone interacts with you or your content.
+
+ When you request information about a user, Lume will automatically query the
+ user's outbox relays and subsequent queries will favour using those
+ relays for queries with that user's pubkey.
+
+
+ {outbox ? (
+
+
+
+ ) : (
+
+ )}
+
+
+ );
+}
diff --git a/src/app/auth/components/features/favoriteHashtag.tsx b/src/app/auth/components/features/favoriteHashtag.tsx
index 6756b933..92dabd67 100644
--- a/src/app/auth/components/features/favoriteHashtag.tsx
+++ b/src/app/auth/components/features/favoriteHashtag.tsx
@@ -1,4 +1,12 @@
+import { Link } from 'react-router-dom';
+
+import { CheckCircleIcon } from '@shared/icons';
+
+import { useOnboarding } from '@stores/onboarding';
+
export function FavoriteHashtag() {
+ const hashtag = useOnboarding((state) => state.hashtag);
+
return (
@@ -9,12 +17,18 @@ export function FavoriteHashtag() {
hashtag as a column
- Send direct message to other user (NIP-04), all messages will be encrypted,
- but your metadata will be leaked.
-
-
-
-
-
- );
-}
diff --git a/src/app/auth/components/features/suggestFollow.tsx b/src/app/auth/components/features/suggestFollow.tsx
index b731038a..8884baa2 100644
--- a/src/app/auth/components/features/suggestFollow.tsx
+++ b/src/app/auth/components/features/suggestFollow.tsx
@@ -1,6 +1,12 @@
import { Link } from 'react-router-dom';
+import { CheckCircleIcon } from '@shared/icons';
+
+import { useOnboarding } from '@stores/onboarding';
+
export function SuggestFollow() {
+ const enrich = useOnboarding((state) => state.enrich);
+
return (
@@ -11,12 +17,18 @@ export function SuggestFollow() {
world.
-
- Check
-
+ {enrich ? (
+
+
+
+ ) : (
+
+ Check
+
+ )}
);
diff --git a/src/app/auth/import.tsx b/src/app/auth/import.tsx
index ccbb2efa..5a20cba9 100644
--- a/src/app/auth/import.tsx
+++ b/src/app/auth/import.tsx
@@ -82,7 +82,7 @@ export function ImportAccountScreen() {
- nsec is used to sign your event. For example, if you want to
- make a new post or send a message to your contact, you need to use
- nsec to sign this event.
+ Private Key is used to sign your event. For example, if you
+ want to make a new post or send a message to your contact, you need to
+ use your private key to sign this event.
- 1. In case you store nsec in Lume
+ 1. In case you store private key in Lume
Lume will put your nsec to{' '}
@@ -204,12 +204,12 @@ export function ImportAccountScreen() {
, it will be secured by your OS
- 2. In case you do not store nsec in Lume
+ 2. In case you do not store private key in Lume
- When you make an event that requires a sign by your nsec, Lume will
- show a prompt popup for you to enter nsec. It will be cleared after
- signing and not stored anywhere.
+ When you make an event that requires a sign by your private key, Lume
+ will show a prompt for you to enter private key. It will be cleared
+ after signing and not stored anywhere.