Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@transmute/secp256k1-key-pair

Package Overview
Dependencies
Maintainers
2
Versions
90
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@transmute/secp256k1-key-pair - npm Package Compare versions

Comparing version 0.7.0-unstable.23 to 0.7.0-unstable.24

dist/__fixtures__/jose-help.d.ts

31

dist/secp256k1-key-pair.cjs.development.js

@@ -1080,3 +1080,3 @@ 'use strict';

var getPublicKeyFromPublicKeyJwk = function getPublicKeyFromPublicKeyJwk(publicKeyJwk) {
var uncompressed = Buffer.concat([Buffer.from('04', 'hex'), Buffer.from(publicKeyJwk.x, 'base64'), Buffer.from(publicKeyJwk.y, 'base64')]);
var uncompressed = Buffer.concat([Buffer.from('04', 'hex'), Buffer.from(Buffer.from(publicKeyJwk.x, 'base64').toString('hex').padStart(64, '0'), 'hex'), Buffer.from(Buffer.from(publicKeyJwk.y, 'base64').toString('hex').padStart(64, '0'), 'hex')]);
var compressedPublicKey = secp256k1.publicKeyConvert(uncompressed, true, new Uint8Array(33));

@@ -1213,3 +1213,3 @@ return compressedPublicKey;

return _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee2() {
var data, signature, messageHashUInt8Array, verified;
var data, signature, instance, verified, msgHash;
return runtime_1.wrap(function _callee2$(_context2) {

@@ -1220,13 +1220,26 @@ while (1) {

data = _ref2.data, signature = _ref2.signature;
messageHashUInt8Array = crypto.createHash('sha256').update(data).digest();
_context2.next = 3;
return libauth.instantiateSecp256k1();
case 3:
instance = _context2.sent;
verified = false;
_context2.prev = 5;
msgHash = crypto.createHash('sha256').update(data).digest();
_context2.next = 9;
return instance.verifySignatureCompact(signature, publicKey, msgHash);
try {
verified = secp256k1.ecdsaVerify(signature, messageHashUInt8Array, new Uint8Array(publicKey));
} catch (e) {// console.error('An error occurred when verifying signature: ', e);
}
case 9:
verified = _context2.sent;
_context2.next = 14;
break;
case 12:
_context2.prev = 12;
_context2.t0 = _context2["catch"](5);
case 14:
return _context2.abrupt("return", verified);
case 5:
case 15:
case "end":

@@ -1236,3 +1249,3 @@ return _context2.stop();

}
}, _callee2);
}, _callee2, null, [[5, 12]]);
}))();

@@ -1239,0 +1252,0 @@ }

@@ -1,2 +0,2 @@

