20 lines
556 B
Go
20 lines
556 B
Go
package nostr
|
|
|
|
import "context"
|
|
|
|
type Keyer interface {
|
|
Signer
|
|
Cipher
|
|
}
|
|
|
|
// A Signer provides basic public key signing methods.
|
|
type Signer interface {
|
|
GetPublicKey(context.Context) (string, error)
|
|
SignEvent(context.Context, *Event) error
|
|
}
|
|
|
|
// A Cipher provides NIP-44 encryption and decryption methods.
|
|
type Cipher interface {
|
|
Encrypt(ctx context.Context, plaintext string, recipientPublicKey string) (base64ciphertext string, err error)
|
|
Decrypt(ctx context.Context, base64ciphertext string, senderPublicKey string) (plaintext string, err error)
|
|
}
|