@libp2p/peer-id 4.1.4 → 4.2.0-ce6da9896

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/dist/index.min.js CHANGED
@@ -1,3 +1,3 @@
1
1
  (function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PPeerId = factory()}(typeof self !== 'undefined' ? self : this, function () {
2
- "use strict";var Libp2PPeerId=(()=>{var Q=Object.defineProperty;var Je=Object.getOwnPropertyDescriptor;var Ge=Object.getOwnPropertyNames;var Xe=Object.prototype.hasOwnProperty;var f=(t,e)=>{for(var r in e)Q(t,r,{get:e[r],enumerable:!0})},He=(t,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Ge(e))!Xe.call(t,n)&&n!==r&&Q(t,n,{get:()=>e[n],enumerable:!(o=Je(e,n))||o.enumerable});return t};var Qe=t=>He(Q({},"__esModule",{value:!0}),t);var ir={};f(ir,{createPeerId:()=>or,peerIdFromBytes:()=>je,peerIdFromCID:()=>$e,peerIdFromKeys:()=>sr,peerIdFromPeerId:()=>nr,peerIdFromString:()=>qe});var Ee=Symbol.for("@libp2p/peer-id");var F=class extends Error{code;props;constructor(e,r,o){super(e),this.code=r,this.name=o?.name??"CodeError",this.props=o??{}}};var te={};f(te,{base58btc:()=>u,base58flickr:()=>rt});var hr=new Uint8Array(0);function ve(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}function A(t){if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")}function Ae(t){return new TextEncoder().encode(t)}function Se(t){return new TextDecoder().decode(t)}function Ye(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),o=0;o<r.length;o++)r[o]=255;for(var n=0;n<t.length;n++){var s=t.charAt(n),i=s.charCodeAt(0);if(r[i]!==255)throw new TypeError(s+" is ambiguous");r[i]=n}var c=t.length,h=t.charAt(0),T=Math.log(c)/Math.log(256),l=Math.log(256)/Math.log(c);function L(a){if(a instanceof Uint8Array||(ArrayBuffer.isView(a)?a=new Uint8Array(a.buffer,a.byteOffset,a.byteLength):Array.isArray(a)&&(a=Uint8Array.from(a))),!(a instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(a.length===0)return"";for(var d=0,U=0,b=0,y=a.length;b!==y&&a[b]===0;)b++,d++;for(var w=(y-b)*l+1>>>0,m=new Uint8Array(w);b!==y;){for(var g=a[b],S=0,x=w-1;(g!==0||S<U)&&x!==-1;x--,S++)g+=256*m[x]>>>0,m[x]=g%c>>>0,g=g/c>>>0;if(g!==0)throw new Error("Non-zero carry");U=S,b++}for(var v=w-U;v!==w&&m[v]===0;)v++;for(var X=h.repeat(d);v<w;++v)X+=t.charAt(m[v]);return X}function G(a){if(typeof a!="string")throw new TypeError("Expected String");if(a.length===0)return new Uint8Array;var d=0;if(a[d]!==" "){for(var U=0,b=0;a[d]===h;)U++,d++;for(var y=(a.length-d)*T+1>>>0,w=new Uint8Array(y);a[d];){var m=r[a.charCodeAt(d)];if(m===255)return;for(var g=0,S=y-1;(m!==0||g<b)&&S!==-1;S--,g++)m+=c*w[S]>>>0,w[S]=m%256>>>0,m=m/256>>>0;if(m!==0)throw new Error("Non-zero carry");b=g,d++}if(a[d]!==" "){for(var x=y-b;x!==y&&w[x]===0;)x++;for(var v=new Uint8Array(U+(y-x)),X=U;x!==y;)v[X++]=w[x++];return v}}}function Ke(a){var d=G(a);if(d)return d;throw new Error(`Non-${e} character`)}return{encode:L,decodeUnsafe:G,decode:Ke}}var We=Ye,Ze=We,Ce=Ze;var Y=class{name;prefix;baseEncode;constructor(e,r,o){this.name=e,this.prefix=r,this.baseEncode=o}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},W=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,r,o){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=o}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Ie(this,e)}},Z=class{decoders;constructor(e){this.decoders=e}or(e){return Ie(this,e)}decode(e){let r=e[0],o=this.decoders[r];if(o!=null)return o.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Ie(t,e){return new Z({...t.decoders??{[t.prefix]:t},...e.decoders??{[e.prefix]:e}})}var ee=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,r,o,n){this.name=e,this.prefix=r,this.baseEncode=o,this.baseDecode=n,this.encoder=new Y(e,r,o),this.decoder=new W(e,r,n)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function O({name:t,prefix:e,encode:r,decode:o}){return new ee(t,e,r,o)}function D({name:t,prefix:e,alphabet:r}){let{encode:o,decode:n}=Ce(r,t);return O({prefix:e,name:t,encode:o,decode:s=>A(n(s))})}function et(t,e,r,o){let n={};for(let l=0;l<e.length;++l)n[e[l]]=l;let s=t.length;for(;t[s-1]==="=";)--s;let i=new Uint8Array(s*r/8|0),c=0,h=0,T=0;for(let l=0;l<s;++l){let L=n[t[l]];if(L===void 0)throw new SyntaxError(`Non-${o} character`);h=h<<r|L,c+=r,c>=8&&(c-=8,i[T++]=255&h>>c)}if(c>=r||255&h<<8-c)throw new SyntaxError("Unexpected end of data");return i}function tt(t,e,r){let o=e[e.length-1]==="=",n=(1<<r)-1,s="",i=0,c=0;for(let h=0;h<t.length;++h)for(c=c<<8|t[h],i+=8;i>r;)i-=r,s+=e[n&c>>i];if(i!==0&&(s+=e[n&c<<r-i]),o)for(;s.length*r&7;)s+="=";return s}function p({name:t,prefix:e,bitsPerChar:r,alphabet:o}){return O({prefix:e,name:t,encode(n){return tt(n,o,r)},decode(n){return et(n,o,r,t)}})}var u=D({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),rt=D({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var re={};f(re,{base10:()=>ot});var ot=D({prefix:"9",name:"base10",alphabet:"0123456789"});var oe={};f(oe,{base16:()=>nt,base16upper:()=>st});var nt=p({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),st=p({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var ne={};f(ne,{base2:()=>it});var it=p({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var se={};f(se,{base256emoji:()=>dt});var Re=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}"),at=Re.reduce((t,e,r)=>(t[r]=e,t),[]),ct=Re.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function pt(t){return t.reduce((e,r)=>(e+=at[r],e),"")}function ht(t){let e=[];for(let r of t){let o=ct[r.codePointAt(0)];if(o===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(o)}return new Uint8Array(e)}var dt=O({prefix:"\u{1F680}",name:"base256emoji",encode:pt,decode:ht});var ie={};f(ie,{base32:()=>P,base32hex:()=>mt,base32hexpad:()=>xt,base32hexpadupper:()=>yt,base32hexupper:()=>bt,base32pad:()=>ut,base32padupper:()=>lt,base32upper:()=>ft,base32z:()=>wt});var P=p({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),ft=p({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),ut=p({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),lt=p({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),mt=p({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),bt=p({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),xt=p({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),yt=p({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),wt=p({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var ae={};f(ae,{base36:()=>gt,base36upper:()=>Et});var gt=D({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Et=D({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var ce={};f(ce,{base64:()=>vt,base64pad:()=>At,base64url:()=>St,base64urlpad:()=>Dt});var vt=p({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),At=p({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),St=p({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Dt=p({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var pe={};f(pe,{base8:()=>Ct});var Ct=p({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var he={};f(he,{identity:()=>It});var It=O({prefix:"\0",name:"identity",encode:t=>Se(t),decode:t=>Ae(t)});var Cr=new TextEncoder,Ir=new TextDecoder;var fe={};f(fe,{identity:()=>_});var Nt=Te,Ue=128,Tt=127,Lt=~Tt,Ot=Math.pow(2,31);function Te(t,e,r){e=e||[],r=r||0;for(var o=r;t>=Ot;)e[r++]=t&255|Ue,t/=128;for(;t&Lt;)e[r++]=t&255|Ue,t>>>=7;return e[r]=t|0,Te.bytes=r-o+1,e}var Pt=de,Mt=128,Ne=127;function de(t,o){var r=0,o=o||0,n=0,s=o,i,c=t.length;do{if(s>=c)throw de.bytes=0,new RangeError("Could not decode varint");i=t[s++],r+=n<28?(i&Ne)<<n:(i&Ne)*Math.pow(2,n),n+=7}while(i>=Mt);return de.bytes=s-o,r}var zt=Math.pow(2,7),Vt=Math.pow(2,14),Bt=Math.pow(2,21),_t=Math.pow(2,28),Ft=Math.pow(2,35),kt=Math.pow(2,42),qt=Math.pow(2,49),jt=Math.pow(2,56),$t=Math.pow(2,63),Kt=function(t){return t<zt?1:t<Vt?2:t<Bt?3:t<_t?4:t<Ft?5:t<kt?6:t<qt?7:t<jt?8:t<$t?9:10},Jt={encode:Nt,decode:Pt,encodingLength:Kt},Gt=Jt,k=Gt;function q(t,e=0){return[k.decode(t,e),k.decode.bytes]}function M(t,e,r=0){return k.encode(t,e,r),e}function z(t){return k.encodingLength(t)}function E(t,e){let r=e.byteLength,o=z(t),n=o+z(r),s=new Uint8Array(n+r);return M(t,s,0),M(r,s,o),s.set(e,n),new V(t,r,e,s)}function j(t){let e=A(t),[r,o]=q(e),[n,s]=q(e.subarray(o)),i=e.subarray(o+s);if(i.byteLength!==n)throw new Error("Incorrect length");return new V(r,n,i,e)}function Le(t,e){if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&ve(t.bytes,r.bytes)}}var V=class{code;size;digest;bytes;constructor(e,r,o,n){this.code=e,this.size=r,this.digest=o,this.bytes=n}};var Oe=0,Xt="identity",Pe=A;function Ht(t){return E(Oe,Pe(t))}var _={code:Oe,name:Xt,encode:Pe,digest:Ht};var me={};f(me,{sha256:()=>$,sha512:()=>Qt});function le({name:t,code:e,encode:r}){return new ue(t,e,r)}var ue=class{name;code;encode;constructor(e,r,o){this.name=e,this.code=r,this.encode=o}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?E(this.code,r):r.then(o=>E(this.code,o))}else throw Error("Unknown type, must be binary type")}};function ze(t){return async e=>new Uint8Array(await crypto.subtle.digest(t,e))}var $=le({name:"sha2-256",code:18,encode:ze("SHA-256")}),Qt=le({name:"sha2-512",code:19,encode:ze("SHA-512")});function Ve(t,e){let{bytes:r,version:o}=t;switch(o){case 0:return Wt(r,be(t),e??u.encoder);default:return Zt(r,be(t),e??P.encoder)}}var Be=new WeakMap;function be(t){let e=Be.get(t);if(e==null){let r=new Map;return Be.set(t,r),r}return e}var N=class t{code;version;multihash;bytes;"/";constructor(e,r,o,n){this.code=r,this.version=e,this.multihash=o,this.bytes=n,this["/"]=n}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:e,multihash:r}=this;if(e!==K)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==er)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.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:e,digest:r}=this.multihash,o=E(e,r);return t.createV1(this.code,o)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return t.equals(this,e)}static equals(e,r){let o=r;return o!=null&&e.code===o.code&&e.version===o.version&&Le(e.multihash,o.multihash)}toString(e){return Ve(this,e)}toJSON(){return{"/":Ve(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:o,code:n,multihash:s,bytes:i}=r;return new t(o,n,s,i??_e(o,n,s.bytes))}else if(r[tr]===!0){let{version:o,multihash:n,code:s}=r,i=j(n);return t.create(o,s,i)}else return null}static create(e,r,o){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(o.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==K)throw new Error(`Version 0 CID must use dag-pb (code: ${K}) block encoding`);return new t(e,r,o,o.bytes)}case 1:{let n=_e(e,r,o.bytes);return new t(e,r,o,n)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,K,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,o]=t.decodeFirst(e);if(o.length!==0)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),o=r.size-r.multihashSize,n=A(e.subarray(o,o+r.multihashSize));if(n.byteLength!==r.multihashSize)throw new Error("Incorrect length");let s=n.subarray(r.multihashSize-r.digestSize),i=new V(r.multihashCode,r.digestSize,s,n);return[r.version===0?t.createV0(i):t.createV1(r.codec,i),e.subarray(r.size)]}static inspectBytes(e){let r=0,o=()=>{let[L,G]=q(e.subarray(r));return r+=G,L},n=o(),s=K;if(n===18?(n=0,r=0):s=o(),n!==0&&n!==1)throw new RangeError(`Invalid CID version ${n}`);let i=r,c=o(),h=o(),T=r+h,l=T-i;return{version:n,codec:s,multihashCode:c,digestSize:h,multihashSize:l,size:T}}static parse(e,r){let[o,n]=Yt(e,r),s=t.decode(n);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return be(s).set(o,e),s}};function Yt(t,e){switch(t[0]){case"Q":{let r=e??u;return[u.prefix,r.decode(`${u.prefix}${t}`)]}case u.prefix:{let r=e??u;return[u.prefix,r.decode(t)]}case P.prefix:{let r=e??P;return[P.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}}function Wt(t,e,r){let{prefix:o}=r;if(o!==u.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let n=e.get(o);if(n==null){let s=r.encode(t).slice(1);return e.set(o,s),s}else return n}function Zt(t,e,r){let{prefix:o}=r,n=e.get(o);if(n==null){let s=r.encode(t);return e.set(o,s),s}else return n}var K=112,er=18;function _e(t,e,r){let o=z(t),n=o+z(e),s=new Uint8Array(n+r.byteLength);return M(t,s,0),M(e,s,o),s.set(r,n),s}var tr=Symbol.for("@ipld/js-cid/CID");var xe={...he,...ne,...pe,...re,...oe,...ie,...ae,...te,...ce,...se},Xr={...me,...fe};function ye(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var rr=Symbol.for("nodejs.util.inspect.custom"),Fe=Object.values(xe).map(t=>t.decoder).reduce((t,e)=>t.or(e),xe.identity.decoder),ke=114,we=36,ge=37,J=class{type;multihash;privateKey;publicKey;string;constructor(e){this.type=e.type,this.multihash=e.multihash,this.privateKey=e.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[Ee]=!0;toString(){return this.string==null&&(this.string=u.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return N.createV1(ke,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){if(e==null)return!1;if(e instanceof Uint8Array)return ye(this.multihash.bytes,e);if(typeof e=="string")return qe(e).equals(this);if(e?.multihash?.bytes!=null)return ye(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[rr](){return`PeerId(${this.toString()})`}},C=class extends J{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},I=class extends J{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.multihash.digest}},R=class extends J{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.multihash.digest}};function or(t){if(t.type==="RSA")return new C(t);if(t.type==="Ed25519")return new I(t);if(t.type==="secp256k1")return new R(t);throw new F('Type must be "RSA", "Ed25519" or "secp256k1"',"ERR_INVALID_PARAMETERS")}function nr(t){if(t.type==="RSA")return new C(t);if(t.type==="Ed25519")return new I(t);if(t.type==="secp256k1")return new R(t);throw new F("Not a PeerId","ERR_INVALID_PARAMETERS")}function qe(t,e){if(e=e??Fe,t.charAt(0)==="1"||t.charAt(0)==="Q"){let r=j(u.decode(`z${t}`));return t.startsWith("12D")?new I({multihash:r}):t.startsWith("16U")?new R({multihash:r}):new C({multihash:r})}return je(Fe.decode(t))}function je(t){try{let e=j(t);if(e.code===_.code){if(e.digest.length===we)return new I({multihash:e});if(e.digest.length===ge)return new R({multihash:e})}if(e.code===$.code)return new C({multihash:e})}catch{return $e(N.decode(t))}throw new Error("Supplied PeerID CID is invalid")}function $e(t){if(t==null||t.multihash==null||t.version==null||t.version===1&&t.code!==ke)throw new Error("Supplied PeerID CID is invalid");let e=t.multihash;if(e.code===$.code)return new C({multihash:t.multihash});if(e.code===_.code){if(e.digest.length===we)return new I({multihash:t.multihash});if(e.digest.length===ge)return new R({multihash:t.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function sr(t,e){return t.length===we?new I({multihash:E(_.code,t),privateKey:e}):t.length===ge?new R({multihash:E(_.code,t),privateKey:e}):new C({multihash:await $.digest(t),publicKey:t,privateKey:e})}return Qe(ir);})();
2
+ "use strict";var Libp2PPeerId=(()=>{var W=Object.defineProperty;var rt=Object.getOwnPropertyDescriptor;var nt=Object.getOwnPropertyNames;var ot=Object.prototype.hasOwnProperty;var u=(t,e)=>{for(var r in e)W(t,r,{get:e[r],enumerable:!0})},st=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of nt(e))!ot.call(t,o)&&o!==r&&W(t,o,{get:()=>e[o],enumerable:!(n=rt(e,o))||n.enumerable});return t};var it=t=>st(W({},"__esModule",{value:!0}),t);var br={};u(br,{createPeerId:()=>fr,peerIdFromBytes:()=>Ze,peerIdFromCID:()=>et,peerIdFromKeys:()=>mr,peerIdFromPeerId:()=>lr,peerIdFromString:()=>We});var Z=Symbol.for("@libp2p/peer-id");var $=class extends Error{code;props;constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var oe={};u(oe,{base58btc:()=>f,base58flickr:()=>ut});var wr=new Uint8Array(0);function Ie(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}function S(t){if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")}function Re(t){return new TextEncoder().encode(t)}function Ue(t){return new TextDecoder().decode(t)}function at(t,e){if(t.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<t.length;o++){var s=t.charAt(o),i=s.charCodeAt(0);if(r[i]!==255)throw new TypeError(s+" is ambiguous");r[i]=o}var c=t.length,p=t.charAt(0),O=Math.log(c)/Math.log(256),l=Math.log(256)/Math.log(c);function P(a){if(a instanceof Uint8Array||(ArrayBuffer.isView(a)?a=new Uint8Array(a.buffer,a.byteOffset,a.byteLength):Array.isArray(a)&&(a=Uint8Array.from(a))),!(a instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(a.length===0)return"";for(var h=0,T=0,b=0,y=a.length;b!==y&&a[b]===0;)b++,h++;for(var g=(y-b)*l+1>>>0,m=new Uint8Array(g);b!==y;){for(var w=a[b],A=0,x=g-1;(w!==0||A<T)&&x!==-1;x--,A++)w+=256*m[x]>>>0,m[x]=w%c>>>0,w=w/c>>>0;if(w!==0)throw new Error("Non-zero carry");T=A,b++}for(var v=g-T;v!==g&&m[v]===0;)v++;for(var X=p.repeat(h);v<g;++v)X+=t.charAt(m[v]);return X}function H(a){if(typeof a!="string")throw new TypeError("Expected String");if(a.length===0)return new Uint8Array;var h=0;if(a[h]!==" "){for(var T=0,b=0;a[h]===p;)T++,h++;for(var y=(a.length-h)*O+1>>>0,g=new Uint8Array(y);a[h];){var m=r[a.charCodeAt(h)];if(m===255)return;for(var w=0,A=y-1;(m!==0||w<b)&&A!==-1;A--,w++)m+=c*g[A]>>>0,g[A]=m%256>>>0,m=m/256>>>0;if(m!==0)throw new Error("Non-zero carry");b=w,h++}if(a[h]!==" "){for(var x=y-b;x!==y&&g[x]===0;)x++;for(var v=new Uint8Array(T+(y-x)),X=T;x!==y;)v[X++]=g[x++];return v}}}function tt(a){var h=H(a);if(h)return h;throw new Error(`Non-${e} character`)}return{encode:P,decodeUnsafe:H,decode:tt}}var ct=at,dt=ct,Ne=dt;var ee=class{name;prefix;baseEncode;constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},te=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Oe(this,e)}},re=class{decoders;constructor(e){this.decoders=e}or(e){return Oe(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n!=null)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Oe(t,e){return new re({...t.decoders??{[t.prefix]:t},...e.decoders??{[e.prefix]:e}})}var ne=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,r,n,o){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new ee(e,r,n),this.decoder=new te(e,r,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function L({name:t,prefix:e,encode:r,decode:n}){return new ne(t,e,r,n)}function D({name:t,prefix:e,alphabet:r}){let{encode:n,decode:o}=Ne(r,t);return L({prefix:e,name:t,encode:n,decode:s=>S(o(s))})}function pt(t,e,r,n){let o={};for(let l=0;l<e.length;++l)o[e[l]]=l;let s=t.length;for(;t[s-1]==="=";)--s;let i=new Uint8Array(s*r/8|0),c=0,p=0,O=0;for(let l=0;l<s;++l){let P=o[t[l]];if(P===void 0)throw new SyntaxError(`Non-${n} character`);p=p<<r|P,c+=r,c>=8&&(c-=8,i[O++]=255&p>>c)}if(c>=r||255&p<<8-c)throw new SyntaxError("Unexpected end of data");return i}function ht(t,e,r){let n=e[e.length-1]==="=",o=(1<<r)-1,s="",i=0,c=0;for(let p=0;p<t.length;++p)for(c=c<<8|t[p],i+=8;i>r;)i-=r,s+=e[o&c>>i];if(i!==0&&(s+=e[o&c<<r-i]),n)for(;s.length*r&7;)s+="=";return s}function d({name:t,prefix:e,bitsPerChar:r,alphabet:n}){return L({prefix:e,name:t,encode(o){return ht(o,n,r)},decode(o){return pt(o,n,r,t)}})}var f=D({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),ut=D({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var se={};u(se,{base10:()=>ft});var ft=D({prefix:"9",name:"base10",alphabet:"0123456789"});var ie={};u(ie,{base16:()=>lt,base16upper:()=>mt});var lt=d({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),mt=d({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var ae={};u(ae,{base2:()=>bt});var bt=d({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var ce={};u(ce,{base256emoji:()=>Et});var Pe=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}"),xt=Pe.reduce((t,e,r)=>(t[r]=e,t),[]),yt=Pe.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function gt(t){return t.reduce((e,r)=>(e+=xt[r],e),"")}function wt(t){let e=[];for(let r of t){let n=yt[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var Et=L({prefix:"\u{1F680}",name:"base256emoji",encode:gt,decode:wt});var de={};u(de,{base32:()=>M,base32hex:()=>Dt,base32hexpad:()=>It,base32hexpadupper:()=>Rt,base32hexupper:()=>Ct,base32pad:()=>St,base32padupper:()=>At,base32upper:()=>vt,base32z:()=>Ut});var M=d({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),vt=d({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),St=d({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),At=d({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Dt=d({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Ct=d({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),It=d({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Rt=d({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Ut=d({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var pe={};u(pe,{base36:()=>Tt,base36upper:()=>Nt});var Tt=D({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Nt=D({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var he={};u(he,{base64:()=>Ot,base64pad:()=>Pt,base64url:()=>Lt,base64urlpad:()=>Mt});var Ot=d({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Pt=d({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Lt=d({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Mt=d({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var ue={};u(ue,{base8:()=>zt});var zt=d({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var fe={};u(fe,{identity:()=>Bt});var Bt=L({prefix:"\0",name:"identity",encode:t=>Ue(t),decode:t=>Re(t)});var zr=new TextEncoder,Br=new TextDecoder;var me={};u(me,{identity:()=>N});var Ft=ze,Le=128,$t=127,kt=~$t,qt=Math.pow(2,31);function ze(t,e,r){e=e||[],r=r||0;for(var n=r;t>=qt;)e[r++]=t&255|Le,t/=128;for(;t&kt;)e[r++]=t&255|Le,t>>>=7;return e[r]=t|0,ze.bytes=r-n+1,e}var jt=le,Kt=128,Me=127;function le(t,n){var r=0,n=n||0,o=0,s=n,i,c=t.length;do{if(s>=c)throw le.bytes=0,new RangeError("Could not decode varint");i=t[s++],r+=o<28?(i&Me)<<o:(i&Me)*Math.pow(2,o),o+=7}while(i>=Kt);return le.bytes=s-n,r}var Jt=Math.pow(2,7),Gt=Math.pow(2,14),Ht=Math.pow(2,21),Xt=Math.pow(2,28),Yt=Math.pow(2,35),Qt=Math.pow(2,42),Wt=Math.pow(2,49),Zt=Math.pow(2,56),er=Math.pow(2,63),tr=function(t){return t<Jt?1:t<Gt?2:t<Ht?3:t<Xt?4:t<Yt?5:t<Qt?6:t<Wt?7:t<Zt?8:t<er?9:10},rr={encode:Ft,decode:jt,encodingLength:tr},nr=rr,k=nr;function q(t,e=0){return[k.decode(t,e),k.decode.bytes]}function z(t,e,r=0){return k.encode(t,e,r),e}function B(t){return k.encodingLength(t)}function E(t,e){let r=e.byteLength,n=B(t),o=n+B(r),s=new Uint8Array(o+r);return z(t,s,0),z(r,s,n),s.set(e,o),new V(t,r,e,s)}function j(t){let e=S(t),[r,n]=q(e),[o,s]=q(e.subarray(n)),i=e.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new V(r,o,i,e)}function Be(t,e){if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&Ie(t.bytes,r.bytes)}}var V=class{code;size;digest;bytes;constructor(e,r,n,o){this.code=e,this.size=r,this.digest=n,this.bytes=o}};var Ve=0,or="identity",_e=S;function sr(t){return E(Ve,_e(t))}var N={code:Ve,name:or,encode:_e,digest:sr};var ye={};u(ye,{sha256:()=>K,sha512:()=>ir});function xe({name:t,code:e,encode:r}){return new be(t,e,r)}var be=class{name;code;encode;constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?E(this.code,r):r.then(n=>E(this.code,n))}else throw Error("Unknown type, must be binary type")}};function $e(t){return async e=>new Uint8Array(await crypto.subtle.digest(t,e))}var K=xe({name:"sha2-256",code:18,encode:$e("SHA-256")}),ir=xe({name:"sha2-512",code:19,encode:$e("SHA-512")});function ke(t,e){let{bytes:r,version:n}=t;switch(n){case 0:return cr(r,ge(t),e??f.encoder);default:return dr(r,ge(t),e??M.encoder)}}var qe=new WeakMap;function ge(t){let e=qe.get(t);if(e==null){let r=new Map;return qe.set(t,r),r}return e}var C=class t{code;version;multihash;bytes;"/";constructor(e,r,n,o){this.code=r,this.version=e,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:e,multihash:r}=this;if(e!==J)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==pr)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.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:e,digest:r}=this.multihash,n=E(e,r);return t.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(e){return t.equals(this,e)}static equals(e,r){let n=r;return n!=null&&e.code===n.code&&e.version===n.version&&Be(e.multihash,n.multihash)}toString(e){return ke(this,e)}toJSON(){return{"/":ke(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:o,multihash:s,bytes:i}=r;return new t(n,o,s,i??je(n,o,s.bytes))}else if(r[hr]===!0){let{version:n,multihash:o,code:s}=r,i=j(o);return t.create(n,s,i)}else return null}static create(e,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(e){case 0:{if(r!==J)throw new Error(`Version 0 CID must use dag-pb (code: ${J}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let o=je(e,r,n.bytes);return new t(e,r,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,J,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length!==0)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,o=S(e.subarray(n,n+r.multihashSize));if(o.byteLength!==r.multihashSize)throw new Error("Incorrect length");let s=o.subarray(r.multihashSize-r.digestSize),i=new V(r.multihashCode,r.digestSize,s,o);return[r.version===0?t.createV0(i):t.createV1(r.codec,i),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[P,H]=q(e.subarray(r));return r+=H,P},o=n(),s=J;if(o===18?(o=0,r=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=r,c=n(),p=n(),O=r+p,l=O-i;return{version:o,codec:s,multihashCode:c,digestSize:p,multihashSize:l,size:O}}static parse(e,r){let[n,o]=ar(e,r),s=t.decode(o);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return ge(s).set(n,e),s}};function ar(t,e){switch(t[0]){case"Q":{let r=e??f;return[f.prefix,r.decode(`${f.prefix}${t}`)]}case f.prefix:{let r=e??f;return[f.prefix,r.decode(t)]}case M.prefix:{let r=e??M;return[M.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}}function cr(t,e,r){let{prefix:n}=r;if(n!==f.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=e.get(n);if(o==null){let s=r.encode(t).slice(1);return e.set(n,s),s}else return o}function dr(t,e,r){let{prefix:n}=r,o=e.get(n);if(o==null){let s=r.encode(t);return e.set(n,s),s}else return o}var J=112,pr=18;function je(t,e,r){let n=B(t),o=n+B(e),s=new Uint8Array(o+r.byteLength);return z(t,s,0),z(e,s,n),s.set(r,o),s}var hr=Symbol.for("@ipld/js-cid/CID");var F={...fe,...ae,...ue,...se,...ie,...de,...pe,...oe,...he,...ce},on={...ye,...me};function we(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}function Ke(t=0){return new Uint8Array(t)}function Ge(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var Je=Ge("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Ee=Ge("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=Ke(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),ur={utf8:Je,"utf-8":Je,hex:F.base16,latin1:Ee,ascii:Ee,binary:Ee,...F},Q=ur;function He(t,e="utf8"){let r=Q[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return r.decoder.decode(`${r.prefix}${t}`)}function ve(t,e="utf8"){let r=Q[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return r.encoder.encode(t).substring(1)}var Ye=Symbol.for("nodejs.util.inspect.custom"),Xe=Object.values(F).map(t=>t.decoder).reduce((t,e)=>t.or(e),F.identity.decoder),Qe=114,De=36,Ce=37,G=class{type;multihash;privateKey;publicKey;string;constructor(e){this.type=e.type,this.multihash=e.multihash,this.privateKey=e.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[Z]=!0;toString(){return this.string==null&&(this.string=f.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return C.createV1(Qe,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){if(e==null)return!1;if(e instanceof Uint8Array)return we(this.multihash.bytes,e);if(typeof e=="string")return We(e).equals(this);if(e?.multihash?.bytes!=null)return we(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[Ye](){return`PeerId(${this.toString()})`}},I=class extends G{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},R=class extends G{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.multihash.digest}},U=class extends G{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.multihash.digest}},Se=2336,Ae=class{type="url";multihash;privateKey;publicKey;url;constructor(e){this.url=e.toString(),this.multihash=N.digest(He(this.url))}[Ye](){return`PeerId(${this.url})`}[Z]=!0;toString(){return this.toCID().toString()}toCID(){return C.createV1(Se,this.multihash)}toBytes(){return this.toCID().bytes}equals(e){return e==null?!1:(e instanceof Uint8Array&&(e=ve(e)),e.toString()===this.toString())}};function fr(t){if(t.type==="RSA")return new I(t);if(t.type==="Ed25519")return new R(t);if(t.type==="secp256k1")return new U(t);throw new $('Type must be "RSA", "Ed25519" or "secp256k1"',"ERR_INVALID_PARAMETERS")}function lr(t){if(t.type==="RSA")return new I(t);if(t.type==="Ed25519")return new R(t);if(t.type==="secp256k1")return new U(t);throw new $("Not a PeerId","ERR_INVALID_PARAMETERS")}function We(t,e){if(e=e??Xe,t.charAt(0)==="1"||t.charAt(0)==="Q"){let r=j(f.decode(`z${t}`));return t.startsWith("12D")?new R({multihash:r}):t.startsWith("16U")?new U({multihash:r}):new I({multihash:r})}return Ze(Xe.decode(t))}function Ze(t){try{let e=j(t);if(e.code===N.code){if(e.digest.length===De)return new R({multihash:e});if(e.digest.length===Ce)return new U({multihash:e})}if(e.code===K.code)return new I({multihash:e})}catch{return et(C.decode(t))}throw new Error("Supplied PeerID CID is invalid")}function et(t){if(t==null||t.multihash==null||t.version==null||t.version===1&&t.code!==Qe&&t.code!==Se)throw new Error("Supplied PeerID CID is invalid");if(t.code===Se){let r=ve(t.multihash.digest);return new Ae(new URL(r))}let e=t.multihash;if(e.code===K.code)return new I({multihash:t.multihash});if(e.code===N.code){if(e.digest.length===De)return new R({multihash:t.multihash});if(e.digest.length===Ce)return new U({multihash:t.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function mr(t,e){return t.length===De?new R({multihash:E(N.code,t),privateKey:e}):t.length===Ce?new U({multihash:E(N.code,t),privateKey:e}):new I({multihash:await K.digest(t),publicKey:t,privateKey:e})}return it(br);})();
3
3
  return Libp2PPeerId}));
@@ -13,7 +13,7 @@
13
13
  * console.log(peer.toString()) // "12D3K..."
14
14
  * ```
15
15
  */
16
- import { type Ed25519PeerId, type PeerIdType, type RSAPeerId, type Secp256k1PeerId } from '@libp2p/interface';
16
+ import { type Ed25519PeerId, type PeerIdType, type RSAPeerId, type URLPeerId, type Secp256k1PeerId } from '@libp2p/interface';
17
17
  import { CID } from 'multiformats/cid';
18
18
  import type { MultibaseDecoder } from 'multiformats/bases/interface';
19
19
  import type { MultihashDigest } from 'multiformats/hashes/interface';
@@ -24,9 +24,9 @@ interface PeerIdInit {
24
24
  }
25
25
  export declare function createPeerId(init: PeerIdInit): Ed25519PeerId | Secp256k1PeerId | RSAPeerId;
26
26
  export declare function peerIdFromPeerId(other: any): Ed25519PeerId | Secp256k1PeerId | RSAPeerId;
27
- export declare function peerIdFromString(str: string, decoder?: MultibaseDecoder<any>): Ed25519PeerId | Secp256k1PeerId | RSAPeerId;
28
- export declare function peerIdFromBytes(buf: Uint8Array): Ed25519PeerId | Secp256k1PeerId | RSAPeerId;
29
- export declare function peerIdFromCID(cid: CID): Ed25519PeerId | Secp256k1PeerId | RSAPeerId;
27
+ export declare function peerIdFromString(str: string, decoder?: MultibaseDecoder<any>): Ed25519PeerId | Secp256k1PeerId | RSAPeerId | URLPeerId;
28
+ export declare function peerIdFromBytes(buf: Uint8Array): Ed25519PeerId | Secp256k1PeerId | RSAPeerId | URLPeerId;
29
+ export declare function peerIdFromCID(cid: CID): Ed25519PeerId | Secp256k1PeerId | RSAPeerId | URLPeerId;
30
30
  /**
31
31
  * @param publicKey - A marshalled public key
32
32
  * @param privateKey - A marshalled private key
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,KAAK,eAAe,EAA6B,MAAM,mBAAmB,CAAA;AAGxI,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAKtC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAgBpE,UAAU,UAAU;IAClB,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,eAAe,CAAA;IAC1B,UAAU,CAAC,EAAE,UAAU,CAAA;CACxB;AAyID,wBAAgB,YAAY,CAAE,IAAI,EAAE,UAAU,GAAG,aAAa,GAAG,eAAe,GAAG,SAAS,CAc3F;AAED,wBAAgB,gBAAgB,CAAE,KAAK,EAAE,GAAG,GAAG,aAAa,GAAG,eAAe,GAAG,SAAS,CAczF;AAED,wBAAgB,gBAAgB,CAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,CAAC,GAAG,CAAC,GAAG,aAAa,GAAG,eAAe,GAAG,SAAS,CAkB3H;AAED,wBAAgB,eAAe,CAAE,GAAG,EAAE,UAAU,GAAG,aAAa,GAAG,eAAe,GAAG,SAAS,CAoB7F;AAED,wBAAgB,aAAa,CAAE,GAAG,EAAE,GAAG,GAAG,aAAa,GAAG,eAAe,GAAG,SAAS,CAkBpF;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,GAAG,eAAe,GAAG,SAAS,CAAC,CAU1I"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,eAAe,EAA6B,MAAM,mBAAmB,CAAA;AAGxJ,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAOtC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAgBpE,UAAU,UAAU;IAClB,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,eAAe,CAAA;IAC1B,UAAU,CAAC,EAAE,UAAU,CAAA;CACxB;AAuLD,wBAAgB,YAAY,CAAE,IAAI,EAAE,UAAU,GAAG,aAAa,GAAG,eAAe,GAAG,SAAS,CAc3F;AAED,wBAAgB,gBAAgB,CAAE,KAAK,EAAE,GAAG,GAAG,aAAa,GAAG,eAAe,GAAG,SAAS,CAczF;AAED,wBAAgB,gBAAgB,CAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,CAAC,GAAG,CAAC,GAAG,aAAa,GAAG,eAAe,GAAG,SAAS,GAAG,SAAS,CAkBvI;AAED,wBAAgB,eAAe,CAAE,GAAG,EAAE,UAAU,GAAG,aAAa,GAAG,eAAe,GAAG,SAAS,GAAG,SAAS,CAoBzG;AAED,wBAAgB,aAAa,CAAE,GAAG,EAAE,GAAG,GAAG,aAAa,GAAG,eAAe,GAAG,SAAS,GAAG,SAAS,CAwBhG;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,GAAG,eAAe,GAAG,SAAS,CAAC,CAU1I"}
package/dist/src/index.js CHANGED
@@ -22,6 +22,8 @@ import * as Digest from 'multiformats/hashes/digest';
22
22
  import { identity } from 'multiformats/hashes/identity';
23
23
  import { sha256 } from 'multiformats/hashes/sha2';
24
24
  import { equals as uint8ArrayEquals } from 'uint8arrays/equals';
25
+ import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
26
+ import { toString as uint8ArrayToString } from 'uint8arrays/to-string';
25
27
  const inspect = Symbol.for('nodejs.util.inspect.custom');
26
28
  const baseDecoder = Object
27
29
  .values(bases)
@@ -132,6 +134,41 @@ class Secp256k1PeerIdImpl extends PeerIdImpl {
132
134
  this.publicKey = init.multihash.digest;
133
135
  }
134
136
  }
137
+ // these values are from https://github.com/multiformats/multicodec/blob/master/table.csv
138
+ const TRANSPORT_IPFS_GATEWAY_HTTP_CODE = 0x0920;
139
+ class URLPeerIdImpl {
140
+ type = 'url';
141
+ multihash;
142
+ privateKey;
143
+ publicKey;
144
+ url;
145
+ constructor(url) {
146
+ this.url = url.toString();
147
+ this.multihash = identity.digest(uint8ArrayFromString(this.url));
148
+ }
149
+ [inspect]() {
150
+ return `PeerId(${this.url})`;
151
+ }
152
+ [peerIdSymbol] = true;
153
+ toString() {
154
+ return this.toCID().toString();
155
+ }
156
+ toCID() {
157
+ return CID.createV1(TRANSPORT_IPFS_GATEWAY_HTTP_CODE, this.multihash);
158
+ }
159
+ toBytes() {
160
+ return this.toCID().bytes;
161
+ }
162
+ equals(other) {
163
+ if (other == null) {
164
+ return false;
165
+ }
166
+ if (other instanceof Uint8Array) {
167
+ other = uint8ArrayToString(other);
168
+ }
169
+ return other.toString() === this.toString();
170
+ }
171
+ }
135
172
  export function createPeerId(init) {
136
173
  if (init.type === 'RSA') {
137
174
  return new RSAPeerIdImpl(init);
@@ -195,9 +232,13 @@ export function peerIdFromBytes(buf) {
195
232
  throw new Error('Supplied PeerID CID is invalid');
196
233
  }
197
234
  export function peerIdFromCID(cid) {
198
- if (cid == null || cid.multihash == null || cid.version == null || (cid.version === 1 && cid.code !== LIBP2P_KEY_CODE)) {
235
+ if (cid == null || cid.multihash == null || cid.version == null || (cid.version === 1 && (cid.code !== LIBP2P_KEY_CODE) && cid.code !== TRANSPORT_IPFS_GATEWAY_HTTP_CODE)) {
199
236
  throw new Error('Supplied PeerID CID is invalid');
200
237
  }
238
+ if (cid.code === TRANSPORT_IPFS_GATEWAY_HTTP_CODE) {
239
+ const url = uint8ArrayToString(cid.multihash.digest);
240
+ return new URLPeerIdImpl(new URL(url));
241
+ }
201
242
  const multihash = cid.multihash;
202
243
  if (multihash.code === sha256.code) {
203
244
  return new RSAPeerIdImpl({ multihash: cid.multihash });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libp2p/peer-id",
3
- "version": "4.1.4",
3
+ "version": "4.2.0-ce6da9896",
4
4
  "description": "Implementation of @libp2p/interface-peer-id",
5
5
  "license": "Apache-2.0 OR MIT",
6
6
  "homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/peer-id#readme",
@@ -54,7 +54,7 @@
54
54
  "test:electron-main": "aegir test -t electron-main"
55
55
  },
56
56
  "dependencies": {
57
- "@libp2p/interface": "^1.5.0",
57
+ "@libp2p/interface": "1.6.0-ce6da9896",
58
58
  "multiformats": "^13.1.0",
59
59
  "uint8arrays": "^5.1.0"
60
60
  },
package/src/index.ts CHANGED
@@ -15,7 +15,7 @@
15
15
  */
16
16
 
17
17
  import { CodeError } from '@libp2p/interface'
18
- import { type Ed25519PeerId, type PeerIdType, type RSAPeerId, type Secp256k1PeerId, peerIdSymbol, type PeerId } from '@libp2p/interface'
18
+ import { type Ed25519PeerId, type PeerIdType, type RSAPeerId, type URLPeerId, type Secp256k1PeerId, peerIdSymbol, type PeerId } from '@libp2p/interface'
19
19
  import { base58btc } from 'multiformats/bases/base58'
20
20
  import { bases } from 'multiformats/basics'
21
21
  import { CID } from 'multiformats/cid'
@@ -23,6 +23,8 @@ import * as Digest from 'multiformats/hashes/digest'
23
23
  import { identity } from 'multiformats/hashes/identity'
24
24
  import { sha256 } from 'multiformats/hashes/sha2'
25
25
  import { equals as uint8ArrayEquals } from 'uint8arrays/equals'
26
+ import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string'
27
+ import { toString as uint8ArrayToString } from 'uint8arrays/to-string'
26
28
  import type { MultibaseDecoder } from 'multiformats/bases/interface'
27
29
  import type { MultihashDigest } from 'multiformats/hashes/interface'
28
30
 
@@ -181,6 +183,52 @@ class Secp256k1PeerIdImpl extends PeerIdImpl implements Secp256k1PeerId {
181
183
  }
182
184
  }
183
185
 
186
+ // these values are from https://github.com/multiformats/multicodec/blob/master/table.csv
187
+ const TRANSPORT_IPFS_GATEWAY_HTTP_CODE = 0x0920
188
+
189
+ class URLPeerIdImpl implements URLPeerId {
190
+ readonly type = 'url'
191
+ readonly multihash: MultihashDigest
192
+ readonly privateKey?: Uint8Array
193
+ readonly publicKey?: Uint8Array
194
+ readonly url: string
195
+
196
+ constructor (url: URL) {
197
+ this.url = url.toString()
198
+ this.multihash = identity.digest(uint8ArrayFromString(this.url))
199
+ }
200
+
201
+ [inspect] (): string {
202
+ return `PeerId(${this.url})`
203
+ }
204
+
205
+ readonly [peerIdSymbol] = true
206
+
207
+ toString (): string {
208
+ return this.toCID().toString()
209
+ }
210
+
211
+ toCID (): CID {
212
+ return CID.createV1(TRANSPORT_IPFS_GATEWAY_HTTP_CODE, this.multihash)
213
+ }
214
+
215
+ toBytes (): Uint8Array {
216
+ return this.toCID().bytes
217
+ }
218
+
219
+ equals (other?: PeerId | Uint8Array | string): boolean {
220
+ if (other == null) {
221
+ return false
222
+ }
223
+
224
+ if (other instanceof Uint8Array) {
225
+ other = uint8ArrayToString(other)
226
+ }
227
+
228
+ return other.toString() === this.toString()
229
+ }
230
+ }
231
+
184
232
  export function createPeerId (init: PeerIdInit): Ed25519PeerId | Secp256k1PeerId | RSAPeerId {
185
233
  if (init.type === 'RSA') {
186
234
  return new RSAPeerIdImpl(init)
@@ -213,7 +261,7 @@ export function peerIdFromPeerId (other: any): Ed25519PeerId | Secp256k1PeerId |
213
261
  throw new CodeError('Not a PeerId', 'ERR_INVALID_PARAMETERS')
214
262
  }
215
263
 
216
- export function peerIdFromString (str: string, decoder?: MultibaseDecoder<any>): Ed25519PeerId | Secp256k1PeerId | RSAPeerId {
264
+ export function peerIdFromString (str: string, decoder?: MultibaseDecoder<any>): Ed25519PeerId | Secp256k1PeerId | RSAPeerId | URLPeerId {
217
265
  decoder = decoder ?? baseDecoder
218
266
 
219
267
  if (str.charAt(0) === '1' || str.charAt(0) === 'Q') {
@@ -233,7 +281,7 @@ export function peerIdFromString (str: string, decoder?: MultibaseDecoder<any>):
233
281
  return peerIdFromBytes(baseDecoder.decode(str))
234
282
  }
235
283
 
236
- export function peerIdFromBytes (buf: Uint8Array): Ed25519PeerId | Secp256k1PeerId | RSAPeerId {
284
+ export function peerIdFromBytes (buf: Uint8Array): Ed25519PeerId | Secp256k1PeerId | RSAPeerId | URLPeerId {
237
285
  try {
238
286
  const multihash = Digest.decode(buf)
239
287
 
@@ -255,11 +303,17 @@ export function peerIdFromBytes (buf: Uint8Array): Ed25519PeerId | Secp256k1Peer
255
303
  throw new Error('Supplied PeerID CID is invalid')
256
304
  }
257
305
 
258
- export function peerIdFromCID (cid: CID): Ed25519PeerId | Secp256k1PeerId | RSAPeerId {
259
- if (cid == null || cid.multihash == null || cid.version == null || (cid.version === 1 && cid.code !== LIBP2P_KEY_CODE)) {
306
+ export function peerIdFromCID (cid: CID): Ed25519PeerId | Secp256k1PeerId | RSAPeerId | URLPeerId {
307
+ if (cid == null || cid.multihash == null || cid.version == null || (cid.version === 1 && (cid.code !== LIBP2P_KEY_CODE) && cid.code !== TRANSPORT_IPFS_GATEWAY_HTTP_CODE)) {
260
308
  throw new Error('Supplied PeerID CID is invalid')
261
309
  }
262
310
 
311
+ if (cid.code === TRANSPORT_IPFS_GATEWAY_HTTP_CODE) {
312
+ const url = uint8ArrayToString(cid.multihash.digest)
313
+
314
+ return new URLPeerIdImpl(new URL(url))
315
+ }
316
+
263
317
  const multihash = cid.multihash
264
318
 
265
319
  if (multihash.code === sha256.code) {
@@ -1,14 +0,0 @@
1
- {
2
- "createPeerId": "https://libp2p.github.io/js-libp2p/functions/_libp2p_peer_id.createPeerId.html",
3
- ".:createPeerId": "https://libp2p.github.io/js-libp2p/functions/_libp2p_peer_id.createPeerId.html",
4
- "peerIdFromBytes": "https://libp2p.github.io/js-libp2p/functions/_libp2p_peer_id.peerIdFromBytes.html",
5
- ".:peerIdFromBytes": "https://libp2p.github.io/js-libp2p/functions/_libp2p_peer_id.peerIdFromBytes.html",
6
- "peerIdFromCID": "https://libp2p.github.io/js-libp2p/functions/_libp2p_peer_id.peerIdFromCID.html",
7
- ".:peerIdFromCID": "https://libp2p.github.io/js-libp2p/functions/_libp2p_peer_id.peerIdFromCID.html",
8
- "peerIdFromKeys": "https://libp2p.github.io/js-libp2p/functions/_libp2p_peer_id.peerIdFromKeys.html",
9
- ".:peerIdFromKeys": "https://libp2p.github.io/js-libp2p/functions/_libp2p_peer_id.peerIdFromKeys.html",
10
- "peerIdFromPeerId": "https://libp2p.github.io/js-libp2p/functions/_libp2p_peer_id.peerIdFromPeerId.html",
11
- ".:peerIdFromPeerId": "https://libp2p.github.io/js-libp2p/functions/_libp2p_peer_id.peerIdFromPeerId.html",
12
- "peerIdFromString": "https://libp2p.github.io/js-libp2p/functions/_libp2p_peer_id.peerIdFromString.html",
13
- ".:peerIdFromString": "https://libp2p.github.io/js-libp2p/functions/_libp2p_peer_id.peerIdFromString.html"
14
- }