aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-02-14 17:25:11 -0800
committerAdam Soltys <[email protected]>2026-02-14 17:25:11 -0800
commit3910e808663828803111538ac40654d2aeb963ab (patch)
tree3e4434d3b12889d0adb2d1335fc59b5465271668
parent8dc79c6080a66b587220634ad1b143d52ec60570 (diff)
downloadcoinos-ui-3910e808663828803111538ac40654d2aeb963ab.tar.gz
coinos-ui-3910e808663828803111538ac40654d2aeb963ab.zip
fix: pass Uint8Array to finalizeEvent and nip04 (nostr-tools API change)
Co-Authored-By: Claude Opus 4.6 <[email protected]>
-rw-r--r--src/lib/nostr.ts13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/lib/nostr.ts b/src/lib/nostr.ts
index 6343bc9e..df67bf6b 100644
--- a/src/lib/nostr.ts
+++ b/src/lib/nostr.ts
@@ -8,7 +8,7 @@ import {
signer as $signer,
} from "$lib/store";
import { post, wait } from "$lib/utils";
-import { bytesToHex } from "@noble/hashes/utils.js";
+import { bytesToHex, hexToBytes } from "@noble/hashes/utils.js";
import {
type EventTemplate,
finalizeEvent,
@@ -154,7 +154,8 @@ const signingMethods = {
params: [JSON.stringify(event)],
};
- const content = await nip04.encrypt(sk, pk, JSON.stringify(signEvent));
+ const skBytes = hexToBytes(sk);
+ const content = await nip04.encrypt(skBytes, pk, JSON.stringify(signEvent));
const signedSignEvent = finalizeEvent(
{
@@ -164,7 +165,7 @@ const signingMethods = {
content,
tags: [["p", pk]],
},
- sk,
+ skBytes,
);
const relay = await Relay.connect(nostrConnectRelay);
@@ -177,9 +178,9 @@ const signingMethods = {
try {
let response;
try {
- response = JSON.parse(await nip04.decrypt(sk, pk, event.content));
+ response = JSON.parse(await nip04.decrypt(hexToBytes(sk), pk, event.content));
} catch (e) {
- const ck = await getConversationKey(sk, pk);
+ const ck = await getConversationKey(hexToBytes(sk), pk);
response = JSON.parse(await nip44decrypt(event.content, ck));
}
@@ -193,7 +194,7 @@ const signingMethods = {
},
async nsec(event, { sk }) {
- return finalizeEvent(event, sk);
+ return finalizeEvent(event, hexToBytes(sk));
},
async extension(event) {