@toruslabs/torus.js
Advanced tools
Comparing version
@@ -1,1 +0,1 @@ | ||
module.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var a=t[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)r.d(n,a,function(t){return e[t]}.bind(null,a));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=19)}([function(e,t){e.exports=require("bn.js")},function(e,t){e.exports=require("@babel/runtime/regenerator")},function(e,t){e.exports=require("@babel/runtime/helpers/asyncToGenerator")},function(e,t){e.exports=require("@toruslabs/http-helpers")},function(e,t){e.exports=require("web3-utils")},function(e,t){e.exports=require("json-stable-stringify")},function(e,t){e.exports=require("@toruslabs/eccrypto")},function(e,t){e.exports=require("@babel/runtime/helpers/defineProperty")},function(e,t){e.exports=require("@babel/runtime/helpers/classCallCheck")},function(e,t){e.exports=require("@babel/runtime/helpers/getPrototypeOf")},function(e,t){e.exports=require("@babel/runtime/helpers/toConsumableArray")},function(e,t){e.exports=require("@babel/runtime/helpers/typeof")},function(e,t){e.exports=require("@babel/runtime/helpers/createClass")},function(e,t){e.exports=require("elliptic")},function(e,t){e.exports=require("memory-cache")},function(e,t){e.exports=require("loglevel")},function(e,t){e.exports=require("@babel/runtime/helpers/inherits")},function(e,t){e.exports=require("@babel/runtime/helpers/possibleConstructorReturn")},function(e,t){e.exports=require("@babel/runtime/helpers/wrapNativeSuper")},function(e,t,r){"use strict";r.r(t);var n=r(7),a=r.n(n),o=r(11),u=r.n(o),i=r(2),s=r.n(i),c=r(8),f=r.n(c),l=r(12),p=r.n(l),h=r(1),b=r.n(h),d=r(6),v=r(3),g=r(0),y=r.n(g),m=r(13),x=r(5),k=r.n(x),O=r(14),w=r.n(O),P=r(4),j=r(15),S=r.n(j).a.getLogger("torus.js"),_=r(16),K=r.n(_),A=r(17),q=r.n(A),N=r(9),C=r.n(N),E=r(18);function M(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=C()(e);if(t){var a=C()(this).constructor;r=Reflect.construct(n,arguments,a)}else r=n.apply(this,arguments);return q()(this,r)}}var R=function(e){K()(r,e);var t=M(r);function r(e){var n,a=e.errors,o=e.responses,u=e.predicate;return f()(this,r),(n=t.call(this,"Unable to resolve enough promises.")).errors=a,n.responses=o,n.predicate=u,n}return r}(r.n(E)()(Error)),X=function(e,t){return new Promise((function(r,n){var a,o=0,u={resolved:!1},i=new Array(e.length).fill(void 0),s=new Array(e.length).fill(void 0);e.forEach((function(c,f){c.then((function(e){s[f]=e})).catch((function(e){i[f]=e})).finally((function(){u.resolved||t(s.slice(0),u).then((function(e){u.resolved=!0,r(e)})).catch((function(e){a=e})).finally((function(t){if((o+=1)===e.length){var r=Object.values(s.reduce((function(e,t){var r,n,a=t||{},o=a.id,u=a.error;return(null==u||null===(r=u.data)||void 0===r?void 0:r.length)>0&&(u.data.startsWith("Error occurred while verifying params")?e[o]=(n=u.data).charAt(0).toUpperCase()+n.slice(1):e[o]=u.data),e}),{}));if(r.length>0){var u=r.length>1?"\n".concat(r.map((function(e){return"• ".concat(e)})).join("\n")):r[0];n(new Error(u))}else{var c;n(new R({errors:i,responses:s,predicate:(null===(c=a)||void 0===c?void 0:c.message)||a}))}}}))}))}))}))},Y=r(10),I=r.n(Y);function F(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function H(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?F(Object(r),!0).forEach((function(t){a()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):F(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var B=function e(t,r){var n=t;if("number"==typeof n&&(n=Array.from({length:n},(function(e,t){return t}))),r>n.length||r<=0)return[];if(r===n.length)return[n];if(1===r)return n.reduce((function(e,t){return[].concat(I()(e),[[t]])}),[]);for(var a=[],o=[],u=0;u<=n.length-r+1;u+=1){o=e(n.slice(u+1),r-1);for(var i=0;i<o.length;i+=1)a.push([n[u]].concat(I()(o[i])))}return a},J=function(e,t){for(var r={},n=0;n<e.length;n+=1){var a=k()(e[n]);if(r[a]=r[a]?r[a]+1:1,r[a]===t)return e[n]}},D=function(){var e=s()(b.a.mark((function e(t,r,n){var a;return b.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.map((function(e){return Object(v.post)(e,Object(v.generateJsonRPCObject)("VerifierLookupRequest",{verifier:r,verifier_id:n.toString()})).catch((function(e){return S.error("lookup request failed",e)}))})),e.abrupt("return",X(a,(function(e){var r=e.filter((function(e){return e})),n=J(r.map((function(e){return e&&e.error})),1+~~(t.length/2)),a=J(r.map((function(e){return e&&e.result})),1+~~(t.length/2));return a||n?Promise.resolve({keyResult:a,errorResult:n}):Promise.reject(new Error("invalid results ".concat(JSON.stringify(e))))})));case 2:case"end":return e.stop()}}),e)})));return function(t,r,n){return e.apply(this,arguments)}}(),L=function(e,t,r,n){return new Promise((function(a,o){setTimeout((function(){D(e,t,r).then(a).catch(o)}),n)}))},T=function(){var e=s()(b.a.mark((function e(t,r,n,a,o,u){var i,s,c,f;return b.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===n?(i=Math.floor(Math.random()*t.length),s=i):i=n%t.length,i!==a){e.next=3;break}throw new Error("Looped through all");case 3:return void 0!==a&&(s=a),c=Object(v.generateJsonRPCObject)("KeyAssign",{verifier:o,verifier_id:u.toString()}),e.prev=5,e.next=8,Object(v.post)("https://signer.tor.us/api/sign",c,{headers:{pubKeyX:r[i].X,pubKeyY:r[i].Y}},{useAPIKey:!0});case 8:return f=e.sent,e.abrupt("return",Object(v.post)(t[i],H(H({},c),f),{headers:{"Content-Type":"application/json; charset=utf-8"}}));case 12:return e.prev=12,e.t0=e.catch(5),S.error(e.t0),e.abrupt("return",T(t,r,i+1,s,o,u));case 16:case"end":return e.stop()}}),e,null,[[5,12]])})));return function(t,r,n,a,o,u){return e.apply(this,arguments)}}();function U(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function V(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?U(Object(r),!0).forEach((function(t){a()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):U(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var G=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=t.enableOneKey,n=void 0!==r&&r,a=t.metadataHost,o=void 0===a?"https://metadata.tor.us":a,u=t.allowHost,i=void 0===u?"https://signer.tor.us/api/allow":u,s=t.serverTimeOffset,c=void 0===s?0:s;f()(this,e),this.ec=new m.ec("secp256k1"),this.metadataHost=o,this.allowHost=i,this.metadataCache=w.a,this.metadataLock={},this.enableOneKey=n,this.serverTimeOffset=c||0}var t,r,n,a,o,i;return p()(e,[{key:"setCustomKey",value:(i=s()(b.a.mark((function e(t){var r,n,a,o,u,i,s,c,f;return b.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.privKeyHex,n=t.metadataNonce,a=t.torusKeyHex,o=t.customKeyHex,a?u=new y.a(a,16):(i=new y.a(r,16),u=i.sub(n).umod(this.ec.curve.n)),s=new y.a(o,16),c=s.sub(u).umod(this.ec.curve.n),f=this.generateMetadataParams(c.toString(16),u.toString(16)),e.next=7,this.setMetadata(f);case 7:case"end":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})},{key:"retrieveShares",value:(o=s()(b.a.mark((function e(t,r,n,a,o){var i,c,f,l,p,h,g,m,x,k=this,O=arguments;return b.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=O.length>5&&void 0!==O[5]?O[5]:{},c=[],e.next=4,Object(v.get)(this.allowHost,{headers:{verifier:n,verifier_id:a.verifier_id}},{useAPIKey:!0});case 4:for(f=Object(d.generatePrivate)(),l=Object(d.getPublic)(f).toString("hex"),p=l.slice(2,66),h=l.slice(66),g=Object(P.keccak256)(o),m=0;m<t.length;m+=1)x=Object(v.post)(t[m],Object(v.generateJsonRPCObject)("CommitmentRequest",{messageprefix:"mug00",tokencommitment:g.slice(2),temppubx:p,temppuby:h,verifieridentifier:n})).catch((function(e){return S.error("commitment",e)})),c.push(x);return e.abrupt("return",X(c,(function(e){return e.filter((function(e){return!(!e||"object"!==u()(e)||e.error)})).length>=3*~~(t.length/4)+1?Promise.resolve(e):Promise.reject(new Error("invalid ".concat(JSON.stringify(e))))})).then((function(e){for(var u=[],c=[],l=0;l<e.length;l+=1)e[l]&&c.push(e[l].result);for(var p=0;p<t.length;p+=1){var h=Object(v.post)(t[p],Object(v.generateJsonRPCObject)("ShareRequest",{encrypted:"yes",item:[V(V({},a),{},{idtoken:o,nodesignatures:c,verifieridentifier:n},i)]})).catch((function(e){return S.error("share req",e)}));u.push(h)}return X(u,function(){var e=s()(b.a.mark((function e(n,a){var o,u,i,s,c,l,p,h,v,g,m,x,O,w,P,j;return b.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o=n.filter((function(e){return e})),u=J(n.map((function(e){return e&&e.result&&e.result.keys[0].PublicKey})),1+~~(t.length/2)),!(o.length>=1+~~(t.length/2)&&u)){e.next=42;break}for(i=[],s=[],c=0;c<n.length;c+=1)n[c]&&n[c].result&&n[c].result.keys&&n[c].result.keys.length>0?(n[c].result.keys.sort((function(e,t){return new y.a(e.Index,16).cmp(new y.a(t.Index,16))})),n[c].result.keys[0].Metadata?(l={ephemPublicKey:Buffer.from(n[c].result.keys[0].Metadata.ephemPublicKey,"hex"),iv:Buffer.from(n[c].result.keys[0].Metadata.iv,"hex"),mac:Buffer.from(n[c].result.keys[0].Metadata.mac,"hex"),mode:Buffer.from(n[c].result.keys[0].Metadata.mode,"hex")},i.push(Object(d.decrypt)(f,V(V({},l),{},{ciphertext:Buffer.from(atob(n[c].result.keys[0].Share).padStart(64,"0"),"hex")})).catch((function(e){return S.debug("share decryption",e)})))):i.push(Promise.resolve(Buffer.from(n[c].result.keys[0].Share.padStart(64,"0"),"hex")))):i.push(Promise.resolve(void 0)),s.push(new y.a(r[c],16));return e.next=8,Promise.all(i);case 8:if(p=e.sent,!a.resolved){e.next=11;break}return e.abrupt("return",void 0);case 11:h=p.reduce((function(e,t,r){return t&&e.push({index:s[r],value:new y.a(t)}),e}),[]),v=B(h.length,1+~~(t.length/2)),m=function(e){var t=v[e],r=h.filter((function(e,r){return t.includes(r)})),n=r.map((function(e){return e.value})),a=r.map((function(e){return e.index})),o=k.lagrangeInterpolation(n,a),i=Object(d.getPublic)(Buffer.from(o.toString(16,64),"hex")).toString("hex"),s=i.slice(2,66),c=i.slice(66);if(0===new y.a(s,16).cmp(new y.a(u.X,16))&&0===new y.a(c,16).cmp(new y.a(u.Y,16)))return g=o,"break"},x=0;case 15:if(!(x<v.length)){e.next=22;break}if("break"!==m(x)){e.next=19;break}return e.abrupt("break",22);case 19:x+=1,e.next=15;break;case 22:if(void 0!==g){e.next=24;break}throw new Error("could not derive private key");case 24:if(!k.enableOneKey){e.next=32;break}return e.next=27,k.getOrSetNonce(u.X,u.Y,g);case 27:w=e.sent,P=w.nonce,O=new y.a(P,16),e.next=35;break;case 32:return e.next=34,k.getMetadata({pub_key_X:u.X,pub_key_Y:u.Y});case 34:O=e.sent;case 35:if(S.debug("> torus.js/retrieveShares",{privKey:g.toString(16),metadataNonce:O.toString(16)}),!a.resolved){e.next=38;break}return e.abrupt("return",void 0);case 38:return g=g.add(O).umod(k.ec.curve.n),j=k.generateAddressFromPrivKey(g),S.debug("> torus.js/retrieveShares",{ethAddress:j,privKey:g.toString(16)}),e.abrupt("return",{ethAddress:j,privKey:g.toString("hex",64),metadataNonce:O});case 42:throw new Error("invalid");case 43:case"end":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}())})));case 11:case"end":return e.stop()}}),e,this)}))),function(e,t,r,n,a){return o.apply(this,arguments)})},{key:"getMetadata",value:(a=s()(b.a.mark((function e(t,r){var n,a,o,u,i=this;return b.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,a=k()(t),null===this.metadataLock[a]){e.next=7;break}return e.next=5,this.metadataLock[a];case 5:e.next=8;break;case 7:this.metadataLock[a]=new Promise((function(e){n=function(){i.metadataLock[a]=null,e()}}));case 8:if(null===(o=this.metadataCache.get(a))){e.next=12;break}return n&&n(),e.abrupt("return",o);case 12:return e.next=14,Object(v.post)("".concat(this.metadataHost,"/get"),t,r,{useAPIKey:!0});case 14:if((u=e.sent)&&u.message){e.next=19;break}return this.metadataCache.put(a,new y.a(0),6e4),n&&n(),e.abrupt("return",new y.a(0));case 19:return this.metadataCache.put(a,new y.a(u.message,16),6e4),e.abrupt("return",new y.a(u.message,16));case 23:return e.prev=23,e.t0=e.catch(0),S.error("get metadata error",e.t0),n&&n(),e.abrupt("return",new y.a(0));case 28:case"end":return e.stop()}}),e,this,[[0,23]])}))),function(e,t){return a.apply(this,arguments)})},{key:"generateMetadataParams",value:function(e,t){var r=this.ec.keyFromPrivate(t.toString("hex",64)),n={data:e,timestamp:new y.a(~~(this.serverTimeOffset+Date.now()/1e3)).toString(16)},a=r.sign(Object(P.keccak256)(k()(n)).slice(2));return{pub_key_X:r.getPublic().getX().toString("hex"),pub_key_Y:r.getPublic().getY().toString("hex"),set_data:n,signature:Buffer.from(a.r.toString(16,64)+a.s.toString(16,64)+new y.a(a.v).toString(16,2),"hex").toString("base64")}}},{key:"setMetadata",value:(n=s()(b.a.mark((function e(t,r){var n;return b.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,this.metadataCache.del(k()({pub_key_X:t.pub_key_X,pub_key_Y:t.pub_key_Y})),e.next=4,Object(v.post)("".concat(this.metadataHost,"/set"),t,r,{useAPIKey:!0});case 4:return n=e.sent,e.abrupt("return",n.message);case 8:return e.prev=8,e.t0=e.catch(0),S.error("set metadata error",e.t0),e.abrupt("return","");case 12:case"end":return e.stop()}}),e,this,[[0,8]])}))),function(e,t){return n.apply(this,arguments)})},{key:"lagrangeInterpolation",value:function(e,t){if(e.length!==t.length)return null;for(var r=new y.a(0),n=0;n<e.length;n+=1){for(var a=new y.a(1),o=new y.a(1),u=0;u<e.length;u+=1)if(n!==u){a=(a=a.mul(t[u].neg())).umod(this.ec.curve.n);var i=t[n].sub(t[u]);i=i.umod(this.ec.curve.n),o=o.mul(i).umod(this.ec.curve.n)}var s=a.mul(o.invm(this.ec.curve.n)).umod(this.ec.curve.n);s=s.mul(e[n]).umod(this.ec.curve.n),r=r.add(s)}return r.umod(this.ec.curve.n)}},{key:"generateAddressFromPrivKey",value:function(e){var t=this.ec.keyFromPrivate(e.toString("hex",64),"hex").getPublic().encode("hex").slice(2),r="0x".concat(Object(P.keccak256)(Buffer.from(t,"hex")).slice(26));return Object(P.toChecksumAddress)(r)}},{key:"generateAddressFromPubKey",value:function(e,t){var r=this.ec.keyFromPublic({x:e.toString("hex",64),y:t.toString("hex",64)}).getPublic().encode("hex").slice(2),n="0x".concat(Object(P.keccak256)(Buffer.from(r,"hex")).slice(26));return Object(P.toChecksumAddress)(n)}},{key:"getPublicAddress",value:(r=s()(b.a.mark((function e(t,r,n){var a,o,u,i,s,c,f,l,p,h,d,v,g,m,x,k,O,w,P,j=arguments;return b.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=n.verifier,o=n.verifierId,u=j.length>3&&void 0!==j[3]&&j[3],S.debug("> torus.js/getPublicAddress",{endpoints:t,torusNodePubs:r,verifier:a,verifierId:o,isExtended:u}),e.next=5,D(t,a,o);case 5:if(e.t0=e.sent,e.t0){e.next=8;break}e.t0={};case 8:if(s=e.t0,c=s.keyResult,!(f=s.errorResult)||!JSON.stringify(f).includes("Verifier + VerifierID has not yet been assigned")){e.next=23;break}return e.next=14,T(t,r,void 0,void 0,a,o);case 14:return e.next=16,L(t,a,o,1e3);case 16:if(e.t1=e.sent,e.t1){e.next=19;break}e.t1={};case 19:l=e.t1,i=l.keyResult,e.next=28;break;case 23:if(!c){e.next=27;break}i=c,e.next=28;break;case 27:throw new Error("node results do not match at first lookup ".concat(JSON.stringify(c||{}),", ").concat(JSON.stringify(f||{})));case 28:if(S.debug("> torus.js/getPublicAddress",{finalKeyResult:i}),!i){e.next=64;break}if(h=i.keys[0],d=h.pub_key_X,v=h.pub_key_Y,!this.enableOneKey){e.next=52;break}return e.next=35,this.getOrSetNonce(d,v);case 35:if(O=e.sent,g=O.typeOfUser,m=O.nonce,x=O.pubNonce,"v1"!==g){e.next=43;break}w=this.ec.keyFromPrivate(m).getPublic(),e.next=48;break;case 43:if("v2"!==g){e.next=47;break}w=this.ec.keyFromPublic({x:x.x,y:x.y}).getPublic(),e.next=48;break;case 47:throw new Error("getOrSetNonce should always return typeOfUser.");case 48:m=new y.a(m,16),k=this.ec.keyFromPublic({x:d.toString(16),y:v.toString(16)}).getPublic().add(w),e.next=57;break;case 52:return g="v1",e.next=55,this.getMetadata({pub_key_X:d,pub_key_Y:v});case 55:m=e.sent,k=this.ec.keyFromPublic({x:d.toString(16),y:v.toString(16)}).getPublic().add(this.ec.keyFromPrivate(m.toString(16)).getPublic());case 57:if(d=k.getX().toString(16),v=k.getY().toString(16),P=this.generateAddressFromPubKey(k.getX(),k.getY()),S.debug("> torus.js/getPublicAddress",{X:d,Y:v,address:P,typeOfUser:g,nonce:null===(p=m)||void 0===p?void 0:p.toString(16),pubNonce:x}),u){e.next=63;break}return e.abrupt("return",P);case 63:return e.abrupt("return",{typeOfUser:g,address:P,X:d,Y:v,metadataNonce:m,pubNonce:x});case 64:throw new Error("node results do not match at final lookup ".concat(JSON.stringify(c||{}),", ").concat(JSON.stringify(f||{})));case 65:case"end":return e.stop()}}),e,this)}))),function(e,t,n){return r.apply(this,arguments)})},{key:"getOrSetNonce",value:(t=s()(b.a.mark((function e(t,r,n){var a;return b.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=n?this.generateMetadataParams("getOrSetNonce",n):{pub_key_X:t,pub_key_Y:r},e.abrupt("return",Object(v.post)("".concat(this.metadataHost,"/get_or_set_nonce"),a,void 0,{useAPIKey:!0}));case 2:case"end":return e.stop()}}),e,this)}))),function(e,r,n){return t.apply(this,arguments)})},{key:"getPostboxKeyFrom1OutOf1",value:function(e,t){var r=new y.a(e,16),n=new y.a(t,16);return r.sub(n).umod(this.ec.curve.n).toString("hex")}}],[{key:"enableLogging",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];e?S.enableAll():S.disableAll()}},{key:"setAPIKey",value:function(e){Object(v.setAPIKey)(e)}},{key:"setEmbedHost",value:function(e){Object(v.setEmbedHost)(e)}}]),e}();t.default=G}]).default; | ||
module.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var a=t[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)r.d(n,a,function(t){return e[t]}.bind(null,a));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=19)}([function(e,t){e.exports=require("bn.js")},function(e,t){e.exports=require("@babel/runtime/regenerator")},function(e,t){e.exports=require("@babel/runtime/helpers/asyncToGenerator")},function(e,t){e.exports=require("@toruslabs/http-helpers")},function(e,t){e.exports=require("web3-utils")},function(e,t){e.exports=require("json-stable-stringify")},function(e,t){e.exports=require("@toruslabs/eccrypto")},function(e,t){e.exports=require("@babel/runtime/helpers/defineProperty")},function(e,t){e.exports=require("@babel/runtime/helpers/classCallCheck")},function(e,t){e.exports=require("@babel/runtime/helpers/getPrototypeOf")},function(e,t){e.exports=require("@babel/runtime/helpers/toConsumableArray")},function(e,t){e.exports=require("@babel/runtime/helpers/typeof")},function(e,t){e.exports=require("@babel/runtime/helpers/createClass")},function(e,t){e.exports=require("elliptic")},function(e,t){e.exports=require("memory-cache")},function(e,t){e.exports=require("loglevel")},function(e,t){e.exports=require("@babel/runtime/helpers/inherits")},function(e,t){e.exports=require("@babel/runtime/helpers/possibleConstructorReturn")},function(e,t){e.exports=require("@babel/runtime/helpers/wrapNativeSuper")},function(e,t,r){"use strict";r.r(t);var n=r(7),a=r.n(n),o=r(11),i=r.n(o),u=r(2),s=r.n(u),c=r(8),l=r.n(c),f=r(12),p=r.n(f),h=r(1),b=r.n(h),d=r(6),g=r(3),v=r(0),y=r.n(v),m=r(13),x=r(5),k=r.n(x),O=r(14),w=r.n(O),P=r(4),j=r(15),S=r.n(j).a.getLogger("torus.js"),_=r(16),K=r.n(_),A=r(17),q=r.n(A),N=r(9),C=r.n(N),E=r(18);function M(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=C()(e);if(t){var a=C()(this).constructor;r=Reflect.construct(n,arguments,a)}else r=n.apply(this,arguments);return q()(this,r)}}var R=function(e){K()(r,e);var t=M(r);function r(e){var n,a=e.errors,o=e.responses,i=e.predicate;return l()(this,r),(n=t.call(this,"Unable to resolve enough promises.")).errors=a,n.responses=o,n.predicate=i,n}return r}(r.n(E)()(Error)),X=function(e,t){return new Promise((function(r,n){var a,o=0,i={resolved:!1},u=new Array(e.length).fill(void 0),s=new Array(e.length).fill(void 0);e.forEach((function(c,l){c.then((function(e){s[l]=e})).catch((function(e){u[l]=e})).finally((function(){i.resolved||t(s.slice(0),i).then((function(e){i.resolved=!0,r(e)})).catch((function(e){a=e})).finally((function(t){if((o+=1)===e.length){var r=Object.values(s.reduce((function(e,t){var r,n,a=t||{},o=a.id,i=a.error;return(null==i||null===(r=i.data)||void 0===r?void 0:r.length)>0&&(i.data.startsWith("Error occurred while verifying params")?e[o]=(n=i.data).charAt(0).toUpperCase()+n.slice(1):e[o]=i.data),e}),{}));if(r.length>0){var i=r.length>1?"\n".concat(r.map((function(e){return"• ".concat(e)})).join("\n")):r[0];n(new Error(i))}else{var c;n(new R({errors:u,responses:s,predicate:(null===(c=a)||void 0===c?void 0:c.message)||a}))}}}))}))}))}))},Y=r(10),F=r.n(Y);function I(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function H(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?I(Object(r),!0).forEach((function(t){a()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):I(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var B=function e(t,r){var n=t;if("number"==typeof n&&(n=Array.from({length:n},(function(e,t){return t}))),r>n.length||r<=0)return[];if(r===n.length)return[n];if(1===r)return n.reduce((function(e,t){return[].concat(F()(e),[[t]])}),[]);for(var a=[],o=[],i=0;i<=n.length-r+1;i+=1){o=e(n.slice(i+1),r-1);for(var u=0;u<o.length;u+=1)a.push([n[i]].concat(F()(o[u])))}return a},J=function(e,t){for(var r={},n=0;n<e.length;n+=1){var a=k()(e[n]);if(r[a]=r[a]?r[a]+1:1,r[a]===t)return e[n]}},D=function(){var e=s()(b.a.mark((function e(t,r,n){var a;return b.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.map((function(e){return Object(g.post)(e,Object(g.generateJsonRPCObject)("VerifierLookupRequest",{verifier:r,verifier_id:n.toString()})).catch((function(e){return S.error("lookup request failed",e)}))})),e.abrupt("return",X(a,(function(e){var r=e.filter((function(e){return e})),n=J(r.map((function(e){return e&&e.error})),1+~~(t.length/2)),a=J(r.map((function(e){return e&&e.result})),1+~~(t.length/2));return a||n?Promise.resolve({keyResult:a,errorResult:n}):Promise.reject(new Error("invalid results ".concat(JSON.stringify(e))))})));case 2:case"end":return e.stop()}}),e)})));return function(t,r,n){return e.apply(this,arguments)}}(),L=function(e,t,r,n){return new Promise((function(a,o){setTimeout((function(){D(e,t,r).then(a).catch(o)}),n)}))},T=function(){var e=s()(b.a.mark((function e(t,r,n,a,o,i){var u,s,c,l;return b.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0===n?(u=Math.floor(Math.random()*t.length),s=u):u=n%t.length,u!==a){e.next=3;break}throw new Error("Looped through all");case 3:return void 0!==a&&(s=a),c=Object(g.generateJsonRPCObject)("KeyAssign",{verifier:o,verifier_id:i.toString()}),e.prev=5,e.next=8,Object(g.post)("https://signer.tor.us/api/sign",c,{headers:{pubKeyX:r[u].X,pubKeyY:r[u].Y}},{useAPIKey:!0});case 8:return l=e.sent,e.abrupt("return",Object(g.post)(t[u],H(H({},c),l),{headers:{"Content-Type":"application/json; charset=utf-8"}}));case 12:return e.prev=12,e.t0=e.catch(5),S.error(e.t0),e.abrupt("return",T(t,r,u+1,s,o,i));case 16:case"end":return e.stop()}}),e,null,[[5,12]])})));return function(t,r,n,a,o,i){return e.apply(this,arguments)}}();function U(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function V(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?U(Object(r),!0).forEach((function(t){a()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):U(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var G=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=t.enableOneKey,n=void 0!==r&&r,a=t.metadataHost,o=void 0===a?"https://metadata.tor.us":a,i=t.allowHost,u=void 0===i?"https://signer.tor.us/api/allow":i,s=t.serverTimeOffset,c=void 0===s?0:s;l()(this,e),this.ec=new m.ec("secp256k1"),this.metadataHost=o,this.allowHost=u,this.metadataCache=w.a,this.metadataLock={},this.enableOneKey=n,this.serverTimeOffset=c||0}var t,r,n,a,o,u;return p()(e,[{key:"setCustomKey",value:(u=s()(b.a.mark((function e(t){var r,n,a,o,i,u,s,c,l;return b.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.privKeyHex,n=t.metadataNonce,a=t.torusKeyHex,o=t.customKeyHex,a?i=new y.a(a,16):(u=new y.a(r,16),i=u.sub(n).umod(this.ec.curve.n)),s=new y.a(o,16),c=s.sub(i).umod(this.ec.curve.n),l=this.generateMetadataParams(c.toString(16),i.toString(16)),e.next=7,this.setMetadata(l);case 7:case"end":return e.stop()}}),e,this)}))),function(e){return u.apply(this,arguments)})},{key:"retrieveShares",value:(o=s()(b.a.mark((function e(t,r,n,a,o){var u,c,l,f,p,h,v,m,x,k=this,O=arguments;return b.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return u=O.length>5&&void 0!==O[5]?O[5]:{},c=[],e.next=4,Object(g.get)(this.allowHost,{headers:{verifier:n,verifier_id:a.verifier_id}},{useAPIKey:!0});case 4:for(l=Object(d.generatePrivate)(),f=Object(d.getPublic)(l).toString("hex"),p=f.slice(2,66),h=f.slice(66),v=Object(P.keccak256)(o),m=0;m<t.length;m+=1)x=Object(g.post)(t[m],Object(g.generateJsonRPCObject)("CommitmentRequest",{messageprefix:"mug00",tokencommitment:v.slice(2),temppubx:p,temppuby:h,verifieridentifier:n})).catch((function(e){return S.error("commitment",e)})),c.push(x);return e.abrupt("return",X(c,(function(e){return e.filter((function(e){return!(!e||"object"!==i()(e)||e.error)})).length>=3*~~(t.length/4)+1?Promise.resolve(e):Promise.reject(new Error("invalid ".concat(JSON.stringify(e))))})).then((function(e){for(var i=[],c=[],f=0;f<e.length;f+=1)e[f]&&c.push(e[f].result);for(var p=0;p<t.length;p+=1){var h=Object(g.post)(t[p],Object(g.generateJsonRPCObject)("ShareRequest",{encrypted:"yes",item:[V(V({},a),{},{idtoken:o,nodesignatures:c,verifieridentifier:n},u)]})).catch((function(e){return S.error("share req",e)}));i.push(h)}return X(i,function(){var e=s()(b.a.mark((function e(n,a){var o,i,u,s,c,f,p,h,g,v,m,x,O,w,P,j;return b.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o=n.filter((function(e){return e})),i=J(n.map((function(e){return e&&e.result&&e.result.keys[0].PublicKey})),1+~~(t.length/2)),!(o.length>=1+~~(t.length/2)&&i)){e.next=42;break}for(u=[],s=[],c=0;c<n.length;c+=1)n[c]&&n[c].result&&n[c].result.keys&&n[c].result.keys.length>0?(n[c].result.keys.sort((function(e,t){return new y.a(e.Index,16).cmp(new y.a(t.Index,16))})),n[c].result.keys[0].Metadata?(f={ephemPublicKey:Buffer.from(n[c].result.keys[0].Metadata.ephemPublicKey,"hex"),iv:Buffer.from(n[c].result.keys[0].Metadata.iv,"hex"),mac:Buffer.from(n[c].result.keys[0].Metadata.mac,"hex"),mode:Buffer.from(n[c].result.keys[0].Metadata.mode,"hex")},u.push(Object(d.decrypt)(l,V(V({},f),{},{ciphertext:Buffer.from(atob(n[c].result.keys[0].Share).padStart(64,"0"),"hex")})).catch((function(e){return S.debug("share decryption",e)})))):u.push(Promise.resolve(Buffer.from(n[c].result.keys[0].Share.padStart(64,"0"),"hex")))):u.push(Promise.resolve(void 0)),s.push(new y.a(r[c],16));return e.next=8,Promise.all(u);case 8:if(p=e.sent,!a.resolved){e.next=11;break}return e.abrupt("return",void 0);case 11:h=p.reduce((function(e,t,r){return t&&e.push({index:s[r],value:new y.a(t)}),e}),[]),g=B(h.length,1+~~(t.length/2)),m=function(e){var t=g[e],r=h.filter((function(e,r){return t.includes(r)})),n=r.map((function(e){return e.value})),a=r.map((function(e){return e.index})),o=k.lagrangeInterpolation(n,a),u=Object(d.getPublic)(Buffer.from(o.toString(16,64),"hex")).toString("hex"),s=u.slice(2,66),c=u.slice(66);if(0===new y.a(s,16).cmp(new y.a(i.X,16))&&0===new y.a(c,16).cmp(new y.a(i.Y,16)))return v=o,"break"},x=0;case 15:if(!(x<g.length)){e.next=22;break}if("break"!==m(x)){e.next=19;break}return e.abrupt("break",22);case 19:x+=1,e.next=15;break;case 22:if(void 0!==v){e.next=24;break}throw new Error("could not derive private key");case 24:if(!k.enableOneKey){e.next=32;break}return e.next=27,k.getOrSetNonce(i.X,i.Y,v);case 27:w=e.sent,P=w.nonce,O=new y.a(P,16),e.next=35;break;case 32:return e.next=34,k.getMetadata({pub_key_X:i.X,pub_key_Y:i.Y});case 34:O=e.sent;case 35:if(S.debug("> torus.js/retrieveShares",{privKey:v.toString(16),metadataNonce:O.toString(16)}),!a.resolved){e.next=38;break}return e.abrupt("return",void 0);case 38:return v=v.add(O).umod(k.ec.curve.n),j=k.generateAddressFromPrivKey(v),S.debug("> torus.js/retrieveShares",{ethAddress:j,privKey:v.toString(16)}),e.abrupt("return",{ethAddress:j,privKey:v.toString("hex",64),metadataNonce:O});case 42:throw new Error("invalid");case 43:case"end":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}())})));case 11:case"end":return e.stop()}}),e,this)}))),function(e,t,r,n,a){return o.apply(this,arguments)})},{key:"getMetadata",value:(a=s()(b.a.mark((function e(t,r){var n,a,o,i,u=this;return b.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,a=k()(t),null===this.metadataLock[a]){e.next=7;break}return e.next=5,this.metadataLock[a];case 5:e.next=8;break;case 7:this.metadataLock[a]=new Promise((function(e){n=function(){u.metadataLock[a]=null,e()}}));case 8:if(null===(o=this.metadataCache.get(a))){e.next=12;break}return n&&n(),e.abrupt("return",o);case 12:return e.next=14,Object(g.post)("".concat(this.metadataHost,"/get"),t,r,{useAPIKey:!0});case 14:if((i=e.sent)&&i.message){e.next=19;break}return this.metadataCache.put(a,new y.a(0),6e4),n&&n(),e.abrupt("return",new y.a(0));case 19:return this.metadataCache.put(a,new y.a(i.message,16),6e4),e.abrupt("return",new y.a(i.message,16));case 23:return e.prev=23,e.t0=e.catch(0),S.error("get metadata error",e.t0),n&&n(),e.abrupt("return",new y.a(0));case 28:case"end":return e.stop()}}),e,this,[[0,23]])}))),function(e,t){return a.apply(this,arguments)})},{key:"generateMetadataParams",value:function(e,t){var r=this.ec.keyFromPrivate(t.toString("hex",64)),n={data:e,timestamp:new y.a(~~(this.serverTimeOffset+Date.now()/1e3)).toString(16)},a=r.sign(Object(P.keccak256)(k()(n)).slice(2));return{pub_key_X:r.getPublic().getX().toString("hex"),pub_key_Y:r.getPublic().getY().toString("hex"),set_data:n,signature:Buffer.from(a.r.toString(16,64)+a.s.toString(16,64)+new y.a(a.v).toString(16,2),"hex").toString("base64")}}},{key:"setMetadata",value:(n=s()(b.a.mark((function e(t,r){var n;return b.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,this.metadataCache.del(k()({pub_key_X:t.pub_key_X,pub_key_Y:t.pub_key_Y})),e.next=4,Object(g.post)("".concat(this.metadataHost,"/set"),t,r,{useAPIKey:!0});case 4:return n=e.sent,e.abrupt("return",n.message);case 8:return e.prev=8,e.t0=e.catch(0),S.error("set metadata error",e.t0),e.abrupt("return","");case 12:case"end":return e.stop()}}),e,this,[[0,8]])}))),function(e,t){return n.apply(this,arguments)})},{key:"lagrangeInterpolation",value:function(e,t){if(e.length!==t.length)return null;for(var r=new y.a(0),n=0;n<e.length;n+=1){for(var a=new y.a(1),o=new y.a(1),i=0;i<e.length;i+=1)if(n!==i){a=(a=a.mul(t[i].neg())).umod(this.ec.curve.n);var u=t[n].sub(t[i]);u=u.umod(this.ec.curve.n),o=o.mul(u).umod(this.ec.curve.n)}var s=a.mul(o.invm(this.ec.curve.n)).umod(this.ec.curve.n);s=s.mul(e[n]).umod(this.ec.curve.n),r=r.add(s)}return r.umod(this.ec.curve.n)}},{key:"generateAddressFromPrivKey",value:function(e){var t=this.ec.keyFromPrivate(e.toString("hex",64),"hex").getPublic().encode("hex").slice(2),r="0x".concat(Object(P.keccak256)(Buffer.from(t,"hex")).slice(26));return Object(P.toChecksumAddress)(r)}},{key:"generateAddressFromPubKey",value:function(e,t){var r=this.ec.keyFromPublic({x:e.toString("hex",64),y:t.toString("hex",64)}).getPublic().encode("hex").slice(2),n="0x".concat(Object(P.keccak256)(Buffer.from(r,"hex")).slice(26));return Object(P.toChecksumAddress)(n)}},{key:"getPublicAddress",value:(r=s()(b.a.mark((function e(t,r,n){var a,o,i,u,s,c,l,f,p,h,d,g,v,y,m,x,k,O,w,P=arguments;return b.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=n.verifier,o=n.verifierId,i=P.length>3&&void 0!==P[3]&&P[3],S.debug("> torus.js/getPublicAddress",{endpoints:t,torusNodePubs:r,verifier:a,verifierId:o,isExtended:i}),e.next=5,D(t,a,o);case 5:if(e.t0=e.sent,e.t0){e.next=8;break}e.t0={};case 8:if(s=e.t0,c=s.keyResult,!(l=s.errorResult)||!JSON.stringify(l).includes("Verifier + VerifierID has not yet been assigned")){e.next=23;break}return e.next=14,T(t,r,void 0,void 0,a,o);case 14:return e.next=16,L(t,a,o,1e3);case 16:if(e.t1=e.sent,e.t1){e.next=19;break}e.t1={};case 19:f=e.t1,u=f.keyResult,e.next=28;break;case 23:if(!c){e.next=27;break}u=c,e.next=28;break;case 27:throw new Error("node results do not match at first lookup ".concat(JSON.stringify(c||{}),", ").concat(JSON.stringify(l||{})));case 28:if(S.debug("> torus.js/getPublicAddress",{finalKeyResult:u}),!u){e.next=62;break}if(h=u.keys[0],d=h.pub_key_X,g=h.pub_key_Y,!this.enableOneKey){e.next=50;break}return e.next=34,this.getOrSetNonce(d,g);case 34:if(O=e.sent,v=O.typeOfUser,y=O.nonce,m=O.pubNonce,k=O.upgraded,"v1"!==v){e.next=43;break}x=this.ec.keyFromPublic({x:d.toString(16),y:g.toString(16)}).getPublic().add(this.ec.keyFromPrivate(y).getPublic()),e.next=48;break;case 43:if("v2"!==v){e.next=47;break}x=k?this.ec.keyFromPublic({x:d.toString(16),y:g.toString(16)}).getPublic():this.ec.keyFromPublic({x:d.toString(16),y:g.toString(16)}).getPublic().add(this.ec.keyFromPublic({x:m.x,y:m.y}).getPublic()),e.next=48;break;case 47:throw new Error("getOrSetNonce should always return typeOfUser.");case 48:e.next=55;break;case 50:return v="v1",e.next=53,this.getMetadata({pub_key_X:d,pub_key_Y:g});case 53:y=e.sent,x=this.ec.keyFromPublic({x:d.toString(16),y:g.toString(16)}).getPublic().add(this.ec.keyFromPrivate(y.toString(16)).getPublic());case 55:if(d=x.getX().toString(16),g=x.getY().toString(16),w=this.generateAddressFromPubKey(x.getX(),x.getY()),S.debug("> torus.js/getPublicAddress",{X:d,Y:g,address:w,typeOfUser:v,nonce:null===(p=y)||void 0===p?void 0:p.toString(16),pubNonce:m}),i){e.next=61;break}return e.abrupt("return",w);case 61:return e.abrupt("return",{typeOfUser:v,address:w,X:d,Y:g,metadataNonce:y,pubNonce:m});case 62:throw new Error("node results do not match at final lookup ".concat(JSON.stringify(c||{}),", ").concat(JSON.stringify(l||{})));case 63:case"end":return e.stop()}}),e,this)}))),function(e,t,n){return r.apply(this,arguments)})},{key:"getOrSetNonce",value:(t=s()(b.a.mark((function e(t,r,n){var a;return b.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=n?this.generateMetadataParams("getOrSetNonce",n):{pub_key_X:t,pub_key_Y:r},e.abrupt("return",Object(g.post)("".concat(this.metadataHost,"/get_or_set_nonce"),a,void 0,{useAPIKey:!0}));case 2:case"end":return e.stop()}}),e,this)}))),function(e,r,n){return t.apply(this,arguments)})},{key:"getPostboxKeyFrom1OutOf1",value:function(e,t){var r=new y.a(e,16),n=new y.a(t,16);return r.sub(n).umod(this.ec.curve.n).toString("hex")}}],[{key:"enableLogging",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];e?S.enableAll():S.disableAll()}},{key:"setAPIKey",value:function(e){Object(g.setAPIKey)(e)}},{key:"setEmbedHost",value:function(e){Object(g.setEmbedHost)(e)}}]),e}();t.default=G}]).default; |
{ | ||
"name": "@toruslabs/torus.js", | ||
"version": "2.6.0-alpha.1", | ||
"version": "2.6.0-alpha.2", | ||
"description": "Handle communication with torus nodes", | ||
@@ -5,0 +5,0 @@ "main": "dist/torusUtils.cjs.js", |
@@ -36,3 +36,5 @@ import BN from 'bn.js' | ||
privateKey?: BN | ||
): Promise<{ typeOfUser: 'v1'; nonce?: string } | { typeOfUser: 'v2'; nonce?: string; pubNonce: { x: string; y: string }; ipfs?: string }> | ||
): Promise< | ||
{ typeOfUser: 'v1'; nonce?: string } | { typeOfUser: 'v2'; nonce?: string; pubNonce: { x: string; y: string }; ipfs?: string; upgraded?: boolean } | ||
> | ||
getPostboxKeyFrom1OutOf1(privKey: string, nonce: string): string | ||
@@ -39,0 +41,0 @@ } |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
1981106
0.05%11427
0.12%