@credenza3/contracts-lib-sui 0.2.8 → 0.2.10

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.
@@ -5,7 +5,7 @@ Keys:
5
5
  ${String(t.keys)}
6
6
 
7
7
  Values:
8
- ${String(r)}`);wa(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=>{va(e,t,r)})}function va(e,t,n){wa(t);for(let r=0;r<t.keys.length;r++)e.clear(t.keys[r]),t.callbacks[r].reject(n)}function wa(e){if(e.cacheHits)for(let t=0;t<e.cacheHits.length;t++)e.cacheHits[t]()}function yT(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 bT(e){let t=e&&e.batchScheduleFn;if(t===void 0)return mT;if(typeof t!="function")throw new TypeError(`batchScheduleFn must be a function: ${t}`);return t}function TT(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 vT(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 wT(e){return e&&e.name?e.name:null}function Gl(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 Ea(e,t){switch(t){case"base58":return Tt(e);case"base64":return X(e);case"hex":return Ye(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 ql=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 xa(BigInt(e),8).forEach(t=>this.write8(t)),this}write128(e){return xa(BigInt(e),16).forEach(t=>this.write8(t)),this}write256(e){return xa(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 Ea(this.toBytes(),e)}};function xa(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,Xe=(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 ql({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 Hl(this,h(this,dr).call(this,t,n))}parse(t){let n=new Cl(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),zl=Symbol.for("@mysten/serialized-bcs");function hr(e){return!!e&&typeof e=="object"&&e[zl]===!0}var is,qt,$l,Hl=($l=class{constructor(e,t){le(this,is);le(this,qt);W(this,is,e),W(this,qt,t)}get[zl](){return!0}toBytes(){return h(this,qt)}toHex(){return Ye(h(this,qt))}toBase64(){return X(h(this,qt))}toBase58(){return Tt(h(this,qt))}parse(){return h(this,is).parse(h(this,qt))}},is=new WeakMap,qt=new WeakMap,$l);function os({size:e,...t}){return new Xe({...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 Wl({serialize:e,...t}){let n=new Xe({...t,serialize:e,write:(r,s)=>{for(let i of n.serialize(r).toBytes())s.write8(i)}});return n}function Jl({toBytes:e,fromBytes:t,...n}){return new Xe({...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 Yl(e){let t=null;function n(){return t||(t=e()),t}return new Xe({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 Xe{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 Xe{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 Xe{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 ET(e,t,n){return new Xe({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 xT(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 kT(e,t){return new Xe({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 ka(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 ST(e,t){return new Xe({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])=>ka(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 Wl({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 Xe({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 Jl({toBytes:t=>new TextEncoder().encode(t),fromBytes:t=>new TextDecoder().decode(t),...e,name:e?.name??"string"})},fixedArray:ET,option:xT,vector:kT,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:ST,lazy(e){return Yl(e)}};var fn=32;function Vn(e){return _T(e)&&OT(e)===fn}function IT(e){return e.includes("::")?$t(e):e}function $t(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=>IT(c.trim())):[];return{address:s?n:Y(n),module:r,name:o,typeParams:a}}function zt(e){let{address:t,module:n,name:r,typeParams:s}=typeof e=="string"?$t(e):e;return`${t}::${n}::${r}${s?.length>0?`<${s.map(i=>typeof i=="string"?i:zt(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 _T(e){return/^(0x|0X)?[a-fA-F0-9]+$/.test(e)&&e.length%2===0}function OT(e){return/^(0x|0X)/.test(e)?(e.length-2)/2:e.length/2}var Sa;function Zl(e){return{lang:e?.lang??Sa?.lang,message:e?.message,abortEarly:e?.abortEarly??Sa?.abortEarly,abortPipeEarly:e?.abortPipeEarly??Sa?.abortPipeEarly}}var NT;function AT(e){return NT?.get(e)}var CT;function RT(e){return CT?.get(e)}var DT;function jT(e,t){return DT?.get(e)?.get(t)}function Kl(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 Ze(e,t,n,r,s){let i=s&&"input"in s?s.input:n.value,o=s?.expected??e.expects??null,a=s?.received??Kl(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??jT(e.reference,c.lang)??(u?RT(c.lang):null)??r.message??AT(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},Zl())}}}function BT(e,t){return Object.hasOwn(e,t)&&t!=="__proto__"&&t!=="prototype"&&t!=="constructor"}function PT(e,t){let n=[...new Set(e)];return n.length>1?`(${n.join(` ${t} `)})`:n[0]??"never"}var LT=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)&&Ze(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)&&Ze(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 MT(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 Ze(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:Ze(this,"type",t,n),t}}}function Ht(e){return{kind:"schema",type:"boolean",reference:Ht,expects:"boolean",async:!1,message:e,get"~standard"(){return Le(this)},"~run"(t,n){return typeof t.value=="boolean"?t.typed=!0:Ze(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:Kl(e),async:!1,literal:e,message:t,get"~standard"(){return Le(this)},"~run"(n,r){return n.value===this.literal?n.typed=!0:Ze(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 Wt(e,t){return{kind:"schema",type:"nullish",reference:Wt,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:Ze(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]=MT(o);else if(o.type!=="exact_optional"&&o.type!=="optional"&&o.type!=="nullish"&&(Ze(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 Ze(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(BT(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 Ze(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:Ze(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 Ze(this,"type",n,r);return n}}}function Xl(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:PT(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];Ze(this,"type",n,r,{issues:Xl(i)}),n.typed=!0}else{if(o?.length===1)return o[0];Ze(this,"type",n,r,{issues:Xl(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},Zl(n));if(r.issues)throw new LT(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")),UT=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())])}))]),FT=_({budget:Z(Ee),price:Z(Ee),owner:Z($n),payment:Z(G(vt))}),jB=_({address:z(),module:z(),name:z(),typeParams:G(z())}),Ia=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(()=>Ia)}),_({$kind:F("datatype"),datatype:_({typeName:z(),typeParameters:G(Gn(()=>Ia))})}),_({$kind:F("typeParameter"),index:ie(de(),he())})]),VT=_({reference:Z(we([F("mutable"),F("immutable"),F("unknown")])),body:Ia}),GT=_({package:qe,module:z(),function:z(),typeArguments:G(z()),arguments:G(ce),_argumentTypes:Te(Z(G(VT)))}),qT=_({name:z(),inputs:qn(z(),we([ce,G(ce)])),data:qn(z(),Ct())}),$T=wt({MoveCall:GT,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:qT}),Ql=wt({ImmOrOwnedObject:vt,SharedObject:_({objectId:qe,initialSharedVersion:Ee,mutable:Ht()}),Receiving:vt}),zT=wt({MaxAmountU64:Ee}),HT=wt({Balance:z()}),WT=wt({Sender:F(!0),Sponsor:F(!0)}),_a=_({reservation:zT,typeArg:HT,withdrawFrom:WT}),JT=wt({Object:Ql,Pure:_({bytes:mn}),UnresolvedPure:_({value:Ct()}),UnresolvedObject:_({objectId:qe,version:Te(Z(Ee)),digest:Te(Z(z())),initialSharedVersion:Te(Z(Ee)),mutable:Te(Z(Ht()))}),FundsWithdrawal:_a}),Oa=wt({Object:Ql,Pure:_({bytes:mn})}),Na=_({minEpoch:Z(Ee),maxEpoch:Z(Ee),minTimestamp:Z(Ee),maxTimestamp:Z(Ee),chain:z(),nonce:UT}),Aa=wt({None:F(!0),Epoch:Ee,ValidDuring:Na}),gr=_({version:F(2),sender:Wt($n),expiration:Wt(Aa),gasData:FT,inputs:G(JT),commands:G($T)});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 ep(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 YT=/^vector<(.+)>$/,XT=/^([^:]+)::([^:]+)::([^<]+)(<(.+)>)?/,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(YT);if(r)return{vector:br.parseFromStr(r[1],n)};let s=t.match(XT);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 ZT(e){return f.u64({name:"unsafe_u64",...e}).transform({input:t=>t,output:t=>Number(t)})}function KT(e){return f.enum("Option",{None:null,Some:e})}var Q=f.bytes(fn).transform({validate:e=>{let t=typeof e=="string"?e:Ye(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(Ye(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")}}),Ke=f.struct("SuiObjectRef",{objectId:Q,version:f.u64(),digest:Me}),Ca=f.struct("SharedObjectRef",{objectId:Q,initialSharedVersion:f.u64(),mutable:f.bool()}),Ra=f.enum("ObjectArg",{ImmOrOwnedObject:Ke,SharedObject:Ca,Receiving:Ke}),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})}),QT=f.enum("Reservation",{MaxAmountU64:f.u64()}),ev=f.enum("WithdrawalType",{Balance:f.lazy(()=>gn)}),tv=f.enum("WithdrawFrom",{Sender:null,Sponsor:null}),nv=f.struct("FundsWithdrawal",{reservation:QT,typeArg:ev,withdrawFrom:tv}),Da=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:Ra,FundsWithdrawal:nv}),ja=f.enum("TypeTag",{bool:null,u8:null,u64:null,u128:null,address:null,signer:null,vector:f.lazy(()=>ja),struct:f.lazy(()=>bi),u16:null,u32:null,u256:null}),gn=ja.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()])}),Ba=f.struct("ProgrammableMoveCall",{package:Q,module:f.string(),function:f.string(),typeArguments:f.vector(gn),arguments:f.vector(Et)}),Pa=f.enum("Command",{MoveCall:Ba,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:KT(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})}),La=f.struct("ProgrammableTransaction",{inputs:f.vector(Da),commands:f.vector(Pa)}),Ma=f.enum("TransactionKind",{ProgrammableTransaction:La,ChangeEpoch:null,Genesis:null,ConsensusCommitPrologue:null}),rv=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()}),Ua=f.enum("TransactionExpiration",{None:null,Epoch:ZT(),ValidDuring:rv}),bi=f.struct("StructTag",{address:Q,module:f.string(),name:f.string(),typeParams:f.vector(ja)}),Fa=f.struct("GasData",{payment:f.vector(Ke),owner:Q,price:f.u64(),budget:f.u64()}),Va=f.struct("TransactionDataV1",{kind:Ma,sender:Q,gasData:Fa,expiration:Ua}),Ga=f.enum("TransactionData",{V1:Va}),qa=f.enum("IntentScope",{TransactionData:null,TransactionEffects:null,CheckpointSummary:null,PersonalMessage:null}),$a=f.enum("IntentVersion",{V0:null}),za=f.enum("AppId",{Sui:null}),Ha=f.struct("Intent",{scope:qa,version:$a,appId:za});function Wa(e){return f.struct(`IntentMessage<${e.name}>`,{intent:Ha,value:e})}var Ja=f.enum("CompressedSignature",{ED25519:f.bytes(64),Secp256k1:f.bytes(64),Secp256r1:f.bytes(64),ZkLogin:f.byteVector(),Passkey:f.byteVector()}),Ya=f.enum("PublicKey",{ED25519:f.bytes(32),Secp256k1:f.bytes(33),Secp256r1:f.bytes(33),ZkLogin:f.byteVector(),Passkey:f.bytes(33)}),Xa=f.struct("MultiSigPkMap",{pubKey:Ya,weight:f.u8()}),Za=f.struct("MultiSigPublicKey",{pk_map:f.vector(Xa),threshold:f.u16()}),tp=f.struct("MultiSig",{sigs:f.vector(Ja),bitmap:f.u16(),multisig_pk:Za}),sv=f.byteVector().transform({input:e=>typeof e=="string"?K(e):e,output:e=>X(new Uint8Array(e))}),Ka=f.struct("SenderSignedTransaction",{intentMessage:Wa(Ga),txSignatures:f.vector(sv)}),np=f.vector(Ka,{name:"SenderSignedData"}),rp=f.struct("PasskeyAuthenticator",{authenticatorData:f.byteVector(),clientDataJson:f.string(),userSignature:f.byteVector()}),Qa=f.enum("MoveObjectType",{Other:bi,GasCoin:null,StakedSui:null,Coin:gn,AccumulatorBalanceWrapper:null}),ec=f.struct("TypeOrigin",{moduleName:f.string(),datatypeName:f.string(),package:Q}),tc=f.struct("UpgradeInfo",{upgradedId:Q,upgradedVersion:f.u64()}),nc=f.struct("MovePackage",{id:Q,version:f.u64(),moduleMap:f.map(f.string(),f.byteVector()),typeOriginTable:f.vector(ec),linkageTable:f.map(Q,tc)}),rc=f.struct("MoveObject",{type:Qa,hasPublicTransfer:f.bool(),version:f.u64(),contents:f.byteVector()}),sc=f.enum("Data",{Move:rc,Package:nc}),sp=f.struct("ObjectInner",{data:sc,owner:Rt,previousTransaction:Me,storageRebate:f.u64()});var iv=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})}),ov=f.struct("ModuleId",{address:Q,name:f.string()}),ip=f.struct("MoveLocation",{module:ov,function:f.u16(),instruction:f.u16(),functionName:f.option(f.string())}),av=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}),cv=f.enum("TypeArgumentError",{TypeNotFound:null,ConstraintNotSatisfied:null}),uv=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(ip),MoveAbort:f.tuple([ip,f.u64()]),VMVerificationOrDeserializationError:null,VMInvariantViolation:null,FunctionNotFound:null,ArityMismatch:null,TypeArityMismatch:null,NonEntryFunctionInvoked:null,CommandArgumentError:f.struct("CommandArgumentError",{argIdx:f.u16(),kind:av}),TypeArgumentError:f.struct("TypeArgumentError",{argumentIdx:f.u16(),kind:cv}),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:iv}),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:uv,command:f.option(f.u64())})}),op=f.struct("GasCostSummary",{computationCost:f.u64(),storageCost:f.u64(),storageRebate:f.u64(),nonRefundableStorageFee:f.u64()}),lv=f.struct("TransactionEffectsV1",{status:Ti,executedEpoch:f.u64(),gasUsed:op,modifiedAtVersions:f.vector(f.tuple([Q,f.u64()])),sharedObjects:f.vector(Ke),transactionDigest:Me,created:f.vector(f.tuple([Ke,Rt])),mutated:f.vector(f.tuple([Ke,Rt])),unwrapped:f.vector(f.tuple([Ke,Rt])),deleted:f.vector(Ke),unwrappedThenDeleted:f.vector(Ke),wrapped:f.vector(Ke),gasObject:f.tuple([Ke,Rt]),eventsDigest:f.option(Me),dependencies:f.vector(Me)}),ic=f.tuple([f.u64(),Me]),pv=f.enum("ObjectIn",{NotExist:null,Exist:f.tuple([ic,Rt])}),fv=f.struct("AccumulatorAddress",{address:Q,ty:gn}),dv=f.enum("AccumulatorOperation",{Merge:null,Split:null}),mv=f.enum("AccumulatorValue",{Integer:f.u64(),IntegerTuple:f.tuple([f.u64(),f.u64()]),EventDigest:f.vector(f.tuple([f.u64(),Me]))}),hv=f.struct("AccumulatorWriteV1",{address:fv,operation:dv,value:mv}),gv=f.enum("ObjectOut",{NotExist:null,ObjectWrite:f.tuple([Me,Rt]),PackageWrite:ic,AccumulatorWriteV1:hv}),yv=f.enum("IDOperation",{None:null,Created:null,Deleted:null}),bv=f.struct("EffectsObjectChange",{inputState:pv,outputState:gv,idOperation:yv}),Tv=f.enum("UnchangedConsensusKind",{ReadOnlyRoot:ic,MutateConsensusStreamEnded:f.u64(),ReadConsensusStreamEnded:f.u64(),Cancelled:f.u64(),PerEpochConfig:null}),vv=f.struct("TransactionEffectsV2",{status:Ti,executedEpoch:f.u64(),gasUsed:op,transactionDigest:Me,gasObjectIndex:f.option(f.u32()),eventsDigest:f.option(Me),dependencies:f.vector(Me),lamportVersion:f.u64(),changedObjects:f.vector(f.tuple([Q,bv])),unchangedConsensusObjects:f.vector(f.tuple([Q,Tv])),auxDataDigest:f.option(Me)}),ap=f.enum("TransactionEffects",{V1:lv,V2:vv});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:za,Argument:Et,CallArg:Da,Command:Pa,CompressedSignature:Ja,Data:sc,GasData:Fa,Intent:Ha,IntentMessage:Wa,IntentScope:qa,IntentVersion:$a,MoveObject:rc,MoveObjectType:Qa,MovePackage:nc,MultiSig:tp,MultiSigPkMap:Xa,MultiSigPublicKey:Za,Object:sp,ObjectArg:Ra,ObjectDigest:Me,Owner:Rt,PasskeyAuthenticator:rp,ProgrammableMoveCall:Ba,ProgrammableTransaction:La,PublicKey:Ya,SenderSignedData:np,SenderSignedTransaction:Ka,SharedObjectRef:Ca,StructTag:bi,SuiObjectRef:Ke,TransactionData:Ga,TransactionDataV1:Va,TransactionEffects:ap,TransactionExpiration:Ua,TransactionKind:Ma,TypeOrigin:ec,TypeTag:gn,UpgradeInfo:tc};var oc=_({digest:z(),objectId:z(),version:we([ie(de(),he()),z(),yi()])}),wv=wt({ImmOrOwned:oc,Shared:_({objectId:qe,initialSharedVersion:Ee,mutable:Ht()}),Receiving:oc}),cp=wt({Object:wv,Pure:G(ie(de(),he()))}),lp=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")})]),Ev=we([_({Epoch:ie(de(),he())}),_({None:Z(F(!0))})]),up=ie(we([de(),z(),yi()]),dn(e=>{if(!["string","number","bigint"].includes(typeof e))return!1;try{return BigInt(e),!0}catch{return!1}})),ac=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(()=>ac)}),_({struct:Gn(()=>xv)}),_({u16:Z(F(!0))}),_({u32:Z(F(!0))}),_({u256:Z(F(!0))})]),xv=_({address:z(),module:z(),name:z(),typeParams:G(ac)}),kv=_({budget:Te(up),price:Te(up),payment:Te(G(oc)),owner:Te(z())}),Sv=[lp,_({kind:F("GasCoin")}),_({kind:F("Result"),index:ie(de(),he())}),_({kind:F("NestedResult"),index:ie(de(),he()),resultIndex:ie(de(),he())})],Xt=we([...Sv]),Iv=_({kind:F("MoveCall"),target:ie(z(),dn(e=>e.split("::").length===3)),typeArguments:G(z()),arguments:G(Xt)}),_v=_({kind:F("TransferObjects"),objects:G(Xt),address:Xt}),Ov=_({kind:F("SplitCoins"),coin:Xt,amounts:G(Xt)}),Nv=_({kind:F("MergeCoins"),destination:Xt,sources:G(Xt)}),Av=_({kind:F("MakeMoveVec"),type:we([_({Some:ac}),_({None:Z(F(!0))})]),objects:G(Xt)}),Cv=we([Iv,_v,Ov,Nv,_({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:Xt}),Av]),iP=_({version:F(1),sender:Te(z()),expiration:Wt(Ev),gasConfig:kv,inputs:G(lp),transactions:G(Cv)});function pp(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=>Jt(r,t))};if(n.MergeCoins)return{kind:"MergeCoins",destination:Jt(n.MergeCoins.destination,t),sources:n.MergeCoins.sources.map(r=>Jt(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=>Jt(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:Jt(n.SplitCoins.coin,t),amounts:n.SplitCoins.amounts.map(r=>Jt(r,t))};if(n.TransferObjects)return{kind:"TransferObjects",objects:n.TransferObjects.objects.map(r=>Jt(r,t)),address:Jt(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:Jt(n.Upgrade.ticket,t)};throw new Error(`Unknown transaction ${Object.keys(n)}`)})}}function Jt(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 fp(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(cp,t.value)){let n=ae(cp,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=>Yt(n))}};case"MergeCoins":return{MergeCoins:{destination:Yt(t.destination),sources:t.sources.map(n=>Yt(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=>Yt(i))}}}case"Publish":return{Publish:{modules:t.modules.map(n=>X(Uint8Array.from(n))),dependencies:t.dependencies}};case"SplitCoins":return{SplitCoins:{coin:Yt(t.coin),amounts:t.amounts.map(n=>Yt(n))}};case"TransferObjects":return{TransferObjects:{objects:t.objects.map(n=>Yt(n)),address:Yt(t.address)}};case"Upgrade":return{Upgrade:{modules:t.modules.map(n=>X(Uint8Array.from(n))),dependencies:t.dependencies,package:t.packageId,ticket:Yt(t.ticket)}}}throw new Error(`Unknown transaction ${Object.keys(t)}`)})})}function Yt(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 Kt(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 mp=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function hp(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}var Dt=mp?e=>e:e=>hp(e);function Rv(e){for(let t=0;t<e.length;t++)e[t]=hp(e[t]);return e}var zn=mp?e=>e:Rv,gp=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",Dv=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function yn(e){if(ee(e),gp)return e.toHex();let t="";for(let n=0;n<e.length;n++)t+=Dv[e[n]];return t}var Zt={_0:48,_9:57,A:65,F:70,a:97,f:102};function dp(e){if(e>=Zt._0&&e<=Zt._9)return e-Zt._0;if(e>=Zt.A&&e<=Zt.F)return e-(Zt.A-10);if(e>=Zt.a&&e<=Zt.f)return e-(Zt.a-10)}function fs(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(gp)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=dp(e.charCodeAt(i)),a=dp(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 jv(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function cc(e,t=""){return typeof e=="string"?jv(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 yp(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 uc(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 bp=e=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])});var Tp=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){Kt(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){Kt(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),vp=BigInt(32);function lc(e,t=!1){return t?{h:Number(e&Si),l:Number(e>>vp&Si)}:{h:Number(e>>vp&Si)|0,l:Number(e&Si)|0}}function wp(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}=lc(e[i],t);[r[i],s[i]]=[o,a]}return[r,s]}var pc=(e,t,n)=>e>>>n,fc=(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,Ep=(e,t)=>t,xp=(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,kp=(e,t,n,r)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0),Sp=(e,t,n,r,s)=>t+n+r+s+(e/2**32|0)|0,Ip=(e,t,n,r,s)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0)+(s>>>0),_p=(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:Ep(E,g),Dl:xp(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 Bv(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 dc=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){Kt(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){Kt(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()}},mc=class extends dc{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);Bv(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}=lc(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=Tp;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)}},Qt=xi(e=>new mc(e));function Np(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),Qt(r,{dkLen:32})}function Ap(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,fp(t)))}static getDigestFromBytes(t){return Tt(Np("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:Ap(c),expiration:a||{None:!0},gasData:{payment:u.payment,owner:Ap(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]);ep(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 Pv(e){return{$kind:"Pure",Pure:{bytes:e instanceof Uint8Array?X(e):e.toBase64()}}}var $e={Pure:Pv,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 LP=BigInt(1e9),Ii="0x0000000000000000000000000000000000000000000000000000000000000001",_i="0x0000000000000000000000000000000000000000000000000000000000000002";var Cp="0x0000000000000000000000000000000000000000000000000000000000000006";var gs=`${_i}::sui::SUI`,hc="0x0000000000000000000000000000000000000000000000000000000000000005",Rp="0x0000000000000000000000000000000000000000000000000000000000000008",Dp="0x0000000000000000000000000000000000000000000000000000000000000403";function jp(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 Bp(e){if(e.body.$kind!=="datatype")return!1;let{package:t,module:n,name:r}=jp(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}=jp(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())])}),Lv=_({budget:Z(Ee),price:Z(Ee),owner:Z($n),payment:Z(G(vt))}),Mv=_({package:qe,module:z(),function:z(),typeArguments:G(z()),arguments:G(xt)}),Uv=_({name:z(),inputs:qn(z(),we([xt,G(xt)])),data:qn(z(),Ct())}),Fv=ys({MoveCall:Mv,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:Uv}),Vv=ys({Object:ys({ImmOrOwnedObject:vt,SharedObject:_({objectId:qe,initialSharedVersion:Ee,mutable:Ht()}),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(Ht()))}),FundsWithdrawal:_a}),Gv=ys({None:F(!0),Epoch:Ee,ValidDuring:Na}),Pp=_({version:F(2),sender:Wt($n),expiration:Wt(Gv),gasData:Lv,inputs:G(Vv),commands:G(Fv),digest:Te(Z(z()))});var qv=class extends Error{},bs=class extends qv{constructor(e,t){super(e,{cause:t?.cause}),this.executionError=t?.executionError}};var $v=50,zv=1000n,Hv=5e10;function Wv(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 Lp(e,t,n){let r=Wv(t);return await Qv(e,r),await Kv(e,r),t.onlyTransactionKind||await Jv(e,r),await n()}async function Jv(e,t){let n=null;e.gasData.price||(n=(await t.core.getCurrentSystemState()).systemState,e.gasData.price=n.referenceGasPrice),await Yv(e,t),await Xv(e,t),e.expiration||await Zv(e,t,n)}async function Yv(e,t){if(e.gasData.budget)return;let n=await t.core.simulateTransaction({transaction:e.build({overrides:{gasData:{budget:String(Hv),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=zv*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 Xv(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 Zv(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 Kv(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,$v):[],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||ew(e,l)}):tw(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 Qv(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&&Bp(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 ew(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 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=rw(s.MoveCall._argumentTypes[i])||n}}),n}var nw="0x0000000000000000000000000000000000000000000000000000000000000002::transfer::Receiving";function rw(e){return e.body.$kind!=="datatype"?!1:e.body.datatype.typeName===nw}function gc(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 Fp(e,t,n){return iw(e),gc(e,t)?(sw(t).core?.resolveTransactionPlugin()??Lp)(e,t,async()=>{await Mp(e),await n()}):(await Mp(e),n())}function Mp(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 sw(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 iw(e){for(let t of e.commands)switch(t.$kind){case"SplitCoins":t.SplitCoins.amounts.forEach(n=>{Up(n,B.U64,e)});break;case"TransferObjects":Up(t.TransferObjects.address,B.Address,e);break}}function Up(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 Vp(e){function t(n){return e(n)}return t.system=n=>{let r=n?.mutable;return t(r!==void 0?$e.SharedObjectRef({objectId:hc,initialSharedVersion:1,mutable:r}):{$kind:"UnresolvedObject",UnresolvedObject:{objectId:hc,initialSharedVersion:1}})},t.clock=()=>t($e.SharedObjectRef({objectId:Cp,initialSharedVersion:1,mutable:!1})),t.random=()=>t({$kind:"UnresolvedObject",UnresolvedObject:{objectId:Rp,mutable:!1}}),t.denyList=n=>t({$kind:"UnresolvedObject",UnresolvedObject:{objectId:Dp,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 Gp(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 qp="2.3.0";var ow="/",aw={"Mvr-Source":`@mysten/sui@${qp}`},Er,Pt,xr,en,ze,yc,bc,Wp,Jp,Tc,zp,Hp=(zp=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,en);W(this,Er,e),W(this,Pt,t),W(this,xr,n),W(this,en,{packages:r?.packages,types:r?.types}),cw(h(this,en))}async resolvePackage({package:e}){return Lt(e)?{package:await h(this,ze,yc).load(e)}:{package:e}}async resolveType({type:e}){if(!Lt(e))return{type:e};let t=[...vc(e)],n=await h(this,ze,bc).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:wc(e,r)}}async resolve({types:e=[],packages:t=[]}){let n=new Set;for(let u of e??[])vc(u,n);let r=[...n],[s,i]=await Promise.all([r.length>0?h(this,ze,bc).loadMany(r):[],t.length>0?h(this,ze,yc).loadMany(t):[]]),o={...h(this,en)?.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:wc(u,o)};let c={};for(let[u,l]of(t??[]).entries()){let p=h(this,en)?.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,en=new WeakMap,ze=new WeakSet,yc=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,Wp).call(this,n);return n.map(s=>r[s]??new Error(`Failed to resolve package: ${s}`))}),t=h(this,en)?.packages;if(t)for(let[n,r]of Object.entries(t))e.prime(n,r);return e})},bc=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,Jp).call(this,n);return n.map(s=>r[s]??new Error(`Failed to resolve type: ${s}`))}),t=h(this,en)?.types;if(t)for(let[n,r]of Object.entries(t))e.prime(n,r);return e})},Wp=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,Tc).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},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,Tc).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},Tc=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",...aw},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()},zp);function cw(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($t(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($t(n).address))throw new Error(`Invalid type: ${n}`)}}function vc(e,t=new Set){if(typeof e=="string"&&!Lt(e))return t;let n=Yp(e)?e:$t(e);Lt(n.address)&&t.add(`${n.address}::${n.module}::${n.name}`);for(let r of n.typeParams)vc(r,t);return t}function wc(e,t){let n=Yp(e)?e:$t(e),r=t[`${n.address}::${n.module}::${n.name}`];return zt({...n,address:r?r.split("::")[0]:n.address,typeParams:n.typeParams.map(s=>wc(s,t))})}function Lt(e){return e.includes(ow)||e.includes("@")||e.includes(".sui")}function Yp(e){return typeof e=="object"&&"address"in e&&"module"in e&&"name"in e&&"typeParams"in e}function Xp(e){let t=new Set,n=new Set;for(let r of e.commands)switch(r.$kind){case"MakeMoveVec":r.MakeMoveVec.type&&$p([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)}$p(s.typeArguments??[]).forEach(o=>{n.add(o)});break;default:break}return{packages:[...t],types:[...n]}}function Zp(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 $p(e){let t=new Set;for(let n of e)if(Lt(n)){if(!Nl(n))throw new Error(`Invalid type with names: ${n}`);t.add(n)}return t}function Kp(){return async(e,t,n)=>{let r=Xp(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()");Zp(e,await t.client.core.mvr.resolve({types:r.types,packages:r.packages})),await n()}}function Ec(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 Qp=Symbol.for("@mysten/transaction");function ef(e){return!!e&&typeof e=="object"&&e[Qp]===!0}var wn,En,Mt,kt,Qe,et,ft,tn,V,re,tf,Ni,Ts,Ai,Ci,xc,kc,nf,rf,xn,P=(xn=class{constructor(){le(this,re);le(this,wn);le(this,En);le(this,Mt,new Map);le(this,kt,[]);le(this,Qe,[]);le(this,et,new Set);le(this,ft,new Set);le(this,tn,new Map);le(this,V);this.object=Vp(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,Qe,h(n,V).commands.slice()),W(n,et,new Set(h(n,Qe).map((r,s)=>s))),n}static from(t){let n=new xn;return ef(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,Qe,h(n,V).commands.slice()),W(n,et,new Set(h(n,Qe).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(Aa,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[Qp](){return!0}get pure(){return Object.defineProperty(this,"pure",{enumerable:!1,value:Gp(t=>hr(t)?fe(this,re,Ts).call(this,"pure",{$kind:"Pure",Pure:{bytes:t.toBase64()}}):fe(this,re,Ts).call(this,"pure",cs(Oa,t)?ae(Oa,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,tn).has(t))return h(this,tn).get(t);let n=fe(this,re,tf).call(this),r=t(n);if(!(r&&typeof r=="object"&&"then"in r))return W(this,et,h(n,et)),h(this,tn).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=Ec(()=>s.$Intent.data.resultIndex);return h(this,tn).set(t,i),i}else fe(this,re,Ni).call(this,t);return Ec(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),Ec(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(pp(h(this,V).snapshot()))}async toJSON(t={}){await this.prepareForSerialization(t);let n=this.isFullyResolved();return JSON.stringify(ae(Pp,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)||gc(h(this,V),{}))}async build(t={}){return await this.prepareForSerialization(t),await fe(this,re,xc).call(this,t),h(this,V).build({onlyTransactionKind:t.onlyTransactionKind})}async getDigest(t={}){return await this.prepareForSerialization(t),await fe(this,re,xc).call(this,t),h(this,V).getDigest()}async prepareForSerialization(t){await fe(this,re,nf).call(this),fe(this,re,rf).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(Kp()),await fe(this,re,kc).call(this,r,t)}},wn=new WeakMap,En=new WeakMap,Mt=new WeakMap,kt=new WeakMap,Qe=new WeakMap,et=new WeakMap,ft=new WeakMap,tn=new WeakMap,V=new WeakMap,re=new WeakSet,tf=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,et,new Set(h(this,et))),W(t,tn,h(this,tn)),h(this,kt).push(h(t,kt)),h(this,Qe).push(h(t,Qe)),t},Ni=function(t){let n=h(this,V).commands.length;return h(this,Qe).push(t),h(this,et).add(n),h(this,V).commands.push(t),h(this,V).mapCommandArguments(n,r=>{if(r.$kind==="Result"&&!h(this,et).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,et).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)},xc=async function(t){if(!t.onlyTransactionKind&&!h(this,V).sender)throw new Error("Missing transaction sender");await fe(this,re,kc).call(this,[...h(this,En),Fp],t)},kc=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,Qe,h(this,V).commands.slice()),W(this,et,new Set(h(this,Qe).map((r,s)=>s)))}},nf=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)}},rf=function(){let t=h(this,V).commands,n=h(this,V).inputs,r=h(this,Qe).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,Qe,i),W(this,kt,s),W(this,et,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 $d=ot(nn()),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,$d.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=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 convertPointsToCRED(t){let n=new P;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:[this.client.CRED.getCredType()]}),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_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_meta_loyalty_v2::set_owner`,arguments:[r.object(await this.getLoyaltyConfig()),r.pure.address(t),r.pure.bool(n)]}),this.client.signAndExecuteTransaction(r)}};var Wd=ot(nn()),Dc=ot(Hd()),Fi=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,Dc.default)(s))return null;let i=await this.getMembershipExpiration(t);return!(0,Dc.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,Wd.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 Vi=ot(nn()),Gi=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,Vi.default)(n,"json.owner_render_data")}async getRenderData(){let t=await this.getAdminCap(),n=await this.client.getObjectGrpc(t);return(0,Vi.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,Vi.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 zc=ot($c()),nt=ot(nn());var Hi=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,nt.default)(i,"json.coin.size"))){let c=await this.client.getDynamicFields((0,nt.default)(i,"json.coin.id"));s=(0,nt.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,nt.default)(s,"json.asset_prices.id"));for(let o of i)if(o.name===`${n}`)if(r){let a=await this.client.getDynamicFields((0,nt.default)(o,"value.price_fiat_for_currency.id"));for(let c of a)if(zc.Buffer.from(c.name,"base64").toString("utf-8")===r)return parseInt(c.value)??0}else return parseInt((0,nt.default)(o,"value.price_fiat"));return 0}async getPriceFiat(t,n){let r=await this.client.getObjectGrpc(t);if(!n||!(0,nt.default)(r,"json.price_fiat_for_currency.id")&&n==="USD")return parseInt((0,nt.default)(r,"json.price_fiat"))??null;{let s=await this.client.getDynamicFields((0,nt.default)(r,"json.price_fiat_for_currency.id"));for(let i of s)if(zc.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,nt.default)(r,"json.asset_prices.id"));for(let i of s)if(i.name===`${n}`)return parseInt((0,nt.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,nt.default)(r,"json.asset_prices.id"));for(let i of s)if(i.name===`${n}`)return parseInt((0,nt.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=ot(nn()),fu=ot(pu()),Zi=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,fu.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,fu.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=ot(nn()),Ki=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 Qi=ot(nn()),eo=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,Qi.default)(n,"json.coin.size")??"0"))return null;let s=(0,Qi.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,Qi.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},ty={ED25519:32,Secp256k1:33,Secp256r1:33,Passkey:33},Rs={0:"ED25519",1:"Secp256k1",2:"Secp256r1",3:"MultiSig",5:"ZkLogin",6:"Passkey"};function no(e,t){return B.IntentMessage(B.bytes(t.length)).serialize({intent:{scope:{[e]:!0},version:{V0:!0},appId:{Sui:!0}},value:t}).toBytes()}function du(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 ny=class{equals(e){return du(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=Qt(no(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(Qt(this.toSuiBytes(),{dkLen:32})).slice(0,fn*2))}};function ry(e){let t=K(e),n=Rs[t[0]];switch(n){case"ED25519":case"Secp256k1":case"Secp256r1":let r=ty[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 sy=wp(["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))),iN=sy[0],oN=sy[1],Sn=new Uint32Array(80),In=new Uint32Array(80),mu=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)^pc(D,$,7),L=Bt(D,$,1)^Bt(D,$,8)^fc(D,$,7),O=Sn[k-2]|0,R=In[k-2]|0,q=jt(O,R,19)^Hn(O,R,61)^pc(O,R,6),oe=Bt(O,R,19)^Wn(O,R,61)^fc(O,R,6),ue=kp(L,oe,In[k-7],In[k-16]),me=Sp(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=Ip(S,$,L,oN[k],In[k]),R=_p(O,C,D,U,iN[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)}},hu=class extends mu{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 hu,bp(3));var oy=BigInt(0),iy=BigInt(1);function so(e,t=""){if(typeof e!="boolean"){let n=t&&`"${t}" `;throw new Error(n+"expected boolean, got type="+typeof e)}return e}function aN(e){if(typeof e=="bigint"){if(!ro(e))throw new Error("positive bigint expected, got "+e)}else Ue(e);return e}function ay(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?oy:BigInt("0x"+e)}function cy(e){return ay(yn(e))}function Mr(e){return ay(yn(io(ee(e)).reverse()))}function gu(e,t){Ue(t),e=aN(e);let n=fs(e.toString(16).padStart(t*2,"0"));if(n.length!==t)throw new Error("number too large");return n}function uy(e,t){return gu(e,t).reverse()}function io(e){return Uint8Array.from(e)}var ro=e=>typeof e=="bigint"&&oy<=e;function cN(e,t,n){return ro(e)&&ro(t)&&ro(n)&&t<=e&&e<n}function yu(e,t,n,r){if(!cN(t,n,r))throw new Error("expected valid "+e+": "+n+" <= n < "+r+", got "+t)}var ly=e=>(iy<<BigInt(e))-iy;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 bu(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),dy=BigInt(3),my=BigInt(4),hy=BigInt(5),uN=BigInt(7),gy=BigInt(8),lN=BigInt(9),yy=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 py(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 vu(e,t,n){if(!e.eql(e.sqr(t),n))throw new Error("Cannot find square root")}function by(e,t){let n=(e.ORDER+Fe)/my,r=e.pow(t,n);return vu(e,r,t),r}function pN(e,t){let n=(e.ORDER-hy)/gy,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 vu(e,a,t),a}function fN(e){let t=ao(e),n=Ty(e),r=n(t,t.neg(t.ONE)),s=n(t,r),i=n(t,t.neg(r)),o=(e+uN)/yy;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 vu(a,x,c),x}}function Ty(e){if(e<dy)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=ao(e);for(;fy(s,r)===1;)if(r++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(n===1)return by;let i=s.pow(r,t),o=(t+Fe)/er;return function(c,u){if(c.is0(u))return u;if(fy(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 dN(e){return e%my===dy?by:e%gy===hy?pN:e%yy===lN?fN(e):Ty(e)}var vy=(e,t)=>(_e(e,t)&Fe)===Fe,mN=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function wy(e){let t={ORDER:"bigint",BYTES:"number",BITS:"number"},n=mN.reduce((r,s)=>(r[s]="function",r),t);return Ds(e,n),e}function hN(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 oo(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 fy(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 gN(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 Tu=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}=gN(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 hN(this,t,n)}div(t,n){return _e(t*py(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 py(t,this.ORDER)}sqrt(t){return this._sqrt||(this._sqrt=dN(this.ORDER)),this._sqrt(this,t)}toBytes(t){return this.isLE?uy(t,this.BYTES):gu(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):cy(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 oo(this,t)}cmov(t,n,r){return r?n:t}};function ao(e,t={}){return new Tu(e,t)}var co=BigInt(0),ku=BigInt(1);function Ey(e,t){let n=t.negate();return e?n:t}function lo(e,t){let n=oo(e.Fp,t.map(r=>r.Z));return t.map((r,s)=>e.fromAffine(r.toAffine(n[s])))}function Iy(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function wu(e,t){Iy(e,t);let n=Math.ceil(t/e)+1,r=2**(e-1),s=2**e,i=ly(e),o=BigInt(e);return{windows:n,windowSize:r,mask:i,maxNumber:s,shiftBy:o}}function xy(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+=ku);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 Eu=new WeakMap,_y=new WeakMap;function xu(e){return _y.get(e)||1}function ky(e){if(e!==co)throw new Error("invalid wNAF")}var uo=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>co;)n&ku&&(r=r.add(s)),s=s.double(),n>>=ku;return r}precomputeWindow(t,n){let{windows:r,windowSize:s}=wu(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=wu(t,this.bits);for(let a=0;a<o.windows;a++){let{nextN:c,offset:u,isZero:l,isNeg:p,isNegF:d,offsetF:y}=xy(r,a,o);r=c,l?i=i.add(Ey(d,n[y])):s=s.add(Ey(p,n[u]))}return ky(r),{p:s,f:i}}wNAFUnsafe(t,n,r,s=this.ZERO){let i=wu(t,this.bits);for(let o=0;o<i.windows&&r!==co;o++){let{nextN:a,offset:c,isZero:u,isNeg:l}=xy(r,o,i);if(r=a,!u){let p=n[c];s=s.add(l?p.negate():p)}}return ky(r),s}getPrecomputes(t,n,r){let s=Eu.get(n);return s||(s=this.precomputeWindow(n,t),t!==1&&(typeof r=="function"&&(s=r(s)),Eu.set(n,s))),s}cached(t,n,r){let s=xu(t);return this.wNAF(s,this.getPrecomputes(s,t,r),n)}unsafe(t,n,r,s){let i=xu(t);return i===1?this._unsafeLadder(t,n,s):this.wNAFUnsafe(i,this.getPrecomputes(i,t,r),n,s)}createCache(t,n){Iy(n,this.bits),_y.set(t,n),Eu.delete(t)}hasCache(t){return xu(t)!==1}};function Sy(e,t,n){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return wy(t),t}else return ao(e,{isLE:n})}function Oy(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>co))throw new Error(`CURVE.${c} must be positive bigint`)}let s=Sy(t.p,n.Fp,r),i=Sy(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 Ny(e,t){return function(r){let s=e(r);return{secretKey:s,publicKey:t(s)}}}var _n=BigInt(0),Re=BigInt(1),Su=BigInt(2),yN=BigInt(8);function bN(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 Ay(e,t={}){let n=Oy("edwards",e,t,t.FpFnLE),{Fp:r,Fn:s}=n,i=n.CURVE,{h:o}=i;Ds(t,{},{uvRatio:"function"});let a=Su<<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(!bN(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 yu("coordinate "+C,S,D,a),S}function p(C){if(!(C instanceof g))throw new Error("EdwardsPoint expected")}let d=bu((C,S)=>{let{X:k,Y:D,Z:$}=C,U=C.is0();S==null&&(S=U?yN: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=bu(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=io(ee(S,D,"point")),so(k,"zip215");let L=io(S),O=S[D-1];L[D-1]=O&-129;let R=Mr(L),q=k?a:r.ORDER;yu("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(Su),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(Su*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),pa=c(pt*bt),El=c(pr*Qr),xl=c(pt*Qr),Xb=c(bt*pr);return new x(pa,El,Xb,xl)}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,$=>lo(x,$));return lo(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=>lo(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 uo(g,s.BITS);return g.BASE.precompute(8),g}function Cy(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||uc,c=n.adjustScalarBytes||(O=>O),u=n.domain||((O,R,q)=>{if(so(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&&so(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 pa=g(ue,pr.toBytes(),bt.toBytes(),R);return pr.add(bt.multiplyUnsafe(pa)).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:Ny(D,y),getPublicKey:y,sign:E,verify:C,utils:L,Point:e,lengths:k})}var TN=BigInt(1),Ry=BigInt(2);var vN=BigInt(5),wN=BigInt(8),Iu=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),EN={p:Iu,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:wN,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function xN(e){let t=BigInt(10),n=BigInt(20),r=BigInt(40),s=BigInt(80),i=Iu,a=e*e%i*e%i,c=It(a,Ry,i)*a%i,u=It(c,TN,i)*e%i,l=It(u,vN,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,Ry,i)*e%i,b2:a}}function kN(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var Dy=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function SN(e,t){let n=Iu,r=_e(t*t*t,n),s=_e(r*r*t,n),i=xN(e*s).pow_p_5_8,o=_e(e*r*i,n),a=_e(t*o*o,n),c=o,u=_e(o*Dy,n),l=a===e,p=a===_e(-e,n),d=a===_e(-e*Dy,n);return l&&(o=c),(p||d)&&(o=u),vy(o,n)&&(o=_e(-o,n)),{isValid:l||p,value:o}}var IN=Ay(EN,{uvRatio:SN});function _N(e){return Cy(IN,Qn,Object.assign({adjustScalarBytes:kN},e))}var _t=_N({});var _u=32,Ur,jy=(Ur=class extends ny{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!==_u)throw new Error(`Invalid public key input. Expected ${_u} 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=ry(n);if(s.signatureScheme!=="ED25519")throw new Error("Invalid signature scheme");if(!du(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=_u,Ur);var po=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 Kt(this),this.iHash.update(t),this}digestInto(t){Kt(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 po(e,t).update(n).digest();Fr.create=(e,t)=>new po(e,t);function ON(e,t,n,r){wi(e);let s=yp({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=cc(t,"password"),u=cc(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 NN(e,t,n,r,s){return e.destroy(),t.destroy(),r&&r.destroy(),at(s),n}function By(e,t,n,r){let{c:s,dkLen:i,DK:o,PRF:a,PRFSalt:c}=ON(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 NN(a,c,o,u,d)}function Py(e){if(typeof e!="string")throw new TypeError("invalid mnemonic type: "+typeof e);return e.normalize("NFKD")}function AN(e){let t=Py(e),n=t.split(" ");if(![12,15,18,21,24].includes(n.length))throw new Error("Invalid mnemonic");return{nfkd:t,words:n}}var CN=e=>Py("mnemonic"+e);function Ly(e,t=""){return By(Qn,AN(e).nfkd,CN(t),{c:2048,dkLen:64})}function Ou(e){return!!new RegExp("^m\\/44'\\/784'\\/[0-9]+'\\/[0-9]+'\\/[0-9]+'+$").test(e)}function RN(e){return Ly(e,"")}function My(e){return Ye(RN(e))}function Uy({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 Fy="suiprivkey",DN=class{async signWithIntent(e,t){let n=Qt(no(t,e),{dkLen:32});return{signature:Uy({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()}},Vy=class extends DN{};function Gy(e){let{prefix:t,words:n}=rs.decode(e);if(t!==Fy)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 qy(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(Fy,rs.toWords(r))}var jN="ed25519 seed",BN=2147483648,PN=new RegExp("^m(\\/[0-9]+')+$"),$y=e=>e.replace("'",""),LN=e=>{let t=Fr.create(Qn,new TextEncoder().encode(jN)).update(At(e)).digest();return{key:t.slice(0,32),chainCode:t.slice(32)}},MN=({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)}},UN=e=>PN.test(e)?!e.split("/").slice(1).map($y).some(isNaN):!1,Nu=(e,t,n=BN)=>{if(!UN(e))throw new Error("Invalid derivation path");let{key:r,chainCode:s}=LN(t);return e.split("/").slice(1).map($y).map(i=>parseInt(i,10)).reduce((i,o)=>MN(i,o+n),{key:r,chainCode:s})};var Au="m/44'/784'/0'/0'/0'",Cu=class Bs extends Vy{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=Gy(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 jy(this.keypair.publicKey)}getSecretKey(){return qy(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=Au),!Ou(n))throw new Error("Invalid derivation path");let{key:r}=Nu(n,My(t));return Bs.fromSecretKey(r)}static deriveKeypairFromSeed(t,n){if(n==null&&(n=Au),!Ou(n))throw new Error("Invalid derivation path");let{key:r}=Nu(n,t);return Bs.fromSecretKey(r)}};function zy(e,t,n){let r=B.Address.serialize(e).toBytes(),s=B.TypeTag.serialize(t).toBytes(),i=B.u64().serialize(n.length).toBytes(),o=Qt.create({dkLen:32});return o.update(new Uint8Array([240])),o.update(r),o.update(i),o.update(n),o.update(s),`0x${Ye(o.digest().slice(0,32))}`}var On,Ve,Vr,Hy=(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 fo=class{constructor({network:e,base:t,cache:n=t?.cache??new Hy}){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 FN={mainnet:"https://mainnet.mvr.mystenlabs.com",testnet:"https://testnet.mvr.mystenlabs.com"},Wy=class extends fo{constructor(e){super(e),this.core=this,this.mvr=new Hp({cache:this.cache.scope("core.mvr"),url:e.mvr?.url??FN[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=zy(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=$t(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]:zt(s.typeParams[0]),bcs:e.name.bcs},value:{type:typeof s.typeParams[1]=="string"?s.typeParams[1]:zt(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 VN=new Intl.PluralRules("en-US",{type:"ordinal"}),GN=new Map([["one","st"],["two","nd"],["few","rd"],["other","th"]]);function qN(e){return`${e}${GN.get(VN.select(e))}`}function Xy(e){let{command:t,location:n,abortCode:r,cleverError:s}=e,i=[];if(t!=null?i.push(`MoveAbort in ${qN(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 Jy=B.struct("MinimalEffectsWithError",{status:Ti}),q3=B.enum("MinimalTransactionEffectsWithError",{V1:Jy,V2:Jy}),$N=B.enum("MinimalExecutionStatusNoError",{Success:null,Failed:null}),Yy=B.struct("MinimalEffectsNoError",{status:$N}),$3=B.enum("MinimalTransactionEffectsNoError",{V1:Yy,V2:Yy});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(""),mo=[];for(let e=0;e<on.length;e++)mo[on[e].charCodeAt(0)]=e;mo[45]=on.indexOf("+");mo[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=mo[e.charCodeAt(a)],i===void 0)switch(e[a]){case"=":s=0;case`
8
+ ${String(r)}`);wa(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=>{va(e,t,r)})}function va(e,t,n){wa(t);for(let r=0;r<t.keys.length;r++)e.clear(t.keys[r]),t.callbacks[r].reject(n)}function wa(e){if(e.cacheHits)for(let t=0;t<e.cacheHits.length;t++)e.cacheHits[t]()}function yT(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 bT(e){let t=e&&e.batchScheduleFn;if(t===void 0)return mT;if(typeof t!="function")throw new TypeError(`batchScheduleFn must be a function: ${t}`);return t}function TT(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 vT(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 wT(e){return e&&e.name?e.name:null}function Gl(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 Ea(e,t){switch(t){case"base58":return Tt(e);case"base64":return X(e);case"hex":return Ye(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 ql=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 xa(BigInt(e),8).forEach(t=>this.write8(t)),this}write128(e){return xa(BigInt(e),16).forEach(t=>this.write8(t)),this}write256(e){return xa(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 Ea(this.toBytes(),e)}};function xa(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,Xe=(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 ql({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 Hl(this,h(this,dr).call(this,t,n))}parse(t){let n=new Cl(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),zl=Symbol.for("@mysten/serialized-bcs");function hr(e){return!!e&&typeof e=="object"&&e[zl]===!0}var is,qt,$l,Hl=($l=class{constructor(e,t){le(this,is);le(this,qt);W(this,is,e),W(this,qt,t)}get[zl](){return!0}toBytes(){return h(this,qt)}toHex(){return Ye(h(this,qt))}toBase64(){return X(h(this,qt))}toBase58(){return Tt(h(this,qt))}parse(){return h(this,is).parse(h(this,qt))}},is=new WeakMap,qt=new WeakMap,$l);function os({size:e,...t}){return new Xe({...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 Wl({serialize:e,...t}){let n=new Xe({...t,serialize:e,write:(r,s)=>{for(let i of n.serialize(r).toBytes())s.write8(i)}});return n}function Jl({toBytes:e,fromBytes:t,...n}){return new Xe({...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 Yl(e){let t=null;function n(){return t||(t=e()),t}return new Xe({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 Xe{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 Xe{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 Xe{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 ET(e,t,n){return new Xe({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 xT(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 kT(e,t){return new Xe({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 ka(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 ST(e,t){return new Xe({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])=>ka(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 Wl({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 Xe({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 Jl({toBytes:t=>new TextEncoder().encode(t),fromBytes:t=>new TextDecoder().decode(t),...e,name:e?.name??"string"})},fixedArray:ET,option:xT,vector:kT,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:ST,lazy(e){return Yl(e)}};var fn=32;function Vn(e){return _T(e)&&OT(e)===fn}function IT(e){return e.includes("::")?$t(e):e}function $t(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=>IT(c.trim())):[];return{address:s?n:Y(n),module:r,name:o,typeParams:a}}function zt(e){let{address:t,module:n,name:r,typeParams:s}=typeof e=="string"?$t(e):e;return`${t}::${n}::${r}${s?.length>0?`<${s.map(i=>typeof i=="string"?i:zt(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 _T(e){return/^(0x|0X)?[a-fA-F0-9]+$/.test(e)&&e.length%2===0}function OT(e){return/^(0x|0X)/.test(e)?(e.length-2)/2:e.length/2}var Sa;function Zl(e){return{lang:e?.lang??Sa?.lang,message:e?.message,abortEarly:e?.abortEarly??Sa?.abortEarly,abortPipeEarly:e?.abortPipeEarly??Sa?.abortPipeEarly}}var NT;function AT(e){return NT?.get(e)}var CT;function RT(e){return CT?.get(e)}var DT;function jT(e,t){return DT?.get(e)?.get(t)}function Kl(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 Ze(e,t,n,r,s){let i=s&&"input"in s?s.input:n.value,o=s?.expected??e.expects??null,a=s?.received??Kl(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??jT(e.reference,c.lang)??(u?RT(c.lang):null)??r.message??AT(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},Zl())}}}function BT(e,t){return Object.hasOwn(e,t)&&t!=="__proto__"&&t!=="prototype"&&t!=="constructor"}function PT(e,t){let n=[...new Set(e)];return n.length>1?`(${n.join(` ${t} `)})`:n[0]??"never"}var LT=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)&&Ze(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)&&Ze(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 MT(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 Ze(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:Ze(this,"type",t,n),t}}}function Ht(e){return{kind:"schema",type:"boolean",reference:Ht,expects:"boolean",async:!1,message:e,get"~standard"(){return Le(this)},"~run"(t,n){return typeof t.value=="boolean"?t.typed=!0:Ze(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:Kl(e),async:!1,literal:e,message:t,get"~standard"(){return Le(this)},"~run"(n,r){return n.value===this.literal?n.typed=!0:Ze(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 Wt(e,t){return{kind:"schema",type:"nullish",reference:Wt,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:Ze(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]=MT(o);else if(o.type!=="exact_optional"&&o.type!=="optional"&&o.type!=="nullish"&&(Ze(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 Ze(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(BT(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 Ze(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:Ze(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 Ze(this,"type",n,r);return n}}}function Xl(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:PT(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];Ze(this,"type",n,r,{issues:Xl(i)}),n.typed=!0}else{if(o?.length===1)return o[0];Ze(this,"type",n,r,{issues:Xl(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},Zl(n));if(r.issues)throw new LT(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")),UT=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())])}))]),FT=_({budget:Z(Ee),price:Z(Ee),owner:Z($n),payment:Z(G(vt))}),jB=_({address:z(),module:z(),name:z(),typeParams:G(z())}),Ia=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(()=>Ia)}),_({$kind:F("datatype"),datatype:_({typeName:z(),typeParameters:G(Gn(()=>Ia))})}),_({$kind:F("typeParameter"),index:ie(de(),he())})]),VT=_({reference:Z(we([F("mutable"),F("immutable"),F("unknown")])),body:Ia}),GT=_({package:qe,module:z(),function:z(),typeArguments:G(z()),arguments:G(ce),_argumentTypes:Te(Z(G(VT)))}),qT=_({name:z(),inputs:qn(z(),we([ce,G(ce)])),data:qn(z(),Ct())}),$T=wt({MoveCall:GT,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:qT}),Ql=wt({ImmOrOwnedObject:vt,SharedObject:_({objectId:qe,initialSharedVersion:Ee,mutable:Ht()}),Receiving:vt}),zT=wt({MaxAmountU64:Ee}),HT=wt({Balance:z()}),WT=wt({Sender:F(!0),Sponsor:F(!0)}),_a=_({reservation:zT,typeArg:HT,withdrawFrom:WT}),JT=wt({Object:Ql,Pure:_({bytes:mn}),UnresolvedPure:_({value:Ct()}),UnresolvedObject:_({objectId:qe,version:Te(Z(Ee)),digest:Te(Z(z())),initialSharedVersion:Te(Z(Ee)),mutable:Te(Z(Ht()))}),FundsWithdrawal:_a}),Oa=wt({Object:Ql,Pure:_({bytes:mn})}),Na=_({minEpoch:Z(Ee),maxEpoch:Z(Ee),minTimestamp:Z(Ee),maxTimestamp:Z(Ee),chain:z(),nonce:UT}),Aa=wt({None:F(!0),Epoch:Ee,ValidDuring:Na}),gr=_({version:F(2),sender:Wt($n),expiration:Wt(Aa),gasData:FT,inputs:G(JT),commands:G($T)});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 ep(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 YT=/^vector<(.+)>$/,XT=/^([^:]+)::([^:]+)::([^<]+)(<(.+)>)?/,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(YT);if(r)return{vector:br.parseFromStr(r[1],n)};let s=t.match(XT);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 ZT(e){return f.u64({name:"unsafe_u64",...e}).transform({input:t=>t,output:t=>Number(t)})}function KT(e){return f.enum("Option",{None:null,Some:e})}var Q=f.bytes(fn).transform({validate:e=>{let t=typeof e=="string"?e:Ye(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(Ye(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")}}),Ke=f.struct("SuiObjectRef",{objectId:Q,version:f.u64(),digest:Me}),Ca=f.struct("SharedObjectRef",{objectId:Q,initialSharedVersion:f.u64(),mutable:f.bool()}),Ra=f.enum("ObjectArg",{ImmOrOwnedObject:Ke,SharedObject:Ca,Receiving:Ke}),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})}),QT=f.enum("Reservation",{MaxAmountU64:f.u64()}),ev=f.enum("WithdrawalType",{Balance:f.lazy(()=>gn)}),tv=f.enum("WithdrawFrom",{Sender:null,Sponsor:null}),nv=f.struct("FundsWithdrawal",{reservation:QT,typeArg:ev,withdrawFrom:tv}),Da=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:Ra,FundsWithdrawal:nv}),ja=f.enum("TypeTag",{bool:null,u8:null,u64:null,u128:null,address:null,signer:null,vector:f.lazy(()=>ja),struct:f.lazy(()=>bi),u16:null,u32:null,u256:null}),gn=ja.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()])}),Ba=f.struct("ProgrammableMoveCall",{package:Q,module:f.string(),function:f.string(),typeArguments:f.vector(gn),arguments:f.vector(Et)}),Pa=f.enum("Command",{MoveCall:Ba,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:KT(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})}),La=f.struct("ProgrammableTransaction",{inputs:f.vector(Da),commands:f.vector(Pa)}),Ma=f.enum("TransactionKind",{ProgrammableTransaction:La,ChangeEpoch:null,Genesis:null,ConsensusCommitPrologue:null}),rv=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()}),Ua=f.enum("TransactionExpiration",{None:null,Epoch:ZT(),ValidDuring:rv}),bi=f.struct("StructTag",{address:Q,module:f.string(),name:f.string(),typeParams:f.vector(ja)}),Fa=f.struct("GasData",{payment:f.vector(Ke),owner:Q,price:f.u64(),budget:f.u64()}),Va=f.struct("TransactionDataV1",{kind:Ma,sender:Q,gasData:Fa,expiration:Ua}),Ga=f.enum("TransactionData",{V1:Va}),qa=f.enum("IntentScope",{TransactionData:null,TransactionEffects:null,CheckpointSummary:null,PersonalMessage:null}),$a=f.enum("IntentVersion",{V0:null}),za=f.enum("AppId",{Sui:null}),Ha=f.struct("Intent",{scope:qa,version:$a,appId:za});function Wa(e){return f.struct(`IntentMessage<${e.name}>`,{intent:Ha,value:e})}var Ja=f.enum("CompressedSignature",{ED25519:f.bytes(64),Secp256k1:f.bytes(64),Secp256r1:f.bytes(64),ZkLogin:f.byteVector(),Passkey:f.byteVector()}),Ya=f.enum("PublicKey",{ED25519:f.bytes(32),Secp256k1:f.bytes(33),Secp256r1:f.bytes(33),ZkLogin:f.byteVector(),Passkey:f.bytes(33)}),Xa=f.struct("MultiSigPkMap",{pubKey:Ya,weight:f.u8()}),Za=f.struct("MultiSigPublicKey",{pk_map:f.vector(Xa),threshold:f.u16()}),tp=f.struct("MultiSig",{sigs:f.vector(Ja),bitmap:f.u16(),multisig_pk:Za}),sv=f.byteVector().transform({input:e=>typeof e=="string"?K(e):e,output:e=>X(new Uint8Array(e))}),Ka=f.struct("SenderSignedTransaction",{intentMessage:Wa(Ga),txSignatures:f.vector(sv)}),np=f.vector(Ka,{name:"SenderSignedData"}),rp=f.struct("PasskeyAuthenticator",{authenticatorData:f.byteVector(),clientDataJson:f.string(),userSignature:f.byteVector()}),Qa=f.enum("MoveObjectType",{Other:bi,GasCoin:null,StakedSui:null,Coin:gn,AccumulatorBalanceWrapper:null}),ec=f.struct("TypeOrigin",{moduleName:f.string(),datatypeName:f.string(),package:Q}),tc=f.struct("UpgradeInfo",{upgradedId:Q,upgradedVersion:f.u64()}),nc=f.struct("MovePackage",{id:Q,version:f.u64(),moduleMap:f.map(f.string(),f.byteVector()),typeOriginTable:f.vector(ec),linkageTable:f.map(Q,tc)}),rc=f.struct("MoveObject",{type:Qa,hasPublicTransfer:f.bool(),version:f.u64(),contents:f.byteVector()}),sc=f.enum("Data",{Move:rc,Package:nc}),sp=f.struct("ObjectInner",{data:sc,owner:Rt,previousTransaction:Me,storageRebate:f.u64()});var iv=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})}),ov=f.struct("ModuleId",{address:Q,name:f.string()}),ip=f.struct("MoveLocation",{module:ov,function:f.u16(),instruction:f.u16(),functionName:f.option(f.string())}),av=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}),cv=f.enum("TypeArgumentError",{TypeNotFound:null,ConstraintNotSatisfied:null}),uv=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(ip),MoveAbort:f.tuple([ip,f.u64()]),VMVerificationOrDeserializationError:null,VMInvariantViolation:null,FunctionNotFound:null,ArityMismatch:null,TypeArityMismatch:null,NonEntryFunctionInvoked:null,CommandArgumentError:f.struct("CommandArgumentError",{argIdx:f.u16(),kind:av}),TypeArgumentError:f.struct("TypeArgumentError",{argumentIdx:f.u16(),kind:cv}),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:iv}),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:uv,command:f.option(f.u64())})}),op=f.struct("GasCostSummary",{computationCost:f.u64(),storageCost:f.u64(),storageRebate:f.u64(),nonRefundableStorageFee:f.u64()}),lv=f.struct("TransactionEffectsV1",{status:Ti,executedEpoch:f.u64(),gasUsed:op,modifiedAtVersions:f.vector(f.tuple([Q,f.u64()])),sharedObjects:f.vector(Ke),transactionDigest:Me,created:f.vector(f.tuple([Ke,Rt])),mutated:f.vector(f.tuple([Ke,Rt])),unwrapped:f.vector(f.tuple([Ke,Rt])),deleted:f.vector(Ke),unwrappedThenDeleted:f.vector(Ke),wrapped:f.vector(Ke),gasObject:f.tuple([Ke,Rt]),eventsDigest:f.option(Me),dependencies:f.vector(Me)}),ic=f.tuple([f.u64(),Me]),pv=f.enum("ObjectIn",{NotExist:null,Exist:f.tuple([ic,Rt])}),fv=f.struct("AccumulatorAddress",{address:Q,ty:gn}),dv=f.enum("AccumulatorOperation",{Merge:null,Split:null}),mv=f.enum("AccumulatorValue",{Integer:f.u64(),IntegerTuple:f.tuple([f.u64(),f.u64()]),EventDigest:f.vector(f.tuple([f.u64(),Me]))}),hv=f.struct("AccumulatorWriteV1",{address:fv,operation:dv,value:mv}),gv=f.enum("ObjectOut",{NotExist:null,ObjectWrite:f.tuple([Me,Rt]),PackageWrite:ic,AccumulatorWriteV1:hv}),yv=f.enum("IDOperation",{None:null,Created:null,Deleted:null}),bv=f.struct("EffectsObjectChange",{inputState:pv,outputState:gv,idOperation:yv}),Tv=f.enum("UnchangedConsensusKind",{ReadOnlyRoot:ic,MutateConsensusStreamEnded:f.u64(),ReadConsensusStreamEnded:f.u64(),Cancelled:f.u64(),PerEpochConfig:null}),vv=f.struct("TransactionEffectsV2",{status:Ti,executedEpoch:f.u64(),gasUsed:op,transactionDigest:Me,gasObjectIndex:f.option(f.u32()),eventsDigest:f.option(Me),dependencies:f.vector(Me),lamportVersion:f.u64(),changedObjects:f.vector(f.tuple([Q,bv])),unchangedConsensusObjects:f.vector(f.tuple([Q,Tv])),auxDataDigest:f.option(Me)}),ap=f.enum("TransactionEffects",{V1:lv,V2:vv});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:za,Argument:Et,CallArg:Da,Command:Pa,CompressedSignature:Ja,Data:sc,GasData:Fa,Intent:Ha,IntentMessage:Wa,IntentScope:qa,IntentVersion:$a,MoveObject:rc,MoveObjectType:Qa,MovePackage:nc,MultiSig:tp,MultiSigPkMap:Xa,MultiSigPublicKey:Za,Object:sp,ObjectArg:Ra,ObjectDigest:Me,Owner:Rt,PasskeyAuthenticator:rp,ProgrammableMoveCall:Ba,ProgrammableTransaction:La,PublicKey:Ya,SenderSignedData:np,SenderSignedTransaction:Ka,SharedObjectRef:Ca,StructTag:bi,SuiObjectRef:Ke,TransactionData:Ga,TransactionDataV1:Va,TransactionEffects:ap,TransactionExpiration:Ua,TransactionKind:Ma,TypeOrigin:ec,TypeTag:gn,UpgradeInfo:tc};var oc=_({digest:z(),objectId:z(),version:we([ie(de(),he()),z(),yi()])}),wv=wt({ImmOrOwned:oc,Shared:_({objectId:qe,initialSharedVersion:Ee,mutable:Ht()}),Receiving:oc}),cp=wt({Object:wv,Pure:G(ie(de(),he()))}),lp=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")})]),Ev=we([_({Epoch:ie(de(),he())}),_({None:Z(F(!0))})]),up=ie(we([de(),z(),yi()]),dn(e=>{if(!["string","number","bigint"].includes(typeof e))return!1;try{return BigInt(e),!0}catch{return!1}})),ac=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(()=>ac)}),_({struct:Gn(()=>xv)}),_({u16:Z(F(!0))}),_({u32:Z(F(!0))}),_({u256:Z(F(!0))})]),xv=_({address:z(),module:z(),name:z(),typeParams:G(ac)}),kv=_({budget:Te(up),price:Te(up),payment:Te(G(oc)),owner:Te(z())}),Sv=[lp,_({kind:F("GasCoin")}),_({kind:F("Result"),index:ie(de(),he())}),_({kind:F("NestedResult"),index:ie(de(),he()),resultIndex:ie(de(),he())})],Xt=we([...Sv]),Iv=_({kind:F("MoveCall"),target:ie(z(),dn(e=>e.split("::").length===3)),typeArguments:G(z()),arguments:G(Xt)}),_v=_({kind:F("TransferObjects"),objects:G(Xt),address:Xt}),Ov=_({kind:F("SplitCoins"),coin:Xt,amounts:G(Xt)}),Nv=_({kind:F("MergeCoins"),destination:Xt,sources:G(Xt)}),Av=_({kind:F("MakeMoveVec"),type:we([_({Some:ac}),_({None:Z(F(!0))})]),objects:G(Xt)}),Cv=we([Iv,_v,Ov,Nv,_({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:Xt}),Av]),iP=_({version:F(1),sender:Te(z()),expiration:Wt(Ev),gasConfig:kv,inputs:G(lp),transactions:G(Cv)});function pp(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=>Jt(r,t))};if(n.MergeCoins)return{kind:"MergeCoins",destination:Jt(n.MergeCoins.destination,t),sources:n.MergeCoins.sources.map(r=>Jt(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=>Jt(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:Jt(n.SplitCoins.coin,t),amounts:n.SplitCoins.amounts.map(r=>Jt(r,t))};if(n.TransferObjects)return{kind:"TransferObjects",objects:n.TransferObjects.objects.map(r=>Jt(r,t)),address:Jt(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:Jt(n.Upgrade.ticket,t)};throw new Error(`Unknown transaction ${Object.keys(n)}`)})}}function Jt(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 fp(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(cp,t.value)){let n=ae(cp,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=>Yt(n))}};case"MergeCoins":return{MergeCoins:{destination:Yt(t.destination),sources:t.sources.map(n=>Yt(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=>Yt(i))}}}case"Publish":return{Publish:{modules:t.modules.map(n=>X(Uint8Array.from(n))),dependencies:t.dependencies}};case"SplitCoins":return{SplitCoins:{coin:Yt(t.coin),amounts:t.amounts.map(n=>Yt(n))}};case"TransferObjects":return{TransferObjects:{objects:t.objects.map(n=>Yt(n)),address:Yt(t.address)}};case"Upgrade":return{Upgrade:{modules:t.modules.map(n=>X(Uint8Array.from(n))),dependencies:t.dependencies,package:t.packageId,ticket:Yt(t.ticket)}}}throw new Error(`Unknown transaction ${Object.keys(t)}`)})})}function Yt(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 Kt(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 mp=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function hp(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}var Dt=mp?e=>e:e=>hp(e);function Rv(e){for(let t=0;t<e.length;t++)e[t]=hp(e[t]);return e}var zn=mp?e=>e:Rv,gp=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",Dv=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function yn(e){if(ee(e),gp)return e.toHex();let t="";for(let n=0;n<e.length;n++)t+=Dv[e[n]];return t}var Zt={_0:48,_9:57,A:65,F:70,a:97,f:102};function dp(e){if(e>=Zt._0&&e<=Zt._9)return e-Zt._0;if(e>=Zt.A&&e<=Zt.F)return e-(Zt.A-10);if(e>=Zt.a&&e<=Zt.f)return e-(Zt.a-10)}function fs(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(gp)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=dp(e.charCodeAt(i)),a=dp(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 jv(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function cc(e,t=""){return typeof e=="string"?jv(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 yp(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 uc(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 bp=e=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])});var Tp=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){Kt(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){Kt(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),vp=BigInt(32);function lc(e,t=!1){return t?{h:Number(e&Si),l:Number(e>>vp&Si)}:{h:Number(e>>vp&Si)|0,l:Number(e&Si)|0}}function wp(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}=lc(e[i],t);[r[i],s[i]]=[o,a]}return[r,s]}var pc=(e,t,n)=>e>>>n,fc=(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,Ep=(e,t)=>t,xp=(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,kp=(e,t,n,r)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0),Sp=(e,t,n,r,s)=>t+n+r+s+(e/2**32|0)|0,Ip=(e,t,n,r,s)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0)+(s>>>0),_p=(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:Ep(E,g),Dl:xp(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 Bv(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 dc=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){Kt(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){Kt(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()}},mc=class extends dc{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);Bv(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}=lc(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=Tp;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)}},Qt=xi(e=>new mc(e));function Np(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),Qt(r,{dkLen:32})}function Ap(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,fp(t)))}static getDigestFromBytes(t){return Tt(Np("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:Ap(c),expiration:a||{None:!0},gasData:{payment:u.payment,owner:Ap(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]);ep(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 Pv(e){return{$kind:"Pure",Pure:{bytes:e instanceof Uint8Array?X(e):e.toBase64()}}}var $e={Pure:Pv,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 LP=BigInt(1e9),Ii="0x0000000000000000000000000000000000000000000000000000000000000001",_i="0x0000000000000000000000000000000000000000000000000000000000000002";var Cp="0x0000000000000000000000000000000000000000000000000000000000000006";var gs=`${_i}::sui::SUI`,hc="0x0000000000000000000000000000000000000000000000000000000000000005",Rp="0x0000000000000000000000000000000000000000000000000000000000000008",Dp="0x0000000000000000000000000000000000000000000000000000000000000403";function jp(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 Bp(e){if(e.body.$kind!=="datatype")return!1;let{package:t,module:n,name:r}=jp(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}=jp(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())])}),Lv=_({budget:Z(Ee),price:Z(Ee),owner:Z($n),payment:Z(G(vt))}),Mv=_({package:qe,module:z(),function:z(),typeArguments:G(z()),arguments:G(xt)}),Uv=_({name:z(),inputs:qn(z(),we([xt,G(xt)])),data:qn(z(),Ct())}),Fv=ys({MoveCall:Mv,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:Uv}),Vv=ys({Object:ys({ImmOrOwnedObject:vt,SharedObject:_({objectId:qe,initialSharedVersion:Ee,mutable:Ht()}),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(Ht()))}),FundsWithdrawal:_a}),Gv=ys({None:F(!0),Epoch:Ee,ValidDuring:Na}),Pp=_({version:F(2),sender:Wt($n),expiration:Wt(Gv),gasData:Lv,inputs:G(Vv),commands:G(Fv),digest:Te(Z(z()))});var qv=class extends Error{},bs=class extends qv{constructor(e,t){super(e,{cause:t?.cause}),this.executionError=t?.executionError}};var $v=50,zv=1000n,Hv=5e10;function Wv(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 Lp(e,t,n){let r=Wv(t);return await Qv(e,r),await Kv(e,r),t.onlyTransactionKind||await Jv(e,r),await n()}async function Jv(e,t){let n=null;e.gasData.price||(n=(await t.core.getCurrentSystemState()).systemState,e.gasData.price=n.referenceGasPrice),await Yv(e,t),await Xv(e,t),e.expiration||await Zv(e,t,n)}async function Yv(e,t){if(e.gasData.budget)return;let n=await t.core.simulateTransaction({transaction:e.build({overrides:{gasData:{budget:String(Hv),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=zv*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 Xv(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 Zv(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 Kv(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,$v):[],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||ew(e,l)}):tw(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 Qv(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&&Bp(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 ew(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 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=rw(s.MoveCall._argumentTypes[i])||n}}),n}var nw="0x0000000000000000000000000000000000000000000000000000000000000002::transfer::Receiving";function rw(e){return e.body.$kind!=="datatype"?!1:e.body.datatype.typeName===nw}function gc(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 Fp(e,t,n){return iw(e),gc(e,t)?(sw(t).core?.resolveTransactionPlugin()??Lp)(e,t,async()=>{await Mp(e),await n()}):(await Mp(e),n())}function Mp(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 sw(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 iw(e){for(let t of e.commands)switch(t.$kind){case"SplitCoins":t.SplitCoins.amounts.forEach(n=>{Up(n,B.U64,e)});break;case"TransferObjects":Up(t.TransferObjects.address,B.Address,e);break}}function Up(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 Vp(e){function t(n){return e(n)}return t.system=n=>{let r=n?.mutable;return t(r!==void 0?$e.SharedObjectRef({objectId:hc,initialSharedVersion:1,mutable:r}):{$kind:"UnresolvedObject",UnresolvedObject:{objectId:hc,initialSharedVersion:1}})},t.clock=()=>t($e.SharedObjectRef({objectId:Cp,initialSharedVersion:1,mutable:!1})),t.random=()=>t({$kind:"UnresolvedObject",UnresolvedObject:{objectId:Rp,mutable:!1}}),t.denyList=n=>t({$kind:"UnresolvedObject",UnresolvedObject:{objectId:Dp,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 Gp(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 qp="2.3.0";var ow="/",aw={"Mvr-Source":`@mysten/sui@${qp}`},Er,Pt,xr,en,ze,yc,bc,Wp,Jp,Tc,zp,Hp=(zp=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,en);W(this,Er,e),W(this,Pt,t),W(this,xr,n),W(this,en,{packages:r?.packages,types:r?.types}),cw(h(this,en))}async resolvePackage({package:e}){return Lt(e)?{package:await h(this,ze,yc).load(e)}:{package:e}}async resolveType({type:e}){if(!Lt(e))return{type:e};let t=[...vc(e)],n=await h(this,ze,bc).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:wc(e,r)}}async resolve({types:e=[],packages:t=[]}){let n=new Set;for(let u of e??[])vc(u,n);let r=[...n],[s,i]=await Promise.all([r.length>0?h(this,ze,bc).loadMany(r):[],t.length>0?h(this,ze,yc).loadMany(t):[]]),o={...h(this,en)?.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:wc(u,o)};let c={};for(let[u,l]of(t??[]).entries()){let p=h(this,en)?.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,en=new WeakMap,ze=new WeakSet,yc=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,Wp).call(this,n);return n.map(s=>r[s]??new Error(`Failed to resolve package: ${s}`))}),t=h(this,en)?.packages;if(t)for(let[n,r]of Object.entries(t))e.prime(n,r);return e})},bc=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,Jp).call(this,n);return n.map(s=>r[s]??new Error(`Failed to resolve type: ${s}`))}),t=h(this,en)?.types;if(t)for(let[n,r]of Object.entries(t))e.prime(n,r);return e})},Wp=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,Tc).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},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,Tc).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},Tc=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",...aw},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()},zp);function cw(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($t(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($t(n).address))throw new Error(`Invalid type: ${n}`)}}function vc(e,t=new Set){if(typeof e=="string"&&!Lt(e))return t;let n=Yp(e)?e:$t(e);Lt(n.address)&&t.add(`${n.address}::${n.module}::${n.name}`);for(let r of n.typeParams)vc(r,t);return t}function wc(e,t){let n=Yp(e)?e:$t(e),r=t[`${n.address}::${n.module}::${n.name}`];return zt({...n,address:r?r.split("::")[0]:n.address,typeParams:n.typeParams.map(s=>wc(s,t))})}function Lt(e){return e.includes(ow)||e.includes("@")||e.includes(".sui")}function Yp(e){return typeof e=="object"&&"address"in e&&"module"in e&&"name"in e&&"typeParams"in e}function Xp(e){let t=new Set,n=new Set;for(let r of e.commands)switch(r.$kind){case"MakeMoveVec":r.MakeMoveVec.type&&$p([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)}$p(s.typeArguments??[]).forEach(o=>{n.add(o)});break;default:break}return{packages:[...t],types:[...n]}}function Zp(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 $p(e){let t=new Set;for(let n of e)if(Lt(n)){if(!Nl(n))throw new Error(`Invalid type with names: ${n}`);t.add(n)}return t}function Kp(){return async(e,t,n)=>{let r=Xp(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()");Zp(e,await t.client.core.mvr.resolve({types:r.types,packages:r.packages})),await n()}}function Ec(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 Qp=Symbol.for("@mysten/transaction");function ef(e){return!!e&&typeof e=="object"&&e[Qp]===!0}var wn,En,Mt,kt,Qe,et,ft,tn,V,re,tf,Ni,Ts,Ai,Ci,xc,kc,nf,rf,xn,P=(xn=class{constructor(){le(this,re);le(this,wn);le(this,En);le(this,Mt,new Map);le(this,kt,[]);le(this,Qe,[]);le(this,et,new Set);le(this,ft,new Set);le(this,tn,new Map);le(this,V);this.object=Vp(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,Qe,h(n,V).commands.slice()),W(n,et,new Set(h(n,Qe).map((r,s)=>s))),n}static from(t){let n=new xn;return ef(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,Qe,h(n,V).commands.slice()),W(n,et,new Set(h(n,Qe).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(Aa,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[Qp](){return!0}get pure(){return Object.defineProperty(this,"pure",{enumerable:!1,value:Gp(t=>hr(t)?fe(this,re,Ts).call(this,"pure",{$kind:"Pure",Pure:{bytes:t.toBase64()}}):fe(this,re,Ts).call(this,"pure",cs(Oa,t)?ae(Oa,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,tn).has(t))return h(this,tn).get(t);let n=fe(this,re,tf).call(this),r=t(n);if(!(r&&typeof r=="object"&&"then"in r))return W(this,et,h(n,et)),h(this,tn).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=Ec(()=>s.$Intent.data.resultIndex);return h(this,tn).set(t,i),i}else fe(this,re,Ni).call(this,t);return Ec(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),Ec(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(pp(h(this,V).snapshot()))}async toJSON(t={}){await this.prepareForSerialization(t);let n=this.isFullyResolved();return JSON.stringify(ae(Pp,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)||gc(h(this,V),{}))}async build(t={}){return await this.prepareForSerialization(t),await fe(this,re,xc).call(this,t),h(this,V).build({onlyTransactionKind:t.onlyTransactionKind})}async getDigest(t={}){return await this.prepareForSerialization(t),await fe(this,re,xc).call(this,t),h(this,V).getDigest()}async prepareForSerialization(t){await fe(this,re,nf).call(this),fe(this,re,rf).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(Kp()),await fe(this,re,kc).call(this,r,t)}},wn=new WeakMap,En=new WeakMap,Mt=new WeakMap,kt=new WeakMap,Qe=new WeakMap,et=new WeakMap,ft=new WeakMap,tn=new WeakMap,V=new WeakMap,re=new WeakSet,tf=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,et,new Set(h(this,et))),W(t,tn,h(this,tn)),h(this,kt).push(h(t,kt)),h(this,Qe).push(h(t,Qe)),t},Ni=function(t){let n=h(this,V).commands.length;return h(this,Qe).push(t),h(this,et).add(n),h(this,V).commands.push(t),h(this,V).mapCommandArguments(n,r=>{if(r.$kind==="Result"&&!h(this,et).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,et).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)},xc=async function(t){if(!t.onlyTransactionKind&&!h(this,V).sender)throw new Error("Missing transaction sender");await fe(this,re,kc).call(this,[...h(this,En),Fp],t)},kc=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,Qe,h(this,V).commands.slice()),W(this,et,new Set(h(this,Qe).map((r,s)=>s)))}},nf=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)}},rf=function(){let t=h(this,V).commands,n=h(this,V).inputs,r=h(this,Qe).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,Qe,i),W(this,kt,s),W(this,et,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 $d=ot(nn()),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,$d.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=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 convertPointsToCRED(t){let n=new P;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:[this.client.CRED.getCredType()]}),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_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 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)}};var Wd=ot(nn()),Dc=ot(Hd()),Fi=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,Dc.default)(s))return null;let i=await this.getMembershipExpiration(t);return!(0,Dc.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,Wd.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 Vi=ot(nn()),Gi=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,Vi.default)(n,"json.owner_render_data")}async getRenderData(){let t=await this.getAdminCap(),n=await this.client.getObjectGrpc(t);return(0,Vi.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,Vi.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 zc=ot($c()),nt=ot(nn());var Hi=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,nt.default)(i,"json.coin.size"))){let c=await this.client.getDynamicFields((0,nt.default)(i,"json.coin.id"));s=(0,nt.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,nt.default)(s,"json.asset_prices.id"));for(let o of i)if(o.name===`${n}`)if(r){let a=await this.client.getDynamicFields((0,nt.default)(o,"value.price_fiat_for_currency.id"));for(let c of a)if(zc.Buffer.from(c.name,"base64").toString("utf-8")===r)return parseInt(c.value)??0}else return parseInt((0,nt.default)(o,"value.price_fiat"));return 0}async getPriceFiat(t,n){let r=await this.client.getObjectGrpc(t);if(!n||!(0,nt.default)(r,"json.price_fiat_for_currency.id")&&n==="USD")return parseInt((0,nt.default)(r,"json.price_fiat"))??null;{let s=await this.client.getDynamicFields((0,nt.default)(r,"json.price_fiat_for_currency.id"));for(let i of s)if(zc.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,nt.default)(r,"json.asset_prices.id"));for(let i of s)if(i.name===`${n}`)return parseInt((0,nt.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,nt.default)(r,"json.asset_prices.id"));for(let i of s)if(i.name===`${n}`)return parseInt((0,nt.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=ot(nn()),fu=ot(pu()),Zi=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,fu.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,fu.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=ot(nn()),Ki=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 Qi=ot(nn()),eo=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,Qi.default)(n,"json.coin.size")??"0"))return null;let s=(0,Qi.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,Qi.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},ty={ED25519:32,Secp256k1:33,Secp256r1:33,Passkey:33},Rs={0:"ED25519",1:"Secp256k1",2:"Secp256r1",3:"MultiSig",5:"ZkLogin",6:"Passkey"};function no(e,t){return B.IntentMessage(B.bytes(t.length)).serialize({intent:{scope:{[e]:!0},version:{V0:!0},appId:{Sui:!0}},value:t}).toBytes()}function du(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 ny=class{equals(e){return du(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=Qt(no(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(Qt(this.toSuiBytes(),{dkLen:32})).slice(0,fn*2))}};function ry(e){let t=K(e),n=Rs[t[0]];switch(n){case"ED25519":case"Secp256k1":case"Secp256r1":let r=ty[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 sy=wp(["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))),iN=sy[0],oN=sy[1],Sn=new Uint32Array(80),In=new Uint32Array(80),mu=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)^pc(D,$,7),L=Bt(D,$,1)^Bt(D,$,8)^fc(D,$,7),O=Sn[k-2]|0,R=In[k-2]|0,q=jt(O,R,19)^Hn(O,R,61)^pc(O,R,6),oe=Bt(O,R,19)^Wn(O,R,61)^fc(O,R,6),ue=kp(L,oe,In[k-7],In[k-16]),me=Sp(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=Ip(S,$,L,oN[k],In[k]),R=_p(O,C,D,U,iN[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)}},hu=class extends mu{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 hu,bp(3));var oy=BigInt(0),iy=BigInt(1);function so(e,t=""){if(typeof e!="boolean"){let n=t&&`"${t}" `;throw new Error(n+"expected boolean, got type="+typeof e)}return e}function aN(e){if(typeof e=="bigint"){if(!ro(e))throw new Error("positive bigint expected, got "+e)}else Ue(e);return e}function ay(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?oy:BigInt("0x"+e)}function cy(e){return ay(yn(e))}function Mr(e){return ay(yn(io(ee(e)).reverse()))}function gu(e,t){Ue(t),e=aN(e);let n=fs(e.toString(16).padStart(t*2,"0"));if(n.length!==t)throw new Error("number too large");return n}function uy(e,t){return gu(e,t).reverse()}function io(e){return Uint8Array.from(e)}var ro=e=>typeof e=="bigint"&&oy<=e;function cN(e,t,n){return ro(e)&&ro(t)&&ro(n)&&t<=e&&e<n}function yu(e,t,n,r){if(!cN(t,n,r))throw new Error("expected valid "+e+": "+n+" <= n < "+r+", got "+t)}var ly=e=>(iy<<BigInt(e))-iy;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 bu(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),dy=BigInt(3),my=BigInt(4),hy=BigInt(5),uN=BigInt(7),gy=BigInt(8),lN=BigInt(9),yy=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 py(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 vu(e,t,n){if(!e.eql(e.sqr(t),n))throw new Error("Cannot find square root")}function by(e,t){let n=(e.ORDER+Fe)/my,r=e.pow(t,n);return vu(e,r,t),r}function pN(e,t){let n=(e.ORDER-hy)/gy,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 vu(e,a,t),a}function fN(e){let t=ao(e),n=Ty(e),r=n(t,t.neg(t.ONE)),s=n(t,r),i=n(t,t.neg(r)),o=(e+uN)/yy;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 vu(a,x,c),x}}function Ty(e){if(e<dy)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=ao(e);for(;fy(s,r)===1;)if(r++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(n===1)return by;let i=s.pow(r,t),o=(t+Fe)/er;return function(c,u){if(c.is0(u))return u;if(fy(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 dN(e){return e%my===dy?by:e%gy===hy?pN:e%yy===lN?fN(e):Ty(e)}var vy=(e,t)=>(_e(e,t)&Fe)===Fe,mN=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function wy(e){let t={ORDER:"bigint",BYTES:"number",BITS:"number"},n=mN.reduce((r,s)=>(r[s]="function",r),t);return Ds(e,n),e}function hN(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 oo(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 fy(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 gN(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 Tu=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}=gN(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 hN(this,t,n)}div(t,n){return _e(t*py(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 py(t,this.ORDER)}sqrt(t){return this._sqrt||(this._sqrt=dN(this.ORDER)),this._sqrt(this,t)}toBytes(t){return this.isLE?uy(t,this.BYTES):gu(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):cy(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 oo(this,t)}cmov(t,n,r){return r?n:t}};function ao(e,t={}){return new Tu(e,t)}var co=BigInt(0),ku=BigInt(1);function Ey(e,t){let n=t.negate();return e?n:t}function lo(e,t){let n=oo(e.Fp,t.map(r=>r.Z));return t.map((r,s)=>e.fromAffine(r.toAffine(n[s])))}function Iy(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function wu(e,t){Iy(e,t);let n=Math.ceil(t/e)+1,r=2**(e-1),s=2**e,i=ly(e),o=BigInt(e);return{windows:n,windowSize:r,mask:i,maxNumber:s,shiftBy:o}}function xy(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+=ku);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 Eu=new WeakMap,_y=new WeakMap;function xu(e){return _y.get(e)||1}function ky(e){if(e!==co)throw new Error("invalid wNAF")}var uo=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>co;)n&ku&&(r=r.add(s)),s=s.double(),n>>=ku;return r}precomputeWindow(t,n){let{windows:r,windowSize:s}=wu(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=wu(t,this.bits);for(let a=0;a<o.windows;a++){let{nextN:c,offset:u,isZero:l,isNeg:p,isNegF:d,offsetF:y}=xy(r,a,o);r=c,l?i=i.add(Ey(d,n[y])):s=s.add(Ey(p,n[u]))}return ky(r),{p:s,f:i}}wNAFUnsafe(t,n,r,s=this.ZERO){let i=wu(t,this.bits);for(let o=0;o<i.windows&&r!==co;o++){let{nextN:a,offset:c,isZero:u,isNeg:l}=xy(r,o,i);if(r=a,!u){let p=n[c];s=s.add(l?p.negate():p)}}return ky(r),s}getPrecomputes(t,n,r){let s=Eu.get(n);return s||(s=this.precomputeWindow(n,t),t!==1&&(typeof r=="function"&&(s=r(s)),Eu.set(n,s))),s}cached(t,n,r){let s=xu(t);return this.wNAF(s,this.getPrecomputes(s,t,r),n)}unsafe(t,n,r,s){let i=xu(t);return i===1?this._unsafeLadder(t,n,s):this.wNAFUnsafe(i,this.getPrecomputes(i,t,r),n,s)}createCache(t,n){Iy(n,this.bits),_y.set(t,n),Eu.delete(t)}hasCache(t){return xu(t)!==1}};function Sy(e,t,n){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return wy(t),t}else return ao(e,{isLE:n})}function Oy(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>co))throw new Error(`CURVE.${c} must be positive bigint`)}let s=Sy(t.p,n.Fp,r),i=Sy(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 Ny(e,t){return function(r){let s=e(r);return{secretKey:s,publicKey:t(s)}}}var _n=BigInt(0),Re=BigInt(1),Su=BigInt(2),yN=BigInt(8);function bN(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 Ay(e,t={}){let n=Oy("edwards",e,t,t.FpFnLE),{Fp:r,Fn:s}=n,i=n.CURVE,{h:o}=i;Ds(t,{},{uvRatio:"function"});let a=Su<<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(!bN(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 yu("coordinate "+C,S,D,a),S}function p(C){if(!(C instanceof g))throw new Error("EdwardsPoint expected")}let d=bu((C,S)=>{let{X:k,Y:D,Z:$}=C,U=C.is0();S==null&&(S=U?yN: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=bu(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=io(ee(S,D,"point")),so(k,"zip215");let L=io(S),O=S[D-1];L[D-1]=O&-129;let R=Mr(L),q=k?a:r.ORDER;yu("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(Su),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(Su*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),pa=c(pt*bt),El=c(pr*Qr),xl=c(pt*Qr),Xb=c(bt*pr);return new x(pa,El,Xb,xl)}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,$=>lo(x,$));return lo(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=>lo(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 uo(g,s.BITS);return g.BASE.precompute(8),g}function Cy(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||uc,c=n.adjustScalarBytes||(O=>O),u=n.domain||((O,R,q)=>{if(so(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&&so(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 pa=g(ue,pr.toBytes(),bt.toBytes(),R);return pr.add(bt.multiplyUnsafe(pa)).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:Ny(D,y),getPublicKey:y,sign:E,verify:C,utils:L,Point:e,lengths:k})}var TN=BigInt(1),Ry=BigInt(2);var vN=BigInt(5),wN=BigInt(8),Iu=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),EN={p:Iu,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:wN,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function xN(e){let t=BigInt(10),n=BigInt(20),r=BigInt(40),s=BigInt(80),i=Iu,a=e*e%i*e%i,c=It(a,Ry,i)*a%i,u=It(c,TN,i)*e%i,l=It(u,vN,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,Ry,i)*e%i,b2:a}}function kN(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var Dy=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function SN(e,t){let n=Iu,r=_e(t*t*t,n),s=_e(r*r*t,n),i=xN(e*s).pow_p_5_8,o=_e(e*r*i,n),a=_e(t*o*o,n),c=o,u=_e(o*Dy,n),l=a===e,p=a===_e(-e,n),d=a===_e(-e*Dy,n);return l&&(o=c),(p||d)&&(o=u),vy(o,n)&&(o=_e(-o,n)),{isValid:l||p,value:o}}var IN=Ay(EN,{uvRatio:SN});function _N(e){return Cy(IN,Qn,Object.assign({adjustScalarBytes:kN},e))}var _t=_N({});var _u=32,Ur,jy=(Ur=class extends ny{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!==_u)throw new Error(`Invalid public key input. Expected ${_u} 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=ry(n);if(s.signatureScheme!=="ED25519")throw new Error("Invalid signature scheme");if(!du(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=_u,Ur);var po=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 Kt(this),this.iHash.update(t),this}digestInto(t){Kt(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 po(e,t).update(n).digest();Fr.create=(e,t)=>new po(e,t);function ON(e,t,n,r){wi(e);let s=yp({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=cc(t,"password"),u=cc(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 NN(e,t,n,r,s){return e.destroy(),t.destroy(),r&&r.destroy(),at(s),n}function By(e,t,n,r){let{c:s,dkLen:i,DK:o,PRF:a,PRFSalt:c}=ON(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 NN(a,c,o,u,d)}function Py(e){if(typeof e!="string")throw new TypeError("invalid mnemonic type: "+typeof e);return e.normalize("NFKD")}function AN(e){let t=Py(e),n=t.split(" ");if(![12,15,18,21,24].includes(n.length))throw new Error("Invalid mnemonic");return{nfkd:t,words:n}}var CN=e=>Py("mnemonic"+e);function Ly(e,t=""){return By(Qn,AN(e).nfkd,CN(t),{c:2048,dkLen:64})}function Ou(e){return!!new RegExp("^m\\/44'\\/784'\\/[0-9]+'\\/[0-9]+'\\/[0-9]+'+$").test(e)}function RN(e){return Ly(e,"")}function My(e){return Ye(RN(e))}function Uy({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 Fy="suiprivkey",DN=class{async signWithIntent(e,t){let n=Qt(no(t,e),{dkLen:32});return{signature:Uy({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()}},Vy=class extends DN{};function Gy(e){let{prefix:t,words:n}=rs.decode(e);if(t!==Fy)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 qy(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(Fy,rs.toWords(r))}var jN="ed25519 seed",BN=2147483648,PN=new RegExp("^m(\\/[0-9]+')+$"),$y=e=>e.replace("'",""),LN=e=>{let t=Fr.create(Qn,new TextEncoder().encode(jN)).update(At(e)).digest();return{key:t.slice(0,32),chainCode:t.slice(32)}},MN=({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)}},UN=e=>PN.test(e)?!e.split("/").slice(1).map($y).some(isNaN):!1,Nu=(e,t,n=BN)=>{if(!UN(e))throw new Error("Invalid derivation path");let{key:r,chainCode:s}=LN(t);return e.split("/").slice(1).map($y).map(i=>parseInt(i,10)).reduce((i,o)=>MN(i,o+n),{key:r,chainCode:s})};var Au="m/44'/784'/0'/0'/0'",Cu=class Bs extends Vy{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=Gy(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 jy(this.keypair.publicKey)}getSecretKey(){return qy(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=Au),!Ou(n))throw new Error("Invalid derivation path");let{key:r}=Nu(n,My(t));return Bs.fromSecretKey(r)}static deriveKeypairFromSeed(t,n){if(n==null&&(n=Au),!Ou(n))throw new Error("Invalid derivation path");let{key:r}=Nu(n,t);return Bs.fromSecretKey(r)}};function zy(e,t,n){let r=B.Address.serialize(e).toBytes(),s=B.TypeTag.serialize(t).toBytes(),i=B.u64().serialize(n.length).toBytes(),o=Qt.create({dkLen:32});return o.update(new Uint8Array([240])),o.update(r),o.update(i),o.update(n),o.update(s),`0x${Ye(o.digest().slice(0,32))}`}var On,Ve,Vr,Hy=(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 fo=class{constructor({network:e,base:t,cache:n=t?.cache??new Hy}){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 FN={mainnet:"https://mainnet.mvr.mystenlabs.com",testnet:"https://testnet.mvr.mystenlabs.com"},Wy=class extends fo{constructor(e){super(e),this.core=this,this.mvr=new Hp({cache:this.cache.scope("core.mvr"),url:e.mvr?.url??FN[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=zy(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=$t(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]:zt(s.typeParams[0]),bcs:e.name.bcs},value:{type:typeof s.typeParams[1]=="string"?s.typeParams[1]:zt(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 VN=new Intl.PluralRules("en-US",{type:"ordinal"}),GN=new Map([["one","st"],["two","nd"],["few","rd"],["other","th"]]);function qN(e){return`${e}${GN.get(VN.select(e))}`}function Xy(e){let{command:t,location:n,abortCode:r,cleverError:s}=e,i=[];if(t!=null?i.push(`MoveAbort in ${qN(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 Jy=B.struct("MinimalEffectsWithError",{status:Ti}),q3=B.enum("MinimalTransactionEffectsWithError",{V1:Jy,V2:Jy}),$N=B.enum("MinimalExecutionStatusNoError",{Success:null,Failed:null}),Yy=B.struct("MinimalEffectsNoError",{status:$N}),$3=B.enum("MinimalTransactionEffectsNoError",{V1:Yy,V2:Yy});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(""),mo=[];for(let e=0;e<on.length;e++)mo[on[e].charCodeAt(0)]=e;mo[45]=on.indexOf("+");mo[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=mo[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 Ru(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 Zy(){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 go(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 ho=65536*65536;function Du(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>=ho&&(s=s+(r/ho|0),r=r%ho)}return i(-24,-18),i(-18,-12),i(-12,-6),i(-6),[t,r,s]}function yo(e,t){if(t>>>0<=2097151)return""+(ho*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 ju(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 Ky(){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 zN(){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}zN();function Qy(e){if(!e)throw new Error("BigInt unavailable, see https://github.com/timostamm/protobuf-ts/blob/v1.0.8/MANUAL.md#bigint-support")}var e0=/^-?[0-9]+$/,To=4294967296,bo=2147483648,vo=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*To+(this.lo>>>0);if(!Number.isSafeInteger(t))throw new Error("cannot convert to safe number");return t}},xe=class e extends vo{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(),!e0.test(t))throw new Error("string is no integer");let[n,r,s]=Du(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/To)}throw new Error("unknown value "+typeof t)}toString(){return pe?this.toBigInt().toString():yo(this.lo,this.hi)}toBigInt(){return Qy(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 vo{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(),!e0.test(t))throw new Error("string is no integer");let[n,r,s]=Du(t);if(n){if(s>bo||s==bo&&r!=0)throw new Error("signed long too small")}else if(s>=bo)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/To):new e(-t,-t/To).negate()}throw new Error("unknown value "+typeof t)}isNegative(){return(this.hi&bo)!==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"-"+yo(t.lo,t.hi)}return yo(this.lo,this.hi)}toBigInt(){return Qy(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 t0={readUnknownField:!0,readerFactory:e=>new Bu(e)};function n0(e){return e?Object.assign(Object.assign({},t0),e):t0}var Bu=class{constructor(t,n){this.varint64=Zy,this.uint32=Ky,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 Pu(e,t){throw new Error(t??"Unexpected object: "+e)}var HN=34028234663852886e22,WN=-34028234663852886e22,JN=4294967295,YN=2147483647,XN=-2147483648;function an(e){if(typeof e!="number")throw new Error("invalid int 32: "+typeof e);if(!Number.isInteger(e)||e>YN||e<XN)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>JN||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>HN||e<WN))throw new Error("invalid float 32: "+e)}var r0={writeUnknownFields:!0,writerFactory:()=>new Lu};function s0(e){return e?Object.assign(Object.assign({},r0),e):r0}var Lu=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),ju(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,ju(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 go(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 go(s,i,this.buf),this}uint64(t){let n=xe.from(t);return go(n.lo,n.hi,this.buf),this}};var i0={emitDefaultValues:!1,enumAsInteger:!1,useProtoFieldName:!1,prettySpaces:0},o0={ignoreUnknownFields:!1};function Mu(e){return e?Object.assign(Object.assign({},o0),e):o0}function Ms(e){return e?Object.assign(Object.assign({},i0),e):i0}function Uu(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 wo=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 a0(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 c0(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 Eo=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(!c0(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 rt(e,t){switch(t){case We.BIGINT:return e.toBigInt();case We.NUMBER:return e.toNumber();default:return e.toString()}}var xo=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 rt(te.ZERO,r);if(typeof t!="number"&&typeof t!="string")break;return rt(te.from(t),r);case w.FIXED64:case w.UINT64:if(t===null)return rt(xe.ZERO,r);if(typeof t!="number"&&typeof t!="string")break;return rt(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 ko=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 rt(xe.ZERO,t);case w.INT64:case w.SFIXED64:case w.SINT64:return rt(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 So=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 rt(t.int64(),r);case w.UINT64:return rt(t.uint64(),r);case w.FIXED64:return rt(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 rt(t.sfixed64(),r);case w.SINT32:return t.sint32();case w.SINT64:return rt(t.sint64(),r)}}};var Io=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 u0(e){let t=e.messagePrototype?Object.create(e.messagePrototype):Object.defineProperty({},wo,{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 _o(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 f0(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?l0(a,i,o):d0(a,i,o)))return!1;break;case"map":if(!(r.V.kind=="message"?p0(r.V.T(),Oo(i),Oo(o)):l0(r.V.kind=="enum"?w.INT32:r.V.T,Oo(i),Oo(o))))return!1;break;case"message":let c=r.T();if(!(r.repeat?p0(c,i,o):c.equals(i,o)))return!1;break}}return!0}var Oo=Object.values;function d0(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 l0(e,t,n){if(t.length!==n.length)return!1;for(let r=0;r<t.length;r++)if(!d0(e,t[r],n[r]))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(!e.equals(t[r],n[r]))return!1;return!0}var m0=Object.getOwnPropertyDescriptors(Object.getPrototypeOf({})),ZN=m0[wo]={},m=class{constructor(t,n,r){this.defaultCheckDepth=16,this.typeName=t,this.fields=n.map(a0),this.options=r??{},ZN.value=this,this.messagePrototype=Object.create(null,m0),this.refTypeCheck=new Eo(this),this.refJsonReader=new xo(this),this.refJsonWriter=new ko(this),this.refBinReader=new So(this),this.refBinWriter=new Io(this)}create(t){let n=u0(this);return t!==void 0&&_o(this,n,t),n}clone(t){let n=this.create();return _o(this,n,t),n}equals(t,n){return f0(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){_o(this,t,n)}fromBinary(t,n){let r=n0(n);return this.internalBinaryRead(r.readerFactory(t),t.byteLength,r)}fromJson(t,n){return this.internalJsonRead(t,Mu(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=s0(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 h0=(function(e){return e[e.NULL_VALUE=0]="NULL_VALUE",e})({}),KN=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}},g0=new KN,QN=class extends m{constructor(){super("google.protobuf.Value",[{no:1,name:"null_value",kind:"enum",oneof:"kind",T:()=>["google.protobuf.NullValue",h0]},{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:()=>g0},{no:6,name:"list_value",kind:"message",oneof:"kind",T:()=>y0}])}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:h0.NULL_VALUE}:globalThis.Array.isArray(e)?n.kind={oneofKind:"listValue",listValue:y0.fromJson(e)}:n.kind={oneofKind:"structValue",structValue:g0.fromJson(e)};break;default:throw new globalThis.Error("Unable to parse "+this.typeName+" from JSON "+je(e))}return n}},Be=new QN,eA=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}},y0=new eA;var tA=(function(e){return e[e.DATATYPE_KIND_UNKNOWN=0]="DATATYPE_KIND_UNKNOWN",e[e.STRUCT=1]="STRUCT",e[e.ENUM=2]="ENUM",e})({}),st=(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})({}),No=(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})({}),nA=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:()=>sA},{no:5,name:"type_origins",kind:"message",repeat:1,T:()=>mA},{no:6,name:"linkage",kind:"message",repeat:1,T:()=>gA}])}},Ao=new nA,rA=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:()=>Fu},{no:4,name:"functions",kind:"message",repeat:1,T:()=>Gu}])}},sA=new rA,iA=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:()=>T0},{no:7,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.DatatypeDescriptor.DatatypeKind",tA]},{no:8,name:"fields",kind:"message",repeat:1,T:()=>v0},{no:9,name:"variants",kind:"message",repeat:1,T:()=>uA}])}},Fu=new iA,oA=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}])}},T0=new oA,aA=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:()=>Vu}])}},v0=new aA,cA=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:()=>v0}])}},uA=new cA,lA=class extends m{constructor(){super("sui.rpc.v2.OpenSignatureBody",[{no:1,name:"type",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.OpenSignatureBody.Type",st]},{no:2,name:"type_name",kind:"scalar",opt:!0,T:9},{no:3,name:"type_parameter_instantiation",kind:"message",repeat:1,T:()=>Vu},{no:4,name:"type_parameter",kind:"scalar",opt:!0,T:13}])}},Vu=new lA,pA=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:()=>T0},{no:8,name:"parameters",kind:"message",repeat:1,T:()=>b0},{no:9,name:"returns",kind:"message",repeat:1,T:()=>b0}])}},Gu=new pA,fA=class extends m{constructor(){super("sui.rpc.v2.OpenSignature",[{no:1,name:"reference",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.OpenSignature.Reference",No]},{no:2,name:"body",kind:"message",T:()=>Vu}])}},b0=new fA,dA=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}])}},mA=new dA,hA=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}])}},gA=new hA;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})({}),yA=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 yA;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})({}),bA=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 bA;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})({}),TA=(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})({}),vA=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",TA]},{no:8,name:"funds_withdrawal",kind:"message",T:()=>EA},{no:1e3,name:"literal",kind:"message",T:()=>Be}])}},w0=new vA,wA=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]}])}},EA=new wA;var xA=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}},E0=new xA;var kA=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}])}},Co=new kA,SA=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}])}},x0=new SA;var IA=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 IA;var _A=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:()=>Ao},{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}])}},Gt=new _A,OA=class extends m{constructor(){super("sui.rpc.v2.ObjectSet",[{no:1,name:"objects",kind:"message",repeat:1,T:()=>Gt}])}},Ro=new OA;var NA=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 NA;var AA=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}])}},Do=new AA;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})({}),CA=(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})({}),RA=(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})({}),DA=(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})({}),jA=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:()=>FA},{no:5,name:"sender",kind:"scalar",opt:!0,T:9},{no:6,name:"gas_payment",kind:"message",T:()=>PA},{no:7,name:"expiration",kind:"message",T:()=>MA}])}},Gr=new jA,BA=class extends m{constructor(){super("sui.rpc.v2.GasPayment",[{no:1,name:"objects",kind:"message",repeat:1,T:()=>Do},{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}])}},PA=new BA,LA=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}])}},MA=new LA,UA=class extends m{constructor(){super("sui.rpc.v2.TransactionKind",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.TransactionKind.Kind",CA]},{no:2,name:"programmable_transaction",kind:"message",oneof:"data",T:()=>GA},{no:3,name:"change_epoch",kind:"message",oneof:"data",T:()=>S0},{no:4,name:"genesis",kind:"message",oneof:"data",T:()=>l2},{no:5,name:"consensus_commit_prologue",kind:"message",oneof:"data",T:()=>f2},{no:6,name:"authenticator_state_update",kind:"message",oneof:"data",T:()=>v2},{no:7,name:"end_of_epoch",kind:"message",oneof:"data",T:()=>x2},{no:8,name:"randomness_state_update",kind:"message",oneof:"data",T:()=>i2}])}},FA=new UA,VA=class extends m{constructor(){super("sui.rpc.v2.ProgrammableTransaction",[{no:1,name:"inputs",kind:"message",repeat:1,T:()=>w0},{no:2,name:"commands",kind:"message",repeat:1,T:()=>$A}])}},GA=new VA,qA=class extends m{constructor(){super("sui.rpc.v2.Command",[{no:1,name:"move_call",kind:"message",oneof:"command",T:()=>k0},{no:2,name:"transfer_objects",kind:"message",oneof:"command",T:()=>WA},{no:3,name:"split_coins",kind:"message",oneof:"command",T:()=>YA},{no:4,name:"merge_coins",kind:"message",oneof:"command",T:()=>ZA},{no:5,name:"publish",kind:"message",oneof:"command",T:()=>QA},{no:6,name:"make_move_vector",kind:"message",oneof:"command",T:()=>t2},{no:7,name:"upgrade",kind:"message",oneof:"command",T:()=>r2}])}},$A=new qA,zA=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}])}},k0=new zA,HA=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}])}},WA=new HA,JA=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}])}},YA=new JA,XA=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}])}},ZA=new XA,KA=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}])}},QA=new KA,e2=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}])}},t2=new e2,n2=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}])}},r2=new n2,s2=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}])}},i2=new s2,o2=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:()=>c2}])}},S0=new o2,a2=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}])}},c2=new a2,u2=class extends m{constructor(){super("sui.rpc.v2.GenesisTransaction",[{no:1,name:"objects",kind:"message",repeat:1,T:()=>Gt}])}},l2=new u2,p2=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:()=>b2},{no:7,name:"additional_state_digest",kind:"scalar",opt:!0,T:9}])}},f2=new p2,d2=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}])}},m2=new d2,h2=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:()=>m2}])}},g2=new h2,y2=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:()=>g2}])}},b2=new y2,T2=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:()=>qu},{no:4,name:"authenticator_object_initial_shared_version",kind:"scalar",opt:!0,T:4,L:0}])}},v2=new T2,w2=class extends m{constructor(){super("sui.rpc.v2.ActiveJwk",[{no:1,name:"id",kind:"message",T:()=>Co},{no:2,name:"jwk",kind:"message",T:()=>x0},{no:3,name:"epoch",kind:"scalar",opt:!0,T:4,L:0}])}},qu=new w2,E2=class extends m{constructor(){super("sui.rpc.v2.EndOfEpochTransaction",[{no:1,name:"transactions",kind:"message",repeat:1,T:()=>S2}])}},x2=new E2,k2=class extends m{constructor(){super("sui.rpc.v2.EndOfEpochTransactionKind",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.EndOfEpochTransactionKind.Kind",RA]},{no:2,name:"change_epoch",kind:"message",oneof:"data",T:()=>S0},{no:3,name:"authenticator_state_expire",kind:"message",oneof:"data",T:()=>_2},{no:4,name:"execution_time_observations",kind:"message",oneof:"data",T:()=>N2},{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}])}},S2=new k2,I2=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}])}},_2=new I2,O2=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:()=>C2}])}},N2=new O2,A2=class extends m{constructor(){super("sui.rpc.v2.ExecutionTimeObservation",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.ExecutionTimeObservation.ExecutionTimeObservationKind",DA]},{no:2,name:"move_entry_point",kind:"message",T:()=>k0},{no:3,name:"validator_observations",kind:"message",repeat:1,T:()=>D2}])}},C2=new A2,R2=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:()=>E0}])}},D2=new R2;function j2(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 B2(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 $u(e){let t={version:1,kind:{data:{oneofKind:"programmableTransaction",programmableTransaction:{inputs:e.inputs.map(j2),commands:e.commands.map(B2)}}}};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 I0(e,t,n){let r=zu(t);n?.onlyTransactionKind?e.applyResolvedData({...r,gasData:{budget:null,owner:null,payment:null,price:null},expiration:null}):e.applyResolvedData(r)}function _0(e){let t=e.getData();return t.sender||(t.sender="0x0000000000000000000000000000000000000000000000000000000000000000"),$u(t)}function P2(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 L2(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 zu(e){let t=e.kind?.data;if(t?.oneofKind!=="programmableTransaction")throw new Error("Only programmable transactions are supported");let n=t.programmableTransaction.inputs.map(P2),r=t.programmableTransaction.commands.map(L2),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 M2=(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})({}),Hu=(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})({}),U2=(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})({}),F2=(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})({}),V2=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:()=>q2}])}},O0=new V2,G2=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",M2]},{no:4,name:"abort",kind:"message",oneof:"errorDetails",T:()=>z2},{no:5,name:"size_error",kind:"message",oneof:"errorDetails",T:()=>Z2},{no:6,name:"command_argument_error",kind:"message",oneof:"errorDetails",T:()=>sC},{no:7,name:"type_argument_error",kind:"message",oneof:"errorDetails",T:()=>cC},{no:8,name:"package_upgrade_error",kind:"message",oneof:"errorDetails",T:()=>oC},{no:9,name:"index_error",kind:"message",oneof:"errorDetails",T:()=>N0},{no:10,name:"object_id",kind:"scalar",oneof:"errorDetails",T:9},{no:11,name:"coin_deny_list_error",kind:"message",oneof:"errorDetails",T:()=>eC},{no:12,name:"congested_objects",kind:"message",oneof:"errorDetails",T:()=>nC}])}},q2=new G2,$2=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:()=>W2},{no:3,name:"clever_error",kind:"message",T:()=>Y2}])}},z2=new $2,H2=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}])}},W2=new H2,J2=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}])}},Y2=new J2,X2=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}])}},Z2=new X2,K2=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}])}},N0=new K2,Q2=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}])}},eC=new Q2,tC=class extends m{constructor(){super("sui.rpc.v2.CongestedObjects",[{no:1,name:"objects",kind:"scalar",repeat:2,T:9}])}},nC=new tC,rC=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",Hu]},{no:3,name:"index_error",kind:"message",T:()=>N0}])}},sC=new rC,iC=class extends m{constructor(){super("sui.rpc.v2.PackageUpgradeError",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.PackageUpgradeError.PackageUpgradeErrorKind",U2]},{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}])}},oC=new iC,aC=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",F2]}])}},cC=new aC;var uC=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}])}},jo=new uC;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})({}),lC=(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})({}),pC=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:()=>O0},{no:5,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:6,name:"gas_used",kind:"message",T:()=>jo},{no:7,name:"transaction_digest",kind:"scalar",opt:!0,T:9},{no:8,name:"gas_object",kind:"message",T:()=>A0},{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:()=>A0},{no:13,name:"unchanged_consensus_objects",kind:"message",repeat:1,T:()=>gC},{no:14,name:"auxiliary_data_digest",kind:"scalar",opt:!0,T:9},{no:15,name:"unchanged_loaded_runtime_objects",kind:"message",repeat:1,T:()=>Do}])}},C0=new pC,fC=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:()=>mC},{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}])}},A0=new fC,dC=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",lC]},{no:5,name:"value",kind:"scalar",opt:!0,T:4,L:0}])}},mC=new dC,hC=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}])}},gC=new hC;var yC=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 yC;function R0(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=>R0(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 Wu(e,t){if(!t)return e;let n={};Bo(e,n),Bo(t,n);for(let r of Object.keys(t)){let s=t[r];switch(r){case"jsonOptions":n.jsonOptions=Uu(e.jsonOptions,n.jsonOptions);break;case"binaryOptions":n.binaryOptions=Ru(e.binaryOptions,n.binaryOptions);break;case"meta":n.meta={},Bo(e.meta,n.meta),Bo(t.meta,n.meta);break;case"interceptors":n.interceptors=e.interceptors?e.interceptors.concat(s):s.concat();break}}return n}function Bo(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 it;(function(e){e[e.PENDING=0]="PENDING",e[e.REJECTED=1]="REJECTED",e[e.RESOLVED=2]="RESOLVED"})(it||(it={}));var ut=class{constructor(t=!0){this._state=it.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!==it.PENDING)throw new Error(`cannot resolve ${it[this.state].toLowerCase()}`);this._resolve(t),this._state=it.RESOLVED}reject(t){if(this.state!==it.PENDING)throw new Error(`cannot reject ${it[this.state].toLowerCase()}`);this._reject(t),this._state=it.REJECTED}resolvePending(t){this._state===it.PENDING&&this.resolve(t)}rejectPending(t){this._state===it.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==it.PENDING,"iterator contract broken"),"value"in t?r.resolve(t):r.reject(t),delete n.p}else n.q.push(t)}};var bC=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 bC(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 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())})},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 TC(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)}Pu(e)}var vC=(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})({}),wC=(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})({}),EC=(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})({}),Ju=(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})({}),xC=class extends m{constructor(){super("sui.rpc.v2.GetCoinInfoRequest",[{no:1,name:"coin_type",kind:"scalar",opt:!0,T:9}])}},kC=new xC,SC=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:()=>OC},{no:3,name:"treasury",kind:"message",T:()=>AC},{no:4,name:"regulated_metadata",kind:"message",T:()=>RC}])}},IC=new SC,_C=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",vC]}])}},OC=new _C,NC=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",wC]}])}},AC=new NC,CC=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",EC]}])}},RC=new CC,DC=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}])}},jC=new DC,BC=class extends m{constructor(){super("sui.rpc.v2.GetBalanceResponse",[{no:1,name:"balance",kind:"message",T:()=>D0}])}},PC=new BC,LC=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}])}},MC=new LC,UC=class extends m{constructor(){super("sui.rpc.v2.ListBalancesResponse",[{no:1,name:"balances",kind:"message",repeat:1,T:()=>D0},{no:2,name:"next_page_token",kind:"scalar",opt:!0,T:12}])}},FC=new UC,VC=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}])}},D0=new VC,GC=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}])}},qC=new GC,$C=class extends m{constructor(){super("sui.rpc.v2.ListDynamicFieldsResponse",[{no:1,name:"dynamic_fields",kind:"message",repeat:1,T:()=>WC},{no:2,name:"next_page_token",kind:"scalar",opt:!0,T:12}])}},zC=new $C,HC=class extends m{constructor(){super("sui.rpc.v2.DynamicField",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.DynamicField.DynamicFieldKind",Ju]},{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:()=>Gt},{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:()=>Gt}])}},WC=new HC,JC=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}])}},YC=new JC,XC=class extends m{constructor(){super("sui.rpc.v2.ListOwnedObjectsResponse",[{no:1,name:"objects",kind:"message",repeat:1,T:()=>Gt},{no:2,name:"next_page_token",kind:"scalar",opt:!0,T:12}])}},ZC=new XC,Po=new Pe("sui.rpc.v2.StateService",[{name:"ListDynamicFields",options:{},I:qC,O:zC},{name:"ListOwnedObjects",options:{},I:YC,O:ZC},{name:"GetCoinInfo",options:{},I:kC,O:IC},{name:"GetBalance",options:{},I:jC,O:PC},{name:"ListBalances",options:{},I:MC,O:FC}]);var ke,M0,U0=(M0=class extends Wy{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("::")?zt(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 Yu(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 Yu(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}}:_0(t.transaction),readMask:{paths:n},doGasSelection:!1}),s=Yu(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===Ju.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:zt(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=>L0(i))??[],returns:r.function?.returns?.map(i=>L0(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=$u(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?Zu(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 I0(r,c.transaction.transaction,s),await i()}}},ke=new WeakMap,M0);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 Zu(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:Xy({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:KC(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 KC(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=Hu[e];return!t||t.endsWith("_UNKNOWN")?"Unknown":t.split("_").map(n=>n.charAt(0)+n.slice(1).toLowerCase()).join("")}function j0(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 B0(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 P0(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 QC(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 eR({effects:e}){if(!e)return null;let t=e.changedObjects.map(n=>({objectId:n.objectId,inputState:B0(n.inputState),inputVersion:n.inputVersion?.toString()??null,inputDigest:n.inputDigest??null,inputOwner:ar(n.inputOwner),outputState:P0(n.outputState),outputVersion:n.outputVersion?.toString()??null,outputDigest:n.outputDigest??null,outputOwner:ar(n.outputOwner),idOperation:j0(n.idOperation)}));return{bcs:e.bcs?.value,version:2,status:e.status?.success?{success:!0,error:null}:{success:!1,error:Zu(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:B0(e.gasObject?.inputState),inputVersion:e.gasObject?.inputVersion?.toString()??null,inputDigest:e.gasObject?.inputDigest??null,inputOwner:ar(e.gasObject?.inputOwner),outputState:P0(e.gasObject?.outputState),outputVersion:e.gasObject?.outputVersion?.toString()??null,outputDigest:e.gasObject?.outputDigest??null,outputOwner:ar(e.gasObject?.outputOwner),idOperation:j0(e.gasObject?.idOperation)},eventsDigest:e.eventsDigest??null,dependencies:e.dependencies,lamportVersion:e.lamportVersion?.toString()??null,changedObjects:t,unchangedConsensusObjects:e.unchangedConsensusObjects.map(n=>({kind:QC(n.kind),objectId:n.objectId,version:n.version?.toString()??null,digest:n.digest??null})),auxiliaryDataDigest:e.auxiliaryDataDigest??null}}function Yu(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=zu(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?eR({effects:e.effects}):void 0,o=e.effects?.status?.success?{success:!0,error:null}:{success:!1,error:e.effects?.status?.error?Zu(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 L0(e){let t=null;return e.reference===No.IMMUTABLE?t="immutable":e.reference===No.MUTABLE&&(t="mutable"),{reference:t,body:Xu(e.body)}}function Xu(e){switch(e.type){case st.TYPE_UNKNOWN:return{$kind:"unknown"};case st.ADDRESS:return{$kind:"address"};case st.BOOL:return{$kind:"bool"};case st.U8:return{$kind:"u8"};case st.U16:return{$kind:"u16"};case st.U32:return{$kind:"u32"};case st.U64:return{$kind:"u64"};case st.U128:return{$kind:"u128"};case st.U256:return{$kind:"u256"};case st.VECTOR:return{$kind:"vector",vector:Xu(e.typeParameterInstantiation[0])};case st.DATATYPE:return{$kind:"datatype",datatype:{typeName:e.typeName,typeParameters:e.typeParameterInstantiation.map(t=>Xu(t))}};case st.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 tR=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:()=>Ku},{no:4,name:"multisig",kind:"message",oneof:"signature",T:()=>pR},{no:5,name:"zklogin",kind:"message",oneof:"signature",T:()=>G0},{no:6,name:"passkey",kind:"message",oneof:"signature",T:()=>q0}])}},jn=new tR,nR=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}])}},Ku=new nR,rR=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}])}},V0=new rR,sR=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:()=>V0}])}},iR=new sR,oR=class extends m{constructor(){super("sui.rpc.v2.MultisigMember",[{no:1,name:"public_key",kind:"message",T:()=>iR},{no:2,name:"weight",kind:"scalar",opt:!0,T:13}])}},aR=new oR,cR=class extends m{constructor(){super("sui.rpc.v2.MultisigCommittee",[{no:1,name:"members",kind:"message",repeat:1,T:()=>aR},{no:2,name:"threshold",kind:"scalar",opt:!0,T:13}])}},uR=new cR,lR=class extends m{constructor(){super("sui.rpc.v2.MultisigAggregatedSignature",[{no:1,name:"signatures",kind:"message",repeat:1,T:()=>dR},{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:()=>uR}])}},pR=new lR,fR=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:()=>G0},{no:4,name:"passkey",kind:"message",T:()=>q0}])}},dR=new fR,mR=class extends m{constructor(){super("sui.rpc.v2.ZkLoginAuthenticator",[{no:1,name:"inputs",kind:"message",T:()=>gR},{no:2,name:"max_epoch",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"signature",kind:"message",T:()=>Ku},{no:4,name:"public_identifier",kind:"message",T:()=>V0},{no:5,name:"jwk_id",kind:"message",T:()=>Co}])}},G0=new mR,hR=class extends m{constructor(){super("sui.rpc.v2.ZkLoginInputs",[{no:1,name:"proof_points",kind:"message",T:()=>bR},{no:2,name:"iss_base64_details",kind:"message",T:()=>vR},{no:3,name:"header_base64",kind:"scalar",opt:!0,T:9},{no:4,name:"address_seed",kind:"scalar",opt:!0,T:9}])}},gR=new hR,yR=class extends m{constructor(){super("sui.rpc.v2.ZkLoginProof",[{no:1,name:"a",kind:"message",T:()=>F0},{no:2,name:"b",kind:"message",T:()=>xR},{no:3,name:"c",kind:"message",T:()=>F0}])}},bR=new yR,TR=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}])}},vR=new TR,wR=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}])}},F0=new wR,ER=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}])}},xR=new ER,kR=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:()=>Ku}])}},q0=new kR,SR=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:()=>Qu}])}},$0=new SR,IR=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}])}},Qu=new IR,_R=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}])}},z0=new _R;var OR=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}])}},H0=new OR;var NR=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:()=>CR}])}},W0=new NR,AR=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}])}},CR=new AR;var RR=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:()=>C0},{no:5,name:"events",kind:"message",T:()=>W0},{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:()=>H0},{no:9,name:"objects",kind:"message",T:()=>Ro}])}},Bn=new RR;var DR=(function(e){return e[e.ENABLED=0]="ENABLED",e[e.DISABLED=1]="DISABLED",e})({}),jR=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}])}},BR=new jR,PR=class extends m{constructor(){super("sui.rpc.v2.ExecuteTransactionResponse",[{no:1,name:"transaction",kind:"message",T:()=>Bn}])}},LR=new PR,MR=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",DR]},{no:4,name:"do_gas_selection",kind:"scalar",opt:!0,T:8}])}},UR=new MR,FR=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:()=>qR}])}},VR=new FR,GR=class extends m{constructor(){super("sui.rpc.v2.CommandResult",[{no:1,name:"return_values",kind:"message",repeat:1,T:()=>J0},{no:2,name:"mutated_by_ref",kind:"message",repeat:1,T:()=>J0}])}},qR=new GR,$R=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}])}},J0=new $R,Lo=new Pe("sui.rpc.v2.TransactionExecutionService",[{name:"ExecuteTransaction",options:{},I:BR,O:LR},{name:"SimulateTransaction",options:{},I:UR,O:VR}]);var Y0=class{constructor(e){this._transport=e,this.typeName=Lo.typeName,this.methods=Lo.methods,this.options=Lo.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 zR=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}}])}},X0=new zR;var HR=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:()=>r1},{no:5,name:"storage_fund",kind:"message",T:()=>t1},{no:6,name:"parameters",kind:"message",T:()=>XR},{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:()=>JR},{no:9,name:"stake_subsidy",kind:"message",T:()=>QR},{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}])}},Z0=new HR,WR=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}])}},JR=new WR,YR=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}])}},XR=new YR,ZR=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 ZR,KR=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}])}},QR=new KR,e1=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}])}},t1=new e1,n1=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:()=>i1},{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}])}},r1=new n1,s1=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:()=>a1},{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}])}},i1=new s1,o1=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}])}},a1=new o1;var c1=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:()=>$0},{no:3,name:"system_state",kind:"message",T:()=>Z0},{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:()=>X0}])}},K0=new c1;var u1=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:()=>p1}])}},Q0=new u1,l1=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:()=>d1}])}},p1=new l1,f1=class extends m{constructor(){super("sui.rpc.v2.AddressAliasesVersion",[{no:1,name:"version",kind:"scalar",opt:!0,T:4,L:0}])}},d1=new f1;var m1=(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})({}),h1=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:()=>jo},{no:9,name:"timestamp",kind:"message",T:()=>Ge},{no:10,name:"commitments",kind:"message",repeat:1,T:()=>tb},{no:11,name:"end_of_epoch_data",kind:"message",T:()=>y1},{no:12,name:"version_specific_data",kind:"scalar",opt:!0,T:12}])}},eb=new h1,g1=class extends m{constructor(){super("sui.rpc.v2.EndOfEpochData",[{no:1,name:"next_epoch_committee",kind:"message",repeat:1,T:()=>Qu},{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:()=>tb}])}},y1=new g1,b1=class extends m{constructor(){super("sui.rpc.v2.CheckpointCommitment",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.CheckpointCommitment.CheckpointCommitmentKind",m1]},{no:2,name:"digest",kind:"scalar",opt:!0,T:9}])}},tb=new b1;var T1=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:()=>eb},{no:4,name:"signature",kind:"message",T:()=>z0},{no:5,name:"contents",kind:"message",T:()=>Q0},{no:6,name:"transactions",kind:"message",repeat:1,T:()=>Bn},{no:7,name:"objects",kind:"message",T:()=>Ro}])}},Mo=new T1;var v1=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}},nb=new v1;var w1=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:()=>nb}])}},el=new w1;var E1=class extends m{constructor(){super("sui.rpc.v2.GetServiceInfoRequest",[])}},x1=new E1,k1=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}])}},S1=new k1,I1=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}])}},rb=new I1,_1=class extends m{constructor(){super("sui.rpc.v2.GetObjectResponse",[{no:1,name:"object",kind:"message",T:()=>Gt}])}},O1=new _1,N1=class extends m{constructor(){super("sui.rpc.v2.BatchGetObjectsRequest",[{no:1,name:"requests",kind:"message",repeat:1,T:()=>rb},{no:2,name:"read_mask",kind:"message",T:()=>Je}])}},A1=new N1,C1=class extends m{constructor(){super("sui.rpc.v2.BatchGetObjectsResponse",[{no:1,name:"objects",kind:"message",repeat:1,T:()=>j1}])}},R1=new C1,D1=class extends m{constructor(){super("sui.rpc.v2.GetObjectResult",[{no:1,name:"object",kind:"message",oneof:"result",T:()=>Gt},{no:2,name:"error",kind:"message",oneof:"result",T:()=>el}])}},j1=new D1,B1=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}])}},P1=new B1,L1=class extends m{constructor(){super("sui.rpc.v2.GetTransactionResponse",[{no:1,name:"transaction",kind:"message",T:()=>Bn}])}},M1=new L1,U1=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}])}},F1=new U1,V1=class extends m{constructor(){super("sui.rpc.v2.BatchGetTransactionsResponse",[{no:1,name:"transactions",kind:"message",repeat:1,T:()=>$1}])}},G1=new V1,q1=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:()=>el}])}},$1=new q1,z1=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}])}},H1=new z1,W1=class extends m{constructor(){super("sui.rpc.v2.GetCheckpointResponse",[{no:1,name:"checkpoint",kind:"message",T:()=>Mo}])}},J1=new W1,Y1=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}])}},X1=new Y1,Z1=class extends m{constructor(){super("sui.rpc.v2.GetEpochResponse",[{no:1,name:"epoch",kind:"message",T:()=>K0}])}},K1=new Z1,Uo=new Pe("sui.rpc.v2.LedgerService",[{name:"GetServiceInfo",options:{},I:x1,O:S1},{name:"GetObject",options:{},I:rb,O:O1},{name:"BatchGetObjects",options:{},I:A1,O:R1},{name:"GetTransaction",options:{},I:P1,O:M1},{name:"BatchGetTransactions",options:{},I:F1,O:G1},{name:"GetCheckpoint",options:{},I:H1,O:J1},{name:"GetEpoch",options:{},I:X1,O:K1}]);var sb=class{constructor(e){this._transport=e,this.typeName=Uo.typeName,this.methods=Uo.methods,this.options=Uo.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 Q1=class extends m{constructor(){super("sui.rpc.v2.GetPackageRequest",[{no:1,name:"package_id",kind:"scalar",opt:!0,T:9}])}},eD=new Q1,tD=class extends m{constructor(){super("sui.rpc.v2.GetPackageResponse",[{no:1,name:"package",kind:"message",T:()=>Ao}])}},nD=new tD,rD=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}])}},sD=new rD,iD=class extends m{constructor(){super("sui.rpc.v2.GetDatatypeResponse",[{no:1,name:"datatype",kind:"message",T:()=>Fu}])}},oD=new iD,aD=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}])}},cD=new aD,uD=class extends m{constructor(){super("sui.rpc.v2.GetFunctionResponse",[{no:1,name:"function",kind:"message",T:()=>Gu}])}},lD=new uD,pD=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}])}},fD=new pD,dD=class extends m{constructor(){super("sui.rpc.v2.ListPackageVersionsResponse",[{no:1,name:"versions",kind:"message",repeat:1,T:()=>gD},{no:2,name:"next_page_token",kind:"scalar",opt:!0,T:12}])}},mD=new dD,hD=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}])}},gD=new hD,Fo=new Pe("sui.rpc.v2.MovePackageService",[{name:"GetPackage",options:{},I:eD,O:nD},{name:"GetDatatype",options:{},I:sD,O:oD},{name:"GetFunction",options:{},I:cD,O:lD},{name:"ListPackageVersions",options:{},I:fD,O:mD}]);var ib=class{constructor(e){this._transport=e,this.typeName=Fo.typeName,this.methods=Fo.methods,this.options=Fo.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 yD=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:()=>qu}])}},bD=new yD,TD=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}])}},vD=new TD,Vo=new Pe("sui.rpc.v2.SignatureVerificationService",[{name:"VerifySignature",options:{},I:bD,O:vD}]);var ob=class{constructor(e){this._transport=e,this.typeName=Vo.typeName,this.methods=Vo.methods,this.options=Vo.options}verifySignature(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return se("unary",this._transport,n,r,e)}};var ab=class{constructor(e){this._transport=e,this.typeName=Po.typeName,this.methods=Po.methods,this.options=Po.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 wD=class extends m{constructor(){super("sui.rpc.v2.SubscribeCheckpointsRequest",[{no:1,name:"read_mask",kind:"message",T:()=>Je}])}},ED=new wD,xD=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:()=>Mo}])}},kD=new xD,Go=new Pe("sui.rpc.v2.SubscriptionService",[{name:"SubscribeCheckpoints",serverStreaming:!0,options:{},I:ED,O:kD}]);var cb=class{constructor(e){this._transport=e,this.typeName=Go.typeName,this.methods=Go.methods,this.options=Go.options}subscribeCheckpoints(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return se("serverStreaming",this._transport,n,r,e)}};var SD=class extends m{constructor(){super("sui.rpc.v2.LookupNameRequest",[{no:1,name:"name",kind:"scalar",opt:!0,T:9}])}},ID=new SD,_D=class extends m{constructor(){super("sui.rpc.v2.LookupNameResponse",[{no:1,name:"record",kind:"message",T:()=>ub}])}},OD=new _D,ND=class extends m{constructor(){super("sui.rpc.v2.ReverseLookupNameRequest",[{no:1,name:"address",kind:"scalar",opt:!0,T:9}])}},AD=new ND,CD=class extends m{constructor(){super("sui.rpc.v2.ReverseLookupNameResponse",[{no:1,name:"record",kind:"message",T:()=>ub}])}},RD=new CD,DD=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}}])}},ub=new DD,qo=new Pe("sui.rpc.v2.NameService",[{name:"LookupName",options:{},I:ID,O:OD},{name:"ReverseLookupName",options:{},I:AD,O:RD}]);var lb=class{constructor(e){this._transport=e,this.typeName=qo.typeName,this.methods=qo.methods,this.options=qo.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 jD=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 tl(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 nl(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 $o(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 $o(MD(c.headers),c.status,c.statusText)}let r=e,s=t>=200&&t<300,i=db(r),[o,a]=fb(r);return(o===void 0||o===N.OK)&&!s&&(o=UD(t),a=n),[o,a,i]}function rl(e){let t=LD(e),[n,r]=fb(t),s=db(t);return[n??N.OK,r,s]}var yt;(function(e){e[e.DATA=0]="DATA",e[e.TRAILER=128]="TRAILER"})(yt||(yt={}));function sl(e,t,n){return jD(this,void 0,void 0,function*(){let r,s="",i=new Uint8Array(0),o=PD(t);if(BD(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=pb(i,Ps(s.substring(0,c))),s=s.substring(c)}else i=pb(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 BD=e=>typeof e.getReader=="function";function pb(e,t){let n=new Uint8Array(e.length+t.length);return n.set(e),n.set(t,e.length),n}function PD(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 fb(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 db(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 LD(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 MD(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 UD(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 Wu(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:tl(new globalThis.Headers,l,u.timeout,u.meta),body:nl(g,l),signal:(a=r.abort)!==null&&a!==void 0?a:null})).then(U=>{let[L,O,R]=$o(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 sl(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]=rl(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:tl(new globalThis.Headers,l,u.timeout,u.meta),body:nl(g,l),signal:(a=r.abort)!==null&&a!==void 0?a:null})).then(U=>{let[L,O,R]=$o(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 sl(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]=rl(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 FD=Symbol.for("@mysten/SuiGrpcClient");var il=class extends fo{get mvr(){return this.core.mvr}get[FD](){return!0}constructor(e){super({network:e.network});let t=e.transport??new Ys({baseUrl:e.baseUrl,fetchInit:e.fetchInit});this.transactionExecutionService=new Y0(t),this.ledgerService=new sb(t),this.stateService=new ab(t),this.subscriptionService=new cb(t),this.movePackageService=new ib(t),this.signatureVerificationService=new ob(t),this.nameService=new lb(t),this.core=new U0({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 Hb=ot($c());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 ol=e=>e.toUpperCase(),zo=e=>typeof e=="function"?e():e,al=(e,t)=>e.map((n,r)=>[n,t[r]]),ur=e=>{let t={};return e instanceof Headers?t=VD(e):Array.isArray(e)?e.forEach(([n,r])=>{n&&r!==void 0&&(t[n]=r)}):e&&(t=e),t},VD=e=>{let t={};return e.forEach((n,r)=>{t[r]=n}),t},hb=e=>{try{let t=e();return GD(t)?t.catch(n=>mb(n)):t}catch(t){return mb(t)}},mb=e=>e instanceof Error?e:new Error(String(e)),GD=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",Ho=e=>{throw new Error(`Unhandled case: ${String(e)}`)},Xs=e=>typeof e=="object"&&e!==null&&!Array.isArray(e);var gb=(e,t)=>e.documents?e:{documents:e,requestHeaders:t,signal:void 0};var yb=(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 bb(e){return typeof e=="object"&&e!==null}function Tb(e,t){if(!!!e)throw new Error(t??"Unexpected invariant triggered.")}var qD=/\r\n|[\n\r]/g;function zr(e,t){let n=0,r=1;for(let s of e.body.matchAll(qD)){if(typeof s.index=="number"||Tb(!1),s.index>=t)break;n=s.index+s[0].length,r+=1}return{line:r,column:t+1-n}}function cl(e){return Wo(e.source,zr(e.source,e.start))}function Wo(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}
@@ -99,7 +99,7 @@ this in the docs: http://dev.apollodata.com/core/fragments.html#unique-names`):o
99
99
  }
100
100
  }
101
101
  }
102
- `,aa=class{constructor(t={}){let n=t.url||ca.MAINNET;this.client=new Pn(n)}async findSharedObjectByType(t){return(await this.client.request(zb,{type:t,after:null})).objects.nodes[0]?.address||null}async findSharedObjectsByType(t){let n=[],r=null,s=!0;for(;s;){let i=await this.client.request(zb,{type:t,after:r}),o=i.objects.nodes.filter(a=>a.address).map(a=>a.address);n.push(...o),s=i.objects.pageInfo.hasNextPage,r=i.objects.pageInfo.endCursor}return n}async getDynamicFieldValue(t,n,r){let s={address:t,nameType:n,nameBcs:$b(n,r)},o=(await this.client.request(Cj,s)).address;return o?.dynamicField?.value?o.dynamicField.value.json:null}};var Wb=ot(pu()),Jb=ot(St());var ua={DEVNET:"https://fullnode.devnet.sui.io:443",TESTNET:"https://fullnode.testnet.sui.io:443",MAINNET:"https://fullnode.mainnet.sui.io:443"},Yb={DEVNET:"DEVNET",TESTNET:"TESTNET",MAINNET:"MAINNET"},la=class{constructor(t){this.options=t;this.options.environment&&(this.options.rpc||(this.options.rpc=ua[this.options.environment]),this.options.graphqlUrl||(this.options.graphqlUrl=ca[this.options.environment])),this.options.rpc||(this.options.rpc=ua.MAINNET),this.suiGrpcClient=new il({baseUrl:this.options.rpc,network:this.options.environment?.toLowerCase()||"mainnet"}),this.options.graphqlUrl||(this.options.graphqlUrl=ca.MAINNET),this.graphqlClient=new aa({url:this.options.graphqlUrl}),this.prepareModules()}static createSigner(t){return Cu.fromSecretKey(K(t).slice(1))}prepareModules(){for(let t in to)this[t]=new to[t](this)}getSignerAddress(){return this.options.signer.toSuiAddress()}getPackageId(){return this.options.packageId}async signTransaction(t){if(!this.options.signer)throw new Error("Signer is required");t.setSenderIfNotSet(this.options.signer.toSuiAddress()),"getGasOwner"in this.options.signer&&t.setGasOwner(this.options.signer.getGasOwner());let n=await t.build({client:this.suiGrpcClient});return await this.options.signer.signTransaction(n)}async executeTransaction(t){let n;(0,Jb.default)(t.signature)?n=t.signature:n=[t.signature];let r=await this.suiGrpcClient.executeTransaction({transaction:Hb.Buffer.from(t.bytes,"base64"),signatures:n,include:{effects:!0,events:!0}});if(r.$kind==="Transaction")return r.Transaction;throw new Error(`Transaction failed ${r.FailedTransaction.digest}`)}async signAndExecuteTransaction(t){let n=await this.signTransaction(t);return await this.executeTransaction(n)}async getOwnedObjectsGrpc(t,n){let r=[],s;for(;;){let i=await this.suiGrpcClient.stateService.listOwnedObjects({owner:t,readMask:{paths:["object_id","object_type","json","owner"]},objectType:n,pageToken:s,pageSize:1e3});if(r.push(...(0,Wb.default)(i.response.objects.map(o=>this.parseGrpcObjectResponse(o)))),!i.response.nextPageToken)break;s=i.response.nextPageToken}return r}async getObjectGrpc(t){let n=await this.suiGrpcClient.ledgerService.getObject({objectId:t,readMask:{paths:["object_id","object_type","json","owner"]}});return this.parseGrpcObjectResponse(n.response.object)}async getDynamicFields(t){let n=[],r;do{let s=await this.suiGrpcClient.stateService.listDynamicFields({parent:t,pageToken:r,readMask:{paths:["field_id","field_object"]},pageSize:1e3}),i=s.response?.dynamicFields;i&&n.push(...i.map(o=>({...Mn(o.fieldObject?.json),type:o.fieldObject?.objectType}))),r=s?.response?.nextPageToken}while(r);return n}async getBalance(t,n){let{response:r}=await this.suiGrpcClient.stateService.getBalance({owner:t,coinType:n});return r?.balance?.balance||0n}async waitForTransaction(t,n=6e4,r=500){let s=Date.now();for(;;){try{let{response:i}=await this.suiGrpcClient.ledgerService.getTransaction({digest:t,readMask:{paths:["timestamp"]}});if(i.transaction?.timestamp?.seconds)return}catch{if(Date.now()-s>n)throw new Error("waitForTransaction timeout. digest="+t)}await new Promise(i=>setTimeout(i,r))}}parseGrpcObjectResponse(t){if(!t)return null;let n;return t.json&&(n=Mn(t.json)),{owner:t.owner?.address||null,object_id:t.objectId,object_type:t.objectType,json:n}}};
102
+ `,aa=class{constructor(t={}){let n=t.url||ca.MAINNET;this.client=new Pn(n)}async findSharedObjectByType(t){return(await this.client.request(zb,{type:t,after:null})).objects.nodes[0]?.address||null}async findSharedObjectsByType(t){let n=[],r=null,s=!0;for(;s;){let i=await this.client.request(zb,{type:t,after:r}),o=i.objects.nodes.filter(a=>a.address).map(a=>a.address);n.push(...o),s=i.objects.pageInfo.hasNextPage,r=i.objects.pageInfo.endCursor}return n}async getDynamicFieldValue(t,n,r){let s={address:t,nameType:n==="string"?"0x1::string::String":n,nameBcs:$b(n,r)},o=(await this.client.request(Cj,s)).address;return o?.dynamicField?.value?o.dynamicField.value.json:null}};var Wb=ot(pu()),Jb=ot(St());var ua={DEVNET:"https://fullnode.devnet.sui.io:443",TESTNET:"https://fullnode.testnet.sui.io:443",MAINNET:"https://fullnode.mainnet.sui.io:443"},Yb={DEVNET:"DEVNET",TESTNET:"TESTNET",MAINNET:"MAINNET"},la=class{constructor(t){this.options=t;this.options.environment&&(this.options.rpc||(this.options.rpc=ua[this.options.environment]),this.options.graphqlUrl||(this.options.graphqlUrl=ca[this.options.environment])),this.options.rpc||(this.options.rpc=ua.MAINNET),this.suiGrpcClient=new il({baseUrl:this.options.rpc,network:this.options.environment?.toLowerCase()||"mainnet"}),this.options.graphqlUrl||(this.options.graphqlUrl=ca.MAINNET),this.graphqlClient=new aa({url:this.options.graphqlUrl}),this.prepareModules()}static createSigner(t){return Cu.fromSecretKey(K(t).slice(1))}prepareModules(){for(let t in to)this[t]=new to[t](this)}getSignerAddress(){return this.options.signer.toSuiAddress()}getPackageId(){return this.options.packageId}async signTransaction(t){if(!this.options.signer)throw new Error("Signer is required");t.setSenderIfNotSet(this.options.signer.toSuiAddress()),"getGasOwner"in this.options.signer&&t.setGasOwner(await this.options.signer.getGasOwner());let n=await t.build({client:this.suiGrpcClient});return await this.options.signer.signTransaction(n)}async executeTransaction(t){let n;(0,Jb.default)(t.signature)?n=t.signature:n=[t.signature];let r=await this.suiGrpcClient.executeTransaction({transaction:Hb.Buffer.from(t.bytes,"base64"),signatures:n,include:{effects:!0,events:!0}});if(r.$kind==="Transaction")return r.Transaction;throw new Error(`Transaction failed ${r.FailedTransaction.digest}`)}async signAndExecuteTransaction(t){let n=await this.signTransaction(t);return await this.executeTransaction(n)}async getOwnedObjectsGrpc(t,n){let r=[],s;for(;;){let i=await this.suiGrpcClient.stateService.listOwnedObjects({owner:t,readMask:{paths:["object_id","object_type","json","owner"]},objectType:n,pageToken:s,pageSize:1e3});if(r.push(...(0,Wb.default)(i.response.objects.map(o=>this.parseGrpcObjectResponse(o)))),!i.response.nextPageToken)break;s=i.response.nextPageToken}return r}async getObjectGrpc(t){let n=await this.suiGrpcClient.ledgerService.getObject({objectId:t,readMask:{paths:["object_id","object_type","json","owner"]}});return this.parseGrpcObjectResponse(n.response.object)}async getDynamicFields(t){let n=[],r;do{let s=await this.suiGrpcClient.stateService.listDynamicFields({parent:t,pageToken:r,readMask:{paths:["field_id","field_object"]},pageSize:1e3}),i=s.response?.dynamicFields;i&&n.push(...i.map(o=>({...Mn(o.fieldObject?.json),type:o.fieldObject?.objectType}))),r=s?.response?.nextPageToken}while(r);return n}async getBalance(t,n){let{response:r}=await this.suiGrpcClient.stateService.getBalance({owner:t,coinType:n});return r?.balance?.balance||0n}async waitForTransaction(t,n=6e4,r=500){let s=Date.now();for(;;){try{let{response:i}=await this.suiGrpcClient.ledgerService.getTransaction({digest:t,readMask:{paths:["timestamp"]}});if(i.transaction?.timestamp?.seconds)return}catch{if(Date.now()-s>n)throw new Error("waitForTransaction timeout. digest="+t)}await new Promise(i=>setTimeout(i,r))}}parseGrpcObjectResponse(t){if(!t)return null;let n;return t.json&&(n=Mn(t.json)),{owner:t.owner?.address||null,object_id:t.objectId,object_type:t.objectType,json:n}}};
103
103
  /*! Bundled license information:
104
104
 
105
105
  ieee754/index.js: