UNPKG

@cashu/cashu-ts

Version:

cashu library for communicating with a cashu mint

3 lines (2 loc) 925 B
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("@noble/curves/secp256k1"),P=require("@noble/hashes/sha256"),a=require("../common/NUT11.cjs.js"),t=require("../client/NUT11.cjs.js"),f=e=>{if(!e.witness)throw new Error("could not verify signature, no witness provided");const r=a.parseP2PKSecret(e.secret),s=t.getP2PKExpectedKWitnessPubkeys(r);if(!s.length)throw new Error("no signatures required, proof is unlocked");let i=0;const n=t.getP2PKNSigs(r),o=t.getP2PKWitnessSignatures(e.witness);for(const c of s)o.some(u=>{try{return t.verifyP2PKSecretSignature(u,e.secret,c)}catch{return!1}})&&i++;return i>=n},d=(e,r)=>{if(!e.witness)throw new Error("could not verify signature, no witness provided");return g.schnorr.verify(e.witness.signatures[0],P.sha256(e.B_.toHex(!0)),r.slice(2))};exports.verifyP2PKSig=f;exports.verifyP2PKSigOutput=d; //# sourceMappingURL=NUT11.cjs.js.map