From e18108a518f686e1dfb2d4aba3b53b7cda5796bb Mon Sep 17 00:00:00 2001 From: studiokaiji Date: Fri, 20 Oct 2023 04:24:27 +0900 Subject: [PATCH] =?UTF-8?q?ResolvePubKey=E3=82=92=E4=BD=9C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hostr/cmd/tools/resolvePubKey.go | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 hostr/cmd/tools/resolvePubKey.go diff --git a/hostr/cmd/tools/resolvePubKey.go b/hostr/cmd/tools/resolvePubKey.go new file mode 100644 index 0000000..e3732dd --- /dev/null +++ b/hostr/cmd/tools/resolvePubKey.go @@ -0,0 +1,24 @@ +package tools + +import ( + "fmt" + + "github.com/nbd-wtf/go-nostr/nip19" +) + +func ResolvePubKey(npubOrHex string) (string, error) { + // npubから始まる場合はデコードする + if npubOrHex[0:4] == "npub" { + _, v, err := nip19.Decode(npubOrHex) + if err != nil { + return "", fmt.Errorf("Invalid npub") + } + return v.(string), nil + } else { + _, err := nip19.EncodePublicKey(npubOrHex) + if err != nil { + return "", fmt.Errorf("Invalid pubkey") + } + } + return npubOrHex, nil +}