@wovin/connect-nftstorage 0.0.2 → 0.0.3-RC1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -12,5 +12,5 @@ if (cid) {
|
|
|
12
12
|
// Make sure to use cid instead of value
|
|
13
13
|
doSomethingWithCID(cid)
|
|
14
14
|
}
|
|
15
|
-
`;var Dr={...nr,...ir,...or,...ar,...sr,...ur,...fr,...cr,...lr,...pr},ju={...mr,...vr};function En(t,r,n,e){return{name:t,prefix:r,encoder:{name:t,prefix:r,encode:n},decoder:{decode:e}}}var gn=En("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),wr=En("ascii","a",t=>{let r="a";for(let n=0;n<t.length;n++)r+=String.fromCharCode(t[n]);return r},t=>{t=t.substring(1);let r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}),ba={utf8:gn,"utf-8":gn,hex:Dr.base16,latin1:wr,ascii:wr,binary:wr,...Dr},Be=ba;function wt(t,r="utf8"){let n=Be[r];if(!n)throw new Error(`Unsupported encoding "${r}"`);return n.decoder.decode(`${n.prefix}${t}`)}function bt(t,r="utf8"){let n=Be[r];if(!n)throw new Error(`Unsupported encoding "${r}"`);return n.encoder.encode(t).substring(1)}var fe=We(kr(),1);var De=new Uint8Array([237,1]),Pf=new Uint8Array([234,1]),Me=new Uint8Array([128,36]),Uf=new Uint8Array([129,36]),Bf=new Uint8Array([130,36]),ke=new Uint8Array([133,36]),Oe=new Uint8Array([0,245,2]),Ke="did:key:z";function Zt(t,r){if(!t.startsWith(Ke))throw new Error("Please use a base58-encoded DID formatted `did:key:z...`");let n=t.slice(Ke.length),e=wt(n,"base58btc");if(!ys(e,r))throw new Error(`Expected prefix: ${r}`);return e.slice(r.length)}function $e(t,r){let n=kt([r,t]),e=bt(n,"base58btc");return Ke+e}var ys=(t,r)=>te(r,t.subarray(0,r.byteLength));var ei=t=>Zt(t,De),ri=t=>$e(t,De);var Or=function(t,r,n,e){function i(a){return a instanceof n?a:new n(function(l){l(a)})}return new(n||(n=Promise))(function(a,l){function c(u){try{p(e.next(u))}catch(y){l(y)}}function f(u){try{p(e.throw(u))}catch(y){l(y)}}function p(u){u.done?a(u.value):i(u.value).then(c,f)}p((e=e.apply(t,r||[])).next())})},ii=class t{constructor(r,n,e){this.jwtAlg="EdDSA",this.secretKey=r,this.publicKey=n,this.exportable=e}static create(r){return Or(this,void 0,void 0,function*(){let{exportable:n}=r||{},e=fe.generateKeyPair();return new t(e.secretKey,e.publicKey,n??!1)})}static fromSecretKey(r,n){let{format:e="base64pad",exportable:i=!1}=n||{},a=wt(r,e),l=fe.extractPublicKeyFromSecretKey(a);return new t(a,l,i)}did(){return ri(this.publicKey)}sign(r){return Or(this,void 0,void 0,function*(){return fe.sign(this.secretKey,r)})}export(r="base64pad"){return Or(this,void 0,void 0,function*(){if(!this.exportable)throw new Error("Key is not exportable");return bt(this.secretKey,r)})}};var ms=globalThis||window||self,qt=ms.crypto;var si=function(t,r,n,e){function i(a){return a instanceof n?a:new n(function(l){l(a)})}return new(n||(n=Promise))(function(a,l){function c(u){try{p(e.next(u))}catch(y){l(y)}}function f(u){try{p(e.throw(u))}catch(y){l(y)}}function p(u){u.done?a(u.value):i(u.value).then(c,f)}p((e=e.apply(t,r||[])).next())})},ui="RSASSA-PKCS1-v1_5";var vs="SHA-256",Ds=128;var ws=t=>si(void 0,void 0,void 0,function*(){return yield qt.subtle.importKey("spki",t,{name:ui,hash:{name:vs}},!0,["verify"])});var Kr=(t,r,n)=>si(void 0,void 0,void 0,function*(){return yield qt.subtle.verify({name:ui,saltLength:Ds},yield ws(t),n,r)}),fi=t=>{let r=Zt(t,ke);return gs(r)},ci=t=>Zt(t,Oe);var oi=new Uint8Array([48,13,6,9,42,134,72,134,247,13,1,1,1,5,0]),bs=new Uint8Array([48]),xs=new Uint8Array([3]),gs=t=>{let r=kt([xs,ai(t.length+1),new Uint8Array([0]),t]);return kt([bs,ai(oi.length+r.length),oi,r])};function ai(t){if(t<0||!isFinite(t))throw new TypeError(`Expected non-negative number. Got ${t}`);if(t<=127)return new Uint8Array([t]);let r=[];for(;t!==0;)r.push(t&255),t=t>>>8;return r.reverse(),new Uint8Array([128|r.length&255,...r])}var we=We(li(),1);var pi=function(t,r,n,e){function i(a){return a instanceof n?a:new n(function(l){l(a)})}return new(n||(n=Promise))(function(a,l){function c(u){try{p(e.next(u))}catch(y){l(y)}}function f(u){try{p(e.throw(u))}catch(y){l(y)}}function p(u){u.done?a(u.value):i(u.value).then(c,f)}p((e=e.apply(t,r||[])).next())})},di="ECDSA",Ss="P-256",As="SHA-256";var _s=t=>pi(void 0,void 0,void 0,function*(){return yield qt.subtle.importKey("raw",t,{name:di,namedCurve:Ss},!0,["verify"])});var hi=(t,r,n)=>pi(void 0,void 0,void 0,function*(){return yield qt.subtle.verify({name:di,hash:{name:As}},yield _s(t),n,r)}),yi=t=>{let r=Zt(t,Me);return Cs(r)};var Cs=t=>{if(t.length!==33)throw new Error("Expected 33 byte compress pubkey");if(t[0]!==2&&t[0]!==3)throw new Error("Expected first byte to be 0x02 or 0x03");let r=(0,we.default)(2),n=r.pow(256).subtract(r.pow(224)).add(r.pow(192)).add(r.pow(96)).subtract(1),e=(0,we.default)("41058363725152142129326129780047268409114441015993725554835256314039467401291"),i=n.add(1).divide(4),a=(0,we.default)(t[0]-2),l=t.slice(1),c=(0,we.default)(bt(l,"base10")),f=c.pow(3).subtract(c.multiply(3)).add(e).modPow(i,n),p;f.mod(2).equals(a)?p=f:p=n.subtract(f);let u=wt(p.toString(10),"base10"),y=32-u.length,g=new Uint8Array(32);return g.set(u,y),kt([[4],l,g])};var mi=We(kr(),1);var Is=function(t,r,n,e){function i(a){return a instanceof n?a:new n(function(l){l(a)})}return new(n||(n=Promise))(function(a,l){function c(u){try{p(e.next(u))}catch(y){l(y)}}function f(u){try{p(e.throw(u))}catch(y){l(y)}}function p(u){u.done?a(u.value):i(u.value).then(c,f)}p((e=e.apply(t,r||[])).next())})},vi={prefix:De,jwtAlg:"EdDSA",verifySignature:(t,r,n)=>Is(void 0,void 0,void 0,function*(){let e=ei(t);return mi.verify(e,r,n)})};var Di=function(t,r,n,e){function i(a){return a instanceof n?a:new n(function(l){l(a)})}return new(n||(n=Promise))(function(a,l){function c(u){try{p(e.next(u))}catch(y){l(y)}}function f(u){try{p(e.throw(u))}catch(y){l(y)}}function p(u){u.done?a(u.value):i(u.value).then(c,f)}p((e=e.apply(t,r||[])).next())})},wi={prefix:ke,jwtAlg:"RS256",verifySignature:(t,r,n)=>Di(void 0,void 0,void 0,function*(){let e=fi(t);return Kr(e,r,n)})},bi={prefix:Oe,jwtAlg:"RS256",verifySignature:(t,r,n)=>Di(void 0,void 0,void 0,function*(){let e=ci(t);return Kr(e,r,n)})};var Ps=function(t,r,n,e){function i(a){return a instanceof n?a:new n(function(l){l(a)})}return new(n||(n=Promise))(function(a,l){function c(u){try{p(e.next(u))}catch(y){l(y)}}function f(u){try{p(e.throw(u))}catch(y){l(y)}}function p(u){u.done?a(u.value):i(u.value).then(c,f)}p((e=e.apply(t,r||[])).next())})},xi={prefix:Me,jwtAlg:"ES256",verifySignature:(t,r,n)=>Ps(void 0,void 0,void 0,function*(){let e=yi(t);return hi(e,r,n)})};var Us=function(t,r,n,e){function i(a){return a instanceof n?a:new n(function(l){l(a)})}return new(n||(n=Promise))(function(a,l){function c(u){try{p(e.next(u))}catch(y){l(y)}}function f(u){try{p(e.throw(u))}catch(y){l(y)}}function p(u){u.done?a(u.value):i(u.value).then(c,f)}p((e=e.apply(t,r||[])).next())})},Bs=function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=t[Symbol.asyncIterator],n;return r?r.call(t):(t=typeof __values=="function"?__values(t):t[Symbol.iterator](),n={},e("next"),e("throw"),e("return"),n[Symbol.asyncIterator]=function(){return this},n);function e(a){n[a]=t[a]&&function(l){return new Promise(function(c,f){l=t[a](l),i(c,f,l.done,l.value)})}}function i(a,l,c,f){Promise.resolve(f).then(function(p){a({value:p,done:c})},l)}},gi="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",Ei=(t=6)=>{let r="";for(let n=0;n<t;n++)r+=gi[Math.floor(Math.random()*gi.length)];return r};function F(t,r){return typeof t=="object"&&t!=null&&r in t}function it(t){return typeof t=="object"&&t!=null}function Ls(t){return typeof t=="object"&&t!=null&&Symbol.iterator in t}function Ns(t){return typeof t=="object"&&t!=null&&Symbol.asyncIterator in t}function Si(t){if(Ls(t)){for(let r of t)return r;return}else{if(Ns(t))return Us(this,void 0,void 0,function*(){var r,n;try{for(var e=Bs(t),i;i=yield e.next(),!i.done;)return i.value}catch(a){r={error:a}}finally{try{i&&!i.done&&(n=e.return)&&(yield n.call(e))}finally{if(r)throw r.error}}});throw new TypeError(`Expected either Iterable or AsyncIterable, but got ${t}`)}}function Ci(t){return it(t)&&F(t,"major")&&typeof t.major=="number"&&F(t,"minor")&&typeof t.minor=="number"&&F(t,"patch")&&typeof t.patch=="number"}var Fs=/^0|[1-9]\d*/,Rs=t=>r=>{let n=r.match(t);return n?n[0].length===r.length:!1};function He(t){var r,n,e;let i=t.match(/^(?<major>0|[1-9]\d*)\.(?<minor>0|[1-9]\d*)\.(?<patch>0|[1-9]\d*)(?:-(?<prerelease>(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+(?<buildmetadata>[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/);if(i===null)return null;let a=`${(r=i.groups)===null||r===void 0?void 0:r.major}.${(n=i.groups)===null||n===void 0?void 0:n.minor}.${(e=i.groups)===null||e===void 0?void 0:e.patch}`.split(".");if(a.length!==3||!a.every(Rs(Fs)))return null;let[l,c,f]=a.map(p=>parseInt(p,10));return!Number.isSafeInteger(l)||!Number.isSafeInteger(c)||!Number.isSafeInteger(f)||l<0||c<0||f<0?null:{major:l,minor:c,patch:f}}function Ii(t){return`${t.major}.${t.minor}.${t.patch}`}var Ai=1,_i=0,zr=-1;function Hr(t,r){return t==null?r==null?_i:zr:r==null||t>r?Ai:t<r?zr:_i}function Ts(t,r){let n=typeof t=="string"?He(t):t,e=typeof r=="string"?He(r):r;return Hr(n?.major,e?.major)||Hr(n?.minor,e?.minor)||Hr(n?.patch,e?.patch)}function be(t,r){return Ts(t,r)===zr}function Pi(t,r){return!be(t,r)}var j="*";var Ui="/";function Vr(t){return t===j||it(t)&&F(t,"namespace")&&typeof t.namespace=="string"&&F(t,"segments")&&Array.isArray(t.segments)&&t.segments.every(r=>typeof r=="string")}function Ms(t){return t.join(Ui)}function Bi(t){switch(t){case j:return t;default:return Ms([t.namespace,...t.segments])}}function Li(t){switch(t){case j:return j;default:{let[r,...n]=t.split(Ui);return{namespace:r,segments:n}}}}var Jr=":";function Xr(t){return it(t)&&F(t,"scheme")&&typeof t.scheme=="string"&&F(t,"hierPart")&&(t.hierPart===j||typeof t.hierPart=="string")}function Fi(t){return{scheme:"my",hierPart:t}}function Ri(t){return`${t.scheme}${Jr}${t.hierPart}`}function Ti(t){let[r,...n]=t.split(Jr);return{scheme:r,hierPart:n.join(Jr)}}function Lt(t){return it(t)&&F(t,"with")&&Xr(t.with)&&F(t,"can")&&Vr(t.can)}function ze(t){return it(t)&&F(t,"with")&&typeof t.with=="string"&&F(t,"can")&&typeof t.can=="string"}function Mi(t){return{with:Fi(t),can:j}}function ki(t){return{with:Ri(t.with),can:Bi(t.can)}}function Oi(t){return{with:Ti(t.with),can:Li(t.can)}}function Ge(t){return it(t)&&F(t,"jwtAlg")&&typeof t.jwtAlg=="string"&&F(t,"sign")&&typeof t.sign=="function"}function $i(t){return it(t)&&F(t,"alg")&&typeof t.alg=="string"&&F(t,"typ")&&typeof t.typ=="string"&&F(t,"ucv")&&Ci(t.ucv)}function qi(t){return it(t)&&F(t,"iss")&&typeof t.iss=="string"&&F(t,"aud")&&typeof t.aud=="string"&&F(t,"exp")&&typeof t.exp=="number"&&(!F(t,"nbf")||typeof t.nbf=="number")&&(!F(t,"nnc")||typeof t.nnc=="string")&&F(t,"att")&&Array.isArray(t.att)&&t.att.every(r=>Lt(r)||ze(r))&&(!F(t,"fct")||Array.isArray(t.fct)&&t.fct.every(it))&&F(t,"prf")&&Array.isArray(t.prf)&&t.prf.every(r=>typeof r=="string")}var Os={major:0,minor:3,patch:0};function Ks(t){return it(t)&&F(t,"alg")&&typeof t.alg=="string"&&F(t,"typ")&&typeof t.typ=="string"&&F(t,"uav")&&typeof t.uav=="string"}function $s(t){return it(t)&&F(t,"iss")&&typeof t.iss=="string"&&F(t,"aud")&&typeof t.aud=="string"&&(!F(t,"nbf")||typeof t.nbf=="number")&&F(t,"exp")&&typeof t.exp=="number"&&F(t,"rsc")&&(typeof t.rsc=="string"||it(t))&&F(t,"ptc")&&typeof t.ptc=="string"&&(!F(t,"prf")||typeof t.prf=="string")}function Hi(t,r){let n=(i,a)=>new Error(`Can't parse UCAN ${i}: ${a}`);if(!it(t))throw n("header","Invalid format: Expected a record");let e="0.9.1";if(!F(t,"ucv")||typeof t.ucv!="string"){if(!F(t,"uav")||typeof t.uav!="string")throw n("header","Invalid format: Missing version indicator");if(t.uav!=="1.0.0")throw n("header",`Unsupported version 'uav: ${t.uav}'`);e="0.3.0"}else if(be(t.ucv,"0.8.0"))throw n("header",`Unsupported version 'ucv: ${t.ucv}'`);if(Pi(e,"0.8.0")){if(typeof t.ucv!="string")throw n("header","Invalid format: Missing 'ucv' key or 'ucv' is not a string");if(t.ucv=He(t.ucv),t.ucv==null)throw n("header","Invalid format: 'ucv' string cannot be parsed into a semantic version");if(!$i(t))throw n("header","Invalid format");if(!qi(r))throw n("payload","Invalid format");return{header:t,payload:r}}if(!Ks(t))throw n("header","Invalid version 0.3.0 format");if(!$s(r))throw n("payload","Invalid version 0.3.0 format");return{header:{alg:t.alg,typ:t.typ,ucv:Os},payload:{iss:r.iss,aud:r.aud,nbf:r.nbf,exp:r.exp,att:(()=>{if(r.rsc===j||typeof r.rsc=="string")return[Mi(j)];let i=r.rsc;return Object.keys(i).map(a=>({with:{scheme:a,hierPart:i[a]},can:r.ptc===j?j:{namespace:a,segments:[r.ptc]}}))})(),prf:r.prf!=null?[r.prf]:[]}}}var zi=function(t,r,n,e){function i(a){return a instanceof n?a:new n(function(l){l(a)})}return new(n||(n=Promise))(function(a,l){function c(u){try{p(e.next(u))}catch(y){l(y)}}function f(u){try{p(e.throw(u))}catch(y){l(y)}}function p(u){u.done?a(u.value):i(u.value).then(c,f)}p((e=e.apply(t,r||[])).next())})},Yt=function(t){return this instanceof Yt?(this.v=t,this):new Yt(t)},qs=function(t,r,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=n.apply(t,r||[]),i,a=[];return i={},l("next"),l("throw"),l("return"),i[Symbol.asyncIterator]=function(){return this},i;function l(g){e[g]&&(i[g]=function(U){return new Promise(function(S,C){a.push([g,U,S,C])>1||c(g,U)})})}function c(g,U){try{f(e[g](U))}catch(S){y(a[0][3],S)}}function f(g){g.value instanceof Yt?Promise.resolve(g.value.v).then(p,u):y(a[0][2],g)}function p(g){c("next",g)}function u(g){c("throw",g)}function y(g,U){g(U),a.shift(),a.length&&c(a[0][0],a[0][1])}},Hs="JWT",zs={major:0,minor:8,patch:1},Gi=t=>r=>{let n=r.issuer,e=Zr(Object.assign(Object.assign({},r),{issuer:n.did()}));return xe(t)(e,n)};function Zr(t){let{issuer:r,audience:n,capabilities:e=[],lifetimeInSeconds:i=30,expiration:a,notBefore:l,facts:c,proofs:f=[],addNonce:p=!1}=t;if(!r.startsWith("did:"))throw new Error("The issuer must be a DID");if(!n.startsWith("did:"))throw new Error("The audience must be a DID");let u=Math.floor(Date.now()/1e3),y=a||u+i;return{aud:n,att:e,exp:y,fct:c,iss:r,nbf:l,nnc:p?Ei():void 0,prf:f}}var Wr=t=>(r,n,e)=>zi(void 0,void 0,void 0,function*(){let i={alg:n,typ:Hs,ucv:zs};if(!t.verifyIssuerAlg(r.iss,n))throw new Error("The issuer's key type must match the given key type.");let a=Gs(i),l=Vs(r),c=`${a}.${l}`,f=wt(c,"utf8"),p=yield e(f);return Object.freeze({header:i,payload:r,signedData:c,signature:bt(p,"base64url")})}),xe=t=>(r,n)=>Wr(t)(r,n.jwtAlg,e=>n.sign(e));function gt(t){return`${t.signedData}.${t.signature}`}function Gs(t){let r=Object.assign(Object.assign({},t),{ucv:Ii(t.ucv)});return bt(wt(JSON.stringify(r),"utf8"),"base64url")}function Vs(t){let r=Object.assign(Object.assign({},t),{att:t.att.map(ki)});return bt(wt(JSON.stringify(r),"utf8"),"base64url")}function Js(t){let[r,n,e]=t.split(".");if(r==null||n==null||e==null)throw new Error(`Can't parse UCAN: ${t}: Expected JWT format: 3 dot-separated base64url-encoded values.`);let i,a;try{i=bt(wt(r,"base64url"),"utf8")}catch{throw new Error(`Can't parse UCAN header: ${r}: Can't parse as base64url.`)}try{a=JSON.parse(i)}catch{throw new Error(`Can't parse UCAN header: ${r}: Can't parse encoded JSON inside.`)}let l,c;try{l=bt(wt(n,"base64url"),"utf8")}catch{throw new Error(`Can't parse UCAN payload: ${n}: Can't parse as base64url.`)}try{c=JSON.parse(l)}catch{throw new Error(`Can't parse UCAN payload: ${n}: Can't parse encoded JSON inside.`)}let{header:f,payload:p}=Hi(a,c),u=p.att.reduce((y,g)=>ze(g)?[...y,Oi(g)]:Lt(g)?[...y,g]:y,[]);return{header:f,payload:Object.assign(Object.assign({},p),{att:u})}}var Qt=t=>(r,n)=>zi(void 0,void 0,void 0,function*(){let{checkIssuer:e=!0,checkSignature:i=!0,checkIsExpired:a=!0,checkIsTooEarly:l=!0}=n??{},{header:c,payload:f}=Js(r),[p,u,y]=r.split(".");if(e&&!t.verifyIssuerAlg(f.iss,c.alg))throw new Error(`Invalid UCAN: ${r}: Issuer key type does not match UCAN's \`alg\` property.`);if(i){let S=wt(y,"base64url"),C=wt(`${p}.${u}`,"utf8");if(!(yield t.verifySignature(f.iss,C,S)))throw new Error(`Invalid UCAN: ${r}: Signature invalid.`)}let g=`${p}.${u}`,U={header:c,payload:f,signedData:g,signature:y};if(a&&Xs(U))throw new Error(`Invalid UCAN: ${r}: Expired.`);if(l&&Zs(U))throw new Error(`Invalid UCAN: ${r}: Not active yet (too early).`);return U}),Ve=t=>function(r,n){return qs(this,arguments,function*(){let{checkAddressing:e=!0,checkTimeBoundsSubset:i=!0,checkVersionMonotonic:a=!0}=n||{};for(let l of r.payload.prf)try{let c=yield Yt(Qt(t)(l,n));if(e&&r.payload.iss!==c.payload.aud)throw new Error(`Invalid Proof: Issuer ${r.payload.iss} doesn't match parent's audience ${c.payload.aud}`);if(i&&c.payload.nbf!=null&&r.payload.exp>c.payload.nbf)throw new Error(`Invalid Proof: 'Not before' (${c.payload.nbf}) is after parent's expiration (${r.payload.exp})`);if(i&&r.payload.nbf!=null&&r.payload.nbf>c.payload.exp)throw new Error(`Invalid Proof: Expiration (${c.payload.exp}) is before parent's 'not before' (${r.payload.nbf})`);if(a&&be(r.header.ucv,c.header.ucv))throw new Error(`Invalid Proof: Version (${c.header.ucv}) is higher than parent's version (${r.header.ucv})`);yield yield Yt(c)}catch(c){c instanceof Error?yield yield Yt(c):yield yield Yt(new Error(`Error when trying to parse UCAN proof: ${c}`))}})};function Xs(t){return t.payload.exp<=Math.floor(Date.now()/1e3)}var Zs=t=>t.payload.nbf==null?!1:t.payload.nbf>Math.floor(Date.now()/1e3);var Ws=function(t,r,n,e){function i(a){return a instanceof n?a:new n(function(l){l(a)})}return new(n||(n=Promise))(function(a,l){function c(u){try{p(e.next(u))}catch(y){l(y)}}function f(u){try{p(e.throw(u))}catch(y){l(y)}}function p(u){u.done?a(u.value):i(u.value).then(c,f)}p((e=e.apply(t,r||[])).next())})},Z=function(t){return this instanceof Z?(this.v=t,this):new Z(t)},Rt=function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=t[Symbol.asyncIterator],n;return r?r.call(t):(t=typeof __values=="function"?__values(t):t[Symbol.iterator](),n={},e("next"),e("throw"),e("return"),n[Symbol.asyncIterator]=function(){return this},n);function e(a){n[a]=t[a]&&function(l){return new Promise(function(c,f){l=t[a](l),i(c,f,l.done,l.value)})}}function i(a,l,c,f){Promise.resolve(f).then(function(p){a({value:p,done:c})},l)}},Ee=function(t){var r,n;return r={},e("next"),e("throw",function(i){throw i}),e("return"),r[Symbol.iterator]=function(){return this},r;function e(i,a){r[i]=t[i]?function(l){return(n=!n)?{value:Z(t[i](l)),done:i==="return"}:a?a(l):l}:a}},Se=function(t,r,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=n.apply(t,r||[]),i,a=[];return i={},l("next"),l("throw"),l("return"),i[Symbol.asyncIterator]=function(){return this},i;function l(g){e[g]&&(i[g]=function(U){return new Promise(function(S,C){a.push([g,U,S,C])>1||c(g,U)})})}function c(g,U){try{f(e[g](U))}catch(S){y(a[0][3],S)}}function f(g){g.value instanceof Z?Promise.resolve(g.value.v).then(p,u):y(a[0][2],g)}function p(g){c("next",g)}function u(g){c("throw",g)}function y(g,U){g(U),a.shift(),a.length&&c(a[0][0],a[0][1])}},Tt=t=>function(r,n,e=()=>Ws(this,void 0,void 0,function*(){return!1})){return Se(this,arguments,function*(){if(yield Z(e(n)))return yield yield Z(new Error(`UCAN Revoked: ${gt(n)}`)),yield Z(void 0);yield Z(yield*Ee(Rt(Qs(n)))),yield Z(yield*Ee(Rt(js(t,r,n,e))))})};function Ae(t){return"capability"in t?t.chainStep==null?t.ucan.payload.iss:Ae(t.chainStep):t.ownershipDID}var Vi={canDelegateResource(t,r){return t.scheme!==r.scheme?!1:t.hierPart===r.hierPart},canDelegateAbility(t,r){return t===j?!0:r===j||t.namespace!==r.namespace||t.segments.length!==r.segments.length?!1:t.segments.reduce((n,e,i)=>n&&r.segments[i]===e,!0)}};function jt(t,r,n){if("capability"in n)return nu(t,n.capability,r);let e=n.scope;return e===j?!0:e.scheme==r.with.scheme&&t.canDelegateAbility(e.ability,r.can)}function Ys(t,r,n,e){if(r!==e.ownershipDID)return!1;let i=e.scope;return i===j?!0:n===j?!1:i.scheme===n.scheme&&t.canDelegateAbility(i.ability,n.ability)}function*Qs(t){for(let r of t.payload.att)switch(r.with.scheme.toLowerCase()){case"my":{let n=r.with.hierPart===j?j:{scheme:r.with.hierPart,ability:r.can};yield{ownershipDID:t.payload.iss,scope:n,ucan:t};break}case"as":case"prf":break;default:yield{capability:r,ucan:t}}}function js(t,r,n,e){return Se(this,arguments,function*(){var a,l;let c=0;try{for(var f=Rt(Ve(t)(n)),p;p=yield Z(f.next()),!p.done;){let y=p.value;if(y instanceof Error){yield yield Z(y);continue}for(let g of n.payload.att)try{switch(g.with.scheme.toLowerCase()){case"my":continue;case"as":{yield Z(yield*Ee(Rt(tu(t,r,g,n,y,e))));break}case"prf":{yield Z(yield*Ee(Rt(eu(t,r,g,n,y,c,e))));break}default:yield Z(yield*Ee(Rt(ru(t,r,g,n,y,e))))}}catch(U){yield yield Z(u(U))}c++}}catch(y){a={error:y}}finally{try{p&&!p.done&&(l=f.return)&&(yield Z(l.call(f)))}finally{if(a)throw a.error}}function u(y){return y instanceof Error?y:new Error(`Error during capability delegation checking: ${y}`)}})}function tu(t,r,n,e,i,a){return Se(this,arguments,function*(){var c,f;let p=n.with.hierPart.split(":"),u=p[p.length-1],y=p.slice(0,-1).join(":"),g=u===j?j:{scheme:u,ability:n.can};try{for(var U=Rt(Tt(t)(r,i,a)),S;S=yield Z(U.next()),!S.done;){let C=S.value;if(C instanceof Error){yield yield Z(C);continue}"ownershipDID"in C&&Ys(r,y,g,C)&&(yield yield Z({ownershipDID:y,scope:g,ucan:e,chainStep:C}))}}catch(C){c={error:C}}finally{try{S&&!S.done&&(f=U.return)&&(yield Z(f.call(U)))}finally{if(c)throw c.error}}})}function eu(t,r,n,e,i,a,l){return Se(this,arguments,function*(){var f,p;if(n.with.hierPart!==j&&parseInt(n.with.hierPart,10)!==a)return yield Z(void 0);try{for(var u=Rt(Tt(t)(r,i,l)),y;y=yield Z(u.next()),!y.done;){let g=y.value;if(g instanceof Error){yield yield Z(g);continue}"capability"in g&&(yield yield Z({capability:g.capability,ucan:e,chainStep:g}))}}catch(g){f={error:g}}finally{try{y&&!y.done&&(p=u.return)&&(yield Z(p.call(u)))}finally{if(f)throw f.error}}})}function ru(t,r,n,e,i,a){return Se(this,arguments,function*(){var c,f;try{for(var p=Rt(Tt(t)(r,i,a)),u;u=yield Z(p.next()),!u.done;){let y=u.value;if(y instanceof Error){yield yield Z(y);continue}jt(r,n,y)&&(yield yield Z({capability:n,ucan:e,chainStep:y}))}}catch(y){c={error:y}}finally{try{u&&!u.done&&(f=p.return)&&(yield Z(f.call(p)))}finally{if(c)throw c.error}}})}function nu(t,r,n){return t.canDelegateResource(r.with,n.with)&&t.canDelegateAbility(r.can,n.can)}var Ji=function(t,r,n,e){function i(a){return a instanceof n?a:new n(function(l){l(a)})}return new(n||(n=Promise))(function(a,l){function c(u){try{p(e.next(u))}catch(y){l(y)}}function f(u){try{p(e.throw(u))}catch(y){l(y)}}function p(u){u.done?a(u.value):i(u.value).then(c,f)}p((e=e.apply(t,r||[])).next())})},ou=function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=t[Symbol.asyncIterator],n;return r?r.call(t):(t=typeof __values=="function"?__values(t):t[Symbol.iterator](),n={},e("next"),e("throw"),e("return"),n[Symbol.asyncIterator]=function(){return this},n);function e(a){n[a]=t[a]&&function(l){return new Promise(function(c,f){l=t[a](l),i(c,f,l.done,l.value)})}}function i(a,l,c,f){Promise.resolve(f).then(function(p){a({value:p,done:c})},l)}},au=t=>({ok:!0,value:t}),Yr=t=>({ok:!1,error:t}),Xi=t=>(r,n)=>Ji(void 0,void 0,void 0,function*(){var e,i,a,l,c;let{audience:f,requiredCapabilities:p}=n,u=(a=n.semantics)!==null&&a!==void 0?a:Vi,y=(l=n.isRevoked)!==null&&l!==void 0?l:()=>Ji(void 0,void 0,void 0,function*(){return!1}),g=(c=n.checkFacts)!==null&&c!==void 0?c:()=>!0;if(typeof r!="string")throw new TypeError(`Expected an encoded UCAN string as first argument, but got ${r}`);if(typeof f!="string"||!f.startsWith("did:"))throw new TypeError(`Expected a DID string as second argument, but got ${f}`);if(typeof y!="function")throw new TypeError(`Expected a function returning a promise as third argument, but got ${y}`);if(!Array.isArray(p))throw new TypeError(`Expected an array as fourth argument, but got ${p}`);if(p.length<1)throw new TypeError("Expected a non-empty list of required capabilities as 4th argument.");if(p.some(C=>!Lt(C.capability)||typeof C.rootIssuer!="string"||!C.rootIssuer.startsWith("did:")))throw new TypeError(`Expected an array of records of capabilities and rootIssuers as DID strings as 4th argument, but got ${p}`);if(typeof u.canDelegateResource!="function"||typeof u.canDelegateAbility!="function")throw new TypeError(`Expected a record with two functions 'canDelegateResource' and 'canDelegateAbility' as 5th argument, but got ${u}`);if(typeof g!="function")throw new TypeError(`Expected a function as 6th argument, but got ${g}`);try{let C=yield Qt(t)(r);if(C.payload.aud!==f)return Yr([new Error(`Invalid UCAN: Expected audience to be ${f}, but it's ${C.payload.aud}`)]);let M=[],R=new Set(p),k=[];try{t:for(var U=ou(Tt(t)(u,C,y)),S;S=yield U.next(),!S.done;){let B=S.value;if(B instanceof Error){M.push(B);continue}for(let N of R)jt(u,N.capability,B)&&Ae(B)===N.rootIssuer&&(R.delete(N),k.push(Object.assign(Object.assign({},N),{proof:B})));if(R.size===0)break t}}catch(B){e={error:B}}finally{try{S&&!S.done&&(i=U.return)&&(yield i.call(U))}finally{if(e)throw e.error}}return R.size>0?Yr(M):au(k)}catch(C){return Yr([C instanceof Error?C:new Error(`Unknown error during UCAN verification: ${C}`)])}});var uu=function(t,r,n,e){function i(a){return a instanceof n?a:new n(function(l){l(a)})}return new(n||(n=Promise))(function(a,l){function c(u){try{p(e.next(u))}catch(y){l(y)}}function f(u){try{p(e.throw(u))}catch(y){l(y)}}function p(u){u.done?a(u.value):i(u.value).then(c,f)}p((e=e.apply(t,r||[])).next())})};function Zi(t){return it(t)&&F(t,"issuer")&&Ge(t.issuer)&&F(t,"audience")&&typeof t.audience=="string"&&F(t,"expiration")&&typeof t.expiration=="number"}function fu(t){return it(t)&&F(t,"issuer")&&Ge(t.issuer)&&F(t,"expiration")&&typeof t.expiration=="number"}var cu=t=>class Ut{constructor(n,e){this.state=n,this.defaultable=e}static create(){return new Ut({},{capabilities:[],facts:[],proofs:[],addNonce:!1})}issuedBy(n){if(!Ge(n))throw new TypeError(`Expected a Keypair, but got ${n}`);return new Ut(Object.assign(Object.assign({},this.state),{issuer:n}),this.defaultable)}toAudience(n){if(typeof n!="string")throw new TypeError(`Expected audience DID as string, but got ${n}`);return new Ut(Object.assign(Object.assign({},this.state),{audience:n}),this.defaultable)}withLifetimeInSeconds(n){if(typeof n!="number")throw new TypeError(`Expected seconds as number, but got ${n}`);if(!isFinite(n)||n<=0)throw new TypeError(`Expected seconds to be a positive number, but got ${n}`);return this.withExpiration(Math.floor(Date.now()/1e3)+n)}withExpiration(n){if(typeof n!="number"||!isFinite(n))throw new TypeError(`Expected expiration as number, but got ${n}`);if(this.defaultable.notBefore!=null&&n<this.defaultable.notBefore)throw new Error(`Can't set expiration to ${n} which is before 'notBefore': ${this.defaultable.notBefore}`);return new Ut(Object.assign(Object.assign({},this.state),{expiration:n}),this.defaultable)}withNotBefore(n){if(typeof n!="number"||!isFinite(n))throw new TypeError(`Expected notBeforeTimestamp as number, but got ${n}`);if(F(this.state,"expiration")&&typeof this.state.expiration=="number"&&this.state.expiration<n)throw new Error(`Can't set 'notBefore' to ${n} which is after expiration: ${this.state.expiration}`);return new Ut(this.state,Object.assign(Object.assign({},this.defaultable),{notBefore:n}))}withFact(n,...e){if(!it(n)||e.some(i=>!it(i)))throw new TypeError(`Expected fact(s) to be a record, but got ${n}`);return new Ut(this.state,Object.assign(Object.assign({},this.defaultable),{facts:[...this.defaultable.facts,n,...e]}))}withNonce(){return new Ut(this.state,Object.assign(Object.assign({},this.defaultable),{addNonce:!0}))}claimCapability(n,...e){if(!Lt(n))throw new TypeError(`Expected capability, but got ${JSON.stringify(n,null," ")}`);return new Ut(this.state,Object.assign(Object.assign({},this.defaultable),{capabilities:[...this.defaultable.capabilities,n,...e]}))}delegateCapability(n,e,i){if(!Lt(n))throw new TypeError(`Expected 'requiredCapability' as a second argument, but got ${n}`);if(!fu(this.state))throw new Error("Can't delegate capabilities without having these paramenters set in the builder: issuer and expiration.");function a(l){return F(l,"capability")||F(l,"ownershipDID")}if(a(e)){if(i==null)throw new TypeError("Expected 'semantics' as third argument if a 'proof' DelegationChain was passed as second.");let l=e,c=l.ucan;if(!jt(i,n,l))throw new Error("Can't add capability to UCAN: Given proof doesn't give required rights to delegate.");return new Ut(this.state,Object.assign(Object.assign({},this.defaultable),{capabilities:[...this.defaultable.capabilities,n],proofs:this.defaultable.proofs.find(f=>gt(f)===gt(c))==null?[...this.defaultable.proofs,c]:this.defaultable.proofs}))}else{let l=e,c=this.state.issuer.did(),f=Si(l.findWithCapability(c,n,c));if(f!=null){let p=f.ucan,u=gt(p);return new Ut(this.state,Object.assign(Object.assign({},this.defaultable),{capabilities:[...this.defaultable.capabilities,n],proofs:this.defaultable.proofs.find(y=>gt(y)===u)==null?[...this.defaultable.proofs,p]:this.defaultable.proofs}))}else throw new Error("Couldn't add capability to UCAN. Couldn't find anything providing this capability in given store.")}}buildPayload(){if(!Zi(this.state))throw new Error("Builder is missing one of the required properties before it can be built: issuer, audience and expiration.");return Zr({issuer:this.state.issuer.did(),audience:this.state.audience,expiration:this.state.expiration,notBefore:this.defaultable.notBefore,addNonce:this.defaultable.addNonce,capabilities:this.defaultable.capabilities,facts:this.defaultable.facts,proofs:this.defaultable.proofs.map(n=>gt(n))})}build(){return uu(this,void 0,void 0,function*(){if(!Zi(this.state))throw new Error("Builder is missing one of the required properties before it can be built: issuer, audience and expiration.");let n=this.buildPayload();return yield xe(t)(n,this.state.issuer)})}},Wi=cu;var Yi=function(t,r,n,e){function i(a){return a instanceof n?a:new n(function(l){l(a)})}return new(n||(n=Promise))(function(a,l){function c(u){try{p(e.next(u))}catch(y){l(y)}}function f(u){try{p(e.throw(u))}catch(y){l(y)}}function p(u){u.done?a(u.value):i(u.value).then(c,f)}p((e=e.apply(t,r||[])).next())})},Qi=function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=t[Symbol.asyncIterator],n;return r?r.call(t):(t=typeof __values=="function"?__values(t):t[Symbol.iterator](),n={},e("next"),e("throw"),e("return"),n[Symbol.asyncIterator]=function(){return this},n);function e(a){n[a]=t[a]&&function(l){return new Promise(function(c,f){l=t[a](l),i(c,f,l.done,l.value)})}}function i(a,l,c,f){Promise.resolve(f).then(function(p){a({value:p,done:c})},l)}},lu=t=>class Qr{constructor(n,e){this.index=e,this.knownSemantics=n}static empty(n){return new Qr(n,{})}static fromTokens(n,e){var i,a,l,c;return Yi(this,void 0,void 0,function*(){let f=Qr.empty(n);try{for(i=Qi(e);a=yield i.next(),!a.done;){let p=a.value,u=yield Qt(t)(p);yield f.add(u)}}catch(p){l={error:p}}finally{try{a&&!a.done&&(c=i.return)&&(yield c.call(i))}finally{if(l)throw l.error}}return f})}add(n){var e,i,a;return Yi(this,void 0,void 0,function*(){let l=n.payload.aud,c=(a=this.index[l])!==null&&a!==void 0?a:[],f=gt(n);if(c.find(g=>gt(g.processedUcan)===f)!=null)return;let p=[];try{for(var u=Qi(Tt(t)(this.knownSemantics,n)),y;y=yield u.next(),!y.done;){let g=y.value;if(g instanceof Error){console.warn("Delegation chain error while storing UCAN:",g);continue}p.push(g)}}catch(g){e={error:g}}finally{try{y&&!y.done&&(i=u.return)&&(yield i.call(u))}finally{if(e)throw e.error}}c.find(g=>gt(g.processedUcan)===f)==null&&(c.push({processedUcan:n,capabilities:p}),this.index[l]=c)})}getByAudience(n){var e;return((e=this.index[n])!==null&&e!==void 0?e:[]).map(i=>i.processedUcan)}findByAudience(n,e){var i,a,l;return(l=(a=(i=this.index[n])===null||i===void 0?void 0:i.find(c=>e(c.processedUcan)))===null||a===void 0?void 0:a.processedUcan)!==null&&l!==void 0?l:null}*findWithCapability(n,e,i){let a=this.index[n];if(a!=null)for(let l of a)for(let c of l.capabilities)jt(this.knownSemantics,e,c)&&Ae(c)===i&&(yield c)}},ji=lu;var pu=function(t,r,n,e){function i(a){return a instanceof n?a:new n(function(l){l(a)})}return new(n||(n=Promise))(function(a,l){function c(u){try{p(e.next(u))}catch(y){l(y)}}function f(u){try{p(e.throw(u))}catch(y){l(y)}}function p(u){u.done?a(u.value):i(u.value).then(c,f)}p((e=e.apply(t,r||[])).next())})},Je=class{constructor(r,n){this.keys=r,this.methods=n}verifyIssuerAlg(r,n){let e=no(r);if(e==="key"){let i=ro(r);for(let a of this.keys)if(to(i,a.prefix))return n===a.jwtAlg}else{let i=this.methods[e];if(i)return i.checkJwtAlg(r,n)}throw new Error(`DID method not supported by plugins: ${r}`)}verifySignature(r,n,e){return pu(this,void 0,void 0,function*(){let i=no(r);if(i==="key"){let a=ro(r);for(let l of this.keys)if(to(a,l.prefix))return l.verifySignature(r,n,e)}else{let a=this.methods[i];if(a)return a.verifySignature(r,n,e)}throw new Error(`DID method not supported by plugins: ${r}`)})}};var to=(t,r)=>te(r,t.subarray(0,r.byteLength)),eo="did:key:z",ro=t=>{if(!t.startsWith(eo))throw new Error(`Not a valid base58 formatted did:key: ${t}`);return wt(t.slice(eo.length),"base58btc")},no=t=>{let r=t.split(":");if(r[0]!=="did")throw new Error(`Not a DID: ${t}`);if(r[1].length<1)throw new Error(`No DID method included: ${t}`);return r[1]};var io=t=>{let r=Gi(t),n=Wr(t),e=xe(t),i=Qt(t),a=Ve(t),l=Xi(t),c=Tt(t),f=Wi(t),p=ji(t);return{build:r,sign:n,signWithKeypair:e,validate:i,validateProofs:a,verify:l,delegationChains:c,Builder:f,Store:p}};var oo=new Je([vi,xi,wi,bi],{});var Mt=io(oo),ao=Mt.build,dl=Mt.sign,hl=Mt.signWithKeypair,so=Mt.validate,yl=Mt.validateProofs,ml=Mt.verify,vl=Mt.Builder,Dl=Mt.Store,wl=Mt.delegationChains;var{WARN:Ul,LOG:Du,DEBUG:_e,VERBOSE:Bl,ERROR:Ll}=Ye.setup(Ye.DEBUG);async function Nl(t,r){let n=await(await fetch("https://api.nft.storage/upload",{method:"POST",headers:{Authorization:`Bearer ${gt(r)}`,"Content-Type":"application/car","x-agent-did":r.payload.iss},body:t})).json();if(Du("[storeCar] result",n),!n.ok)throw new Error("Failed to register DID "+n.error);return Qe.parse(n.value.cid)}async function Fl(t,r,n){_e("[createRequestToken] ",{keypair:t,ucanToken:n});let e=n.payload;return ao({issuer:t,audience:r,capabilities:e.att,proofs:[gt(n)]})}async function Rl(t,r){_e("Registering",{did:r});let n=await(await fetch("https://api.nft.storage/user/did",{method:"POST",headers:{Authorization:`Bearer ${t}`},body:JSON.stringify({did:r})})).json();if(_e("Register DID result",n),!n.ok)throw new Error("Failed to register DID "+n.error)}async function Tl(t){_e("Get root UCAN",{apiKey:t});let r=await(await fetch("https://api.nft.storage/ucan/token",{method:"POST",headers:{Authorization:`Bearer ${t}`}})).json();if(_e("Get root UCAN result",r),!r.ok)throw new Error("Failed get root UCAN "+r.error);return so(r.value)}export{ii as a,Nl as b,Fl as c,Rl as d,Tl as e};
|
|
16
|
-
//# sourceMappingURL=chunk-
|
|
15
|
+
`;var Dr={...nr,...ir,...or,...ar,...sr,...ur,...fr,...cr,...lr,...pr},ju={...mr,...vr};function En(t,r,n,e){return{name:t,prefix:r,encoder:{name:t,prefix:r,encode:n},decoder:{decode:e}}}var gn=En("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),wr=En("ascii","a",t=>{let r="a";for(let n=0;n<t.length;n++)r+=String.fromCharCode(t[n]);return r},t=>{t=t.substring(1);let r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}),ba={utf8:gn,"utf-8":gn,hex:Dr.base16,latin1:wr,ascii:wr,binary:wr,...Dr},Be=ba;function wt(t,r="utf8"){let n=Be[r];if(!n)throw new Error(`Unsupported encoding "${r}"`);return n.decoder.decode(`${n.prefix}${t}`)}function bt(t,r="utf8"){let n=Be[r];if(!n)throw new Error(`Unsupported encoding "${r}"`);return n.encoder.encode(t).substring(1)}var fe=We(kr(),1);var De=new Uint8Array([237,1]),Pf=new Uint8Array([234,1]),Me=new Uint8Array([128,36]),Uf=new Uint8Array([129,36]),Bf=new Uint8Array([130,36]),ke=new Uint8Array([133,36]),Oe=new Uint8Array([0,245,2]),Ke="did:key:z";function Zt(t,r){if(!t.startsWith(Ke))throw new Error("Please use a base58-encoded DID formatted `did:key:z...`");let n=t.slice(Ke.length),e=wt(n,"base58btc");if(!ys(e,r))throw new Error(`Expected prefix: ${r}`);return e.slice(r.length)}function $e(t,r){let n=kt([r,t]),e=bt(n,"base58btc");return Ke+e}var ys=(t,r)=>te(r,t.subarray(0,r.byteLength));var ei=t=>Zt(t,De),ri=t=>$e(t,De);var Or=function(t,r,n,e){function i(a){return a instanceof n?a:new n(function(l){l(a)})}return new(n||(n=Promise))(function(a,l){function c(u){try{p(e.next(u))}catch(y){l(y)}}function f(u){try{p(e.throw(u))}catch(y){l(y)}}function p(u){u.done?a(u.value):i(u.value).then(c,f)}p((e=e.apply(t,r||[])).next())})},ii=class t{constructor(r,n,e){this.jwtAlg="EdDSA",this.secretKey=r,this.publicKey=n,this.exportable=e}static create(r){return Or(this,void 0,void 0,function*(){let{exportable:n}=r||{},e=fe.generateKeyPair();return new t(e.secretKey,e.publicKey,n??!1)})}static fromSecretKey(r,n){let{format:e="base64pad",exportable:i=!1}=n||{},a=wt(r,e),l=fe.extractPublicKeyFromSecretKey(a);return new t(a,l,i)}did(){return ri(this.publicKey)}sign(r){return Or(this,void 0,void 0,function*(){return fe.sign(this.secretKey,r)})}export(r="base64pad"){return Or(this,void 0,void 0,function*(){if(!this.exportable)throw new Error("Key is not exportable");return bt(this.secretKey,r)})}};var ms=globalThis||window||self,qt=ms.crypto;var si=function(t,r,n,e){function i(a){return a instanceof n?a:new n(function(l){l(a)})}return new(n||(n=Promise))(function(a,l){function c(u){try{p(e.next(u))}catch(y){l(y)}}function f(u){try{p(e.throw(u))}catch(y){l(y)}}function p(u){u.done?a(u.value):i(u.value).then(c,f)}p((e=e.apply(t,r||[])).next())})},ui="RSASSA-PKCS1-v1_5";var vs="SHA-256",Ds=128;var ws=t=>si(void 0,void 0,void 0,function*(){return yield qt.subtle.importKey("spki",t,{name:ui,hash:{name:vs}},!0,["verify"])});var Kr=(t,r,n)=>si(void 0,void 0,void 0,function*(){return yield qt.subtle.verify({name:ui,saltLength:Ds},yield ws(t),n,r)}),fi=t=>{let r=Zt(t,ke);return gs(r)},ci=t=>Zt(t,Oe);var oi=new Uint8Array([48,13,6,9,42,134,72,134,247,13,1,1,1,5,0]),bs=new Uint8Array([48]),xs=new Uint8Array([3]),gs=t=>{let r=kt([xs,ai(t.length+1),new Uint8Array([0]),t]);return kt([bs,ai(oi.length+r.length),oi,r])};function ai(t){if(t<0||!isFinite(t))throw new TypeError(`Expected non-negative number. Got ${t}`);if(t<=127)return new Uint8Array([t]);let r=[];for(;t!==0;)r.push(t&255),t=t>>>8;return r.reverse(),new Uint8Array([128|r.length&255,...r])}var we=We(li(),1);var pi=function(t,r,n,e){function i(a){return a instanceof n?a:new n(function(l){l(a)})}return new(n||(n=Promise))(function(a,l){function c(u){try{p(e.next(u))}catch(y){l(y)}}function f(u){try{p(e.throw(u))}catch(y){l(y)}}function p(u){u.done?a(u.value):i(u.value).then(c,f)}p((e=e.apply(t,r||[])).next())})},di="ECDSA",Ss="P-256",As="SHA-256";var _s=t=>pi(void 0,void 0,void 0,function*(){return yield qt.subtle.importKey("raw",t,{name:di,namedCurve:Ss},!0,["verify"])});var hi=(t,r,n)=>pi(void 0,void 0,void 0,function*(){return yield qt.subtle.verify({name:di,hash:{name:As}},yield _s(t),n,r)}),yi=t=>{let r=Zt(t,Me);return Cs(r)};var Cs=t=>{if(t.length!==33)throw new Error("Expected 33 byte compress pubkey");if(t[0]!==2&&t[0]!==3)throw new Error("Expected first byte to be 0x02 or 0x03");let r=(0,we.default)(2),n=r.pow(256).subtract(r.pow(224)).add(r.pow(192)).add(r.pow(96)).subtract(1),e=(0,we.default)("41058363725152142129326129780047268409114441015993725554835256314039467401291"),i=n.add(1).divide(4),a=(0,we.default)(t[0]-2),l=t.slice(1),c=(0,we.default)(bt(l,"base10")),f=c.pow(3).subtract(c.multiply(3)).add(e).modPow(i,n),p;f.mod(2).equals(a)?p=f:p=n.subtract(f);let u=wt(p.toString(10),"base10"),y=32-u.length,g=new Uint8Array(32);return g.set(u,y),kt([[4],l,g])};var mi=We(kr(),1);var Is=function(t,r,n,e){function i(a){return a instanceof n?a:new n(function(l){l(a)})}return new(n||(n=Promise))(function(a,l){function c(u){try{p(e.next(u))}catch(y){l(y)}}function f(u){try{p(e.throw(u))}catch(y){l(y)}}function p(u){u.done?a(u.value):i(u.value).then(c,f)}p((e=e.apply(t,r||[])).next())})},vi={prefix:De,jwtAlg:"EdDSA",verifySignature:(t,r,n)=>Is(void 0,void 0,void 0,function*(){let e=ei(t);return mi.verify(e,r,n)})};var Di=function(t,r,n,e){function i(a){return a instanceof n?a:new n(function(l){l(a)})}return new(n||(n=Promise))(function(a,l){function c(u){try{p(e.next(u))}catch(y){l(y)}}function f(u){try{p(e.throw(u))}catch(y){l(y)}}function p(u){u.done?a(u.value):i(u.value).then(c,f)}p((e=e.apply(t,r||[])).next())})},wi={prefix:ke,jwtAlg:"RS256",verifySignature:(t,r,n)=>Di(void 0,void 0,void 0,function*(){let e=fi(t);return Kr(e,r,n)})},bi={prefix:Oe,jwtAlg:"RS256",verifySignature:(t,r,n)=>Di(void 0,void 0,void 0,function*(){let e=ci(t);return Kr(e,r,n)})};var Ps=function(t,r,n,e){function i(a){return a instanceof n?a:new n(function(l){l(a)})}return new(n||(n=Promise))(function(a,l){function c(u){try{p(e.next(u))}catch(y){l(y)}}function f(u){try{p(e.throw(u))}catch(y){l(y)}}function p(u){u.done?a(u.value):i(u.value).then(c,f)}p((e=e.apply(t,r||[])).next())})},xi={prefix:Me,jwtAlg:"ES256",verifySignature:(t,r,n)=>Ps(void 0,void 0,void 0,function*(){let e=yi(t);return hi(e,r,n)})};var Us=function(t,r,n,e){function i(a){return a instanceof n?a:new n(function(l){l(a)})}return new(n||(n=Promise))(function(a,l){function c(u){try{p(e.next(u))}catch(y){l(y)}}function f(u){try{p(e.throw(u))}catch(y){l(y)}}function p(u){u.done?a(u.value):i(u.value).then(c,f)}p((e=e.apply(t,r||[])).next())})},Bs=function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=t[Symbol.asyncIterator],n;return r?r.call(t):(t=typeof __values=="function"?__values(t):t[Symbol.iterator](),n={},e("next"),e("throw"),e("return"),n[Symbol.asyncIterator]=function(){return this},n);function e(a){n[a]=t[a]&&function(l){return new Promise(function(c,f){l=t[a](l),i(c,f,l.done,l.value)})}}function i(a,l,c,f){Promise.resolve(f).then(function(p){a({value:p,done:c})},l)}},gi="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",Ei=(t=6)=>{let r="";for(let n=0;n<t;n++)r+=gi[Math.floor(Math.random()*gi.length)];return r};function F(t,r){return typeof t=="object"&&t!=null&&r in t}function it(t){return typeof t=="object"&&t!=null}function Ls(t){return typeof t=="object"&&t!=null&&Symbol.iterator in t}function Ns(t){return typeof t=="object"&&t!=null&&Symbol.asyncIterator in t}function Si(t){if(Ls(t)){for(let r of t)return r;return}else{if(Ns(t))return Us(this,void 0,void 0,function*(){var r,n;try{for(var e=Bs(t),i;i=yield e.next(),!i.done;)return i.value}catch(a){r={error:a}}finally{try{i&&!i.done&&(n=e.return)&&(yield n.call(e))}finally{if(r)throw r.error}}});throw new TypeError(`Expected either Iterable or AsyncIterable, but got ${t}`)}}function Ci(t){return it(t)&&F(t,"major")&&typeof t.major=="number"&&F(t,"minor")&&typeof t.minor=="number"&&F(t,"patch")&&typeof t.patch=="number"}var Fs=/^0|[1-9]\d*/,Rs=t=>r=>{let n=r.match(t);return n?n[0].length===r.length:!1};function He(t){var r,n,e;let i=t.match(/^(?<major>0|[1-9]\d*)\.(?<minor>0|[1-9]\d*)\.(?<patch>0|[1-9]\d*)(?:-(?<prerelease>(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+(?<buildmetadata>[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/);if(i===null)return null;let a=`${(r=i.groups)===null||r===void 0?void 0:r.major}.${(n=i.groups)===null||n===void 0?void 0:n.minor}.${(e=i.groups)===null||e===void 0?void 0:e.patch}`.split(".");if(a.length!==3||!a.every(Rs(Fs)))return null;let[l,c,f]=a.map(p=>parseInt(p,10));return!Number.isSafeInteger(l)||!Number.isSafeInteger(c)||!Number.isSafeInteger(f)||l<0||c<0||f<0?null:{major:l,minor:c,patch:f}}function Ii(t){return`${t.major}.${t.minor}.${t.patch}`}var Ai=1,_i=0,zr=-1;function Hr(t,r){return t==null?r==null?_i:zr:r==null||t>r?Ai:t<r?zr:_i}function Ts(t,r){let n=typeof t=="string"?He(t):t,e=typeof r=="string"?He(r):r;return Hr(n?.major,e?.major)||Hr(n?.minor,e?.minor)||Hr(n?.patch,e?.patch)}function be(t,r){return Ts(t,r)===zr}function Pi(t,r){return!be(t,r)}var j="*";var Ui="/";function Vr(t){return t===j||it(t)&&F(t,"namespace")&&typeof t.namespace=="string"&&F(t,"segments")&&Array.isArray(t.segments)&&t.segments.every(r=>typeof r=="string")}function Ms(t){return t.join(Ui)}function Bi(t){switch(t){case j:return t;default:return Ms([t.namespace,...t.segments])}}function Li(t){switch(t){case j:return j;default:{let[r,...n]=t.split(Ui);return{namespace:r,segments:n}}}}var Jr=":";function Xr(t){return it(t)&&F(t,"scheme")&&typeof t.scheme=="string"&&F(t,"hierPart")&&(t.hierPart===j||typeof t.hierPart=="string")}function Fi(t){return{scheme:"my",hierPart:t}}function Ri(t){return`${t.scheme}${Jr}${t.hierPart}`}function Ti(t){let[r,...n]=t.split(Jr);return{scheme:r,hierPart:n.join(Jr)}}function Lt(t){return it(t)&&F(t,"with")&&Xr(t.with)&&F(t,"can")&&Vr(t.can)}function ze(t){return it(t)&&F(t,"with")&&typeof t.with=="string"&&F(t,"can")&&typeof t.can=="string"}function Mi(t){return{with:Fi(t),can:j}}function ki(t){return{with:Ri(t.with),can:Bi(t.can)}}function Oi(t){return{with:Ti(t.with),can:Li(t.can)}}function Ge(t){return it(t)&&F(t,"jwtAlg")&&typeof t.jwtAlg=="string"&&F(t,"sign")&&typeof t.sign=="function"}function $i(t){return it(t)&&F(t,"alg")&&typeof t.alg=="string"&&F(t,"typ")&&typeof t.typ=="string"&&F(t,"ucv")&&Ci(t.ucv)}function qi(t){return it(t)&&F(t,"iss")&&typeof t.iss=="string"&&F(t,"aud")&&typeof t.aud=="string"&&F(t,"exp")&&typeof t.exp=="number"&&(!F(t,"nbf")||typeof t.nbf=="number")&&(!F(t,"nnc")||typeof t.nnc=="string")&&F(t,"att")&&Array.isArray(t.att)&&t.att.every(r=>Lt(r)||ze(r))&&(!F(t,"fct")||Array.isArray(t.fct)&&t.fct.every(it))&&F(t,"prf")&&Array.isArray(t.prf)&&t.prf.every(r=>typeof r=="string")}var Os={major:0,minor:3,patch:0};function Ks(t){return it(t)&&F(t,"alg")&&typeof t.alg=="string"&&F(t,"typ")&&typeof t.typ=="string"&&F(t,"uav")&&typeof t.uav=="string"}function $s(t){return it(t)&&F(t,"iss")&&typeof t.iss=="string"&&F(t,"aud")&&typeof t.aud=="string"&&(!F(t,"nbf")||typeof t.nbf=="number")&&F(t,"exp")&&typeof t.exp=="number"&&F(t,"rsc")&&(typeof t.rsc=="string"||it(t))&&F(t,"ptc")&&typeof t.ptc=="string"&&(!F(t,"prf")||typeof t.prf=="string")}function Hi(t,r){let n=(i,a)=>new Error(`Can't parse UCAN ${i}: ${a}`);if(!it(t))throw n("header","Invalid format: Expected a record");let e="0.9.1";if(!F(t,"ucv")||typeof t.ucv!="string"){if(!F(t,"uav")||typeof t.uav!="string")throw n("header","Invalid format: Missing version indicator");if(t.uav!=="1.0.0")throw n("header",`Unsupported version 'uav: ${t.uav}'`);e="0.3.0"}else if(be(t.ucv,"0.8.0"))throw n("header",`Unsupported version 'ucv: ${t.ucv}'`);if(Pi(e,"0.8.0")){if(typeof t.ucv!="string")throw n("header","Invalid format: Missing 'ucv' key or 'ucv' is not a string");if(t.ucv=He(t.ucv),t.ucv==null)throw n("header","Invalid format: 'ucv' string cannot be parsed into a semantic version");if(!$i(t))throw n("header","Invalid format");if(!qi(r))throw n("payload","Invalid format");return{header:t,payload:r}}if(!Ks(t))throw n("header","Invalid version 0.3.0 format");if(!$s(r))throw n("payload","Invalid version 0.3.0 format");return{header:{alg:t.alg,typ:t.typ,ucv:Os},payload:{iss:r.iss,aud:r.aud,nbf:r.nbf,exp:r.exp,att:(()=>{if(r.rsc===j||typeof r.rsc=="string")return[Mi(j)];let i=r.rsc;return Object.keys(i).map(a=>({with:{scheme:a,hierPart:i[a]},can:r.ptc===j?j:{namespace:a,segments:[r.ptc]}}))})(),prf:r.prf!=null?[r.prf]:[]}}}var zi=function(t,r,n,e){function i(a){return a instanceof n?a:new n(function(l){l(a)})}return new(n||(n=Promise))(function(a,l){function c(u){try{p(e.next(u))}catch(y){l(y)}}function f(u){try{p(e.throw(u))}catch(y){l(y)}}function p(u){u.done?a(u.value):i(u.value).then(c,f)}p((e=e.apply(t,r||[])).next())})},Yt=function(t){return this instanceof Yt?(this.v=t,this):new Yt(t)},qs=function(t,r,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=n.apply(t,r||[]),i,a=[];return i={},l("next"),l("throw"),l("return"),i[Symbol.asyncIterator]=function(){return this},i;function l(g){e[g]&&(i[g]=function(U){return new Promise(function(S,C){a.push([g,U,S,C])>1||c(g,U)})})}function c(g,U){try{f(e[g](U))}catch(S){y(a[0][3],S)}}function f(g){g.value instanceof Yt?Promise.resolve(g.value.v).then(p,u):y(a[0][2],g)}function p(g){c("next",g)}function u(g){c("throw",g)}function y(g,U){g(U),a.shift(),a.length&&c(a[0][0],a[0][1])}},Hs="JWT",zs={major:0,minor:8,patch:1},Gi=t=>r=>{let n=r.issuer,e=Zr(Object.assign(Object.assign({},r),{issuer:n.did()}));return xe(t)(e,n)};function Zr(t){let{issuer:r,audience:n,capabilities:e=[],lifetimeInSeconds:i=30,expiration:a,notBefore:l,facts:c,proofs:f=[],addNonce:p=!1}=t;if(!r.startsWith("did:"))throw new Error("The issuer must be a DID");if(!n.startsWith("did:"))throw new Error("The audience must be a DID");let u=Math.floor(Date.now()/1e3),y=a||u+i;return{aud:n,att:e,exp:y,fct:c,iss:r,nbf:l,nnc:p?Ei():void 0,prf:f}}var Wr=t=>(r,n,e)=>zi(void 0,void 0,void 0,function*(){let i={alg:n,typ:Hs,ucv:zs};if(!t.verifyIssuerAlg(r.iss,n))throw new Error("The issuer's key type must match the given key type.");let a=Gs(i),l=Vs(r),c=`${a}.${l}`,f=wt(c,"utf8"),p=yield e(f);return Object.freeze({header:i,payload:r,signedData:c,signature:bt(p,"base64url")})}),xe=t=>(r,n)=>Wr(t)(r,n.jwtAlg,e=>n.sign(e));function gt(t){return`${t.signedData}.${t.signature}`}function Gs(t){let r=Object.assign(Object.assign({},t),{ucv:Ii(t.ucv)});return bt(wt(JSON.stringify(r),"utf8"),"base64url")}function Vs(t){let r=Object.assign(Object.assign({},t),{att:t.att.map(ki)});return bt(wt(JSON.stringify(r),"utf8"),"base64url")}function Js(t){let[r,n,e]=t.split(".");if(r==null||n==null||e==null)throw new Error(`Can't parse UCAN: ${t}: Expected JWT format: 3 dot-separated base64url-encoded values.`);let i,a;try{i=bt(wt(r,"base64url"),"utf8")}catch{throw new Error(`Can't parse UCAN header: ${r}: Can't parse as base64url.`)}try{a=JSON.parse(i)}catch{throw new Error(`Can't parse UCAN header: ${r}: Can't parse encoded JSON inside.`)}let l,c;try{l=bt(wt(n,"base64url"),"utf8")}catch{throw new Error(`Can't parse UCAN payload: ${n}: Can't parse as base64url.`)}try{c=JSON.parse(l)}catch{throw new Error(`Can't parse UCAN payload: ${n}: Can't parse encoded JSON inside.`)}let{header:f,payload:p}=Hi(a,c),u=p.att.reduce((y,g)=>ze(g)?[...y,Oi(g)]:Lt(g)?[...y,g]:y,[]);return{header:f,payload:Object.assign(Object.assign({},p),{att:u})}}var Qt=t=>(r,n)=>zi(void 0,void 0,void 0,function*(){let{checkIssuer:e=!0,checkSignature:i=!0,checkIsExpired:a=!0,checkIsTooEarly:l=!0}=n??{},{header:c,payload:f}=Js(r),[p,u,y]=r.split(".");if(e&&!t.verifyIssuerAlg(f.iss,c.alg))throw new Error(`Invalid UCAN: ${r}: Issuer key type does not match UCAN's \`alg\` property.`);if(i){let S=wt(y,"base64url"),C=wt(`${p}.${u}`,"utf8");if(!(yield t.verifySignature(f.iss,C,S)))throw new Error(`Invalid UCAN: ${r}: Signature invalid.`)}let g=`${p}.${u}`,U={header:c,payload:f,signedData:g,signature:y};if(a&&Xs(U))throw new Error(`Invalid UCAN: ${r}: Expired.`);if(l&&Zs(U))throw new Error(`Invalid UCAN: ${r}: Not active yet (too early).`);return U}),Ve=t=>function(r,n){return qs(this,arguments,function*(){let{checkAddressing:e=!0,checkTimeBoundsSubset:i=!0,checkVersionMonotonic:a=!0}=n||{};for(let l of r.payload.prf)try{let c=yield Yt(Qt(t)(l,n));if(e&&r.payload.iss!==c.payload.aud)throw new Error(`Invalid Proof: Issuer ${r.payload.iss} doesn't match parent's audience ${c.payload.aud}`);if(i&&c.payload.nbf!=null&&r.payload.exp>c.payload.nbf)throw new Error(`Invalid Proof: 'Not before' (${c.payload.nbf}) is after parent's expiration (${r.payload.exp})`);if(i&&r.payload.nbf!=null&&r.payload.nbf>c.payload.exp)throw new Error(`Invalid Proof: Expiration (${c.payload.exp}) is before parent's 'not before' (${r.payload.nbf})`);if(a&&be(r.header.ucv,c.header.ucv))throw new Error(`Invalid Proof: Version (${c.header.ucv}) is higher than parent's version (${r.header.ucv})`);yield yield Yt(c)}catch(c){c instanceof Error?yield yield Yt(c):yield yield Yt(new Error(`Error when trying to parse UCAN proof: ${c}`))}})};function Xs(t){return t.payload.exp<=Math.floor(Date.now()/1e3)}var Zs=t=>t.payload.nbf==null?!1:t.payload.nbf>Math.floor(Date.now()/1e3);var Ws=function(t,r,n,e){function i(a){return a instanceof n?a:new n(function(l){l(a)})}return new(n||(n=Promise))(function(a,l){function c(u){try{p(e.next(u))}catch(y){l(y)}}function f(u){try{p(e.throw(u))}catch(y){l(y)}}function p(u){u.done?a(u.value):i(u.value).then(c,f)}p((e=e.apply(t,r||[])).next())})},Z=function(t){return this instanceof Z?(this.v=t,this):new Z(t)},Rt=function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=t[Symbol.asyncIterator],n;return r?r.call(t):(t=typeof __values=="function"?__values(t):t[Symbol.iterator](),n={},e("next"),e("throw"),e("return"),n[Symbol.asyncIterator]=function(){return this},n);function e(a){n[a]=t[a]&&function(l){return new Promise(function(c,f){l=t[a](l),i(c,f,l.done,l.value)})}}function i(a,l,c,f){Promise.resolve(f).then(function(p){a({value:p,done:c})},l)}},Ee=function(t){var r,n;return r={},e("next"),e("throw",function(i){throw i}),e("return"),r[Symbol.iterator]=function(){return this},r;function e(i,a){r[i]=t[i]?function(l){return(n=!n)?{value:Z(t[i](l)),done:i==="return"}:a?a(l):l}:a}},Se=function(t,r,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=n.apply(t,r||[]),i,a=[];return i={},l("next"),l("throw"),l("return"),i[Symbol.asyncIterator]=function(){return this},i;function l(g){e[g]&&(i[g]=function(U){return new Promise(function(S,C){a.push([g,U,S,C])>1||c(g,U)})})}function c(g,U){try{f(e[g](U))}catch(S){y(a[0][3],S)}}function f(g){g.value instanceof Z?Promise.resolve(g.value.v).then(p,u):y(a[0][2],g)}function p(g){c("next",g)}function u(g){c("throw",g)}function y(g,U){g(U),a.shift(),a.length&&c(a[0][0],a[0][1])}},Tt=t=>function(r,n,e=()=>Ws(this,void 0,void 0,function*(){return!1})){return Se(this,arguments,function*(){if(yield Z(e(n)))return yield yield Z(new Error(`UCAN Revoked: ${gt(n)}`)),yield Z(void 0);yield Z(yield*Ee(Rt(Qs(n)))),yield Z(yield*Ee(Rt(js(t,r,n,e))))})};function Ae(t){return"capability"in t?t.chainStep==null?t.ucan.payload.iss:Ae(t.chainStep):t.ownershipDID}var Vi={canDelegateResource(t,r){return t.scheme!==r.scheme?!1:t.hierPart===r.hierPart},canDelegateAbility(t,r){return t===j?!0:r===j||t.namespace!==r.namespace||t.segments.length!==r.segments.length?!1:t.segments.reduce((n,e,i)=>n&&r.segments[i]===e,!0)}};function jt(t,r,n){if("capability"in n)return nu(t,n.capability,r);let e=n.scope;return e===j?!0:e.scheme==r.with.scheme&&t.canDelegateAbility(e.ability,r.can)}function Ys(t,r,n,e){if(r!==e.ownershipDID)return!1;let i=e.scope;return i===j?!0:n===j?!1:i.scheme===n.scheme&&t.canDelegateAbility(i.ability,n.ability)}function*Qs(t){for(let r of t.payload.att)switch(r.with.scheme.toLowerCase()){case"my":{let n=r.with.hierPart===j?j:{scheme:r.with.hierPart,ability:r.can};yield{ownershipDID:t.payload.iss,scope:n,ucan:t};break}case"as":case"prf":break;default:yield{capability:r,ucan:t}}}function js(t,r,n,e){return Se(this,arguments,function*(){var a,l;let c=0;try{for(var f=Rt(Ve(t)(n)),p;p=yield Z(f.next()),!p.done;){let y=p.value;if(y instanceof Error){yield yield Z(y);continue}for(let g of n.payload.att)try{switch(g.with.scheme.toLowerCase()){case"my":continue;case"as":{yield Z(yield*Ee(Rt(tu(t,r,g,n,y,e))));break}case"prf":{yield Z(yield*Ee(Rt(eu(t,r,g,n,y,c,e))));break}default:yield Z(yield*Ee(Rt(ru(t,r,g,n,y,e))))}}catch(U){yield yield Z(u(U))}c++}}catch(y){a={error:y}}finally{try{p&&!p.done&&(l=f.return)&&(yield Z(l.call(f)))}finally{if(a)throw a.error}}function u(y){return y instanceof Error?y:new Error(`Error during capability delegation checking: ${y}`)}})}function tu(t,r,n,e,i,a){return Se(this,arguments,function*(){var c,f;let p=n.with.hierPart.split(":"),u=p[p.length-1],y=p.slice(0,-1).join(":"),g=u===j?j:{scheme:u,ability:n.can};try{for(var U=Rt(Tt(t)(r,i,a)),S;S=yield Z(U.next()),!S.done;){let C=S.value;if(C instanceof Error){yield yield Z(C);continue}"ownershipDID"in C&&Ys(r,y,g,C)&&(yield yield Z({ownershipDID:y,scope:g,ucan:e,chainStep:C}))}}catch(C){c={error:C}}finally{try{S&&!S.done&&(f=U.return)&&(yield Z(f.call(U)))}finally{if(c)throw c.error}}})}function eu(t,r,n,e,i,a,l){return Se(this,arguments,function*(){var f,p;if(n.with.hierPart!==j&&parseInt(n.with.hierPart,10)!==a)return yield Z(void 0);try{for(var u=Rt(Tt(t)(r,i,l)),y;y=yield Z(u.next()),!y.done;){let g=y.value;if(g instanceof Error){yield yield Z(g);continue}"capability"in g&&(yield yield Z({capability:g.capability,ucan:e,chainStep:g}))}}catch(g){f={error:g}}finally{try{y&&!y.done&&(p=u.return)&&(yield Z(p.call(u)))}finally{if(f)throw f.error}}})}function ru(t,r,n,e,i,a){return Se(this,arguments,function*(){var c,f;try{for(var p=Rt(Tt(t)(r,i,a)),u;u=yield Z(p.next()),!u.done;){let y=u.value;if(y instanceof Error){yield yield Z(y);continue}jt(r,n,y)&&(yield yield Z({capability:n,ucan:e,chainStep:y}))}}catch(y){c={error:y}}finally{try{u&&!u.done&&(f=p.return)&&(yield Z(f.call(p)))}finally{if(c)throw c.error}}})}function nu(t,r,n){return t.canDelegateResource(r.with,n.with)&&t.canDelegateAbility(r.can,n.can)}var Ji=function(t,r,n,e){function i(a){return a instanceof n?a:new n(function(l){l(a)})}return new(n||(n=Promise))(function(a,l){function c(u){try{p(e.next(u))}catch(y){l(y)}}function f(u){try{p(e.throw(u))}catch(y){l(y)}}function p(u){u.done?a(u.value):i(u.value).then(c,f)}p((e=e.apply(t,r||[])).next())})},ou=function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=t[Symbol.asyncIterator],n;return r?r.call(t):(t=typeof __values=="function"?__values(t):t[Symbol.iterator](),n={},e("next"),e("throw"),e("return"),n[Symbol.asyncIterator]=function(){return this},n);function e(a){n[a]=t[a]&&function(l){return new Promise(function(c,f){l=t[a](l),i(c,f,l.done,l.value)})}}function i(a,l,c,f){Promise.resolve(f).then(function(p){a({value:p,done:c})},l)}},au=t=>({ok:!0,value:t}),Yr=t=>({ok:!1,error:t}),Xi=t=>(r,n)=>Ji(void 0,void 0,void 0,function*(){var e,i,a,l,c;let{audience:f,requiredCapabilities:p}=n,u=(a=n.semantics)!==null&&a!==void 0?a:Vi,y=(l=n.isRevoked)!==null&&l!==void 0?l:()=>Ji(void 0,void 0,void 0,function*(){return!1}),g=(c=n.checkFacts)!==null&&c!==void 0?c:()=>!0;if(typeof r!="string")throw new TypeError(`Expected an encoded UCAN string as first argument, but got ${r}`);if(typeof f!="string"||!f.startsWith("did:"))throw new TypeError(`Expected a DID string as second argument, but got ${f}`);if(typeof y!="function")throw new TypeError(`Expected a function returning a promise as third argument, but got ${y}`);if(!Array.isArray(p))throw new TypeError(`Expected an array as fourth argument, but got ${p}`);if(p.length<1)throw new TypeError("Expected a non-empty list of required capabilities as 4th argument.");if(p.some(C=>!Lt(C.capability)||typeof C.rootIssuer!="string"||!C.rootIssuer.startsWith("did:")))throw new TypeError(`Expected an array of records of capabilities and rootIssuers as DID strings as 4th argument, but got ${p}`);if(typeof u.canDelegateResource!="function"||typeof u.canDelegateAbility!="function")throw new TypeError(`Expected a record with two functions 'canDelegateResource' and 'canDelegateAbility' as 5th argument, but got ${u}`);if(typeof g!="function")throw new TypeError(`Expected a function as 6th argument, but got ${g}`);try{let C=yield Qt(t)(r);if(C.payload.aud!==f)return Yr([new Error(`Invalid UCAN: Expected audience to be ${f}, but it's ${C.payload.aud}`)]);let M=[],R=new Set(p),k=[];try{t:for(var U=ou(Tt(t)(u,C,y)),S;S=yield U.next(),!S.done;){let B=S.value;if(B instanceof Error){M.push(B);continue}for(let N of R)jt(u,N.capability,B)&&Ae(B)===N.rootIssuer&&(R.delete(N),k.push(Object.assign(Object.assign({},N),{proof:B})));if(R.size===0)break t}}catch(B){e={error:B}}finally{try{S&&!S.done&&(i=U.return)&&(yield i.call(U))}finally{if(e)throw e.error}}return R.size>0?Yr(M):au(k)}catch(C){return Yr([C instanceof Error?C:new Error(`Unknown error during UCAN verification: ${C}`)])}});var uu=function(t,r,n,e){function i(a){return a instanceof n?a:new n(function(l){l(a)})}return new(n||(n=Promise))(function(a,l){function c(u){try{p(e.next(u))}catch(y){l(y)}}function f(u){try{p(e.throw(u))}catch(y){l(y)}}function p(u){u.done?a(u.value):i(u.value).then(c,f)}p((e=e.apply(t,r||[])).next())})};function Zi(t){return it(t)&&F(t,"issuer")&&Ge(t.issuer)&&F(t,"audience")&&typeof t.audience=="string"&&F(t,"expiration")&&typeof t.expiration=="number"}function fu(t){return it(t)&&F(t,"issuer")&&Ge(t.issuer)&&F(t,"expiration")&&typeof t.expiration=="number"}var cu=t=>class Ut{constructor(n,e){this.state=n,this.defaultable=e}static create(){return new Ut({},{capabilities:[],facts:[],proofs:[],addNonce:!1})}issuedBy(n){if(!Ge(n))throw new TypeError(`Expected a Keypair, but got ${n}`);return new Ut(Object.assign(Object.assign({},this.state),{issuer:n}),this.defaultable)}toAudience(n){if(typeof n!="string")throw new TypeError(`Expected audience DID as string, but got ${n}`);return new Ut(Object.assign(Object.assign({},this.state),{audience:n}),this.defaultable)}withLifetimeInSeconds(n){if(typeof n!="number")throw new TypeError(`Expected seconds as number, but got ${n}`);if(!isFinite(n)||n<=0)throw new TypeError(`Expected seconds to be a positive number, but got ${n}`);return this.withExpiration(Math.floor(Date.now()/1e3)+n)}withExpiration(n){if(typeof n!="number"||!isFinite(n))throw new TypeError(`Expected expiration as number, but got ${n}`);if(this.defaultable.notBefore!=null&&n<this.defaultable.notBefore)throw new Error(`Can't set expiration to ${n} which is before 'notBefore': ${this.defaultable.notBefore}`);return new Ut(Object.assign(Object.assign({},this.state),{expiration:n}),this.defaultable)}withNotBefore(n){if(typeof n!="number"||!isFinite(n))throw new TypeError(`Expected notBeforeTimestamp as number, but got ${n}`);if(F(this.state,"expiration")&&typeof this.state.expiration=="number"&&this.state.expiration<n)throw new Error(`Can't set 'notBefore' to ${n} which is after expiration: ${this.state.expiration}`);return new Ut(this.state,Object.assign(Object.assign({},this.defaultable),{notBefore:n}))}withFact(n,...e){if(!it(n)||e.some(i=>!it(i)))throw new TypeError(`Expected fact(s) to be a record, but got ${n}`);return new Ut(this.state,Object.assign(Object.assign({},this.defaultable),{facts:[...this.defaultable.facts,n,...e]}))}withNonce(){return new Ut(this.state,Object.assign(Object.assign({},this.defaultable),{addNonce:!0}))}claimCapability(n,...e){if(!Lt(n))throw new TypeError(`Expected capability, but got ${JSON.stringify(n,null," ")}`);return new Ut(this.state,Object.assign(Object.assign({},this.defaultable),{capabilities:[...this.defaultable.capabilities,n,...e]}))}delegateCapability(n,e,i){if(!Lt(n))throw new TypeError(`Expected 'requiredCapability' as a second argument, but got ${n}`);if(!fu(this.state))throw new Error("Can't delegate capabilities without having these paramenters set in the builder: issuer and expiration.");function a(l){return F(l,"capability")||F(l,"ownershipDID")}if(a(e)){if(i==null)throw new TypeError("Expected 'semantics' as third argument if a 'proof' DelegationChain was passed as second.");let l=e,c=l.ucan;if(!jt(i,n,l))throw new Error("Can't add capability to UCAN: Given proof doesn't give required rights to delegate.");return new Ut(this.state,Object.assign(Object.assign({},this.defaultable),{capabilities:[...this.defaultable.capabilities,n],proofs:this.defaultable.proofs.find(f=>gt(f)===gt(c))==null?[...this.defaultable.proofs,c]:this.defaultable.proofs}))}else{let l=e,c=this.state.issuer.did(),f=Si(l.findWithCapability(c,n,c));if(f!=null){let p=f.ucan,u=gt(p);return new Ut(this.state,Object.assign(Object.assign({},this.defaultable),{capabilities:[...this.defaultable.capabilities,n],proofs:this.defaultable.proofs.find(y=>gt(y)===u)==null?[...this.defaultable.proofs,p]:this.defaultable.proofs}))}else throw new Error("Couldn't add capability to UCAN. Couldn't find anything providing this capability in given store.")}}buildPayload(){if(!Zi(this.state))throw new Error("Builder is missing one of the required properties before it can be built: issuer, audience and expiration.");return Zr({issuer:this.state.issuer.did(),audience:this.state.audience,expiration:this.state.expiration,notBefore:this.defaultable.notBefore,addNonce:this.defaultable.addNonce,capabilities:this.defaultable.capabilities,facts:this.defaultable.facts,proofs:this.defaultable.proofs.map(n=>gt(n))})}build(){return uu(this,void 0,void 0,function*(){if(!Zi(this.state))throw new Error("Builder is missing one of the required properties before it can be built: issuer, audience and expiration.");let n=this.buildPayload();return yield xe(t)(n,this.state.issuer)})}},Wi=cu;var Yi=function(t,r,n,e){function i(a){return a instanceof n?a:new n(function(l){l(a)})}return new(n||(n=Promise))(function(a,l){function c(u){try{p(e.next(u))}catch(y){l(y)}}function f(u){try{p(e.throw(u))}catch(y){l(y)}}function p(u){u.done?a(u.value):i(u.value).then(c,f)}p((e=e.apply(t,r||[])).next())})},Qi=function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=t[Symbol.asyncIterator],n;return r?r.call(t):(t=typeof __values=="function"?__values(t):t[Symbol.iterator](),n={},e("next"),e("throw"),e("return"),n[Symbol.asyncIterator]=function(){return this},n);function e(a){n[a]=t[a]&&function(l){return new Promise(function(c,f){l=t[a](l),i(c,f,l.done,l.value)})}}function i(a,l,c,f){Promise.resolve(f).then(function(p){a({value:p,done:c})},l)}},lu=t=>class Qr{constructor(n,e){this.index=e,this.knownSemantics=n}static empty(n){return new Qr(n,{})}static fromTokens(n,e){var i,a,l,c;return Yi(this,void 0,void 0,function*(){let f=Qr.empty(n);try{for(i=Qi(e);a=yield i.next(),!a.done;){let p=a.value,u=yield Qt(t)(p);yield f.add(u)}}catch(p){l={error:p}}finally{try{a&&!a.done&&(c=i.return)&&(yield c.call(i))}finally{if(l)throw l.error}}return f})}add(n){var e,i,a;return Yi(this,void 0,void 0,function*(){let l=n.payload.aud,c=(a=this.index[l])!==null&&a!==void 0?a:[],f=gt(n);if(c.find(g=>gt(g.processedUcan)===f)!=null)return;let p=[];try{for(var u=Qi(Tt(t)(this.knownSemantics,n)),y;y=yield u.next(),!y.done;){let g=y.value;if(g instanceof Error){console.warn("Delegation chain error while storing UCAN:",g);continue}p.push(g)}}catch(g){e={error:g}}finally{try{y&&!y.done&&(i=u.return)&&(yield i.call(u))}finally{if(e)throw e.error}}c.find(g=>gt(g.processedUcan)===f)==null&&(c.push({processedUcan:n,capabilities:p}),this.index[l]=c)})}getByAudience(n){var e;return((e=this.index[n])!==null&&e!==void 0?e:[]).map(i=>i.processedUcan)}findByAudience(n,e){var i,a,l;return(l=(a=(i=this.index[n])===null||i===void 0?void 0:i.find(c=>e(c.processedUcan)))===null||a===void 0?void 0:a.processedUcan)!==null&&l!==void 0?l:null}*findWithCapability(n,e,i){let a=this.index[n];if(a!=null)for(let l of a)for(let c of l.capabilities)jt(this.knownSemantics,e,c)&&Ae(c)===i&&(yield c)}},ji=lu;var pu=function(t,r,n,e){function i(a){return a instanceof n?a:new n(function(l){l(a)})}return new(n||(n=Promise))(function(a,l){function c(u){try{p(e.next(u))}catch(y){l(y)}}function f(u){try{p(e.throw(u))}catch(y){l(y)}}function p(u){u.done?a(u.value):i(u.value).then(c,f)}p((e=e.apply(t,r||[])).next())})},Je=class{constructor(r,n){this.keys=r,this.methods=n}verifyIssuerAlg(r,n){let e=no(r);if(e==="key"){let i=ro(r);for(let a of this.keys)if(to(i,a.prefix))return n===a.jwtAlg}else{let i=this.methods[e];if(i)return i.checkJwtAlg(r,n)}throw new Error(`DID method not supported by plugins: ${r}`)}verifySignature(r,n,e){return pu(this,void 0,void 0,function*(){let i=no(r);if(i==="key"){let a=ro(r);for(let l of this.keys)if(to(a,l.prefix))return l.verifySignature(r,n,e)}else{let a=this.methods[i];if(a)return a.verifySignature(r,n,e)}throw new Error(`DID method not supported by plugins: ${r}`)})}};var to=(t,r)=>te(r,t.subarray(0,r.byteLength)),eo="did:key:z",ro=t=>{if(!t.startsWith(eo))throw new Error(`Not a valid base58 formatted did:key: ${t}`);return wt(t.slice(eo.length),"base58btc")},no=t=>{let r=t.split(":");if(r[0]!=="did")throw new Error(`Not a DID: ${t}`);if(r[1].length<1)throw new Error(`No DID method included: ${t}`);return r[1]};var io=t=>{let r=Gi(t),n=Wr(t),e=xe(t),i=Qt(t),a=Ve(t),l=Xi(t),c=Tt(t),f=Wi(t),p=ji(t);return{build:r,sign:n,signWithKeypair:e,validate:i,validateProofs:a,verify:l,delegationChains:c,Builder:f,Store:p}};var oo=new Je([vi,xi,wi,bi],{});var Mt=io(oo),ao=Mt.build,dl=Mt.sign,hl=Mt.signWithKeypair,so=Mt.validate,yl=Mt.validateProofs,ml=Mt.verify,vl=Mt.Builder,Dl=Mt.Store,wl=Mt.delegationChains;var{WARN:Ul,LOG:Du,DEBUG:_e,VERBOSE:Bl,ERROR:Ll}=Ye.setup(Ye.DEBUG);async function Nl(t,r){let n=await(await fetch("https://api.nft.storage/upload",{method:"POST",headers:{Authorization:`Bearer ${gt(r)}`,"Content-Type":"application/car","x-agent-did":r.payload.iss},body:t})).json();if(Du("[storeCar] result",n),!n.ok)throw new Error("Failed to register DID "+JSON.stringify(n.error));return Qe.parse(n.value.cid)}async function Fl(t,r,n){_e("[createRequestToken] ",{keypair:t,ucanToken:n});let e=n.payload;return ao({issuer:t,audience:r,capabilities:e.att,proofs:[gt(n)]})}async function Rl(t,r){_e("Registering",{did:r});let n=await(await fetch("https://api.nft.storage/user/did",{method:"POST",headers:{Authorization:`Bearer ${t}`},body:JSON.stringify({did:r})})).json();if(_e("Register DID result",n),!n.ok)throw new Error("Failed to register DID "+JSON.stringify(n.error))}async function Tl(t){_e("Get root UCAN",{apiKey:t});let r=await(await fetch("https://api.nft.storage/ucan/token",{method:"POST",headers:{Authorization:`Bearer ${t}`}})).json();if(_e("Get root UCAN result",r),!r.ok)throw new Error("Failed get root UCAN "+JSON.stringify(r.error));return so(r.value)}export{ii as a,Nl as b,Fl as c,Rl as d,Tl as e};
|
|
16
|
+
//# sourceMappingURL=chunk-ZCSMRYJN.min.js.map
|