nostr-tools

2.20.02.21.0
lib/cjs/index.js
~lib/cjs/index.jsModified
+36−36
Index: package/lib/cjs/index.js
===================================================================
--- package/lib/cjs/index.js
+++ package/lib/cjs/index.js
@@ -64,10 +64,10 @@
 });
 module.exports = __toCommonJS(nostr_tools_exports);
 
 // pure.ts
-var import_secp256k1 = require("@noble/curves/secp256k1");
-var import_utils2 = require("@noble/hashes/utils");
+var import_secp256k1 = require("@noble/curves/secp256k1.js");
+var import_utils2 = require("@noble/hashes/utils.js");
 
 // core.ts
 var verifiedSymbol = Symbol("verified");
 var isRecord = (obj) => obj instanceof Object;
@@ -106,9 +106,9 @@
   });
 }
 
 // pure.ts
-var import_sha256 = require("@noble/hashes/sha256");
+var import_sha2 = require("@noble/hashes/sha2.js");
 
 // utils.ts
 var utils_exports = {};
 __export(utils_exports, {
@@ -122,9 +122,9 @@
   normalizeURL: () => normalizeURL,
   utf8Decoder: () => utf8Decoder,
   utf8Encoder: () => utf8Encoder
 });
-var import_utils = require("@noble/hashes/utils");
+var import_utils = require("@noble/hashes/utils.js");
 var utf8Decoder = new TextDecoder("utf-8");
 var utf8Encoder = new TextEncoder();
 function normalizeURL(url) {
   try {
@@ -241,18 +241,18 @@
 
 // pure.ts
 var JS = class {
   generateSecretKey() {
-    return import_secp256k1.schnorr.utils.randomPrivateKey();
+    return import_secp256k1.schnorr.utils.randomSecretKey();
   }
   getPublicKey(secretKey) {
     return (0, import_utils2.bytesToHex)(import_secp256k1.schnorr.getPublicKey(secretKey));
   }
   finalizeEvent(t, secretKey) {
     const event = t;
     event.pubkey = (0, import_utils2.bytesToHex)(import_secp256k1.schnorr.getPublicKey(secretKey));
     event.id = getEventHash(event);
-    event.sig = (0, import_utils2.bytesToHex)(import_secp256k1.schnorr.sign(getEventHash(event), secretKey));
+    event.sig = (0, import_utils2.bytesToHex)(import_secp256k1.schnorr.sign((0, import_utils2.hexToBytes)(getEventHash(event)), secretKey));
     event[verifiedSymbol] = true;
     return event;
   }
   verifyEvent(event) {
@@ -263,9 +263,9 @@
       event[verifiedSymbol] = false;
       return false;
     }
     try {
-      const valid = import_secp256k1.schnorr.verify(event.sig, hash, event.pubkey);
+      const valid = import_secp256k1.schnorr.verify((0, import_utils2.hexToBytes)(event.sig), (0, import_utils2.hexToBytes)(hash), (0, import_utils2.hexToBytes)(event.pubkey));
       event[verifiedSymbol] = valid;
       return valid;
     } catch (err) {
       event[verifiedSymbol] = false;
@@ -278,9 +278,9 @@
     throw new Error("can't serialize event with wrong or missing properties");
   return JSON.stringify([0, evt.pubkey, evt.created_at, evt.kind, evt.tags, evt.content]);
 }
 function getEventHash(event) {
-  let eventHash = (0, import_sha256.sha256)(utf8Encoder.encode(serializeEvent(event)));
+  let eventHash = (0, import_sha2.sha256)(utf8Encoder.encode(serializeEvent(event)));
   return (0, import_utils2.bytesToHex)(eventHash);
 }
 var i = new JS();
 var generateSecretKey = i.generateSecretKey;
@@ -1434,9 +1434,9 @@
   nprofileEncode: () => nprofileEncode,
   npubEncode: () => npubEncode,
   nsecEncode: () => nsecEncode
 });
-var import_utils6 = require("@noble/hashes/utils");
+var import_utils6 = require("@noble/hashes/utils.js");
 var import_base = require("@scure/base");
 var NostrTypeGuard = {
   isNProfile: (value) => /^nprofile1[a-z\d]+$/.test(value || ""),
   isNEvent: (value) => /^nevent1[a-z\d]+$/.test(value || ""),
@@ -1704,15 +1704,15 @@
 __export(nip04_exports, {
   decrypt: () => decrypt,
   encrypt: () => encrypt
 });
-var import_utils8 = require("@noble/hashes/utils");
-var import_secp256k12 = require("@noble/curves/secp256k1");
-var import_aes = require("@noble/ciphers/aes");
+var import_utils8 = require("@noble/hashes/utils.js");
+var import_secp256k12 = require("@noble/curves/secp256k1.js");
+var import_aes = require("@noble/ciphers/aes.js");
 var import_base2 = require("@scure/base");
 function encrypt(secretKey, pubkey, text) {
-  const privkey = secretKey instanceof Uint8Array ? (0, import_utils8.bytesToHex)(secretKey) : secretKey;
-  const key = import_secp256k12.secp256k1.getSharedSecret(privkey, "02" + pubkey);
+  const privkey = secretKey instanceof Uint8Array ? secretKey : (0, import_utils8.hexToBytes)(secretKey);
+  const key = import_secp256k12.secp256k1.getSharedSecret(privkey, (0, import_utils8.hexToBytes)("02" + pubkey));
   const normalizedKey = getNormalizedX(key);
   let iv = Uint8Array.from((0, import_utils8.randomBytes)(16));
   let plaintext = utf8Encoder.encode(text);
   let ciphertext = (0, import_aes.cbc)(normalizedKey, iv).encrypt(plaintext);
@@ -1720,11 +1720,11 @@
   let ivb64 = import_base2.base64.encode(new Uint8Array(iv.buffer));
   return `${ctb64}?iv=${ivb64}`;
 }
 function decrypt(secretKey, pubkey, data) {
-  const privkey = secretKey instanceof Uint8Array ? (0, import_utils8.bytesToHex)(secretKey) : secretKey;
+  const privkey = secretKey instanceof Uint8Array ? secretKey : (0, import_utils8.hexToBytes)(secretKey);
   let [ctb64, ivb64] = data.split("?iv=");
-  let key = import_secp256k12.secp256k1.getSharedSecret(privkey, "02" + pubkey);
+  let key = import_secp256k12.secp256k1.getSharedSecret(privkey, (0, import_utils8.hexToBytes)("02" + pubkey));
   let normalizedKey = getNormalizedX(key);
   let iv = import_base2.base64.decode(ivb64);
   let ciphertext = import_base2.base64.decode(ctb64);
   let plaintext = (0, import_aes.cbc)(normalizedKey, iv).decrypt(ciphertext);
@@ -1922,10 +1922,10 @@
   fastEventHash: () => fastEventHash,
   getPow: () => getPow,
   minePow: () => minePow
 });
-var import_utils10 = require("@noble/hashes/utils");
-var import_sha2562 = require("@noble/hashes/sha256");
+var import_utils10 = require("@noble/hashes/utils.js");
+var import_sha22 = require("@noble/hashes/sha2.js");
 function getPow(hex) {
   let count = 0;
   for (let i2 = 0; i2 < 64; i2 += 8) {
     const nibble = parseInt(hex.substring(i2, i2 + 8), 16);
@@ -1958,9 +1958,9 @@
   return event;
 }
 function fastEventHash(evt) {
   return (0, import_utils10.bytesToHex)(
-    (0, import_sha2562.sha256)(utf8Encoder.encode(JSON.stringify([0, evt.pubkey, evt.created_at, evt.kind, evt.tags, evt.content])))
+    (0, import_sha22.sha256)(utf8Encoder.encode(JSON.stringify([0, evt.pubkey, evt.created_at, evt.kind, evt.tags, evt.content])))
   );
 }
 
 // nip17.ts
@@ -1991,24 +1991,24 @@
   encrypt: () => encrypt2,
   getConversationKey: () => getConversationKey,
   v2: () => v2
 });