"use strict";function r(r){return r&&"object"==typeof r&&"default"in r?r.default:r}Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),t=r(require("secp256k1")),n=require("@transmute/ld-key-pair"),o=r(require("crypto")),i=require("@bitauth/libauth");function a(r,e,t,n,o,i,a){try{var c=r[i](a),u=c.value}catch(r){return void t(r)}c.done?e(u):Promise.resolve(u).then(n,o)}function c(r){return function(){var e=this,t=arguments;return new Promise((function(n,o){var i=r.apply(e,t);function c(r){a(i,n,o,c,u,"next",r)}function u(r){a(i,n,o,c,u,"throw",r)}c(void 0)}))}}function u(){return(u=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r}).apply(this,arguments)}var s,f=(function(r){var e=function(r){var e=Object.prototype,t=e.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},o=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",a=n.toStringTag||"@@toStringTag";function c(r,e,t){return Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}),r[e]}try{c({},"")}catch(r){c=function(r,e,t){return r[e]=t}}function u(r,e,t,n){var o=Object.create((e&&e.prototype instanceof p?e:p).prototype),i=new k(n||[]);return o._invoke=function(r,e,t){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return{value:void 0,done:!0}}for(t.method=o,t.arg=i;;){var a=t.delegate;if(a){var c=b(a,t);if(c){if(c===f)continue;return c}}if("next"===t.method)t.sent=t._sent=t.arg;else if("throw"===t.method){if("suspendedStart"===n)throw n="completed",t.arg;t.dispatchException(t.arg)}else"return"===t.method&&t.abrupt("return",t.arg);n="executing";var u=s(r,e,t);if("normal"===u.type){if(n=t.done?"completed":"suspendedYield",u.arg===f)continue;return{value:u.arg,done:t.done}}"throw"===u.type&&(n="completed",t.method="throw",t.arg=u.arg)}}}(r,t,i),o}function s(r,e,t){try{return{type:"normal",arg:r.call(e,t)}}catch(r){return{type:"throw",arg:r}}}r.wrap=u;var f={};function p(){}function h(){}function l(){}var y={};y[o]=function(){return this};var v=Object.getPrototypeOf,d=v&&v(v(E([])));d&&d!==e&&t.call(d,o)&&(y=d);var g=l.prototype=p.prototype=Object.create(y);function w(r){["next","throw","return"].forEach((function(e){c(r,e,(function(r){return this._invoke(e,r)}))}))}function m(r,e){var n;this._invoke=function(o,i){function a(){return new e((function(n,a){!function n(o,i,a,c){var u=s(r[o],r,i);if("throw"!==u.type){var f=u.arg,p=f.value;return p&&"object"==typeof p&&t.call(p,"__await")?e.resolve(p.__await).then((function(r){n("next",r,a,c)}),(function(r){n("throw",r,a,c)})):e.resolve(p).then((function(r){f.value=r,a(f)}),(function(r){return n("throw",r,a,c)}))}c(u.arg)}(o,i,n,a)}))}return n=n?n.then(a,a):a()}}function b(r,e){var t=r.iterator[e.method];if(void 0===t){if(e.delegate=null,"throw"===e.method){if(r.iterator.return&&(e.method="return",e.arg=void 0,b(r,e),"throw"===e.method))return f;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return f}var n=s(t,r.iterator,e.arg);if("throw"===n.type)return e.method="throw",e.arg=n.arg,e.delegate=null,f;var o=n.arg;return o?o.done?(e[r.resultName]=o.value,e.next=r.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,f):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,f)}function x(r){var e={tryLoc:r[0]};1 in r&&(e.catchLoc=r[1]),2 in r&&(e.finallyLoc=r[2],e.afterLoc=r[3]),this.tryEntries.push(e)}function K(r){var e=r.completion||{};e.type="normal",delete e.arg,r.completion=e}function k(r){this.tryEntries=[{tryLoc:"root"}],r.forEach(x,this),this.reset(!0)}function E(r){if(r){var e=r[o];if(e)return e.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var n=-1,i=function e(){for(;++n<r.length;)if(t.call(r,n))return e.value=r[n],e.done=!1,e;return e.value=void 0,e.done=!0,e};return i.next=i}}return{next:S}}function S(){return{value:void 0,done:!0}}return h.prototype=g.constructor=l,l.constructor=h,h.displayName=c(l,a,"GeneratorFunction"),r.isGeneratorFunction=function(r){var e="function"==typeof r&&r.constructor;return!!e&&(e===h||"GeneratorFunction"===(e.displayName||e.name))},r.mark=function(r){return Object.setPrototypeOf?Object.setPrototypeOf(r,l):(r.__proto__=l,c(r,a,"GeneratorFunction")),r.prototype=Object.create(g),r},r.awrap=function(r){return{__await:r}},w(m.prototype),m.prototype[i]=function(){return this},r.AsyncIterator=m,r.async=function(e,t,n,o,i){void 0===i&&(i=Promise);var a=new m(u(e,t,n,o),i);return r.isGeneratorFunction(t)?a:a.next().then((function(r){return r.done?r.value:a.next()}))},w(g),c(g,a,"Generator"),g[o]=function(){return this},g.toString=function(){return"[object Generator]"},r.keys=function(r){var e=[];for(var t in r)e.push(t);return e.reverse(),function t(){for(;e.length;){var n=e.pop();if(n in r)return t.value=n,t.done=!1,t}return t.done=!0,t}},r.values=E,k.prototype={constructor:k,reset:function(r){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(K),!r)for(var e in this)"t"===e.charAt(0)&&t.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var r=this.tryEntries[0].completion;if("throw"===r.type)throw r.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var e=this;function n(t,n){return a.type="throw",a.arg=r,e.next=t,n&&(e.method="next",e.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var c=t.call(i,"catchLoc"),u=t.call(i,"finallyLoc");if(c&&u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(r,e){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&t.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===r||"continue"===r)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=r,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,f):this.complete(a)},complete:function(r,e){if("throw"===r.type)throw r.arg;return"break"===r.type||"continue"===r.type?this.next=r.arg:"return"===r.type?(this.rval=this.arg=r.arg,this.method="return",this.next="end"):"normal"===r.type&&e&&(this.next=e),f},finish:function(r){for(var e=this.tryEntries.length-1;e>=0;--e){var t=this.tryEntries[e];if(t.finallyLoc===r)return this.complete(t.completion,t.afterLoc),K(t),f}},catch:function(r){for(var e=this.tryEntries.length-1;e>=0;--e){var t=this.tryEntries[e];if(t.tryLoc===r){var n=t.completion;if("throw"===n.type){var o=n.arg;K(t)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(r,e,t){return this.delegate={iterator:E(r),resultName:e,nextLoc:t},"next"===this.method&&(this.arg=void 0),f}},r}(r.exports);try{regeneratorRuntime=e}catch(r){Function("r","regeneratorRuntime = r")(e)}}(s={exports:{}}),s.exports);function p(r){if(r.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),t=0;t<e.length;t++)e[t]=255;for(var n=0;n<r.length;n++){var o=r.charAt(n),i=o.charCodeAt(0);if(255!==e[i])throw new TypeError(o+" is ambiguous");e[i]=n}var a=r.length,c=r.charAt(0),u=Math.log(a)/Math.log(256),s=Math.log(256)/Math.log(a);function f(r){if("string"!=typeof r)throw new TypeError("Expected String");if(0===r.length)return Buffer.alloc(0);var t=0;if(" "!==r[t]){for(var n=0,o=0;r[t]===c;)n++,t++;for(var i=(r.length-t)*u+1>>>0,s=new Uint8Array(i);r[t];){var f=e[r.charCodeAt(t)];if(255===f)return;for(var p=0,h=i-1;(0!==f||p<o)&&-1!==h;h--,p++)s[h]=(f+=a*s[h]>>>0)%256>>>0,f=f/256>>>0;if(0!==f)throw new Error("Non-zero carry");o=p,t++}if(" "!==r[t]){for(var l=i-o;l!==i&&0===s[l];)l++;var y=Buffer.allocUnsafe(n+(i-l));y.fill(0,0,n);for(var v=n;l!==i;)y[v++]=s[l++];return y}}}return{encode:function(e){if((Array.isArray(e)||e instanceof Uint8Array)&&(e=Buffer.from(e)),!Buffer.isBuffer(e))throw new TypeError("Expected Buffer");if(0===e.length)return"";for(var t=0,n=0,o=0,i=e.length;o!==i&&0===e[o];)o++,t++;for(var u=(i-o)*s+1>>>0,f=new Uint8Array(u);o!==i;){for(var p=e[o],h=0,l=u-1;(0!==p||h<n)&&-1!==l;l--,h++)f[l]=(p+=256*f[l]>>>0)%a>>>0,p=p/a>>>0;if(0!==p)throw new Error("Non-zero carry");n=h,o++}for(var y=u-n;y!==u&&0===f[y];)y++;for(var v=c.repeat(t);y<u;++y)v+=r.charAt(f[y]);return v},decodeUnsafe:f,decode:function(r){var e=f(r);if(e)return e;throw new Error("Non-base"+a+" character")}}}var h,l=p("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"),y=function(r){return function(r){return Buffer.from(r||"").toString("base64")}(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")},v=function(r,e){void 0===e&&(e="base58btc");var t=new Uint8Array(2+r.length);if(t[0]=231,t[1]=1,t.set(r,2),"base58btc"===e)return"z"+l.encode(t);if("base64url"===e)return"u"+y(t);throw new Error("Unsupported encoding: "+e)},d=function(r){var e=Buffer.concat([Buffer.from("04","hex"),Buffer.from(r.x,"base64"),Buffer.from(r.y,"base64")]);return t.publicKeyConvert(e,!0,new Uint8Array(33))},g={JsonWebKey2020:function(r){var e,t,n=d(r.publicKeyJwk),o=void 0;return r.privateKeyJwk&&(o=(e=r.privateKeyJwk,(t=Buffer.from(e.d,"base64").toString("hex")).padStart(64,"0"),{publicKey:d(e),privateKey:Uint8Array.from(Buffer.from(t,"hex"))}).privateKey),{publicKey:n,privateKey:o}},EcdsaSecp256k1VerificationKey2020:function(r){throw new Error("EcdsaSecp256k1VerificationKey2020 cannot be imported becuase it does not support private keys.")},EcdsaSecp256k1VerificationKey2019:function(r){return{publicKey:l.decode(r.publicKeyBase58),privateKey:r.privateKeyBase58?l.decode(r.privateKeyBase58):void 0}}},w={JsonWebKey2020:function(r,e,n,o){var i=t.publicKeyConvert(n,!1,new Uint8Array(65)),a=Buffer.from(i).toString("hex").substr(2,64),c=Buffer.from(i).toString("hex").substr(66),s={kty:"EC",crv:"secp256k1",x:y(Buffer.from(a,"hex")),y:y(Buffer.from(c,"hex"))},f={id:r,type:"JsonWebKey2020",controller:e,publicKeyJwk:s};return o&&(f.privateKeyJwk=u({},s,{d:y(o)})),f},EcdsaSecp256k1VerificationKey2020:function(r,e,t,n){var o={id:r,type:"EcdsaSecp256k1VerificationKey2020",controller:e,publicKeyMultibase:v(t)};if(n)throw new Error("Unable to represent secp256k1 private key in multibase. See https://github.com/multiformats/multicodec/pull/210");return o},EcdsaSecp256k1VerificationKey2019:function(r,e,t,n){var o={id:r,type:"EcdsaSecp256k1VerificationKey2019",controller:e,publicKeyBase58:l.encode(t)};return n&&(o.privateKeyBase58=l.encode(n)),o}},m={Ecdsa:{__proto__:null,signer:function(r){return{sign:function(e){return c(f.mark((function n(){var i,a,c;return f.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return i=e.data,a=o.createHash("sha256").update(i).digest(),c=t.ecdsaSign(a,new Uint8Array(r)),n.abrupt("return",c.signature);case 4:case"end":return n.stop()}}),n)})))()}}},verifier:function(r){return{verify:function(e){return c(f.mark((function n(){var i,a,c,u;return f.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:i=e.data,a=e.signature,c=o.createHash("sha256").update(i).digest(),u=!1;try{u=t.ecdsaVerify(a,c,new Uint8Array(r))}catch(r){}return n.abrupt("return",u);case 5:case"end":return n.stop()}}),n)})))()}}}},EcRecover:{__proto__:null,signer:function(r){return{sign:function(e){return c(f.mark((function n(){var i,a,c,u;return f.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return i=e.data,a=o.createHash("sha256").update(i).digest(),c=t.ecdsaSign(a,r),u=c.recid,n.abrupt("return",Uint8Array.from(Buffer.concat([Buffer.from(c.signature),Buffer.from(new Uint8Array([u]))])));case 4:case"end":return n.stop()}}),n)})))()}}},verifier:function(r){return{verify:function(e){return c(f.mark((function n(){var i,a,c,u,s;return f.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:i=e.data,a=e.signature,c=o.createHash("sha256").update(i).digest(),u=!1,s=t.ecdsaRecover(a.slice(0,64),a[64],c);try{u=Buffer.from(r).toString("hex")===Buffer.from(s).toString("hex")}catch(r){console.error("An error occurred when verifying signature: ",r)}return n.abrupt("return",u);case 6:case"end":return n.stop()}}),n)})))()}}}},Schnorr:{__proto__:null,signer:function(r){return{sign:function(e){return c(f.mark((function t(){var n,a,c;return f.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.data,t.next=3,i.instantiateSecp256k1();case 3:return a=t.sent,c=o.createHash("sha256").update(n).digest(),t.abrupt("return",a.signMessageHashSchnorr(r,c));case 6:case"end":return t.stop()}}),t)})))()}}},verifier:function(r){return{verify:function(e){return c(f.mark((function t(){var n,a,c,u,s;return f.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.data,a=e.signature,t.next=3,i.instantiateSecp256k1();case 3:c=t.sent,u=o.createHash("sha256").update(n).digest(),s=!1;try{s=c.verifySignatureSchnorr(a,r,u)}catch(r){console.error("An error occurred when verifying signature: ",r)}return t.abrupt("return",s);case 8:case"end":return t.stop()}}),t)})))()}}}}},b=function(){var r=c(f.mark((function r(e){var n,o;return f.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:do{n=e()}while(!t.privateKeyVerify(n));return o=t.publicKeyCreate(n),r.abrupt("return",{publicKey:o,privateKey:new Uint8Array(n)});case 3:case"end":return r.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}();exports.Secp256k1KeyPair=h=function(){function r(r){this.type="JsonWebKey2020",this.id=r.id,this.type=r.type||"JsonWebKey2020",this.controller=r.controller,this.publicKey=r.publicKey,this.privateKey=r.privateKey}r.fromFingerprint=function(){var r=c(f.mark((function r(e){var t,n,o,i;return f.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(231!==(n=l.decode((t=e.fingerprint).substring(1)))[0]||1!==n[1]){r.next=12;break}return r.next=5,h.from({id:"",controller:"",type:"EcdsaSecp256k1VerificationKey2019",publicKeyBase58:l.encode(n.slice(2))});case 5:return o=r.sent,r.next=8,o.fingerprint();case 8:return o.id="did:key:"+(i=r.sent)+"#"+i,o.controller="did:key:"+i,r.abrupt("return",o);case 12:throw new Error("Unsupported fingerprint type: "+t);case 13:case"end":return r.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}(),r.fingerprintFromPublicKey=function(){var r=c(f.mark((function r(e){return f.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,h.from(e);case 2:return r.abrupt("return",v(r.sent.publicKey));case 5:case"end":return r.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}();var e=r.prototype;return e.fingerprint=function(){var r=c(f.mark((function r(){return f.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.abrupt("return",v(this.publicKey));case 1:case"end":return r.stop()}}),r,this)})));return function(){return r.apply(this,arguments)}}(),e.signer=function(r){if(void 0===r&&(r="Ecdsa"),!this.privateKey)throw new Error("No private key to sign with.");if(m[r])return m[r].signer(this.privateKey);throw new Error("Unsupported suite type "+r)},e.verifier=function(r){if(void 0===r&&(r="Ecdsa"),!this.publicKey)throw new Error("No public key to verify with.");if(m[r])return m[r].verifier(this.publicKey);throw new Error("Unsupported suite type "+r)},e.deriveSecret=function(){var r=c(f.mark((function r(e){var n;return f.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return n=e.publicKey,r.next=3,h.from(n);case 3:return r.abrupt("return",t.ecdh(r.sent.publicKey,this.privateKey));case 5:case"end":return r.stop()}}),r,this)})));return function(e){return r.apply(this,arguments)}}(),e.export=function(){var r=c(f.mark((function r(e){return f.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(void 0===e&&(e={privateKey:!1,type:"JsonWebKey2020"}),!w[e.type]){r.next=3;break}return r.abrupt("return",w[e.type](this.id,this.controller,this.publicKey,e.privateKey?this.privateKey:void 0));case 3:throw new Error("Unsupported export options: "+JSON.stringify(e));case 4:case"end":return r.stop()}}),r,this)})));return function(e){return r.apply(this,arguments)}}(),r}(),exports.Secp256k1KeyPair.generate=function(){var r=c(f.mark((function r(e){var t,n,o,i,a,c;return f.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return t=e.secureRandom,r.next=3,b(t);case 3:return i=(n=r.sent).privateKey,a=v(o=n.publicKey),r.abrupt("return",new h({id:(c="did:key:"+a)+"#"+a,type:"JsonWebKey2020",controller:c,publicKey:o,privateKey:i}));case 10:case"end":return r.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}(),exports.Secp256k1KeyPair.from=function(){var r=c(f.mark((function r(e){var t;return f.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return t=g[e.type](e),r.abrupt("return",new h({id:e.id,type:e.type,controller:e.controller,publicKey:t.publicKey,privateKey:t.privateKey}));case 2:case"end":return r.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}(),exports.Secp256k1KeyPair=h=e.__decorate([n.staticImplements()],exports.Secp256k1KeyPair);
"use strict";function r(r){return r&&"object"==typeof r&&"default"in r?r.default:r}Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),t=r(require("secp256k1")),n=require("@transmute/ld-key-pair"),o=r(require("crypto")),i=require("@bitauth/libauth");function a(r,e,t,n,o,i,a){try{var c=r[i](a),u=c.value}catch(r){return void t(r)}c.done?e(u):Promise.resolve(u).then(n,o)}function c(r){return function(){var e=this,t=arguments;return new Promise((function(n,o){var i=r.apply(e,t);function c(r){a(i,n,o,c,u,"next",r)}function u(r){a(i,n,o,c,u,"throw",r)}c(void 0)}))}}function u(){return(u=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r}).apply(this,arguments)}var s,f=(function(r){var e=function(r){var e=Object.prototype,t=e.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},o=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",a=n.toStringTag||"@@toStringTag";function c(r,e,t){return Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}),r[e]}try{c({},"")}catch(r){c=function(r,e,t){return r[e]=t}}function u(r,e,t,n){var o=Object.create((e&&e.prototype instanceof p?e:p).prototype),i=new k(n||[]);return o._invoke=function(r,e,t){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return{value:void 0,done:!0}}for(t.method=o,t.arg=i;;){var a=t.delegate;if(a){var c=b(a,t);if(c){if(c===f)continue;return c}}if("next"===t.method)t.sent=t._sent=t.arg;else if("throw"===t.method){if("suspendedStart"===n)throw n="completed",t.arg;t.dispatchException(t.arg)}else"return"===t.method&&t.abrupt("return",t.arg);n="executing";var u=s(r,e,t);if("normal"===u.type){if(n=t.done?"completed":"suspendedYield",u.arg===f)continue;return{value:u.arg,done:t.done}}"throw"===u.type&&(n="completed",t.method="throw",t.arg=u.arg)}}}(r,t,i),o}function s(r,e,t){try{return{type:"normal",arg:r.call(e,t)}}catch(r){return{type:"throw",arg:r}}}r.wrap=u;var f={};function p(){}function h(){}function l(){}var y={};y[o]=function(){return this};var v=Object.getPrototypeOf,d=v&&v(v(E([])));d&&d!==e&&t.call(d,o)&&(y=d);var g=l.prototype=p.prototype=Object.create(y);function w(r){["next","throw","return"].forEach((function(e){c(r,e,(function(r){return this._invoke(e,r)}))}))}function m(r,e){var n;this._invoke=function(o,i){function a(){return new e((function(n,a){!function n(o,i,a,c){var u=s(r[o],r,i);if("throw"!==u.type){var f=u.arg,p=f.value;return p&&"object"==typeof p&&t.call(p,"__await")?e.resolve(p.__await).then((function(r){n("next",r,a,c)}),(function(r){n("throw",r,a,c)})):e.resolve(p).then((function(r){f.value=r,a(f)}),(function(r){return n("throw",r,a,c)}))}c(u.arg)}(o,i,n,a)}))}return n=n?n.then(a,a):a()}}function b(r,e){var t=r.iterator[e.method];if(void 0===t){if(e.delegate=null,"throw"===e.method){if(r.iterator.return&&(e.method="return",e.arg=void 0,b(r,e),"throw"===e.method))return f;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return f}var n=s(t,r.iterator,e.arg);if("throw"===n.type)return e.method="throw",e.arg=n.arg,e.delegate=null,f;var o=n.arg;return o?o.done?(e[r.resultName]=o.value,e.next=r.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,f):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,f)}function x(r){var e={tryLoc:r[0]};1 in r&&(e.catchLoc=r[1]),2 in r&&(e.finallyLoc=r[2],e.afterLoc=r[3]),this.tryEntries.push(e)}function K(r){var e=r.completion||{};e.type="normal",delete e.arg,r.completion=e}function k(r){this.tryEntries=[{tryLoc:"root"}],r.forEach(x,this),this.reset(!0)}function E(r){if(r){var e=r[o];if(e)return e.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var n=-1,i=function e(){for(;++n<r.length;)if(t.call(r,n))return e.value=r[n],e.done=!1,e;return e.value=void 0,e.done=!0,e};return i.next=i}}return{next:S}}function S(){return{value:void 0,done:!0}}return h.prototype=g.constructor=l,l.constructor=h,h.displayName=c(l,a,"GeneratorFunction"),r.isGeneratorFunction=function(r){var e="function"==typeof r&&r.constructor;return!!e&&(e===h||"GeneratorFunction"===(e.displayName||e.name))},r.mark=function(r){return Object.setPrototypeOf?Object.setPrototypeOf(r,l):(r.__proto__=l,c(r,a,"GeneratorFunction")),r.prototype=Object.create(g),r},r.awrap=function(r){return{__await:r}},w(m.prototype),m.prototype[i]=function(){return this},r.AsyncIterator=m,r.async=function(e,t,n,o,i){void 0===i&&(i=Promise);var a=new m(u(e,t,n,o),i);return r.isGeneratorFunction(t)?a:a.next().then((function(r){return r.done?r.value:a.next()}))},w(g),c(g,a,"Generator"),g[o]=function(){return this},g.toString=function(){return"[object Generator]"},r.keys=function(r){var e=[];for(var t in r)e.push(t);return e.reverse(),function t(){for(;e.length;){var n=e.pop();if(n in r)return t.value=n,t.done=!1,t}return t.done=!0,t}},r.values=E,k.prototype={constructor:k,reset:function(r){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(K),!r)for(var e in this)"t"===e.charAt(0)&&t.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var r=this.tryEntries[0].completion;if("throw"===r.type)throw r.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var e=this;function n(t,n){return a.type="throw",a.arg=r,e.next=t,n&&(e.method="next",e.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var c=t.call(i,"catchLoc"),u=t.call(i,"finallyLoc");if(c&&u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(r,e){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&t.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===r||"continue"===r)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=r,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,f):this.complete(a)},complete:function(r,e){if("throw"===r.type)throw r.arg;return"break"===r.type||"continue"===r.type?this.next=r.arg:"return"===r.type?(this.rval=this.arg=r.arg,this.method="return",this.next="end"):"normal"===r.type&&e&&(this.next=e),f},finish:function(r){for(var e=this.tryEntries.length-1;e>=0;--e){var t=this.tryEntries[e];if(t.finallyLoc===r)return this.complete(t.completion,t.afterLoc),K(t),f}},catch:function(r){for(var e=this.tryEntries.length-1;e>=0;--e){var t=this.tryEntries[e];if(t.tryLoc===r){var n=t.completion;if("throw"===n.type){var o=n.arg;K(t)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(r,e,t){return this.delegate={iterator:E(r),resultName:e,nextLoc:t},"next"===this.method&&(this.arg=void 0),f}},r}(r.exports);try{regeneratorRuntime=e}catch(r){Function("r","regeneratorRuntime = r")(e)}}(s={exports:{}}),s.exports);function p(r){if(r.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),t=0;t<e.length;t++)e[t]=255;for(var n=0;n<r.length;n++){var o=r.charAt(n),i=o.charCodeAt(0);if(255!==e[i])throw new TypeError(o+" is ambiguous");e[i]=n}var a=r.length,c=r.charAt(0),u=Math.log(a)/Math.log(256),s=Math.log(256)/Math.log(a);function f(r){if("string"!=typeof r)throw new TypeError("Expected String");if(0===r.length)return Buffer.alloc(0);var t=0;if(" "!==r[t]){for(var n=0,o=0;r[t]===c;)n++,t++;for(var i=(r.length-t)*u+1>>>0,s=new Uint8Array(i);r[t];){var f=e[r.charCodeAt(t)];if(255===f)return;for(var p=0,h=i-1;(0!==f||p<o)&&-1!==h;h--,p++)s[h]=(f+=a*s[h]>>>0)%256>>>0,f=f/256>>>0;if(0!==f)throw new Error("Non-zero carry");o=p,t++}if(" "!==r[t]){for(var l=i-o;l!==i&&0===s[l];)l++;var y=Buffer.allocUnsafe(n+(i-l));y.fill(0,0,n);for(var v=n;l!==i;)y[v++]=s[l++];return y}}}return{encode:function(e){if((Array.isArray(e)||e instanceof Uint8Array)&&(e=Buffer.from(e)),!Buffer.isBuffer(e))throw new TypeError("Expected Buffer");if(0===e.length)return"";for(var t=0,n=0,o=0,i=e.length;o!==i&&0===e[o];)o++,t++;for(var u=(i-o)*s+1>>>0,f=new Uint8Array(u);o!==i;){for(var p=e[o],h=0,l=u-1;(0!==p||h<n)&&-1!==l;l--,h++)f[l]=(p+=256*f[l]>>>0)%a>>>0,p=p/a>>>0;if(0!==p)throw new Error("Non-zero carry");n=h,o++}for(var y=u-n;y!==u&&0===f[y];)y++;for(var v=c.repeat(t);y<u;++y)v+=r.charAt(f[y]);return v},decodeUnsafe:f,decode:function(r){var e=f(r);if(e)return e;throw new Error("Non-base"+a+" character")}}}var h,l=p("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"),y=function(r){return function(r){return Buffer.from(r||"").toString("base64")}(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")},v=function(r,e){void 0===e&&(e="base58btc");var t=new Uint8Array(2+r.length);if(t[0]=231,t[1]=1,t.set(r,2),"base58btc"===e)return"z"+l.encode(t);if("base64url"===e)return"u"+y(t);throw new Error("Unsupported encoding: "+e)},d=function(r){var e=Buffer.concat([Buffer.from("04","hex"),Buffer.from(Buffer.from(r.x,"base64").toString("hex").padStart(64,"0"),"hex"),Buffer.from(Buffer.from(r.y,"base64").toString("hex").padStart(64,"0"),"hex")]);return t.publicKeyConvert(e,!0,new Uint8Array(33))},g={JsonWebKey2020:function(r){var e,t,n=d(r.publicKeyJwk),o=void 0;return r.privateKeyJwk&&(o=(e=r.privateKeyJwk,(t=Buffer.from(e.d,"base64").toString("hex")).padStart(64,"0"),{publicKey:d(e),privateKey:Uint8Array.from(Buffer.from(t,"hex"))}).privateKey),{publicKey:n,privateKey:o}},EcdsaSecp256k1VerificationKey2020:function(r){throw new Error("EcdsaSecp256k1VerificationKey2020 cannot be imported becuase it does not support private keys.")},EcdsaSecp256k1VerificationKey2019:function(r){return{publicKey:l.decode(r.publicKeyBase58),privateKey:r.privateKeyBase58?l.decode(r.privateKeyBase58):void 0}}},w={JsonWebKey2020:function(r,e,n,o){var i=t.publicKeyConvert(n,!1,new Uint8Array(65)),a=Buffer.from(i).toString("hex").substr(2,64),c=Buffer.from(i).toString("hex").substr(66),s={kty:"EC",crv:"secp256k1",x:y(Buffer.from(a,"hex")),y:y(Buffer.from(c,"hex"))},f={id:r,type:"JsonWebKey2020",controller:e,publicKeyJwk:s};return o&&(f.privateKeyJwk=u({},s,{d:y(o)})),f},EcdsaSecp256k1VerificationKey2020:function(r,e,t,n){var o={id:r,type:"EcdsaSecp256k1VerificationKey2020",controller:e,publicKeyMultibase:v(t)};if(n)throw new Error("Unable to represent secp256k1 private key in multibase. See https://github.com/multiformats/multicodec/pull/210");return o},EcdsaSecp256k1VerificationKey2019:function(r,e,t,n){var o={id:r,type:"EcdsaSecp256k1VerificationKey2019",controller:e,publicKeyBase58:l.encode(t)};return n&&(o.privateKeyBase58=l.encode(n)),o}},m={Ecdsa:{__proto__:null,signer:function(r){return{sign:function(e){return c(f.mark((function n(){var i,a,c;return f.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return i=e.data,a=o.createHash("sha256").update(i).digest(),c=t.ecdsaSign(a,new Uint8Array(r)),n.abrupt("return",c.signature);case 4:case"end":return n.stop()}}),n)})))()}}},verifier:function(r){return{verify:function(e){return c(f.mark((function t(){var n,a,c,u,s;return f.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.data,a=e.signature,t.next=3,i.instantiateSecp256k1();case 3:return c=t.sent,u=!1,t.prev=5,s=o.createHash("sha256").update(n).digest(),t.next=9,c.verifySignatureCompact(a,r,s);case 9:u=t.sent,t.next=14;break;case 12:t.prev=12,t.t0=t.catch(5);case 14:return t.abrupt("return",u);case 15:case"end":return t.stop()}}),t,null,[[5,12]])})))()}}}},EcRecover:{__proto__:null,signer:function(r){return{sign:function(e){return c(f.mark((function n(){var i,a,c,u;return f.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return i=e.data,a=o.createHash("sha256").update(i).digest(),c=t.ecdsaSign(a,r),u=c.recid,n.abrupt("return",Uint8Array.from(Buffer.concat([Buffer.from(c.signature),Buffer.from(new Uint8Array([u]))])));case 4:case"end":return n.stop()}}),n)})))()}}},verifier:function(r){return{verify:function(e){return c(f.mark((function n(){var i,a,c,u,s;return f.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:i=e.data,a=e.signature,c=o.createHash("sha256").update(i).digest(),u=!1,s=t.ecdsaRecover(a.slice(0,64),a[64],c);try{u=Buffer.from(r).toString("hex")===Buffer.from(s).toString("hex")}catch(r){console.error("An error occurred when verifying signature: ",r)}return n.abrupt("return",u);case 6:case"end":return n.stop()}}),n)})))()}}}},Schnorr:{__proto__:null,signer:function(r){return{sign:function(e){return c(f.mark((function t(){var n,a,c;return f.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.data,t.next=3,i.instantiateSecp256k1();case 3:return a=t.sent,c=o.createHash("sha256").update(n).digest(),t.abrupt("return",a.signMessageHashSchnorr(r,c));case 6:case"end":return t.stop()}}),t)})))()}}},verifier:function(r){return{verify:function(e){return c(f.mark((function t(){var n,a,c,u,s;return f.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.data,a=e.signature,t.next=3,i.instantiateSecp256k1();case 3:c=t.sent,u=o.createHash("sha256").update(n).digest(),s=!1;try{s=c.verifySignatureSchnorr(a,r,u)}catch(r){console.error("An error occurred when verifying signature: ",r)}return t.abrupt("return",s);case 8:case"end":return t.stop()}}),t)})))()}}}}},b=function(){var r=c(f.mark((function r(e){var n,o;return f.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:do{n=e()}while(!t.privateKeyVerify(n));return o=t.publicKeyCreate(n),r.abrupt("return",{publicKey:o,privateKey:new Uint8Array(n)});case 3:case"end":return r.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}();exports.Secp256k1KeyPair=h=function(){function r(r){this.type="JsonWebKey2020",this.id=r.id,this.type=r.type||"JsonWebKey2020",this.controller=r.controller,this.publicKey=r.publicKey,this.privateKey=r.privateKey}r.fromFingerprint=function(){var r=c(f.mark((function r(e){var t,n,o,i;return f.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(231!==(n=l.decode((t=e.fingerprint).substring(1)))[0]||1!==n[1]){r.next=12;break}return r.next=5,h.from({id:"",controller:"",type:"EcdsaSecp256k1VerificationKey2019",publicKeyBase58:l.encode(n.slice(2))});case 5:return o=r.sent,r.next=8,o.fingerprint();case 8:return o.id="did:key:"+(i=r.sent)+"#"+i,o.controller="did:key:"+i,r.abrupt("return",o);case 12:throw new Error("Unsupported fingerprint type: "+t);case 13:case"end":return r.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}(),r.fingerprintFromPublicKey=function(){var r=c(f.mark((function r(e){return f.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,h.from(e);case 2:return r.abrupt("return",v(r.sent.publicKey));case 5:case"end":return r.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}();var e=r.prototype;return e.fingerprint=function(){var r=c(f.mark((function r(){return f.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.abrupt("return",v(this.publicKey));case 1:case"end":return r.stop()}}),r,this)})));return function(){return r.apply(this,arguments)}}(),e.signer=function(r){if(void 0===r&&(r="Ecdsa"),!this.privateKey)throw new Error("No private key to sign with.");if(m[r])return m[r].signer(this.privateKey);throw new Error("Unsupported suite type "+r)},e.verifier=function(r){if(void 0===r&&(r="Ecdsa"),!this.publicKey)throw new Error("No public key to verify with.");if(m[r])return m[r].verifier(this.publicKey);throw new Error("Unsupported suite type "+r)},e.deriveSecret=function(){var r=c(f.mark((function r(e){var n;return f.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return n=e.publicKey,r.next=3,h.from(n);case 3:return r.abrupt("return",t.ecdh(r.sent.publicKey,this.privateKey));case 5:case"end":return r.stop()}}),r,this)})));return function(e){return r.apply(this,arguments)}}(),e.export=function(){var r=c(f.mark((function r(e){return f.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(void 0===e&&(e={privateKey:!1,type:"JsonWebKey2020"}),!w[e.type]){r.next=3;break}return r.abrupt("return",w[e.type](this.id,this.controller,this.publicKey,e.privateKey?this.privateKey:void 0));case 3:throw new Error("Unsupported export options: "+JSON.stringify(e));case 4:case"end":return r.stop()}}),r,this)})));return function(e){return r.apply(this,arguments)}}(),r}(),exports.Secp256k1KeyPair.generate=function(){var r=c(f.mark((function r(e){var t,n,o,i,a,c;return f.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return t=e.secureRandom,r.next=3,b(t);case 3:return i=(n=r.sent).privateKey,a=v(o=n.publicKey),r.abrupt("return",new h({id:(c="did:key:"+a)+"#"+a,type:"JsonWebKey2020",controller:c,publicKey:o,privateKey:i}));case 10:case"end":return r.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}(),exports.Secp256k1KeyPair.from=function(){var r=c(f.mark((function r(e){var t;return f.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return t=g[e.type](e),r.abrupt("return",new h({id:e.id,type:e.type,controller:e.controller,publicKey:t.publicKey,privateKey:t.privateKey}));case 2:case"end":return r.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}(),exports.Secp256k1KeyPair=h=e.__decorate([n.staticImplements()],exports.Secp256k1KeyPair);
//# sourceMappingURL=secp256k1-key-pair.cjs.production.min.js.map

@@ -1074,3 +1074,3 @@ import { __decorate } from 'tslib';

var getPublicKeyFromPublicKeyJwk = function getPublicKeyFromPublicKeyJwk(publicKeyJwk) {
var uncompressed = Buffer.concat([Buffer.from('04', 'hex'), Buffer.from(publicKeyJwk.x, 'base64'), Buffer.from(publicKeyJwk.y, 'base64')]);
var uncompressed = Buffer.concat([Buffer.from('04', 'hex'), Buffer.from(Buffer.from(publicKeyJwk.x, 'base64').toString('hex').padStart(64, '0'), 'hex'), Buffer.from(Buffer.from(publicKeyJwk.y, 'base64').toString('hex').padStart(64, '0'), 'hex')]);
var compressedPublicKey = secp256k1.publicKeyConvert(uncompressed, true, new Uint8Array(33));

@@ -1207,3 +1207,3 @@ return compressedPublicKey;

return _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee2() {
var data, signature, messageHashUInt8Array, verified;
var data, signature, instance, verified, msgHash;
return runtime_1.wrap(function _callee2$(_context2) {

@@ -1214,13 +1214,26 @@ while (1) {

data = _ref2.data, signature = _ref2.signature;
messageHashUInt8Array = crypto.createHash('sha256').update(data).digest();
_context2.next = 3;
return instantiateSecp256k1();
case 3:
instance = _context2.sent;
verified = false;
_context2.prev = 5;
msgHash = crypto.createHash('sha256').update(data).digest();
_context2.next = 9;
return instance.verifySignatureCompact(signature, publicKey, msgHash);
try {
verified = secp256k1.ecdsaVerify(signature, messageHashUInt8Array, new Uint8Array(publicKey));
} catch (e) {// console.error('An error occurred when verifying signature: ', e);
}
case 9:
verified = _context2.sent;
_context2.next = 14;
break;
case 12:
_context2.prev = 12;
_context2.t0 = _context2["catch"](5);
case 14:
return _context2.abrupt("return", verified);
case 5:
case 15:
case "end":

@@ -1230,3 +1243,3 @@ return _context2.stop();

}
}, _callee2);
}, _callee2, null, [[5, 12]]);
}))();

@@ -1233,0 +1246,0 @@ }

@@ -5,3 +5,3 @@ {

"module": "dist/secp256k1-key-pair.esm.js",
"version": "0.7.0-unstable.23",
"version": "0.7.0-unstable.24",
"license": "Apache-2.0",

@@ -53,3 +53,3 @@ "homepage": "https://github.com/transmute-industries/verifiable-data/tree/main/packages/secp256k1-key-pair",

"@size-limit/preset-small-lib": "^4.9.2",
"jose": "^2.0.3",
"jose": "^3.13.0",
"size-limit": "^4.9.2",

@@ -63,6 +63,6 @@ "ts-jest": "^26.5.0",

"@bitauth/libauth": "^1.18.1",
"@transmute/ld-key-pair": "^0.7.0-unstable.23",
"@transmute/ld-key-pair": "^0.7.0-unstable.24",
"secp256k1": "^4.0.2"
},
"gitHead": "4d7591f6dbe171ab02db80016b120d1b36dd5de6"
"gitHead": "417f856018b7d6d401f587ab7b08dbe1492911a9"
}

@@ -6,4 +6,14 @@ import secp256k1 from 'secp256k1';

Buffer.from('04', 'hex'),
Buffer.from(publicKeyJwk.x, 'base64'),
Buffer.from(publicKeyJwk.y, 'base64'),
Buffer.from(
Buffer.from(publicKeyJwk.x, 'base64')
.toString('hex')
.padStart(64, '0'),
'hex'
),
Buffer.from(
Buffer.from(publicKeyJwk.y, 'base64')
.toString('hex')
.padStart(64, '0'),
'hex'
),
]);

@@ -10,0 +20,0 @@ const compressedPublicKey = secp256k1.publicKeyConvert(

import crypto from '../crypto';
import secp256k1 from 'secp256k1';
import { instantiateSecp256k1 } from '@bitauth/libauth';
export const signer = (privateKey: Uint8Array) => {

@@ -23,12 +23,13 @@ return {

async verify({ data, signature }: any) {
const messageHashUInt8Array = crypto
.createHash('sha256')
.update(data)
.digest();
const instance = await instantiateSecp256k1();
let verified = false;
try {
verified = secp256k1.ecdsaVerify(
const msgHash = crypto
.createHash('sha256')
.update(data)
.digest();
verified = await instance.verifySignatureCompact(
signature,
messageHashUInt8Array,
new Uint8Array(publicKey)
publicKey,
msgHash
);

@@ -35,0 +36,0 @@ } catch (e) {

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc