@transmute/did-key-bls12381
Advanced tools
Comparing version 0.2.1-unstable.28 to 0.2.1-unstable.29
@@ -6,2 +6,10 @@ # Change Log | ||
## 0.2.1-unstable.29 (2020-12-13) | ||
**Note:** Version bump only for package @transmute/did-key-bls12381 | ||
## 0.2.1-unstable.28 (2020-11-17) | ||
@@ -8,0 +16,0 @@ |
@@ -634,3 +634,3 @@ 'use strict'; | ||
var getVerificationMethod = function getVerificationMethod(didKeyPairInstance, contentType) { | ||
var getVerificationMethod = function getVerificationMethod(instance, contentType) { | ||
if (contentType === void 0) { | ||
@@ -640,25 +640,20 @@ contentType = 'application/did+ld+json'; | ||
var externalKeyRepresentation; | ||
switch (contentType) { | ||
case 'application/did+json': | ||
{ | ||
externalKeyRepresentation = didKeyPairInstance.toJsonWebKeyPair(); | ||
break; | ||
return instance.toJsonWebKeyPair(); | ||
} | ||
case '*/*': | ||
case 'application/did+ld+json': | ||
case 'application/did+cbor': | ||
{ | ||
externalKeyRepresentation = didKeyPairInstance.toKeyPair(); | ||
break; | ||
return instance.toJsonWebKeyPair(); | ||
} | ||
default: | ||
case 'application/did+ld+json': | ||
{ | ||
throw new Error('This implementation of did:key does not support: ' + contentType); | ||
return instance.toKeyPair(); | ||
} | ||
} | ||
return externalKeyRepresentation; | ||
throw new Error('This implementation of did:key for bls12381 does not support: ' + contentType); | ||
}; | ||
@@ -711,2 +706,4 @@ var keyToDidDoc = function keyToDidDoc(didKeyPairInstance, contentType) { | ||
var cbor = /*#__PURE__*/require('borc'); | ||
var getResolve = function getResolve() { | ||
@@ -726,3 +723,3 @@ var resolve = function resolve(didUri, resolutionMetaData) { | ||
return Promise.resolve(keyToDidDoc(publicKey, resolutionMetaData.accept)).then(function (_keyToDidDoc) { | ||
return { | ||
var didResolutionResponse = { | ||
didDocument: _keyToDidDoc, | ||
@@ -734,2 +731,3 @@ didDocumentMetaData: { | ||
}; | ||
return resolutionMetaData.accept === 'application/did+cbor' ? cbor.encode(didResolutionResponse) : didResolutionResponse; | ||
}); | ||
@@ -736,0 +734,0 @@ }); |
@@ -1,2 +0,2 @@ | ||
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var r,i=require("@transmute/did-key-common"),t=e(require("bs58")),n=require("@mattrglobal/bbs-signatures"),o=e(require("base64url")),c=require("@mattrglobal/bls12381-key-pair"),s=function(){try{return Promise.resolve(n.generateBls12381G1KeyPair()).then((function(e){return Promise.resolve(n.generateBls12381G2KeyPair()).then((function(r){return{bls12381G1KeyPair:{id:"",type:"Bls12381G1Key2020",controller:"",publicKeyBase58:t.encode(e.publicKey),privateKeyBase58:t.encode(e.secretKey)},bls12381G2KeyPair:{id:"",type:"Bls12381G2Key2020",controller:"",publicKeyBase58:t.encode(r.publicKey),privateKeyBase58:t.encode(r.secretKey)}}}))}))}catch(e){return Promise.reject(e)}};function l(){return(l=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var i=arguments[r];for(var t in i)Object.prototype.hasOwnProperty.call(i,t)&&(e[t]=i[t])}return e}).apply(this,arguments)}!function(e){e.G1="BLS12381_G1",e.G2="BLS12381_G2"}(r||(r={}));var a,u={Bls12381G1Key2020:r.G1,Bls12381G2Key2020:r.G2},y=function(e){var r={id:e.id,controller:e.controller,type:"JsonWebKey2020",publicKeyJwk:{kty:"EC",crv:u[e.type],x:o.encode(t.decode(e.publicKeyBase58))}};return e.privateKeyBase58&&(r.privateKeyJwk={kty:"EC",crv:u[e.type],x:o.encode(t.decode(e.publicKeyBase58)),d:o.encode(t.decode(e.privateKeyBase58))}),r},p=function(e){if("z"!==e[0])throw new Error('base58 encoded fingerprint must start with "z"');var r=t.decode(e.substring(1));if(234===r[0]&&1===r[1])return{bls12381G1KeyPair:l({},y({type:"Bls12381G1Key2020",publicKeyBase58:t.encode(r.slice(2))}),{id:"#"+e,controller:"did:key:"+e})};if(235===r[0]&&1===r[1])return{bls12381G2KeyPair:l({},y({type:"Bls12381G2Key2020",publicKeyBase58:t.encode(r.slice(2))}),{id:"#"+e,controller:"did:key:"+e})};if(238===r[0]&&1===r[1]){var i=y({type:"Bls12381G1Key2020",publicKeyBase58:t.encode(r.slice(2,50))}),n=y({type:"Bls12381G2Key2020",publicKeyBase58:t.encode(r.slice(50))});return{bls12381G1KeyPair:l({},i,{id:"#"+e,controller:"did:key:"+e}),bls12381G2KeyPair:l({},n,{id:"#"+e,controller:"did:key:"+e})}}throw new Error("unsupported fingerprint is not g1, g2 or g1 and g2.")},d=((a={})[r.G1]=234,a[r.G2]=235,a),f=function(e){var r=o.toBuffer(e.x),i=new Uint8Array(2+r.length);return i[0]=d[e.crv],i[1]=1,i.set(r,2),"did:key:z"+t.encode(i)},K=function(){function e(e){if(this.type="Bls12381G1Key2020",this.id=e.id,this.controller=e.controller,this.publicKeyBuffer=e.publicKeyBuffer,this.privateKeyBuffer=e.privateKeyBuffer,!this.controller){var r=this.toJsonWebKeyPair(!1);this.controller=f(r.publicKeyJwk)}if(!this.id){var i=this.toJsonWebKeyPair(!1);this.id="#"+f(i.publicKeyJwk).split("did:key:").pop()}}e.generate=function(){try{return Promise.resolve(s()).then((function(r){var i=r.bls12381G1KeyPair,n=y(i);return i.controller=f(n.publicKeyJwk),i.id="#"+i.controller.split("did:key:").pop(),new e({id:i.id,controller:i.controller,publicKeyBuffer:t.decode(i.publicKeyBase58),privateKeyBuffer:t.decode(i.privateKeyBase58)})}))}catch(e){return Promise.reject(e)}},e.fromFingerprint=function(r){var i=r.fingerprint;try{var t=p(i).bls12381G1KeyPair;return Promise.resolve(new e({id:t.id,controller:t.controller,publicKeyBuffer:o.toBuffer(t.publicKeyJwk.x)}))}catch(e){return Promise.reject(e)}},e.from=function(r){try{if("JsonWebKey2020"===r.type){var i={id:r.id,controller:r.controller,publicKeyBuffer:o.toBuffer(r.publicKeyJwk.x)};return r.privateKeyJwk&&(i.privateKeyBuffer=o.toBuffer(r.privateKeyJwk.d)),Promise.resolve(new e(i))}if("Bls12381G1Key2020"===r.type){var n={id:r.id,controller:r.controller,publicKeyBuffer:t.decode(r.publicKeyBase58)};return r.privateKeyBase58&&(n.privateKeyBuffer=t.decode(r.privateKeyBase58)),Promise.resolve(new e(n))}throw new Error("unsuported key type")}catch(e){return Promise.reject(e)}};var r=e.prototype;return r.fingerprint=function(){var e=this.toJsonWebKeyPair(!1);return f(e.publicKeyJwk).split("did:key:").pop()},r.toKeyPair=function(e){void 0===e&&(e=!1);var r={id:this.id,type:this.type,controller:this.controller,publicKeyBase58:t.encode(this.publicKeyBuffer)};return e&&(r.privateKeyBase58=t.encode(this.privateKeyBuffer)),r},r.toJsonWebKeyPair=function(e){return void 0===e&&(e=!1),y(this.toKeyPair(e))},r.verifier=function(){return new c.Bls12381G1KeyPair({publicKeyBase58:t.encode(this.publicKeyBuffer)}).verifier()},r.signer=function(){return new c.Bls12381G1KeyPair({publicKeyBase58:t.encode(this.publicKeyBuffer),privateKeyBase58:t.encode(this.privateKeyBuffer)}).signer()},e}(),v=function(){function e(e){if(this.type="Bls12381G2Key2020",this.id=e.id,this.controller=e.controller,this.publicKeyBuffer=e.publicKeyBuffer,this.privateKeyBuffer=e.privateKeyBuffer,!this.controller){var r=this.toJsonWebKeyPair(!1);this.controller=f(r.publicKeyJwk)}if(!this.id){var i=this.toJsonWebKeyPair(!1);this.id="#"+f(i.publicKeyJwk).split("did:key:").pop()}}e.generate=function(){try{return Promise.resolve(s()).then((function(r){var i=r.bls12381G2KeyPair,n=y(i);return i.controller=f(n.publicKeyJwk),i.id="#"+i.controller.split("did:key:").pop(),new e({id:i.id,controller:i.controller,publicKeyBuffer:t.decode(i.publicKeyBase58),privateKeyBuffer:t.decode(i.privateKeyBase58)})}))}catch(e){return Promise.reject(e)}},e.fromFingerprint=function(r){var i=r.fingerprint;try{var t=p(i).bls12381G2KeyPair;return Promise.resolve(new e({id:t.id,controller:t.controller,publicKeyBuffer:o.toBuffer(t.publicKeyJwk.x)}))}catch(e){return Promise.reject(e)}},e.from=function(r){try{if("JsonWebKey2020"===r.type){var i={id:r.id,controller:r.controller,publicKeyBuffer:o.toBuffer(r.publicKeyJwk.x)};return r.privateKeyJwk&&(i.privateKeyBuffer=o.toBuffer(r.privateKeyJwk.d)),Promise.resolve(new e(i))}if("Bls12381G2Key2020"===r.type){var n={id:r.id,controller:r.controller,publicKeyBuffer:t.decode(r.publicKeyBase58)};return r.privateKeyBase58&&(n.privateKeyBuffer=t.decode(r.privateKeyBase58)),Promise.resolve(new e(n))}throw new Error("unsuported key type")}catch(e){return Promise.reject(e)}};var r=e.prototype;return r.fingerprint=function(){var e=this.toJsonWebKeyPair(!1);return f(e.publicKeyJwk).split("did:key:").pop()},r.toKeyPair=function(e){void 0===e&&(e=!1);var r={id:this.id,type:this.type,controller:this.controller,publicKeyBase58:t.encode(this.publicKeyBuffer)};return e&&(r.privateKeyBase58=t.encode(this.privateKeyBuffer)),r},r.toJsonWebKeyPair=function(e){return void 0===e&&(e=!1),y(this.toKeyPair(e))},r.verifier=function(){return new c.Bls12381G2KeyPair({publicKeyBase58:t.encode(this.publicKeyBuffer)}).verifier()},r.signer=function(){return new c.Bls12381G2KeyPair({publicKeyBase58:t.encode(this.publicKeyBuffer),privateKeyBase58:t.encode(this.privateKeyBuffer)}).signer()},e}(),h=function(){function e(e){this.type="Bls12381KeyPairs2020",this.id=e.id,this.controller=e.controller,this.g1KeyPair=e.g1KeyPair,this.g2KeyPair=e.g2KeyPair,this.id||(this.id="#"+this.fingerprint()),this.controller||(this.controller="did:key:"+this.fingerprint()),this.g1KeyPair.controller=this.controller,this.g2KeyPair.controller=this.controller}e.generate=function(){try{return Promise.resolve(s()).then((function(r){var i=r.bls12381G1KeyPair,n=r.bls12381G2KeyPair;return new e({id:"",controller:"",g1KeyPair:new K({id:i.id,publicKeyBuffer:t.decode(i.publicKeyBase58),privateKeyBuffer:t.decode(i.privateKeyBase58)}),g2KeyPair:new v({id:n.id,publicKeyBuffer:t.decode(n.publicKeyBase58),privateKeyBuffer:t.decode(n.privateKeyBase58)})})}))}catch(e){return Promise.reject(e)}},e.fromFingerprint=function(r){var i=r.fingerprint;try{var t=function(e){if(n)return e;if(0===i.indexOf("z3t"))return K.fromFingerprint({fingerprint:i});if(0===i.indexOf("zUC"))return v.fromFingerprint({fingerprint:i});throw new Error("Bls12381KeyPairs only supports g1, g2 and g1 and g2 mulicodec fingerprints.")},n=!1,o=function(){if(0===i.indexOf("z5Tc")){var r=p(i),t=r.bls12381G1KeyPair,o=r.bls12381G2KeyPair;delete t.id,delete o.id;var c="did:key:"+i;return t.controller=c,o.controller=c,n=!0,Promise.resolve(K.from(t)).then((function(r){return Promise.resolve(v.from(o)).then((function(t){return new e({id:"#"+i,controller:c,g1KeyPair:r,g2KeyPair:t})}))}))}}();return Promise.resolve(o&&o.then?o.then(t):t(o))}catch(e){return Promise.reject(e)}};var r=e.prototype;return r.fingerprint=function(){var e=Buffer.concat([this.g1KeyPair.publicKeyBuffer,this.g2KeyPair.publicKeyBuffer]),r=new Uint8Array(2+e.length);return r[0]=238,r[1]=1,r.set(e,2),"z"+t.encode(r)},r.export=function(e){return void 0===e&&(e=!1),{fingerprint:this.fingerprint(),g1:this.g1KeyPair.toJsonWebKeyPair(e),g2:this.g2KeyPair.toJsonWebKeyPair(e)}},e}(),B=function(e,r){var i;switch(void 0===r&&(r="application/did+ld+json"),r){case"application/did+json":i=e.toJsonWebKeyPair();break;case"*/*":case"application/did+ld+json":i=e.toKeyPair();break;default:throw new Error("This implementation of did:key does not support: "+r)}return i},b=function(){return function(e,r){void 0===r&&(r={accept:"application/did+ld+json"});try{var i=e.split("#")[0].split("did:key:").pop();return Promise.resolve(h.fromFingerprint({fingerprint:i})).then((function(e){return Promise.resolve(function(e,r){void 0===r&&(r="application/did+ld+json");try{var i={verificationMethod:[]},t="did:key:"+e.fingerprint();if("Bls12381KeyPairs2020"===e.type){var n=B(e.g1KeyPair,r),o=B(e.g2KeyPair,r);i.verificationMethod.push(n),i.verificationMethod.push(o),i=l({},i,{authentication:[n.id,o.id],assertionMethod:[n.id,o.id],capabilityInvocation:[n.id,o.id],capabilityDelegation:[n.id,o.id]})}else{var c=B(e,r);i.verificationMethod.push(c),i=l({},i,{authentication:[c.id],assertionMethod:[c.id],capabilityInvocation:[c.id],capabilityDelegation:[c.id]})}var s=l({"@context":["https://www.w3.org/ns/did/v1",{"@base":t}],id:t},i);return Promise.resolve(s)}catch(e){return Promise.reject(e)}}(e,r.accept)).then((function(e){return{didDocument:e,didDocumentMetaData:{"content-type":r.accept},didResolutionMetaData:{}}}))}))}catch(e){return Promise.reject(e)}}},P=b(),g={__proto__:null,getResolve:b,resolve:P,get:i.getGet(P)};exports.Bls12381G1KeyPair=K,exports.Bls12381G2KeyPair=v,exports.Bls12381KeyPairs=h,exports.driver=g; | ||
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var r,i=require("@transmute/did-key-common"),t=e(require("bs58")),n=require("@mattrglobal/bbs-signatures"),o=e(require("base64url")),c=require("@mattrglobal/bls12381-key-pair"),s=function(){try{return Promise.resolve(n.generateBls12381G1KeyPair()).then((function(e){return Promise.resolve(n.generateBls12381G2KeyPair()).then((function(r){return{bls12381G1KeyPair:{id:"",type:"Bls12381G1Key2020",controller:"",publicKeyBase58:t.encode(e.publicKey),privateKeyBase58:t.encode(e.secretKey)},bls12381G2KeyPair:{id:"",type:"Bls12381G2Key2020",controller:"",publicKeyBase58:t.encode(r.publicKey),privateKeyBase58:t.encode(r.secretKey)}}}))}))}catch(e){return Promise.reject(e)}};function l(){return(l=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var i=arguments[r];for(var t in i)Object.prototype.hasOwnProperty.call(i,t)&&(e[t]=i[t])}return e}).apply(this,arguments)}!function(e){e.G1="BLS12381_G1",e.G2="BLS12381_G2"}(r||(r={}));var a,u={Bls12381G1Key2020:r.G1,Bls12381G2Key2020:r.G2},y=function(e){var r={id:e.id,controller:e.controller,type:"JsonWebKey2020",publicKeyJwk:{kty:"EC",crv:u[e.type],x:o.encode(t.decode(e.publicKeyBase58))}};return e.privateKeyBase58&&(r.privateKeyJwk={kty:"EC",crv:u[e.type],x:o.encode(t.decode(e.publicKeyBase58)),d:o.encode(t.decode(e.privateKeyBase58))}),r},p=function(e){if("z"!==e[0])throw new Error('base58 encoded fingerprint must start with "z"');var r=t.decode(e.substring(1));if(234===r[0]&&1===r[1])return{bls12381G1KeyPair:l({},y({type:"Bls12381G1Key2020",publicKeyBase58:t.encode(r.slice(2))}),{id:"#"+e,controller:"did:key:"+e})};if(235===r[0]&&1===r[1])return{bls12381G2KeyPair:l({},y({type:"Bls12381G2Key2020",publicKeyBase58:t.encode(r.slice(2))}),{id:"#"+e,controller:"did:key:"+e})};if(238===r[0]&&1===r[1]){var i=y({type:"Bls12381G1Key2020",publicKeyBase58:t.encode(r.slice(2,50))}),n=y({type:"Bls12381G2Key2020",publicKeyBase58:t.encode(r.slice(50))});return{bls12381G1KeyPair:l({},i,{id:"#"+e,controller:"did:key:"+e}),bls12381G2KeyPair:l({},n,{id:"#"+e,controller:"did:key:"+e})}}throw new Error("unsupported fingerprint is not g1, g2 or g1 and g2.")},d=((a={})[r.G1]=234,a[r.G2]=235,a),f=function(e){var r=o.toBuffer(e.x),i=new Uint8Array(2+r.length);return i[0]=d[e.crv],i[1]=1,i.set(r,2),"did:key:z"+t.encode(i)},K=function(){function e(e){if(this.type="Bls12381G1Key2020",this.id=e.id,this.controller=e.controller,this.publicKeyBuffer=e.publicKeyBuffer,this.privateKeyBuffer=e.privateKeyBuffer,!this.controller){var r=this.toJsonWebKeyPair(!1);this.controller=f(r.publicKeyJwk)}if(!this.id){var i=this.toJsonWebKeyPair(!1);this.id="#"+f(i.publicKeyJwk).split("did:key:").pop()}}e.generate=function(){try{return Promise.resolve(s()).then((function(r){var i=r.bls12381G1KeyPair,n=y(i);return i.controller=f(n.publicKeyJwk),i.id="#"+i.controller.split("did:key:").pop(),new e({id:i.id,controller:i.controller,publicKeyBuffer:t.decode(i.publicKeyBase58),privateKeyBuffer:t.decode(i.privateKeyBase58)})}))}catch(e){return Promise.reject(e)}},e.fromFingerprint=function(r){var i=r.fingerprint;try{var t=p(i).bls12381G1KeyPair;return Promise.resolve(new e({id:t.id,controller:t.controller,publicKeyBuffer:o.toBuffer(t.publicKeyJwk.x)}))}catch(e){return Promise.reject(e)}},e.from=function(r){try{if("JsonWebKey2020"===r.type){var i={id:r.id,controller:r.controller,publicKeyBuffer:o.toBuffer(r.publicKeyJwk.x)};return r.privateKeyJwk&&(i.privateKeyBuffer=o.toBuffer(r.privateKeyJwk.d)),Promise.resolve(new e(i))}if("Bls12381G1Key2020"===r.type){var n={id:r.id,controller:r.controller,publicKeyBuffer:t.decode(r.publicKeyBase58)};return r.privateKeyBase58&&(n.privateKeyBuffer=t.decode(r.privateKeyBase58)),Promise.resolve(new e(n))}throw new Error("unsuported key type")}catch(e){return Promise.reject(e)}};var r=e.prototype;return r.fingerprint=function(){var e=this.toJsonWebKeyPair(!1);return f(e.publicKeyJwk).split("did:key:").pop()},r.toKeyPair=function(e){void 0===e&&(e=!1);var r={id:this.id,type:this.type,controller:this.controller,publicKeyBase58:t.encode(this.publicKeyBuffer)};return e&&(r.privateKeyBase58=t.encode(this.privateKeyBuffer)),r},r.toJsonWebKeyPair=function(e){return void 0===e&&(e=!1),y(this.toKeyPair(e))},r.verifier=function(){return new c.Bls12381G1KeyPair({publicKeyBase58:t.encode(this.publicKeyBuffer)}).verifier()},r.signer=function(){return new c.Bls12381G1KeyPair({publicKeyBase58:t.encode(this.publicKeyBuffer),privateKeyBase58:t.encode(this.privateKeyBuffer)}).signer()},e}(),v=function(){function e(e){if(this.type="Bls12381G2Key2020",this.id=e.id,this.controller=e.controller,this.publicKeyBuffer=e.publicKeyBuffer,this.privateKeyBuffer=e.privateKeyBuffer,!this.controller){var r=this.toJsonWebKeyPair(!1);this.controller=f(r.publicKeyJwk)}if(!this.id){var i=this.toJsonWebKeyPair(!1);this.id="#"+f(i.publicKeyJwk).split("did:key:").pop()}}e.generate=function(){try{return Promise.resolve(s()).then((function(r){var i=r.bls12381G2KeyPair,n=y(i);return i.controller=f(n.publicKeyJwk),i.id="#"+i.controller.split("did:key:").pop(),new e({id:i.id,controller:i.controller,publicKeyBuffer:t.decode(i.publicKeyBase58),privateKeyBuffer:t.decode(i.privateKeyBase58)})}))}catch(e){return Promise.reject(e)}},e.fromFingerprint=function(r){var i=r.fingerprint;try{var t=p(i).bls12381G2KeyPair;return Promise.resolve(new e({id:t.id,controller:t.controller,publicKeyBuffer:o.toBuffer(t.publicKeyJwk.x)}))}catch(e){return Promise.reject(e)}},e.from=function(r){try{if("JsonWebKey2020"===r.type){var i={id:r.id,controller:r.controller,publicKeyBuffer:o.toBuffer(r.publicKeyJwk.x)};return r.privateKeyJwk&&(i.privateKeyBuffer=o.toBuffer(r.privateKeyJwk.d)),Promise.resolve(new e(i))}if("Bls12381G2Key2020"===r.type){var n={id:r.id,controller:r.controller,publicKeyBuffer:t.decode(r.publicKeyBase58)};return r.privateKeyBase58&&(n.privateKeyBuffer=t.decode(r.privateKeyBase58)),Promise.resolve(new e(n))}throw new Error("unsuported key type")}catch(e){return Promise.reject(e)}};var r=e.prototype;return r.fingerprint=function(){var e=this.toJsonWebKeyPair(!1);return f(e.publicKeyJwk).split("did:key:").pop()},r.toKeyPair=function(e){void 0===e&&(e=!1);var r={id:this.id,type:this.type,controller:this.controller,publicKeyBase58:t.encode(this.publicKeyBuffer)};return e&&(r.privateKeyBase58=t.encode(this.privateKeyBuffer)),r},r.toJsonWebKeyPair=function(e){return void 0===e&&(e=!1),y(this.toKeyPair(e))},r.verifier=function(){return new c.Bls12381G2KeyPair({publicKeyBase58:t.encode(this.publicKeyBuffer)}).verifier()},r.signer=function(){return new c.Bls12381G2KeyPair({publicKeyBase58:t.encode(this.publicKeyBuffer),privateKeyBase58:t.encode(this.privateKeyBuffer)}).signer()},e}(),h=function(){function e(e){this.type="Bls12381KeyPairs2020",this.id=e.id,this.controller=e.controller,this.g1KeyPair=e.g1KeyPair,this.g2KeyPair=e.g2KeyPair,this.id||(this.id="#"+this.fingerprint()),this.controller||(this.controller="did:key:"+this.fingerprint()),this.g1KeyPair.controller=this.controller,this.g2KeyPair.controller=this.controller}e.generate=function(){try{return Promise.resolve(s()).then((function(r){var i=r.bls12381G1KeyPair,n=r.bls12381G2KeyPair;return new e({id:"",controller:"",g1KeyPair:new K({id:i.id,publicKeyBuffer:t.decode(i.publicKeyBase58),privateKeyBuffer:t.decode(i.privateKeyBase58)}),g2KeyPair:new v({id:n.id,publicKeyBuffer:t.decode(n.publicKeyBase58),privateKeyBuffer:t.decode(n.privateKeyBase58)})})}))}catch(e){return Promise.reject(e)}},e.fromFingerprint=function(r){var i=r.fingerprint;try{var t=function(e){if(n)return e;if(0===i.indexOf("z3t"))return K.fromFingerprint({fingerprint:i});if(0===i.indexOf("zUC"))return v.fromFingerprint({fingerprint:i});throw new Error("Bls12381KeyPairs only supports g1, g2 and g1 and g2 mulicodec fingerprints.")},n=!1,o=function(){if(0===i.indexOf("z5Tc")){var r=p(i),t=r.bls12381G1KeyPair,o=r.bls12381G2KeyPair;delete t.id,delete o.id;var c="did:key:"+i;return t.controller=c,o.controller=c,n=!0,Promise.resolve(K.from(t)).then((function(r){return Promise.resolve(v.from(o)).then((function(t){return new e({id:"#"+i,controller:c,g1KeyPair:r,g2KeyPair:t})}))}))}}();return Promise.resolve(o&&o.then?o.then(t):t(o))}catch(e){return Promise.reject(e)}};var r=e.prototype;return r.fingerprint=function(){var e=Buffer.concat([this.g1KeyPair.publicKeyBuffer,this.g2KeyPair.publicKeyBuffer]),r=new Uint8Array(2+e.length);return r[0]=238,r[1]=1,r.set(e,2),"z"+t.encode(r)},r.export=function(e){return void 0===e&&(e=!1),{fingerprint:this.fingerprint(),g1:this.g1KeyPair.toJsonWebKeyPair(e),g2:this.g2KeyPair.toJsonWebKeyPair(e)}},e}(),B=function(e,r){switch(void 0===r&&(r="application/did+ld+json"),r){case"application/did+json":case"application/did+cbor":return e.toJsonWebKeyPair();case"application/did+ld+json":return e.toKeyPair()}throw new Error("This implementation of did:key for bls12381 does not support: "+r)},b=require("borc"),P=function(){return function(e,r){void 0===r&&(r={accept:"application/did+ld+json"});try{var i=e.split("#")[0].split("did:key:").pop();return Promise.resolve(h.fromFingerprint({fingerprint:i})).then((function(e){return Promise.resolve(function(e,r){void 0===r&&(r="application/did+ld+json");try{var i={verificationMethod:[]},t="did:key:"+e.fingerprint();if("Bls12381KeyPairs2020"===e.type){var n=B(e.g1KeyPair,r),o=B(e.g2KeyPair,r);i.verificationMethod.push(n),i.verificationMethod.push(o),i=l({},i,{authentication:[n.id,o.id],assertionMethod:[n.id,o.id],capabilityInvocation:[n.id,o.id],capabilityDelegation:[n.id,o.id]})}else{var c=B(e,r);i.verificationMethod.push(c),i=l({},i,{authentication:[c.id],assertionMethod:[c.id],capabilityInvocation:[c.id],capabilityDelegation:[c.id]})}var s=l({"@context":["https://www.w3.org/ns/did/v1",{"@base":t}],id:t},i);return Promise.resolve(s)}catch(e){return Promise.reject(e)}}(e,r.accept)).then((function(e){var i={didDocument:e,didDocumentMetaData:{"content-type":r.accept},didResolutionMetaData:{}};return"application/did+cbor"===r.accept?b.encode(i):i}))}))}catch(e){return Promise.reject(e)}}},g=P(),w={__proto__:null,getResolve:P,resolve:g,get:i.getGet(g)};exports.Bls12381G1KeyPair=K,exports.Bls12381G2KeyPair=v,exports.Bls12381KeyPairs=h,exports.driver=w; | ||
//# sourceMappingURL=did-key-bls12381.cjs.production.min.js.map |
@@ -628,3 +628,3 @@ import { getGet } from '@transmute/did-key-common'; | ||
var getVerificationMethod = function getVerificationMethod(didKeyPairInstance, contentType) { | ||
var getVerificationMethod = function getVerificationMethod(instance, contentType) { | ||
if (contentType === void 0) { | ||
@@ -634,25 +634,20 @@ contentType = 'application/did+ld+json'; | ||
var externalKeyRepresentation; | ||
switch (contentType) { | ||
case 'application/did+json': | ||
{ | ||
externalKeyRepresentation = didKeyPairInstance.toJsonWebKeyPair(); | ||
break; | ||
return instance.toJsonWebKeyPair(); | ||
} | ||
case '*/*': | ||
case 'application/did+ld+json': | ||
case 'application/did+cbor': | ||
{ | ||
externalKeyRepresentation = didKeyPairInstance.toKeyPair(); | ||
break; | ||
return instance.toJsonWebKeyPair(); | ||
} | ||
default: | ||
case 'application/did+ld+json': | ||
{ | ||
throw new Error('This implementation of did:key does not support: ' + contentType); | ||
return instance.toKeyPair(); | ||
} | ||
} | ||
return externalKeyRepresentation; | ||
throw new Error('This implementation of did:key for bls12381 does not support: ' + contentType); | ||
}; | ||
@@ -705,2 +700,4 @@ var keyToDidDoc = function keyToDidDoc(didKeyPairInstance, contentType) { | ||
var cbor = /*#__PURE__*/require('borc'); | ||
var getResolve = function getResolve() { | ||
@@ -720,3 +717,3 @@ var resolve = function resolve(didUri, resolutionMetaData) { | ||
return Promise.resolve(keyToDidDoc(publicKey, resolutionMetaData.accept)).then(function (_keyToDidDoc) { | ||
return { | ||
var didResolutionResponse = { | ||
didDocument: _keyToDidDoc, | ||
@@ -728,2 +725,3 @@ didDocumentMetaData: { | ||
}; | ||
return resolutionMetaData.accept === 'application/did+cbor' ? cbor.encode(didResolutionResponse) : didResolutionResponse; | ||
}); | ||
@@ -730,0 +728,0 @@ }); |
@@ -1,15 +0,3 @@ | ||
export declare const getResolve: () => (didUri: string, resolutionMetaData?: any) => Promise<{ | ||
didDocument: any; | ||
didDocumentMetaData: { | ||
'content-type': any; | ||
}; | ||
didResolutionMetaData: {}; | ||
}>; | ||
export declare const resolve: (didUri: string, resolutionMetaData?: any) => Promise<{ | ||
didDocument: any; | ||
didDocumentMetaData: { | ||
'content-type': any; | ||
}; | ||
didResolutionMetaData: {}; | ||
}>; | ||
export declare const getResolve: () => (didUri: string, resolutionMetaData?: any) => Promise<any>; | ||
export declare const resolve: (didUri: string, resolutionMetaData?: any) => Promise<any>; | ||
export declare const get: ({ did, url }?: any) => Promise<any>; |
@@ -1,2 +0,2 @@ | ||
export declare const getVerificationMethod: (didKeyPairInstance: any, contentType?: string) => any; | ||
export declare const getVerificationMethod: (instance: any, contentType?: string) => any; | ||
export declare const keyToDidDoc: (didKeyPairInstance: any, contentType?: string) => Promise<any>; |
@@ -5,3 +5,3 @@ { | ||
"module": "dist/bls12381.esm.js", | ||
"version": "0.2.1-unstable.28", | ||
"version": "0.2.1-unstable.29", | ||
"license": "Apache-2.0", | ||
@@ -28,3 +28,3 @@ "main": "dist/index.js", | ||
"devDependencies": { | ||
"@transmute/did-key-test-vectors": "^0.2.1-unstable.28", | ||
"@transmute/did-key-test-vectors": "^0.2.1-unstable.29", | ||
"tsdx": "^0.13.2", | ||
@@ -37,7 +37,8 @@ "tslib": "^2.0.0", | ||
"@mattrglobal/bls12381-key-pair": "^0.4.1-unstable.256739c", | ||
"@transmute/did-key-common": "^0.2.1-unstable.28", | ||
"@transmute/did-key-common": "^0.2.1-unstable.29", | ||
"base64url": "^3.0.1", | ||
"borc": "^2.1.2", | ||
"bs58": "^4.0.1" | ||
}, | ||
"gitHead": "4487e255b79b5caa60603c7b693eb9d5fe0264ec" | ||
"gitHead": "82574492449fedec9b4a54fa1b53ba4dfa2f467b" | ||
} |
@@ -5,3 +5,3 @@ import { getGet } from '@transmute/did-key-common'; | ||
import { keyToDidDoc } from './functions/keyToDidDoc'; | ||
const cbor = require('borc'); | ||
export const getResolve = () => { | ||
@@ -17,3 +17,3 @@ const resolve = async ( | ||
const publicKey = await Bls12381KeyPairs.fromFingerprint({ fingerprint }); | ||
return { | ||
const didResolutionResponse = { | ||
didDocument: await keyToDidDoc(publicKey, resolutionMetaData.accept), | ||
@@ -25,3 +25,8 @@ didDocumentMetaData: { | ||
}; | ||
if (resolutionMetaData.accept === 'application/did+cbor') { | ||
return cbor.encode(didResolutionResponse); | ||
} | ||
return didResolutionResponse; | ||
}; | ||
return resolve; | ||
@@ -28,0 +33,0 @@ }; |
import { Bls12381KeyPairs } from '../Bls12381KeyPairs'; | ||
export const getVerificationMethod = ( | ||
didKeyPairInstance: any, | ||
instance: any, | ||
contentType: string = 'application/did+ld+json' | ||
) => { | ||
let externalKeyRepresentation; | ||
switch (contentType) { | ||
case 'application/did+json': { | ||
externalKeyRepresentation = didKeyPairInstance.toJsonWebKeyPair(); | ||
break; | ||
return instance.toJsonWebKeyPair(); | ||
} | ||
case '*/*': | ||
case 'application/did+cbor': { | ||
return instance.toJsonWebKeyPair(); | ||
} | ||
case 'application/did+ld+json': { | ||
externalKeyRepresentation = didKeyPairInstance.toKeyPair(); | ||
break; | ||
return instance.toKeyPair(); | ||
} | ||
default: { | ||
throw new Error( | ||
'This implementation of did:key does not support: ' + contentType | ||
); | ||
} | ||
} | ||
return externalKeyRepresentation; | ||
throw new Error( | ||
'This implementation of did:key for bls12381 does not support: ' + | ||
contentType | ||
); | ||
}; | ||
@@ -25,0 +23,0 @@ |
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
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
224313
6
2514
+ Addedborc@^2.1.2