nip5A: nsites.
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
package nip5a
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"math/big"
|
||||
"strings"
|
||||
|
||||
"fiatjaf.com/nostr"
|
||||
)
|
||||
|
||||
func NormalizePath(p string) string {
|
||||
if !strings.HasSuffix(p, ".html") && !strings.HasSuffix(p, "/") {
|
||||
return p
|
||||
}
|
||||
if strings.HasSuffix(p, "/") {
|
||||
return p + "index.html"
|
||||
}
|
||||
return p
|
||||
}
|
||||
|
||||
func PubKeyFromBase36(value string) (nostr.PubKey, error) {
|
||||
bi, ok := new(big.Int).SetString(value, 36)
|
||||
if !ok {
|
||||
return nostr.ZeroPK, fmt.Errorf("invalid base36 pubkey")
|
||||
}
|
||||
buf := bi.Bytes()
|
||||
if len(buf) > 32 {
|
||||
return nostr.ZeroPK, fmt.Errorf("base36 pubkey too long")
|
||||
}
|
||||
var pk nostr.PubKey
|
||||
copy(pk[32-len(buf):], buf)
|
||||
return pk, nil
|
||||
}
|
||||
|
||||
func PubKeyToBase36(pubkey nostr.PubKey) string {
|
||||
value := new(big.Int).SetBytes(pubkey[:]).Text(36)
|
||||
return strings.Repeat("0", 50-len(value)) + value
|
||||
}
|
||||
Reference in New Issue
Block a user