-var import_chacha = require("@noble/ciphers/chacha");
-var import_utils12 = require("@noble/ciphers/utils");
-var import_secp256k13 = require("@noble/curves/secp256k1");
-var import_hkdf = require("@noble/hashes/hkdf");
-var import_hmac = require("@noble/hashes/hmac");
-var import_sha2563 = require("@noble/hashes/sha256");
-var import_utils13 = require("@noble/hashes/utils");
+var import_chacha = require("@noble/ciphers/chacha.js");
+var import_utils12 = require("@noble/ciphers/utils.js");
+var import_secp256k13 = require("@noble/curves/secp256k1.js");
+var import_hkdf = require("@noble/hashes/hkdf.js");
+var import_hmac = require("@noble/hashes/hmac.js");
+var import_sha23 = require("@noble/hashes/sha2.js");
+var import_utils13 = require("@noble/hashes/utils.js");
 var import_base3 = require("@scure/base");
 var minPlaintextSize = 1;
 var maxPlaintextSize = 65535;
 function getConversationKey(privkeyA, pubkeyB) {
-  const sharedX = import_secp256k13.secp256k1.getSharedSecret(privkeyA, "02" + pubkeyB).subarray(1, 33);
-  return (0, import_hkdf.extract)(import_sha2563.sha256, sharedX, "nip44-v2");
+  const sharedX = import_secp256k13.secp256k1.getSharedSecret(privkeyA, (0, import_utils13.hexToBytes)("02" + pubkeyB)).subarray(1, 33);
+  return (0, import_hkdf.extract)(import_sha23.sha256, sharedX, utf8Encoder.encode("nip44-v2"));
 }
 function getMessageKeys(conversationKey, nonce) {
-  const keys = (0, import_hkdf.expand)(import_sha2563.sha256, conversationKey, nonce, 76);
+  const keys = (0, import_hkdf.expand)(import_sha23.sha256, conversationKey, nonce, 76);
   return {
     chacha_key: keys.subarray(0, 32),
     chacha_nonce: keys.subarray(32, 44),
     hmac_key: keys.subarray(44, 76)
@@ -2047,9 +2047,9 @@
 function hmacAad(key, message, aad) {
   if (aad.length !== 32)
     throw new Error("AAD associated data must be 32 bytes");
   const combined = (0, import_utils13.concatBytes)(aad, message);
-  return (0, import_hmac.hmac)(import_sha2563.sha256, key, combined);
+  return (0, import_hmac.hmac)(import_sha23.sha256, key, combined);
 }
 function decodePayload(payload) {
   if (typeof payload !== "string")
     throw new Error("payload must be a valid string");
@@ -2863,10 +2863,10 @@
   Negentropy: () => Negentropy,
   NegentropyStorageVector: () => NegentropyStorageVector,
   NegentropySync: () => NegentropySync
 });
-var import_utils16 = require("@noble/ciphers/utils");
-var import_sha2564 = require("@noble/hashes/sha256");
+var import_utils16 = require("@noble/hashes/utils.js");
+var import_sha24 = require("@noble/hashes/sha2.js");
 var PROTOCOL_VERSION = 97;
 var ID_SIZE = 32;
 var FINGERPRINT_SIZE = 16;
 var Mode = {
@@ -2995,9 +2995,9 @@
   getFingerprint(n) {
     let input = new WrappedBuffer();
     input.extend(this.buf);
     input.extend(encodeVarInt(n));
-    let hash = (0, import_sha2564.sha256)(input.unwrap());
+    let hash = (0, import_sha24.sha256)(input.unwrap());
     return hash.subarray(0, FINGERPRINT_SIZE);
   }
 };
 var NegentropyStorageVector = class {
@@ -3370,10 +3370,10 @@
   validateEventTimestamp: () => validateEventTimestamp,
   validateEventUrlTag: () => validateEventUrlTag,
   validateToken: () => validateToken
 });
-var import_sha2565 = require("@noble/hashes/sha256");
-var import_utils17 = require("@noble/hashes/utils");
+var import_sha25 = require("@noble/hashes/sha2.js");
+var import_utils17 = require("@noble/hashes/utils.js");
 var import_base5 = require("@scure/base");
 var _authorizationScheme = "Nostr ";
 async function getToken(loginUrl, httpMethod, sign, includeAuthorizationScheme = false, payload) {
   const event = {
@@ -3436,9 +3436,9 @@
   }
   return methodTag.length > 0 && methodTag[1].toLowerCase() === method.toLowerCase();
 }
 function hashPayload(payload) {
-  const hash = (0, import_sha2565.sha256)(utf8Encoder.encode(JSON.stringify(payload)));
+  const hash = (0, import_sha25.sha256)(utf8Encoder.encode(JSON.stringify(payload)));
   return (0, import_utils17.bytesToHex)(hash);
 }
 function validateEventPayloadTag(event, payload) {
   const payloadTag = event.tags.find((t) => t[0] === "payload");