simple-hpke 0.1.5 → 0.3.1
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.
- package/README.md +137 -23
- package/dist/constants.cjs +115 -53
- package/dist/constants.cjs.map +4 -4
- package/dist/constants.d.ts +2 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +115 -53
- package/dist/constants.js.map +4 -4
- package/dist/constants.min.cjs +1 -1
- package/dist/constants.min.cjs.map +4 -4
- package/dist/constants.min.js +1 -1
- package/dist/constants.min.js.map +4 -4
- package/dist/errors.cjs +38 -0
- package/dist/errors.cjs.map +7 -0
- package/dist/errors.d.ts +22 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +19 -0
- package/dist/errors.js.map +7 -0
- package/dist/errors.min.cjs +2 -0
- package/dist/errors.min.cjs.map +7 -0
- package/dist/errors.min.js +2 -0
- package/dist/errors.min.js.map +7 -0
- package/dist/index.cjs +147 -51
- package/dist/index.cjs.map +4 -4
- package/dist/index.d.ts +53 -32
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +147 -51
- package/dist/index.js.map +4 -4
- package/dist/index.min.cjs +1 -1
- package/dist/index.min.cjs.map +4 -4
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +4 -4
- package/dist/meta.json +79 -20
- package/dist/util.cjs +143 -53
- package/dist/util.cjs.map +4 -4
- package/dist/util.d.ts +33 -2
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js +143 -53
- package/dist/util.js.map +4 -4
- package/dist/util.min.cjs +1 -1
- package/dist/util.min.cjs.map +4 -4
- package/dist/util.min.js +1 -1
- package/dist/util.min.js.map +4 -4
- package/package.json +2 -2
package/dist/index.min.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var Z=Object.defineProperty;var St=Object.getOwnPropertyDescriptor;var Ct=Object.getOwnPropertyNames;var Kt=Object.prototype.hasOwnProperty;var i=(e,t)=>Z(e,"name",{value:t,configurable:!0});var h=(e,t)=>{for(var r in t)Z(e,r,{get:t[r],enumerable:!0})},Pt=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Ct(t))!Kt.call(e,o)&&o!==r&&Z(e,o,{get:()=>t[o],enumerable:!(n=St(t,o))||n.enumerable});return e};var Dt=e=>Pt(Z({},"__esModule",{value:!0}),e);var Yr={};h(Yr,{create:()=>Ne,decrypt:()=>qr,encrypt:()=>Hr,open:()=>Gr,seal:()=>Me});module.exports=Dt(Yr);function Y(e=0){return new Uint8Array(e)}i(Y,"allocUnsafe");var fe={};h(fe,{base10:()=>zt});var wn=new Uint8Array(0);function Oe(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}i(Oe,"equals");function C(e){if(e instanceof Uint8Array&&e.constructor.name==="Uint8Array")return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Unknown type, must be binary type")}i(C,"coerce");function _e(e){return new TextEncoder().encode(e)}i(_e,"fromString");function $e(e){return new TextDecoder().decode(e)}i($e,"toString");function It(e,t){if(e.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var o=0;o<e.length;o++){var a=e.charAt(o),s=a.charCodeAt(0);if(r[s]!==255)throw new TypeError(a+" is ambiguous");r[s]=o}var c=e.length,u=e.charAt(0),y=Math.log(c)/Math.log(256),g=Math.log(256)/Math.log(c);function k(f){if(f instanceof Uint8Array||(ArrayBuffer.isView(f)?f=new Uint8Array(f.buffer,f.byteOffset,f.byteLength):Array.isArray(f)&&(f=Uint8Array.from(f))),!(f instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(f.length===0)return"";for(var d=0,I=0,w=0,A=f.length;w!==A&&f[w]===0;)w++,d++;for(var U=(A-w)*g+1>>>0,l=new Uint8Array(U);w!==A;){for(var E=f[w],K=0,x=U-1;(E!==0||K<I)&&x!==-1;x--,K++)E+=256*l[x]>>>0,l[x]=E%c>>>0,E=E/c>>>0;if(E!==0)throw new Error("Non-zero carry");I=K,w++}for(var S=U-I;S!==U&&l[S]===0;)S++;for(var W=u.repeat(d);S<U;++S)W+=e.charAt(l[S]);return W}i(k,"encode");function B(f){if(typeof f!="string")throw new TypeError("Expected String");if(f.length===0)return new Uint8Array;var d=0;if(f[d]!==" "){for(var I=0,w=0;f[d]===u;)I++,d++;for(var A=(f.length-d)*y+1>>>0,U=new Uint8Array(A);f[d];){var l=r[f.charCodeAt(d)];if(l===255)return;for(var E=0,K=A-1;(l!==0||E<w)&&K!==-1;K--,E++)l+=c*U[K]>>>0,U[K]=l%256>>>0,l=l/256>>>0;if(l!==0)throw new Error("Non-zero carry");w=E,d++}if(f[d]!==" "){for(var x=A-w;x!==A&&U[x]===0;)x++;for(var S=new Uint8Array(I+(A-x)),W=I;x!==A;)S[W++]=U[x++];return S}}}i(B,"decodeUnsafe");function Q(f){var d=B(f);if(d)return d;throw new Error(`Non-${t} character`)}return i(Q,"decode"),{encode:k,decodeUnsafe:B,decode:Q}}i(It,"base");var Lt=It,Bt=Lt,Fe=Bt;var ie=class{static{i(this,"Encoder")}name;prefix;baseEncode;constructor(t,r,n){this.name=t,this.prefix=r,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},ae=class{static{i(this,"Decoder")}name;prefix;baseDecode;prefixCodePoint;constructor(t,r,n){this.name=t,this.prefix=r;let o=r.codePointAt(0);if(o===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=o,this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return Ge(this,t)}},se=class{static{i(this,"ComposedDecoder")}decoders;constructor(t){this.decoders=t}or(t){return Ge(this,t)}decode(t){let r=t[0],n=this.decoders[r];if(n!=null)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Ge(e,t){return new se({...e.decoders??{[e.prefix]:e},...t.decoders??{[t.prefix]:t}})}i(Ge,"or");var ce=class{static{i(this,"Codec")}name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,r,n,o){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new ie(t,r,n),this.decoder=new ae(t,r,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function T({name:e,prefix:t,encode:r,decode:n}){return new ce(e,t,r,n)}i(T,"from");function P({name:e,prefix:t,alphabet:r}){let{encode:n,decode:o}=Fe(r,e);return T({prefix:t,name:e,encode:n,decode:i(a=>C(o(a)),"decode")})}i(P,"baseX");function Tt(e,t,r,n){let o=e.length;for(;e[o-1]==="=";)--o;let a=new Uint8Array(o*r/8|0),s=0,c=0,u=0;for(let y=0;y<o;++y){let g=t[e[y]];if(g===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|g,s+=r,s>=8&&(s-=8,a[u++]=255&c>>s)}if(s>=r||(255&c<<8-s)!==0)throw new SyntaxError("Unexpected end of data");return a}i(Tt,"decode");function Nt(e,t,r){let n=t[t.length-1]==="=",o=(1<<r)-1,a="",s=0,c=0;for(let u=0;u<e.length;++u)for(c=c<<8|e[u],s+=8;s>r;)s-=r,a+=t[o&c>>s];if(s!==0&&(a+=t[o&c<<r-s]),n)for(;(a.length*r&7)!==0;)a+="=";return a}i(Nt,"encode");function Mt(e){let t={};for(let r=0;r<e.length;++r)t[e[r]]=r;return t}i(Mt,"createAlphabetIdx");function p({name:e,prefix:t,bitsPerChar:r,alphabet:n}){let o=Mt(n);return T({prefix:t,name:e,encode(a){return Nt(a,n,r)},decode(a){return Tt(a,o,r,e)}})}i(p,"rfc4648");var zt=P({prefix:"9",name:"base10",alphabet:"0123456789"});var pe={};h(pe,{base16:()=>Rt,base16upper:()=>Ot});var Rt=p({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Ot=p({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var ue={};h(ue,{base2:()=>_t});var _t=p({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var ye={};h(ye,{base256emoji:()=>Ht});var He=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),$t=He.reduce((e,t,r)=>(e[r]=t,e),[]),Vt=He.reduce((e,t,r)=>{let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);return e[n]=r,e},[]);function Ft(e){return e.reduce((t,r)=>(t+=$t[r],t),"")}i(Ft,"encode");function Gt(e){let t=[];for(let r of e){let n=r.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${r}`);let o=Vt[n];if(o==null)throw new Error(`Non-base256emoji character: ${r}`);t.push(o)}return new Uint8Array(t)}i(Gt,"decode");var Ht=T({prefix:"\u{1F680}",name:"base256emoji",encode:Ft,decode:Gt});var de={};h(de,{base32:()=>N,base32hex:()=>Jt,base32hexpad:()=>Wt,base32hexpadupper:()=>Zt,base32hexupper:()=>Qt,base32pad:()=>Xt,base32padupper:()=>jt,base32upper:()=>qt,base32z:()=>Yt});var N=p({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),qt=p({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Xt=p({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),jt=p({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Jt=p({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Qt=p({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Wt=p({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Zt=p({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Yt=p({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var he={};h(he,{base36:()=>V,base36upper:()=>er});var V=P({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),er=P({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var le={};h(le,{base58btc:()=>v,base58flickr:()=>tr});var v=P({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),tr=P({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var me={};h(me,{base64:()=>rr,base64pad:()=>nr,base64url:()=>or,base64urlpad:()=>ir});var rr=p({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),nr=p({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),or=p({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),ir=p({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var be={};h(be,{base8:()=>ar});var ar=p({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var we={};h(we,{identity:()=>sr});var sr=T({prefix:"\0",name:"identity",encode:i(e=>$e(e),"encode"),decode:i(e=>_e(e),"decode")});var On=new TextEncoder,_n=new TextDecoder;var ge={};h(ge,{identity:()=>kr});var pr=je,qe=128,ur=127,yr=~ur,dr=Math.pow(2,31);function je(e,t,r){t=t||[],r=r||0;for(var n=r;e>=dr;)t[r++]=e&255|qe,e/=128;for(;e&yr;)t[r++]=e&255|qe,e>>>=7;return t[r]=e|0,je.bytes=r-n+1,t}i(je,"encode");var hr=xe,lr=128,Xe=127;function xe(e,n){var r=0,n=n||0,o=0,a=n,s,c=e.length;do{if(a>=c)throw xe.bytes=0,new RangeError("Could not decode varint");s=e[a++],r+=o<28?(s&Xe)<<o:(s&Xe)*Math.pow(2,o),o+=7}while(s>=lr);return xe.bytes=a-n,r}i(xe,"read");var mr=Math.pow(2,7),br=Math.pow(2,14),wr=Math.pow(2,21),xr=Math.pow(2,28),gr=Math.pow(2,35),Ar=Math.pow(2,42),Ur=Math.pow(2,49),Er=Math.pow(2,56),vr=Math.pow(2,63),Sr=i(function(e){return e<mr?1:e<br?2:e<wr?3:e<xr?4:e<gr?5:e<Ar?6:e<Ur?7:e<Er?8:e<vr?9:10},"length"),Cr={encode:pr,decode:hr,encodingLength:Sr},Kr=Cr,F=Kr;function G(e,t=0){return[F.decode(e,t),F.decode.bytes]}i(G,"decode");function M(e,t,r=0){return F.encode(e,t,r),t}i(M,"encodeTo");function z(e){return F.encodingLength(e)}i(z,"encodingLength");function O(e,t){let r=t.byteLength,n=z(e),o=n+z(r),a=new Uint8Array(o+r);return M(e,a,0),M(r,a,n),a.set(t,o),new R(e,r,t,a)}i(O,"create");function Je(e){let t=C(e),[r,n]=G(t),[o,a]=G(t.subarray(n)),s=t.subarray(n+a);if(s.byteLength!==o)throw new Error("Incorrect length");return new R(r,o,s,t)}i(Je,"decode");function Qe(e,t){if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&Oe(e.bytes,r.bytes)}}i(Qe,"equals");var R=class{static{i(this,"Digest")}code;size;digest;bytes;constructor(t,r,n,o){this.code=t,this.size=r,this.digest=n,this.bytes=o}};var We=0,Pr="identity",Ze=C;function Dr(e,t){if(t?.truncate!=null&&t.truncate!==e.byteLength){if(t.truncate<0||t.truncate>e.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${e.byteLength}`);e=e.subarray(0,t.truncate)}return O(We,Ze(e))}i(Dr,"digest");var kr={code:We,name:Pr,encode:Ze,digest:Dr};var Ee={};h(Ee,{sha256:()=>Lr,sha512:()=>Br});var Ir=20;function Ue({name:e,code:t,encode:r,minDigestLength:n,maxDigestLength:o}){return new Ae(e,t,r,n,o)}i(Ue,"from");var Ae=class{static{i(this,"Hasher")}name;code;encode;minDigestLength;maxDigestLength;constructor(t,r,n,o,a){this.name=t,this.code=r,this.encode=n,this.minDigestLength=o??Ir,this.maxDigestLength=a}digest(t,r){if(r?.truncate!=null){if(r.truncate<this.minDigestLength)throw new Error(`Invalid truncate option, must be greater than or equal to ${this.minDigestLength}`);if(this.maxDigestLength!=null&&r.truncate>this.maxDigestLength)throw new Error(`Invalid truncate option, must be less than or equal to ${this.maxDigestLength}`)}if(t instanceof Uint8Array){let n=this.encode(t);return n instanceof Uint8Array?Ye(n,this.code,r?.truncate):n.then(o=>Ye(o,this.code,r?.truncate))}else throw Error("Unknown type, must be binary type")}};function Ye(e,t,r){if(r!=null&&r!==e.byteLength){if(r>e.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${e.byteLength}`);e=e.subarray(0,r)}return O(t,e)}i(Ye,"createDigest");function tt(e){return async t=>new Uint8Array(await crypto.subtle.digest(e,t))}i(tt,"sha");var Lr=Ue({name:"sha2-256",code:18,encode:tt("SHA-256")}),Br=Ue({name:"sha2-512",code:19,encode:tt("SHA-512")});function rt(e,t){let{bytes:r,version:n}=e;return n===0?Nr(r,ve(e),t??v.encoder):Mr(r,ve(e),t??N.encoder)}i(rt,"format");var nt=new WeakMap;function ve(e){let t=nt.get(e);if(t==null){let r=new Map;return nt.set(e,r),r}return t}i(ve,"baseCache");var te=class e{static{i(this,"CID")}code;version;multihash;bytes;"/";constructor(t,r,n,o){this.code=r,this.version=t,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:r}=this;if(t!==q)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==zr)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return e.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:r}=this.multihash,n=O(t,r);return e.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return e.equals(this,t)}static equals(t,r){let n=r;return n!=null&&t.code===n.code&&t.version===n.version&&Qe(t.multihash,n.multihash)}toString(t){return rt(this,t)}toJSON(){return{"/":rt(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let r=t;if(r instanceof e)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:o,multihash:a,bytes:s}=r;return new e(n,o,a,s??ot(n,o,a.bytes))}else if(r[Rr]===!0){let{version:n,multihash:o,code:a}=r,s=Je(o);return e.create(n,a,s)}else return null}static create(t,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(r!==q)throw new Error(`Version 0 CID must use dag-pb (code: ${q}) block encoding`);return new e(t,r,n,n.bytes)}case 1:{let o=ot(t,r,n.bytes);return new e(t,r,n,o)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,q,t)}static createV1(t,r){return e.create(1,t,r)}static decode(t){let[r,n]=e.decodeFirst(t);if(n.length!==0)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=e.inspectBytes(t),n=r.size-r.multihashSize,o=C(t.subarray(n,n+r.multihashSize));if(o.byteLength!==r.multihashSize)throw new Error("Incorrect length");let a=o.subarray(r.multihashSize-r.digestSize),s=new R(r.multihashCode,r.digestSize,a,o);return[r.version===0?e.createV0(s):e.createV1(r.codec,s),t.subarray(r.size)]}static inspectBytes(t){let r=0,n=i(()=>{let[k,B]=G(t.subarray(r));return r+=B,k},"next"),o=n(),a=q;if(o===18?(o=0,r=0):a=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let s=r,c=n(),u=n(),y=r+u,g=y-s;return{version:o,codec:a,multihashCode:c,digestSize:u,multihashSize:g,size:y}}static parse(t,r){let[n,o]=Tr(t,r),a=e.decode(o);if(a.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return ve(a).set(n,t),a}};function Tr(e,t){switch(e[0]){case"Q":{let r=t??v;return[v.prefix,r.decode(`${v.prefix}${e}`)]}case v.prefix:{let r=t??v;return[v.prefix,r.decode(e)]}case N.prefix:{let r=t??N;return[N.prefix,r.decode(e)]}case V.prefix:{let r=t??V;return[V.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}}i(Tr,"parseCIDtoBytes");function Nr(e,t,r){let{prefix:n}=r;if(n!==v.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=t.get(n);if(o==null){let a=r.encode(e).slice(1);return t.set(n,a),a}else return o}i(Nr,"toStringV0");function Mr(e,t,r){let{prefix:n}=r,o=t.get(n);if(o==null){let a=r.encode(e);return t.set(n,a),a}else return o}i(Mr,"toStringV1");var q=112,zr=18;function ot(e,t,r){let n=z(e),o=n+z(t),a=new Uint8Array(o+r.byteLength);return M(e,a,0),M(t,a,n),a.set(r,o),a}i(ot,"encodeCID");var Rr=Symbol.for("@ipld/js-cid/CID");var Se={...we,...ue,...be,...fe,...pe,...de,...he,...le,...me,...ye},wo={...Ee,...ge};function at(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}i(at,"createCodec");var it=at("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),Ce=at("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=Y(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),Or={utf8:it,"utf-8":it,hex:Se.base16,latin1:Ce,ascii:Ce,binary:Ce,...Se},re=Or;function X(e,t="utf8"){let r=re[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return r.decoder.decode(`${r.prefix}${e}`)}i(X,"fromString");function Ke(e,t="utf8"){let r=re[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return r.encoder.encode(e).substring(1)}i(Ke,"toString");var st=32,_r=1,$r=2,Pe=32,ct=32,j=12,L=32,De=16,ft=0,ke=new TextEncoder().encode("HPKE-v1"),_=2,Ie=m(new TextEncoder().encode("KEM"),D(st,2)),$=m(new TextEncoder().encode("HPKE"),D(st,2),D(_r,2),D($r,2));var b=globalThis.crypto.subtle;async function ut(e,t,r){let n=await b.importKey("raw",e,{name:"AES-GCM"},!1,["encrypt"]),o=await b.encrypt({name:"AES-GCM",iv:t},n,r);return new Uint8Array(o)}i(ut,"aeadSeal");async function yt(e,t,r){let n=await b.importKey("raw",e,{name:"AES-GCM"},!1,["decrypt"]),o=await b.decrypt({name:"AES-GCM",iv:t},n,r);return new Uint8Array(o)}i(yt,"aeadOpen");async function Te(e,t,r,n){let o=typeof t=="string"?new TextEncoder().encode(t):t,a,s;if(r){let y=await Me(e,r,n);a=y.enc,s=y.key}else{let y=await Ne(e,n);a=y.enc,s=y.key}let c=globalThis.crypto.getRandomValues(new Uint8Array(j)),u=new Uint8Array(await b.encrypt({name:"AES-GCM",iv:c},s,o));return m(D(a.length,_),a,c,u)}i(Te,"encryptBytes");async function dt(e,t,r,n){let o=await Te(e,t,r,n);return Ke(o,n?.encoding??"base64url")}i(dt,"encryptToString");async function ht(e,t){let r=await b.importKey("raw",e,{name:"HMAC",hash:"SHA-256"},!1,["sign"]);return new Uint8Array(await b.sign("HMAC",r,t))}i(ht,"hmac");async function Vr(e,t){let r=e.length===0?new Uint8Array(Pe):e;return ht(r,t)}i(Vr,"extract");async function Fr(e,t,r){let n=new Uint8Array(r),o=new Uint8Array(0),a=0,s=1;for(;a<r;){o=await ht(e,m(o,t,D(s,1)));let c=Math.min(o.length,r-a);n.set(o.subarray(0,c),a),a+=c,s++}return n}i(Fr,"expand");async function J(e,t,r,n){let o=m(ke,e,new TextEncoder().encode(r),n);return Vr(t,o)}i(J,"labeledExtract");async function ne(e,t,r,n,o){let a=m(D(o,2),ke,e,new TextEncoder().encode(r),n);return Fr(t,a,o)}i(ne,"labeledExpand");async function Le(e){return new Uint8Array(await b.exportKey("raw",e))}i(Le,"exportRawPublic");async function pt(e){if(e.length!==L)throw new Error(`invalid public key length: ${e.length} bytes (expected ${L})`);return b.importKey("raw",e,{name:"X25519"},!0,[])}i(pt,"importRawPublic");async function lt(e){if(e instanceof Uint8Array)return pt(e);if(e instanceof CryptoKey){if(e.type!=="public")throw new Error("recipient CryptoKey must be a public key");return Be(e,"recipient CryptoKey"),e}if(typeof e.publicKey=="string"){let{publicKey:r,encoding:n}=e;return pt(X(r,n??"base64url"))}let t=e;if(t.publicKey instanceof CryptoKey){if(t.publicKey.type!=="public")throw new Error("recipient keypair publicKey must be a public key");return Be(t.publicKey,"recipient keypair publicKey"),t.publicKey}throw new Error("unrecognized recipient key form")}i(lt,"resolveRecipientPublicKey");function Be(e,t){if(e.algorithm.name!=="X25519")throw new Error(`${t} must be an X25519 key (got ${e.algorithm.name})`)}i(Be,"assertX25519Algorithm");async function mt(e,t){let r=await b.deriveBits({name:"X25519",public:t},e,256),n=new Uint8Array(r);if(n.every(o=>o===0))throw new Error("X25519 shared secret is all-zero (small-order public key?)");return n}i(mt,"dh");async function bt(e,t){let r=await J(Ie,new Uint8Array(0),"eae_prk",e);return ne(Ie,r,"shared_secret",t,Pe)}i(bt,"extractAndExpand");async function wt(e){let t=await b.generateKey({name:"X25519"},!1,["deriveBits"]),r=await mt(t.privateKey,e),n=await Le(t.publicKey),o=await Le(e),a=m(n,o);return{sharedSecret:await bt(r,a),enc:n}}i(wt,"encap");async function xt(e,t){if(t.privateKey.type!=="private")throw new Error("keypair.privateKey must be a private key");Be(t.privateKey,"keypair.privateKey");let r=await b.importKey("raw",e,{name:"X25519"},!1,[]),n=await mt(t.privateKey,r),o=await Le(t.publicKey),a=m(e,o);return bt(n,a)}i(xt,"decap");function D(e,t){let r=new Uint8Array(t),n=e;for(let o=t-1;o>=0;o--)r[o]=n&255,n=Math.floor(n/256);return r}i(D,"i2osp");function m(...e){let t=0;for(let o of e)t+=o.length;let r=new Uint8Array(t),n=0;for(let o of e)r.set(o,n),n+=o.length;return r}i(m,"concat");var oe=globalThis.crypto.subtle;async function Ne(e,t){let{wrapped:r,key:n}=await vt(e,null,t);return{enc:r,key:n}}i(Ne,"create");async function Me(e,t,r){let{wrapped:n,key:o}=await vt(e,t,r);return{enc:n,key:o}}i(Me,"seal");var Gr=Object.assign(Zr,{raw:Re}),Hr=Object.assign(Te,{asString:dt}),qr=Object.assign(ze,{asString:Xr,fromString:jr});async function ze(e,t,r){if(t.byteLength<_)throw new Error("malformed message: too short");let n=t[0]<<8|t[1],o=_+n,a=o+j;if(t.byteLength<a+De)throw new Error("malformed message: too short");let s=t.slice(_,o),c=t.slice(o,a),u=t.slice(a),y=await Re(e,s,r?.info!==void 0?{info:r.info}:void 0),g=await Wr(y),k=await oe.decrypt({name:"AES-GCM",iv:c},g,u);return new Uint8Array(k)}i(ze,"decryptBytes");async function Xr(e,t,r){let n=await ze(e,t,r);return new TextDecoder().decode(n)}i(Xr,"decryptToString");async function jr(e,t,r){let n=X(t,"base64url"),o=await ze(e,n,r?.info!==void 0?{info:r.info}:void 0);return r?.buffer?o:new TextDecoder().decode(o)}i(jr,"decryptFromString");function Jr(e){if(e!==128&&e!==256)throw new Error(`invalid keysize: ${e} (expected 128 or 256)`)}i(Jr,"validateKeysize");function gt(e){if(e.length!==16&&e.length!==32)throw new Error(`invalid aesKey length: ${e.length} bytes (expected 16 or 32)`)}i(gt,"validateRawKeyBytes");function At(e){return e==null?new Uint8Array(0):typeof e=="string"?new TextEncoder().encode(e):e}i(At,"normalizeInfo");async function Qr(e){if(!e.extractable)throw new Error("aesKey must be extractable: its raw bytes are what get sealed");return new Uint8Array(await oe.exportKey("raw",e))}i(Qr,"exportAesKeyBytes");async function Ut(e){return oe.importKey("raw",e,{name:"AES-GCM"},!0,["encrypt","decrypt"])}i(Ut,"importAesKey");async function Wr(e){return oe.importKey("raw",e,{name:"AES-GCM"},!1,["decrypt"])}i(Wr,"importAesKeyDecryptOnly");async function Et(e,t){let r=new Uint8Array(0),n=await J($,r,"psk_id_hash",r),o=await J($,r,"info_hash",t),a=m(new Uint8Array([ft]),n,o),s=await J($,e,"secret",r),c=await ne($,s,"key",a,ct),u=await ne($,s,"base_nonce",a,j);return{key:c,baseNonce:u}}i(Et,"keySchedule");async function Re(e,t,r){if(t.byteLength<L+De)throw new Error("malformed envelope: too short");let n=At(r?.info),o=t.slice(0,L),a=t.slice(L),s=await xt(o,e),{key:c,baseNonce:u}=await Et(s,n);return yt(c,u,a)}i(Re,"openRawBytes");async function Zr(e,t,r){let n=await Re(e,t,r);return Ut(n)}i(Zr,"openBytes");async function vt(e,t,r){let n=At(r?.info),o;if(t instanceof Uint8Array)gt(t),o=t;else if(t)o=await Qr(t),gt(o);else{let Q=r?.size??256;Jr(Q),o=globalThis.crypto.getRandomValues(new Uint8Array(Q/8))}let a=await lt(e),{sharedSecret:s,enc:c}=await wt(a),{key:u,baseNonce:y}=await Et(s,n),g=await ut(u,y,o),k=m(c,g),B=await Ut(o);return{wrapped:k,key:B}}i(vt,"encryptKey");
|
|
1
|
+
"use strict";var Z=Object.defineProperty;var It=Object.getOwnPropertyDescriptor;var Kt=Object.getOwnPropertyNames;var Rt=Object.prototype.hasOwnProperty;var i=(e,t)=>Z(e,"name",{value:t,configurable:!0});var l=(e,t)=>{for(var r in t)Z(e,r,{get:t[r],enumerable:!0})},Dt=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Kt(t))!Rt.call(e,o)&&o!==r&&Z(e,o,{get:()=>t[o],enumerable:!(n=It(t,o))||n.enumerable});return e};var _t=e=>Dt(Z({},"__esModule",{value:!0}),e);var rn={};l(rn,{HpkeError:()=>f,create:()=>Yr,decrypt:()=>jr,encrypt:()=>Xr,encryptKey:()=>se,keyId:()=>At,open:()=>qr});module.exports=_t(rn);function ee(e=0){return new Uint8Array(e)}i(ee,"allocUnsafe");var de={};l(de,{base10:()=>Ot});var En=new Uint8Array(0);function Ve(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}i(Ve,"equals");function I(e){if(e instanceof Uint8Array&&e.constructor.name==="Uint8Array")return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Unknown type, must be binary type")}i(I,"coerce");function ze(e){return new TextEncoder().encode(e)}i(ze,"fromString");function He(e){return new TextDecoder().decode(e)}i(He,"toString");function Lt(e,t){if(e.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var o=0;o<e.length;o++){var a=e.charAt(o),s=a.charCodeAt(0);if(r[s]!==255)throw new TypeError(a+" is ambiguous");r[s]=o}var c=e.length,y=e.charAt(0),b=Math.log(c)/Math.log(256),E=Math.log(256)/Math.log(c);function K(p){if(p instanceof Uint8Array||(ArrayBuffer.isView(p)?p=new Uint8Array(p.buffer,p.byteOffset,p.byteLength):Array.isArray(p)&&(p=Uint8Array.from(p))),!(p instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(p.length===0)return"";for(var h=0,L=0,x=0,A=p.length;x!==A&&p[x]===0;)x++,h++;for(var U=(A-x)*E+1>>>0,w=new Uint8Array(U);x!==A;){for(var S=p[x],D=0,g=U-1;(S!==0||D<L)&&g!==-1;g--,D++)S+=256*w[g]>>>0,w[g]=S%c>>>0,S=S/c>>>0;if(S!==0)throw new Error("Non-zero carry");L=D,x++}for(var C=U-L;C!==U&&w[C]===0;)C++;for(var W=y.repeat(h);C<U;++C)W+=e.charAt(w[C]);return W}i(K,"encode");function R(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return new Uint8Array;var h=0;if(p[h]!==" "){for(var L=0,x=0;p[h]===y;)L++,h++;for(var A=(p.length-h)*b+1>>>0,U=new Uint8Array(A);p[h];){var w=r[p.charCodeAt(h)];if(w===255)return;for(var S=0,D=A-1;(w!==0||S<x)&&D!==-1;D--,S++)w+=c*U[D]>>>0,U[D]=w%256>>>0,w=w/256>>>0;if(w!==0)throw new Error("Non-zero carry");x=S,h++}if(p[h]!==" "){for(var g=A-x;g!==A&&U[g]===0;)g++;for(var C=new Uint8Array(L+(A-g)),W=L;g!==A;)C[W++]=U[g++];return C}}}i(R,"decodeUnsafe");function Q(p){var h=R(p);if(h)return h;throw new Error(`Non-${t} character`)}return i(Q,"decode"),{encode:K,decodeUnsafe:R,decode:Q}}i(Lt,"base");var Nt=Lt,kt=Nt,Ge=kt;var pe=class{static{i(this,"Encoder")}name;prefix;baseEncode;constructor(t,r,n){this.name=t,this.prefix=r,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},fe=class{static{i(this,"Decoder")}name;prefix;baseDecode;prefixCodePoint;constructor(t,r,n){this.name=t,this.prefix=r;let o=r.codePointAt(0);if(o===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=o,this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return $e(this,t)}},ue=class{static{i(this,"ComposedDecoder")}decoders;constructor(t){this.decoders=t}or(t){return $e(this,t)}decode(t){let r=t[0],n=this.decoders[r];if(n!=null)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function $e(e,t){return new ue({...e.decoders??{[e.prefix]:e},...t.decoders??{[t.prefix]:t}})}i($e,"or");var ye=class{static{i(this,"Codec")}name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,r,n,o){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new pe(t,r,n),this.decoder=new fe(t,r,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function k({name:e,prefix:t,encode:r,decode:n}){return new ye(e,t,r,n)}i(k,"from");function _({name:e,prefix:t,alphabet:r}){let{encode:n,decode:o}=Ge(r,e);return k({prefix:t,name:e,encode:n,decode:i(a=>I(o(a)),"decode")})}i(_,"baseX");function Tt(e,t,r,n){let o=e.length;for(;e[o-1]==="=";)--o;let a=new Uint8Array(o*r/8|0),s=0,c=0,y=0;for(let b=0;b<o;++b){let E=t[e[b]];if(E===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|E,s+=r,s>=8&&(s-=8,a[y++]=255&c>>s)}if(s>=r||(255&c<<8-s)!==0)throw new SyntaxError("Unexpected end of data");return a}i(Tt,"decode");function Bt(e,t,r){let n=t[t.length-1]==="=",o=(1<<r)-1,a="",s=0,c=0;for(let y=0;y<e.length;++y)for(c=c<<8|e[y],s+=8;s>r;)s-=r,a+=t[o&c>>s];if(s!==0&&(a+=t[o&c<<r-s]),n)for(;(a.length*r&7)!==0;)a+="=";return a}i(Bt,"encode");function Mt(e){let t={};for(let r=0;r<e.length;++r)t[e[r]]=r;return t}i(Mt,"createAlphabetIdx");function u({name:e,prefix:t,bitsPerChar:r,alphabet:n}){let o=Mt(n);return k({prefix:t,name:e,encode(a){return Bt(a,n,r)},decode(a){return Tt(a,o,r,e)}})}i(u,"rfc4648");var Ot=_({prefix:"9",name:"base10",alphabet:"0123456789"});var he={};l(he,{base16:()=>Vt,base16upper:()=>zt});var Vt=u({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),zt=u({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var le={};l(le,{base2:()=>Ht});var Ht=u({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var me={};l(me,{base256emoji:()=>qt});var Ye=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),Ft=Ye.reduce((e,t,r)=>(e[r]=t,e),[]),Gt=Ye.reduce((e,t,r)=>{let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);return e[n]=r,e},[]);function $t(e){return e.reduce((t,r)=>(t+=Ft[r],t),"")}i($t,"encode");function Yt(e){let t=[];for(let r of e){let n=r.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${r}`);let o=Gt[n];if(o==null)throw new Error(`Non-base256emoji character: ${r}`);t.push(o)}return new Uint8Array(t)}i(Yt,"decode");var qt=k({prefix:"\u{1F680}",name:"base256emoji",encode:$t,decode:Yt});var be={};l(be,{base32:()=>T,base32hex:()=>Qt,base32hexpad:()=>Zt,base32hexpadupper:()=>er,base32hexupper:()=>Wt,base32pad:()=>jt,base32padupper:()=>Jt,base32upper:()=>Xt,base32z:()=>tr});var T=u({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Xt=u({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),jt=u({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Jt=u({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Qt=u({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Wt=u({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Zt=u({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),er=u({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),tr=u({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var we={};l(we,{base36:()=>F,base36upper:()=>rr});var F=_({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),rr=_({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var xe={};l(xe,{base58btc:()=>v,base58flickr:()=>nr});var v=_({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),nr=_({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var ge={};l(ge,{base64:()=>or,base64pad:()=>ir,base64url:()=>ar,base64urlpad:()=>sr});var or=u({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),ir=u({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),ar=u({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),sr=u({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Ee={};l(Ee,{base8:()=>cr});var cr=u({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Ae={};l(Ae,{identity:()=>pr});var pr=k({prefix:"\0",name:"identity",encode:i(e=>He(e),"encode"),decode:i(e=>ze(e),"decode")});var Hn=new TextEncoder,Fn=new TextDecoder;var Se={};l(Se,{identity:()=>Pr});var yr=je,qe=128,dr=127,hr=~dr,lr=Math.pow(2,31);function je(e,t,r){t=t||[],r=r||0;for(var n=r;e>=lr;)t[r++]=e&255|qe,e/=128;for(;e&hr;)t[r++]=e&255|qe,e>>>=7;return t[r]=e|0,je.bytes=r-n+1,t}i(je,"encode");var mr=Ue,br=128,Xe=127;function Ue(e,n){var r=0,n=n||0,o=0,a=n,s,c=e.length;do{if(a>=c)throw Ue.bytes=0,new RangeError("Could not decode varint");s=e[a++],r+=o<28?(s&Xe)<<o:(s&Xe)*Math.pow(2,o),o+=7}while(s>=br);return Ue.bytes=a-n,r}i(Ue,"read");var wr=Math.pow(2,7),xr=Math.pow(2,14),gr=Math.pow(2,21),Er=Math.pow(2,28),Ar=Math.pow(2,35),Ur=Math.pow(2,42),Sr=Math.pow(2,49),vr=Math.pow(2,56),Cr=Math.pow(2,63),Ir=i(function(e){return e<wr?1:e<xr?2:e<gr?3:e<Er?4:e<Ar?5:e<Ur?6:e<Sr?7:e<vr?8:e<Cr?9:10},"length"),Kr={encode:yr,decode:mr,encodingLength:Ir},Rr=Kr,G=Rr;function $(e,t=0){return[G.decode(e,t),G.decode.bytes]}i($,"decode");function B(e,t,r=0){return G.encode(e,t,r),t}i(B,"encodeTo");function M(e){return G.encodingLength(e)}i(M,"encodingLength");function V(e,t){let r=t.byteLength,n=M(e),o=n+M(r),a=new Uint8Array(o+r);return B(e,a,0),B(r,a,n),a.set(t,o),new O(e,r,t,a)}i(V,"create");function Je(e){let t=I(e),[r,n]=$(t),[o,a]=$(t.subarray(n)),s=t.subarray(n+a);if(s.byteLength!==o)throw new Error("Incorrect length");return new O(r,o,s,t)}i(Je,"decode");function Qe(e,t){if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&Ve(e.bytes,r.bytes)}}i(Qe,"equals");var O=class{static{i(this,"Digest")}code;size;digest;bytes;constructor(t,r,n,o){this.code=t,this.size=r,this.digest=n,this.bytes=o}};var We=0,Dr="identity",Ze=I;function _r(e,t){if(t?.truncate!=null&&t.truncate!==e.byteLength){if(t.truncate<0||t.truncate>e.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${e.byteLength}`);e=e.subarray(0,t.truncate)}return V(We,Ze(e))}i(_r,"digest");var Pr={code:We,name:Dr,encode:Ze,digest:_r};var Ie={};l(Ie,{sha256:()=>Nr,sha512:()=>kr});var Lr=20;function Ce({name:e,code:t,encode:r,minDigestLength:n,maxDigestLength:o}){return new ve(e,t,r,n,o)}i(Ce,"from");var ve=class{static{i(this,"Hasher")}name;code;encode;minDigestLength;maxDigestLength;constructor(t,r,n,o,a){this.name=t,this.code=r,this.encode=n,this.minDigestLength=o??Lr,this.maxDigestLength=a}digest(t,r){if(r?.truncate!=null){if(r.truncate<this.minDigestLength)throw new Error(`Invalid truncate option, must be greater than or equal to ${this.minDigestLength}`);if(this.maxDigestLength!=null&&r.truncate>this.maxDigestLength)throw new Error(`Invalid truncate option, must be less than or equal to ${this.maxDigestLength}`)}if(t instanceof Uint8Array){let n=this.encode(t);return n instanceof Uint8Array?et(n,this.code,r?.truncate):n.then(o=>et(o,this.code,r?.truncate))}else throw Error("Unknown type, must be binary type")}};function et(e,t,r){if(r!=null&&r!==e.byteLength){if(r>e.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${e.byteLength}`);e=e.subarray(0,r)}return V(t,e)}i(et,"createDigest");function rt(e){return async t=>new Uint8Array(await crypto.subtle.digest(e,t))}i(rt,"sha");var Nr=Ce({name:"sha2-256",code:18,encode:rt("SHA-256")}),kr=Ce({name:"sha2-512",code:19,encode:rt("SHA-512")});function nt(e,t){let{bytes:r,version:n}=e;return n===0?Br(r,Ke(e),t??v.encoder):Mr(r,Ke(e),t??T.encoder)}i(nt,"format");var ot=new WeakMap;function Ke(e){let t=ot.get(e);if(t==null){let r=new Map;return ot.set(e,r),r}return t}i(Ke,"baseCache");var re=class e{static{i(this,"CID")}code;version;multihash;bytes;"/";constructor(t,r,n,o){this.code=r,this.version=t,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:r}=this;if(t!==q)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Or)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return e.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:r}=this.multihash,n=V(t,r);return e.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return e.equals(this,t)}static equals(t,r){let n=r;return n!=null&&t.code===n.code&&t.version===n.version&&Qe(t.multihash,n.multihash)}toString(t){return nt(this,t)}toJSON(){return{"/":nt(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let r=t;if(r instanceof e)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:o,multihash:a,bytes:s}=r;return new e(n,o,a,s??it(n,o,a.bytes))}else if(r[Vr]===!0){let{version:n,multihash:o,code:a}=r,s=Je(o);return e.create(n,a,s)}else return null}static create(t,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(r!==q)throw new Error(`Version 0 CID must use dag-pb (code: ${q}) block encoding`);return new e(t,r,n,n.bytes)}case 1:{let o=it(t,r,n.bytes);return new e(t,r,n,o)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,q,t)}static createV1(t,r){return e.create(1,t,r)}static decode(t){let[r,n]=e.decodeFirst(t);if(n.length!==0)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=e.inspectBytes(t),n=r.size-r.multihashSize,o=I(t.subarray(n,n+r.multihashSize));if(o.byteLength!==r.multihashSize)throw new Error("Incorrect length");let a=o.subarray(r.multihashSize-r.digestSize),s=new O(r.multihashCode,r.digestSize,a,o);return[r.version===0?e.createV0(s):e.createV1(r.codec,s),t.subarray(r.size)]}static inspectBytes(t){let r=0,n=i(()=>{let[K,R]=$(t.subarray(r));return r+=R,K},"next"),o=n(),a=q;if(o===18?(o=0,r=0):a=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let s=r,c=n(),y=n(),b=r+y,E=b-s;return{version:o,codec:a,multihashCode:c,digestSize:y,multihashSize:E,size:b}}static parse(t,r){let[n,o]=Tr(t,r),a=e.decode(o);if(a.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Ke(a).set(n,t),a}};function Tr(e,t){switch(e[0]){case"Q":{let r=t??v;return[v.prefix,r.decode(`${v.prefix}${e}`)]}case v.prefix:{let r=t??v;return[v.prefix,r.decode(e)]}case T.prefix:{let r=t??T;return[T.prefix,r.decode(e)]}case F.prefix:{let r=t??F;return[F.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}}i(Tr,"parseCIDtoBytes");function Br(e,t,r){let{prefix:n}=r;if(n!==v.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=t.get(n);if(o==null){let a=r.encode(e).slice(1);return t.set(n,a),a}else return o}i(Br,"toStringV0");function Mr(e,t,r){let{prefix:n}=r,o=t.get(n);if(o==null){let a=r.encode(e);return t.set(n,a),a}else return o}i(Mr,"toStringV1");var q=112,Or=18;function it(e,t,r){let n=M(e),o=n+M(t),a=new Uint8Array(o+r.byteLength);return B(e,a,0),B(t,a,n),a.set(r,o),a}i(it,"encodeCID");var Vr=Symbol.for("@ipld/js-cid/CID");var Re={...Ae,...le,...Ee,...de,...he,...be,...we,...xe,...ge,...me},Eo={...Ie,...Se};function st(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}i(st,"createCodec");var at=st("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),De=st("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=ee(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),zr={utf8:at,"utf-8":at,hex:Re.base16,latin1:De,ascii:De,binary:De,...Re},ne=zr;function X(e,t="utf8"){let r=ne[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return r.decoder.decode(`${r.prefix}${e}`)}i(X,"fromString");function oe(e,t="utf8"){let r=ne[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return r.encoder.encode(e).substring(1)}i(oe,"toString");var f=class extends Error{static{i(this,"HpkeError")}code;constructor(t,r,n){super(r,n),this.name="HpkeError",this.code=t}};var ct=32,Hr=1,Fr=2,_e=32,pt=32,j=12,N=32,Pe=16,ft=0,Le=new TextEncoder().encode("HPKE-v1"),z=2,Ne=m(new TextEncoder().encode("KEM"),P(ct,2)),H=m(new TextEncoder().encode("HPKE"),P(ct,2),P(Hr,2),P(Fr,2)),ie=new TextEncoder().encode("simple-hpke/keyId/v1"),ut=12;var d=globalThis.crypto.subtle;async function dt(e,t,r){let n=await d.importKey("raw",e,{name:"AES-GCM"},!1,["encrypt"]),o=await d.encrypt({name:"AES-GCM",iv:t},n,r);return new Uint8Array(o)}i(dt,"aeadSeal");async function ht(e,t,r){let n=await d.importKey("raw",e,{name:"AES-GCM"},!1,["decrypt"]),o;try{o=await d.decrypt({name:"AES-GCM",iv:t},n,r)}catch(a){throw new f("ERR_DECRYPT_FAILED","failed to decrypt the wrapped key: wrong keypair, wrong info, or a tampered envelope",{cause:a})}return new Uint8Array(o)}i(ht,"aeadOpen");async function Be(e,t,r,n){let o=typeof t=="string"?new TextEncoder().encode(t):t,{wrapped:a,key:s}=await se(e,r,n),c=globalThis.crypto.getRandomValues(new Uint8Array(j)),y=new Uint8Array(await d.encrypt({name:"AES-GCM",iv:c},s,o));return m(P(a.length,z),a,c,y)}i(Be,"encryptBytes");async function lt(e,t,r,n){let o=await Be(e,t,r,n);return oe(o,n?.encoding??"base64url")}i(lt,"encryptToString");async function mt(e,t){let r=await d.importKey("raw",e,{name:"HMAC",hash:"SHA-256"},!1,["sign"]);return new Uint8Array(await d.sign("HMAC",r,t))}i(mt,"hmac");async function Gr(e,t){let r=e.length===0?new Uint8Array(_e):e;return mt(r,t)}i(Gr,"extract");async function $r(e,t,r){let n=new Uint8Array(r),o=new Uint8Array(0),a=0,s=1;for(;a<r;){o=await mt(e,m(o,t,P(s,1)));let c=Math.min(o.length,r-a);n.set(o.subarray(0,c),a),a+=c,s++}return n}i($r,"expand");async function J(e,t,r,n){let o=m(Le,e,new TextEncoder().encode(r),n);return Gr(t,o)}i(J,"labeledExtract");async function ae(e,t,r,n,o){let a=m(P(o,2),Le,e,new TextEncoder().encode(r),n);return $r(t,a,o)}i(ae,"labeledExpand");async function ke(e){return new Uint8Array(await d.exportKey("raw",e))}i(ke,"exportRawPublic");async function yt(e){if(e.length!==N)throw new f("ERR_INVALID_RECIPIENT_KEY",`invalid public key length: ${e.length} bytes (expected ${N})`);return d.importKey("raw",e,{name:"X25519"},!0,[])}i(yt,"importRawPublic");async function bt(e){if(e instanceof Uint8Array)return yt(e);if(e instanceof CryptoKey){if(e.type!=="public")throw new f("ERR_INVALID_RECIPIENT_KEY","recipient CryptoKey must be a public key");return Te(e,"recipient CryptoKey","ERR_INVALID_RECIPIENT_KEY"),e}if(typeof e.publicKey=="string"){let{publicKey:r,encoding:n}=e;return yt(X(r,n??"base64url"))}let t=e;if(t.publicKey instanceof CryptoKey){if(t.publicKey.type!=="public")throw new f("ERR_INVALID_RECIPIENT_KEY","recipient keypair publicKey must be a public key");return Te(t.publicKey,"recipient keypair publicKey","ERR_INVALID_RECIPIENT_KEY"),t.publicKey}throw new f("ERR_INVALID_RECIPIENT_KEY","unrecognized recipient key form")}i(bt,"resolveRecipientPublicKey");function Te(e,t,r){if(e.algorithm.name!=="X25519")throw new f(r,`${t} must be an X25519 key (got ${e.algorithm.name})`)}i(Te,"assertX25519Algorithm");async function wt(e,t){let r=await d.deriveBits({name:"X25519",public:t},e,256),n=new Uint8Array(r);if(n.every(o=>o===0))throw new f("ERR_SMALL_ORDER_KEY","X25519 shared secret is all-zero (small-order public key?)");return n}i(wt,"dh");async function xt(e,t){let r=await J(Ne,new Uint8Array(0),"eae_prk",e);return ae(Ne,r,"shared_secret",t,_e)}i(xt,"extractAndExpand");async function gt(e){let t=await d.generateKey({name:"X25519"},!1,["deriveBits"]),r=await wt(t.privateKey,e),n=await ke(t.publicKey),o=await ke(e),a=m(n,o);return{sharedSecret:await xt(r,a),enc:n}}i(gt,"encap");async function Et(e,t){if(t.privateKey.type!=="private")throw new f("ERR_INVALID_KEYPAIR","keypair.privateKey must be a private key");Te(t.privateKey,"keypair.privateKey","ERR_INVALID_KEYPAIR");let r=await d.importKey("raw",e,{name:"X25519"},!1,[]),n=await wt(t.privateKey,r),o=await ke(t.publicKey),a=m(e,o);return xt(n,a)}i(Et,"decap");async function At(e){if(e.algorithm.name!=="AES-GCM")throw new f("ERR_INVALID_AES_KEY",`keyId needs an AES-GCM key (got ${e.algorithm.name})`);if(!e.usages.includes("encrypt"))throw new f("ERR_INVALID_AES_KEY","keyId needs a key with the 'encrypt' usage");let r=new Uint8Array(await d.digest("SHA-256",ie)).slice(0,ut),n=new Uint8Array(await d.encrypt({name:"AES-GCM",iv:r},e,ie)),o=await d.digest("SHA-256",m(ie,n));return oe(new Uint8Array(o),"base64url")}i(At,"keyId");function P(e,t){let r=new Uint8Array(t),n=e;for(let o=t-1;o>=0;o--)r[o]=n&255,n=Math.floor(n/256);return r}i(P,"i2osp");function m(...e){let t=0;for(let o of e)t+=o.length;let r=new Uint8Array(t),n=0;for(let o of e)r.set(o,n),n+=o.length;return r}i(m,"concat");var ce=globalThis.crypto.subtle;async function Yr(e,t){let{wrapped:r,key:n}=await se(e,null,t);return{wrapped:r,key:n}}i(Yr,"create");var qr=Object.assign(tn,{raw:Oe}),Xr=Object.assign(Be,{asString:lt}),jr=Object.assign(Me,{asString:Jr,fromString:Qr});async function Me(e,t,r){if(t.byteLength<z)throw new f("ERR_MALFORMED_MESSAGE","malformed message: too short");let n=t[0]<<8|t[1],o=z+n,a=o+j;if(t.byteLength<a+Pe)throw new f("ERR_MALFORMED_MESSAGE","malformed message: too short");let s=t.slice(z,o),c=t.slice(o,a),y=t.slice(a),b=await Oe(e,s,r?.info!==void 0?{info:r.info}:void 0),E=await en(b),K;try{K=await ce.decrypt({name:"AES-GCM",iv:c},E,y)}catch(R){throw new f("ERR_DECRYPT_FAILED","failed to decrypt the message: tampered ciphertext",{cause:R})}return new Uint8Array(K)}i(Me,"decryptBytes");async function Jr(e,t,r){let n=await Me(e,t,r);return new TextDecoder().decode(n)}i(Jr,"decryptToString");async function Qr(e,t,r){let n=X(t,"base64url"),o=await Me(e,n,r?.info!==void 0?{info:r.info}:void 0);return r?.buffer?o:new TextDecoder().decode(o)}i(Qr,"decryptFromString");function Wr(e){if(e!==128&&e!==256)throw new f("ERR_INVALID_KEYSIZE",`invalid keysize: ${e} (expected 128 or 256)`)}i(Wr,"validateKeysize");function Ut(e){if(e.length!==16&&e.length!==32)throw new f("ERR_INVALID_AES_KEY",`invalid aesKey length: ${e.length} bytes (expected 16 or 32)`)}i(Ut,"validateRawKeyBytes");function St(e){return e==null?new Uint8Array(0):typeof e=="string"?new TextEncoder().encode(e):e}i(St,"normalizeInfo");async function Zr(e){if(!e.extractable)throw new f("ERR_INVALID_AES_KEY","aesKey must be extractable: its raw bytes are what get sealed");return new Uint8Array(await ce.exportKey("raw",e))}i(Zr,"exportAesKeyBytes");async function vt(e,t){return ce.importKey("raw",e,{name:"AES-GCM"},t,["encrypt","decrypt"])}i(vt,"importAesKey");async function en(e){return ce.importKey("raw",e,{name:"AES-GCM"},!1,["decrypt"])}i(en,"importAesKeyDecryptOnly");async function Ct(e,t){let r=new Uint8Array(0),n=await J(H,r,"psk_id_hash",r),o=await J(H,r,"info_hash",t),a=m(new Uint8Array([ft]),n,o),s=await J(H,e,"secret",r),c=await ae(H,s,"key",a,pt),y=await ae(H,s,"base_nonce",a,j);return{key:c,baseNonce:y}}i(Ct,"keySchedule");async function Oe(e,t,r){if(t.byteLength<N+Pe)throw new f("ERR_MALFORMED_ENVELOPE","malformed envelope: too short");let n=St(r?.info),o=t.slice(0,N),a=t.slice(N),s=await Et(o,e),{key:c,baseNonce:y}=await Ct(s,n);return ht(c,y,a)}i(Oe,"openRawBytes");async function tn(e,t,r){let n=await Oe(e,t,r);return vt(n,r?.extractable??!1)}i(tn,"openBytes");async function se(e,t,r){let n=St(r?.info),o;if(t instanceof Uint8Array)Ut(t),o=t;else if(t)o=await Zr(t),Ut(o);else{let Q=r?.size??256;Wr(Q),o=globalThis.crypto.getRandomValues(new Uint8Array(Q/8))}let a=await bt(e),{sharedSecret:s,enc:c}=await gt(a),{key:y,baseNonce:b}=await Ct(s,n),E=await dt(y,b,o),K=m(c,E),R=await vt(o,r?.extractable??!1);return{wrapped:K,key:R}}i(se,"encryptKey");
|
|
2
2
|
//# sourceMappingURL=index.min.cjs.map
|