simple-hpke 0.0.11 → 0.1.0
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 +26 -25
- package/dist/constants.cjs +61 -41
- package/dist/constants.cjs.map +3 -3
- package/dist/constants.js +61 -41
- package/dist/constants.js.map +3 -3
- package/dist/constants.min.cjs +1 -1
- package/dist/constants.min.cjs.map +3 -3
- package/dist/constants.min.js +1 -1
- package/dist/constants.min.js.map +3 -3
- package/dist/index.cjs +62 -41
- package/dist/index.cjs.map +3 -3
- package/dist/index.d.ts +46 -41
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +62 -41
- package/dist/index.js.map +3 -3
- package/dist/index.min.cjs +1 -1
- package/dist/index.min.cjs.map +3 -3
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +3 -3
- package/dist/meta.json +15 -14
- package/dist/util.cjs +61 -41
- package/dist/util.cjs.map +3 -3
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js +61 -41
- package/dist/util.js.map +3 -3
- package/dist/util.min.cjs +1 -1
- package/dist/util.min.cjs.map +3 -3
- package/dist/util.min.js +1 -1
- package/dist/util.min.js.map +3 -3
- package/package.json +1 -1
package/dist/constants.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 d=(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 jr={};d(jr,{AEAD_ID:()=>vt,AEAD_TAG_LENGTH:()=>ie,ENC_LENGTH:()=>D,HPKE_SUITE_ID:()=>k,HPKE_V1:()=>ce,KDF_ID:()=>Et,KEM_ID:()=>Oe,KEM_SUITE_ID:()=>ae,MODE_BASE:()=>Me,NK:()=>Ne,NN:()=>V,NSECRET:()=>se,WRAPPED_LEN_PREFIX:()=>B});module.exports=Dt(jr);function Y(e=0){return new Uint8Array(e)}i(Y,"allocUnsafe");var de={};d(de,{base10:()=>zt});var dn=new Uint8Array(0);function _e(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(_e,"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 Ve(e){return new TextDecoder().decode(e)}i(Ve,"toString");function Tt(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),h=Math.log(c)/Math.log(256),g=Math.log(256)/Math.log(c);function T(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 y=0,L=0,w=0,A=f.length;w!==A&&f[w]===0;)w++,y++;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<L)&&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");L=K,w++}for(var S=U-L;S!==U&&l[S]===0;)S++;for(var W=u.repeat(y);S<U;++S)W+=e.charAt(l[S]);return W}i(T,"encode");function N(f){if(typeof f!="string")throw new TypeError("Expected String");if(f.length===0)return new Uint8Array;var y=0;if(f[y]!==" "){for(var L=0,w=0;f[y]===u;)L++,y++;for(var A=(f.length-y)*h+1>>>0,U=new Uint8Array(A);f[y];){var l=r[f.charCodeAt(y)];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,y++}if(f[y]!==" "){for(var x=A-w;x!==A&&U[x]===0;)x++;for(var S=new Uint8Array(L+(A-x)),W=L;x!==A;)S[W++]=U[x++];return S}}}i(N,"decodeUnsafe");function Q(f){var y=N(f);if(y)return y;throw new Error(`Non-${t} character`)}return i(Q,"decode"),{encode:T,decodeUnsafe:N,decode:Q}}i(Tt,"base");var Lt=Tt,kt=Lt,Ge=kt;var fe=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")}},pe=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 He(this,t)}},ue=class{static{i(this,"ComposedDecoder")}decoders;constructor(t){this.decoders=t}or(t){return He(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 He(e,t){return new ue({...e.decoders??{[e.prefix]:e},...t.decoders??{[t.prefix]:t}})}i(He,"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 fe(t,r,n),this.decoder=new pe(t,r,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function M({name:e,prefix:t,encode:r,decode:n}){return new ye(e,t,r,n)}i(M,"from");function P({name:e,prefix:t,alphabet:r}){let{encode:n,decode:o}=Ge(r,e);return M({prefix:t,name:e,encode:n,decode:i(a=>C(o(a)),"decode")})}i(P,"baseX");function Bt(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 h=0;h<o;++h){let g=t[e[h]];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(Bt,"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 M({prefix:t,name:e,encode(a){return Nt(a,n,r)},decode(a){return Bt(a,o,r,e)}})}i(p,"rfc4648");var zt=P({prefix:"9",name:"base10",alphabet:"0123456789"});var he={};d(he,{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 le={};d(le,{base2:()=>_t});var _t=p({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var me={};d(me,{base256emoji:()=>Ht});var qe=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=qe.reduce((e,t,r)=>(e[r]=t,e),[]),Vt=qe.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=M({prefix:"\u{1F680}",name:"base256emoji",encode:Ft,decode:Gt});var be={};d(be,{base32:()=>z,base32hex:()=>Jt,base32hexpad:()=>Wt,base32hexpadupper:()=>Zt,base32hexupper:()=>Qt,base32pad:()=>Xt,base32padupper:()=>jt,base32upper:()=>qt,base32z:()=>Yt});var z=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 we={};d(we,{base36:()=>F,base36upper:()=>er});var F=P({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),er=P({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var xe={};d(xe,{base58btc:()=>v,base58flickr:()=>tr});var v=P({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),tr=P({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var ge={};d(ge,{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 Ae={};d(Ae,{base8:()=>ar});var ar=p({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Ue={};d(Ue,{identity:()=>sr});var sr=M({prefix:"\0",name:"identity",encode:i(e=>Ve(e),"encode"),decode:i(e=>$e(e),"decode")});var Bn=new TextEncoder,Nn=new TextDecoder;var ve={};d(ve,{identity:()=>Ir});var pr=Je,Xe=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|Xe,e/=128;for(;e&yr;)t[r++]=e&255|Xe,e>>>=7;return t[r]=e|0,Je.bytes=r-n+1,t}i(Je,"encode");var hr=Ee,lr=128,je=127;function Ee(e,n){var r=0,n=n||0,o=0,a=n,s,c=e.length;do{if(a>=c)throw Ee.bytes=0,new RangeError("Could not decode varint");s=e[a++],r+=o<28?(s&je)<<o:(s&je)*Math.pow(2,o),o+=7}while(s>=lr);return Ee.bytes=a-n,r}i(Ee,"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,G=Kr;function H(e,t=0){return[G.decode(e,t),G.decode.bytes]}i(H,"decode");function R(e,t,r=0){return G.encode(e,t,r),t}i(R,"encodeTo");function O(e){return G.encodingLength(e)}i(O,"encodingLength");function $(e,t){let r=t.byteLength,n=O(e),o=n+O(r),a=new Uint8Array(o+r);return R(e,a,0),R(r,a,n),a.set(t,o),new _(e,r,t,a)}i($,"create");function Qe(e){let t=C(e),[r,n]=H(t),[o,a]=H(t.subarray(n)),s=t.subarray(n+a);if(s.byteLength!==o)throw new Error("Incorrect length");return new _(r,o,s,t)}i(Qe,"decode");function We(e,t){if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&_e(e.bytes,r.bytes)}}i(We,"equals");var _=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 Ze=0,Pr="identity",Ye=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 $(Ze,Ye(e))}i(Dr,"digest");var Ir={code:Ze,name:Pr,encode:Ye,digest:Dr};var Ke={};d(Ke,{sha256:()=>Lr,sha512:()=>kr});var Tr=20;function Ce({name:e,code:t,encode:r,minDigestLength:n,maxDigestLength:o}){return new Se(e,t,r,n,o)}i(Ce,"from");var Se=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??Tr,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 $(t,e)}i(et,"createDigest");function rt(e){return async t=>new Uint8Array(await crypto.subtle.digest(e,t))}i(rt,"sha");var Lr=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?Nr(r,Pe(e),t??v.encoder):Mr(r,Pe(e),t??z.encoder)}i(nt,"format");var ot=new WeakMap;function Pe(e){let t=ot.get(e);if(t==null){let r=new Map;return ot.set(e,r),r}return t}i(Pe,"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!==X)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=$(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&&We(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[Rr]===!0){let{version:n,multihash:o,code:a}=r,s=Qe(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!==X)throw new Error(`Version 0 CID must use dag-pb (code: ${X}) 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,X,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.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[T,N]=H(t.subarray(r));return r+=N,T},"next"),o=n(),a=X;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(),h=r+u,g=h-s;return{version:o,codec:a,multihashCode:c,digestSize:u,multihashSize:g,size:h}}static parse(t,r){let[n,o]=Br(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 Pe(a).set(n,t),a}};function Br(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 z.prefix:{let r=t??z;return[z.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(Br,"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 X=112,zr=18;function it(e,t,r){let n=O(e),o=n+O(t),a=new Uint8Array(o+r.byteLength);return R(e,a,0),R(t,a,n),a.set(r,o),a}i(it,"encodeCID");var Rr=Symbol.for("@ipld/js-cid/CID");var De={...Ue,...le,...Ae,...de,...he,...be,...we,...xe,...ge,...me},yo={...Ke,...ve};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))),Ie=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=Y(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),Or={utf8:at,"utf-8":at,hex:De.base16,latin1:Ie,ascii:Ie,binary:Ie,...De},re=Or;function j(e,t="utf8"){let r=re[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return r.decoder.decode(`${r.prefix}${e}`)}i(j,"fromString");function Te(e,t="utf8"){let r=re[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return r.encoder.encode(e).substring(1)}i(Te,"toString");var oe=globalThis.crypto.subtle;async function ft(e,t,r){let n=pt(r?.info),o;if(t instanceof Uint8Array)ct(t),o=t;else if(t)o=await Gr(t),ct(o);else{let Q=r?.keysize??256;Fr(Q),o=globalThis.crypto.getRandomValues(new Uint8Array(Q/8))}let a=await mt(e),{sharedSecret:s,enc:c}=await bt(a),{key:u,baseNonce:h}=await yt(s,n),g=await dt(u,h,o),T=m(c,g),N=await ut(o);return{wrapped:T,key:N}}i(ft,"seal");var Oo=Object.assign(_r,{raw:Le});async function _r(e,t,r){let n=await Le(e,t,r);return ut(n)}i(_r,"openBytes");async function Le(e,t,r){if(t.byteLength<D+ie)throw new Error("malformed envelope: too short");let n=pt(r?.info),o=t.slice(0,D),a=t.slice(D),s=await wt(o,e),{key:c,baseNonce:u}=await yt(s,n);return ht(c,u,a)}i(Le,"openRawBytes");var _o=Object.assign(Be,{asString:lt}),$o=Object.assign(ke,{asString:$r,fromString:Vr});async function ke(e,t,r){if(t.byteLength<B)throw new Error("malformed message: too short");let n=t[0]<<8|t[1],o=B+n,a=o+V;if(t.byteLength<a+ie)throw new Error("malformed message: too short");let s=t.slice(B,o),c=t.slice(o,a),u=t.slice(a),h=await Le(e,s,r?.info!==void 0?{info:r.info}:void 0),g=await Hr(h),T=await oe.decrypt({name:"AES-GCM",iv:c},g,u);return new Uint8Array(T)}i(ke,"decryptBytes");async function $r(e,t,r){let n=await ke(e,t,r);return new TextDecoder().decode(n)}i($r,"decryptToString");async function Vr(e,t,r){let n=j(t,"base64url"),o=await ke(e,n,r?.info!==void 0?{info:r.info}:void 0);return r?.buffer?o:new TextDecoder().decode(o)}i(Vr,"decryptFromString");function Fr(e){if(e!==128&&e!==256)throw new Error(`invalid keysize: ${e} (expected 128 or 256)`)}i(Fr,"validateKeysize");function ct(e){if(e.length!==16&&e.length!==32)throw new Error(`invalid aesKey length: ${e.length} bytes (expected 16 or 32)`)}i(ct,"validateRawKeyBytes");function pt(e){return e==null?new Uint8Array(0):typeof e=="string"?new TextEncoder().encode(e):e}i(pt,"normalizeInfo");async function Gr(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(Gr,"exportAesKeyBytes");async function ut(e){return oe.importKey("raw",e,{name:"AES-GCM"},!0,["encrypt","decrypt"])}i(ut,"importAesKey");async function Hr(e){return oe.importKey("raw",e,{name:"AES-GCM"},!1,["decrypt"])}i(Hr,"importAesKeyDecryptOnly");async function yt(e,t){let r=new Uint8Array(0),n=await J(k,r,"psk_id_hash",r),o=await J(k,r,"info_hash",t),a=m(new Uint8Array([Me]),n,o),s=await J(k,e,"secret",r),c=await ne(k,s,"key",a,Ne),u=await ne(k,s,"base_nonce",a,V);return{key:c,baseNonce:u}}i(yt,"keySchedule");var b=globalThis.crypto.subtle;async function dt(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(dt,"aeadSeal");async function ht(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(ht,"aeadOpen");async function Be(e,t,r,n){let o=typeof t=="string"?new TextEncoder().encode(t):t,{wrapped:a,key:s}=await ft(e,r,n),c=globalThis.crypto.getRandomValues(new Uint8Array(V)),u=new Uint8Array(await b.encrypt({name:"AES-GCM",iv:c},s,o));return m(I(a.length,B),a,c,u)}i(Be,"encryptBytes");async function lt(e,t,r,n){let o=await Be(e,t,r,n);return Te(o,n?.encoding??"base64url")}i(lt,"encryptToString");async function gt(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(gt,"hmac");async function qr(e,t){let r=e.length===0?new Uint8Array(se):e;return gt(r,t)}i(qr,"extract");async function Xr(e,t,r){let n=new Uint8Array(r),o=new Uint8Array(0),a=0,s=1;for(;a<r;){o=await gt(e,m(o,t,I(s,1)));let c=Math.min(o.length,r-a);n.set(o.subarray(0,c),a),a+=c,s++}return n}i(Xr,"expand");async function J(e,t,r,n){let o=m(ce,e,new TextEncoder().encode(r),n);return qr(t,o)}i(J,"labeledExtract");async function ne(e,t,r,n,o){let a=m(I(o,2),ce,e,new TextEncoder().encode(r),n);return Xr(t,a,o)}i(ne,"labeledExpand");async function ze(e){return new Uint8Array(await b.exportKey("raw",e))}i(ze,"exportRawPublic");async function xt(e){if(e.length!==D)throw new Error(`invalid public key length: ${e.length} bytes (expected ${D})`);return b.importKey("raw",e,{name:"X25519"},!0,[])}i(xt,"importRawPublic");async function mt(e){if(e instanceof Uint8Array)return xt(e);if(e instanceof CryptoKey){if(e.type!=="public")throw new Error("recipient CryptoKey must be a public key");return Re(e,"recipient CryptoKey"),e}if(typeof e.publicKey=="string"){let{publicKey:r,encoding:n}=e;return xt(j(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 Re(t.publicKey,"recipient keypair publicKey"),t.publicKey}throw new Error("unrecognized recipient key form")}i(mt,"resolveRecipientPublicKey");function Re(e,t){if(e.algorithm.name!=="X25519")throw new Error(`${t} must be an X25519 key (got ${e.algorithm.name})`)}i(Re,"assertX25519Algorithm");async function At(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(At,"dh");async function Ut(e,t){let r=await J(ae,new Uint8Array(0),"eae_prk",e);return ne(ae,r,"shared_secret",t,se)}i(Ut,"extractAndExpand");async function bt(e){let t=await b.generateKey({name:"X25519"},!1,["deriveBits"]),r=await At(t.privateKey,e),n=await ze(t.publicKey),o=await ze(e),a=m(n,o);return{sharedSecret:await Ut(r,a),enc:n}}i(bt,"encap");async function wt(e,t){if(t.privateKey.type!=="private")throw new Error("keypair.privateKey must be a private key");Re(t.privateKey,"keypair.privateKey");let r=await b.importKey("raw",e,{name:"X25519"},!1,[]),n=await At(t.privateKey,r),o=await ze(t.publicKey),a=m(e,o);return Ut(n,a)}i(wt,"decap");function I(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(I,"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=32,Et=1,vt=2,se=32,Ne=32,V=12,D=32,ie=16,Me=0,ce=new TextEncoder().encode("HPKE-v1"),B=2,ae=m(new TextEncoder().encode("KEM"),I(Oe,2)),k=m(new TextEncoder().encode("HPKE"),I(Oe,2),I(Et,2),I(vt,2));
|
|
1
|
+
"use strict";var Z=Object.defineProperty;var Kt=Object.getOwnPropertyDescriptor;var Pt=Object.getOwnPropertyNames;var Dt=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})},kt=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Pt(t))!Dt.call(e,o)&&o!==r&&Z(e,o,{get:()=>t[o],enumerable:!(n=Kt(t,o))||n.enumerable});return e};var It=e=>kt(Z({},"__esModule",{value:!0}),e);var Qr={};h(Qr,{AEAD_ID:()=>Ct,AEAD_TAG_LENGTH:()=>ie,ENC_LENGTH:()=>D,HPKE_SUITE_ID:()=>B,HPKE_V1:()=>ce,KDF_ID:()=>St,KEM_ID:()=>Oe,KEM_SUITE_ID:()=>ae,MODE_BASE:()=>Me,NK:()=>Ne,NN:()=>V,NSECRET:()=>se,WRAPPED_LEN_PREFIX:()=>T});module.exports=It(Qr);function Y(e=0){return new Uint8Array(e)}i(Y,"allocUnsafe");var de={};h(de,{base10:()=>Ot});var ln=new Uint8Array(0);function _e(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(_e,"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 Ve(e){return new TextDecoder().decode(e)}i(Ve,"toString");function Bt(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 I(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,L=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<L)&&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");L=K,w++}for(var S=U-L;S!==U&&l[S]===0;)S++;for(var W=u.repeat(d);S<U;++S)W+=e.charAt(l[S]);return W}i(I,"encode");function N(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 L=0,w=0;f[d]===u;)L++,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(L+(A-x)),W=L;x!==A;)S[W++]=U[x++];return S}}}i(N,"decodeUnsafe");function Q(f){var d=N(f);if(d)return d;throw new Error(`Non-${t} character`)}return i(Q,"decode"),{encode:I,decodeUnsafe:N,decode:Q}}i(Bt,"base");var Tt=Bt,Nt=Tt,Ge=Nt;var fe=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")}},pe=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 He(this,t)}},ue=class{static{i(this,"ComposedDecoder")}decoders;constructor(t){this.decoders=t}or(t){return He(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 He(e,t){return new ue({...e.decoders??{[e.prefix]:e},...t.decoders??{[t.prefix]:t}})}i(He,"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 fe(t,r,n),this.decoder=new pe(t,r,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function M({name:e,prefix:t,encode:r,decode:n}){return new ye(e,t,r,n)}i(M,"from");function P({name:e,prefix:t,alphabet:r}){let{encode:n,decode:o}=Ge(r,e);return M({prefix:t,name:e,encode:n,decode:i(a=>C(o(a)),"decode")})}i(P,"baseX");function Mt(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(Mt,"decode");function zt(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(zt,"encode");function Rt(e){let t={};for(let r=0;r<e.length;++r)t[e[r]]=r;return t}i(Rt,"createAlphabetIdx");function p({name:e,prefix:t,bitsPerChar:r,alphabet:n}){let o=Rt(n);return M({prefix:t,name:e,encode(a){return zt(a,n,r)},decode(a){return Mt(a,o,r,e)}})}i(p,"rfc4648");var Ot=P({prefix:"9",name:"base10",alphabet:"0123456789"});var he={};h(he,{base16:()=>_t,base16upper:()=>$t});var _t=p({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),$t=p({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var le={};h(le,{base2:()=>Vt});var Vt=p({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var me={};h(me,{base256emoji:()=>Xt});var qe=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=qe.reduce((e,t,r)=>(e[r]=t,e),[]),Gt=qe.reduce((e,t,r)=>{let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);return e[n]=r,e},[]);function Ht(e){return e.reduce((t,r)=>(t+=Ft[r],t),"")}i(Ht,"encode");function qt(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(qt,"decode");var Xt=M({prefix:"\u{1F680}",name:"base256emoji",encode:Ht,decode:qt});var be={};h(be,{base32:()=>z,base32hex:()=>Wt,base32hexpad:()=>Yt,base32hexpadupper:()=>er,base32hexupper:()=>Zt,base32pad:()=>Jt,base32padupper:()=>Qt,base32upper:()=>jt,base32z:()=>tr});var z=p({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),jt=p({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Jt=p({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Qt=p({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Wt=p({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Zt=p({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Yt=p({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),er=p({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),tr=p({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var we={};h(we,{base36:()=>F,base36upper:()=>rr});var F=P({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),rr=P({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var xe={};h(xe,{base58btc:()=>v,base58flickr:()=>nr});var v=P({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),nr=P({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var ge={};h(ge,{base64:()=>or,base64pad:()=>ir,base64url:()=>ar,base64urlpad:()=>sr});var or=p({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),ir=p({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),ar=p({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),sr=p({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Ae={};h(Ae,{base8:()=>cr});var cr=p({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Ue={};h(Ue,{identity:()=>fr});var fr=M({prefix:"\0",name:"identity",encode:i(e=>Ve(e),"encode"),decode:i(e=>$e(e),"decode")});var Mn=new TextEncoder,zn=new TextDecoder;var ve={};h(ve,{identity:()=>Lr});var yr=Je,Xe=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|Xe,e/=128;for(;e&hr;)t[r++]=e&255|Xe,e>>>=7;return t[r]=e|0,Je.bytes=r-n+1,t}i(Je,"encode");var mr=Ee,br=128,je=127;function Ee(e,n){var r=0,n=n||0,o=0,a=n,s,c=e.length;do{if(a>=c)throw Ee.bytes=0,new RangeError("Could not decode varint");s=e[a++],r+=o<28?(s&je)<<o:(s&je)*Math.pow(2,o),o+=7}while(s>=br);return Ee.bytes=a-n,r}i(Ee,"read");var wr=Math.pow(2,7),xr=Math.pow(2,14),gr=Math.pow(2,21),Ar=Math.pow(2,28),Ur=Math.pow(2,35),Er=Math.pow(2,42),vr=Math.pow(2,49),Sr=Math.pow(2,56),Cr=Math.pow(2,63),Kr=i(function(e){return e<wr?1:e<xr?2:e<gr?3:e<Ar?4:e<Ur?5:e<Er?6:e<vr?7:e<Sr?8:e<Cr?9:10},"length"),Pr={encode:yr,decode:mr,encodingLength:Kr},Dr=Pr,G=Dr;function H(e,t=0){return[G.decode(e,t),G.decode.bytes]}i(H,"decode");function R(e,t,r=0){return G.encode(e,t,r),t}i(R,"encodeTo");function O(e){return G.encodingLength(e)}i(O,"encodingLength");function $(e,t){let r=t.byteLength,n=O(e),o=n+O(r),a=new Uint8Array(o+r);return R(e,a,0),R(r,a,n),a.set(t,o),new _(e,r,t,a)}i($,"create");function Qe(e){let t=C(e),[r,n]=H(t),[o,a]=H(t.subarray(n)),s=t.subarray(n+a);if(s.byteLength!==o)throw new Error("Incorrect length");return new _(r,o,s,t)}i(Qe,"decode");function We(e,t){if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&_e(e.bytes,r.bytes)}}i(We,"equals");var _=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 Ze=0,kr="identity",Ye=C;function Ir(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 $(Ze,Ye(e))}i(Ir,"digest");var Lr={code:Ze,name:kr,encode:Ye,digest:Ir};var Ke={};h(Ke,{sha256:()=>Tr,sha512:()=>Nr});var Br=20;function Ce({name:e,code:t,encode:r,minDigestLength:n,maxDigestLength:o}){return new Se(e,t,r,n,o)}i(Ce,"from");var Se=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??Br,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 $(t,e)}i(et,"createDigest");function rt(e){return async t=>new Uint8Array(await crypto.subtle.digest(e,t))}i(rt,"sha");var Tr=Ce({name:"sha2-256",code:18,encode:rt("SHA-256")}),Nr=Ce({name:"sha2-512",code:19,encode:rt("SHA-512")});function nt(e,t){let{bytes:r,version:n}=e;return n===0?zr(r,Pe(e),t??v.encoder):Rr(r,Pe(e),t??z.encoder)}i(nt,"format");var ot=new WeakMap;function Pe(e){let t=ot.get(e);if(t==null){let r=new Map;return ot.set(e,r),r}return t}i(Pe,"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!==X)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=$(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&&We(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[_r]===!0){let{version:n,multihash:o,code:a}=r,s=Qe(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!==X)throw new Error(`Version 0 CID must use dag-pb (code: ${X}) 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,X,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.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[I,N]=H(t.subarray(r));return r+=N,I},"next"),o=n(),a=X;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]=Mr(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 Pe(a).set(n,t),a}};function Mr(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 z.prefix:{let r=t??z;return[z.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(Mr,"parseCIDtoBytes");function zr(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(zr,"toStringV0");function Rr(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(Rr,"toStringV1");var X=112,Or=18;function it(e,t,r){let n=O(e),o=n+O(t),a=new Uint8Array(o+r.byteLength);return R(e,a,0),R(t,a,n),a.set(r,o),a}i(it,"encodeCID");var _r=Symbol.for("@ipld/js-cid/CID");var De={...Ue,...le,...Ae,...de,...he,...be,...we,...xe,...ge,...me},lo={...Ke,...ve};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))),ke=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=Y(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),$r={utf8:at,"utf-8":at,hex:De.base16,latin1:ke,ascii:ke,binary:ke,...De},re=$r;function j(e,t="utf8"){let r=re[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return r.decoder.decode(`${r.prefix}${e}`)}i(j,"fromString");function Ie(e,t="utf8"){let r=re[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return r.encoder.encode(e).substring(1)}i(Ie,"toString");var oe=globalThis.crypto.subtle;async function ft(e,t){let{wrapped:r,key:n}=await ht(e,null,t);return{enc:r,key:n}}i(ft,"create");async function pt(e,t,r){let{wrapped:n,key:o}=await ht(e,t,r);return{enc:n,key:o}}i(pt,"seal");var $o=Object.assign(Xr,{raw:Be}),Vo=Object.assign(Te,{asString:bt}),Fo=Object.assign(Le,{asString:Vr,fromString:Fr});async function Le(e,t,r){if(t.byteLength<T)throw new Error("malformed message: too short");let n=t[0]<<8|t[1],o=T+n,a=o+V;if(t.byteLength<a+ie)throw new Error("malformed message: too short");let s=t.slice(T,o),c=t.slice(o,a),u=t.slice(a),y=await Be(e,s,r?.info!==void 0?{info:r.info}:void 0),g=await qr(y),I=await oe.decrypt({name:"AES-GCM",iv:c},g,u);return new Uint8Array(I)}i(Le,"decryptBytes");async function Vr(e,t,r){let n=await Le(e,t,r);return new TextDecoder().decode(n)}i(Vr,"decryptToString");async function Fr(e,t,r){let n=j(t,"base64url"),o=await Le(e,n,r?.info!==void 0?{info:r.info}:void 0);return r?.buffer?o:new TextDecoder().decode(o)}i(Fr,"decryptFromString");function Gr(e){if(e!==128&&e!==256)throw new Error(`invalid keysize: ${e} (expected 128 or 256)`)}i(Gr,"validateKeysize");function ct(e){if(e.length!==16&&e.length!==32)throw new Error(`invalid aesKey length: ${e.length} bytes (expected 16 or 32)`)}i(ct,"validateRawKeyBytes");function ut(e){return e==null?new Uint8Array(0):typeof e=="string"?new TextEncoder().encode(e):e}i(ut,"normalizeInfo");async function Hr(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(Hr,"exportAesKeyBytes");async function yt(e){return oe.importKey("raw",e,{name:"AES-GCM"},!0,["encrypt","decrypt"])}i(yt,"importAesKey");async function qr(e){return oe.importKey("raw",e,{name:"AES-GCM"},!1,["decrypt"])}i(qr,"importAesKeyDecryptOnly");async function dt(e,t){let r=new Uint8Array(0),n=await J(B,r,"psk_id_hash",r),o=await J(B,r,"info_hash",t),a=m(new Uint8Array([Me]),n,o),s=await J(B,e,"secret",r),c=await ne(B,s,"key",a,Ne),u=await ne(B,s,"base_nonce",a,V);return{key:c,baseNonce:u}}i(dt,"keySchedule");async function Be(e,t,r){if(t.byteLength<D+ie)throw new Error("malformed envelope: too short");let n=ut(r?.info),o=t.slice(0,D),a=t.slice(D),s=await gt(o,e),{key:c,baseNonce:u}=await dt(s,n);return mt(c,u,a)}i(Be,"openRawBytes");async function Xr(e,t,r){let n=await Be(e,t,r);return yt(n)}i(Xr,"openBytes");async function ht(e,t,r){let n=ut(r?.info),o;if(t instanceof Uint8Array)ct(t),o=t;else if(t)o=await Hr(t),ct(o);else{let Q=r?.size??256;Gr(Q),o=globalThis.crypto.getRandomValues(new Uint8Array(Q/8))}let a=await wt(e),{sharedSecret:s,enc:c}=await xt(a),{key:u,baseNonce:y}=await dt(s,n),g=await lt(u,y,o),I=m(c,g),N=await yt(o);return{wrapped:I,key:N}}i(ht,"encryptKey");var b=globalThis.crypto.subtle;async function lt(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(lt,"aeadSeal");async function mt(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(mt,"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 pt(e,r,n);a=y.enc,s=y.key}else{let y=await ft(e,n);a=y.enc,s=y.key}let c=globalThis.crypto.getRandomValues(new Uint8Array(V)),u=new Uint8Array(await b.encrypt({name:"AES-GCM",iv:c},s,o));return m(k(a.length,T),a,c,u)}i(Te,"encryptBytes");async function bt(e,t,r,n){let o=await Te(e,t,r,n);return Ie(o,n?.encoding??"base64url")}i(bt,"encryptToString");async function Ut(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(Ut,"hmac");async function jr(e,t){let r=e.length===0?new Uint8Array(se):e;return Ut(r,t)}i(jr,"extract");async function Jr(e,t,r){let n=new Uint8Array(r),o=new Uint8Array(0),a=0,s=1;for(;a<r;){o=await Ut(e,m(o,t,k(s,1)));let c=Math.min(o.length,r-a);n.set(o.subarray(0,c),a),a+=c,s++}return n}i(Jr,"expand");async function J(e,t,r,n){let o=m(ce,e,new TextEncoder().encode(r),n);return jr(t,o)}i(J,"labeledExtract");async function ne(e,t,r,n,o){let a=m(k(o,2),ce,e,new TextEncoder().encode(r),n);return Jr(t,a,o)}i(ne,"labeledExpand");async function ze(e){return new Uint8Array(await b.exportKey("raw",e))}i(ze,"exportRawPublic");async function At(e){if(e.length!==D)throw new Error(`invalid public key length: ${e.length} bytes (expected ${D})`);return b.importKey("raw",e,{name:"X25519"},!0,[])}i(At,"importRawPublic");async function wt(e){if(e instanceof Uint8Array)return At(e);if(e instanceof CryptoKey){if(e.type!=="public")throw new Error("recipient CryptoKey must be a public key");return Re(e,"recipient CryptoKey"),e}if(typeof e.publicKey=="string"){let{publicKey:r,encoding:n}=e;return At(j(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 Re(t.publicKey,"recipient keypair publicKey"),t.publicKey}throw new Error("unrecognized recipient key form")}i(wt,"resolveRecipientPublicKey");function Re(e,t){if(e.algorithm.name!=="X25519")throw new Error(`${t} must be an X25519 key (got ${e.algorithm.name})`)}i(Re,"assertX25519Algorithm");async function Et(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(Et,"dh");async function vt(e,t){let r=await J(ae,new Uint8Array(0),"eae_prk",e);return ne(ae,r,"shared_secret",t,se)}i(vt,"extractAndExpand");async function xt(e){let t=await b.generateKey({name:"X25519"},!1,["deriveBits"]),r=await Et(t.privateKey,e),n=await ze(t.publicKey),o=await ze(e),a=m(n,o);return{sharedSecret:await vt(r,a),enc:n}}i(xt,"encap");async function gt(e,t){if(t.privateKey.type!=="private")throw new Error("keypair.privateKey must be a private key");Re(t.privateKey,"keypair.privateKey");let r=await b.importKey("raw",e,{name:"X25519"},!1,[]),n=await Et(t.privateKey,r),o=await ze(t.publicKey),a=m(e,o);return vt(n,a)}i(gt,"decap");function k(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(k,"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=32,St=1,Ct=2,se=32,Ne=32,V=12,D=32,ie=16,Me=0,ce=new TextEncoder().encode("HPKE-v1"),T=2,ae=m(new TextEncoder().encode("KEM"),k(Oe,2)),B=m(new TextEncoder().encode("HPKE"),k(Oe,2),k(St,2),k(Ct,2));
|
|
2
2
|
//# sourceMappingURL=constants.min.cjs.map
|