From ff1210fb566d484f45f19fc71acc27b72551667f Mon Sep 17 00:00:00 2001 From: Laszlo Megyer Date: Fri, 22 Nov 2024 18:48:36 +0100 Subject: [PATCH] Add nostr.pubkey variable for painless pubkey retrieval. The extension sets nostr.pubkey during initialization so as the client can instantly see if somebody is logged in or not. This allows the clients to detect if the user had revoked the permission for reading the pubkey, or changed to a different pubkey. All without nudging the user. --- 07.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/07.md b/07.md index 9f836d8..84be3c6 100644 --- a/07.md +++ b/07.md @@ -8,14 +8,15 @@ NIP-07 The `window.nostr` object may be made available by web browsers or extensions and websites or web-apps may make use of it after checking its availability. -That object must define the following methods: +That object must define the following: ``` -async window.nostr.getPublicKey(): string // returns a public key as hex +window.nostr.pubkey: string | null // variable set on page load to a public key or null if none authorized +async window.nostr.getPublicKey(): string // returns a public key as hex, sets `window.nostr.pubkey`, too. async window.nostr.signEvent(event: { created_at: number, kind: number, tags: string[][], content: string }): Event // takes an event object, adds `id`, `pubkey` and `sig` and returns it ``` -Aside from these two basic above, the following functions can also be implemented optionally: +Aside from these three basic above, the following functions can also be implemented optionally: ``` async window.nostr.getRelays(): { [url: string]: {read: boolean, write: boolean} } // returns a basic map of relay urls to relay policies async window.nostr.nip04.encrypt(pubkey, plaintext): string // returns ciphertext and iv as specified in nip-04 (deprecated)