@penumbra-labs/registry
Advanced tools
Comparing version 7.0.0 to 7.1.0
# @penumbra-labs/registry | ||
## 7.1.0 | ||
### Minor Changes | ||
- Support for deimos-8 | ||
## 7.0.0 | ||
@@ -4,0 +10,0 @@ |
@@ -1,2 +0,2 @@ | ||
"use strict";var Ce=Object.defineProperty;var Me=(n,e,t)=>e in n?Ce(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var N=(n,e,t)=>(Me(n,typeof e!="symbol"?e+"":e,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ae=/^(penumbra-testnet-(?:\w+-)*\w+)-[a-f0-9]{8}$/,Je=n=>ae.test(n),je=n=>{const e=n.match(ae);if(e)return e[1]};function h(n,e){if(!n)throw new Error(e)}const Re=34028234663852886e22,_e=-34028234663852886e22,$e=4294967295,Ge=2147483647,Ke=-2147483648;function q(n){if(typeof n!="number")throw new Error("invalid int 32: "+typeof n);if(!Number.isInteger(n)||n>Ge||n<Ke)throw new Error("invalid int 32: "+n)}function R(n){if(typeof n!="number")throw new Error("invalid uint 32: "+typeof n);if(!Number.isInteger(n)||n>$e||n<0)throw new Error("invalid uint 32: "+n)}function oe(n){if(typeof n!="number")throw new Error("invalid float 32: "+typeof n);if(Number.isFinite(n)&&(n>Re||n<_e))throw new Error("invalid float 32: "+n)}const ce=Symbol("@bufbuild/protobuf/enum-type");function He(n){const e=n[ce];return h(e,"missing enum type on enum object"),e}function ue(n,e,t,r){n[ce]=me(e,t.map(s=>({no:s.no,name:s.name,localName:n[s.no]})))}function me(n,e,t){const r=Object.create(null),s=Object.create(null),i=[];for(const a of e){const o=le(a);i.push(o),r[a.name]=o,s[a.no]=o}return{typeName:n,values:i,findName(a){return r[a]},findNumber(a){return s[a]}}}function We(n,e,t){const r={};for(const s of e){const i=le(s);r[i.localName]=i.no,r[i.no]=i.localName}return ue(r,n,e),r}function le(n){return"localName"in n?n:Object.assign(Object.assign({},n),{localName:n.name})}class fe{equals(e){return this.getType().runtime.util.equals(this.getType(),this,e)}clone(){return this.getType().runtime.util.clone(this)}fromBinary(e,t){const r=this.getType(),s=r.runtime.bin,i=s.makeReadOptions(t);return s.readMessage(this,i.readerFactory(e),e.byteLength,i),this}fromJson(e,t){const r=this.getType(),s=r.runtime.json,i=s.makeReadOptions(t);return s.readMessage(r,e,i,this),this}fromJsonString(e,t){let r;try{r=JSON.parse(e)}catch(s){throw new Error(`cannot decode ${this.getType().typeName} from JSON: ${s instanceof Error?s.message:String(s)}`)}return this.fromJson(r,t)}toBinary(e){const t=this.getType(),r=t.runtime.bin,s=r.makeWriteOptions(e),i=s.writerFactory();return r.writeMessage(this,i,s),i.finish()}toJson(e){const t=this.getType(),r=t.runtime.json,s=r.makeWriteOptions(e);return r.writeMessage(this,s)}toJsonString(e){var t;const r=this.toJson(e);return JSON.stringify(r,null,(t=e==null?void 0:e.prettySpaces)!==null&&t!==void 0?t:0)}toJSON(){return this.toJson({emitDefaultValues:!0})}getType(){return Object.getPrototypeOf(this).constructor}}function Ze(n,e,t,r){var s;const i=(s=r==null?void 0:r.localName)!==null&&s!==void 0?s:e.substring(e.lastIndexOf(".")+1),a={[i]:function(o){n.util.initFields(this),n.util.initPartial(o,this)}}[i];return Object.setPrototypeOf(a.prototype,new fe),Object.assign(a,{runtime:n,typeName:e,fields:n.util.newFieldList(t),fromBinary(o,u){return new a().fromBinary(o,u)},fromJson(o,u){return new a().fromJson(o,u)},fromJsonString(o,u){return new a().fromJsonString(o,u)},equals(o,u){return n.util.equals(a,o,u)}}),a}function Qe(){let n=0,e=0;for(let r=0;r<28;r+=7){let s=this.buf[this.pos++];if(n|=(s&127)<<r,!(s&128))return this.assertBounds(),[n,e]}let t=this.buf[this.pos++];if(n|=(t&15)<<28,e=(t&112)>>4,!(t&128))return this.assertBounds(),[n,e];for(let r=3;r<=31;r+=7){let s=this.buf[this.pos++];if(e|=(s&127)<<r,!(s&128))return this.assertBounds(),[n,e]}throw new Error("invalid varint")}function M(n,e,t){for(let i=0;i<28;i=i+7){const a=n>>>i,o=!(!(a>>>7)&&e==0),u=(o?a|128:a)&255;if(t.push(u),!o)return}const r=n>>>28&15|(e&7)<<4,s=!!(e>>3);if(t.push((s?r|128:r)&255),!!s){for(let i=3;i<31;i=i+7){const a=e>>>i,o=!!(a>>>7),u=(o?a|128:a)&255;if(t.push(u),!o)return}t.push(e>>>31&1)}}const O=4294967296;function G(n){const e=n[0]==="-";e&&(n=n.slice(1));const t=1e6;let r=0,s=0;function i(a,o){const u=Number(n.slice(a,o));s*=t,r=r*t+u,r>=O&&(s=s+(r/O|0),r=r%O)}return i(-24,-18),i(-18,-12),i(-12,-6),i(-6),e?he(r,s):$(r,s)}function Xe(n,e){let t=$(n,e);const r=t.hi&2147483648;r&&(t=he(t.lo,t.hi));const s=de(t.lo,t.hi);return r?"-"+s:s}function de(n,e){if({lo:n,hi:e}=Ye(n,e),e<=2097151)return String(O*e+n);const t=n&16777215,r=(n>>>24|e<<8)&16777215,s=e>>16&65535;let i=t+r*6777216+s*6710656,a=r+s*8147497,o=s*2;const u=1e7;return i>=u&&(a+=Math.floor(i/u),i%=u),a>=u&&(o+=Math.floor(a/u),a%=u),o.toString()+K(a)+K(i)}function Ye(n,e){return{lo:n>>>0,hi:e>>>0}}function $(n,e){return{lo:n|0,hi:e|0}}function he(n,e){return e=~e,n?n=~n+1:e+=1,$(n,e)}const K=n=>{const e=String(n);return"0000000".slice(e.length)+e};function H(n,e){if(n>=0){for(;n>127;)e.push(n&127|128),n=n>>>7;e.push(n)}else{for(let t=0;t<9;t++)e.push(n&127|128),n=n>>7;e.push(1)}}function en(){let n=this.buf[this.pos++],e=n&127;if(!(n&128))return this.assertBounds(),e;if(n=this.buf[this.pos++],e|=(n&127)<<7,!(n&128))return this.assertBounds(),e;if(n=this.buf[this.pos++],e|=(n&127)<<14,!(n&128))return this.assertBounds(),e;if(n=this.buf[this.pos++],e|=(n&127)<<21,!(n&128))return this.assertBounds(),e;n=this.buf[this.pos++],e|=(n&15)<<28;for(let t=5;n&128&&t<10;t++)n=this.buf[this.pos++];if(n&128)throw new Error("invalid varint");return this.assertBounds(),e>>>0}function nn(){const n=new DataView(new ArrayBuffer(8));if(typeof BigInt=="function"&&typeof n.getBigInt64=="function"&&typeof n.getBigUint64=="function"&&typeof n.setBigInt64=="function"&&typeof n.setBigUint64=="function"&&(typeof process!="object"||typeof process.env!="object"||process.env.BUF_BIGINT_DISABLE!=="1")){const s=BigInt("-9223372036854775808"),i=BigInt("9223372036854775807"),a=BigInt("0"),o=BigInt("18446744073709551615");return{zero:BigInt(0),supported:!0,parse(u){const l=typeof u=="bigint"?u:BigInt(u);if(l>i||l<s)throw new Error(`int64 invalid: ${u}`);return l},uParse(u){const l=typeof u=="bigint"?u:BigInt(u);if(l>o||l<a)throw new Error(`uint64 invalid: ${u}`);return l},enc(u){return n.setBigInt64(0,this.parse(u),!0),{lo:n.getInt32(0,!0),hi:n.getInt32(4,!0)}},uEnc(u){return n.setBigInt64(0,this.uParse(u),!0),{lo:n.getInt32(0,!0),hi:n.getInt32(4,!0)}},dec(u,l){return n.setInt32(0,u,!0),n.setInt32(4,l,!0),n.getBigInt64(0,!0)},uDec(u,l){return n.setInt32(0,u,!0),n.setInt32(4,l,!0),n.getBigUint64(0,!0)}}}const t=s=>h(/^-?[0-9]+$/.test(s),`int64 invalid: ${s}`),r=s=>h(/^[0-9]+$/.test(s),`uint64 invalid: ${s}`);return{zero:"0",supported:!1,parse(s){return typeof s!="string"&&(s=s.toString()),t(s),s},uParse(s){return typeof s!="string"&&(s=s.toString()),r(s),s},enc(s){return typeof s!="string"&&(s=s.toString()),t(s),G(s)},uEnc(s){return typeof s!="string"&&(s=s.toString()),r(s),G(s)},dec(s,i){return Xe(s,i)},uDec(s,i){return de(s,i)}}}const b=nn();var c;(function(n){n[n.DOUBLE=1]="DOUBLE",n[n.FLOAT=2]="FLOAT",n[n.INT64=3]="INT64",n[n.UINT64=4]="UINT64",n[n.INT32=5]="INT32",n[n.FIXED64=6]="FIXED64",n[n.FIXED32=7]="FIXED32",n[n.BOOL=8]="BOOL",n[n.STRING=9]="STRING",n[n.BYTES=12]="BYTES",n[n.UINT32=13]="UINT32",n[n.SFIXED32=15]="SFIXED32",n[n.SFIXED64=16]="SFIXED64",n[n.SINT32=17]="SINT32",n[n.SINT64=18]="SINT64"})(c||(c={}));var k;(function(n){n[n.BIGINT=0]="BIGINT",n[n.STRING=1]="STRING"})(k||(k={}));function w(n,e,t){if(e===t)return!0;if(n==c.BYTES){if(!(e instanceof Uint8Array)||!(t instanceof Uint8Array)||e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}switch(n){case c.UINT64:case c.FIXED64:case c.INT64:case c.SFIXED64:case c.SINT64:return e==t}return!1}function E(n,e){switch(n){case c.BOOL:return!1;case c.UINT64:case c.FIXED64:case c.INT64:case c.SFIXED64:case c.SINT64:return e==0?b.zero:"0";case c.DOUBLE:case c.FLOAT:return 0;case c.BYTES:return new Uint8Array(0);case c.STRING:return"";default:return 0}}function pe(n,e){switch(n){case c.BOOL:return e===!1;case c.STRING:return e==="";case c.BYTES:return e instanceof Uint8Array&&!e.byteLength;default:return e==0}}var p;(function(n){n[n.Varint=0]="Varint",n[n.Bit64=1]="Bit64",n[n.LengthDelimited=2]="LengthDelimited",n[n.StartGroup=3]="StartGroup",n[n.EndGroup=4]="EndGroup",n[n.Bit32=5]="Bit32"})(p||(p={}));class tn{constructor(e){this.stack=[],this.textEncoder=e??new TextEncoder,this.chunks=[],this.buf=[]}finish(){this.chunks.push(new Uint8Array(this.buf));let e=0;for(let s=0;s<this.chunks.length;s++)e+=this.chunks[s].length;let t=new Uint8Array(e),r=0;for(let s=0;s<this.chunks.length;s++)t.set(this.chunks[s],r),r+=this.chunks[s].length;return this.chunks=[],t}fork(){return this.stack.push({chunks:this.chunks,buf:this.buf}),this.chunks=[],this.buf=[],this}join(){let e=this.finish(),t=this.stack.pop();if(!t)throw new Error("invalid state, fork stack empty");return this.chunks=t.chunks,this.buf=t.buf,this.uint32(e.byteLength),this.raw(e)}tag(e,t){return this.uint32((e<<3|t)>>>0)}raw(e){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(e),this}uint32(e){for(R(e);e>127;)this.buf.push(e&127|128),e=e>>>7;return this.buf.push(e),this}int32(e){return q(e),H(e,this.buf),this}bool(e){return this.buf.push(e?1:0),this}bytes(e){return this.uint32(e.byteLength),this.raw(e)}string(e){let t=this.textEncoder.encode(e);return this.uint32(t.byteLength),this.raw(t)}float(e){oe(e);let t=new Uint8Array(4);return new DataView(t.buffer).setFloat32(0,e,!0),this.raw(t)}double(e){let t=new Uint8Array(8);return new DataView(t.buffer).setFloat64(0,e,!0),this.raw(t)}fixed32(e){R(e);let t=new Uint8Array(4);return new DataView(t.buffer).setUint32(0,e,!0),this.raw(t)}sfixed32(e){q(e);let t=new Uint8Array(4);return new DataView(t.buffer).setInt32(0,e,!0),this.raw(t)}sint32(e){return q(e),e=(e<<1^e>>31)>>>0,H(e,this.buf),this}sfixed64(e){let t=new Uint8Array(8),r=new DataView(t.buffer),s=b.enc(e);return r.setInt32(0,s.lo,!0),r.setInt32(4,s.hi,!0),this.raw(t)}fixed64(e){let t=new Uint8Array(8),r=new DataView(t.buffer),s=b.uEnc(e);return r.setInt32(0,s.lo,!0),r.setInt32(4,s.hi,!0),this.raw(t)}int64(e){let t=b.enc(e);return M(t.lo,t.hi,this.buf),this}sint64(e){let t=b.enc(e),r=t.hi>>31,s=t.lo<<1^r,i=(t.hi<<1|t.lo>>>31)^r;return M(s,i,this.buf),this}uint64(e){let t=b.uEnc(e);return M(t.lo,t.hi,this.buf),this}}class sn{constructor(e,t){this.varint64=Qe,this.uint32=en,this.buf=e,this.len=e.length,this.pos=0,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength),this.textDecoder=t??new TextDecoder}tag(){let e=this.uint32(),t=e>>>3,r=e&7;if(t<=0||r<0||r>5)throw new Error("illegal tag: field no "+t+" wire type "+r);return[t,r]}skip(e){let t=this.pos;switch(e){case p.Varint:for(;this.buf[this.pos++]&128;);break;case p.Bit64:this.pos+=4;case p.Bit32:this.pos+=4;break;case p.LengthDelimited:let r=this.uint32();this.pos+=r;break;case p.StartGroup:let s;for(;(s=this.tag()[1])!==p.EndGroup;)this.skip(s);break;default:throw new Error("cant skip wire type "+e)}return this.assertBounds(),this.buf.subarray(t,this.pos)}assertBounds(){if(this.pos>this.len)throw new RangeError("premature EOF")}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)}int64(){return b.dec(...this.varint64())}uint64(){return b.uDec(...this.varint64())}sint64(){let[e,t]=this.varint64(),r=-(e&1);return e=(e>>>1|(t&1)<<31)^r,t=t>>>1^r,b.dec(e,t)}bool(){let[e,t]=this.varint64();return e!==0||t!==0}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return b.uDec(this.sfixed32(),this.sfixed32())}sfixed64(){return b.dec(this.sfixed32(),this.sfixed32())}float(){return this.view.getFloat32((this.pos+=4)-4,!0)}double(){return this.view.getFloat64((this.pos+=8)-8,!0)}bytes(){let e=this.uint32(),t=this.pos;return this.pos+=e,this.assertBounds(),this.buf.subarray(t,t+e)}string(){return this.textDecoder.decode(this.bytes())}}function rn(n,e,t,r){let s;return{typeName:e,extendee:t,get field(){if(!s){const i=typeof r=="function"?r():r;i.name=e.split(".").pop(),i.jsonName=`[${e}]`,s=n.util.newFieldList([i]).list()[0]}return s},runtime:n}}function be(n){const e=n.field.localName,t=Object.create(null);return t[e]=an(n),[t,()=>t[e]]}function an(n){const e=n.field;if(e.repeated)return[];if(e.default!==void 0)return e.default;switch(e.kind){case"enum":return e.T.values[0].no;case"scalar":return E(e.T,e.L);case"message":const t=e.T,r=new t;return t.fieldWrapper?t.fieldWrapper.unwrapField(r):r;case"map":throw"map fields are not allowed to be extensions"}}function on(n,e){if(!e.repeated&&(e.kind=="enum"||e.kind=="scalar")){for(let t=n.length-1;t>=0;--t)if(n[t].no==e.no)return[n[t]];return[]}return n.filter(t=>t.no===e.no)}let y="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),C=[];for(let n=0;n<y.length;n++)C[y[n].charCodeAt(0)]=n;C[45]=y.indexOf("+");C[95]=y.indexOf("/");const ge={dec(n){let e=n.length*3/4;n[n.length-2]=="="?e-=2:n[n.length-1]=="="&&(e-=1);let t=new Uint8Array(e),r=0,s=0,i,a=0;for(let o=0;o<n.length;o++){if(i=C[n.charCodeAt(o)],i===void 0)switch(n[o]){case"=":s=0;case` | ||
`:case"\r":case" ":case" ":continue;default:throw Error("invalid base64 string.")}switch(s){case 0:a=i,s=1;break;case 1:t[r++]=a<<2|(i&48)>>4,a=i,s=2;break;case 2:t[r++]=(a&15)<<4|(i&60)>>2,a=i,s=3;break;case 3:t[r++]=(a&3)<<6|i,s=0;break}}if(s==1)throw Error("invalid base64 string.");return t.subarray(0,r)},enc(n){let e="",t=0,r,s=0;for(let i=0;i<n.length;i++)switch(r=n[i],t){case 0:e+=y[r>>2],s=(r&3)<<4,t=1;break;case 1:e+=y[s|r>>4],s=(r&15)<<2,t=2;break;case 2:e+=y[s|r>>6],e+=y[r&63],t=0;break}return t&&(e+=y[s],e+="=",t==1&&(e+="=")),e}};function cn(n,e,t){we(e,n);const r=e.runtime.bin.makeReadOptions(t),s=on(n.getType().runtime.bin.listUnknownFields(n),e.field),[i,a]=be(e);for(const o of s)e.runtime.bin.readField(i,r.readerFactory(o.data),e.field,o.wireType,r);return a()}function un(n,e,t,r){we(e,n);const s=e.runtime.bin.makeReadOptions(r),i=e.runtime.bin.makeWriteOptions(r);if(ye(n,e)){const l=n.getType().runtime.bin.listUnknownFields(n).filter(m=>m.no!=e.field.no);n.getType().runtime.bin.discardUnknownFields(n);for(const m of l)n.getType().runtime.bin.onUnknownField(n,m.no,m.wireType,m.data)}const a=i.writerFactory();let o=e.field;!o.opt&&!o.repeated&&(o.kind=="enum"||o.kind=="scalar")&&(o=Object.assign(Object.assign({},e.field),{opt:!0})),e.runtime.bin.writeField(o,t,a,i);const u=s.readerFactory(a.finish());for(;u.pos<u.len;){const[l,m]=u.tag(),f=u.skip(m);n.getType().runtime.bin.onUnknownField(n,l,m,f)}}function ye(n,e){const t=n.getType();return e.extendee.typeName===t.typeName&&!!t.runtime.bin.listUnknownFields(n).find(r=>r.no==e.field.no)}function we(n,e){h(n.extendee.typeName==e.getType().typeName,`extension ${n.typeName} can only be applied to message ${n.extendee.typeName}`)}function ke(n,e){const t=n.localName;if(n.repeated)return e[t].length>0;if(n.oneof)return e[n.oneof.localName].case===t;switch(n.kind){case"enum":case"scalar":return n.opt||n.req?e[t]!==void 0:n.kind=="enum"?e[t]!==n.T.values[0].no:!pe(n.T,e[t]);case"message":return e[t]!==void 0;case"map":return Object.keys(e[t]).length>0}}function W(n,e){const t=n.localName,r=!n.opt&&!n.req;if(n.repeated)e[t]=[];else if(n.oneof)e[n.oneof.localName]={case:void 0};else switch(n.kind){case"map":e[t]={};break;case"enum":e[t]=r?n.T.values[0].no:void 0;break;case"scalar":e[t]=r?E(n.T,n.L):void 0;break;case"message":e[t]=void 0;break}}function T(n,e){if(n===null||typeof n!="object"||!Object.getOwnPropertyNames(fe.prototype).every(r=>r in n&&typeof n[r]=="function"))return!1;const t=n.getType();return t===null||typeof t!="function"||!("typeName"in t)||typeof t.typeName!="string"?!1:e===void 0?!0:t.typeName==e.typeName}function Ie(n,e){return T(e)||!n.fieldWrapper?e:n.fieldWrapper.wrapField(e)}c.DOUBLE,c.FLOAT,c.INT64,c.UINT64,c.INT32,c.UINT32,c.BOOL,c.STRING,c.BYTES;const Z={ignoreUnknownFields:!1},Q={emitDefaultValues:!1,enumAsInteger:!1,useProtoFieldName:!1,prettySpaces:0};function mn(n){return n?Object.assign(Object.assign({},Z),n):Z}function ln(n){return n?Object.assign(Object.assign({},Q),n):Q}const z=Symbol(),D=Symbol();function fn(){return{makeReadOptions:mn,makeWriteOptions:ln,readMessage(n,e,t,r){if(e==null||Array.isArray(e)||typeof e!="object")throw new Error(`cannot decode message ${n.typeName} from JSON: ${g(e)}`);r=r??new n;const s=new Map,i=t.typeRegistry;for(const[a,o]of Object.entries(e)){const u=n.fields.findJsonName(a);if(u){if(u.oneof){if(o===null&&u.kind=="scalar")continue;const l=s.get(u.oneof);if(l!==void 0)throw new Error(`cannot decode message ${n.typeName} from JSON: multiple keys for oneof "${u.oneof.name}" present: "${l}", "${a}"`);s.set(u.oneof,a)}X(r,o,u,t,n)}else{let l=!1;if(i!=null&&i.findExtension&&a.startsWith("[")&&a.endsWith("]")){const m=i.findExtension(a.substring(1,a.length-1));if(m&&m.extendee.typeName==n.typeName){l=!0;const[f,d]=be(m);X(f,o,m.field,t,m),un(r,m,d(),t)}}if(!l&&!t.ignoreUnknownFields)throw new Error(`cannot decode message ${n.typeName} from JSON: key "${a}" is unknown`)}}return r},writeMessage(n,e){const t=n.getType(),r={};let s;try{for(s of t.fields.byNumber()){if(!ke(s,n)){if(s.req)throw"required field not set";if(!e.emitDefaultValues||!hn(s))continue}const a=s.oneof?n[s.oneof.localName].value:n[s.localName],o=Y(s,a,e);o!==void 0&&(r[e.useProtoFieldName?s.name:s.jsonName]=o)}const i=e.typeRegistry;if(i!=null&&i.findExtensionFor)for(const a of t.runtime.bin.listUnknownFields(n)){const o=i.findExtensionFor(t.typeName,a.no);if(o&&ye(n,o)){const u=cn(n,o,e),l=Y(o.field,u,e);l!==void 0&&(r[o.field.jsonName]=l)}}}catch(i){const a=s?`cannot encode field ${t.typeName}.${s.name} to JSON`:`cannot encode message ${t.typeName} to JSON`,o=i instanceof Error?i.message:String(i);throw new Error(a+(o.length>0?`: ${o}`:""))}return r},readScalar(n,e,t){return S(n,e,t??k.BIGINT,!0)},writeScalar(n,e,t){if(e!==void 0&&(t||pe(n,e)))return L(n,e)},debug:g}}function g(n){if(n===null)return"null";switch(typeof n){case"object":return Array.isArray(n)?"array":"object";case"string":return n.length>100?"string":`"${n.split('"').join('\\"')}"`;default:return String(n)}}function X(n,e,t,r,s){let i=t.localName;if(t.repeated){if(h(t.kind!="map"),e===null)return;if(!Array.isArray(e))throw new Error(`cannot decode field ${s.typeName}.${t.name} from JSON: ${g(e)}`);const a=n[i];for(const o of e){if(o===null)throw new Error(`cannot decode field ${s.typeName}.${t.name} from JSON: ${g(o)}`);switch(t.kind){case"message":a.push(t.T.fromJson(o,r));break;case"enum":const u=J(t.T,o,r.ignoreUnknownFields,!0);u!==D&&a.push(u);break;case"scalar":try{a.push(S(t.T,o,t.L,!0))}catch(l){let m=`cannot decode field ${s.typeName}.${t.name} from JSON: ${g(o)}`;throw l instanceof Error&&l.message.length>0&&(m+=`: ${l.message}`),new Error(m)}break}}}else if(t.kind=="map"){if(e===null)return;if(typeof e!="object"||Array.isArray(e))throw new Error(`cannot decode field ${s.typeName}.${t.name} from JSON: ${g(e)}`);const a=n[i];for(const[o,u]of Object.entries(e)){if(u===null)throw new Error(`cannot decode field ${s.typeName}.${t.name} from JSON: map value null`);let l;try{l=dn(t.K,o)}catch(m){let f=`cannot decode map key for field ${s.typeName}.${t.name} from JSON: ${g(e)}`;throw m instanceof Error&&m.message.length>0&&(f+=`: ${m.message}`),new Error(f)}switch(t.V.kind){case"message":a[l]=t.V.T.fromJson(u,r);break;case"enum":const m=J(t.V.T,u,r.ignoreUnknownFields,!0);m!==D&&(a[l]=m);break;case"scalar":try{a[l]=S(t.V.T,u,k.BIGINT,!0)}catch(f){let d=`cannot decode map value for field ${s.typeName}.${t.name} from JSON: ${g(e)}`;throw f instanceof Error&&f.message.length>0&&(d+=`: ${f.message}`),new Error(d)}break}}}else switch(t.oneof&&(n=n[t.oneof.localName]={case:i},i="value"),t.kind){case"message":const a=t.T;if(e===null&&a.typeName!="google.protobuf.Value")return;let o=n[i];T(o)?o.fromJson(e,r):(n[i]=o=a.fromJson(e,r),a.fieldWrapper&&!t.oneof&&(n[i]=a.fieldWrapper.unwrapField(o)));break;case"enum":const u=J(t.T,e,r.ignoreUnknownFields,!1);switch(u){case z:W(t,n);break;case D:break;default:n[i]=u;break}break;case"scalar":try{const l=S(t.T,e,t.L,!1);switch(l){case z:W(t,n);break;default:n[i]=l;break}}catch(l){let m=`cannot decode field ${s.typeName}.${t.name} from JSON: ${g(e)}`;throw l instanceof Error&&l.message.length>0&&(m+=`: ${l.message}`),new Error(m)}break}}function dn(n,e){if(n===c.BOOL)switch(e){case"true":e=!0;break;case"false":e=!1;break}return S(n,e,k.BIGINT,!0).toString()}function S(n,e,t,r){if(e===null)return r?E(n,t):z;switch(n){case c.DOUBLE:case c.FLOAT:if(e==="NaN")return Number.NaN;if(e==="Infinity")return Number.POSITIVE_INFINITY;if(e==="-Infinity")return Number.NEGATIVE_INFINITY;if(e===""||typeof e=="string"&&e.trim().length!==e.length||typeof e!="string"&&typeof e!="number")break;const s=Number(e);if(Number.isNaN(s)||!Number.isFinite(s))break;return n==c.FLOAT&&oe(s),s;case c.INT32:case c.FIXED32:case c.SFIXED32:case c.SINT32:case c.UINT32:let i;if(typeof e=="number"?i=e:typeof e=="string"&&e.length>0&&e.trim().length===e.length&&(i=Number(e)),i===void 0)break;return n==c.UINT32||n==c.FIXED32?R(i):q(i),i;case c.INT64:case c.SFIXED64:case c.SINT64:if(typeof e!="number"&&typeof e!="string")break;const a=b.parse(e);return t?a.toString():a;case c.FIXED64:case c.UINT64:if(typeof e!="number"&&typeof e!="string")break;const o=b.uParse(e);return t?o.toString():o;case c.BOOL:if(typeof e!="boolean")break;return e;case c.STRING:if(typeof e!="string")break;try{encodeURIComponent(e)}catch{throw new Error("invalid UTF8")}return e;case c.BYTES:if(e==="")return new Uint8Array(0);if(typeof e!="string")break;return ge.dec(e)}throw new Error}function J(n,e,t,r){if(e===null)return n.typeName=="google.protobuf.NullValue"?0:r?n.values[0].no:z;switch(typeof e){case"number":if(Number.isInteger(e))return e;break;case"string":const s=n.findName(e);if(s!==void 0)return s.no;if(t)return D;break}throw new Error(`cannot decode enum ${n.typeName} from JSON: ${g(e)}`)}function hn(n){return n.repeated||n.kind=="map"?!0:!(n.oneof||n.kind=="message"||n.opt||n.req)}function Y(n,e,t){if(n.kind=="map"){h(typeof e=="object"&&e!=null);const r={},s=Object.entries(e);switch(n.V.kind){case"scalar":for(const[a,o]of s)r[a.toString()]=L(n.V.T,o);break;case"message":for(const[a,o]of s)r[a.toString()]=o.toJson(t);break;case"enum":const i=n.V.T;for(const[a,o]of s)r[a.toString()]=j(i,o,t.enumAsInteger);break}return t.emitDefaultValues||s.length>0?r:void 0}if(n.repeated){h(Array.isArray(e));const r=[];switch(n.kind){case"scalar":for(let s=0;s<e.length;s++)r.push(L(n.T,e[s]));break;case"enum":for(let s=0;s<e.length;s++)r.push(j(n.T,e[s],t.enumAsInteger));break;case"message":for(let s=0;s<e.length;s++)r.push(e[s].toJson(t));break}return t.emitDefaultValues||r.length>0?r:void 0}switch(n.kind){case"scalar":return L(n.T,e);case"enum":return j(n.T,e,t.enumAsInteger);case"message":return Ie(n.T,e).toJson(t)}}function j(n,e,t){var r;if(h(typeof e=="number"),n.typeName=="google.protobuf.NullValue")return null;if(t)return e;const s=n.findNumber(e);return(r=s==null?void 0:s.name)!==null&&r!==void 0?r:e}function L(n,e){switch(n){case c.INT32:case c.SFIXED32:case c.SINT32:case c.FIXED32:case c.UINT32:return h(typeof e=="number"),e;case c.FLOAT:case c.DOUBLE:return h(typeof e=="number"),Number.isNaN(e)?"NaN":e===Number.POSITIVE_INFINITY?"Infinity":e===Number.NEGATIVE_INFINITY?"-Infinity":e;case c.STRING:return h(typeof e=="string"),e;case c.BOOL:return h(typeof e=="boolean"),e;case c.UINT64:case c.FIXED64:case c.INT64:case c.SFIXED64:case c.SINT64:return h(typeof e=="bigint"||typeof e=="string"||typeof e=="number"),e.toString();case c.BYTES:return h(e instanceof Uint8Array),ge.enc(e)}}const U=Symbol("@bufbuild/protobuf/unknown-fields"),ee={readUnknownFields:!0,readerFactory:n=>new sn(n)},ne={writeUnknownFields:!0,writerFactory:()=>new tn};function pn(n){return n?Object.assign(Object.assign({},ee),n):ee}function bn(n){return n?Object.assign(Object.assign({},ne),n):ne}function gn(){return{makeReadOptions:pn,makeWriteOptions:bn,listUnknownFields(n){var e;return(e=n[U])!==null&&e!==void 0?e:[]},discardUnknownFields(n){delete n[U]},writeUnknownFields(n,e){const r=n[U];if(r)for(const s of r)e.tag(s.no,s.wireType).raw(s.data)},onUnknownField(n,e,t,r){const s=n;Array.isArray(s[U])||(s[U]=[]),s[U].push({no:e,wireType:t,data:r})},readMessage(n,e,t,r,s){const i=n.getType(),a=s?e.len:e.pos+t;let o,u;for(;e.pos<a&&([o,u]=e.tag(),u!=p.EndGroup);){const l=i.fields.find(o);if(!l){const m=e.skip(u);r.readUnknownFields&&this.onUnknownField(n,o,u,m);continue}te(n,e,l,u,r)}if(s&&(u!=p.EndGroup||o!==t))throw new Error("invalid end group tag")},readField:te,writeMessage(n,e,t){const r=n.getType();for(const s of r.fields.byNumber()){if(!ke(s,n)){if(s.req)throw new Error(`cannot encode field ${r.typeName}.${s.name} to binary: required field not set`);continue}const i=s.oneof?n[s.oneof.localName].value:n[s.localName];se(s,i,e,t)}return t.writeUnknownFields&&this.writeUnknownFields(n,e),e},writeField(n,e,t,r){e!==void 0&&se(n,e,t,r)}}}function te(n,e,t,r,s){let{repeated:i,localName:a}=t;switch(t.oneof&&(n=n[t.oneof.localName],n.case!=a&&delete n.value,n.case=a,a="value"),t.kind){case"scalar":case"enum":const o=t.kind=="enum"?c.INT32:t.T;let u=P;if(t.kind=="scalar"&&t.L>0&&(u=wn),i){let d=n[a];if(r==p.LengthDelimited&&o!=c.STRING&&o!=c.BYTES){let I=e.uint32()+e.pos;for(;e.pos<I;)d.push(u(e,o))}else d.push(u(e,o))}else n[a]=u(e,o);break;case"message":const l=t.T;i?n[a].push(V(e,new l,s,t)):T(n[a])?V(e,n[a],s,t):(n[a]=V(e,new l,s,t),l.fieldWrapper&&!t.oneof&&!t.repeated&&(n[a]=l.fieldWrapper.unwrapField(n[a])));break;case"map":let[m,f]=yn(t,e,s);n[a][m]=f;break}}function V(n,e,t,r){const s=e.getType().runtime.bin,i=r==null?void 0:r.delimited;return s.readMessage(e,n,i?r.no:n.uint32(),t,i),e}function yn(n,e,t){const r=e.uint32(),s=e.pos+r;let i,a;for(;e.pos<s;){const[o]=e.tag();switch(o){case 1:i=P(e,n.K);break;case 2:switch(n.V.kind){case"scalar":a=P(e,n.V.T);break;case"enum":a=e.int32();break;case"message":a=V(e,new n.V.T,t,void 0);break}break}}if(i===void 0&&(i=E(n.K,k.BIGINT)),typeof i!="string"&&typeof i!="number"&&(i=i.toString()),a===void 0)switch(n.V.kind){case"scalar":a=E(n.V.T,k.BIGINT);break;case"enum":a=n.V.T.values[0].no;break;case"message":a=new n.V.T;break}return[i,a]}function wn(n,e){const t=P(n,e);return typeof t=="bigint"?t.toString():t}function P(n,e){switch(e){case c.STRING:return n.string();case c.BOOL:return n.bool();case c.DOUBLE:return n.double();case c.FLOAT:return n.float();case c.INT32:return n.int32();case c.INT64:return n.int64();case c.UINT64:return n.uint64();case c.FIXED64:return n.fixed64();case c.BYTES:return n.bytes();case c.FIXED32:return n.fixed32();case c.SFIXED32:return n.sfixed32();case c.SFIXED64:return n.sfixed64();case c.SINT64:return n.sint64();case c.UINT32:return n.uint32();case c.SINT32:return n.sint32()}}function se(n,e,t,r){h(e!==void 0);const s=n.repeated;switch(n.kind){case"scalar":case"enum":let i=n.kind=="enum"?c.INT32:n.T;if(s)if(h(Array.isArray(e)),n.packed)In(t,i,n.no,e);else for(const a of e)v(t,i,n.no,a);else v(t,i,n.no,e);break;case"message":if(s){h(Array.isArray(e));for(const a of e)re(t,r,n,a)}else re(t,r,n,e);break;case"map":h(typeof e=="object"&&e!=null);for(const[a,o]of Object.entries(e))kn(t,r,n,a,o);break}}function kn(n,e,t,r,s){n.tag(t.no,p.LengthDelimited),n.fork();let i=r;switch(t.K){case c.INT32:case c.FIXED32:case c.UINT32:case c.SFIXED32:case c.SINT32:i=Number.parseInt(r);break;case c.BOOL:h(r=="true"||r=="false"),i=r=="true";break}switch(v(n,t.K,1,i),t.V.kind){case"scalar":v(n,t.V.T,2,s);break;case"enum":v(n,c.INT32,2,s);break;case"message":h(s!==void 0),n.tag(2,p.LengthDelimited).bytes(s.toBinary(e));break}n.join()}function re(n,e,t,r){const s=Ie(t.T,r);t.delimited?n.tag(t.no,p.StartGroup).raw(s.toBinary(e)).tag(t.no,p.EndGroup):n.tag(t.no,p.LengthDelimited).bytes(s.toBinary(e))}function v(n,e,t,r){h(r!==void 0);let[s,i]=Ne(e);n.tag(t,s)[i](r)}function In(n,e,t,r){if(!r.length)return;n.tag(t,p.LengthDelimited).fork();let[,s]=Ne(e);for(let i=0;i<r.length;i++)n[s](r[i]);n.join()}function Ne(n){let e=p.Varint;switch(n){case c.BYTES:case c.STRING:e=p.LengthDelimited;break;case c.DOUBLE:case c.FIXED64:case c.SFIXED64:e=p.Bit64;break;case c.FIXED32:case c.SFIXED32:case c.FLOAT:e=p.Bit32;break}const t=c[n].toLowerCase();return[e,t]}function Nn(){return{setEnumType:ue,initPartial(n,e){if(n===void 0)return;const t=e.getType();for(const r of t.fields.byMember()){const s=r.localName,i=e,a=n;if(a[s]!==void 0)switch(r.kind){case"oneof":const o=a[s].case;if(o===void 0)continue;const u=r.findField(o);let l=a[s].value;u&&u.kind=="message"&&!T(l,u.T)?l=new u.T(l):u&&u.kind==="scalar"&&u.T===c.BYTES&&(l=x(l)),i[s]={case:o,value:l};break;case"scalar":case"enum":let m=a[s];r.T===c.BYTES&&(m=r.repeated?m.map(x):x(m)),i[s]=m;break;case"map":switch(r.V.kind){case"scalar":case"enum":if(r.V.T===c.BYTES)for(const[F,I]of Object.entries(a[s]))i[s][F]=x(I);else Object.assign(i[s],a[s]);break;case"message":const d=r.V.T;for(const F of Object.keys(a[s])){let I=a[s][F];d.fieldWrapper||(I=new d(I)),i[s][F]=I}break}break;case"message":const f=r.T;if(r.repeated)i[s]=a[s].map(d=>T(d,f)?d:new f(d));else{const d=a[s];f.fieldWrapper?f.typeName==="google.protobuf.BytesValue"?i[s]=x(d):i[s]=d:i[s]=T(d,f)?d:new f(d)}break}}},equals(n,e,t){return e===t?!0:!e||!t?!1:n.fields.byMember().every(r=>{const s=e[r.localName],i=t[r.localName];if(r.repeated){if(s.length!==i.length)return!1;switch(r.kind){case"message":return s.every((a,o)=>r.T.equals(a,i[o]));case"scalar":return s.every((a,o)=>w(r.T,a,i[o]));case"enum":return s.every((a,o)=>w(c.INT32,a,i[o]))}throw new Error(`repeated cannot contain ${r.kind}`)}switch(r.kind){case"message":return r.T.equals(s,i);case"enum":return w(c.INT32,s,i);case"scalar":return w(r.T,s,i);case"oneof":if(s.case!==i.case)return!1;const a=r.findField(s.case);if(a===void 0)return!0;switch(a.kind){case"message":return a.T.equals(s.value,i.value);case"enum":return w(c.INT32,s.value,i.value);case"scalar":return w(a.T,s.value,i.value)}throw new Error(`oneof cannot contain ${a.kind}`);case"map":const o=Object.keys(s).concat(Object.keys(i));switch(r.V.kind){case"message":const u=r.V.T;return o.every(m=>u.equals(s[m],i[m]));case"enum":return o.every(m=>w(c.INT32,s[m],i[m]));case"scalar":const l=r.V.T;return o.every(m=>w(l,s[m],i[m]))}break}})},clone(n){const e=n.getType(),t=new e,r=t;for(const s of e.fields.byMember()){const i=n[s.localName];let a;if(s.repeated)a=i.map(B);else if(s.kind=="map"){a=r[s.localName];for(const[o,u]of Object.entries(i))a[o]=B(u)}else s.kind=="oneof"?a=s.findField(i.case)?{case:i.case,value:B(i.value)}:{case:void 0}:a=B(i);r[s.localName]=a}for(const s of e.runtime.bin.listUnknownFields(n))e.runtime.bin.onUnknownField(r,s.no,s.wireType,s.data);return t}}}function B(n){if(n===void 0)return n;if(T(n))return n.clone();if(n instanceof Uint8Array){const e=new Uint8Array(n.byteLength);return e.set(n),e}return n}function x(n){return n instanceof Uint8Array?n:new Uint8Array(n)}function Tn(n,e,t){return{syntax:n,json:fn(),bin:gn(),util:Object.assign(Object.assign({},Nn()),{newFieldList:e,initFields:t}),makeMessageType(r,s,i){return Ze(this,r,s,i)},makeEnum:We,makeEnumType:me,getEnumType:He,makeExtension(r,s,i){return rn(this,r,s,i)}}}class Un{constructor(e,t){this._fields=e,this._normalizer=t}findJsonName(e){if(!this.jsonNames){const t={};for(const r of this.list())t[r.jsonName]=t[r.name]=r;this.jsonNames=t}return this.jsonNames[e]}find(e){if(!this.numbers){const t={};for(const r of this.list())t[r.no]=r;this.numbers=t}return this.numbers[e]}list(){return this.all||(this.all=this._normalizer(this._fields)),this.all}byNumber(){return this.numbersAsc||(this.numbersAsc=this.list().concat().sort((e,t)=>e.no-t.no)),this.numbersAsc}byMember(){if(!this.members){this.members=[];const e=this.members;let t;for(const r of this.list())r.oneof?r.oneof!==t&&(t=r.oneof,e.push(t)):e.push(r)}return this.members}}function Te(n,e){const t=Ue(n);return e?t:An(vn(t))}function En(n){return Te(n,!1)}const Fn=Ue;function Ue(n){let e=!1;const t=[];for(let r=0;r<n.length;r++){let s=n.charAt(r);switch(s){case"_":e=!0;break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":t.push(s),e=!1;break;default:e&&(e=!1,s=s.toUpperCase()),t.push(s);break}}return t.join("")}const xn=new Set(["constructor","toString","toJSON","valueOf"]),Sn=new Set(["getType","clone","equals","fromBinary","fromJson","fromJsonString","toBinary","toJson","toJsonString","toObject"]),Ee=n=>`${n}$`,vn=n=>Sn.has(n)?Ee(n):n,An=n=>xn.has(n)?Ee(n):n;class Bn{constructor(e){this.kind="oneof",this.repeated=!1,this.packed=!1,this.opt=!1,this.req=!1,this.default=void 0,this.fields=[],this.name=e,this.localName=En(e)}addField(e){h(e.oneof===this,`field ${e.name} not one of ${this.name}`),this.fields.push(e)}findField(e){if(!this._lookup){this._lookup=Object.create(null);for(let t=0;t<this.fields.length;t++)this._lookup[this.fields[t].localName]=this.fields[t]}return this._lookup[e]}}function qn(n,e){var t,r,s,i,a,o;const u=[];let l;for(const m of typeof n=="function"?n():n){const f=m;if(f.localName=Te(m.name,m.oneof!==void 0),f.jsonName=(t=m.jsonName)!==null&&t!==void 0?t:Fn(m.name),f.repeated=(r=m.repeated)!==null&&r!==void 0?r:!1,m.kind=="scalar"&&(f.L=(s=m.L)!==null&&s!==void 0?s:k.BIGINT),f.delimited=(i=m.delimited)!==null&&i!==void 0?i:!1,f.req=(a=m.req)!==null&&a!==void 0?a:!1,f.opt=(o=m.opt)!==null&&o!==void 0?o:!1,m.packed===void 0&&(f.packed=m.kind=="enum"||m.kind=="scalar"&&m.T!=c.BYTES&&m.T!=c.STRING),m.oneof!==void 0){const d=typeof m.oneof=="string"?m.oneof:m.oneof.name;(!l||l.name!=d)&&(l=new Bn(d)),f.oneof=l,l.addField(f)}u.push(f)}return u}const A=Tn("proto3",n=>new Un(n,e=>qn(e)),n=>{for(const e of n.getType().fields.byMember()){if(e.opt)continue;const t=e.localName,r=n;if(e.repeated){r[t]=[];continue}switch(e.kind){case"oneof":r[t]={case:void 0};break;case"enum":r[t]=0;break;case"map":r[t]={};break;case"scalar":r[t]=E(e.T,e.L);break}}}),_=A.makeMessageType("penumbra.core.asset.v1.AssetId",()=>[{no:1,name:"inner",kind:"scalar",T:12},{no:2,name:"alt_bech32m",kind:"scalar",T:9},{no:3,name:"alt_base_denom",kind:"scalar",T:9}]),On=A.makeMessageType("penumbra.core.asset.v1.Metadata",()=>[{no:1,name:"description",kind:"scalar",T:9},{no:2,name:"denom_units",kind:"message",T:Dn,repeated:!0},{no:3,name:"base",kind:"scalar",T:9},{no:4,name:"display",kind:"scalar",T:9},{no:5,name:"name",kind:"scalar",T:9},{no:6,name:"symbol",kind:"scalar",T:9},{no:1984,name:"penumbra_asset_id",kind:"message",T:_},{no:1985,name:"images",kind:"message",T:Ln,repeated:!0}]),Dn=A.makeMessageType("penumbra.core.asset.v1.DenomUnit",()=>[{no:1,name:"denom",kind:"scalar",T:9},{no:2,name:"exponent",kind:"scalar",T:13},{no:3,name:"aliases",kind:"scalar",T:9,repeated:!0}]),Ln=A.makeMessageType("penumbra.core.asset.v1.AssetImage",()=>[{no:1,name:"png",kind:"scalar",T:9},{no:2,name:"svg",kind:"scalar",T:9},{no:3,name:"theme",kind:"message",T:Vn}]),Vn=A.makeMessageType("penumbra.core.asset.v1.AssetImage.Theme",()=>[{no:1,name:"primary_color_hex",kind:"scalar",T:9},{no:2,name:"circle",kind:"scalar",T:8},{no:3,name:"dark_mode",kind:"scalar",T:8}],{localName:"AssetImage_Theme"}),zn=n=>{const e=String.fromCodePoint(...n);return btoa(e)},ie=n=>{if(!/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(n))throw new Error("Input string is not a valid Base64 encoded string");const t=atob(n);return Uint8Array.from(t,r=>r.codePointAt(0))},Pn=(n,e)=>{const t=Object.entries(n).map(([r,s])=>[r,e(s)]);return Object.fromEntries(t)};class Fe{constructor(e){N(this,"chainId");N(this,"ibcConnections");N(this,"rpcs");N(this,"stakingAssetId");N(this,"numeraires");N(this,"assetById");this.chainId=e.chainId,this.ibcConnections=e.ibcConnections,this.rpcs=e.rpcs,this.assetById=Pn(e.assetById,t=>On.fromJson(t)),this.stakingAssetId=new _({inner:ie(e.stakingAssetId)}),this.numeraires=e.numeraires.map(t=>new _({inner:ie(t)}))}getMetadata(e){const t=zn(e.inner),r=this.assetById[t];if(!r)throw new Error(`No metadata in registry for asset id: ${t}`);return r}getAllAssets(){return Object.values(this.assetById)}}const xe="penumbra-testnet-deimos-6",Se=[{addressPrefix:"osmo",chainId:"osmo-test-5",channelId:"channel-4",counterpartyChannelId:"channel-7780",displayName:"Osmosis",images:[{svg:"https://raw.githubusercontent.com/cosmos/chain-registry/f1348793beb994c6cc0256ed7ebdb48c7aa70003/osmosis/images/osmo.svg"}]},{addressPrefix:"noble",chainId:"grand-1",channelId:"channel-3",counterpartyChannelId:"channel-164",displayName:"Noble",images:[{svg:"https://raw.githubusercontent.com/cosmos/chain-registry/2ca39d0e4eaf3431cca13991948e099801f02e46/noble/images/stake.svg"}]}],ve=[{name:"Penumbra Labs Testnet RPC",url:"https://grpc.testnet.penumbra.zone",images:[{png:"https://raw.githubusercontent.com/prax-wallet/registry/main/images/penumbra-favicon.png"}]}],Ae={"+jDercxZxs90BjC91PrWyA53/p7uN3ZcSJj3N0mHjhI=":{description:"USDLR is a fiat-backed stablecoin issued by Stable. Stable pays DeFi protocols who distribute USDLR.",denomUnits:[{denom:"transfer/channel-3/uusdlr"},{denom:"transfer/channel-3/usdlr",exponent:6}],base:"transfer/channel-3/uusdlr",display:"transfer/channel-3/usdlr",name:"USDLR by Stable",symbol:"USDLR",penumbraAssetId:{inner:"+jDercxZxs90BjC91PrWyA53/p7uN3ZcSJj3N0mHjhI="},images:[{png:"https://raw.githubusercontent.com/cosmos/chain-registry/master/testnets/nobletestnet/images/usdlr.png",svg:"https://raw.githubusercontent.com/cosmos/chain-registry/master/testnets/nobletestnet/images/usdlr.svg"}]},"6KBVsPINa8gWSHhfH+kAFJC4afEJA3EtuB2HyCqJUws=":{denomUnits:[{denom:"cube"}],base:"cube",display:"cube",symbol:"CUBE",penumbraAssetId:{inner:"6KBVsPINa8gWSHhfH+kAFJC4afEJA3EtuB2HyCqJUws="}},"CKBQapu+DkQpsKyTfKESLTV19/NPWR5sNZtvQsd3Hw8=":{description:"USD Coin",denomUnits:[{denom:"transfer/channel-3/uusdc"},{denom:"transfer/channel-3/usdc",exponent:6}],base:"transfer/channel-3/uusdc",display:"transfer/channel-3/usdc",name:"USD Coin",symbol:"USDC",penumbraAssetId:{inner:"CKBQapu+DkQpsKyTfKESLTV19/NPWR5sNZtvQsd3Hw8="},images:[{svg:"https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/ethereum/images/usdc.svg"}]},"CwpUYIdQ9H5Dnf3oQ1l7ISeVMVahWbVNNvMA0dBSdwI=":{denomUnits:[{denom:"delegation_penumbravalid18nkv0r3sfp2seleq6du5kt3mhfce3k6cqm77kj2e7mhakmyw9v9qx42a20",exponent:6},{denom:"mdelegation_penumbravalid18nkv0r3sfp2seleq6du5kt3mhfce3k6cqm77kj2e7mhakmyw9v9qx42a20",exponent:3},{denom:"udelegation_penumbravalid18nkv0r3sfp2seleq6du5kt3mhfce3k6cqm77kj2e7mhakmyw9v9qx42a20"}],base:"udelegation_penumbravalid18nkv0r3sfp2seleq6du5kt3mhfce3k6cqm77kj2e7mhakmyw9v9qx42a20",display:"delegation_penumbravalid18nkv0r3sfp2seleq6du5kt3mhfce3k6cqm77kj2e7mhakmyw9v9qx42a20",symbol:"Delegation (Penumbra Labs CI 1)",penumbraAssetId:{inner:"CwpUYIdQ9H5Dnf3oQ1l7ISeVMVahWbVNNvMA0dBSdwI="},images:[{png:"https://raw.githubusercontent.com/prax-wallet/registry/main/images/penumbra-favicon.png"}]},"HW2Eq3UZVSBttoUwUi/MUtE7rr2UU7/UH500byp7OAc=":{denomUnits:[{denom:"gm",exponent:6},{denom:"mgm",exponent:3},{denom:"ugm"}],base:"ugm",display:"gm",symbol:"GM",penumbraAssetId:{inner:"HW2Eq3UZVSBttoUwUi/MUtE7rr2UU7/UH500byp7OAc="}},"Hqn6gTCqE7mCBsVa4agsTFmrO0Rip5xmLcipnGKH9AI=":{description:"Love is a test tokenfactory asset controlled by the Strangelove Team",denomUnits:[{denom:"transfer/channel-3/ulove"},{denom:"transfer/channel-3/love",exponent:6}],base:"transfer/channel-3/ulove",display:"transfer/channel-3/love",name:"Love",symbol:"LOVE",penumbraAssetId:{inner:"Hqn6gTCqE7mCBsVa4agsTFmrO0Rip5xmLcipnGKH9AI="}},"KSOgqHs6JCHxZcyFPb9zqb2vtdoNlIVktgWcsCF8RAc=":{description:"The native token of Osmosis",denomUnits:[{denom:"transfer/channel-4/uosmo"},{denom:"transfer/channel-4/osmo",exponent:6}],base:"transfer/channel-4/uosmo",display:"transfer/channel-4/osmo",name:"Osmosis Testnet",symbol:"OSMO",penumbraAssetId:{inner:"KSOgqHs6JCHxZcyFPb9zqb2vtdoNlIVktgWcsCF8RAc="},images:[{png:"https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/osmo.png",svg:"https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/osmo.svg"}]},"KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=":{denomUnits:[{denom:"penumbra",exponent:6},{denom:"mpenumbra",exponent:3},{denom:"upenumbra"}],base:"upenumbra",display:"penumbra",symbol:"UM",penumbraAssetId:{inner:"KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA="},images:[{svg:"https://raw.githubusercontent.com/prax-wallet/registry/main/images/um.svg"}]},"ZPcze3Lhpgavnk2eQ/N49hJGttezr+Gl3TiJeL6MvhE=":{denomUnits:[{denom:"transfer/channel-4/factory/osmo1zlkzu72774ynac53necz46u4ycqtp36wedrar0/willyz"},{denom:"transfer/channel-4/willyz",exponent:6}],base:"transfer/channel-4/factory/osmo1zlkzu72774ynac53necz46u4ycqtp36wedrar0/willyz",display:"transfer/channel-4/willyz",name:"Willyz",symbol:"WILLYZ",penumbraAssetId:{inner:"ZPcze3Lhpgavnk2eQ/N49hJGttezr+Gl3TiJeL6MvhE="},images:[{png:"https://raw.githubusercontent.com/cosmos/chain-registry/master/testnets/osmosistestnet/images/willyz.png",svg:"https://raw.githubusercontent.com/cosmos/chain-registry/master/testnets/osmosistestnet/images/willyz.svg"}]},"hGwO3SuE1/D05ooLMUVVe7XvYbAFnxAUbIRIZdG3TwI=":{description:"The controlled staking asset for Noble Chain",denomUnits:[{denom:"transfer/channel-3/ustake"},{denom:"transfer/channel-3/stake",exponent:6}],base:"transfer/channel-3/ustake",display:"transfer/channel-3/stake",name:"Stake",symbol:"STAKE",penumbraAssetId:{inner:"hGwO3SuE1/D05ooLMUVVe7XvYbAFnxAUbIRIZdG3TwI="}},"nDjzm+ldIrNMJha1anGMDVxpA5cLCPnUYQ1clmHF1gw=":{denomUnits:[{denom:"pizza"}],base:"pizza",display:"pizza",symbol:"PIZZA",penumbraAssetId:{inner:"nDjzm+ldIrNMJha1anGMDVxpA5cLCPnUYQ1clmHF1gw="},images:[{svg:"https://raw.githubusercontent.com/prax-wallet/registry/main/images/pizza.svg"}]},"nwPDkQq3OvLnBwGTD+nmv1Ifb2GEmFCgNHrU++9BsRE=":{denomUnits:[{denom:"gn",exponent:6},{denom:"mgn",exponent:3},{denom:"ugn"}],base:"ugn",display:"gn",symbol:"GN",penumbraAssetId:{inner:"nwPDkQq3OvLnBwGTD+nmv1Ifb2GEmFCgNHrU++9BsRE="}},"qUn70lKZ3qQlCT5gj5sakux4daiTPKj0AN6ZuuFldQU=":{denomUnits:[{denom:"delegation_penumbravalid1qfxldejdhanmu302kcn5fm98q5d7d2upfhzqhaz95hyjdn82pqysqfq050",exponent:6},{denom:"mdelegation_penumbravalid1qfxldejdhanmu302kcn5fm98q5d7d2upfhzqhaz95hyjdn82pqysqfq050",exponent:3},{denom:"udelegation_penumbravalid1qfxldejdhanmu302kcn5fm98q5d7d2upfhzqhaz95hyjdn82pqysqfq050"}],base:"udelegation_penumbravalid1qfxldejdhanmu302kcn5fm98q5d7d2upfhzqhaz95hyjdn82pqysqfq050",display:"delegation_penumbravalid1qfxldejdhanmu302kcn5fm98q5d7d2upfhzqhaz95hyjdn82pqysqfq050",symbol:"Delegation (Penumbra Labs CI 2)",penumbraAssetId:{inner:"qUn70lKZ3qQlCT5gj5sakux4daiTPKj0AN6ZuuFldQU="},images:[{png:"https://raw.githubusercontent.com/prax-wallet/registry/main/images/penumbra-favicon.png"}]},"reum7wQmk/owgvGMWMZn/6RFPV24zIKq3W6In/WwZgg=":{denomUnits:[{denom:"test_usd",exponent:18},{denom:"wtest_usd"}],base:"wtest_usd",display:"test_usd",symbol:"TestUSD",penumbraAssetId:{inner:"reum7wQmk/owgvGMWMZn/6RFPV24zIKq3W6In/WwZgg="},images:[{svg:"https://raw.githubusercontent.com/prax-wallet/registry/main/images/test-usd.svg"}]},"xNdg/Pc2CvrtawUX41EBLTlgj83RTenRJaBFXxsSTwk=":{denomUnits:[{denom:"transfer/channel-4/uion"},{denom:"transfer/channel-4/ion",exponent:6}],base:"transfer/channel-4/uion",display:"transfer/channel-4/ion",name:"Ion",symbol:"ION",penumbraAssetId:{inner:"xNdg/Pc2CvrtawUX41EBLTlgj83RTenRJaBFXxsSTwk="},images:[{png:"https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/ion.png",svg:"https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/ion.svg"}]}},Be="KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=",qe=["reum7wQmk/owgvGMWMZn/6RFPV24zIKq3W6In/WwZgg=","CKBQapu+DkQpsKyTfKESLTV19/NPWR5sNZtvQsd3Hw8="],Cn={chainId:xe,ibcConnections:Se,rpcs:ve,assetById:Ae,stakingAssetId:Be,numeraires:qe},Mn=Object.freeze(Object.defineProperty({__proto__:null,assetById:Ae,chainId:xe,default:Cn,ibcConnections:Se,numeraires:qe,rpcs:ve,stakingAssetId:Be},Symbol.toStringTag,{value:"Module"})),Oe="penumbra-testnet-deimos-7",De=[{addressPrefix:"osmo",chainId:"osmo-test-5",channelId:"channel-4",counterpartyChannelId:"channel-7780",displayName:"Osmosis",images:[{svg:"https://raw.githubusercontent.com/cosmos/chain-registry/f1348793beb994c6cc0256ed7ebdb48c7aa70003/osmosis/images/osmo.svg"}]},{addressPrefix:"noble",chainId:"grand-1",channelId:"channel-3",counterpartyChannelId:"channel-164",displayName:"Noble",images:[{svg:"https://raw.githubusercontent.com/cosmos/chain-registry/2ca39d0e4eaf3431cca13991948e099801f02e46/noble/images/stake.svg"}]}],Le=[{name:"Penumbra Labs Testnet RPC",url:"https://grpc.testnet.penumbra.zone",images:[{png:"https://raw.githubusercontent.com/prax-wallet/registry/main/images/penumbra-favicon.png"}]}],Ve={"+jDercxZxs90BjC91PrWyA53/p7uN3ZcSJj3N0mHjhI=":{description:"USDLR is a fiat-backed stablecoin issued by Stable. Stable pays DeFi protocols who distribute USDLR.",denomUnits:[{denom:"transfer/channel-3/uusdlr"},{denom:"transfer/channel-3/usdlr",exponent:6}],base:"transfer/channel-3/uusdlr",display:"transfer/channel-3/usdlr",name:"USDLR by Stable",symbol:"USDLR",penumbraAssetId:{inner:"+jDercxZxs90BjC91PrWyA53/p7uN3ZcSJj3N0mHjhI="},images:[{png:"https://raw.githubusercontent.com/cosmos/chain-registry/master/testnets/nobletestnet/images/usdlr.png",svg:"https://raw.githubusercontent.com/cosmos/chain-registry/master/testnets/nobletestnet/images/usdlr.svg"}]},"6KBVsPINa8gWSHhfH+kAFJC4afEJA3EtuB2HyCqJUws=":{denomUnits:[{denom:"cube"}],base:"cube",display:"cube",symbol:"CUBE",penumbraAssetId:{inner:"6KBVsPINa8gWSHhfH+kAFJC4afEJA3EtuB2HyCqJUws="}},"CKBQapu+DkQpsKyTfKESLTV19/NPWR5sNZtvQsd3Hw8=":{description:"USD Coin",denomUnits:[{denom:"transfer/channel-3/uusdc"},{denom:"transfer/channel-3/usdc",exponent:6}],base:"transfer/channel-3/uusdc",display:"transfer/channel-3/usdc",name:"USD Coin",symbol:"USDC",penumbraAssetId:{inner:"CKBQapu+DkQpsKyTfKESLTV19/NPWR5sNZtvQsd3Hw8="},images:[{svg:"https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/ethereum/images/usdc.svg"}]},"CwpUYIdQ9H5Dnf3oQ1l7ISeVMVahWbVNNvMA0dBSdwI=":{denomUnits:[{denom:"delegation_penumbravalid18nkv0r3sfp2seleq6du5kt3mhfce3k6cqm77kj2e7mhakmyw9v9qx42a20",exponent:6},{denom:"mdelegation_penumbravalid18nkv0r3sfp2seleq6du5kt3mhfce3k6cqm77kj2e7mhakmyw9v9qx42a20",exponent:3},{denom:"udelegation_penumbravalid18nkv0r3sfp2seleq6du5kt3mhfce3k6cqm77kj2e7mhakmyw9v9qx42a20"}],base:"udelegation_penumbravalid18nkv0r3sfp2seleq6du5kt3mhfce3k6cqm77kj2e7mhakmyw9v9qx42a20",display:"delegation_penumbravalid18nkv0r3sfp2seleq6du5kt3mhfce3k6cqm77kj2e7mhakmyw9v9qx42a20",symbol:"Delegation (Penumbra Labs CI 1)",penumbraAssetId:{inner:"CwpUYIdQ9H5Dnf3oQ1l7ISeVMVahWbVNNvMA0dBSdwI="},images:[{png:"https://raw.githubusercontent.com/prax-wallet/registry/main/images/penumbra-favicon.png"}]},"HW2Eq3UZVSBttoUwUi/MUtE7rr2UU7/UH500byp7OAc=":{denomUnits:[{denom:"gm",exponent:6},{denom:"mgm",exponent:3},{denom:"ugm"}],base:"ugm",display:"gm",symbol:"GM",penumbraAssetId:{inner:"HW2Eq3UZVSBttoUwUi/MUtE7rr2UU7/UH500byp7OAc="}},"Hqn6gTCqE7mCBsVa4agsTFmrO0Rip5xmLcipnGKH9AI=":{description:"Love is a test tokenfactory asset controlled by the Strangelove Team",denomUnits:[{denom:"transfer/channel-3/ulove"},{denom:"transfer/channel-3/love",exponent:6}],base:"transfer/channel-3/ulove",display:"transfer/channel-3/love",name:"Love",symbol:"LOVE",penumbraAssetId:{inner:"Hqn6gTCqE7mCBsVa4agsTFmrO0Rip5xmLcipnGKH9AI="}},"KSOgqHs6JCHxZcyFPb9zqb2vtdoNlIVktgWcsCF8RAc=":{description:"The native token of Osmosis",denomUnits:[{denom:"transfer/channel-4/uosmo"},{denom:"transfer/channel-4/osmo",exponent:6}],base:"transfer/channel-4/uosmo",display:"transfer/channel-4/osmo",name:"Osmosis Testnet",symbol:"OSMO",penumbraAssetId:{inner:"KSOgqHs6JCHxZcyFPb9zqb2vtdoNlIVktgWcsCF8RAc="},images:[{png:"https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/osmo.png",svg:"https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/osmo.svg"}]},"KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=":{denomUnits:[{denom:"penumbra",exponent:6},{denom:"mpenumbra",exponent:3},{denom:"upenumbra"}],base:"upenumbra",display:"penumbra",symbol:"UM",penumbraAssetId:{inner:"KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA="},images:[{svg:"https://raw.githubusercontent.com/prax-wallet/registry/main/images/um.svg"}]},"ZPcze3Lhpgavnk2eQ/N49hJGttezr+Gl3TiJeL6MvhE=":{denomUnits:[{denom:"transfer/channel-4/factory/osmo1zlkzu72774ynac53necz46u4ycqtp36wedrar0/willyz"},{denom:"transfer/channel-4/willyz",exponent:6}],base:"transfer/channel-4/factory/osmo1zlkzu72774ynac53necz46u4ycqtp36wedrar0/willyz",display:"transfer/channel-4/willyz",name:"Willyz",symbol:"WILLYZ",penumbraAssetId:{inner:"ZPcze3Lhpgavnk2eQ/N49hJGttezr+Gl3TiJeL6MvhE="},images:[{png:"https://raw.githubusercontent.com/cosmos/chain-registry/master/testnets/osmosistestnet/images/willyz.png",svg:"https://raw.githubusercontent.com/cosmos/chain-registry/master/testnets/osmosistestnet/images/willyz.svg"}]},"hGwO3SuE1/D05ooLMUVVe7XvYbAFnxAUbIRIZdG3TwI=":{description:"The controlled staking asset for Noble Chain",denomUnits:[{denom:"transfer/channel-3/ustake"},{denom:"transfer/channel-3/stake",exponent:6}],base:"transfer/channel-3/ustake",display:"transfer/channel-3/stake",name:"Stake",symbol:"STAKE",penumbraAssetId:{inner:"hGwO3SuE1/D05ooLMUVVe7XvYbAFnxAUbIRIZdG3TwI="}},"nDjzm+ldIrNMJha1anGMDVxpA5cLCPnUYQ1clmHF1gw=":{denomUnits:[{denom:"pizza"}],base:"pizza",display:"pizza",symbol:"PIZZA",penumbraAssetId:{inner:"nDjzm+ldIrNMJha1anGMDVxpA5cLCPnUYQ1clmHF1gw="},images:[{svg:"https://raw.githubusercontent.com/prax-wallet/registry/main/images/pizza.svg"}]},"nwPDkQq3OvLnBwGTD+nmv1Ifb2GEmFCgNHrU++9BsRE=":{denomUnits:[{denom:"gn",exponent:6},{denom:"mgn",exponent:3},{denom:"ugn"}],base:"ugn",display:"gn",symbol:"GN",penumbraAssetId:{inner:"nwPDkQq3OvLnBwGTD+nmv1Ifb2GEmFCgNHrU++9BsRE="}},"qUn70lKZ3qQlCT5gj5sakux4daiTPKj0AN6ZuuFldQU=":{denomUnits:[{denom:"delegation_penumbravalid1qfxldejdhanmu302kcn5fm98q5d7d2upfhzqhaz95hyjdn82pqysqfq050",exponent:6},{denom:"mdelegation_penumbravalid1qfxldejdhanmu302kcn5fm98q5d7d2upfhzqhaz95hyjdn82pqysqfq050",exponent:3},{denom:"udelegation_penumbravalid1qfxldejdhanmu302kcn5fm98q5d7d2upfhzqhaz95hyjdn82pqysqfq050"}],base:"udelegation_penumbravalid1qfxldejdhanmu302kcn5fm98q5d7d2upfhzqhaz95hyjdn82pqysqfq050",display:"delegation_penumbravalid1qfxldejdhanmu302kcn5fm98q5d7d2upfhzqhaz95hyjdn82pqysqfq050",symbol:"Delegation (Penumbra Labs CI 2)",penumbraAssetId:{inner:"qUn70lKZ3qQlCT5gj5sakux4daiTPKj0AN6ZuuFldQU="},images:[{png:"https://raw.githubusercontent.com/prax-wallet/registry/main/images/penumbra-favicon.png"}]},"reum7wQmk/owgvGMWMZn/6RFPV24zIKq3W6In/WwZgg=":{denomUnits:[{denom:"test_usd",exponent:18},{denom:"wtest_usd"}],base:"wtest_usd",display:"test_usd",symbol:"TestUSD",penumbraAssetId:{inner:"reum7wQmk/owgvGMWMZn/6RFPV24zIKq3W6In/WwZgg="},images:[{svg:"https://raw.githubusercontent.com/prax-wallet/registry/main/images/test-usd.svg"}]},"xNdg/Pc2CvrtawUX41EBLTlgj83RTenRJaBFXxsSTwk=":{denomUnits:[{denom:"transfer/channel-4/uion"},{denom:"transfer/channel-4/ion",exponent:6}],base:"transfer/channel-4/uion",display:"transfer/channel-4/ion",name:"Ion",symbol:"ION",penumbraAssetId:{inner:"xNdg/Pc2CvrtawUX41EBLTlgj83RTenRJaBFXxsSTwk="},images:[{png:"https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/ion.png",svg:"https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/ion.svg"}]}},ze="KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=",Pe=["reum7wQmk/owgvGMWMZn/6RFPV24zIKq3W6In/WwZgg=","CKBQapu+DkQpsKyTfKESLTV19/NPWR5sNZtvQsd3Hw8="],Jn={chainId:Oe,ibcConnections:De,rpcs:Le,assetById:Ve,stakingAssetId:ze,numeraires:Pe},jn=Object.freeze(Object.defineProperty({__proto__:null,assetById:Ve,chainId:Oe,default:Jn,ibcConnections:De,numeraires:Pe,rpcs:Le,stakingAssetId:ze},Symbol.toStringTag,{value:"Module"})),Rn={"penumbra-testnet-deimos-6":Mn,"penumbra-testnet-deimos-7":jn};class _n{get(e){const t=this.swapIfPreviewChain(e),r=Rn[t];if(!r)throw new Error(`Registry not found for ${t}`);return new Fe(r)}version(){return{commit:"d2b78bd4c87c79829c5fd527e901bae31344a53a",date:new Date("2024-05-07T15:32:36+02:00")}}swapIfPreviewChain(e){if(!Je(e))return e;const t=je(e);if(!t)throw new Error(`Chain id could not be derived from testnet preview chain: ${e}`);return t}}exports.ChainRegistryClient=_n;exports.Registry=Fe; | ||
"use strict";var Ce=Object.defineProperty;var Me=(n,e,t)=>e in n?Ce(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var N=(n,e,t)=>(Me(n,typeof e!="symbol"?e+"":e,t),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ie=/^(penumbra-testnet-(?:\w+-)*\w+)-[a-f0-9]{8}$/,Je=n=>ie.test(n),je=n=>{const e=n.match(ie);if(e)return e[1]};function h(n,e){if(!n)throw new Error(e)}const Re=34028234663852886e22,_e=-34028234663852886e22,$e=4294967295,Ge=2147483647,Ke=-2147483648;function q(n){if(typeof n!="number")throw new Error("invalid int 32: "+typeof n);if(!Number.isInteger(n)||n>Ge||n<Ke)throw new Error("invalid int 32: "+n)}function R(n){if(typeof n!="number")throw new Error("invalid uint 32: "+typeof n);if(!Number.isInteger(n)||n>$e||n<0)throw new Error("invalid uint 32: "+n)}function oe(n){if(typeof n!="number")throw new Error("invalid float 32: "+typeof n);if(Number.isFinite(n)&&(n>Re||n<_e))throw new Error("invalid float 32: "+n)}const ce=Symbol("@bufbuild/protobuf/enum-type");function He(n){const e=n[ce];return h(e,"missing enum type on enum object"),e}function ue(n,e,t,r){n[ce]=me(e,t.map(s=>({no:s.no,name:s.name,localName:n[s.no]})))}function me(n,e,t){const r=Object.create(null),s=Object.create(null),a=[];for(const i of e){const o=le(i);a.push(o),r[i.name]=o,s[i.no]=o}return{typeName:n,values:a,findName(i){return r[i]},findNumber(i){return s[i]}}}function We(n,e,t){const r={};for(const s of e){const a=le(s);r[a.localName]=a.no,r[a.no]=a.localName}return ue(r,n,e),r}function le(n){return"localName"in n?n:Object.assign(Object.assign({},n),{localName:n.name})}class fe{equals(e){return this.getType().runtime.util.equals(this.getType(),this,e)}clone(){return this.getType().runtime.util.clone(this)}fromBinary(e,t){const r=this.getType(),s=r.runtime.bin,a=s.makeReadOptions(t);return s.readMessage(this,a.readerFactory(e),e.byteLength,a),this}fromJson(e,t){const r=this.getType(),s=r.runtime.json,a=s.makeReadOptions(t);return s.readMessage(r,e,a,this),this}fromJsonString(e,t){let r;try{r=JSON.parse(e)}catch(s){throw new Error(`cannot decode ${this.getType().typeName} from JSON: ${s instanceof Error?s.message:String(s)}`)}return this.fromJson(r,t)}toBinary(e){const t=this.getType(),r=t.runtime.bin,s=r.makeWriteOptions(e),a=s.writerFactory();return r.writeMessage(this,a,s),a.finish()}toJson(e){const t=this.getType(),r=t.runtime.json,s=r.makeWriteOptions(e);return r.writeMessage(this,s)}toJsonString(e){var t;const r=this.toJson(e);return JSON.stringify(r,null,(t=e==null?void 0:e.prettySpaces)!==null&&t!==void 0?t:0)}toJSON(){return this.toJson({emitDefaultValues:!0})}getType(){return Object.getPrototypeOf(this).constructor}}function Ze(n,e,t,r){var s;const a=(s=r==null?void 0:r.localName)!==null&&s!==void 0?s:e.substring(e.lastIndexOf(".")+1),i={[a]:function(o){n.util.initFields(this),n.util.initPartial(o,this)}}[a];return Object.setPrototypeOf(i.prototype,new fe),Object.assign(i,{runtime:n,typeName:e,fields:n.util.newFieldList(t),fromBinary(o,u){return new i().fromBinary(o,u)},fromJson(o,u){return new i().fromJson(o,u)},fromJsonString(o,u){return new i().fromJsonString(o,u)},equals(o,u){return n.util.equals(i,o,u)}}),i}function Qe(){let n=0,e=0;for(let r=0;r<28;r+=7){let s=this.buf[this.pos++];if(n|=(s&127)<<r,!(s&128))return this.assertBounds(),[n,e]}let t=this.buf[this.pos++];if(n|=(t&15)<<28,e=(t&112)>>4,!(t&128))return this.assertBounds(),[n,e];for(let r=3;r<=31;r+=7){let s=this.buf[this.pos++];if(e|=(s&127)<<r,!(s&128))return this.assertBounds(),[n,e]}throw new Error("invalid varint")}function M(n,e,t){for(let a=0;a<28;a=a+7){const i=n>>>a,o=!(!(i>>>7)&&e==0),u=(o?i|128:i)&255;if(t.push(u),!o)return}const r=n>>>28&15|(e&7)<<4,s=!!(e>>3);if(t.push((s?r|128:r)&255),!!s){for(let a=3;a<31;a=a+7){const i=e>>>a,o=!!(i>>>7),u=(o?i|128:i)&255;if(t.push(u),!o)return}t.push(e>>>31&1)}}const O=4294967296;function G(n){const e=n[0]==="-";e&&(n=n.slice(1));const t=1e6;let r=0,s=0;function a(i,o){const u=Number(n.slice(i,o));s*=t,r=r*t+u,r>=O&&(s=s+(r/O|0),r=r%O)}return a(-24,-18),a(-18,-12),a(-12,-6),a(-6),e?he(r,s):$(r,s)}function Xe(n,e){let t=$(n,e);const r=t.hi&2147483648;r&&(t=he(t.lo,t.hi));const s=de(t.lo,t.hi);return r?"-"+s:s}function de(n,e){if({lo:n,hi:e}=Ye(n,e),e<=2097151)return String(O*e+n);const t=n&16777215,r=(n>>>24|e<<8)&16777215,s=e>>16&65535;let a=t+r*6777216+s*6710656,i=r+s*8147497,o=s*2;const u=1e7;return a>=u&&(i+=Math.floor(a/u),a%=u),i>=u&&(o+=Math.floor(i/u),i%=u),o.toString()+K(i)+K(a)}function Ye(n,e){return{lo:n>>>0,hi:e>>>0}}function $(n,e){return{lo:n|0,hi:e|0}}function he(n,e){return e=~e,n?n=~n+1:e+=1,$(n,e)}const K=n=>{const e=String(n);return"0000000".slice(e.length)+e};function H(n,e){if(n>=0){for(;n>127;)e.push(n&127|128),n=n>>>7;e.push(n)}else{for(let t=0;t<9;t++)e.push(n&127|128),n=n>>7;e.push(1)}}function en(){let n=this.buf[this.pos++],e=n&127;if(!(n&128))return this.assertBounds(),e;if(n=this.buf[this.pos++],e|=(n&127)<<7,!(n&128))return this.assertBounds(),e;if(n=this.buf[this.pos++],e|=(n&127)<<14,!(n&128))return this.assertBounds(),e;if(n=this.buf[this.pos++],e|=(n&127)<<21,!(n&128))return this.assertBounds(),e;n=this.buf[this.pos++],e|=(n&15)<<28;for(let t=5;n&128&&t<10;t++)n=this.buf[this.pos++];if(n&128)throw new Error("invalid varint");return this.assertBounds(),e>>>0}function nn(){const n=new DataView(new ArrayBuffer(8));if(typeof BigInt=="function"&&typeof n.getBigInt64=="function"&&typeof n.getBigUint64=="function"&&typeof n.setBigInt64=="function"&&typeof n.setBigUint64=="function"&&(typeof process!="object"||typeof process.env!="object"||process.env.BUF_BIGINT_DISABLE!=="1")){const s=BigInt("-9223372036854775808"),a=BigInt("9223372036854775807"),i=BigInt("0"),o=BigInt("18446744073709551615");return{zero:BigInt(0),supported:!0,parse(u){const l=typeof u=="bigint"?u:BigInt(u);if(l>a||l<s)throw new Error(`int64 invalid: ${u}`);return l},uParse(u){const l=typeof u=="bigint"?u:BigInt(u);if(l>o||l<i)throw new Error(`uint64 invalid: ${u}`);return l},enc(u){return n.setBigInt64(0,this.parse(u),!0),{lo:n.getInt32(0,!0),hi:n.getInt32(4,!0)}},uEnc(u){return n.setBigInt64(0,this.uParse(u),!0),{lo:n.getInt32(0,!0),hi:n.getInt32(4,!0)}},dec(u,l){return n.setInt32(0,u,!0),n.setInt32(4,l,!0),n.getBigInt64(0,!0)},uDec(u,l){return n.setInt32(0,u,!0),n.setInt32(4,l,!0),n.getBigUint64(0,!0)}}}const t=s=>h(/^-?[0-9]+$/.test(s),`int64 invalid: ${s}`),r=s=>h(/^[0-9]+$/.test(s),`uint64 invalid: ${s}`);return{zero:"0",supported:!1,parse(s){return typeof s!="string"&&(s=s.toString()),t(s),s},uParse(s){return typeof s!="string"&&(s=s.toString()),r(s),s},enc(s){return typeof s!="string"&&(s=s.toString()),t(s),G(s)},uEnc(s){return typeof s!="string"&&(s=s.toString()),r(s),G(s)},dec(s,a){return Xe(s,a)},uDec(s,a){return de(s,a)}}}const b=nn();var c;(function(n){n[n.DOUBLE=1]="DOUBLE",n[n.FLOAT=2]="FLOAT",n[n.INT64=3]="INT64",n[n.UINT64=4]="UINT64",n[n.INT32=5]="INT32",n[n.FIXED64=6]="FIXED64",n[n.FIXED32=7]="FIXED32",n[n.BOOL=8]="BOOL",n[n.STRING=9]="STRING",n[n.BYTES=12]="BYTES",n[n.UINT32=13]="UINT32",n[n.SFIXED32=15]="SFIXED32",n[n.SFIXED64=16]="SFIXED64",n[n.SINT32=17]="SINT32",n[n.SINT64=18]="SINT64"})(c||(c={}));var k;(function(n){n[n.BIGINT=0]="BIGINT",n[n.STRING=1]="STRING"})(k||(k={}));function w(n,e,t){if(e===t)return!0;if(n==c.BYTES){if(!(e instanceof Uint8Array)||!(t instanceof Uint8Array)||e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}switch(n){case c.UINT64:case c.FIXED64:case c.INT64:case c.SFIXED64:case c.SINT64:return e==t}return!1}function E(n,e){switch(n){case c.BOOL:return!1;case c.UINT64:case c.FIXED64:case c.INT64:case c.SFIXED64:case c.SINT64:return e==0?b.zero:"0";case c.DOUBLE:case c.FLOAT:return 0;case c.BYTES:return new Uint8Array(0);case c.STRING:return"";default:return 0}}function pe(n,e){switch(n){case c.BOOL:return e===!1;case c.STRING:return e==="";case c.BYTES:return e instanceof Uint8Array&&!e.byteLength;default:return e==0}}var p;(function(n){n[n.Varint=0]="Varint",n[n.Bit64=1]="Bit64",n[n.LengthDelimited=2]="LengthDelimited",n[n.StartGroup=3]="StartGroup",n[n.EndGroup=4]="EndGroup",n[n.Bit32=5]="Bit32"})(p||(p={}));class tn{constructor(e){this.stack=[],this.textEncoder=e??new TextEncoder,this.chunks=[],this.buf=[]}finish(){this.chunks.push(new Uint8Array(this.buf));let e=0;for(let s=0;s<this.chunks.length;s++)e+=this.chunks[s].length;let t=new Uint8Array(e),r=0;for(let s=0;s<this.chunks.length;s++)t.set(this.chunks[s],r),r+=this.chunks[s].length;return this.chunks=[],t}fork(){return this.stack.push({chunks:this.chunks,buf:this.buf}),this.chunks=[],this.buf=[],this}join(){let e=this.finish(),t=this.stack.pop();if(!t)throw new Error("invalid state, fork stack empty");return this.chunks=t.chunks,this.buf=t.buf,this.uint32(e.byteLength),this.raw(e)}tag(e,t){return this.uint32((e<<3|t)>>>0)}raw(e){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(e),this}uint32(e){for(R(e);e>127;)this.buf.push(e&127|128),e=e>>>7;return this.buf.push(e),this}int32(e){return q(e),H(e,this.buf),this}bool(e){return this.buf.push(e?1:0),this}bytes(e){return this.uint32(e.byteLength),this.raw(e)}string(e){let t=this.textEncoder.encode(e);return this.uint32(t.byteLength),this.raw(t)}float(e){oe(e);let t=new Uint8Array(4);return new DataView(t.buffer).setFloat32(0,e,!0),this.raw(t)}double(e){let t=new Uint8Array(8);return new DataView(t.buffer).setFloat64(0,e,!0),this.raw(t)}fixed32(e){R(e);let t=new Uint8Array(4);return new DataView(t.buffer).setUint32(0,e,!0),this.raw(t)}sfixed32(e){q(e);let t=new Uint8Array(4);return new DataView(t.buffer).setInt32(0,e,!0),this.raw(t)}sint32(e){return q(e),e=(e<<1^e>>31)>>>0,H(e,this.buf),this}sfixed64(e){let t=new Uint8Array(8),r=new DataView(t.buffer),s=b.enc(e);return r.setInt32(0,s.lo,!0),r.setInt32(4,s.hi,!0),this.raw(t)}fixed64(e){let t=new Uint8Array(8),r=new DataView(t.buffer),s=b.uEnc(e);return r.setInt32(0,s.lo,!0),r.setInt32(4,s.hi,!0),this.raw(t)}int64(e){let t=b.enc(e);return M(t.lo,t.hi,this.buf),this}sint64(e){let t=b.enc(e),r=t.hi>>31,s=t.lo<<1^r,a=(t.hi<<1|t.lo>>>31)^r;return M(s,a,this.buf),this}uint64(e){let t=b.uEnc(e);return M(t.lo,t.hi,this.buf),this}}class sn{constructor(e,t){this.varint64=Qe,this.uint32=en,this.buf=e,this.len=e.length,this.pos=0,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength),this.textDecoder=t??new TextDecoder}tag(){let e=this.uint32(),t=e>>>3,r=e&7;if(t<=0||r<0||r>5)throw new Error("illegal tag: field no "+t+" wire type "+r);return[t,r]}skip(e){let t=this.pos;switch(e){case p.Varint:for(;this.buf[this.pos++]&128;);break;case p.Bit64:this.pos+=4;case p.Bit32:this.pos+=4;break;case p.LengthDelimited:let r=this.uint32();this.pos+=r;break;case p.StartGroup:let s;for(;(s=this.tag()[1])!==p.EndGroup;)this.skip(s);break;default:throw new Error("cant skip wire type "+e)}return this.assertBounds(),this.buf.subarray(t,this.pos)}assertBounds(){if(this.pos>this.len)throw new RangeError("premature EOF")}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)}int64(){return b.dec(...this.varint64())}uint64(){return b.uDec(...this.varint64())}sint64(){let[e,t]=this.varint64(),r=-(e&1);return e=(e>>>1|(t&1)<<31)^r,t=t>>>1^r,b.dec(e,t)}bool(){let[e,t]=this.varint64();return e!==0||t!==0}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return b.uDec(this.sfixed32(),this.sfixed32())}sfixed64(){return b.dec(this.sfixed32(),this.sfixed32())}float(){return this.view.getFloat32((this.pos+=4)-4,!0)}double(){return this.view.getFloat64((this.pos+=8)-8,!0)}bytes(){let e=this.uint32(),t=this.pos;return this.pos+=e,this.assertBounds(),this.buf.subarray(t,t+e)}string(){return this.textDecoder.decode(this.bytes())}}function rn(n,e,t,r){let s;return{typeName:e,extendee:t,get field(){if(!s){const a=typeof r=="function"?r():r;a.name=e.split(".").pop(),a.jsonName=`[${e}]`,s=n.util.newFieldList([a]).list()[0]}return s},runtime:n}}function be(n){const e=n.field.localName,t=Object.create(null);return t[e]=an(n),[t,()=>t[e]]}function an(n){const e=n.field;if(e.repeated)return[];if(e.default!==void 0)return e.default;switch(e.kind){case"enum":return e.T.values[0].no;case"scalar":return E(e.T,e.L);case"message":const t=e.T,r=new t;return t.fieldWrapper?t.fieldWrapper.unwrapField(r):r;case"map":throw"map fields are not allowed to be extensions"}}function on(n,e){if(!e.repeated&&(e.kind=="enum"||e.kind=="scalar")){for(let t=n.length-1;t>=0;--t)if(n[t].no==e.no)return[n[t]];return[]}return n.filter(t=>t.no===e.no)}let y="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),C=[];for(let n=0;n<y.length;n++)C[y[n].charCodeAt(0)]=n;C[45]=y.indexOf("+");C[95]=y.indexOf("/");const ge={dec(n){let e=n.length*3/4;n[n.length-2]=="="?e-=2:n[n.length-1]=="="&&(e-=1);let t=new Uint8Array(e),r=0,s=0,a,i=0;for(let o=0;o<n.length;o++){if(a=C[n.charCodeAt(o)],a===void 0)switch(n[o]){case"=":s=0;case` | ||
`:case"\r":case" ":case" ":continue;default:throw Error("invalid base64 string.")}switch(s){case 0:i=a,s=1;break;case 1:t[r++]=i<<2|(a&48)>>4,i=a,s=2;break;case 2:t[r++]=(i&15)<<4|(a&60)>>2,i=a,s=3;break;case 3:t[r++]=(i&3)<<6|a,s=0;break}}if(s==1)throw Error("invalid base64 string.");return t.subarray(0,r)},enc(n){let e="",t=0,r,s=0;for(let a=0;a<n.length;a++)switch(r=n[a],t){case 0:e+=y[r>>2],s=(r&3)<<4,t=1;break;case 1:e+=y[s|r>>4],s=(r&15)<<2,t=2;break;case 2:e+=y[s|r>>6],e+=y[r&63],t=0;break}return t&&(e+=y[s],e+="=",t==1&&(e+="=")),e}};function cn(n,e,t){we(e,n);const r=e.runtime.bin.makeReadOptions(t),s=on(n.getType().runtime.bin.listUnknownFields(n),e.field),[a,i]=be(e);for(const o of s)e.runtime.bin.readField(a,r.readerFactory(o.data),e.field,o.wireType,r);return i()}function un(n,e,t,r){we(e,n);const s=e.runtime.bin.makeReadOptions(r),a=e.runtime.bin.makeWriteOptions(r);if(ye(n,e)){const l=n.getType().runtime.bin.listUnknownFields(n).filter(m=>m.no!=e.field.no);n.getType().runtime.bin.discardUnknownFields(n);for(const m of l)n.getType().runtime.bin.onUnknownField(n,m.no,m.wireType,m.data)}const i=a.writerFactory();let o=e.field;!o.opt&&!o.repeated&&(o.kind=="enum"||o.kind=="scalar")&&(o=Object.assign(Object.assign({},e.field),{opt:!0})),e.runtime.bin.writeField(o,t,i,a);const u=s.readerFactory(i.finish());for(;u.pos<u.len;){const[l,m]=u.tag(),f=u.skip(m);n.getType().runtime.bin.onUnknownField(n,l,m,f)}}function ye(n,e){const t=n.getType();return e.extendee.typeName===t.typeName&&!!t.runtime.bin.listUnknownFields(n).find(r=>r.no==e.field.no)}function we(n,e){h(n.extendee.typeName==e.getType().typeName,`extension ${n.typeName} can only be applied to message ${n.extendee.typeName}`)}function ke(n,e){const t=n.localName;if(n.repeated)return e[t].length>0;if(n.oneof)return e[n.oneof.localName].case===t;switch(n.kind){case"enum":case"scalar":return n.opt||n.req?e[t]!==void 0:n.kind=="enum"?e[t]!==n.T.values[0].no:!pe(n.T,e[t]);case"message":return e[t]!==void 0;case"map":return Object.keys(e[t]).length>0}}function W(n,e){const t=n.localName,r=!n.opt&&!n.req;if(n.repeated)e[t]=[];else if(n.oneof)e[n.oneof.localName]={case:void 0};else switch(n.kind){case"map":e[t]={};break;case"enum":e[t]=r?n.T.values[0].no:void 0;break;case"scalar":e[t]=r?E(n.T,n.L):void 0;break;case"message":e[t]=void 0;break}}function T(n,e){if(n===null||typeof n!="object"||!Object.getOwnPropertyNames(fe.prototype).every(r=>r in n&&typeof n[r]=="function"))return!1;const t=n.getType();return t===null||typeof t!="function"||!("typeName"in t)||typeof t.typeName!="string"?!1:e===void 0?!0:t.typeName==e.typeName}function Ie(n,e){return T(e)||!n.fieldWrapper?e:n.fieldWrapper.wrapField(e)}c.DOUBLE,c.FLOAT,c.INT64,c.UINT64,c.INT32,c.UINT32,c.BOOL,c.STRING,c.BYTES;const Z={ignoreUnknownFields:!1},Q={emitDefaultValues:!1,enumAsInteger:!1,useProtoFieldName:!1,prettySpaces:0};function mn(n){return n?Object.assign(Object.assign({},Z),n):Z}function ln(n){return n?Object.assign(Object.assign({},Q),n):Q}const z=Symbol(),D=Symbol();function fn(){return{makeReadOptions:mn,makeWriteOptions:ln,readMessage(n,e,t,r){if(e==null||Array.isArray(e)||typeof e!="object")throw new Error(`cannot decode message ${n.typeName} from JSON: ${g(e)}`);r=r??new n;const s=new Map,a=t.typeRegistry;for(const[i,o]of Object.entries(e)){const u=n.fields.findJsonName(i);if(u){if(u.oneof){if(o===null&&u.kind=="scalar")continue;const l=s.get(u.oneof);if(l!==void 0)throw new Error(`cannot decode message ${n.typeName} from JSON: multiple keys for oneof "${u.oneof.name}" present: "${l}", "${i}"`);s.set(u.oneof,i)}X(r,o,u,t,n)}else{let l=!1;if(a!=null&&a.findExtension&&i.startsWith("[")&&i.endsWith("]")){const m=a.findExtension(i.substring(1,i.length-1));if(m&&m.extendee.typeName==n.typeName){l=!0;const[f,d]=be(m);X(f,o,m.field,t,m),un(r,m,d(),t)}}if(!l&&!t.ignoreUnknownFields)throw new Error(`cannot decode message ${n.typeName} from JSON: key "${i}" is unknown`)}}return r},writeMessage(n,e){const t=n.getType(),r={};let s;try{for(s of t.fields.byNumber()){if(!ke(s,n)){if(s.req)throw"required field not set";if(!e.emitDefaultValues||!hn(s))continue}const i=s.oneof?n[s.oneof.localName].value:n[s.localName],o=Y(s,i,e);o!==void 0&&(r[e.useProtoFieldName?s.name:s.jsonName]=o)}const a=e.typeRegistry;if(a!=null&&a.findExtensionFor)for(const i of t.runtime.bin.listUnknownFields(n)){const o=a.findExtensionFor(t.typeName,i.no);if(o&&ye(n,o)){const u=cn(n,o,e),l=Y(o.field,u,e);l!==void 0&&(r[o.field.jsonName]=l)}}}catch(a){const i=s?`cannot encode field ${t.typeName}.${s.name} to JSON`:`cannot encode message ${t.typeName} to JSON`,o=a instanceof Error?a.message:String(a);throw new Error(i+(o.length>0?`: ${o}`:""))}return r},readScalar(n,e,t){return S(n,e,t??k.BIGINT,!0)},writeScalar(n,e,t){if(e!==void 0&&(t||pe(n,e)))return L(n,e)},debug:g}}function g(n){if(n===null)return"null";switch(typeof n){case"object":return Array.isArray(n)?"array":"object";case"string":return n.length>100?"string":`"${n.split('"').join('\\"')}"`;default:return String(n)}}function X(n,e,t,r,s){let a=t.localName;if(t.repeated){if(h(t.kind!="map"),e===null)return;if(!Array.isArray(e))throw new Error(`cannot decode field ${s.typeName}.${t.name} from JSON: ${g(e)}`);const i=n[a];for(const o of e){if(o===null)throw new Error(`cannot decode field ${s.typeName}.${t.name} from JSON: ${g(o)}`);switch(t.kind){case"message":i.push(t.T.fromJson(o,r));break;case"enum":const u=J(t.T,o,r.ignoreUnknownFields,!0);u!==D&&i.push(u);break;case"scalar":try{i.push(S(t.T,o,t.L,!0))}catch(l){let m=`cannot decode field ${s.typeName}.${t.name} from JSON: ${g(o)}`;throw l instanceof Error&&l.message.length>0&&(m+=`: ${l.message}`),new Error(m)}break}}}else if(t.kind=="map"){if(e===null)return;if(typeof e!="object"||Array.isArray(e))throw new Error(`cannot decode field ${s.typeName}.${t.name} from JSON: ${g(e)}`);const i=n[a];for(const[o,u]of Object.entries(e)){if(u===null)throw new Error(`cannot decode field ${s.typeName}.${t.name} from JSON: map value null`);let l;try{l=dn(t.K,o)}catch(m){let f=`cannot decode map key for field ${s.typeName}.${t.name} from JSON: ${g(e)}`;throw m instanceof Error&&m.message.length>0&&(f+=`: ${m.message}`),new Error(f)}switch(t.V.kind){case"message":i[l]=t.V.T.fromJson(u,r);break;case"enum":const m=J(t.V.T,u,r.ignoreUnknownFields,!0);m!==D&&(i[l]=m);break;case"scalar":try{i[l]=S(t.V.T,u,k.BIGINT,!0)}catch(f){let d=`cannot decode map value for field ${s.typeName}.${t.name} from JSON: ${g(e)}`;throw f instanceof Error&&f.message.length>0&&(d+=`: ${f.message}`),new Error(d)}break}}}else switch(t.oneof&&(n=n[t.oneof.localName]={case:a},a="value"),t.kind){case"message":const i=t.T;if(e===null&&i.typeName!="google.protobuf.Value")return;let o=n[a];T(o)?o.fromJson(e,r):(n[a]=o=i.fromJson(e,r),i.fieldWrapper&&!t.oneof&&(n[a]=i.fieldWrapper.unwrapField(o)));break;case"enum":const u=J(t.T,e,r.ignoreUnknownFields,!1);switch(u){case z:W(t,n);break;case D:break;default:n[a]=u;break}break;case"scalar":try{const l=S(t.T,e,t.L,!1);switch(l){case z:W(t,n);break;default:n[a]=l;break}}catch(l){let m=`cannot decode field ${s.typeName}.${t.name} from JSON: ${g(e)}`;throw l instanceof Error&&l.message.length>0&&(m+=`: ${l.message}`),new Error(m)}break}}function dn(n,e){if(n===c.BOOL)switch(e){case"true":e=!0;break;case"false":e=!1;break}return S(n,e,k.BIGINT,!0).toString()}function S(n,e,t,r){if(e===null)return r?E(n,t):z;switch(n){case c.DOUBLE:case c.FLOAT:if(e==="NaN")return Number.NaN;if(e==="Infinity")return Number.POSITIVE_INFINITY;if(e==="-Infinity")return Number.NEGATIVE_INFINITY;if(e===""||typeof e=="string"&&e.trim().length!==e.length||typeof e!="string"&&typeof e!="number")break;const s=Number(e);if(Number.isNaN(s)||!Number.isFinite(s))break;return n==c.FLOAT&&oe(s),s;case c.INT32:case c.FIXED32:case c.SFIXED32:case c.SINT32:case c.UINT32:let a;if(typeof e=="number"?a=e:typeof e=="string"&&e.length>0&&e.trim().length===e.length&&(a=Number(e)),a===void 0)break;return n==c.UINT32||n==c.FIXED32?R(a):q(a),a;case c.INT64:case c.SFIXED64:case c.SINT64:if(typeof e!="number"&&typeof e!="string")break;const i=b.parse(e);return t?i.toString():i;case c.FIXED64:case c.UINT64:if(typeof e!="number"&&typeof e!="string")break;const o=b.uParse(e);return t?o.toString():o;case c.BOOL:if(typeof e!="boolean")break;return e;case c.STRING:if(typeof e!="string")break;try{encodeURIComponent(e)}catch{throw new Error("invalid UTF8")}return e;case c.BYTES:if(e==="")return new Uint8Array(0);if(typeof e!="string")break;return ge.dec(e)}throw new Error}function J(n,e,t,r){if(e===null)return n.typeName=="google.protobuf.NullValue"?0:r?n.values[0].no:z;switch(typeof e){case"number":if(Number.isInteger(e))return e;break;case"string":const s=n.findName(e);if(s!==void 0)return s.no;if(t)return D;break}throw new Error(`cannot decode enum ${n.typeName} from JSON: ${g(e)}`)}function hn(n){return n.repeated||n.kind=="map"?!0:!(n.oneof||n.kind=="message"||n.opt||n.req)}function Y(n,e,t){if(n.kind=="map"){h(typeof e=="object"&&e!=null);const r={},s=Object.entries(e);switch(n.V.kind){case"scalar":for(const[i,o]of s)r[i.toString()]=L(n.V.T,o);break;case"message":for(const[i,o]of s)r[i.toString()]=o.toJson(t);break;case"enum":const a=n.V.T;for(const[i,o]of s)r[i.toString()]=j(a,o,t.enumAsInteger);break}return t.emitDefaultValues||s.length>0?r:void 0}if(n.repeated){h(Array.isArray(e));const r=[];switch(n.kind){case"scalar":for(let s=0;s<e.length;s++)r.push(L(n.T,e[s]));break;case"enum":for(let s=0;s<e.length;s++)r.push(j(n.T,e[s],t.enumAsInteger));break;case"message":for(let s=0;s<e.length;s++)r.push(e[s].toJson(t));break}return t.emitDefaultValues||r.length>0?r:void 0}switch(n.kind){case"scalar":return L(n.T,e);case"enum":return j(n.T,e,t.enumAsInteger);case"message":return Ie(n.T,e).toJson(t)}}function j(n,e,t){var r;if(h(typeof e=="number"),n.typeName=="google.protobuf.NullValue")return null;if(t)return e;const s=n.findNumber(e);return(r=s==null?void 0:s.name)!==null&&r!==void 0?r:e}function L(n,e){switch(n){case c.INT32:case c.SFIXED32:case c.SINT32:case c.FIXED32:case c.UINT32:return h(typeof e=="number"),e;case c.FLOAT:case c.DOUBLE:return h(typeof e=="number"),Number.isNaN(e)?"NaN":e===Number.POSITIVE_INFINITY?"Infinity":e===Number.NEGATIVE_INFINITY?"-Infinity":e;case c.STRING:return h(typeof e=="string"),e;case c.BOOL:return h(typeof e=="boolean"),e;case c.UINT64:case c.FIXED64:case c.INT64:case c.SFIXED64:case c.SINT64:return h(typeof e=="bigint"||typeof e=="string"||typeof e=="number"),e.toString();case c.BYTES:return h(e instanceof Uint8Array),ge.enc(e)}}const U=Symbol("@bufbuild/protobuf/unknown-fields"),ee={readUnknownFields:!0,readerFactory:n=>new sn(n)},ne={writeUnknownFields:!0,writerFactory:()=>new tn};function pn(n){return n?Object.assign(Object.assign({},ee),n):ee}function bn(n){return n?Object.assign(Object.assign({},ne),n):ne}function gn(){return{makeReadOptions:pn,makeWriteOptions:bn,listUnknownFields(n){var e;return(e=n[U])!==null&&e!==void 0?e:[]},discardUnknownFields(n){delete n[U]},writeUnknownFields(n,e){const r=n[U];if(r)for(const s of r)e.tag(s.no,s.wireType).raw(s.data)},onUnknownField(n,e,t,r){const s=n;Array.isArray(s[U])||(s[U]=[]),s[U].push({no:e,wireType:t,data:r})},readMessage(n,e,t,r,s){const a=n.getType(),i=s?e.len:e.pos+t;let o,u;for(;e.pos<i&&([o,u]=e.tag(),u!=p.EndGroup);){const l=a.fields.find(o);if(!l){const m=e.skip(u);r.readUnknownFields&&this.onUnknownField(n,o,u,m);continue}te(n,e,l,u,r)}if(s&&(u!=p.EndGroup||o!==t))throw new Error("invalid end group tag")},readField:te,writeMessage(n,e,t){const r=n.getType();for(const s of r.fields.byNumber()){if(!ke(s,n)){if(s.req)throw new Error(`cannot encode field ${r.typeName}.${s.name} to binary: required field not set`);continue}const a=s.oneof?n[s.oneof.localName].value:n[s.localName];se(s,a,e,t)}return t.writeUnknownFields&&this.writeUnknownFields(n,e),e},writeField(n,e,t,r){e!==void 0&&se(n,e,t,r)}}}function te(n,e,t,r,s){let{repeated:a,localName:i}=t;switch(t.oneof&&(n=n[t.oneof.localName],n.case!=i&&delete n.value,n.case=i,i="value"),t.kind){case"scalar":case"enum":const o=t.kind=="enum"?c.INT32:t.T;let u=P;if(t.kind=="scalar"&&t.L>0&&(u=wn),a){let d=n[i];if(r==p.LengthDelimited&&o!=c.STRING&&o!=c.BYTES){let I=e.uint32()+e.pos;for(;e.pos<I;)d.push(u(e,o))}else d.push(u(e,o))}else n[i]=u(e,o);break;case"message":const l=t.T;a?n[i].push(V(e,new l,s,t)):T(n[i])?V(e,n[i],s,t):(n[i]=V(e,new l,s,t),l.fieldWrapper&&!t.oneof&&!t.repeated&&(n[i]=l.fieldWrapper.unwrapField(n[i])));break;case"map":let[m,f]=yn(t,e,s);n[i][m]=f;break}}function V(n,e,t,r){const s=e.getType().runtime.bin,a=r==null?void 0:r.delimited;return s.readMessage(e,n,a?r.no:n.uint32(),t,a),e}function yn(n,e,t){const r=e.uint32(),s=e.pos+r;let a,i;for(;e.pos<s;){const[o]=e.tag();switch(o){case 1:a=P(e,n.K);break;case 2:switch(n.V.kind){case"scalar":i=P(e,n.V.T);break;case"enum":i=e.int32();break;case"message":i=V(e,new n.V.T,t,void 0);break}break}}if(a===void 0&&(a=E(n.K,k.BIGINT)),typeof a!="string"&&typeof a!="number"&&(a=a.toString()),i===void 0)switch(n.V.kind){case"scalar":i=E(n.V.T,k.BIGINT);break;case"enum":i=n.V.T.values[0].no;break;case"message":i=new n.V.T;break}return[a,i]}function wn(n,e){const t=P(n,e);return typeof t=="bigint"?t.toString():t}function P(n,e){switch(e){case c.STRING:return n.string();case c.BOOL:return n.bool();case c.DOUBLE:return n.double();case c.FLOAT:return n.float();case c.INT32:return n.int32();case c.INT64:return n.int64();case c.UINT64:return n.uint64();case c.FIXED64:return n.fixed64();case c.BYTES:return n.bytes();case c.FIXED32:return n.fixed32();case c.SFIXED32:return n.sfixed32();case c.SFIXED64:return n.sfixed64();case c.SINT64:return n.sint64();case c.UINT32:return n.uint32();case c.SINT32:return n.sint32()}}function se(n,e,t,r){h(e!==void 0);const s=n.repeated;switch(n.kind){case"scalar":case"enum":let a=n.kind=="enum"?c.INT32:n.T;if(s)if(h(Array.isArray(e)),n.packed)In(t,a,n.no,e);else for(const i of e)v(t,a,n.no,i);else v(t,a,n.no,e);break;case"message":if(s){h(Array.isArray(e));for(const i of e)re(t,r,n,i)}else re(t,r,n,e);break;case"map":h(typeof e=="object"&&e!=null);for(const[i,o]of Object.entries(e))kn(t,r,n,i,o);break}}function kn(n,e,t,r,s){n.tag(t.no,p.LengthDelimited),n.fork();let a=r;switch(t.K){case c.INT32:case c.FIXED32:case c.UINT32:case c.SFIXED32:case c.SINT32:a=Number.parseInt(r);break;case c.BOOL:h(r=="true"||r=="false"),a=r=="true";break}switch(v(n,t.K,1,a),t.V.kind){case"scalar":v(n,t.V.T,2,s);break;case"enum":v(n,c.INT32,2,s);break;case"message":h(s!==void 0),n.tag(2,p.LengthDelimited).bytes(s.toBinary(e));break}n.join()}function re(n,e,t,r){const s=Ie(t.T,r);t.delimited?n.tag(t.no,p.StartGroup).raw(s.toBinary(e)).tag(t.no,p.EndGroup):n.tag(t.no,p.LengthDelimited).bytes(s.toBinary(e))}function v(n,e,t,r){h(r!==void 0);let[s,a]=Ne(e);n.tag(t,s)[a](r)}function In(n,e,t,r){if(!r.length)return;n.tag(t,p.LengthDelimited).fork();let[,s]=Ne(e);for(let a=0;a<r.length;a++)n[s](r[a]);n.join()}function Ne(n){let e=p.Varint;switch(n){case c.BYTES:case c.STRING:e=p.LengthDelimited;break;case c.DOUBLE:case c.FIXED64:case c.SFIXED64:e=p.Bit64;break;case c.FIXED32:case c.SFIXED32:case c.FLOAT:e=p.Bit32;break}const t=c[n].toLowerCase();return[e,t]}function Nn(){return{setEnumType:ue,initPartial(n,e){if(n===void 0)return;const t=e.getType();for(const r of t.fields.byMember()){const s=r.localName,a=e,i=n;if(i[s]!==void 0)switch(r.kind){case"oneof":const o=i[s].case;if(o===void 0)continue;const u=r.findField(o);let l=i[s].value;u&&u.kind=="message"&&!T(l,u.T)?l=new u.T(l):u&&u.kind==="scalar"&&u.T===c.BYTES&&(l=x(l)),a[s]={case:o,value:l};break;case"scalar":case"enum":let m=i[s];r.T===c.BYTES&&(m=r.repeated?m.map(x):x(m)),a[s]=m;break;case"map":switch(r.V.kind){case"scalar":case"enum":if(r.V.T===c.BYTES)for(const[F,I]of Object.entries(i[s]))a[s][F]=x(I);else Object.assign(a[s],i[s]);break;case"message":const d=r.V.T;for(const F of Object.keys(i[s])){let I=i[s][F];d.fieldWrapper||(I=new d(I)),a[s][F]=I}break}break;case"message":const f=r.T;if(r.repeated)a[s]=i[s].map(d=>T(d,f)?d:new f(d));else{const d=i[s];f.fieldWrapper?f.typeName==="google.protobuf.BytesValue"?a[s]=x(d):a[s]=d:a[s]=T(d,f)?d:new f(d)}break}}},equals(n,e,t){return e===t?!0:!e||!t?!1:n.fields.byMember().every(r=>{const s=e[r.localName],a=t[r.localName];if(r.repeated){if(s.length!==a.length)return!1;switch(r.kind){case"message":return s.every((i,o)=>r.T.equals(i,a[o]));case"scalar":return s.every((i,o)=>w(r.T,i,a[o]));case"enum":return s.every((i,o)=>w(c.INT32,i,a[o]))}throw new Error(`repeated cannot contain ${r.kind}`)}switch(r.kind){case"message":return r.T.equals(s,a);case"enum":return w(c.INT32,s,a);case"scalar":return w(r.T,s,a);case"oneof":if(s.case!==a.case)return!1;const i=r.findField(s.case);if(i===void 0)return!0;switch(i.kind){case"message":return i.T.equals(s.value,a.value);case"enum":return w(c.INT32,s.value,a.value);case"scalar":return w(i.T,s.value,a.value)}throw new Error(`oneof cannot contain ${i.kind}`);case"map":const o=Object.keys(s).concat(Object.keys(a));switch(r.V.kind){case"message":const u=r.V.T;return o.every(m=>u.equals(s[m],a[m]));case"enum":return o.every(m=>w(c.INT32,s[m],a[m]));case"scalar":const l=r.V.T;return o.every(m=>w(l,s[m],a[m]))}break}})},clone(n){const e=n.getType(),t=new e,r=t;for(const s of e.fields.byMember()){const a=n[s.localName];let i;if(s.repeated)i=a.map(B);else if(s.kind=="map"){i=r[s.localName];for(const[o,u]of Object.entries(a))i[o]=B(u)}else s.kind=="oneof"?i=s.findField(a.case)?{case:a.case,value:B(a.value)}:{case:void 0}:i=B(a);r[s.localName]=i}for(const s of e.runtime.bin.listUnknownFields(n))e.runtime.bin.onUnknownField(r,s.no,s.wireType,s.data);return t}}}function B(n){if(n===void 0)return n;if(T(n))return n.clone();if(n instanceof Uint8Array){const e=new Uint8Array(n.byteLength);return e.set(n),e}return n}function x(n){return n instanceof Uint8Array?n:new Uint8Array(n)}function Tn(n,e,t){return{syntax:n,json:fn(),bin:gn(),util:Object.assign(Object.assign({},Nn()),{newFieldList:e,initFields:t}),makeMessageType(r,s,a){return Ze(this,r,s,a)},makeEnum:We,makeEnumType:me,getEnumType:He,makeExtension(r,s,a){return rn(this,r,s,a)}}}class Un{constructor(e,t){this._fields=e,this._normalizer=t}findJsonName(e){if(!this.jsonNames){const t={};for(const r of this.list())t[r.jsonName]=t[r.name]=r;this.jsonNames=t}return this.jsonNames[e]}find(e){if(!this.numbers){const t={};for(const r of this.list())t[r.no]=r;this.numbers=t}return this.numbers[e]}list(){return this.all||(this.all=this._normalizer(this._fields)),this.all}byNumber(){return this.numbersAsc||(this.numbersAsc=this.list().concat().sort((e,t)=>e.no-t.no)),this.numbersAsc}byMember(){if(!this.members){this.members=[];const e=this.members;let t;for(const r of this.list())r.oneof?r.oneof!==t&&(t=r.oneof,e.push(t)):e.push(r)}return this.members}}function Te(n,e){const t=Ue(n);return e?t:An(vn(t))}function En(n){return Te(n,!1)}const Fn=Ue;function Ue(n){let e=!1;const t=[];for(let r=0;r<n.length;r++){let s=n.charAt(r);switch(s){case"_":e=!0;break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":t.push(s),e=!1;break;default:e&&(e=!1,s=s.toUpperCase()),t.push(s);break}}return t.join("")}const xn=new Set(["constructor","toString","toJSON","valueOf"]),Sn=new Set(["getType","clone","equals","fromBinary","fromJson","fromJsonString","toBinary","toJson","toJsonString","toObject"]),Ee=n=>`${n}$`,vn=n=>Sn.has(n)?Ee(n):n,An=n=>xn.has(n)?Ee(n):n;class Bn{constructor(e){this.kind="oneof",this.repeated=!1,this.packed=!1,this.opt=!1,this.req=!1,this.default=void 0,this.fields=[],this.name=e,this.localName=En(e)}addField(e){h(e.oneof===this,`field ${e.name} not one of ${this.name}`),this.fields.push(e)}findField(e){if(!this._lookup){this._lookup=Object.create(null);for(let t=0;t<this.fields.length;t++)this._lookup[this.fields[t].localName]=this.fields[t]}return this._lookup[e]}}function qn(n,e){var t,r,s,a,i,o;const u=[];let l;for(const m of typeof n=="function"?n():n){const f=m;if(f.localName=Te(m.name,m.oneof!==void 0),f.jsonName=(t=m.jsonName)!==null&&t!==void 0?t:Fn(m.name),f.repeated=(r=m.repeated)!==null&&r!==void 0?r:!1,m.kind=="scalar"&&(f.L=(s=m.L)!==null&&s!==void 0?s:k.BIGINT),f.delimited=(a=m.delimited)!==null&&a!==void 0?a:!1,f.req=(i=m.req)!==null&&i!==void 0?i:!1,f.opt=(o=m.opt)!==null&&o!==void 0?o:!1,m.packed===void 0&&(f.packed=m.kind=="enum"||m.kind=="scalar"&&m.T!=c.BYTES&&m.T!=c.STRING),m.oneof!==void 0){const d=typeof m.oneof=="string"?m.oneof:m.oneof.name;(!l||l.name!=d)&&(l=new Bn(d)),f.oneof=l,l.addField(f)}u.push(f)}return u}const A=Tn("proto3",n=>new Un(n,e=>qn(e)),n=>{for(const e of n.getType().fields.byMember()){if(e.opt)continue;const t=e.localName,r=n;if(e.repeated){r[t]=[];continue}switch(e.kind){case"oneof":r[t]={case:void 0};break;case"enum":r[t]=0;break;case"map":r[t]={};break;case"scalar":r[t]=E(e.T,e.L);break}}}),_=A.makeMessageType("penumbra.core.asset.v1.AssetId",()=>[{no:1,name:"inner",kind:"scalar",T:12},{no:2,name:"alt_bech32m",kind:"scalar",T:9},{no:3,name:"alt_base_denom",kind:"scalar",T:9}]),On=A.makeMessageType("penumbra.core.asset.v1.Metadata",()=>[{no:1,name:"description",kind:"scalar",T:9},{no:2,name:"denom_units",kind:"message",T:Dn,repeated:!0},{no:3,name:"base",kind:"scalar",T:9},{no:4,name:"display",kind:"scalar",T:9},{no:5,name:"name",kind:"scalar",T:9},{no:6,name:"symbol",kind:"scalar",T:9},{no:1984,name:"penumbra_asset_id",kind:"message",T:_},{no:1985,name:"images",kind:"message",T:Ln,repeated:!0}]),Dn=A.makeMessageType("penumbra.core.asset.v1.DenomUnit",()=>[{no:1,name:"denom",kind:"scalar",T:9},{no:2,name:"exponent",kind:"scalar",T:13},{no:3,name:"aliases",kind:"scalar",T:9,repeated:!0}]),Ln=A.makeMessageType("penumbra.core.asset.v1.AssetImage",()=>[{no:1,name:"png",kind:"scalar",T:9},{no:2,name:"svg",kind:"scalar",T:9},{no:3,name:"theme",kind:"message",T:Vn}]),Vn=A.makeMessageType("penumbra.core.asset.v1.AssetImage.Theme",()=>[{no:1,name:"primary_color_hex",kind:"scalar",T:9},{no:2,name:"circle",kind:"scalar",T:8},{no:3,name:"dark_mode",kind:"scalar",T:8}],{localName:"AssetImage_Theme"}),zn=n=>{const e=String.fromCodePoint(...n);return btoa(e)},ae=n=>{if(!/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(n))throw new Error("Input string is not a valid Base64 encoded string");const t=atob(n);return Uint8Array.from(t,r=>r.codePointAt(0))},Pn=(n,e)=>{const t=Object.entries(n).map(([r,s])=>[r,e(s)]);return Object.fromEntries(t)};class Fe{constructor(e){N(this,"chainId");N(this,"ibcConnections");N(this,"rpcs");N(this,"stakingAssetId");N(this,"numeraires");N(this,"assetById");this.chainId=e.chainId,this.ibcConnections=e.ibcConnections,this.rpcs=e.rpcs,this.assetById=Pn(e.assetById,t=>On.fromJson(t)),this.stakingAssetId=new _({inner:ae(e.stakingAssetId)}),this.numeraires=e.numeraires.map(t=>new _({inner:ae(t)}))}getMetadata(e){const t=zn(e.inner),r=this.assetById[t];if(!r)throw new Error(`No metadata in registry for asset id: ${t}`);return r}getAllAssets(){return Object.values(this.assetById)}}const xe="penumbra-testnet-deimos-6",Se=[{addressPrefix:"osmo",chainId:"osmo-test-5",channelId:"channel-4",counterpartyChannelId:"channel-7780",displayName:"Osmosis",images:[{svg:"https://raw.githubusercontent.com/cosmos/chain-registry/f1348793beb994c6cc0256ed7ebdb48c7aa70003/osmosis/images/osmo.svg"}]},{addressPrefix:"noble",chainId:"grand-1",channelId:"channel-3",counterpartyChannelId:"channel-164",displayName:"Noble",images:[{svg:"https://raw.githubusercontent.com/cosmos/chain-registry/2ca39d0e4eaf3431cca13991948e099801f02e46/noble/images/stake.svg"}]}],ve=[{name:"Penumbra Labs Testnet RPC",url:"https://grpc.testnet.penumbra.zone",images:[{png:"https://raw.githubusercontent.com/prax-wallet/registry/main/images/penumbra-favicon.png"}]}],Ae={"+jDercxZxs90BjC91PrWyA53/p7uN3ZcSJj3N0mHjhI=":{description:"USDLR is a fiat-backed stablecoin issued by Stable. Stable pays DeFi protocols who distribute USDLR.",denomUnits:[{denom:"transfer/channel-3/uusdlr"},{denom:"transfer/channel-3/usdlr",exponent:6}],base:"transfer/channel-3/uusdlr",display:"transfer/channel-3/usdlr",name:"USDLR by Stable",symbol:"USDLR",penumbraAssetId:{inner:"+jDercxZxs90BjC91PrWyA53/p7uN3ZcSJj3N0mHjhI="},images:[{png:"https://raw.githubusercontent.com/cosmos/chain-registry/master/testnets/nobletestnet/images/usdlr.png",svg:"https://raw.githubusercontent.com/cosmos/chain-registry/master/testnets/nobletestnet/images/usdlr.svg"}]},"6KBVsPINa8gWSHhfH+kAFJC4afEJA3EtuB2HyCqJUws=":{denomUnits:[{denom:"cube"}],base:"cube",display:"cube",symbol:"CUBE",penumbraAssetId:{inner:"6KBVsPINa8gWSHhfH+kAFJC4afEJA3EtuB2HyCqJUws="}},"CKBQapu+DkQpsKyTfKESLTV19/NPWR5sNZtvQsd3Hw8=":{description:"USD Coin",denomUnits:[{denom:"transfer/channel-3/uusdc"},{denom:"transfer/channel-3/usdc",exponent:6}],base:"transfer/channel-3/uusdc",display:"transfer/channel-3/usdc",name:"USD Coin",symbol:"USDC",penumbraAssetId:{inner:"CKBQapu+DkQpsKyTfKESLTV19/NPWR5sNZtvQsd3Hw8="},images:[{svg:"https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/ethereum/images/usdc.svg"}]},"CwpUYIdQ9H5Dnf3oQ1l7ISeVMVahWbVNNvMA0dBSdwI=":{denomUnits:[{denom:"delegation_penumbravalid18nkv0r3sfp2seleq6du5kt3mhfce3k6cqm77kj2e7mhakmyw9v9qx42a20",exponent:6},{denom:"mdelegation_penumbravalid18nkv0r3sfp2seleq6du5kt3mhfce3k6cqm77kj2e7mhakmyw9v9qx42a20",exponent:3},{denom:"udelegation_penumbravalid18nkv0r3sfp2seleq6du5kt3mhfce3k6cqm77kj2e7mhakmyw9v9qx42a20"}],base:"udelegation_penumbravalid18nkv0r3sfp2seleq6du5kt3mhfce3k6cqm77kj2e7mhakmyw9v9qx42a20",display:"delegation_penumbravalid18nkv0r3sfp2seleq6du5kt3mhfce3k6cqm77kj2e7mhakmyw9v9qx42a20",symbol:"Delegation (Penumbra Labs CI 1)",penumbraAssetId:{inner:"CwpUYIdQ9H5Dnf3oQ1l7ISeVMVahWbVNNvMA0dBSdwI="},images:[{png:"https://raw.githubusercontent.com/prax-wallet/registry/main/images/penumbra-favicon.png"}]},"HW2Eq3UZVSBttoUwUi/MUtE7rr2UU7/UH500byp7OAc=":{denomUnits:[{denom:"gm",exponent:6},{denom:"mgm",exponent:3},{denom:"ugm"}],base:"ugm",display:"gm",symbol:"GM",penumbraAssetId:{inner:"HW2Eq3UZVSBttoUwUi/MUtE7rr2UU7/UH500byp7OAc="}},"Hqn6gTCqE7mCBsVa4agsTFmrO0Rip5xmLcipnGKH9AI=":{description:"Love is a test tokenfactory asset controlled by the Strangelove Team",denomUnits:[{denom:"transfer/channel-3/ulove"},{denom:"transfer/channel-3/love",exponent:6}],base:"transfer/channel-3/ulove",display:"transfer/channel-3/love",name:"Love",symbol:"LOVE",penumbraAssetId:{inner:"Hqn6gTCqE7mCBsVa4agsTFmrO0Rip5xmLcipnGKH9AI="}},"KSOgqHs6JCHxZcyFPb9zqb2vtdoNlIVktgWcsCF8RAc=":{description:"The native token of Osmosis",denomUnits:[{denom:"transfer/channel-4/uosmo"},{denom:"transfer/channel-4/osmo",exponent:6}],base:"transfer/channel-4/uosmo",display:"transfer/channel-4/osmo",name:"Osmosis Testnet",symbol:"OSMO",penumbraAssetId:{inner:"KSOgqHs6JCHxZcyFPb9zqb2vtdoNlIVktgWcsCF8RAc="},images:[{png:"https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/osmo.png",svg:"https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/osmo.svg"}]},"KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=":{denomUnits:[{denom:"penumbra",exponent:6},{denom:"mpenumbra",exponent:3},{denom:"upenumbra"}],base:"upenumbra",display:"penumbra",symbol:"UM",penumbraAssetId:{inner:"KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA="},images:[{svg:"https://raw.githubusercontent.com/prax-wallet/registry/main/images/um.svg"}]},"ZPcze3Lhpgavnk2eQ/N49hJGttezr+Gl3TiJeL6MvhE=":{denomUnits:[{denom:"transfer/channel-4/factory/osmo1zlkzu72774ynac53necz46u4ycqtp36wedrar0/willyz"},{denom:"transfer/channel-4/willyz",exponent:6}],base:"transfer/channel-4/factory/osmo1zlkzu72774ynac53necz46u4ycqtp36wedrar0/willyz",display:"transfer/channel-4/willyz",name:"Willyz",symbol:"WILLYZ",penumbraAssetId:{inner:"ZPcze3Lhpgavnk2eQ/N49hJGttezr+Gl3TiJeL6MvhE="},images:[{png:"https://raw.githubusercontent.com/cosmos/chain-registry/master/testnets/osmosistestnet/images/willyz.png",svg:"https://raw.githubusercontent.com/cosmos/chain-registry/master/testnets/osmosistestnet/images/willyz.svg"}]},"hGwO3SuE1/D05ooLMUVVe7XvYbAFnxAUbIRIZdG3TwI=":{description:"The controlled staking asset for Noble Chain",denomUnits:[{denom:"transfer/channel-3/ustake"},{denom:"transfer/channel-3/stake",exponent:6}],base:"transfer/channel-3/ustake",display:"transfer/channel-3/stake",name:"Stake",symbol:"STAKE",penumbraAssetId:{inner:"hGwO3SuE1/D05ooLMUVVe7XvYbAFnxAUbIRIZdG3TwI="}},"nDjzm+ldIrNMJha1anGMDVxpA5cLCPnUYQ1clmHF1gw=":{denomUnits:[{denom:"pizza"}],base:"pizza",display:"pizza",symbol:"PIZZA",penumbraAssetId:{inner:"nDjzm+ldIrNMJha1anGMDVxpA5cLCPnUYQ1clmHF1gw="},images:[{svg:"https://raw.githubusercontent.com/prax-wallet/registry/main/images/pizza.svg"}]},"nwPDkQq3OvLnBwGTD+nmv1Ifb2GEmFCgNHrU++9BsRE=":{denomUnits:[{denom:"gn",exponent:6},{denom:"mgn",exponent:3},{denom:"ugn"}],base:"ugn",display:"gn",symbol:"GN",penumbraAssetId:{inner:"nwPDkQq3OvLnBwGTD+nmv1Ifb2GEmFCgNHrU++9BsRE="}},"qUn70lKZ3qQlCT5gj5sakux4daiTPKj0AN6ZuuFldQU=":{denomUnits:[{denom:"delegation_penumbravalid1qfxldejdhanmu302kcn5fm98q5d7d2upfhzqhaz95hyjdn82pqysqfq050",exponent:6},{denom:"mdelegation_penumbravalid1qfxldejdhanmu302kcn5fm98q5d7d2upfhzqhaz95hyjdn82pqysqfq050",exponent:3},{denom:"udelegation_penumbravalid1qfxldejdhanmu302kcn5fm98q5d7d2upfhzqhaz95hyjdn82pqysqfq050"}],base:"udelegation_penumbravalid1qfxldejdhanmu302kcn5fm98q5d7d2upfhzqhaz95hyjdn82pqysqfq050",display:"delegation_penumbravalid1qfxldejdhanmu302kcn5fm98q5d7d2upfhzqhaz95hyjdn82pqysqfq050",symbol:"Delegation (Penumbra Labs CI 2)",penumbraAssetId:{inner:"qUn70lKZ3qQlCT5gj5sakux4daiTPKj0AN6ZuuFldQU="},images:[{png:"https://raw.githubusercontent.com/prax-wallet/registry/main/images/penumbra-favicon.png"}]},"reum7wQmk/owgvGMWMZn/6RFPV24zIKq3W6In/WwZgg=":{denomUnits:[{denom:"test_usd",exponent:18},{denom:"wtest_usd"}],base:"wtest_usd",display:"test_usd",symbol:"TestUSD",penumbraAssetId:{inner:"reum7wQmk/owgvGMWMZn/6RFPV24zIKq3W6In/WwZgg="},images:[{svg:"https://raw.githubusercontent.com/prax-wallet/registry/main/images/test-usd.svg"}]},"xNdg/Pc2CvrtawUX41EBLTlgj83RTenRJaBFXxsSTwk=":{denomUnits:[{denom:"transfer/channel-4/uion"},{denom:"transfer/channel-4/ion",exponent:6}],base:"transfer/channel-4/uion",display:"transfer/channel-4/ion",name:"Ion",symbol:"ION",penumbraAssetId:{inner:"xNdg/Pc2CvrtawUX41EBLTlgj83RTenRJaBFXxsSTwk="},images:[{png:"https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/ion.png",svg:"https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/ion.svg"}]}},Be="KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=",qe=["reum7wQmk/owgvGMWMZn/6RFPV24zIKq3W6In/WwZgg=","CKBQapu+DkQpsKyTfKESLTV19/NPWR5sNZtvQsd3Hw8="],Cn={chainId:xe,ibcConnections:Se,rpcs:ve,assetById:Ae,stakingAssetId:Be,numeraires:qe},Mn=Object.freeze(Object.defineProperty({__proto__:null,assetById:Ae,chainId:xe,default:Cn,ibcConnections:Se,numeraires:qe,rpcs:ve,stakingAssetId:Be},Symbol.toStringTag,{value:"Module"})),Oe="penumbra-testnet-deimos-7",De=[{addressPrefix:"osmo",chainId:"osmo-test-5",channelId:"channel-4",counterpartyChannelId:"channel-7780",displayName:"Osmosis",images:[{svg:"https://raw.githubusercontent.com/cosmos/chain-registry/f1348793beb994c6cc0256ed7ebdb48c7aa70003/osmosis/images/osmo.svg"}]},{addressPrefix:"noble",chainId:"grand-1",channelId:"channel-3",counterpartyChannelId:"channel-164",displayName:"Noble",images:[{svg:"https://raw.githubusercontent.com/cosmos/chain-registry/2ca39d0e4eaf3431cca13991948e099801f02e46/noble/images/stake.svg"}]}],Le=[{name:"Penumbra Labs Testnet RPC",url:"https://grpc.testnet.penumbra.zone",images:[{png:"https://raw.githubusercontent.com/prax-wallet/registry/main/images/penumbra-favicon.png"}]}],Ve={"+jDercxZxs90BjC91PrWyA53/p7uN3ZcSJj3N0mHjhI=":{description:"USDLR is a fiat-backed stablecoin issued by Stable. Stable pays DeFi protocols who distribute USDLR.",denomUnits:[{denom:"transfer/channel-3/uusdlr"},{denom:"transfer/channel-3/usdlr",exponent:6}],base:"transfer/channel-3/uusdlr",display:"transfer/channel-3/usdlr",name:"USDLR by Stable",symbol:"USDLR",penumbraAssetId:{inner:"+jDercxZxs90BjC91PrWyA53/p7uN3ZcSJj3N0mHjhI="},images:[{png:"https://raw.githubusercontent.com/cosmos/chain-registry/master/testnets/nobletestnet/images/usdlr.png",svg:"https://raw.githubusercontent.com/cosmos/chain-registry/master/testnets/nobletestnet/images/usdlr.svg"}]},"6KBVsPINa8gWSHhfH+kAFJC4afEJA3EtuB2HyCqJUws=":{denomUnits:[{denom:"cube"}],base:"cube",display:"cube",symbol:"CUBE",penumbraAssetId:{inner:"6KBVsPINa8gWSHhfH+kAFJC4afEJA3EtuB2HyCqJUws="}},"CKBQapu+DkQpsKyTfKESLTV19/NPWR5sNZtvQsd3Hw8=":{description:"USD Coin",denomUnits:[{denom:"transfer/channel-3/uusdc"},{denom:"transfer/channel-3/usdc",exponent:6}],base:"transfer/channel-3/uusdc",display:"transfer/channel-3/usdc",name:"USD Coin",symbol:"USDC",penumbraAssetId:{inner:"CKBQapu+DkQpsKyTfKESLTV19/NPWR5sNZtvQsd3Hw8="},images:[{svg:"https://raw.githubusercontent.com/cosmos/chain-registry/master/_non-cosmos/ethereum/images/usdc.svg"}]},"CwpUYIdQ9H5Dnf3oQ1l7ISeVMVahWbVNNvMA0dBSdwI=":{denomUnits:[{denom:"delegation_penumbravalid18nkv0r3sfp2seleq6du5kt3mhfce3k6cqm77kj2e7mhakmyw9v9qx42a20",exponent:6},{denom:"mdelegation_penumbravalid18nkv0r3sfp2seleq6du5kt3mhfce3k6cqm77kj2e7mhakmyw9v9qx42a20",exponent:3},{denom:"udelegation_penumbravalid18nkv0r3sfp2seleq6du5kt3mhfce3k6cqm77kj2e7mhakmyw9v9qx42a20"}],base:"udelegation_penumbravalid18nkv0r3sfp2seleq6du5kt3mhfce3k6cqm77kj2e7mhakmyw9v9qx42a20",display:"delegation_penumbravalid18nkv0r3sfp2seleq6du5kt3mhfce3k6cqm77kj2e7mhakmyw9v9qx42a20",symbol:"Delegation (Penumbra Labs CI 1)",penumbraAssetId:{inner:"CwpUYIdQ9H5Dnf3oQ1l7ISeVMVahWbVNNvMA0dBSdwI="},images:[{png:"https://raw.githubusercontent.com/prax-wallet/registry/main/images/penumbra-favicon.png"}]},"HW2Eq3UZVSBttoUwUi/MUtE7rr2UU7/UH500byp7OAc=":{denomUnits:[{denom:"gm",exponent:6},{denom:"mgm",exponent:3},{denom:"ugm"}],base:"ugm",display:"gm",symbol:"GM",penumbraAssetId:{inner:"HW2Eq3UZVSBttoUwUi/MUtE7rr2UU7/UH500byp7OAc="}},"Hqn6gTCqE7mCBsVa4agsTFmrO0Rip5xmLcipnGKH9AI=":{description:"Love is a test tokenfactory asset controlled by the Strangelove Team",denomUnits:[{denom:"transfer/channel-3/ulove"},{denom:"transfer/channel-3/love",exponent:6}],base:"transfer/channel-3/ulove",display:"transfer/channel-3/love",name:"Love",symbol:"LOVE",penumbraAssetId:{inner:"Hqn6gTCqE7mCBsVa4agsTFmrO0Rip5xmLcipnGKH9AI="}},"KSOgqHs6JCHxZcyFPb9zqb2vtdoNlIVktgWcsCF8RAc=":{description:"The native token of Osmosis",denomUnits:[{denom:"transfer/channel-4/uosmo"},{denom:"transfer/channel-4/osmo",exponent:6}],base:"transfer/channel-4/uosmo",display:"transfer/channel-4/osmo",name:"Osmosis Testnet",symbol:"OSMO",penumbraAssetId:{inner:"KSOgqHs6JCHxZcyFPb9zqb2vtdoNlIVktgWcsCF8RAc="},images:[{png:"https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/osmo.png",svg:"https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/osmo.svg"}]},"KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=":{denomUnits:[{denom:"penumbra",exponent:6},{denom:"mpenumbra",exponent:3},{denom:"upenumbra"}],base:"upenumbra",display:"penumbra",symbol:"UM",penumbraAssetId:{inner:"KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA="},images:[{svg:"https://raw.githubusercontent.com/prax-wallet/registry/main/images/um.svg"}]},"ZPcze3Lhpgavnk2eQ/N49hJGttezr+Gl3TiJeL6MvhE=":{denomUnits:[{denom:"transfer/channel-4/factory/osmo1zlkzu72774ynac53necz46u4ycqtp36wedrar0/willyz"},{denom:"transfer/channel-4/willyz",exponent:6}],base:"transfer/channel-4/factory/osmo1zlkzu72774ynac53necz46u4ycqtp36wedrar0/willyz",display:"transfer/channel-4/willyz",name:"Willyz",symbol:"WILLYZ",penumbraAssetId:{inner:"ZPcze3Lhpgavnk2eQ/N49hJGttezr+Gl3TiJeL6MvhE="},images:[{png:"https://raw.githubusercontent.com/cosmos/chain-registry/master/testnets/osmosistestnet/images/willyz.png",svg:"https://raw.githubusercontent.com/cosmos/chain-registry/master/testnets/osmosistestnet/images/willyz.svg"}]},"hGwO3SuE1/D05ooLMUVVe7XvYbAFnxAUbIRIZdG3TwI=":{description:"The controlled staking asset for Noble Chain",denomUnits:[{denom:"transfer/channel-3/ustake"},{denom:"transfer/channel-3/stake",exponent:6}],base:"transfer/channel-3/ustake",display:"transfer/channel-3/stake",name:"Stake",symbol:"STAKE",penumbraAssetId:{inner:"hGwO3SuE1/D05ooLMUVVe7XvYbAFnxAUbIRIZdG3TwI="}},"nDjzm+ldIrNMJha1anGMDVxpA5cLCPnUYQ1clmHF1gw=":{denomUnits:[{denom:"pizza"}],base:"pizza",display:"pizza",symbol:"PIZZA",penumbraAssetId:{inner:"nDjzm+ldIrNMJha1anGMDVxpA5cLCPnUYQ1clmHF1gw="},images:[{svg:"https://raw.githubusercontent.com/prax-wallet/registry/main/images/pizza.svg"}]},"nwPDkQq3OvLnBwGTD+nmv1Ifb2GEmFCgNHrU++9BsRE=":{denomUnits:[{denom:"gn",exponent:6},{denom:"mgn",exponent:3},{denom:"ugn"}],base:"ugn",display:"gn",symbol:"GN",penumbraAssetId:{inner:"nwPDkQq3OvLnBwGTD+nmv1Ifb2GEmFCgNHrU++9BsRE="}},"qUn70lKZ3qQlCT5gj5sakux4daiTPKj0AN6ZuuFldQU=":{denomUnits:[{denom:"delegation_penumbravalid1qfxldejdhanmu302kcn5fm98q5d7d2upfhzqhaz95hyjdn82pqysqfq050",exponent:6},{denom:"mdelegation_penumbravalid1qfxldejdhanmu302kcn5fm98q5d7d2upfhzqhaz95hyjdn82pqysqfq050",exponent:3},{denom:"udelegation_penumbravalid1qfxldejdhanmu302kcn5fm98q5d7d2upfhzqhaz95hyjdn82pqysqfq050"}],base:"udelegation_penumbravalid1qfxldejdhanmu302kcn5fm98q5d7d2upfhzqhaz95hyjdn82pqysqfq050",display:"delegation_penumbravalid1qfxldejdhanmu302kcn5fm98q5d7d2upfhzqhaz95hyjdn82pqysqfq050",symbol:"Delegation (Penumbra Labs CI 2)",penumbraAssetId:{inner:"qUn70lKZ3qQlCT5gj5sakux4daiTPKj0AN6ZuuFldQU="},images:[{png:"https://raw.githubusercontent.com/prax-wallet/registry/main/images/penumbra-favicon.png"}]},"reum7wQmk/owgvGMWMZn/6RFPV24zIKq3W6In/WwZgg=":{denomUnits:[{denom:"test_usd",exponent:18},{denom:"wtest_usd"}],base:"wtest_usd",display:"test_usd",symbol:"TestUSD",penumbraAssetId:{inner:"reum7wQmk/owgvGMWMZn/6RFPV24zIKq3W6In/WwZgg="},images:[{svg:"https://raw.githubusercontent.com/prax-wallet/registry/main/images/test-usd.svg"}]},"xNdg/Pc2CvrtawUX41EBLTlgj83RTenRJaBFXxsSTwk=":{denomUnits:[{denom:"transfer/channel-4/uion"},{denom:"transfer/channel-4/ion",exponent:6}],base:"transfer/channel-4/uion",display:"transfer/channel-4/ion",name:"Ion",symbol:"ION",penumbraAssetId:{inner:"xNdg/Pc2CvrtawUX41EBLTlgj83RTenRJaBFXxsSTwk="},images:[{png:"https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/ion.png",svg:"https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/ion.svg"}]}},ze="KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=",Pe=["reum7wQmk/owgvGMWMZn/6RFPV24zIKq3W6In/WwZgg=","CKBQapu+DkQpsKyTfKESLTV19/NPWR5sNZtvQsd3Hw8="],Jn={chainId:Oe,ibcConnections:De,rpcs:Le,assetById:Ve,stakingAssetId:ze,numeraires:Pe},jn=Object.freeze(Object.defineProperty({__proto__:null,assetById:Ve,chainId:Oe,default:Jn,ibcConnections:De,numeraires:Pe,rpcs:Le,stakingAssetId:ze},Symbol.toStringTag,{value:"Module"})),Rn={"penumbra-testnet-deimos-6":Mn,"penumbra-testnet-deimos-7":jn};class _n{get(e){const t=this.swapIfPreviewChain(e),r=Rn[t];if(!r)throw new Error(`Registry not found for ${t}`);return new Fe(r)}version(){return{commit:"e26aadf7f815db5a6a5e0bdd6c0432a255f63e0c",date:new Date("2024-05-10T20:26:00+02:00")}}swapIfPreviewChain(e){if(!Je(e))return e;const t=je(e);if(!t)throw new Error(`Chain id could not be derived from testnet preview chain: ${e}`);return t}}exports.ChainRegistryClient=_n;exports.Registry=Fe; |
{ | ||
"name": "@penumbra-labs/registry", | ||
"version": "7.0.0", | ||
"version": "7.1.0", | ||
"description": "Chain and asset registry for Penumbra", | ||
@@ -5,0 +5,0 @@ "main": "./dist/index.js", |
Sorry, the diff of this file is not supported yet
136315