nostr_types

Struct KeySigner

source
pub struct KeySigner { /* private fields */ }
Expand description

Signer with a local private key (and public key)

Implementations§

source§

impl KeySigner

source

pub fn from_locked_parts(epk: EncryptedPrivateKey, pk: PublicKey) -> Self

Create a Signer from an EncryptedPrivateKey

source

pub fn from_private_key( privk: PrivateKey, password: &str, log_n: u8, ) -> Result<Self, Error>

Create a Signer from a PrivateKey

source

pub fn from_encrypted_private_key( epk: EncryptedPrivateKey, pass: &str, ) -> Result<Self, Error>

Create a Signer from an EncryptedPrivateKey and a password to unlock it

source

pub fn generate(password: &str, log_n: u8) -> Result<Self, Error>

Create a Signer by generating a new PrivateKey

Trait Implementations§

source§

impl Debug for KeySigner

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl Signer for KeySigner

source§

fn is_locked(&self) -> bool

Is the signer locked?
source§

fn unlock(&mut self, password: &str) -> Result<(), Error>

Try to unlock access to the private key
source§

fn lock(&mut self)

Lock access to the private key
source§

fn change_passphrase( &mut self, old: &str, new: &str, log_n: u8, ) -> Result<(), Error>

Change the passphrase used for locking access to the private key
source§

fn upgrade(&mut self, pass: &str, log_n: u8) -> Result<(), Error>

Upgrade the encrypted private key to the latest format
source§

fn public_key(&self) -> PublicKey

What is the signer’s public key?
source§

fn encrypted_private_key(&self) -> Option<&EncryptedPrivateKey>

What is the signer’s encrypted private key?
source§

fn sign_id(&self, id: Id) -> Result<Signature, Error>

Sign a 32-bit hash
source§

fn sign(&self, message: &[u8]) -> Result<Signature, Error>

Sign a message (this hashes with SHA-256 first internally)
source§

fn encrypt( &self, other: &PublicKey, plaintext: &str, algo: ContentEncryptionAlgorithm, ) -> Result<String, Error>

Encrypt
source§

fn decrypt(&self, other: &PublicKey, ciphertext: &str) -> Result<String, Error>

Decrypt NIP-04 or NIP-44
source§

fn nip44_conversation_key(&self, other: &PublicKey) -> Result<[u8; 32], Error>

Get NIP-44 conversation key
source§

fn export_private_key_in_hex( &mut self, pass: &str, log_n: u8, ) -> Result<(String, bool), Error>

Export the private key in hex. Read more
source§

fn export_private_key_in_bech32( &mut self, pass: &str, log_n: u8, ) -> Result<(String, bool), Error>

Export the private key in bech32. Read more
source§

fn key_security(&self) -> Result<KeySecurity, Error>

Get the security level of the private key
source§

fn generate_delegation_signature( &self, delegated_pubkey: PublicKey, delegation_conditions: &DelegationConditions, ) -> Result<Signature, Error>

Generate delegation signature
source§

fn verify_delegation_signature( &self, delegated_pubkey: PublicKey, delegation_conditions: &DelegationConditions, signature: &Signature, ) -> Result<(), Error>

Verify delegation signature
source§

fn sign_event(&self, input: PreEvent) -> Result<Event, Error>

Sign an event
source§

fn sign_event2(&self, input: PreEventV2) -> Result<EventV2, Error>

Sign an event
source§

fn sign_event_with_pow( &self, input: PreEvent, zero_bits: u8, work_sender: Option<Sender<u8>>, ) -> Result<Event, Error>

Sign an event with Proof-of-Work
source§

fn giftwrap(&self, input: PreEvent, pubkey: PublicKey) -> Result<Event, Error>

Giftwrap an event
source§

fn giftwrap2( &self, input: PreEventV2, pubkey: PublicKey, ) -> Result<EventV2, Error>

Giftwrap an event
source§

fn create_metadata_event( &self, input: PreEvent, metadata: Metadata, ) -> Result<Event, Error>

Create an event that sets Metadata
source§

fn create_zap_request_event( &self, recipient_pubkey: PublicKey, zapped_event: Option<Id>, millisatoshis: u64, relays: Vec<String>, content: String, ) -> Result<Event, Error>

Create a ZapRequest event These events are not published to nostr, they are sent to a lnurl.
source§

fn decrypt_event_contents(&self, event: &Event) -> Result<String, Error>

Decrypt the contents of an event
source§

fn unwrap_giftwrap(&self, event: &Event) -> Result<Rumor, Error>

If a gift wrap event, unwrap and return the inner Rumor
source§

fn unwrap_giftwrap2(&self, event: &EventV2) -> Result<RumorV2, Error>

If a gift wrap event, unwrap and return the inner Rumor @deprecated for migrations only
source§

fn unwrap_giftwrap1(&self, event: &EventV1) -> Result<RumorV1, Error>

If a gift wrap event, unwrap and return the inner Rumor @deprecated for migrations only

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same for T

source§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V