diff options
| author | Adam Soltys <[email protected]> | 2025-01-22 15:29:37 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2025-01-22 15:29:37 -0800 |
| commit | cbc2f7a8e89d049a68ff520e6d640753c877bf57 (patch) | |
| tree | 3e89afa1d0e2dab0a7d34efb719cc9f0b0382a86 /src/lib | |
| parent | b43e70ad7f4d6b7b82e0cc056413021f5d073f78 (diff) | |
| download | coinos-ui-cbc2f7a8e89d049a68ff520e6d640753c877bf57.tar.gz coinos-ui-cbc2f7a8e89d049a68ff520e6d640753c877bf57.zip | |
use nsec if available
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/nostr.ts | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/lib/nostr.ts b/src/lib/nostr.ts index 85f1bdaa..a5b2d990 100644 --- a/src/lib/nostr.ts +++ b/src/lib/nostr.ts @@ -8,6 +8,7 @@ import { signer as $signer, } from "$lib/store"; import { post, wait } from "$lib/utils"; +import { bytesToHex } from "@noble/hashes/utils"; import { type EventTemplate, finalizeEvent, @@ -102,7 +103,17 @@ export const encryptNsec = async (nsec: string) => { return nip49encrypt(d, await getPassword()); }; -export const sign = async (event) => { +export const sign = async (event, user) => { + if (user?.nsec && !get($signer)?.ready) { + const sk = await getPrivateKey(user); + + $signer.set({ + method: "nsec", + ready: true, + params: { sk: bytesToHex(sk), pk: getPublicKey(sk) }, + }); + } + eventToSign.set(event); let unsubscribe; const { method, params } = await new Promise((r) => { |
