@credenza3/contracts-lib-sui 0.2.12 → 0.2.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/client/index.cjs +3 -2
- package/dist/cjs/client/index.cjs.map +2 -2
- package/dist/cjs/client/modules/CredenzaAssetCollection.d.ts +1 -1
- package/dist/esm/client/index.mjs +3 -2
- package/dist/esm/client/index.mjs.map +2 -2
- package/dist/esm/client/modules/CredenzaAssetCollection.d.ts +1 -1
- package/dist/umd/client/index.js +1 -1
- package/dist/umd/client/index.js.map +3 -3
- package/package.json +1 -1
package/dist/umd/client/index.js
CHANGED
|
@@ -5,7 +5,7 @@ Keys:
|
|
|
5
5
|
${String(t.keys)}
|
|
6
6
|
|
|
7
7
|
Values:
|
|
8
|
-
${String(r)}`);Ea(t);for(let s=0;s<t.callbacks.length;s++){let i=r[s];i instanceof Error?t.callbacks[s].reject(i):t.callbacks[s].resolve(i)}}).catch(r=>{wa(e,t,r)})}function wa(e,t,n){Ea(t);for(let r=0;r<t.keys.length;r++)e.clear(t.keys[r]),t.callbacks[r].reject(n)}function Ea(e){if(e.cacheHits)for(let t=0;t<e.cacheHits.length;t++)e.cacheHits[t]()}function bT(e){if(!(!e||e.batch!==!1))return 1;let t=e&&e.maxBatchSize;if(t===void 0)return 1/0;if(typeof t!="number"||t<1)throw new TypeError(`maxBatchSize must be a positive number: ${t}`);return t}function TT(e){let t=e&&e.batchScheduleFn;if(t===void 0)return hT;if(typeof t!="function")throw new TypeError(`batchScheduleFn must be a function: ${t}`);return t}function vT(e){let t=e&&e.cacheKeyFn;if(t===void 0)return n=>n;if(typeof t!="function")throw new TypeError(`cacheKeyFn must be a function: ${t}`);return t}function wT(e){if(!(!e||e.cache!==!1))return null;let t=e&&e.cacheMap;if(t===void 0)return new Map;if(t!==null){let n=["get","set","delete","clear"].filter(r=>t&&typeof t[r]!="function");if(n.length!==0)throw new TypeError("Custom cacheMap missing methods: "+n.join(", "))}return t}function ET(e){return e&&e.name?e.name:null}function ql(e){return typeof e=="object"&&e!==null&&"length"in e&&typeof e.length=="number"&&(e.length===0||e.length>0&&Object.prototype.hasOwnProperty.call(e,e.length-1))}function xa(e,t){switch(t){case"base58":return Tt(e);case"base64":return X(e);case"hex":return Xe(e);default:throw new Error("Unsupported encoding, supported values are: base64, hex")}}function ss(e,t=["<",">"]){let[n,r]=t,s=[],i="",o=0;for(let a=0;a<e.length;a++){let c=e[a];if(c===n&&o++,c===r&&o--,o===0&&c===","){s.push(i.trim()),i="";continue}i+=c}return s.push(i.trim()),s}var $l=class{constructor({initialSize:e=1024,maxSize:t=1/0,allocateSize:n=1024}={}){this.bytePosition=0,this.size=e,this.maxSize=t,this.allocateSize=n,this.dataView=new DataView(new ArrayBuffer(e))}ensureSizeOrGrow(e){let t=this.bytePosition+e;if(t>this.size){let n=Math.min(this.maxSize,Math.max(this.size+t,this.size+this.allocateSize));if(t>n)throw new Error(`Attempting to serialize to BCS, but buffer does not have enough size. Allocated size: ${this.size}, Max size: ${this.maxSize}, Required size: ${t}`);this.size=n;let r=new ArrayBuffer(this.size);new Uint8Array(r).set(new Uint8Array(this.dataView.buffer)),this.dataView=new DataView(r)}}shift(e){return this.bytePosition+=e,this}write8(e){return this.ensureSizeOrGrow(1),this.dataView.setUint8(this.bytePosition,Number(e)),this.shift(1)}writeBytes(e){this.ensureSizeOrGrow(e.length);for(let t=0;t<e.length;t++)this.dataView.setUint8(this.bytePosition+t,e[t]);return this.shift(e.length)}write16(e){return this.ensureSizeOrGrow(2),this.dataView.setUint16(this.bytePosition,Number(e),!0),this.shift(2)}write32(e){return this.ensureSizeOrGrow(4),this.dataView.setUint32(this.bytePosition,Number(e),!0),this.shift(4)}write64(e){return ka(BigInt(e),8).forEach(t=>this.write8(t)),this}write128(e){return ka(BigInt(e),16).forEach(t=>this.write8(t)),this}write256(e){return ka(BigInt(e),32).forEach(t=>this.write8(t)),this}writeULEB(e){return Un(e).forEach(t=>this.write8(t)),this}writeVec(e,t){return this.writeULEB(e.length),Array.from(e).forEach((n,r)=>t(this,n,r,e.length)),this}*[Symbol.iterator](){for(let e=0;e<this.bytePosition;e++)yield this.dataView.getUint8(e);return this.toBytes()}toBytes(){return new Uint8Array(this.dataView.buffer.slice(0,this.bytePosition))}toString(e){return xa(this.toBytes(),e)}};function ka(e,t){let n=new Uint8Array(t),r=0;for(;e>0;)n[r]=Number(e%BigInt(256)),e=e/BigInt(256),r+=1;return n}var Fn,dr,mr,Ze=(mr=class{constructor(t){le(this,Fn);le(this,dr);this.name=t.name,this.read=t.read,this.serializedSize=t.serializedSize??(()=>null),W(this,Fn,t.write),W(this,dr,t.serialize??((n,r)=>{let s=new $l({initialSize:this.serializedSize(n)??void 0,...r});return h(this,Fn).call(this,n,s),s.toBytes()})),this.validate=t.validate??(()=>{})}write(t,n){this.validate(t),h(this,Fn).call(this,t,n)}serialize(t,n){return this.validate(t),new Wl(this,h(this,dr).call(this,t,n))}parse(t){let n=new Rl(t);return this.read(n)}fromHex(t){return this.parse(At(t))}fromBase58(t){return this.parse(Nt(t))}fromBase64(t){return this.parse(K(t))}transform({name:t,input:n,output:r,validate:s}){return new mr({name:t??this.name,read:i=>r?r(this.read(i)):this.read(i),write:(i,o)=>h(this,Fn).call(this,n?n(i):i,o),serializedSize:i=>this.serializedSize(n?n(i):i),serialize:(i,o)=>h(this,dr).call(this,n?n(i):i,o),validate:i=>{s?.(i),this.validate(n?n(i):i)}})}},Fn=new WeakMap,dr=new WeakMap,mr),Hl=Symbol.for("@mysten/serialized-bcs");function hr(e){return!!e&&typeof e=="object"&&e[Hl]===!0}var is,$t,zl,Wl=(zl=class{constructor(e,t){le(this,is);le(this,$t);W(this,is,e),W(this,$t,t)}get[Hl](){return!0}toBytes(){return h(this,$t)}toHex(){return Xe(h(this,$t))}toBase64(){return X(h(this,$t))}toBase58(){return Tt(h(this,$t))}parse(){return h(this,is).parse(h(this,$t))}},is=new WeakMap,$t=new WeakMap,zl);function os({size:e,...t}){return new Ze({...t,serializedSize:()=>e})}function li({readMethod:e,writeMethod:t,...n}){return os({...n,read:r=>r[e](),write:(r,s)=>s[t](r),validate:r=>{if(r<0||r>n.maxValue)throw new TypeError(`Invalid ${n.name} value: ${r}. Expected value in range 0-${n.maxValue}`);n.validate?.(r)}})}function pi({readMethod:e,writeMethod:t,...n}){return os({...n,read:r=>r[e](),write:(r,s)=>s[t](BigInt(r)),validate:r=>{let s=BigInt(r);if(s<0||s>n.maxValue)throw new TypeError(`Invalid ${n.name} value: ${s}. Expected value in range 0-${n.maxValue}`);n.validate?.(s)}})}function Jl({serialize:e,...t}){let n=new Ze({...t,serialize:e,write:(r,s)=>{for(let i of n.serialize(r).toBytes())s.write8(i)}});return n}function Yl({toBytes:e,fromBytes:t,...n}){return new Ze({...n,read:r=>{let s=r.readULEB();return t(r.readBytes(s))},write:(r,s)=>{let i=e(r);s.writeULEB(i.length);for(let o=0;o<i.length;o++)s.write8(i[o])},serialize:r=>{let s=e(r),i=Un(s.length),o=new Uint8Array(i.length+s.length);return o.set(i,0),o.set(s,i.length),o},validate:r=>{if(typeof r!="string")throw new TypeError(`Invalid ${n.name} value: ${r}. Expected string`);n.validate?.(r)}})}function Xl(e){let t=null;function n(){return t||(t=e()),t}return new Ze({name:"lazy",read:r=>n().read(r),serializedSize:r=>n().serializedSize(r),write:(r,s)=>n().write(r,s),serialize:(r,s)=>n().serialize(r,s).toBytes()})}var fi=class extends Ze{constructor({name:e,fields:t,...n}){let r=Object.entries(t);super({name:e,serializedSize:s=>{let i=0;for(let[o,a]of r){let c=a.serializedSize(s[o]);if(c==null)return null;i+=c}return i},read:s=>{let i={};for(let[o,a]of r)i[o]=a.read(s);return i},write:(s,i)=>{for(let[o,a]of r)a.write(s[o],i)},...n,validate:s=>{if(n?.validate?.(s),typeof s!="object"||s==null)throw new TypeError(`Expected object, found ${typeof s}`)}})}},di=class extends Ze{constructor({fields:e,...t}){let n=Object.entries(e);super({read:r=>{let s=r.readULEB(),i=n[s];if(!i)throw new TypeError(`Unknown value ${s} for enum ${t.name}`);let[o,a]=i;return{[o]:a?.read(r)??!0,$kind:o}},write:(r,s)=>{let[i,o]=Object.entries(r).filter(([a])=>Object.hasOwn(e,a))[0];for(let a=0;a<n.length;a++){let[c,u]=n[a];if(c===i){s.writeULEB(a),u?.write(o,s);return}}},...t,validate:r=>{if(t?.validate?.(r),typeof r!="object"||r==null)throw new TypeError(`Expected object, found ${typeof r}`);let s=Object.keys(r).filter(o=>r[o]!==void 0&&Object.hasOwn(e,o));if(s.length!==1)throw new TypeError(`Expected object with one key, but found ${s.length} for type ${t.name}}`);let[i]=s;if(!Object.hasOwn(e,i))throw new TypeError(`Invalid enum variant ${i}`)}})}},mi=class extends Ze{constructor({fields:e,name:t,...n}){super({name:t??`(${e.map(r=>r.name).join(", ")})`,serializedSize:r=>{let s=0;for(let i=0;i<e.length;i++){let o=e[i].serializedSize(r[i]);if(o==null)return null;s+=o}return s},read:r=>{let s=[];for(let i of e)s.push(i.read(r));return s},write:(r,s)=>{for(let i=0;i<e.length;i++)e[i].write(r[i],s)},...n,validate:r=>{if(n?.validate?.(r),!Array.isArray(r))throw new TypeError(`Expected array, found ${typeof r}`);if(r.length!==e.length)throw new TypeError(`Expected array of length ${e.length}, found ${r.length}`)}})}};function xT(e,t,n){return new Ze({read:r=>{let s=new Array(e);for(let i=0;i<e;i++)s[i]=t.read(r);return s},write:(r,s)=>{for(let i of r)t.write(i,s)},...n,name:n?.name??`${t.name}[${e}]`,validate:r=>{if(n?.validate?.(r),!r||typeof r!="object"||!("length"in r))throw new TypeError(`Expected array, found ${typeof r}`);if(r.length!==e)throw new TypeError(`Expected array of length ${e}, found ${r.length}`)}})}function kT(e){return f.enum(`Option<${e.name}>`,{None:null,Some:e}).transform({input:t=>t==null?{None:!0}:{Some:t},output:t=>t.$kind==="Some"?t.Some:null})}function ST(e,t){return new Ze({read:n=>{let r=n.readULEB(),s=new Array(r);for(let i=0;i<r;i++)s[i]=e.read(n);return s},write:(n,r)=>{r.writeULEB(n.length);for(let s of n)e.write(s,r)},...t,name:t?.name??`vector<${e.name}>`,validate:n=>{if(t?.validate?.(n),!n||typeof n!="object"||!("length"in n))throw new TypeError(`Expected array, found ${typeof n}`)}})}function Sa(e,t){for(let n=0;n<Math.min(e.length,t.length);n++)if(e[n]!==t[n])return e[n]-t[n];return e.length-t.length}function IT(e,t){return new Ze({name:`Map<${e.name}, ${t.name}>`,read:n=>{let r=n.readULEB(),s=new Map;for(let i=0;i<r;i++)s.set(e.read(n),t.read(n));return s},write:(n,r)=>{let s=[...n.entries()].map(([i,o])=>[e.serialize(i).toBytes(),o]);s.sort(([i],[o])=>Sa(i,o)),r.writeULEB(s.length);for(let[i,o]of s)r.writeBytes(i),t.write(o,r)}})}var f={u8(e){return li({readMethod:"read8",writeMethod:"write8",size:1,maxValue:2**8-1,...e,name:e?.name??"u8"})},u16(e){return li({readMethod:"read16",writeMethod:"write16",size:2,maxValue:2**16-1,...e,name:e?.name??"u16"})},u32(e){return li({readMethod:"read32",writeMethod:"write32",size:4,maxValue:2**32-1,...e,name:e?.name??"u32"})},u64(e){return pi({readMethod:"read64",writeMethod:"write64",size:8,maxValue:2n**64n-1n,...e,name:e?.name??"u64"})},u128(e){return pi({readMethod:"read128",writeMethod:"write128",size:16,maxValue:2n**128n-1n,...e,name:e?.name??"u128"})},u256(e){return pi({readMethod:"read256",writeMethod:"write256",size:32,maxValue:2n**256n-1n,...e,name:e?.name??"u256"})},bool(e){return os({size:1,read:t=>t.read8()===1,write:(t,n)=>n.write8(t?1:0),...e,name:e?.name??"bool",validate:t=>{if(e?.validate?.(t),typeof t!="boolean")throw new TypeError(`Expected boolean, found ${typeof t}`)}})},uleb128(e){return Jl({read:t=>t.readULEB(),serialize:t=>Uint8Array.from(Un(t)),...e,name:e?.name??"uleb128"})},bytes(e,t){return os({size:e,read:n=>n.readBytes(e),write:(n,r)=>{r.writeBytes(new Uint8Array(n))},...t,name:t?.name??`bytes[${e}]`,validate:n=>{if(t?.validate?.(n),!n||typeof n!="object"||!("length"in n))throw new TypeError(`Expected array, found ${typeof n}`);if(n.length!==e)throw new TypeError(`Expected array of length ${e}, found ${n.length}`)}})},byteVector(e){return new Ze({read:t=>{let n=t.readULEB();return t.readBytes(n)},write:(t,n)=>{let r=new Uint8Array(t);n.writeULEB(r.length),n.writeBytes(r)},...e,name:e?.name??"vector<u8>",serializedSize:t=>{let n="length"in t?t.length:null;return n==null?null:Un(n).length+n},validate:t=>{if(e?.validate?.(t),!t||typeof t!="object"||!("length"in t))throw new TypeError(`Expected array, found ${typeof t}`)}})},string(e){return Yl({toBytes:t=>new TextEncoder().encode(t),fromBytes:t=>new TextDecoder().decode(t),...e,name:e?.name??"string"})},fixedArray:xT,option:kT,vector:ST,tuple(e,t){return new mi({fields:e,...t})},struct(e,t,n){return new fi({name:e,fields:t,...n})},enum(e,t,n){return new di({name:e,fields:t,...n})},map:IT,lazy(e){return Xl(e)}};var fn=32;function Vn(e){return OT(e)&&NT(e)===fn}function _T(e){return e.includes("::")?zt(e):e}function zt(e){let t=e.split("::");if(t.length<3)throw new Error(`Invalid struct tag: ${e}`);let[n,r]=t,s=fr(n),i=e.slice(n.length+r.length+4),o=i.includes("<")?i.slice(0,i.indexOf("<")):i,a=i.includes("<")?ss(i.slice(i.indexOf("<")+1,i.lastIndexOf(">"))).map(c=>_T(c.trim())):[];return{address:s?n:Y(n),module:r,name:o,typeParams:a}}function Ht(e){let{address:t,module:n,name:r,typeParams:s}=typeof e=="string"?zt(e):e;return`${t}::${n}::${r}${s?.length>0?`<${s.map(i=>typeof i=="string"?i:Ht(i)).join(",")}>`:""}`}function Y(e,t=!1){let n=e.toLowerCase();return!t&&n.startsWith("0x")&&(n=n.slice(2)),`0x${n.padStart(fn*2,"0")}`}function as(e,t=!1){return Y(e,t)}function OT(e){return/^(0x|0X)?[a-fA-F0-9]+$/.test(e)&&e.length%2===0}function NT(e){return/^(0x|0X)/.test(e)?(e.length-2)/2:e.length/2}var Ia;function Kl(e){return{lang:e?.lang??Ia?.lang,message:e?.message,abortEarly:e?.abortEarly??Ia?.abortEarly,abortPipeEarly:e?.abortPipeEarly??Ia?.abortPipeEarly}}var AT;function CT(e){return AT?.get(e)}var RT;function DT(e){return RT?.get(e)}var jT;function BT(e,t){return jT?.get(e)?.get(t)}function Ql(e){let t=typeof e;return t==="string"?`"${e}"`:t==="number"||t==="bigint"||t==="boolean"?`${e}`:t==="object"||t==="function"?(e&&Object.getPrototypeOf(e)?.constructor?.name)??"null":t}function Ke(e,t,n,r,s){let i=s&&"input"in s?s.input:n.value,o=s?.expected??e.expects??null,a=s?.received??Ql(i),c={kind:e.kind,type:e.type,input:i,expected:o,received:a,message:`Invalid ${t}: ${o?`Expected ${o} but r`:"R"}eceived ${a}`,requirement:e.requirement,path:s?.path,issues:s?.issues,lang:r.lang,abortEarly:r.abortEarly,abortPipeEarly:r.abortPipeEarly},u=e.kind==="schema",l=s?.message??e.message??BT(e.reference,c.lang)??(u?DT(c.lang):null)??r.message??CT(c.lang);l!==void 0&&(c.message=typeof l=="function"?l(c):l),u&&(n.typed=!1),n.issues?n.issues.push(c):n.issues=[c]}function Le(e){return{version:1,vendor:"valibot",validate(t){return e["~run"]({value:t},Kl())}}}function PT(e,t){return Object.hasOwn(e,t)&&t!=="__proto__"&&t!=="prototype"&&t!=="constructor"}function LT(e,t){let n=[...new Set(e)];return n.length>1?`(${n.join(` ${t} `)})`:n[0]??"never"}var MT=class extends Error{constructor(e){super(e[0].message),this.name="ValiError",this.issues=e}};function dn(e,t){return{kind:"validation",type:"check",reference:dn,async:!1,expects:null,requirement:e,message:t,"~run"(n,r){return n.typed&&!this.requirement(n.value)&&Ke(this,"input",n,r),n}}}function he(e){return{kind:"validation",type:"integer",reference:he,async:!1,expects:null,requirement:Number.isInteger,message:e,"~run"(t,n){return t.typed&&!this.requirement(t.value)&&Ke(this,"integer",t,n),t}}}function hi(e){return{kind:"transformation",type:"transform",reference:hi,async:!1,operation:e,"~run"(t){return t.value=this.operation(t.value),t}}}function UT(e,t,n){return typeof e.fallback=="function"?e.fallback(t,n):e.fallback}function gi(e,t,n){return typeof e.default=="function"?e.default(t,n):e.default}function cs(e,t){return!e["~run"]({value:t},{abortEarly:!0}).issues}function G(e,t){return{kind:"schema",type:"array",reference:G,expects:"Array",async:!1,item:e,message:t,get"~standard"(){return Le(this)},"~run"(n,r){let s=n.value;if(Array.isArray(s)){n.typed=!0,n.value=[];for(let i=0;i<s.length;i++){let o=s[i],a=this.item["~run"]({value:o},r);if(a.issues){let c={type:"array",origin:"value",input:s,key:i,value:o};for(let u of a.issues)u.path?u.path.unshift(c):u.path=[c],n.issues?.push(u);if(n.issues||(n.issues=a.issues),r.abortEarly){n.typed=!1;break}}a.typed||(n.typed=!1),n.value.push(a.value)}}else Ke(this,"type",n,r);return n}}}function yi(e){return{kind:"schema",type:"bigint",reference:yi,expects:"bigint",async:!1,message:e,get"~standard"(){return Le(this)},"~run"(t,n){return typeof t.value=="bigint"?t.typed=!0:Ke(this,"type",t,n),t}}}function Wt(e){return{kind:"schema",type:"boolean",reference:Wt,expects:"boolean",async:!1,message:e,get"~standard"(){return Le(this)},"~run"(t,n){return typeof t.value=="boolean"?t.typed=!0:Ke(this,"type",t,n),t}}}function Gn(e){return{kind:"schema",type:"lazy",reference:Gn,expects:"unknown",async:!1,getter:e,get"~standard"(){return Le(this)},"~run"(t,n){return this.getter(t.value)["~run"](t,n)}}}function F(e,t){return{kind:"schema",type:"literal",reference:F,expects:Ql(e),async:!1,literal:e,message:t,get"~standard"(){return Le(this)},"~run"(n,r){return n.value===this.literal?n.typed=!0:Ke(this,"type",n,r),n}}}function Z(e,t){return{kind:"schema",type:"nullable",reference:Z,expects:`(${e.expects} | null)`,async:!1,wrapped:e,default:t,get"~standard"(){return Le(this)},"~run"(n,r){return n.value===null&&(this.default!==void 0&&(n.value=gi(this,n,r)),n.value===null)?(n.typed=!0,n):this.wrapped["~run"](n,r)}}}function Jt(e,t){return{kind:"schema",type:"nullish",reference:Jt,expects:`(${e.expects} | null | undefined)`,async:!1,wrapped:e,default:t,get"~standard"(){return Le(this)},"~run"(n,r){return(n.value===null||n.value===void 0)&&(this.default!==void 0&&(n.value=gi(this,n,r)),n.value===null||n.value===void 0)?(n.typed=!0,n):this.wrapped["~run"](n,r)}}}function de(e){return{kind:"schema",type:"number",reference:de,expects:"number",async:!1,message:e,get"~standard"(){return Le(this)},"~run"(t,n){return typeof t.value=="number"&&!isNaN(t.value)?t.typed=!0:Ke(this,"type",t,n),t}}}function _(e,t){return{kind:"schema",type:"object",reference:_,expects:"Object",async:!1,entries:e,message:t,get"~standard"(){return Le(this)},"~run"(n,r){let s=n.value;if(s&&typeof s=="object"){n.typed=!0,n.value={};for(let i in this.entries){let o=this.entries[i];if(i in s||(o.type==="exact_optional"||o.type==="optional"||o.type==="nullish")&&o.default!==void 0){let a=i in s?s[i]:gi(o),c=o["~run"]({value:a},r);if(c.issues){let u={type:"object",origin:"value",input:s,key:i,value:a};for(let l of c.issues)l.path?l.path.unshift(u):l.path=[u],n.issues?.push(l);if(n.issues||(n.issues=c.issues),r.abortEarly){n.typed=!1;break}}c.typed||(n.typed=!1),n.value[i]=c.value}else if(o.fallback!==void 0)n.value[i]=UT(o);else if(o.type!=="exact_optional"&&o.type!=="optional"&&o.type!=="nullish"&&(Ke(this,"key",n,r,{input:void 0,expected:`"${i}"`,path:[{type:"object",origin:"key",input:s,key:i,value:s[i]}]}),r.abortEarly))break}}else Ke(this,"type",n,r);return n}}}function Te(e,t){return{kind:"schema",type:"optional",reference:Te,expects:`(${e.expects} | undefined)`,async:!1,wrapped:e,default:t,get"~standard"(){return Le(this)},"~run"(n,r){return n.value===void 0&&(this.default!==void 0&&(n.value=gi(this,n,r)),n.value===void 0)?(n.typed=!0,n):this.wrapped["~run"](n,r)}}}function qn(e,t,n){return{kind:"schema",type:"record",reference:qn,expects:"Object",async:!1,key:e,value:t,message:n,get"~standard"(){return Le(this)},"~run"(r,s){let i=r.value;if(i&&typeof i=="object"){r.typed=!0,r.value={};for(let o in i)if(PT(i,o)){let a=i[o],c=this.key["~run"]({value:o},s);if(c.issues){let l={type:"object",origin:"key",input:i,key:o,value:a};for(let p of c.issues)p.path=[l],r.issues?.push(p);if(r.issues||(r.issues=c.issues),s.abortEarly){r.typed=!1;break}}let u=this.value["~run"]({value:a},s);if(u.issues){let l={type:"object",origin:"value",input:i,key:o,value:a};for(let p of u.issues)p.path?p.path.unshift(l):p.path=[l],r.issues?.push(p);if(r.issues||(r.issues=u.issues),s.abortEarly){r.typed=!1;break}}(!c.typed||!u.typed)&&(r.typed=!1),c.typed&&(r.value[c.value]=u.value)}}else Ke(this,"type",r,s);return r}}}function z(e){return{kind:"schema",type:"string",reference:z,expects:"string",async:!1,message:e,get"~standard"(){return Le(this)},"~run"(t,n){return typeof t.value=="string"?t.typed=!0:Ke(this,"type",t,n),t}}}function us(e,t){return{kind:"schema",type:"tuple",reference:us,expects:"Array",async:!1,items:e,message:t,get"~standard"(){return Le(this)},"~run"(n,r){let s=n.value;if(Array.isArray(s)){n.typed=!0,n.value=[];for(let i=0;i<this.items.length;i++){let o=s[i],a=this.items[i]["~run"]({value:o},r);if(a.issues){let c={type:"array",origin:"value",input:s,key:i,value:o};for(let u of a.issues)u.path?u.path.unshift(c):u.path=[c],n.issues?.push(u);if(n.issues||(n.issues=a.issues),r.abortEarly){n.typed=!1;break}}a.typed||(n.typed=!1),n.value.push(a.value)}}else Ke(this,"type",n,r);return n}}}function Zl(e){let t;if(e)for(let n of e)t?t.push(...n.issues):t=n.issues;return t}function we(e,t){return{kind:"schema",type:"union",reference:we,expects:LT(e.map(n=>n.expects),"|"),async:!1,options:e,message:t,get"~standard"(){return Le(this)},"~run"(n,r){let s,i,o;for(let a of this.options){let c=a["~run"]({value:n.value},r);if(c.typed)if(c.issues)i?i.push(c):i=[c];else{s=c;break}else o?o.push(c):o=[c]}if(s)return s;if(i){if(i.length===1)return i[0];Ke(this,"type",n,r,{issues:Zl(i)}),n.typed=!0}else{if(o?.length===1)return o[0];Ke(this,"type",n,r,{issues:Zl(o)})}return n}}}function Ct(){return{kind:"schema",type:"unknown",reference:Ct,expects:"unknown",async:!1,get"~standard"(){return Le(this)},"~run"(e){return e.typed=!0,e}}}function ae(e,t,n){let r=e["~run"]({value:t},Kl(n));if(r.issues)throw new MT(r.issues);return r.value}function ie(...e){return{...e[0],pipe:e,get"~standard"(){return Le(this)},"~run"(t,n){for(let r of e)if(r.kind!=="metadata"){if(t.issues&&(r.kind==="schema"||r.kind==="transformation")){t.typed=!1;break}(!t.issues||!n.abortEarly&&!n.abortPipeEarly)&&(t=r["~run"](t,n))}return t}}}function wt(e){return we(Object.keys(e).map(t=>ls(t,_({[t]:e[t]}))))}function ls(e,t){return ie(_({...t.entries,$kind:Te(F(e))}),hi(n=>({...n,$kind:e})))}var $n=ie(z(),hi(e=>Y(e)),dn(Vn)),qe=$n,mn=z(),Ee=ie(we([z(),ie(de(),he())]),dn(e=>{try{return BigInt(e),BigInt(e)>=0&&BigInt(e)<=18446744073709551615n}catch{return!1}},"Invalid u64")),FT=ie(de(),he(),dn(e=>e>=0&&e<2**32,"Invalid u32")),vt=_({objectId:$n,version:Ee,digest:z()}),ce=we([ls("GasCoin",_({GasCoin:F(!0)})),ls("Input",_({Input:ie(de(),he()),type:Te(we([F("pure"),F("object"),F("withdrawal")]))})),ls("Result",_({Result:ie(de(),he())})),ls("NestedResult",_({NestedResult:us([ie(de(),he()),ie(de(),he())])}))]),VT=_({budget:Z(Ee),price:Z(Ee),owner:Z($n),payment:Z(G(vt))}),BB=_({address:z(),module:z(),name:z(),typeParams:G(z())}),_a=we([_({$kind:F("address")}),_({$kind:F("bool")}),_({$kind:F("u8")}),_({$kind:F("u16")}),_({$kind:F("u32")}),_({$kind:F("u64")}),_({$kind:F("u128")}),_({$kind:F("u256")}),_({$kind:F("unknown")}),_({$kind:F("vector"),vector:Gn(()=>_a)}),_({$kind:F("datatype"),datatype:_({typeName:z(),typeParameters:G(Gn(()=>_a))})}),_({$kind:F("typeParameter"),index:ie(de(),he())})]),GT=_({reference:Z(we([F("mutable"),F("immutable"),F("unknown")])),body:_a}),qT=_({package:qe,module:z(),function:z(),typeArguments:G(z()),arguments:G(ce),_argumentTypes:Te(Z(G(GT)))}),$T=_({name:z(),inputs:qn(z(),we([ce,G(ce)])),data:qn(z(),Ct())}),zT=wt({MoveCall:qT,TransferObjects:_({objects:G(ce),address:ce}),SplitCoins:_({coin:ce,amounts:G(ce)}),MergeCoins:_({destination:ce,sources:G(ce)}),Publish:_({modules:G(mn),dependencies:G(qe)}),MakeMoveVec:_({type:Z(z()),elements:G(ce)}),Upgrade:_({modules:G(mn),dependencies:G(qe),package:qe,ticket:ce}),$Intent:$T}),ep=wt({ImmOrOwnedObject:vt,SharedObject:_({objectId:qe,initialSharedVersion:Ee,mutable:Wt()}),Receiving:vt}),HT=wt({MaxAmountU64:Ee}),WT=wt({Balance:z()}),JT=wt({Sender:F(!0),Sponsor:F(!0)}),Oa=_({reservation:HT,typeArg:WT,withdrawFrom:JT}),YT=wt({Object:ep,Pure:_({bytes:mn}),UnresolvedPure:_({value:Ct()}),UnresolvedObject:_({objectId:qe,version:Te(Z(Ee)),digest:Te(Z(z())),initialSharedVersion:Te(Z(Ee)),mutable:Te(Z(Wt()))}),FundsWithdrawal:Oa}),Na=wt({Object:ep,Pure:_({bytes:mn})}),Aa=_({minEpoch:Z(Ee),maxEpoch:Z(Ee),minTimestamp:Z(Ee),maxTimestamp:Z(Ee),chain:z(),nonce:FT}),Ca=wt({None:F(!0),Epoch:Ee,ValidDuring:Aa}),gr=_({version:F(2),sender:Jt($n),expiration:Jt(Ca),gasData:VT,inputs:G(YT),commands:G(zT)});function yr(e){if(typeof e=="string")return Y(e);if(e.Object)return e.Object.ImmOrOwnedObject?Y(e.Object.ImmOrOwnedObject.objectId):e.Object.Receiving?Y(e.Object.Receiving.objectId):Y(e.Object.SharedObject.objectId);if(e.UnresolvedObject)return Y(e.UnresolvedObject.objectId)}function tp(e,t,n){let r=s=>{switch(s.$kind){case"Input":{let i=t.get(s.Input);if(i===void 0)throw new Error(`Input ${s.Input} not found in input mapping`);return{...s,Input:i}}case"Result":{let i=n.get(s.Result);return i!==void 0?{...s,Result:i}:s}case"NestedResult":{let i=n.get(s.NestedResult[0]);return i!==void 0?{...s,NestedResult:[i,s.NestedResult[1]]}:s}default:return s}};switch(e.$kind){case"MoveCall":e.MoveCall.arguments=e.MoveCall.arguments.map(r);break;case"TransferObjects":e.TransferObjects.objects=e.TransferObjects.objects.map(r),e.TransferObjects.address=r(e.TransferObjects.address);break;case"SplitCoins":e.SplitCoins.coin=r(e.SplitCoins.coin),e.SplitCoins.amounts=e.SplitCoins.amounts.map(r);break;case"MergeCoins":e.MergeCoins.destination=r(e.MergeCoins.destination),e.MergeCoins.sources=e.MergeCoins.sources.map(r);break;case"MakeMoveVec":e.MakeMoveVec.elements=e.MakeMoveVec.elements.map(r);break;case"Upgrade":e.Upgrade.ticket=r(e.Upgrade.ticket);break;case"$Intent":{let s=e.$Intent.inputs;e.$Intent.inputs={};for(let[i,o]of Object.entries(s))e.$Intent.inputs[i]=Array.isArray(o)?o.map(r):r(o);break}case"Publish":break}}var XT=/^vector<(.+)>$/,ZT=/^([^:]+)::([^:]+)::([^<]+)(<(.+)>)?/,hn=class br{static parseFromStr(t,n=!1){if(t==="address")return{address:null};if(t==="bool")return{bool:null};if(t==="u8")return{u8:null};if(t==="u16")return{u16:null};if(t==="u32")return{u32:null};if(t==="u64")return{u64:null};if(t==="u128")return{u128:null};if(t==="u256")return{u256:null};if(t==="signer")return{signer:null};let r=t.match(XT);if(r)return{vector:br.parseFromStr(r[1],n)};let s=t.match(ZT);if(s)return{struct:{address:n?Y(s[1]):s[1],module:s[2],name:s[3],typeParams:s[5]===void 0?[]:br.parseStructTypeArgs(s[5],n)}};throw new Error(`Encountered unexpected token when parsing type args for ${t}`)}static parseStructTypeArgs(t,n=!1){return ss(t).map(r=>br.parseFromStr(r,n))}static tagToString(t){if("bool"in t)return"bool";if("u8"in t)return"u8";if("u16"in t)return"u16";if("u32"in t)return"u32";if("u64"in t)return"u64";if("u128"in t)return"u128";if("u256"in t)return"u256";if("address"in t)return"address";if("signer"in t)return"signer";if("vector"in t)return`vector<${br.tagToString(t.vector)}>`;if("struct"in t){let n=t.struct,r=n.typeParams.map(br.tagToString).join(", ");return`${n.address}::${n.module}::${n.name}${r?`<${r}>`:""}`}throw new Error("Invalid TypeTag")}};function KT(e){return f.u64({name:"unsafe_u64",...e}).transform({input:t=>t,output:t=>Number(t)})}function QT(e){return f.enum("Option",{None:null,Some:e})}var Q=f.bytes(fn).transform({validate:e=>{let t=typeof e=="string"?e:Xe(e);if(!t||!Vn(Y(t)))throw new Error(`Invalid Sui address ${t}`)},input:e=>typeof e=="string"?At(Y(e)):e,output:e=>Y(Xe(e))}),Me=f.byteVector().transform({name:"ObjectDigest",input:e=>Nt(e),output:e=>Tt(new Uint8Array(e)),validate:e=>{if(Nt(e).length!==32)throw new Error("ObjectDigest must be 32 bytes")}}),Qe=f.struct("SuiObjectRef",{objectId:Q,version:f.u64(),digest:Me}),Ra=f.struct("SharedObjectRef",{objectId:Q,initialSharedVersion:f.u64(),mutable:f.bool()}),Da=f.enum("ObjectArg",{ImmOrOwnedObject:Qe,SharedObject:Ra,Receiving:Qe}),Rt=f.enum("Owner",{AddressOwner:Q,ObjectOwner:Q,Shared:f.struct("Shared",{initialSharedVersion:f.u64()}),Immutable:null,ConsensusAddressOwner:f.struct("ConsensusAddressOwner",{startVersion:f.u64(),owner:Q})}),ev=f.enum("Reservation",{MaxAmountU64:f.u64()}),tv=f.enum("WithdrawalType",{Balance:f.lazy(()=>gn)}),nv=f.enum("WithdrawFrom",{Sender:null,Sponsor:null}),rv=f.struct("FundsWithdrawal",{reservation:ev,typeArg:tv,withdrawFrom:nv}),ja=f.enum("CallArg",{Pure:f.struct("Pure",{bytes:f.byteVector().transform({input:e=>typeof e=="string"?K(e):e,output:e=>X(new Uint8Array(e))})}),Object:Da,FundsWithdrawal:rv}),Ba=f.enum("TypeTag",{bool:null,u8:null,u64:null,u128:null,address:null,signer:null,vector:f.lazy(()=>Ba),struct:f.lazy(()=>bi),u16:null,u32:null,u256:null}),gn=Ba.transform({input:e=>typeof e=="string"?hn.parseFromStr(e,!0):e,output:e=>hn.tagToString(e)}),Et=f.enum("Argument",{GasCoin:null,Input:f.u16(),Result:f.u16(),NestedResult:f.tuple([f.u16(),f.u16()])}),Pa=f.struct("ProgrammableMoveCall",{package:Q,module:f.string(),function:f.string(),typeArguments:f.vector(gn),arguments:f.vector(Et)}),La=f.enum("Command",{MoveCall:Pa,TransferObjects:f.struct("TransferObjects",{objects:f.vector(Et),address:Et}),SplitCoins:f.struct("SplitCoins",{coin:Et,amounts:f.vector(Et)}),MergeCoins:f.struct("MergeCoins",{destination:Et,sources:f.vector(Et)}),Publish:f.struct("Publish",{modules:f.vector(f.byteVector().transform({input:e=>typeof e=="string"?K(e):e,output:e=>X(new Uint8Array(e))})),dependencies:f.vector(Q)}),MakeMoveVec:f.struct("MakeMoveVec",{type:QT(gn).transform({input:e=>e===null?{None:!0}:{Some:e},output:e=>e.Some??null}),elements:f.vector(Et)}),Upgrade:f.struct("Upgrade",{modules:f.vector(f.byteVector().transform({input:e=>typeof e=="string"?K(e):e,output:e=>X(new Uint8Array(e))})),dependencies:f.vector(Q),package:Q,ticket:Et})}),Ma=f.struct("ProgrammableTransaction",{inputs:f.vector(ja),commands:f.vector(La)}),Ua=f.enum("TransactionKind",{ProgrammableTransaction:Ma,ChangeEpoch:null,Genesis:null,ConsensusCommitPrologue:null}),sv=f.struct("ValidDuring",{minEpoch:f.option(f.u64()),maxEpoch:f.option(f.u64()),minTimestamp:f.option(f.u64()),maxTimestamp:f.option(f.u64()),chain:Me,nonce:f.u32()}),Fa=f.enum("TransactionExpiration",{None:null,Epoch:KT(),ValidDuring:sv}),bi=f.struct("StructTag",{address:Q,module:f.string(),name:f.string(),typeParams:f.vector(Ba)}),Va=f.struct("GasData",{payment:f.vector(Qe),owner:Q,price:f.u64(),budget:f.u64()}),Ga=f.struct("TransactionDataV1",{kind:Ua,sender:Q,gasData:Va,expiration:Fa}),qa=f.enum("TransactionData",{V1:Ga}),$a=f.enum("IntentScope",{TransactionData:null,TransactionEffects:null,CheckpointSummary:null,PersonalMessage:null}),za=f.enum("IntentVersion",{V0:null}),Ha=f.enum("AppId",{Sui:null}),Wa=f.struct("Intent",{scope:$a,version:za,appId:Ha});function Ja(e){return f.struct(`IntentMessage<${e.name}>`,{intent:Wa,value:e})}var Ya=f.enum("CompressedSignature",{ED25519:f.bytes(64),Secp256k1:f.bytes(64),Secp256r1:f.bytes(64),ZkLogin:f.byteVector(),Passkey:f.byteVector()}),Xa=f.enum("PublicKey",{ED25519:f.bytes(32),Secp256k1:f.bytes(33),Secp256r1:f.bytes(33),ZkLogin:f.byteVector(),Passkey:f.bytes(33)}),Za=f.struct("MultiSigPkMap",{pubKey:Xa,weight:f.u8()}),Ka=f.struct("MultiSigPublicKey",{pk_map:f.vector(Za),threshold:f.u16()}),np=f.struct("MultiSig",{sigs:f.vector(Ya),bitmap:f.u16(),multisig_pk:Ka}),iv=f.byteVector().transform({input:e=>typeof e=="string"?K(e):e,output:e=>X(new Uint8Array(e))}),Qa=f.struct("SenderSignedTransaction",{intentMessage:Ja(qa),txSignatures:f.vector(iv)}),rp=f.vector(Qa,{name:"SenderSignedData"}),sp=f.struct("PasskeyAuthenticator",{authenticatorData:f.byteVector(),clientDataJson:f.string(),userSignature:f.byteVector()}),ec=f.enum("MoveObjectType",{Other:bi,GasCoin:null,StakedSui:null,Coin:gn,AccumulatorBalanceWrapper:null}),tc=f.struct("TypeOrigin",{moduleName:f.string(),datatypeName:f.string(),package:Q}),nc=f.struct("UpgradeInfo",{upgradedId:Q,upgradedVersion:f.u64()}),rc=f.struct("MovePackage",{id:Q,version:f.u64(),moduleMap:f.map(f.string(),f.byteVector()),typeOriginTable:f.vector(tc),linkageTable:f.map(Q,nc)}),sc=f.struct("MoveObject",{type:ec,hasPublicTransfer:f.bool(),version:f.u64(),contents:f.byteVector()}),ic=f.enum("Data",{Move:sc,Package:rc}),ip=f.struct("ObjectInner",{data:ic,owner:Rt,previousTransaction:Me,storageRebate:f.u64()});var ov=f.enum("PackageUpgradeError",{UnableToFetchPackage:f.struct("UnableToFetchPackage",{packageId:Q}),NotAPackage:f.struct("NotAPackage",{objectId:Q}),IncompatibleUpgrade:null,DigestDoesNotMatch:f.struct("DigestDoesNotMatch",{digest:f.byteVector()}),UnknownUpgradePolicy:f.struct("UnknownUpgradePolicy",{policy:f.u8()}),PackageIDDoesNotMatch:f.struct("PackageIDDoesNotMatch",{packageId:Q,ticketId:Q})}),av=f.struct("ModuleId",{address:Q,name:f.string()}),op=f.struct("MoveLocation",{module:av,function:f.u16(),instruction:f.u16(),functionName:f.option(f.string())}),cv=f.enum("CommandArgumentError",{TypeMismatch:null,InvalidBCSBytes:null,InvalidUsageOfPureArg:null,InvalidArgumentToPrivateEntryFunction:null,IndexOutOfBounds:f.struct("IndexOutOfBounds",{idx:f.u16()}),SecondaryIndexOutOfBounds:f.struct("SecondaryIndexOutOfBounds",{resultIdx:f.u16(),secondaryIdx:f.u16()}),InvalidResultArity:f.struct("InvalidResultArity",{resultIdx:f.u16()}),InvalidGasCoinUsage:null,InvalidValueUsage:null,InvalidObjectByValue:null,InvalidObjectByMutRef:null,SharedObjectOperationNotAllowed:null,InvalidArgumentArity:null,InvalidTransferObject:null,InvalidMakeMoveVecNonObjectArgument:null,ArgumentWithoutValue:null,CannotMoveBorrowedValue:null,CannotWriteToExtendedReference:null,InvalidReferenceArgument:null}),uv=f.enum("TypeArgumentError",{TypeNotFound:null,ConstraintNotSatisfied:null}),lv=f.enum("ExecutionFailureStatus",{InsufficientGas:null,InvalidGasObject:null,InvariantViolation:null,FeatureNotYetSupported:null,MoveObjectTooBig:f.struct("MoveObjectTooBig",{objectSize:f.u64(),maxObjectSize:f.u64()}),MovePackageTooBig:f.struct("MovePackageTooBig",{objectSize:f.u64(),maxObjectSize:f.u64()}),CircularObjectOwnership:f.struct("CircularObjectOwnership",{object:Q}),InsufficientCoinBalance:null,CoinBalanceOverflow:null,PublishErrorNonZeroAddress:null,SuiMoveVerificationError:null,MovePrimitiveRuntimeError:f.option(op),MoveAbort:f.tuple([op,f.u64()]),VMVerificationOrDeserializationError:null,VMInvariantViolation:null,FunctionNotFound:null,ArityMismatch:null,TypeArityMismatch:null,NonEntryFunctionInvoked:null,CommandArgumentError:f.struct("CommandArgumentError",{argIdx:f.u16(),kind:cv}),TypeArgumentError:f.struct("TypeArgumentError",{argumentIdx:f.u16(),kind:uv}),UnusedValueWithoutDrop:f.struct("UnusedValueWithoutDrop",{resultIdx:f.u16(),secondaryIdx:f.u16()}),InvalidPublicFunctionReturnType:f.struct("InvalidPublicFunctionReturnType",{idx:f.u16()}),InvalidTransferObject:null,EffectsTooLarge:f.struct("EffectsTooLarge",{currentSize:f.u64(),maxSize:f.u64()}),PublishUpgradeMissingDependency:null,PublishUpgradeDependencyDowngrade:null,PackageUpgradeError:f.struct("PackageUpgradeError",{upgradeError:ov}),WrittenObjectsTooLarge:f.struct("WrittenObjectsTooLarge",{currentSize:f.u64(),maxSize:f.u64()}),CertificateDenied:null,SuiMoveVerificationTimedout:null,SharedObjectOperationNotAllowed:null,InputObjectDeleted:null,ExecutionCancelledDueToSharedObjectCongestion:f.struct("ExecutionCancelledDueToSharedObjectCongestion",{congested_objects:f.vector(Q)}),AddressDeniedForCoin:f.struct("AddressDeniedForCoin",{address:Q,coinType:f.string()}),CoinTypeGlobalPause:f.struct("CoinTypeGlobalPause",{coinType:f.string()}),ExecutionCancelledDueToRandomnessUnavailable:null,MoveVectorElemTooBig:f.struct("MoveVectorElemTooBig",{valueSize:f.u64(),maxScaledSize:f.u64()}),MoveRawValueTooBig:f.struct("MoveRawValueTooBig",{valueSize:f.u64(),maxScaledSize:f.u64()}),InvalidLinkage:null,InsufficientBalanceForWithdraw:null,NonExclusiveWriteInputObjectModified:f.struct("NonExclusiveWriteInputObjectModified",{id:Q})}),Ti=f.enum("ExecutionStatus",{Success:null,Failure:f.struct("Failure",{error:lv,command:f.option(f.u64())})}),ap=f.struct("GasCostSummary",{computationCost:f.u64(),storageCost:f.u64(),storageRebate:f.u64(),nonRefundableStorageFee:f.u64()}),pv=f.struct("TransactionEffectsV1",{status:Ti,executedEpoch:f.u64(),gasUsed:ap,modifiedAtVersions:f.vector(f.tuple([Q,f.u64()])),sharedObjects:f.vector(Qe),transactionDigest:Me,created:f.vector(f.tuple([Qe,Rt])),mutated:f.vector(f.tuple([Qe,Rt])),unwrapped:f.vector(f.tuple([Qe,Rt])),deleted:f.vector(Qe),unwrappedThenDeleted:f.vector(Qe),wrapped:f.vector(Qe),gasObject:f.tuple([Qe,Rt]),eventsDigest:f.option(Me),dependencies:f.vector(Me)}),oc=f.tuple([f.u64(),Me]),fv=f.enum("ObjectIn",{NotExist:null,Exist:f.tuple([oc,Rt])}),dv=f.struct("AccumulatorAddress",{address:Q,ty:gn}),mv=f.enum("AccumulatorOperation",{Merge:null,Split:null}),hv=f.enum("AccumulatorValue",{Integer:f.u64(),IntegerTuple:f.tuple([f.u64(),f.u64()]),EventDigest:f.vector(f.tuple([f.u64(),Me]))}),gv=f.struct("AccumulatorWriteV1",{address:dv,operation:mv,value:hv}),yv=f.enum("ObjectOut",{NotExist:null,ObjectWrite:f.tuple([Me,Rt]),PackageWrite:oc,AccumulatorWriteV1:gv}),bv=f.enum("IDOperation",{None:null,Created:null,Deleted:null}),Tv=f.struct("EffectsObjectChange",{inputState:fv,outputState:yv,idOperation:bv}),vv=f.enum("UnchangedConsensusKind",{ReadOnlyRoot:oc,MutateConsensusStreamEnded:f.u64(),ReadConsensusStreamEnded:f.u64(),Cancelled:f.u64(),PerEpochConfig:null}),wv=f.struct("TransactionEffectsV2",{status:Ti,executedEpoch:f.u64(),gasUsed:ap,transactionDigest:Me,gasObjectIndex:f.option(f.u32()),eventsDigest:f.option(Me),dependencies:f.vector(Me),lamportVersion:f.u64(),changedObjects:f.vector(f.tuple([Q,Tv])),unchangedConsensusObjects:f.vector(f.tuple([Q,vv])),auxDataDigest:f.option(Me)}),cp=f.enum("TransactionEffects",{V1:pv,V2:wv});function Tr(e){switch(e){case"u8":return f.u8();case"u16":return f.u16();case"u32":return f.u32();case"u64":return f.u64();case"u128":return f.u128();case"u256":return f.u256();case"bool":return f.bool();case"string":return f.string();case"id":case"address":return Q}let t=e.match(/^(vector|option)<(.+)>$/);if(t){let[n,r]=t.slice(1);return n==="vector"?f.vector(Tr(r)):f.option(Tr(r))}throw new Error(`Invalid Pure type name: ${e}`)}var B={...f,U8:f.u8(),U16:f.u16(),U32:f.u32(),U64:f.u64(),U128:f.u128(),U256:f.u256(),ULEB128:f.uleb128(),Bool:f.bool(),String:f.string(),Address:Q,AppId:Ha,Argument:Et,CallArg:ja,Command:La,CompressedSignature:Ya,Data:ic,GasData:Va,Intent:Wa,IntentMessage:Ja,IntentScope:$a,IntentVersion:za,MoveObject:sc,MoveObjectType:ec,MovePackage:rc,MultiSig:np,MultiSigPkMap:Za,MultiSigPublicKey:Ka,Object:ip,ObjectArg:Da,ObjectDigest:Me,Owner:Rt,PasskeyAuthenticator:sp,ProgrammableMoveCall:Pa,ProgrammableTransaction:Ma,PublicKey:Xa,SenderSignedData:rp,SenderSignedTransaction:Qa,SharedObjectRef:Ra,StructTag:bi,SuiObjectRef:Qe,TransactionData:qa,TransactionDataV1:Ga,TransactionEffects:cp,TransactionExpiration:Fa,TransactionKind:Ua,TypeOrigin:tc,TypeTag:gn,UpgradeInfo:nc};var ac=_({digest:z(),objectId:z(),version:we([ie(de(),he()),z(),yi()])}),Ev=wt({ImmOrOwned:ac,Shared:_({objectId:qe,initialSharedVersion:Ee,mutable:Wt()}),Receiving:ac}),up=wt({Object:Ev,Pure:G(ie(de(),he()))}),pp=we([_({kind:F("Input"),index:ie(de(),he()),value:Ct(),type:Te(F("object"))}),_({kind:F("Input"),index:ie(de(),he()),value:Ct(),type:F("pure")})]),xv=we([_({Epoch:ie(de(),he())}),_({None:Z(F(!0))})]),lp=ie(we([de(),z(),yi()]),dn(e=>{if(!["string","number","bigint"].includes(typeof e))return!1;try{return BigInt(e),!0}catch{return!1}})),cc=we([_({bool:Z(F(!0))}),_({u8:Z(F(!0))}),_({u64:Z(F(!0))}),_({u128:Z(F(!0))}),_({address:Z(F(!0))}),_({signer:Z(F(!0))}),_({vector:Gn(()=>cc)}),_({struct:Gn(()=>kv)}),_({u16:Z(F(!0))}),_({u32:Z(F(!0))}),_({u256:Z(F(!0))})]),kv=_({address:z(),module:z(),name:z(),typeParams:G(cc)}),Sv=_({budget:Te(lp),price:Te(lp),payment:Te(G(ac)),owner:Te(z())}),Iv=[pp,_({kind:F("GasCoin")}),_({kind:F("Result"),index:ie(de(),he())}),_({kind:F("NestedResult"),index:ie(de(),he()),resultIndex:ie(de(),he())})],Zt=we([...Iv]),_v=_({kind:F("MoveCall"),target:ie(z(),dn(e=>e.split("::").length===3)),typeArguments:G(z()),arguments:G(Zt)}),Ov=_({kind:F("TransferObjects"),objects:G(Zt),address:Zt}),Nv=_({kind:F("SplitCoins"),coin:Zt,amounts:G(Zt)}),Av=_({kind:F("MergeCoins"),destination:Zt,sources:G(Zt)}),Cv=_({kind:F("MakeMoveVec"),type:we([_({Some:cc}),_({None:Z(F(!0))})]),objects:G(Zt)}),Rv=we([_v,Ov,Nv,Av,_({kind:F("Publish"),modules:G(G(ie(de(),he()))),dependencies:G(z())}),_({kind:F("Upgrade"),modules:G(G(ie(de(),he()))),dependencies:G(z()),packageId:z(),ticket:Zt}),Cv]),oP=_({version:F(1),sender:Te(z()),expiration:Jt(xv),gasConfig:Sv,inputs:G(pp),transactions:G(Rv)});function fp(e){let t=e.inputs.map((n,r)=>{if(n.Object)return{kind:"Input",index:r,value:{Object:n.Object.ImmOrOwnedObject?{ImmOrOwned:n.Object.ImmOrOwnedObject}:n.Object.Receiving?{Receiving:{digest:n.Object.Receiving.digest,version:n.Object.Receiving.version,objectId:n.Object.Receiving.objectId}}:{Shared:{mutable:n.Object.SharedObject.mutable,initialSharedVersion:n.Object.SharedObject.initialSharedVersion,objectId:n.Object.SharedObject.objectId}}},type:"object"};if(n.Pure)return{kind:"Input",index:r,value:{Pure:Array.from(K(n.Pure.bytes))},type:"pure"};if(n.UnresolvedPure)return{kind:"Input",type:"pure",index:r,value:n.UnresolvedPure.value};if(n.UnresolvedObject)return{kind:"Input",type:"object",index:r,value:n.UnresolvedObject.objectId};throw new Error("Invalid input")});return{version:1,sender:e.sender??void 0,expiration:e.expiration?.$kind==="Epoch"?{Epoch:Number(e.expiration.Epoch)}:e.expiration?{None:!0}:null,gasConfig:{owner:e.gasData.owner??void 0,budget:e.gasData.budget??void 0,price:e.gasData.price??void 0,payment:e.gasData.payment??void 0},inputs:t,transactions:e.commands.map(n=>{if(n.MakeMoveVec)return{kind:"MakeMoveVec",type:n.MakeMoveVec.type===null?{None:!0}:{Some:hn.parseFromStr(n.MakeMoveVec.type)},objects:n.MakeMoveVec.elements.map(r=>Yt(r,t))};if(n.MergeCoins)return{kind:"MergeCoins",destination:Yt(n.MergeCoins.destination,t),sources:n.MergeCoins.sources.map(r=>Yt(r,t))};if(n.MoveCall)return{kind:"MoveCall",target:`${n.MoveCall.package}::${n.MoveCall.module}::${n.MoveCall.function}`,typeArguments:n.MoveCall.typeArguments,arguments:n.MoveCall.arguments.map(r=>Yt(r,t))};if(n.Publish)return{kind:"Publish",modules:n.Publish.modules.map(r=>Array.from(K(r))),dependencies:n.Publish.dependencies};if(n.SplitCoins)return{kind:"SplitCoins",coin:Yt(n.SplitCoins.coin,t),amounts:n.SplitCoins.amounts.map(r=>Yt(r,t))};if(n.TransferObjects)return{kind:"TransferObjects",objects:n.TransferObjects.objects.map(r=>Yt(r,t)),address:Yt(n.TransferObjects.address,t)};if(n.Upgrade)return{kind:"Upgrade",modules:n.Upgrade.modules.map(r=>Array.from(K(r))),dependencies:n.Upgrade.dependencies,packageId:n.Upgrade.package,ticket:Yt(n.Upgrade.ticket,t)};throw new Error(`Unknown transaction ${Object.keys(n)}`)})}}function Yt(e,t){if(e.$kind==="GasCoin")return{kind:"GasCoin"};if(e.$kind==="Result")return{kind:"Result",index:e.Result};if(e.$kind==="NestedResult")return{kind:"NestedResult",index:e.NestedResult[0],resultIndex:e.NestedResult[1]};if(e.$kind==="Input")return t[e.Input];throw new Error(`Invalid argument ${Object.keys(e)}`)}function dp(e){return ae(gr,{version:2,sender:e.sender??null,expiration:e.expiration?"Epoch"in e.expiration?{Epoch:e.expiration.Epoch}:{None:!0}:null,gasData:{owner:e.gasConfig.owner??null,budget:e.gasConfig.budget?.toString()??null,price:e.gasConfig.price?.toString()??null,payment:e.gasConfig.payment?.map(t=>({digest:t.digest,objectId:t.objectId,version:t.version.toString()}))??null},inputs:e.inputs.map(t=>{if(t.kind==="Input"){if(cs(up,t.value)){let n=ae(up,t.value);if(n.Object){if(n.Object.ImmOrOwned)return{Object:{ImmOrOwnedObject:{objectId:n.Object.ImmOrOwned.objectId,version:String(n.Object.ImmOrOwned.version),digest:n.Object.ImmOrOwned.digest}}};if(n.Object.Shared)return{Object:{SharedObject:{mutable:n.Object.Shared.mutable??null,initialSharedVersion:n.Object.Shared.initialSharedVersion,objectId:n.Object.Shared.objectId}}};if(n.Object.Receiving)return{Object:{Receiving:{digest:n.Object.Receiving.digest,version:String(n.Object.Receiving.version),objectId:n.Object.Receiving.objectId}}};throw new Error("Invalid object input")}return{Pure:{bytes:X(new Uint8Array(n.Pure))}}}return t.type==="object"?{UnresolvedObject:{objectId:t.value}}:{UnresolvedPure:{value:t.value}}}throw new Error("Invalid input")}),commands:e.transactions.map(t=>{switch(t.kind){case"MakeMoveVec":return{MakeMoveVec:{type:"Some"in t.type?hn.tagToString(t.type.Some):null,elements:t.objects.map(n=>Xt(n))}};case"MergeCoins":return{MergeCoins:{destination:Xt(t.destination),sources:t.sources.map(n=>Xt(n))}};case"MoveCall":{let[n,r,s]=t.target.split("::");return{MoveCall:{package:n,module:r,function:s,typeArguments:t.typeArguments,arguments:t.arguments.map(i=>Xt(i))}}}case"Publish":return{Publish:{modules:t.modules.map(n=>X(Uint8Array.from(n))),dependencies:t.dependencies}};case"SplitCoins":return{SplitCoins:{coin:Xt(t.coin),amounts:t.amounts.map(n=>Xt(n))}};case"TransferObjects":return{TransferObjects:{objects:t.objects.map(n=>Xt(n)),address:Xt(t.address)}};case"Upgrade":return{Upgrade:{modules:t.modules.map(n=>X(Uint8Array.from(n))),dependencies:t.dependencies,package:t.packageId,ticket:Xt(t.ticket)}}}throw new Error(`Unknown transaction ${Object.keys(t)}`)})})}function Xt(e){switch(e.kind){case"GasCoin":return{GasCoin:!0};case"Result":return{Result:e.index};case"NestedResult":return{NestedResult:[e.index,e.resultIndex]};case"Input":return{Input:e.index}}}function vi(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Ue(e,t=""){if(!Number.isSafeInteger(e)||e<0){let n=t&&`"${t}" `;throw new Error(`${n}expected integer >= 0, got ${e}`)}}function ee(e,t,n=""){let r=vi(e),s=e?.length,i=t!==void 0;if(!r||i&&s!==t){let o=n&&`"${n}" `,a=i?` of length ${t}`:"",c=r?`length=${s}`:`type=${typeof e}`;throw new Error(o+"expected Uint8Array"+a+", got "+c)}return e}function wi(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash must wrapped by utils.createHasher");Ue(e.outputLen),Ue(e.blockLen)}function Qt(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function Ei(e,t){ee(e,void 0,"digestInto() output");let n=t.outputLen;if(e.length<n)throw new Error('"digestInto() output" expected to be of length >='+n)}function ps(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function at(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function vr(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}var hp=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function gp(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}var Dt=hp?e=>e:e=>gp(e);function Dv(e){for(let t=0;t<e.length;t++)e[t]=gp(e[t]);return e}var zn=hp?e=>e:Dv,yp=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",jv=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function yn(e){if(ee(e),yp)return e.toHex();let t="";for(let n=0;n<e.length;n++)t+=jv[e[n]];return t}var Kt={_0:48,_9:57,A:65,F:70,a:97,f:102};function mp(e){if(e>=Kt._0&&e<=Kt._9)return e-Kt._0;if(e>=Kt.A&&e<=Kt.F)return e-(Kt.A-10);if(e>=Kt.a&&e<=Kt.f)return e-(Kt.a-10)}function fs(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(yp)return Uint8Array.fromHex(e);let t=e.length,n=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);let r=new Uint8Array(n);for(let s=0,i=0;s<n;s++,i+=2){let o=mp(e.charCodeAt(i)),a=mp(e.charCodeAt(i+1));if(o===void 0||a===void 0){let c=e[i]+e[i+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+i)}r[s]=o*16+a}return r}function Bv(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function uc(e,t=""){return typeof e=="string"?Bv(e):ee(e,void 0,t)}function ds(...e){let t=0;for(let r=0;r<e.length;r++){let s=e[r];ee(s),t+=s.length}let n=new Uint8Array(t);for(let r=0,s=0;r<e.length;r++){let i=e[r];n.set(i,s),s+=i.length}return n}function bp(e,t){if(t!==void 0&&{}.toString.call(t)!=="[object Object]")throw new Error("options must be object or undefined");return Object.assign(e,t)}function xi(e,t={}){let n=(s,i)=>e(i).update(s).digest(),r=e(void 0);return n.outputLen=r.outputLen,n.blockLen=r.blockLen,n.create=s=>e(s),Object.assign(n,t),Object.freeze(n)}function lc(e=32){let t=typeof globalThis=="object"?globalThis.crypto:null;if(typeof t?.getRandomValues!="function")throw new Error("crypto.getRandomValues must be defined");return t.getRandomValues(new Uint8Array(e))}var Tp=e=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])});var vp=Uint8Array.from([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9]);var ki=class{constructor(t,n,r,s){I(this,"blockLen");I(this,"outputLen");I(this,"padOffset");I(this,"isLE");I(this,"buffer");I(this,"view");I(this,"finished",!1);I(this,"length",0);I(this,"pos",0);I(this,"destroyed",!1);this.blockLen=t,this.outputLen=n,this.padOffset=r,this.isLE=s,this.buffer=new Uint8Array(t),this.view=vr(this.buffer)}update(t){Qt(this),ee(t);let{view:n,buffer:r,blockLen:s}=this,i=t.length;for(let o=0;o<i;){let a=Math.min(s-this.pos,i-o);if(a===s){let c=vr(t);for(;s<=i-o;o+=s)this.process(c,o);continue}r.set(t.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===s&&(this.process(n,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){Qt(this),Ei(t,this),this.finished=!0;let{buffer:n,view:r,blockLen:s,isLE:i}=this,{pos:o}=this;n[o++]=128,at(this.buffer.subarray(o)),this.padOffset>s-o&&(this.process(r,0),o=0);for(let p=o;p<s;p++)n[p]=0;r.setBigUint64(s-8,BigInt(this.length*8),i),this.process(r,0);let a=vr(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen must be aligned to 32bit");let u=c/4,l=this.get();if(u>l.length)throw new Error("_sha2: outputLen bigger than state");for(let p=0;p<u;p++)a.setUint32(4*p,l[p],i)}digest(){let{buffer:t,outputLen:n}=this;this.digestInto(t);let r=t.slice(0,n);return this.destroy(),r}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:n,buffer:r,length:s,finished:i,destroyed:o,pos:a}=this;return t.destroyed=o,t.finished=i,t.length=s,t.pos=a,s%n&&t.buffer.set(r),t}clone(){return this._cloneInto()}};var De=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var Si=BigInt(4294967295),wp=BigInt(32);function pc(e,t=!1){return t?{h:Number(e&Si),l:Number(e>>wp&Si)}:{h:Number(e>>wp&Si)|0,l:Number(e&Si)|0}}function Ep(e,t=!1){let n=e.length,r=new Uint32Array(n),s=new Uint32Array(n);for(let i=0;i<n;i++){let{h:o,l:a}=pc(e[i],t);[r[i],s[i]]=[o,a]}return[r,s]}var fc=(e,t,n)=>e>>>n,dc=(e,t,n)=>e<<32-n|t>>>n,jt=(e,t,n)=>e>>>n|t<<32-n,Bt=(e,t,n)=>e<<32-n|t>>>n,Hn=(e,t,n)=>e<<64-n|t>>>n-32,Wn=(e,t,n)=>e>>>n-32|t<<64-n,xp=(e,t)=>t,kp=(e,t)=>e;function ct(e,t,n,r){let s=(t>>>0)+(r>>>0);return{h:e+n+(s/2**32|0)|0,l:s|0}}var ms=(e,t,n)=>(e>>>0)+(t>>>0)+(n>>>0),hs=(e,t,n,r)=>t+n+r+(e/2**32|0)|0,Sp=(e,t,n,r)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0),Ip=(e,t,n,r,s)=>t+n+r+s+(e/2**32|0)|0,_p=(e,t,n,r,s)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0)+(s>>>0),Op=(e,t,n,r,s,i)=>t+n+r+s+i+(e/2**32|0)|0;var Ne=Uint32Array.from([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),A=new Uint32Array(32);function bn(e,t,n,r,s,i){let o=s[i],a=s[i+1],c=A[2*e],u=A[2*e+1],l=A[2*t],p=A[2*t+1],d=A[2*n],y=A[2*n+1],g=A[2*r],E=A[2*r+1],x=ms(c,l,o);u=hs(x,u,p,a),c=x|0,{Dh:E,Dl:g}={Dh:E^u,Dl:g^c},{Dh:E,Dl:g}={Dh:xp(E,g),Dl:kp(E,g)},{h:y,l:d}=ct(y,d,E,g),{Bh:p,Bl:l}={Bh:p^y,Bl:l^d},{Bh:p,Bl:l}={Bh:jt(p,l,24),Bl:Bt(p,l,24)},A[2*e]=c,A[2*e+1]=u,A[2*t]=l,A[2*t+1]=p,A[2*n]=d,A[2*n+1]=y,A[2*r]=g,A[2*r+1]=E}function Tn(e,t,n,r,s,i){let o=s[i],a=s[i+1],c=A[2*e],u=A[2*e+1],l=A[2*t],p=A[2*t+1],d=A[2*n],y=A[2*n+1],g=A[2*r],E=A[2*r+1],x=ms(c,l,o);u=hs(x,u,p,a),c=x|0,{Dh:E,Dl:g}={Dh:E^u,Dl:g^c},{Dh:E,Dl:g}={Dh:jt(E,g,16),Dl:Bt(E,g,16)},{h:y,l:d}=ct(y,d,E,g),{Bh:p,Bl:l}={Bh:p^y,Bl:l^d},{Bh:p,Bl:l}={Bh:Hn(p,l,63),Bl:Wn(p,l,63)},A[2*e]=c,A[2*e+1]=u,A[2*t]=l,A[2*t+1]=p,A[2*n]=d,A[2*n+1]=y,A[2*r]=g,A[2*r+1]=E}function Pv(e,t={},n,r,s){if(Ue(n),e<0||e>n)throw new Error("outputLen bigger than keyLen");let{key:i,salt:o,personalization:a}=t;if(i!==void 0&&(i.length<1||i.length>n))throw new Error('"key" expected to be undefined or of length=1..'+n);o!==void 0&&ee(o,r,"salt"),a!==void 0&&ee(a,s,"personalization")}var mc=class{constructor(t,n){I(this,"buffer");I(this,"buffer32");I(this,"finished",!1);I(this,"destroyed",!1);I(this,"length",0);I(this,"pos",0);I(this,"blockLen");I(this,"outputLen");Ue(t),Ue(n),this.blockLen=t,this.outputLen=n,this.buffer=new Uint8Array(t),this.buffer32=ps(this.buffer)}update(t){Qt(this),ee(t);let{blockLen:n,buffer:r,buffer32:s}=this,i=t.length,o=t.byteOffset,a=t.buffer;for(let c=0;c<i;){this.pos===n&&(zn(s),this.compress(s,0,!1),zn(s),this.pos=0);let u=Math.min(n-this.pos,i-c),l=o+c;if(u===n&&!(l%4)&&c+u<i){let p=new Uint32Array(a,l,Math.floor((i-c)/4));zn(p);for(let d=0;c+n<i;d+=s.length,c+=n)this.length+=n,this.compress(p,d,!1);zn(p);continue}r.set(t.subarray(c,c+u),this.pos),this.pos+=u,this.length+=u,c+=u}return this}digestInto(t){Qt(this),Ei(t,this);let{pos:n,buffer32:r}=this;this.finished=!0,at(this.buffer.subarray(n)),zn(r),this.compress(r,0,!0),zn(r);let s=ps(t);this.get().forEach((i,o)=>s[o]=Dt(i))}digest(){let{buffer:t,outputLen:n}=this;this.digestInto(t);let r=t.slice(0,n);return this.destroy(),r}_cloneInto(t){let{buffer:n,length:r,finished:s,destroyed:i,outputLen:o,pos:a}=this;return t||(t=new this.constructor({dkLen:o})),t.set(...this.get()),t.buffer.set(n),t.destroyed=i,t.finished=s,t.length=r,t.pos=a,t.outputLen=o,t}clone(){return this._cloneInto()}},hc=class extends mc{constructor(n={}){let r=n.dkLen===void 0?64:n.dkLen;super(128,r);I(this,"v0l",Ne[0]|0);I(this,"v0h",Ne[1]|0);I(this,"v1l",Ne[2]|0);I(this,"v1h",Ne[3]|0);I(this,"v2l",Ne[4]|0);I(this,"v2h",Ne[5]|0);I(this,"v3l",Ne[6]|0);I(this,"v3h",Ne[7]|0);I(this,"v4l",Ne[8]|0);I(this,"v4h",Ne[9]|0);I(this,"v5l",Ne[10]|0);I(this,"v5h",Ne[11]|0);I(this,"v6l",Ne[12]|0);I(this,"v6h",Ne[13]|0);I(this,"v7l",Ne[14]|0);I(this,"v7h",Ne[15]|0);Pv(r,n,64,16,16);let{key:s,personalization:i,salt:o}=n,a=0;if(s!==void 0&&(ee(s,void 0,"key"),a=s.length),this.v0l^=this.outputLen|a<<8|65536|1<<24,o!==void 0){ee(o,void 0,"salt");let c=ps(o);this.v4l^=Dt(c[0]),this.v4h^=Dt(c[1]),this.v5l^=Dt(c[2]),this.v5h^=Dt(c[3])}if(i!==void 0){ee(i,void 0,"personalization");let c=ps(i);this.v6l^=Dt(c[0]),this.v6h^=Dt(c[1]),this.v7l^=Dt(c[2]),this.v7h^=Dt(c[3])}if(s!==void 0){let c=new Uint8Array(this.blockLen);c.set(s),this.update(c)}}get(){let{v0l:n,v0h:r,v1l:s,v1h:i,v2l:o,v2h:a,v3l:c,v3h:u,v4l:l,v4h:p,v5l:d,v5h:y,v6l:g,v6h:E,v7l:x,v7h:C}=this;return[n,r,s,i,o,a,c,u,l,p,d,y,g,E,x,C]}set(n,r,s,i,o,a,c,u,l,p,d,y,g,E,x,C){this.v0l=n|0,this.v0h=r|0,this.v1l=s|0,this.v1h=i|0,this.v2l=o|0,this.v2h=a|0,this.v3l=c|0,this.v3h=u|0,this.v4l=l|0,this.v4h=p|0,this.v5l=d|0,this.v5h=y|0,this.v6l=g|0,this.v6h=E|0,this.v7l=x|0,this.v7h=C|0}compress(n,r,s){this.get().forEach((u,l)=>A[l]=u),A.set(Ne,16);let{h:i,l:o}=pc(BigInt(this.length));A[24]=Ne[8]^o,A[25]=Ne[9]^i,s&&(A[28]=~A[28],A[29]=~A[29]);let a=0,c=vp;for(let u=0;u<12;u++)bn(0,4,8,12,n,r+2*c[a++]),Tn(0,4,8,12,n,r+2*c[a++]),bn(1,5,9,13,n,r+2*c[a++]),Tn(1,5,9,13,n,r+2*c[a++]),bn(2,6,10,14,n,r+2*c[a++]),Tn(2,6,10,14,n,r+2*c[a++]),bn(3,7,11,15,n,r+2*c[a++]),Tn(3,7,11,15,n,r+2*c[a++]),bn(0,5,10,15,n,r+2*c[a++]),Tn(0,5,10,15,n,r+2*c[a++]),bn(1,6,11,12,n,r+2*c[a++]),Tn(1,6,11,12,n,r+2*c[a++]),bn(2,7,8,13,n,r+2*c[a++]),Tn(2,7,8,13,n,r+2*c[a++]),bn(3,4,9,14,n,r+2*c[a++]),Tn(3,4,9,14,n,r+2*c[a++]);this.v0l^=A[0]^A[16],this.v0h^=A[1]^A[17],this.v1l^=A[2]^A[18],this.v1h^=A[3]^A[19],this.v2l^=A[4]^A[20],this.v2h^=A[5]^A[21],this.v3l^=A[6]^A[22],this.v3h^=A[7]^A[23],this.v4l^=A[8]^A[24],this.v4h^=A[9]^A[25],this.v5l^=A[10]^A[26],this.v5h^=A[11]^A[27],this.v6l^=A[12]^A[28],this.v6h^=A[13]^A[29],this.v7l^=A[14]^A[30],this.v7h^=A[15]^A[31],at(A)}destroy(){this.destroyed=!0,at(this.buffer32),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},en=xi(e=>new hc(e));function Ap(e,t){let n=Array.from(`${e}::`).map(s=>s.charCodeAt(0)),r=new Uint8Array(n.length+t.length);return r.set(n),r.set(t,n.length),en(r,{dkLen:32})}function Cp(e){return Y(e).replace("0x","")}var wr=class Jn{static fromKindBytes(t){let n=B.TransactionKind.parse(t).ProgrammableTransaction;if(!n)throw new Error("Unable to deserialize from bytes.");return Jn.restore({version:2,sender:null,expiration:null,gasData:{budget:null,owner:null,payment:null,price:null},inputs:n.inputs,commands:n.commands})}static fromBytes(t){let n=B.TransactionData.parse(t)?.V1,r=n.kind.ProgrammableTransaction;if(!n||!r)throw new Error("Unable to deserialize from bytes.");return Jn.restore({version:2,sender:n.sender,expiration:n.expiration,gasData:n.gasData,inputs:r.inputs,commands:r.commands})}static restore(t){return t.version===2?new Jn(ae(gr,t)):new Jn(ae(gr,dp(t)))}static getDigestFromBytes(t){return Tt(Ap("TransactionData",t))}constructor(t){this.version=2,this.sender=t?.sender??null,this.expiration=t?.expiration??null,this.inputs=t?.inputs??[],this.commands=t?.commands??[],this.gasData=t?.gasData??{budget:null,price:null,owner:null,payment:null}}build({maxSizeBytes:t=1/0,overrides:n,onlyTransactionKind:r}={}){let s=this.inputs,i=this.commands,o={ProgrammableTransaction:{inputs:s,commands:i}};if(r)return B.TransactionKind.serialize(o,{maxSize:t}).toBytes();let a=n?.expiration??this.expiration,c=n?.sender??this.sender,u={...this.gasData,...n?.gasData};if(!c)throw new Error("Missing transaction sender");if(!u.budget)throw new Error("Missing gas budget");if(!u.payment)throw new Error("Missing gas payment");if(!u.price)throw new Error("Missing gas price");let l={sender:Cp(c),expiration:a||{None:!0},gasData:{payment:u.payment,owner:Cp(this.gasData.owner??c),price:BigInt(u.price),budget:BigInt(u.budget)},kind:{ProgrammableTransaction:{inputs:s,commands:i}}};return B.TransactionData.serialize({V1:l},{maxSize:t}).toBytes()}addInput(t,n){let r=this.inputs.length;return this.inputs.push(n),{Input:r,type:t,$kind:"Input"}}getInputUses(t,n){this.mapArguments((r,s)=>(r.$kind==="Input"&&r.Input===t&&n(r,s),r))}mapCommandArguments(t,n){let r=this.commands[t];switch(r.$kind){case"MoveCall":r.MoveCall.arguments=r.MoveCall.arguments.map(i=>n(i,r,t));break;case"TransferObjects":r.TransferObjects.objects=r.TransferObjects.objects.map(i=>n(i,r,t)),r.TransferObjects.address=n(r.TransferObjects.address,r,t);break;case"SplitCoins":r.SplitCoins.coin=n(r.SplitCoins.coin,r,t),r.SplitCoins.amounts=r.SplitCoins.amounts.map(i=>n(i,r,t));break;case"MergeCoins":r.MergeCoins.destination=n(r.MergeCoins.destination,r,t),r.MergeCoins.sources=r.MergeCoins.sources.map(i=>n(i,r,t));break;case"MakeMoveVec":r.MakeMoveVec.elements=r.MakeMoveVec.elements.map(i=>n(i,r,t));break;case"Upgrade":r.Upgrade.ticket=n(r.Upgrade.ticket,r,t);break;case"$Intent":let s=r.$Intent.inputs;r.$Intent.inputs={};for(let[i,o]of Object.entries(s))r.$Intent.inputs[i]=Array.isArray(o)?o.map(a=>n(a,r,t)):n(o,r,t);break;case"Publish":break;default:throw new Error(`Unexpected transaction kind: ${r.$kind}`)}}mapArguments(t){for(let n of this.commands.keys())this.mapCommandArguments(n,t)}replaceCommand(t,n,r=t){if(!Array.isArray(n)){this.commands[t]=n;return}let s=n.length-1;this.commands.splice(t,1,...structuredClone(n)),this.mapArguments((i,o,a)=>{if(a<t+n.length)return i;if(typeof r!="number"&&(i.$kind==="Result"&&i.Result===t||i.$kind==="NestedResult"&&i.NestedResult[0]===t)){if(!("NestedResult"in i)||i.NestedResult[1]===0)return ae(ce,structuredClone(r));throw new Error(`Cannot replace command ${t} with a specific result type: NestedResult[${t}, ${i.NestedResult[1]}] references a nested element that cannot be mapped to the replacement result`)}switch(i.$kind){case"Result":i.Result===t&&typeof r=="number"&&(i.Result=r),i.Result>t&&(i.Result+=s);break;case"NestedResult":if(i.NestedResult[0]===t&&typeof r=="number")return{$kind:"NestedResult",NestedResult:[r,i.NestedResult[1]]};i.NestedResult[0]>t&&(i.NestedResult[0]+=s);break}return i})}replaceCommandWithTransaction(t,n,r){if(r.$kind!=="Result"&&r.$kind!=="NestedResult")throw new Error("Result must be of kind Result or NestedResult");this.insertTransaction(t,n),this.replaceCommand(t+n.commands.length,[],"Result"in r?{NestedResult:[r.Result+t,0]}:{NestedResult:[r.NestedResult[0]+t,r.NestedResult[1]]})}insertTransaction(t,n){let r=new Map,s=new Map;for(let a=0;a<n.inputs.length;a++){let c=n.inputs[a],u=yr(c),l=-1;if(u!==void 0&&(l=this.inputs.findIndex(p=>yr(p)===u),l!==-1&&this.inputs[l].Object?.SharedObject&&c.Object?.SharedObject&&(this.inputs[l].Object.SharedObject.mutable=this.inputs[l].Object.SharedObject.mutable||c.Object.SharedObject.mutable)),l!==-1)r.set(a,l);else{let p=this.inputs.length;this.inputs.push(c),r.set(a,p)}}for(let a=0;a<n.commands.length;a++)s.set(a,t+a);let i=[];for(let a=0;a<n.commands.length;a++){let c=structuredClone(n.commands[a]);tp(c,r,s),i.push(c)}this.commands.splice(t,0,...i);let o=i.length;o>0&&this.mapArguments((a,c,u)=>{if(u>=t&&u<t+i.length)return a;switch(a.$kind){case"Result":a.Result>=t&&(a.Result+=o);break;case"NestedResult":a.NestedResult[0]>=t&&(a.NestedResult[0]+=o);break}return a})}getDigest(){let t=this.build({onlyTransactionKind:!1});return Jn.getDigestFromBytes(t)}snapshot(){return ae(gr,this)}shallowClone(){return new Jn({version:this.version,sender:this.sender,expiration:this.expiration,gasData:{...this.gasData},inputs:[...this.inputs],commands:[...this.commands]})}applyResolvedData(t){this.sender||(this.sender=t.sender??null),this.expiration||(this.expiration=t.expiration??null),this.gasData.budget||(this.gasData.budget=t.gasData.budget),this.gasData.owner||(this.gasData.owner=t.gasData.owner??null),this.gasData.payment||(this.gasData.payment=t.gasData.payment),this.gasData.price||(this.gasData.price=t.gasData.price);for(let n=0;n<this.inputs.length;n++){let r=this.inputs[n],s=t.inputs[n];switch(r.$kind){case"UnresolvedPure":if(s.$kind!=="Pure")throw new Error(`Expected input at index ${n} to resolve to a Pure argument, but got ${JSON.stringify(s)}`);this.inputs[n]=s;break;case"UnresolvedObject":if(s.$kind!=="Object")throw new Error(`Expected input at index ${n} to resolve to an Object argument, but got ${JSON.stringify(s)}`);if(s.Object.$kind==="ImmOrOwnedObject"||s.Object.$kind==="Receiving"){let i=r.UnresolvedObject,o=s.Object.ImmOrOwnedObject??s.Object.Receiving;if(Y(i.objectId)!==Y(o.objectId)||i.version!=null&&i.version!==o.version||i.digest!=null&&i.digest!==o.digest||i.mutable!=null||i.initialSharedVersion!=null)throw new Error(`Input at index ${n} did not match unresolved object. ${JSON.stringify(i)} is not compatible with ${JSON.stringify(o)}`)}else if(s.Object.$kind==="SharedObject"){let i=r.UnresolvedObject,o=s.Object.SharedObject;if(Y(i.objectId)!==Y(o.objectId)||i.initialSharedVersion!=null&&i.initialSharedVersion!==o.initialSharedVersion||i.mutable!=null&&i.mutable!==o.mutable||i.version!=null||i.digest!=null)throw new Error(`Input at index ${n} did not match unresolved object. ${JSON.stringify(i)} is not compatible with ${JSON.stringify(o)}`)}else throw new Error(`Input at index ${n} resolved to an unexpected Object kind: ${JSON.stringify(s.Object)}`);this.inputs[n]=s;break}}}};var vn={MoveCall(e){let[t,n="",r=""]="target"in e?e.target.split("::"):[e.package,e.module,e.function];return{$kind:"MoveCall",MoveCall:{package:t,module:n,function:r,typeArguments:e.typeArguments??[],arguments:e.arguments??[]}}},TransferObjects(e,t){return{$kind:"TransferObjects",TransferObjects:{objects:e.map(n=>ae(ce,n)),address:ae(ce,t)}}},SplitCoins(e,t){return{$kind:"SplitCoins",SplitCoins:{coin:ae(ce,e),amounts:t.map(n=>ae(ce,n))}}},MergeCoins(e,t){return{$kind:"MergeCoins",MergeCoins:{destination:ae(ce,e),sources:t.map(n=>ae(ce,n))}}},Publish({modules:e,dependencies:t}){return{$kind:"Publish",Publish:{modules:e.map(n=>typeof n=="string"?n:X(new Uint8Array(n))),dependencies:t.map(n=>as(n))}}},Upgrade({modules:e,dependencies:t,package:n,ticket:r}){return{$kind:"Upgrade",Upgrade:{modules:e.map(s=>typeof s=="string"?s:X(new Uint8Array(s))),dependencies:t.map(s=>as(s)),package:n,ticket:ae(ce,r)}}},MakeMoveVec({type:e,elements:t}){return{$kind:"MakeMoveVec",MakeMoveVec:{type:e??null,elements:t.map(n=>ae(ce,n))}}},Intent({name:e,inputs:t={},data:n={}}){return{$kind:"$Intent",$Intent:{name:e,inputs:Object.fromEntries(Object.entries(t).map(([r,s])=>[r,Array.isArray(s)?s.map(i=>ae(ce,i)):ae(ce,s)])),data:n}}}};function Lv(e){return{$kind:"Pure",Pure:{bytes:e instanceof Uint8Array?X(e):e.toBase64()}}}var $e={Pure:Lv,ObjectRef({objectId:e,digest:t,version:n}){return{$kind:"Object",Object:{$kind:"ImmOrOwnedObject",ImmOrOwnedObject:{digest:t,version:n,objectId:Y(e)}}}},SharedObjectRef({objectId:e,mutable:t,initialSharedVersion:n}){return{$kind:"Object",Object:{$kind:"SharedObject",SharedObject:{mutable:t,initialSharedVersion:n,objectId:Y(e)}}}},ReceivingRef({objectId:e,digest:t,version:n}){return{$kind:"Object",Object:{$kind:"Receiving",Receiving:{digest:t,version:n,objectId:Y(e)}}}},FundsWithdrawal({reservation:e,typeArg:t,withdrawFrom:n}){return{$kind:"FundsWithdrawal",FundsWithdrawal:{reservation:e,typeArg:t,withdrawFrom:n}}}};var MP=BigInt(1e9),Ii="0x0000000000000000000000000000000000000000000000000000000000000001",_i="0x0000000000000000000000000000000000000000000000000000000000000002";var Rp="0x0000000000000000000000000000000000000000000000000000000000000006";var gs=`${_i}::sui::SUI`,gc="0x0000000000000000000000000000000000000000000000000000000000000005",Dp="0x0000000000000000000000000000000000000000000000000000000000000008",jp="0x0000000000000000000000000000000000000000000000000000000000000403";function Bp(e){let t=e.split("::");if(t.length!==3)throw new Error(`Invalid type name format: ${e}`);return{package:t[0],module:t[1],name:t[2]}}function Pp(e){if(e.body.$kind!=="datatype")return!1;let{package:t,module:n,name:r}=Bp(e.body.datatype.typeName);return Y(t)===_i&&n==="tx_context"&&r==="TxContext"}function Oi(e){switch(e.$kind){case"address":return B.Address;case"bool":return B.Bool;case"u8":return B.U8;case"u16":return B.U16;case"u32":return B.U32;case"u64":return B.U64;case"u128":return B.U128;case"u256":return B.U256;case"vector":{if(e.vector.$kind==="u8")return B.byteVector().transform({input:n=>typeof n=="string"?new TextEncoder().encode(n):n,output:n=>n});let t=Oi(e.vector);return t?B.vector(t):null}case"datatype":{let{package:t,module:n,name:r}=Bp(e.datatype.typeName),s=Y(t);if(s===Ii){if(n==="ascii"&&r==="String")return B.String;if(n==="string"&&r==="String")return B.String;if(n==="option"&&r==="Option"){let i=Oi(e.datatype.typeParameters[0]);return i?B.vector(i):null}}return s===_i&&n==="object"&&r==="ID"?B.Address:null}case"typeParameter":case"unknown":return null}}function ys(e){return we(Object.entries(e).map(([t,n])=>_({[t]:n})))}var xt=ys({GasCoin:F(!0),Input:ie(de(),he()),Result:ie(de(),he()),NestedResult:us([ie(de(),he()),ie(de(),he())])}),Mv=_({budget:Z(Ee),price:Z(Ee),owner:Z($n),payment:Z(G(vt))}),Uv=_({package:qe,module:z(),function:z(),typeArguments:G(z()),arguments:G(xt)}),Fv=_({name:z(),inputs:qn(z(),we([xt,G(xt)])),data:qn(z(),Ct())}),Vv=ys({MoveCall:Uv,TransferObjects:_({objects:G(xt),address:xt}),SplitCoins:_({coin:xt,amounts:G(xt)}),MergeCoins:_({destination:xt,sources:G(xt)}),Publish:_({modules:G(mn),dependencies:G(qe)}),MakeMoveVec:_({type:Z(z()),elements:G(xt)}),Upgrade:_({modules:G(mn),dependencies:G(qe),package:qe,ticket:xt}),$Intent:Fv}),Gv=ys({Object:ys({ImmOrOwnedObject:vt,SharedObject:_({objectId:qe,initialSharedVersion:Ee,mutable:Wt()}),Receiving:vt}),Pure:_({bytes:mn}),UnresolvedPure:_({value:Ct()}),UnresolvedObject:_({objectId:qe,version:Te(Z(Ee)),digest:Te(Z(z())),initialSharedVersion:Te(Z(Ee)),mutable:Te(Z(Wt()))}),FundsWithdrawal:Oa}),qv=ys({None:F(!0),Epoch:Ee,ValidDuring:Aa}),Lp=_({version:F(2),sender:Jt($n),expiration:Jt(qv),gasData:Mv,inputs:G(Gv),commands:G(Vv),digest:Te(Z(z()))});var $v=class extends Error{},bs=class extends $v{constructor(e,t){super(e,{cause:t?.cause}),this.executionError=t?.executionError}};var zv=50,Hv=1000n,Wv=5e10;function Jv(e){if(!e.client)throw new Error("No sui client passed to Transaction#build, but transaction data was not sufficient to build offline.");return e.client}async function Mp(e,t,n){let r=Jv(t);return await ew(e,r),await Qv(e,r),t.onlyTransactionKind||await Yv(e,r),await n()}async function Yv(e,t){let n=null;e.gasData.price||(n=(await t.core.getCurrentSystemState()).systemState,e.gasData.price=n.referenceGasPrice),await Xv(e,t),await Zv(e,t),e.expiration||await Kv(e,t,n)}async function Xv(e,t){if(e.gasData.budget)return;let n=await t.core.simulateTransaction({transaction:e.build({overrides:{gasData:{budget:String(Wv),payment:[]}}}),include:{effects:!0}});if(n.$kind==="FailedTransaction"){let a=n.FailedTransaction.status.error??void 0;throw new bs(`Transaction resolution failed: ${a?.message??"Unknown error"}`,{cause:n,executionError:a})}let r=n.Transaction.effects.gasUsed,s=Hv*BigInt(e.gasData.price||1n),i=BigInt(r.computationCost)+s,o=i+BigInt(r.storageCost)-BigInt(r.storageRebate);e.gasData.budget=String(o>i?o:i)}async function Zv(e,t){if(!e.gasData.payment){let n=e.gasData.owner??e.sender,r=!1,s=0n;e.mapArguments(c=>{if(c.$kind==="GasCoin")r=!0;else if(c.$kind==="Input"){let u=e.inputs[c.Input];u.$kind==="FundsWithdrawal"&&(u.FundsWithdrawal.withdrawFrom.Sender?e.sender:n)===n&&u.FundsWithdrawal.reservation.$kind==="MaxAmountU64"&&(s+=BigInt(u.FundsWithdrawal.reservation.MaxAmountU64))}return c});let[i,o]=await Promise.all([r||!e.gasData.owner?null:t.core.getBalance({owner:e.gasData.owner}),t.core.listCoins({owner:e.gasData.owner||e.sender,coinType:gs})]);if(i?.balance.addressBalance&&BigInt(i.balance.addressBalance)>=BigInt(e.gasData.budget||"0")+s){e.gasData.payment=[];return}let a=o.objects.filter(c=>!e.inputs.find(u=>u.Object?.ImmOrOwnedObject?c.objectId===u.Object.ImmOrOwnedObject.objectId:!1)).map(c=>ae(vt,{objectId:c.objectId,digest:c.digest,version:c.version}));if(!a.length)throw new Error("No valid gas coins found for the transaction.");e.gasData.payment=a}}async function Kv(e,t,n){let[r,{chainIdentifier:s}]=await Promise.all([n??t.core.getCurrentSystemState().then(o=>o.systemState),t.core.getChainIdentifier()]),i=BigInt(r.epoch);e.expiration={$kind:"ValidDuring",ValidDuring:{minEpoch:String(i),maxEpoch:String(i+1n),minTimestamp:null,maxTimestamp:null,chain:s,nonce:Math.random()*4294967296>>>0}}}async function Qv(e,t){let n=e.inputs.filter(l=>l.UnresolvedObject&&!(l.UnresolvedObject.version||l.UnresolvedObject?.initialSharedVersion)),r=[...new Set(n.map(l=>as(l.UnresolvedObject.objectId)))],s=r.length?pn(r,zv):[],i=(await Promise.all(s.map(l=>t.core.getObjects({objectIds:l})))).flatMap(l=>l.objects),o=new Map(r.map((l,p)=>[l,i[p]])),a=Array.from(o).filter(([l,p])=>p instanceof Error).map(([l,p])=>p.message);if(a.length)throw new Error(`The following input objects are invalid: ${a.join(", ")}`);let c=i.map(l=>{if(l instanceof Error)throw new Error(`Failed to fetch object: ${l.message}`);let p=l.owner,d=p&&typeof p=="object"?p.$kind==="Shared"?p.Shared.initialSharedVersion:p.$kind==="ConsensusAddressOwner"?p.ConsensusAddressOwner.startVersion:null:null;return{objectId:l.objectId,digest:l.digest,version:l.version,initialSharedVersion:d}}),u=new Map(r.map((l,p)=>[l,c[p]]));for(let[l,p]of e.inputs.entries()){if(!p.UnresolvedObject)continue;let d,y=Y(p.UnresolvedObject.objectId),g=u.get(y);p.UnresolvedObject.initialSharedVersion??g?.initialSharedVersion?d=$e.SharedObjectRef({objectId:y,initialSharedVersion:p.UnresolvedObject.initialSharedVersion||g?.initialSharedVersion,mutable:p.UnresolvedObject.mutable||tw(e,l)}):nw(e,l)&&(d=$e.ReceivingRef({objectId:y,digest:p.UnresolvedObject.digest??g?.digest,version:p.UnresolvedObject.version??g?.version})),e.inputs[e.inputs.indexOf(p)]=d??$e.ObjectRef({objectId:y,digest:p.UnresolvedObject.digest??g?.digest,version:p.UnresolvedObject.version??g?.version})}}async function ew(e,t){let{inputs:n,commands:r}=e,s=[],i=new Set;r.forEach(a=>{if(a.MoveCall){if(a.MoveCall._argumentTypes)return;if(a.MoveCall.arguments.map(c=>c.$kind==="Input"?e.inputs[c.Input]:null).some(c=>c?.UnresolvedPure||c?.UnresolvedObject&&typeof c?.UnresolvedObject.mutable!="boolean")){let c=`${a.MoveCall.package}::${a.MoveCall.module}::${a.MoveCall.function}`;i.add(c),s.push(a.MoveCall)}}});let o=new Map;i.size>0&&await Promise.all([...i].map(async a=>{let[c,u,l]=a.split("::"),{function:p}=await t.core.getMoveFunction({packageId:c,moduleName:u,name:l});o.set(a,p.parameters)})),s.length&&await Promise.all(s.map(async a=>{let c=o.get(`${a.package}::${a.module}::${a.function}`);c&&(a._argumentTypes=c.length>0&&Pp(c.at(-1))?c.slice(0,c.length-1):c)})),r.forEach(a=>{if(!a.MoveCall)return;let c=a.MoveCall,u=`${c.package}::${c.module}::${c.function}`,l=c._argumentTypes;if(l){if(l.length!==a.MoveCall.arguments.length)throw new Error(`Incorrect number of arguments for ${u}`);l.forEach((p,d)=>{let y=c.arguments[d];if(y.$kind!=="Input")return;let g=n[y.Input];if(!g.UnresolvedPure&&!g.UnresolvedObject)return;let E=g.UnresolvedPure?.value??g.UnresolvedObject?.objectId,x=Oi(p.body);if(x){y.type="pure",n[n.indexOf(g)]=$e.Pure(x.serialize(E));return}if(typeof E!="string")throw new Error(`Expect the argument to be an object id string, got ${JSON.stringify(E,null,2)}`);y.type="object";let C=g.UnresolvedPure?{$kind:"UnresolvedObject",UnresolvedObject:{objectId:E}}:g;n[y.Input]=C})}})}function tw(e,t){let n=!1;return e.getInputUses(t,(r,s)=>{if(s.MoveCall&&s.MoveCall._argumentTypes){let i=s.MoveCall.arguments.indexOf(r);n=s.MoveCall._argumentTypes[i].reference!=="immutable"||n}(s.$kind==="MakeMoveVec"||s.$kind==="MergeCoins"||s.$kind==="SplitCoins"||s.$kind==="TransferObjects")&&(n=!0)}),n}function nw(e,t){let n=!1;return e.getInputUses(t,(r,s)=>{if(s.MoveCall&&s.MoveCall._argumentTypes){let i=s.MoveCall.arguments.indexOf(r);n=sw(s.MoveCall._argumentTypes[i])||n}}),n}var rw="0x0000000000000000000000000000000000000000000000000000000000000002::transfer::Receiving";function sw(e){return e.body.$kind!=="datatype"?!1:e.body.datatype.typeName===rw}function yc(e,t){return!!(e.inputs.some(n=>n.UnresolvedObject||n.UnresolvedPure)||!t.onlyTransactionKind&&(!e.gasData.price||!e.gasData.budget||!e.gasData.payment||e.gasData.payment.length===0&&!e.expiration))}async function Vp(e,t,n){return ow(e),yc(e,t)?(iw(t).core?.resolveTransactionPlugin()??Mp)(e,t,async()=>{await Up(e),await n()}):(await Up(e),n())}function Up(e){e.inputs.forEach((t,n)=>{if(t.$kind!=="Object"&&t.$kind!=="Pure"&&t.$kind!=="FundsWithdrawal")throw new Error(`Input at index ${n} has not been resolved. Expected a Pure, Object, or FundsWithdrawal input, but found ${JSON.stringify(t)}`)})}function iw(e){if(!e.client)throw new Error("No sui client passed to Transaction#build, but transaction data was not sufficient to build offline.");return e.client}function ow(e){for(let t of e.commands)switch(t.$kind){case"SplitCoins":t.SplitCoins.amounts.forEach(n=>{Fp(n,B.U64,e)});break;case"TransferObjects":Fp(t.TransferObjects.address,B.Address,e);break}}function Fp(e,t,n){if(e.$kind!=="Input")return;let r=n.inputs[e.Input];r.$kind==="UnresolvedPure"&&(n.inputs[e.Input]=$e.Pure(t.serialize(r.UnresolvedPure.value)))}function Gp(e){function t(n){return e(n)}return t.system=n=>{let r=n?.mutable;return t(r!==void 0?$e.SharedObjectRef({objectId:gc,initialSharedVersion:1,mutable:r}):{$kind:"UnresolvedObject",UnresolvedObject:{objectId:gc,initialSharedVersion:1}})},t.clock=()=>t($e.SharedObjectRef({objectId:Rp,initialSharedVersion:1,mutable:!1})),t.random=()=>t({$kind:"UnresolvedObject",UnresolvedObject:{objectId:Dp,mutable:!1}}),t.denyList=n=>t({$kind:"UnresolvedObject",UnresolvedObject:{objectId:jp,mutable:n?.mutable}}),t.option=({type:n,value:r})=>s=>s.moveCall({typeArguments:[n],target:`${Ii}::option::${r===null?"none":"some"}`,arguments:r===null?[]:[s.object(r)]}),t}function qp(e){function t(n,r){if(typeof n=="string")return e(Tr(n).serialize(r));if(n instanceof Uint8Array||hr(n))return e(n);throw new Error("tx.pure must be called either a bcs type name, or a serialized bcs value")}return t.u8=n=>e(B.U8.serialize(n)),t.u16=n=>e(B.U16.serialize(n)),t.u32=n=>e(B.U32.serialize(n)),t.u64=n=>e(B.U64.serialize(n)),t.u128=n=>e(B.U128.serialize(n)),t.u256=n=>e(B.U256.serialize(n)),t.bool=n=>e(B.Bool.serialize(n)),t.string=n=>e(B.String.serialize(n)),t.address=n=>e(B.Address.serialize(n)),t.id=t.address,t.vector=(n,r)=>e(B.vector(Tr(n)).serialize(r)),t.option=(n,r)=>e(B.option(Tr(n)).serialize(r)),t}var $p="2.3.0";var aw="/",cw={"Mvr-Source":`@mysten/sui@${$p}`},Er,Pt,xr,tn,ze,bc,Tc,Jp,Yp,vc,Hp,Wp=(Hp=class{constructor({cache:e,url:t,pageSize:n=50,overrides:r}){le(this,ze);le(this,Er);le(this,Pt);le(this,xr);le(this,tn);W(this,Er,e),W(this,Pt,t),W(this,xr,n),W(this,tn,{packages:r?.packages,types:r?.types}),uw(h(this,tn))}async resolvePackage({package:e}){return Lt(e)?{package:await h(this,ze,bc).load(e)}:{package:e}}async resolveType({type:e}){if(!Lt(e))return{type:e};let t=[...wc(e)],n=await h(this,ze,Tc).loadMany(t),r={};for(let s=0;s<t.length;s++){let i=n[s];if(i instanceof Error)throw i;r[t[s]]=i}return{type:Ec(e,r)}}async resolve({types:e=[],packages:t=[]}){let n=new Set;for(let u of e??[])wc(u,n);let r=[...n],[s,i]=await Promise.all([r.length>0?h(this,ze,Tc).loadMany(r):[],t.length>0?h(this,ze,bc).loadMany(t):[]]),o={...h(this,tn)?.types};for(let[u,l]of r.entries()){let p=s[u];if(p instanceof Error)throw p;o[l]=p}let a={};for(let u of e??[])a[u]={type:Ec(u,o)};let c={};for(let[u,l]of(t??[]).entries()){let p=h(this,tn)?.packages?.[l]??i[u];if(p instanceof Error)throw p;c[l]={package:p}}return{types:a,packages:c}}},Er=new WeakMap,Pt=new WeakMap,xr=new WeakMap,tn=new WeakMap,ze=new WeakSet,bc=function(){return h(this,Er).readSync(["#mvrPackageDataLoader",h(this,Pt)??""],()=>{let e=new ui(async n=>{if(!h(this,Pt))throw new Error(`MVR Api URL is not set for the current client (resolving ${n.join(", ")})`);let r=await fe(this,ze,Jp).call(this,n);return n.map(s=>r[s]??new Error(`Failed to resolve package: ${s}`))}),t=h(this,tn)?.packages;if(t)for(let[n,r]of Object.entries(t))e.prime(n,r);return e})},Tc=function(){return h(this,Er).readSync(["#mvrTypeDataLoader",h(this,Pt)??""],()=>{let e=new ui(async n=>{if(!h(this,Pt))throw new Error(`MVR Api URL is not set for the current client (resolving ${n.join(", ")})`);let r=await fe(this,ze,Yp).call(this,n);return n.map(s=>r[s]??new Error(`Failed to resolve type: ${s}`))}),t=h(this,tn)?.types;if(t)for(let[n,r]of Object.entries(t))e.prime(n,r);return e})},Jp=async function(e){if(e.length===0)return{};let t=pn(e,h(this,xr)),n={};return await Promise.all(t.map(async r=>{let s=await fe(this,ze,vc).call(this,"/v1/resolution/bulk",{names:r});if(s?.resolution)for(let i of Object.keys(s?.resolution)){let o=s.resolution[i]?.package_id;o&&(n[i]=o)}})),n},Yp=async function(e){if(e.length===0)return{};let t=pn(e,h(this,xr)),n={};return await Promise.all(t.map(async r=>{let s=await fe(this,ze,vc).call(this,"/v1/struct-definition/bulk",{types:r});if(s?.resolution)for(let i of Object.keys(s?.resolution)){let o=s.resolution[i]?.type_tag;o&&(n[i]=o)}})),n},vc=async function(e,t){if(!h(this,Pt))throw new Error("MVR Api URL is not set for the current client");let n=await fetch(`${h(this,Pt)}${e}`,{method:"POST",headers:{"Content-Type":"application/json",...cw},body:JSON.stringify(t)});if(!n.ok){let r=await n.json().catch(()=>({}));throw new Error(`Failed to resolve types: ${r?.message}`)}return n.json()},Hp);function uw(e){if(e?.packages)for(let[t,n]of Object.entries(e.packages)){if(!fr(t))throw new Error(`Invalid package name: ${t}`);if(!Vn(Y(n)))throw new Error(`Invalid package ID: ${n}`)}if(e?.types)for(let[t,n]of Object.entries(e.types)){if(zt(t).typeParams.length>0)throw new Error("Type overrides must be first-level only. If you want to supply generic types, just pass each type individually.");if(!Vn(zt(n).address))throw new Error(`Invalid type: ${n}`)}}function wc(e,t=new Set){if(typeof e=="string"&&!Lt(e))return t;let n=Xp(e)?e:zt(e);Lt(n.address)&&t.add(`${n.address}::${n.module}::${n.name}`);for(let r of n.typeParams)wc(r,t);return t}function Ec(e,t){let n=Xp(e)?e:zt(e),r=t[`${n.address}::${n.module}::${n.name}`];return Ht({...n,address:r?r.split("::")[0]:n.address,typeParams:n.typeParams.map(s=>Ec(s,t))})}function Lt(e){return e.includes(aw)||e.includes("@")||e.includes(".sui")}function Xp(e){return typeof e=="object"&&"address"in e&&"module"in e&&"name"in e&&"typeParams"in e}function Zp(e){let t=new Set,n=new Set;for(let r of e.commands)switch(r.$kind){case"MakeMoveVec":r.MakeMoveVec.type&&zp([r.MakeMoveVec.type]).forEach(o=>{n.add(o)});break;case"MoveCall":let s=r.MoveCall,i=s.package.split("::")[0];if(Lt(i)){if(!fr(i))throw new Error(`Invalid package name: ${i}`);t.add(i)}zp(s.typeArguments??[]).forEach(o=>{n.add(o)});break;default:break}return{packages:[...t],types:[...n]}}function Kp(e,t){for(let n of e.commands){if(n.MakeMoveVec?.type){if(!Lt(n.MakeMoveVec.type))continue;if(!t.types[n.MakeMoveVec.type])throw new Error(`No resolution found for type: ${n.MakeMoveVec.type}`);n.MakeMoveVec.type=t.types[n.MakeMoveVec.type].type}let r=n.MoveCall;if(!r)continue;let s=r.package.split("::"),i=s[0];if(Lt(i)&&!t.packages[i])throw new Error(`No address found for package: ${i}`);Lt(i)&&(s[0]=t.packages[i].package,r.package=s.join("::"));let o=r.typeArguments;if(o){for(let a=0;a<o.length;a++)if(Lt(o[a])){if(!t.types[o[a]])throw new Error(`No resolution found for type: ${o[a]}`);o[a]=t.types[o[a]].type}r.typeArguments=o}}}function zp(e){let t=new Set;for(let n of e)if(Lt(n)){if(!Al(n))throw new Error(`Invalid type with names: ${n}`);t.add(n)}return t}function Qp(){return async(e,t,n)=>{let r=Zp(e);if(r.types.length===0&&r.packages.length===0)return n();if(!t.client)throw new Error("Transaction contains MVR names but no client was provided to resolve them. Please pass a client to Transaction#build()");Kp(e,await t.client.core.mvr.resolve({types:r.types,packages:r.packages})),await n()}}function xc(e,t=1/0){let n={$kind:"Result",get Result(){return typeof e=="function"?e():e}},r=[],s=i=>r[i]??(r[i]={$kind:"NestedResult",get NestedResult(){return[typeof e=="function"?e():e,i]}});return new Proxy(n,{set(){throw new Error("The transaction result is a proxy, and does not support setting properties directly")},get(i,o){if(o in i)return Reflect.get(i,o);if(o===Symbol.iterator)return function*(){let c=0;for(;c<t;)yield s(c),c++};if(typeof o=="symbol")return;let a=parseInt(o,10);if(!(Number.isNaN(a)||a<0))return s(a)}})}var ef=Symbol.for("@mysten/transaction");function tf(e){return!!e&&typeof e=="object"&&e[ef]===!0}var wn,En,Mt,kt,et,tt,ft,nn,V,re,nf,Ni,Ts,Ai,Ci,kc,Sc,rf,sf,xn,P=(xn=class{constructor(){le(this,re);le(this,wn);le(this,En);le(this,Mt,new Map);le(this,kt,[]);le(this,et,[]);le(this,tt,new Set);le(this,ft,new Set);le(this,nn,new Map);le(this,V);this.object=Gp(t=>{if(typeof t=="function")return this.object(this.add(t));if(typeof t=="object"&&cs(ce,t))return t;let n=yr(t),r=h(this,V).inputs.find(s=>n===yr(s));return r?.Object?.SharedObject&&typeof t=="object"&&t.Object?.SharedObject&&(r.Object.SharedObject.mutable=r.Object.SharedObject.mutable||t.Object.SharedObject.mutable),r?{$kind:"Input",Input:h(this,V).inputs.indexOf(r),type:"object"}:fe(this,re,Ts).call(this,"object",typeof t=="string"?{$kind:"UnresolvedObject",UnresolvedObject:{objectId:Y(t)}}:t)}),W(this,V,new wr),W(this,En,[]),W(this,wn,[])}static fromKind(t){let n=new xn;return W(n,V,wr.fromKindBytes(typeof t=="string"?K(t):t)),W(n,kt,h(n,V).inputs.slice()),W(n,et,h(n,V).commands.slice()),W(n,tt,new Set(h(n,et).map((r,s)=>s))),n}static from(t){let n=new xn;return tf(t)?W(n,V,wr.restore(t.getData())):typeof t!="string"||!t.startsWith("{")?W(n,V,wr.fromBytes(typeof t=="string"?K(t):t)):W(n,V,wr.restore(JSON.parse(t))),W(n,kt,h(n,V).inputs.slice()),W(n,et,h(n,V).commands.slice()),W(n,tt,new Set(h(n,et).map((r,s)=>s))),n}addSerializationPlugin(t){h(this,wn).push(t)}addBuildPlugin(t){h(this,En).push(t)}addIntentResolver(t,n){if(h(this,Mt).has(t)&&h(this,Mt).get(t)!==n)throw new Error(`Intent resolver for ${t} already exists`);h(this,Mt).set(t,n)}setSender(t){h(this,V).sender=t}setSenderIfNotSet(t){h(this,V).sender||(h(this,V).sender=t)}setExpiration(t){h(this,V).expiration=t?ae(Ca,t):null}setGasPrice(t){h(this,V).gasData.price=String(t)}setGasBudget(t){h(this,V).gasData.budget=String(t)}setGasBudgetIfNotSet(t){h(this,V).gasData.budget==null&&(h(this,V).gasData.budget=String(t))}setGasOwner(t){h(this,V).gasData.owner=t}setGasPayment(t){h(this,V).gasData.payment=t.map(n=>ae(vt,n))}getData(){return h(this,V).snapshot()}get[ef](){return!0}get pure(){return Object.defineProperty(this,"pure",{enumerable:!1,value:qp(t=>hr(t)?fe(this,re,Ts).call(this,"pure",{$kind:"Pure",Pure:{bytes:t.toBase64()}}):fe(this,re,Ts).call(this,"pure",cs(Na,t)?ae(Na,t):t instanceof Uint8Array?$e.Pure(t):{$kind:"UnresolvedPure",UnresolvedPure:{value:t}}))}),this.pure}get gas(){return{$kind:"GasCoin",GasCoin:!0}}objectRef(...t){return this.object($e.ObjectRef(...t))}receivingRef(...t){return this.object($e.ReceivingRef(...t))}sharedObjectRef(...t){return this.object($e.SharedObjectRef(...t))}add(t){if(typeof t=="function"){if(h(this,nn).has(t))return h(this,nn).get(t);let n=fe(this,re,nf).call(this),r=t(n);if(!(r&&typeof r=="object"&&"then"in r))return W(this,tt,h(n,tt)),h(this,nn).set(t,r),r;let s=fe(this,re,Ni).call(this,{$kind:"$Intent",$Intent:{name:"AsyncTransactionThunk",inputs:{},data:{resultIndex:h(this,V).commands.length,result:null}}});h(this,ft).add(Promise.resolve(r).then(o=>{s.$Intent.data.result=o}));let i=xc(()=>s.$Intent.data.resultIndex);return h(this,nn).set(t,i),i}else fe(this,re,Ni).call(this,t);return xc(h(this,V).commands.length-1)}splitCoins(t,n){let r=vn.SplitCoins(typeof t=="string"?this.object(t):fe(this,re,Ci).call(this,t),n.map(s=>typeof s=="number"||typeof s=="bigint"||typeof s=="string"?this.pure.u64(s):fe(this,re,Ai).call(this,s)));return fe(this,re,Ni).call(this,r),xc(h(this,V).commands.length-1,n.length)}mergeCoins(t,n){return this.add(vn.MergeCoins(this.object(t),n.map(r=>this.object(r))))}publish({modules:t,dependencies:n}){return this.add(vn.Publish({modules:t,dependencies:n}))}upgrade({modules:t,dependencies:n,package:r,ticket:s}){return this.add(vn.Upgrade({modules:t,dependencies:n,package:r,ticket:this.object(s)}))}moveCall({arguments:t,...n}){return this.add(vn.MoveCall({...n,arguments:t?.map(r=>fe(this,re,Ai).call(this,r))}))}transferObjects(t,n){return this.add(vn.TransferObjects(t.map(r=>this.object(r)),typeof n=="string"?this.pure.address(n):fe(this,re,Ai).call(this,n)))}makeMoveVec({type:t,elements:n}){return this.add(vn.MakeMoveVec({type:t,elements:n.map(r=>this.object(r))}))}withdrawal({amount:t,type:n}){let r={$kind:"FundsWithdrawal",FundsWithdrawal:{reservation:{$kind:"MaxAmountU64",MaxAmountU64:String(t)},typeArg:{$kind:"Balance",Balance:n??"0x2::sui::SUI"},withdrawFrom:{$kind:"Sender",Sender:!0}}};return fe(this,re,Ts).call(this,"object",r)}serialize(){return JSON.stringify(fp(h(this,V).snapshot()))}async toJSON(t={}){await this.prepareForSerialization(t);let n=this.isFullyResolved();return JSON.stringify(ae(Lp,n?{...h(this,V).snapshot(),digest:h(this,V).getDigest()}:h(this,V).snapshot()),(r,s)=>typeof s=="bigint"?s.toString():s,2)}async sign(t){let{signer:n,...r}=t,s=await this.build(r);return n.signTransaction(s)}isFullyResolved(){return!(!h(this,V).sender||h(this,ft).size>0||h(this,V).commands.some(t=>t.$Intent)||yc(h(this,V),{}))}async build(t={}){return await this.prepareForSerialization(t),await fe(this,re,kc).call(this,t),h(this,V).build({onlyTransactionKind:t.onlyTransactionKind})}async getDigest(t={}){return await this.prepareForSerialization(t),await fe(this,re,kc).call(this,t),h(this,V).getDigest()}async prepareForSerialization(t){await fe(this,re,rf).call(this),fe(this,re,sf).call(this);let n=new Set;for(let s of h(this,V).commands)s.$Intent&&n.add(s.$Intent.name);let r=[...h(this,wn)];for(let s of n)if(!t.supportedIntents?.includes(s)){if(!h(this,Mt).has(s))throw new Error(`Missing intent resolver for ${s}`);r.push(h(this,Mt).get(s))}r.push(Qp()),await fe(this,re,Sc).call(this,r,t)}},wn=new WeakMap,En=new WeakMap,Mt=new WeakMap,kt=new WeakMap,et=new WeakMap,tt=new WeakMap,ft=new WeakMap,nn=new WeakMap,V=new WeakMap,re=new WeakSet,nf=function(){let t=new xn;return W(t,V,h(this,V)),W(t,wn,h(this,wn)),W(t,En,h(this,En)),W(t,Mt,h(this,Mt)),W(t,ft,h(this,ft)),W(t,tt,new Set(h(this,tt))),W(t,nn,h(this,nn)),h(this,kt).push(h(t,kt)),h(this,et).push(h(t,et)),t},Ni=function(t){let n=h(this,V).commands.length;return h(this,et).push(t),h(this,tt).add(n),h(this,V).commands.push(t),h(this,V).mapCommandArguments(n,r=>{if(r.$kind==="Result"&&!h(this,tt).has(r.Result))throw new Error(`Result { Result: ${r.Result} } is not available to use in the current transaction`);if(r.$kind==="NestedResult"&&!h(this,tt).has(r.NestedResult[0]))throw new Error(`Result { NestedResult: [${r.NestedResult[0]}, ${r.NestedResult[1]}] } is not available to use in the current transaction`);if(r.$kind==="Input"&&r.Input>=h(this,V).inputs.length)throw new Error(`Input { Input: ${r.Input} } references an input that does not exist in the current transaction`);return r}),t},Ts=function(t,n){return h(this,kt).push(n),h(this,V).addInput(t,n)},Ai=function(t){return hr(t)?this.pure(t):fe(this,re,Ci).call(this,t)},Ci=function(t){if(typeof t=="function"){let n=this.add(t);return typeof n=="function"?fe(this,re,Ci).call(this,n):ae(ce,n)}return ae(ce,t)},kc=async function(t){if(!t.onlyTransactionKind&&!h(this,V).sender)throw new Error("Missing transaction sender");await fe(this,re,Sc).call(this,[...h(this,En),Vp],t)},Sc=async function(t,n){try{let r=s=>{if(s>=t.length)return()=>{};let i=t[s];return async()=>{let o=r(s+1),a=!1,c=!1;if(await i(h(this,V),n,async()=>{if(a)throw new Error(`next() was call multiple times in TransactionPlugin ${s}`);a=!0,await o(),c=!0}),!a)throw new Error(`next() was not called in TransactionPlugin ${s}`);if(!c)throw new Error(`next() was not awaited in TransactionPlugin ${s}`)}};await r(0)()}finally{W(this,kt,h(this,V).inputs.slice()),W(this,et,h(this,V).commands.slice()),W(this,tt,new Set(h(this,et).map((r,s)=>s)))}},rf=async function(){for(;h(this,ft).size>0;){let t=Promise.all(h(this,ft));h(this,ft).clear(),h(this,ft).add(t),await t,h(this,ft).delete(t)}},sf=function(){let t=h(this,V).commands,n=h(this,V).inputs,r=h(this,et).flat(1/0),s=h(this,kt).flat(1/0);if(r.length!==t.length)throw new Error("Unexpected number of commands found in transaction data");if(s.length!==n.length)throw new Error("Unexpected number of inputs found in transaction data");let i=r.filter(a=>a.$Intent?.name!=="AsyncTransactionThunk");h(this,V).commands=i,h(this,V).inputs=s,W(this,et,i),W(this,kt,s),W(this,tt,new Set(i.map((a,c)=>c)));function o(a){let c=t[a];if(c.$Intent?.name==="AsyncTransactionThunk"){let l=c.$Intent.data.result;if(l==null)throw new Error("AsyncTransactionThunk has not been resolved");return o(l.Result)}let u=i.indexOf(c);if(u===-1)throw new Error("Unable to find original index for command");return u}h(this,V).mapArguments(a=>{if(a.$kind==="Input"){let c=s.indexOf(n[a.Input]);if(c===-1)throw new Error("Input has not been resolved");return{...a,Input:c}}else if(a.$kind==="Result"){let c=o(a.Result);return{...a,Result:c}}else if(a.$kind==="NestedResult"){let c=o(a.NestedResult[0]);return{...a,NestedResult:[c,a.NestedResult[1]]}}return a});for(let[a,c]of t.entries())if(c.$Intent?.name==="AsyncTransactionThunk")try{c.$Intent.data.resultIndex=o(a)}catch{}},xn);var zd=Ye(Ft()),Li=class extends Ie{getCredType(){return`${this.client.getPackageId()}::cred::CRED`}getCredCoinType(){return`0x2::coin::Coin<${this.getCredType()}>`}async mint(t,n){let r=await this.getTreasuryCap(),s=new P;return s.moveCall({target:"0x02::coin::mint_and_transfer",arguments:[s.object(r),s.pure.u64(n),s.pure.address(t)],typeArguments:[this.getCredType()]}),await this.client.signAndExecuteTransaction(s)}async getTreasuryCap(){return(await this.client.getOwnedObjectsGrpc(this.client.getSignerAddress(),`0x2::coin::TreasuryCap<${this.getCredType()}>`))[0]?.object_id??null}async getCoinMetadata(){return(await this.client.getOwnedObjectsGrpc(this.client.getSignerAddress(),`0x2::coin::CoinMetadata<${this.getCredType()}>`))[0]?.object_id??null}async sendCred(t,n){await this.mergeAssets();let s=(await this.client.getOwnedObjectsGrpc(this.client.getSignerAddress(),this.getCredCoinType()))[0],i=parseInt((0,zd.default)(s,"json.balance")+"");if(i<t)throw new Error("Not enough asset balance");let o=new P,a;if(i===t)a=s.object_id;else{let c=await this.split(s.object_id,t);a=c.effects.changedObjects.find(u=>u.idOperation==="Created")?.objectId,await this.client.waitForTransaction(c.digest)}return o.moveCall({target:"0x2::transfer::public_transfer",arguments:[o.object(a),o.pure.address(n)],typeArguments:[this.getCredCoinType()]}),this.client.signAndExecuteTransaction(o)}async mergeAssets(){let t;do if(t=await this.client.getOwnedObjectsGrpc(this.client.getSignerAddress(),this.getCredCoinType()),t.length>1){let n=await this.join(t[0].object_id,t[1].object_id);await this.client.waitForTransaction(n.digest)}while(t.length>1)}async join(t,n){let r=new P;return r.moveCall({target:"0x2::coin::join",arguments:[r.object(t),r.object(n)],typeArguments:[this.getCredType()]}),this.client.signAndExecuteTransaction(r)}async split(t,n){let r=new P,s=r.moveCall({target:"0x2::coin::split",arguments:[r.object(t),r.pure.u64(n)],typeArguments:[this.getCredType()]});return r.transferObjects([s],this.client.getSignerAddress()),this.client.signAndExecuteTransaction(r)}};var Mi=class extends Ie{async addPoints(t,n,r){let s=new P;return s.moveCall({target:`${this.client.getPackageId()}::credenza_loyalty::add_points`,arguments:[s.object(await this.getLoyaltyConfig()),s.pure.address(t),s.pure.u64(n),s.pure.u64(r)]}),this.client.signAndExecuteTransaction(s)}async redeemPoints(t){let n=new P;return n.moveCall({target:`${this.client.getPackageId()}::credenza_loyalty::redeem_points`,arguments:[n.object(await this.getLoyaltyPolicy()),n.object(t)]}),this.client.signAndExecuteTransaction(n)}async convertPointsToCRED(t){let n=new P;return n.moveCall({target:`${this.client.getPackageId()}::credenza_loyalty::convert_points_to_coins`,arguments:[n.object(await this.getLoyaltyPolicy()),n.object(t),n.object(await this.getLoyaltyConfig())],typeArguments:[this.client.CRED.getCredType()]}),this.client.signAndExecuteTransaction(n)}getLoyaltyType(){return`${this.client.getPackageId()}::credenza_loyalty::CREDENZA_LOYALTY`}async getLoyaltyConfig(){if(!this.loyaltyConfig){let t=await this.client.graphqlClient.findSharedObjectByType(`${this.client.getPackageId()}::credenza_loyalty::LoyaltyConfig`);if(!t)throw new Error("Loyalty config not found");this.loyaltyConfig=t}return this.loyaltyConfig}async getLoyaltyPolicy(){if(!this.loyaltyPolicy){let t=await this.client.graphqlClient.findSharedObjectByType(`0x2::token::TokenPolicy<${this.getLoyaltyType()}>`);if(!t)throw new Error("Loyalty token policy not found");this.loyaltyPolicy=t}return this.loyaltyPolicy}async getPointsAmount(t){let n=0,r,s;do{r=await this.client.suiGrpcClient.stateService.listOwnedObjects({owner:t,readMask:{paths:["json"]},objectType:`0x2::token::Token<${this.getLoyaltyType()}>`,pageToken:s,pageSize:100}),s=r.nextCursor;for(let i of r.response.objects){let o=this.client.parseGrpcObjectResponse(i);n+=parseInt(o.json.balance)}}while(r.hasNextPage);return n}async getPoints(t){return await this.client.getOwnedObjectsGrpc(t,`0x2::token::Token<${this.getLoyaltyType()}>`)}async getUserEvents(t){return(await this.client.getOwnedObjectsGrpc(t,`${this.client.getPackageId()}::credenza_loyalty::PointsAddedUserEvent`)).map(r=>r.json)}async getLifetimePoints(t){let n=await this.getLoyaltyConfig(),r=await this.client.getObjectGrpc(n),s=await this.client.graphqlClient.getDynamicFieldValue(r.json.lifetime_points?.id,"address",t);return s?parseInt(s):0}async getOwners(){let t=await this.getLoyaltyConfig();return(await this.client.getObjectGrpc(t)).json.ownership.owners.contents}async setOwner(t,n){let r=new P;return r.moveCall({target:`${this.client.getPackageId()}::credenza_loyalty::set_owner`,arguments:[r.object(await this.getLoyaltyConfig()),r.pure.address(t),r.pure.bool(n)]}),this.client.signAndExecuteTransaction(r)}};var Ui=Ye(Ft()),Fi=class extends Ie{async addPoints(t,n,r,s=""){let i=new P;return i.moveCall({target:`${this.client.getPackageId()}::credenza_meta_loyalty_v2::add_points_with_meta`,arguments:[i.object(await this.getLoyaltyConfig()),i.pure.address(t),i.pure.u64(n),i.pure.string(r),i.pure.string(s)]}),this.client.signAndExecuteTransaction(i)}async redeemPoints(t){let n=new P;return n.moveCall({target:`${this.client.getPackageId()}::credenza_meta_loyalty_v2::redeem_points`,arguments:[n.object(await this.getLoyaltyConfig()),n.pure.u64(t)]}),this.client.signAndExecuteTransaction(n)}async convertPointsToCoins(t){let n=new P,r=await this.getConvertableCoinType();if(!r)throw new Error("Ledger Contract does not have coin set to convert points into");return n.moveCall({target:`${this.client.getPackageId()}::credenza_meta_loyalty_v2::convert_points_to_coins`,arguments:[n.object(await this.getLoyaltyConfig()),n.pure.u64(t)],typeArguments:[r]}),this.client.signAndExecuteTransaction(n)}async getLoyaltyConfig(){if(!this.loyaltyConfig){let t=await this.client.graphqlClient.findSharedObjectByType(`${this.client.getPackageId()}::credenza_meta_loyalty_v2::LoyaltyConfig`);if(!t)throw new Error("Loyalty config not found");this.loyaltyConfig=t}return this.loyaltyConfig}async getPointsAmount(t){let n=await this.getLoyaltyConfig(),r=await this.client.getObjectGrpc(n),s=await this.client.graphqlClient.getDynamicFieldValue(r.json.current_points?.id,"address",t);return s?parseInt(s):0}async getUserEvents(t){return(await this.client.getOwnedObjectsGrpc(t,`${this.client.getPackageId()}::credenza_meta_loyalty_v2::PointsAddedUserEvent`)).map(r=>r.json)}async getLifetimePoints(t){let n=await this.getLoyaltyConfig(),r=await this.client.getObjectGrpc(n),s=await this.client.graphqlClient.getDynamicFieldValue(r.json.lifetime_points?.id,"address",t);return s?parseInt(s):0}async getPointsPerEvent(t,n){let r=await this.getLoyaltyConfig(),s=await this.client.getObjectGrpc(r),i=await this.client.graphqlClient.getDynamicFieldValue(s.json.points_per_event?.id,"address",t),o=await this.client.graphqlClient.getDynamicFieldValue(i?.id,"string",n);return o?parseInt(o):0}async getOwners(){let t=await this.getLoyaltyConfig();return(await this.client.getObjectGrpc(t)).json.ownership.owners.contents}async setOwner(t,n){let r=new P;return r.moveCall({target:`${this.client.getPackageId()}::credenza_meta_loyalty_v2::set_owner`,arguments:[r.object(await this.getLoyaltyConfig()),r.pure.address(t),r.pure.bool(n)]}),this.client.signAndExecuteTransaction(r)}async setCoinForConverting(t,n){let s=(await this.client.getObjectGrpc(t)).object_type.split("<")[1]?.split(">")[0],i=await this.getConvertableCoinType();i||(i=s);let o=new P;return o.moveCall({target:`${this.client.getPackageId()}::credenza_meta_loyalty_v2::set_coin`,arguments:[o.object(await this.getLoyaltyConfig()),o.object(t),o.pure.u64(n)],typeArguments:[i,s]}),this.client.signAndExecuteTransaction(o)}async getConvertableCoinType(){let t=await this.client.getObjectGrpc(await this.getLoyaltyConfig()),n=null;if(parseInt((0,Ui.default)(t,"json.coin.size"))){let r=await this.client.getDynamicFields((0,Ui.default)(t,"json.coin.id"));n=(0,Ui.default)(r,"0.type").split("object::ID,")[1].split("<")[1].split(">")[0]}return n}};var Jd=Ye(Ft()),jc=Ye(Wd()),Vi=class extends Ie{async addMembership(t,n){let r=new P;return r.moveCall({target:`${this.client.getPackageId()}::membership::set_membership`,arguments:[r.object(await this.getMembershipListId()),r.pure.address(t),r.pure.string(n)]}),this.client.signAndExecuteTransaction(r)}async addMembershipWithExpiration(t,n,r){let s=new P;return s.moveCall({target:`${this.client.getPackageId()}::membership::set_membership_with_expiration`,arguments:[s.object(await this.getMembershipListId()),s.pure.address(t),s.pure.string(n),s.pure.u64(r)]}),this.client.signAndExecuteTransaction(s)}async setMembershipExpiration(t,n){let r=new P;return r.moveCall({target:`${this.client.getPackageId()}::membership::set_membership_expiration`,arguments:[r.object(await this.getMembershipListId()),r.pure.address(t),r.pure.u64(n)]}),this.client.signAndExecuteTransaction(r)}async removeMembership(t){let n=new P;return n.moveCall({target:`${this.client.getPackageId()}::membership::remove_membership`,arguments:[n.object(await this.getMembershipListId()),n.pure.address(t)]}),this.client.signAndExecuteTransaction(n)}getMembershipListType(){return`${this.client.getPackageId()}::membership::MembershipList`}getMembershipType(){return`${this.client.getPackageId()}::membership::MEMBERSHIP`}async hasMembership(t){let n=await this.getMembershipListId(),r=await this.client.getObjectGrpc(n),s=await this.client.graphqlClient.getDynamicFieldValue(r.json.members.id,"address",t);if((0,jc.default)(s))return null;let i=await this.getMembershipExpiration(t);return!(0,jc.default)(i)&&i>0&&i<new Date().getTime()/1e3?null:s}async getMembershipExpiration(t){let n=await this.getMembershipListId(),r=await this.client.getObjectGrpc(n);try{let s=await this.client.graphqlClient.getDynamicFieldValue(r.json.expirations.id,"address",t);return parseInt(s)??null}catch{return null}}async setPriceCoin(t,n){let r=await this.client.graphqlClient.findSharedObjectByType(`${this.client.getPackageId()}::sellable::CredenzaSellableConfig<${this.getMembershipType()}>`);return this.client.Sellable.setPriceCoin({sellConfig:r,price:t},{coinType:n})}async buyMembership(t,n){let r=await this.client.graphqlClient.findSharedObjectByType(`${this.client.getPackageId()}::sellable::CredenzaSellableConfig<${this.getMembershipType()}>`),s=new P;return s.moveCall({target:`${this.client.getPackageId()}::membership::buy_membership`,arguments:[s.object(await this.getMembershipListId()),s.object(r),s.object(t)],typeArguments:[n]}),this.client.signAndExecuteTransaction(s)}async getMembershipListId(){if(!this.membershipListId){let t=await this.client.graphqlClient.findSharedObjectByType(`${this.client.getPackageId()}::membership::MembershipList`);if(!t)throw new Error("MembershipList not found");this.membershipListId=t}return this.membershipListId}async getOwners(){let t=await this.getMembershipListId(),n=await this.client.getObjectGrpc(t);return(0,Jd.default)(n,"json.ownership.owners.contents")}async setOwner(t,n){let r=new P;return r.moveCall({target:`${this.client.getPackageId()}::membership::set_owner`,arguments:[r.object(await this.getMembershipListId()),r.pure.address(t),r.pure.bool(n)]}),this.client.signAndExecuteTransaction(r)}};var Gi=Ye(Ft()),qi=class extends Ie{getDecomType(){return`${this.client.getPackageId()}::decom::DECOM`}getDecomTokenType(){return`${this.client.getPackageId()}::decom::DecomToken`}async mint(t,n){let r=new P;return r.moveCall({target:`${this.client.getPackageId()}::decom::mint`,arguments:[r.object(await this.getAdminCap()),r.pure.address(t),r.pure.string(n)]}),this.client.signAndExecuteTransaction(r)}async burn(t){let n=new P;return n.moveCall({target:`${this.client.getPackageId()}::decom::burn`,arguments:[n.object(t)]}),this.client.signAndExecuteTransaction(n)}async setAuthorizedReseller(t,n){let r=new P;return r.moveCall({target:`${this.client.getPackageId()}::decom::set_authorized_reseller`,arguments:[r.object(await this.getAdminCap()),r.pure.address(t),r.pure.bool(n)]}),this.client.signAndExecuteTransaction(r)}async getAuthorizedResellers(){let t=await this.getAdminCap(),r=(await this.client.getObjectGrpc(t)).json.authorized_resselers.id;return(await this.client.getDynamicFields(r)).filter(i=>i.value).map(i=>i.name)}async writeOwnerRenderData(t){let n=new P;return n.moveCall({target:`${this.client.getPackageId()}::decom::write_owner_render_data`,arguments:[n.object(await this.getAdminCap()),n.pure.string(t)]}),this.client.signAndExecuteTransaction(n)}async getOwnerRenderData(){let t=await this.getAdminCap(),n=await this.client.getObjectGrpc(t);return(0,Gi.default)(n,"json.owner_render_data")}async getRenderData(){let t=await this.getAdminCap(),n=await this.client.getObjectGrpc(t);return(0,Gi.default)(n,"json.render_data")}async writeRenderData(t){let n=new P;return n.moveCall({target:`${this.client.getPackageId()}::decom::write_render_data`,arguments:[n.object(await this.getAdminCap()),n.pure.string(t)]}),this.client.signAndExecuteTransaction(n)}async getTokens(t){return await this.client.getOwnedObjectsGrpc(t,this.getDecomTokenType())}async getAdminCap(){if(!this.adminCap){let t=await this.client.graphqlClient.findSharedObjectByType(`${this.client.getPackageId()}::decom::DecomAdminCap`);if(!t)throw new Error("DecomAdminCap not found");this.adminCap=t}return this.adminCap}async setPriceCoin(t,n){let r=await this.client.graphqlClient.findSharedObjectByType(`${this.client.getPackageId()}::sellable::CredenzaSellableConfig<${this.getDecomType()}>`);return this.client.Sellable.setPriceCoin({sellConfig:r,price:t},{coinType:n})}async buyDecomToken(t,n){let r=await this.client.graphqlClient.findSharedObjectByType(`${this.client.getPackageId()}::sellable::CredenzaSellableConfig<${this.getDecomType()}>`),s=new P;return s.moveCall({target:`${this.client.getPackageId()}::decom::buy_decom_token`,arguments:[s.object(r),s.object(t)],typeArguments:[n]}),this.client.signAndExecuteTransaction(s)}async getOwners(){let t=await this.getAdminCap(),n=await this.client.getObjectGrpc(t);return(0,Gi.default)(n,"json.ownership.owners.contents")}async setOwner(t,n){let r=new P;return r.moveCall({target:`${this.client.getPackageId()}::decom::set_owner`,arguments:[r.object(await this.getAdminCap()),r.pure.address(t),r.pure.bool(n)]}),this.client.signAndExecuteTransaction(r)}async sendAsset(t,n){let r=new P;return r.moveCall({target:"0x2::transfer::public_transfer",arguments:[r.object(t),r.pure.address(n)],typeArguments:[this.getDecomTokenType()]}),this.client.signAndExecuteTransaction(r)}};var Hc=Ye(zc()),rt=Ye(Ft());var Wi=class extends Ie{async getSellConfig(t){let n=await this.client.graphqlClient.findSharedObjectByType(`${this.client.getPackageId()}::sellable::CredenzaSellableConfig<${t}>`);if(!n)throw new Error(`Sell config for ${t} not found in package ${this.client.getPackageId()}`);return n}async getSellableType(t){let r=(await this.client.getObjectGrpc(t)).object_type.split("<")[1];return r.substring(0,r.length-1)}async setPriceCoin({sellConfig:t,price:n},{coinType:r}){let s=r,i=await this.client.getObjectGrpc(t),o=await this.getSellableType(t);if(parseInt((0,rt.default)(i,"json.coin.size"))){let c=await this.client.getDynamicFields((0,rt.default)(i,"json.coin.id"));s=(0,rt.default)(c,"0.type").split("object::ID,")[1].split("<")[1].split(">")[0]}let a=new P;return a.moveCall({target:`${this.client.getPackageId()}::sellable::set_price_coin`,arguments:[a.object(t),a.pure.u64(n)],typeArguments:[o,s,r]}),this.client.signAndExecuteTransaction(a)}async setPriceFiat({sellConfig:t,price:n,currency:r}){let s=new P,i=await this.getSellableType(t);return r?s.moveCall({target:`${this.client.getPackageId()}::sellable::set_price_fiat_for_currency`,arguments:[s.object(t),s.pure.string(r),s.pure.u64(n)],typeArguments:[i]}):s.moveCall({target:`${this.client.getPackageId()}::sellable::set_price_fiat`,arguments:[s.object(t),s.pure.u64(n)],typeArguments:[i]}),this.client.signAndExecuteTransaction(s)}async setPriceSui({sellConfig:t,price:n}){let r=new P,s=await this.getSellableType(t);return r.moveCall({target:`${this.client.getPackageId()}::sellable::set_price_sui`,arguments:[r.object(t),r.pure.u64(n)],typeArguments:[s]}),this.client.signAndExecuteTransaction(r)}async setAssetPriceCoin({sellConfig:t,assetId:n,price:r}){let s=await this.getSellableType(t),i=new P;return i.moveCall({target:`${this.client.getPackageId()}::sellable::set_asset_price_coin`,arguments:[i.object(t),i.pure.u64(n),i.pure.u64(r)],typeArguments:[s]}),this.client.signAndExecuteTransaction(i)}async setAssetPriceFiat({sellConfig:t,assetId:n,price:r,currency:s}){let i=await this.getSellableType(t),o=new P;return s?o.moveCall({target:`${this.client.getPackageId()}::sellable::set_asset_price_fiat_for_currency`,arguments:[o.object(t),o.pure.u64(n),o.pure.string(s),o.pure.u64(r)],typeArguments:[i]}):o.moveCall({target:`${this.client.getPackageId()}::sellable::set_asset_price_fiat`,arguments:[o.object(t),o.pure.u64(n),o.pure.u64(r)],typeArguments:[i]}),this.client.signAndExecuteTransaction(o)}async setAssetPriceSui({sellConfig:t,assetId:n,price:r}){let s=await this.getSellableType(t),i=new P;return i.moveCall({target:`${this.client.getPackageId()}::sellable::set_asset_price_sui`,arguments:[i.object(t),i.pure.u64(n),i.pure.u64(r)],typeArguments:[s]}),this.client.signAndExecuteTransaction(i)}async getAssetPriceFiat({sellConfig:t,assetId:n,currency:r}){let s=await this.client.getObjectGrpc(t),i=await this.client.getDynamicFields((0,rt.default)(s,"json.asset_prices.id"));for(let o of i)if(o.name===`${n}`)if(r){let a=await this.client.getDynamicFields((0,rt.default)(o,"value.price_fiat_for_currency.id"));for(let c of a)if(Hc.Buffer.from(c.name,"base64").toString("utf-8")===r)return parseInt(c.value)??0}else return parseInt((0,rt.default)(o,"value.price_fiat"));return 0}async getPriceFiat(t,n){let r=await this.client.getObjectGrpc(t);if(!n||!(0,rt.default)(r,"json.price_fiat_for_currency.id")&&n==="USD")return parseInt((0,rt.default)(r,"json.price_fiat"))??null;{let s=await this.client.getDynamicFields((0,rt.default)(r,"json.price_fiat_for_currency.id"));for(let i of s)if(Hc.Buffer.from(i.name,"base64").toString("utf-8")===n)return parseInt(i.value)??0;return 0}}async getAssetPriceCoin({sellConfig:t,assetId:n}){let r=await this.client.getObjectGrpc(t),s=await this.client.getDynamicFields((0,rt.default)(r,"json.asset_prices.id"));for(let i of s)if(i.name===`${n}`)return parseInt((0,rt.default)(i,"value.price_coin"));return 0}async getAssetPriceSui({sellConfig:t,assetId:n}){let r=await this.client.getObjectGrpc(t),s=await this.client.getDynamicFields((0,rt.default)(r,"json.asset_prices.id"));for(let i of s)if(i.name===`${n}`)return parseInt((0,rt.default)(i,"value.price_sui"));return 0}async setOwner({sellConfig:t,recipient:n,isOwner:r}){let s=new P;return s.moveCall({target:`${this.client.getPackageId()}::sellable::set_owner`,arguments:[s.object(t),s.pure.address(n),s.pure.bool(r)],typeArguments:[await this.getSellableType(t)]}),this.client.signAndExecuteTransaction(s)}};var sn=Ye(Ft()),du=Ye(fu()),Ki=class extends Ie{getAssetCollectionType(){return`${this.client.getPackageId()}::credenza_asset_collection::CREDENZA_ASSET_COLLECTION`}getAssetType(){return`${this.client.getPackageId()}::credenza_asset_collection::TokenizedAsset`}async getCollectionCap(){if(!this.collectionCap){let t=await this.client.graphqlClient.findSharedObjectByType(`${this.client.getPackageId()}::credenza_asset_collection::CollectionCap`);if(!t)throw new Error(`Collection cap not found ${this.client.getPackageId()}::credenza_asset_collection::CollectionCap`);this.collectionCap=t}return this.collectionCap}async getSellableConfig(){if(!this.sellableConfig){let t=await this.client.graphqlClient.findSharedObjectByType(`${this.client.getPackageId()}::sellable::CredenzaSellableConfig<${this.getAssetCollectionType()}>`);if(!t)throw new Error(`Sellable config not found ${this.client.getPackageId()}::sellable::CredenzaSellableConfig<${this.getAssetCollectionType()}>`);this.sellableConfig=t}return this.sellableConfig}async addAsset(t,n,r){let s=new P;return s.moveCall({target:`${this.client.getPackageId()}::credenza_asset_collection::add_asset`,arguments:[s.object(await this.getCollectionCap()),s.pure.string(t),s.pure.string(n),s.pure.string(r)]}),this.client.signAndExecuteTransaction(s)}async updateCollectionMetadata(t,n,r){let s=new P;return s.moveCall({target:`${this.client.getPackageId()}::credenza_asset_collection::update_collection_metadata`,arguments:[s.object(await this.getCollectionCap()),s.pure.string(t),s.pure.string(n),s.pure.string(r)]}),this.client.signAndExecuteTransaction(s)}async updateAssetMetadata(t,n,r,s){let i=new P;return i.moveCall({target:`${this.client.getPackageId()}::credenza_asset_collection::update_metadata`,arguments:[i.object(await this.getCollectionCap()),i.pure.u64(t),i.pure.string(n),i.pure.string(r),i.pure.string(s)]}),this.client.signAndExecuteTransaction(i)}async mint(t,n,r){let s=new P;return s.moveCall({target:`${this.client.getPackageId()}::credenza_asset_collection::mint`,arguments:[s.object(await this.getCollectionCap()),s.pure.address(t),s.pure.u64(n),s.pure.u64(r)]}),this.client.signAndExecuteTransaction(s)}async split(t,n){let r=new P,s=r.moveCall({target:`${this.client.getPackageId()}::credenza_asset_collection::split`,arguments:[r.object(t),r.pure.u64(n)]});return r.moveCall({target:"0x2::transfer::public_transfer",arguments:[s,r.pure.address(this.client.getSignerAddress())],typeArguments:[this.getAssetType()]}),this.client.signAndExecuteTransaction(r)}async join(t,n){let r=new P;return r.moveCall({target:`${this.client.getPackageId()}::credenza_asset_collection::join`,arguments:[r.object(t),r.object(n)]}),this.client.signAndExecuteTransaction(r)}async burn(t){let n=new P;return n.moveCall({target:`${this.client.getPackageId()}::credenza_asset_collection::burn`,arguments:[n.object(t)]}),this.client.signAndExecuteTransaction(n)}async getCollectionMetadata(){return this.client.getObjectGrpc(await this.getCollectionCap())}async getAssetMetadata(t){let n=await this.getCollectionMetadata(),r=(0,sn.default)(n,"json.assets.contents.id"),s=await this.client.getDynamicFields(r);for(let i of s)if(i.name===`${t-1}`)return i.value;return null}async balanceOf(t,n){let r=await this.client.getOwnedObjectsGrpc(t,this.getAssetType()),s=0;for(let i of r)(0,sn.default)(i,"json.asset_id")===`${n}`&&(s+=parseInt((0,sn.default)(i,"json.balance")));return s}async setAssetPriceFiat(t,n){await this.client.Sellable.setAssetPriceFiat({sellConfig:await this.getSellableConfig(),assetId:t,price:n})}async setAssetPriceSui(t,n){await this.client.Sellable.setAssetPriceSui({sellConfig:await this.getSellableConfig(),assetId:t,price:n})}async setAssetPriceCoin(t,n){await this.client.Sellable.setAssetPriceCoin({sellConfig:await this.getSellableConfig(),assetId:t,price:n})}async getAssetPriceFiat(t){return await this.client.Sellable.getAssetPriceFiat({sellConfig:await this.getSellableConfig(),assetId:t})}async getAssetPriceCoin(t){return await this.client.Sellable.getAssetPriceCoin({sellConfig:await this.getSellableConfig(),assetId:t})}async getAssetPriceSui(t){return await this.client.Sellable.getAssetPriceSui({sellConfig:await this.getSellableConfig(),assetId:t})}async setOwner(t,n){let r=new P;return r.moveCall({target:`${this.client.getPackageId()}::credenza_asset_collection::set_owner`,arguments:[r.object(await this.getCollectionCap()),r.pure.address(t),r.pure.bool(n)]}),this.client.signAndExecuteTransaction(r)}async buyAsset(t,n,r,s){let i=new P;return i.moveCall({target:`${this.client.getPackageId()}::credenza_asset_collection::buy_asset`,arguments:[i.object(await this.getCollectionCap()),i.object(await this.client.Sellable.getSellConfig(this.getAssetCollectionType())),i.object(t),i.pure.u64(r),i.pure.u64(s)],typeArguments:[n]}),this.client.signAndExecuteTransaction(i)}async getAssetsIds(){let t=await this.getCollectionMetadata(),n=(0,sn.default)(t,"json.assets.contents.id");return(await this.client.getDynamicFields(n)).map(s=>parseInt(s.value?.asset_id)).sort()}async getOwners(){let t=await this.getCollectionMetadata();return(0,sn.default)(t,"json.ownership.owners.contents")}async sendAsset(t,n,r){await this.mergeAssets(t);let s=await this.client.getOwnedObjectsGrpc(this.client.getSignerAddress(),this.getAssetType()),i=(0,du.default)(s,l=>(0,sn.default)(l,"json.asset_id")===`${t}`);if(i.length===0)throw new Error("You dont have asset to send");let o=i[0],a=parseInt((0,sn.default)(o,"json.balance")+"");if(a<n)throw new Error("Not enough asset balance");let c;if(a===n)c=o.object_id;else{let l=await this.split(o.object_id,n);c=l.effects.changedObjects.find(p=>p.idOperation==="Created")?.objectId,await this.client.waitForTransaction(l.digest)}let u=new P;return u.moveCall({target:"0x2::transfer::public_transfer",arguments:[u.object(c),u.pure.address(r)],typeArguments:[this.getAssetType()]}),this.client.signAndExecuteTransaction(u)}async mergeAssets(t){let n;do{let r=await this.client.getOwnedObjectsGrpc(this.client.getSignerAddress(),this.getAssetType());if(n=(0,du.default)(r,s=>(0,sn.default)(s,"json.asset_id")===`${t}`),n.length>1){let s=await this.join(n[0].object_id,n[1].object_id);await this.client.waitForTransaction(s.digest)}}while(n.length>1)}};var Cs=Ye(Ft()),Qi=class extends Ie{async getCreatedConfigs(){return await this.client.graphqlClient.findSharedObjectsByType(`${this.client.getPackageId()}::credenza_airdrop::CredenzaAirdropConfig`)}async createConfig(){let t=new P;return t.moveCall({target:`${this.client.getPackageId()}::credenza_airdrop::create_config`,arguments:[]}),this.client.signAndExecuteTransaction(t)}async setDropPerAddressLimit(t,n){let r=new P;return r.moveCall({target:`${this.client.getPackageId()}::credenza_airdrop::set_drop_per_address_limit`,arguments:[r.object(t),r.pure.u64(n)]}),this.client.signAndExecuteTransaction(r)}async setCoin(t,n){let s=(await this.client.getObjectGrpc(n)).object_type.split("<")[1]?.split(">")[0],i=await this.getAirdropCoinType(t);i||(i=s);let o=new P;return o.moveCall({target:`${this.client.getPackageId()}::credenza_airdrop::set_coin`,arguments:[o.object(t),o.object(n)],typeArguments:[i,s]}),this.client.signAndExecuteTransaction(o)}async setCollectionAsset(t,n){let r=new P;return r.moveCall({target:`${this.client.getPackageId()}::credenza_airdrop::set_asset`,arguments:[r.object(t),r.object(n)],typeArguments:[]}),this.client.signAndExecuteTransaction(r)}async getAirdropCoinType(t){let n=await this.client.getObjectGrpc(t);if(!parseInt((0,Cs.default)(n,"json.items.size")??"0"))return null;let s=(0,Cs.default)(n,"json.items.id"),i=await this.client.getDynamicFields(s);for(let o of i){let a=o.type;if(a?.includes("coin::Coin<"))return a.split("coin::Coin<")[1]?.split(">")[0]}return null}async getAirdropAssetType(t){let n=await this.client.getObjectGrpc(t);if(!parseInt((0,Cs.default)(n,"json.items.size")??"0"))return null;let s=(0,Cs.default)(n,"json.items.id"),i=await this.client.getDynamicFields(s);for(let o of i){let a=o.type.split("object::ID,")[1];return a.substring(0,a.length-1)}return null}async requestCoin(t,n){let r=await this.getAirdropCoinType(t);if(!r)throw new Error("This config does not have coin to drop setup");let s=new P;return s.moveCall({target:`${this.client.getPackageId()}::credenza_airdrop::request_coin`,arguments:[s.object(t),s.pure.u64(n)],typeArguments:[r]}),this.client.signAndExecuteTransaction(s)}async requestAsset(t,n,r){if(!await this.getAirdropAssetType(t))throw new Error("This config does not have coin to drop setup");let i=new P;return i.moveCall({target:`${this.client.getPackageId()}::credenza_airdrop::request_asset`,arguments:[i.object(t),i.pure.u64(n),i.pure.u64(r)]}),this.client.signAndExecuteTransaction(i)}};var eo=Ye(Ft()),to=class extends Ie{async getCreatedConfigs(){return await this.client.graphqlClient.findSharedObjectsByType(`${this.client.getPackageId()}::credenza_asset_deposit::DepositConfig`)}async createConfig(){let t=new P;return t.moveCall({target:`${this.client.getPackageId()}::credenza_asset_deposit::create_config`,arguments:[]}),this.client.signAndExecuteTransaction(t)}async getDepositedCoinType(t){let n=await this.client.getObjectGrpc(t);if(!parseInt((0,eo.default)(n,"json.coin.size")??"0"))return null;let s=(0,eo.default)(n,"json.coin.id"),i=await this.client.getDynamicFields(s);for(let o of i){let a=o.type;if(a?.includes("coin::Coin<"))return a.split("coin::Coin<")[1]?.split(">")[0]}return null}async deposit(t,n){let s=(await this.client.getObjectGrpc(n)).object_type?.split("<")[1].split(">")[0],i=new P;return i.moveCall({target:`${this.client.getPackageId()}::credenza_asset_deposit::deposit`,arguments:[i.object(t),i.object(n)],typeArguments:[s]}),this.client.signAndExecuteTransaction(i)}async withdraw(t){let n=await this.getDepositedCoinType(t);if(!n)throw new Error(`No coin was deposited into ${t}`);let r=new P;return r.moveCall({target:`${this.client.getPackageId()}::credenza_asset_deposit::withdraw`,arguments:[r.object(t)],typeArguments:[n]}),this.client.signAndExecuteTransaction(r)}async setOwner(t,n,r){let s=new P;return s.moveCall({target:`${this.client.getPackageId()}::credenza_asset_deposit::set_owner`,arguments:[s.object(t),s.pure.address(n),s.pure.bool(r)]}),this.client.signAndExecuteTransaction(s)}async setAuthorizedUser(t,n,r){let s=new P;return s.moveCall({target:`${this.client.getPackageId()}::credenza_asset_deposit::set_authorized_user`,arguments:[s.object(t),s.pure.address(n),s.pure.bool(r)]}),this.client.signAndExecuteTransaction(s)}async isAuthorizedUser(t,n){let r=await this.client.getObjectGrpc(t);return(0,eo.default)(r,"json.authorized_users.contents").includes(n)}async requestCoin(t,n){let r=await this.getDepositedCoinType(t);if(!r)throw new Error("This config does not have coin to drop setup");let s=new P;return s.moveCall({target:`${this.client.getPackageId()}::credenza_asset_deposit::request_funds`,arguments:[s.object(t),s.pure.u64(n)],typeArguments:[r]}),this.client.signAndExecuteTransaction(s)}};var Lr={ED25519:0,Secp256k1:1,Secp256r1:2,MultiSig:3,ZkLogin:5,Passkey:6},ny={ED25519:32,Secp256k1:33,Secp256r1:33,Passkey:33},Rs={0:"ED25519",1:"Secp256k1",2:"Secp256r1",3:"MultiSig",5:"ZkLogin",6:"Passkey"};function ro(e,t){return B.IntentMessage(B.bytes(t.length)).serialize({intent:{scope:{[e]:!0},version:{V0:!0},appId:{Sui:!0}},value:t}).toBytes()}function mu(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}var ry=class{equals(e){return mu(this.toRawBytes(),e.toRawBytes())}toBase64(){return X(this.toRawBytes())}toString(){throw new Error("`toString` is not implemented on public keys. Use `toBase64()` or `toRawBytes()` instead.")}toSuiPublicKey(){return X(this.toSuiBytes())}verifyWithIntent(e,t,n){let r=en(ro(n,e),{dkLen:32});return this.verify(r,t)}verifyPersonalMessage(e,t){return this.verifyWithIntent(B.byteVector().serialize(e).toBytes(),t,"PersonalMessage")}verifyTransaction(e,t){return this.verifyWithIntent(e,t,"TransactionData")}verifyAddress(e){return this.toSuiAddress()===e}toSuiBytes(){let e=this.toRawBytes(),t=new Uint8Array(e.length+1);return t.set([this.flag()]),t.set(e,1),t}toSuiAddress(){return Y(yn(en(this.toSuiBytes(),{dkLen:32})).slice(0,fn*2))}};function sy(e){let t=K(e),n=Rs[t[0]];switch(n){case"ED25519":case"Secp256k1":case"Secp256r1":let r=ny[n],s=t.slice(1,t.length-r);return{serializedSignature:e,signatureScheme:n,signature:s,publicKey:t.slice(1+s.length),bytes:t};default:throw new Error("Unsupported signature scheme")}}var iy=Ep(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(e=>BigInt(e))),oN=iy[0],aN=iy[1],Sn=new Uint32Array(80),In=new Uint32Array(80),hu=class extends ki{constructor(t){super(128,t,16,!1)}get(){let{Ah:t,Al:n,Bh:r,Bl:s,Ch:i,Cl:o,Dh:a,Dl:c,Eh:u,El:l,Fh:p,Fl:d,Gh:y,Gl:g,Hh:E,Hl:x}=this;return[t,n,r,s,i,o,a,c,u,l,p,d,y,g,E,x]}set(t,n,r,s,i,o,a,c,u,l,p,d,y,g,E,x){this.Ah=t|0,this.Al=n|0,this.Bh=r|0,this.Bl=s|0,this.Ch=i|0,this.Cl=o|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=l|0,this.Fh=p|0,this.Fl=d|0,this.Gh=y|0,this.Gl=g|0,this.Hh=E|0,this.Hl=x|0}process(t,n){for(let k=0;k<16;k++,n+=4)Sn[k]=t.getUint32(n),In[k]=t.getUint32(n+=4);for(let k=16;k<80;k++){let D=Sn[k-15]|0,$=In[k-15]|0,U=jt(D,$,1)^jt(D,$,8)^fc(D,$,7),L=Bt(D,$,1)^Bt(D,$,8)^dc(D,$,7),O=Sn[k-2]|0,R=In[k-2]|0,q=jt(O,R,19)^Hn(O,R,61)^fc(O,R,6),oe=Bt(O,R,19)^Wn(O,R,61)^dc(O,R,6),ue=Sp(L,oe,In[k-7],In[k-16]),me=Ip(ue,U,q,Sn[k-7],Sn[k-16]);Sn[k]=me|0,In[k]=ue|0}let{Ah:r,Al:s,Bh:i,Bl:o,Ch:a,Cl:c,Dh:u,Dl:l,Eh:p,El:d,Fh:y,Fl:g,Gh:E,Gl:x,Hh:C,Hl:S}=this;for(let k=0;k<80;k++){let D=jt(p,d,14)^jt(p,d,18)^Hn(p,d,41),$=Bt(p,d,14)^Bt(p,d,18)^Wn(p,d,41),U=p&y^~p&E,L=d&g^~d&x,O=_p(S,$,L,aN[k],In[k]),R=Op(O,C,D,U,oN[k],Sn[k]),q=O|0,oe=jt(r,s,28)^Hn(r,s,34)^Hn(r,s,39),ue=Bt(r,s,28)^Wn(r,s,34)^Wn(r,s,39),me=r&i^r&a^i&a,Ae=s&o^s&c^o&c;C=E|0,S=x|0,E=y|0,x=g|0,y=p|0,g=d|0,{h:p,l:d}=ct(u|0,l|0,R|0,q|0),u=a|0,l=c|0,a=i|0,c=o|0,i=r|0,o=s|0;let ve=ms(q,ue,Ae);r=hs(ve,R,oe,me),s=ve|0}({h:r,l:s}=ct(this.Ah|0,this.Al|0,r|0,s|0)),{h:i,l:o}=ct(this.Bh|0,this.Bl|0,i|0,o|0),{h:a,l:c}=ct(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l}=ct(this.Dh|0,this.Dl|0,u|0,l|0),{h:p,l:d}=ct(this.Eh|0,this.El|0,p|0,d|0),{h:y,l:g}=ct(this.Fh|0,this.Fl|0,y|0,g|0),{h:E,l:x}=ct(this.Gh|0,this.Gl|0,E|0,x|0),{h:C,l:S}=ct(this.Hh|0,this.Hl|0,C|0,S|0),this.set(r,s,i,o,a,c,u,l,p,d,y,g,E,x,C,S)}roundClean(){at(Sn,In)}destroy(){at(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},gu=class extends hu{constructor(){super(64);I(this,"Ah",De[0]|0);I(this,"Al",De[1]|0);I(this,"Bh",De[2]|0);I(this,"Bl",De[3]|0);I(this,"Ch",De[4]|0);I(this,"Cl",De[5]|0);I(this,"Dh",De[6]|0);I(this,"Dl",De[7]|0);I(this,"Eh",De[8]|0);I(this,"El",De[9]|0);I(this,"Fh",De[10]|0);I(this,"Fl",De[11]|0);I(this,"Gh",De[12]|0);I(this,"Gl",De[13]|0);I(this,"Hh",De[14]|0);I(this,"Hl",De[15]|0)}};var Qn=xi(()=>new gu,Tp(3));var ay=BigInt(0),oy=BigInt(1);function io(e,t=""){if(typeof e!="boolean"){let n=t&&`"${t}" `;throw new Error(n+"expected boolean, got type="+typeof e)}return e}function cN(e){if(typeof e=="bigint"){if(!so(e))throw new Error("positive bigint expected, got "+e)}else Ue(e);return e}function cy(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?ay:BigInt("0x"+e)}function uy(e){return cy(yn(e))}function Mr(e){return cy(yn(oo(ee(e)).reverse()))}function yu(e,t){Ue(t),e=cN(e);let n=fs(e.toString(16).padStart(t*2,"0"));if(n.length!==t)throw new Error("number too large");return n}function ly(e,t){return yu(e,t).reverse()}function oo(e){return Uint8Array.from(e)}var so=e=>typeof e=="bigint"&&ay<=e;function uN(e,t,n){return so(e)&&so(t)&&so(n)&&t<=e&&e<n}function bu(e,t,n,r){if(!uN(t,n,r))throw new Error("expected valid "+e+": "+n+" <= n < "+r+", got "+t)}var py=e=>(oy<<BigInt(e))-oy;function Ds(e,t={},n={}){if(!e||typeof e!="object")throw new Error("expected valid options object");function r(i,o,a){let c=e[i];if(a&&c===void 0)return;let u=typeof c;if(u!==o||c===null)throw new Error(`param "${i}" is invalid: expected ${o}, got ${u}`)}let s=(i,o)=>Object.entries(i).forEach(([a,c])=>r(a,c,o));s(t,!1),s(n,!0)}function Tu(e){let t=new WeakMap;return(n,...r)=>{let s=t.get(n);if(s!==void 0)return s;let i=e(n,...r);return t.set(n,i),i}}var He=BigInt(0),Fe=BigInt(1),er=BigInt(2),my=BigInt(3),hy=BigInt(4),gy=BigInt(5),lN=BigInt(7),yy=BigInt(8),pN=BigInt(9),by=BigInt(16);function _e(e,t){let n=e%t;return n>=He?n:t+n}function It(e,t,n){let r=e;for(;t-- >He;)r*=r,r%=n;return r}function fy(e,t){if(e===He)throw new Error("invert: expected non-zero number");if(t<=He)throw new Error("invert: expected positive modulus, got "+t);let n=_e(e,t),r=t,s=He,i=Fe,o=Fe,a=He;for(;n!==He;){let u=r/n,l=r%n,p=s-o*u,d=i-a*u;r=n,n=l,s=o,i=a,o=p,a=d}if(r!==Fe)throw new Error("invert: does not exist");return _e(s,t)}function wu(e,t,n){if(!e.eql(e.sqr(t),n))throw new Error("Cannot find square root")}function Ty(e,t){let n=(e.ORDER+Fe)/hy,r=e.pow(t,n);return wu(e,r,t),r}function fN(e,t){let n=(e.ORDER-gy)/yy,r=e.mul(t,er),s=e.pow(r,n),i=e.mul(t,s),o=e.mul(e.mul(i,er),s),a=e.mul(i,e.sub(o,e.ONE));return wu(e,a,t),a}function dN(e){let t=co(e),n=vy(e),r=n(t,t.neg(t.ONE)),s=n(t,r),i=n(t,t.neg(r)),o=(e+lN)/by;return(a,c)=>{let u=a.pow(c,o),l=a.mul(u,r),p=a.mul(u,s),d=a.mul(u,i),y=a.eql(a.sqr(l),c),g=a.eql(a.sqr(p),c);u=a.cmov(u,l,y),l=a.cmov(d,p,g);let E=a.eql(a.sqr(l),c),x=a.cmov(u,l,E);return wu(a,x,c),x}}function vy(e){if(e<my)throw new Error("sqrt is not defined for small field");let t=e-Fe,n=0;for(;t%er===He;)t/=er,n++;let r=er,s=co(e);for(;dy(s,r)===1;)if(r++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(n===1)return Ty;let i=s.pow(r,t),o=(t+Fe)/er;return function(c,u){if(c.is0(u))return u;if(dy(c,u)!==1)throw new Error("Cannot find square root");let l=n,p=c.mul(c.ONE,i),d=c.pow(u,t),y=c.pow(u,o);for(;!c.eql(d,c.ONE);){if(c.is0(d))return c.ZERO;let g=1,E=c.sqr(d);for(;!c.eql(E,c.ONE);)if(g++,E=c.sqr(E),g===l)throw new Error("Cannot find square root");let x=Fe<<BigInt(l-g-1),C=c.pow(p,x);l=g,p=c.sqr(C),d=c.mul(d,p),y=c.mul(y,C)}return y}}function mN(e){return e%hy===my?Ty:e%yy===gy?fN:e%by===pN?dN(e):vy(e)}var wy=(e,t)=>(_e(e,t)&Fe)===Fe,hN=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Ey(e){let t={ORDER:"bigint",BYTES:"number",BITS:"number"},n=hN.reduce((r,s)=>(r[s]="function",r),t);return Ds(e,n),e}function gN(e,t,n){if(n<He)throw new Error("invalid exponent, negatives unsupported");if(n===He)return e.ONE;if(n===Fe)return t;let r=e.ONE,s=t;for(;n>He;)n&Fe&&(r=e.mul(r,s)),s=e.sqr(s),n>>=Fe;return r}function ao(e,t,n=!1){let r=new Array(t.length).fill(n?e.ZERO:void 0),s=t.reduce((o,a,c)=>e.is0(a)?o:(r[c]=o,e.mul(o,a)),e.ONE),i=e.inv(s);return t.reduceRight((o,a,c)=>e.is0(a)?o:(r[c]=e.mul(o,r[c]),e.mul(o,a)),i),r}function dy(e,t){let n=(e.ORDER-Fe)/er,r=e.pow(t,n),s=e.eql(r,e.ONE),i=e.eql(r,e.ZERO),o=e.eql(r,e.neg(e.ONE));if(!s&&!i&&!o)throw new Error("invalid Legendre symbol result");return s?1:i?0:-1}function yN(e,t){t!==void 0&&Ue(t);let n=t!==void 0?t:e.toString(2).length,r=Math.ceil(n/8);return{nBitLength:n,nByteLength:r}}var vu=class{constructor(t,n={}){I(this,"ORDER");I(this,"BITS");I(this,"BYTES");I(this,"isLE");I(this,"ZERO",He);I(this,"ONE",Fe);I(this,"_lengths");I(this,"_sqrt");I(this,"_mod");if(t<=He)throw new Error("invalid field: expected ORDER > 0, got "+t);let r;this.isLE=!1,n!=null&&typeof n=="object"&&(typeof n.BITS=="number"&&(r=n.BITS),typeof n.sqrt=="function"&&(this.sqrt=n.sqrt),typeof n.isLE=="boolean"&&(this.isLE=n.isLE),n.allowedLengths&&(this._lengths=n.allowedLengths?.slice()),typeof n.modFromBytes=="boolean"&&(this._mod=n.modFromBytes));let{nBitLength:s,nByteLength:i}=yN(t,r);if(i>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");this.ORDER=t,this.BITS=s,this.BYTES=i,this._sqrt=void 0,Object.preventExtensions(this)}create(t){return _e(t,this.ORDER)}isValid(t){if(typeof t!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof t);return He<=t&&t<this.ORDER}is0(t){return t===He}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}isOdd(t){return(t&Fe)===Fe}neg(t){return _e(-t,this.ORDER)}eql(t,n){return t===n}sqr(t){return _e(t*t,this.ORDER)}add(t,n){return _e(t+n,this.ORDER)}sub(t,n){return _e(t-n,this.ORDER)}mul(t,n){return _e(t*n,this.ORDER)}pow(t,n){return gN(this,t,n)}div(t,n){return _e(t*fy(n,this.ORDER),this.ORDER)}sqrN(t){return t*t}addN(t,n){return t+n}subN(t,n){return t-n}mulN(t,n){return t*n}inv(t){return fy(t,this.ORDER)}sqrt(t){return this._sqrt||(this._sqrt=mN(this.ORDER)),this._sqrt(this,t)}toBytes(t){return this.isLE?ly(t,this.BYTES):yu(t,this.BYTES)}fromBytes(t,n=!1){ee(t);let{_lengths:r,BYTES:s,isLE:i,ORDER:o,_mod:a}=this;if(r){if(!r.includes(t.length)||t.length>s)throw new Error("Field.fromBytes: expected "+r+" bytes, got "+t.length);let u=new Uint8Array(s);u.set(t,i?0:u.length-t.length),t=u}if(t.length!==s)throw new Error("Field.fromBytes: expected "+s+" bytes, got "+t.length);let c=i?Mr(t):uy(t);if(a&&(c=_e(c,o)),!n&&!this.isValid(c))throw new Error("invalid field element: outside of range 0..ORDER");return c}invertBatch(t){return ao(this,t)}cmov(t,n,r){return r?n:t}};function co(e,t={}){return new vu(e,t)}var uo=BigInt(0),Su=BigInt(1);function xy(e,t){let n=t.negate();return e?n:t}function po(e,t){let n=ao(e.Fp,t.map(r=>r.Z));return t.map((r,s)=>e.fromAffine(r.toAffine(n[s])))}function _y(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function Eu(e,t){_y(e,t);let n=Math.ceil(t/e)+1,r=2**(e-1),s=2**e,i=py(e),o=BigInt(e);return{windows:n,windowSize:r,mask:i,maxNumber:s,shiftBy:o}}function ky(e,t,n){let{windowSize:r,mask:s,maxNumber:i,shiftBy:o}=n,a=Number(e&s),c=e>>o;a>r&&(a-=i,c+=Su);let u=t*r,l=u+Math.abs(a)-1,p=a===0,d=a<0,y=t%2!==0;return{nextN:c,offset:l,isZero:p,isNeg:d,isNegF:y,offsetF:u}}var xu=new WeakMap,Oy=new WeakMap;function ku(e){return Oy.get(e)||1}function Sy(e){if(e!==uo)throw new Error("invalid wNAF")}var lo=class{constructor(t,n){I(this,"BASE");I(this,"ZERO");I(this,"Fn");I(this,"bits");this.BASE=t.BASE,this.ZERO=t.ZERO,this.Fn=t.Fn,this.bits=n}_unsafeLadder(t,n,r=this.ZERO){let s=t;for(;n>uo;)n&Su&&(r=r.add(s)),s=s.double(),n>>=Su;return r}precomputeWindow(t,n){let{windows:r,windowSize:s}=Eu(n,this.bits),i=[],o=t,a=o;for(let c=0;c<r;c++){a=o,i.push(a);for(let u=1;u<s;u++)a=a.add(o),i.push(a);o=a.double()}return i}wNAF(t,n,r){if(!this.Fn.isValid(r))throw new Error("invalid scalar");let s=this.ZERO,i=this.BASE,o=Eu(t,this.bits);for(let a=0;a<o.windows;a++){let{nextN:c,offset:u,isZero:l,isNeg:p,isNegF:d,offsetF:y}=ky(r,a,o);r=c,l?i=i.add(xy(d,n[y])):s=s.add(xy(p,n[u]))}return Sy(r),{p:s,f:i}}wNAFUnsafe(t,n,r,s=this.ZERO){let i=Eu(t,this.bits);for(let o=0;o<i.windows&&r!==uo;o++){let{nextN:a,offset:c,isZero:u,isNeg:l}=ky(r,o,i);if(r=a,!u){let p=n[c];s=s.add(l?p.negate():p)}}return Sy(r),s}getPrecomputes(t,n,r){let s=xu.get(n);return s||(s=this.precomputeWindow(n,t),t!==1&&(typeof r=="function"&&(s=r(s)),xu.set(n,s))),s}cached(t,n,r){let s=ku(t);return this.wNAF(s,this.getPrecomputes(s,t,r),n)}unsafe(t,n,r,s){let i=ku(t);return i===1?this._unsafeLadder(t,n,s):this.wNAFUnsafe(i,this.getPrecomputes(i,t,r),n,s)}createCache(t,n){_y(n,this.bits),Oy.set(t,n),xu.delete(t)}hasCache(t){return ku(t)!==1}};function Iy(e,t,n){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return Ey(t),t}else return co(e,{isLE:n})}function Ny(e,t,n={},r){if(r===void 0&&(r=e==="edwards"),!t||typeof t!="object")throw new Error(`expected valid ${e} CURVE object`);for(let c of["p","n","h"]){let u=t[c];if(!(typeof u=="bigint"&&u>uo))throw new Error(`CURVE.${c} must be positive bigint`)}let s=Iy(t.p,n.Fp,r),i=Iy(t.n,n.Fn,r),a=["Gx","Gy","a",e==="weierstrass"?"b":"d"];for(let c of a)if(!s.isValid(t[c]))throw new Error(`CURVE.${c} must be valid field element of CURVE.Fp`);return t=Object.freeze(Object.assign({},t)),{CURVE:t,Fp:s,Fn:i}}function Ay(e,t){return function(r){let s=e(r);return{secretKey:s,publicKey:t(s)}}}var _n=BigInt(0),Re=BigInt(1),Iu=BigInt(2),bN=BigInt(8);function TN(e,t,n,r){let s=e.sqr(n),i=e.sqr(r),o=e.add(e.mul(t.a,s),i),a=e.add(e.ONE,e.mul(t.d,e.mul(s,i)));return e.eql(o,a)}function Cy(e,t={}){let n=Ny("edwards",e,t,t.FpFnLE),{Fp:r,Fn:s}=n,i=n.CURVE,{h:o}=i;Ds(t,{},{uvRatio:"function"});let a=Iu<<BigInt(s.BYTES*8)-Re,c=C=>r.create(C),u=t.uvRatio||((C,S)=>{try{return{isValid:!0,value:r.sqrt(r.div(C,S))}}catch{return{isValid:!1,value:_n}}});if(!TN(r,i,i.Gx,i.Gy))throw new Error("bad curve params: generator point");function l(C,S,k=!1){let D=k?Re:_n;return bu("coordinate "+C,S,D,a),S}function p(C){if(!(C instanceof g))throw new Error("EdwardsPoint expected")}let d=Tu((C,S)=>{let{X:k,Y:D,Z:$}=C,U=C.is0();S==null&&(S=U?bN:r.inv($));let L=c(k*S),O=c(D*S),R=r.mul($,S);if(U)return{x:_n,y:Re};if(R!==Re)throw new Error("invZ was invalid");return{x:L,y:O}}),y=Tu(C=>{let{a:S,d:k}=i;if(C.is0())throw new Error("bad point: ZERO");let{X:D,Y:$,Z:U,T:L}=C,O=c(D*D),R=c($*$),q=c(U*U),oe=c(q*q),ue=c(O*S),me=c(q*c(ue+R)),Ae=c(oe+c(k*c(O*R)));if(me!==Ae)throw new Error("bad point: equation left != right (1)");let ve=c(D*$),lt=c(U*L);if(ve!==lt)throw new Error("bad point: equation left != right (2)");return!0}),x=class x{constructor(S,k,D,$){I(this,"X");I(this,"Y");I(this,"Z");I(this,"T");this.X=l("x",S),this.Y=l("y",k),this.Z=l("z",D,!0),this.T=l("t",$),Object.freeze(this)}static CURVE(){return i}static fromAffine(S){if(S instanceof x)throw new Error("extended point not allowed");let{x:k,y:D}=S||{};return l("x",k),l("y",D),new x(k,D,Re,c(k*D))}static fromBytes(S,k=!1){let D=r.BYTES,{a:$,d:U}=i;S=oo(ee(S,D,"point")),io(k,"zip215");let L=oo(S),O=S[D-1];L[D-1]=O&-129;let R=Mr(L),q=k?a:r.ORDER;bu("point.y",R,_n,q);let oe=c(R*R),ue=c(oe-Re),me=c(U*oe-$),{isValid:Ae,value:ve}=u(ue,me);if(!Ae)throw new Error("bad point: invalid y coordinate");let lt=(ve&Re)===Re,pt=(O&128)!==0;if(!k&&ve===_n&&pt)throw new Error("bad point: x=0 and x_0=1");return pt!==lt&&(ve=c(-ve)),x.fromAffine({x:ve,y:R})}static fromHex(S,k=!1){return x.fromBytes(fs(S),k)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(S=8,k=!0){return E.createCache(this,S),k||this.multiply(Iu),this}assertValidity(){y(this)}equals(S){p(S);let{X:k,Y:D,Z:$}=this,{X:U,Y:L,Z:O}=S,R=c(k*O),q=c(U*$),oe=c(D*O),ue=c(L*$);return R===q&&oe===ue}is0(){return this.equals(x.ZERO)}negate(){return new x(c(-this.X),this.Y,this.Z,c(-this.T))}double(){let{a:S}=i,{X:k,Y:D,Z:$}=this,U=c(k*k),L=c(D*D),O=c(Iu*c($*$)),R=c(S*U),q=k+D,oe=c(c(q*q)-U-L),ue=R+L,me=ue-O,Ae=R-L,ve=c(oe*me),lt=c(ue*Ae),pt=c(oe*Ae),bt=c(me*ue);return new x(ve,lt,bt,pt)}add(S){p(S);let{a:k,d:D}=i,{X:$,Y:U,Z:L,T:O}=this,{X:R,Y:q,Z:oe,T:ue}=S,me=c($*R),Ae=c(U*q),ve=c(O*D*ue),lt=c(L*oe),pt=c(($+U)*(R+q)-me-Ae),bt=lt-ve,pr=lt+ve,Qr=c(Ae-k*me),fa=c(pt*bt),xl=c(pr*Qr),kl=c(pt*Qr),Zb=c(bt*pr);return new x(fa,xl,Zb,kl)}subtract(S){return this.add(S.negate())}multiply(S){if(!s.isValidNot0(S))throw new Error("invalid scalar: expected 1 <= sc < curve.n");let{p:k,f:D}=E.cached(this,S,$=>po(x,$));return po(x,[k,D])[0]}multiplyUnsafe(S,k=x.ZERO){if(!s.isValid(S))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return S===_n?x.ZERO:this.is0()||S===Re?this:E.unsafe(this,S,D=>po(x,D),k)}isSmallOrder(){return this.multiplyUnsafe(o).is0()}isTorsionFree(){return E.unsafe(this,i.n).is0()}toAffine(S){return d(this,S)}clearCofactor(){return o===Re?this:this.multiplyUnsafe(o)}toBytes(){let{x:S,y:k}=this.toAffine(),D=r.toBytes(k);return D[D.length-1]|=S&Re?128:0,D}toHex(){return yn(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}};I(x,"BASE",new x(i.Gx,i.Gy,Re,c(i.Gx*i.Gy))),I(x,"ZERO",new x(_n,Re,Re,_n)),I(x,"Fp",r),I(x,"Fn",s);let g=x,E=new lo(g,s.BITS);return g.BASE.precompute(8),g}function Ry(e,t,n={}){if(typeof t!="function")throw new Error('"hash" function param is required');Ds(n,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});let{prehash:r}=n,{BASE:s,Fp:i,Fn:o}=e,a=n.randomBytes||lc,c=n.adjustScalarBytes||(O=>O),u=n.domain||((O,R,q)=>{if(io(q,"phflag"),R.length||q)throw new Error("Contexts/pre-hash are not supported");return O});function l(O){return o.create(Mr(O))}function p(O){let R=k.secretKey;ee(O,k.secretKey,"secretKey");let q=ee(t(O),2*R,"hashedSecretKey"),oe=c(q.slice(0,R)),ue=q.slice(R,2*R),me=l(oe);return{head:oe,prefix:ue,scalar:me}}function d(O){let{head:R,prefix:q,scalar:oe}=p(O),ue=s.multiply(oe),me=ue.toBytes();return{head:R,prefix:q,scalar:oe,point:ue,pointBytes:me}}function y(O){return d(O).pointBytes}function g(O=Uint8Array.of(),...R){let q=ds(...R);return l(t(u(q,ee(O,void 0,"context"),!!r)))}function E(O,R,q={}){O=ee(O,void 0,"message"),r&&(O=r(O));let{prefix:oe,scalar:ue,pointBytes:me}=d(R),Ae=g(q.context,oe,O),ve=s.multiply(Ae).toBytes(),lt=g(q.context,ve,me,O),pt=o.create(Ae+lt*ue);if(!o.isValid(pt))throw new Error("sign failed: invalid s");let bt=ds(ve,o.toBytes(pt));return ee(bt,k.signature,"result")}let x={zip215:!0};function C(O,R,q,oe=x){let{context:ue,zip215:me}=oe,Ae=k.signature;O=ee(O,Ae,"signature"),R=ee(R,void 0,"message"),q=ee(q,k.publicKey,"publicKey"),me!==void 0&&io(me,"zip215"),r&&(R=r(R));let ve=Ae/2,lt=O.subarray(0,ve),pt=Mr(O.subarray(ve,Ae)),bt,pr,Qr;try{bt=e.fromBytes(q,me),pr=e.fromBytes(lt,me),Qr=s.multiplyUnsafe(pt)}catch{return!1}if(!me&&bt.isSmallOrder())return!1;let fa=g(ue,pr.toBytes(),bt.toBytes(),R);return pr.add(bt.multiplyUnsafe(fa)).subtract(Qr).clearCofactor().is0()}let S=i.BYTES,k={secretKey:S,publicKey:S,signature:2*S,seed:S};function D(O=a(k.seed)){return ee(O,k.seed,"seed")}function $(O){return vi(O)&&O.length===o.BYTES}function U(O,R){try{return!!e.fromBytes(O,R)}catch{return!1}}let L={getExtendedPublicKey:d,randomSecretKey:D,isValidSecretKey:$,isValidPublicKey:U,toMontgomery(O){let{y:R}=e.fromBytes(O),q=k.publicKey,oe=q===32;if(!oe&&q!==57)throw new Error("only defined for 25519 and 448");let ue=oe?i.div(Re+R,Re-R):i.div(R-Re,R+Re);return i.toBytes(ue)},toMontgomerySecret(O){let R=k.secretKey;ee(O,R);let q=t(O.subarray(0,R));return c(q).subarray(0,R)}};return Object.freeze({keygen:Ay(D,y),getPublicKey:y,sign:E,verify:C,utils:L,Point:e,lengths:k})}var vN=BigInt(1),Dy=BigInt(2);var wN=BigInt(5),EN=BigInt(8),_u=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),xN={p:_u,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:EN,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function kN(e){let t=BigInt(10),n=BigInt(20),r=BigInt(40),s=BigInt(80),i=_u,a=e*e%i*e%i,c=It(a,Dy,i)*a%i,u=It(c,vN,i)*e%i,l=It(u,wN,i)*u%i,p=It(l,t,i)*l%i,d=It(p,n,i)*p%i,y=It(d,r,i)*d%i,g=It(y,s,i)*y%i,E=It(g,s,i)*y%i,x=It(E,t,i)*l%i;return{pow_p_5_8:It(x,Dy,i)*e%i,b2:a}}function SN(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var jy=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function IN(e,t){let n=_u,r=_e(t*t*t,n),s=_e(r*r*t,n),i=kN(e*s).pow_p_5_8,o=_e(e*r*i,n),a=_e(t*o*o,n),c=o,u=_e(o*jy,n),l=a===e,p=a===_e(-e,n),d=a===_e(-e*jy,n);return l&&(o=c),(p||d)&&(o=u),wy(o,n)&&(o=_e(-o,n)),{isValid:l||p,value:o}}var _N=Cy(xN,{uvRatio:IN});function ON(e){return Ry(_N,Qn,Object.assign({adjustScalarBytes:SN},e))}var _t=ON({});var Ou=32,Ur,By=(Ur=class extends ry{constructor(t){if(super(),typeof t=="string"?this.data=K(t):t instanceof Uint8Array?this.data=t:this.data=Uint8Array.from(t),this.data.length!==Ou)throw new Error(`Invalid public key input. Expected ${Ou} bytes, got ${this.data.length}`)}equals(t){return super.equals(t)}toRawBytes(){return this.data}flag(){return Lr.ED25519}async verify(t,n){let r;if(typeof n=="string"){let s=sy(n);if(s.signatureScheme!=="ED25519")throw new Error("Invalid signature scheme");if(!mu(this.toRawBytes(),s.publicKey))throw new Error("Signature does not match public key");r=s.signature}else r=n;return _t.verify(r,t,this.toRawBytes())}},Ur.SIZE=Ou,Ur);var fo=class{constructor(t,n){I(this,"oHash");I(this,"iHash");I(this,"blockLen");I(this,"outputLen");I(this,"finished",!1);I(this,"destroyed",!1);if(wi(t),ee(n,void 0,"key"),this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let r=this.blockLen,s=new Uint8Array(r);s.set(n.length>r?t.create().update(n).digest():n);for(let i=0;i<s.length;i++)s[i]^=54;this.iHash.update(s),this.oHash=t.create();for(let i=0;i<s.length;i++)s[i]^=106;this.oHash.update(s),at(s)}update(t){return Qt(this),this.iHash.update(t),this}digestInto(t){Qt(this),ee(t,this.outputLen,"output"),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));let{oHash:n,iHash:r,finished:s,destroyed:i,blockLen:o,outputLen:a}=this;return t=t,t.finished=s,t.destroyed=i,t.blockLen=o,t.outputLen=a,t.oHash=n._cloneInto(t.oHash),t.iHash=r._cloneInto(t.iHash),t}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Fr=(e,t,n)=>new fo(e,t).update(n).digest();Fr.create=(e,t)=>new fo(e,t);function NN(e,t,n,r){wi(e);let s=bp({dkLen:32,asyncTick:10},r),{c:i,dkLen:o,asyncTick:a}=s;if(Ue(i,"c"),Ue(o,"dkLen"),Ue(a,"asyncTick"),i<1)throw new Error("iterations (c) must be >= 1");let c=uc(t,"password"),u=uc(n,"salt"),l=new Uint8Array(o),p=Fr.create(e,c),d=p._cloneInto().update(u);return{c:i,dkLen:o,asyncTick:a,DK:l,PRF:p,PRFSalt:d}}function AN(e,t,n,r,s){return e.destroy(),t.destroy(),r&&r.destroy(),at(s),n}function Py(e,t,n,r){let{c:s,dkLen:i,DK:o,PRF:a,PRFSalt:c}=NN(e,t,n,r),u,l=new Uint8Array(4),p=vr(l),d=new Uint8Array(a.outputLen);for(let y=1,g=0;g<i;y++,g+=a.outputLen){let E=o.subarray(g,g+a.outputLen);p.setInt32(0,y,!1),(u=c._cloneInto(u)).update(l).digestInto(d),E.set(d.subarray(0,E.length));for(let x=1;x<s;x++){a._cloneInto(u).update(d).digestInto(d);for(let C=0;C<E.length;C++)E[C]^=d[C]}}return AN(a,c,o,u,d)}function Ly(e){if(typeof e!="string")throw new TypeError("invalid mnemonic type: "+typeof e);return e.normalize("NFKD")}function CN(e){let t=Ly(e),n=t.split(" ");if(![12,15,18,21,24].includes(n.length))throw new Error("Invalid mnemonic");return{nfkd:t,words:n}}var RN=e=>Ly("mnemonic"+e);function My(e,t=""){return Py(Qn,CN(e).nfkd,RN(t),{c:2048,dkLen:64})}function Nu(e){return!!new RegExp("^m\\/44'\\/784'\\/[0-9]+'\\/[0-9]+'\\/[0-9]+'+$").test(e)}function DN(e){return My(e,"")}function Uy(e){return Xe(DN(e))}function Fy({signature:e,signatureScheme:t,publicKey:n}){if(!n)throw new Error("`publicKey` is required");let r=n.toRawBytes(),s=new Uint8Array(1+e.length+r.length);return s.set([Lr[t]]),s.set(e,1),s.set(r,1+e.length),X(s)}var js=32;var Vy="suiprivkey",jN=class{async signWithIntent(e,t){let n=en(ro(t,e),{dkLen:32});return{signature:Fy({signature:await this.sign(n),signatureScheme:this.getKeyScheme(),publicKey:this.getPublicKey()}),bytes:X(e)}}async signTransaction(e){return this.signWithIntent(e,"TransactionData")}async signPersonalMessage(e){let{signature:t}=await this.signWithIntent(f.byteVector().serialize(e).toBytes(),"PersonalMessage");return{bytes:X(e),signature:t}}async signAndExecuteTransaction({transaction:e,client:t}){e.setSenderIfNotSet(this.toSuiAddress());let n=await e.build({client:t}),{signature:r}=await this.signTransaction(n);return t.core.executeTransaction({transaction:n,signatures:[r],include:{transaction:!0,effects:!0}})}toSuiAddress(){return this.getPublicKey().toSuiAddress()}},Gy=class extends jN{};function qy(e){let{prefix:t,words:n}=rs.decode(e);if(t!==Vy)throw new Error("invalid private key prefix");let r=new Uint8Array(rs.fromWords(n)),s=r.slice(1);return{scheme:Rs[r[0]],secretKey:s}}function $y(e,t){if(e.length!==js)throw new Error("Invalid bytes length");let n=Lr[t],r=new Uint8Array(e.length+1);return r.set([n]),r.set(e,1),rs.encode(Vy,rs.toWords(r))}var BN="ed25519 seed",PN=2147483648,LN=new RegExp("^m(\\/[0-9]+')+$"),zy=e=>e.replace("'",""),MN=e=>{let t=Fr.create(Qn,new TextEncoder().encode(BN)).update(At(e)).digest();return{key:t.slice(0,32),chainCode:t.slice(32)}},UN=({key:e,chainCode:t},n)=>{let r=new ArrayBuffer(4);new DataView(r).setUint32(0,n);let s=new Uint8Array(1+e.length+r.byteLength);s.set(new Uint8Array(1).fill(0)),s.set(e,1),s.set(new Uint8Array(r,0,r.byteLength),e.length+1);let i=Fr.create(Qn,t).update(s).digest();return{key:i.slice(0,32),chainCode:i.slice(32)}},FN=e=>LN.test(e)?!e.split("/").slice(1).map(zy).some(isNaN):!1,Au=(e,t,n=PN)=>{if(!FN(e))throw new Error("Invalid derivation path");let{key:r,chainCode:s}=MN(t);return e.split("/").slice(1).map(zy).map(i=>parseInt(i,10)).reduce((i,o)=>UN(i,o+n),{key:r,chainCode:s})};var Cu="m/44'/784'/0'/0'/0'",Ru=class Bs extends Gy{constructor(t){if(super(),t)this.keypair={publicKey:t.publicKey,secretKey:t.secretKey.slice(0,32)};else{let n=_t.utils.randomSecretKey();this.keypair={publicKey:_t.getPublicKey(n),secretKey:n}}}getKeyScheme(){return"ED25519"}static generate(){let t=_t.utils.randomSecretKey();return new Bs({publicKey:_t.getPublicKey(t),secretKey:t})}static fromSecretKey(t,n){if(typeof t=="string"){let i=qy(t);if(i.scheme!=="ED25519")throw new Error(`Expected a ED25519 keypair, got ${i.scheme}`);return this.fromSecretKey(i.secretKey,n)}let r=t.length;if(r!==js)throw new Error(`Wrong secretKey size. Expected ${js} bytes, got ${r}.`);let s={publicKey:_t.getPublicKey(t),secretKey:t};if(!n||!n.skipValidation){let i=new TextEncoder().encode("sui validation"),o=_t.sign(i,t);if(!_t.verify(o,i,s.publicKey))throw new Error("provided secretKey is invalid")}return new Bs(s)}getPublicKey(){return new By(this.keypair.publicKey)}getSecretKey(){return $y(this.keypair.secretKey.slice(0,js),this.getKeyScheme())}async sign(t){return _t.sign(t,this.keypair.secretKey)}static deriveKeypair(t,n){if(n==null&&(n=Cu),!Nu(n))throw new Error("Invalid derivation path");let{key:r}=Au(n,Uy(t));return Bs.fromSecretKey(r)}static deriveKeypairFromSeed(t,n){if(n==null&&(n=Cu),!Nu(n))throw new Error("Invalid derivation path");let{key:r}=Au(n,t);return Bs.fromSecretKey(r)}};function Hy(e,t,n){let r=B.Address.serialize(e).toBytes(),s=B.TypeTag.serialize(t).toBytes(),i=B.u64().serialize(n.length).toBytes(),o=en.create({dkLen:32});return o.update(new Uint8Array([240])),o.update(r),o.update(i),o.update(n),o.update(s),`0x${Xe(o.digest().slice(0,32))}`}var On,Ve,Vr,Wy=(Vr=class{constructor({prefix:t,cache:n}={}){le(this,On);le(this,Ve);W(this,On,t??[]),W(this,Ve,n??new Map)}read(t,n){let r=[h(this,On),...t].join(":");if(h(this,Ve).has(r))return h(this,Ve).get(r);let s=n();return h(this,Ve).set(r,s),typeof s=="object"&&s!==null&&"then"in s?Promise.resolve(s).then(i=>(h(this,Ve).set(r,i),i)).catch(i=>{throw h(this,Ve).delete(r),i}):s}readSync(t,n){let r=[h(this,On),...t].join(":");if(h(this,Ve).has(r))return h(this,Ve).get(r);let s=n();return h(this,Ve).set(r,s),s}clear(t){let n=[...h(this,On),...t??[]].join(":");if(!n){h(this,Ve).clear();return}for(let r of h(this,Ve).keys())r.startsWith(n)&&h(this,Ve).delete(r)}scope(t){return new Vr({prefix:[...h(this,On),...Array.isArray(t)?t:[t]],cache:h(this,Ve)})}},On=new WeakMap,Ve=new WeakMap,Vr);var mo=class{constructor({network:e,base:t,cache:n=t?.cache??new Wy}){this.network=e,this.base=t??this,this.cache=n}$extend(...e){let t=Object.fromEntries(e.map(r=>[r.name,r.register(this)])),n=new Map;return new Proxy(this,{get(r,s,i){if(typeof s=="string"&&s in t)return t[s];let o=Reflect.get(r,s,i);return typeof o=="function"?s==="$extend"?o.bind(i):(n.has(s)||n.set(s,o.bind(r)),n.get(s)):o}})}};var VN={mainnet:"https://mainnet.mvr.mystenlabs.com",testnet:"https://testnet.mvr.mystenlabs.com"},Jy=class extends mo{constructor(e){super(e),this.core=this,this.mvr=new Wp({cache:this.cache.scope("core.mvr"),url:e.mvr?.url??VN[this.network],pageSize:e.mvr?.pageSize,overrides:e.mvr?.overrides})}async getObject(e){let{objectId:t}=e,{objects:[n]}=await this.getObjects({objectIds:[t],signal:e.signal,include:e.include});if(n instanceof Error)throw n;return{object:n}}async getDynamicField(e){let t=hn.parseFromStr((await this.core.mvr.resolveType({type:e.name.type})).type),n=Hy(e.parentId,t,e.name.bcs),{objects:[r]}=await this.getObjects({objectIds:[n],signal:e.signal,include:{previousTransaction:!0,content:!0}});if(r instanceof Error)throw r;let s=zt(r.type),i=await r.content;return{dynamicField:{fieldId:r.objectId,digest:r.digest,version:r.version,type:r.type,previousTransaction:r.previousTransaction,name:{type:typeof s.typeParams[0]=="string"?s.typeParams[0]:Ht(s.typeParams[0]),bcs:e.name.bcs},value:{type:typeof s.typeParams[1]=="string"?s.typeParams[1]:Ht(s.typeParams[1]),bcs:i.slice(fn+e.name.bcs.length)}}}}async getDynamicObjectField(e){let t=`0x2::dynamic_object_field::Wrapper<${(await this.core.mvr.resolveType({type:e.name.type})).type}>`,{dynamicField:n}=await this.getDynamicField({parentId:e.parentId,name:{type:t,bcs:e.name.bcs},signal:e.signal}),{object:r}=await this.getObject({objectId:B.Address.parse(n.value.bcs),signal:e.signal,include:e.include});return{object:r}}async waitForTransaction(e){let{signal:t,timeout:n=60*1e3,include:r}=e,s="result"in e&&e.result?(e.result.Transaction??e.result.FailedTransaction).digest:e.digest,i=t?AbortSignal.any([AbortSignal.timeout(n),t]):AbortSignal.timeout(n),o=new Promise((a,c)=>{i.addEventListener("abort",()=>c(i.reason))});for(o.catch(()=>{});;){i.throwIfAborted();try{return await this.getTransaction({digest:s,include:r,signal:i})}catch{await Promise.race([new Promise(a=>setTimeout(a,2e3)),o])}}}async signAndExecuteTransaction({transaction:e,signer:t,additionalSignatures:n=[],...r}){let s;e instanceof Uint8Array?s=e:(e.setSenderIfNotSet(t.toSuiAddress()),s=await e.build({client:this}));let{signature:i}=await t.signTransaction(s);return this.executeTransaction({transaction:s,signatures:[i,...n],...r})}};var GN=new Intl.PluralRules("en-US",{type:"ordinal"}),qN=new Map([["one","st"],["two","nd"],["few","rd"],["other","th"]]);function $N(e){return`${e}${qN.get(GN.select(e))}`}function Zy(e){let{command:t,location:n,abortCode:r,cleverError:s}=e,i=[];if(t!=null?i.push(`MoveAbort in ${$N(t+1)} command`):i.push("MoveAbort"),s?.constantName){let o=s.value?`'${s.constantName}': ${s.value}`:`'${s.constantName}'`;i.push(o)}else i.push(`abort code: ${r}`);if(n?.package&&n?.module){let o=[`in '${[n.package.startsWith("0x")?n.package:`0x${n.package}`,n.module,n.functionName].filter(Boolean).join("::")}'`];s?.lineNumber!=null?o.push(`(line ${s.lineNumber})`):n.instruction!=null&&o.push(`(instruction ${n.instruction})`),i.push(o.join(" "))}return i.join(", ")}var Yy=B.struct("MinimalEffectsWithError",{status:Ti}),$3=B.enum("MinimalTransactionEffectsWithError",{V1:Yy,V2:Yy}),zN=B.enum("MinimalExecutionStatusNoError",{Success:null,Failed:null}),Xy=B.struct("MinimalEffectsNoError",{status:zN}),z3=B.enum("MinimalTransactionEffectsNoError",{V1:Xy,V2:Xy});function je(e){let t=typeof e;if(t=="object"){if(Array.isArray(e))return"array";if(e===null)return"null"}return t}function Nn(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}var on="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),ho=[];for(let e=0;e<on.length;e++)ho[on[e].charCodeAt(0)]=e;ho[45]=on.indexOf("+");ho[95]=on.indexOf("/");function Ps(e){let t=e.length*3/4;e[e.length-2]=="="?t-=2:e[e.length-1]=="="&&(t-=1);let n=new Uint8Array(t),r=0,s=0,i,o=0;for(let a=0;a<e.length;a++){if(i=ho[e.charCodeAt(a)],i===void 0)switch(e[a]){case"=":s=0;case`
|
|
8
|
+
${String(r)}`);Ea(t);for(let s=0;s<t.callbacks.length;s++){let i=r[s];i instanceof Error?t.callbacks[s].reject(i):t.callbacks[s].resolve(i)}}).catch(r=>{wa(e,t,r)})}function wa(e,t,n){Ea(t);for(let r=0;r<t.keys.length;r++)e.clear(t.keys[r]),t.callbacks[r].reject(n)}function Ea(e){if(e.cacheHits)for(let t=0;t<e.cacheHits.length;t++)e.cacheHits[t]()}function bT(e){if(!(!e||e.batch!==!1))return 1;let t=e&&e.maxBatchSize;if(t===void 0)return 1/0;if(typeof t!="number"||t<1)throw new TypeError(`maxBatchSize must be a positive number: ${t}`);return t}function TT(e){let t=e&&e.batchScheduleFn;if(t===void 0)return hT;if(typeof t!="function")throw new TypeError(`batchScheduleFn must be a function: ${t}`);return t}function vT(e){let t=e&&e.cacheKeyFn;if(t===void 0)return n=>n;if(typeof t!="function")throw new TypeError(`cacheKeyFn must be a function: ${t}`);return t}function wT(e){if(!(!e||e.cache!==!1))return null;let t=e&&e.cacheMap;if(t===void 0)return new Map;if(t!==null){let n=["get","set","delete","clear"].filter(r=>t&&typeof t[r]!="function");if(n.length!==0)throw new TypeError("Custom cacheMap missing methods: "+n.join(", "))}return t}function ET(e){return e&&e.name?e.name:null}function ql(e){return typeof e=="object"&&e!==null&&"length"in e&&typeof e.length=="number"&&(e.length===0||e.length>0&&Object.prototype.hasOwnProperty.call(e,e.length-1))}function xa(e,t){switch(t){case"base58":return Tt(e);case"base64":return X(e);case"hex":return Xe(e);default:throw new Error("Unsupported encoding, supported values are: base64, hex")}}function ss(e,t=["<",">"]){let[n,r]=t,s=[],i="",o=0;for(let a=0;a<e.length;a++){let c=e[a];if(c===n&&o++,c===r&&o--,o===0&&c===","){s.push(i.trim()),i="";continue}i+=c}return s.push(i.trim()),s}var $l=class{constructor({initialSize:e=1024,maxSize:t=1/0,allocateSize:n=1024}={}){this.bytePosition=0,this.size=e,this.maxSize=t,this.allocateSize=n,this.dataView=new DataView(new ArrayBuffer(e))}ensureSizeOrGrow(e){let t=this.bytePosition+e;if(t>this.size){let n=Math.min(this.maxSize,Math.max(this.size+t,this.size+this.allocateSize));if(t>n)throw new Error(`Attempting to serialize to BCS, but buffer does not have enough size. Allocated size: ${this.size}, Max size: ${this.maxSize}, Required size: ${t}`);this.size=n;let r=new ArrayBuffer(this.size);new Uint8Array(r).set(new Uint8Array(this.dataView.buffer)),this.dataView=new DataView(r)}}shift(e){return this.bytePosition+=e,this}write8(e){return this.ensureSizeOrGrow(1),this.dataView.setUint8(this.bytePosition,Number(e)),this.shift(1)}writeBytes(e){this.ensureSizeOrGrow(e.length);for(let t=0;t<e.length;t++)this.dataView.setUint8(this.bytePosition+t,e[t]);return this.shift(e.length)}write16(e){return this.ensureSizeOrGrow(2),this.dataView.setUint16(this.bytePosition,Number(e),!0),this.shift(2)}write32(e){return this.ensureSizeOrGrow(4),this.dataView.setUint32(this.bytePosition,Number(e),!0),this.shift(4)}write64(e){return ka(BigInt(e),8).forEach(t=>this.write8(t)),this}write128(e){return ka(BigInt(e),16).forEach(t=>this.write8(t)),this}write256(e){return ka(BigInt(e),32).forEach(t=>this.write8(t)),this}writeULEB(e){return Un(e).forEach(t=>this.write8(t)),this}writeVec(e,t){return this.writeULEB(e.length),Array.from(e).forEach((n,r)=>t(this,n,r,e.length)),this}*[Symbol.iterator](){for(let e=0;e<this.bytePosition;e++)yield this.dataView.getUint8(e);return this.toBytes()}toBytes(){return new Uint8Array(this.dataView.buffer.slice(0,this.bytePosition))}toString(e){return xa(this.toBytes(),e)}};function ka(e,t){let n=new Uint8Array(t),r=0;for(;e>0;)n[r]=Number(e%BigInt(256)),e=e/BigInt(256),r+=1;return n}var Fn,dr,mr,Ze=(mr=class{constructor(t){le(this,Fn);le(this,dr);this.name=t.name,this.read=t.read,this.serializedSize=t.serializedSize??(()=>null),W(this,Fn,t.write),W(this,dr,t.serialize??((n,r)=>{let s=new $l({initialSize:this.serializedSize(n)??void 0,...r});return h(this,Fn).call(this,n,s),s.toBytes()})),this.validate=t.validate??(()=>{})}write(t,n){this.validate(t),h(this,Fn).call(this,t,n)}serialize(t,n){return this.validate(t),new Wl(this,h(this,dr).call(this,t,n))}parse(t){let n=new Rl(t);return this.read(n)}fromHex(t){return this.parse(At(t))}fromBase58(t){return this.parse(Nt(t))}fromBase64(t){return this.parse(K(t))}transform({name:t,input:n,output:r,validate:s}){return new mr({name:t??this.name,read:i=>r?r(this.read(i)):this.read(i),write:(i,o)=>h(this,Fn).call(this,n?n(i):i,o),serializedSize:i=>this.serializedSize(n?n(i):i),serialize:(i,o)=>h(this,dr).call(this,n?n(i):i,o),validate:i=>{s?.(i),this.validate(n?n(i):i)}})}},Fn=new WeakMap,dr=new WeakMap,mr),Hl=Symbol.for("@mysten/serialized-bcs");function hr(e){return!!e&&typeof e=="object"&&e[Hl]===!0}var is,$t,zl,Wl=(zl=class{constructor(e,t){le(this,is);le(this,$t);W(this,is,e),W(this,$t,t)}get[Hl](){return!0}toBytes(){return h(this,$t)}toHex(){return Xe(h(this,$t))}toBase64(){return X(h(this,$t))}toBase58(){return Tt(h(this,$t))}parse(){return h(this,is).parse(h(this,$t))}},is=new WeakMap,$t=new WeakMap,zl);function os({size:e,...t}){return new Ze({...t,serializedSize:()=>e})}function li({readMethod:e,writeMethod:t,...n}){return os({...n,read:r=>r[e](),write:(r,s)=>s[t](r),validate:r=>{if(r<0||r>n.maxValue)throw new TypeError(`Invalid ${n.name} value: ${r}. Expected value in range 0-${n.maxValue}`);n.validate?.(r)}})}function pi({readMethod:e,writeMethod:t,...n}){return os({...n,read:r=>r[e](),write:(r,s)=>s[t](BigInt(r)),validate:r=>{let s=BigInt(r);if(s<0||s>n.maxValue)throw new TypeError(`Invalid ${n.name} value: ${s}. Expected value in range 0-${n.maxValue}`);n.validate?.(s)}})}function Jl({serialize:e,...t}){let n=new Ze({...t,serialize:e,write:(r,s)=>{for(let i of n.serialize(r).toBytes())s.write8(i)}});return n}function Yl({toBytes:e,fromBytes:t,...n}){return new Ze({...n,read:r=>{let s=r.readULEB();return t(r.readBytes(s))},write:(r,s)=>{let i=e(r);s.writeULEB(i.length);for(let o=0;o<i.length;o++)s.write8(i[o])},serialize:r=>{let s=e(r),i=Un(s.length),o=new Uint8Array(i.length+s.length);return o.set(i,0),o.set(s,i.length),o},validate:r=>{if(typeof r!="string")throw new TypeError(`Invalid ${n.name} value: ${r}. Expected string`);n.validate?.(r)}})}function Xl(e){let t=null;function n(){return t||(t=e()),t}return new Ze({name:"lazy",read:r=>n().read(r),serializedSize:r=>n().serializedSize(r),write:(r,s)=>n().write(r,s),serialize:(r,s)=>n().serialize(r,s).toBytes()})}var fi=class extends Ze{constructor({name:e,fields:t,...n}){let r=Object.entries(t);super({name:e,serializedSize:s=>{let i=0;for(let[o,a]of r){let c=a.serializedSize(s[o]);if(c==null)return null;i+=c}return i},read:s=>{let i={};for(let[o,a]of r)i[o]=a.read(s);return i},write:(s,i)=>{for(let[o,a]of r)a.write(s[o],i)},...n,validate:s=>{if(n?.validate?.(s),typeof s!="object"||s==null)throw new TypeError(`Expected object, found ${typeof s}`)}})}},di=class extends Ze{constructor({fields:e,...t}){let n=Object.entries(e);super({read:r=>{let s=r.readULEB(),i=n[s];if(!i)throw new TypeError(`Unknown value ${s} for enum ${t.name}`);let[o,a]=i;return{[o]:a?.read(r)??!0,$kind:o}},write:(r,s)=>{let[i,o]=Object.entries(r).filter(([a])=>Object.hasOwn(e,a))[0];for(let a=0;a<n.length;a++){let[c,u]=n[a];if(c===i){s.writeULEB(a),u?.write(o,s);return}}},...t,validate:r=>{if(t?.validate?.(r),typeof r!="object"||r==null)throw new TypeError(`Expected object, found ${typeof r}`);let s=Object.keys(r).filter(o=>r[o]!==void 0&&Object.hasOwn(e,o));if(s.length!==1)throw new TypeError(`Expected object with one key, but found ${s.length} for type ${t.name}}`);let[i]=s;if(!Object.hasOwn(e,i))throw new TypeError(`Invalid enum variant ${i}`)}})}},mi=class extends Ze{constructor({fields:e,name:t,...n}){super({name:t??`(${e.map(r=>r.name).join(", ")})`,serializedSize:r=>{let s=0;for(let i=0;i<e.length;i++){let o=e[i].serializedSize(r[i]);if(o==null)return null;s+=o}return s},read:r=>{let s=[];for(let i of e)s.push(i.read(r));return s},write:(r,s)=>{for(let i=0;i<e.length;i++)e[i].write(r[i],s)},...n,validate:r=>{if(n?.validate?.(r),!Array.isArray(r))throw new TypeError(`Expected array, found ${typeof r}`);if(r.length!==e.length)throw new TypeError(`Expected array of length ${e.length}, found ${r.length}`)}})}};function xT(e,t,n){return new Ze({read:r=>{let s=new Array(e);for(let i=0;i<e;i++)s[i]=t.read(r);return s},write:(r,s)=>{for(let i of r)t.write(i,s)},...n,name:n?.name??`${t.name}[${e}]`,validate:r=>{if(n?.validate?.(r),!r||typeof r!="object"||!("length"in r))throw new TypeError(`Expected array, found ${typeof r}`);if(r.length!==e)throw new TypeError(`Expected array of length ${e}, found ${r.length}`)}})}function kT(e){return f.enum(`Option<${e.name}>`,{None:null,Some:e}).transform({input:t=>t==null?{None:!0}:{Some:t},output:t=>t.$kind==="Some"?t.Some:null})}function ST(e,t){return new Ze({read:n=>{let r=n.readULEB(),s=new Array(r);for(let i=0;i<r;i++)s[i]=e.read(n);return s},write:(n,r)=>{r.writeULEB(n.length);for(let s of n)e.write(s,r)},...t,name:t?.name??`vector<${e.name}>`,validate:n=>{if(t?.validate?.(n),!n||typeof n!="object"||!("length"in n))throw new TypeError(`Expected array, found ${typeof n}`)}})}function Sa(e,t){for(let n=0;n<Math.min(e.length,t.length);n++)if(e[n]!==t[n])return e[n]-t[n];return e.length-t.length}function IT(e,t){return new Ze({name:`Map<${e.name}, ${t.name}>`,read:n=>{let r=n.readULEB(),s=new Map;for(let i=0;i<r;i++)s.set(e.read(n),t.read(n));return s},write:(n,r)=>{let s=[...n.entries()].map(([i,o])=>[e.serialize(i).toBytes(),o]);s.sort(([i],[o])=>Sa(i,o)),r.writeULEB(s.length);for(let[i,o]of s)r.writeBytes(i),t.write(o,r)}})}var f={u8(e){return li({readMethod:"read8",writeMethod:"write8",size:1,maxValue:2**8-1,...e,name:e?.name??"u8"})},u16(e){return li({readMethod:"read16",writeMethod:"write16",size:2,maxValue:2**16-1,...e,name:e?.name??"u16"})},u32(e){return li({readMethod:"read32",writeMethod:"write32",size:4,maxValue:2**32-1,...e,name:e?.name??"u32"})},u64(e){return pi({readMethod:"read64",writeMethod:"write64",size:8,maxValue:2n**64n-1n,...e,name:e?.name??"u64"})},u128(e){return pi({readMethod:"read128",writeMethod:"write128",size:16,maxValue:2n**128n-1n,...e,name:e?.name??"u128"})},u256(e){return pi({readMethod:"read256",writeMethod:"write256",size:32,maxValue:2n**256n-1n,...e,name:e?.name??"u256"})},bool(e){return os({size:1,read:t=>t.read8()===1,write:(t,n)=>n.write8(t?1:0),...e,name:e?.name??"bool",validate:t=>{if(e?.validate?.(t),typeof t!="boolean")throw new TypeError(`Expected boolean, found ${typeof t}`)}})},uleb128(e){return Jl({read:t=>t.readULEB(),serialize:t=>Uint8Array.from(Un(t)),...e,name:e?.name??"uleb128"})},bytes(e,t){return os({size:e,read:n=>n.readBytes(e),write:(n,r)=>{r.writeBytes(new Uint8Array(n))},...t,name:t?.name??`bytes[${e}]`,validate:n=>{if(t?.validate?.(n),!n||typeof n!="object"||!("length"in n))throw new TypeError(`Expected array, found ${typeof n}`);if(n.length!==e)throw new TypeError(`Expected array of length ${e}, found ${n.length}`)}})},byteVector(e){return new Ze({read:t=>{let n=t.readULEB();return t.readBytes(n)},write:(t,n)=>{let r=new Uint8Array(t);n.writeULEB(r.length),n.writeBytes(r)},...e,name:e?.name??"vector<u8>",serializedSize:t=>{let n="length"in t?t.length:null;return n==null?null:Un(n).length+n},validate:t=>{if(e?.validate?.(t),!t||typeof t!="object"||!("length"in t))throw new TypeError(`Expected array, found ${typeof t}`)}})},string(e){return Yl({toBytes:t=>new TextEncoder().encode(t),fromBytes:t=>new TextDecoder().decode(t),...e,name:e?.name??"string"})},fixedArray:xT,option:kT,vector:ST,tuple(e,t){return new mi({fields:e,...t})},struct(e,t,n){return new fi({name:e,fields:t,...n})},enum(e,t,n){return new di({name:e,fields:t,...n})},map:IT,lazy(e){return Xl(e)}};var fn=32;function Vn(e){return OT(e)&&NT(e)===fn}function _T(e){return e.includes("::")?zt(e):e}function zt(e){let t=e.split("::");if(t.length<3)throw new Error(`Invalid struct tag: ${e}`);let[n,r]=t,s=fr(n),i=e.slice(n.length+r.length+4),o=i.includes("<")?i.slice(0,i.indexOf("<")):i,a=i.includes("<")?ss(i.slice(i.indexOf("<")+1,i.lastIndexOf(">"))).map(c=>_T(c.trim())):[];return{address:s?n:Y(n),module:r,name:o,typeParams:a}}function Ht(e){let{address:t,module:n,name:r,typeParams:s}=typeof e=="string"?zt(e):e;return`${t}::${n}::${r}${s?.length>0?`<${s.map(i=>typeof i=="string"?i:Ht(i)).join(",")}>`:""}`}function Y(e,t=!1){let n=e.toLowerCase();return!t&&n.startsWith("0x")&&(n=n.slice(2)),`0x${n.padStart(fn*2,"0")}`}function as(e,t=!1){return Y(e,t)}function OT(e){return/^(0x|0X)?[a-fA-F0-9]+$/.test(e)&&e.length%2===0}function NT(e){return/^(0x|0X)/.test(e)?(e.length-2)/2:e.length/2}var Ia;function Kl(e){return{lang:e?.lang??Ia?.lang,message:e?.message,abortEarly:e?.abortEarly??Ia?.abortEarly,abortPipeEarly:e?.abortPipeEarly??Ia?.abortPipeEarly}}var AT;function CT(e){return AT?.get(e)}var RT;function DT(e){return RT?.get(e)}var jT;function BT(e,t){return jT?.get(e)?.get(t)}function Ql(e){let t=typeof e;return t==="string"?`"${e}"`:t==="number"||t==="bigint"||t==="boolean"?`${e}`:t==="object"||t==="function"?(e&&Object.getPrototypeOf(e)?.constructor?.name)??"null":t}function Ke(e,t,n,r,s){let i=s&&"input"in s?s.input:n.value,o=s?.expected??e.expects??null,a=s?.received??Ql(i),c={kind:e.kind,type:e.type,input:i,expected:o,received:a,message:`Invalid ${t}: ${o?`Expected ${o} but r`:"R"}eceived ${a}`,requirement:e.requirement,path:s?.path,issues:s?.issues,lang:r.lang,abortEarly:r.abortEarly,abortPipeEarly:r.abortPipeEarly},u=e.kind==="schema",l=s?.message??e.message??BT(e.reference,c.lang)??(u?DT(c.lang):null)??r.message??CT(c.lang);l!==void 0&&(c.message=typeof l=="function"?l(c):l),u&&(n.typed=!1),n.issues?n.issues.push(c):n.issues=[c]}function Le(e){return{version:1,vendor:"valibot",validate(t){return e["~run"]({value:t},Kl())}}}function PT(e,t){return Object.hasOwn(e,t)&&t!=="__proto__"&&t!=="prototype"&&t!=="constructor"}function LT(e,t){let n=[...new Set(e)];return n.length>1?`(${n.join(` ${t} `)})`:n[0]??"never"}var MT=class extends Error{constructor(e){super(e[0].message),this.name="ValiError",this.issues=e}};function dn(e,t){return{kind:"validation",type:"check",reference:dn,async:!1,expects:null,requirement:e,message:t,"~run"(n,r){return n.typed&&!this.requirement(n.value)&&Ke(this,"input",n,r),n}}}function he(e){return{kind:"validation",type:"integer",reference:he,async:!1,expects:null,requirement:Number.isInteger,message:e,"~run"(t,n){return t.typed&&!this.requirement(t.value)&&Ke(this,"integer",t,n),t}}}function hi(e){return{kind:"transformation",type:"transform",reference:hi,async:!1,operation:e,"~run"(t){return t.value=this.operation(t.value),t}}}function UT(e,t,n){return typeof e.fallback=="function"?e.fallback(t,n):e.fallback}function gi(e,t,n){return typeof e.default=="function"?e.default(t,n):e.default}function cs(e,t){return!e["~run"]({value:t},{abortEarly:!0}).issues}function G(e,t){return{kind:"schema",type:"array",reference:G,expects:"Array",async:!1,item:e,message:t,get"~standard"(){return Le(this)},"~run"(n,r){let s=n.value;if(Array.isArray(s)){n.typed=!0,n.value=[];for(let i=0;i<s.length;i++){let o=s[i],a=this.item["~run"]({value:o},r);if(a.issues){let c={type:"array",origin:"value",input:s,key:i,value:o};for(let u of a.issues)u.path?u.path.unshift(c):u.path=[c],n.issues?.push(u);if(n.issues||(n.issues=a.issues),r.abortEarly){n.typed=!1;break}}a.typed||(n.typed=!1),n.value.push(a.value)}}else Ke(this,"type",n,r);return n}}}function yi(e){return{kind:"schema",type:"bigint",reference:yi,expects:"bigint",async:!1,message:e,get"~standard"(){return Le(this)},"~run"(t,n){return typeof t.value=="bigint"?t.typed=!0:Ke(this,"type",t,n),t}}}function Wt(e){return{kind:"schema",type:"boolean",reference:Wt,expects:"boolean",async:!1,message:e,get"~standard"(){return Le(this)},"~run"(t,n){return typeof t.value=="boolean"?t.typed=!0:Ke(this,"type",t,n),t}}}function Gn(e){return{kind:"schema",type:"lazy",reference:Gn,expects:"unknown",async:!1,getter:e,get"~standard"(){return Le(this)},"~run"(t,n){return this.getter(t.value)["~run"](t,n)}}}function F(e,t){return{kind:"schema",type:"literal",reference:F,expects:Ql(e),async:!1,literal:e,message:t,get"~standard"(){return Le(this)},"~run"(n,r){return n.value===this.literal?n.typed=!0:Ke(this,"type",n,r),n}}}function Z(e,t){return{kind:"schema",type:"nullable",reference:Z,expects:`(${e.expects} | null)`,async:!1,wrapped:e,default:t,get"~standard"(){return Le(this)},"~run"(n,r){return n.value===null&&(this.default!==void 0&&(n.value=gi(this,n,r)),n.value===null)?(n.typed=!0,n):this.wrapped["~run"](n,r)}}}function Jt(e,t){return{kind:"schema",type:"nullish",reference:Jt,expects:`(${e.expects} | null | undefined)`,async:!1,wrapped:e,default:t,get"~standard"(){return Le(this)},"~run"(n,r){return(n.value===null||n.value===void 0)&&(this.default!==void 0&&(n.value=gi(this,n,r)),n.value===null||n.value===void 0)?(n.typed=!0,n):this.wrapped["~run"](n,r)}}}function de(e){return{kind:"schema",type:"number",reference:de,expects:"number",async:!1,message:e,get"~standard"(){return Le(this)},"~run"(t,n){return typeof t.value=="number"&&!isNaN(t.value)?t.typed=!0:Ke(this,"type",t,n),t}}}function _(e,t){return{kind:"schema",type:"object",reference:_,expects:"Object",async:!1,entries:e,message:t,get"~standard"(){return Le(this)},"~run"(n,r){let s=n.value;if(s&&typeof s=="object"){n.typed=!0,n.value={};for(let i in this.entries){let o=this.entries[i];if(i in s||(o.type==="exact_optional"||o.type==="optional"||o.type==="nullish")&&o.default!==void 0){let a=i in s?s[i]:gi(o),c=o["~run"]({value:a},r);if(c.issues){let u={type:"object",origin:"value",input:s,key:i,value:a};for(let l of c.issues)l.path?l.path.unshift(u):l.path=[u],n.issues?.push(l);if(n.issues||(n.issues=c.issues),r.abortEarly){n.typed=!1;break}}c.typed||(n.typed=!1),n.value[i]=c.value}else if(o.fallback!==void 0)n.value[i]=UT(o);else if(o.type!=="exact_optional"&&o.type!=="optional"&&o.type!=="nullish"&&(Ke(this,"key",n,r,{input:void 0,expected:`"${i}"`,path:[{type:"object",origin:"key",input:s,key:i,value:s[i]}]}),r.abortEarly))break}}else Ke(this,"type",n,r);return n}}}function Te(e,t){return{kind:"schema",type:"optional",reference:Te,expects:`(${e.expects} | undefined)`,async:!1,wrapped:e,default:t,get"~standard"(){return Le(this)},"~run"(n,r){return n.value===void 0&&(this.default!==void 0&&(n.value=gi(this,n,r)),n.value===void 0)?(n.typed=!0,n):this.wrapped["~run"](n,r)}}}function qn(e,t,n){return{kind:"schema",type:"record",reference:qn,expects:"Object",async:!1,key:e,value:t,message:n,get"~standard"(){return Le(this)},"~run"(r,s){let i=r.value;if(i&&typeof i=="object"){r.typed=!0,r.value={};for(let o in i)if(PT(i,o)){let a=i[o],c=this.key["~run"]({value:o},s);if(c.issues){let l={type:"object",origin:"key",input:i,key:o,value:a};for(let p of c.issues)p.path=[l],r.issues?.push(p);if(r.issues||(r.issues=c.issues),s.abortEarly){r.typed=!1;break}}let u=this.value["~run"]({value:a},s);if(u.issues){let l={type:"object",origin:"value",input:i,key:o,value:a};for(let p of u.issues)p.path?p.path.unshift(l):p.path=[l],r.issues?.push(p);if(r.issues||(r.issues=u.issues),s.abortEarly){r.typed=!1;break}}(!c.typed||!u.typed)&&(r.typed=!1),c.typed&&(r.value[c.value]=u.value)}}else Ke(this,"type",r,s);return r}}}function z(e){return{kind:"schema",type:"string",reference:z,expects:"string",async:!1,message:e,get"~standard"(){return Le(this)},"~run"(t,n){return typeof t.value=="string"?t.typed=!0:Ke(this,"type",t,n),t}}}function us(e,t){return{kind:"schema",type:"tuple",reference:us,expects:"Array",async:!1,items:e,message:t,get"~standard"(){return Le(this)},"~run"(n,r){let s=n.value;if(Array.isArray(s)){n.typed=!0,n.value=[];for(let i=0;i<this.items.length;i++){let o=s[i],a=this.items[i]["~run"]({value:o},r);if(a.issues){let c={type:"array",origin:"value",input:s,key:i,value:o};for(let u of a.issues)u.path?u.path.unshift(c):u.path=[c],n.issues?.push(u);if(n.issues||(n.issues=a.issues),r.abortEarly){n.typed=!1;break}}a.typed||(n.typed=!1),n.value.push(a.value)}}else Ke(this,"type",n,r);return n}}}function Zl(e){let t;if(e)for(let n of e)t?t.push(...n.issues):t=n.issues;return t}function we(e,t){return{kind:"schema",type:"union",reference:we,expects:LT(e.map(n=>n.expects),"|"),async:!1,options:e,message:t,get"~standard"(){return Le(this)},"~run"(n,r){let s,i,o;for(let a of this.options){let c=a["~run"]({value:n.value},r);if(c.typed)if(c.issues)i?i.push(c):i=[c];else{s=c;break}else o?o.push(c):o=[c]}if(s)return s;if(i){if(i.length===1)return i[0];Ke(this,"type",n,r,{issues:Zl(i)}),n.typed=!0}else{if(o?.length===1)return o[0];Ke(this,"type",n,r,{issues:Zl(o)})}return n}}}function Ct(){return{kind:"schema",type:"unknown",reference:Ct,expects:"unknown",async:!1,get"~standard"(){return Le(this)},"~run"(e){return e.typed=!0,e}}}function ae(e,t,n){let r=e["~run"]({value:t},Kl(n));if(r.issues)throw new MT(r.issues);return r.value}function ie(...e){return{...e[0],pipe:e,get"~standard"(){return Le(this)},"~run"(t,n){for(let r of e)if(r.kind!=="metadata"){if(t.issues&&(r.kind==="schema"||r.kind==="transformation")){t.typed=!1;break}(!t.issues||!n.abortEarly&&!n.abortPipeEarly)&&(t=r["~run"](t,n))}return t}}}function wt(e){return we(Object.keys(e).map(t=>ls(t,_({[t]:e[t]}))))}function ls(e,t){return ie(_({...t.entries,$kind:Te(F(e))}),hi(n=>({...n,$kind:e})))}var $n=ie(z(),hi(e=>Y(e)),dn(Vn)),qe=$n,mn=z(),Ee=ie(we([z(),ie(de(),he())]),dn(e=>{try{return BigInt(e),BigInt(e)>=0&&BigInt(e)<=18446744073709551615n}catch{return!1}},"Invalid u64")),FT=ie(de(),he(),dn(e=>e>=0&&e<2**32,"Invalid u32")),vt=_({objectId:$n,version:Ee,digest:z()}),ce=we([ls("GasCoin",_({GasCoin:F(!0)})),ls("Input",_({Input:ie(de(),he()),type:Te(we([F("pure"),F("object"),F("withdrawal")]))})),ls("Result",_({Result:ie(de(),he())})),ls("NestedResult",_({NestedResult:us([ie(de(),he()),ie(de(),he())])}))]),VT=_({budget:Z(Ee),price:Z(Ee),owner:Z($n),payment:Z(G(vt))}),BB=_({address:z(),module:z(),name:z(),typeParams:G(z())}),_a=we([_({$kind:F("address")}),_({$kind:F("bool")}),_({$kind:F("u8")}),_({$kind:F("u16")}),_({$kind:F("u32")}),_({$kind:F("u64")}),_({$kind:F("u128")}),_({$kind:F("u256")}),_({$kind:F("unknown")}),_({$kind:F("vector"),vector:Gn(()=>_a)}),_({$kind:F("datatype"),datatype:_({typeName:z(),typeParameters:G(Gn(()=>_a))})}),_({$kind:F("typeParameter"),index:ie(de(),he())})]),GT=_({reference:Z(we([F("mutable"),F("immutable"),F("unknown")])),body:_a}),qT=_({package:qe,module:z(),function:z(),typeArguments:G(z()),arguments:G(ce),_argumentTypes:Te(Z(G(GT)))}),$T=_({name:z(),inputs:qn(z(),we([ce,G(ce)])),data:qn(z(),Ct())}),zT=wt({MoveCall:qT,TransferObjects:_({objects:G(ce),address:ce}),SplitCoins:_({coin:ce,amounts:G(ce)}),MergeCoins:_({destination:ce,sources:G(ce)}),Publish:_({modules:G(mn),dependencies:G(qe)}),MakeMoveVec:_({type:Z(z()),elements:G(ce)}),Upgrade:_({modules:G(mn),dependencies:G(qe),package:qe,ticket:ce}),$Intent:$T}),ep=wt({ImmOrOwnedObject:vt,SharedObject:_({objectId:qe,initialSharedVersion:Ee,mutable:Wt()}),Receiving:vt}),HT=wt({MaxAmountU64:Ee}),WT=wt({Balance:z()}),JT=wt({Sender:F(!0),Sponsor:F(!0)}),Oa=_({reservation:HT,typeArg:WT,withdrawFrom:JT}),YT=wt({Object:ep,Pure:_({bytes:mn}),UnresolvedPure:_({value:Ct()}),UnresolvedObject:_({objectId:qe,version:Te(Z(Ee)),digest:Te(Z(z())),initialSharedVersion:Te(Z(Ee)),mutable:Te(Z(Wt()))}),FundsWithdrawal:Oa}),Na=wt({Object:ep,Pure:_({bytes:mn})}),Aa=_({minEpoch:Z(Ee),maxEpoch:Z(Ee),minTimestamp:Z(Ee),maxTimestamp:Z(Ee),chain:z(),nonce:FT}),Ca=wt({None:F(!0),Epoch:Ee,ValidDuring:Aa}),gr=_({version:F(2),sender:Jt($n),expiration:Jt(Ca),gasData:VT,inputs:G(YT),commands:G(zT)});function yr(e){if(typeof e=="string")return Y(e);if(e.Object)return e.Object.ImmOrOwnedObject?Y(e.Object.ImmOrOwnedObject.objectId):e.Object.Receiving?Y(e.Object.Receiving.objectId):Y(e.Object.SharedObject.objectId);if(e.UnresolvedObject)return Y(e.UnresolvedObject.objectId)}function tp(e,t,n){let r=s=>{switch(s.$kind){case"Input":{let i=t.get(s.Input);if(i===void 0)throw new Error(`Input ${s.Input} not found in input mapping`);return{...s,Input:i}}case"Result":{let i=n.get(s.Result);return i!==void 0?{...s,Result:i}:s}case"NestedResult":{let i=n.get(s.NestedResult[0]);return i!==void 0?{...s,NestedResult:[i,s.NestedResult[1]]}:s}default:return s}};switch(e.$kind){case"MoveCall":e.MoveCall.arguments=e.MoveCall.arguments.map(r);break;case"TransferObjects":e.TransferObjects.objects=e.TransferObjects.objects.map(r),e.TransferObjects.address=r(e.TransferObjects.address);break;case"SplitCoins":e.SplitCoins.coin=r(e.SplitCoins.coin),e.SplitCoins.amounts=e.SplitCoins.amounts.map(r);break;case"MergeCoins":e.MergeCoins.destination=r(e.MergeCoins.destination),e.MergeCoins.sources=e.MergeCoins.sources.map(r);break;case"MakeMoveVec":e.MakeMoveVec.elements=e.MakeMoveVec.elements.map(r);break;case"Upgrade":e.Upgrade.ticket=r(e.Upgrade.ticket);break;case"$Intent":{let s=e.$Intent.inputs;e.$Intent.inputs={};for(let[i,o]of Object.entries(s))e.$Intent.inputs[i]=Array.isArray(o)?o.map(r):r(o);break}case"Publish":break}}var XT=/^vector<(.+)>$/,ZT=/^([^:]+)::([^:]+)::([^<]+)(<(.+)>)?/,hn=class br{static parseFromStr(t,n=!1){if(t==="address")return{address:null};if(t==="bool")return{bool:null};if(t==="u8")return{u8:null};if(t==="u16")return{u16:null};if(t==="u32")return{u32:null};if(t==="u64")return{u64:null};if(t==="u128")return{u128:null};if(t==="u256")return{u256:null};if(t==="signer")return{signer:null};let r=t.match(XT);if(r)return{vector:br.parseFromStr(r[1],n)};let s=t.match(ZT);if(s)return{struct:{address:n?Y(s[1]):s[1],module:s[2],name:s[3],typeParams:s[5]===void 0?[]:br.parseStructTypeArgs(s[5],n)}};throw new Error(`Encountered unexpected token when parsing type args for ${t}`)}static parseStructTypeArgs(t,n=!1){return ss(t).map(r=>br.parseFromStr(r,n))}static tagToString(t){if("bool"in t)return"bool";if("u8"in t)return"u8";if("u16"in t)return"u16";if("u32"in t)return"u32";if("u64"in t)return"u64";if("u128"in t)return"u128";if("u256"in t)return"u256";if("address"in t)return"address";if("signer"in t)return"signer";if("vector"in t)return`vector<${br.tagToString(t.vector)}>`;if("struct"in t){let n=t.struct,r=n.typeParams.map(br.tagToString).join(", ");return`${n.address}::${n.module}::${n.name}${r?`<${r}>`:""}`}throw new Error("Invalid TypeTag")}};function KT(e){return f.u64({name:"unsafe_u64",...e}).transform({input:t=>t,output:t=>Number(t)})}function QT(e){return f.enum("Option",{None:null,Some:e})}var Q=f.bytes(fn).transform({validate:e=>{let t=typeof e=="string"?e:Xe(e);if(!t||!Vn(Y(t)))throw new Error(`Invalid Sui address ${t}`)},input:e=>typeof e=="string"?At(Y(e)):e,output:e=>Y(Xe(e))}),Me=f.byteVector().transform({name:"ObjectDigest",input:e=>Nt(e),output:e=>Tt(new Uint8Array(e)),validate:e=>{if(Nt(e).length!==32)throw new Error("ObjectDigest must be 32 bytes")}}),Qe=f.struct("SuiObjectRef",{objectId:Q,version:f.u64(),digest:Me}),Ra=f.struct("SharedObjectRef",{objectId:Q,initialSharedVersion:f.u64(),mutable:f.bool()}),Da=f.enum("ObjectArg",{ImmOrOwnedObject:Qe,SharedObject:Ra,Receiving:Qe}),Rt=f.enum("Owner",{AddressOwner:Q,ObjectOwner:Q,Shared:f.struct("Shared",{initialSharedVersion:f.u64()}),Immutable:null,ConsensusAddressOwner:f.struct("ConsensusAddressOwner",{startVersion:f.u64(),owner:Q})}),ev=f.enum("Reservation",{MaxAmountU64:f.u64()}),tv=f.enum("WithdrawalType",{Balance:f.lazy(()=>gn)}),nv=f.enum("WithdrawFrom",{Sender:null,Sponsor:null}),rv=f.struct("FundsWithdrawal",{reservation:ev,typeArg:tv,withdrawFrom:nv}),ja=f.enum("CallArg",{Pure:f.struct("Pure",{bytes:f.byteVector().transform({input:e=>typeof e=="string"?K(e):e,output:e=>X(new Uint8Array(e))})}),Object:Da,FundsWithdrawal:rv}),Ba=f.enum("TypeTag",{bool:null,u8:null,u64:null,u128:null,address:null,signer:null,vector:f.lazy(()=>Ba),struct:f.lazy(()=>bi),u16:null,u32:null,u256:null}),gn=Ba.transform({input:e=>typeof e=="string"?hn.parseFromStr(e,!0):e,output:e=>hn.tagToString(e)}),Et=f.enum("Argument",{GasCoin:null,Input:f.u16(),Result:f.u16(),NestedResult:f.tuple([f.u16(),f.u16()])}),Pa=f.struct("ProgrammableMoveCall",{package:Q,module:f.string(),function:f.string(),typeArguments:f.vector(gn),arguments:f.vector(Et)}),La=f.enum("Command",{MoveCall:Pa,TransferObjects:f.struct("TransferObjects",{objects:f.vector(Et),address:Et}),SplitCoins:f.struct("SplitCoins",{coin:Et,amounts:f.vector(Et)}),MergeCoins:f.struct("MergeCoins",{destination:Et,sources:f.vector(Et)}),Publish:f.struct("Publish",{modules:f.vector(f.byteVector().transform({input:e=>typeof e=="string"?K(e):e,output:e=>X(new Uint8Array(e))})),dependencies:f.vector(Q)}),MakeMoveVec:f.struct("MakeMoveVec",{type:QT(gn).transform({input:e=>e===null?{None:!0}:{Some:e},output:e=>e.Some??null}),elements:f.vector(Et)}),Upgrade:f.struct("Upgrade",{modules:f.vector(f.byteVector().transform({input:e=>typeof e=="string"?K(e):e,output:e=>X(new Uint8Array(e))})),dependencies:f.vector(Q),package:Q,ticket:Et})}),Ma=f.struct("ProgrammableTransaction",{inputs:f.vector(ja),commands:f.vector(La)}),Ua=f.enum("TransactionKind",{ProgrammableTransaction:Ma,ChangeEpoch:null,Genesis:null,ConsensusCommitPrologue:null}),sv=f.struct("ValidDuring",{minEpoch:f.option(f.u64()),maxEpoch:f.option(f.u64()),minTimestamp:f.option(f.u64()),maxTimestamp:f.option(f.u64()),chain:Me,nonce:f.u32()}),Fa=f.enum("TransactionExpiration",{None:null,Epoch:KT(),ValidDuring:sv}),bi=f.struct("StructTag",{address:Q,module:f.string(),name:f.string(),typeParams:f.vector(Ba)}),Va=f.struct("GasData",{payment:f.vector(Qe),owner:Q,price:f.u64(),budget:f.u64()}),Ga=f.struct("TransactionDataV1",{kind:Ua,sender:Q,gasData:Va,expiration:Fa}),qa=f.enum("TransactionData",{V1:Ga}),$a=f.enum("IntentScope",{TransactionData:null,TransactionEffects:null,CheckpointSummary:null,PersonalMessage:null}),za=f.enum("IntentVersion",{V0:null}),Ha=f.enum("AppId",{Sui:null}),Wa=f.struct("Intent",{scope:$a,version:za,appId:Ha});function Ja(e){return f.struct(`IntentMessage<${e.name}>`,{intent:Wa,value:e})}var Ya=f.enum("CompressedSignature",{ED25519:f.bytes(64),Secp256k1:f.bytes(64),Secp256r1:f.bytes(64),ZkLogin:f.byteVector(),Passkey:f.byteVector()}),Xa=f.enum("PublicKey",{ED25519:f.bytes(32),Secp256k1:f.bytes(33),Secp256r1:f.bytes(33),ZkLogin:f.byteVector(),Passkey:f.bytes(33)}),Za=f.struct("MultiSigPkMap",{pubKey:Xa,weight:f.u8()}),Ka=f.struct("MultiSigPublicKey",{pk_map:f.vector(Za),threshold:f.u16()}),np=f.struct("MultiSig",{sigs:f.vector(Ya),bitmap:f.u16(),multisig_pk:Ka}),iv=f.byteVector().transform({input:e=>typeof e=="string"?K(e):e,output:e=>X(new Uint8Array(e))}),Qa=f.struct("SenderSignedTransaction",{intentMessage:Ja(qa),txSignatures:f.vector(iv)}),rp=f.vector(Qa,{name:"SenderSignedData"}),sp=f.struct("PasskeyAuthenticator",{authenticatorData:f.byteVector(),clientDataJson:f.string(),userSignature:f.byteVector()}),ec=f.enum("MoveObjectType",{Other:bi,GasCoin:null,StakedSui:null,Coin:gn,AccumulatorBalanceWrapper:null}),tc=f.struct("TypeOrigin",{moduleName:f.string(),datatypeName:f.string(),package:Q}),nc=f.struct("UpgradeInfo",{upgradedId:Q,upgradedVersion:f.u64()}),rc=f.struct("MovePackage",{id:Q,version:f.u64(),moduleMap:f.map(f.string(),f.byteVector()),typeOriginTable:f.vector(tc),linkageTable:f.map(Q,nc)}),sc=f.struct("MoveObject",{type:ec,hasPublicTransfer:f.bool(),version:f.u64(),contents:f.byteVector()}),ic=f.enum("Data",{Move:sc,Package:rc}),ip=f.struct("ObjectInner",{data:ic,owner:Rt,previousTransaction:Me,storageRebate:f.u64()});var ov=f.enum("PackageUpgradeError",{UnableToFetchPackage:f.struct("UnableToFetchPackage",{packageId:Q}),NotAPackage:f.struct("NotAPackage",{objectId:Q}),IncompatibleUpgrade:null,DigestDoesNotMatch:f.struct("DigestDoesNotMatch",{digest:f.byteVector()}),UnknownUpgradePolicy:f.struct("UnknownUpgradePolicy",{policy:f.u8()}),PackageIDDoesNotMatch:f.struct("PackageIDDoesNotMatch",{packageId:Q,ticketId:Q})}),av=f.struct("ModuleId",{address:Q,name:f.string()}),op=f.struct("MoveLocation",{module:av,function:f.u16(),instruction:f.u16(),functionName:f.option(f.string())}),cv=f.enum("CommandArgumentError",{TypeMismatch:null,InvalidBCSBytes:null,InvalidUsageOfPureArg:null,InvalidArgumentToPrivateEntryFunction:null,IndexOutOfBounds:f.struct("IndexOutOfBounds",{idx:f.u16()}),SecondaryIndexOutOfBounds:f.struct("SecondaryIndexOutOfBounds",{resultIdx:f.u16(),secondaryIdx:f.u16()}),InvalidResultArity:f.struct("InvalidResultArity",{resultIdx:f.u16()}),InvalidGasCoinUsage:null,InvalidValueUsage:null,InvalidObjectByValue:null,InvalidObjectByMutRef:null,SharedObjectOperationNotAllowed:null,InvalidArgumentArity:null,InvalidTransferObject:null,InvalidMakeMoveVecNonObjectArgument:null,ArgumentWithoutValue:null,CannotMoveBorrowedValue:null,CannotWriteToExtendedReference:null,InvalidReferenceArgument:null}),uv=f.enum("TypeArgumentError",{TypeNotFound:null,ConstraintNotSatisfied:null}),lv=f.enum("ExecutionFailureStatus",{InsufficientGas:null,InvalidGasObject:null,InvariantViolation:null,FeatureNotYetSupported:null,MoveObjectTooBig:f.struct("MoveObjectTooBig",{objectSize:f.u64(),maxObjectSize:f.u64()}),MovePackageTooBig:f.struct("MovePackageTooBig",{objectSize:f.u64(),maxObjectSize:f.u64()}),CircularObjectOwnership:f.struct("CircularObjectOwnership",{object:Q}),InsufficientCoinBalance:null,CoinBalanceOverflow:null,PublishErrorNonZeroAddress:null,SuiMoveVerificationError:null,MovePrimitiveRuntimeError:f.option(op),MoveAbort:f.tuple([op,f.u64()]),VMVerificationOrDeserializationError:null,VMInvariantViolation:null,FunctionNotFound:null,ArityMismatch:null,TypeArityMismatch:null,NonEntryFunctionInvoked:null,CommandArgumentError:f.struct("CommandArgumentError",{argIdx:f.u16(),kind:cv}),TypeArgumentError:f.struct("TypeArgumentError",{argumentIdx:f.u16(),kind:uv}),UnusedValueWithoutDrop:f.struct("UnusedValueWithoutDrop",{resultIdx:f.u16(),secondaryIdx:f.u16()}),InvalidPublicFunctionReturnType:f.struct("InvalidPublicFunctionReturnType",{idx:f.u16()}),InvalidTransferObject:null,EffectsTooLarge:f.struct("EffectsTooLarge",{currentSize:f.u64(),maxSize:f.u64()}),PublishUpgradeMissingDependency:null,PublishUpgradeDependencyDowngrade:null,PackageUpgradeError:f.struct("PackageUpgradeError",{upgradeError:ov}),WrittenObjectsTooLarge:f.struct("WrittenObjectsTooLarge",{currentSize:f.u64(),maxSize:f.u64()}),CertificateDenied:null,SuiMoveVerificationTimedout:null,SharedObjectOperationNotAllowed:null,InputObjectDeleted:null,ExecutionCancelledDueToSharedObjectCongestion:f.struct("ExecutionCancelledDueToSharedObjectCongestion",{congested_objects:f.vector(Q)}),AddressDeniedForCoin:f.struct("AddressDeniedForCoin",{address:Q,coinType:f.string()}),CoinTypeGlobalPause:f.struct("CoinTypeGlobalPause",{coinType:f.string()}),ExecutionCancelledDueToRandomnessUnavailable:null,MoveVectorElemTooBig:f.struct("MoveVectorElemTooBig",{valueSize:f.u64(),maxScaledSize:f.u64()}),MoveRawValueTooBig:f.struct("MoveRawValueTooBig",{valueSize:f.u64(),maxScaledSize:f.u64()}),InvalidLinkage:null,InsufficientBalanceForWithdraw:null,NonExclusiveWriteInputObjectModified:f.struct("NonExclusiveWriteInputObjectModified",{id:Q})}),Ti=f.enum("ExecutionStatus",{Success:null,Failure:f.struct("Failure",{error:lv,command:f.option(f.u64())})}),ap=f.struct("GasCostSummary",{computationCost:f.u64(),storageCost:f.u64(),storageRebate:f.u64(),nonRefundableStorageFee:f.u64()}),pv=f.struct("TransactionEffectsV1",{status:Ti,executedEpoch:f.u64(),gasUsed:ap,modifiedAtVersions:f.vector(f.tuple([Q,f.u64()])),sharedObjects:f.vector(Qe),transactionDigest:Me,created:f.vector(f.tuple([Qe,Rt])),mutated:f.vector(f.tuple([Qe,Rt])),unwrapped:f.vector(f.tuple([Qe,Rt])),deleted:f.vector(Qe),unwrappedThenDeleted:f.vector(Qe),wrapped:f.vector(Qe),gasObject:f.tuple([Qe,Rt]),eventsDigest:f.option(Me),dependencies:f.vector(Me)}),oc=f.tuple([f.u64(),Me]),fv=f.enum("ObjectIn",{NotExist:null,Exist:f.tuple([oc,Rt])}),dv=f.struct("AccumulatorAddress",{address:Q,ty:gn}),mv=f.enum("AccumulatorOperation",{Merge:null,Split:null}),hv=f.enum("AccumulatorValue",{Integer:f.u64(),IntegerTuple:f.tuple([f.u64(),f.u64()]),EventDigest:f.vector(f.tuple([f.u64(),Me]))}),gv=f.struct("AccumulatorWriteV1",{address:dv,operation:mv,value:hv}),yv=f.enum("ObjectOut",{NotExist:null,ObjectWrite:f.tuple([Me,Rt]),PackageWrite:oc,AccumulatorWriteV1:gv}),bv=f.enum("IDOperation",{None:null,Created:null,Deleted:null}),Tv=f.struct("EffectsObjectChange",{inputState:fv,outputState:yv,idOperation:bv}),vv=f.enum("UnchangedConsensusKind",{ReadOnlyRoot:oc,MutateConsensusStreamEnded:f.u64(),ReadConsensusStreamEnded:f.u64(),Cancelled:f.u64(),PerEpochConfig:null}),wv=f.struct("TransactionEffectsV2",{status:Ti,executedEpoch:f.u64(),gasUsed:ap,transactionDigest:Me,gasObjectIndex:f.option(f.u32()),eventsDigest:f.option(Me),dependencies:f.vector(Me),lamportVersion:f.u64(),changedObjects:f.vector(f.tuple([Q,Tv])),unchangedConsensusObjects:f.vector(f.tuple([Q,vv])),auxDataDigest:f.option(Me)}),cp=f.enum("TransactionEffects",{V1:pv,V2:wv});function Tr(e){switch(e){case"u8":return f.u8();case"u16":return f.u16();case"u32":return f.u32();case"u64":return f.u64();case"u128":return f.u128();case"u256":return f.u256();case"bool":return f.bool();case"string":return f.string();case"id":case"address":return Q}let t=e.match(/^(vector|option)<(.+)>$/);if(t){let[n,r]=t.slice(1);return n==="vector"?f.vector(Tr(r)):f.option(Tr(r))}throw new Error(`Invalid Pure type name: ${e}`)}var B={...f,U8:f.u8(),U16:f.u16(),U32:f.u32(),U64:f.u64(),U128:f.u128(),U256:f.u256(),ULEB128:f.uleb128(),Bool:f.bool(),String:f.string(),Address:Q,AppId:Ha,Argument:Et,CallArg:ja,Command:La,CompressedSignature:Ya,Data:ic,GasData:Va,Intent:Wa,IntentMessage:Ja,IntentScope:$a,IntentVersion:za,MoveObject:sc,MoveObjectType:ec,MovePackage:rc,MultiSig:np,MultiSigPkMap:Za,MultiSigPublicKey:Ka,Object:ip,ObjectArg:Da,ObjectDigest:Me,Owner:Rt,PasskeyAuthenticator:sp,ProgrammableMoveCall:Pa,ProgrammableTransaction:Ma,PublicKey:Xa,SenderSignedData:rp,SenderSignedTransaction:Qa,SharedObjectRef:Ra,StructTag:bi,SuiObjectRef:Qe,TransactionData:qa,TransactionDataV1:Ga,TransactionEffects:cp,TransactionExpiration:Fa,TransactionKind:Ua,TypeOrigin:tc,TypeTag:gn,UpgradeInfo:nc};var ac=_({digest:z(),objectId:z(),version:we([ie(de(),he()),z(),yi()])}),Ev=wt({ImmOrOwned:ac,Shared:_({objectId:qe,initialSharedVersion:Ee,mutable:Wt()}),Receiving:ac}),up=wt({Object:Ev,Pure:G(ie(de(),he()))}),pp=we([_({kind:F("Input"),index:ie(de(),he()),value:Ct(),type:Te(F("object"))}),_({kind:F("Input"),index:ie(de(),he()),value:Ct(),type:F("pure")})]),xv=we([_({Epoch:ie(de(),he())}),_({None:Z(F(!0))})]),lp=ie(we([de(),z(),yi()]),dn(e=>{if(!["string","number","bigint"].includes(typeof e))return!1;try{return BigInt(e),!0}catch{return!1}})),cc=we([_({bool:Z(F(!0))}),_({u8:Z(F(!0))}),_({u64:Z(F(!0))}),_({u128:Z(F(!0))}),_({address:Z(F(!0))}),_({signer:Z(F(!0))}),_({vector:Gn(()=>cc)}),_({struct:Gn(()=>kv)}),_({u16:Z(F(!0))}),_({u32:Z(F(!0))}),_({u256:Z(F(!0))})]),kv=_({address:z(),module:z(),name:z(),typeParams:G(cc)}),Sv=_({budget:Te(lp),price:Te(lp),payment:Te(G(ac)),owner:Te(z())}),Iv=[pp,_({kind:F("GasCoin")}),_({kind:F("Result"),index:ie(de(),he())}),_({kind:F("NestedResult"),index:ie(de(),he()),resultIndex:ie(de(),he())})],Zt=we([...Iv]),_v=_({kind:F("MoveCall"),target:ie(z(),dn(e=>e.split("::").length===3)),typeArguments:G(z()),arguments:G(Zt)}),Ov=_({kind:F("TransferObjects"),objects:G(Zt),address:Zt}),Nv=_({kind:F("SplitCoins"),coin:Zt,amounts:G(Zt)}),Av=_({kind:F("MergeCoins"),destination:Zt,sources:G(Zt)}),Cv=_({kind:F("MakeMoveVec"),type:we([_({Some:cc}),_({None:Z(F(!0))})]),objects:G(Zt)}),Rv=we([_v,Ov,Nv,Av,_({kind:F("Publish"),modules:G(G(ie(de(),he()))),dependencies:G(z())}),_({kind:F("Upgrade"),modules:G(G(ie(de(),he()))),dependencies:G(z()),packageId:z(),ticket:Zt}),Cv]),oP=_({version:F(1),sender:Te(z()),expiration:Jt(xv),gasConfig:Sv,inputs:G(pp),transactions:G(Rv)});function fp(e){let t=e.inputs.map((n,r)=>{if(n.Object)return{kind:"Input",index:r,value:{Object:n.Object.ImmOrOwnedObject?{ImmOrOwned:n.Object.ImmOrOwnedObject}:n.Object.Receiving?{Receiving:{digest:n.Object.Receiving.digest,version:n.Object.Receiving.version,objectId:n.Object.Receiving.objectId}}:{Shared:{mutable:n.Object.SharedObject.mutable,initialSharedVersion:n.Object.SharedObject.initialSharedVersion,objectId:n.Object.SharedObject.objectId}}},type:"object"};if(n.Pure)return{kind:"Input",index:r,value:{Pure:Array.from(K(n.Pure.bytes))},type:"pure"};if(n.UnresolvedPure)return{kind:"Input",type:"pure",index:r,value:n.UnresolvedPure.value};if(n.UnresolvedObject)return{kind:"Input",type:"object",index:r,value:n.UnresolvedObject.objectId};throw new Error("Invalid input")});return{version:1,sender:e.sender??void 0,expiration:e.expiration?.$kind==="Epoch"?{Epoch:Number(e.expiration.Epoch)}:e.expiration?{None:!0}:null,gasConfig:{owner:e.gasData.owner??void 0,budget:e.gasData.budget??void 0,price:e.gasData.price??void 0,payment:e.gasData.payment??void 0},inputs:t,transactions:e.commands.map(n=>{if(n.MakeMoveVec)return{kind:"MakeMoveVec",type:n.MakeMoveVec.type===null?{None:!0}:{Some:hn.parseFromStr(n.MakeMoveVec.type)},objects:n.MakeMoveVec.elements.map(r=>Yt(r,t))};if(n.MergeCoins)return{kind:"MergeCoins",destination:Yt(n.MergeCoins.destination,t),sources:n.MergeCoins.sources.map(r=>Yt(r,t))};if(n.MoveCall)return{kind:"MoveCall",target:`${n.MoveCall.package}::${n.MoveCall.module}::${n.MoveCall.function}`,typeArguments:n.MoveCall.typeArguments,arguments:n.MoveCall.arguments.map(r=>Yt(r,t))};if(n.Publish)return{kind:"Publish",modules:n.Publish.modules.map(r=>Array.from(K(r))),dependencies:n.Publish.dependencies};if(n.SplitCoins)return{kind:"SplitCoins",coin:Yt(n.SplitCoins.coin,t),amounts:n.SplitCoins.amounts.map(r=>Yt(r,t))};if(n.TransferObjects)return{kind:"TransferObjects",objects:n.TransferObjects.objects.map(r=>Yt(r,t)),address:Yt(n.TransferObjects.address,t)};if(n.Upgrade)return{kind:"Upgrade",modules:n.Upgrade.modules.map(r=>Array.from(K(r))),dependencies:n.Upgrade.dependencies,packageId:n.Upgrade.package,ticket:Yt(n.Upgrade.ticket,t)};throw new Error(`Unknown transaction ${Object.keys(n)}`)})}}function Yt(e,t){if(e.$kind==="GasCoin")return{kind:"GasCoin"};if(e.$kind==="Result")return{kind:"Result",index:e.Result};if(e.$kind==="NestedResult")return{kind:"NestedResult",index:e.NestedResult[0],resultIndex:e.NestedResult[1]};if(e.$kind==="Input")return t[e.Input];throw new Error(`Invalid argument ${Object.keys(e)}`)}function dp(e){return ae(gr,{version:2,sender:e.sender??null,expiration:e.expiration?"Epoch"in e.expiration?{Epoch:e.expiration.Epoch}:{None:!0}:null,gasData:{owner:e.gasConfig.owner??null,budget:e.gasConfig.budget?.toString()??null,price:e.gasConfig.price?.toString()??null,payment:e.gasConfig.payment?.map(t=>({digest:t.digest,objectId:t.objectId,version:t.version.toString()}))??null},inputs:e.inputs.map(t=>{if(t.kind==="Input"){if(cs(up,t.value)){let n=ae(up,t.value);if(n.Object){if(n.Object.ImmOrOwned)return{Object:{ImmOrOwnedObject:{objectId:n.Object.ImmOrOwned.objectId,version:String(n.Object.ImmOrOwned.version),digest:n.Object.ImmOrOwned.digest}}};if(n.Object.Shared)return{Object:{SharedObject:{mutable:n.Object.Shared.mutable??null,initialSharedVersion:n.Object.Shared.initialSharedVersion,objectId:n.Object.Shared.objectId}}};if(n.Object.Receiving)return{Object:{Receiving:{digest:n.Object.Receiving.digest,version:String(n.Object.Receiving.version),objectId:n.Object.Receiving.objectId}}};throw new Error("Invalid object input")}return{Pure:{bytes:X(new Uint8Array(n.Pure))}}}return t.type==="object"?{UnresolvedObject:{objectId:t.value}}:{UnresolvedPure:{value:t.value}}}throw new Error("Invalid input")}),commands:e.transactions.map(t=>{switch(t.kind){case"MakeMoveVec":return{MakeMoveVec:{type:"Some"in t.type?hn.tagToString(t.type.Some):null,elements:t.objects.map(n=>Xt(n))}};case"MergeCoins":return{MergeCoins:{destination:Xt(t.destination),sources:t.sources.map(n=>Xt(n))}};case"MoveCall":{let[n,r,s]=t.target.split("::");return{MoveCall:{package:n,module:r,function:s,typeArguments:t.typeArguments,arguments:t.arguments.map(i=>Xt(i))}}}case"Publish":return{Publish:{modules:t.modules.map(n=>X(Uint8Array.from(n))),dependencies:t.dependencies}};case"SplitCoins":return{SplitCoins:{coin:Xt(t.coin),amounts:t.amounts.map(n=>Xt(n))}};case"TransferObjects":return{TransferObjects:{objects:t.objects.map(n=>Xt(n)),address:Xt(t.address)}};case"Upgrade":return{Upgrade:{modules:t.modules.map(n=>X(Uint8Array.from(n))),dependencies:t.dependencies,package:t.packageId,ticket:Xt(t.ticket)}}}throw new Error(`Unknown transaction ${Object.keys(t)}`)})})}function Xt(e){switch(e.kind){case"GasCoin":return{GasCoin:!0};case"Result":return{Result:e.index};case"NestedResult":return{NestedResult:[e.index,e.resultIndex]};case"Input":return{Input:e.index}}}function vi(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Ue(e,t=""){if(!Number.isSafeInteger(e)||e<0){let n=t&&`"${t}" `;throw new Error(`${n}expected integer >= 0, got ${e}`)}}function ee(e,t,n=""){let r=vi(e),s=e?.length,i=t!==void 0;if(!r||i&&s!==t){let o=n&&`"${n}" `,a=i?` of length ${t}`:"",c=r?`length=${s}`:`type=${typeof e}`;throw new Error(o+"expected Uint8Array"+a+", got "+c)}return e}function wi(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash must wrapped by utils.createHasher");Ue(e.outputLen),Ue(e.blockLen)}function Qt(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function Ei(e,t){ee(e,void 0,"digestInto() output");let n=t.outputLen;if(e.length<n)throw new Error('"digestInto() output" expected to be of length >='+n)}function ps(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function at(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function vr(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}var hp=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function gp(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}var Dt=hp?e=>e:e=>gp(e);function Dv(e){for(let t=0;t<e.length;t++)e[t]=gp(e[t]);return e}var zn=hp?e=>e:Dv,yp=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",jv=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function yn(e){if(ee(e),yp)return e.toHex();let t="";for(let n=0;n<e.length;n++)t+=jv[e[n]];return t}var Kt={_0:48,_9:57,A:65,F:70,a:97,f:102};function mp(e){if(e>=Kt._0&&e<=Kt._9)return e-Kt._0;if(e>=Kt.A&&e<=Kt.F)return e-(Kt.A-10);if(e>=Kt.a&&e<=Kt.f)return e-(Kt.a-10)}function fs(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(yp)return Uint8Array.fromHex(e);let t=e.length,n=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);let r=new Uint8Array(n);for(let s=0,i=0;s<n;s++,i+=2){let o=mp(e.charCodeAt(i)),a=mp(e.charCodeAt(i+1));if(o===void 0||a===void 0){let c=e[i]+e[i+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+i)}r[s]=o*16+a}return r}function Bv(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function uc(e,t=""){return typeof e=="string"?Bv(e):ee(e,void 0,t)}function ds(...e){let t=0;for(let r=0;r<e.length;r++){let s=e[r];ee(s),t+=s.length}let n=new Uint8Array(t);for(let r=0,s=0;r<e.length;r++){let i=e[r];n.set(i,s),s+=i.length}return n}function bp(e,t){if(t!==void 0&&{}.toString.call(t)!=="[object Object]")throw new Error("options must be object or undefined");return Object.assign(e,t)}function xi(e,t={}){let n=(s,i)=>e(i).update(s).digest(),r=e(void 0);return n.outputLen=r.outputLen,n.blockLen=r.blockLen,n.create=s=>e(s),Object.assign(n,t),Object.freeze(n)}function lc(e=32){let t=typeof globalThis=="object"?globalThis.crypto:null;if(typeof t?.getRandomValues!="function")throw new Error("crypto.getRandomValues must be defined");return t.getRandomValues(new Uint8Array(e))}var Tp=e=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])});var vp=Uint8Array.from([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9]);var ki=class{constructor(t,n,r,s){I(this,"blockLen");I(this,"outputLen");I(this,"padOffset");I(this,"isLE");I(this,"buffer");I(this,"view");I(this,"finished",!1);I(this,"length",0);I(this,"pos",0);I(this,"destroyed",!1);this.blockLen=t,this.outputLen=n,this.padOffset=r,this.isLE=s,this.buffer=new Uint8Array(t),this.view=vr(this.buffer)}update(t){Qt(this),ee(t);let{view:n,buffer:r,blockLen:s}=this,i=t.length;for(let o=0;o<i;){let a=Math.min(s-this.pos,i-o);if(a===s){let c=vr(t);for(;s<=i-o;o+=s)this.process(c,o);continue}r.set(t.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===s&&(this.process(n,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){Qt(this),Ei(t,this),this.finished=!0;let{buffer:n,view:r,blockLen:s,isLE:i}=this,{pos:o}=this;n[o++]=128,at(this.buffer.subarray(o)),this.padOffset>s-o&&(this.process(r,0),o=0);for(let p=o;p<s;p++)n[p]=0;r.setBigUint64(s-8,BigInt(this.length*8),i),this.process(r,0);let a=vr(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen must be aligned to 32bit");let u=c/4,l=this.get();if(u>l.length)throw new Error("_sha2: outputLen bigger than state");for(let p=0;p<u;p++)a.setUint32(4*p,l[p],i)}digest(){let{buffer:t,outputLen:n}=this;this.digestInto(t);let r=t.slice(0,n);return this.destroy(),r}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:n,buffer:r,length:s,finished:i,destroyed:o,pos:a}=this;return t.destroyed=o,t.finished=i,t.length=s,t.pos=a,s%n&&t.buffer.set(r),t}clone(){return this._cloneInto()}};var De=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var Si=BigInt(4294967295),wp=BigInt(32);function pc(e,t=!1){return t?{h:Number(e&Si),l:Number(e>>wp&Si)}:{h:Number(e>>wp&Si)|0,l:Number(e&Si)|0}}function Ep(e,t=!1){let n=e.length,r=new Uint32Array(n),s=new Uint32Array(n);for(let i=0;i<n;i++){let{h:o,l:a}=pc(e[i],t);[r[i],s[i]]=[o,a]}return[r,s]}var fc=(e,t,n)=>e>>>n,dc=(e,t,n)=>e<<32-n|t>>>n,jt=(e,t,n)=>e>>>n|t<<32-n,Bt=(e,t,n)=>e<<32-n|t>>>n,Hn=(e,t,n)=>e<<64-n|t>>>n-32,Wn=(e,t,n)=>e>>>n-32|t<<64-n,xp=(e,t)=>t,kp=(e,t)=>e;function ct(e,t,n,r){let s=(t>>>0)+(r>>>0);return{h:e+n+(s/2**32|0)|0,l:s|0}}var ms=(e,t,n)=>(e>>>0)+(t>>>0)+(n>>>0),hs=(e,t,n,r)=>t+n+r+(e/2**32|0)|0,Sp=(e,t,n,r)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0),Ip=(e,t,n,r,s)=>t+n+r+s+(e/2**32|0)|0,_p=(e,t,n,r,s)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0)+(s>>>0),Op=(e,t,n,r,s,i)=>t+n+r+s+i+(e/2**32|0)|0;var Ne=Uint32Array.from([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),A=new Uint32Array(32);function bn(e,t,n,r,s,i){let o=s[i],a=s[i+1],c=A[2*e],u=A[2*e+1],l=A[2*t],p=A[2*t+1],d=A[2*n],y=A[2*n+1],g=A[2*r],E=A[2*r+1],x=ms(c,l,o);u=hs(x,u,p,a),c=x|0,{Dh:E,Dl:g}={Dh:E^u,Dl:g^c},{Dh:E,Dl:g}={Dh:xp(E,g),Dl:kp(E,g)},{h:y,l:d}=ct(y,d,E,g),{Bh:p,Bl:l}={Bh:p^y,Bl:l^d},{Bh:p,Bl:l}={Bh:jt(p,l,24),Bl:Bt(p,l,24)},A[2*e]=c,A[2*e+1]=u,A[2*t]=l,A[2*t+1]=p,A[2*n]=d,A[2*n+1]=y,A[2*r]=g,A[2*r+1]=E}function Tn(e,t,n,r,s,i){let o=s[i],a=s[i+1],c=A[2*e],u=A[2*e+1],l=A[2*t],p=A[2*t+1],d=A[2*n],y=A[2*n+1],g=A[2*r],E=A[2*r+1],x=ms(c,l,o);u=hs(x,u,p,a),c=x|0,{Dh:E,Dl:g}={Dh:E^u,Dl:g^c},{Dh:E,Dl:g}={Dh:jt(E,g,16),Dl:Bt(E,g,16)},{h:y,l:d}=ct(y,d,E,g),{Bh:p,Bl:l}={Bh:p^y,Bl:l^d},{Bh:p,Bl:l}={Bh:Hn(p,l,63),Bl:Wn(p,l,63)},A[2*e]=c,A[2*e+1]=u,A[2*t]=l,A[2*t+1]=p,A[2*n]=d,A[2*n+1]=y,A[2*r]=g,A[2*r+1]=E}function Pv(e,t={},n,r,s){if(Ue(n),e<0||e>n)throw new Error("outputLen bigger than keyLen");let{key:i,salt:o,personalization:a}=t;if(i!==void 0&&(i.length<1||i.length>n))throw new Error('"key" expected to be undefined or of length=1..'+n);o!==void 0&&ee(o,r,"salt"),a!==void 0&&ee(a,s,"personalization")}var mc=class{constructor(t,n){I(this,"buffer");I(this,"buffer32");I(this,"finished",!1);I(this,"destroyed",!1);I(this,"length",0);I(this,"pos",0);I(this,"blockLen");I(this,"outputLen");Ue(t),Ue(n),this.blockLen=t,this.outputLen=n,this.buffer=new Uint8Array(t),this.buffer32=ps(this.buffer)}update(t){Qt(this),ee(t);let{blockLen:n,buffer:r,buffer32:s}=this,i=t.length,o=t.byteOffset,a=t.buffer;for(let c=0;c<i;){this.pos===n&&(zn(s),this.compress(s,0,!1),zn(s),this.pos=0);let u=Math.min(n-this.pos,i-c),l=o+c;if(u===n&&!(l%4)&&c+u<i){let p=new Uint32Array(a,l,Math.floor((i-c)/4));zn(p);for(let d=0;c+n<i;d+=s.length,c+=n)this.length+=n,this.compress(p,d,!1);zn(p);continue}r.set(t.subarray(c,c+u),this.pos),this.pos+=u,this.length+=u,c+=u}return this}digestInto(t){Qt(this),Ei(t,this);let{pos:n,buffer32:r}=this;this.finished=!0,at(this.buffer.subarray(n)),zn(r),this.compress(r,0,!0),zn(r);let s=ps(t);this.get().forEach((i,o)=>s[o]=Dt(i))}digest(){let{buffer:t,outputLen:n}=this;this.digestInto(t);let r=t.slice(0,n);return this.destroy(),r}_cloneInto(t){let{buffer:n,length:r,finished:s,destroyed:i,outputLen:o,pos:a}=this;return t||(t=new this.constructor({dkLen:o})),t.set(...this.get()),t.buffer.set(n),t.destroyed=i,t.finished=s,t.length=r,t.pos=a,t.outputLen=o,t}clone(){return this._cloneInto()}},hc=class extends mc{constructor(n={}){let r=n.dkLen===void 0?64:n.dkLen;super(128,r);I(this,"v0l",Ne[0]|0);I(this,"v0h",Ne[1]|0);I(this,"v1l",Ne[2]|0);I(this,"v1h",Ne[3]|0);I(this,"v2l",Ne[4]|0);I(this,"v2h",Ne[5]|0);I(this,"v3l",Ne[6]|0);I(this,"v3h",Ne[7]|0);I(this,"v4l",Ne[8]|0);I(this,"v4h",Ne[9]|0);I(this,"v5l",Ne[10]|0);I(this,"v5h",Ne[11]|0);I(this,"v6l",Ne[12]|0);I(this,"v6h",Ne[13]|0);I(this,"v7l",Ne[14]|0);I(this,"v7h",Ne[15]|0);Pv(r,n,64,16,16);let{key:s,personalization:i,salt:o}=n,a=0;if(s!==void 0&&(ee(s,void 0,"key"),a=s.length),this.v0l^=this.outputLen|a<<8|65536|1<<24,o!==void 0){ee(o,void 0,"salt");let c=ps(o);this.v4l^=Dt(c[0]),this.v4h^=Dt(c[1]),this.v5l^=Dt(c[2]),this.v5h^=Dt(c[3])}if(i!==void 0){ee(i,void 0,"personalization");let c=ps(i);this.v6l^=Dt(c[0]),this.v6h^=Dt(c[1]),this.v7l^=Dt(c[2]),this.v7h^=Dt(c[3])}if(s!==void 0){let c=new Uint8Array(this.blockLen);c.set(s),this.update(c)}}get(){let{v0l:n,v0h:r,v1l:s,v1h:i,v2l:o,v2h:a,v3l:c,v3h:u,v4l:l,v4h:p,v5l:d,v5h:y,v6l:g,v6h:E,v7l:x,v7h:C}=this;return[n,r,s,i,o,a,c,u,l,p,d,y,g,E,x,C]}set(n,r,s,i,o,a,c,u,l,p,d,y,g,E,x,C){this.v0l=n|0,this.v0h=r|0,this.v1l=s|0,this.v1h=i|0,this.v2l=o|0,this.v2h=a|0,this.v3l=c|0,this.v3h=u|0,this.v4l=l|0,this.v4h=p|0,this.v5l=d|0,this.v5h=y|0,this.v6l=g|0,this.v6h=E|0,this.v7l=x|0,this.v7h=C|0}compress(n,r,s){this.get().forEach((u,l)=>A[l]=u),A.set(Ne,16);let{h:i,l:o}=pc(BigInt(this.length));A[24]=Ne[8]^o,A[25]=Ne[9]^i,s&&(A[28]=~A[28],A[29]=~A[29]);let a=0,c=vp;for(let u=0;u<12;u++)bn(0,4,8,12,n,r+2*c[a++]),Tn(0,4,8,12,n,r+2*c[a++]),bn(1,5,9,13,n,r+2*c[a++]),Tn(1,5,9,13,n,r+2*c[a++]),bn(2,6,10,14,n,r+2*c[a++]),Tn(2,6,10,14,n,r+2*c[a++]),bn(3,7,11,15,n,r+2*c[a++]),Tn(3,7,11,15,n,r+2*c[a++]),bn(0,5,10,15,n,r+2*c[a++]),Tn(0,5,10,15,n,r+2*c[a++]),bn(1,6,11,12,n,r+2*c[a++]),Tn(1,6,11,12,n,r+2*c[a++]),bn(2,7,8,13,n,r+2*c[a++]),Tn(2,7,8,13,n,r+2*c[a++]),bn(3,4,9,14,n,r+2*c[a++]),Tn(3,4,9,14,n,r+2*c[a++]);this.v0l^=A[0]^A[16],this.v0h^=A[1]^A[17],this.v1l^=A[2]^A[18],this.v1h^=A[3]^A[19],this.v2l^=A[4]^A[20],this.v2h^=A[5]^A[21],this.v3l^=A[6]^A[22],this.v3h^=A[7]^A[23],this.v4l^=A[8]^A[24],this.v4h^=A[9]^A[25],this.v5l^=A[10]^A[26],this.v5h^=A[11]^A[27],this.v6l^=A[12]^A[28],this.v6h^=A[13]^A[29],this.v7l^=A[14]^A[30],this.v7h^=A[15]^A[31],at(A)}destroy(){this.destroyed=!0,at(this.buffer32),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},en=xi(e=>new hc(e));function Ap(e,t){let n=Array.from(`${e}::`).map(s=>s.charCodeAt(0)),r=new Uint8Array(n.length+t.length);return r.set(n),r.set(t,n.length),en(r,{dkLen:32})}function Cp(e){return Y(e).replace("0x","")}var wr=class Jn{static fromKindBytes(t){let n=B.TransactionKind.parse(t).ProgrammableTransaction;if(!n)throw new Error("Unable to deserialize from bytes.");return Jn.restore({version:2,sender:null,expiration:null,gasData:{budget:null,owner:null,payment:null,price:null},inputs:n.inputs,commands:n.commands})}static fromBytes(t){let n=B.TransactionData.parse(t)?.V1,r=n.kind.ProgrammableTransaction;if(!n||!r)throw new Error("Unable to deserialize from bytes.");return Jn.restore({version:2,sender:n.sender,expiration:n.expiration,gasData:n.gasData,inputs:r.inputs,commands:r.commands})}static restore(t){return t.version===2?new Jn(ae(gr,t)):new Jn(ae(gr,dp(t)))}static getDigestFromBytes(t){return Tt(Ap("TransactionData",t))}constructor(t){this.version=2,this.sender=t?.sender??null,this.expiration=t?.expiration??null,this.inputs=t?.inputs??[],this.commands=t?.commands??[],this.gasData=t?.gasData??{budget:null,price:null,owner:null,payment:null}}build({maxSizeBytes:t=1/0,overrides:n,onlyTransactionKind:r}={}){let s=this.inputs,i=this.commands,o={ProgrammableTransaction:{inputs:s,commands:i}};if(r)return B.TransactionKind.serialize(o,{maxSize:t}).toBytes();let a=n?.expiration??this.expiration,c=n?.sender??this.sender,u={...this.gasData,...n?.gasData};if(!c)throw new Error("Missing transaction sender");if(!u.budget)throw new Error("Missing gas budget");if(!u.payment)throw new Error("Missing gas payment");if(!u.price)throw new Error("Missing gas price");let l={sender:Cp(c),expiration:a||{None:!0},gasData:{payment:u.payment,owner:Cp(this.gasData.owner??c),price:BigInt(u.price),budget:BigInt(u.budget)},kind:{ProgrammableTransaction:{inputs:s,commands:i}}};return B.TransactionData.serialize({V1:l},{maxSize:t}).toBytes()}addInput(t,n){let r=this.inputs.length;return this.inputs.push(n),{Input:r,type:t,$kind:"Input"}}getInputUses(t,n){this.mapArguments((r,s)=>(r.$kind==="Input"&&r.Input===t&&n(r,s),r))}mapCommandArguments(t,n){let r=this.commands[t];switch(r.$kind){case"MoveCall":r.MoveCall.arguments=r.MoveCall.arguments.map(i=>n(i,r,t));break;case"TransferObjects":r.TransferObjects.objects=r.TransferObjects.objects.map(i=>n(i,r,t)),r.TransferObjects.address=n(r.TransferObjects.address,r,t);break;case"SplitCoins":r.SplitCoins.coin=n(r.SplitCoins.coin,r,t),r.SplitCoins.amounts=r.SplitCoins.amounts.map(i=>n(i,r,t));break;case"MergeCoins":r.MergeCoins.destination=n(r.MergeCoins.destination,r,t),r.MergeCoins.sources=r.MergeCoins.sources.map(i=>n(i,r,t));break;case"MakeMoveVec":r.MakeMoveVec.elements=r.MakeMoveVec.elements.map(i=>n(i,r,t));break;case"Upgrade":r.Upgrade.ticket=n(r.Upgrade.ticket,r,t);break;case"$Intent":let s=r.$Intent.inputs;r.$Intent.inputs={};for(let[i,o]of Object.entries(s))r.$Intent.inputs[i]=Array.isArray(o)?o.map(a=>n(a,r,t)):n(o,r,t);break;case"Publish":break;default:throw new Error(`Unexpected transaction kind: ${r.$kind}`)}}mapArguments(t){for(let n of this.commands.keys())this.mapCommandArguments(n,t)}replaceCommand(t,n,r=t){if(!Array.isArray(n)){this.commands[t]=n;return}let s=n.length-1;this.commands.splice(t,1,...structuredClone(n)),this.mapArguments((i,o,a)=>{if(a<t+n.length)return i;if(typeof r!="number"&&(i.$kind==="Result"&&i.Result===t||i.$kind==="NestedResult"&&i.NestedResult[0]===t)){if(!("NestedResult"in i)||i.NestedResult[1]===0)return ae(ce,structuredClone(r));throw new Error(`Cannot replace command ${t} with a specific result type: NestedResult[${t}, ${i.NestedResult[1]}] references a nested element that cannot be mapped to the replacement result`)}switch(i.$kind){case"Result":i.Result===t&&typeof r=="number"&&(i.Result=r),i.Result>t&&(i.Result+=s);break;case"NestedResult":if(i.NestedResult[0]===t&&typeof r=="number")return{$kind:"NestedResult",NestedResult:[r,i.NestedResult[1]]};i.NestedResult[0]>t&&(i.NestedResult[0]+=s);break}return i})}replaceCommandWithTransaction(t,n,r){if(r.$kind!=="Result"&&r.$kind!=="NestedResult")throw new Error("Result must be of kind Result or NestedResult");this.insertTransaction(t,n),this.replaceCommand(t+n.commands.length,[],"Result"in r?{NestedResult:[r.Result+t,0]}:{NestedResult:[r.NestedResult[0]+t,r.NestedResult[1]]})}insertTransaction(t,n){let r=new Map,s=new Map;for(let a=0;a<n.inputs.length;a++){let c=n.inputs[a],u=yr(c),l=-1;if(u!==void 0&&(l=this.inputs.findIndex(p=>yr(p)===u),l!==-1&&this.inputs[l].Object?.SharedObject&&c.Object?.SharedObject&&(this.inputs[l].Object.SharedObject.mutable=this.inputs[l].Object.SharedObject.mutable||c.Object.SharedObject.mutable)),l!==-1)r.set(a,l);else{let p=this.inputs.length;this.inputs.push(c),r.set(a,p)}}for(let a=0;a<n.commands.length;a++)s.set(a,t+a);let i=[];for(let a=0;a<n.commands.length;a++){let c=structuredClone(n.commands[a]);tp(c,r,s),i.push(c)}this.commands.splice(t,0,...i);let o=i.length;o>0&&this.mapArguments((a,c,u)=>{if(u>=t&&u<t+i.length)return a;switch(a.$kind){case"Result":a.Result>=t&&(a.Result+=o);break;case"NestedResult":a.NestedResult[0]>=t&&(a.NestedResult[0]+=o);break}return a})}getDigest(){let t=this.build({onlyTransactionKind:!1});return Jn.getDigestFromBytes(t)}snapshot(){return ae(gr,this)}shallowClone(){return new Jn({version:this.version,sender:this.sender,expiration:this.expiration,gasData:{...this.gasData},inputs:[...this.inputs],commands:[...this.commands]})}applyResolvedData(t){this.sender||(this.sender=t.sender??null),this.expiration||(this.expiration=t.expiration??null),this.gasData.budget||(this.gasData.budget=t.gasData.budget),this.gasData.owner||(this.gasData.owner=t.gasData.owner??null),this.gasData.payment||(this.gasData.payment=t.gasData.payment),this.gasData.price||(this.gasData.price=t.gasData.price);for(let n=0;n<this.inputs.length;n++){let r=this.inputs[n],s=t.inputs[n];switch(r.$kind){case"UnresolvedPure":if(s.$kind!=="Pure")throw new Error(`Expected input at index ${n} to resolve to a Pure argument, but got ${JSON.stringify(s)}`);this.inputs[n]=s;break;case"UnresolvedObject":if(s.$kind!=="Object")throw new Error(`Expected input at index ${n} to resolve to an Object argument, but got ${JSON.stringify(s)}`);if(s.Object.$kind==="ImmOrOwnedObject"||s.Object.$kind==="Receiving"){let i=r.UnresolvedObject,o=s.Object.ImmOrOwnedObject??s.Object.Receiving;if(Y(i.objectId)!==Y(o.objectId)||i.version!=null&&i.version!==o.version||i.digest!=null&&i.digest!==o.digest||i.mutable!=null||i.initialSharedVersion!=null)throw new Error(`Input at index ${n} did not match unresolved object. ${JSON.stringify(i)} is not compatible with ${JSON.stringify(o)}`)}else if(s.Object.$kind==="SharedObject"){let i=r.UnresolvedObject,o=s.Object.SharedObject;if(Y(i.objectId)!==Y(o.objectId)||i.initialSharedVersion!=null&&i.initialSharedVersion!==o.initialSharedVersion||i.mutable!=null&&i.mutable!==o.mutable||i.version!=null||i.digest!=null)throw new Error(`Input at index ${n} did not match unresolved object. ${JSON.stringify(i)} is not compatible with ${JSON.stringify(o)}`)}else throw new Error(`Input at index ${n} resolved to an unexpected Object kind: ${JSON.stringify(s.Object)}`);this.inputs[n]=s;break}}}};var vn={MoveCall(e){let[t,n="",r=""]="target"in e?e.target.split("::"):[e.package,e.module,e.function];return{$kind:"MoveCall",MoveCall:{package:t,module:n,function:r,typeArguments:e.typeArguments??[],arguments:e.arguments??[]}}},TransferObjects(e,t){return{$kind:"TransferObjects",TransferObjects:{objects:e.map(n=>ae(ce,n)),address:ae(ce,t)}}},SplitCoins(e,t){return{$kind:"SplitCoins",SplitCoins:{coin:ae(ce,e),amounts:t.map(n=>ae(ce,n))}}},MergeCoins(e,t){return{$kind:"MergeCoins",MergeCoins:{destination:ae(ce,e),sources:t.map(n=>ae(ce,n))}}},Publish({modules:e,dependencies:t}){return{$kind:"Publish",Publish:{modules:e.map(n=>typeof n=="string"?n:X(new Uint8Array(n))),dependencies:t.map(n=>as(n))}}},Upgrade({modules:e,dependencies:t,package:n,ticket:r}){return{$kind:"Upgrade",Upgrade:{modules:e.map(s=>typeof s=="string"?s:X(new Uint8Array(s))),dependencies:t.map(s=>as(s)),package:n,ticket:ae(ce,r)}}},MakeMoveVec({type:e,elements:t}){return{$kind:"MakeMoveVec",MakeMoveVec:{type:e??null,elements:t.map(n=>ae(ce,n))}}},Intent({name:e,inputs:t={},data:n={}}){return{$kind:"$Intent",$Intent:{name:e,inputs:Object.fromEntries(Object.entries(t).map(([r,s])=>[r,Array.isArray(s)?s.map(i=>ae(ce,i)):ae(ce,s)])),data:n}}}};function Lv(e){return{$kind:"Pure",Pure:{bytes:e instanceof Uint8Array?X(e):e.toBase64()}}}var $e={Pure:Lv,ObjectRef({objectId:e,digest:t,version:n}){return{$kind:"Object",Object:{$kind:"ImmOrOwnedObject",ImmOrOwnedObject:{digest:t,version:n,objectId:Y(e)}}}},SharedObjectRef({objectId:e,mutable:t,initialSharedVersion:n}){return{$kind:"Object",Object:{$kind:"SharedObject",SharedObject:{mutable:t,initialSharedVersion:n,objectId:Y(e)}}}},ReceivingRef({objectId:e,digest:t,version:n}){return{$kind:"Object",Object:{$kind:"Receiving",Receiving:{digest:t,version:n,objectId:Y(e)}}}},FundsWithdrawal({reservation:e,typeArg:t,withdrawFrom:n}){return{$kind:"FundsWithdrawal",FundsWithdrawal:{reservation:e,typeArg:t,withdrawFrom:n}}}};var MP=BigInt(1e9),Ii="0x0000000000000000000000000000000000000000000000000000000000000001",_i="0x0000000000000000000000000000000000000000000000000000000000000002";var Rp="0x0000000000000000000000000000000000000000000000000000000000000006";var gs=`${_i}::sui::SUI`,gc="0x0000000000000000000000000000000000000000000000000000000000000005",Dp="0x0000000000000000000000000000000000000000000000000000000000000008",jp="0x0000000000000000000000000000000000000000000000000000000000000403";function Bp(e){let t=e.split("::");if(t.length!==3)throw new Error(`Invalid type name format: ${e}`);return{package:t[0],module:t[1],name:t[2]}}function Pp(e){if(e.body.$kind!=="datatype")return!1;let{package:t,module:n,name:r}=Bp(e.body.datatype.typeName);return Y(t)===_i&&n==="tx_context"&&r==="TxContext"}function Oi(e){switch(e.$kind){case"address":return B.Address;case"bool":return B.Bool;case"u8":return B.U8;case"u16":return B.U16;case"u32":return B.U32;case"u64":return B.U64;case"u128":return B.U128;case"u256":return B.U256;case"vector":{if(e.vector.$kind==="u8")return B.byteVector().transform({input:n=>typeof n=="string"?new TextEncoder().encode(n):n,output:n=>n});let t=Oi(e.vector);return t?B.vector(t):null}case"datatype":{let{package:t,module:n,name:r}=Bp(e.datatype.typeName),s=Y(t);if(s===Ii){if(n==="ascii"&&r==="String")return B.String;if(n==="string"&&r==="String")return B.String;if(n==="option"&&r==="Option"){let i=Oi(e.datatype.typeParameters[0]);return i?B.vector(i):null}}return s===_i&&n==="object"&&r==="ID"?B.Address:null}case"typeParameter":case"unknown":return null}}function ys(e){return we(Object.entries(e).map(([t,n])=>_({[t]:n})))}var xt=ys({GasCoin:F(!0),Input:ie(de(),he()),Result:ie(de(),he()),NestedResult:us([ie(de(),he()),ie(de(),he())])}),Mv=_({budget:Z(Ee),price:Z(Ee),owner:Z($n),payment:Z(G(vt))}),Uv=_({package:qe,module:z(),function:z(),typeArguments:G(z()),arguments:G(xt)}),Fv=_({name:z(),inputs:qn(z(),we([xt,G(xt)])),data:qn(z(),Ct())}),Vv=ys({MoveCall:Uv,TransferObjects:_({objects:G(xt),address:xt}),SplitCoins:_({coin:xt,amounts:G(xt)}),MergeCoins:_({destination:xt,sources:G(xt)}),Publish:_({modules:G(mn),dependencies:G(qe)}),MakeMoveVec:_({type:Z(z()),elements:G(xt)}),Upgrade:_({modules:G(mn),dependencies:G(qe),package:qe,ticket:xt}),$Intent:Fv}),Gv=ys({Object:ys({ImmOrOwnedObject:vt,SharedObject:_({objectId:qe,initialSharedVersion:Ee,mutable:Wt()}),Receiving:vt}),Pure:_({bytes:mn}),UnresolvedPure:_({value:Ct()}),UnresolvedObject:_({objectId:qe,version:Te(Z(Ee)),digest:Te(Z(z())),initialSharedVersion:Te(Z(Ee)),mutable:Te(Z(Wt()))}),FundsWithdrawal:Oa}),qv=ys({None:F(!0),Epoch:Ee,ValidDuring:Aa}),Lp=_({version:F(2),sender:Jt($n),expiration:Jt(qv),gasData:Mv,inputs:G(Gv),commands:G(Vv),digest:Te(Z(z()))});var $v=class extends Error{},bs=class extends $v{constructor(e,t){super(e,{cause:t?.cause}),this.executionError=t?.executionError}};var zv=50,Hv=1000n,Wv=5e10;function Jv(e){if(!e.client)throw new Error("No sui client passed to Transaction#build, but transaction data was not sufficient to build offline.");return e.client}async function Mp(e,t,n){let r=Jv(t);return await ew(e,r),await Qv(e,r),t.onlyTransactionKind||await Yv(e,r),await n()}async function Yv(e,t){let n=null;e.gasData.price||(n=(await t.core.getCurrentSystemState()).systemState,e.gasData.price=n.referenceGasPrice),await Xv(e,t),await Zv(e,t),e.expiration||await Kv(e,t,n)}async function Xv(e,t){if(e.gasData.budget)return;let n=await t.core.simulateTransaction({transaction:e.build({overrides:{gasData:{budget:String(Wv),payment:[]}}}),include:{effects:!0}});if(n.$kind==="FailedTransaction"){let a=n.FailedTransaction.status.error??void 0;throw new bs(`Transaction resolution failed: ${a?.message??"Unknown error"}`,{cause:n,executionError:a})}let r=n.Transaction.effects.gasUsed,s=Hv*BigInt(e.gasData.price||1n),i=BigInt(r.computationCost)+s,o=i+BigInt(r.storageCost)-BigInt(r.storageRebate);e.gasData.budget=String(o>i?o:i)}async function Zv(e,t){if(!e.gasData.payment){let n=e.gasData.owner??e.sender,r=!1,s=0n;e.mapArguments(c=>{if(c.$kind==="GasCoin")r=!0;else if(c.$kind==="Input"){let u=e.inputs[c.Input];u.$kind==="FundsWithdrawal"&&(u.FundsWithdrawal.withdrawFrom.Sender?e.sender:n)===n&&u.FundsWithdrawal.reservation.$kind==="MaxAmountU64"&&(s+=BigInt(u.FundsWithdrawal.reservation.MaxAmountU64))}return c});let[i,o]=await Promise.all([r||!e.gasData.owner?null:t.core.getBalance({owner:e.gasData.owner}),t.core.listCoins({owner:e.gasData.owner||e.sender,coinType:gs})]);if(i?.balance.addressBalance&&BigInt(i.balance.addressBalance)>=BigInt(e.gasData.budget||"0")+s){e.gasData.payment=[];return}let a=o.objects.filter(c=>!e.inputs.find(u=>u.Object?.ImmOrOwnedObject?c.objectId===u.Object.ImmOrOwnedObject.objectId:!1)).map(c=>ae(vt,{objectId:c.objectId,digest:c.digest,version:c.version}));if(!a.length)throw new Error("No valid gas coins found for the transaction.");e.gasData.payment=a}}async function Kv(e,t,n){let[r,{chainIdentifier:s}]=await Promise.all([n??t.core.getCurrentSystemState().then(o=>o.systemState),t.core.getChainIdentifier()]),i=BigInt(r.epoch);e.expiration={$kind:"ValidDuring",ValidDuring:{minEpoch:String(i),maxEpoch:String(i+1n),minTimestamp:null,maxTimestamp:null,chain:s,nonce:Math.random()*4294967296>>>0}}}async function Qv(e,t){let n=e.inputs.filter(l=>l.UnresolvedObject&&!(l.UnresolvedObject.version||l.UnresolvedObject?.initialSharedVersion)),r=[...new Set(n.map(l=>as(l.UnresolvedObject.objectId)))],s=r.length?pn(r,zv):[],i=(await Promise.all(s.map(l=>t.core.getObjects({objectIds:l})))).flatMap(l=>l.objects),o=new Map(r.map((l,p)=>[l,i[p]])),a=Array.from(o).filter(([l,p])=>p instanceof Error).map(([l,p])=>p.message);if(a.length)throw new Error(`The following input objects are invalid: ${a.join(", ")}`);let c=i.map(l=>{if(l instanceof Error)throw new Error(`Failed to fetch object: ${l.message}`);let p=l.owner,d=p&&typeof p=="object"?p.$kind==="Shared"?p.Shared.initialSharedVersion:p.$kind==="ConsensusAddressOwner"?p.ConsensusAddressOwner.startVersion:null:null;return{objectId:l.objectId,digest:l.digest,version:l.version,initialSharedVersion:d}}),u=new Map(r.map((l,p)=>[l,c[p]]));for(let[l,p]of e.inputs.entries()){if(!p.UnresolvedObject)continue;let d,y=Y(p.UnresolvedObject.objectId),g=u.get(y);p.UnresolvedObject.initialSharedVersion??g?.initialSharedVersion?d=$e.SharedObjectRef({objectId:y,initialSharedVersion:p.UnresolvedObject.initialSharedVersion||g?.initialSharedVersion,mutable:p.UnresolvedObject.mutable||tw(e,l)}):nw(e,l)&&(d=$e.ReceivingRef({objectId:y,digest:p.UnresolvedObject.digest??g?.digest,version:p.UnresolvedObject.version??g?.version})),e.inputs[e.inputs.indexOf(p)]=d??$e.ObjectRef({objectId:y,digest:p.UnresolvedObject.digest??g?.digest,version:p.UnresolvedObject.version??g?.version})}}async function ew(e,t){let{inputs:n,commands:r}=e,s=[],i=new Set;r.forEach(a=>{if(a.MoveCall){if(a.MoveCall._argumentTypes)return;if(a.MoveCall.arguments.map(c=>c.$kind==="Input"?e.inputs[c.Input]:null).some(c=>c?.UnresolvedPure||c?.UnresolvedObject&&typeof c?.UnresolvedObject.mutable!="boolean")){let c=`${a.MoveCall.package}::${a.MoveCall.module}::${a.MoveCall.function}`;i.add(c),s.push(a.MoveCall)}}});let o=new Map;i.size>0&&await Promise.all([...i].map(async a=>{let[c,u,l]=a.split("::"),{function:p}=await t.core.getMoveFunction({packageId:c,moduleName:u,name:l});o.set(a,p.parameters)})),s.length&&await Promise.all(s.map(async a=>{let c=o.get(`${a.package}::${a.module}::${a.function}`);c&&(a._argumentTypes=c.length>0&&Pp(c.at(-1))?c.slice(0,c.length-1):c)})),r.forEach(a=>{if(!a.MoveCall)return;let c=a.MoveCall,u=`${c.package}::${c.module}::${c.function}`,l=c._argumentTypes;if(l){if(l.length!==a.MoveCall.arguments.length)throw new Error(`Incorrect number of arguments for ${u}`);l.forEach((p,d)=>{let y=c.arguments[d];if(y.$kind!=="Input")return;let g=n[y.Input];if(!g.UnresolvedPure&&!g.UnresolvedObject)return;let E=g.UnresolvedPure?.value??g.UnresolvedObject?.objectId,x=Oi(p.body);if(x){y.type="pure",n[n.indexOf(g)]=$e.Pure(x.serialize(E));return}if(typeof E!="string")throw new Error(`Expect the argument to be an object id string, got ${JSON.stringify(E,null,2)}`);y.type="object";let C=g.UnresolvedPure?{$kind:"UnresolvedObject",UnresolvedObject:{objectId:E}}:g;n[y.Input]=C})}})}function tw(e,t){let n=!1;return e.getInputUses(t,(r,s)=>{if(s.MoveCall&&s.MoveCall._argumentTypes){let i=s.MoveCall.arguments.indexOf(r);n=s.MoveCall._argumentTypes[i].reference!=="immutable"||n}(s.$kind==="MakeMoveVec"||s.$kind==="MergeCoins"||s.$kind==="SplitCoins"||s.$kind==="TransferObjects")&&(n=!0)}),n}function nw(e,t){let n=!1;return e.getInputUses(t,(r,s)=>{if(s.MoveCall&&s.MoveCall._argumentTypes){let i=s.MoveCall.arguments.indexOf(r);n=sw(s.MoveCall._argumentTypes[i])||n}}),n}var rw="0x0000000000000000000000000000000000000000000000000000000000000002::transfer::Receiving";function sw(e){return e.body.$kind!=="datatype"?!1:e.body.datatype.typeName===rw}function yc(e,t){return!!(e.inputs.some(n=>n.UnresolvedObject||n.UnresolvedPure)||!t.onlyTransactionKind&&(!e.gasData.price||!e.gasData.budget||!e.gasData.payment||e.gasData.payment.length===0&&!e.expiration))}async function Vp(e,t,n){return ow(e),yc(e,t)?(iw(t).core?.resolveTransactionPlugin()??Mp)(e,t,async()=>{await Up(e),await n()}):(await Up(e),n())}function Up(e){e.inputs.forEach((t,n)=>{if(t.$kind!=="Object"&&t.$kind!=="Pure"&&t.$kind!=="FundsWithdrawal")throw new Error(`Input at index ${n} has not been resolved. Expected a Pure, Object, or FundsWithdrawal input, but found ${JSON.stringify(t)}`)})}function iw(e){if(!e.client)throw new Error("No sui client passed to Transaction#build, but transaction data was not sufficient to build offline.");return e.client}function ow(e){for(let t of e.commands)switch(t.$kind){case"SplitCoins":t.SplitCoins.amounts.forEach(n=>{Fp(n,B.U64,e)});break;case"TransferObjects":Fp(t.TransferObjects.address,B.Address,e);break}}function Fp(e,t,n){if(e.$kind!=="Input")return;let r=n.inputs[e.Input];r.$kind==="UnresolvedPure"&&(n.inputs[e.Input]=$e.Pure(t.serialize(r.UnresolvedPure.value)))}function Gp(e){function t(n){return e(n)}return t.system=n=>{let r=n?.mutable;return t(r!==void 0?$e.SharedObjectRef({objectId:gc,initialSharedVersion:1,mutable:r}):{$kind:"UnresolvedObject",UnresolvedObject:{objectId:gc,initialSharedVersion:1}})},t.clock=()=>t($e.SharedObjectRef({objectId:Rp,initialSharedVersion:1,mutable:!1})),t.random=()=>t({$kind:"UnresolvedObject",UnresolvedObject:{objectId:Dp,mutable:!1}}),t.denyList=n=>t({$kind:"UnresolvedObject",UnresolvedObject:{objectId:jp,mutable:n?.mutable}}),t.option=({type:n,value:r})=>s=>s.moveCall({typeArguments:[n],target:`${Ii}::option::${r===null?"none":"some"}`,arguments:r===null?[]:[s.object(r)]}),t}function qp(e){function t(n,r){if(typeof n=="string")return e(Tr(n).serialize(r));if(n instanceof Uint8Array||hr(n))return e(n);throw new Error("tx.pure must be called either a bcs type name, or a serialized bcs value")}return t.u8=n=>e(B.U8.serialize(n)),t.u16=n=>e(B.U16.serialize(n)),t.u32=n=>e(B.U32.serialize(n)),t.u64=n=>e(B.U64.serialize(n)),t.u128=n=>e(B.U128.serialize(n)),t.u256=n=>e(B.U256.serialize(n)),t.bool=n=>e(B.Bool.serialize(n)),t.string=n=>e(B.String.serialize(n)),t.address=n=>e(B.Address.serialize(n)),t.id=t.address,t.vector=(n,r)=>e(B.vector(Tr(n)).serialize(r)),t.option=(n,r)=>e(B.option(Tr(n)).serialize(r)),t}var $p="2.3.0";var aw="/",cw={"Mvr-Source":`@mysten/sui@${$p}`},Er,Pt,xr,tn,ze,bc,Tc,Jp,Yp,vc,Hp,Wp=(Hp=class{constructor({cache:e,url:t,pageSize:n=50,overrides:r}){le(this,ze);le(this,Er);le(this,Pt);le(this,xr);le(this,tn);W(this,Er,e),W(this,Pt,t),W(this,xr,n),W(this,tn,{packages:r?.packages,types:r?.types}),uw(h(this,tn))}async resolvePackage({package:e}){return Lt(e)?{package:await h(this,ze,bc).load(e)}:{package:e}}async resolveType({type:e}){if(!Lt(e))return{type:e};let t=[...wc(e)],n=await h(this,ze,Tc).loadMany(t),r={};for(let s=0;s<t.length;s++){let i=n[s];if(i instanceof Error)throw i;r[t[s]]=i}return{type:Ec(e,r)}}async resolve({types:e=[],packages:t=[]}){let n=new Set;for(let u of e??[])wc(u,n);let r=[...n],[s,i]=await Promise.all([r.length>0?h(this,ze,Tc).loadMany(r):[],t.length>0?h(this,ze,bc).loadMany(t):[]]),o={...h(this,tn)?.types};for(let[u,l]of r.entries()){let p=s[u];if(p instanceof Error)throw p;o[l]=p}let a={};for(let u of e??[])a[u]={type:Ec(u,o)};let c={};for(let[u,l]of(t??[]).entries()){let p=h(this,tn)?.packages?.[l]??i[u];if(p instanceof Error)throw p;c[l]={package:p}}return{types:a,packages:c}}},Er=new WeakMap,Pt=new WeakMap,xr=new WeakMap,tn=new WeakMap,ze=new WeakSet,bc=function(){return h(this,Er).readSync(["#mvrPackageDataLoader",h(this,Pt)??""],()=>{let e=new ui(async n=>{if(!h(this,Pt))throw new Error(`MVR Api URL is not set for the current client (resolving ${n.join(", ")})`);let r=await fe(this,ze,Jp).call(this,n);return n.map(s=>r[s]??new Error(`Failed to resolve package: ${s}`))}),t=h(this,tn)?.packages;if(t)for(let[n,r]of Object.entries(t))e.prime(n,r);return e})},Tc=function(){return h(this,Er).readSync(["#mvrTypeDataLoader",h(this,Pt)??""],()=>{let e=new ui(async n=>{if(!h(this,Pt))throw new Error(`MVR Api URL is not set for the current client (resolving ${n.join(", ")})`);let r=await fe(this,ze,Yp).call(this,n);return n.map(s=>r[s]??new Error(`Failed to resolve type: ${s}`))}),t=h(this,tn)?.types;if(t)for(let[n,r]of Object.entries(t))e.prime(n,r);return e})},Jp=async function(e){if(e.length===0)return{};let t=pn(e,h(this,xr)),n={};return await Promise.all(t.map(async r=>{let s=await fe(this,ze,vc).call(this,"/v1/resolution/bulk",{names:r});if(s?.resolution)for(let i of Object.keys(s?.resolution)){let o=s.resolution[i]?.package_id;o&&(n[i]=o)}})),n},Yp=async function(e){if(e.length===0)return{};let t=pn(e,h(this,xr)),n={};return await Promise.all(t.map(async r=>{let s=await fe(this,ze,vc).call(this,"/v1/struct-definition/bulk",{types:r});if(s?.resolution)for(let i of Object.keys(s?.resolution)){let o=s.resolution[i]?.type_tag;o&&(n[i]=o)}})),n},vc=async function(e,t){if(!h(this,Pt))throw new Error("MVR Api URL is not set for the current client");let n=await fetch(`${h(this,Pt)}${e}`,{method:"POST",headers:{"Content-Type":"application/json",...cw},body:JSON.stringify(t)});if(!n.ok){let r=await n.json().catch(()=>({}));throw new Error(`Failed to resolve types: ${r?.message}`)}return n.json()},Hp);function uw(e){if(e?.packages)for(let[t,n]of Object.entries(e.packages)){if(!fr(t))throw new Error(`Invalid package name: ${t}`);if(!Vn(Y(n)))throw new Error(`Invalid package ID: ${n}`)}if(e?.types)for(let[t,n]of Object.entries(e.types)){if(zt(t).typeParams.length>0)throw new Error("Type overrides must be first-level only. If you want to supply generic types, just pass each type individually.");if(!Vn(zt(n).address))throw new Error(`Invalid type: ${n}`)}}function wc(e,t=new Set){if(typeof e=="string"&&!Lt(e))return t;let n=Xp(e)?e:zt(e);Lt(n.address)&&t.add(`${n.address}::${n.module}::${n.name}`);for(let r of n.typeParams)wc(r,t);return t}function Ec(e,t){let n=Xp(e)?e:zt(e),r=t[`${n.address}::${n.module}::${n.name}`];return Ht({...n,address:r?r.split("::")[0]:n.address,typeParams:n.typeParams.map(s=>Ec(s,t))})}function Lt(e){return e.includes(aw)||e.includes("@")||e.includes(".sui")}function Xp(e){return typeof e=="object"&&"address"in e&&"module"in e&&"name"in e&&"typeParams"in e}function Zp(e){let t=new Set,n=new Set;for(let r of e.commands)switch(r.$kind){case"MakeMoveVec":r.MakeMoveVec.type&&zp([r.MakeMoveVec.type]).forEach(o=>{n.add(o)});break;case"MoveCall":let s=r.MoveCall,i=s.package.split("::")[0];if(Lt(i)){if(!fr(i))throw new Error(`Invalid package name: ${i}`);t.add(i)}zp(s.typeArguments??[]).forEach(o=>{n.add(o)});break;default:break}return{packages:[...t],types:[...n]}}function Kp(e,t){for(let n of e.commands){if(n.MakeMoveVec?.type){if(!Lt(n.MakeMoveVec.type))continue;if(!t.types[n.MakeMoveVec.type])throw new Error(`No resolution found for type: ${n.MakeMoveVec.type}`);n.MakeMoveVec.type=t.types[n.MakeMoveVec.type].type}let r=n.MoveCall;if(!r)continue;let s=r.package.split("::"),i=s[0];if(Lt(i)&&!t.packages[i])throw new Error(`No address found for package: ${i}`);Lt(i)&&(s[0]=t.packages[i].package,r.package=s.join("::"));let o=r.typeArguments;if(o){for(let a=0;a<o.length;a++)if(Lt(o[a])){if(!t.types[o[a]])throw new Error(`No resolution found for type: ${o[a]}`);o[a]=t.types[o[a]].type}r.typeArguments=o}}}function zp(e){let t=new Set;for(let n of e)if(Lt(n)){if(!Al(n))throw new Error(`Invalid type with names: ${n}`);t.add(n)}return t}function Qp(){return async(e,t,n)=>{let r=Zp(e);if(r.types.length===0&&r.packages.length===0)return n();if(!t.client)throw new Error("Transaction contains MVR names but no client was provided to resolve them. Please pass a client to Transaction#build()");Kp(e,await t.client.core.mvr.resolve({types:r.types,packages:r.packages})),await n()}}function xc(e,t=1/0){let n={$kind:"Result",get Result(){return typeof e=="function"?e():e}},r=[],s=i=>r[i]??(r[i]={$kind:"NestedResult",get NestedResult(){return[typeof e=="function"?e():e,i]}});return new Proxy(n,{set(){throw new Error("The transaction result is a proxy, and does not support setting properties directly")},get(i,o){if(o in i)return Reflect.get(i,o);if(o===Symbol.iterator)return function*(){let c=0;for(;c<t;)yield s(c),c++};if(typeof o=="symbol")return;let a=parseInt(o,10);if(!(Number.isNaN(a)||a<0))return s(a)}})}var ef=Symbol.for("@mysten/transaction");function tf(e){return!!e&&typeof e=="object"&&e[ef]===!0}var wn,En,Mt,kt,et,tt,ft,nn,V,re,nf,Ni,Ts,Ai,Ci,kc,Sc,rf,sf,xn,P=(xn=class{constructor(){le(this,re);le(this,wn);le(this,En);le(this,Mt,new Map);le(this,kt,[]);le(this,et,[]);le(this,tt,new Set);le(this,ft,new Set);le(this,nn,new Map);le(this,V);this.object=Gp(t=>{if(typeof t=="function")return this.object(this.add(t));if(typeof t=="object"&&cs(ce,t))return t;let n=yr(t),r=h(this,V).inputs.find(s=>n===yr(s));return r?.Object?.SharedObject&&typeof t=="object"&&t.Object?.SharedObject&&(r.Object.SharedObject.mutable=r.Object.SharedObject.mutable||t.Object.SharedObject.mutable),r?{$kind:"Input",Input:h(this,V).inputs.indexOf(r),type:"object"}:fe(this,re,Ts).call(this,"object",typeof t=="string"?{$kind:"UnresolvedObject",UnresolvedObject:{objectId:Y(t)}}:t)}),W(this,V,new wr),W(this,En,[]),W(this,wn,[])}static fromKind(t){let n=new xn;return W(n,V,wr.fromKindBytes(typeof t=="string"?K(t):t)),W(n,kt,h(n,V).inputs.slice()),W(n,et,h(n,V).commands.slice()),W(n,tt,new Set(h(n,et).map((r,s)=>s))),n}static from(t){let n=new xn;return tf(t)?W(n,V,wr.restore(t.getData())):typeof t!="string"||!t.startsWith("{")?W(n,V,wr.fromBytes(typeof t=="string"?K(t):t)):W(n,V,wr.restore(JSON.parse(t))),W(n,kt,h(n,V).inputs.slice()),W(n,et,h(n,V).commands.slice()),W(n,tt,new Set(h(n,et).map((r,s)=>s))),n}addSerializationPlugin(t){h(this,wn).push(t)}addBuildPlugin(t){h(this,En).push(t)}addIntentResolver(t,n){if(h(this,Mt).has(t)&&h(this,Mt).get(t)!==n)throw new Error(`Intent resolver for ${t} already exists`);h(this,Mt).set(t,n)}setSender(t){h(this,V).sender=t}setSenderIfNotSet(t){h(this,V).sender||(h(this,V).sender=t)}setExpiration(t){h(this,V).expiration=t?ae(Ca,t):null}setGasPrice(t){h(this,V).gasData.price=String(t)}setGasBudget(t){h(this,V).gasData.budget=String(t)}setGasBudgetIfNotSet(t){h(this,V).gasData.budget==null&&(h(this,V).gasData.budget=String(t))}setGasOwner(t){h(this,V).gasData.owner=t}setGasPayment(t){h(this,V).gasData.payment=t.map(n=>ae(vt,n))}getData(){return h(this,V).snapshot()}get[ef](){return!0}get pure(){return Object.defineProperty(this,"pure",{enumerable:!1,value:qp(t=>hr(t)?fe(this,re,Ts).call(this,"pure",{$kind:"Pure",Pure:{bytes:t.toBase64()}}):fe(this,re,Ts).call(this,"pure",cs(Na,t)?ae(Na,t):t instanceof Uint8Array?$e.Pure(t):{$kind:"UnresolvedPure",UnresolvedPure:{value:t}}))}),this.pure}get gas(){return{$kind:"GasCoin",GasCoin:!0}}objectRef(...t){return this.object($e.ObjectRef(...t))}receivingRef(...t){return this.object($e.ReceivingRef(...t))}sharedObjectRef(...t){return this.object($e.SharedObjectRef(...t))}add(t){if(typeof t=="function"){if(h(this,nn).has(t))return h(this,nn).get(t);let n=fe(this,re,nf).call(this),r=t(n);if(!(r&&typeof r=="object"&&"then"in r))return W(this,tt,h(n,tt)),h(this,nn).set(t,r),r;let s=fe(this,re,Ni).call(this,{$kind:"$Intent",$Intent:{name:"AsyncTransactionThunk",inputs:{},data:{resultIndex:h(this,V).commands.length,result:null}}});h(this,ft).add(Promise.resolve(r).then(o=>{s.$Intent.data.result=o}));let i=xc(()=>s.$Intent.data.resultIndex);return h(this,nn).set(t,i),i}else fe(this,re,Ni).call(this,t);return xc(h(this,V).commands.length-1)}splitCoins(t,n){let r=vn.SplitCoins(typeof t=="string"?this.object(t):fe(this,re,Ci).call(this,t),n.map(s=>typeof s=="number"||typeof s=="bigint"||typeof s=="string"?this.pure.u64(s):fe(this,re,Ai).call(this,s)));return fe(this,re,Ni).call(this,r),xc(h(this,V).commands.length-1,n.length)}mergeCoins(t,n){return this.add(vn.MergeCoins(this.object(t),n.map(r=>this.object(r))))}publish({modules:t,dependencies:n}){return this.add(vn.Publish({modules:t,dependencies:n}))}upgrade({modules:t,dependencies:n,package:r,ticket:s}){return this.add(vn.Upgrade({modules:t,dependencies:n,package:r,ticket:this.object(s)}))}moveCall({arguments:t,...n}){return this.add(vn.MoveCall({...n,arguments:t?.map(r=>fe(this,re,Ai).call(this,r))}))}transferObjects(t,n){return this.add(vn.TransferObjects(t.map(r=>this.object(r)),typeof n=="string"?this.pure.address(n):fe(this,re,Ai).call(this,n)))}makeMoveVec({type:t,elements:n}){return this.add(vn.MakeMoveVec({type:t,elements:n.map(r=>this.object(r))}))}withdrawal({amount:t,type:n}){let r={$kind:"FundsWithdrawal",FundsWithdrawal:{reservation:{$kind:"MaxAmountU64",MaxAmountU64:String(t)},typeArg:{$kind:"Balance",Balance:n??"0x2::sui::SUI"},withdrawFrom:{$kind:"Sender",Sender:!0}}};return fe(this,re,Ts).call(this,"object",r)}serialize(){return JSON.stringify(fp(h(this,V).snapshot()))}async toJSON(t={}){await this.prepareForSerialization(t);let n=this.isFullyResolved();return JSON.stringify(ae(Lp,n?{...h(this,V).snapshot(),digest:h(this,V).getDigest()}:h(this,V).snapshot()),(r,s)=>typeof s=="bigint"?s.toString():s,2)}async sign(t){let{signer:n,...r}=t,s=await this.build(r);return n.signTransaction(s)}isFullyResolved(){return!(!h(this,V).sender||h(this,ft).size>0||h(this,V).commands.some(t=>t.$Intent)||yc(h(this,V),{}))}async build(t={}){return await this.prepareForSerialization(t),await fe(this,re,kc).call(this,t),h(this,V).build({onlyTransactionKind:t.onlyTransactionKind})}async getDigest(t={}){return await this.prepareForSerialization(t),await fe(this,re,kc).call(this,t),h(this,V).getDigest()}async prepareForSerialization(t){await fe(this,re,rf).call(this),fe(this,re,sf).call(this);let n=new Set;for(let s of h(this,V).commands)s.$Intent&&n.add(s.$Intent.name);let r=[...h(this,wn)];for(let s of n)if(!t.supportedIntents?.includes(s)){if(!h(this,Mt).has(s))throw new Error(`Missing intent resolver for ${s}`);r.push(h(this,Mt).get(s))}r.push(Qp()),await fe(this,re,Sc).call(this,r,t)}},wn=new WeakMap,En=new WeakMap,Mt=new WeakMap,kt=new WeakMap,et=new WeakMap,tt=new WeakMap,ft=new WeakMap,nn=new WeakMap,V=new WeakMap,re=new WeakSet,nf=function(){let t=new xn;return W(t,V,h(this,V)),W(t,wn,h(this,wn)),W(t,En,h(this,En)),W(t,Mt,h(this,Mt)),W(t,ft,h(this,ft)),W(t,tt,new Set(h(this,tt))),W(t,nn,h(this,nn)),h(this,kt).push(h(t,kt)),h(this,et).push(h(t,et)),t},Ni=function(t){let n=h(this,V).commands.length;return h(this,et).push(t),h(this,tt).add(n),h(this,V).commands.push(t),h(this,V).mapCommandArguments(n,r=>{if(r.$kind==="Result"&&!h(this,tt).has(r.Result))throw new Error(`Result { Result: ${r.Result} } is not available to use in the current transaction`);if(r.$kind==="NestedResult"&&!h(this,tt).has(r.NestedResult[0]))throw new Error(`Result { NestedResult: [${r.NestedResult[0]}, ${r.NestedResult[1]}] } is not available to use in the current transaction`);if(r.$kind==="Input"&&r.Input>=h(this,V).inputs.length)throw new Error(`Input { Input: ${r.Input} } references an input that does not exist in the current transaction`);return r}),t},Ts=function(t,n){return h(this,kt).push(n),h(this,V).addInput(t,n)},Ai=function(t){return hr(t)?this.pure(t):fe(this,re,Ci).call(this,t)},Ci=function(t){if(typeof t=="function"){let n=this.add(t);return typeof n=="function"?fe(this,re,Ci).call(this,n):ae(ce,n)}return ae(ce,t)},kc=async function(t){if(!t.onlyTransactionKind&&!h(this,V).sender)throw new Error("Missing transaction sender");await fe(this,re,Sc).call(this,[...h(this,En),Vp],t)},Sc=async function(t,n){try{let r=s=>{if(s>=t.length)return()=>{};let i=t[s];return async()=>{let o=r(s+1),a=!1,c=!1;if(await i(h(this,V),n,async()=>{if(a)throw new Error(`next() was call multiple times in TransactionPlugin ${s}`);a=!0,await o(),c=!0}),!a)throw new Error(`next() was not called in TransactionPlugin ${s}`);if(!c)throw new Error(`next() was not awaited in TransactionPlugin ${s}`)}};await r(0)()}finally{W(this,kt,h(this,V).inputs.slice()),W(this,et,h(this,V).commands.slice()),W(this,tt,new Set(h(this,et).map((r,s)=>s)))}},rf=async function(){for(;h(this,ft).size>0;){let t=Promise.all(h(this,ft));h(this,ft).clear(),h(this,ft).add(t),await t,h(this,ft).delete(t)}},sf=function(){let t=h(this,V).commands,n=h(this,V).inputs,r=h(this,et).flat(1/0),s=h(this,kt).flat(1/0);if(r.length!==t.length)throw new Error("Unexpected number of commands found in transaction data");if(s.length!==n.length)throw new Error("Unexpected number of inputs found in transaction data");let i=r.filter(a=>a.$Intent?.name!=="AsyncTransactionThunk");h(this,V).commands=i,h(this,V).inputs=s,W(this,et,i),W(this,kt,s),W(this,tt,new Set(i.map((a,c)=>c)));function o(a){let c=t[a];if(c.$Intent?.name==="AsyncTransactionThunk"){let l=c.$Intent.data.result;if(l==null)throw new Error("AsyncTransactionThunk has not been resolved");return o(l.Result)}let u=i.indexOf(c);if(u===-1)throw new Error("Unable to find original index for command");return u}h(this,V).mapArguments(a=>{if(a.$kind==="Input"){let c=s.indexOf(n[a.Input]);if(c===-1)throw new Error("Input has not been resolved");return{...a,Input:c}}else if(a.$kind==="Result"){let c=o(a.Result);return{...a,Result:c}}else if(a.$kind==="NestedResult"){let c=o(a.NestedResult[0]);return{...a,NestedResult:[c,a.NestedResult[1]]}}return a});for(let[a,c]of t.entries())if(c.$Intent?.name==="AsyncTransactionThunk")try{c.$Intent.data.resultIndex=o(a)}catch{}},xn);var zd=Ye(Ft()),Li=class extends Ie{getCredType(){return`${this.client.getPackageId()}::cred::CRED`}getCredCoinType(){return`0x2::coin::Coin<${this.getCredType()}>`}async mint(t,n){let r=await this.getTreasuryCap(),s=new P;return s.moveCall({target:"0x02::coin::mint_and_transfer",arguments:[s.object(r),s.pure.u64(n),s.pure.address(t)],typeArguments:[this.getCredType()]}),await this.client.signAndExecuteTransaction(s)}async getTreasuryCap(){return(await this.client.getOwnedObjectsGrpc(this.client.getSignerAddress(),`0x2::coin::TreasuryCap<${this.getCredType()}>`))[0]?.object_id??null}async getCoinMetadata(){return(await this.client.getOwnedObjectsGrpc(this.client.getSignerAddress(),`0x2::coin::CoinMetadata<${this.getCredType()}>`))[0]?.object_id??null}async sendCred(t,n){await this.mergeAssets();let s=(await this.client.getOwnedObjectsGrpc(this.client.getSignerAddress(),this.getCredCoinType()))[0],i=parseInt((0,zd.default)(s,"json.balance")+"");if(i<t)throw new Error("Not enough asset balance");let o=new P,a;if(i===t)a=s.object_id;else{let c=await this.split(s.object_id,t);a=c.effects.changedObjects.find(u=>u.idOperation==="Created")?.objectId,await this.client.waitForTransaction(c.digest)}return o.moveCall({target:"0x2::transfer::public_transfer",arguments:[o.object(a),o.pure.address(n)],typeArguments:[this.getCredCoinType()]}),this.client.signAndExecuteTransaction(o)}async mergeAssets(){let t;do if(t=await this.client.getOwnedObjectsGrpc(this.client.getSignerAddress(),this.getCredCoinType()),t.length>1){let n=await this.join(t[0].object_id,t[1].object_id);await this.client.waitForTransaction(n.digest)}while(t.length>1)}async join(t,n){let r=new P;return r.moveCall({target:"0x2::coin::join",arguments:[r.object(t),r.object(n)],typeArguments:[this.getCredType()]}),this.client.signAndExecuteTransaction(r)}async split(t,n){let r=new P,s=r.moveCall({target:"0x2::coin::split",arguments:[r.object(t),r.pure.u64(n)],typeArguments:[this.getCredType()]});return r.transferObjects([s],this.client.getSignerAddress()),this.client.signAndExecuteTransaction(r)}};var Mi=class extends Ie{async addPoints(t,n,r){let s=new P;return s.moveCall({target:`${this.client.getPackageId()}::credenza_loyalty::add_points`,arguments:[s.object(await this.getLoyaltyConfig()),s.pure.address(t),s.pure.u64(n),s.pure.u64(r)]}),this.client.signAndExecuteTransaction(s)}async redeemPoints(t){let n=new P;return n.moveCall({target:`${this.client.getPackageId()}::credenza_loyalty::redeem_points`,arguments:[n.object(await this.getLoyaltyPolicy()),n.object(t)]}),this.client.signAndExecuteTransaction(n)}async convertPointsToCRED(t){let n=new P;return n.moveCall({target:`${this.client.getPackageId()}::credenza_loyalty::convert_points_to_coins`,arguments:[n.object(await this.getLoyaltyPolicy()),n.object(t),n.object(await this.getLoyaltyConfig())],typeArguments:[this.client.CRED.getCredType()]}),this.client.signAndExecuteTransaction(n)}getLoyaltyType(){return`${this.client.getPackageId()}::credenza_loyalty::CREDENZA_LOYALTY`}async getLoyaltyConfig(){if(!this.loyaltyConfig){let t=await this.client.graphqlClient.findSharedObjectByType(`${this.client.getPackageId()}::credenza_loyalty::LoyaltyConfig`);if(!t)throw new Error("Loyalty config not found");this.loyaltyConfig=t}return this.loyaltyConfig}async getLoyaltyPolicy(){if(!this.loyaltyPolicy){let t=await this.client.graphqlClient.findSharedObjectByType(`0x2::token::TokenPolicy<${this.getLoyaltyType()}>`);if(!t)throw new Error("Loyalty token policy not found");this.loyaltyPolicy=t}return this.loyaltyPolicy}async getPointsAmount(t){let n=0,r,s;do{r=await this.client.suiGrpcClient.stateService.listOwnedObjects({owner:t,readMask:{paths:["json"]},objectType:`0x2::token::Token<${this.getLoyaltyType()}>`,pageToken:s,pageSize:100}),s=r.nextCursor;for(let i of r.response.objects){let o=this.client.parseGrpcObjectResponse(i);n+=parseInt(o.json.balance)}}while(r.hasNextPage);return n}async getPoints(t){return await this.client.getOwnedObjectsGrpc(t,`0x2::token::Token<${this.getLoyaltyType()}>`)}async getUserEvents(t){return(await this.client.getOwnedObjectsGrpc(t,`${this.client.getPackageId()}::credenza_loyalty::PointsAddedUserEvent`)).map(r=>r.json)}async getLifetimePoints(t){let n=await this.getLoyaltyConfig(),r=await this.client.getObjectGrpc(n),s=await this.client.graphqlClient.getDynamicFieldValue(r.json.lifetime_points?.id,"address",t);return s?parseInt(s):0}async getOwners(){let t=await this.getLoyaltyConfig();return(await this.client.getObjectGrpc(t)).json.ownership.owners.contents}async setOwner(t,n){let r=new P;return r.moveCall({target:`${this.client.getPackageId()}::credenza_loyalty::set_owner`,arguments:[r.object(await this.getLoyaltyConfig()),r.pure.address(t),r.pure.bool(n)]}),this.client.signAndExecuteTransaction(r)}};var Ui=Ye(Ft()),Fi=class extends Ie{async addPoints(t,n,r,s=""){let i=new P;return i.moveCall({target:`${this.client.getPackageId()}::credenza_meta_loyalty_v2::add_points_with_meta`,arguments:[i.object(await this.getLoyaltyConfig()),i.pure.address(t),i.pure.u64(n),i.pure.string(r),i.pure.string(s)]}),this.client.signAndExecuteTransaction(i)}async redeemPoints(t){let n=new P;return n.moveCall({target:`${this.client.getPackageId()}::credenza_meta_loyalty_v2::redeem_points`,arguments:[n.object(await this.getLoyaltyConfig()),n.pure.u64(t)]}),this.client.signAndExecuteTransaction(n)}async convertPointsToCoins(t){let n=new P,r=await this.getConvertableCoinType();if(!r)throw new Error("Ledger Contract does not have coin set to convert points into");return n.moveCall({target:`${this.client.getPackageId()}::credenza_meta_loyalty_v2::convert_points_to_coins`,arguments:[n.object(await this.getLoyaltyConfig()),n.pure.u64(t)],typeArguments:[r]}),this.client.signAndExecuteTransaction(n)}async getLoyaltyConfig(){if(!this.loyaltyConfig){let t=await this.client.graphqlClient.findSharedObjectByType(`${this.client.getPackageId()}::credenza_meta_loyalty_v2::LoyaltyConfig`);if(!t)throw new Error("Loyalty config not found");this.loyaltyConfig=t}return this.loyaltyConfig}async getPointsAmount(t){let n=await this.getLoyaltyConfig(),r=await this.client.getObjectGrpc(n),s=await this.client.graphqlClient.getDynamicFieldValue(r.json.current_points?.id,"address",t);return s?parseInt(s):0}async getUserEvents(t){return(await this.client.getOwnedObjectsGrpc(t,`${this.client.getPackageId()}::credenza_meta_loyalty_v2::PointsAddedUserEvent`)).map(r=>r.json)}async getLifetimePoints(t){let n=await this.getLoyaltyConfig(),r=await this.client.getObjectGrpc(n),s=await this.client.graphqlClient.getDynamicFieldValue(r.json.lifetime_points?.id,"address",t);return s?parseInt(s):0}async getPointsPerEvent(t,n){let r=await this.getLoyaltyConfig(),s=await this.client.getObjectGrpc(r),i=await this.client.graphqlClient.getDynamicFieldValue(s.json.points_per_event?.id,"address",t),o=await this.client.graphqlClient.getDynamicFieldValue(i?.id,"string",n);return o?parseInt(o):0}async getOwners(){let t=await this.getLoyaltyConfig();return(await this.client.getObjectGrpc(t)).json.ownership.owners.contents}async setOwner(t,n){let r=new P;return r.moveCall({target:`${this.client.getPackageId()}::credenza_meta_loyalty_v2::set_owner`,arguments:[r.object(await this.getLoyaltyConfig()),r.pure.address(t),r.pure.bool(n)]}),this.client.signAndExecuteTransaction(r)}async setCoinForConverting(t,n){let s=(await this.client.getObjectGrpc(t)).object_type.split("<")[1]?.split(">")[0],i=await this.getConvertableCoinType();i||(i=s);let o=new P;return o.moveCall({target:`${this.client.getPackageId()}::credenza_meta_loyalty_v2::set_coin`,arguments:[o.object(await this.getLoyaltyConfig()),o.object(t),o.pure.u64(n)],typeArguments:[i,s]}),this.client.signAndExecuteTransaction(o)}async getConvertableCoinType(){let t=await this.client.getObjectGrpc(await this.getLoyaltyConfig()),n=null;if(parseInt((0,Ui.default)(t,"json.coin.size"))){let r=await this.client.getDynamicFields((0,Ui.default)(t,"json.coin.id"));n=(0,Ui.default)(r,"0.type").split("object::ID,")[1].split("<")[1].split(">")[0]}return n}};var Jd=Ye(Ft()),jc=Ye(Wd()),Vi=class extends Ie{async addMembership(t,n){let r=new P;return r.moveCall({target:`${this.client.getPackageId()}::membership::set_membership`,arguments:[r.object(await this.getMembershipListId()),r.pure.address(t),r.pure.string(n)]}),this.client.signAndExecuteTransaction(r)}async addMembershipWithExpiration(t,n,r){let s=new P;return s.moveCall({target:`${this.client.getPackageId()}::membership::set_membership_with_expiration`,arguments:[s.object(await this.getMembershipListId()),s.pure.address(t),s.pure.string(n),s.pure.u64(r)]}),this.client.signAndExecuteTransaction(s)}async setMembershipExpiration(t,n){let r=new P;return r.moveCall({target:`${this.client.getPackageId()}::membership::set_membership_expiration`,arguments:[r.object(await this.getMembershipListId()),r.pure.address(t),r.pure.u64(n)]}),this.client.signAndExecuteTransaction(r)}async removeMembership(t){let n=new P;return n.moveCall({target:`${this.client.getPackageId()}::membership::remove_membership`,arguments:[n.object(await this.getMembershipListId()),n.pure.address(t)]}),this.client.signAndExecuteTransaction(n)}getMembershipListType(){return`${this.client.getPackageId()}::membership::MembershipList`}getMembershipType(){return`${this.client.getPackageId()}::membership::MEMBERSHIP`}async hasMembership(t){let n=await this.getMembershipListId(),r=await this.client.getObjectGrpc(n),s=await this.client.graphqlClient.getDynamicFieldValue(r.json.members.id,"address",t);if((0,jc.default)(s))return null;let i=await this.getMembershipExpiration(t);return!(0,jc.default)(i)&&i>0&&i<new Date().getTime()/1e3?null:s}async getMembershipExpiration(t){let n=await this.getMembershipListId(),r=await this.client.getObjectGrpc(n);try{let s=await this.client.graphqlClient.getDynamicFieldValue(r.json.expirations.id,"address",t);return parseInt(s)??null}catch{return null}}async setPriceCoin(t,n){let r=await this.client.graphqlClient.findSharedObjectByType(`${this.client.getPackageId()}::sellable::CredenzaSellableConfig<${this.getMembershipType()}>`);return this.client.Sellable.setPriceCoin({sellConfig:r,price:t},{coinType:n})}async buyMembership(t,n){let r=await this.client.graphqlClient.findSharedObjectByType(`${this.client.getPackageId()}::sellable::CredenzaSellableConfig<${this.getMembershipType()}>`),s=new P;return s.moveCall({target:`${this.client.getPackageId()}::membership::buy_membership`,arguments:[s.object(await this.getMembershipListId()),s.object(r),s.object(t)],typeArguments:[n]}),this.client.signAndExecuteTransaction(s)}async getMembershipListId(){if(!this.membershipListId){let t=await this.client.graphqlClient.findSharedObjectByType(`${this.client.getPackageId()}::membership::MembershipList`);if(!t)throw new Error("MembershipList not found");this.membershipListId=t}return this.membershipListId}async getOwners(){let t=await this.getMembershipListId(),n=await this.client.getObjectGrpc(t);return(0,Jd.default)(n,"json.ownership.owners.contents")}async setOwner(t,n){let r=new P;return r.moveCall({target:`${this.client.getPackageId()}::membership::set_owner`,arguments:[r.object(await this.getMembershipListId()),r.pure.address(t),r.pure.bool(n)]}),this.client.signAndExecuteTransaction(r)}};var Gi=Ye(Ft()),qi=class extends Ie{getDecomType(){return`${this.client.getPackageId()}::decom::DECOM`}getDecomTokenType(){return`${this.client.getPackageId()}::decom::DecomToken`}async mint(t,n){let r=new P;return r.moveCall({target:`${this.client.getPackageId()}::decom::mint`,arguments:[r.object(await this.getAdminCap()),r.pure.address(t),r.pure.string(n)]}),this.client.signAndExecuteTransaction(r)}async burn(t){let n=new P;return n.moveCall({target:`${this.client.getPackageId()}::decom::burn`,arguments:[n.object(t)]}),this.client.signAndExecuteTransaction(n)}async setAuthorizedReseller(t,n){let r=new P;return r.moveCall({target:`${this.client.getPackageId()}::decom::set_authorized_reseller`,arguments:[r.object(await this.getAdminCap()),r.pure.address(t),r.pure.bool(n)]}),this.client.signAndExecuteTransaction(r)}async getAuthorizedResellers(){let t=await this.getAdminCap(),r=(await this.client.getObjectGrpc(t)).json.authorized_resselers.id;return(await this.client.getDynamicFields(r)).filter(i=>i.value).map(i=>i.name)}async writeOwnerRenderData(t){let n=new P;return n.moveCall({target:`${this.client.getPackageId()}::decom::write_owner_render_data`,arguments:[n.object(await this.getAdminCap()),n.pure.string(t)]}),this.client.signAndExecuteTransaction(n)}async getOwnerRenderData(){let t=await this.getAdminCap(),n=await this.client.getObjectGrpc(t);return(0,Gi.default)(n,"json.owner_render_data")}async getRenderData(){let t=await this.getAdminCap(),n=await this.client.getObjectGrpc(t);return(0,Gi.default)(n,"json.render_data")}async writeRenderData(t){let n=new P;return n.moveCall({target:`${this.client.getPackageId()}::decom::write_render_data`,arguments:[n.object(await this.getAdminCap()),n.pure.string(t)]}),this.client.signAndExecuteTransaction(n)}async getTokens(t){return await this.client.getOwnedObjectsGrpc(t,this.getDecomTokenType())}async getAdminCap(){if(!this.adminCap){let t=await this.client.graphqlClient.findSharedObjectByType(`${this.client.getPackageId()}::decom::DecomAdminCap`);if(!t)throw new Error("DecomAdminCap not found");this.adminCap=t}return this.adminCap}async setPriceCoin(t,n){let r=await this.client.graphqlClient.findSharedObjectByType(`${this.client.getPackageId()}::sellable::CredenzaSellableConfig<${this.getDecomType()}>`);return this.client.Sellable.setPriceCoin({sellConfig:r,price:t},{coinType:n})}async buyDecomToken(t,n){let r=await this.client.graphqlClient.findSharedObjectByType(`${this.client.getPackageId()}::sellable::CredenzaSellableConfig<${this.getDecomType()}>`),s=new P;return s.moveCall({target:`${this.client.getPackageId()}::decom::buy_decom_token`,arguments:[s.object(r),s.object(t)],typeArguments:[n]}),this.client.signAndExecuteTransaction(s)}async getOwners(){let t=await this.getAdminCap(),n=await this.client.getObjectGrpc(t);return(0,Gi.default)(n,"json.ownership.owners.contents")}async setOwner(t,n){let r=new P;return r.moveCall({target:`${this.client.getPackageId()}::decom::set_owner`,arguments:[r.object(await this.getAdminCap()),r.pure.address(t),r.pure.bool(n)]}),this.client.signAndExecuteTransaction(r)}async sendAsset(t,n){let r=new P;return r.moveCall({target:"0x2::transfer::public_transfer",arguments:[r.object(t),r.pure.address(n)],typeArguments:[this.getDecomTokenType()]}),this.client.signAndExecuteTransaction(r)}};var Hc=Ye(zc()),rt=Ye(Ft());var Wi=class extends Ie{async getSellConfig(t){let n=await this.client.graphqlClient.findSharedObjectByType(`${this.client.getPackageId()}::sellable::CredenzaSellableConfig<${t}>`);if(!n)throw new Error(`Sell config for ${t} not found in package ${this.client.getPackageId()}`);return n}async getSellableType(t){let r=(await this.client.getObjectGrpc(t)).object_type.split("<")[1];return r.substring(0,r.length-1)}async setPriceCoin({sellConfig:t,price:n},{coinType:r}){let s=r,i=await this.client.getObjectGrpc(t),o=await this.getSellableType(t);if(parseInt((0,rt.default)(i,"json.coin.size"))){let c=await this.client.getDynamicFields((0,rt.default)(i,"json.coin.id"));s=(0,rt.default)(c,"0.type").split("object::ID,")[1].split("<")[1].split(">")[0]}let a=new P;return a.moveCall({target:`${this.client.getPackageId()}::sellable::set_price_coin`,arguments:[a.object(t),a.pure.u64(n)],typeArguments:[o,s,r]}),this.client.signAndExecuteTransaction(a)}async setPriceFiat({sellConfig:t,price:n,currency:r}){let s=new P,i=await this.getSellableType(t);return r?s.moveCall({target:`${this.client.getPackageId()}::sellable::set_price_fiat_for_currency`,arguments:[s.object(t),s.pure.string(r),s.pure.u64(n)],typeArguments:[i]}):s.moveCall({target:`${this.client.getPackageId()}::sellable::set_price_fiat`,arguments:[s.object(t),s.pure.u64(n)],typeArguments:[i]}),this.client.signAndExecuteTransaction(s)}async setPriceSui({sellConfig:t,price:n}){let r=new P,s=await this.getSellableType(t);return r.moveCall({target:`${this.client.getPackageId()}::sellable::set_price_sui`,arguments:[r.object(t),r.pure.u64(n)],typeArguments:[s]}),this.client.signAndExecuteTransaction(r)}async setAssetPriceCoin({sellConfig:t,assetId:n,price:r}){let s=await this.getSellableType(t),i=new P;return i.moveCall({target:`${this.client.getPackageId()}::sellable::set_asset_price_coin`,arguments:[i.object(t),i.pure.u64(n),i.pure.u64(r)],typeArguments:[s]}),this.client.signAndExecuteTransaction(i)}async setAssetPriceFiat({sellConfig:t,assetId:n,price:r,currency:s}){let i=await this.getSellableType(t),o=new P;return s?o.moveCall({target:`${this.client.getPackageId()}::sellable::set_asset_price_fiat_for_currency`,arguments:[o.object(t),o.pure.u64(n),o.pure.string(s),o.pure.u64(r)],typeArguments:[i]}):o.moveCall({target:`${this.client.getPackageId()}::sellable::set_asset_price_fiat`,arguments:[o.object(t),o.pure.u64(n),o.pure.u64(r)],typeArguments:[i]}),this.client.signAndExecuteTransaction(o)}async setAssetPriceSui({sellConfig:t,assetId:n,price:r}){let s=await this.getSellableType(t),i=new P;return i.moveCall({target:`${this.client.getPackageId()}::sellable::set_asset_price_sui`,arguments:[i.object(t),i.pure.u64(n),i.pure.u64(r)],typeArguments:[s]}),this.client.signAndExecuteTransaction(i)}async getAssetPriceFiat({sellConfig:t,assetId:n,currency:r}){let s=await this.client.getObjectGrpc(t),i=await this.client.getDynamicFields((0,rt.default)(s,"json.asset_prices.id"));for(let o of i)if(o.name===`${n}`)if(r){let a=await this.client.getDynamicFields((0,rt.default)(o,"value.price_fiat_for_currency.id"));for(let c of a)if(Hc.Buffer.from(c.name,"base64").toString("utf-8")===r)return parseInt(c.value)??0}else return parseInt((0,rt.default)(o,"value.price_fiat"));return 0}async getPriceFiat(t,n){let r=await this.client.getObjectGrpc(t);if(!n||!(0,rt.default)(r,"json.price_fiat_for_currency.id")&&n==="USD")return parseInt((0,rt.default)(r,"json.price_fiat"))??null;{let s=await this.client.getDynamicFields((0,rt.default)(r,"json.price_fiat_for_currency.id"));for(let i of s)if(Hc.Buffer.from(i.name,"base64").toString("utf-8")===n)return parseInt(i.value)??0;return 0}}async getAssetPriceCoin({sellConfig:t,assetId:n}){let r=await this.client.getObjectGrpc(t),s=await this.client.getDynamicFields((0,rt.default)(r,"json.asset_prices.id"));for(let i of s)if(i.name===`${n}`)return parseInt((0,rt.default)(i,"value.price_coin"));return 0}async getAssetPriceSui({sellConfig:t,assetId:n}){let r=await this.client.getObjectGrpc(t),s=await this.client.getDynamicFields((0,rt.default)(r,"json.asset_prices.id"));for(let i of s)if(i.name===`${n}`)return parseInt((0,rt.default)(i,"value.price_sui"));return 0}async setOwner({sellConfig:t,recipient:n,isOwner:r}){let s=new P;return s.moveCall({target:`${this.client.getPackageId()}::sellable::set_owner`,arguments:[s.object(t),s.pure.address(n),s.pure.bool(r)],typeArguments:[await this.getSellableType(t)]}),this.client.signAndExecuteTransaction(s)}};var sn=Ye(Ft()),du=Ye(fu()),Ki=class extends Ie{getAssetCollectionType(){return`${this.client.getPackageId()}::credenza_asset_collection::CREDENZA_ASSET_COLLECTION`}getAssetType(){return`${this.client.getPackageId()}::credenza_asset_collection::TokenizedAsset`}async getCollectionCap(){if(!this.collectionCap){let t=await this.client.graphqlClient.findSharedObjectByType(`${this.client.getPackageId()}::credenza_asset_collection::CollectionCap`);if(!t)throw new Error(`Collection cap not found ${this.client.getPackageId()}::credenza_asset_collection::CollectionCap`);this.collectionCap=t}return this.collectionCap}async getSellableConfig(){if(!this.sellableConfig){let t=await this.client.graphqlClient.findSharedObjectByType(`${this.client.getPackageId()}::sellable::CredenzaSellableConfig<${this.getAssetCollectionType()}>`);if(!t)throw new Error(`Sellable config not found ${this.client.getPackageId()}::sellable::CredenzaSellableConfig<${this.getAssetCollectionType()}>`);this.sellableConfig=t}return this.sellableConfig}async addAsset(t,n,r){let s=new P;return s.moveCall({target:`${this.client.getPackageId()}::credenza_asset_collection::add_asset`,arguments:[s.object(await this.getCollectionCap()),s.pure.string(t),s.pure.string(n),s.pure.string(r)]}),this.client.signAndExecuteTransaction(s)}async updateCollectionMetadata(t,n,r){let s=new P;return s.moveCall({target:`${this.client.getPackageId()}::credenza_asset_collection::update_collection_metadata`,arguments:[s.object(await this.getCollectionCap()),s.pure.string(t),s.pure.string(n),s.pure.string(r)]}),this.client.signAndExecuteTransaction(s)}async updateAssetMetadata(t,n,r,s){let i=new P;return i.moveCall({target:`${this.client.getPackageId()}::credenza_asset_collection::update_metadata`,arguments:[i.object(await this.getCollectionCap()),i.pure.u64(t),i.pure.string(n),i.pure.string(r),i.pure.string(s)]}),this.client.signAndExecuteTransaction(i)}async mint(t,n,r){let s=new P;return s.moveCall({target:`${this.client.getPackageId()}::credenza_asset_collection::mint`,arguments:[s.object(await this.getCollectionCap()),s.pure.address(t),s.pure.u64(n),s.pure.u64(r)]}),this.client.signAndExecuteTransaction(s)}async split(t,n){let r=new P,s=r.moveCall({target:`${this.client.getPackageId()}::credenza_asset_collection::split`,arguments:[r.object(t),r.pure.u64(n)]});return r.moveCall({target:"0x2::transfer::public_transfer",arguments:[s,r.pure.address(this.client.getSignerAddress())],typeArguments:[this.getAssetType()]}),this.client.signAndExecuteTransaction(r)}async join(t,n){let r=new P;return r.moveCall({target:`${this.client.getPackageId()}::credenza_asset_collection::join`,arguments:[r.object(t),r.object(n)]}),this.client.signAndExecuteTransaction(r)}async burn(t){let n=new P;return n.moveCall({target:`${this.client.getPackageId()}::credenza_asset_collection::burn`,arguments:[n.object(t)]}),this.client.signAndExecuteTransaction(n)}async getCollectionMetadata(){return this.client.getObjectGrpc(await this.getCollectionCap())}async getAssetMetadata(t){let n=await this.getCollectionMetadata(),r=(0,sn.default)(n,"json.assets.contents.id"),s=await this.client.getDynamicFields(r);for(let i of s)if(i.name===`${t-1}`)return i.value;return null}async balanceOf(t,n){let r=await this.client.getOwnedObjectsGrpc(t,this.getAssetType()),s=0;for(let i of r)(0,sn.default)(i,"json.asset_id")===`${n}`&&(s+=parseInt((0,sn.default)(i,"json.balance")));return s}async setAssetPriceFiat(t,n){await this.client.Sellable.setAssetPriceFiat({sellConfig:await this.getSellableConfig(),assetId:t,price:n})}async setAssetPriceSui(t,n){await this.client.Sellable.setAssetPriceSui({sellConfig:await this.getSellableConfig(),assetId:t,price:n})}async setAssetPriceCoin(t,n){await this.client.Sellable.setAssetPriceCoin({sellConfig:await this.getSellableConfig(),assetId:t,price:n})}async getAssetPriceFiat(t,n){return await this.client.Sellable.getAssetPriceFiat({sellConfig:await this.getSellableConfig(),assetId:t,currency:n})}async getAssetPriceCoin(t){return await this.client.Sellable.getAssetPriceCoin({sellConfig:await this.getSellableConfig(),assetId:t})}async getAssetPriceSui(t){return await this.client.Sellable.getAssetPriceSui({sellConfig:await this.getSellableConfig(),assetId:t})}async setOwner(t,n){let r=new P;return r.moveCall({target:`${this.client.getPackageId()}::credenza_asset_collection::set_owner`,arguments:[r.object(await this.getCollectionCap()),r.pure.address(t),r.pure.bool(n)]}),this.client.signAndExecuteTransaction(r)}async buyAsset(t,n,r,s){let i=new P;return i.moveCall({target:`${this.client.getPackageId()}::credenza_asset_collection::buy_asset`,arguments:[i.object(await this.getCollectionCap()),i.object(await this.client.Sellable.getSellConfig(this.getAssetCollectionType())),i.object(t),i.pure.u64(r),i.pure.u64(s)],typeArguments:[n]}),this.client.signAndExecuteTransaction(i)}async getAssetsIds(){let t=await this.getCollectionMetadata(),n=(0,sn.default)(t,"json.assets.contents.id");return(await this.client.getDynamicFields(n)).map(s=>parseInt(s.value?.asset_id)).sort()}async getOwners(){let t=await this.getCollectionMetadata();return(0,sn.default)(t,"json.ownership.owners.contents")}async sendAsset(t,n,r){await this.mergeAssets(t);let s=await this.client.getOwnedObjectsGrpc(this.client.getSignerAddress(),this.getAssetType()),i=(0,du.default)(s,l=>(0,sn.default)(l,"json.asset_id")===`${t}`);if(i.length===0)throw new Error("You dont have asset to send");let o=i[0],a=parseInt((0,sn.default)(o,"json.balance")+"");if(a<n)throw new Error("Not enough asset balance");let c;if(a===n)c=o.object_id;else{let l=await this.split(o.object_id,n);c=l.effects.changedObjects.find(p=>p.idOperation==="Created")?.objectId,await this.client.waitForTransaction(l.digest)}let u=new P;return u.moveCall({target:"0x2::transfer::public_transfer",arguments:[u.object(c),u.pure.address(r)],typeArguments:[this.getAssetType()]}),this.client.signAndExecuteTransaction(u)}async mergeAssets(t){let n;do{let r=await this.client.getOwnedObjectsGrpc(this.client.getSignerAddress(),this.getAssetType());if(n=(0,du.default)(r,s=>(0,sn.default)(s,"json.asset_id")===`${t}`),n.length>1){let s=await this.join(n[0].object_id,n[1].object_id);await this.client.waitForTransaction(s.digest)}}while(n.length>1)}};var Cs=Ye(Ft()),Qi=class extends Ie{async getCreatedConfigs(){return await this.client.graphqlClient.findSharedObjectsByType(`${this.client.getPackageId()}::credenza_airdrop::CredenzaAirdropConfig`)}async createConfig(){let t=new P;return t.moveCall({target:`${this.client.getPackageId()}::credenza_airdrop::create_config`,arguments:[]}),this.client.signAndExecuteTransaction(t)}async setDropPerAddressLimit(t,n){let r=new P;return r.moveCall({target:`${this.client.getPackageId()}::credenza_airdrop::set_drop_per_address_limit`,arguments:[r.object(t),r.pure.u64(n)]}),this.client.signAndExecuteTransaction(r)}async setCoin(t,n){let s=(await this.client.getObjectGrpc(n)).object_type.split("<")[1]?.split(">")[0],i=await this.getAirdropCoinType(t);i||(i=s);let o=new P;return o.moveCall({target:`${this.client.getPackageId()}::credenza_airdrop::set_coin`,arguments:[o.object(t),o.object(n)],typeArguments:[i,s]}),this.client.signAndExecuteTransaction(o)}async setCollectionAsset(t,n){let r=new P;return r.moveCall({target:`${this.client.getPackageId()}::credenza_airdrop::set_asset`,arguments:[r.object(t),r.object(n)],typeArguments:[]}),this.client.signAndExecuteTransaction(r)}async getAirdropCoinType(t){let n=await this.client.getObjectGrpc(t);if(!parseInt((0,Cs.default)(n,"json.items.size")??"0"))return null;let s=(0,Cs.default)(n,"json.items.id"),i=await this.client.getDynamicFields(s);for(let o of i){let a=o.type;if(a?.includes("coin::Coin<"))return a.split("coin::Coin<")[1]?.split(">")[0]}return null}async getAirdropAssetType(t){let n=await this.client.getObjectGrpc(t);if(!parseInt((0,Cs.default)(n,"json.items.size")??"0"))return null;let s=(0,Cs.default)(n,"json.items.id"),i=await this.client.getDynamicFields(s);for(let o of i){let a=o.type.split("object::ID,")[1];return a.substring(0,a.length-1)}return null}async requestCoin(t,n){let r=await this.getAirdropCoinType(t);if(!r)throw new Error("This config does not have coin to drop setup");let s=new P;return s.moveCall({target:`${this.client.getPackageId()}::credenza_airdrop::request_coin`,arguments:[s.object(t),s.pure.u64(n)],typeArguments:[r]}),this.client.signAndExecuteTransaction(s)}async requestAsset(t,n,r){if(!await this.getAirdropAssetType(t))throw new Error("This config does not have coin to drop setup");let i=new P;return i.moveCall({target:`${this.client.getPackageId()}::credenza_airdrop::request_asset`,arguments:[i.object(t),i.pure.u64(n),i.pure.u64(r)]}),this.client.signAndExecuteTransaction(i)}};var eo=Ye(Ft()),to=class extends Ie{async getCreatedConfigs(){return await this.client.graphqlClient.findSharedObjectsByType(`${this.client.getPackageId()}::credenza_asset_deposit::DepositConfig`)}async createConfig(){let t=new P;return t.moveCall({target:`${this.client.getPackageId()}::credenza_asset_deposit::create_config`,arguments:[]}),this.client.signAndExecuteTransaction(t)}async getDepositedCoinType(t){let n=await this.client.getObjectGrpc(t);if(!parseInt((0,eo.default)(n,"json.coin.size")??"0"))return null;let s=(0,eo.default)(n,"json.coin.id"),i=await this.client.getDynamicFields(s);for(let o of i){let a=o.type;if(a?.includes("coin::Coin<"))return a.split("coin::Coin<")[1]?.split(">")[0]}return null}async deposit(t,n){let s=(await this.client.getObjectGrpc(n)).object_type?.split("<")[1].split(">")[0],i=new P;return i.moveCall({target:`${this.client.getPackageId()}::credenza_asset_deposit::deposit`,arguments:[i.object(t),i.object(n)],typeArguments:[s]}),this.client.signAndExecuteTransaction(i)}async withdraw(t){let n=await this.getDepositedCoinType(t);if(!n)throw new Error(`No coin was deposited into ${t}`);let r=new P;return r.moveCall({target:`${this.client.getPackageId()}::credenza_asset_deposit::withdraw`,arguments:[r.object(t)],typeArguments:[n]}),this.client.signAndExecuteTransaction(r)}async setOwner(t,n,r){let s=new P;return s.moveCall({target:`${this.client.getPackageId()}::credenza_asset_deposit::set_owner`,arguments:[s.object(t),s.pure.address(n),s.pure.bool(r)]}),this.client.signAndExecuteTransaction(s)}async setAuthorizedUser(t,n,r){let s=new P;return s.moveCall({target:`${this.client.getPackageId()}::credenza_asset_deposit::set_authorized_user`,arguments:[s.object(t),s.pure.address(n),s.pure.bool(r)]}),this.client.signAndExecuteTransaction(s)}async isAuthorizedUser(t,n){let r=await this.client.getObjectGrpc(t);return(0,eo.default)(r,"json.authorized_users.contents").includes(n)}async requestCoin(t,n){let r=await this.getDepositedCoinType(t);if(!r)throw new Error("This config does not have coin to drop setup");let s=new P;return s.moveCall({target:`${this.client.getPackageId()}::credenza_asset_deposit::request_funds`,arguments:[s.object(t),s.pure.u64(n)],typeArguments:[r]}),this.client.signAndExecuteTransaction(s)}};var Lr={ED25519:0,Secp256k1:1,Secp256r1:2,MultiSig:3,ZkLogin:5,Passkey:6},ny={ED25519:32,Secp256k1:33,Secp256r1:33,Passkey:33},Rs={0:"ED25519",1:"Secp256k1",2:"Secp256r1",3:"MultiSig",5:"ZkLogin",6:"Passkey"};function ro(e,t){return B.IntentMessage(B.bytes(t.length)).serialize({intent:{scope:{[e]:!0},version:{V0:!0},appId:{Sui:!0}},value:t}).toBytes()}function mu(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}var ry=class{equals(e){return mu(this.toRawBytes(),e.toRawBytes())}toBase64(){return X(this.toRawBytes())}toString(){throw new Error("`toString` is not implemented on public keys. Use `toBase64()` or `toRawBytes()` instead.")}toSuiPublicKey(){return X(this.toSuiBytes())}verifyWithIntent(e,t,n){let r=en(ro(n,e),{dkLen:32});return this.verify(r,t)}verifyPersonalMessage(e,t){return this.verifyWithIntent(B.byteVector().serialize(e).toBytes(),t,"PersonalMessage")}verifyTransaction(e,t){return this.verifyWithIntent(e,t,"TransactionData")}verifyAddress(e){return this.toSuiAddress()===e}toSuiBytes(){let e=this.toRawBytes(),t=new Uint8Array(e.length+1);return t.set([this.flag()]),t.set(e,1),t}toSuiAddress(){return Y(yn(en(this.toSuiBytes(),{dkLen:32})).slice(0,fn*2))}};function sy(e){let t=K(e),n=Rs[t[0]];switch(n){case"ED25519":case"Secp256k1":case"Secp256r1":let r=ny[n],s=t.slice(1,t.length-r);return{serializedSignature:e,signatureScheme:n,signature:s,publicKey:t.slice(1+s.length),bytes:t};default:throw new Error("Unsupported signature scheme")}}var iy=Ep(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(e=>BigInt(e))),oN=iy[0],aN=iy[1],Sn=new Uint32Array(80),In=new Uint32Array(80),hu=class extends ki{constructor(t){super(128,t,16,!1)}get(){let{Ah:t,Al:n,Bh:r,Bl:s,Ch:i,Cl:o,Dh:a,Dl:c,Eh:u,El:l,Fh:p,Fl:d,Gh:y,Gl:g,Hh:E,Hl:x}=this;return[t,n,r,s,i,o,a,c,u,l,p,d,y,g,E,x]}set(t,n,r,s,i,o,a,c,u,l,p,d,y,g,E,x){this.Ah=t|0,this.Al=n|0,this.Bh=r|0,this.Bl=s|0,this.Ch=i|0,this.Cl=o|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=l|0,this.Fh=p|0,this.Fl=d|0,this.Gh=y|0,this.Gl=g|0,this.Hh=E|0,this.Hl=x|0}process(t,n){for(let k=0;k<16;k++,n+=4)Sn[k]=t.getUint32(n),In[k]=t.getUint32(n+=4);for(let k=16;k<80;k++){let D=Sn[k-15]|0,$=In[k-15]|0,U=jt(D,$,1)^jt(D,$,8)^fc(D,$,7),L=Bt(D,$,1)^Bt(D,$,8)^dc(D,$,7),O=Sn[k-2]|0,R=In[k-2]|0,q=jt(O,R,19)^Hn(O,R,61)^fc(O,R,6),oe=Bt(O,R,19)^Wn(O,R,61)^dc(O,R,6),ue=Sp(L,oe,In[k-7],In[k-16]),me=Ip(ue,U,q,Sn[k-7],Sn[k-16]);Sn[k]=me|0,In[k]=ue|0}let{Ah:r,Al:s,Bh:i,Bl:o,Ch:a,Cl:c,Dh:u,Dl:l,Eh:p,El:d,Fh:y,Fl:g,Gh:E,Gl:x,Hh:C,Hl:S}=this;for(let k=0;k<80;k++){let D=jt(p,d,14)^jt(p,d,18)^Hn(p,d,41),$=Bt(p,d,14)^Bt(p,d,18)^Wn(p,d,41),U=p&y^~p&E,L=d&g^~d&x,O=_p(S,$,L,aN[k],In[k]),R=Op(O,C,D,U,oN[k],Sn[k]),q=O|0,oe=jt(r,s,28)^Hn(r,s,34)^Hn(r,s,39),ue=Bt(r,s,28)^Wn(r,s,34)^Wn(r,s,39),me=r&i^r&a^i&a,Ae=s&o^s&c^o&c;C=E|0,S=x|0,E=y|0,x=g|0,y=p|0,g=d|0,{h:p,l:d}=ct(u|0,l|0,R|0,q|0),u=a|0,l=c|0,a=i|0,c=o|0,i=r|0,o=s|0;let ve=ms(q,ue,Ae);r=hs(ve,R,oe,me),s=ve|0}({h:r,l:s}=ct(this.Ah|0,this.Al|0,r|0,s|0)),{h:i,l:o}=ct(this.Bh|0,this.Bl|0,i|0,o|0),{h:a,l:c}=ct(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l}=ct(this.Dh|0,this.Dl|0,u|0,l|0),{h:p,l:d}=ct(this.Eh|0,this.El|0,p|0,d|0),{h:y,l:g}=ct(this.Fh|0,this.Fl|0,y|0,g|0),{h:E,l:x}=ct(this.Gh|0,this.Gl|0,E|0,x|0),{h:C,l:S}=ct(this.Hh|0,this.Hl|0,C|0,S|0),this.set(r,s,i,o,a,c,u,l,p,d,y,g,E,x,C,S)}roundClean(){at(Sn,In)}destroy(){at(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},gu=class extends hu{constructor(){super(64);I(this,"Ah",De[0]|0);I(this,"Al",De[1]|0);I(this,"Bh",De[2]|0);I(this,"Bl",De[3]|0);I(this,"Ch",De[4]|0);I(this,"Cl",De[5]|0);I(this,"Dh",De[6]|0);I(this,"Dl",De[7]|0);I(this,"Eh",De[8]|0);I(this,"El",De[9]|0);I(this,"Fh",De[10]|0);I(this,"Fl",De[11]|0);I(this,"Gh",De[12]|0);I(this,"Gl",De[13]|0);I(this,"Hh",De[14]|0);I(this,"Hl",De[15]|0)}};var Qn=xi(()=>new gu,Tp(3));var ay=BigInt(0),oy=BigInt(1);function io(e,t=""){if(typeof e!="boolean"){let n=t&&`"${t}" `;throw new Error(n+"expected boolean, got type="+typeof e)}return e}function cN(e){if(typeof e=="bigint"){if(!so(e))throw new Error("positive bigint expected, got "+e)}else Ue(e);return e}function cy(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?ay:BigInt("0x"+e)}function uy(e){return cy(yn(e))}function Mr(e){return cy(yn(oo(ee(e)).reverse()))}function yu(e,t){Ue(t),e=cN(e);let n=fs(e.toString(16).padStart(t*2,"0"));if(n.length!==t)throw new Error("number too large");return n}function ly(e,t){return yu(e,t).reverse()}function oo(e){return Uint8Array.from(e)}var so=e=>typeof e=="bigint"&&ay<=e;function uN(e,t,n){return so(e)&&so(t)&&so(n)&&t<=e&&e<n}function bu(e,t,n,r){if(!uN(t,n,r))throw new Error("expected valid "+e+": "+n+" <= n < "+r+", got "+t)}var py=e=>(oy<<BigInt(e))-oy;function Ds(e,t={},n={}){if(!e||typeof e!="object")throw new Error("expected valid options object");function r(i,o,a){let c=e[i];if(a&&c===void 0)return;let u=typeof c;if(u!==o||c===null)throw new Error(`param "${i}" is invalid: expected ${o}, got ${u}`)}let s=(i,o)=>Object.entries(i).forEach(([a,c])=>r(a,c,o));s(t,!1),s(n,!0)}function Tu(e){let t=new WeakMap;return(n,...r)=>{let s=t.get(n);if(s!==void 0)return s;let i=e(n,...r);return t.set(n,i),i}}var He=BigInt(0),Fe=BigInt(1),er=BigInt(2),my=BigInt(3),hy=BigInt(4),gy=BigInt(5),lN=BigInt(7),yy=BigInt(8),pN=BigInt(9),by=BigInt(16);function _e(e,t){let n=e%t;return n>=He?n:t+n}function It(e,t,n){let r=e;for(;t-- >He;)r*=r,r%=n;return r}function fy(e,t){if(e===He)throw new Error("invert: expected non-zero number");if(t<=He)throw new Error("invert: expected positive modulus, got "+t);let n=_e(e,t),r=t,s=He,i=Fe,o=Fe,a=He;for(;n!==He;){let u=r/n,l=r%n,p=s-o*u,d=i-a*u;r=n,n=l,s=o,i=a,o=p,a=d}if(r!==Fe)throw new Error("invert: does not exist");return _e(s,t)}function wu(e,t,n){if(!e.eql(e.sqr(t),n))throw new Error("Cannot find square root")}function Ty(e,t){let n=(e.ORDER+Fe)/hy,r=e.pow(t,n);return wu(e,r,t),r}function fN(e,t){let n=(e.ORDER-gy)/yy,r=e.mul(t,er),s=e.pow(r,n),i=e.mul(t,s),o=e.mul(e.mul(i,er),s),a=e.mul(i,e.sub(o,e.ONE));return wu(e,a,t),a}function dN(e){let t=co(e),n=vy(e),r=n(t,t.neg(t.ONE)),s=n(t,r),i=n(t,t.neg(r)),o=(e+lN)/by;return(a,c)=>{let u=a.pow(c,o),l=a.mul(u,r),p=a.mul(u,s),d=a.mul(u,i),y=a.eql(a.sqr(l),c),g=a.eql(a.sqr(p),c);u=a.cmov(u,l,y),l=a.cmov(d,p,g);let E=a.eql(a.sqr(l),c),x=a.cmov(u,l,E);return wu(a,x,c),x}}function vy(e){if(e<my)throw new Error("sqrt is not defined for small field");let t=e-Fe,n=0;for(;t%er===He;)t/=er,n++;let r=er,s=co(e);for(;dy(s,r)===1;)if(r++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(n===1)return Ty;let i=s.pow(r,t),o=(t+Fe)/er;return function(c,u){if(c.is0(u))return u;if(dy(c,u)!==1)throw new Error("Cannot find square root");let l=n,p=c.mul(c.ONE,i),d=c.pow(u,t),y=c.pow(u,o);for(;!c.eql(d,c.ONE);){if(c.is0(d))return c.ZERO;let g=1,E=c.sqr(d);for(;!c.eql(E,c.ONE);)if(g++,E=c.sqr(E),g===l)throw new Error("Cannot find square root");let x=Fe<<BigInt(l-g-1),C=c.pow(p,x);l=g,p=c.sqr(C),d=c.mul(d,p),y=c.mul(y,C)}return y}}function mN(e){return e%hy===my?Ty:e%yy===gy?fN:e%by===pN?dN(e):vy(e)}var wy=(e,t)=>(_e(e,t)&Fe)===Fe,hN=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Ey(e){let t={ORDER:"bigint",BYTES:"number",BITS:"number"},n=hN.reduce((r,s)=>(r[s]="function",r),t);return Ds(e,n),e}function gN(e,t,n){if(n<He)throw new Error("invalid exponent, negatives unsupported");if(n===He)return e.ONE;if(n===Fe)return t;let r=e.ONE,s=t;for(;n>He;)n&Fe&&(r=e.mul(r,s)),s=e.sqr(s),n>>=Fe;return r}function ao(e,t,n=!1){let r=new Array(t.length).fill(n?e.ZERO:void 0),s=t.reduce((o,a,c)=>e.is0(a)?o:(r[c]=o,e.mul(o,a)),e.ONE),i=e.inv(s);return t.reduceRight((o,a,c)=>e.is0(a)?o:(r[c]=e.mul(o,r[c]),e.mul(o,a)),i),r}function dy(e,t){let n=(e.ORDER-Fe)/er,r=e.pow(t,n),s=e.eql(r,e.ONE),i=e.eql(r,e.ZERO),o=e.eql(r,e.neg(e.ONE));if(!s&&!i&&!o)throw new Error("invalid Legendre symbol result");return s?1:i?0:-1}function yN(e,t){t!==void 0&&Ue(t);let n=t!==void 0?t:e.toString(2).length,r=Math.ceil(n/8);return{nBitLength:n,nByteLength:r}}var vu=class{constructor(t,n={}){I(this,"ORDER");I(this,"BITS");I(this,"BYTES");I(this,"isLE");I(this,"ZERO",He);I(this,"ONE",Fe);I(this,"_lengths");I(this,"_sqrt");I(this,"_mod");if(t<=He)throw new Error("invalid field: expected ORDER > 0, got "+t);let r;this.isLE=!1,n!=null&&typeof n=="object"&&(typeof n.BITS=="number"&&(r=n.BITS),typeof n.sqrt=="function"&&(this.sqrt=n.sqrt),typeof n.isLE=="boolean"&&(this.isLE=n.isLE),n.allowedLengths&&(this._lengths=n.allowedLengths?.slice()),typeof n.modFromBytes=="boolean"&&(this._mod=n.modFromBytes));let{nBitLength:s,nByteLength:i}=yN(t,r);if(i>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");this.ORDER=t,this.BITS=s,this.BYTES=i,this._sqrt=void 0,Object.preventExtensions(this)}create(t){return _e(t,this.ORDER)}isValid(t){if(typeof t!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof t);return He<=t&&t<this.ORDER}is0(t){return t===He}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}isOdd(t){return(t&Fe)===Fe}neg(t){return _e(-t,this.ORDER)}eql(t,n){return t===n}sqr(t){return _e(t*t,this.ORDER)}add(t,n){return _e(t+n,this.ORDER)}sub(t,n){return _e(t-n,this.ORDER)}mul(t,n){return _e(t*n,this.ORDER)}pow(t,n){return gN(this,t,n)}div(t,n){return _e(t*fy(n,this.ORDER),this.ORDER)}sqrN(t){return t*t}addN(t,n){return t+n}subN(t,n){return t-n}mulN(t,n){return t*n}inv(t){return fy(t,this.ORDER)}sqrt(t){return this._sqrt||(this._sqrt=mN(this.ORDER)),this._sqrt(this,t)}toBytes(t){return this.isLE?ly(t,this.BYTES):yu(t,this.BYTES)}fromBytes(t,n=!1){ee(t);let{_lengths:r,BYTES:s,isLE:i,ORDER:o,_mod:a}=this;if(r){if(!r.includes(t.length)||t.length>s)throw new Error("Field.fromBytes: expected "+r+" bytes, got "+t.length);let u=new Uint8Array(s);u.set(t,i?0:u.length-t.length),t=u}if(t.length!==s)throw new Error("Field.fromBytes: expected "+s+" bytes, got "+t.length);let c=i?Mr(t):uy(t);if(a&&(c=_e(c,o)),!n&&!this.isValid(c))throw new Error("invalid field element: outside of range 0..ORDER");return c}invertBatch(t){return ao(this,t)}cmov(t,n,r){return r?n:t}};function co(e,t={}){return new vu(e,t)}var uo=BigInt(0),Su=BigInt(1);function xy(e,t){let n=t.negate();return e?n:t}function po(e,t){let n=ao(e.Fp,t.map(r=>r.Z));return t.map((r,s)=>e.fromAffine(r.toAffine(n[s])))}function _y(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function Eu(e,t){_y(e,t);let n=Math.ceil(t/e)+1,r=2**(e-1),s=2**e,i=py(e),o=BigInt(e);return{windows:n,windowSize:r,mask:i,maxNumber:s,shiftBy:o}}function ky(e,t,n){let{windowSize:r,mask:s,maxNumber:i,shiftBy:o}=n,a=Number(e&s),c=e>>o;a>r&&(a-=i,c+=Su);let u=t*r,l=u+Math.abs(a)-1,p=a===0,d=a<0,y=t%2!==0;return{nextN:c,offset:l,isZero:p,isNeg:d,isNegF:y,offsetF:u}}var xu=new WeakMap,Oy=new WeakMap;function ku(e){return Oy.get(e)||1}function Sy(e){if(e!==uo)throw new Error("invalid wNAF")}var lo=class{constructor(t,n){I(this,"BASE");I(this,"ZERO");I(this,"Fn");I(this,"bits");this.BASE=t.BASE,this.ZERO=t.ZERO,this.Fn=t.Fn,this.bits=n}_unsafeLadder(t,n,r=this.ZERO){let s=t;for(;n>uo;)n&Su&&(r=r.add(s)),s=s.double(),n>>=Su;return r}precomputeWindow(t,n){let{windows:r,windowSize:s}=Eu(n,this.bits),i=[],o=t,a=o;for(let c=0;c<r;c++){a=o,i.push(a);for(let u=1;u<s;u++)a=a.add(o),i.push(a);o=a.double()}return i}wNAF(t,n,r){if(!this.Fn.isValid(r))throw new Error("invalid scalar");let s=this.ZERO,i=this.BASE,o=Eu(t,this.bits);for(let a=0;a<o.windows;a++){let{nextN:c,offset:u,isZero:l,isNeg:p,isNegF:d,offsetF:y}=ky(r,a,o);r=c,l?i=i.add(xy(d,n[y])):s=s.add(xy(p,n[u]))}return Sy(r),{p:s,f:i}}wNAFUnsafe(t,n,r,s=this.ZERO){let i=Eu(t,this.bits);for(let o=0;o<i.windows&&r!==uo;o++){let{nextN:a,offset:c,isZero:u,isNeg:l}=ky(r,o,i);if(r=a,!u){let p=n[c];s=s.add(l?p.negate():p)}}return Sy(r),s}getPrecomputes(t,n,r){let s=xu.get(n);return s||(s=this.precomputeWindow(n,t),t!==1&&(typeof r=="function"&&(s=r(s)),xu.set(n,s))),s}cached(t,n,r){let s=ku(t);return this.wNAF(s,this.getPrecomputes(s,t,r),n)}unsafe(t,n,r,s){let i=ku(t);return i===1?this._unsafeLadder(t,n,s):this.wNAFUnsafe(i,this.getPrecomputes(i,t,r),n,s)}createCache(t,n){_y(n,this.bits),Oy.set(t,n),xu.delete(t)}hasCache(t){return ku(t)!==1}};function Iy(e,t,n){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return Ey(t),t}else return co(e,{isLE:n})}function Ny(e,t,n={},r){if(r===void 0&&(r=e==="edwards"),!t||typeof t!="object")throw new Error(`expected valid ${e} CURVE object`);for(let c of["p","n","h"]){let u=t[c];if(!(typeof u=="bigint"&&u>uo))throw new Error(`CURVE.${c} must be positive bigint`)}let s=Iy(t.p,n.Fp,r),i=Iy(t.n,n.Fn,r),a=["Gx","Gy","a",e==="weierstrass"?"b":"d"];for(let c of a)if(!s.isValid(t[c]))throw new Error(`CURVE.${c} must be valid field element of CURVE.Fp`);return t=Object.freeze(Object.assign({},t)),{CURVE:t,Fp:s,Fn:i}}function Ay(e,t){return function(r){let s=e(r);return{secretKey:s,publicKey:t(s)}}}var _n=BigInt(0),Re=BigInt(1),Iu=BigInt(2),bN=BigInt(8);function TN(e,t,n,r){let s=e.sqr(n),i=e.sqr(r),o=e.add(e.mul(t.a,s),i),a=e.add(e.ONE,e.mul(t.d,e.mul(s,i)));return e.eql(o,a)}function Cy(e,t={}){let n=Ny("edwards",e,t,t.FpFnLE),{Fp:r,Fn:s}=n,i=n.CURVE,{h:o}=i;Ds(t,{},{uvRatio:"function"});let a=Iu<<BigInt(s.BYTES*8)-Re,c=C=>r.create(C),u=t.uvRatio||((C,S)=>{try{return{isValid:!0,value:r.sqrt(r.div(C,S))}}catch{return{isValid:!1,value:_n}}});if(!TN(r,i,i.Gx,i.Gy))throw new Error("bad curve params: generator point");function l(C,S,k=!1){let D=k?Re:_n;return bu("coordinate "+C,S,D,a),S}function p(C){if(!(C instanceof g))throw new Error("EdwardsPoint expected")}let d=Tu((C,S)=>{let{X:k,Y:D,Z:$}=C,U=C.is0();S==null&&(S=U?bN:r.inv($));let L=c(k*S),O=c(D*S),R=r.mul($,S);if(U)return{x:_n,y:Re};if(R!==Re)throw new Error("invZ was invalid");return{x:L,y:O}}),y=Tu(C=>{let{a:S,d:k}=i;if(C.is0())throw new Error("bad point: ZERO");let{X:D,Y:$,Z:U,T:L}=C,O=c(D*D),R=c($*$),q=c(U*U),oe=c(q*q),ue=c(O*S),me=c(q*c(ue+R)),Ae=c(oe+c(k*c(O*R)));if(me!==Ae)throw new Error("bad point: equation left != right (1)");let ve=c(D*$),lt=c(U*L);if(ve!==lt)throw new Error("bad point: equation left != right (2)");return!0}),x=class x{constructor(S,k,D,$){I(this,"X");I(this,"Y");I(this,"Z");I(this,"T");this.X=l("x",S),this.Y=l("y",k),this.Z=l("z",D,!0),this.T=l("t",$),Object.freeze(this)}static CURVE(){return i}static fromAffine(S){if(S instanceof x)throw new Error("extended point not allowed");let{x:k,y:D}=S||{};return l("x",k),l("y",D),new x(k,D,Re,c(k*D))}static fromBytes(S,k=!1){let D=r.BYTES,{a:$,d:U}=i;S=oo(ee(S,D,"point")),io(k,"zip215");let L=oo(S),O=S[D-1];L[D-1]=O&-129;let R=Mr(L),q=k?a:r.ORDER;bu("point.y",R,_n,q);let oe=c(R*R),ue=c(oe-Re),me=c(U*oe-$),{isValid:Ae,value:ve}=u(ue,me);if(!Ae)throw new Error("bad point: invalid y coordinate");let lt=(ve&Re)===Re,pt=(O&128)!==0;if(!k&&ve===_n&&pt)throw new Error("bad point: x=0 and x_0=1");return pt!==lt&&(ve=c(-ve)),x.fromAffine({x:ve,y:R})}static fromHex(S,k=!1){return x.fromBytes(fs(S),k)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(S=8,k=!0){return E.createCache(this,S),k||this.multiply(Iu),this}assertValidity(){y(this)}equals(S){p(S);let{X:k,Y:D,Z:$}=this,{X:U,Y:L,Z:O}=S,R=c(k*O),q=c(U*$),oe=c(D*O),ue=c(L*$);return R===q&&oe===ue}is0(){return this.equals(x.ZERO)}negate(){return new x(c(-this.X),this.Y,this.Z,c(-this.T))}double(){let{a:S}=i,{X:k,Y:D,Z:$}=this,U=c(k*k),L=c(D*D),O=c(Iu*c($*$)),R=c(S*U),q=k+D,oe=c(c(q*q)-U-L),ue=R+L,me=ue-O,Ae=R-L,ve=c(oe*me),lt=c(ue*Ae),pt=c(oe*Ae),bt=c(me*ue);return new x(ve,lt,bt,pt)}add(S){p(S);let{a:k,d:D}=i,{X:$,Y:U,Z:L,T:O}=this,{X:R,Y:q,Z:oe,T:ue}=S,me=c($*R),Ae=c(U*q),ve=c(O*D*ue),lt=c(L*oe),pt=c(($+U)*(R+q)-me-Ae),bt=lt-ve,pr=lt+ve,Qr=c(Ae-k*me),fa=c(pt*bt),xl=c(pr*Qr),kl=c(pt*Qr),Zb=c(bt*pr);return new x(fa,xl,Zb,kl)}subtract(S){return this.add(S.negate())}multiply(S){if(!s.isValidNot0(S))throw new Error("invalid scalar: expected 1 <= sc < curve.n");let{p:k,f:D}=E.cached(this,S,$=>po(x,$));return po(x,[k,D])[0]}multiplyUnsafe(S,k=x.ZERO){if(!s.isValid(S))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return S===_n?x.ZERO:this.is0()||S===Re?this:E.unsafe(this,S,D=>po(x,D),k)}isSmallOrder(){return this.multiplyUnsafe(o).is0()}isTorsionFree(){return E.unsafe(this,i.n).is0()}toAffine(S){return d(this,S)}clearCofactor(){return o===Re?this:this.multiplyUnsafe(o)}toBytes(){let{x:S,y:k}=this.toAffine(),D=r.toBytes(k);return D[D.length-1]|=S&Re?128:0,D}toHex(){return yn(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}};I(x,"BASE",new x(i.Gx,i.Gy,Re,c(i.Gx*i.Gy))),I(x,"ZERO",new x(_n,Re,Re,_n)),I(x,"Fp",r),I(x,"Fn",s);let g=x,E=new lo(g,s.BITS);return g.BASE.precompute(8),g}function Ry(e,t,n={}){if(typeof t!="function")throw new Error('"hash" function param is required');Ds(n,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});let{prehash:r}=n,{BASE:s,Fp:i,Fn:o}=e,a=n.randomBytes||lc,c=n.adjustScalarBytes||(O=>O),u=n.domain||((O,R,q)=>{if(io(q,"phflag"),R.length||q)throw new Error("Contexts/pre-hash are not supported");return O});function l(O){return o.create(Mr(O))}function p(O){let R=k.secretKey;ee(O,k.secretKey,"secretKey");let q=ee(t(O),2*R,"hashedSecretKey"),oe=c(q.slice(0,R)),ue=q.slice(R,2*R),me=l(oe);return{head:oe,prefix:ue,scalar:me}}function d(O){let{head:R,prefix:q,scalar:oe}=p(O),ue=s.multiply(oe),me=ue.toBytes();return{head:R,prefix:q,scalar:oe,point:ue,pointBytes:me}}function y(O){return d(O).pointBytes}function g(O=Uint8Array.of(),...R){let q=ds(...R);return l(t(u(q,ee(O,void 0,"context"),!!r)))}function E(O,R,q={}){O=ee(O,void 0,"message"),r&&(O=r(O));let{prefix:oe,scalar:ue,pointBytes:me}=d(R),Ae=g(q.context,oe,O),ve=s.multiply(Ae).toBytes(),lt=g(q.context,ve,me,O),pt=o.create(Ae+lt*ue);if(!o.isValid(pt))throw new Error("sign failed: invalid s");let bt=ds(ve,o.toBytes(pt));return ee(bt,k.signature,"result")}let x={zip215:!0};function C(O,R,q,oe=x){let{context:ue,zip215:me}=oe,Ae=k.signature;O=ee(O,Ae,"signature"),R=ee(R,void 0,"message"),q=ee(q,k.publicKey,"publicKey"),me!==void 0&&io(me,"zip215"),r&&(R=r(R));let ve=Ae/2,lt=O.subarray(0,ve),pt=Mr(O.subarray(ve,Ae)),bt,pr,Qr;try{bt=e.fromBytes(q,me),pr=e.fromBytes(lt,me),Qr=s.multiplyUnsafe(pt)}catch{return!1}if(!me&&bt.isSmallOrder())return!1;let fa=g(ue,pr.toBytes(),bt.toBytes(),R);return pr.add(bt.multiplyUnsafe(fa)).subtract(Qr).clearCofactor().is0()}let S=i.BYTES,k={secretKey:S,publicKey:S,signature:2*S,seed:S};function D(O=a(k.seed)){return ee(O,k.seed,"seed")}function $(O){return vi(O)&&O.length===o.BYTES}function U(O,R){try{return!!e.fromBytes(O,R)}catch{return!1}}let L={getExtendedPublicKey:d,randomSecretKey:D,isValidSecretKey:$,isValidPublicKey:U,toMontgomery(O){let{y:R}=e.fromBytes(O),q=k.publicKey,oe=q===32;if(!oe&&q!==57)throw new Error("only defined for 25519 and 448");let ue=oe?i.div(Re+R,Re-R):i.div(R-Re,R+Re);return i.toBytes(ue)},toMontgomerySecret(O){let R=k.secretKey;ee(O,R);let q=t(O.subarray(0,R));return c(q).subarray(0,R)}};return Object.freeze({keygen:Ay(D,y),getPublicKey:y,sign:E,verify:C,utils:L,Point:e,lengths:k})}var vN=BigInt(1),Dy=BigInt(2);var wN=BigInt(5),EN=BigInt(8),_u=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),xN={p:_u,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:EN,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function kN(e){let t=BigInt(10),n=BigInt(20),r=BigInt(40),s=BigInt(80),i=_u,a=e*e%i*e%i,c=It(a,Dy,i)*a%i,u=It(c,vN,i)*e%i,l=It(u,wN,i)*u%i,p=It(l,t,i)*l%i,d=It(p,n,i)*p%i,y=It(d,r,i)*d%i,g=It(y,s,i)*y%i,E=It(g,s,i)*y%i,x=It(E,t,i)*l%i;return{pow_p_5_8:It(x,Dy,i)*e%i,b2:a}}function SN(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var jy=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function IN(e,t){let n=_u,r=_e(t*t*t,n),s=_e(r*r*t,n),i=kN(e*s).pow_p_5_8,o=_e(e*r*i,n),a=_e(t*o*o,n),c=o,u=_e(o*jy,n),l=a===e,p=a===_e(-e,n),d=a===_e(-e*jy,n);return l&&(o=c),(p||d)&&(o=u),wy(o,n)&&(o=_e(-o,n)),{isValid:l||p,value:o}}var _N=Cy(xN,{uvRatio:IN});function ON(e){return Ry(_N,Qn,Object.assign({adjustScalarBytes:SN},e))}var _t=ON({});var Ou=32,Ur,By=(Ur=class extends ry{constructor(t){if(super(),typeof t=="string"?this.data=K(t):t instanceof Uint8Array?this.data=t:this.data=Uint8Array.from(t),this.data.length!==Ou)throw new Error(`Invalid public key input. Expected ${Ou} bytes, got ${this.data.length}`)}equals(t){return super.equals(t)}toRawBytes(){return this.data}flag(){return Lr.ED25519}async verify(t,n){let r;if(typeof n=="string"){let s=sy(n);if(s.signatureScheme!=="ED25519")throw new Error("Invalid signature scheme");if(!mu(this.toRawBytes(),s.publicKey))throw new Error("Signature does not match public key");r=s.signature}else r=n;return _t.verify(r,t,this.toRawBytes())}},Ur.SIZE=Ou,Ur);var fo=class{constructor(t,n){I(this,"oHash");I(this,"iHash");I(this,"blockLen");I(this,"outputLen");I(this,"finished",!1);I(this,"destroyed",!1);if(wi(t),ee(n,void 0,"key"),this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let r=this.blockLen,s=new Uint8Array(r);s.set(n.length>r?t.create().update(n).digest():n);for(let i=0;i<s.length;i++)s[i]^=54;this.iHash.update(s),this.oHash=t.create();for(let i=0;i<s.length;i++)s[i]^=106;this.oHash.update(s),at(s)}update(t){return Qt(this),this.iHash.update(t),this}digestInto(t){Qt(this),ee(t,this.outputLen,"output"),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));let{oHash:n,iHash:r,finished:s,destroyed:i,blockLen:o,outputLen:a}=this;return t=t,t.finished=s,t.destroyed=i,t.blockLen=o,t.outputLen=a,t.oHash=n._cloneInto(t.oHash),t.iHash=r._cloneInto(t.iHash),t}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Fr=(e,t,n)=>new fo(e,t).update(n).digest();Fr.create=(e,t)=>new fo(e,t);function NN(e,t,n,r){wi(e);let s=bp({dkLen:32,asyncTick:10},r),{c:i,dkLen:o,asyncTick:a}=s;if(Ue(i,"c"),Ue(o,"dkLen"),Ue(a,"asyncTick"),i<1)throw new Error("iterations (c) must be >= 1");let c=uc(t,"password"),u=uc(n,"salt"),l=new Uint8Array(o),p=Fr.create(e,c),d=p._cloneInto().update(u);return{c:i,dkLen:o,asyncTick:a,DK:l,PRF:p,PRFSalt:d}}function AN(e,t,n,r,s){return e.destroy(),t.destroy(),r&&r.destroy(),at(s),n}function Py(e,t,n,r){let{c:s,dkLen:i,DK:o,PRF:a,PRFSalt:c}=NN(e,t,n,r),u,l=new Uint8Array(4),p=vr(l),d=new Uint8Array(a.outputLen);for(let y=1,g=0;g<i;y++,g+=a.outputLen){let E=o.subarray(g,g+a.outputLen);p.setInt32(0,y,!1),(u=c._cloneInto(u)).update(l).digestInto(d),E.set(d.subarray(0,E.length));for(let x=1;x<s;x++){a._cloneInto(u).update(d).digestInto(d);for(let C=0;C<E.length;C++)E[C]^=d[C]}}return AN(a,c,o,u,d)}function Ly(e){if(typeof e!="string")throw new TypeError("invalid mnemonic type: "+typeof e);return e.normalize("NFKD")}function CN(e){let t=Ly(e),n=t.split(" ");if(![12,15,18,21,24].includes(n.length))throw new Error("Invalid mnemonic");return{nfkd:t,words:n}}var RN=e=>Ly("mnemonic"+e);function My(e,t=""){return Py(Qn,CN(e).nfkd,RN(t),{c:2048,dkLen:64})}function Nu(e){return!!new RegExp("^m\\/44'\\/784'\\/[0-9]+'\\/[0-9]+'\\/[0-9]+'+$").test(e)}function DN(e){return My(e,"")}function Uy(e){return Xe(DN(e))}function Fy({signature:e,signatureScheme:t,publicKey:n}){if(!n)throw new Error("`publicKey` is required");let r=n.toRawBytes(),s=new Uint8Array(1+e.length+r.length);return s.set([Lr[t]]),s.set(e,1),s.set(r,1+e.length),X(s)}var js=32;var Vy="suiprivkey",jN=class{async signWithIntent(e,t){let n=en(ro(t,e),{dkLen:32});return{signature:Fy({signature:await this.sign(n),signatureScheme:this.getKeyScheme(),publicKey:this.getPublicKey()}),bytes:X(e)}}async signTransaction(e){return this.signWithIntent(e,"TransactionData")}async signPersonalMessage(e){let{signature:t}=await this.signWithIntent(f.byteVector().serialize(e).toBytes(),"PersonalMessage");return{bytes:X(e),signature:t}}async signAndExecuteTransaction({transaction:e,client:t}){e.setSenderIfNotSet(this.toSuiAddress());let n=await e.build({client:t}),{signature:r}=await this.signTransaction(n);return t.core.executeTransaction({transaction:n,signatures:[r],include:{transaction:!0,effects:!0}})}toSuiAddress(){return this.getPublicKey().toSuiAddress()}},Gy=class extends jN{};function qy(e){let{prefix:t,words:n}=rs.decode(e);if(t!==Vy)throw new Error("invalid private key prefix");let r=new Uint8Array(rs.fromWords(n)),s=r.slice(1);return{scheme:Rs[r[0]],secretKey:s}}function $y(e,t){if(e.length!==js)throw new Error("Invalid bytes length");let n=Lr[t],r=new Uint8Array(e.length+1);return r.set([n]),r.set(e,1),rs.encode(Vy,rs.toWords(r))}var BN="ed25519 seed",PN=2147483648,LN=new RegExp("^m(\\/[0-9]+')+$"),zy=e=>e.replace("'",""),MN=e=>{let t=Fr.create(Qn,new TextEncoder().encode(BN)).update(At(e)).digest();return{key:t.slice(0,32),chainCode:t.slice(32)}},UN=({key:e,chainCode:t},n)=>{let r=new ArrayBuffer(4);new DataView(r).setUint32(0,n);let s=new Uint8Array(1+e.length+r.byteLength);s.set(new Uint8Array(1).fill(0)),s.set(e,1),s.set(new Uint8Array(r,0,r.byteLength),e.length+1);let i=Fr.create(Qn,t).update(s).digest();return{key:i.slice(0,32),chainCode:i.slice(32)}},FN=e=>LN.test(e)?!e.split("/").slice(1).map(zy).some(isNaN):!1,Au=(e,t,n=PN)=>{if(!FN(e))throw new Error("Invalid derivation path");let{key:r,chainCode:s}=MN(t);return e.split("/").slice(1).map(zy).map(i=>parseInt(i,10)).reduce((i,o)=>UN(i,o+n),{key:r,chainCode:s})};var Cu="m/44'/784'/0'/0'/0'",Ru=class Bs extends Gy{constructor(t){if(super(),t)this.keypair={publicKey:t.publicKey,secretKey:t.secretKey.slice(0,32)};else{let n=_t.utils.randomSecretKey();this.keypair={publicKey:_t.getPublicKey(n),secretKey:n}}}getKeyScheme(){return"ED25519"}static generate(){let t=_t.utils.randomSecretKey();return new Bs({publicKey:_t.getPublicKey(t),secretKey:t})}static fromSecretKey(t,n){if(typeof t=="string"){let i=qy(t);if(i.scheme!=="ED25519")throw new Error(`Expected a ED25519 keypair, got ${i.scheme}`);return this.fromSecretKey(i.secretKey,n)}let r=t.length;if(r!==js)throw new Error(`Wrong secretKey size. Expected ${js} bytes, got ${r}.`);let s={publicKey:_t.getPublicKey(t),secretKey:t};if(!n||!n.skipValidation){let i=new TextEncoder().encode("sui validation"),o=_t.sign(i,t);if(!_t.verify(o,i,s.publicKey))throw new Error("provided secretKey is invalid")}return new Bs(s)}getPublicKey(){return new By(this.keypair.publicKey)}getSecretKey(){return $y(this.keypair.secretKey.slice(0,js),this.getKeyScheme())}async sign(t){return _t.sign(t,this.keypair.secretKey)}static deriveKeypair(t,n){if(n==null&&(n=Cu),!Nu(n))throw new Error("Invalid derivation path");let{key:r}=Au(n,Uy(t));return Bs.fromSecretKey(r)}static deriveKeypairFromSeed(t,n){if(n==null&&(n=Cu),!Nu(n))throw new Error("Invalid derivation path");let{key:r}=Au(n,t);return Bs.fromSecretKey(r)}};function Hy(e,t,n){let r=B.Address.serialize(e).toBytes(),s=B.TypeTag.serialize(t).toBytes(),i=B.u64().serialize(n.length).toBytes(),o=en.create({dkLen:32});return o.update(new Uint8Array([240])),o.update(r),o.update(i),o.update(n),o.update(s),`0x${Xe(o.digest().slice(0,32))}`}var On,Ve,Vr,Wy=(Vr=class{constructor({prefix:t,cache:n}={}){le(this,On);le(this,Ve);W(this,On,t??[]),W(this,Ve,n??new Map)}read(t,n){let r=[h(this,On),...t].join(":");if(h(this,Ve).has(r))return h(this,Ve).get(r);let s=n();return h(this,Ve).set(r,s),typeof s=="object"&&s!==null&&"then"in s?Promise.resolve(s).then(i=>(h(this,Ve).set(r,i),i)).catch(i=>{throw h(this,Ve).delete(r),i}):s}readSync(t,n){let r=[h(this,On),...t].join(":");if(h(this,Ve).has(r))return h(this,Ve).get(r);let s=n();return h(this,Ve).set(r,s),s}clear(t){let n=[...h(this,On),...t??[]].join(":");if(!n){h(this,Ve).clear();return}for(let r of h(this,Ve).keys())r.startsWith(n)&&h(this,Ve).delete(r)}scope(t){return new Vr({prefix:[...h(this,On),...Array.isArray(t)?t:[t]],cache:h(this,Ve)})}},On=new WeakMap,Ve=new WeakMap,Vr);var mo=class{constructor({network:e,base:t,cache:n=t?.cache??new Wy}){this.network=e,this.base=t??this,this.cache=n}$extend(...e){let t=Object.fromEntries(e.map(r=>[r.name,r.register(this)])),n=new Map;return new Proxy(this,{get(r,s,i){if(typeof s=="string"&&s in t)return t[s];let o=Reflect.get(r,s,i);return typeof o=="function"?s==="$extend"?o.bind(i):(n.has(s)||n.set(s,o.bind(r)),n.get(s)):o}})}};var VN={mainnet:"https://mainnet.mvr.mystenlabs.com",testnet:"https://testnet.mvr.mystenlabs.com"},Jy=class extends mo{constructor(e){super(e),this.core=this,this.mvr=new Wp({cache:this.cache.scope("core.mvr"),url:e.mvr?.url??VN[this.network],pageSize:e.mvr?.pageSize,overrides:e.mvr?.overrides})}async getObject(e){let{objectId:t}=e,{objects:[n]}=await this.getObjects({objectIds:[t],signal:e.signal,include:e.include});if(n instanceof Error)throw n;return{object:n}}async getDynamicField(e){let t=hn.parseFromStr((await this.core.mvr.resolveType({type:e.name.type})).type),n=Hy(e.parentId,t,e.name.bcs),{objects:[r]}=await this.getObjects({objectIds:[n],signal:e.signal,include:{previousTransaction:!0,content:!0}});if(r instanceof Error)throw r;let s=zt(r.type),i=await r.content;return{dynamicField:{fieldId:r.objectId,digest:r.digest,version:r.version,type:r.type,previousTransaction:r.previousTransaction,name:{type:typeof s.typeParams[0]=="string"?s.typeParams[0]:Ht(s.typeParams[0]),bcs:e.name.bcs},value:{type:typeof s.typeParams[1]=="string"?s.typeParams[1]:Ht(s.typeParams[1]),bcs:i.slice(fn+e.name.bcs.length)}}}}async getDynamicObjectField(e){let t=`0x2::dynamic_object_field::Wrapper<${(await this.core.mvr.resolveType({type:e.name.type})).type}>`,{dynamicField:n}=await this.getDynamicField({parentId:e.parentId,name:{type:t,bcs:e.name.bcs},signal:e.signal}),{object:r}=await this.getObject({objectId:B.Address.parse(n.value.bcs),signal:e.signal,include:e.include});return{object:r}}async waitForTransaction(e){let{signal:t,timeout:n=60*1e3,include:r}=e,s="result"in e&&e.result?(e.result.Transaction??e.result.FailedTransaction).digest:e.digest,i=t?AbortSignal.any([AbortSignal.timeout(n),t]):AbortSignal.timeout(n),o=new Promise((a,c)=>{i.addEventListener("abort",()=>c(i.reason))});for(o.catch(()=>{});;){i.throwIfAborted();try{return await this.getTransaction({digest:s,include:r,signal:i})}catch{await Promise.race([new Promise(a=>setTimeout(a,2e3)),o])}}}async signAndExecuteTransaction({transaction:e,signer:t,additionalSignatures:n=[],...r}){let s;e instanceof Uint8Array?s=e:(e.setSenderIfNotSet(t.toSuiAddress()),s=await e.build({client:this}));let{signature:i}=await t.signTransaction(s);return this.executeTransaction({transaction:s,signatures:[i,...n],...r})}};var GN=new Intl.PluralRules("en-US",{type:"ordinal"}),qN=new Map([["one","st"],["two","nd"],["few","rd"],["other","th"]]);function $N(e){return`${e}${qN.get(GN.select(e))}`}function Zy(e){let{command:t,location:n,abortCode:r,cleverError:s}=e,i=[];if(t!=null?i.push(`MoveAbort in ${$N(t+1)} command`):i.push("MoveAbort"),s?.constantName){let o=s.value?`'${s.constantName}': ${s.value}`:`'${s.constantName}'`;i.push(o)}else i.push(`abort code: ${r}`);if(n?.package&&n?.module){let o=[`in '${[n.package.startsWith("0x")?n.package:`0x${n.package}`,n.module,n.functionName].filter(Boolean).join("::")}'`];s?.lineNumber!=null?o.push(`(line ${s.lineNumber})`):n.instruction!=null&&o.push(`(instruction ${n.instruction})`),i.push(o.join(" "))}return i.join(", ")}var Yy=B.struct("MinimalEffectsWithError",{status:Ti}),$3=B.enum("MinimalTransactionEffectsWithError",{V1:Yy,V2:Yy}),zN=B.enum("MinimalExecutionStatusNoError",{Success:null,Failed:null}),Xy=B.struct("MinimalEffectsNoError",{status:zN}),z3=B.enum("MinimalTransactionEffectsNoError",{V1:Xy,V2:Xy});function je(e){let t=typeof e;if(t=="object"){if(Array.isArray(e))return"array";if(e===null)return"null"}return t}function Nn(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}var on="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),ho=[];for(let e=0;e<on.length;e++)ho[on[e].charCodeAt(0)]=e;ho[45]=on.indexOf("+");ho[95]=on.indexOf("/");function Ps(e){let t=e.length*3/4;e[e.length-2]=="="?t-=2:e[e.length-1]=="="&&(t-=1);let n=new Uint8Array(t),r=0,s=0,i,o=0;for(let a=0;a<e.length;a++){if(i=ho[e.charCodeAt(a)],i===void 0)switch(e[a]){case"=":s=0;case`
|
|
9
9
|
`:case"\r":case" ":case" ":continue;default:throw Error("invalid base64 string.")}switch(s){case 0:o=i,s=1;break;case 1:n[r++]=o<<2|(i&48)>>4,o=i,s=2;break;case 2:n[r++]=(o&15)<<4|(i&60)>>2,o=i,s=3;break;case 3:n[r++]=(o&3)<<6|i,s=0;break}}if(s==1)throw Error("invalid base64 string.");return n.subarray(0,r)}function Ls(e){let t="",n=0,r,s=0;for(let i=0;i<e.length;i++)switch(r=e[i],n){case 0:t+=on[r>>2],s=(r&3)<<4,n=1;break;case 1:t+=on[s|r>>4],s=(r&15)<<2,n=2;break;case 2:t+=on[s|r>>6],t+=on[r&63],n=0;break}return n&&(t+=on[s],t+="=",n==1&&(t+="=")),t}var tr;(function(e){e.symbol=Symbol.for("protobuf-ts/unknown"),e.onRead=(n,r,s,i,o)=>{(t(r)?r[e.symbol]:r[e.symbol]=[]).push({no:s,wireType:i,data:o})},e.onWrite=(n,r,s)=>{for(let{no:i,wireType:o,data:a}of e.list(r))s.tag(i,o).raw(a)},e.list=(n,r)=>{if(t(n)){let s=n[e.symbol];return r?s.filter(i=>i.no==r):s}return[]},e.last=(n,r)=>e.list(n,r).slice(-1)[0];let t=n=>n&&Array.isArray(n[e.symbol])})(tr||(tr={}));function Du(e,t){return Object.assign(Object.assign({},e),t)}var ye;(function(e){e[e.Varint=0]="Varint",e[e.Bit64=1]="Bit64",e[e.LengthDelimited=2]="LengthDelimited",e[e.StartGroup=3]="StartGroup",e[e.EndGroup=4]="EndGroup",e[e.Bit32=5]="Bit32"})(ye||(ye={}));function Ky(){let e=0,t=0;for(let r=0;r<28;r+=7){let s=this.buf[this.pos++];if(e|=(s&127)<<r,(s&128)==0)return this.assertBounds(),[e,t]}let n=this.buf[this.pos++];if(e|=(n&15)<<28,t=(n&112)>>4,(n&128)==0)return this.assertBounds(),[e,t];for(let r=3;r<=31;r+=7){let s=this.buf[this.pos++];if(t|=(s&127)<<r,(s&128)==0)return this.assertBounds(),[e,t]}throw new Error("invalid varint")}function yo(e,t,n){for(let i=0;i<28;i=i+7){let o=e>>>i,a=!(!(o>>>7)&&t==0),c=(a?o|128:o)&255;if(n.push(c),!a)return}let r=e>>>28&15|(t&7)<<4,s=t>>3!=0;if(n.push((s?r|128:r)&255),!!s){for(let i=3;i<31;i=i+7){let o=t>>>i,a=!!(o>>>7),c=(a?o|128:o)&255;if(n.push(c),!a)return}n.push(t>>>31&1)}}var go=65536*65536;function ju(e){let t=e[0]=="-";t&&(e=e.slice(1));let n=1e6,r=0,s=0;function i(o,a){let c=Number(e.slice(o,a));s*=n,r=r*n+c,r>=go&&(s=s+(r/go|0),r=r%go)}return i(-24,-18),i(-18,-12),i(-12,-6),i(-6),[t,r,s]}function bo(e,t){if(t>>>0<=2097151)return""+(go*t+(e>>>0));let n=e&16777215,r=(e>>>24|t<<8)>>>0&16777215,s=t>>16&65535,i=n+r*6777216+s*6710656,o=r+s*8147497,a=s*2,c=1e7;i>=c&&(o+=Math.floor(i/c),i%=c),o>=c&&(a+=Math.floor(o/c),o%=c);function u(l,p){let d=l?String(l):"";return p?"0000000".slice(d.length)+d:d}return u(a,0)+u(o,a)+u(i,1)}function Bu(e,t){if(e>=0){for(;e>127;)t.push(e&127|128),e=e>>>7;t.push(e)}else{for(let n=0;n<9;n++)t.push(e&127|128),e=e>>7;t.push(1)}}function Qy(){let e=this.buf[this.pos++],t=e&127;if((e&128)==0)return this.assertBounds(),t;if(e=this.buf[this.pos++],t|=(e&127)<<7,(e&128)==0)return this.assertBounds(),t;if(e=this.buf[this.pos++],t|=(e&127)<<14,(e&128)==0)return this.assertBounds(),t;if(e=this.buf[this.pos++],t|=(e&127)<<21,(e&128)==0)return this.assertBounds(),t;e=this.buf[this.pos++],t|=(e&15)<<28;for(let n=5;(e&128)!==0&&n<10;n++)e=this.buf[this.pos++];if((e&128)!=0)throw new Error("invalid varint");return this.assertBounds(),t>>>0}var pe;function HN(){let e=new DataView(new ArrayBuffer(8));pe=globalThis.BigInt!==void 0&&typeof e.getBigInt64=="function"&&typeof e.getBigUint64=="function"&&typeof e.setBigInt64=="function"&&typeof e.setBigUint64=="function"?{MIN:BigInt("-9223372036854775808"),MAX:BigInt("9223372036854775807"),UMIN:BigInt("0"),UMAX:BigInt("18446744073709551615"),C:BigInt,V:e}:void 0}HN();function e0(e){if(!e)throw new Error("BigInt unavailable, see https://github.com/timostamm/protobuf-ts/blob/v1.0.8/MANUAL.md#bigint-support")}var t0=/^-?[0-9]+$/,vo=4294967296,To=2147483648,wo=class{constructor(t,n){this.lo=t|0,this.hi=n|0}isZero(){return this.lo==0&&this.hi==0}toNumber(){let t=this.hi*vo+(this.lo>>>0);if(!Number.isSafeInteger(t))throw new Error("cannot convert to safe number");return t}},xe=class e extends wo{static from(t){if(pe)switch(typeof t){case"string":if(t=="0")return this.ZERO;if(t=="")throw new Error("string is no integer");t=pe.C(t);case"number":if(t===0)return this.ZERO;t=pe.C(t);case"bigint":if(!t)return this.ZERO;if(t<pe.UMIN)throw new Error("signed value for ulong");if(t>pe.UMAX)throw new Error("ulong too large");return pe.V.setBigUint64(0,t,!0),new e(pe.V.getInt32(0,!0),pe.V.getInt32(4,!0))}else switch(typeof t){case"string":if(t=="0")return this.ZERO;if(t=t.trim(),!t0.test(t))throw new Error("string is no integer");let[n,r,s]=ju(t);if(n)throw new Error("signed value for ulong");return new e(r,s);case"number":if(t==0)return this.ZERO;if(!Number.isSafeInteger(t))throw new Error("number is no integer");if(t<0)throw new Error("signed value for ulong");return new e(t,t/vo)}throw new Error("unknown value "+typeof t)}toString(){return pe?this.toBigInt().toString():bo(this.lo,this.hi)}toBigInt(){return e0(pe),pe.V.setInt32(0,this.lo,!0),pe.V.setInt32(4,this.hi,!0),pe.V.getBigUint64(0,!0)}};xe.ZERO=new xe(0,0);var te=class e extends wo{static from(t){if(pe)switch(typeof t){case"string":if(t=="0")return this.ZERO;if(t=="")throw new Error("string is no integer");t=pe.C(t);case"number":if(t===0)return this.ZERO;t=pe.C(t);case"bigint":if(!t)return this.ZERO;if(t<pe.MIN)throw new Error("signed long too small");if(t>pe.MAX)throw new Error("signed long too large");return pe.V.setBigInt64(0,t,!0),new e(pe.V.getInt32(0,!0),pe.V.getInt32(4,!0))}else switch(typeof t){case"string":if(t=="0")return this.ZERO;if(t=t.trim(),!t0.test(t))throw new Error("string is no integer");let[n,r,s]=ju(t);if(n){if(s>To||s==To&&r!=0)throw new Error("signed long too small")}else if(s>=To)throw new Error("signed long too large");let i=new e(r,s);return n?i.negate():i;case"number":if(t==0)return this.ZERO;if(!Number.isSafeInteger(t))throw new Error("number is no integer");return t>0?new e(t,t/vo):new e(-t,-t/vo).negate()}throw new Error("unknown value "+typeof t)}isNegative(){return(this.hi&To)!==0}negate(){let t=~this.hi,n=this.lo;return n?n=~n+1:t+=1,new e(n,t)}toString(){if(pe)return this.toBigInt().toString();if(this.isNegative()){let t=this.negate();return"-"+bo(t.lo,t.hi)}return bo(this.lo,this.hi)}toBigInt(){return e0(pe),pe.V.setInt32(0,this.lo,!0),pe.V.setInt32(4,this.hi,!0),pe.V.getBigInt64(0,!0)}};te.ZERO=new te(0,0);var n0={readUnknownField:!0,readerFactory:e=>new Pu(e)};function r0(e){return e?Object.assign(Object.assign({},n0),e):n0}var Pu=class{constructor(t,n){this.varint64=Ky,this.uint32=Qy,this.buf=t,this.len=t.length,this.pos=0,this.view=new DataView(t.buffer,t.byteOffset,t.byteLength),this.textDecoder=n??new TextDecoder("utf-8",{fatal:!0,ignoreBOM:!0})}tag(){let t=this.uint32(),n=t>>>3,r=t&7;if(n<=0||r<0||r>5)throw new Error("illegal tag: field no "+n+" wire type "+r);return[n,r]}skip(t){let n=this.pos;switch(t){case ye.Varint:for(;this.buf[this.pos++]&128;);break;case ye.Bit64:this.pos+=4;case ye.Bit32:this.pos+=4;break;case ye.LengthDelimited:let r=this.uint32();this.pos+=r;break;case ye.StartGroup:let s;for(;(s=this.tag()[1])!==ye.EndGroup;)this.skip(s);break;default:throw new Error("cant skip wire type "+t)}return this.assertBounds(),this.buf.subarray(n,this.pos)}assertBounds(){if(this.pos>this.len)throw new RangeError("premature EOF")}int32(){return this.uint32()|0}sint32(){let t=this.uint32();return t>>>1^-(t&1)}int64(){return new te(...this.varint64())}uint64(){return new xe(...this.varint64())}sint64(){let[t,n]=this.varint64(),r=-(t&1);return t=(t>>>1|(n&1)<<31)^r,n=n>>>1^r,new te(t,n)}bool(){let[t,n]=this.varint64();return t!==0||n!==0}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return new xe(this.sfixed32(),this.sfixed32())}sfixed64(){return new te(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 t=this.uint32(),n=this.pos;return this.pos+=t,this.assertBounds(),this.buf.subarray(n,n+t)}string(){return this.textDecoder.decode(this.bytes())}};function J(e,t){if(!e)throw new Error(t)}function Lu(e,t){throw new Error(t??"Unexpected object: "+e)}var WN=34028234663852886e22,JN=-34028234663852886e22,YN=4294967295,XN=2147483647,ZN=-2147483648;function an(e){if(typeof e!="number")throw new Error("invalid int 32: "+typeof e);if(!Number.isInteger(e)||e>XN||e<ZN)throw new Error("invalid int 32: "+e)}function An(e){if(typeof e!="number")throw new Error("invalid uint 32: "+typeof e);if(!Number.isInteger(e)||e>YN||e<0)throw new Error("invalid uint 32: "+e)}function nr(e){if(typeof e!="number")throw new Error("invalid float 32: "+typeof e);if(Number.isFinite(e)&&(e>WN||e<JN))throw new Error("invalid float 32: "+e)}var s0={writeUnknownFields:!0,writerFactory:()=>new Mu};function i0(e){return e?Object.assign(Object.assign({},s0),e):s0}var Mu=class{constructor(t){this.stack=[],this.textEncoder=t??new TextEncoder,this.chunks=[],this.buf=[]}finish(){this.chunks.push(new Uint8Array(this.buf));let t=0;for(let s=0;s<this.chunks.length;s++)t+=this.chunks[s].length;let n=new Uint8Array(t),r=0;for(let s=0;s<this.chunks.length;s++)n.set(this.chunks[s],r),r+=this.chunks[s].length;return this.chunks=[],n}fork(){return this.stack.push({chunks:this.chunks,buf:this.buf}),this.chunks=[],this.buf=[],this}join(){let t=this.finish(),n=this.stack.pop();if(!n)throw new Error("invalid state, fork stack empty");return this.chunks=n.chunks,this.buf=n.buf,this.uint32(t.byteLength),this.raw(t)}tag(t,n){return this.uint32((t<<3|n)>>>0)}raw(t){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(t),this}uint32(t){for(An(t);t>127;)this.buf.push(t&127|128),t=t>>>7;return this.buf.push(t),this}int32(t){return an(t),Bu(t,this.buf),this}bool(t){return this.buf.push(t?1:0),this}bytes(t){return this.uint32(t.byteLength),this.raw(t)}string(t){let n=this.textEncoder.encode(t);return this.uint32(n.byteLength),this.raw(n)}float(t){nr(t);let n=new Uint8Array(4);return new DataView(n.buffer).setFloat32(0,t,!0),this.raw(n)}double(t){let n=new Uint8Array(8);return new DataView(n.buffer).setFloat64(0,t,!0),this.raw(n)}fixed32(t){An(t);let n=new Uint8Array(4);return new DataView(n.buffer).setUint32(0,t,!0),this.raw(n)}sfixed32(t){an(t);let n=new Uint8Array(4);return new DataView(n.buffer).setInt32(0,t,!0),this.raw(n)}sint32(t){return an(t),t=(t<<1^t>>31)>>>0,Bu(t,this.buf),this}sfixed64(t){let n=new Uint8Array(8),r=new DataView(n.buffer),s=te.from(t);return r.setInt32(0,s.lo,!0),r.setInt32(4,s.hi,!0),this.raw(n)}fixed64(t){let n=new Uint8Array(8),r=new DataView(n.buffer),s=xe.from(t);return r.setInt32(0,s.lo,!0),r.setInt32(4,s.hi,!0),this.raw(n)}int64(t){let n=te.from(t);return yo(n.lo,n.hi,this.buf),this}sint64(t){let n=te.from(t),r=n.hi>>31,s=n.lo<<1^r,i=(n.hi<<1|n.lo>>>31)^r;return yo(s,i,this.buf),this}uint64(t){let n=xe.from(t);return yo(n.lo,n.hi,this.buf),this}};var o0={emitDefaultValues:!1,enumAsInteger:!1,useProtoFieldName:!1,prettySpaces:0},a0={ignoreUnknownFields:!1};function Uu(e){return e?Object.assign(Object.assign({},a0),e):a0}function Ms(e){return e?Object.assign(Object.assign({},o0),e):o0}function Fu(e,t){var n,r;let s=Object.assign(Object.assign({},e),t);return s.typeRegistry=[...(n=e?.typeRegistry)!==null&&n!==void 0?n:[],...(r=t?.typeRegistry)!==null&&r!==void 0?r:[]],s}var Eo=Symbol.for("protobuf-ts/message-type");function Cn(e){let t=!1,n=[];for(let r=0;r<e.length;r++){let s=e.charAt(r);s=="_"?t=!0:/\d/.test(s)?(n.push(s),t=!0):t?(n.push(s.toUpperCase()),t=!1):r==0?n.push(s.toLowerCase()):n.push(s)}return n.join("")}var w;(function(e){e[e.DOUBLE=1]="DOUBLE",e[e.FLOAT=2]="FLOAT",e[e.INT64=3]="INT64",e[e.UINT64=4]="UINT64",e[e.INT32=5]="INT32",e[e.FIXED64=6]="FIXED64",e[e.FIXED32=7]="FIXED32",e[e.BOOL=8]="BOOL",e[e.STRING=9]="STRING",e[e.BYTES=12]="BYTES",e[e.UINT32=13]="UINT32",e[e.SFIXED32=15]="SFIXED32",e[e.SFIXED64=16]="SFIXED64",e[e.SINT32=17]="SINT32",e[e.SINT64=18]="SINT64"})(w||(w={}));var We;(function(e){e[e.BIGINT=0]="BIGINT",e[e.STRING=1]="STRING",e[e.NUMBER=2]="NUMBER"})(We||(We={}));var Us;(function(e){e[e.NO=0]="NO",e[e.PACKED=1]="PACKED",e[e.UNPACKED=2]="UNPACKED"})(Us||(Us={}));function c0(e){var t,n,r,s;return e.localName=(t=e.localName)!==null&&t!==void 0?t:Cn(e.name),e.jsonName=(n=e.jsonName)!==null&&n!==void 0?n:Cn(e.name),e.repeat=(r=e.repeat)!==null&&r!==void 0?r:Us.NO,e.opt=(s=e.opt)!==null&&s!==void 0?s:e.repeat||e.oneof?!1:e.kind=="message",e}function u0(e){if(typeof e!="object"||e===null||!e.hasOwnProperty("oneofKind"))return!1;switch(typeof e.oneofKind){case"string":return e[e.oneofKind]===void 0?!1:Object.keys(e).length==2;case"undefined":return Object.keys(e).length==1;default:return!1}}var xo=class{constructor(t){var n;this.fields=(n=t.fields)!==null&&n!==void 0?n:[]}prepare(){if(this.data)return;let t=[],n=[],r=[];for(let s of this.fields)if(s.oneof)r.includes(s.oneof)||(r.push(s.oneof),t.push(s.oneof),n.push(s.oneof));else switch(n.push(s.localName),s.kind){case"scalar":case"enum":(!s.opt||s.repeat)&&t.push(s.localName);break;case"message":s.repeat&&t.push(s.localName);break;case"map":t.push(s.localName);break}this.data={req:t,known:n,oneofs:Object.values(r)}}is(t,n,r=!1){if(n<0)return!0;if(t==null||typeof t!="object")return!1;this.prepare();let s=Object.keys(t),i=this.data;if(s.length<i.req.length||i.req.some(o=>!s.includes(o))||!r&&s.some(o=>!i.known.includes(o)))return!1;if(n<1)return!0;for(let o of i.oneofs){let a=t[o];if(!u0(a))return!1;if(a.oneofKind===void 0)continue;let c=this.fields.find(u=>u.localName===a.oneofKind);if(!c||!this.field(a[a.oneofKind],c,r,n))return!1}for(let o of this.fields)if(o.oneof===void 0&&!this.field(t[o.localName],o,r,n))return!1;return!0}field(t,n,r,s){let i=n.repeat;switch(n.kind){case"scalar":return t===void 0?n.opt:i?this.scalars(t,n.T,s,n.L):this.scalar(t,n.T,n.L);case"enum":return t===void 0?n.opt:i?this.scalars(t,w.INT32,s):this.scalar(t,w.INT32);case"message":return t===void 0?!0:i?this.messages(t,n.T(),r,s):this.message(t,n.T(),r,s);case"map":if(typeof t!="object"||t===null)return!1;if(s<2)return!0;if(!this.mapKeys(t,n.K,s))return!1;switch(n.V.kind){case"scalar":return this.scalars(Object.values(t),n.V.T,s,n.V.L);case"enum":return this.scalars(Object.values(t),w.INT32,s);case"message":return this.messages(Object.values(t),n.V.T(),r,s)}break}return!0}message(t,n,r,s){return r?n.isAssignable(t,s):n.is(t,s)}messages(t,n,r,s){if(!Array.isArray(t))return!1;if(s<2)return!0;if(r){for(let i=0;i<t.length&&i<s;i++)if(!n.isAssignable(t[i],s-1))return!1}else for(let i=0;i<t.length&&i<s;i++)if(!n.is(t[i],s-1))return!1;return!0}scalar(t,n,r){let s=typeof t;switch(n){case w.UINT64:case w.FIXED64:case w.INT64:case w.SFIXED64:case w.SINT64:switch(r){case We.BIGINT:return s=="bigint";case We.NUMBER:return s=="number"&&!isNaN(t);default:return s=="string"}case w.BOOL:return s=="boolean";case w.STRING:return s=="string";case w.BYTES:return t instanceof Uint8Array;case w.DOUBLE:case w.FLOAT:return s=="number"&&!isNaN(t);default:return s=="number"&&Number.isInteger(t)}}scalars(t,n,r,s){if(!Array.isArray(t))return!1;if(r<2)return!0;if(Array.isArray(t)){for(let i=0;i<t.length&&i<r;i++)if(!this.scalar(t[i],n,s))return!1}return!0}mapKeys(t,n,r){let s=Object.keys(t);switch(n){case w.INT32:case w.FIXED32:case w.SFIXED32:case w.SINT32:case w.UINT32:return this.scalars(s.slice(0,r).map(i=>parseInt(i)),n,r);case w.BOOL:return this.scalars(s.slice(0,r).map(i=>i=="true"?!0:i=="false"?!1:i),n,r);default:return this.scalars(s,n,r,We.STRING)}}};function st(e,t){switch(t){case We.BIGINT:return e.toBigInt();case We.NUMBER:return e.toNumber();default:return e.toString()}}var ko=class{constructor(t){this.info=t}prepare(){var t;if(this.fMap===void 0){this.fMap={};let n=(t=this.info.fields)!==null&&t!==void 0?t:[];for(let r of n)this.fMap[r.name]=r,this.fMap[r.jsonName]=r,this.fMap[r.localName]=r}}assert(t,n,r){if(!t){let s=je(r);throw(s=="number"||s=="boolean")&&(s=r.toString()),new Error(`Cannot parse JSON ${s} for ${this.info.typeName}#${n}`)}}read(t,n,r){this.prepare();let s=[];for(let[i,o]of Object.entries(t)){let a=this.fMap[i];if(!a){if(!r.ignoreUnknownFields)throw new Error(`Found unknown field while reading ${this.info.typeName} from JSON format. JSON key: ${i}`);continue}let c=a.localName,u;if(a.oneof){if(o===null&&(a.kind!=="enum"||a.T()[0]!=="google.protobuf.NullValue"))continue;if(s.includes(a.oneof))throw new Error(`Multiple members of the oneof group "${a.oneof}" of ${this.info.typeName} are present in JSON.`);s.push(a.oneof),u=n[a.oneof]={oneofKind:c}}else u=n;if(a.kind=="map"){if(o===null)continue;this.assert(Nn(o),a.name,o);let l=u[c];for(let[p,d]of Object.entries(o)){this.assert(d!==null,a.name+" map value",null);let y;switch(a.V.kind){case"message":y=a.V.T().internalJsonRead(d,r);break;case"enum":if(y=this.enum(a.V.T(),d,a.name,r.ignoreUnknownFields),y===!1)continue;break;case"scalar":y=this.scalar(d,a.V.T,a.V.L,a.name);break}this.assert(y!==void 0,a.name+" map value",d);let g=p;a.K==w.BOOL&&(g=g=="true"?!0:g=="false"?!1:g),g=this.scalar(g,a.K,We.STRING,a.name).toString(),l[g]=y}}else if(a.repeat){if(o===null)continue;this.assert(Array.isArray(o),a.name,o);let l=u[c];for(let p of o){this.assert(p!==null,a.name,null);let d;switch(a.kind){case"message":d=a.T().internalJsonRead(p,r);break;case"enum":if(d=this.enum(a.T(),p,a.name,r.ignoreUnknownFields),d===!1)continue;break;case"scalar":d=this.scalar(p,a.T,a.L,a.name);break}this.assert(d!==void 0,a.name,o),l.push(d)}}else switch(a.kind){case"message":if(o===null&&a.T().typeName!="google.protobuf.Value"){this.assert(a.oneof===void 0,a.name+" (oneof member)",null);continue}u[c]=a.T().internalJsonRead(o,r,u[c]);break;case"enum":if(o===null)continue;let l=this.enum(a.T(),o,a.name,r.ignoreUnknownFields);if(l===!1)continue;u[c]=l;break;case"scalar":if(o===null)continue;u[c]=this.scalar(o,a.T,a.L,a.name);break}}}enum(t,n,r,s){if(t[0]=="google.protobuf.NullValue"&&J(n===null||n==="NULL_VALUE",`Unable to parse field ${this.info.typeName}#${r}, enum ${t[0]} only accepts null.`),n===null)return 0;switch(typeof n){case"number":return J(Number.isInteger(n),`Unable to parse field ${this.info.typeName}#${r}, enum can only be integral number, got ${n}.`),n;case"string":let i=n;t[2]&&n.substring(0,t[2].length)===t[2]&&(i=n.substring(t[2].length));let o=t[1][i];return typeof o>"u"&&s?!1:(J(typeof o=="number",`Unable to parse field ${this.info.typeName}#${r}, enum ${t[0]} has no value for "${n}".`),o)}J(!1,`Unable to parse field ${this.info.typeName}#${r}, cannot parse enum value from ${typeof n}".`)}scalar(t,n,r,s){let i;try{switch(n){case w.DOUBLE:case w.FLOAT:if(t===null)return 0;if(t==="NaN")return Number.NaN;if(t==="Infinity")return Number.POSITIVE_INFINITY;if(t==="-Infinity")return Number.NEGATIVE_INFINITY;if(t===""){i="empty string";break}if(typeof t=="string"&&t.trim().length!==t.length){i="extra whitespace";break}if(typeof t!="string"&&typeof t!="number")break;let o=Number(t);if(Number.isNaN(o)){i="not a number";break}if(!Number.isFinite(o)){i="too large or small";break}return n==w.FLOAT&&nr(o),o;case w.INT32:case w.FIXED32:case w.SFIXED32:case w.SINT32:case w.UINT32:if(t===null)return 0;let a;if(typeof t=="number"?a=t:t===""?i="empty string":typeof t=="string"&&(t.trim().length!==t.length?i="extra whitespace":a=Number(t)),a===void 0)break;return n==w.UINT32?An(a):an(a),a;case w.INT64:case w.SFIXED64:case w.SINT64:if(t===null)return st(te.ZERO,r);if(typeof t!="number"&&typeof t!="string")break;return st(te.from(t),r);case w.FIXED64:case w.UINT64:if(t===null)return st(xe.ZERO,r);if(typeof t!="number"&&typeof t!="string")break;return st(xe.from(t),r);case w.BOOL:if(t===null)return!1;if(typeof t!="boolean")break;return t;case w.STRING:if(t===null)return"";if(typeof t!="string"){i="extra whitespace";break}try{encodeURIComponent(t)}catch(c){c="invalid UTF8";break}return t;case w.BYTES:if(t===null||t==="")return new Uint8Array(0);if(typeof t!="string")break;return Ps(t)}}catch(o){i=o.message}this.assert(!1,s+(i?" - "+i:""),t)}};var So=class{constructor(t){var n;this.fields=(n=t.fields)!==null&&n!==void 0?n:[]}write(t,n){let r={},s=t;for(let i of this.fields){if(!i.oneof){let u=this.field(i,s[i.localName],n);u!==void 0&&(r[n.useProtoFieldName?i.name:i.jsonName]=u);continue}let o=s[i.oneof];if(o.oneofKind!==i.localName)continue;let a=i.kind=="scalar"||i.kind=="enum"?Object.assign(Object.assign({},n),{emitDefaultValues:!0}):n,c=this.field(i,o[i.localName],a);J(c!==void 0),r[n.useProtoFieldName?i.name:i.jsonName]=c}return r}field(t,n,r){let s;if(t.kind=="map"){J(typeof n=="object"&&n!==null);let i={};switch(t.V.kind){case"scalar":for(let[c,u]of Object.entries(n)){let l=this.scalar(t.V.T,u,t.name,!1,!0);J(l!==void 0),i[c.toString()]=l}break;case"message":let o=t.V.T();for(let[c,u]of Object.entries(n)){let l=this.message(o,u,t.name,r);J(l!==void 0),i[c.toString()]=l}break;case"enum":let a=t.V.T();for(let[c,u]of Object.entries(n)){J(u===void 0||typeof u=="number");let l=this.enum(a,u,t.name,!1,!0,r.enumAsInteger);J(l!==void 0),i[c.toString()]=l}break}(r.emitDefaultValues||Object.keys(i).length>0)&&(s=i)}else if(t.repeat){J(Array.isArray(n));let i=[];switch(t.kind){case"scalar":for(let c=0;c<n.length;c++){let u=this.scalar(t.T,n[c],t.name,t.opt,!0);J(u!==void 0),i.push(u)}break;case"enum":let o=t.T();for(let c=0;c<n.length;c++){J(n[c]===void 0||typeof n[c]=="number");let u=this.enum(o,n[c],t.name,t.opt,!0,r.enumAsInteger);J(u!==void 0),i.push(u)}break;case"message":let a=t.T();for(let c=0;c<n.length;c++){let u=this.message(a,n[c],t.name,r);J(u!==void 0),i.push(u)}break}(r.emitDefaultValues||i.length>0||r.emitDefaultValues)&&(s=i)}else switch(t.kind){case"scalar":s=this.scalar(t.T,n,t.name,t.opt,r.emitDefaultValues);break;case"enum":s=this.enum(t.T(),n,t.name,t.opt,r.emitDefaultValues,r.enumAsInteger);break;case"message":s=this.message(t.T(),n,t.name,r);break}return s}enum(t,n,r,s,i,o){if(t[0]=="google.protobuf.NullValue")return!i&&!s?void 0:null;if(n===void 0){J(s);return}if(!(n===0&&!i&&!s))return J(typeof n=="number"),J(Number.isInteger(n)),o||!t[1].hasOwnProperty(n)?n:t[2]?t[2]+t[1][n]:t[1][n]}message(t,n,r,s){return n===void 0?s.emitDefaultValues?null:void 0:t.internalJsonWrite(n,s)}scalar(t,n,r,s,i){if(n===void 0){J(s);return}let o=i||s;switch(t){case w.INT32:case w.SFIXED32:case w.SINT32:return n===0?o?0:void 0:(an(n),n);case w.FIXED32:case w.UINT32:return n===0?o?0:void 0:(An(n),n);case w.FLOAT:nr(n);case w.DOUBLE:return n===0?o?0:void 0:(J(typeof n=="number"),Number.isNaN(n)?"NaN":n===Number.POSITIVE_INFINITY?"Infinity":n===Number.NEGATIVE_INFINITY?"-Infinity":n);case w.STRING:return n===""?o?"":void 0:(J(typeof n=="string"),n);case w.BOOL:return n===!1?o?!1:void 0:(J(typeof n=="boolean"),n);case w.UINT64:case w.FIXED64:J(typeof n=="number"||typeof n=="string"||typeof n=="bigint");let a=xe.from(n);return a.isZero()&&!o?void 0:a.toString();case w.INT64:case w.SFIXED64:case w.SINT64:J(typeof n=="number"||typeof n=="string"||typeof n=="bigint");let c=te.from(n);return c.isZero()&&!o?void 0:c.toString();case w.BYTES:return J(n instanceof Uint8Array),n.byteLength?Ls(n):o?"":void 0}}};function Fs(e,t=We.STRING){switch(e){case w.BOOL:return!1;case w.UINT64:case w.FIXED64:return st(xe.ZERO,t);case w.INT64:case w.SFIXED64:case w.SINT64:return st(te.ZERO,t);case w.DOUBLE:case w.FLOAT:return 0;case w.BYTES:return new Uint8Array(0);case w.STRING:return"";default:return 0}}var Io=class{constructor(t){this.info=t}prepare(){var t;if(!this.fieldNoToField){let n=(t=this.info.fields)!==null&&t!==void 0?t:[];this.fieldNoToField=new Map(n.map(r=>[r.no,r]))}}read(t,n,r,s){this.prepare();let i=s===void 0?t.len:t.pos+s;for(;t.pos<i;){let[o,a]=t.tag(),c=this.fieldNoToField.get(o);if(!c){let d=r.readUnknownField;if(d=="throw")throw new Error(`Unknown field ${o} (wire type ${a}) for ${this.info.typeName}`);let y=t.skip(a);d!==!1&&(d===!0?tr.onRead:d)(this.info.typeName,n,o,a,y);continue}let u=n,l=c.repeat,p=c.localName;switch(c.oneof&&(u=u[c.oneof],u.oneofKind!==p&&(u=n[c.oneof]={oneofKind:p})),c.kind){case"scalar":case"enum":let d=c.kind=="enum"?w.INT32:c.T,y=c.kind=="scalar"?c.L:void 0;if(l){let x=u[p];if(a==ye.LengthDelimited&&d!=w.STRING&&d!=w.BYTES){let C=t.uint32()+t.pos;for(;t.pos<C;)x.push(this.scalar(t,d,y))}else x.push(this.scalar(t,d,y))}else u[p]=this.scalar(t,d,y);break;case"message":if(l){let x=u[p],C=c.T().internalBinaryRead(t,t.uint32(),r);x.push(C)}else u[p]=c.T().internalBinaryRead(t,t.uint32(),r,u[p]);break;case"map":let[g,E]=this.mapEntry(c,t,r);u[p][g]=E;break}}}mapEntry(t,n,r){let s=n.uint32(),i=n.pos+s,o,a;for(;n.pos<i;){let[c,u]=n.tag();switch(c){case 1:t.K==w.BOOL?o=n.bool().toString():o=this.scalar(n,t.K,We.STRING);break;case 2:switch(t.V.kind){case"scalar":a=this.scalar(n,t.V.T,t.V.L);break;case"enum":a=n.int32();break;case"message":a=t.V.T().internalBinaryRead(n,n.uint32(),r);break}break;default:throw new Error(`Unknown field ${c} (wire type ${u}) in map entry for ${this.info.typeName}#${t.name}`)}}if(o===void 0){let c=Fs(t.K);o=t.K==w.BOOL?c.toString():c}if(a===void 0)switch(t.V.kind){case"scalar":a=Fs(t.V.T,t.V.L);break;case"enum":a=0;break;case"message":a=t.V.T().create();break}return[o,a]}scalar(t,n,r){switch(n){case w.INT32:return t.int32();case w.STRING:return t.string();case w.BOOL:return t.bool();case w.DOUBLE:return t.double();case w.FLOAT:return t.float();case w.INT64:return st(t.int64(),r);case w.UINT64:return st(t.uint64(),r);case w.FIXED64:return st(t.fixed64(),r);case w.FIXED32:return t.fixed32();case w.BYTES:return t.bytes();case w.UINT32:return t.uint32();case w.SFIXED32:return t.sfixed32();case w.SFIXED64:return st(t.sfixed64(),r);case w.SINT32:return t.sint32();case w.SINT64:return st(t.sint64(),r)}}};var _o=class{constructor(t){this.info=t}prepare(){if(!this.fields){let t=this.info.fields?this.info.fields.concat():[];this.fields=t.sort((n,r)=>n.no-r.no)}}write(t,n,r){this.prepare();for(let i of this.fields){let o,a,c=i.repeat,u=i.localName;if(i.oneof){let l=t[i.oneof];if(l.oneofKind!==u)continue;o=l[u],a=!0}else o=t[u],a=!1;switch(i.kind){case"scalar":case"enum":let l=i.kind=="enum"?w.INT32:i.T;if(c)if(J(Array.isArray(o)),c==Us.PACKED)this.packed(n,l,i.no,o);else for(let p of o)this.scalar(n,l,i.no,p,!0);else o===void 0?J(i.opt):this.scalar(n,l,i.no,o,a||i.opt);break;case"message":if(c){J(Array.isArray(o));for(let p of o)this.message(n,r,i.T(),i.no,p)}else this.message(n,r,i.T(),i.no,o);break;case"map":J(typeof o=="object"&&o!==null);for(let[p,d]of Object.entries(o))this.mapEntry(n,r,i,p,d);break}}let s=r.writeUnknownFields;s!==!1&&(s===!0?tr.onWrite:s)(this.info.typeName,t,n)}mapEntry(t,n,r,s,i){t.tag(r.no,ye.LengthDelimited),t.fork();let o=s;switch(r.K){case w.INT32:case w.FIXED32:case w.UINT32:case w.SFIXED32:case w.SINT32:o=Number.parseInt(s);break;case w.BOOL:J(s=="true"||s=="false"),o=s=="true";break}switch(this.scalar(t,r.K,1,o,!0),r.V.kind){case"scalar":this.scalar(t,r.V.T,2,i,!0);break;case"enum":this.scalar(t,w.INT32,2,i,!0);break;case"message":this.message(t,n,r.V.T(),2,i);break}t.join()}message(t,n,r,s,i){i!==void 0&&(r.internalBinaryWrite(i,t.tag(s,ye.LengthDelimited).fork(),n),t.join())}scalar(t,n,r,s,i){let[o,a,c]=this.scalarInfo(n,s);(!c||i)&&(t.tag(r,o),t[a](s))}packed(t,n,r,s){if(!s.length)return;J(n!==w.BYTES&&n!==w.STRING),t.tag(r,ye.LengthDelimited),t.fork();let[,i]=this.scalarInfo(n);for(let o=0;o<s.length;o++)t[i](s[o]);t.join()}scalarInfo(t,n){let r=ye.Varint,s,i=n===void 0,o=n===0;switch(t){case w.INT32:s="int32";break;case w.STRING:o=i||!n.length,r=ye.LengthDelimited,s="string";break;case w.BOOL:o=n===!1,s="bool";break;case w.UINT32:s="uint32";break;case w.DOUBLE:r=ye.Bit64,s="double";break;case w.FLOAT:r=ye.Bit32,s="float";break;case w.INT64:o=i||te.from(n).isZero(),s="int64";break;case w.UINT64:o=i||xe.from(n).isZero(),s="uint64";break;case w.FIXED64:o=i||xe.from(n).isZero(),r=ye.Bit64,s="fixed64";break;case w.BYTES:o=i||!n.byteLength,r=ye.LengthDelimited,s="bytes";break;case w.FIXED32:r=ye.Bit32,s="fixed32";break;case w.SFIXED32:r=ye.Bit32,s="sfixed32";break;case w.SFIXED64:o=i||te.from(n).isZero(),r=ye.Bit64,s="sfixed64";break;case w.SINT32:s="sint32";break;case w.SINT64:o=i||te.from(n).isZero(),s="sint64";break}return[r,s,i||o]}};function l0(e){let t=e.messagePrototype?Object.create(e.messagePrototype):Object.defineProperty({},Eo,{value:e});for(let n of e.fields){let r=n.localName;if(!n.opt)if(n.oneof)t[n.oneof]={oneofKind:void 0};else if(n.repeat)t[r]=[];else switch(n.kind){case"scalar":t[r]=Fs(n.T,n.L);break;case"enum":t[r]=0;break;case"map":t[r]={};break}}return t}function Oo(e,t,n){let r,s=n,i;for(let o of e.fields){let a=o.localName;if(o.oneof){let c=s[o.oneof];if(c?.oneofKind==null)continue;if(r=c[a],i=t[o.oneof],i.oneofKind=c.oneofKind,r==null){delete i[a];continue}}else if(r=s[a],i=t,r==null)continue;switch(o.repeat&&(i[a].length=r.length),o.kind){case"scalar":case"enum":if(o.repeat)for(let u=0;u<r.length;u++)i[a][u]=r[u];else i[a]=r;break;case"message":let c=o.T();if(o.repeat)for(let u=0;u<r.length;u++)i[a][u]=c.create(r[u]);else i[a]===void 0?i[a]=c.create(r):c.mergePartial(i[a],r);break;case"map":switch(o.V.kind){case"scalar":case"enum":Object.assign(i[a],r);break;case"message":let u=o.V.T();for(let l of Object.keys(r))i[a][l]=u.create(r[l]);break}break}}}function d0(e,t,n){if(t===n)return!0;if(!t||!n)return!1;for(let r of e.fields){let s=r.localName,i=r.oneof?t[r.oneof][s]:t[s],o=r.oneof?n[r.oneof][s]:n[s];switch(r.kind){case"enum":case"scalar":let a=r.kind=="enum"?w.INT32:r.T;if(!(r.repeat?p0(a,i,o):m0(a,i,o)))return!1;break;case"map":if(!(r.V.kind=="message"?f0(r.V.T(),No(i),No(o)):p0(r.V.kind=="enum"?w.INT32:r.V.T,No(i),No(o))))return!1;break;case"message":let c=r.T();if(!(r.repeat?f0(c,i,o):c.equals(i,o)))return!1;break}}return!0}var No=Object.values;function m0(e,t,n){if(t===n)return!0;if(e!==w.BYTES)return!1;let r=t,s=n;if(r.length!==s.length)return!1;for(let i=0;i<r.length;i++)if(r[i]!=s[i])return!1;return!0}function p0(e,t,n){if(t.length!==n.length)return!1;for(let r=0;r<t.length;r++)if(!m0(e,t[r],n[r]))return!1;return!0}function f0(e,t,n){if(t.length!==n.length)return!1;for(let r=0;r<t.length;r++)if(!e.equals(t[r],n[r]))return!1;return!0}var h0=Object.getOwnPropertyDescriptors(Object.getPrototypeOf({})),KN=h0[Eo]={},m=class{constructor(t,n,r){this.defaultCheckDepth=16,this.typeName=t,this.fields=n.map(c0),this.options=r??{},KN.value=this,this.messagePrototype=Object.create(null,h0),this.refTypeCheck=new xo(this),this.refJsonReader=new ko(this),this.refJsonWriter=new So(this),this.refBinReader=new Io(this),this.refBinWriter=new _o(this)}create(t){let n=l0(this);return t!==void 0&&Oo(this,n,t),n}clone(t){let n=this.create();return Oo(this,n,t),n}equals(t,n){return d0(this,t,n)}is(t,n=this.defaultCheckDepth){return this.refTypeCheck.is(t,n,!1)}isAssignable(t,n=this.defaultCheckDepth){return this.refTypeCheck.is(t,n,!0)}mergePartial(t,n){Oo(this,t,n)}fromBinary(t,n){let r=r0(n);return this.internalBinaryRead(r.readerFactory(t),t.byteLength,r)}fromJson(t,n){return this.internalJsonRead(t,Uu(n))}fromJsonString(t,n){let r=JSON.parse(t);return this.fromJson(r,n)}toJson(t,n){return this.internalJsonWrite(t,Ms(n))}toJsonString(t,n){var r;let s=this.toJson(t,n);return JSON.stringify(s,null,(r=n?.prettySpaces)!==null&&r!==void 0?r:0)}toBinary(t,n){let r=i0(n);return this.internalBinaryWrite(t,r.writerFactory(),r).finish()}internalJsonRead(t,n,r){if(t!==null&&typeof t=="object"&&!Array.isArray(t)){let s=r??this.create();return this.refJsonReader.read(t,s,n),s}throw new Error(`Unable to parse message ${this.typeName} from JSON ${je(t)}.`)}internalJsonWrite(t,n){return this.refJsonWriter.write(t,n)}internalBinaryWrite(t,n,r){return this.refBinWriter.write(t,n,r),n}internalBinaryRead(t,n,r,s){let i=s??this.create();return this.refBinReader.read(t,i,r,n),i}};var g0=(function(e){return e[e.NULL_VALUE=0]="NULL_VALUE",e})({}),QN=class extends m{constructor(){super("google.protobuf.Struct",[{no:1,name:"fields",kind:"map",K:9,V:{kind:"message",T:()=>Be}}])}internalJsonWrite(e,t){let n={};for(let[r,s]of Object.entries(e.fields))n[r]=Be.toJson(s);return n}internalJsonRead(e,t,n){if(!Nn(e))throw new globalThis.Error("Unable to parse message "+this.typeName+" from JSON "+je(e)+".");n||(n=this.create());for(let[r,s]of globalThis.Object.entries(e))n.fields[r]=Be.fromJson(s);return n}},y0=new QN,eA=class extends m{constructor(){super("google.protobuf.Value",[{no:1,name:"null_value",kind:"enum",oneof:"kind",T:()=>["google.protobuf.NullValue",g0]},{no:2,name:"number_value",kind:"scalar",oneof:"kind",T:1},{no:3,name:"string_value",kind:"scalar",oneof:"kind",T:9},{no:4,name:"bool_value",kind:"scalar",oneof:"kind",T:8},{no:5,name:"struct_value",kind:"message",oneof:"kind",T:()=>y0},{no:6,name:"list_value",kind:"message",oneof:"kind",T:()=>b0}])}internalJsonWrite(e,t){if(e.kind.oneofKind===void 0)throw new globalThis.Error;switch(e.kind.oneofKind){case void 0:throw new globalThis.Error;case"boolValue":return e.kind.boolValue;case"nullValue":return null;case"numberValue":let n=e.kind.numberValue;if(typeof n=="number"&&!Number.isFinite(n))throw new globalThis.Error;return n;case"stringValue":return e.kind.stringValue;case"listValue":let r=this.fields.find(i=>i.no===6);if(r?.kind!=="message")throw new globalThis.Error;return r.T().toJson(e.kind.listValue);case"structValue":let s=this.fields.find(i=>i.no===5);if(s?.kind!=="message")throw new globalThis.Error;return s.T().toJson(e.kind.structValue)}}internalJsonRead(e,t,n){switch(n||(n=this.create()),typeof e){case"number":n.kind={oneofKind:"numberValue",numberValue:e};break;case"string":n.kind={oneofKind:"stringValue",stringValue:e};break;case"boolean":n.kind={oneofKind:"boolValue",boolValue:e};break;case"object":e===null?n.kind={oneofKind:"nullValue",nullValue:g0.NULL_VALUE}:globalThis.Array.isArray(e)?n.kind={oneofKind:"listValue",listValue:b0.fromJson(e)}:n.kind={oneofKind:"structValue",structValue:y0.fromJson(e)};break;default:throw new globalThis.Error("Unable to parse "+this.typeName+" from JSON "+je(e))}return n}},Be=new eA,tA=class extends m{constructor(){super("google.protobuf.ListValue",[{no:1,name:"values",kind:"message",repeat:1,T:()=>Be}])}internalJsonWrite(e,t){return e.values.map(n=>Be.toJson(n))}internalJsonRead(e,t,n){if(!globalThis.Array.isArray(e))throw new globalThis.Error("Unable to parse "+this.typeName+" from JSON "+je(e));n||(n=this.create());let r=e.map(s=>Be.fromJson(s));return n.values.push(...r),n}},b0=new tA;var nA=(function(e){return e[e.DATATYPE_KIND_UNKNOWN=0]="DATATYPE_KIND_UNKNOWN",e[e.STRUCT=1]="STRUCT",e[e.ENUM=2]="ENUM",e})({}),it=(function(e){return e[e.TYPE_UNKNOWN=0]="TYPE_UNKNOWN",e[e.ADDRESS=1]="ADDRESS",e[e.BOOL=2]="BOOL",e[e.U8=3]="U8",e[e.U16=4]="U16",e[e.U32=5]="U32",e[e.U64=6]="U64",e[e.U128=7]="U128",e[e.U256=8]="U256",e[e.VECTOR=9]="VECTOR",e[e.DATATYPE=10]="DATATYPE",e[e.TYPE_PARAMETER=11]="TYPE_PARAMETER",e})({}),Vs=(function(e){return e[e.VISIBILITY_UNKNOWN=0]="VISIBILITY_UNKNOWN",e[e.PRIVATE=1]="PRIVATE",e[e.PUBLIC=2]="PUBLIC",e[e.FRIEND=3]="FRIEND",e})({}),Ao=(function(e){return e[e.REFERENCE_UNKNOWN=0]="REFERENCE_UNKNOWN",e[e.IMMUTABLE=1]="IMMUTABLE",e[e.MUTABLE=2]="MUTABLE",e})({}),rr=(function(e){return e[e.ABILITY_UNKNOWN=0]="ABILITY_UNKNOWN",e[e.COPY=1]="COPY",e[e.DROP=2]="DROP",e[e.STORE=3]="STORE",e[e.KEY=4]="KEY",e})({}),rA=class extends m{constructor(){super("sui.rpc.v2.Package",[{no:1,name:"storage_id",kind:"scalar",opt:!0,T:9},{no:2,name:"original_id",kind:"scalar",opt:!0,T:9},{no:3,name:"version",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"modules",kind:"message",repeat:1,T:()=>iA},{no:5,name:"type_origins",kind:"message",repeat:1,T:()=>hA},{no:6,name:"linkage",kind:"message",repeat:1,T:()=>yA}])}},Co=new rA,sA=class extends m{constructor(){super("sui.rpc.v2.Module",[{no:1,name:"name",kind:"scalar",opt:!0,T:9},{no:2,name:"contents",kind:"scalar",opt:!0,T:12},{no:3,name:"datatypes",kind:"message",repeat:1,T:()=>Vu},{no:4,name:"functions",kind:"message",repeat:1,T:()=>qu}])}},iA=new sA,oA=class extends m{constructor(){super("sui.rpc.v2.DatatypeDescriptor",[{no:1,name:"type_name",kind:"scalar",opt:!0,T:9},{no:2,name:"defining_id",kind:"scalar",opt:!0,T:9},{no:3,name:"module",kind:"scalar",opt:!0,T:9},{no:4,name:"name",kind:"scalar",opt:!0,T:9},{no:5,name:"abilities",kind:"enum",repeat:1,T:()=>["sui.rpc.v2.Ability",rr]},{no:6,name:"type_parameters",kind:"message",repeat:1,T:()=>v0},{no:7,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.DatatypeDescriptor.DatatypeKind",nA]},{no:8,name:"fields",kind:"message",repeat:1,T:()=>w0},{no:9,name:"variants",kind:"message",repeat:1,T:()=>lA}])}},Vu=new oA,aA=class extends m{constructor(){super("sui.rpc.v2.TypeParameter",[{no:1,name:"constraints",kind:"enum",repeat:1,T:()=>["sui.rpc.v2.Ability",rr]},{no:2,name:"is_phantom",kind:"scalar",opt:!0,T:8}])}},v0=new aA,cA=class extends m{constructor(){super("sui.rpc.v2.FieldDescriptor",[{no:1,name:"name",kind:"scalar",opt:!0,T:9},{no:2,name:"position",kind:"scalar",opt:!0,T:13},{no:3,name:"type",kind:"message",T:()=>Gu}])}},w0=new cA,uA=class extends m{constructor(){super("sui.rpc.v2.VariantDescriptor",[{no:1,name:"name",kind:"scalar",opt:!0,T:9},{no:2,name:"position",kind:"scalar",opt:!0,T:13},{no:3,name:"fields",kind:"message",repeat:1,T:()=>w0}])}},lA=new uA,pA=class extends m{constructor(){super("sui.rpc.v2.OpenSignatureBody",[{no:1,name:"type",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.OpenSignatureBody.Type",it]},{no:2,name:"type_name",kind:"scalar",opt:!0,T:9},{no:3,name:"type_parameter_instantiation",kind:"message",repeat:1,T:()=>Gu},{no:4,name:"type_parameter",kind:"scalar",opt:!0,T:13}])}},Gu=new pA,fA=class extends m{constructor(){super("sui.rpc.v2.FunctionDescriptor",[{no:1,name:"name",kind:"scalar",opt:!0,T:9},{no:5,name:"visibility",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.FunctionDescriptor.Visibility",Vs]},{no:6,name:"is_entry",kind:"scalar",opt:!0,T:8},{no:7,name:"type_parameters",kind:"message",repeat:1,T:()=>v0},{no:8,name:"parameters",kind:"message",repeat:1,T:()=>T0},{no:9,name:"returns",kind:"message",repeat:1,T:()=>T0}])}},qu=new fA,dA=class extends m{constructor(){super("sui.rpc.v2.OpenSignature",[{no:1,name:"reference",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.OpenSignature.Reference",Ao]},{no:2,name:"body",kind:"message",T:()=>Gu}])}},T0=new dA,mA=class extends m{constructor(){super("sui.rpc.v2.TypeOrigin",[{no:1,name:"module_name",kind:"scalar",opt:!0,T:9},{no:2,name:"datatype_name",kind:"scalar",opt:!0,T:9},{no:3,name:"package_id",kind:"scalar",opt:!0,T:9}])}},hA=new mA,gA=class extends m{constructor(){super("sui.rpc.v2.Linkage",[{no:1,name:"original_id",kind:"scalar",opt:!0,T:9},{no:2,name:"upgraded_id",kind:"scalar",opt:!0,T:9},{no:3,name:"upgraded_version",kind:"scalar",opt:!0,T:4,L:0}])}},yA=new gA;var sr=(function(e){return e[e.OWNER_KIND_UNKNOWN=0]="OWNER_KIND_UNKNOWN",e[e.ADDRESS=1]="ADDRESS",e[e.OBJECT=2]="OBJECT",e[e.SHARED=3]="SHARED",e[e.IMMUTABLE=4]="IMMUTABLE",e[e.CONSENSUS_ADDRESS=5]="CONSENSUS_ADDRESS",e})({}),bA=class extends m{constructor(){super("sui.rpc.v2.Owner",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.Owner.OwnerKind",sr]},{no:2,name:"address",kind:"scalar",opt:!0,T:9},{no:3,name:"version",kind:"scalar",opt:!0,T:4,L:0}])}},Gs=new bA;var cn=(function(e){return e[e.ARGUMENT_KIND_UNKNOWN=0]="ARGUMENT_KIND_UNKNOWN",e[e.GAS=1]="GAS",e[e.INPUT=2]="INPUT",e[e.RESULT=3]="RESULT",e})({}),TA=class extends m{constructor(){super("sui.rpc.v2.Argument",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.Argument.ArgumentKind",cn]},{no:2,name:"input",kind:"scalar",opt:!0,T:13},{no:3,name:"result",kind:"scalar",opt:!0,T:13},{no:4,name:"subresult",kind:"scalar",opt:!0,T:13}])}},mt=new TA;var ht=(function(e){return e[e.INPUT_KIND_UNKNOWN=0]="INPUT_KIND_UNKNOWN",e[e.PURE=1]="PURE",e[e.IMMUTABLE_OR_OWNED=2]="IMMUTABLE_OR_OWNED",e[e.SHARED=3]="SHARED",e[e.RECEIVING=4]="RECEIVING",e[e.FUNDS_WITHDRAWAL=5]="FUNDS_WITHDRAWAL",e})({}),vA=(function(e){return e[e.MUTABILITY_UNKNOWN=0]="MUTABILITY_UNKNOWN",e[e.IMMUTABLE=1]="IMMUTABLE",e[e.MUTABLE=2]="MUTABLE",e[e.NON_EXCLUSIVE_WRITE=3]="NON_EXCLUSIVE_WRITE",e})({}),qs=(function(e){return e[e.SOURCE_UNKNOWN=0]="SOURCE_UNKNOWN",e[e.SENDER=1]="SENDER",e[e.SPONSOR=2]="SPONSOR",e})({}),wA=class extends m{constructor(){super("sui.rpc.v2.Input",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.Input.InputKind",ht]},{no:2,name:"pure",kind:"scalar",opt:!0,T:12},{no:3,name:"object_id",kind:"scalar",opt:!0,T:9},{no:4,name:"version",kind:"scalar",opt:!0,T:4,L:0},{no:5,name:"digest",kind:"scalar",opt:!0,T:9},{no:6,name:"mutable",kind:"scalar",opt:!0,T:8},{no:7,name:"mutability",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.Input.Mutability",vA]},{no:8,name:"funds_withdrawal",kind:"message",T:()=>xA},{no:1e3,name:"literal",kind:"message",T:()=>Be}])}},E0=new wA,EA=class extends m{constructor(){super("sui.rpc.v2.FundsWithdrawal",[{no:1,name:"amount",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"coin_type",kind:"scalar",opt:!0,T:9},{no:3,name:"source",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.FundsWithdrawal.Source",qs]}])}},xA=new EA;var kA=class extends m{constructor(){super("google.protobuf.Duration",[{no:1,name:"seconds",kind:"scalar",T:3,L:0},{no:2,name:"nanos",kind:"scalar",T:5}])}internalJsonWrite(e,t){let n=te.from(e.seconds).toNumber();if(n>315576e6||n<-315576e6)throw new Error("Duration value out of range.");let r=e.seconds.toString();if(n===0&&e.nanos<0&&(r="-"+r),e.nanos!==0){let s=Math.abs(e.nanos).toString();s="0".repeat(9-s.length)+s,s.substring(3)==="000000"?s=s.substring(0,3):s.substring(6)==="000"&&(s=s.substring(0,6)),r+="."+s}return r+"s"}internalJsonRead(e,t,n){if(typeof e!="string")throw new Error("Unable to parse Duration from JSON "+je(e)+". Expected string.");let r=e.match(/^(-?)([0-9]+)(?:\.([0-9]+))?s/);if(r===null)throw new Error("Unable to parse Duration from JSON string. Invalid format.");n||(n=this.create());let[,s,i,o]=r,a=te.from(s+i);if(a.toNumber()>315576e6||a.toNumber()<-315576e6)throw new Error("Unable to parse Duration from JSON string. Value out of range.");if(n.seconds=a.toBigInt(),typeof o=="string"){let c=s+o+"0".repeat(9-o.length);n.nanos=parseInt(c)}return n}},x0=new kA;var SA=class extends m{constructor(){super("sui.rpc.v2.JwkId",[{no:1,name:"iss",kind:"scalar",opt:!0,T:9},{no:2,name:"kid",kind:"scalar",opt:!0,T:9}])}},Ro=new SA,IA=class extends m{constructor(){super("sui.rpc.v2.Jwk",[{no:1,name:"kty",kind:"scalar",opt:!0,T:9},{no:2,name:"e",kind:"scalar",opt:!0,T:9},{no:3,name:"n",kind:"scalar",opt:!0,T:9},{no:4,name:"alg",kind:"scalar",opt:!0,T:9}])}},k0=new IA;var _A=class extends m{constructor(){super("sui.rpc.v2.Bcs",[{no:1,name:"name",kind:"scalar",opt:!0,T:9},{no:2,name:"value",kind:"scalar",opt:!0,T:12}])}},be=new _A;var OA=class extends m{constructor(){super("sui.rpc.v2.Object",[{no:1,name:"bcs",kind:"message",T:()=>be},{no:2,name:"object_id",kind:"scalar",opt:!0,T:9},{no:3,name:"version",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"digest",kind:"scalar",opt:!0,T:9},{no:5,name:"owner",kind:"message",T:()=>Gs},{no:6,name:"object_type",kind:"scalar",opt:!0,T:9},{no:7,name:"has_public_transfer",kind:"scalar",opt:!0,T:8},{no:8,name:"contents",kind:"message",T:()=>be},{no:9,name:"package",kind:"message",T:()=>Co},{no:10,name:"previous_transaction",kind:"scalar",opt:!0,T:9},{no:11,name:"storage_rebate",kind:"scalar",opt:!0,T:4,L:0},{no:100,name:"json",kind:"message",T:()=>Be},{no:101,name:"balance",kind:"scalar",opt:!0,T:4,L:0}])}},qt=new OA,NA=class extends m{constructor(){super("sui.rpc.v2.ObjectSet",[{no:1,name:"objects",kind:"message",repeat:1,T:()=>qt}])}},Do=new NA;var AA=class extends m{constructor(){super("google.protobuf.Timestamp",[{no:1,name:"seconds",kind:"scalar",T:3,L:0},{no:2,name:"nanos",kind:"scalar",T:5}])}now(){let e=this.create(),t=Date.now();return e.seconds=te.from(Math.floor(t/1e3)).toBigInt(),e.nanos=t%1e3*1e6,e}toDate(e){return new Date(te.from(e.seconds).toNumber()*1e3+Math.ceil(e.nanos/1e6))}fromDate(e){let t=this.create(),n=e.getTime();return t.seconds=te.from(Math.floor(n/1e3)).toBigInt(),t.nanos=(n%1e3+(n<0&&n%1e3!==0?1e3:0))*1e6,t}internalJsonWrite(e,t){let n=te.from(e.seconds).toNumber()*1e3;if(n<Date.parse("0001-01-01T00:00:00Z")||n>Date.parse("9999-12-31T23:59:59Z"))throw new Error("Unable to encode Timestamp to JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.");if(e.nanos<0)throw new Error("Unable to encode invalid Timestamp to JSON. Nanos must not be negative.");let r="Z";if(e.nanos>0){let s=(e.nanos+1e9).toString().substring(1);s.substring(3)==="000000"?r="."+s.substring(0,3)+"Z":s.substring(6)==="000"?r="."+s.substring(0,6)+"Z":r="."+s+"Z"}return new Date(n).toISOString().replace(".000Z",r)}internalJsonRead(e,t,n){if(typeof e!="string")throw new Error("Unable to parse Timestamp from JSON "+je(e)+".");let r=e.match(/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(?:Z|\.([0-9]{3,9})Z|([+-][0-9][0-9]:[0-9][0-9]))$/);if(!r)throw new Error("Unable to parse Timestamp from JSON. Invalid format.");let s=Date.parse(r[1]+"-"+r[2]+"-"+r[3]+"T"+r[4]+":"+r[5]+":"+r[6]+(r[8]?r[8]:"Z"));if(Number.isNaN(s))throw new Error("Unable to parse Timestamp from JSON. Invalid value.");if(s<Date.parse("0001-01-01T00:00:00Z")||s>Date.parse("9999-12-31T23:59:59Z"))throw new globalThis.Error("Unable to parse Timestamp from JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.");return n||(n=this.create()),n.seconds=te.from(s/1e3).toBigInt(),n.nanos=0,r[7]&&(n.nanos=parseInt("1"+r[7]+"0".repeat(9-r[7].length))-1e9),n}},Ge=new AA;var CA=class extends m{constructor(){super("sui.rpc.v2.ObjectReference",[{no:1,name:"object_id",kind:"scalar",opt:!0,T:9},{no:2,name:"version",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"digest",kind:"scalar",opt:!0,T:9}])}},jo=new CA;var Rn=(function(e){return e[e.TRANSACTION_EXPIRATION_KIND_UNKNOWN=0]="TRANSACTION_EXPIRATION_KIND_UNKNOWN",e[e.NONE=1]="NONE",e[e.EPOCH=2]="EPOCH",e[e.VALID_DURING=3]="VALID_DURING",e})({}),RA=(function(e){return e[e.KIND_UNKNOWN=0]="KIND_UNKNOWN",e[e.PROGRAMMABLE_TRANSACTION=1]="PROGRAMMABLE_TRANSACTION",e[e.CHANGE_EPOCH=2]="CHANGE_EPOCH",e[e.GENESIS=3]="GENESIS",e[e.CONSENSUS_COMMIT_PROLOGUE_V1=4]="CONSENSUS_COMMIT_PROLOGUE_V1",e[e.AUTHENTICATOR_STATE_UPDATE=5]="AUTHENTICATOR_STATE_UPDATE",e[e.END_OF_EPOCH=6]="END_OF_EPOCH",e[e.RANDOMNESS_STATE_UPDATE=7]="RANDOMNESS_STATE_UPDATE",e[e.CONSENSUS_COMMIT_PROLOGUE_V2=8]="CONSENSUS_COMMIT_PROLOGUE_V2",e[e.CONSENSUS_COMMIT_PROLOGUE_V3=9]="CONSENSUS_COMMIT_PROLOGUE_V3",e[e.CONSENSUS_COMMIT_PROLOGUE_V4=10]="CONSENSUS_COMMIT_PROLOGUE_V4",e[e.PROGRAMMABLE_SYSTEM_TRANSACTION=11]="PROGRAMMABLE_SYSTEM_TRANSACTION",e})({}),DA=(function(e){return e[e.KIND_UNKNOWN=0]="KIND_UNKNOWN",e[e.CHANGE_EPOCH=1]="CHANGE_EPOCH",e[e.AUTHENTICATOR_STATE_CREATE=2]="AUTHENTICATOR_STATE_CREATE",e[e.AUTHENTICATOR_STATE_EXPIRE=3]="AUTHENTICATOR_STATE_EXPIRE",e[e.RANDOMNESS_STATE_CREATE=4]="RANDOMNESS_STATE_CREATE",e[e.DENY_LIST_STATE_CREATE=5]="DENY_LIST_STATE_CREATE",e[e.BRIDGE_STATE_CREATE=6]="BRIDGE_STATE_CREATE",e[e.BRIDGE_COMMITTEE_INIT=7]="BRIDGE_COMMITTEE_INIT",e[e.STORE_EXECUTION_TIME_OBSERVATIONS=8]="STORE_EXECUTION_TIME_OBSERVATIONS",e[e.ACCUMULATOR_ROOT_CREATE=9]="ACCUMULATOR_ROOT_CREATE",e[e.COIN_REGISTRY_CREATE=10]="COIN_REGISTRY_CREATE",e[e.DISPLAY_REGISTRY_CREATE=11]="DISPLAY_REGISTRY_CREATE",e[e.ADDRESS_ALIAS_STATE_CREATE=12]="ADDRESS_ALIAS_STATE_CREATE",e[e.WRITE_ACCUMULATOR_STORAGE_COST=13]="WRITE_ACCUMULATOR_STORAGE_COST",e})({}),jA=(function(e){return e[e.EXECUTION_TIME_OBSERVATION_KIND_UNKNOWN=0]="EXECUTION_TIME_OBSERVATION_KIND_UNKNOWN",e[e.MOVE_ENTRY_POINT=1]="MOVE_ENTRY_POINT",e[e.TRANSFER_OBJECTS=2]="TRANSFER_OBJECTS",e[e.SPLIT_COINS=3]="SPLIT_COINS",e[e.MERGE_COINS=4]="MERGE_COINS",e[e.PUBLISH=5]="PUBLISH",e[e.MAKE_MOVE_VECTOR=6]="MAKE_MOVE_VECTOR",e[e.UPGRADE=7]="UPGRADE",e})({}),BA=class extends m{constructor(){super("sui.rpc.v2.Transaction",[{no:1,name:"bcs",kind:"message",T:()=>be},{no:2,name:"digest",kind:"scalar",opt:!0,T:9},{no:3,name:"version",kind:"scalar",opt:!0,T:5},{no:4,name:"kind",kind:"message",T:()=>VA},{no:5,name:"sender",kind:"scalar",opt:!0,T:9},{no:6,name:"gas_payment",kind:"message",T:()=>LA},{no:7,name:"expiration",kind:"message",T:()=>UA}])}},Gr=new BA,PA=class extends m{constructor(){super("sui.rpc.v2.GasPayment",[{no:1,name:"objects",kind:"message",repeat:1,T:()=>jo},{no:2,name:"owner",kind:"scalar",opt:!0,T:9},{no:3,name:"price",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"budget",kind:"scalar",opt:!0,T:4,L:0}])}},LA=new PA,MA=class extends m{constructor(){super("sui.rpc.v2.TransactionExpiration",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.TransactionExpiration.TransactionExpirationKind",Rn]},{no:2,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"min_epoch",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"min_timestamp",kind:"message",T:()=>Ge},{no:5,name:"max_timestamp",kind:"message",T:()=>Ge},{no:6,name:"chain",kind:"scalar",opt:!0,T:9},{no:7,name:"nonce",kind:"scalar",opt:!0,T:13}])}},UA=new MA,FA=class extends m{constructor(){super("sui.rpc.v2.TransactionKind",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.TransactionKind.Kind",RA]},{no:2,name:"programmable_transaction",kind:"message",oneof:"data",T:()=>qA},{no:3,name:"change_epoch",kind:"message",oneof:"data",T:()=>I0},{no:4,name:"genesis",kind:"message",oneof:"data",T:()=>p2},{no:5,name:"consensus_commit_prologue",kind:"message",oneof:"data",T:()=>d2},{no:6,name:"authenticator_state_update",kind:"message",oneof:"data",T:()=>w2},{no:7,name:"end_of_epoch",kind:"message",oneof:"data",T:()=>k2},{no:8,name:"randomness_state_update",kind:"message",oneof:"data",T:()=>o2}])}},VA=new FA,GA=class extends m{constructor(){super("sui.rpc.v2.ProgrammableTransaction",[{no:1,name:"inputs",kind:"message",repeat:1,T:()=>E0},{no:2,name:"commands",kind:"message",repeat:1,T:()=>zA}])}},qA=new GA,$A=class extends m{constructor(){super("sui.rpc.v2.Command",[{no:1,name:"move_call",kind:"message",oneof:"command",T:()=>S0},{no:2,name:"transfer_objects",kind:"message",oneof:"command",T:()=>JA},{no:3,name:"split_coins",kind:"message",oneof:"command",T:()=>XA},{no:4,name:"merge_coins",kind:"message",oneof:"command",T:()=>KA},{no:5,name:"publish",kind:"message",oneof:"command",T:()=>e2},{no:6,name:"make_move_vector",kind:"message",oneof:"command",T:()=>n2},{no:7,name:"upgrade",kind:"message",oneof:"command",T:()=>s2}])}},zA=new $A,HA=class extends m{constructor(){super("sui.rpc.v2.MoveCall",[{no:1,name:"package",kind:"scalar",opt:!0,T:9},{no:2,name:"module",kind:"scalar",opt:!0,T:9},{no:3,name:"function",kind:"scalar",opt:!0,T:9},{no:4,name:"type_arguments",kind:"scalar",repeat:2,T:9},{no:5,name:"arguments",kind:"message",repeat:1,T:()=>mt}])}},S0=new HA,WA=class extends m{constructor(){super("sui.rpc.v2.TransferObjects",[{no:1,name:"objects",kind:"message",repeat:1,T:()=>mt},{no:2,name:"address",kind:"message",T:()=>mt}])}},JA=new WA,YA=class extends m{constructor(){super("sui.rpc.v2.SplitCoins",[{no:1,name:"coin",kind:"message",T:()=>mt},{no:2,name:"amounts",kind:"message",repeat:1,T:()=>mt}])}},XA=new YA,ZA=class extends m{constructor(){super("sui.rpc.v2.MergeCoins",[{no:1,name:"coin",kind:"message",T:()=>mt},{no:2,name:"coins_to_merge",kind:"message",repeat:1,T:()=>mt}])}},KA=new ZA,QA=class extends m{constructor(){super("sui.rpc.v2.Publish",[{no:1,name:"modules",kind:"scalar",repeat:2,T:12},{no:2,name:"dependencies",kind:"scalar",repeat:2,T:9}])}},e2=new QA,t2=class extends m{constructor(){super("sui.rpc.v2.MakeMoveVector",[{no:1,name:"element_type",kind:"scalar",opt:!0,T:9},{no:2,name:"elements",kind:"message",repeat:1,T:()=>mt}])}},n2=new t2,r2=class extends m{constructor(){super("sui.rpc.v2.Upgrade",[{no:1,name:"modules",kind:"scalar",repeat:2,T:12},{no:2,name:"dependencies",kind:"scalar",repeat:2,T:9},{no:3,name:"package",kind:"scalar",opt:!0,T:9},{no:4,name:"ticket",kind:"message",T:()=>mt}])}},s2=new r2,i2=class extends m{constructor(){super("sui.rpc.v2.RandomnessStateUpdate",[{no:1,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"randomness_round",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"random_bytes",kind:"scalar",opt:!0,T:12},{no:4,name:"randomness_object_initial_shared_version",kind:"scalar",opt:!0,T:4,L:0}])}},o2=new i2,a2=class extends m{constructor(){super("sui.rpc.v2.ChangeEpoch",[{no:1,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"protocol_version",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"storage_charge",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"computation_charge",kind:"scalar",opt:!0,T:4,L:0},{no:5,name:"storage_rebate",kind:"scalar",opt:!0,T:4,L:0},{no:6,name:"non_refundable_storage_fee",kind:"scalar",opt:!0,T:4,L:0},{no:7,name:"epoch_start_timestamp",kind:"message",T:()=>Ge},{no:8,name:"system_packages",kind:"message",repeat:1,T:()=>u2}])}},I0=new a2,c2=class extends m{constructor(){super("sui.rpc.v2.SystemPackage",[{no:1,name:"version",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"modules",kind:"scalar",repeat:2,T:12},{no:3,name:"dependencies",kind:"scalar",repeat:2,T:9}])}},u2=new c2,l2=class extends m{constructor(){super("sui.rpc.v2.GenesisTransaction",[{no:1,name:"objects",kind:"message",repeat:1,T:()=>qt}])}},p2=new l2,f2=class extends m{constructor(){super("sui.rpc.v2.ConsensusCommitPrologue",[{no:1,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"round",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"commit_timestamp",kind:"message",T:()=>Ge},{no:4,name:"consensus_commit_digest",kind:"scalar",opt:!0,T:9},{no:5,name:"sub_dag_index",kind:"scalar",opt:!0,T:4,L:0},{no:6,name:"consensus_determined_version_assignments",kind:"message",T:()=>T2},{no:7,name:"additional_state_digest",kind:"scalar",opt:!0,T:9}])}},d2=new f2,m2=class extends m{constructor(){super("sui.rpc.v2.VersionAssignment",[{no:1,name:"object_id",kind:"scalar",opt:!0,T:9},{no:2,name:"start_version",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"version",kind:"scalar",opt:!0,T:4,L:0}])}},h2=new m2,g2=class extends m{constructor(){super("sui.rpc.v2.CanceledTransaction",[{no:1,name:"digest",kind:"scalar",opt:!0,T:9},{no:2,name:"version_assignments",kind:"message",repeat:1,T:()=>h2}])}},y2=new g2,b2=class extends m{constructor(){super("sui.rpc.v2.ConsensusDeterminedVersionAssignments",[{no:1,name:"version",kind:"scalar",opt:!0,T:5},{no:3,name:"canceled_transactions",kind:"message",repeat:1,T:()=>y2}])}},T2=new b2,v2=class extends m{constructor(){super("sui.rpc.v2.AuthenticatorStateUpdate",[{no:1,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"round",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"new_active_jwks",kind:"message",repeat:1,T:()=>$u},{no:4,name:"authenticator_object_initial_shared_version",kind:"scalar",opt:!0,T:4,L:0}])}},w2=new v2,E2=class extends m{constructor(){super("sui.rpc.v2.ActiveJwk",[{no:1,name:"id",kind:"message",T:()=>Ro},{no:2,name:"jwk",kind:"message",T:()=>k0},{no:3,name:"epoch",kind:"scalar",opt:!0,T:4,L:0}])}},$u=new E2,x2=class extends m{constructor(){super("sui.rpc.v2.EndOfEpochTransaction",[{no:1,name:"transactions",kind:"message",repeat:1,T:()=>I2}])}},k2=new x2,S2=class extends m{constructor(){super("sui.rpc.v2.EndOfEpochTransactionKind",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.EndOfEpochTransactionKind.Kind",DA]},{no:2,name:"change_epoch",kind:"message",oneof:"data",T:()=>I0},{no:3,name:"authenticator_state_expire",kind:"message",oneof:"data",T:()=>O2},{no:4,name:"execution_time_observations",kind:"message",oneof:"data",T:()=>A2},{no:5,name:"bridge_chain_id",kind:"scalar",oneof:"data",T:9},{no:6,name:"bridge_object_version",kind:"scalar",oneof:"data",T:4,L:0},{no:7,name:"storage_cost",kind:"scalar",oneof:"data",T:4,L:0}])}},I2=new S2,_2=class extends m{constructor(){super("sui.rpc.v2.AuthenticatorStateExpire",[{no:1,name:"min_epoch",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"authenticator_object_initial_shared_version",kind:"scalar",opt:!0,T:4,L:0}])}},O2=new _2,N2=class extends m{constructor(){super("sui.rpc.v2.ExecutionTimeObservations",[{no:1,name:"version",kind:"scalar",opt:!0,T:5},{no:2,name:"observations",kind:"message",repeat:1,T:()=>R2}])}},A2=new N2,C2=class extends m{constructor(){super("sui.rpc.v2.ExecutionTimeObservation",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.ExecutionTimeObservation.ExecutionTimeObservationKind",jA]},{no:2,name:"move_entry_point",kind:"message",T:()=>S0},{no:3,name:"validator_observations",kind:"message",repeat:1,T:()=>j2}])}},R2=new C2,D2=class extends m{constructor(){super("sui.rpc.v2.ValidatorExecutionTimeObservation",[{no:1,name:"validator",kind:"scalar",opt:!0,T:12},{no:2,name:"duration",kind:"message",T:()=>x0}])}},j2=new D2;function B2(e){switch(e.$kind){case"Pure":return{kind:ht.PURE,pure:K(e.Pure.bytes)};case"Object":if(e.Object.$kind==="ImmOrOwnedObject")return{kind:ht.IMMUTABLE_OR_OWNED,objectId:e.Object.ImmOrOwnedObject.objectId,version:BigInt(e.Object.ImmOrOwnedObject.version),digest:e.Object.ImmOrOwnedObject.digest};if(e.Object.$kind==="SharedObject")return{kind:ht.SHARED,objectId:e.Object.SharedObject.objectId,version:BigInt(e.Object.SharedObject.initialSharedVersion),mutable:e.Object.SharedObject.mutable};if(e.Object.$kind==="Receiving")return{kind:ht.RECEIVING,objectId:e.Object.Receiving.objectId,version:BigInt(e.Object.Receiving.version),digest:e.Object.Receiving.digest};throw new Error(`Unknown Object kind: ${JSON.stringify(e.Object)}`);case"UnresolvedObject":let t=e.UnresolvedObject;return{objectId:t.objectId,version:t.version?BigInt(t.version):t.initialSharedVersion?BigInt(t.initialSharedVersion):void 0,digest:t.digest??void 0,mutable:t.mutable??void 0};case"UnresolvedPure":throw new Error("UnresolvedPure arguments must be resolved before converting to gRPC format");case"FundsWithdrawal":{let n=e.FundsWithdrawal;return{kind:ht.FUNDS_WITHDRAWAL,fundsWithdrawal:{amount:n.reservation.$kind==="MaxAmountU64"?BigInt(n.reservation.MaxAmountU64):void 0,coinType:n.typeArg.$kind==="Balance"?n.typeArg.Balance:void 0,source:n.withdrawFrom.$kind==="Sponsor"?qs.SPONSOR:qs.SENDER}}}default:throw new Error(`Unknown CallArg kind: ${JSON.stringify(e)}`)}}function un(e){if("GasCoin"in e)return{kind:cn.GAS};if("Input"in e)return{kind:cn.INPUT,input:e.Input};if("Result"in e)return{kind:cn.RESULT,result:e.Result};if("NestedResult"in e)return{kind:cn.RESULT,result:e.NestedResult[0],subresult:e.NestedResult[1]};throw new Error(`Unknown Argument: ${JSON.stringify(e)}`)}function P2(e){switch(e.$kind){case"MoveCall":return{command:{oneofKind:"moveCall",moveCall:{package:e.MoveCall.package,module:e.MoveCall.module,function:e.MoveCall.function,typeArguments:e.MoveCall.typeArguments,arguments:e.MoveCall.arguments.map(un)}}};case"TransferObjects":return{command:{oneofKind:"transferObjects",transferObjects:{objects:e.TransferObjects.objects.map(un),address:un(e.TransferObjects.address)}}};case"SplitCoins":return{command:{oneofKind:"splitCoins",splitCoins:{coin:un(e.SplitCoins.coin),amounts:e.SplitCoins.amounts.map(un)}}};case"MergeCoins":return{command:{oneofKind:"mergeCoins",mergeCoins:{coin:un(e.MergeCoins.destination),coinsToMerge:e.MergeCoins.sources.map(un)}}};case"Publish":return{command:{oneofKind:"publish",publish:{modules:e.Publish.modules.map(t=>K(t)),dependencies:e.Publish.dependencies}}};case"MakeMoveVec":return{command:{oneofKind:"makeMoveVector",makeMoveVector:{elementType:e.MakeMoveVec.type??void 0,elements:e.MakeMoveVec.elements.map(un)}}};case"Upgrade":return{command:{oneofKind:"upgrade",upgrade:{modules:e.Upgrade.modules.map(t=>K(t)),dependencies:e.Upgrade.dependencies,package:e.Upgrade.package,ticket:un(e.Upgrade.ticket)}}};default:throw new Error(`Unknown Command kind: ${JSON.stringify(e)}`)}}function zu(e){let t={version:1,kind:{data:{oneofKind:"programmableTransaction",programmableTransaction:{inputs:e.inputs.map(B2),commands:e.commands.map(P2)}}}};e.sender&&(t.sender=e.sender);let n=e.gasData.owner??e.sender;if(t.gasPayment={objects:e.gasData.payment?e.gasData.payment.map(r=>({objectId:r.objectId,version:BigInt(r.version),digest:r.digest})):[],price:e.gasData.price?BigInt(e.gasData.price):void 0,budget:e.gasData.budget?BigInt(e.gasData.budget):void 0},n&&(t.gasPayment.owner=n),e.expiration){if("None"in e.expiration)t.expiration={kind:Rn.NONE};else if(e.expiration.$kind==="Epoch")t.expiration={kind:Rn.EPOCH,epoch:BigInt(e.expiration.Epoch)};else if(e.expiration.$kind==="ValidDuring"){let r=e.expiration.ValidDuring;t.expiration={kind:Rn.VALID_DURING,minEpoch:r.minEpoch!=null?BigInt(r.minEpoch):void 0,epoch:r.maxEpoch!=null?BigInt(r.maxEpoch):void 0,chain:r.chain,nonce:r.nonce}}}return t}function _0(e,t,n){let r=Hu(t);n?.onlyTransactionKind?e.applyResolvedData({...r,gasData:{budget:null,owner:null,payment:null,price:null},expiration:null}):e.applyResolvedData(r)}function O0(e){let t=e.getData();return t.sender||(t.sender="0x0000000000000000000000000000000000000000000000000000000000000000"),zu(t)}function L2(e){switch(e.kind){case ht.PURE:return{$kind:"Pure",Pure:{bytes:X(e.pure)}};case ht.IMMUTABLE_OR_OWNED:return{$kind:"Object",Object:{$kind:"ImmOrOwnedObject",ImmOrOwnedObject:{objectId:e.objectId,version:e.version.toString(),digest:e.digest}}};case ht.SHARED:return{$kind:"Object",Object:{$kind:"SharedObject",SharedObject:{objectId:e.objectId,initialSharedVersion:e.version.toString(),mutable:e.mutable??!1}}};case ht.RECEIVING:return{$kind:"Object",Object:{$kind:"Receiving",Receiving:{objectId:e.objectId,version:e.version.toString(),digest:e.digest}}};case ht.FUNDS_WITHDRAWAL:return{$kind:"FundsWithdrawal",FundsWithdrawal:{reservation:{$kind:"MaxAmountU64",MaxAmountU64:e.fundsWithdrawal?.amount?.toString()??"0"},typeArg:{$kind:"Balance",Balance:e.fundsWithdrawal?.coinType??"0x2::sui::SUI"},withdrawFrom:e.fundsWithdrawal?.source===qs.SPONSOR?{$kind:"Sponsor",Sponsor:!0}:{$kind:"Sender",Sender:!0}}};default:throw new Error(`Unknown Input kind: ${JSON.stringify(e)}`)}}function ln(e){switch(e.kind){case cn.GAS:return{$kind:"GasCoin",GasCoin:!0};case cn.INPUT:return{$kind:"Input",Input:e.input};case cn.RESULT:return e.subresult!=null?{$kind:"NestedResult",NestedResult:[e.result,e.subresult]}:{$kind:"Result",Result:e.result};default:throw new Error(`Unknown Argument kind: ${JSON.stringify(e)}`)}}function M2(e){let t=e.command;if(!t)throw new Error("Command is missing");switch(t.oneofKind){case"moveCall":return{$kind:"MoveCall",MoveCall:{package:t.moveCall.package,module:t.moveCall.module,function:t.moveCall.function,typeArguments:t.moveCall.typeArguments??[],arguments:t.moveCall.arguments.map(ln)}};case"transferObjects":return{$kind:"TransferObjects",TransferObjects:{objects:t.transferObjects.objects.map(ln),address:ln(t.transferObjects.address)}};case"splitCoins":return{$kind:"SplitCoins",SplitCoins:{coin:ln(t.splitCoins.coin),amounts:t.splitCoins.amounts.map(ln)}};case"mergeCoins":return{$kind:"MergeCoins",MergeCoins:{destination:ln(t.mergeCoins.coin),sources:t.mergeCoins.coinsToMerge.map(ln)}};case"publish":return{$kind:"Publish",Publish:{modules:t.publish.modules.map(n=>X(n)),dependencies:t.publish.dependencies??[]}};case"makeMoveVector":return{$kind:"MakeMoveVec",MakeMoveVec:{type:t.makeMoveVector.elementType??null,elements:t.makeMoveVector.elements.map(ln)}};case"upgrade":return{$kind:"Upgrade",Upgrade:{modules:t.upgrade.modules.map(n=>X(n)),dependencies:t.upgrade.dependencies??[],package:t.upgrade.package,ticket:ln(t.upgrade.ticket)}};default:throw new Error(`Unknown Command kind: ${JSON.stringify(t)}`)}}function Hu(e){let t=e.kind?.data;if(t?.oneofKind!=="programmableTransaction")throw new Error("Only programmable transactions are supported");let n=t.programmableTransaction.inputs.map(L2),r=t.programmableTransaction.commands.map(M2),s=null;if(e.expiration)switch(e.expiration.kind){case Rn.NONE:s={$kind:"None",None:!0};break;case Rn.EPOCH:s={$kind:"Epoch",Epoch:e.expiration.epoch.toString()};break;case Rn.VALID_DURING:s={$kind:"ValidDuring",ValidDuring:{minEpoch:e.expiration.minEpoch?.toString()??null,maxEpoch:e.expiration.epoch?.toString()??null,minTimestamp:null,maxTimestamp:null,chain:e.expiration.chain??"",nonce:e.expiration.nonce??0}};break}return{version:2,sender:e.sender??null,expiration:s,gasData:{budget:e.gasPayment?.budget?.toString()??null,owner:e.gasPayment?.owner??null,payment:e.gasPayment?.objects?.map(i=>({objectId:i.objectId,version:i.version.toString(),digest:i.digest}))??null,price:e.gasPayment?.price?.toString()??null},inputs:n,commands:r}}var U2=(function(e){return e[e.EXECUTION_ERROR_KIND_UNKNOWN=0]="EXECUTION_ERROR_KIND_UNKNOWN",e[e.INSUFFICIENT_GAS=1]="INSUFFICIENT_GAS",e[e.INVALID_GAS_OBJECT=2]="INVALID_GAS_OBJECT",e[e.INVARIANT_VIOLATION=3]="INVARIANT_VIOLATION",e[e.FEATURE_NOT_YET_SUPPORTED=4]="FEATURE_NOT_YET_SUPPORTED",e[e.OBJECT_TOO_BIG=5]="OBJECT_TOO_BIG",e[e.PACKAGE_TOO_BIG=6]="PACKAGE_TOO_BIG",e[e.CIRCULAR_OBJECT_OWNERSHIP=7]="CIRCULAR_OBJECT_OWNERSHIP",e[e.INSUFFICIENT_COIN_BALANCE=8]="INSUFFICIENT_COIN_BALANCE",e[e.COIN_BALANCE_OVERFLOW=9]="COIN_BALANCE_OVERFLOW",e[e.PUBLISH_ERROR_NON_ZERO_ADDRESS=10]="PUBLISH_ERROR_NON_ZERO_ADDRESS",e[e.SUI_MOVE_VERIFICATION_ERROR=11]="SUI_MOVE_VERIFICATION_ERROR",e[e.MOVE_PRIMITIVE_RUNTIME_ERROR=12]="MOVE_PRIMITIVE_RUNTIME_ERROR",e[e.MOVE_ABORT=13]="MOVE_ABORT",e[e.VM_VERIFICATION_OR_DESERIALIZATION_ERROR=14]="VM_VERIFICATION_OR_DESERIALIZATION_ERROR",e[e.VM_INVARIANT_VIOLATION=15]="VM_INVARIANT_VIOLATION",e[e.FUNCTION_NOT_FOUND=16]="FUNCTION_NOT_FOUND",e[e.ARITY_MISMATCH=17]="ARITY_MISMATCH",e[e.TYPE_ARITY_MISMATCH=18]="TYPE_ARITY_MISMATCH",e[e.NON_ENTRY_FUNCTION_INVOKED=19]="NON_ENTRY_FUNCTION_INVOKED",e[e.COMMAND_ARGUMENT_ERROR=20]="COMMAND_ARGUMENT_ERROR",e[e.TYPE_ARGUMENT_ERROR=21]="TYPE_ARGUMENT_ERROR",e[e.UNUSED_VALUE_WITHOUT_DROP=22]="UNUSED_VALUE_WITHOUT_DROP",e[e.INVALID_PUBLIC_FUNCTION_RETURN_TYPE=23]="INVALID_PUBLIC_FUNCTION_RETURN_TYPE",e[e.INVALID_TRANSFER_OBJECT=24]="INVALID_TRANSFER_OBJECT",e[e.EFFECTS_TOO_LARGE=25]="EFFECTS_TOO_LARGE",e[e.PUBLISH_UPGRADE_MISSING_DEPENDENCY=26]="PUBLISH_UPGRADE_MISSING_DEPENDENCY",e[e.PUBLISH_UPGRADE_DEPENDENCY_DOWNGRADE=27]="PUBLISH_UPGRADE_DEPENDENCY_DOWNGRADE",e[e.PACKAGE_UPGRADE_ERROR=28]="PACKAGE_UPGRADE_ERROR",e[e.WRITTEN_OBJECTS_TOO_LARGE=29]="WRITTEN_OBJECTS_TOO_LARGE",e[e.CERTIFICATE_DENIED=30]="CERTIFICATE_DENIED",e[e.SUI_MOVE_VERIFICATION_TIMEDOUT=31]="SUI_MOVE_VERIFICATION_TIMEDOUT",e[e.CONSENSUS_OBJECT_OPERATION_NOT_ALLOWED=32]="CONSENSUS_OBJECT_OPERATION_NOT_ALLOWED",e[e.INPUT_OBJECT_DELETED=33]="INPUT_OBJECT_DELETED",e[e.EXECUTION_CANCELED_DUE_TO_CONSENSUS_OBJECT_CONGESTION=34]="EXECUTION_CANCELED_DUE_TO_CONSENSUS_OBJECT_CONGESTION",e[e.ADDRESS_DENIED_FOR_COIN=35]="ADDRESS_DENIED_FOR_COIN",e[e.COIN_TYPE_GLOBAL_PAUSE=36]="COIN_TYPE_GLOBAL_PAUSE",e[e.EXECUTION_CANCELED_DUE_TO_RANDOMNESS_UNAVAILABLE=37]="EXECUTION_CANCELED_DUE_TO_RANDOMNESS_UNAVAILABLE",e[e.MOVE_VECTOR_ELEM_TOO_BIG=38]="MOVE_VECTOR_ELEM_TOO_BIG",e[e.MOVE_RAW_VALUE_TOO_BIG=39]="MOVE_RAW_VALUE_TOO_BIG",e[e.INVALID_LINKAGE=40]="INVALID_LINKAGE",e[e.INSUFFICIENT_FUNDS_FOR_WITHDRAW=41]="INSUFFICIENT_FUNDS_FOR_WITHDRAW",e[e.NON_EXCLUSIVE_WRITE_INPUT_OBJECT_MODIFIED=42]="NON_EXCLUSIVE_WRITE_INPUT_OBJECT_MODIFIED",e})({}),Wu=(function(e){return e[e.COMMAND_ARGUMENT_ERROR_KIND_UNKNOWN=0]="COMMAND_ARGUMENT_ERROR_KIND_UNKNOWN",e[e.TYPE_MISMATCH=1]="TYPE_MISMATCH",e[e.INVALID_BCS_BYTES=2]="INVALID_BCS_BYTES",e[e.INVALID_USAGE_OF_PURE_ARGUMENT=3]="INVALID_USAGE_OF_PURE_ARGUMENT",e[e.INVALID_ARGUMENT_TO_PRIVATE_ENTRY_FUNCTION=4]="INVALID_ARGUMENT_TO_PRIVATE_ENTRY_FUNCTION",e[e.INDEX_OUT_OF_BOUNDS=5]="INDEX_OUT_OF_BOUNDS",e[e.SECONDARY_INDEX_OUT_OF_BOUNDS=6]="SECONDARY_INDEX_OUT_OF_BOUNDS",e[e.INVALID_RESULT_ARITY=7]="INVALID_RESULT_ARITY",e[e.INVALID_GAS_COIN_USAGE=8]="INVALID_GAS_COIN_USAGE",e[e.INVALID_VALUE_USAGE=9]="INVALID_VALUE_USAGE",e[e.INVALID_OBJECT_BY_VALUE=10]="INVALID_OBJECT_BY_VALUE",e[e.INVALID_OBJECT_BY_MUT_REF=11]="INVALID_OBJECT_BY_MUT_REF",e[e.CONSENSUS_OBJECT_OPERATION_NOT_ALLOWED=12]="CONSENSUS_OBJECT_OPERATION_NOT_ALLOWED",e[e.INVALID_ARGUMENT_ARITY=13]="INVALID_ARGUMENT_ARITY",e[e.INVALID_TRANSFER_OBJECT=14]="INVALID_TRANSFER_OBJECT",e[e.INVALID_MAKE_MOVE_VEC_NON_OBJECT_ARGUMENT=15]="INVALID_MAKE_MOVE_VEC_NON_OBJECT_ARGUMENT",e[e.ARGUMENT_WITHOUT_VALUE=16]="ARGUMENT_WITHOUT_VALUE",e[e.CANNOT_MOVE_BORROWED_VALUE=17]="CANNOT_MOVE_BORROWED_VALUE",e[e.CANNOT_WRITE_TO_EXTENDED_REFERENCE=18]="CANNOT_WRITE_TO_EXTENDED_REFERENCE",e[e.INVALID_REFERENCE_ARGUMENT=19]="INVALID_REFERENCE_ARGUMENT",e})({}),F2=(function(e){return e[e.PACKAGE_UPGRADE_ERROR_KIND_UNKNOWN=0]="PACKAGE_UPGRADE_ERROR_KIND_UNKNOWN",e[e.UNABLE_TO_FETCH_PACKAGE=1]="UNABLE_TO_FETCH_PACKAGE",e[e.NOT_A_PACKAGE=2]="NOT_A_PACKAGE",e[e.INCOMPATIBLE_UPGRADE=3]="INCOMPATIBLE_UPGRADE",e[e.DIGEST_DOES_NOT_MATCH=4]="DIGEST_DOES_NOT_MATCH",e[e.UNKNOWN_UPGRADE_POLICY=5]="UNKNOWN_UPGRADE_POLICY",e[e.PACKAGE_ID_DOES_NOT_MATCH=6]="PACKAGE_ID_DOES_NOT_MATCH",e})({}),V2=(function(e){return e[e.TYPE_ARGUMENT_ERROR_KIND_UNKNOWN=0]="TYPE_ARGUMENT_ERROR_KIND_UNKNOWN",e[e.TYPE_NOT_FOUND=1]="TYPE_NOT_FOUND",e[e.CONSTRAINT_NOT_SATISFIED=2]="CONSTRAINT_NOT_SATISFIED",e})({}),G2=class extends m{constructor(){super("sui.rpc.v2.ExecutionStatus",[{no:1,name:"success",kind:"scalar",opt:!0,T:8},{no:2,name:"error",kind:"message",T:()=>$2}])}},N0=new G2,q2=class extends m{constructor(){super("sui.rpc.v2.ExecutionError",[{no:1,name:"description",kind:"scalar",opt:!0,T:9},{no:2,name:"command",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.ExecutionError.ExecutionErrorKind",U2]},{no:4,name:"abort",kind:"message",oneof:"errorDetails",T:()=>H2},{no:5,name:"size_error",kind:"message",oneof:"errorDetails",T:()=>K2},{no:6,name:"command_argument_error",kind:"message",oneof:"errorDetails",T:()=>iC},{no:7,name:"type_argument_error",kind:"message",oneof:"errorDetails",T:()=>uC},{no:8,name:"package_upgrade_error",kind:"message",oneof:"errorDetails",T:()=>aC},{no:9,name:"index_error",kind:"message",oneof:"errorDetails",T:()=>A0},{no:10,name:"object_id",kind:"scalar",oneof:"errorDetails",T:9},{no:11,name:"coin_deny_list_error",kind:"message",oneof:"errorDetails",T:()=>tC},{no:12,name:"congested_objects",kind:"message",oneof:"errorDetails",T:()=>rC}])}},$2=new q2,z2=class extends m{constructor(){super("sui.rpc.v2.MoveAbort",[{no:1,name:"abort_code",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"location",kind:"message",T:()=>J2},{no:3,name:"clever_error",kind:"message",T:()=>X2}])}},H2=new z2,W2=class extends m{constructor(){super("sui.rpc.v2.MoveLocation",[{no:1,name:"package",kind:"scalar",opt:!0,T:9},{no:2,name:"module",kind:"scalar",opt:!0,T:9},{no:3,name:"function",kind:"scalar",opt:!0,T:13},{no:4,name:"instruction",kind:"scalar",opt:!0,T:13},{no:5,name:"function_name",kind:"scalar",opt:!0,T:9}])}},J2=new W2,Y2=class extends m{constructor(){super("sui.rpc.v2.CleverError",[{no:1,name:"error_code",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"line_number",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"constant_name",kind:"scalar",opt:!0,T:9},{no:4,name:"constant_type",kind:"scalar",opt:!0,T:9},{no:5,name:"rendered",kind:"scalar",oneof:"value",T:9},{no:6,name:"raw",kind:"scalar",oneof:"value",T:12}])}},X2=new Y2,Z2=class extends m{constructor(){super("sui.rpc.v2.SizeError",[{no:1,name:"size",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"max_size",kind:"scalar",opt:!0,T:4,L:0}])}},K2=new Z2,Q2=class extends m{constructor(){super("sui.rpc.v2.IndexError",[{no:1,name:"index",kind:"scalar",opt:!0,T:13},{no:2,name:"subresult",kind:"scalar",opt:!0,T:13}])}},A0=new Q2,eC=class extends m{constructor(){super("sui.rpc.v2.CoinDenyListError",[{no:1,name:"address",kind:"scalar",opt:!0,T:9},{no:2,name:"coin_type",kind:"scalar",opt:!0,T:9}])}},tC=new eC,nC=class extends m{constructor(){super("sui.rpc.v2.CongestedObjects",[{no:1,name:"objects",kind:"scalar",repeat:2,T:9}])}},rC=new nC,sC=class extends m{constructor(){super("sui.rpc.v2.CommandArgumentError",[{no:1,name:"argument",kind:"scalar",opt:!0,T:13},{no:2,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.CommandArgumentError.CommandArgumentErrorKind",Wu]},{no:3,name:"index_error",kind:"message",T:()=>A0}])}},iC=new sC,oC=class extends m{constructor(){super("sui.rpc.v2.PackageUpgradeError",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.PackageUpgradeError.PackageUpgradeErrorKind",F2]},{no:2,name:"package_id",kind:"scalar",opt:!0,T:9},{no:3,name:"digest",kind:"scalar",opt:!0,T:9},{no:4,name:"policy",kind:"scalar",opt:!0,T:13},{no:5,name:"ticket_id",kind:"scalar",opt:!0,T:9}])}},aC=new oC,cC=class extends m{constructor(){super("sui.rpc.v2.TypeArgumentError",[{no:1,name:"type_argument",kind:"scalar",opt:!0,T:13},{no:2,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.TypeArgumentError.TypeArgumentErrorKind",V2]}])}},uC=new cC;var lC=class extends m{constructor(){super("sui.rpc.v2.GasCostSummary",[{no:1,name:"computation_cost",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"storage_cost",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"storage_rebate",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"non_refundable_storage_fee",kind:"scalar",opt:!0,T:4,L:0}])}},Bo=new lC;var $s=(function(e){return e[e.UNKNOWN=0]="UNKNOWN",e[e.DOES_NOT_EXIST=1]="DOES_NOT_EXIST",e[e.EXISTS=2]="EXISTS",e})({}),ir=(function(e){return e[e.UNKNOWN=0]="UNKNOWN",e[e.DOES_NOT_EXIST=1]="DOES_NOT_EXIST",e[e.OBJECT_WRITE=2]="OBJECT_WRITE",e[e.PACKAGE_WRITE=3]="PACKAGE_WRITE",e[e.ACCUMULATOR_WRITE=4]="ACCUMULATOR_WRITE",e})({}),qr=(function(e){return e[e.ID_OPERATION_UNKNOWN=0]="ID_OPERATION_UNKNOWN",e[e.NONE=1]="NONE",e[e.CREATED=2]="CREATED",e[e.DELETED=3]="DELETED",e})({}),pC=(function(e){return e[e.ACCUMULATOR_OPERATION_UNKNOWN=0]="ACCUMULATOR_OPERATION_UNKNOWN",e[e.MERGE=1]="MERGE",e[e.SPLIT=2]="SPLIT",e})({}),Dn=(function(e){return e[e.UNCHANGED_CONSENSUS_OBJECT_KIND_UNKNOWN=0]="UNCHANGED_CONSENSUS_OBJECT_KIND_UNKNOWN",e[e.READ_ONLY_ROOT=1]="READ_ONLY_ROOT",e[e.MUTATE_CONSENSUS_STREAM_ENDED=2]="MUTATE_CONSENSUS_STREAM_ENDED",e[e.READ_CONSENSUS_STREAM_ENDED=3]="READ_CONSENSUS_STREAM_ENDED",e[e.CANCELED=4]="CANCELED",e[e.PER_EPOCH_CONFIG=5]="PER_EPOCH_CONFIG",e})({}),fC=class extends m{constructor(){super("sui.rpc.v2.TransactionEffects",[{no:1,name:"bcs",kind:"message",T:()=>be},{no:2,name:"digest",kind:"scalar",opt:!0,T:9},{no:3,name:"version",kind:"scalar",opt:!0,T:5},{no:4,name:"status",kind:"message",T:()=>N0},{no:5,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:6,name:"gas_used",kind:"message",T:()=>Bo},{no:7,name:"transaction_digest",kind:"scalar",opt:!0,T:9},{no:8,name:"gas_object",kind:"message",T:()=>C0},{no:9,name:"events_digest",kind:"scalar",opt:!0,T:9},{no:10,name:"dependencies",kind:"scalar",repeat:2,T:9},{no:11,name:"lamport_version",kind:"scalar",opt:!0,T:4,L:0},{no:12,name:"changed_objects",kind:"message",repeat:1,T:()=>C0},{no:13,name:"unchanged_consensus_objects",kind:"message",repeat:1,T:()=>yC},{no:14,name:"auxiliary_data_digest",kind:"scalar",opt:!0,T:9},{no:15,name:"unchanged_loaded_runtime_objects",kind:"message",repeat:1,T:()=>jo}])}},R0=new fC,dC=class extends m{constructor(){super("sui.rpc.v2.ChangedObject",[{no:1,name:"object_id",kind:"scalar",opt:!0,T:9},{no:2,name:"input_state",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.ChangedObject.InputObjectState",$s,"INPUT_OBJECT_STATE_"]},{no:3,name:"input_version",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"input_digest",kind:"scalar",opt:!0,T:9},{no:5,name:"input_owner",kind:"message",T:()=>Gs},{no:6,name:"output_state",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.ChangedObject.OutputObjectState",ir,"OUTPUT_OBJECT_STATE_"]},{no:7,name:"output_version",kind:"scalar",opt:!0,T:4,L:0},{no:8,name:"output_digest",kind:"scalar",opt:!0,T:9},{no:9,name:"output_owner",kind:"message",T:()=>Gs},{no:12,name:"accumulator_write",kind:"message",T:()=>hC},{no:10,name:"id_operation",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.ChangedObject.IdOperation",qr]},{no:11,name:"object_type",kind:"scalar",opt:!0,T:9}])}},C0=new dC,mC=class extends m{constructor(){super("sui.rpc.v2.AccumulatorWrite",[{no:1,name:"address",kind:"scalar",opt:!0,T:9},{no:2,name:"accumulator_type",kind:"scalar",opt:!0,T:9},{no:3,name:"operation",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.AccumulatorWrite.AccumulatorOperation",pC]},{no:5,name:"value",kind:"scalar",opt:!0,T:4,L:0}])}},hC=new mC,gC=class extends m{constructor(){super("sui.rpc.v2.UnchangedConsensusObject",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.UnchangedConsensusObject.UnchangedConsensusObjectKind",Dn]},{no:2,name:"object_id",kind:"scalar",opt:!0,T:9},{no:3,name:"version",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"digest",kind:"scalar",opt:!0,T:9},{no:5,name:"object_type",kind:"scalar",opt:!0,T:9}])}},yC=new gC;var bC=class extends m{constructor(){super("google.protobuf.FieldMask",[{no:1,name:"paths",kind:"scalar",repeat:2,T:9}])}internalJsonWrite(e,t){let n=/[A-Z]|(_([.0-9_]|$))/g;return e.paths.map(r=>{if(n.test(r))throw new Error('Unable to encode FieldMask to JSON. lowerCamelCase of path name "'+r+'" is irreversible.');return Cn(r)}).join(",")}internalJsonRead(e,t,n){if(typeof e!="string")throw new Error("Unable to parse FieldMask from JSON "+je(e)+". Expected string.");if(n||(n=this.create()),e==="")return n;let r=s=>{if(s.includes("_"))throw new Error("Unable to parse FieldMask from JSON. Path names must be lowerCamelCase.");return s.replace(/[A-Z]/g,i=>"_"+i.toLowerCase())};return n.paths=e.split(",").map(r),n}},Je=new bC;function D0(e,t){var n,r,s;let i=e;return i.service=t,i.localName=(n=i.localName)!==null&&n!==void 0?n:Cn(i.name),i.serverStreaming=!!i.serverStreaming,i.clientStreaming=!!i.clientStreaming,i.options=(r=i.options)!==null&&r!==void 0?r:{},i.idempotency=(s=i.idempotency)!==null&&s!==void 0?s:void 0,i}var Pe=class{constructor(t,n,r){this.typeName=t,this.methods=n.map(s=>D0(s,this)),this.options=r??{}}};var ne=class extends Error{constructor(t,n="UNKNOWN",r){super(t),this.name="RpcError",Object.setPrototypeOf(this,new.target.prototype),this.code=n,this.meta=r??{}}toString(){let t=[this.name+": "+this.message];this.code&&(t.push(""),t.push("Code: "+this.code)),this.serviceName&&this.methodName&&t.push("Method: "+this.serviceName+"/"+this.methodName);let n=Object.entries(this.meta);if(n.length){t.push(""),t.push("Meta:");for(let[r,s]of n)t.push(` ${r}: ${s}`)}return t.join(`
|
|
10
10
|
`)}};function Ju(e,t){if(!t)return e;let n={};Po(e,n),Po(t,n);for(let r of Object.keys(t)){let s=t[r];switch(r){case"jsonOptions":n.jsonOptions=Fu(e.jsonOptions,n.jsonOptions);break;case"binaryOptions":n.binaryOptions=Du(e.binaryOptions,n.binaryOptions);break;case"meta":n.meta={},Po(e.meta,n.meta),Po(t.meta,n.meta);break;case"interceptors":n.interceptors=e.interceptors?e.interceptors.concat(s):s.concat();break}}return n}function Po(e,t){if(!e)return;let n=t;for(let[r,s]of Object.entries(e))s instanceof Date?n[r]=new Date(s.getTime()):Array.isArray(s)?n[r]=s.concat():n[r]=s}var ot;(function(e){e[e.PENDING=0]="PENDING",e[e.REJECTED=1]="REJECTED",e[e.RESOLVED=2]="RESOLVED"})(ot||(ot={}));var ut=class{constructor(t=!0){this._state=ot.PENDING,this._promise=new Promise((n,r)=>{this._resolve=n,this._reject=r}),t&&this._promise.catch(n=>{})}get state(){return this._state}get promise(){return this._promise}resolve(t){if(this.state!==ot.PENDING)throw new Error(`cannot resolve ${ot[this.state].toLowerCase()}`);this._resolve(t),this._state=ot.RESOLVED}reject(t){if(this.state!==ot.PENDING)throw new Error(`cannot reject ${ot[this.state].toLowerCase()}`);this._reject(t),this._state=ot.REJECTED}resolvePending(t){this._state===ot.PENDING&&this.resolve(t)}rejectPending(t){this._state===ot.PENDING&&this.reject(t)}};var zs=class{constructor(){this._lis={nxt:[],msg:[],err:[],cmp:[]},this._closed=!1,this._itState={q:[]}}onNext(t){return this.addLis(t,this._lis.nxt)}onMessage(t){return this.addLis(t,this._lis.msg)}onError(t){return this.addLis(t,this._lis.err)}onComplete(t){return this.addLis(t,this._lis.cmp)}addLis(t,n){return n.push(t),()=>{let r=n.indexOf(t);r>=0&&n.splice(r,1)}}clearLis(){for(let t of Object.values(this._lis))t.splice(0,t.length)}get closed(){return this._closed!==!1}notifyNext(t,n,r){J((t?1:0)+(n?1:0)+(r?1:0)<=1,"only one emission at a time"),t&&this.notifyMessage(t),n&&this.notifyError(n),r&&this.notifyComplete()}notifyMessage(t){J(!this.closed,"stream is closed"),this.pushIt({value:t,done:!1}),this._lis.msg.forEach(n=>n(t)),this._lis.nxt.forEach(n=>n(t,void 0,!1))}notifyError(t){J(!this.closed,"stream is closed"),this._closed=t,this.pushIt(t),this._lis.err.forEach(n=>n(t)),this._lis.nxt.forEach(n=>n(void 0,t,!1)),this.clearLis()}notifyComplete(){J(!this.closed,"stream is closed"),this._closed=!0,this.pushIt({value:null,done:!0}),this._lis.cmp.forEach(t=>t()),this._lis.nxt.forEach(t=>t(void 0,void 0,!0)),this.clearLis()}[Symbol.asyncIterator](){return this._closed===!0?this.pushIt({value:null,done:!0}):this._closed!==!1&&this.pushIt(this._closed),{next:()=>{let t=this._itState;J(t,"bad state"),J(!t.p,"iterator contract broken");let n=t.q.shift();return n?"value"in n?Promise.resolve(n):Promise.reject(n):(t.p=new ut,t.p.promise)}}}pushIt(t){let n=this._itState;if(n.p){let r=n.p;J(r.state==ot.PENDING,"iterator contract broken"),"value"in t?r.resolve(t):r.reject(t),delete n.p}else n.q.push(t)}};var TC=function(e,t,n,r){function s(i){return i instanceof n?i:new n(function(o){o(i)})}return new(n||(n=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(p){o(p)}}function c(l){try{u(r.throw(l))}catch(p){o(p)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(e,t||[])).next())})},Hs=class{constructor(t,n,r,s,i,o,a){this.method=t,this.requestHeaders=n,this.request=r,this.headers=s,this.response=i,this.status=o,this.trailers=a}then(t,n){return this.promiseFinished().then(r=>t?Promise.resolve(t(r)):r,r=>n?Promise.resolve(n(r)):Promise.reject(r))}promiseFinished(){return TC(this,void 0,void 0,function*(){let[t,n,r,s]=yield Promise.all([this.headers,this.response,this.status,this.trailers]);return{method:this.method,requestHeaders:this.requestHeaders,request:this.request,headers:t,response:n,status:r,trailers:s}})}};var vC=function(e,t,n,r){function s(i){return i instanceof n?i:new n(function(o){o(i)})}return new(n||(n=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(p){o(p)}}function c(l){try{u(r.throw(l))}catch(p){o(p)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(e,t||[])).next())})},Ws=class{constructor(t,n,r,s,i,o,a){this.method=t,this.requestHeaders=n,this.request=r,this.headers=s,this.responses=i,this.status=o,this.trailers=a}then(t,n){return this.promiseFinished().then(r=>t?Promise.resolve(t(r)):r,r=>n?Promise.resolve(n(r)):Promise.reject(r))}promiseFinished(){return vC(this,void 0,void 0,function*(){let[t,n,r]=yield Promise.all([this.headers,this.status,this.trailers]);return{method:this.method,requestHeaders:this.requestHeaders,request:this.request,headers:t,status:n,trailers:r}})}};function se(e,t,n,r,s){var i,o,a,c;if(e=="unary"){let u=(l,p,d)=>t.unary(l,p,d);for(let l of((i=r.interceptors)!==null&&i!==void 0?i:[]).filter(p=>p.interceptUnary).reverse()){let p=u;u=(d,y,g)=>l.interceptUnary(p,d,y,g)}return u(n,s,r)}if(e=="serverStreaming"){let u=(l,p,d)=>t.serverStreaming(l,p,d);for(let l of((o=r.interceptors)!==null&&o!==void 0?o:[]).filter(p=>p.interceptServerStreaming).reverse()){let p=u;u=(d,y,g)=>l.interceptServerStreaming(p,d,y,g)}return u(n,s,r)}if(e=="clientStreaming"){let u=(l,p)=>t.clientStreaming(l,p);for(let l of((a=r.interceptors)!==null&&a!==void 0?a:[]).filter(p=>p.interceptClientStreaming).reverse()){let p=u;u=(d,y)=>l.interceptClientStreaming(p,d,y)}return u(n,r)}if(e=="duplex"){let u=(l,p)=>t.duplex(l,p);for(let l of((c=r.interceptors)!==null&&c!==void 0?c:[]).filter(p=>p.interceptDuplex).reverse()){let p=u;u=(d,y)=>l.interceptDuplex(p,d,y)}return u(n,r)}Lu(e)}var wC=(function(e){return e[e.METADATA_CAP_STATE_UNKNOWN=0]="METADATA_CAP_STATE_UNKNOWN",e[e.CLAIMED=1]="CLAIMED",e[e.UNCLAIMED=2]="UNCLAIMED",e[e.DELETED=3]="DELETED",e})({}),EC=(function(e){return e[e.SUPPLY_STATE_UNKNOWN=0]="SUPPLY_STATE_UNKNOWN",e[e.FIXED=1]="FIXED",e[e.BURN_ONLY=2]="BURN_ONLY",e})({}),xC=(function(e){return e[e.COIN_REGULATED_STATE_UNKNOWN=0]="COIN_REGULATED_STATE_UNKNOWN",e[e.REGULATED=1]="REGULATED",e[e.UNREGULATED=2]="UNREGULATED",e})({}),Yu=(function(e){return e[e.DYNAMIC_FIELD_KIND_UNKNOWN=0]="DYNAMIC_FIELD_KIND_UNKNOWN",e[e.FIELD=1]="FIELD",e[e.OBJECT=2]="OBJECT",e})({}),kC=class extends m{constructor(){super("sui.rpc.v2.GetCoinInfoRequest",[{no:1,name:"coin_type",kind:"scalar",opt:!0,T:9}])}},SC=new kC,IC=class extends m{constructor(){super("sui.rpc.v2.GetCoinInfoResponse",[{no:1,name:"coin_type",kind:"scalar",opt:!0,T:9},{no:2,name:"metadata",kind:"message",T:()=>NC},{no:3,name:"treasury",kind:"message",T:()=>CC},{no:4,name:"regulated_metadata",kind:"message",T:()=>DC}])}},_C=new IC,OC=class extends m{constructor(){super("sui.rpc.v2.CoinMetadata",[{no:1,name:"id",kind:"scalar",opt:!0,T:9},{no:2,name:"decimals",kind:"scalar",opt:!0,T:13},{no:3,name:"name",kind:"scalar",opt:!0,T:9},{no:4,name:"symbol",kind:"scalar",opt:!0,T:9},{no:5,name:"description",kind:"scalar",opt:!0,T:9},{no:6,name:"icon_url",kind:"scalar",opt:!0,T:9},{no:7,name:"metadata_cap_id",kind:"scalar",opt:!0,T:9},{no:8,name:"metadata_cap_state",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.CoinMetadata.MetadataCapState",wC]}])}},NC=new OC,AC=class extends m{constructor(){super("sui.rpc.v2.CoinTreasury",[{no:1,name:"id",kind:"scalar",opt:!0,T:9},{no:2,name:"total_supply",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"supply_state",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.CoinTreasury.SupplyState",EC]}])}},CC=new AC,RC=class extends m{constructor(){super("sui.rpc.v2.RegulatedCoinMetadata",[{no:1,name:"id",kind:"scalar",opt:!0,T:9},{no:2,name:"coin_metadata_object",kind:"scalar",opt:!0,T:9},{no:3,name:"deny_cap_object",kind:"scalar",opt:!0,T:9},{no:4,name:"allow_global_pause",kind:"scalar",opt:!0,T:8},{no:5,name:"variant",kind:"scalar",opt:!0,T:13},{no:6,name:"coin_regulated_state",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.RegulatedCoinMetadata.CoinRegulatedState",xC]}])}},DC=new RC,jC=class extends m{constructor(){super("sui.rpc.v2.GetBalanceRequest",[{no:1,name:"owner",kind:"scalar",opt:!0,T:9},{no:2,name:"coin_type",kind:"scalar",opt:!0,T:9}])}},BC=new jC,PC=class extends m{constructor(){super("sui.rpc.v2.GetBalanceResponse",[{no:1,name:"balance",kind:"message",T:()=>j0}])}},LC=new PC,MC=class extends m{constructor(){super("sui.rpc.v2.ListBalancesRequest",[{no:1,name:"owner",kind:"scalar",opt:!0,T:9},{no:2,name:"page_size",kind:"scalar",opt:!0,T:13},{no:3,name:"page_token",kind:"scalar",opt:!0,T:12}])}},UC=new MC,FC=class extends m{constructor(){super("sui.rpc.v2.ListBalancesResponse",[{no:1,name:"balances",kind:"message",repeat:1,T:()=>j0},{no:2,name:"next_page_token",kind:"scalar",opt:!0,T:12}])}},VC=new FC,GC=class extends m{constructor(){super("sui.rpc.v2.Balance",[{no:1,name:"coin_type",kind:"scalar",opt:!0,T:9},{no:3,name:"balance",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"address_balance",kind:"scalar",opt:!0,T:4,L:0},{no:5,name:"coin_balance",kind:"scalar",opt:!0,T:4,L:0}])}},j0=new GC,qC=class extends m{constructor(){super("sui.rpc.v2.ListDynamicFieldsRequest",[{no:1,name:"parent",kind:"scalar",opt:!0,T:9},{no:2,name:"page_size",kind:"scalar",opt:!0,T:13},{no:3,name:"page_token",kind:"scalar",opt:!0,T:12},{no:4,name:"read_mask",kind:"message",T:()=>Je}])}},$C=new qC,zC=class extends m{constructor(){super("sui.rpc.v2.ListDynamicFieldsResponse",[{no:1,name:"dynamic_fields",kind:"message",repeat:1,T:()=>JC},{no:2,name:"next_page_token",kind:"scalar",opt:!0,T:12}])}},HC=new zC,WC=class extends m{constructor(){super("sui.rpc.v2.DynamicField",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.DynamicField.DynamicFieldKind",Yu]},{no:2,name:"parent",kind:"scalar",opt:!0,T:9},{no:3,name:"field_id",kind:"scalar",opt:!0,T:9},{no:4,name:"field_object",kind:"message",T:()=>qt},{no:5,name:"name",kind:"message",T:()=>be},{no:6,name:"value",kind:"message",T:()=>be},{no:7,name:"value_type",kind:"scalar",opt:!0,T:9},{no:8,name:"child_id",kind:"scalar",opt:!0,T:9},{no:9,name:"child_object",kind:"message",T:()=>qt}])}},JC=new WC,YC=class extends m{constructor(){super("sui.rpc.v2.ListOwnedObjectsRequest",[{no:1,name:"owner",kind:"scalar",opt:!0,T:9},{no:2,name:"page_size",kind:"scalar",opt:!0,T:13},{no:3,name:"page_token",kind:"scalar",opt:!0,T:12},{no:4,name:"read_mask",kind:"message",T:()=>Je},{no:5,name:"object_type",kind:"scalar",opt:!0,T:9}])}},XC=new YC,ZC=class extends m{constructor(){super("sui.rpc.v2.ListOwnedObjectsResponse",[{no:1,name:"objects",kind:"message",repeat:1,T:()=>qt},{no:2,name:"next_page_token",kind:"scalar",opt:!0,T:12}])}},KC=new ZC,Lo=new Pe("sui.rpc.v2.StateService",[{name:"ListDynamicFields",options:{},I:$C,O:HC},{name:"ListOwnedObjects",options:{},I:XC,O:KC},{name:"GetCoinInfo",options:{},I:SC,O:_C},{name:"GetBalance",options:{},I:BC,O:LC},{name:"ListBalances",options:{},I:UC,O:VC}]);var ke,U0,F0=(U0=class extends Jy{constructor({client:t,...n}){super(n);le(this,ke);W(this,ke,t)}async getObjects(t){let n=pn(t.objectIds,50),r=[],s=["owner","object_type","digest","version","object_id"];t.include?.content&&s.push("contents"),t.include?.previousTransaction&&s.push("previous_transaction"),t.include?.objectBcs&&s.push("bcs"),t.include?.json&&s.push("json");for(let i of n){let o=await h(this,ke).ledgerService.batchGetObjects({requests:i.map(a=>({objectId:a})),readMask:{paths:s}});r.push(...o.response.objects.map(a=>{if(a.result.oneofKind==="error")return new Error(a.result.error.message);if(a.result.oneofKind!=="object")return new Error("Unexpected result type");let c=a.result.object.contents?.value??void 0,u=a.result.object.bcs?.value??void 0,l=a.result.object.objectType,p=l&&l.includes("::")?Ht(l):l??"",d=t.include?.json?a.result.object.json?Be.toJson(a.result.object.json):null:void 0;return{objectId:a.result.object.objectId,version:a.result.object.version?.toString(),digest:a.result.object.digest,content:c,owner:ar(a.result.object.owner),type:p,previousTransaction:a.result.object.previousTransaction??void 0,objectBcs:u,json:d}}))}return{objects:r}}async listOwnedObjects(t){let n=["owner","object_type","digest","version","object_id"];t.include?.content&&n.push("contents"),t.include?.previousTransaction&&n.push("previous_transaction"),t.include?.objectBcs&&n.push("bcs"),t.include?.json&&n.push("json");let r=await h(this,ke).stateService.listOwnedObjects({owner:t.owner,objectType:t.type?(await this.mvr.resolveType({type:t.type})).type:void 0,pageToken:t.cursor?K(t.cursor):void 0,pageSize:t.limit,readMask:{paths:n}});return{objects:r.response.objects.map(s=>({objectId:s.objectId,version:s.version?.toString(),digest:s.digest,content:s.contents?.value,owner:ar(s.owner),type:s.objectType,previousTransaction:s.previousTransaction??void 0,objectBcs:s.bcs?.value,json:t.include?.json?s.json?Be.toJson(s.json):null:void 0})),cursor:r.response.nextPageToken?X(r.response.nextPageToken):null,hasNextPage:r.response.nextPageToken!==void 0}}async listCoins(t){let n=["owner","object_type","digest","version","object_id","balance"],r=t.coinType??gs,s=await h(this,ke).stateService.listOwnedObjects({owner:t.owner,objectType:`0x2::coin::Coin<${(await this.mvr.resolveType({type:r})).type}>`,pageToken:t.cursor?K(t.cursor):void 0,readMask:{paths:n}});return{objects:s.response.objects.map(i=>({objectId:i.objectId,version:i.version?.toString(),digest:i.digest,owner:ar(i.owner),type:i.objectType,balance:i.balance?.toString()})),cursor:s.response.nextPageToken?X(s.response.nextPageToken):null,hasNextPage:s.response.nextPageToken!==void 0}}async getBalance(t){let n=t.coinType??gs,r=await h(this,ke).stateService.getBalance({owner:t.owner,coinType:(await this.mvr.resolveType({type:n})).type});return{balance:{balance:r.response.balance?.balance?.toString()??"0",coinType:r.response.balance?.coinType??n,coinBalance:r.response.balance?.coinBalance?.toString()??"0",addressBalance:r.response.balance?.addressBalance?.toString()??"0"}}}async getCoinMetadata(t){let n=(await this.mvr.resolveType({type:t.coinType})).type,r;try{({response:r}=await h(this,ke).stateService.getCoinInfo({coinType:n}))}catch{return{coinMetadata:null}}return r.metadata?{coinMetadata:{id:r.metadata.id??null,decimals:r.metadata.decimals??0,name:r.metadata.name??"",symbol:r.metadata.symbol??"",description:r.metadata.description??"",iconUrl:r.metadata.iconUrl??null}}:{coinMetadata:null}}async listBalances(t){let n=await h(this,ke).stateService.listBalances({owner:t.owner,pageToken:t.cursor?K(t.cursor):void 0,pageSize:t.limit});return{hasNextPage:!!n.response.nextPageToken,cursor:n.response.nextPageToken?X(n.response.nextPageToken):null,balances:n.response.balances.map(r=>({balance:r.balance?.toString()??"0",coinType:r.coinType,coinBalance:r.coinBalance?.toString()??"0",addressBalance:r.addressBalance?.toString()??"0"}))}}async getTransaction(t){let n=["digest","transaction.digest","signatures","effects.status"];t.include?.transaction&&n.push("transaction.sender","transaction.gas_payment","transaction.expiration","transaction.kind"),t.include?.bcs&&n.push("transaction.bcs"),t.include?.balanceChanges&&n.push("balance_changes"),t.include?.effects&&n.push("effects"),t.include?.events&&n.push("events"),t.include?.objectTypes&&(n.push("effects.changed_objects.object_type"),n.push("effects.changed_objects.object_id"));let{response:r}=await h(this,ke).ledgerService.getTransaction({digest:t.digest,readMask:{paths:n}});if(!r.transaction)throw new Error(`Transaction ${t.digest} not found`);return Xu(r.transaction,t.include)}async executeTransaction(t){let n=["digest","transaction.digest","signatures","effects.status"];t.include?.transaction&&n.push("transaction.sender","transaction.gas_payment","transaction.expiration","transaction.kind"),t.include?.bcs&&n.push("transaction.bcs"),t.include?.balanceChanges&&n.push("balance_changes"),t.include?.effects&&n.push("effects"),t.include?.events&&n.push("events"),t.include?.objectTypes&&(n.push("effects.changed_objects.object_type"),n.push("effects.changed_objects.object_id"));let{response:r}=await h(this,ke).transactionExecutionService.executeTransaction({transaction:{bcs:{value:t.transaction}},signatures:t.signatures.map(s=>({bcs:{value:K(s)},signature:{oneofKind:void 0}})),readMask:{paths:n}});return Xu(r.transaction,t.include)}async simulateTransaction(t){let n=["transaction.digest","transaction.transaction.digest","transaction.signatures","transaction.effects.status"];t.include?.transaction&&n.push("transaction.transaction.sender","transaction.transaction.gas_payment","transaction.transaction.expiration","transaction.transaction.kind"),t.include?.bcs&&n.push("transaction.transaction.bcs"),t.include?.balanceChanges&&n.push("transaction.balance_changes"),t.include?.effects&&n.push("transaction.effects"),t.include?.events&&n.push("transaction.events"),t.include?.objectTypes&&(n.push("transaction.effects.changed_objects.object_type"),n.push("transaction.effects.changed_objects.object_id")),t.include?.commandResults&&n.push("command_outputs"),t.transaction instanceof Uint8Array||await t.transaction.prepareForSerialization({client:this});let{response:r}=await h(this,ke).transactionExecutionService.simulateTransaction({transaction:t.transaction instanceof Uint8Array?{bcs:{value:t.transaction}}:O0(t.transaction),readMask:{paths:n},doGasSelection:!1}),s=Xu(r.transaction,t.include),i=t.include?.commandResults&&r.commandOutputs?r.commandOutputs.map(o=>({returnValues:(o.returnValues??[]).map(a=>({bcs:a.value?.value??null})),mutatedReferences:(o.mutatedByRef??[]).map(a=>({bcs:a.value?.value??null}))})):void 0;return s.$kind==="Transaction"?{$kind:"Transaction",Transaction:s.Transaction,commandResults:i}:{$kind:"FailedTransaction",FailedTransaction:s.FailedTransaction,commandResults:i}}async getReferenceGasPrice(){return{referenceGasPrice:(await h(this,ke).ledgerService.getEpoch({readMask:{paths:["reference_gas_price"]}})).response.epoch?.referenceGasPrice?.toString()??""}}async getCurrentSystemState(){let t=(await h(this,ke).ledgerService.getEpoch({readMask:{paths:["system_state.version","system_state.epoch","system_state.protocol_version","system_state.reference_gas_price","system_state.epoch_start_timestamp_ms","system_state.safe_mode","system_state.safe_mode_storage_rewards","system_state.safe_mode_computation_rewards","system_state.safe_mode_storage_rebates","system_state.safe_mode_non_refundable_storage_fee","system_state.parameters","system_state.storage_fund","system_state.stake_subsidy"]}})).response.epoch,n=t?.systemState;if(!n)throw new Error("System state not found in response");let r=t?.start?.seconds?Number(t.start.seconds)*1e3+Math.floor((t.start.nanos||0)/1e6):n.epochStartTimestampMs?Number(n.epochStartTimestampMs):null;return{systemState:{systemStateVersion:n.version?.toString()??null,epoch:n.epoch?.toString()??null,protocolVersion:n.protocolVersion?.toString()??null,referenceGasPrice:n.referenceGasPrice?.toString()??null,epochStartTimestampMs:r.toString(),safeMode:n.safeMode??!1,safeModeStorageRewards:n.safeModeStorageRewards?.toString()??null,safeModeComputationRewards:n.safeModeComputationRewards?.toString()??null,safeModeStorageRebates:n.safeModeStorageRebates?.toString()??null,safeModeNonRefundableStorageFee:n.safeModeNonRefundableStorageFee?.toString()??null,parameters:{epochDurationMs:n.parameters?.epochDurationMs?.toString()??null,stakeSubsidyStartEpoch:n.parameters?.stakeSubsidyStartEpoch?.toString()??null,maxValidatorCount:n.parameters?.maxValidatorCount?.toString()??null,minValidatorJoiningStake:n.parameters?.minValidatorJoiningStake?.toString()??null,validatorLowStakeThreshold:n.parameters?.validatorLowStakeThreshold?.toString()??null,validatorLowStakeGracePeriod:n.parameters?.validatorLowStakeGracePeriod?.toString()??null},storageFund:{totalObjectStorageRebates:n.storageFund?.totalObjectStorageRebates?.toString()??null,nonRefundableBalance:n.storageFund?.nonRefundableBalance?.toString()??null},stakeSubsidy:{balance:n.stakeSubsidy?.balance?.toString()??null,distributionCounter:n.stakeSubsidy?.distributionCounter?.toString()??null,currentDistributionAmount:n.stakeSubsidy?.currentDistributionAmount?.toString()??null,stakeSubsidyPeriodLength:n.stakeSubsidy?.stakeSubsidyPeriodLength?.toString()??null,stakeSubsidyDecreaseRate:n.stakeSubsidy?.stakeSubsidyDecreaseRate??null}}}}async listDynamicFields(t){let n=await h(this,ke).stateService.listDynamicFields({parent:t.parentId,pageToken:t.cursor?K(t.cursor):void 0,pageSize:t.limit,readMask:{paths:["field_id","name","value_type","kind"]}});return{dynamicFields:n.response.dynamicFields.map(r=>{let s=r.kind===Yu.OBJECT?`0x2::dynamic_field::Field<0x2::dynamic_object_field::Wrapper<${r.name?.name}>,0x2::object::ID>`:`0x2::dynamic_field::Field<${r.name?.name},${r.valueType}>`;return{fieldId:r.fieldId,name:{type:r.name?.name,bcs:r.name?.value},valueType:r.valueType,type:Ht(s)}}),cursor:n.response.nextPageToken?X(n.response.nextPageToken):null,hasNextPage:n.response.nextPageToken!==void 0}}async verifyZkLoginSignature(t){let n=K(t.bytes),r=t.intentScope==="PersonalMessage"?B.byteVector().serialize(n).toBytes():n,{response:s}=await h(this,ke).signatureVerificationService.verifySignature({message:{name:t.intentScope,value:r},signature:{bcs:{value:K(t.signature)},signature:{oneofKind:void 0}},address:t.address,jwks:[]});return{success:s.isValid??!1,errors:s.reason?[s.reason]:[]}}async defaultNameServiceName(t){return{data:{name:(await h(this,ke).nameService.reverseLookupName({address:t.address})).response.record?.name??null}}}async getMoveFunction(t){let n=(await this.mvr.resolvePackage({package:t.packageId})).package,{response:r}=await h(this,ke).movePackageService.getFunction({packageId:n,moduleName:t.moduleName,name:t.name}),s="unknown";switch(r.function?.visibility){case Vs.PUBLIC:s="public";break;case Vs.PRIVATE:s="private";break;case Vs.FRIEND:s="friend";break}return{function:{packageId:Y(n),moduleName:t.moduleName,name:r.function?.name,visibility:s,isEntry:r.function?.isEntry??!1,typeParameters:r.function?.typeParameters?.map(({constraints:i})=>({isPhantom:!1,constraints:i.map(o=>{switch(o){case rr.COPY:return"copy";case rr.DROP:return"drop";case rr.STORE:return"store";case rr.KEY:return"key";default:return"unknown"}})??[]}))??[],parameters:r.function?.parameters?.map(i=>M0(i))??[],returns:r.function?.returns?.map(i=>M0(i))??[]}}}async getChainIdentifier(t){return this.cache.read(["chainIdentifier"],async()=>{let{response:n}=await h(this,ke).ledgerService.getServiceInfo({});if(!n.chainId)throw new Error("Chain identifier not found in service info");return{chainIdentifier:n.chainId}})}resolveTransactionPlugin(){let t=h(this,ke);return async function(r,s,i){let o=r.snapshot();o.sender||(o.sender="0x0000000000000000000000000000000000000000000000000000000000000000");let a=zu(o),c;try{c=(await t.transactionExecutionService.simulateTransaction({transaction:a,doGasSelection:!s.onlyTransactionKind&&(o.gasData.budget==null||o.gasData.payment==null),readMask:{paths:["transaction.transaction.sender","transaction.transaction.gas_payment","transaction.transaction.expiration","transaction.transaction.kind","transaction.effects.status"]}})).response}catch(u){throw u instanceof Error&&u.message?new bs(decodeURIComponent(u.message),{cause:u}):u}if(!s.onlyTransactionKind&&c.transaction?.effects?.status&&!c.transaction.effects.status.success){let u=c.transaction.effects.status.error?Ku(c.transaction.effects.status.error):void 0;throw new bs(`Transaction resolution failed: ${u?.message??"Transaction failed"}`,{executionError:u})}if(!c.transaction?.transaction)throw new Error("simulateTransaction did not return resolved transaction data");return _0(r,c.transaction.transaction,s),await i()}}},ke=new WeakMap,U0);function ar(e){if(!e)return null;if(e.kind===sr.IMMUTABLE)return{$kind:"Immutable",Immutable:!0};if(e.kind===sr.ADDRESS)return{AddressOwner:e.address,$kind:"AddressOwner"};if(e.kind===sr.OBJECT)return{$kind:"ObjectOwner",ObjectOwner:e.address};if(e.kind===sr.SHARED)return{$kind:"Shared",Shared:{initialSharedVersion:e.version?.toString()}};if(e.kind===sr.CONSENSUS_ADDRESS)return{$kind:"ConsensusAddressOwner",ConsensusAddressOwner:{startVersion:e.version?.toString(),owner:e.address}};throw new Error(`Unknown owner kind ${JSON.stringify(e,(t,n)=>typeof n=="bigint"?n.toString():n)}`)}function Ku(e){let t=e.description??"Unknown error",n=e.command!=null?Number(e.command):void 0,r=e.errorDetails;switch(r?.oneofKind){case"abort":{let s=r.abort,i=s.cleverError;return{$kind:"MoveAbort",message:Zy({command:n,location:s.location,abortCode:String(s.abortCode??0n),cleverError:i?{lineNumber:i.lineNumber!=null?Number(i.lineNumber):void 0,constantName:i.constantName,value:i.value?.oneofKind==="rendered"?i.value.rendered:void 0}:void 0}),command:n,MoveAbort:QC(s)}}case"sizeError":return{$kind:"SizeError",message:t,command:n,SizeError:{name:or(e.kind),size:Number(r.sizeError.size??0n),maxSize:Number(r.sizeError.maxSize??0n)}};case"commandArgumentError":return{$kind:"CommandArgumentError",message:t,command:n,CommandArgumentError:{argument:r.commandArgumentError.argument??0,name:or(r.commandArgumentError.kind)}};case"typeArgumentError":return{$kind:"TypeArgumentError",message:t,command:n,TypeArgumentError:{typeArgument:r.typeArgumentError.typeArgument??0,name:or(r.typeArgumentError.kind)}};case"packageUpgradeError":return{$kind:"PackageUpgradeError",message:t,command:n,PackageUpgradeError:{name:or(r.packageUpgradeError.kind),packageId:r.packageUpgradeError.packageId,digest:r.packageUpgradeError.digest}};case"indexError":return{$kind:"IndexError",message:t,command:n,IndexError:{index:r.indexError.index,subresult:r.indexError.subresult}};case"coinDenyListError":return{$kind:"CoinDenyListError",message:t,command:n,CoinDenyListError:{name:or(e.kind),coinType:r.coinDenyListError.coinType,address:r.coinDenyListError.address}};case"congestedObjects":return{$kind:"CongestedObjects",message:t,command:n,CongestedObjects:{name:or(e.kind),objects:r.congestedObjects.objects}};case"objectId":return{$kind:"ObjectIdError",message:t,command:n,ObjectIdError:{name:or(e.kind),objectId:r.objectId}};default:return{$kind:"Unknown",message:t,command:n,Unknown:null}}}function QC(e){return{abortCode:String(e.abortCode??0n),location:{...e.location},cleverError:e.cleverError?{errorCode:e.cleverError.errorCode!=null?Number(e.cleverError.errorCode):void 0,lineNumber:e.cleverError.lineNumber!=null?Number(e.cleverError.lineNumber):void 0,constantName:e.cleverError.constantName,constantType:e.cleverError.constantType,value:e.cleverError.value?.oneofKind==="rendered"?e.cleverError.value.rendered:e.cleverError.value?.oneofKind==="raw"?X(e.cleverError.value.raw):void 0}:void 0}}function or(e){if(e==null)return"Unknown";let t=Wu[e];return!t||t.endsWith("_UNKNOWN")?"Unknown":t.split("_").map(n=>n.charAt(0)+n.slice(1).toLowerCase()).join("")}function B0(e){if(e==null)return null;switch(e){case qr.CREATED:return"Created";case qr.DELETED:return"Deleted";case qr.NONE:case qr.ID_OPERATION_UNKNOWN:return"None";default:return"Unknown"}}function P0(e){if(e==null)return null;switch(e){case $s.EXISTS:return"Exists";case $s.DOES_NOT_EXIST:return"DoesNotExist";case $s.UNKNOWN:return"Unknown";default:return"Unknown"}}function L0(e){if(e==null)return null;switch(e){case ir.OBJECT_WRITE:return"ObjectWrite";case ir.PACKAGE_WRITE:return"PackageWrite";case ir.DOES_NOT_EXIST:return"DoesNotExist";case ir.ACCUMULATOR_WRITE:return"AccumulatorWriteV1";case ir.UNKNOWN:return"Unknown";default:return"Unknown"}}function eR(e){if(e==null)return null;switch(e){case Dn.UNCHANGED_CONSENSUS_OBJECT_KIND_UNKNOWN:return"Unknown";case Dn.READ_ONLY_ROOT:return"ReadOnlyRoot";case Dn.MUTATE_CONSENSUS_STREAM_ENDED:return"MutateConsensusStreamEnded";case Dn.READ_CONSENSUS_STREAM_ENDED:return"ReadConsensusStreamEnded";case Dn.CANCELED:return"Cancelled";case Dn.PER_EPOCH_CONFIG:return"PerEpochConfig";default:return"Unknown"}}function tR({effects:e}){if(!e)return null;let t=e.changedObjects.map(n=>({objectId:n.objectId,inputState:P0(n.inputState),inputVersion:n.inputVersion?.toString()??null,inputDigest:n.inputDigest??null,inputOwner:ar(n.inputOwner),outputState:L0(n.outputState),outputVersion:n.outputVersion?.toString()??null,outputDigest:n.outputDigest??null,outputOwner:ar(n.outputOwner),idOperation:B0(n.idOperation)}));return{bcs:e.bcs?.value,version:2,status:e.status?.success?{success:!0,error:null}:{success:!1,error:Ku(e.status.error)},gasUsed:{computationCost:e.gasUsed?.computationCost?.toString(),storageCost:e.gasUsed?.storageCost?.toString(),storageRebate:e.gasUsed?.storageRebate?.toString(),nonRefundableStorageFee:e.gasUsed?.nonRefundableStorageFee?.toString()},transactionDigest:e.transactionDigest,gasObject:{objectId:e.gasObject?.objectId,inputState:P0(e.gasObject?.inputState),inputVersion:e.gasObject?.inputVersion?.toString()??null,inputDigest:e.gasObject?.inputDigest??null,inputOwner:ar(e.gasObject?.inputOwner),outputState:L0(e.gasObject?.outputState),outputVersion:e.gasObject?.outputVersion?.toString()??null,outputDigest:e.gasObject?.outputDigest??null,outputOwner:ar(e.gasObject?.outputOwner),idOperation:B0(e.gasObject?.idOperation)},eventsDigest:e.eventsDigest??null,dependencies:e.dependencies,lamportVersion:e.lamportVersion?.toString()??null,changedObjects:t,unchangedConsensusObjects:e.unchangedConsensusObjects.map(n=>({kind:eR(n.kind),objectId:n.objectId,version:n.version?.toString()??null,digest:n.digest??null})),auxiliaryDataDigest:e.auxiliaryDataDigest??null}}function Xu(e,t){let n={};t?.objectTypes&&e.effects?.changedObjects?.forEach(c=>{c.objectId&&c.objectType&&(n[c.objectId]=c.objectType)});let r;if(t?.transaction){let c=e.transaction;if(!c)throw new Error("Transaction data is required but missing from gRPC response");let u=Hu(c);r={gasData:u.gasData,sender:u.sender,expiration:u.expiration,commands:u.commands,inputs:u.inputs,version:u.version}}let s=t?.bcs?e.transaction?.bcs?.value:void 0,i=t?.effects?tR({effects:e.effects}):void 0,o=e.effects?.status?.success?{success:!0,error:null}:{success:!1,error:e.effects?.status?.error?Ku(e.effects.status.error):{$kind:"Unknown",message:"Transaction failed",Unknown:null}},a={digest:e.digest,epoch:e.effects?.epoch?.toString()??null,status:o,effects:i,objectTypes:t?.objectTypes?n:void 0,transaction:r,bcs:s,signatures:e.signatures?.map(c=>X(c.bcs?.value))??[],balanceChanges:t?.balanceChanges?e.balanceChanges?.map(c=>({coinType:c.coinType,address:c.address,amount:c.amount}))??[]:void 0,events:t?.events?e.events?.events.map(c=>({packageId:Y(c.packageId),module:c.module,sender:Y(c.sender),eventType:c.eventType,bcs:c.contents?.value??new Uint8Array}))??[]:void 0};return o.success?{$kind:"Transaction",Transaction:a}:{$kind:"FailedTransaction",FailedTransaction:a}}function M0(e){let t=null;return e.reference===Ao.IMMUTABLE?t="immutable":e.reference===Ao.MUTABLE&&(t="mutable"),{reference:t,body:Zu(e.body)}}function Zu(e){switch(e.type){case it.TYPE_UNKNOWN:return{$kind:"unknown"};case it.ADDRESS:return{$kind:"address"};case it.BOOL:return{$kind:"bool"};case it.U8:return{$kind:"u8"};case it.U16:return{$kind:"u16"};case it.U32:return{$kind:"u32"};case it.U64:return{$kind:"u64"};case it.U128:return{$kind:"u128"};case it.U256:return{$kind:"u256"};case it.VECTOR:return{$kind:"vector",vector:Zu(e.typeParameterInstantiation[0])};case it.DATATYPE:return{$kind:"datatype",datatype:{typeName:e.typeName,typeParameters:e.typeParameterInstantiation.map(t=>Zu(t))}};case it.TYPE_PARAMETER:return{$kind:"typeParameter",index:e.typeParameter};default:return{$kind:"unknown"}}}var Js=(function(e){return e[e.ED25519=0]="ED25519",e[e.SECP256K1=1]="SECP256K1",e[e.SECP256R1=2]="SECP256R1",e[e.MULTISIG=3]="MULTISIG",e[e.BLS12381=4]="BLS12381",e[e.ZKLOGIN=5]="ZKLOGIN",e[e.PASSKEY=6]="PASSKEY",e})({});var nR=class extends m{constructor(){super("sui.rpc.v2.UserSignature",[{no:1,name:"bcs",kind:"message",T:()=>be},{no:2,name:"scheme",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.SignatureScheme",Js]},{no:3,name:"simple",kind:"message",oneof:"signature",T:()=>Qu},{no:4,name:"multisig",kind:"message",oneof:"signature",T:()=>fR},{no:5,name:"zklogin",kind:"message",oneof:"signature",T:()=>q0},{no:6,name:"passkey",kind:"message",oneof:"signature",T:()=>$0}])}},jn=new nR,rR=class extends m{constructor(){super("sui.rpc.v2.SimpleSignature",[{no:1,name:"scheme",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.SignatureScheme",Js]},{no:2,name:"signature",kind:"scalar",opt:!0,T:12},{no:3,name:"public_key",kind:"scalar",opt:!0,T:12}])}},Qu=new rR,sR=class extends m{constructor(){super("sui.rpc.v2.ZkLoginPublicIdentifier",[{no:1,name:"iss",kind:"scalar",opt:!0,T:9},{no:2,name:"address_seed",kind:"scalar",opt:!0,T:9}])}},G0=new sR,iR=class extends m{constructor(){super("sui.rpc.v2.MultisigMemberPublicKey",[{no:1,name:"scheme",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.SignatureScheme",Js]},{no:2,name:"public_key",kind:"scalar",opt:!0,T:12},{no:3,name:"zklogin",kind:"message",T:()=>G0}])}},oR=new iR,aR=class extends m{constructor(){super("sui.rpc.v2.MultisigMember",[{no:1,name:"public_key",kind:"message",T:()=>oR},{no:2,name:"weight",kind:"scalar",opt:!0,T:13}])}},cR=new aR,uR=class extends m{constructor(){super("sui.rpc.v2.MultisigCommittee",[{no:1,name:"members",kind:"message",repeat:1,T:()=>cR},{no:2,name:"threshold",kind:"scalar",opt:!0,T:13}])}},lR=new uR,pR=class extends m{constructor(){super("sui.rpc.v2.MultisigAggregatedSignature",[{no:1,name:"signatures",kind:"message",repeat:1,T:()=>mR},{no:2,name:"bitmap",kind:"scalar",opt:!0,T:13},{no:3,name:"legacy_bitmap",kind:"scalar",opt:!0,T:12},{no:4,name:"committee",kind:"message",T:()=>lR}])}},fR=new pR,dR=class extends m{constructor(){super("sui.rpc.v2.MultisigMemberSignature",[{no:1,name:"scheme",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.SignatureScheme",Js]},{no:2,name:"signature",kind:"scalar",opt:!0,T:12},{no:3,name:"zklogin",kind:"message",T:()=>q0},{no:4,name:"passkey",kind:"message",T:()=>$0}])}},mR=new dR,hR=class extends m{constructor(){super("sui.rpc.v2.ZkLoginAuthenticator",[{no:1,name:"inputs",kind:"message",T:()=>yR},{no:2,name:"max_epoch",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"signature",kind:"message",T:()=>Qu},{no:4,name:"public_identifier",kind:"message",T:()=>G0},{no:5,name:"jwk_id",kind:"message",T:()=>Ro}])}},q0=new hR,gR=class extends m{constructor(){super("sui.rpc.v2.ZkLoginInputs",[{no:1,name:"proof_points",kind:"message",T:()=>TR},{no:2,name:"iss_base64_details",kind:"message",T:()=>wR},{no:3,name:"header_base64",kind:"scalar",opt:!0,T:9},{no:4,name:"address_seed",kind:"scalar",opt:!0,T:9}])}},yR=new gR,bR=class extends m{constructor(){super("sui.rpc.v2.ZkLoginProof",[{no:1,name:"a",kind:"message",T:()=>V0},{no:2,name:"b",kind:"message",T:()=>kR},{no:3,name:"c",kind:"message",T:()=>V0}])}},TR=new bR,vR=class extends m{constructor(){super("sui.rpc.v2.ZkLoginClaim",[{no:1,name:"value",kind:"scalar",opt:!0,T:9},{no:2,name:"index_mod_4",kind:"scalar",opt:!0,T:13}])}},wR=new vR,ER=class extends m{constructor(){super("sui.rpc.v2.CircomG1",[{no:1,name:"e0",kind:"scalar",opt:!0,T:9},{no:2,name:"e1",kind:"scalar",opt:!0,T:9},{no:3,name:"e2",kind:"scalar",opt:!0,T:9}])}},V0=new ER,xR=class extends m{constructor(){super("sui.rpc.v2.CircomG2",[{no:1,name:"e00",kind:"scalar",opt:!0,T:9},{no:2,name:"e01",kind:"scalar",opt:!0,T:9},{no:3,name:"e10",kind:"scalar",opt:!0,T:9},{no:4,name:"e11",kind:"scalar",opt:!0,T:9},{no:5,name:"e20",kind:"scalar",opt:!0,T:9},{no:6,name:"e21",kind:"scalar",opt:!0,T:9}])}},kR=new xR,SR=class extends m{constructor(){super("sui.rpc.v2.PasskeyAuthenticator",[{no:1,name:"authenticator_data",kind:"scalar",opt:!0,T:12},{no:2,name:"client_data_json",kind:"scalar",opt:!0,T:9},{no:3,name:"signature",kind:"message",T:()=>Qu}])}},$0=new SR,IR=class extends m{constructor(){super("sui.rpc.v2.ValidatorCommittee",[{no:1,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"members",kind:"message",repeat:1,T:()=>el}])}},z0=new IR,_R=class extends m{constructor(){super("sui.rpc.v2.ValidatorCommitteeMember",[{no:1,name:"public_key",kind:"scalar",opt:!0,T:12},{no:2,name:"weight",kind:"scalar",opt:!0,T:4,L:0}])}},el=new _R,OR=class extends m{constructor(){super("sui.rpc.v2.ValidatorAggregatedSignature",[{no:1,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"signature",kind:"scalar",opt:!0,T:12},{no:3,name:"bitmap",kind:"scalar",opt:!0,T:12}])}},H0=new OR;var NR=class extends m{constructor(){super("sui.rpc.v2.BalanceChange",[{no:1,name:"address",kind:"scalar",opt:!0,T:9},{no:2,name:"coin_type",kind:"scalar",opt:!0,T:9},{no:3,name:"amount",kind:"scalar",opt:!0,T:9}])}},W0=new NR;var AR=class extends m{constructor(){super("sui.rpc.v2.TransactionEvents",[{no:1,name:"bcs",kind:"message",T:()=>be},{no:2,name:"digest",kind:"scalar",opt:!0,T:9},{no:3,name:"events",kind:"message",repeat:1,T:()=>RR}])}},J0=new AR,CR=class extends m{constructor(){super("sui.rpc.v2.Event",[{no:1,name:"package_id",kind:"scalar",opt:!0,T:9},{no:2,name:"module",kind:"scalar",opt:!0,T:9},{no:3,name:"sender",kind:"scalar",opt:!0,T:9},{no:4,name:"event_type",kind:"scalar",opt:!0,T:9},{no:5,name:"contents",kind:"message",T:()=>be},{no:6,name:"json",kind:"message",T:()=>Be}])}},RR=new CR;var DR=class extends m{constructor(){super("sui.rpc.v2.ExecutedTransaction",[{no:1,name:"digest",kind:"scalar",opt:!0,T:9},{no:2,name:"transaction",kind:"message",T:()=>Gr},{no:3,name:"signatures",kind:"message",repeat:1,T:()=>jn},{no:4,name:"effects",kind:"message",T:()=>R0},{no:5,name:"events",kind:"message",T:()=>J0},{no:6,name:"checkpoint",kind:"scalar",opt:!0,T:4,L:0},{no:7,name:"timestamp",kind:"message",T:()=>Ge},{no:8,name:"balance_changes",kind:"message",repeat:1,T:()=>W0},{no:9,name:"objects",kind:"message",T:()=>Do}])}},Bn=new DR;var jR=(function(e){return e[e.ENABLED=0]="ENABLED",e[e.DISABLED=1]="DISABLED",e})({}),BR=class extends m{constructor(){super("sui.rpc.v2.ExecuteTransactionRequest",[{no:1,name:"transaction",kind:"message",T:()=>Gr},{no:2,name:"signatures",kind:"message",repeat:1,T:()=>jn},{no:3,name:"read_mask",kind:"message",T:()=>Je}])}},PR=new BR,LR=class extends m{constructor(){super("sui.rpc.v2.ExecuteTransactionResponse",[{no:1,name:"transaction",kind:"message",T:()=>Bn}])}},MR=new LR,UR=class extends m{constructor(){super("sui.rpc.v2.SimulateTransactionRequest",[{no:1,name:"transaction",kind:"message",T:()=>Gr},{no:2,name:"read_mask",kind:"message",T:()=>Je},{no:3,name:"checks",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.SimulateTransactionRequest.TransactionChecks",jR]},{no:4,name:"do_gas_selection",kind:"scalar",opt:!0,T:8}])}},FR=new UR,VR=class extends m{constructor(){super("sui.rpc.v2.SimulateTransactionResponse",[{no:1,name:"transaction",kind:"message",T:()=>Bn},{no:2,name:"command_outputs",kind:"message",repeat:1,T:()=>$R}])}},GR=new VR,qR=class extends m{constructor(){super("sui.rpc.v2.CommandResult",[{no:1,name:"return_values",kind:"message",repeat:1,T:()=>Y0},{no:2,name:"mutated_by_ref",kind:"message",repeat:1,T:()=>Y0}])}},$R=new qR,zR=class extends m{constructor(){super("sui.rpc.v2.CommandOutput",[{no:1,name:"argument",kind:"message",T:()=>mt},{no:2,name:"value",kind:"message",T:()=>be},{no:3,name:"json",kind:"message",T:()=>Be}])}},Y0=new zR,Mo=new Pe("sui.rpc.v2.TransactionExecutionService",[{name:"ExecuteTransaction",options:{},I:PR,O:MR},{name:"SimulateTransaction",options:{},I:FR,O:GR}]);var X0=class{constructor(e){this._transport=e,this.typeName=Mo.typeName,this.methods=Mo.methods,this.options=Mo.options}executeTransaction(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return se("unary",this._transport,n,r,e)}simulateTransaction(e,t){let n=this.methods[1],r=this._transport.mergeOptions(t);return se("unary",this._transport,n,r,e)}};var HR=class extends m{constructor(){super("sui.rpc.v2.ProtocolConfig",[{no:1,name:"protocol_version",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"feature_flags",kind:"map",K:9,V:{kind:"scalar",T:8}},{no:3,name:"attributes",kind:"map",K:9,V:{kind:"scalar",T:9}}])}},Z0=new HR;var WR=class extends m{constructor(){super("sui.rpc.v2.SystemState",[{no:1,name:"version",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"protocol_version",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"validators",kind:"message",T:()=>s1},{no:5,name:"storage_fund",kind:"message",T:()=>n1},{no:6,name:"parameters",kind:"message",T:()=>ZR},{no:7,name:"reference_gas_price",kind:"scalar",opt:!0,T:4,L:0},{no:8,name:"validator_report_records",kind:"message",repeat:1,T:()=>YR},{no:9,name:"stake_subsidy",kind:"message",T:()=>e1},{no:10,name:"safe_mode",kind:"scalar",opt:!0,T:8},{no:11,name:"safe_mode_storage_rewards",kind:"scalar",opt:!0,T:4,L:0},{no:12,name:"safe_mode_computation_rewards",kind:"scalar",opt:!0,T:4,L:0},{no:13,name:"safe_mode_storage_rebates",kind:"scalar",opt:!0,T:4,L:0},{no:14,name:"safe_mode_non_refundable_storage_fee",kind:"scalar",opt:!0,T:4,L:0},{no:15,name:"epoch_start_timestamp_ms",kind:"scalar",opt:!0,T:4,L:0},{no:16,name:"extra_fields",kind:"message",T:()=>gt}])}},K0=new WR,JR=class extends m{constructor(){super("sui.rpc.v2.ValidatorReportRecord",[{no:1,name:"reported",kind:"scalar",opt:!0,T:9},{no:2,name:"reporters",kind:"scalar",repeat:2,T:9}])}},YR=new JR,XR=class extends m{constructor(){super("sui.rpc.v2.SystemParameters",[{no:1,name:"epoch_duration_ms",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"stake_subsidy_start_epoch",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"min_validator_count",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"max_validator_count",kind:"scalar",opt:!0,T:4,L:0},{no:5,name:"min_validator_joining_stake",kind:"scalar",opt:!0,T:4,L:0},{no:6,name:"validator_low_stake_threshold",kind:"scalar",opt:!0,T:4,L:0},{no:7,name:"validator_very_low_stake_threshold",kind:"scalar",opt:!0,T:4,L:0},{no:8,name:"validator_low_stake_grace_period",kind:"scalar",opt:!0,T:4,L:0},{no:9,name:"extra_fields",kind:"message",T:()=>gt}])}},ZR=new XR,KR=class extends m{constructor(){super("sui.rpc.v2.MoveTable",[{no:1,name:"id",kind:"scalar",opt:!0,T:9},{no:2,name:"size",kind:"scalar",opt:!0,T:4,L:0}])}},gt=new KR,QR=class extends m{constructor(){super("sui.rpc.v2.StakeSubsidy",[{no:1,name:"balance",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"distribution_counter",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"current_distribution_amount",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"stake_subsidy_period_length",kind:"scalar",opt:!0,T:4,L:0},{no:5,name:"stake_subsidy_decrease_rate",kind:"scalar",opt:!0,T:13},{no:6,name:"extra_fields",kind:"message",T:()=>gt}])}},e1=new QR,t1=class extends m{constructor(){super("sui.rpc.v2.StorageFund",[{no:1,name:"total_object_storage_rebates",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"non_refundable_balance",kind:"scalar",opt:!0,T:4,L:0}])}},n1=new t1,r1=class extends m{constructor(){super("sui.rpc.v2.ValidatorSet",[{no:1,name:"total_stake",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"active_validators",kind:"message",repeat:1,T:()=>o1},{no:3,name:"pending_active_validators",kind:"message",T:()=>gt},{no:4,name:"pending_removals",kind:"scalar",repeat:1,T:4,L:0},{no:5,name:"staking_pool_mappings",kind:"message",T:()=>gt},{no:6,name:"inactive_validators",kind:"message",T:()=>gt},{no:7,name:"validator_candidates",kind:"message",T:()=>gt},{no:8,name:"at_risk_validators",kind:"map",K:9,V:{kind:"scalar",T:4,L:0}},{no:9,name:"extra_fields",kind:"message",T:()=>gt}])}},s1=new r1,i1=class extends m{constructor(){super("sui.rpc.v2.Validator",[{no:1,name:"name",kind:"scalar",opt:!0,T:9},{no:2,name:"address",kind:"scalar",opt:!0,T:9},{no:3,name:"description",kind:"scalar",opt:!0,T:9},{no:4,name:"image_url",kind:"scalar",opt:!0,T:9},{no:5,name:"project_url",kind:"scalar",opt:!0,T:9},{no:7,name:"protocol_public_key",kind:"scalar",opt:!0,T:12},{no:8,name:"proof_of_possession",kind:"scalar",opt:!0,T:12},{no:10,name:"network_public_key",kind:"scalar",opt:!0,T:12},{no:12,name:"worker_public_key",kind:"scalar",opt:!0,T:12},{no:13,name:"network_address",kind:"scalar",opt:!0,T:9},{no:14,name:"p2p_address",kind:"scalar",jsonName:"p2pAddress",opt:!0,T:9},{no:15,name:"primary_address",kind:"scalar",opt:!0,T:9},{no:16,name:"worker_address",kind:"scalar",opt:!0,T:9},{no:18,name:"next_epoch_protocol_public_key",kind:"scalar",opt:!0,T:12},{no:19,name:"next_epoch_proof_of_possession",kind:"scalar",opt:!0,T:12},{no:21,name:"next_epoch_network_public_key",kind:"scalar",opt:!0,T:12},{no:23,name:"next_epoch_worker_public_key",kind:"scalar",opt:!0,T:12},{no:24,name:"next_epoch_network_address",kind:"scalar",opt:!0,T:9},{no:25,name:"next_epoch_p2p_address",kind:"scalar",jsonName:"nextEpochP2pAddress",opt:!0,T:9},{no:26,name:"next_epoch_primary_address",kind:"scalar",opt:!0,T:9},{no:27,name:"next_epoch_worker_address",kind:"scalar",opt:!0,T:9},{no:28,name:"metadata_extra_fields",kind:"message",T:()=>gt},{no:29,name:"voting_power",kind:"scalar",opt:!0,T:4,L:0},{no:30,name:"operation_cap_id",kind:"scalar",opt:!0,T:9},{no:31,name:"gas_price",kind:"scalar",opt:!0,T:4,L:0},{no:32,name:"staking_pool",kind:"message",T:()=>c1},{no:33,name:"commission_rate",kind:"scalar",opt:!0,T:4,L:0},{no:34,name:"next_epoch_stake",kind:"scalar",opt:!0,T:4,L:0},{no:35,name:"next_epoch_gas_price",kind:"scalar",opt:!0,T:4,L:0},{no:36,name:"next_epoch_commission_rate",kind:"scalar",opt:!0,T:4,L:0},{no:37,name:"extra_fields",kind:"message",T:()=>gt}])}},o1=new i1,a1=class extends m{constructor(){super("sui.rpc.v2.StakingPool",[{no:1,name:"id",kind:"scalar",opt:!0,T:9},{no:2,name:"activation_epoch",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"deactivation_epoch",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"sui_balance",kind:"scalar",opt:!0,T:4,L:0},{no:5,name:"rewards_pool",kind:"scalar",opt:!0,T:4,L:0},{no:6,name:"pool_token_balance",kind:"scalar",opt:!0,T:4,L:0},{no:7,name:"exchange_rates",kind:"message",T:()=>gt},{no:8,name:"pending_stake",kind:"scalar",opt:!0,T:4,L:0},{no:9,name:"pending_total_sui_withdraw",kind:"scalar",opt:!0,T:4,L:0},{no:10,name:"pending_pool_token_withdraw",kind:"scalar",opt:!0,T:4,L:0},{no:11,name:"extra_fields",kind:"message",T:()=>gt}])}},c1=new a1;var u1=class extends m{constructor(){super("sui.rpc.v2.Epoch",[{no:1,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"committee",kind:"message",T:()=>z0},{no:3,name:"system_state",kind:"message",T:()=>K0},{no:4,name:"first_checkpoint",kind:"scalar",opt:!0,T:4,L:0},{no:5,name:"last_checkpoint",kind:"scalar",opt:!0,T:4,L:0},{no:6,name:"start",kind:"message",T:()=>Ge},{no:7,name:"end",kind:"message",T:()=>Ge},{no:8,name:"reference_gas_price",kind:"scalar",opt:!0,T:4,L:0},{no:9,name:"protocol_config",kind:"message",T:()=>Z0}])}},Q0=new u1;var l1=class extends m{constructor(){super("sui.rpc.v2.CheckpointContents",[{no:1,name:"bcs",kind:"message",T:()=>be},{no:2,name:"digest",kind:"scalar",opt:!0,T:9},{no:3,name:"version",kind:"scalar",opt:!0,T:5},{no:4,name:"transactions",kind:"message",repeat:1,T:()=>f1}])}},eb=new l1,p1=class extends m{constructor(){super("sui.rpc.v2.CheckpointedTransactionInfo",[{no:1,name:"transaction",kind:"scalar",opt:!0,T:9},{no:2,name:"effects",kind:"scalar",opt:!0,T:9},{no:3,name:"signatures",kind:"message",repeat:1,T:()=>jn},{no:4,name:"address_aliases_versions",kind:"message",repeat:1,T:()=>m1}])}},f1=new p1,d1=class extends m{constructor(){super("sui.rpc.v2.AddressAliasesVersion",[{no:1,name:"version",kind:"scalar",opt:!0,T:4,L:0}])}},m1=new d1;var h1=(function(e){return e[e.CHECKPOINT_COMMITMENT_KIND_UNKNOWN=0]="CHECKPOINT_COMMITMENT_KIND_UNKNOWN",e[e.ECMH_LIVE_OBJECT_SET=1]="ECMH_LIVE_OBJECT_SET",e[e.CHECKPOINT_ARTIFACTS=2]="CHECKPOINT_ARTIFACTS",e})({}),g1=class extends m{constructor(){super("sui.rpc.v2.CheckpointSummary",[{no:1,name:"bcs",kind:"message",T:()=>be},{no:2,name:"digest",kind:"scalar",opt:!0,T:9},{no:3,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"sequence_number",kind:"scalar",opt:!0,T:4,L:0},{no:5,name:"total_network_transactions",kind:"scalar",opt:!0,T:4,L:0},{no:6,name:"content_digest",kind:"scalar",opt:!0,T:9},{no:7,name:"previous_digest",kind:"scalar",opt:!0,T:9},{no:8,name:"epoch_rolling_gas_cost_summary",kind:"message",T:()=>Bo},{no:9,name:"timestamp",kind:"message",T:()=>Ge},{no:10,name:"commitments",kind:"message",repeat:1,T:()=>nb},{no:11,name:"end_of_epoch_data",kind:"message",T:()=>b1},{no:12,name:"version_specific_data",kind:"scalar",opt:!0,T:12}])}},tb=new g1,y1=class extends m{constructor(){super("sui.rpc.v2.EndOfEpochData",[{no:1,name:"next_epoch_committee",kind:"message",repeat:1,T:()=>el},{no:2,name:"next_epoch_protocol_version",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"epoch_commitments",kind:"message",repeat:1,T:()=>nb}])}},b1=new y1,T1=class extends m{constructor(){super("sui.rpc.v2.CheckpointCommitment",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.CheckpointCommitment.CheckpointCommitmentKind",h1]},{no:2,name:"digest",kind:"scalar",opt:!0,T:9}])}},nb=new T1;var v1=class extends m{constructor(){super("sui.rpc.v2.Checkpoint",[{no:1,name:"sequence_number",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"digest",kind:"scalar",opt:!0,T:9},{no:3,name:"summary",kind:"message",T:()=>tb},{no:4,name:"signature",kind:"message",T:()=>H0},{no:5,name:"contents",kind:"message",T:()=>eb},{no:6,name:"transactions",kind:"message",repeat:1,T:()=>Bn},{no:7,name:"objects",kind:"message",T:()=>Do}])}},Uo=new v1;var w1=class extends m{constructor(){super("google.protobuf.Any",[{no:1,name:"type_url",kind:"scalar",T:9},{no:2,name:"value",kind:"scalar",T:12}])}pack(e,t){return{typeUrl:this.typeNameToUrl(t.typeName),value:t.toBinary(e)}}unpack(e,t,n){if(!this.contains(e,t))throw new Error("Cannot unpack google.protobuf.Any with typeUrl '"+e.typeUrl+"' as "+t.typeName+".");return t.fromBinary(e.value,n)}contains(e,t){return e.typeUrl.length?(typeof t=="string"?t:t.typeName)===this.typeUrlToName(e.typeUrl):!1}internalJsonWrite(e,t){if(e.typeUrl==="")return{};let n=this.typeUrlToName(e.typeUrl),r=Ms(t),s=r.typeRegistry?.find(a=>a.typeName===n);if(!s)throw new globalThis.Error("Unable to convert google.protobuf.Any with typeUrl '"+e.typeUrl+"' to JSON. The specified type "+n+" is not available in the type registry.");let i=s.fromBinary(e.value,{readUnknownField:!1}),o=s.internalJsonWrite(i,r);return(n.startsWith("google.protobuf.")||!Nn(o))&&(o={value:o}),o["@type"]=e.typeUrl,o}internalJsonRead(e,t,n){if(!Nn(e))throw new globalThis.Error("Unable to parse google.protobuf.Any from JSON "+je(e)+".");if(typeof e["@type"]!="string"||e["@type"]=="")return this.create();let r=this.typeUrlToName(e["@type"]),s=t?.typeRegistry?.find(o=>o.typeName==r);if(!s)throw new globalThis.Error("Unable to parse google.protobuf.Any from JSON. The specified type "+r+" is not available in the type registry.");let i;if(r.startsWith("google.protobuf.")&&e.hasOwnProperty("value"))i=s.fromJson(e.value,t);else{let o=Object.assign({},e);delete o["@type"],i=s.fromJson(o,t)}return n===void 0&&(n=this.create()),n.typeUrl=e["@type"],n.value=s.toBinary(i),n}typeNameToUrl(e){if(!e.length)throw new Error("invalid type name: "+e);return"type.googleapis.com/"+e}typeUrlToName(e){if(!e.length)throw new Error("invalid type url: "+e);let t=e.lastIndexOf("/"),n=t>0?e.substring(t+1):e;if(!n.length)throw new Error("invalid type url: "+e);return n}},rb=new w1;var E1=class extends m{constructor(){super("google.rpc.Status",[{no:1,name:"code",kind:"scalar",T:5},{no:2,name:"message",kind:"scalar",T:9},{no:3,name:"details",kind:"message",repeat:1,T:()=>rb}])}},tl=new E1;var x1=class extends m{constructor(){super("sui.rpc.v2.GetServiceInfoRequest",[])}},k1=new x1,S1=class extends m{constructor(){super("sui.rpc.v2.GetServiceInfoResponse",[{no:1,name:"chain_id",kind:"scalar",opt:!0,T:9},{no:2,name:"chain",kind:"scalar",opt:!0,T:9},{no:3,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:4,name:"checkpoint_height",kind:"scalar",opt:!0,T:4,L:0},{no:5,name:"timestamp",kind:"message",T:()=>Ge},{no:6,name:"lowest_available_checkpoint",kind:"scalar",opt:!0,T:4,L:0},{no:7,name:"lowest_available_checkpoint_objects",kind:"scalar",opt:!0,T:4,L:0},{no:8,name:"server",kind:"scalar",opt:!0,T:9}])}},I1=new S1,_1=class extends m{constructor(){super("sui.rpc.v2.GetObjectRequest",[{no:1,name:"object_id",kind:"scalar",opt:!0,T:9},{no:2,name:"version",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"read_mask",kind:"message",T:()=>Je}])}},sb=new _1,O1=class extends m{constructor(){super("sui.rpc.v2.GetObjectResponse",[{no:1,name:"object",kind:"message",T:()=>qt}])}},N1=new O1,A1=class extends m{constructor(){super("sui.rpc.v2.BatchGetObjectsRequest",[{no:1,name:"requests",kind:"message",repeat:1,T:()=>sb},{no:2,name:"read_mask",kind:"message",T:()=>Je}])}},C1=new A1,R1=class extends m{constructor(){super("sui.rpc.v2.BatchGetObjectsResponse",[{no:1,name:"objects",kind:"message",repeat:1,T:()=>B1}])}},D1=new R1,j1=class extends m{constructor(){super("sui.rpc.v2.GetObjectResult",[{no:1,name:"object",kind:"message",oneof:"result",T:()=>qt},{no:2,name:"error",kind:"message",oneof:"result",T:()=>tl}])}},B1=new j1,P1=class extends m{constructor(){super("sui.rpc.v2.GetTransactionRequest",[{no:1,name:"digest",kind:"scalar",opt:!0,T:9},{no:2,name:"read_mask",kind:"message",T:()=>Je}])}},L1=new P1,M1=class extends m{constructor(){super("sui.rpc.v2.GetTransactionResponse",[{no:1,name:"transaction",kind:"message",T:()=>Bn}])}},U1=new M1,F1=class extends m{constructor(){super("sui.rpc.v2.BatchGetTransactionsRequest",[{no:1,name:"digests",kind:"scalar",repeat:2,T:9},{no:2,name:"read_mask",kind:"message",T:()=>Je}])}},V1=new F1,G1=class extends m{constructor(){super("sui.rpc.v2.BatchGetTransactionsResponse",[{no:1,name:"transactions",kind:"message",repeat:1,T:()=>z1}])}},q1=new G1,$1=class extends m{constructor(){super("sui.rpc.v2.GetTransactionResult",[{no:1,name:"transaction",kind:"message",oneof:"result",T:()=>Bn},{no:2,name:"error",kind:"message",oneof:"result",T:()=>tl}])}},z1=new $1,H1=class extends m{constructor(){super("sui.rpc.v2.GetCheckpointRequest",[{no:1,name:"sequence_number",kind:"scalar",oneof:"checkpointId",T:4,L:0},{no:2,name:"digest",kind:"scalar",oneof:"checkpointId",T:9},{no:3,name:"read_mask",kind:"message",T:()=>Je}])}},W1=new H1,J1=class extends m{constructor(){super("sui.rpc.v2.GetCheckpointResponse",[{no:1,name:"checkpoint",kind:"message",T:()=>Uo}])}},Y1=new J1,X1=class extends m{constructor(){super("sui.rpc.v2.GetEpochRequest",[{no:1,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"read_mask",kind:"message",T:()=>Je}])}},Z1=new X1,K1=class extends m{constructor(){super("sui.rpc.v2.GetEpochResponse",[{no:1,name:"epoch",kind:"message",T:()=>Q0}])}},Q1=new K1,Fo=new Pe("sui.rpc.v2.LedgerService",[{name:"GetServiceInfo",options:{},I:k1,O:I1},{name:"GetObject",options:{},I:sb,O:N1},{name:"BatchGetObjects",options:{},I:C1,O:D1},{name:"GetTransaction",options:{},I:L1,O:U1},{name:"BatchGetTransactions",options:{},I:V1,O:q1},{name:"GetCheckpoint",options:{},I:W1,O:Y1},{name:"GetEpoch",options:{},I:Z1,O:Q1}]);var ib=class{constructor(e){this._transport=e,this.typeName=Fo.typeName,this.methods=Fo.methods,this.options=Fo.options}getServiceInfo(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return se("unary",this._transport,n,r,e)}getObject(e,t){let n=this.methods[1],r=this._transport.mergeOptions(t);return se("unary",this._transport,n,r,e)}batchGetObjects(e,t){let n=this.methods[2],r=this._transport.mergeOptions(t);return se("unary",this._transport,n,r,e)}getTransaction(e,t){let n=this.methods[3],r=this._transport.mergeOptions(t);return se("unary",this._transport,n,r,e)}batchGetTransactions(e,t){let n=this.methods[4],r=this._transport.mergeOptions(t);return se("unary",this._transport,n,r,e)}getCheckpoint(e,t){let n=this.methods[5],r=this._transport.mergeOptions(t);return se("unary",this._transport,n,r,e)}getEpoch(e,t){let n=this.methods[6],r=this._transport.mergeOptions(t);return se("unary",this._transport,n,r,e)}};var eD=class extends m{constructor(){super("sui.rpc.v2.GetPackageRequest",[{no:1,name:"package_id",kind:"scalar",opt:!0,T:9}])}},tD=new eD,nD=class extends m{constructor(){super("sui.rpc.v2.GetPackageResponse",[{no:1,name:"package",kind:"message",T:()=>Co}])}},rD=new nD,sD=class extends m{constructor(){super("sui.rpc.v2.GetDatatypeRequest",[{no:1,name:"package_id",kind:"scalar",opt:!0,T:9},{no:2,name:"module_name",kind:"scalar",opt:!0,T:9},{no:3,name:"name",kind:"scalar",opt:!0,T:9}])}},iD=new sD,oD=class extends m{constructor(){super("sui.rpc.v2.GetDatatypeResponse",[{no:1,name:"datatype",kind:"message",T:()=>Vu}])}},aD=new oD,cD=class extends m{constructor(){super("sui.rpc.v2.GetFunctionRequest",[{no:1,name:"package_id",kind:"scalar",opt:!0,T:9},{no:2,name:"module_name",kind:"scalar",opt:!0,T:9},{no:3,name:"name",kind:"scalar",opt:!0,T:9}])}},uD=new cD,lD=class extends m{constructor(){super("sui.rpc.v2.GetFunctionResponse",[{no:1,name:"function",kind:"message",T:()=>qu}])}},pD=new lD,fD=class extends m{constructor(){super("sui.rpc.v2.ListPackageVersionsRequest",[{no:1,name:"package_id",kind:"scalar",opt:!0,T:9},{no:2,name:"page_size",kind:"scalar",opt:!0,T:13},{no:3,name:"page_token",kind:"scalar",opt:!0,T:12}])}},dD=new fD,mD=class extends m{constructor(){super("sui.rpc.v2.ListPackageVersionsResponse",[{no:1,name:"versions",kind:"message",repeat:1,T:()=>yD},{no:2,name:"next_page_token",kind:"scalar",opt:!0,T:12}])}},hD=new mD,gD=class extends m{constructor(){super("sui.rpc.v2.PackageVersion",[{no:1,name:"package_id",kind:"scalar",opt:!0,T:9},{no:2,name:"version",kind:"scalar",opt:!0,T:4,L:0}])}},yD=new gD,Vo=new Pe("sui.rpc.v2.MovePackageService",[{name:"GetPackage",options:{},I:tD,O:rD},{name:"GetDatatype",options:{},I:iD,O:aD},{name:"GetFunction",options:{},I:uD,O:pD},{name:"ListPackageVersions",options:{},I:dD,O:hD}]);var ob=class{constructor(e){this._transport=e,this.typeName=Vo.typeName,this.methods=Vo.methods,this.options=Vo.options}getPackage(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return se("unary",this._transport,n,r,e)}getDatatype(e,t){let n=this.methods[1],r=this._transport.mergeOptions(t);return se("unary",this._transport,n,r,e)}getFunction(e,t){let n=this.methods[2],r=this._transport.mergeOptions(t);return se("unary",this._transport,n,r,e)}listPackageVersions(e,t){let n=this.methods[3],r=this._transport.mergeOptions(t);return se("unary",this._transport,n,r,e)}};var bD=class extends m{constructor(){super("sui.rpc.v2.VerifySignatureRequest",[{no:1,name:"message",kind:"message",T:()=>be},{no:2,name:"signature",kind:"message",T:()=>jn},{no:3,name:"address",kind:"scalar",opt:!0,T:9},{no:4,name:"jwks",kind:"message",repeat:1,T:()=>$u}])}},TD=new bD,vD=class extends m{constructor(){super("sui.rpc.v2.VerifySignatureResponse",[{no:1,name:"is_valid",kind:"scalar",opt:!0,T:8},{no:2,name:"reason",kind:"scalar",opt:!0,T:9}])}},wD=new vD,Go=new Pe("sui.rpc.v2.SignatureVerificationService",[{name:"VerifySignature",options:{},I:TD,O:wD}]);var ab=class{constructor(e){this._transport=e,this.typeName=Go.typeName,this.methods=Go.methods,this.options=Go.options}verifySignature(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return se("unary",this._transport,n,r,e)}};var cb=class{constructor(e){this._transport=e,this.typeName=Lo.typeName,this.methods=Lo.methods,this.options=Lo.options}listDynamicFields(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return se("unary",this._transport,n,r,e)}listOwnedObjects(e,t){let n=this.methods[1],r=this._transport.mergeOptions(t);return se("unary",this._transport,n,r,e)}getCoinInfo(e,t){let n=this.methods[2],r=this._transport.mergeOptions(t);return se("unary",this._transport,n,r,e)}getBalance(e,t){let n=this.methods[3],r=this._transport.mergeOptions(t);return se("unary",this._transport,n,r,e)}listBalances(e,t){let n=this.methods[4],r=this._transport.mergeOptions(t);return se("unary",this._transport,n,r,e)}};var ED=class extends m{constructor(){super("sui.rpc.v2.SubscribeCheckpointsRequest",[{no:1,name:"read_mask",kind:"message",T:()=>Je}])}},xD=new ED,kD=class extends m{constructor(){super("sui.rpc.v2.SubscribeCheckpointsResponse",[{no:1,name:"cursor",kind:"scalar",opt:!0,T:4,L:0},{no:2,name:"checkpoint",kind:"message",T:()=>Uo}])}},SD=new kD,qo=new Pe("sui.rpc.v2.SubscriptionService",[{name:"SubscribeCheckpoints",serverStreaming:!0,options:{},I:xD,O:SD}]);var ub=class{constructor(e){this._transport=e,this.typeName=qo.typeName,this.methods=qo.methods,this.options=qo.options}subscribeCheckpoints(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return se("serverStreaming",this._transport,n,r,e)}};var ID=class extends m{constructor(){super("sui.rpc.v2.LookupNameRequest",[{no:1,name:"name",kind:"scalar",opt:!0,T:9}])}},_D=new ID,OD=class extends m{constructor(){super("sui.rpc.v2.LookupNameResponse",[{no:1,name:"record",kind:"message",T:()=>lb}])}},ND=new OD,AD=class extends m{constructor(){super("sui.rpc.v2.ReverseLookupNameRequest",[{no:1,name:"address",kind:"scalar",opt:!0,T:9}])}},CD=new AD,RD=class extends m{constructor(){super("sui.rpc.v2.ReverseLookupNameResponse",[{no:1,name:"record",kind:"message",T:()=>lb}])}},DD=new RD,jD=class extends m{constructor(){super("sui.rpc.v2.NameRecord",[{no:1,name:"id",kind:"scalar",opt:!0,T:9},{no:2,name:"name",kind:"scalar",opt:!0,T:9},{no:3,name:"registration_nft_id",kind:"scalar",opt:!0,T:9},{no:4,name:"expiration_timestamp",kind:"message",T:()=>Ge},{no:5,name:"target_address",kind:"scalar",opt:!0,T:9},{no:6,name:"data",kind:"map",K:9,V:{kind:"scalar",T:9}}])}},lb=new jD,$o=new Pe("sui.rpc.v2.NameService",[{name:"LookupName",options:{},I:_D,O:ND},{name:"ReverseLookupName",options:{},I:CD,O:DD}]);var pb=class{constructor(e){this._transport=e,this.typeName=$o.typeName,this.methods=$o.methods,this.options=$o.options}lookupName(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return se("unary",this._transport,n,r,e)}reverseLookupName(e,t){let n=this.methods[1],r=this._transport.mergeOptions(t);return se("unary",this._transport,n,r,e)}};var N;(function(e){e[e.OK=0]="OK",e[e.CANCELLED=1]="CANCELLED",e[e.UNKNOWN=2]="UNKNOWN",e[e.INVALID_ARGUMENT=3]="INVALID_ARGUMENT",e[e.DEADLINE_EXCEEDED=4]="DEADLINE_EXCEEDED",e[e.NOT_FOUND=5]="NOT_FOUND",e[e.ALREADY_EXISTS=6]="ALREADY_EXISTS",e[e.PERMISSION_DENIED=7]="PERMISSION_DENIED",e[e.UNAUTHENTICATED=16]="UNAUTHENTICATED",e[e.RESOURCE_EXHAUSTED=8]="RESOURCE_EXHAUSTED",e[e.FAILED_PRECONDITION=9]="FAILED_PRECONDITION",e[e.ABORTED=10]="ABORTED",e[e.OUT_OF_RANGE=11]="OUT_OF_RANGE",e[e.UNIMPLEMENTED=12]="UNIMPLEMENTED",e[e.INTERNAL=13]="INTERNAL",e[e.UNAVAILABLE=14]="UNAVAILABLE",e[e.DATA_LOSS=15]="DATA_LOSS"})(N||(N={}));var BD=function(e,t,n,r){function s(i){return i instanceof n?i:new n(function(o){o(i)})}return new(n||(n=Promise))(function(i,o){function a(l){try{u(r.next(l))}catch(p){o(p)}}function c(l){try{u(r.throw(l))}catch(p){o(p)}}function u(l){l.done?i(l.value):s(l.value).then(a,c)}u((r=r.apply(e,t||[])).next())})};function nl(e,t,n,r,s){if(r)for(let[i,o]of Object.entries(r))if(typeof o=="string")e.append(i,o);else for(let a of o)e.append(i,a);if(e.set("Content-Type",t==="text"?"application/grpc-web-text":"application/grpc-web+proto"),t=="text"&&e.set("Accept","application/grpc-web-text"),e.set("X-Grpc-Web","1"),s&&e.set("X-User-Agent",s),typeof n=="number"){if(n<=0)throw new ne(`timeout ${n} ms exceeded`,N[N.DEADLINE_EXCEEDED]);e.set("grpc-timeout",`${n}m`)}else if(n){let i=n.getTime(),o=Date.now();if(i<=o)throw new ne(`deadline ${n} exceeded`,N[N.DEADLINE_EXCEEDED]);e.set("grpc-timeout",`${i-o}m`)}return e}function rl(e,t){let n=new Uint8Array(5+e.length);n[0]=yt.DATA;for(let r=e.length,s=4;s>0;s--)n[s]=r%256,r>>>=8;return n.set(e,5),t==="binary"?n:Ls(n)}function zo(e,t,n){if(arguments.length===1){let c=e,u;try{u=c.type}catch{}switch(u){case"error":case"opaque":case"opaqueredirect":throw new ne(`fetch response type ${c.type}`,N[N.UNKNOWN])}return zo(UD(c.headers),c.status,c.statusText)}let r=e,s=t>=200&&t<300,i=mb(r),[o,a]=db(r);return(o===void 0||o===N.OK)&&!s&&(o=FD(t),a=n),[o,a,i]}function sl(e){let t=MD(e),[n,r]=db(t),s=mb(t);return[n??N.OK,r,s]}var yt;(function(e){e[e.DATA=0]="DATA",e[e.TRAILER=128]="TRAILER"})(yt||(yt={}));function il(e,t,n){return BD(this,void 0,void 0,function*(){let r,s="",i=new Uint8Array(0),o=LD(t);if(PD(e)){let a=e.getReader();r={next:()=>a.read()}}else r=e[Symbol.asyncIterator]();for(;;){let a=yield r.next();if(a.value!==void 0){if(o==="text"){for(let u=0;u<a.value.length;u++)s+=String.fromCharCode(a.value[u]);let c=s.length-s.length%4;if(c===0)continue;i=fb(i,Ps(s.substring(0,c))),s=s.substring(c)}else i=fb(i,a.value);for(;i.length>=5&&i[0]===yt.DATA;){let c=0;for(let u=1;u<5;u++)c=(c<<8)+i[u];if(i.length-5>=c)n(yt.DATA,i.subarray(5,5+c)),i=i.subarray(5+c);else break}}if(a.done){if(i.length===0)break;if(i[0]!==yt.TRAILER||i.length<5)throw new ne("premature EOF",N[N.DATA_LOSS]);n(yt.TRAILER,i.subarray(5));break}}})}var PD=e=>typeof e.getReader=="function";function fb(e,t){let n=new Uint8Array(e.length+t.length);return n.set(e),n.set(t,e.length),n}function LD(e){switch(e){case"application/grpc-web-text":case"application/grpc-web-text+proto":return"text";case"application/grpc-web":case"application/grpc-web+proto":return"binary";case void 0:case null:throw new ne("missing response content type",N[N.INTERNAL]);default:throw new ne("unexpected response content type: "+e,N[N.INTERNAL])}}function db(e){let t,n,r=e["grpc-message"];if(r!==void 0){if(Array.isArray(r))return[N.INTERNAL,"invalid grpc-web message"];n=r}let s=e["grpc-status"];if(s!==void 0){if(Array.isArray(s))return[N.INTERNAL,"invalid grpc-web status"];if(t=parseInt(s,10),N[t]===void 0)return[N.INTERNAL,"invalid grpc-web status"]}return[t,n]}function mb(e){let t={};for(let[n,r]of Object.entries(e))switch(n){case"grpc-message":case"grpc-status":case"content-type":break;default:t[n]=r}return t}function MD(e){let t={};for(let n of String.fromCharCode.apply(String,e).trim().split(`\r
|
|
11
11
|
`)){if(n=="")continue;let[r,...s]=n.split(":"),i=s.join(":").trim();r=r.trim();let o=t[r];typeof o=="string"?t[r]=[o,i]:Array.isArray(o)?o.push(i):t[r]=i}return t}function UD(e){let t={};return e.forEach((n,r)=>{let s=t[r];typeof s=="string"?t[r]=[s,n]:Array.isArray(s)?s.push(n):t[r]=n}),t}function FD(e){switch(e){case 200:return N.OK;case 400:return N.INVALID_ARGUMENT;case 401:return N.UNAUTHENTICATED;case 403:return N.PERMISSION_DENIED;case 404:return N.NOT_FOUND;case 409:return N.ABORTED;case 412:return N.FAILED_PRECONDITION;case 429:return N.RESOURCE_EXHAUSTED;case 499:return N.CANCELLED;case 500:return N.UNKNOWN;case 501:return N.UNIMPLEMENTED;case 503:return N.UNAVAILABLE;case 504:return N.DEADLINE_EXCEEDED;default:return N.UNKNOWN}}var Ys=class{constructor(t){this.defaultOptions=t}mergeOptions(t){return Ju(this.defaultOptions,t)}makeUrl(t,n){let r=n.baseUrl;return r.endsWith("/")&&(r=r.substring(0,r.length-1)),`${r}/${t.service.typeName}/${t.name}`}clientStreaming(t){let n=new ne("Client streaming is not supported by grpc-web",N[N.UNIMPLEMENTED]);throw n.methodName=t.name,n.serviceName=t.service.typeName,n}duplex(t){let n=new ne("Duplex streaming is not supported by grpc-web",N[N.UNIMPLEMENTED]);throw n.methodName=t.name,n.serviceName=t.service.typeName,n}serverStreaming(t,n,r){var s,i,o,a,c;let u=r,l=(s=u.format)!==null&&s!==void 0?s:"text",p=(i=u.fetch)!==null&&i!==void 0?i:globalThis.fetch,d=(o=u.fetchInit)!==null&&o!==void 0?o:{},y=this.makeUrl(t,u),g=t.I.toBinary(n,u.binaryOptions),E=new ut,x=new zs,C=!0,S,k=new ut,D,$=new ut;return p(y,Object.assign(Object.assign({},d),{method:"POST",headers:nl(new globalThis.Headers,l,u.timeout,u.meta),body:rl(g,l),signal:(a=r.abort)!==null&&a!==void 0?a:null})).then(U=>{let[L,O,R]=zo(U);if(E.resolve(R),L!=null&&L!==N.OK)throw new ne(O??N[L],N[L],R);return L!=null&&(S={code:N[L],detail:O??N[L]}),U}).then(U=>{if(!U.body)throw new ne("missing response body",N[N.INTERNAL]);return il(U.body,U.headers.get("content-type"),(L,O)=>{switch(L){case yt.DATA:x.notifyMessage(t.O.fromBinary(O,u.binaryOptions)),C=!1;break;case yt.TRAILER:let R,q;[R,q,D]=sl(O),S={code:N[R],detail:q??N[R]};break}})}).then(()=>{if(!D&&!C)throw new ne("missing trailers",N[N.DATA_LOSS]);if(!S)throw new ne("missing status",N[N.INTERNAL]);if(S.code!=="OK")throw new ne(S.detail,S.code,D);x.notifyComplete(),k.resolve(S),$.resolve(D||{})}).catch(U=>{let L;U instanceof ne?L=U:U instanceof Error&&U.name==="AbortError"?L=new ne(U.message,N[N.CANCELLED]):L=new ne(U instanceof Error?U.message:""+U,N[N.INTERNAL]),L.methodName=t.name,L.serviceName=t.service.typeName,E.rejectPending(L),x.notifyError(L),k.rejectPending(L),$.rejectPending(L)}),new Ws(t,(c=u.meta)!==null&&c!==void 0?c:{},n,E.promise,x,k.promise,$.promise)}unary(t,n,r){var s,i,o,a,c;let u=r,l=(s=u.format)!==null&&s!==void 0?s:"text",p=(i=u.fetch)!==null&&i!==void 0?i:globalThis.fetch,d=(o=u.fetchInit)!==null&&o!==void 0?o:{},y=this.makeUrl(t,u),g=t.I.toBinary(n,u.binaryOptions),E=new ut,x,C=new ut,S,k=new ut,D,$=new ut;return p(y,Object.assign(Object.assign({},d),{method:"POST",headers:nl(new globalThis.Headers,l,u.timeout,u.meta),body:rl(g,l),signal:(a=r.abort)!==null&&a!==void 0?a:null})).then(U=>{let[L,O,R]=zo(U);if(E.resolve(R),L!=null&&L!==N.OK)throw new ne(O??N[L],N[L],R);return L!=null&&(S={code:N[L],detail:O??N[L]}),U}).then(U=>{if(!U.body)throw new ne("missing response body",N[N.INTERNAL]);return il(U.body,U.headers.get("content-type"),(L,O)=>{switch(L){case yt.DATA:if(x)throw new ne("unary call received 2nd message",N[N.DATA_LOSS]);x=t.O.fromBinary(O,u.binaryOptions);break;case yt.TRAILER:let R,q;[R,q,D]=sl(O),S={code:N[R],detail:q??N[R]};break}})}).then(()=>{if(!D&&x)throw new ne("missing trailers",N[N.DATA_LOSS]);if(!S)throw new ne("missing status",N[N.INTERNAL]);if(!x&&S.code==="OK")throw new ne("expected error status",N[N.DATA_LOSS]);if(!x)throw new ne(S.detail,S.code,D);if(C.resolve(x),S.code!=="OK")throw new ne(S.detail,S.code,D);k.resolve(S),$.resolve(D||{})}).catch(U=>{let L;U instanceof ne?L=U:U instanceof Error&&U.name==="AbortError"?L=new ne(U.message,N[N.CANCELLED]):L=new ne(U instanceof Error?U.message:""+U,N[N.INTERNAL]),L.methodName=t.name,L.serviceName=t.service.typeName,E.rejectPending(L),C.rejectPending(L),k.rejectPending(L),$.rejectPending(L)}),new Hs(t,(c=u.meta)!==null&&c!==void 0?c:{},n,E.promise,C.promise,k.promise,$.promise)}};var VD=Symbol.for("@mysten/SuiGrpcClient");var ol=class extends mo{get mvr(){return this.core.mvr}get[VD](){return!0}constructor(e){super({network:e.network});let t=e.transport??new Ys({baseUrl:e.baseUrl,fetchInit:e.fetchInit});this.transactionExecutionService=new X0(t),this.ledgerService=new ib(t),this.stateService=new cb(t),this.subscriptionService=new ub(t),this.movePackageService=new ob(t),this.signatureVerificationService=new ab(t),this.nameService=new pb(t),this.core=new F0({client:this,base:this,network:e.network,mvr:e.mvr})}getObjects(e){return this.core.getObjects(e)}getObject(e){return this.core.getObject(e)}listCoins(e){return this.core.listCoins(e)}listOwnedObjects(e){return this.core.listOwnedObjects(e)}getBalance(e){return this.core.getBalance(e)}listBalances(e){return this.core.listBalances(e)}getCoinMetadata(e){return this.core.getCoinMetadata(e)}getTransaction(e){return this.core.getTransaction(e)}executeTransaction(e){return this.core.executeTransaction(e)}signAndExecuteTransaction(e){return this.core.signAndExecuteTransaction(e)}waitForTransaction(e){return this.core.waitForTransaction(e)}simulateTransaction(e){return this.core.simulateTransaction(e)}getReferenceGasPrice(){return this.core.getReferenceGasPrice()}listDynamicFields(e){return this.core.listDynamicFields(e)}getDynamicField(e){return this.core.getDynamicField(e)}getMoveFunction(e){return this.core.getMoveFunction(e)}resolveTransactionPlugin(){return this.core.resolveTransactionPlugin()}verifyZkLoginSignature(e){return this.core.verifyZkLoginSignature(e)}defaultNameServiceName(e){return this.core.defaultNameServiceName(e)}};var Wb=Ye(zc());var cr=class e extends Error{constructor(n,r){let s=`${e.extractMessage(n)}: ${JSON.stringify({response:n,request:r})}`;super(s);I(this,"response");I(this,"request");Object.setPrototypeOf(this,e.prototype),this.response=n,this.request=r,typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,e)}static extractMessage(n){return n.errors?.[0]?.message??`GraphQL Error (Code: ${String(n.status)})`}};var al=e=>e.toUpperCase(),Ho=e=>typeof e=="function"?e():e,cl=(e,t)=>e.map((n,r)=>[n,t[r]]),ur=e=>{let t={};return e instanceof Headers?t=GD(e):Array.isArray(e)?e.forEach(([n,r])=>{n&&r!==void 0&&(t[n]=r)}):e&&(t=e),t},GD=e=>{let t={};return e.forEach((n,r)=>{t[r]=n}),t},gb=e=>{try{let t=e();return qD(t)?t.catch(n=>hb(n)):t}catch(t){return hb(t)}},hb=e=>e instanceof Error?e:new Error(String(e)),qD=e=>typeof e=="object"&&e!==null&&"then"in e&&typeof e.then=="function"&&"catch"in e&&typeof e.catch=="function"&&"finally"in e&&typeof e.finally=="function",Wo=e=>{throw new Error(`Unhandled case: ${String(e)}`)},Xs=e=>typeof e=="object"&&e!==null&&!Array.isArray(e);var yb=(e,t)=>e.documents?e:{documents:e,requestHeaders:t,signal:void 0};var bb=(e,t,n)=>e.query?e:{query:e,variables:t,requestHeaders:n,signal:void 0};function $r(e,t){if(!!!e)throw new Error(t)}function Tb(e){return typeof e=="object"&&e!==null}function vb(e,t){if(!!!e)throw new Error(t??"Unexpected invariant triggered.")}var $D=/\r\n|[\n\r]/g;function zr(e,t){let n=0,r=1;for(let s of e.body.matchAll($D)){if(typeof s.index=="number"||vb(!1),s.index>=t)break;n=s.index+s[0].length,r+=1}return{line:r,column:t+1-n}}function ul(e){return Jo(e.source,zr(e.source,e.start))}function Jo(e,t){let n=e.locationOffset.column-1,r="".padStart(n)+e.body,s=t.line-1,i=e.locationOffset.line-1,o=t.line+i,a=t.line===1?n:0,c=t.column+a,u=`${e.name}:${o}:${c}
|