nostr-tools
2.20.02.21.0
lib/cjs/nip17.js~
lib/cjs/nip17.jsModified+19−19
Index: package/lib/cjs/nip17.js
===================================================================
--- package/lib/cjs/nip17.js
+++ package/lib/cjs/nip17.js
@@ -27,10 +27,10 @@
});
module.exports = __toCommonJS(nip17_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;
@@ -61,28 +61,28 @@
return true;
}
// pure.ts
-var import_sha256 = require("@noble/hashes/sha256");
+var import_sha2 = require("@noble/hashes/sha2.js");
// utils.ts
-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();
// 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) {
@@ -93,9 +93,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;
@@ -108,9 +108,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;
@@ -123,24 +123,24 @@
var PrivateDirectMessage = 14;
var GiftWrap = 1059;
// nip44.ts
-var import_chacha = require("@noble/ciphers/chacha");
-var import_utils4 = require("@noble/ciphers/utils");
-var import_secp256k12 = require("@noble/curves/secp256k1");
-var import_hkdf = require("@noble/hashes/hkdf");
-var import_hmac = require("@noble/hashes/hmac");
-var import_sha2562 = require("@noble/hashes/sha256");
-var import_utils5 = require("@noble/hashes/utils");
+var import_chacha = require("@noble/ciphers/chacha.js");
+var import_utils4 = require("@noble/ciphers/utils.js");
+var import_secp256k12 = require("@noble/curves/secp256k1.js");
+var import_hkdf = require("@noble/hashes/hkdf.js");
+var import_hmac = require("@noble/hashes/hmac.js");
+var import_sha22 = require("@noble/hashes/sha2.js");
+var import_utils5 = require("@noble/hashes/utils.js");
var import_base = require("@scure/base");
var minPlaintextSize = 1;
var maxPlaintextSize = 65535;
function getConversationKey(privkeyA, pubkeyB) {
- const sharedX = import_secp256k12.secp256k1.getSharedSecret(privkeyA, "02" + pubkeyB).subarray(1, 33);
- return (0, import_hkdf.extract)(import_sha2562.sha256, sharedX, "nip44-v2");
+ const sharedX = import_secp256k12.secp256k1.getSharedSecret(privkeyA, (0, import_utils5.hexToBytes)("02" + pubkeyB)).subarray(1, 33);
+ return (0, import_hkdf.extract)(import_sha22.sha256, sharedX, utf8Encoder.encode("nip44-v2"));
}
function getMessageKeys(conversationKey, nonce) {
- const keys = (0, import_hkdf.expand)(import_sha2562.sha256, conversationKey, nonce, 76);
+ const keys = (0, import_hkdf.expand)(import_sha22.sha256, conversationKey, nonce, 76);
return {
chacha_key: keys.subarray(0, 32),
chacha_nonce: keys.subarray(32, 44),
hmac_key: keys.subarray(44, 76)
@@ -179,9 +179,9 @@
function hmacAad(key, message, aad) {
if (aad.length !== 32)
throw new Error("AAD associated data must be 32 bytes");
const combined = (0, import_utils5.concatBytes)(aad, message);
- return (0, import_hmac.hmac)(import_sha2562.sha256, key, combined);
+ return (0, import_hmac.hmac)(import_sha22.sha256, key, combined);
}
function decodePayload(payload) {
if (typeof payload !== "string")
throw new Error("payload must be a valid string");