UNPKG

@cashu/cashu-ts

Version:

cashu library for communicating with a cashu mint

3 lines (2 loc) 953 B
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const K=require("@noble/curves/secp256k1"),a=require("./util.cjs.js"),s=require("./common.cjs.js"),f=require("@scure/bip32"),y="m/0'/0'/0'";function v(e,r,t,n){return{C_:e.multiply(a.bytesToNumber(r)),amount:t,id:n}}function l(e){return K.secp256k1.getPublicKey(e,!0)}function d(e,r){let t=0n;const n={},o={};let c;for(r&&(c=f.HDKey.fromMasterSeed(r));t<e;){const i=(2n**t).toString();if(c){const u=c.derive(`${y}/${t}`).privateKey;if(u)o[i]=u;else throw new Error(`Could not derive Private key from: ${y}/${t}`)}else o[i]=s.createRandomPrivateKey();n[i]=l(o[i]),t++}const m=s.deriveKeysetId(n);return{pubKeys:n,privKeys:o,keysetId:m}}function b(e,r){return s.hashToCurve(e.secret).multiply(a.bytesToNumber(r)).equals(e.C)}exports.createBlindSignature=v;exports.createNewMintKeys=d;exports.getPubKeyFromPrivKey=l;exports.verifyProof=b; //# sourceMappingURL=mint.cjs.js.map