@cetusprotocol/deepbook-utils 1.4.8 → 1.4.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +28 -11
- package/dist/index.js +27 -27
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
var Pf=Object.defineProperty;var zb=(e,t,n)=>t in e?Pf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Vs=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var Wb=(e,t)=>{for(var n in t)Pf(e,n,{get:t[n],enumerable:!0})};var Ci=(e,t,n)=>(zb(e,typeof t!="symbol"?t+"":t,n),n);var Lf=/^(?!.*(^(?!@)|[-.@])($|[-.@]))(?:[a-z0-9-]{0,63}(?:\.[a-z0-9-]{0,63})*)?@[a-z0-9-]{0,63}$/i,Vf=/^(?!.*(^|[-.])($|[-.]))(?:[a-z0-9-]{0,63}\.)+sui$/i;function Ff(e){return e.length>235?!1:e.includes("@")?Lf.test(e):Vf.test(e)}function $f(e,t="at"){let n=e.toLowerCase(),r;if(n.includes("@")){if(!Lf.test(n))throw new Error(`Invalid SuiNS name ${e}`);let[s,i]=n.split("@");r=[...s?s.split("."):[],i]}else{if(!Vf.test(n))throw new Error(`Invalid SuiNS name ${e}`);r=n.split(".").slice(0,-1)}return t==="dot"?`${r.join(".")}.sui`:`${r.slice(0,-1).join(".")}@${r[r.length-1]}`}function Fs(e){let t=BigInt(e),n=[],r=0;if(t===0n)return[0];for(;t>0;)n[r]=Number(t&127n),t>>=7n,t>0n&&(n[r]|=128),r+=1;return n}function qf(e){let t=0n,n=0n,r=0;for(;;){if(r>=e.length)throw new Error("ULEB decode error: buffer overflow");let s=e[r];if(r+=1,t+=BigInt(s&127)<<n,!(s&128))break;n+=7n}if(t>BigInt(Number.MAX_SAFE_INTEGER))throw new Error("ULEB decode error: value exceeds MAX_SAFE_INTEGER");return{value:Number(t),length:r}}var Gf=class{constructor(e){this.bytePosition=0,this.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength)}shift(e){return this.bytePosition+=e,this}read8(){let e=this.dataView.getUint8(this.bytePosition);return this.shift(1),e}read16(){let e=this.dataView.getUint16(this.bytePosition,!0);return this.shift(2),e}read32(){let e=this.dataView.getUint32(this.bytePosition,!0);return this.shift(4),e}read64(){let e=this.read32(),t=this.read32().toString(16)+e.toString(16).padStart(8,"0");return BigInt("0x"+t).toString(10)}read128(){let e=BigInt(this.read64()),t=BigInt(this.read64()).toString(16)+e.toString(16).padStart(16,"0");return BigInt("0x"+t).toString(10)}read256(){let e=BigInt(this.read128()),t=BigInt(this.read128()).toString(16)+e.toString(16).padStart(32,"0");return BigInt("0x"+t).toString(10)}readBytes(e){let t=this.bytePosition+this.dataView.byteOffset,n=new Uint8Array(this.dataView.buffer,t,e);return this.shift(e),n}readULEB(){let e=this.bytePosition+this.dataView.byteOffset,{value:t,length:n}=qf(new Uint8Array(this.dataView.buffer,e));return this.shift(n),t}readVec(e){let t=this.readULEB(),n=[];for(let r=0;r<t;r++)n.push(e(this,r,t));return n}};function Ni(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function el(e){if(!Ni(e))throw new Error("Uint8Array expected")}function Zf(e,t){return Array.isArray(t)?t.length===0?!0:e?t.every(n=>typeof n=="string"):t.every(n=>Number.isSafeInteger(n)):!1}function tl(e){if(typeof e!="function")throw new Error("function expected");return!0}function cs(e,t){if(typeof t!="string")throw new Error(`${e}: string expected`);return!0}function Ri(e){if(!Number.isSafeInteger(e))throw new Error(`invalid integer: ${e}`)}function Ia(e){if(!Array.isArray(e))throw new Error("array expected")}function Aa(e,t){if(!Zf(!0,t))throw new Error(`${e}: array of strings expected`)}function nl(e,t){if(!Zf(!1,t))throw new Error(`${e}: array of numbers expected`)}function Sn(...e){let t=i=>i,n=(i,o)=>a=>i(o(a)),r=e.map(i=>i.encode).reduceRight(n,t),s=e.map(i=>i.decode).reduce(n,t);return{encode:r,decode:s}}function jn(e){let t=typeof e=="string"?e.split(""):e,n=t.length;Aa("alphabet",t);let r=new Map(t.map((s,i)=>[s,i]));return{encode:s=>(Ia(s),s.map(i=>{if(!Number.isSafeInteger(i)||i<0||i>=n)throw new Error(`alphabet.encode: digit index outside alphabet "${i}". Allowed: ${e}`);return t[i]})),decode:s=>(Ia(s),s.map(i=>{cs("alphabet.decode",i);let o=r.get(i);if(o===void 0)throw new Error(`Unknown letter: "${i}". Allowed: ${e}`);return o}))}}function Dn(e=""){return cs("join",e),{encode:t=>(Aa("join.decode",t),t.join(e)),decode:t=>(cs("join.decode",t),t.split(e))}}function Ca(e,t="="){return Ri(e),cs("padding",t),{encode(n){for(Aa("padding.encode",n);n.length*e%8;)n.push(t);return n},decode(n){Aa("padding.decode",n);let r=n.length;if(r*e%8)throw new Error("padding: invalid, string should have whole number of bytes");for(;r>0&&n[r-1]===t;r--)if((r-1)*e%8===0)throw new Error("padding: invalid, string has too much padding");return n.slice(0,r)}}}function Kf(e){return tl(e),{encode:t=>t,decode:t=>e(t)}}function zf(e,t,n){if(t<2)throw new Error(`convertRadix: invalid from=${t}, base cannot be less than 2`);if(n<2)throw new Error(`convertRadix: invalid to=${n}, base cannot be less than 2`);if(Ia(e),!e.length)return[];let r=0,s=[],i=Array.from(e,a=>{if(Ri(a),a<0||a>=t)throw new Error(`invalid integer: ${a}`);return a}),o=i.length;for(;;){let a=0,c=!0;for(let u=r;u<o;u++){let d=i[u],p=t*a,f=p+d;if(!Number.isSafeInteger(f)||p/t!==a||f-d!==p)throw new Error("convertRadix: carry overflow");let g=f/n;a=f%n;let b=Math.floor(g);if(i[u]=b,!Number.isSafeInteger(b)||b*n+a!==f)throw new Error("convertRadix: carry overflow");if(c)b?c=!1:r=u;else continue}if(s.push(a),c)break}for(let a=0;a<e.length-1&&e[a]===0;a++)s.push(0);return s.reverse()}var Xf=(e,t)=>t===0?e:Xf(t,e%t),xa=(e,t)=>e+(t-Xf(e,t)),Oa=(()=>{let e=[];for(let t=0;t<40;t++)e.push(2**t);return e})();function Yu(e,t,n,r){if(Ia(e),t<=0||t>32)throw new Error(`convertRadix2: wrong from=${t}`);if(n<=0||n>32)throw new Error(`convertRadix2: wrong to=${n}`);if(xa(t,n)>32)throw new Error(`convertRadix2: carry overflow from=${t} to=${n} carryBits=${xa(t,n)}`);let s=0,i=0,o=Oa[t],a=Oa[n]-1,c=[];for(let u of e){if(Ri(u),u>=o)throw new Error(`convertRadix2: invalid data word=${u} from=${t}`);if(s=s<<t|u,i+t>32)throw new Error(`convertRadix2: carry overflow pos=${i} from=${t}`);for(i+=t;i>=n;i-=n)c.push((s>>i-n&a)>>>0);let d=Oa[i];if(d===void 0)throw new Error("invalid carry");s&=d-1}if(s=s<<n-i&a,!r&&i>=t)throw new Error("Excess padding");if(!r&&s>0)throw new Error(`Non-zero padding: ${s}`);return r&&i>0&&c.push(s>>>0),c}function Hb(e){Ri(e);let t=2**8;return{encode:n=>{if(!Ni(n))throw new Error("radix.encode input should be Uint8Array");return zf(Array.from(n),t,e)},decode:n=>(nl("radix.decode",n),Uint8Array.from(zf(n,e,t)))}}function qn(e,t=!1){if(Ri(e),e<=0||e>32)throw new Error("radix2: bits should be in (0..32]");if(xa(8,e)>32||xa(e,8)>32)throw new Error("radix2: carry overflow");return{encode:n=>{if(!Ni(n))throw new Error("radix2.encode input should be Uint8Array");return Yu(Array.from(n),8,e,!t)},decode:n=>(nl("radix2.decode",n),Uint8Array.from(Yu(n,e,8,t)))}}function Wf(e){return tl(e),function(...t){try{return e.apply(null,t)}catch{}}}function Jb(e,t){return Ri(e),tl(t),{encode(n){if(!Ni(n))throw new Error("checksum.encode: input should be Uint8Array");let r=t(n).slice(0,e),s=new Uint8Array(n.length+e);return s.set(n),s.set(r,n.length),s},decode(n){if(!Ni(n))throw new Error("checksum.decode: input should be Uint8Array");let r=n.slice(0,-e),s=n.slice(-e),i=t(r).slice(0,e);for(let o=0;o<e;o++)if(i[o]!==s[o])throw new Error("Invalid checksum");return r}}}var uC=Sn(qn(4),jn("0123456789ABCDEF"),Dn("")),lC=Sn(qn(5),jn("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),Ca(5),Dn("")),dC=Sn(qn(5),jn("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),Dn("")),pC=Sn(qn(5),jn("0123456789ABCDEFGHIJKLMNOPQRSTUV"),Ca(5),Dn("")),fC=Sn(qn(5),jn("0123456789ABCDEFGHIJKLMNOPQRSTUV"),Dn("")),mC=Sn(qn(5),jn("0123456789ABCDEFGHJKMNPQRSTVWXYZ"),Dn(""),Kf(e=>e.toUpperCase().replace(/O/g,"0").replace(/[IL]/g,"1"))),Yf=(()=>typeof Uint8Array.from([]).toBase64=="function"&&typeof Uint8Array.fromBase64=="function")(),Qf=(e,t)=>{cs("base64",e);let n=t?/^[A-Za-z0-9=_-]+$/:/^[A-Za-z0-9=+/]+$/,r=t?"base64url":"base64";if(e.length>0&&!n.test(e))throw new Error("invalid base64");return Uint8Array.fromBase64(e,{alphabet:r,lastChunkHandling:"strict"})},hC=Yf?{encode(e){return el(e),e.toBase64()},decode(e){return Qf(e,!1)}}:Sn(qn(6),jn("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),Ca(6),Dn("")),gC=Sn(qn(6),jn("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),Dn("")),yC=Yf?{encode(e){return el(e),e.toBase64({alphabet:"base64url"})},decode(e){return Qf(e,!0)}}:Sn(qn(6),jn("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),Ca(6),Dn("")),bC=Sn(qn(6),jn("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),Dn("")),rl=e=>Sn(Hb(58),jn(e),Dn("")),Na=rl("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"),vC=rl("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"),_C=rl("rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz");var em=e=>Sn(Jb(4,t=>e(e(t))),Na);var Qu=Sn(jn("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),Dn("")),Hf=[996825010,642813549,513874426,1027748829,705979059];function wo(e){let t=e>>25,n=(e&33554431)<<5;for(let r=0;r<Hf.length;r++)(t>>r&1)===1&&(n^=Hf[r]);return n}function Jf(e,t,n=1){let r=e.length,s=1;for(let i=0;i<r;i++){let o=e.charCodeAt(i);if(o<33||o>126)throw new Error(`Invalid prefix (${e})`);s=wo(s)^o>>5}s=wo(s);for(let i=0;i<r;i++)s=wo(s)^e.charCodeAt(i)&31;for(let i of t)s=wo(s)^i;for(let i=0;i<6;i++)s=wo(s);return s^=n,Qu.encode(Yu([s%Oa[30]],30,5,!1))}function tm(e){let t=e==="bech32"?1:734539939,n=qn(5),r=n.decode,s=n.encode,i=Wf(r);function o(p,f,g=90){cs("bech32.encode prefix",p),Ni(f)&&(f=Array.from(f)),nl("bech32.encode",f);let b=p.length;if(b===0)throw new TypeError(`Invalid prefix length ${b}`);let _=b+7+f.length;if(g!==!1&&_>g)throw new TypeError(`Length ${_} exceeds limit ${g}`);let I=p.toLowerCase(),A=Jf(I,f,t);return`${I}1${Qu.encode(f)}${A}`}function a(p,f=90){cs("bech32.decode input",p);let g=p.length;if(g<8||f!==!1&&g>f)throw new TypeError(`invalid string length: ${g} (${p}). Expected (8..${f})`);let b=p.toLowerCase();if(p!==b&&p!==p.toUpperCase())throw new Error("String must be lowercase or uppercase");let _=b.lastIndexOf("1");if(_===0||_===-1)throw new Error('Letter "1" must be present between prefix and data only');let I=b.slice(0,_),A=b.slice(_+1);if(A.length<6)throw new Error("Data must be at least 6 characters long");let M=Qu.decode(A).slice(0,-6),C=Jf(I,M,t);if(!A.endsWith(C))throw new Error(`Invalid checksum in ${p}: expected "${C}"`);return{prefix:I,words:M}}let c=Wf(a);function u(p){let{prefix:f,words:g}=a(p,!1);return{prefix:f,words:g,bytes:r(g)}}function d(p,f){return o(p,s(f))}return{encode:o,decode:a,encodeFromBytes:d,decodeToBytes:u,decodeUnsafe:c,fromWords:r,fromWordsUnsafe:i,toWords:s}}var To=tm("bech32"),wC=tm("bech32m");var Zb=(()=>typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function")(),Kb={encode(e){return el(e),e.toHex()},decode(e){return cs("hex",e),Uint8Array.fromHex(e)}},TC=Zb?Kb:Sn(qn(4),jn("0123456789abcdef"),Dn(""),Kf(e=>{if(typeof e!="string"||e.length%2!==0)throw new TypeError(`hex.decode: expected string, got ${typeof e} with length ${e.length}`);return e.toLowerCase()}));var Un=e=>Na.encode(e),ln=e=>Na.decode(e);function ie(e){return Uint8Array.from(atob(e),t=>t.charCodeAt(0))}var sl=8192;function ye(e){if(e.length<sl)return btoa(String.fromCharCode(...e));let t="";for(var n=0;n<e.length;n+=sl){let r=e.slice(n,n+sl);t+=String.fromCharCode(...r)}return btoa(t)}function dn(e){let t=e.startsWith("0x")?e.slice(2):e,n=t.length%2===0?t:`0${t}`,r=n.match(/[0-9a-fA-F]{2}/g)?.map(s=>parseInt(s,16))??[];if(r.length!==n.length/2)throw new Error(`Invalid hex string ${e}`);return Uint8Array.from(r)}function Vt(e){return e.reduce((t,n)=>t+n.toString(16).padStart(2,"0"),"")}function Gn(e,t){return Array.from({length:Math.ceil(e.length/t)},(n,r)=>e.slice(r*t,(r+1)*t))}var Ra=class{constructor(e,t){if(typeof e!="function")throw new TypeError(`DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but got: ${e}.`);this._batchLoadFn=e,this._maxBatchSize=ev(t),this._batchScheduleFn=tv(t),this._cacheKeyFn=nv(t),this._cacheMap=rv(t),this._batch=null,this.name=sv(t)}load(e){if(e==null)throw new TypeError(`The loader.load() function must be called with a value, but got: ${String(e)}.`);let t=Yb(this),n=this._cacheMap,r;if(n){r=this._cacheKeyFn(e);let i=n.get(r);if(i){let o=t.cacheHits||(t.cacheHits=[]);return new Promise(a=>{o.push(()=>{a(i)})})}}t.keys.push(e);let s=new Promise((i,o)=>{t.callbacks.push({resolve:i,reject:o})});return n&&n.set(r,s),s}loadMany(e){if(!nm(e))throw new TypeError(`The loader.loadMany() function must be called with Array<key>, but got: ${e}.`);let t=[];for(let n=0;n<e.length;n++)t.push(this.load(e[n]).catch(r=>r));return Promise.all(t)}clear(e){let t=this._cacheMap;if(t){let n=this._cacheKeyFn(e);t.delete(n)}return this}clearAll(){let e=this._cacheMap;return e&&e.clear(),this}prime(e,t){let n=this._cacheMap;if(n){let r=this._cacheKeyFn(e);if(n.get(r)===void 0){let s;t instanceof Error?(s=Promise.reject(t),s.catch(()=>{})):s=Promise.resolve(t),n.set(r,s)}}return this}},Xb=typeof process=="object"&&typeof process.nextTick=="function"?function(e){il||(il=Promise.resolve()),il.then(()=>{process.nextTick(e)})}:typeof setImmediate=="function"?function(e){setImmediate(e)}:function(e){setTimeout(e)},il;function Yb(e){let t=e._batch;if(t!==null&&!t.hasDispatched&&t.keys.length<e._maxBatchSize)return t;let n={hasDispatched:!1,keys:[],callbacks:[]};return e._batch=n,e._batchScheduleFn(()=>{Qb(e,n)}),n}function Qb(e,t){if(t.hasDispatched=!0,t.keys.length===0){al(t);return}let n;try{n=e._batchLoadFn(t.keys)}catch(r){return ol(e,t,new TypeError(`DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function errored synchronously: ${String(r)}.`))}if(!n||typeof n.then!="function")return ol(e,t,new TypeError(`DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise: ${String(n)}.`));Promise.resolve(n).then(r=>{if(!nm(r))throw new TypeError(`DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise of an Array: ${String(r)}.`);if(r.length!==t.keys.length)throw new TypeError(`DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise of an Array of the same length as the Array of keys.
|
|
1
|
+
var Pf=Object.defineProperty;var zb=(e,t,n)=>t in e?Pf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Fs=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var Wb=(e,t)=>{for(var n in t)Pf(e,n,{get:t[n],enumerable:!0})};var Ni=(e,t,n)=>(zb(e,typeof t!="symbol"?t+"":t,n),n);var Lf=/^(?!.*(^(?!@)|[-.@])($|[-.@]))(?:[a-z0-9-]{0,63}(?:\.[a-z0-9-]{0,63})*)?@[a-z0-9-]{0,63}$/i,Vf=/^(?!.*(^|[-.])($|[-.]))(?:[a-z0-9-]{0,63}\.)+sui$/i;function Ff(e){return e.length>235?!1:e.includes("@")?Lf.test(e):Vf.test(e)}function $f(e,t="at"){let n=e.toLowerCase(),r;if(n.includes("@")){if(!Lf.test(n))throw new Error(`Invalid SuiNS name ${e}`);let[s,i]=n.split("@");r=[...s?s.split("."):[],i]}else{if(!Vf.test(n))throw new Error(`Invalid SuiNS name ${e}`);r=n.split(".").slice(0,-1)}return t==="dot"?`${r.join(".")}.sui`:`${r.slice(0,-1).join(".")}@${r[r.length-1]}`}function $s(e){let t=BigInt(e),n=[],r=0;if(t===0n)return[0];for(;t>0;)n[r]=Number(t&127n),t>>=7n,t>0n&&(n[r]|=128),r+=1;return n}function qf(e){let t=0n,n=0n,r=0;for(;;){if(r>=e.length)throw new Error("ULEB decode error: buffer overflow");let s=e[r];if(r+=1,t+=BigInt(s&127)<<n,!(s&128))break;n+=7n}if(t>BigInt(Number.MAX_SAFE_INTEGER))throw new Error("ULEB decode error: value exceeds MAX_SAFE_INTEGER");return{value:Number(t),length:r}}var Gf=class{constructor(e){this.bytePosition=0,this.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength)}shift(e){return this.bytePosition+=e,this}read8(){let e=this.dataView.getUint8(this.bytePosition);return this.shift(1),e}read16(){let e=this.dataView.getUint16(this.bytePosition,!0);return this.shift(2),e}read32(){let e=this.dataView.getUint32(this.bytePosition,!0);return this.shift(4),e}read64(){let e=this.read32(),t=this.read32().toString(16)+e.toString(16).padStart(8,"0");return BigInt("0x"+t).toString(10)}read128(){let e=BigInt(this.read64()),t=BigInt(this.read64()).toString(16)+e.toString(16).padStart(16,"0");return BigInt("0x"+t).toString(10)}read256(){let e=BigInt(this.read128()),t=BigInt(this.read128()).toString(16)+e.toString(16).padStart(32,"0");return BigInt("0x"+t).toString(10)}readBytes(e){let t=this.bytePosition+this.dataView.byteOffset,n=new Uint8Array(this.dataView.buffer,t,e);return this.shift(e),n}readULEB(){let e=this.bytePosition+this.dataView.byteOffset,{value:t,length:n}=qf(new Uint8Array(this.dataView.buffer,e));return this.shift(n),t}readVec(e){let t=this.readULEB(),n=[];for(let r=0;r<t;r++)n.push(e(this,r,t));return n}};function Ri(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function el(e){if(!Ri(e))throw new Error("Uint8Array expected")}function Zf(e,t){return Array.isArray(t)?t.length===0?!0:e?t.every(n=>typeof n=="string"):t.every(n=>Number.isSafeInteger(n)):!1}function tl(e){if(typeof e!="function")throw new Error("function expected");return!0}function cs(e,t){if(typeof t!="string")throw new Error(`${e}: string expected`);return!0}function Mi(e){if(!Number.isSafeInteger(e))throw new Error(`invalid integer: ${e}`)}function Aa(e){if(!Array.isArray(e))throw new Error("array expected")}function xa(e,t){if(!Zf(!0,t))throw new Error(`${e}: array of strings expected`)}function nl(e,t){if(!Zf(!1,t))throw new Error(`${e}: array of numbers expected`)}function Sn(...e){let t=i=>i,n=(i,o)=>a=>i(o(a)),r=e.map(i=>i.encode).reduceRight(n,t),s=e.map(i=>i.decode).reduce(n,t);return{encode:r,decode:s}}function jn(e){let t=typeof e=="string"?e.split(""):e,n=t.length;xa("alphabet",t);let r=new Map(t.map((s,i)=>[s,i]));return{encode:s=>(Aa(s),s.map(i=>{if(!Number.isSafeInteger(i)||i<0||i>=n)throw new Error(`alphabet.encode: digit index outside alphabet "${i}". Allowed: ${e}`);return t[i]})),decode:s=>(Aa(s),s.map(i=>{cs("alphabet.decode",i);let o=r.get(i);if(o===void 0)throw new Error(`Unknown letter: "${i}". Allowed: ${e}`);return o}))}}function Dn(e=""){return cs("join",e),{encode:t=>(xa("join.decode",t),t.join(e)),decode:t=>(cs("join.decode",t),t.split(e))}}function Na(e,t="="){return Mi(e),cs("padding",t),{encode(n){for(xa("padding.encode",n);n.length*e%8;)n.push(t);return n},decode(n){xa("padding.decode",n);let r=n.length;if(r*e%8)throw new Error("padding: invalid, string should have whole number of bytes");for(;r>0&&n[r-1]===t;r--)if((r-1)*e%8===0)throw new Error("padding: invalid, string has too much padding");return n.slice(0,r)}}}function Kf(e){return tl(e),{encode:t=>t,decode:t=>e(t)}}function zf(e,t,n){if(t<2)throw new Error(`convertRadix: invalid from=${t}, base cannot be less than 2`);if(n<2)throw new Error(`convertRadix: invalid to=${n}, base cannot be less than 2`);if(Aa(e),!e.length)return[];let r=0,s=[],i=Array.from(e,a=>{if(Mi(a),a<0||a>=t)throw new Error(`invalid integer: ${a}`);return a}),o=i.length;for(;;){let a=0,c=!0;for(let u=r;u<o;u++){let d=i[u],p=t*a,f=p+d;if(!Number.isSafeInteger(f)||p/t!==a||f-d!==p)throw new Error("convertRadix: carry overflow");let g=f/n;a=f%n;let b=Math.floor(g);if(i[u]=b,!Number.isSafeInteger(b)||b*n+a!==f)throw new Error("convertRadix: carry overflow");if(c)b?c=!1:r=u;else continue}if(s.push(a),c)break}for(let a=0;a<e.length-1&&e[a]===0;a++)s.push(0);return s.reverse()}var Xf=(e,t)=>t===0?e:Xf(t,e%t),Ca=(e,t)=>e+(t-Xf(e,t)),Ia=(()=>{let e=[];for(let t=0;t<40;t++)e.push(2**t);return e})();function Yu(e,t,n,r){if(Aa(e),t<=0||t>32)throw new Error(`convertRadix2: wrong from=${t}`);if(n<=0||n>32)throw new Error(`convertRadix2: wrong to=${n}`);if(Ca(t,n)>32)throw new Error(`convertRadix2: carry overflow from=${t} to=${n} carryBits=${Ca(t,n)}`);let s=0,i=0,o=Ia[t],a=Ia[n]-1,c=[];for(let u of e){if(Mi(u),u>=o)throw new Error(`convertRadix2: invalid data word=${u} from=${t}`);if(s=s<<t|u,i+t>32)throw new Error(`convertRadix2: carry overflow pos=${i} from=${t}`);for(i+=t;i>=n;i-=n)c.push((s>>i-n&a)>>>0);let d=Ia[i];if(d===void 0)throw new Error("invalid carry");s&=d-1}if(s=s<<n-i&a,!r&&i>=t)throw new Error("Excess padding");if(!r&&s>0)throw new Error(`Non-zero padding: ${s}`);return r&&i>0&&c.push(s>>>0),c}function Hb(e){Mi(e);let t=2**8;return{encode:n=>{if(!Ri(n))throw new Error("radix.encode input should be Uint8Array");return zf(Array.from(n),t,e)},decode:n=>(nl("radix.decode",n),Uint8Array.from(zf(n,e,t)))}}function qn(e,t=!1){if(Mi(e),e<=0||e>32)throw new Error("radix2: bits should be in (0..32]");if(Ca(8,e)>32||Ca(e,8)>32)throw new Error("radix2: carry overflow");return{encode:n=>{if(!Ri(n))throw new Error("radix2.encode input should be Uint8Array");return Yu(Array.from(n),8,e,!t)},decode:n=>(nl("radix2.decode",n),Uint8Array.from(Yu(n,e,8,t)))}}function Wf(e){return tl(e),function(...t){try{return e.apply(null,t)}catch{}}}function Jb(e,t){return Mi(e),tl(t),{encode(n){if(!Ri(n))throw new Error("checksum.encode: input should be Uint8Array");let r=t(n).slice(0,e),s=new Uint8Array(n.length+e);return s.set(n),s.set(r,n.length),s},decode(n){if(!Ri(n))throw new Error("checksum.decode: input should be Uint8Array");let r=n.slice(0,-e),s=n.slice(-e),i=t(r).slice(0,e);for(let o=0;o<e;o++)if(i[o]!==s[o])throw new Error("Invalid checksum");return r}}}var uC=Sn(qn(4),jn("0123456789ABCDEF"),Dn("")),lC=Sn(qn(5),jn("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),Na(5),Dn("")),dC=Sn(qn(5),jn("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),Dn("")),pC=Sn(qn(5),jn("0123456789ABCDEFGHIJKLMNOPQRSTUV"),Na(5),Dn("")),fC=Sn(qn(5),jn("0123456789ABCDEFGHIJKLMNOPQRSTUV"),Dn("")),mC=Sn(qn(5),jn("0123456789ABCDEFGHJKMNPQRSTVWXYZ"),Dn(""),Kf(e=>e.toUpperCase().replace(/O/g,"0").replace(/[IL]/g,"1"))),Yf=(()=>typeof Uint8Array.from([]).toBase64=="function"&&typeof Uint8Array.fromBase64=="function")(),Qf=(e,t)=>{cs("base64",e);let n=t?/^[A-Za-z0-9=_-]+$/:/^[A-Za-z0-9=+/]+$/,r=t?"base64url":"base64";if(e.length>0&&!n.test(e))throw new Error("invalid base64");return Uint8Array.fromBase64(e,{alphabet:r,lastChunkHandling:"strict"})},hC=Yf?{encode(e){return el(e),e.toBase64()},decode(e){return Qf(e,!1)}}:Sn(qn(6),jn("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),Na(6),Dn("")),gC=Sn(qn(6),jn("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),Dn("")),yC=Yf?{encode(e){return el(e),e.toBase64({alphabet:"base64url"})},decode(e){return Qf(e,!0)}}:Sn(qn(6),jn("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),Na(6),Dn("")),bC=Sn(qn(6),jn("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),Dn("")),rl=e=>Sn(Hb(58),jn(e),Dn("")),Ra=rl("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"),vC=rl("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"),_C=rl("rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz");var em=e=>Sn(Jb(4,t=>e(e(t))),Ra);var Qu=Sn(jn("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),Dn("")),Hf=[996825010,642813549,513874426,1027748829,705979059];function To(e){let t=e>>25,n=(e&33554431)<<5;for(let r=0;r<Hf.length;r++)(t>>r&1)===1&&(n^=Hf[r]);return n}function Jf(e,t,n=1){let r=e.length,s=1;for(let i=0;i<r;i++){let o=e.charCodeAt(i);if(o<33||o>126)throw new Error(`Invalid prefix (${e})`);s=To(s)^o>>5}s=To(s);for(let i=0;i<r;i++)s=To(s)^e.charCodeAt(i)&31;for(let i of t)s=To(s)^i;for(let i=0;i<6;i++)s=To(s);return s^=n,Qu.encode(Yu([s%Ia[30]],30,5,!1))}function tm(e){let t=e==="bech32"?1:734539939,n=qn(5),r=n.decode,s=n.encode,i=Wf(r);function o(p,f,g=90){cs("bech32.encode prefix",p),Ri(f)&&(f=Array.from(f)),nl("bech32.encode",f);let b=p.length;if(b===0)throw new TypeError(`Invalid prefix length ${b}`);let _=b+7+f.length;if(g!==!1&&_>g)throw new TypeError(`Length ${_} exceeds limit ${g}`);let I=p.toLowerCase(),A=Jf(I,f,t);return`${I}1${Qu.encode(f)}${A}`}function a(p,f=90){cs("bech32.decode input",p);let g=p.length;if(g<8||f!==!1&&g>f)throw new TypeError(`invalid string length: ${g} (${p}). Expected (8..${f})`);let b=p.toLowerCase();if(p!==b&&p!==p.toUpperCase())throw new Error("String must be lowercase or uppercase");let _=b.lastIndexOf("1");if(_===0||_===-1)throw new Error('Letter "1" must be present between prefix and data only');let I=b.slice(0,_),A=b.slice(_+1);if(A.length<6)throw new Error("Data must be at least 6 characters long");let M=Qu.decode(A).slice(0,-6),C=Jf(I,M,t);if(!A.endsWith(C))throw new Error(`Invalid checksum in ${p}: expected "${C}"`);return{prefix:I,words:M}}let c=Wf(a);function u(p){let{prefix:f,words:g}=a(p,!1);return{prefix:f,words:g,bytes:r(g)}}function d(p,f){return o(p,s(f))}return{encode:o,decode:a,encodeFromBytes:d,decodeToBytes:u,decodeUnsafe:c,fromWords:r,fromWordsUnsafe:i,toWords:s}}var ko=tm("bech32"),wC=tm("bech32m");var Zb=(()=>typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function")(),Kb={encode(e){return el(e),e.toHex()},decode(e){return cs("hex",e),Uint8Array.fromHex(e)}},TC=Zb?Kb:Sn(qn(4),jn("0123456789abcdef"),Dn(""),Kf(e=>{if(typeof e!="string"||e.length%2!==0)throw new TypeError(`hex.decode: expected string, got ${typeof e} with length ${e.length}`);return e.toLowerCase()}));var Un=e=>Ra.encode(e),ln=e=>Ra.decode(e);function ie(e){return Uint8Array.from(atob(e),t=>t.charCodeAt(0))}var sl=8192;function ye(e){if(e.length<sl)return btoa(String.fromCharCode(...e));let t="";for(var n=0;n<e.length;n+=sl){let r=e.slice(n,n+sl);t+=String.fromCharCode(...r)}return btoa(t)}function dn(e){let t=e.startsWith("0x")?e.slice(2):e,n=t.length%2===0?t:`0${t}`,r=n.match(/[0-9a-fA-F]{2}/g)?.map(s=>parseInt(s,16))??[];if(r.length!==n.length/2)throw new Error(`Invalid hex string ${e}`);return Uint8Array.from(r)}function Vt(e){return e.reduce((t,n)=>t+n.toString(16).padStart(2,"0"),"")}function Gn(e,t){return Array.from({length:Math.ceil(e.length/t)},(n,r)=>e.slice(r*t,(r+1)*t))}var Ma=class{constructor(e,t){if(typeof e!="function")throw new TypeError(`DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but got: ${e}.`);this._batchLoadFn=e,this._maxBatchSize=ev(t),this._batchScheduleFn=tv(t),this._cacheKeyFn=nv(t),this._cacheMap=rv(t),this._batch=null,this.name=sv(t)}load(e){if(e==null)throw new TypeError(`The loader.load() function must be called with a value, but got: ${String(e)}.`);let t=Yb(this),n=this._cacheMap,r;if(n){r=this._cacheKeyFn(e);let i=n.get(r);if(i){let o=t.cacheHits||(t.cacheHits=[]);return new Promise(a=>{o.push(()=>{a(i)})})}}t.keys.push(e);let s=new Promise((i,o)=>{t.callbacks.push({resolve:i,reject:o})});return n&&n.set(r,s),s}loadMany(e){if(!nm(e))throw new TypeError(`The loader.loadMany() function must be called with Array<key>, but got: ${e}.`);let t=[];for(let n=0;n<e.length;n++)t.push(this.load(e[n]).catch(r=>r));return Promise.all(t)}clear(e){let t=this._cacheMap;if(t){let n=this._cacheKeyFn(e);t.delete(n)}return this}clearAll(){let e=this._cacheMap;return e&&e.clear(),this}prime(e,t){let n=this._cacheMap;if(n){let r=this._cacheKeyFn(e);if(n.get(r)===void 0){let s;t instanceof Error?(s=Promise.reject(t),s.catch(()=>{})):s=Promise.resolve(t),n.set(r,s)}}return this}},Xb=typeof process=="object"&&typeof process.nextTick=="function"?function(e){il||(il=Promise.resolve()),il.then(()=>{process.nextTick(e)})}:typeof setImmediate=="function"?function(e){setImmediate(e)}:function(e){setTimeout(e)},il;function Yb(e){let t=e._batch;if(t!==null&&!t.hasDispatched&&t.keys.length<e._maxBatchSize)return t;let n={hasDispatched:!1,keys:[],callbacks:[]};return e._batch=n,e._batchScheduleFn(()=>{Qb(e,n)}),n}function Qb(e,t){if(t.hasDispatched=!0,t.keys.length===0){al(t);return}let n;try{n=e._batchLoadFn(t.keys)}catch(r){return ol(e,t,new TypeError(`DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function errored synchronously: ${String(r)}.`))}if(!n||typeof n.then!="function")return ol(e,t,new TypeError(`DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise: ${String(n)}.`));Promise.resolve(n).then(r=>{if(!nm(r))throw new TypeError(`DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise of an Array: ${String(r)}.`);if(r.length!==t.keys.length)throw new TypeError(`DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise of an Array of the same length as the Array of keys.
|
|
2
2
|
|
|
3
3
|
Keys:
|
|
4
4
|
${String(t.keys)}
|
|
5
5
|
|
|
6
6
|
Values:
|
|
7
|
-
${String(r)}`);al(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=>{ol(e,t,r)})}function ol(e,t,n){al(t);for(let r=0;r<t.keys.length;r++)e.clear(t.keys[r]),t.callbacks[r].reject(n)}function al(e){if(e.cacheHits)for(let t=0;t<e.cacheHits.length;t++)e.cacheHits[t]()}function ev(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 tv(e){let t=e&&e.batchScheduleFn;if(t===void 0)return Xb;if(typeof t!="function")throw new TypeError(`batchScheduleFn must be a function: ${t}`);return t}function nv(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 rv(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 sv(e){return e&&e.name?e.name:null}function nm(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 cl(e,t){switch(t){case"base58":return Un(e);case"base64":return ye(e);case"hex":return Vt(e);default:throw new Error("Unsupported encoding, supported values are: base64, hex")}}function ko(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 rm=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 ul(BigInt(e),8).forEach(t=>this.write8(t)),this}write128(e){return ul(BigInt(e),16).forEach(t=>this.write8(t)),this}write256(e){return ul(BigInt(e),32).forEach(t=>this.write8(t)),this}writeULEB(e){return Fs(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 cl(this.toBytes(),e)}};function ul(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 En=class sm{#e;#t;constructor(t){this.name=t.name,this.read=t.read,this.serializedSize=t.serializedSize??(()=>null),this.#e=t.write,this.#t=t.serialize??((n,r)=>{let s=new rm({initialSize:this.serializedSize(n)??void 0,...r});return this.#e(n,s),s.toBytes()}),this.validate=t.validate??(()=>{})}write(t,n){this.validate(t),this.#e(t,n)}serialize(t,n){return this.validate(t),new om(this,this.#t(t,n))}parse(t){let n=new Gf(t);return this.read(n)}fromHex(t){return this.parse(dn(t))}fromBase58(t){return this.parse(ln(t))}fromBase64(t){return this.parse(ie(t))}transform({name:t,input:n,output:r,validate:s}){return new sm({name:t??this.name,read:i=>r?r(this.read(i)):this.read(i),write:(i,o)=>this.#e(n?n(i):i,o),serializedSize:i=>this.serializedSize(n?n(i):i),serialize:(i,o)=>this.#t(n?n(i):i,o),validate:i=>{s?.(i),this.validate(n?n(i):i)}})}},im=Symbol.for("@mysten/serialized-bcs");function Mi(e){return!!e&&typeof e=="object"&&e[im]===!0}var om=class{#e;#t;get[im](){return!0}constructor(e,t){this.#e=e,this.#t=t}toBytes(){return this.#t}toHex(){return Vt(this.#t)}toBase64(){return ye(this.#t)}toBase58(){return Un(this.#t)}parse(){return this.#e.parse(this.#t)}};function So({size:e,...t}){return new En({...t,serializedSize:()=>e})}function Ma({readMethod:e,writeMethod:t,...n}){return So({...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 Ba({readMethod:e,writeMethod:t,...n}){return So({...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 am({serialize:e,...t}){let n=new En({...t,serialize:e,write:(r,s)=>{for(let i of n.serialize(r).toBytes())s.write8(i)}});return n}function cm({toBytes:e,fromBytes:t,...n}){return new En({...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=Fs(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 um(e){let t=null;function n(){return t||(t=e()),t}return new En({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 ja=class extends En{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}`)}})}},Da=class extends En{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}`)}})}},Ua=class extends En{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 iv(e,t,n){return new En({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 ov(e){return k.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 av(e,t){return new En({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 ll(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 cv(e,t){return new En({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])=>ll(i,o)),r.writeULEB(s.length);for(let[i,o]of s)r.writeBytes(i),t.write(o,r)}})}var k={u8(e){return Ma({readMethod:"read8",writeMethod:"write8",size:1,maxValue:2**8-1,...e,name:e?.name??"u8"})},u16(e){return Ma({readMethod:"read16",writeMethod:"write16",size:2,maxValue:2**16-1,...e,name:e?.name??"u16"})},u32(e){return Ma({readMethod:"read32",writeMethod:"write32",size:4,maxValue:2**32-1,...e,name:e?.name??"u32"})},u64(e){return Ba({readMethod:"read64",writeMethod:"write64",size:8,maxValue:2n**64n-1n,...e,name:e?.name??"u64"})},u128(e){return Ba({readMethod:"read128",writeMethod:"write128",size:16,maxValue:2n**128n-1n,...e,name:e?.name??"u128"})},u256(e){return Ba({readMethod:"read256",writeMethod:"write256",size:32,maxValue:2n**256n-1n,...e,name:e?.name??"u256"})},bool(e){return So({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 am({read:t=>t.readULEB(),serialize:t=>Uint8Array.from(Fs(t)),...e,name:e?.name??"uleb128"})},bytes(e,t){return So({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 En({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:Fs(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 cm({toBytes:t=>new TextEncoder().encode(t),fromBytes:t=>new TextDecoder().decode(t),...e,name:e?.name??"string"})},fixedArray:iv,option:ov,vector:av,tuple(e,t){return new Ua({fields:e,...t})},struct(e,t,n){return new ja({name:e,fields:t,...n})},enum(e,t,n){return new Da({name:e,fields:t,...n})},map:cv,lazy(e){return um(e)}};var uv=32;function Pa(e){try{return ln(e).length===uv}catch{return!1}}var Dr=32;function en(e){return fv(e)&&mv(e)===Dr}function Bi(e){return en(e)}var lv=/^[a-zA-Z][a-zA-Z0-9_]*$/;function lm(e){return lv.test(e)}var dv=["bool","u8","u16","u32","u64","u128","u256","address","signer"],pv=/^vector<(.+)>$/;function dm(e){if(dv.includes(e))return!0;let t=e.match(pv);return t?dm(t[1]):e.includes("::")?La(e):!1}function pm(e){return!en(e.address)&&!tn(e.address)||!lm(e.module)||!lm(e.name)?!1:e.typeParams.every(t=>typeof t=="string"?dm(t):pm(t))}function La(e){try{return pm(tr(e))}catch{return!1}}function fm(e){if(e.startsWith("vector<")){if(!e.endsWith(">"))throw new Error(`Invalid type tag: ${e}`);let t=e.slice(7,-1);if(!t)throw new Error(`Invalid type tag: ${e}`);let n=fm(t);return typeof n=="string"?`vector<${n}>`:`vector<${be(n)}>`}return e.includes("::")?tr(e):e}function tr(e){let t=e.split("::");if(t.length<3)throw new Error(`Invalid struct tag: ${e}`);let[n,r]=t;if(!n||!r)throw new Error(`Invalid struct tag: ${e}`);let s=tn(n),i=e.slice(n.length+r.length+4),o=i.includes("<")?i.slice(0,i.indexOf("<")):i;if(!o||i.includes("<")&&!i.endsWith(">"))throw new Error(`Invalid struct tag: ${e}`);let a=i.includes("<")?ko(i.slice(i.indexOf("<")+1,i.lastIndexOf(">"))).map(c=>fm(c.trim())):[];return{address:s?n:X(n),module:r,name:o,typeParams:a}}function be(e){if(typeof e=="string"&&e.startsWith("vector<"))throw new Error("normalizeStructTag does not support vector types. Use normalizeTypeTag instead.");let{address:t,module:n,name:r,typeParams:s}=typeof e=="string"?tr(e):e;return`${t}::${n}::${r}${s?.length>0?`<${s.map(i=>typeof i=="string"?i:be(i)).join(",")}>`:""}`}function X(e,t=!1){let n=e.toLowerCase();return!t&&n.startsWith("0x")&&(n=n.slice(2)),`0x${n.padStart(Dr*2,"0")}`}function Ft(e,t=!1){return X(e,t)}function fv(e){return/^(0x|0X)?[a-fA-F0-9]+$/.test(e)&&e.length%2===0}function mv(e){return/^(0x|0X)/.test(e)?(e.length-2)/2:e.length/2}var hv=/^([a-z0-9]+(?:-[a-z0-9]+)*)$/,gv=/^\d+$/,yv=64,mm="/",tn=e=>{let t=e.split(mm);if(t.length<2||t.length>3)return!1;let[n,r,s]=t;return s!==void 0&&!gv.test(s)||!Ff(n)?!1:hv.test(r)&&r.length<yv},hm=e=>{let t=e.split(/::|<|>|,/);for(let n of t)if(n.includes(mm)&&!tn(n))return!1;return La(e)};var bv=/^vector<(.+)>$/,vv=/^([^:]+)::([^:]+)::([^<]+)(<(.+)>)?/,Pn=class ji{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(bv);if(r)return{vector:ji.parseFromStr(r[1],n)};let s=t.match(vv);if(s)return{struct:{address:n?X(s[1]):s[1],module:s[2],name:s[3],typeParams:s[5]===void 0?[]:ji.parseStructTypeArgs(s[5],n)}};throw new Error(`Encountered unexpected token when parsing type args for ${t}`)}static parseStructTypeArgs(t,n=!1){return ko(t).map(r=>ji.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<${ji.tagToString(t.vector)}>`;if("struct"in t){let n=t.struct,r=n.typeParams.map(ji.tagToString).join(", ");return`${n.address}::${n.module}::${n.name}${r?`<${r}>`:""}`}throw new Error("Invalid TypeTag")}};function _v(e){return k.u64({name:"unsafe_u64",...e}).transform({input:t=>t,output:t=>Number(t)})}function wv(e){return k.enum("Option",{None:null,Some:e})}var Be=k.bytes(Dr).transform({validate:e=>{let t=typeof e=="string"?e:Vt(e);if(!t||!en(X(t)))throw new Error(`Invalid Sui address ${t}`)},input:e=>typeof e=="string"?dn(X(e)):e,output:e=>X(Vt(e))}),pn=k.byteVector().transform({name:"ObjectDigest",input:e=>ln(e),output:e=>Un(new Uint8Array(e)),validate:e=>{if(ln(e).length!==32)throw new Error("ObjectDigest must be 32 bytes")}}),On=k.struct("SuiObjectRef",{objectId:Be,version:k.u64(),digest:pn}),dl=k.struct("SharedObjectRef",{objectId:Be,initialSharedVersion:k.u64(),mutable:k.bool()}),pl=k.enum("ObjectArg",{ImmOrOwnedObject:On,SharedObject:dl,Receiving:On}),yr=k.enum("Owner",{AddressOwner:Be,ObjectOwner:Be,Shared:k.struct("Shared",{initialSharedVersion:k.u64()}),Immutable:null,ConsensusAddressOwner:k.struct("ConsensusAddressOwner",{startVersion:k.u64(),owner:Be})}),Tv=k.enum("Reservation",{MaxAmountU64:k.u64()}),kv=k.enum("WithdrawalType",{Balance:k.lazy(()=>us)}),Sv=k.enum("WithdrawFrom",{Sender:null,Sponsor:null}),Ev=k.struct("FundsWithdrawal",{reservation:Tv,typeArg:kv,withdrawFrom:Sv}),fl=k.enum("CallArg",{Pure:k.struct("Pure",{bytes:k.byteVector().transform({input:e=>typeof e=="string"?ie(e):e,output:e=>ye(new Uint8Array(e))})}),Object:pl,FundsWithdrawal:Ev}),ml=k.enum("TypeTag",{bool:null,u8:null,u64:null,u128:null,address:null,signer:null,vector:k.lazy(()=>ml),struct:k.lazy(()=>Va),u16:null,u32:null,u256:null}),us=ml.transform({input:e=>typeof e=="string"?Pn.parseFromStr(e,!0):e,output:e=>Pn.tagToString(e)}),nr=k.enum("Argument",{GasCoin:null,Input:k.u16(),Result:k.u16(),NestedResult:k.tuple([k.u16(),k.u16()])}),hl=k.struct("ProgrammableMoveCall",{package:Be,module:k.string(),function:k.string(),typeArguments:k.vector(us),arguments:k.vector(nr)}),gl=k.enum("Command",{MoveCall:hl,TransferObjects:k.struct("TransferObjects",{objects:k.vector(nr),address:nr}),SplitCoins:k.struct("SplitCoins",{coin:nr,amounts:k.vector(nr)}),MergeCoins:k.struct("MergeCoins",{destination:nr,sources:k.vector(nr)}),Publish:k.struct("Publish",{modules:k.vector(k.byteVector().transform({input:e=>typeof e=="string"?ie(e):e,output:e=>ye(new Uint8Array(e))})),dependencies:k.vector(Be)}),MakeMoveVec:k.struct("MakeMoveVec",{type:wv(us).transform({input:e=>e===null?{None:!0}:{Some:e},output:e=>e.Some??null}),elements:k.vector(nr)}),Upgrade:k.struct("Upgrade",{modules:k.vector(k.byteVector().transform({input:e=>typeof e=="string"?ie(e):e,output:e=>ye(new Uint8Array(e))})),dependencies:k.vector(Be),package:Be,ticket:nr})}),yl=k.struct("ProgrammableTransaction",{inputs:k.vector(fl),commands:k.vector(gl)}),bl=k.enum("TransactionKind",{ProgrammableTransaction:yl,ChangeEpoch:null,Genesis:null,ConsensusCommitPrologue:null}),Ov=k.struct("ValidDuring",{minEpoch:k.option(k.u64()),maxEpoch:k.option(k.u64()),minTimestamp:k.option(k.u64()),maxTimestamp:k.option(k.u64()),chain:pn,nonce:k.u32()}),vl=k.enum("TransactionExpiration",{None:null,Epoch:_v(),ValidDuring:Ov}),Va=k.struct("StructTag",{address:Be,module:k.string(),name:k.string(),typeParams:k.vector(ml)}),_l=k.struct("GasData",{payment:k.vector(On),owner:Be,price:k.u64(),budget:k.u64()}),wl=k.struct("TransactionDataV1",{kind:bl,sender:Be,gasData:_l,expiration:vl}),Tl=k.enum("TransactionData",{V1:wl}),kl=k.enum("IntentScope",{TransactionData:null,TransactionEffects:null,CheckpointSummary:null,PersonalMessage:null}),Sl=k.enum("IntentVersion",{V0:null}),El=k.enum("AppId",{Sui:null}),Ol=k.struct("Intent",{scope:kl,version:Sl,appId:El});function Il(e){return k.struct(`IntentMessage<${e.name}>`,{intent:Ol,value:e})}var Al=k.enum("CompressedSignature",{ED25519:k.bytes(64),Secp256k1:k.bytes(64),Secp256r1:k.bytes(64),ZkLogin:k.byteVector(),Passkey:k.byteVector()}),xl=k.enum("PublicKey",{ED25519:k.bytes(32),Secp256k1:k.bytes(33),Secp256r1:k.bytes(33),ZkLogin:k.byteVector(),Passkey:k.bytes(33)}),Cl=k.struct("MultiSigPkMap",{pubKey:xl,weight:k.u8()}),Nl=k.struct("MultiSigPublicKey",{pk_map:k.vector(Cl),threshold:k.u16()}),gm=k.struct("MultiSig",{sigs:k.vector(Al),bitmap:k.u16(),multisig_pk:Nl}),Iv=k.byteVector().transform({input:e=>typeof e=="string"?ie(e):e,output:e=>ye(new Uint8Array(e))}),Rl=k.struct("SenderSignedTransaction",{intentMessage:Il(Tl),txSignatures:k.vector(Iv)}),ym=k.vector(Rl,{name:"SenderSignedData"}),bm=k.struct("PasskeyAuthenticator",{authenticatorData:k.byteVector(),clientDataJson:k.string(),userSignature:k.byteVector()}),Ml=k.enum("MoveObjectType",{Other:Va,GasCoin:null,StakedSui:null,Coin:us,AccumulatorBalanceWrapper:null}),Bl=k.struct("TypeOrigin",{moduleName:k.string(),datatypeName:k.string(),package:Be}),jl=k.struct("UpgradeInfo",{upgradedId:Be,upgradedVersion:k.u64()}),Dl=k.struct("MovePackage",{id:Be,version:k.u64(),moduleMap:k.map(k.string(),k.byteVector()),typeOriginTable:k.vector(Bl),linkageTable:k.map(Be,jl)}),Ul=k.struct("MoveObject",{type:Ml,hasPublicTransfer:k.bool(),version:k.u64(),contents:k.byteVector()}),Pl=k.enum("Data",{Move:Ul,Package:Dl}),vm=k.struct("ObjectInner",{data:Pl,owner:yr,previousTransaction:pn,storageRebate:k.u64()});var Av=k.enum("PackageUpgradeError",{UnableToFetchPackage:k.struct("UnableToFetchPackage",{packageId:Be}),NotAPackage:k.struct("NotAPackage",{objectId:Be}),IncompatibleUpgrade:null,DigestDoesNotMatch:k.struct("DigestDoesNotMatch",{digest:k.byteVector()}),UnknownUpgradePolicy:k.struct("UnknownUpgradePolicy",{policy:k.u8()}),PackageIDDoesNotMatch:k.struct("PackageIDDoesNotMatch",{packageId:Be,ticketId:Be})}),xv=k.struct("ModuleId",{address:Be,name:k.string()}),_m=k.struct("MoveLocation",{module:xv,function:k.u16(),instruction:k.u16(),functionName:k.option(k.string())}),Cv=k.enum("CommandArgumentError",{TypeMismatch:null,InvalidBCSBytes:null,InvalidUsageOfPureArg:null,InvalidArgumentToPrivateEntryFunction:null,IndexOutOfBounds:k.struct("IndexOutOfBounds",{idx:k.u16()}),SecondaryIndexOutOfBounds:k.struct("SecondaryIndexOutOfBounds",{resultIdx:k.u16(),secondaryIdx:k.u16()}),InvalidResultArity:k.struct("InvalidResultArity",{resultIdx:k.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}),Nv=k.enum("TypeArgumentError",{TypeNotFound:null,ConstraintNotSatisfied:null}),Rv=k.enum("ExecutionFailureStatus",{InsufficientGas:null,InvalidGasObject:null,InvariantViolation:null,FeatureNotYetSupported:null,MoveObjectTooBig:k.struct("MoveObjectTooBig",{objectSize:k.u64(),maxObjectSize:k.u64()}),MovePackageTooBig:k.struct("MovePackageTooBig",{objectSize:k.u64(),maxObjectSize:k.u64()}),CircularObjectOwnership:k.struct("CircularObjectOwnership",{object:Be}),InsufficientCoinBalance:null,CoinBalanceOverflow:null,PublishErrorNonZeroAddress:null,SuiMoveVerificationError:null,MovePrimitiveRuntimeError:k.option(_m),MoveAbort:k.tuple([_m,k.u64()]),VMVerificationOrDeserializationError:null,VMInvariantViolation:null,FunctionNotFound:null,ArityMismatch:null,TypeArityMismatch:null,NonEntryFunctionInvoked:null,CommandArgumentError:k.struct("CommandArgumentError",{argIdx:k.u16(),kind:Cv}),TypeArgumentError:k.struct("TypeArgumentError",{argumentIdx:k.u16(),kind:Nv}),UnusedValueWithoutDrop:k.struct("UnusedValueWithoutDrop",{resultIdx:k.u16(),secondaryIdx:k.u16()}),InvalidPublicFunctionReturnType:k.struct("InvalidPublicFunctionReturnType",{idx:k.u16()}),InvalidTransferObject:null,EffectsTooLarge:k.struct("EffectsTooLarge",{currentSize:k.u64(),maxSize:k.u64()}),PublishUpgradeMissingDependency:null,PublishUpgradeDependencyDowngrade:null,PackageUpgradeError:k.struct("PackageUpgradeError",{upgradeError:Av}),WrittenObjectsTooLarge:k.struct("WrittenObjectsTooLarge",{currentSize:k.u64(),maxSize:k.u64()}),CertificateDenied:null,SuiMoveVerificationTimedout:null,SharedObjectOperationNotAllowed:null,InputObjectDeleted:null,ExecutionCancelledDueToSharedObjectCongestion:k.struct("ExecutionCancelledDueToSharedObjectCongestion",{congested_objects:k.vector(Be)}),AddressDeniedForCoin:k.struct("AddressDeniedForCoin",{address:Be,coinType:k.string()}),CoinTypeGlobalPause:k.struct("CoinTypeGlobalPause",{coinType:k.string()}),ExecutionCancelledDueToRandomnessUnavailable:null,MoveVectorElemTooBig:k.struct("MoveVectorElemTooBig",{valueSize:k.u64(),maxScaledSize:k.u64()}),MoveRawValueTooBig:k.struct("MoveRawValueTooBig",{valueSize:k.u64(),maxScaledSize:k.u64()}),InvalidLinkage:null,InsufficientBalanceForWithdraw:null,NonExclusiveWriteInputObjectModified:k.struct("NonExclusiveWriteInputObjectModified",{id:Be})}),Fa=k.enum("ExecutionStatus",{Success:null,Failure:k.struct("Failure",{error:Rv,command:k.option(k.u64())})}),wm=k.struct("GasCostSummary",{computationCost:k.u64(),storageCost:k.u64(),storageRebate:k.u64(),nonRefundableStorageFee:k.u64()}),Mv=k.struct("TransactionEffectsV1",{status:Fa,executedEpoch:k.u64(),gasUsed:wm,modifiedAtVersions:k.vector(k.tuple([Be,k.u64()])),sharedObjects:k.vector(On),transactionDigest:pn,created:k.vector(k.tuple([On,yr])),mutated:k.vector(k.tuple([On,yr])),unwrapped:k.vector(k.tuple([On,yr])),deleted:k.vector(On),unwrappedThenDeleted:k.vector(On),wrapped:k.vector(On),gasObject:k.tuple([On,yr]),eventsDigest:k.option(pn),dependencies:k.vector(pn)}),Ll=k.tuple([k.u64(),pn]),Bv=k.enum("ObjectIn",{NotExist:null,Exist:k.tuple([Ll,yr])}),jv=k.struct("AccumulatorAddress",{address:Be,ty:us}),Dv=k.enum("AccumulatorOperation",{Merge:null,Split:null}),Uv=k.enum("AccumulatorValue",{Integer:k.u64(),IntegerTuple:k.tuple([k.u64(),k.u64()]),EventDigest:k.vector(k.tuple([k.u64(),pn]))}),Pv=k.struct("AccumulatorWriteV1",{address:jv,operation:Dv,value:Uv}),Lv=k.enum("ObjectOut",{NotExist:null,ObjectWrite:k.tuple([pn,yr]),PackageWrite:Ll,AccumulatorWriteV1:Pv}),Vv=k.enum("IDOperation",{None:null,Created:null,Deleted:null}),Fv=k.struct("EffectsObjectChange",{inputState:Bv,outputState:Lv,idOperation:Vv}),$v=k.enum("UnchangedConsensusKind",{ReadOnlyRoot:Ll,MutateConsensusStreamEnded:k.u64(),ReadConsensusStreamEnded:k.u64(),Cancelled:k.u64(),PerEpochConfig:null}),qv=k.struct("TransactionEffectsV2",{status:Fa,executedEpoch:k.u64(),gasUsed:wm,transactionDigest:pn,gasObjectIndex:k.option(k.u32()),eventsDigest:k.option(pn),dependencies:k.vector(pn),lamportVersion:k.u64(),changedObjects:k.vector(k.tuple([Be,Fv])),unchangedConsensusObjects:k.vector(k.tuple([Be,$v])),auxDataDigest:k.option(pn)}),Tm=k.enum("TransactionEffects",{V1:Mv,V2:qv});function Di(e){switch(e){case"u8":return k.u8();case"u16":return k.u16();case"u32":return k.u32();case"u64":return k.u64();case"u128":return k.u128();case"u256":return k.u256();case"bool":return k.bool();case"string":return k.string();case"id":case"address":return Be}let t=e.match(/^(vector|option)<(.+)>$/);if(t){let[n,r]=t.slice(1);return n==="vector"?k.vector(Di(r)):k.option(Di(r))}throw new Error(`Invalid Pure type name: ${e}`)}var E={...k,U8:k.u8(),U16:k.u16(),U32:k.u32(),U64:k.u64(),U128:k.u128(),U256:k.u256(),ULEB128:k.uleb128(),Bool:k.bool(),String:k.string(),Address:Be,AppId:El,Argument:nr,CallArg:fl,Command:gl,CompressedSignature:Al,Data:Pl,GasData:_l,Intent:Ol,IntentMessage:Il,IntentScope:kl,IntentVersion:Sl,MoveObject:Ul,MoveObjectType:Ml,MovePackage:Dl,MultiSig:gm,MultiSigPkMap:Cl,MultiSigPublicKey:Nl,Object:vm,ObjectArg:pl,ObjectDigest:pn,Owner:yr,PasskeyAuthenticator:bm,ProgrammableMoveCall:hl,ProgrammableTransaction:yl,PublicKey:xl,SenderSignedData:ym,SenderSignedTransaction:Rl,SharedObjectRef:dl,StructTag:Va,SuiObjectRef:On,TransactionData:Tl,TransactionDataV1:wl,TransactionEffects:Tm,TransactionExpiration:vl,TransactionKind:bl,TypeOrigin:Bl,TypeTag:us,UpgradeInfo:jl};function $s(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Kt(e,t=""){if(!Number.isSafeInteger(e)||e<0){let n=t&&`"${t}" `;throw new Error(`${n}expected integer >= 0, got ${e}`)}}function me(e,t,n=""){let r=$s(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 Ui(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash must wrapped by utils.createHasher");Kt(e.outputLen),Kt(e.blockLen)}function Pr(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 $a(e,t){me(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 Eo(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function Xt(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function br(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function rr(e,t){return e<<32-t|e>>>t}function Oo(e,t){return e<<t|e>>>32-t>>>0}var Sm=(()=>new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68)();function Em(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}var vr=Sm?e=>e:e=>Em(e);function Gv(e){for(let t=0;t<e.length;t++)e[t]=Em(e[t]);return e}var qs=Sm?e=>e:Gv,Om=(()=>typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function")(),zv=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function sr(e){if(me(e),Om)return e.toHex();let t="";for(let n=0;n<e.length;n++)t+=zv[e[n]];return t}var Ur={_0:48,_9:57,A:65,F:70,a:97,f:102};function km(e){if(e>=Ur._0&&e<=Ur._9)return e-Ur._0;if(e>=Ur.A&&e<=Ur.F)return e-(Ur.A-10);if(e>=Ur.a&&e<=Ur.f)return e-(Ur.a-10)}function Lr(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(Om)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=km(e.charCodeAt(i)),a=km(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 Wv(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function Vl(e,t=""){return typeof e=="string"?Wv(e):me(e,void 0,t)}function zt(...e){let t=0;for(let r=0;r<e.length;r++){let s=e[r];me(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 Im(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 Gs(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 Pi(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 Fl=e=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])});var Am=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]);function $l(e,t,n){return e&t^~e&n}function ql(e,t,n){return e&t^e&n^t&n}var zs=class{blockLen;outputLen;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(t,n,r,s){this.blockLen=t,this.outputLen=n,this.padOffset=r,this.isLE=s,this.buffer=new Uint8Array(t),this.view=br(this.buffer)}update(t){Pr(this),me(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=br(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){Pr(this),$a(t,this),this.finished=!0;let{buffer:n,view:r,blockLen:s,isLE:i}=this,{pos:o}=this;n[o++]=128,Xt(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=br(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen must be aligned to 32bit");let u=c/4,d=this.get();if(u>d.length)throw new Error("_sha2: outputLen bigger than state");for(let p=0;p<u;p++)a.setUint32(4*p,d[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||=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()}},Vr=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var nn=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var qa=BigInt(4294967295),xm=BigInt(32);function Gl(e,t=!1){return t?{h:Number(e&qa),l:Number(e>>xm&qa)}:{h:Number(e>>xm&qa)|0,l:Number(e&qa)|0}}function Cm(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}=Gl(e[i],t);[r[i],s[i]]=[o,a]}return[r,s]}var zl=(e,t,n)=>e>>>n,Wl=(e,t,n)=>e<<32-n|t>>>n,_r=(e,t,n)=>e>>>n|t<<32-n,wr=(e,t,n)=>e<<32-n|t>>>n,Ws=(e,t,n)=>e<<64-n|t>>>n-32,Hs=(e,t,n)=>e>>>n-32|t<<64-n,Nm=(e,t)=>t,Rm=(e,t)=>e;function Ln(e,t,n,r){let s=(t>>>0)+(r>>>0);return{h:e+n+(s/2**32|0)|0,l:s|0}}var Io=(e,t,n)=>(e>>>0)+(t>>>0)+(n>>>0),Ao=(e,t,n,r)=>t+n+r+(e/2**32|0)|0,Mm=(e,t,n,r)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0),Bm=(e,t,n,r,s)=>t+n+r+s+(e/2**32|0)|0,jm=(e,t,n,r,s)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0)+(s>>>0),Dm=(e,t,n,r,s,i)=>t+n+r+s+i+(e/2**32|0)|0;var Wt=Uint32Array.from([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),ee=new Uint32Array(32);function ls(e,t,n,r,s,i){let o=s[i],a=s[i+1],c=ee[2*e],u=ee[2*e+1],d=ee[2*t],p=ee[2*t+1],f=ee[2*n],g=ee[2*n+1],b=ee[2*r],_=ee[2*r+1],I=Io(c,d,o);u=Ao(I,u,p,a),c=I|0,{Dh:_,Dl:b}={Dh:_^u,Dl:b^c},{Dh:_,Dl:b}={Dh:Nm(_,b),Dl:Rm(_,b)},{h:g,l:f}=Ln(g,f,_,b),{Bh:p,Bl:d}={Bh:p^g,Bl:d^f},{Bh:p,Bl:d}={Bh:_r(p,d,24),Bl:wr(p,d,24)},ee[2*e]=c,ee[2*e+1]=u,ee[2*t]=d,ee[2*t+1]=p,ee[2*n]=f,ee[2*n+1]=g,ee[2*r]=b,ee[2*r+1]=_}function ds(e,t,n,r,s,i){let o=s[i],a=s[i+1],c=ee[2*e],u=ee[2*e+1],d=ee[2*t],p=ee[2*t+1],f=ee[2*n],g=ee[2*n+1],b=ee[2*r],_=ee[2*r+1],I=Io(c,d,o);u=Ao(I,u,p,a),c=I|0,{Dh:_,Dl:b}={Dh:_^u,Dl:b^c},{Dh:_,Dl:b}={Dh:_r(_,b,16),Dl:wr(_,b,16)},{h:g,l:f}=Ln(g,f,_,b),{Bh:p,Bl:d}={Bh:p^g,Bl:d^f},{Bh:p,Bl:d}={Bh:Ws(p,d,63),Bl:Hs(p,d,63)},ee[2*e]=c,ee[2*e+1]=u,ee[2*t]=d,ee[2*t+1]=p,ee[2*n]=f,ee[2*n+1]=g,ee[2*r]=b,ee[2*r+1]=_}function Hv(e,t={},n,r,s){if(Kt(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&&me(o,r,"salt"),a!==void 0&&me(a,s,"personalization")}var Hl=class{buffer;buffer32;finished=!1;destroyed=!1;length=0;pos=0;blockLen;outputLen;constructor(t,n){Kt(t),Kt(n),this.blockLen=t,this.outputLen=n,this.buffer=new Uint8Array(t),this.buffer32=Eo(this.buffer)}update(t){Pr(this),me(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&&(qs(s),this.compress(s,0,!1),qs(s),this.pos=0);let u=Math.min(n-this.pos,i-c),d=o+c;if(u===n&&!(d%4)&&c+u<i){let p=new Uint32Array(a,d,Math.floor((i-c)/4));qs(p);for(let f=0;c+n<i;f+=s.length,c+=n)this.length+=n,this.compress(p,f,!1);qs(p);continue}r.set(t.subarray(c,c+u),this.pos),this.pos+=u,this.length+=u,c+=u}return this}digestInto(t){Pr(this),$a(t,this);let{pos:n,buffer32:r}=this;this.finished=!0,Xt(this.buffer.subarray(n)),qs(r),this.compress(r,0,!0),qs(r);let s=Eo(t);this.get().forEach((i,o)=>s[o]=vr(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||=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()}},Jl=class extends Hl{v0l=Wt[0]|0;v0h=Wt[1]|0;v1l=Wt[2]|0;v1h=Wt[3]|0;v2l=Wt[4]|0;v2h=Wt[5]|0;v3l=Wt[6]|0;v3h=Wt[7]|0;v4l=Wt[8]|0;v4h=Wt[9]|0;v5l=Wt[10]|0;v5h=Wt[11]|0;v6l=Wt[12]|0;v6h=Wt[13]|0;v7l=Wt[14]|0;v7h=Wt[15]|0;constructor(t={}){let n=t.dkLen===void 0?64:t.dkLen;super(128,n),Hv(n,t,64,16,16);let{key:r,personalization:s,salt:i}=t,o=0;if(r!==void 0&&(me(r,void 0,"key"),o=r.length),this.v0l^=this.outputLen|o<<8|65536|1<<24,i!==void 0){me(i,void 0,"salt");let a=Eo(i);this.v4l^=vr(a[0]),this.v4h^=vr(a[1]),this.v5l^=vr(a[2]),this.v5h^=vr(a[3])}if(s!==void 0){me(s,void 0,"personalization");let a=Eo(s);this.v6l^=vr(a[0]),this.v6h^=vr(a[1]),this.v7l^=vr(a[2]),this.v7h^=vr(a[3])}if(r!==void 0){let a=new Uint8Array(this.blockLen);a.set(r),this.update(a)}}get(){let{v0l:t,v0h:n,v1l:r,v1h:s,v2l:i,v2h:o,v3l:a,v3h:c,v4l:u,v4h:d,v5l:p,v5h:f,v6l:g,v6h:b,v7l:_,v7h:I}=this;return[t,n,r,s,i,o,a,c,u,d,p,f,g,b,_,I]}set(t,n,r,s,i,o,a,c,u,d,p,f,g,b,_,I){this.v0l=t|0,this.v0h=n|0,this.v1l=r|0,this.v1h=s|0,this.v2l=i|0,this.v2h=o|0,this.v3l=a|0,this.v3h=c|0,this.v4l=u|0,this.v4h=d|0,this.v5l=p|0,this.v5h=f|0,this.v6l=g|0,this.v6h=b|0,this.v7l=_|0,this.v7h=I|0}compress(t,n,r){this.get().forEach((c,u)=>ee[u]=c),ee.set(Wt,16);let{h:s,l:i}=Gl(BigInt(this.length));ee[24]=Wt[8]^i,ee[25]=Wt[9]^s,r&&(ee[28]=~ee[28],ee[29]=~ee[29]);let o=0,a=Am;for(let c=0;c<12;c++)ls(0,4,8,12,t,n+2*a[o++]),ds(0,4,8,12,t,n+2*a[o++]),ls(1,5,9,13,t,n+2*a[o++]),ds(1,5,9,13,t,n+2*a[o++]),ls(2,6,10,14,t,n+2*a[o++]),ds(2,6,10,14,t,n+2*a[o++]),ls(3,7,11,15,t,n+2*a[o++]),ds(3,7,11,15,t,n+2*a[o++]),ls(0,5,10,15,t,n+2*a[o++]),ds(0,5,10,15,t,n+2*a[o++]),ls(1,6,11,12,t,n+2*a[o++]),ds(1,6,11,12,t,n+2*a[o++]),ls(2,7,8,13,t,n+2*a[o++]),ds(2,7,8,13,t,n+2*a[o++]),ls(3,4,9,14,t,n+2*a[o++]),ds(3,4,9,14,t,n+2*a[o++]);this.v0l^=ee[0]^ee[16],this.v0h^=ee[1]^ee[17],this.v1l^=ee[2]^ee[18],this.v1h^=ee[3]^ee[19],this.v2l^=ee[4]^ee[20],this.v2h^=ee[5]^ee[21],this.v3l^=ee[6]^ee[22],this.v3h^=ee[7]^ee[23],this.v4l^=ee[8]^ee[24],this.v4h^=ee[9]^ee[25],this.v5l^=ee[10]^ee[26],this.v5h^=ee[11]^ee[27],this.v6l^=ee[12]^ee[28],this.v6h^=ee[13]^ee[29],this.v7l^=ee[14]^ee[30],this.v7h^=ee[15]^ee[31],Xt(ee)}destroy(){this.destroyed=!0,Xt(this.buffer32),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},ir=Gs(e=>new Jl(e));function or(e,t,n){let r=E.Address.serialize(e).toBytes(),s=E.TypeTag.serialize(t).toBytes(),i=E.u64().serialize(n.length).toBytes(),o=ir.create({dkLen:32});return o.update(new Uint8Array([240])),o.update(r),o.update(i),o.update(n),o.update(s),`0x${Vt(o.digest().slice(0,32))}`}var Jv=BigInt(1e9),xo="0x0000000000000000000000000000000000000000000000000000000000000001",Fr="0x0000000000000000000000000000000000000000000000000000000000000002",Zl="0x0000000000000000000000000000000000000000000000000000000000000003",he="0x0000000000000000000000000000000000000000000000000000000000000006";var zn=`${Fr}::sui::SUI`,Ga="0x0000000000000000000000000000000000000000000000000000000000000005",Kl="0x0000000000000000000000000000000000000000000000000000000000000008";var Xl="0x0000000000000000000000000000000000000000000000000000000000000403";var Pm=class Lm{#e;#t;constructor({prefix:t,cache:n}={}){this.#e=t??[],this.#t=n??new Map}read(t,n){let r=[this.#e,...t].join(":");if(this.#t.has(r))return this.#t.get(r);let s=n();return this.#t.set(r,s),typeof s=="object"&&s!==null&&"then"in s?Promise.resolve(s).then(i=>(this.#t.set(r,i),i)).catch(i=>{throw this.#t.delete(r),i}):s}readSync(t,n){let r=[this.#e,...t].join(":");if(this.#t.has(r))return this.#t.get(r);let s=n();return this.#t.set(r,s),s}clear(t){let n=[...this.#e,...t??[]].join(":");if(!n){this.#t.clear();return}for(let r of this.#t.keys())r.startsWith(n)&&this.#t.delete(r)}scope(t){return new Lm({prefix:[...this.#e,...Array.isArray(t)?t:[t]],cache:this.#t})}};var ps=class{constructor({network:e,base:t,cache:n=t?.cache??new Pm}){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 za="2.16.3";var Zv="/",Kv={"Mvr-Source":`@mysten/sui@${za}`},Fm=class{#e;#t;#s;#r;constructor({cache:e,url:t,pageSize:n=50,overrides:r}){this.#e=e,this.#t=t,this.#s=n,this.#r={packages:r?.packages,types:r?.types},Xv(this.#r)}get#i(){return this.#e.readSync(["#mvrPackageDataLoader",this.#t??""],()=>{let e=new Ra(async n=>{if(!this.#t)throw new Error(`MVR Api URL is not set for the current client (resolving ${n.join(", ")})`);let r=await this.#a(n);return n.map(s=>r[s]??new Error(`Failed to resolve package: ${s}`))}),t=this.#r?.packages;if(t)for(let[n,r]of Object.entries(t))e.prime(n,r);return e})}get#o(){return this.#e.readSync(["#mvrTypeDataLoader",this.#t??""],()=>{let e=new Ra(async n=>{if(!this.#t)throw new Error(`MVR Api URL is not set for the current client (resolving ${n.join(", ")})`);let r=await this.#c(n);return n.map(s=>r[s]??new Error(`Failed to resolve type: ${s}`))}),t=this.#r?.types;if(t)for(let[n,r]of Object.entries(t))e.prime(n,r);return e})}async#a(e){if(e.length===0)return{};let t=Gn(e,this.#s),n={};return await Promise.all(t.map(async r=>{let s=await this.#n("/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}async#c(e){if(e.length===0)return{};let t=Gn(e,this.#s),n={};return await Promise.all(t.map(async r=>{let s=await this.#n("/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}async#n(e,t){if(!this.#t)throw new Error("MVR Api URL is not set for the current client");let n=await fetch(`${this.#t}${e}`,{method:"POST",headers:{"Content-Type":"application/json",...Kv},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()}async resolvePackage({package:e}){return rn(e)?{package:await this.#i.load(e)}:{package:e}}async resolveType({type:e}){if(!rn(e))return{type:e};let t=[...Wa(e)],n=await this.#o.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:Ha(e,r)}}async resolve({types:e=[],packages:t=[]}){let n=new Set;for(let u of e??[])Wa(u,n);let r=[...n],[s,i]=await Promise.all([r.length>0?this.#o.loadMany(r):[],t.length>0?this.#i.loadMany(t):[]]),o={...this.#r?.types};for(let[u,d]of r.entries()){let p=s[u];if(p instanceof Error)throw p;o[d]=p}let a={};for(let u of e??[])a[u]={type:Ha(u,o)};let c={};for(let[u,d]of(t??[]).entries()){let p=this.#r?.packages?.[d]??i[u];if(p instanceof Error)throw p;c[d]={package:p}}return{types:a,packages:c}}};function Xv(e){if(e?.packages)for(let[t,n]of Object.entries(e.packages)){if(!tn(t))throw new Error(`Invalid package name: ${t}`);if(!en(X(n)))throw new Error(`Invalid package ID: ${n}`)}if(e?.types)for(let[t,n]of Object.entries(e.types)){if(tr(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(!en(tr(n).address))throw new Error(`Invalid type: ${n}`)}}function Wa(e,t=new Set){if(typeof e=="string"&&!rn(e))return t;if(typeof e=="string"&&e.startsWith("vector<")&&e.endsWith(">"))return Wa(e.slice(7,-1),t);let n=$m(e)?e:tr(e);rn(n.address)&&t.add(`${n.address}::${n.module}::${n.name}`);for(let r of n.typeParams)Wa(r,t);return t}function Ha(e,t){if(typeof e=="string"&&!e.includes("::"))return e;if(typeof e=="string"&&e.startsWith("vector<")&&e.endsWith(">"))return`vector<${Ha(e.slice(7,-1),t)}>`;let n=$m(e)?e:tr(e),r=t[`${n.address}::${n.module}::${n.name}`];return be({...n,address:r?r.split("::")[0]:n.address,typeParams:n.typeParams.map(s=>Ha(s,t))})}function rn(e){return e.includes(Zv)||e.includes("@")||e.includes(".sui")}function $m(e){return typeof e=="object"&&"address"in e&&"module"in e&&"name"in e&&"typeParams"in e}function qm(e){let t=new Set,n=new Set;for(let r of e.commands)switch(r.$kind){case"MakeMoveVec":r.MakeMoveVec.type&&Vm([r.MakeMoveVec.type]).forEach(o=>{n.add(o)});break;case"MoveCall":let s=r.MoveCall,i=s.package.split("::")[0];if(rn(i)){if(!tn(i))throw new Error(`Invalid package name: ${i}`);t.add(i)}Vm(s.typeArguments??[]).forEach(o=>{n.add(o)});break;default:break}return{packages:[...t],types:[...n]}}function Gm(e,t){for(let n of e.commands){if(n.MakeMoveVec?.type){if(!rn(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(rn(i)&&!t.packages[i])throw new Error(`No address found for package: ${i}`);rn(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(rn(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 Vm(e){let t=new Set;for(let n of e)if(rn(n)){if(!hm(n))throw new Error(`Invalid type with names: ${n}`);t.add(n)}return t}var Yv={mainnet:"https://mainnet.mvr.mystenlabs.com",testnet:"https://testnet.mvr.mystenlabs.com"},Li=class extends ps{constructor(e){super(e),this.core=this,this.mvr=new Fm({cache:this.cache.scope("core.mvr"),url:e.mvr?.url??Yv[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=Pn.parseFromStr((await this.core.mvr.resolveType({type:e.name.type})).type),n=or(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=tr(r.type),i=await r.content,o=s.typeParams[0],a=typeof o!="string"&&o.module==="dynamic_object_field"&&o.name==="Wrapper",c=i.slice(Dr+e.name.bcs.length),u=typeof s.typeParams[1]=="string"?s.typeParams[1]:be(s.typeParams[1]);return{dynamicField:{$kind:a?"DynamicObject":"DynamicField",fieldId:r.objectId,digest:r.digest,version:r.version,type:r.type,previousTransaction:r.previousTransaction,name:{type:typeof o=="string"?o:be(o),bcs:e.name.bcs},value:{type:u,bcs:c},childId:a?E.Address.parse(c):void 0}}}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:n.childId,signal:e.signal,include:e.include});return{object:r}}async waitForTransaction(e){let{signal:t,timeout:n=60*1e3,pollSchedule:r,include:s}=e,i="result"in e&&e.result?(e.result.Transaction??e.result.FailedTransaction).digest:e.digest,o=t?AbortSignal.any([AbortSignal.timeout(n),t]):AbortSignal.timeout(n),a=new Promise((f,g)=>{o.addEventListener("abort",()=>g(o.reason))});a.catch(()=>{});let c=r??[0,300,600,1500,3500],u=Date.now(),d=0,p=c.length>0?c[c.length-1]-(c[c.length-2]??0):2e3;for(;;){if(d<c.length){let f=u+c[d]-Date.now();d++,f>0&&await Promise.race([new Promise(g=>setTimeout(g,f)),a])}else await Promise.race([new Promise(f=>setTimeout(f,p)),a]);o.throwIfAborted();try{return await this.getTransaction({digest:i,include:s,signal:o})}catch{}}}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 Yl;function Wm(e){return{lang:e?.lang??Yl?.lang,message:e?.message,abortEarly:e?.abortEarly??Yl?.abortEarly,abortPipeEarly:e?.abortPipeEarly??Yl?.abortPipeEarly}}var Qv;function e_(e){return Qv?.get(e)}var t_;function n_(e){return t_?.get(e)}var r_;function s_(e,t){return r_?.get(e)?.get(t)}function Ql(e){let t=typeof e;return t==="string"?`"${e}"`:t==="number"||t==="bigint"||t==="boolean"?`${e}`:t==="object"||t==="function"?(e&&Object.getPrototypeOf(e)?.constructor?.name)??"null":t}function yn(e,t,n,r,s){let i=s&&"input"in s?s.input:n.value,o=s?.expected??e.expects??null,a=s?.received??Ql(i),c={kind:e.kind,type:e.type,input:i,expected:o,received:a,message:`Invalid ${t}: ${o?`Expected ${o} but r`:"R"}eceived ${a}`,requirement:e.requirement,path:s?.path,issues:s?.issues,lang:r.lang,abortEarly:r.abortEarly,abortPipeEarly:r.abortPipeEarly},u=e.kind==="schema",d=s?.message??e.message??s_(e.reference,c.lang)??(u?n_(c.lang):null)??r.message??e_(c.lang);d!==void 0&&(c.message=typeof d=="function"?d(c):d),u&&(n.typed=!1),n.issues?n.issues.push(c):n.issues=[c]}function sn(e){return{version:1,vendor:"valibot",validate(t){return e["~run"]({value:t},Wm())}}}function i_(e,t){return Object.hasOwn(e,t)&&t!=="__proto__"&&t!=="prototype"&&t!=="constructor"}function Hm(e,t){let n=[...new Set(e)];return n.length>1?`(${n.join(` ${t} `)})`:n[0]??"never"}var o_=class extends Error{constructor(e){super(e[0].message),this.name="ValiError",this.issues=e}};function fs(e,t){return{kind:"validation",type:"check",reference:fs,async:!1,expects:null,requirement:e,message:t,"~run"(n,r){return n.typed&&!this.requirement(n.value)&&yn(this,"input",n,r),n}}}function ze(e){return{kind:"validation",type:"integer",reference:ze,async:!1,expects:null,requirement:Number.isInteger,message:e,"~run"(t,n){return t.typed&&!this.requirement(t.value)&&yn(this,"integer",t,n),t}}}function Ja(e){return{kind:"transformation",type:"transform",reference:Ja,async:!1,operation:e,"~run"(t){return t.value=this.operation(t.value),t}}}function a_(e,t,n){return typeof e.fallback=="function"?e.fallback(t,n):e.fallback}function Za(e,t,n){return typeof e.default=="function"?e.default(t,n):e.default}function Co(e,t){return!e["~run"]({value:t},{abortEarly:!0}).issues}function ge(e,t){return{kind:"schema",type:"array",reference:ge,expects:"Array",async:!1,item:e,message:t,get"~standard"(){return sn(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 yn(this,"type",n,r);return n}}}function Vi(e){return{kind:"schema",type:"bigint",reference:Vi,expects:"bigint",async:!1,message:e,get"~standard"(){return sn(this)},"~run"(t,n){return typeof t.value=="bigint"?t.typed=!0:yn(this,"type",t,n),t}}}function $r(e){return{kind:"schema",type:"boolean",reference:$r,expects:"boolean",async:!1,message:e,get"~standard"(){return sn(this)},"~run"(t,n){return typeof t.value=="boolean"?t.typed=!0:yn(this,"type",t,n),t}}}function Js(e){return{kind:"schema",type:"lazy",reference:Js,expects:"unknown",async:!1,getter:e,get"~standard"(){return sn(this)},"~run"(t,n){return this.getter(t.value)["~run"](t,n)}}}function le(e,t){return{kind:"schema",type:"literal",reference:le,expects:Ql(e),async:!1,literal:e,message:t,get"~standard"(){return sn(this)},"~run"(n,r){return n.value===this.literal?n.typed=!0:yn(this,"type",n,r),n}}}function Ae(e,t){return{kind:"schema",type:"nullable",reference:Ae,expects:`(${e.expects} | null)`,async:!1,wrapped:e,default:t,get"~standard"(){return sn(this)},"~run"(n,r){return n.value===null&&(this.default!==void 0&&(n.value=Za(this,n,r)),n.value===null)?(n.typed=!0,n):this.wrapped["~run"](n,r)}}}function qr(e,t){return{kind:"schema",type:"nullish",reference:qr,expects:`(${e.expects} | null | undefined)`,async:!1,wrapped:e,default:t,get"~standard"(){return sn(this)},"~run"(n,r){return(n.value===null||n.value===void 0)&&(this.default!==void 0&&(n.value=Za(this,n,r)),n.value===null||n.value===void 0)?(n.typed=!0,n):this.wrapped["~run"](n,r)}}}function Ge(e){return{kind:"schema",type:"number",reference:Ge,expects:"number",async:!1,message:e,get"~standard"(){return sn(this)},"~run"(t,n){return typeof t.value=="number"&&!isNaN(t.value)?t.typed=!0:yn(this,"type",t,n),t}}}function H(e,t){return{kind:"schema",type:"object",reference:H,expects:"Object",async:!1,entries:e,message:t,get"~standard"(){return sn(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]:Za(o),c=o["~run"]({value:a},r);if(c.issues){let u={type:"object",origin:"value",input:s,key:i,value:a};for(let d of c.issues)d.path?d.path.unshift(u):d.path=[u],n.issues?.push(d);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]=a_(o);else if(o.type!=="exact_optional"&&o.type!=="optional"&&o.type!=="nullish"&&(yn(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 yn(this,"type",n,r);return n}}}function Ze(e,t){return{kind:"schema",type:"optional",reference:Ze,expects:`(${e.expects} | undefined)`,async:!1,wrapped:e,default:t,get"~standard"(){return sn(this)},"~run"(n,r){return n.value===void 0&&(this.default!==void 0&&(n.value=Za(this,n,r)),n.value===void 0)?(n.typed=!0,n):this.wrapped["~run"](n,r)}}}function ed(e,t){return{kind:"schema",type:"picklist",reference:ed,expects:Hm(e.map(Ql),"|"),async:!1,options:e,message:t,get"~standard"(){return sn(this)},"~run"(n,r){return this.options.includes(n.value)?n.typed=!0:yn(this,"type",n,r),n}}}function Zs(e,t,n){return{kind:"schema",type:"record",reference:Zs,expects:"Object",async:!1,key:e,value:t,message:n,get"~standard"(){return sn(this)},"~run"(r,s){let i=r.value;if(i&&typeof i=="object"){r.typed=!0,r.value={};for(let o in i)if(i_(i,o)){let a=i[o],c=this.key["~run"]({value:o},s);if(c.issues){let d={type:"object",origin:"key",input:i,key:o,value:a};for(let p of c.issues)p.path=[d],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 d={type:"object",origin:"value",input:i,key:o,value:a};for(let p of u.issues)p.path?p.path.unshift(d):p.path=[d],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 yn(this,"type",r,s);return r}}}function Te(e){return{kind:"schema",type:"string",reference:Te,expects:"string",async:!1,message:e,get"~standard"(){return sn(this)},"~run"(t,n){return typeof t.value=="string"?t.typed=!0:yn(this,"type",t,n),t}}}function No(e,t){return{kind:"schema",type:"tuple",reference:No,expects:"Array",async:!1,items:e,message:t,get"~standard"(){return sn(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 yn(this,"type",n,r);return n}}}function zm(e){let t;if(e)for(let n of e)t?t.push(...n.issues):t=n.issues;return t}function nt(e,t){return{kind:"schema",type:"union",reference:nt,expects:Hm(e.map(n=>n.expects),"|"),async:!1,options:e,message:t,get"~standard"(){return sn(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];yn(this,"type",n,r,{issues:zm(i)}),n.typed=!0}else{if(o?.length===1)return o[0];yn(this,"type",n,r,{issues:zm(o)})}return n}}}function Tr(){return{kind:"schema",type:"unknown",reference:Tr,expects:"unknown",async:!1,get"~standard"(){return sn(this)},"~run"(e){return e.typed=!0,e}}}function De(e,t,n){let r=e["~run"]({value:t},Wm(n));if(r.issues)throw new o_(r.issues);return r.value}function Le(...e){return{...e[0],pipe:e,get"~standard"(){return sn(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 cr(e){return nt(Object.keys(e).map(t=>Ro(t,H({[t]:e[t]}))))}function Ro(e,t){return Le(H({...t.entries,$kind:Ze(le(e))}),Ja(n=>({...n,$kind:e})))}var Ks=Le(Te(),Ja(e=>X(e)),fs(en)),bn=Ks,ms=Te(),rt=Le(nt([Te(),Le(Ge(),ze())]),fs(e=>{try{return BigInt(e),BigInt(e)>=0&&BigInt(e)<=18446744073709551615n}catch{return!1}},"Invalid u64")),c_=Le(Ge(),ze(),fs(e=>e>=0&&e<2**32,"Invalid u32")),ar=H({objectId:Ks,version:rt,digest:Te()}),Ve=nt([Ro("GasCoin",H({GasCoin:le(!0)})),Ro("Input",H({Input:Le(Ge(),ze()),type:Ze(nt([le("pure"),le("object"),le("withdrawal")]))})),Ro("Result",H({Result:Le(Ge(),ze())})),Ro("NestedResult",H({NestedResult:No([Le(Ge(),ze()),Le(Ge(),ze())])}))]),u_=H({budget:Ae(rt),price:Ae(rt),owner:Ae(Ks),payment:Ae(ge(ar))}),w6=H({address:Te(),module:Te(),name:Te(),typeParams:ge(Te())}),td=nt([H({$kind:le("address")}),H({$kind:le("bool")}),H({$kind:le("u8")}),H({$kind:le("u16")}),H({$kind:le("u32")}),H({$kind:le("u64")}),H({$kind:le("u128")}),H({$kind:le("u256")}),H({$kind:le("unknown")}),H({$kind:le("vector"),vector:Js(()=>td)}),H({$kind:le("datatype"),datatype:H({typeName:Te(),typeParameters:ge(Js(()=>td))})}),H({$kind:le("typeParameter"),index:Le(Ge(),ze())})]),l_=H({reference:Ae(nt([le("mutable"),le("immutable"),le("unknown")])),body:td}),d_=H({package:bn,module:Te(),function:Te(),typeArguments:ge(Te()),arguments:ge(Ve),_argumentTypes:Ze(Ae(ge(l_)))}),p_=H({name:Te(),inputs:Zs(Te(),nt([Ve,ge(Ve)])),data:Zs(Te(),Tr())}),f_=cr({MoveCall:d_,TransferObjects:H({objects:ge(Ve),address:Ve}),SplitCoins:H({coin:Ve,amounts:ge(Ve)}),MergeCoins:H({destination:Ve,sources:ge(Ve)}),Publish:H({modules:ge(ms),dependencies:ge(bn)}),MakeMoveVec:H({type:Ae(Te()),elements:ge(Ve)}),Upgrade:H({modules:ge(ms),dependencies:ge(bn),package:bn,ticket:Ve}),$Intent:p_}),Jm=cr({ImmOrOwnedObject:ar,SharedObject:H({objectId:bn,initialSharedVersion:rt,mutable:$r()}),Receiving:ar}),m_=cr({MaxAmountU64:rt}),h_=cr({Balance:Te()}),g_=cr({Sender:le(!0),Sponsor:le(!0)}),nd=H({reservation:m_,typeArg:h_,withdrawFrom:g_}),y_=cr({Object:Jm,Pure:H({bytes:ms}),UnresolvedPure:H({value:Tr()}),UnresolvedObject:H({objectId:bn,version:Ze(Ae(rt)),digest:Ze(Ae(Te())),initialSharedVersion:Ze(Ae(rt)),mutable:Ze(Ae($r()))}),FundsWithdrawal:nd}),rd=cr({Object:Jm,Pure:H({bytes:ms})}),sd=H({minEpoch:Ae(rt),maxEpoch:Ae(rt),minTimestamp:Ae(rt),maxTimestamp:Ae(rt),chain:Te(),nonce:c_}),id=cr({None:le(!0),Epoch:rt,ValidDuring:sd}),Fi=H({version:le(2),sender:qr(Ks),expiration:qr(id),gasData:u_,inputs:ge(y_),commands:ge(f_)});var od=H({digest:Te(),objectId:Te(),version:nt([Le(Ge(),ze()),Te(),Vi()])}),b_=cr({ImmOrOwned:od,Shared:H({objectId:bn,initialSharedVersion:rt,mutable:$r()}),Receiving:od}),Zm=cr({Object:b_,Pure:ge(Le(Ge(),ze()))}),Xm=nt([H({kind:le("Input"),index:Le(Ge(),ze()),value:Tr(),type:Ze(le("object"))}),H({kind:le("Input"),index:Le(Ge(),ze()),value:Tr(),type:le("pure")})]),v_=nt([H({Epoch:Le(Ge(),ze())}),H({None:Ae(le(!0))})]),Km=Le(nt([Ge(),Te(),Vi()]),fs(e=>{if(!["string","number","bigint"].includes(typeof e))return!1;try{return BigInt(e),!0}catch{return!1}})),ad=nt([H({bool:Ae(le(!0))}),H({u8:Ae(le(!0))}),H({u64:Ae(le(!0))}),H({u128:Ae(le(!0))}),H({address:Ae(le(!0))}),H({signer:Ae(le(!0))}),H({vector:Js(()=>ad)}),H({struct:Js(()=>__)}),H({u16:Ae(le(!0))}),H({u32:Ae(le(!0))}),H({u256:Ae(le(!0))})]),__=H({address:Te(),module:Te(),name:Te(),typeParams:ge(ad)}),w_=H({budget:Ze(Km),price:Ze(Km),payment:Ze(ge(od)),owner:Ze(Te())}),T_=[Xm,H({kind:le("GasCoin")}),H({kind:le("Result"),index:Le(Ge(),ze())}),H({kind:le("NestedResult"),index:Le(Ge(),ze()),resultIndex:Le(Ge(),ze())})],Wr=nt([...T_]),k_=H({kind:le("MoveCall"),target:Le(Te(),fs(e=>e.split("::").length===3)),typeArguments:ge(Te()),arguments:ge(Wr)}),S_=H({kind:le("TransferObjects"),objects:ge(Wr),address:Wr}),E_=H({kind:le("SplitCoins"),coin:Wr,amounts:ge(Wr)}),O_=H({kind:le("MergeCoins"),destination:Wr,sources:ge(Wr)}),I_=H({kind:le("MakeMoveVec"),type:nt([H({Some:ad}),H({None:Ae(le(!0))})]),objects:ge(Wr)}),A_=nt([k_,S_,E_,O_,H({kind:le("Publish"),modules:ge(ge(Le(Ge(),ze()))),dependencies:ge(Te())}),H({kind:le("Upgrade"),modules:ge(ge(Le(Ge(),ze()))),dependencies:ge(Te()),packageId:Te(),ticket:Wr}),I_]),I6=H({version:le(1),sender:Ze(Te()),expiration:qr(v_),gasConfig:w_,inputs:ge(Xm),transactions:ge(A_)});function Ym(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(ie(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:Pn.parseFromStr(n.MakeMoveVec.type)},objects:n.MakeMoveVec.elements.map(r=>Gr(r,t))};if(n.MergeCoins)return{kind:"MergeCoins",destination:Gr(n.MergeCoins.destination,t),sources:n.MergeCoins.sources.map(r=>Gr(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=>Gr(r,t))};if(n.Publish)return{kind:"Publish",modules:n.Publish.modules.map(r=>Array.from(ie(r))),dependencies:n.Publish.dependencies};if(n.SplitCoins)return{kind:"SplitCoins",coin:Gr(n.SplitCoins.coin,t),amounts:n.SplitCoins.amounts.map(r=>Gr(r,t))};if(n.TransferObjects)return{kind:"TransferObjects",objects:n.TransferObjects.objects.map(r=>Gr(r,t)),address:Gr(n.TransferObjects.address,t)};if(n.Upgrade)return{kind:"Upgrade",modules:n.Upgrade.modules.map(r=>Array.from(ie(r))),dependencies:n.Upgrade.dependencies,packageId:n.Upgrade.package,ticket:Gr(n.Upgrade.ticket,t)};throw new Error(`Unknown transaction ${Object.keys(n)}`)})}}function Gr(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 Qm(e){return De(Fi,{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(Co(Zm,t.value)){let n=De(Zm,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:ye(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?Pn.tagToString(t.type.Some):null,elements:t.objects.map(n=>zr(n))}};case"MergeCoins":return{MergeCoins:{destination:zr(t.destination),sources:t.sources.map(n=>zr(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=>zr(i))}}}case"Publish":return{Publish:{modules:t.modules.map(n=>ye(Uint8Array.from(n))),dependencies:t.dependencies}};case"SplitCoins":return{SplitCoins:{coin:zr(t.coin),amounts:t.amounts.map(n=>zr(n))}};case"TransferObjects":return{TransferObjects:{objects:t.objects.map(n=>zr(n)),address:zr(t.address)}};case"Upgrade":return{Upgrade:{modules:t.modules.map(n=>ye(Uint8Array.from(n))),dependencies:t.dependencies,package:t.packageId,ticket:zr(t.ticket)}}}throw new Error(`Unknown transaction ${Object.keys(t)}`)})})}function zr(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 eh(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),ir(r,{dkLen:32})}function $i(e){if(typeof e=="string")return X(e);if(e.Object)return e.Object.ImmOrOwnedObject?X(e.Object.ImmOrOwnedObject.objectId):e.Object.Receiving?X(e.Object.Receiving.objectId):X(e.Object.SharedObject.objectId);if(e.UnresolvedObject)return X(e.UnresolvedObject.objectId)}function th(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}}function nh(e){return X(e).replace("0x","")}var vn=class Xs{static fromKindBytes(t){let n=E.TransactionKind.parse(t).ProgrammableTransaction;if(!n)throw new Error("Unable to deserialize from bytes.");return Xs.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=E.TransactionData.parse(t)?.V1,r=n.kind.ProgrammableTransaction;if(!n||!r)throw new Error("Unable to deserialize from bytes.");return Xs.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 Xs(De(Fi,t)):new Xs(De(Fi,Qm(t)))}static getDigestFromBytes(t){return Un(eh("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 E.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 d={sender:nh(c),expiration:a||{None:!0},gasData:{payment:u.payment,owner:nh(this.gasData.owner??c),price:BigInt(u.price),budget:BigInt(u.budget)},kind:{ProgrammableTransaction:{inputs:s,commands:i}}};return E.TransactionData.serialize({V1:d},{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 De(Ve,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=$i(c),d=-1;if(u!==void 0&&(d=this.inputs.findIndex(p=>$i(p)===u),d!==-1&&this.inputs[d].Object?.SharedObject&&c.Object?.SharedObject&&(this.inputs[d].Object.SharedObject.mutable=this.inputs[d].Object.SharedObject.mutable||c.Object.SharedObject.mutable)),d!==-1)r.set(a,d);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]);th(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 Xs.getDigestFromBytes(t)}snapshot(){return De(Fi,this)}shallowClone(){return new Xs({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(X(i.objectId)!==X(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(X(i.objectId)!==X(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 x_=new Intl.PluralRules("en-US",{type:"ordinal"}),C_=new Map([["one","st"],["two","nd"],["few","rd"],["other","th"]]);function N_(e){return`${e}${C_.get(x_.select(e))}`}function Ys(e){let{command:t,location:n,abortCode:r,cleverError:s}=e,i=[];if(t!=null?i.push(`MoveAbort in ${N_(t+1)} command`):i.push("MoveAbort"),s?.constantName){let o=s.value?`'${s.constantName}': ${s.value}`:`'${s.constantName}'`;i.push(o)}else i.push(`abort code: ${r}`);if(n?.package&&n?.module){let o=[`in '${[n.package.startsWith("0x")?n.package:`0x${n.package}`,n.module,n.functionName].filter(Boolean).join("::")}'`];s?.lineNumber!=null?o.push(`(line ${s.lineNumber})`):n.instruction!=null&&o.push(`(instruction ${n.instruction})`),i.push(o.join(" "))}return i.join(", ")}var rh=E.struct("MinimalEffectsWithError",{status:Fa}),W6=E.enum("MinimalTransactionEffectsWithError",{V1:rh,V2:rh}),R_=E.enum("MinimalExecutionStatusNoError",{Success:null,Failed:null}),sh=E.struct("MinimalEffectsNoError",{status:R_}),H6=E.enum("MinimalTransactionEffectsNoError",{V1:sh,V2:sh});function In(e,t){return t!=null&&typeof t!="boolean"?`${e}(${JSON.stringify(t,(n,r)=>typeof r=="bigint"?r.toString():r)})`:e}function M_(e){let t=e.error,n=e.command!=null?Number(e.command):void 0;switch(t.$kind){case"MoveAbort":{let[r,s]=t.MoveAbort,i={package:r.module.address,module:r.module.name,function:r.function,functionName:r.functionName??void 0,instruction:r.instruction};return{$kind:"MoveAbort",message:Ys({command:n,location:i,abortCode:String(s)}),command:n,MoveAbort:{abortCode:String(s),location:i}}}case"MoveObjectTooBig":return{$kind:"SizeError",message:In("MoveObjectTooBig",t.MoveObjectTooBig),command:n,SizeError:{name:"ObjectTooBig",size:Number(t.MoveObjectTooBig.objectSize),maxSize:Number(t.MoveObjectTooBig.maxObjectSize)}};case"MovePackageTooBig":return{$kind:"SizeError",message:In("MovePackageTooBig",t.MovePackageTooBig),command:n,SizeError:{name:"PackageTooBig",size:Number(t.MovePackageTooBig.objectSize),maxSize:Number(t.MovePackageTooBig.maxObjectSize)}};case"EffectsTooLarge":return{$kind:"SizeError",message:In("EffectsTooLarge",t.EffectsTooLarge),command:n,SizeError:{name:"EffectsTooLarge",size:Number(t.EffectsTooLarge.currentSize),maxSize:Number(t.EffectsTooLarge.maxSize)}};case"WrittenObjectsTooLarge":return{$kind:"SizeError",message:In("WrittenObjectsTooLarge",t.WrittenObjectsTooLarge),command:n,SizeError:{name:"WrittenObjectsTooLarge",size:Number(t.WrittenObjectsTooLarge.currentSize),maxSize:Number(t.WrittenObjectsTooLarge.maxSize)}};case"MoveVectorElemTooBig":return{$kind:"SizeError",message:In("MoveVectorElemTooBig",t.MoveVectorElemTooBig),command:n,SizeError:{name:"MoveVectorElemTooBig",size:Number(t.MoveVectorElemTooBig.valueSize),maxSize:Number(t.MoveVectorElemTooBig.maxScaledSize)}};case"MoveRawValueTooBig":return{$kind:"SizeError",message:In("MoveRawValueTooBig",t.MoveRawValueTooBig),command:n,SizeError:{name:"MoveRawValueTooBig",size:Number(t.MoveRawValueTooBig.valueSize),maxSize:Number(t.MoveRawValueTooBig.maxScaledSize)}};case"CommandArgumentError":return{$kind:"CommandArgumentError",message:In("CommandArgumentError",t.CommandArgumentError),command:n,CommandArgumentError:{argument:t.CommandArgumentError.argIdx,name:t.CommandArgumentError.kind.$kind}};case"TypeArgumentError":return{$kind:"TypeArgumentError",message:In("TypeArgumentError",t.TypeArgumentError),command:n,TypeArgumentError:{typeArgument:t.TypeArgumentError.argumentIdx,name:t.TypeArgumentError.kind.$kind}};case"PackageUpgradeError":{let r=t.PackageUpgradeError.upgradeError;return{$kind:"PackageUpgradeError",message:In("PackageUpgradeError",t.PackageUpgradeError),command:n,PackageUpgradeError:{name:r.$kind,packageId:r.$kind==="UnableToFetchPackage"?r.UnableToFetchPackage.packageId:void 0,digest:r.$kind==="DigestDoesNotMatch"?ye(r.DigestDoesNotMatch.digest):void 0}}}case"ExecutionCancelledDueToSharedObjectCongestion":return{$kind:"CongestedObjects",message:In("ExecutionCancelledDueToSharedObjectCongestion",t.ExecutionCancelledDueToSharedObjectCongestion),command:n,CongestedObjects:{name:"ExecutionCanceledDueToConsensusObjectCongestion",objects:t.ExecutionCancelledDueToSharedObjectCongestion.congested_objects}};case"AddressDeniedForCoin":return{$kind:"CoinDenyListError",message:In("AddressDeniedForCoin",t.AddressDeniedForCoin),command:n,CoinDenyListError:{name:"AddressDeniedForCoin",address:t.AddressDeniedForCoin.address,coinType:t.AddressDeniedForCoin.coinType}};case"CoinTypeGlobalPause":return{$kind:"CoinDenyListError",message:In("CoinTypeGlobalPause",t.CoinTypeGlobalPause),command:n,CoinDenyListError:{name:"CoinTypeGlobalPause",coinType:t.CoinTypeGlobalPause.coinType}};case"CircularObjectOwnership":return{$kind:"ObjectIdError",message:In("CircularObjectOwnership",t.CircularObjectOwnership),command:n,ObjectIdError:{name:"CircularObjectOwnership",objectId:t.CircularObjectOwnership.object}};case"InvalidGasObject":return{$kind:"ObjectIdError",message:"InvalidGasObject",command:n,ObjectIdError:{name:"InvalidGasObject",objectId:""}};case"InputObjectDeleted":return{$kind:"ObjectIdError",message:"InputObjectDeleted",command:n,ObjectIdError:{name:"InputObjectDeleted",objectId:""}};case"InvalidTransferObject":return{$kind:"ObjectIdError",message:"InvalidTransferObject",command:n,ObjectIdError:{name:"InvalidTransferObject",objectId:""}};case"NonExclusiveWriteInputObjectModified":return{$kind:"Unknown",message:In("NonExclusiveWriteInputObjectModified",t.NonExclusiveWriteInputObjectModified),command:n,Unknown:null};case"InsufficientGas":case"InvariantViolation":case"FeatureNotYetSupported":case"InsufficientCoinBalance":case"CoinBalanceOverflow":case"PublishErrorNonZeroAddress":case"SuiMoveVerificationError":case"MovePrimitiveRuntimeError":case"VMVerificationOrDeserializationError":case"VMInvariantViolation":case"FunctionNotFound":case"ArityMismatch":case"TypeArityMismatch":case"NonEntryFunctionInvoked":case"UnusedValueWithoutDrop":case"InvalidPublicFunctionReturnType":case"PublishUpgradeMissingDependency":case"PublishUpgradeDependencyDowngrade":case"CertificateDenied":case"SuiMoveVerificationTimedout":case"SharedObjectOperationNotAllowed":case"ExecutionCancelledDueToRandomnessUnavailable":case"InvalidLinkage":case"InsufficientBalanceForWithdraw":return{$kind:"Unknown",message:t.$kind,command:n,Unknown:null};default:return{$kind:"Unknown",message:"Unknown error",command:n,Unknown:null}}}function ih(e,t=!1){return(t?vn.fromKindBytes(e):vn.fromBytes(e)).snapshot()}function Ka(e){let t=E.TransactionEffects.parse(e);switch(t.$kind){case"V1":return B_({bytes:e,effects:t.V1});case"V2":return j_({bytes:e,effects:t.V2});default:throw new Error(`Unknown transaction effects version: ${t.$kind}`)}}function B_(e){throw new Error("V1 effects are not supported yet")}function j_({bytes:e,effects:t}){let n=t.changedObjects.map(([r,s])=>({objectId:r,inputState:s.inputState.$kind==="Exist"?"Exists":"DoesNotExist",inputVersion:s.inputState.Exist?.[0][0]??null,inputDigest:s.inputState.Exist?.[0][1]??null,inputOwner:s.inputState.Exist?.[1]??null,outputState:s.outputState.$kind==="NotExist"?"DoesNotExist":s.outputState.$kind,outputVersion:s.outputState.$kind==="PackageWrite"?s.outputState.PackageWrite?.[0]:s.outputState.$kind==="ObjectWrite"?t.lamportVersion:null,outputDigest:s.outputState.$kind==="PackageWrite"?s.outputState.PackageWrite?.[1]:s.outputState.$kind==="ObjectWrite"?s.outputState.ObjectWrite?.[0]??null:null,outputOwner:s.outputState.$kind==="ObjectWrite"?s.outputState.ObjectWrite[1]:null,idOperation:s.idOperation.$kind}));return{bcs:e,version:2,status:t.status.$kind==="Success"?{success:!0,error:null}:{success:!1,error:M_(t.status.Failure)},gasUsed:t.gasUsed,transactionDigest:t.transactionDigest,gasObject:t.gasObjectIndex===null?null:n[t.gasObjectIndex]??null,eventsDigest:t.eventsDigest,dependencies:t.dependencies,lamportVersion:t.lamportVersion,changedObjects:n,unchangedConsensusObjects:t.unchangedConsensusObjects.map(([r,s])=>({kind:s.$kind,objectId:r,version:s.$kind==="ReadOnlyRoot"?s.ReadOnlyRoot[0]:s[s.$kind],digest:s.$kind==="ReadOnlyRoot"?s.ReadOnlyRoot[1]:null})),auxiliaryDataDigest:t.auxDataDigest}}var oh=class extends Error{},Qs=class extends oh{constructor(e,t){super(e,{cause:t?.cause}),this.executionError=t?.executionError}},Gi=class qi extends oh{constructor(t,n){super(n),this.code=t}static fromResponse(t,n){switch(t.code){case"notExists":return new qi(t.code,`Object ${t.object_id} does not exist`);case"dynamicFieldNotFound":return new qi(t.code,`Dynamic field not found for object ${t.parent_object_id}`);case"deleted":return new qi(t.code,`Object ${t.object_id} has been deleted`);case"displayError":return new qi(t.code,`Display error: ${t.error}`);case"unknown":default:return new qi(t.code,`Unknown error while loading object${n?` ${n}`:""}`)}}};function on(e){let t=typeof e;if(t=="object"){if(Array.isArray(e))return"array";if(e===null)return"null"}return t}function hs(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}var Hr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),Xa=[];for(let e=0;e<Hr.length;e++)Xa[Hr[e].charCodeAt(0)]=e;Xa["-".charCodeAt(0)]=Hr.indexOf("+");Xa["_".charCodeAt(0)]=Hr.indexOf("/");function Mo(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=Xa[e.charCodeAt(a)],i===void 0)switch(e[a]){case"=":s=0;case`
|
|
8
|
-
`: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 Bo(e){let t="",n=0,r,s=0;for(let i=0;i<e.length;i++)switch(r=e[i],n){case 0:t+=Hr[r>>2],s=(r&3)<<4,n=1;break;case 1:t+=Hr[s|r>>4],s=(r&15)<<2,n=2;break;case 2:t+=Hr[s|r>>6],t+=Hr[r&63],n=0;break}return n&&(t+=Hr[s],t+="=",n==1&&(t+="=")),t}var ei;(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])})(ei||(ei={}));function cd(e,t){return Object.assign(Object.assign({},e),t)}var We;(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"})(We||(We={}));function ah(){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))return this.assertBounds(),[e,t]}let n=this.buf[this.pos++];if(e|=(n&15)<<28,t=(n&112)>>4,!(n&128))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))return this.assertBounds(),[e,t]}throw new Error("invalid varint")}function Qa(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);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 Ya=65536*65536;function ud(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>=Ya&&(s=s+(r/Ya|0),r=r%Ya)}return i(-24,-18),i(-18,-12),i(-12,-6),i(-6),[t,r,s]}function ec(e,t){if(t>>>0<=2097151)return""+(Ya*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(d,p){let f=d?String(d):"";return p?"0000000".slice(f.length)+f:f}return u(a,0)+u(o,a)+u(i,1)}function ld(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 ch(){let e=this.buf[this.pos++],t=e&127;if(!(e&128))return this.assertBounds(),t;if(e=this.buf[this.pos++],t|=(e&127)<<7,!(e&128))return this.assertBounds(),t;if(e=this.buf[this.pos++],t|=(e&127)<<14,!(e&128))return this.assertBounds(),t;if(e=this.buf[this.pos++],t|=(e&127)<<21,!(e&128))return this.assertBounds(),t;e=this.buf[this.pos++],t|=(e&15)<<28;for(let n=5;e&128&&n<10;n++)e=this.buf[this.pos++];if(e&128)throw new Error("invalid varint");return this.assertBounds(),t>>>0}var $e;function D_(){let e=new DataView(new ArrayBuffer(8));$e=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}D_();function uh(e){if(!e)throw new Error("BigInt unavailable, see https://github.com/timostamm/protobuf-ts/blob/v1.0.8/MANUAL.md#bigint-support")}var lh=/^-?[0-9]+$/,nc=4294967296,tc=2147483648,rc=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*nc+(this.lo>>>0);if(!Number.isSafeInteger(t))throw new Error("cannot convert to safe number");return t}},He=class extends rc{static from(t){if($e)switch(typeof t){case"string":if(t=="0")return this.ZERO;if(t=="")throw new Error("string is no integer");t=$e.C(t);case"number":if(t===0)return this.ZERO;t=$e.C(t);case"bigint":if(!t)return this.ZERO;if(t<$e.UMIN)throw new Error("signed value for ulong");if(t>$e.UMAX)throw new Error("ulong too large");return $e.V.setBigUint64(0,t,!0),new He($e.V.getInt32(0,!0),$e.V.getInt32(4,!0))}else switch(typeof t){case"string":if(t=="0")return this.ZERO;if(t=t.trim(),!lh.test(t))throw new Error("string is no integer");let[n,r,s]=ud(t);if(n)throw new Error("signed value for ulong");return new He(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 He(t,t/nc)}throw new Error("unknown value "+typeof t)}toString(){return $e?this.toBigInt().toString():ec(this.lo,this.hi)}toBigInt(){return uh($e),$e.V.setInt32(0,this.lo,!0),$e.V.setInt32(4,this.hi,!0),$e.V.getBigUint64(0,!0)}};He.ZERO=new He(0,0);var Ce=class extends rc{static from(t){if($e)switch(typeof t){case"string":if(t=="0")return this.ZERO;if(t=="")throw new Error("string is no integer");t=$e.C(t);case"number":if(t===0)return this.ZERO;t=$e.C(t);case"bigint":if(!t)return this.ZERO;if(t<$e.MIN)throw new Error("signed long too small");if(t>$e.MAX)throw new Error("signed long too large");return $e.V.setBigInt64(0,t,!0),new Ce($e.V.getInt32(0,!0),$e.V.getInt32(4,!0))}else switch(typeof t){case"string":if(t=="0")return this.ZERO;if(t=t.trim(),!lh.test(t))throw new Error("string is no integer");let[n,r,s]=ud(t);if(n){if(s>tc||s==tc&&r!=0)throw new Error("signed long too small")}else if(s>=tc)throw new Error("signed long too large");let i=new Ce(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 Ce(t,t/nc):new Ce(-t,-t/nc).negate()}throw new Error("unknown value "+typeof t)}isNegative(){return(this.hi&tc)!==0}negate(){let t=~this.hi,n=this.lo;return n?n=~n+1:t+=1,new Ce(n,t)}toString(){if($e)return this.toBigInt().toString();if(this.isNegative()){let t=this.negate();return"-"+ec(t.lo,t.hi)}return ec(this.lo,this.hi)}toBigInt(){return uh($e),$e.V.setInt32(0,this.lo,!0),$e.V.setInt32(4,this.hi,!0),$e.V.getBigInt64(0,!0)}};Ce.ZERO=new Ce(0,0);var dh={readUnknownField:!0,readerFactory:e=>new dd(e)};function ph(e){return e?Object.assign(Object.assign({},dh),e):dh}var dd=class{constructor(t,n){this.varint64=ah,this.uint32=ch,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 We.Varint:for(;this.buf[this.pos++]&128;);break;case We.Bit64:this.pos+=4;case We.Bit32:this.pos+=4;break;case We.LengthDelimited:let r=this.uint32();this.pos+=r;break;case We.StartGroup:let s;for(;(s=this.tag()[1])!==We.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 Ce(...this.varint64())}uint64(){return new He(...this.varint64())}sint64(){let[t,n]=this.varint64(),r=-(t&1);return t=(t>>>1|(n&1)<<31)^r,n=n>>>1^r,new Ce(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 He(this.sfixed32(),this.sfixed32())}sfixed64(){return new Ce(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 Oe(e,t){if(!e)throw new Error(t)}function pd(e,t){throw new Error(t??"Unexpected object: "+e)}var U_=34028234663852886e22,P_=-34028234663852886e22,L_=4294967295,V_=2147483647,F_=-2147483648;function Jr(e){if(typeof e!="number")throw new Error("invalid int 32: "+typeof e);if(!Number.isInteger(e)||e>V_||e<F_)throw new Error("invalid int 32: "+e)}function gs(e){if(typeof e!="number")throw new Error("invalid uint 32: "+typeof e);if(!Number.isInteger(e)||e>L_||e<0)throw new Error("invalid uint 32: "+e)}function ti(e){if(typeof e!="number")throw new Error("invalid float 32: "+typeof e);if(Number.isFinite(e)&&(e>U_||e<P_))throw new Error("invalid float 32: "+e)}var fh={writeUnknownFields:!0,writerFactory:()=>new fd};function mh(e){return e?Object.assign(Object.assign({},fh),e):fh}var fd=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(gs(t);t>127;)this.buf.push(t&127|128),t=t>>>7;return this.buf.push(t),this}int32(t){return Jr(t),ld(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){ti(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){gs(t);let n=new Uint8Array(4);return new DataView(n.buffer).setUint32(0,t,!0),this.raw(n)}sfixed32(t){Jr(t);let n=new Uint8Array(4);return new DataView(n.buffer).setInt32(0,t,!0),this.raw(n)}sint32(t){return Jr(t),t=(t<<1^t>>31)>>>0,ld(t,this.buf),this}sfixed64(t){let n=new Uint8Array(8),r=new DataView(n.buffer),s=Ce.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=He.from(t);return r.setInt32(0,s.lo,!0),r.setInt32(4,s.hi,!0),this.raw(n)}int64(t){let n=Ce.from(t);return Qa(n.lo,n.hi,this.buf),this}sint64(t){let n=Ce.from(t),r=n.hi>>31,s=n.lo<<1^r,i=(n.hi<<1|n.lo>>>31)^r;return Qa(s,i,this.buf),this}uint64(t){let n=He.from(t);return Qa(n.lo,n.hi,this.buf),this}};var hh={emitDefaultValues:!1,enumAsInteger:!1,useProtoFieldName:!1,prettySpaces:0},gh={ignoreUnknownFields:!1};function md(e){return e?Object.assign(Object.assign({},gh),e):gh}function jo(e){return e?Object.assign(Object.assign({},hh),e):hh}function hd(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 sc=Symbol.for("protobuf-ts/message-type");function ys(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 V;(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"})(V||(V={}));var _n;(function(e){e[e.BIGINT=0]="BIGINT",e[e.STRING=1]="STRING",e[e.NUMBER=2]="NUMBER"})(_n||(_n={}));var Do;(function(e){e[e.NO=0]="NO",e[e.PACKED=1]="PACKED",e[e.UNPACKED=2]="UNPACKED"})(Do||(Do={}));function yh(e){var t,n,r,s;return e.localName=(t=e.localName)!==null&&t!==void 0?t:ys(e.name),e.jsonName=(n=e.jsonName)!==null&&n!==void 0?n:ys(e.name),e.repeat=(r=e.repeat)!==null&&r!==void 0?r:Do.NO,e.opt=(s=e.opt)!==null&&s!==void 0?s:e.repeat||e.oneof?!1:e.kind=="message",e}function bh(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 ic=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(!bh(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,V.INT32,s):this.scalar(t,V.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),V.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 V.UINT64:case V.FIXED64:case V.INT64:case V.SFIXED64:case V.SINT64:switch(r){case _n.BIGINT:return s=="bigint";case _n.NUMBER:return s=="number"&&!isNaN(t);default:return s=="string"}case V.BOOL:return s=="boolean";case V.STRING:return s=="string";case V.BYTES:return t instanceof Uint8Array;case V.DOUBLE:case V.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 V.INT32:case V.FIXED32:case V.SFIXED32:case V.SINT32:case V.UINT32:return this.scalars(s.slice(0,r).map(i=>parseInt(i)),n,r);case V.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,_n.STRING)}}};function An(e,t){switch(t){case _n.BIGINT:return e.toBigInt();case _n.NUMBER:return e.toNumber();default:return e.toString()}}var oc=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=on(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(hs(o),a.name,o);let d=u[c];for(let[p,f]of Object.entries(o)){this.assert(f!==null,a.name+" map value",null);let g;switch(a.V.kind){case"message":g=a.V.T().internalJsonRead(f,r);break;case"enum":if(g=this.enum(a.V.T(),f,a.name,r.ignoreUnknownFields),g===!1)continue;break;case"scalar":g=this.scalar(f,a.V.T,a.V.L,a.name);break}this.assert(g!==void 0,a.name+" map value",f);let b=p;a.K==V.BOOL&&(b=b=="true"?!0:b=="false"?!1:b),b=this.scalar(b,a.K,_n.STRING,a.name).toString(),d[b]=g}}else if(a.repeat){if(o===null)continue;this.assert(Array.isArray(o),a.name,o);let d=u[c];for(let p of o){this.assert(p!==null,a.name,null);let f;switch(a.kind){case"message":f=a.T().internalJsonRead(p,r);break;case"enum":if(f=this.enum(a.T(),p,a.name,r.ignoreUnknownFields),f===!1)continue;break;case"scalar":f=this.scalar(p,a.T,a.L,a.name);break}this.assert(f!==void 0,a.name,o),d.push(f)}}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 d=this.enum(a.T(),o,a.name,r.ignoreUnknownFields);if(d===!1)continue;u[c]=d;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"&&Oe(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 Oe(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:(Oe(typeof o=="number",`Unable to parse field ${this.info.typeName}#${r}, enum ${t[0]} has no value for "${n}".`),o)}Oe(!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 V.DOUBLE:case V.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==V.FLOAT&&ti(o),o;case V.INT32:case V.FIXED32:case V.SFIXED32:case V.SINT32:case V.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==V.UINT32?gs(a):Jr(a),a;case V.INT64:case V.SFIXED64:case V.SINT64:if(t===null)return An(Ce.ZERO,r);if(typeof t!="number"&&typeof t!="string")break;return An(Ce.from(t),r);case V.FIXED64:case V.UINT64:if(t===null)return An(He.ZERO,r);if(typeof t!="number"&&typeof t!="string")break;return An(He.from(t),r);case V.BOOL:if(t===null)return!1;if(typeof t!="boolean")break;return t;case V.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 V.BYTES:if(t===null||t==="")return new Uint8Array(0);if(typeof t!="string")break;return Mo(t)}}catch(o){i=o.message}this.assert(!1,s+(i?" - "+i:""),t)}};var ac=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);Oe(c!==void 0),r[n.useProtoFieldName?i.name:i.jsonName]=c}return r}field(t,n,r){let s;if(t.kind=="map"){Oe(typeof n=="object"&&n!==null);let i={};switch(t.V.kind){case"scalar":for(let[c,u]of Object.entries(n)){let d=this.scalar(t.V.T,u,t.name,!1,!0);Oe(d!==void 0),i[c.toString()]=d}break;case"message":let o=t.V.T();for(let[c,u]of Object.entries(n)){let d=this.message(o,u,t.name,r);Oe(d!==void 0),i[c.toString()]=d}break;case"enum":let a=t.V.T();for(let[c,u]of Object.entries(n)){Oe(u===void 0||typeof u=="number");let d=this.enum(a,u,t.name,!1,!0,r.enumAsInteger);Oe(d!==void 0),i[c.toString()]=d}break}(r.emitDefaultValues||Object.keys(i).length>0)&&(s=i)}else if(t.repeat){Oe(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);Oe(u!==void 0),i.push(u)}break;case"enum":let o=t.T();for(let c=0;c<n.length;c++){Oe(n[c]===void 0||typeof n[c]=="number");let u=this.enum(o,n[c],t.name,t.opt,!0,r.enumAsInteger);Oe(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);Oe(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){Oe(s);return}if(!(n===0&&!i&&!s))return Oe(typeof n=="number"),Oe(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){Oe(s);return}let o=i||s;switch(t){case V.INT32:case V.SFIXED32:case V.SINT32:return n===0?o?0:void 0:(Jr(n),n);case V.FIXED32:case V.UINT32:return n===0?o?0:void 0:(gs(n),n);case V.FLOAT:ti(n);case V.DOUBLE:return n===0?o?0:void 0:(Oe(typeof n=="number"),Number.isNaN(n)?"NaN":n===Number.POSITIVE_INFINITY?"Infinity":n===Number.NEGATIVE_INFINITY?"-Infinity":n);case V.STRING:return n===""?o?"":void 0:(Oe(typeof n=="string"),n);case V.BOOL:return n===!1?o?!1:void 0:(Oe(typeof n=="boolean"),n);case V.UINT64:case V.FIXED64:Oe(typeof n=="number"||typeof n=="string"||typeof n=="bigint");let a=He.from(n);return a.isZero()&&!o?void 0:a.toString();case V.INT64:case V.SFIXED64:case V.SINT64:Oe(typeof n=="number"||typeof n=="string"||typeof n=="bigint");let c=Ce.from(n);return c.isZero()&&!o?void 0:c.toString();case V.BYTES:return Oe(n instanceof Uint8Array),n.byteLength?Bo(n):o?"":void 0}}};function Uo(e,t=_n.STRING){switch(e){case V.BOOL:return!1;case V.UINT64:case V.FIXED64:return An(He.ZERO,t);case V.INT64:case V.SFIXED64:case V.SINT64:return An(Ce.ZERO,t);case V.DOUBLE:case V.FLOAT:return 0;case V.BYTES:return new Uint8Array(0);case V.STRING:return"";default:return 0}}var cc=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 f=r.readUnknownField;if(f=="throw")throw new Error(`Unknown field ${o} (wire type ${a}) for ${this.info.typeName}`);let g=t.skip(a);f!==!1&&(f===!0?ei.onRead:f)(this.info.typeName,n,o,a,g);continue}let u=n,d=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 f=c.kind=="enum"?V.INT32:c.T,g=c.kind=="scalar"?c.L:void 0;if(d){let I=u[p];if(a==We.LengthDelimited&&f!=V.STRING&&f!=V.BYTES){let A=t.uint32()+t.pos;for(;t.pos<A;)I.push(this.scalar(t,f,g))}else I.push(this.scalar(t,f,g))}else u[p]=this.scalar(t,f,g);break;case"message":if(d){let I=u[p],A=c.T().internalBinaryRead(t,t.uint32(),r);I.push(A)}else u[p]=c.T().internalBinaryRead(t,t.uint32(),r,u[p]);break;case"map":let[b,_]=this.mapEntry(c,t,r);u[p][b]=_;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==V.BOOL?o=n.bool().toString():o=this.scalar(n,t.K,_n.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=Uo(t.K);o=t.K==V.BOOL?c.toString():c}if(a===void 0)switch(t.V.kind){case"scalar":a=Uo(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 V.INT32:return t.int32();case V.STRING:return t.string();case V.BOOL:return t.bool();case V.DOUBLE:return t.double();case V.FLOAT:return t.float();case V.INT64:return An(t.int64(),r);case V.UINT64:return An(t.uint64(),r);case V.FIXED64:return An(t.fixed64(),r);case V.FIXED32:return t.fixed32();case V.BYTES:return t.bytes();case V.UINT32:return t.uint32();case V.SFIXED32:return t.sfixed32();case V.SFIXED64:return An(t.sfixed64(),r);case V.SINT32:return t.sint32();case V.SINT64:return An(t.sint64(),r)}}};var uc=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 d=t[i.oneof];if(d.oneofKind!==u)continue;o=d[u],a=!0}else o=t[u],a=!1;switch(i.kind){case"scalar":case"enum":let d=i.kind=="enum"?V.INT32:i.T;if(c)if(Oe(Array.isArray(o)),c==Do.PACKED)this.packed(n,d,i.no,o);else for(let p of o)this.scalar(n,d,i.no,p,!0);else o===void 0?Oe(i.opt):this.scalar(n,d,i.no,o,a||i.opt);break;case"message":if(c){Oe(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":Oe(typeof o=="object"&&o!==null);for(let[p,f]of Object.entries(o))this.mapEntry(n,r,i,p,f);break}}let s=r.writeUnknownFields;s!==!1&&(s===!0?ei.onWrite:s)(this.info.typeName,t,n)}mapEntry(t,n,r,s,i){t.tag(r.no,We.LengthDelimited),t.fork();let o=s;switch(r.K){case V.INT32:case V.FIXED32:case V.UINT32:case V.SFIXED32:case V.SINT32:o=Number.parseInt(s);break;case V.BOOL:Oe(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,V.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,We.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;Oe(n!==V.BYTES&&n!==V.STRING),t.tag(r,We.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=We.Varint,s,i=n===void 0,o=n===0;switch(t){case V.INT32:s="int32";break;case V.STRING:o=i||!n.length,r=We.LengthDelimited,s="string";break;case V.BOOL:o=n===!1,s="bool";break;case V.UINT32:s="uint32";break;case V.DOUBLE:r=We.Bit64,s="double";break;case V.FLOAT:r=We.Bit32,s="float";break;case V.INT64:o=i||Ce.from(n).isZero(),s="int64";break;case V.UINT64:o=i||He.from(n).isZero(),s="uint64";break;case V.FIXED64:o=i||He.from(n).isZero(),r=We.Bit64,s="fixed64";break;case V.BYTES:o=i||!n.byteLength,r=We.LengthDelimited,s="bytes";break;case V.FIXED32:r=We.Bit32,s="fixed32";break;case V.SFIXED32:r=We.Bit32,s="sfixed32";break;case V.SFIXED64:o=i||Ce.from(n).isZero(),r=We.Bit64,s="sfixed64";break;case V.SINT32:s="sint32";break;case V.SINT64:o=i||Ce.from(n).isZero(),s="sint64";break}return[r,s,i||o]}};function vh(e){let t=e.messagePrototype?Object.create(e.messagePrototype):Object.defineProperty({},sc,{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]=Uo(n.T,n.L);break;case"enum":t[r]=0;break;case"map":t[r]={};break}}return t}function lc(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 d of Object.keys(r))i[a][d]=u.create(r[d]);break}break}}}function Th(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"?V.INT32:r.T;if(!(r.repeat?_h(a,i,o):kh(a,i,o)))return!1;break;case"map":if(!(r.V.kind=="message"?wh(r.V.T(),dc(i),dc(o)):_h(r.V.kind=="enum"?V.INT32:r.V.T,dc(i),dc(o))))return!1;break;case"message":let c=r.T();if(!(r.repeat?wh(c,i,o):c.equals(i,o)))return!1;break}}return!0}var dc=Object.values;function kh(e,t,n){if(t===n)return!0;if(e!==V.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 _h(e,t,n){if(t.length!==n.length)return!1;for(let r=0;r<t.length;r++)if(!kh(e,t[r],n[r]))return!1;return!0}function wh(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 Sh=Object.getOwnPropertyDescriptors(Object.getPrototypeOf({})),$_=Sh[sc]={},N=class{constructor(t,n,r){this.defaultCheckDepth=16,this.typeName=t,this.fields=n.map(yh),this.options=r??{},$_.value=this,this.messagePrototype=Object.create(null,Sh),this.refTypeCheck=new ic(this),this.refJsonReader=new oc(this),this.refJsonWriter=new ac(this),this.refBinReader=new cc(this),this.refBinWriter=new uc(this)}create(t){let n=vh(this);return t!==void 0&&lc(this,n,t),n}clone(t){let n=this.create();return lc(this,n,t),n}equals(t,n){return Th(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){lc(this,t,n)}fromBinary(t,n){let r=ph(n);return this.internalBinaryRead(r.readerFactory(t),t.byteLength,r)}fromJson(t,n){return this.internalJsonRead(t,md(n))}fromJsonString(t,n){let r=JSON.parse(t);return this.fromJson(r,n)}toJson(t,n){return this.internalJsonWrite(t,jo(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=mh(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 ${on(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 Eh=function(e){return e[e.NULL_VALUE=0]="NULL_VALUE",e}({}),q_=class extends N{constructor(){super("google.protobuf.Struct",[{no:1,name:"fields",kind:"map",K:9,V:{kind:"message",T:()=>Qe}}])}internalJsonWrite(e,t){let n={};for(let[r,s]of Object.entries(e.fields))n[r]=Qe.toJson(s);return n}internalJsonRead(e,t,n){if(!hs(e))throw new globalThis.Error("Unable to parse message "+this.typeName+" from JSON "+on(e)+".");n||(n=this.create());for(let[r,s]of globalThis.Object.entries(e))n.fields[r]=Qe.fromJson(s);return n}},Oh=new q_,G_=class extends N{constructor(){super("google.protobuf.Value",[{no:1,name:"null_value",kind:"enum",oneof:"kind",T:()=>["google.protobuf.NullValue",Eh]},{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:()=>Oh},{no:6,name:"list_value",kind:"message",oneof:"kind",T:()=>Ih}])}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:Eh.NULL_VALUE}:globalThis.Array.isArray(e)?n.kind={oneofKind:"listValue",listValue:Ih.fromJson(e)}:n.kind={oneofKind:"structValue",structValue:Oh.fromJson(e)};break;default:throw new globalThis.Error("Unable to parse "+this.typeName+" from JSON "+on(e))}return n}},Qe=new G_,z_=class extends N{constructor(){super("google.protobuf.ListValue",[{no:1,name:"values",kind:"message",repeat:1,T:()=>Qe}])}internalJsonWrite(e,t){return e.values.map(n=>Qe.toJson(n))}internalJsonRead(e,t,n){if(!globalThis.Array.isArray(e))throw new globalThis.Error("Unable to parse "+this.typeName+" from JSON "+on(e));n||(n=this.create());let r=e.map(s=>Qe.fromJson(s));return n.values.push(...r),n}},Ih=new z_;var W_=function(e){return e[e.DATATYPE_KIND_UNKNOWN=0]="DATATYPE_KIND_UNKNOWN",e[e.STRUCT=1]="STRUCT",e[e.ENUM=2]="ENUM",e}({}),xn=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}({}),Po=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}({}),pc=function(e){return e[e.REFERENCE_UNKNOWN=0]="REFERENCE_UNKNOWN",e[e.IMMUTABLE=1]="IMMUTABLE",e[e.MUTABLE=2]="MUTABLE",e}({}),ni=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}({}),H_=class extends N{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:()=>Z_},{no:5,name:"type_origins",kind:"message",repeat:1,T:()=>iw},{no:6,name:"linkage",kind:"message",repeat:1,T:()=>aw}])}},fc=new H_,J_=class extends N{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:()=>gd},{no:4,name:"functions",kind:"message",repeat:1,T:()=>bd}])}},Z_=new J_,K_=class extends N{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",ni]},{no:6,name:"type_parameters",kind:"message",repeat:1,T:()=>xh},{no:7,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.DatatypeDescriptor.DatatypeKind",W_]},{no:8,name:"fields",kind:"message",repeat:1,T:()=>Ch},{no:9,name:"variants",kind:"message",repeat:1,T:()=>ew}])}},gd=new K_,X_=class extends N{constructor(){super("sui.rpc.v2.TypeParameter",[{no:1,name:"constraints",kind:"enum",repeat:1,T:()=>["sui.rpc.v2.Ability",ni]},{no:2,name:"is_phantom",kind:"scalar",opt:!0,T:8}])}},xh=new X_,Y_=class extends N{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:()=>yd}])}},Ch=new Y_,Q_=class extends N{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:()=>Ch}])}},ew=new Q_,tw=class extends N{constructor(){super("sui.rpc.v2.OpenSignatureBody",[{no:1,name:"type",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.OpenSignatureBody.Type",xn]},{no:2,name:"type_name",kind:"scalar",opt:!0,T:9},{no:3,name:"type_parameter_instantiation",kind:"message",repeat:1,T:()=>yd},{no:4,name:"type_parameter",kind:"scalar",opt:!0,T:13}])}},yd=new tw,nw=class extends N{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",Po]},{no:6,name:"is_entry",kind:"scalar",opt:!0,T:8},{no:7,name:"type_parameters",kind:"message",repeat:1,T:()=>xh},{no:8,name:"parameters",kind:"message",repeat:1,T:()=>Ah},{no:9,name:"returns",kind:"message",repeat:1,T:()=>Ah}])}},bd=new nw,rw=class extends N{constructor(){super("sui.rpc.v2.OpenSignature",[{no:1,name:"reference",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.OpenSignature.Reference",pc]},{no:2,name:"body",kind:"message",T:()=>yd}])}},Ah=new rw,sw=class extends N{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}])}},iw=new sw,ow=class extends N{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}])}},aw=new ow;var ri=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}({}),cw=class extends N{constructor(){super("sui.rpc.v2.Owner",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.Owner.OwnerKind",ri]},{no:2,name:"address",kind:"scalar",opt:!0,T:9},{no:3,name:"version",kind:"scalar",opt:!0,T:4,L:0}])}},Lo=new cw;var Zr=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}({}),uw=class extends N{constructor(){super("sui.rpc.v2.Argument",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.Argument.ArgumentKind",Zr]},{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}])}},Wn=new uw;var Hn=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}({}),lw=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}({}),Vo=function(e){return e[e.SOURCE_UNKNOWN=0]="SOURCE_UNKNOWN",e[e.SENDER=1]="SENDER",e[e.SPONSOR=2]="SPONSOR",e}({}),dw=class extends N{constructor(){super("sui.rpc.v2.Input",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.Input.InputKind",Hn]},{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",lw]},{no:8,name:"funds_withdrawal",kind:"message",T:()=>fw},{no:1e3,name:"literal",kind:"message",T:()=>Qe}])}},Nh=new dw,pw=class extends N{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",Vo]}])}},fw=new pw;var mw=class extends N{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=Ce.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 "+on(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=Ce.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}},Rh=new mw;var hw=class extends N{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}])}},mc=new hw,gw=class extends N{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}])}},Mh=new gw;var yw=class extends N{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}])}},Ye=new yw;var bw=class extends N{constructor(){super("sui.rpc.v2.Object",[{no:1,name:"bcs",kind:"message",T:()=>Ye},{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:()=>Lo},{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:()=>Ye},{no:9,name:"package",kind:"message",T:()=>fc},{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:()=>Qe},{no:101,name:"balance",kind:"scalar",opt:!0,T:4,L:0},{no:102,name:"display",kind:"message",T:()=>ww}])}},kr=new bw,vw=class extends N{constructor(){super("sui.rpc.v2.ObjectSet",[{no:1,name:"objects",kind:"message",repeat:1,T:()=>kr}])}},hc=new vw,_w=class extends N{constructor(){super("sui.rpc.v2.Display",[{no:1,name:"output",kind:"message",T:()=>Qe},{no:2,name:"errors",kind:"message",T:()=>Qe}])}},ww=new _w;var Tw=class extends N{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=Ce.from(Math.floor(t/1e3)).toBigInt(),e.nanos=t%1e3*1e6,e}toDate(e){return new Date(Ce.from(e.seconds).toNumber()*1e3+Math.ceil(e.nanos/1e6))}fromDate(e){let t=this.create(),n=e.getTime();return t.seconds=Ce.from(Math.floor(n/1e3)).toBigInt(),t.nanos=(n%1e3+(n<0&&n%1e3!==0?1e3:0))*1e6,t}internalJsonWrite(e,t){let n=Ce.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 "+on(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=Ce.from(s/1e3).toBigInt(),n.nanos=0,r[7]&&(n.nanos=parseInt("1"+r[7]+"0".repeat(9-r[7].length))-1e9),n}},fn=new Tw;var kw=class extends N{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}])}},gc=new kw;var bs=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}({}),Sw=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}({}),Ew=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}({}),Ow=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}({}),Iw=class extends N{constructor(){super("sui.rpc.v2.Transaction",[{no:1,name:"bcs",kind:"message",T:()=>Ye},{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:()=>Mw},{no:5,name:"sender",kind:"scalar",opt:!0,T:9},{no:6,name:"gas_payment",kind:"message",T:()=>xw},{no:7,name:"expiration",kind:"message",T:()=>Nw}])}},Sr=new Iw,Aw=class extends N{constructor(){super("sui.rpc.v2.GasPayment",[{no:1,name:"objects",kind:"message",repeat:1,T:()=>gc},{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}])}},xw=new Aw,Cw=class extends N{constructor(){super("sui.rpc.v2.TransactionExpiration",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.TransactionExpiration.TransactionExpirationKind",bs]},{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:()=>fn},{no:5,name:"max_timestamp",kind:"message",T:()=>fn},{no:6,name:"chain",kind:"scalar",opt:!0,T:9},{no:7,name:"nonce",kind:"scalar",opt:!0,T:13}])}},Nw=new Cw,Rw=class extends N{constructor(){super("sui.rpc.v2.TransactionKind",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.TransactionKind.Kind",Sw]},{no:2,name:"programmable_transaction",kind:"message",oneof:"data",T:()=>jw},{no:3,name:"change_epoch",kind:"message",oneof:"data",T:()=>jh},{no:4,name:"genesis",kind:"message",oneof:"data",T:()=>rT},{no:5,name:"consensus_commit_prologue",kind:"message",oneof:"data",T:()=>iT},{no:6,name:"authenticator_state_update",kind:"message",oneof:"data",T:()=>fT},{no:7,name:"end_of_epoch",kind:"message",oneof:"data",T:()=>gT},{no:8,name:"randomness_state_update",kind:"message",oneof:"data",T:()=>Yw}])}},Mw=new Rw,Bw=class extends N{constructor(){super("sui.rpc.v2.ProgrammableTransaction",[{no:1,name:"inputs",kind:"message",repeat:1,T:()=>Nh},{no:2,name:"commands",kind:"message",repeat:1,T:()=>Uw}])}},jw=new Bw,Dw=class extends N{constructor(){super("sui.rpc.v2.Command",[{no:1,name:"move_call",kind:"message",oneof:"command",T:()=>Bh},{no:2,name:"transfer_objects",kind:"message",oneof:"command",T:()=>Vw},{no:3,name:"split_coins",kind:"message",oneof:"command",T:()=>$w},{no:4,name:"merge_coins",kind:"message",oneof:"command",T:()=>Gw},{no:5,name:"publish",kind:"message",oneof:"command",T:()=>Ww},{no:6,name:"make_move_vector",kind:"message",oneof:"command",T:()=>Jw},{no:7,name:"upgrade",kind:"message",oneof:"command",T:()=>Kw}])}},Uw=new Dw,Pw=class extends N{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:()=>Wn}])}},Bh=new Pw,Lw=class extends N{constructor(){super("sui.rpc.v2.TransferObjects",[{no:1,name:"objects",kind:"message",repeat:1,T:()=>Wn},{no:2,name:"address",kind:"message",T:()=>Wn}])}},Vw=new Lw,Fw=class extends N{constructor(){super("sui.rpc.v2.SplitCoins",[{no:1,name:"coin",kind:"message",T:()=>Wn},{no:2,name:"amounts",kind:"message",repeat:1,T:()=>Wn}])}},$w=new Fw,qw=class extends N{constructor(){super("sui.rpc.v2.MergeCoins",[{no:1,name:"coin",kind:"message",T:()=>Wn},{no:2,name:"coins_to_merge",kind:"message",repeat:1,T:()=>Wn}])}},Gw=new qw,zw=class extends N{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}])}},Ww=new zw,Hw=class extends N{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:()=>Wn}])}},Jw=new Hw,Zw=class extends N{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:()=>Wn}])}},Kw=new Zw,Xw=class extends N{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}])}},Yw=new Xw,Qw=class extends N{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:()=>fn},{no:8,name:"system_packages",kind:"message",repeat:1,T:()=>tT}])}},jh=new Qw,eT=class extends N{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}])}},tT=new eT,nT=class extends N{constructor(){super("sui.rpc.v2.GenesisTransaction",[{no:1,name:"objects",kind:"message",repeat:1,T:()=>kr}])}},rT=new nT,sT=class extends N{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:()=>fn},{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:()=>dT},{no:7,name:"additional_state_digest",kind:"scalar",opt:!0,T:9}])}},iT=new sT,oT=class extends N{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}])}},aT=new oT,cT=class extends N{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:()=>aT}])}},uT=new cT,lT=class extends N{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:()=>uT}])}},dT=new lT,pT=class extends N{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:()=>vd},{no:4,name:"authenticator_object_initial_shared_version",kind:"scalar",opt:!0,T:4,L:0}])}},fT=new pT,mT=class extends N{constructor(){super("sui.rpc.v2.ActiveJwk",[{no:1,name:"id",kind:"message",T:()=>mc},{no:2,name:"jwk",kind:"message",T:()=>Mh},{no:3,name:"epoch",kind:"scalar",opt:!0,T:4,L:0}])}},vd=new mT,hT=class extends N{constructor(){super("sui.rpc.v2.EndOfEpochTransaction",[{no:1,name:"transactions",kind:"message",repeat:1,T:()=>bT}])}},gT=new hT,yT=class extends N{constructor(){super("sui.rpc.v2.EndOfEpochTransactionKind",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.EndOfEpochTransactionKind.Kind",Ew]},{no:2,name:"change_epoch",kind:"message",oneof:"data",T:()=>jh},{no:3,name:"authenticator_state_expire",kind:"message",oneof:"data",T:()=>_T},{no:4,name:"execution_time_observations",kind:"message",oneof:"data",T:()=>TT},{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}])}},bT=new yT,vT=class extends N{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}])}},_T=new vT,wT=class extends N{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:()=>ST}])}},TT=new wT,kT=class extends N{constructor(){super("sui.rpc.v2.ExecutionTimeObservation",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.ExecutionTimeObservation.ExecutionTimeObservationKind",Ow]},{no:2,name:"move_entry_point",kind:"message",T:()=>Bh},{no:3,name:"validator_observations",kind:"message",repeat:1,T:()=>OT}])}},ST=new kT,ET=class extends N{constructor(){super("sui.rpc.v2.ValidatorExecutionTimeObservation",[{no:1,name:"validator",kind:"scalar",opt:!0,T:12},{no:2,name:"duration",kind:"message",T:()=>Rh}])}},OT=new ET;function IT(e){switch(e.$kind){case"Pure":return{kind:Hn.PURE,pure:ie(e.Pure.bytes)};case"Object":if(e.Object.$kind==="ImmOrOwnedObject")return{kind:Hn.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:Hn.SHARED,objectId:e.Object.SharedObject.objectId,version:BigInt(e.Object.SharedObject.initialSharedVersion),mutable:e.Object.SharedObject.mutable};if(e.Object.$kind==="Receiving")return{kind:Hn.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:Hn.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"?Vo.SPONSOR:Vo.SENDER}}}default:throw new Error(`Unknown CallArg kind: ${JSON.stringify(e)}`)}}function Kr(e){if("GasCoin"in e)return{kind:Zr.GAS};if("Input"in e)return{kind:Zr.INPUT,input:e.Input};if("Result"in e)return{kind:Zr.RESULT,result:e.Result};if("NestedResult"in e)return{kind:Zr.RESULT,result:e.NestedResult[0],subresult:e.NestedResult[1]};throw new Error(`Unknown Argument: ${JSON.stringify(e)}`)}function AT(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(Kr)}}};case"TransferObjects":return{command:{oneofKind:"transferObjects",transferObjects:{objects:e.TransferObjects.objects.map(Kr),address:Kr(e.TransferObjects.address)}}};case"SplitCoins":return{command:{oneofKind:"splitCoins",splitCoins:{coin:Kr(e.SplitCoins.coin),amounts:e.SplitCoins.amounts.map(Kr)}}};case"MergeCoins":return{command:{oneofKind:"mergeCoins",mergeCoins:{coin:Kr(e.MergeCoins.destination),coinsToMerge:e.MergeCoins.sources.map(Kr)}}};case"Publish":return{command:{oneofKind:"publish",publish:{modules:e.Publish.modules.map(t=>ie(t)),dependencies:e.Publish.dependencies}}};case"MakeMoveVec":return{command:{oneofKind:"makeMoveVector",makeMoveVector:{elementType:e.MakeMoveVec.type??void 0,elements:e.MakeMoveVec.elements.map(Kr)}}};case"Upgrade":return{command:{oneofKind:"upgrade",upgrade:{modules:e.Upgrade.modules.map(t=>ie(t)),dependencies:e.Upgrade.dependencies,package:e.Upgrade.package,ticket:Kr(e.Upgrade.ticket)}}};default:throw new Error(`Unknown Command kind: ${JSON.stringify(e)}`)}}function Fo(e){let t={version:1,kind:{data:{oneofKind:"programmableTransaction",programmableTransaction:{inputs:e.inputs.map(IT),commands:e.commands.map(AT)}}}};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:bs.NONE};else if(e.expiration.$kind==="Epoch")t.expiration={kind:bs.EPOCH,epoch:BigInt(e.expiration.Epoch)};else if(e.expiration.$kind==="ValidDuring"){let r=e.expiration.ValidDuring;t.expiration={kind:bs.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 Dh(e,t,n){let r=$o(t);n?.onlyTransactionKind?e.applyResolvedData({...r,gasData:{budget:null,owner:null,payment:null,price:null},expiration:null}):e.applyResolvedData(r)}function _d(e){let t=e.getData();return t.sender||(t.sender="0x0000000000000000000000000000000000000000000000000000000000000000"),Fo(t)}function Uh(e){let t=_d(e);return Sr.toJson(t)}function xT(e){switch(e.kind){case Hn.PURE:return{$kind:"Pure",Pure:{bytes:ye(e.pure)}};case Hn.IMMUTABLE_OR_OWNED:return{$kind:"Object",Object:{$kind:"ImmOrOwnedObject",ImmOrOwnedObject:{objectId:e.objectId,version:e.version.toString(),digest:e.digest}}};case Hn.SHARED:return{$kind:"Object",Object:{$kind:"SharedObject",SharedObject:{objectId:e.objectId,initialSharedVersion:e.version.toString(),mutable:e.mutable??!1}}};case Hn.RECEIVING:return{$kind:"Object",Object:{$kind:"Receiving",Receiving:{objectId:e.objectId,version:e.version.toString(),digest:e.digest}}};case Hn.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===Vo.SPONSOR?{$kind:"Sponsor",Sponsor:!0}:{$kind:"Sender",Sender:!0}}};default:throw new Error(`Unknown Input kind: ${JSON.stringify(e)}`)}}function Xr(e){switch(e.kind){case Zr.GAS:return{$kind:"GasCoin",GasCoin:!0};case Zr.INPUT:return{$kind:"Input",Input:e.input};case Zr.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 CT(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(Xr)}};case"transferObjects":return{$kind:"TransferObjects",TransferObjects:{objects:t.transferObjects.objects.map(Xr),address:Xr(t.transferObjects.address)}};case"splitCoins":return{$kind:"SplitCoins",SplitCoins:{coin:Xr(t.splitCoins.coin),amounts:t.splitCoins.amounts.map(Xr)}};case"mergeCoins":return{$kind:"MergeCoins",MergeCoins:{destination:Xr(t.mergeCoins.coin),sources:t.mergeCoins.coinsToMerge.map(Xr)}};case"publish":return{$kind:"Publish",Publish:{modules:t.publish.modules.map(n=>ye(n)),dependencies:t.publish.dependencies??[]}};case"makeMoveVector":return{$kind:"MakeMoveVec",MakeMoveVec:{type:t.makeMoveVector.elementType??null,elements:t.makeMoveVector.elements.map(Xr)}};case"upgrade":return{$kind:"Upgrade",Upgrade:{modules:t.upgrade.modules.map(n=>ye(n)),dependencies:t.upgrade.dependencies??[],package:t.upgrade.package,ticket:Xr(t.upgrade.ticket)}};default:throw new Error(`Unknown Command kind: ${JSON.stringify(t)}`)}}function $o(e){let t=e.kind?.data;if(t?.oneofKind!=="programmableTransaction")throw new Error("Only programmable transactions are supported");let n=t.programmableTransaction.inputs.map(xT),r=t.programmableTransaction.commands.map(CT),s=null;if(e.expiration)switch(e.expiration.kind){case bs.NONE:s={$kind:"None",None:!0};break;case bs.EPOCH:s={$kind:"Epoch",Epoch:e.expiration.epoch.toString()};break;case bs.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 NT=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}({}),wd=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}({}),RT=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}({}),MT=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}({}),BT=class extends N{constructor(){super("sui.rpc.v2.ExecutionStatus",[{no:1,name:"success",kind:"scalar",opt:!0,T:8},{no:2,name:"error",kind:"message",T:()=>DT}])}},Ph=new BT,jT=class extends N{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",NT]},{no:4,name:"abort",kind:"message",oneof:"errorDetails",T:()=>PT},{no:5,name:"size_error",kind:"message",oneof:"errorDetails",T:()=>GT},{no:6,name:"command_argument_error",kind:"message",oneof:"errorDetails",T:()=>XT},{no:7,name:"type_argument_error",kind:"message",oneof:"errorDetails",T:()=>tk},{no:8,name:"package_upgrade_error",kind:"message",oneof:"errorDetails",T:()=>QT},{no:9,name:"index_error",kind:"message",oneof:"errorDetails",T:()=>Lh},{no:10,name:"object_id",kind:"scalar",oneof:"errorDetails",T:9},{no:11,name:"coin_deny_list_error",kind:"message",oneof:"errorDetails",T:()=>HT},{no:12,name:"congested_objects",kind:"message",oneof:"errorDetails",T:()=>ZT}])}},DT=new jT,UT=class extends N{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:()=>VT},{no:3,name:"clever_error",kind:"message",T:()=>$T}])}},PT=new UT,LT=class extends N{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}])}},VT=new LT,FT=class extends N{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}])}},$T=new FT,qT=class extends N{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}])}},GT=new qT,zT=class extends N{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}])}},Lh=new zT,WT=class extends N{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}])}},HT=new WT,JT=class extends N{constructor(){super("sui.rpc.v2.CongestedObjects",[{no:1,name:"objects",kind:"scalar",repeat:2,T:9}])}},ZT=new JT,KT=class extends N{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",wd]},{no:3,name:"index_error",kind:"message",T:()=>Lh}])}},XT=new KT,YT=class extends N{constructor(){super("sui.rpc.v2.PackageUpgradeError",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.PackageUpgradeError.PackageUpgradeErrorKind",RT]},{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}])}},QT=new YT,ek=class extends N{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",MT]}])}},tk=new ek;var nk=class extends N{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}])}},yc=new nk;var qo=function(e){return e[e.UNKNOWN=0]="UNKNOWN",e[e.DOES_NOT_EXIST=1]="DOES_NOT_EXIST",e[e.EXISTS=2]="EXISTS",e}({}),si=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}({}),zi=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}({}),rk=function(e){return e[e.ACCUMULATOR_OPERATION_UNKNOWN=0]="ACCUMULATOR_OPERATION_UNKNOWN",e[e.MERGE=1]="MERGE",e[e.SPLIT=2]="SPLIT",e}({}),vs=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}({}),sk=class extends N{constructor(){super("sui.rpc.v2.TransactionEffects",[{no:1,name:"bcs",kind:"message",T:()=>Ye},{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:()=>Ph},{no:5,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:6,name:"gas_used",kind:"message",T:()=>yc},{no:7,name:"transaction_digest",kind:"scalar",opt:!0,T:9},{no:8,name:"gas_object",kind:"message",T:()=>Vh},{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:()=>Vh},{no:13,name:"unchanged_consensus_objects",kind:"message",repeat:1,T:()=>uk},{no:14,name:"auxiliary_data_digest",kind:"scalar",opt:!0,T:9},{no:15,name:"unchanged_loaded_runtime_objects",kind:"message",repeat:1,T:()=>gc}])}},bc=new sk,ik=class extends N{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",qo,"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:()=>Lo},{no:6,name:"output_state",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.ChangedObject.OutputObjectState",si,"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:()=>Lo},{no:12,name:"accumulator_write",kind:"message",T:()=>ak},{no:10,name:"id_operation",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.ChangedObject.IdOperation",zi]},{no:11,name:"object_type",kind:"scalar",opt:!0,T:9}])}},Vh=new ik,ok=class extends N{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",rk]},{no:5,name:"value",kind:"scalar",opt:!0,T:4,L:0}])}},ak=new ok,ck=class extends N{constructor(){super("sui.rpc.v2.UnchangedConsensusObject",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.UnchangedConsensusObject.UnchangedConsensusObjectKind",vs]},{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}])}},uk=new ck;var Go=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 lk=class extends N{constructor(){super("sui.rpc.v2.UserSignature",[{no:1,name:"bcs",kind:"message",T:()=>Ye},{no:2,name:"scheme",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.SignatureScheme",Go]},{no:3,name:"simple",kind:"message",oneof:"signature",T:()=>Td},{no:4,name:"multisig",kind:"message",oneof:"signature",T:()=>_k},{no:5,name:"zklogin",kind:"message",oneof:"signature",T:()=>qh},{no:6,name:"passkey",kind:"message",oneof:"signature",T:()=>Gh}])}},_s=new lk,dk=class extends N{constructor(){super("sui.rpc.v2.SimpleSignature",[{no:1,name:"scheme",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.SignatureScheme",Go]},{no:2,name:"signature",kind:"scalar",opt:!0,T:12},{no:3,name:"public_key",kind:"scalar",opt:!0,T:12}])}},Td=new dk,pk=class extends N{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}])}},$h=new pk,fk=class extends N{constructor(){super("sui.rpc.v2.MultisigMemberPublicKey",[{no:1,name:"scheme",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.SignatureScheme",Go]},{no:2,name:"public_key",kind:"scalar",opt:!0,T:12},{no:3,name:"zklogin",kind:"message",T:()=>$h}])}},mk=new fk,hk=class extends N{constructor(){super("sui.rpc.v2.MultisigMember",[{no:1,name:"public_key",kind:"message",T:()=>mk},{no:2,name:"weight",kind:"scalar",opt:!0,T:13}])}},gk=new hk,yk=class extends N{constructor(){super("sui.rpc.v2.MultisigCommittee",[{no:1,name:"members",kind:"message",repeat:1,T:()=>gk},{no:2,name:"threshold",kind:"scalar",opt:!0,T:13}])}},bk=new yk,vk=class extends N{constructor(){super("sui.rpc.v2.MultisigAggregatedSignature",[{no:1,name:"signatures",kind:"message",repeat:1,T:()=>Tk},{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:()=>bk}])}},_k=new vk,wk=class extends N{constructor(){super("sui.rpc.v2.MultisigMemberSignature",[{no:1,name:"scheme",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.SignatureScheme",Go]},{no:2,name:"signature",kind:"scalar",opt:!0,T:12},{no:3,name:"zklogin",kind:"message",T:()=>qh},{no:4,name:"passkey",kind:"message",T:()=>Gh}])}},Tk=new wk,kk=class extends N{constructor(){super("sui.rpc.v2.ZkLoginAuthenticator",[{no:1,name:"inputs",kind:"message",T:()=>Ek},{no:2,name:"max_epoch",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"signature",kind:"message",T:()=>Td},{no:4,name:"public_identifier",kind:"message",T:()=>$h},{no:5,name:"jwk_id",kind:"message",T:()=>mc}])}},qh=new kk,Sk=class extends N{constructor(){super("sui.rpc.v2.ZkLoginInputs",[{no:1,name:"proof_points",kind:"message",T:()=>Ik},{no:2,name:"iss_base64_details",kind:"message",T:()=>xk},{no:3,name:"header_base64",kind:"scalar",opt:!0,T:9},{no:4,name:"address_seed",kind:"scalar",opt:!0,T:9}])}},Ek=new Sk,Ok=class extends N{constructor(){super("sui.rpc.v2.ZkLoginProof",[{no:1,name:"a",kind:"message",T:()=>Fh},{no:2,name:"b",kind:"message",T:()=>Rk},{no:3,name:"c",kind:"message",T:()=>Fh}])}},Ik=new Ok,Ak=class extends N{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}])}},xk=new Ak,Ck=class extends N{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}])}},Fh=new Ck,Nk=class extends N{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}])}},Rk=new Nk,Mk=class extends N{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:()=>Td}])}},Gh=new Mk,Bk=class extends N{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:()=>kd}])}},zh=new Bk,jk=class extends N{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}])}},kd=new jk,Dk=class extends N{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}])}},Wh=new Dk;var Uk=class extends N{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}])}},vc=new Uk;var Pk=class extends N{constructor(){super("sui.rpc.v2.TransactionEvents",[{no:1,name:"bcs",kind:"message",T:()=>Ye},{no:2,name:"digest",kind:"scalar",opt:!0,T:9},{no:3,name:"events",kind:"message",repeat:1,T:()=>Vk}])}},Hh=new Pk,Lk=class extends N{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:()=>Ye},{no:6,name:"json",kind:"message",T:()=>Qe}])}},Vk=new Lk;var Fk=class extends N{constructor(){super("sui.rpc.v2.ExecutedTransaction",[{no:1,name:"digest",kind:"scalar",opt:!0,T:9},{no:2,name:"transaction",kind:"message",T:()=>Sr},{no:3,name:"signatures",kind:"message",repeat:1,T:()=>_s},{no:4,name:"effects",kind:"message",T:()=>bc},{no:5,name:"events",kind:"message",T:()=>Hh},{no:6,name:"checkpoint",kind:"scalar",opt:!0,T:4,L:0},{no:7,name:"timestamp",kind:"message",T:()=>fn},{no:8,name:"balance_changes",kind:"message",repeat:1,T:()=>vc},{no:9,name:"objects",kind:"message",T:()=>hc}])}},ws=new Fk;var $k=class extends N{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 ys(r)}).join(",")}internalJsonRead(e,t,n){if(typeof e!="string")throw new Error("Unable to parse FieldMask from JSON "+on(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}},wn=new $k;function Jh(e,t){var n,r,s;let i=e;return i.service=t,i.localName=(n=i.localName)!==null&&n!==void 0?n:ys(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 an=class{constructor(t,n,r){this.typeName=t,this.methods=n.map(s=>Jh(s,this)),this.options=r??{}}};var je=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(`
|
|
9
|
-
`)}};function Sd(e,t){if(!t)return e;let n={};_c(e,n),_c(t,n);for(let r of Object.keys(t)){let s=t[r];switch(r){case"jsonOptions":n.jsonOptions=hd(e.jsonOptions,n.jsonOptions);break;case"binaryOptions":n.binaryOptions=cd(e.binaryOptions,n.binaryOptions);break;case"meta":n.meta={},_c(e.meta,n.meta),_c(t.meta,n.meta);break;case"interceptors":n.interceptors=e.interceptors?e.interceptors.concat(s):s.concat();break}}return n}function _c(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 Cn;(function(e){e[e.PENDING=0]="PENDING",e[e.REJECTED=1]="REJECTED",e[e.RESOLVED=2]="RESOLVED"})(Cn||(Cn={}));var Vn=class{constructor(t=!0){this._state=Cn.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!==Cn.PENDING)throw new Error(`cannot resolve ${Cn[this.state].toLowerCase()}`);this._resolve(t),this._state=Cn.RESOLVED}reject(t){if(this.state!==Cn.PENDING)throw new Error(`cannot reject ${Cn[this.state].toLowerCase()}`);this._reject(t),this._state=Cn.REJECTED}resolvePending(t){this._state===Cn.PENDING&&this.resolve(t)}rejectPending(t){this._state===Cn.PENDING&&this.reject(t)}};var zo=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){Oe((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){Oe(!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){Oe(!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(){Oe(!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;Oe(t,"bad state"),Oe(!t.p,"iterator contract broken");let n=t.q.shift();return n?"value"in n?Promise.resolve(n):Promise.reject(n):(t.p=new Vn,t.p.promise)}}}pushIt(t){let n=this._itState;if(n.p){let r=n.p;Oe(r.state==Cn.PENDING,"iterator contract broken"),"value"in t?r.resolve(t):r.reject(t),delete n.p}else n.q.push(t)}};var qk=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(d){try{u(r.next(d))}catch(p){o(p)}}function c(d){try{u(r.throw(d))}catch(p){o(p)}}function u(d){d.done?i(d.value):s(d.value).then(a,c)}u((r=r.apply(e,t||[])).next())})},Wo=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 qk(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 Gk=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(d){try{u(r.next(d))}catch(p){o(p)}}function c(d){try{u(r.throw(d))}catch(p){o(p)}}function u(d){d.done?i(d.value):s(d.value).then(a,c)}u((r=r.apply(e,t||[])).next())})},Ho=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 Gk(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 Ue(e,t,n,r,s){var i,o,a,c;if(e=="unary"){let u=(d,p,f)=>t.unary(d,p,f);for(let d of((i=r.interceptors)!==null&&i!==void 0?i:[]).filter(p=>p.interceptUnary).reverse()){let p=u;u=(f,g,b)=>d.interceptUnary(p,f,g,b)}return u(n,s,r)}if(e=="serverStreaming"){let u=(d,p,f)=>t.serverStreaming(d,p,f);for(let d of((o=r.interceptors)!==null&&o!==void 0?o:[]).filter(p=>p.interceptServerStreaming).reverse()){let p=u;u=(f,g,b)=>d.interceptServerStreaming(p,f,g,b)}return u(n,s,r)}if(e=="clientStreaming"){let u=(d,p)=>t.clientStreaming(d,p);for(let d of((a=r.interceptors)!==null&&a!==void 0?a:[]).filter(p=>p.interceptClientStreaming).reverse()){let p=u;u=(f,g)=>d.interceptClientStreaming(p,f,g)}return u(n,r)}if(e=="duplex"){let u=(d,p)=>t.duplex(d,p);for(let d of((c=r.interceptors)!==null&&c!==void 0?c:[]).filter(p=>p.interceptDuplex).reverse()){let p=u;u=(f,g)=>d.interceptDuplex(p,f,g)}return u(n,r)}pd(e)}var wc=function(e){return e[e.ENABLED=0]="ENABLED",e[e.DISABLED=1]="DISABLED",e}({}),zk=class extends N{constructor(){super("sui.rpc.v2.ExecuteTransactionRequest",[{no:1,name:"transaction",kind:"message",T:()=>Sr},{no:2,name:"signatures",kind:"message",repeat:1,T:()=>_s},{no:3,name:"read_mask",kind:"message",T:()=>wn}])}},Wk=new zk,Hk=class extends N{constructor(){super("sui.rpc.v2.ExecuteTransactionResponse",[{no:1,name:"transaction",kind:"message",T:()=>ws}])}},Jk=new Hk,Zk=class extends N{constructor(){super("sui.rpc.v2.SimulateTransactionRequest",[{no:1,name:"transaction",kind:"message",T:()=>Sr},{no:2,name:"read_mask",kind:"message",T:()=>wn},{no:3,name:"checks",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.SimulateTransactionRequest.TransactionChecks",wc]},{no:4,name:"do_gas_selection",kind:"scalar",opt:!0,T:8}])}},Kk=new Zk,Xk=class extends N{constructor(){super("sui.rpc.v2.SimulateTransactionResponse",[{no:1,name:"transaction",kind:"message",T:()=>ws},{no:2,name:"command_outputs",kind:"message",repeat:1,T:()=>e1},{no:3,name:"suggested_gas_price",kind:"scalar",opt:!0,T:4,L:0}])}},Yk=new Xk,Qk=class extends N{constructor(){super("sui.rpc.v2.CommandResult",[{no:1,name:"return_values",kind:"message",repeat:1,T:()=>Zh},{no:2,name:"mutated_by_ref",kind:"message",repeat:1,T:()=>Zh}])}},e1=new Qk,t1=class extends N{constructor(){super("sui.rpc.v2.CommandOutput",[{no:1,name:"argument",kind:"message",T:()=>Wn},{no:2,name:"value",kind:"message",T:()=>Ye},{no:3,name:"json",kind:"message",T:()=>Qe}])}},Zh=new t1,Tc=new an("sui.rpc.v2.TransactionExecutionService",[{name:"ExecuteTransaction",options:{},I:Wk,O:Jk},{name:"SimulateTransaction",options:{},I:Kk,O:Yk}]);var tg=class extends Li{#e;constructor({client:e,...t}){super(t),this.#e=e}async getObjects(e){let t=Gn(e.objectIds,50),n=[],r=["owner","object_type","digest","version","object_id"];e.include?.content&&r.push("contents"),e.include?.previousTransaction&&r.push("previous_transaction"),e.include?.objectBcs&&r.push("bcs"),e.include?.json&&r.push("json"),e.include?.display&&r.push("display");for(let s of t){let i=await this.#e.ledgerService.batchGetObjects({requests:s.map(o=>({objectId:o})),readMask:{paths:r}});n.push(...i.response.objects.map(o=>{if(o.result.oneofKind==="error")return new Error(o.result.error.message);if(o.result.oneofKind!=="object")return new Error("Unexpected result type");let a=o.result.object.contents?.value??void 0,c=o.result.object.bcs?.value??void 0,u=o.result.object.objectType,d=u&&u.includes("::")?be(u):u??"",p=e.include?.json?o.result.object.json?Qe.toJson(o.result.object.json):null:void 0,f=Kh(e.include?.display,o.result.object.display);return{objectId:o.result.object.objectId,version:o.result.object.version?.toString(),digest:o.result.object.digest,content:a,owner:oi(o.result.object.owner),type:d,previousTransaction:o.result.object.previousTransaction??void 0,objectBcs:c,json:p,display:f}}))}return{objects:n}}async listOwnedObjects(e){let t=["owner","object_type","digest","version","object_id"];e.include?.content&&t.push("contents"),e.include?.previousTransaction&&t.push("previous_transaction"),e.include?.objectBcs&&t.push("bcs"),e.include?.json&&t.push("json"),e.include?.display&&t.push("display");let n=await this.#e.stateService.listOwnedObjects({owner:e.owner,objectType:e.type?(await this.mvr.resolveType({type:e.type})).type:void 0,pageToken:e.cursor?ie(e.cursor):void 0,pageSize:e.limit,readMask:{paths:t}});return{objects:n.response.objects.map(r=>({objectId:r.objectId,version:r.version?.toString(),digest:r.digest,content:r.contents?.value,owner:oi(r.owner),type:r.objectType,previousTransaction:r.previousTransaction??void 0,objectBcs:r.bcs?.value,json:e.include?.json?r.json?Qe.toJson(r.json):null:void 0,display:Kh(e.include?.display,r.display)})),cursor:n.response.nextPageToken?ye(n.response.nextPageToken):null,hasNextPage:n.response.nextPageToken!==void 0}}async listCoins(e){let t=["owner","object_type","digest","version","object_id","balance"],n=e.coinType??zn,r=await this.#e.stateService.listOwnedObjects({owner:e.owner,objectType:`0x2::coin::Coin<${(await this.mvr.resolveType({type:n})).type}>`,pageToken:e.cursor?ie(e.cursor):void 0,readMask:{paths:t}});return{objects:r.response.objects.map(s=>({objectId:s.objectId,version:s.version?.toString(),digest:s.digest,owner:oi(s.owner),type:s.objectType,balance:s.balance?.toString()})),cursor:r.response.nextPageToken?ye(r.response.nextPageToken):null,hasNextPage:r.response.nextPageToken!==void 0}}async getBalance(e){let t=e.coinType??zn,n=await this.#e.stateService.getBalance({owner:e.owner,coinType:(await this.mvr.resolveType({type:t})).type});return{balance:{balance:n.response.balance?.balance?.toString()??"0",coinType:n.response.balance?.coinType??t,coinBalance:n.response.balance?.coinBalance?.toString()??"0",addressBalance:n.response.balance?.addressBalance?.toString()??"0"}}}async getCoinMetadata(e){let t=(await this.mvr.resolveType({type:e.coinType})).type,n;try{({response:n}=await this.#e.stateService.getCoinInfo({coinType:t}))}catch{return{coinMetadata:null}}return n.metadata?{coinMetadata:{id:n.metadata.id??null,decimals:n.metadata.decimals??0,name:n.metadata.name??"",symbol:n.metadata.symbol??"",description:n.metadata.description??"",iconUrl:n.metadata.iconUrl??null}}:{coinMetadata:null}}async listBalances(e){let t=await this.#e.stateService.listBalances({owner:e.owner,pageToken:e.cursor?ie(e.cursor):void 0,pageSize:e.limit});return{hasNextPage:!!t.response.nextPageToken,cursor:t.response.nextPageToken?ye(t.response.nextPageToken):null,balances:t.response.balances.map(n=>({balance:n.balance?.toString()??"0",coinType:n.coinType,coinBalance:n.coinBalance?.toString()??"0",addressBalance:n.addressBalance?.toString()??"0"}))}}async getTransaction(e){let t=["digest","transaction.digest","signatures","effects.status"];e.include?.transaction&&t.push("transaction.sender","transaction.gas_payment","transaction.expiration","transaction.kind"),e.include?.bcs&&t.push("transaction.bcs"),e.include?.balanceChanges&&t.push("balance_changes"),e.include?.effects&&t.push("effects"),e.include?.events&&t.push("events"),e.include?.objectTypes&&(t.push("effects.changed_objects.object_type"),t.push("effects.changed_objects.object_id"));let{response:n}=await this.#e.ledgerService.getTransaction({digest:e.digest,readMask:{paths:t}});if(!n.transaction)throw new Error(`Transaction ${e.digest} not found`);return Ed(n.transaction,e.include)}async executeTransaction(e){let t=["digest","transaction.digest","signatures","effects.status"];e.include?.transaction&&t.push("transaction.sender","transaction.gas_payment","transaction.expiration","transaction.kind"),e.include?.bcs&&t.push("transaction.bcs"),e.include?.balanceChanges&&t.push("balance_changes"),e.include?.effects&&t.push("effects"),e.include?.events&&t.push("events"),e.include?.objectTypes&&(t.push("effects.changed_objects.object_type"),t.push("effects.changed_objects.object_id"));let{response:n}=await this.#e.transactionExecutionService.executeTransaction({transaction:{bcs:{value:e.transaction}},signatures:e.signatures.map(r=>({bcs:{value:ie(r)},signature:{oneofKind:void 0}})),readMask:{paths:t}});return Ed(n.transaction,e.include)}async simulateTransaction(e){let t=["transaction.digest","transaction.transaction.digest","transaction.signatures","transaction.effects.status"];e.include?.transaction&&t.push("transaction.transaction.sender","transaction.transaction.gas_payment","transaction.transaction.expiration","transaction.transaction.kind"),e.include?.bcs&&t.push("transaction.transaction.bcs"),e.include?.balanceChanges&&t.push("transaction.balance_changes"),e.include?.effects&&t.push("transaction.effects"),e.include?.events&&t.push("transaction.events"),e.include?.objectTypes&&(t.push("transaction.effects.changed_objects.object_type"),t.push("transaction.effects.changed_objects.object_id")),e.include?.commandResults&&t.push("command_outputs"),e.transaction instanceof Uint8Array||await e.transaction.prepareForSerialization({client:this});let{response:n}=await this.#e.transactionExecutionService.simulateTransaction({transaction:e.transaction instanceof Uint8Array?{bcs:{value:e.transaction}}:_d(e.transaction),readMask:{paths:t},doGasSelection:!1,checks:e.checksEnabled===!1?wc.DISABLED:wc.ENABLED}),r=Ed(n.transaction,e.include),s=e.include?.commandResults&&n.commandOutputs?n.commandOutputs.map(i=>({returnValues:(i.returnValues??[]).map(o=>({bcs:o.value?.value??null})),mutatedReferences:(i.mutatedByRef??[]).map(o=>({bcs:o.value?.value??null}))})):void 0;return r.$kind==="Transaction"?{$kind:"Transaction",Transaction:r.Transaction,commandResults:s}:{$kind:"FailedTransaction",FailedTransaction:r.FailedTransaction,commandResults:s}}async getReferenceGasPrice(){return{referenceGasPrice:(await this.#e.ledgerService.getEpoch({readMask:{paths:["reference_gas_price"]}})).response.epoch?.referenceGasPrice?.toString()??""}}async getProtocolConfig(){let e=(await this.#e.ledgerService.getEpoch({readMask:{paths:["protocol_config"]}})).response.epoch?.protocolConfig;if(!e)throw new Error("Protocol config not found in response");let t={...e.featureFlags},n={};if(e.attributes)for(let[r,s]of Object.entries(e.attributes))n[r]=s??null;return{protocolConfig:{protocolVersion:e.protocolVersion?.toString()??null,featureFlags:t,attributes:n}}}async getCurrentSystemState(){let e=(await this.#e.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,t=e?.systemState;if(!t)throw new Error("System state not found in response");let n=e?.start?.seconds?Number(e.start.seconds)*1e3+Math.floor((e.start.nanos||0)/1e6):t.epochStartTimestampMs?Number(t.epochStartTimestampMs):null;return{systemState:{systemStateVersion:t.version?.toString()??null,epoch:t.epoch?.toString()??null,protocolVersion:t.protocolVersion?.toString()??null,referenceGasPrice:t.referenceGasPrice?.toString()??null,epochStartTimestampMs:n.toString(),safeMode:t.safeMode??!1,safeModeStorageRewards:t.safeModeStorageRewards?.toString()??null,safeModeComputationRewards:t.safeModeComputationRewards?.toString()??null,safeModeStorageRebates:t.safeModeStorageRebates?.toString()??null,safeModeNonRefundableStorageFee:t.safeModeNonRefundableStorageFee?.toString()??null,parameters:{epochDurationMs:t.parameters?.epochDurationMs?.toString()??null,stakeSubsidyStartEpoch:t.parameters?.stakeSubsidyStartEpoch?.toString()??null,maxValidatorCount:t.parameters?.maxValidatorCount?.toString()??null,minValidatorJoiningStake:t.parameters?.minValidatorJoiningStake?.toString()??null,validatorLowStakeThreshold:t.parameters?.validatorLowStakeThreshold?.toString()??null,validatorLowStakeGracePeriod:t.parameters?.validatorLowStakeGracePeriod?.toString()??null},storageFund:{totalObjectStorageRebates:t.storageFund?.totalObjectStorageRebates?.toString()??null,nonRefundableBalance:t.storageFund?.nonRefundableBalance?.toString()??null},stakeSubsidy:{balance:t.stakeSubsidy?.balance?.toString()??null,distributionCounter:t.stakeSubsidy?.distributionCounter?.toString()??null,currentDistributionAmount:t.stakeSubsidy?.currentDistributionAmount?.toString()??null,stakeSubsidyPeriodLength:t.stakeSubsidy?.stakeSubsidyPeriodLength?.toString()??null,stakeSubsidyDecreaseRate:t.stakeSubsidy?.stakeSubsidyDecreaseRate??null}}}}async listDynamicFields(e){return this.#e.listDynamicFields(e)}async verifyZkLoginSignature(e){let t=ie(e.bytes),n=e.intentScope==="PersonalMessage"?E.byteVector().serialize(t).toBytes():t,{response:r}=await this.#e.signatureVerificationService.verifySignature({message:{name:e.intentScope,value:n},signature:{bcs:{value:ie(e.signature)},signature:{oneofKind:void 0}},address:e.address,jwks:[]});return{success:r.isValid??!1,errors:r.reason?[r.reason]:[]}}async defaultNameServiceName(e){return{data:{name:(await this.#e.nameService.reverseLookupName({address:e.address})).response.record?.name??null}}}async getMoveFunction(e){let t=(await this.mvr.resolvePackage({package:e.packageId})).package,{response:n}=await this.#e.movePackageService.getFunction({packageId:t,moduleName:e.moduleName,name:e.name}),r="unknown";switch(n.function?.visibility){case Po.PUBLIC:r="public";break;case Po.PRIVATE:r="private";break;case Po.FRIEND:r="friend";break}return{function:{packageId:X(t),moduleName:e.moduleName,name:n.function?.name,visibility:r,isEntry:n.function?.isEntry??!1,typeParameters:n.function?.typeParameters?.map(({constraints:s})=>({isPhantom:!1,constraints:s.map(i=>{switch(i){case ni.COPY:return"copy";case ni.DROP:return"drop";case ni.STORE:return"store";case ni.KEY:return"key";default:return"unknown"}})??[]}))??[],parameters:n.function?.parameters?.map(s=>eg(s))??[],returns:n.function?.returns?.map(s=>eg(s))??[]}}}async getChainIdentifier(e){return this.cache.read(["chainIdentifier"],async()=>{let{response:t}=await this.#e.ledgerService.getServiceInfo({});if(!t.chainId)throw new Error("Chain identifier not found in service info");return{chainIdentifier:t.chainId}})}resolveTransactionPlugin(){let e=this.#e;return async function(n,r,s){let i=n.snapshot();i.sender||(i.sender="0x0000000000000000000000000000000000000000000000000000000000000000");let o=Fo(i),a;try{a=(await e.transactionExecutionService.simulateTransaction({transaction:o,doGasSelection:!r.onlyTransactionKind&&(i.gasData.budget==null||i.gasData.payment==null),readMask:{paths:["transaction.transaction.sender","transaction.transaction.gas_payment","transaction.transaction.expiration","transaction.transaction.kind","transaction.effects.status"]}})).response}catch(c){throw c instanceof Error&&c.message?new Qs(decodeURIComponent(c.message),{cause:c}):c}if(!r.onlyTransactionKind&&a.transaction?.effects?.status&&!a.transaction.effects.status.success){let c=a.transaction.effects.status.error?Id(a.transaction.effects.status.error):void 0;throw new Qs(`Transaction resolution failed: ${c?.message??"Transaction failed"}`,{executionError:c})}if(!a.transaction?.transaction)throw new Error("simulateTransaction did not return resolved transaction data");return Dh(n,a.transaction.transaction,r),await s()}}};function Kh(e,t){if(e)return t===void 0?null:{output:t.output!==void 0?Qe.toJson(t.output):null,errors:t.errors!==void 0?Qe.toJson(t.errors):null}}function oi(e){if(!e)return null;if(e.kind===ri.IMMUTABLE)return{$kind:"Immutable",Immutable:!0};if(e.kind===ri.ADDRESS)return{AddressOwner:e.address,$kind:"AddressOwner"};if(e.kind===ri.OBJECT)return{$kind:"ObjectOwner",ObjectOwner:e.address};if(e.kind===ri.SHARED)return{$kind:"Shared",Shared:{initialSharedVersion:e.version?.toString()}};if(e.kind===ri.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 Id(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:Ys({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:n1(s)}}case"sizeError":return{$kind:"SizeError",message:t,command:n,SizeError:{name:ii(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:ii(r.commandArgumentError.kind)}};case"typeArgumentError":return{$kind:"TypeArgumentError",message:t,command:n,TypeArgumentError:{typeArgument:r.typeArgumentError.typeArgument??0,name:ii(r.typeArgumentError.kind)}};case"packageUpgradeError":return{$kind:"PackageUpgradeError",message:t,command:n,PackageUpgradeError:{name:ii(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:ii(e.kind),coinType:r.coinDenyListError.coinType,address:r.coinDenyListError.address}};case"congestedObjects":return{$kind:"CongestedObjects",message:t,command:n,CongestedObjects:{name:ii(e.kind),objects:r.congestedObjects.objects}};case"objectId":return{$kind:"ObjectIdError",message:t,command:n,ObjectIdError:{name:ii(e.kind),objectId:r.objectId}};default:return{$kind:"Unknown",message:t,command:n,Unknown:null}}}function n1(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"?ye(e.cleverError.value.raw):void 0}:void 0}}function ii(e){if(e==null)return"Unknown";let t=wd[e];return!t||t.endsWith("_UNKNOWN")?"Unknown":t.split("_").map(n=>n.charAt(0)+n.slice(1).toLowerCase()).join("")}function Xh(e){if(e==null)return null;switch(e){case zi.CREATED:return"Created";case zi.DELETED:return"Deleted";case zi.NONE:case zi.ID_OPERATION_UNKNOWN:return"None";default:return"Unknown"}}function Yh(e){if(e==null)return null;switch(e){case qo.EXISTS:return"Exists";case qo.DOES_NOT_EXIST:return"DoesNotExist";case qo.UNKNOWN:return"Unknown";default:return"Unknown"}}function Qh(e){if(e==null)return null;switch(e){case si.OBJECT_WRITE:return"ObjectWrite";case si.PACKAGE_WRITE:return"PackageWrite";case si.DOES_NOT_EXIST:return"DoesNotExist";case si.ACCUMULATOR_WRITE:return"AccumulatorWriteV1";case si.UNKNOWN:return"Unknown";default:return"Unknown"}}function r1(e){if(e==null)return null;switch(e){case vs.UNCHANGED_CONSENSUS_OBJECT_KIND_UNKNOWN:return"Unknown";case vs.READ_ONLY_ROOT:return"ReadOnlyRoot";case vs.MUTATE_CONSENSUS_STREAM_ENDED:return"MutateConsensusStreamEnded";case vs.READ_CONSENSUS_STREAM_ENDED:return"ReadConsensusStreamEnded";case vs.CANCELED:return"Cancelled";case vs.PER_EPOCH_CONFIG:return"PerEpochConfig";default:return"Unknown"}}function s1({effects:e}){if(!e)return null;let t=e.changedObjects.map(n=>({objectId:n.objectId,inputState:Yh(n.inputState),inputVersion:n.inputVersion?.toString()??null,inputDigest:n.inputDigest??null,inputOwner:oi(n.inputOwner),outputState:Qh(n.outputState),outputVersion:n.outputVersion?.toString()??null,outputDigest:n.outputDigest??null,outputOwner:oi(n.outputOwner),idOperation:Xh(n.idOperation)}));return{bcs:e.bcs?.value,version:2,status:e.status?.success?{success:!0,error:null}:{success:!1,error:Id(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:Yh(e.gasObject?.inputState),inputVersion:e.gasObject?.inputVersion?.toString()??null,inputDigest:e.gasObject?.inputDigest??null,inputOwner:oi(e.gasObject?.inputOwner),outputState:Qh(e.gasObject?.outputState),outputVersion:e.gasObject?.outputVersion?.toString()??null,outputDigest:e.gasObject?.outputDigest??null,outputOwner:oi(e.gasObject?.outputOwner),idOperation:Xh(e.gasObject?.idOperation)},eventsDigest:e.eventsDigest??null,dependencies:e.dependencies,lamportVersion:e.lamportVersion?.toString()??null,changedObjects:t,unchangedConsensusObjects:e.unchangedConsensusObjects.map(n=>({kind:r1(n.kind),objectId:n.objectId,version:n.version?.toString()??null,digest:n.digest??null})),auxiliaryDataDigest:e.auxiliaryDataDigest??null}}function Ed(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=$o(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?s1({effects:e.effects}):void 0,o=e.effects?.status?.success?{success:!0,error:null}:{success:!1,error:e.effects?.status?.error?Id(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=>ye(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:X(c.packageId),module:c.module,sender:X(c.sender),eventType:c.eventType,bcs:c.contents?.value??new Uint8Array,json:c.json?Qe.toJson(c.json):null}))??[]:void 0};return o.success?{$kind:"Transaction",Transaction:a}:{$kind:"FailedTransaction",FailedTransaction:a}}function eg(e){let t=null;return e.reference===pc.IMMUTABLE?t="immutable":e.reference===pc.MUTABLE&&(t="mutable"),{reference:t,body:Od(e.body)}}function Od(e){switch(e.type){case xn.TYPE_UNKNOWN:return{$kind:"unknown"};case xn.ADDRESS:return{$kind:"address"};case xn.BOOL:return{$kind:"bool"};case xn.U8:return{$kind:"u8"};case xn.U16:return{$kind:"u16"};case xn.U32:return{$kind:"u32"};case xn.U64:return{$kind:"u64"};case xn.U128:return{$kind:"u128"};case xn.U256:return{$kind:"u256"};case xn.VECTOR:return{$kind:"vector",vector:Od(e.typeParameterInstantiation[0])};case xn.DATATYPE:return{$kind:"datatype",datatype:{typeName:e.typeName,typeParameters:e.typeParameterInstantiation.map(t=>Od(t))}};case xn.TYPE_PARAMETER:return{$kind:"typeParameter",index:e.typeParameter};default:return{$kind:"unknown"}}}var ng=class{constructor(e){this._transport=e,this.typeName=Tc.typeName,this.methods=Tc.methods,this.options=Tc.options}executeTransaction(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return Ue("unary",this._transport,n,r,e)}simulateTransaction(e,t){let n=this.methods[1],r=this._transport.mergeOptions(t);return Ue("unary",this._transport,n,r,e)}};var i1=class extends N{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}}])}},rg=new i1;var o1=class extends N{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:()=>y1},{no:5,name:"storage_fund",kind:"message",T:()=>h1},{no:6,name:"parameters",kind:"message",T:()=>l1},{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:()=>c1},{no:9,name:"stake_subsidy",kind:"message",T:()=>f1},{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:()=>Jn}])}},sg=new o1,a1=class extends N{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}])}},c1=new a1,u1=class extends N{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:()=>Jn}])}},l1=new u1,d1=class extends N{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}])}},Jn=new d1,p1=class extends N{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:()=>Jn}])}},f1=new p1,m1=class extends N{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}])}},h1=new m1,g1=class extends N{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:()=>v1},{no:3,name:"pending_active_validators",kind:"message",T:()=>Jn},{no:4,name:"pending_removals",kind:"scalar",repeat:1,T:4,L:0},{no:5,name:"staking_pool_mappings",kind:"message",T:()=>Jn},{no:6,name:"inactive_validators",kind:"message",T:()=>Jn},{no:7,name:"validator_candidates",kind:"message",T:()=>Jn},{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:()=>Jn}])}},y1=new g1,b1=class extends N{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:()=>Jn},{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:()=>w1},{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:()=>Jn}])}},v1=new b1,_1=class extends N{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:()=>Jn},{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:()=>Jn}])}},w1=new _1;var T1=class extends N{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:()=>zh},{no:3,name:"system_state",kind:"message",T:()=>sg},{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:()=>fn},{no:7,name:"end",kind:"message",T:()=>fn},{no:8,name:"reference_gas_price",kind:"scalar",opt:!0,T:4,L:0},{no:9,name:"protocol_config",kind:"message",T:()=>rg}])}},ig=new T1;var k1=class extends N{constructor(){super("sui.rpc.v2.CheckpointContents",[{no:1,name:"bcs",kind:"message",T:()=>Ye},{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:()=>E1}])}},og=new k1,S1=class extends N{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:()=>_s},{no:4,name:"address_aliases_versions",kind:"message",repeat:1,T:()=>I1}])}},E1=new S1,O1=class extends N{constructor(){super("sui.rpc.v2.AddressAliasesVersion",[{no:1,name:"version",kind:"scalar",opt:!0,T:4,L:0}])}},I1=new O1;var A1=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}({}),x1=class extends N{constructor(){super("sui.rpc.v2.CheckpointSummary",[{no:1,name:"bcs",kind:"message",T:()=>Ye},{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:()=>yc},{no:9,name:"timestamp",kind:"message",T:()=>fn},{no:10,name:"commitments",kind:"message",repeat:1,T:()=>cg},{no:11,name:"end_of_epoch_data",kind:"message",T:()=>N1},{no:12,name:"version_specific_data",kind:"scalar",opt:!0,T:12}])}},ag=new x1,C1=class extends N{constructor(){super("sui.rpc.v2.EndOfEpochData",[{no:1,name:"next_epoch_committee",kind:"message",repeat:1,T:()=>kd},{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:()=>cg}])}},N1=new C1,R1=class extends N{constructor(){super("sui.rpc.v2.CheckpointCommitment",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.CheckpointCommitment.CheckpointCommitmentKind",A1]},{no:2,name:"digest",kind:"scalar",opt:!0,T:9}])}},cg=new R1;var M1=class extends N{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:()=>ag},{no:4,name:"signature",kind:"message",T:()=>Wh},{no:5,name:"contents",kind:"message",T:()=>og},{no:6,name:"transactions",kind:"message",repeat:1,T:()=>ws},{no:7,name:"objects",kind:"message",T:()=>hc}])}},kc=new M1;var B1=class extends N{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=jo(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.")||!hs(o))&&(o={value:o}),o["@type"]=e.typeUrl,o}internalJsonRead(e,t,n){if(!hs(e))throw new globalThis.Error("Unable to parse google.protobuf.Any from JSON "+on(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}},ug=new B1;var j1=class extends N{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:()=>ug}])}},Ad=new j1;var D1=class extends N{constructor(){super("sui.rpc.v2.GetServiceInfoRequest",[])}},U1=new D1,P1=class extends N{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:()=>fn},{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}])}},L1=new P1,V1=class extends N{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:()=>wn}])}},lg=new V1,F1=class extends N{constructor(){super("sui.rpc.v2.GetObjectResponse",[{no:1,name:"object",kind:"message",T:()=>kr}])}},$1=new F1,q1=class extends N{constructor(){super("sui.rpc.v2.BatchGetObjectsRequest",[{no:1,name:"requests",kind:"message",repeat:1,T:()=>lg},{no:2,name:"read_mask",kind:"message",T:()=>wn}])}},G1=new q1,z1=class extends N{constructor(){super("sui.rpc.v2.BatchGetObjectsResponse",[{no:1,name:"objects",kind:"message",repeat:1,T:()=>J1}])}},W1=new z1,H1=class extends N{constructor(){super("sui.rpc.v2.GetObjectResult",[{no:1,name:"object",kind:"message",oneof:"result",T:()=>kr},{no:2,name:"error",kind:"message",oneof:"result",T:()=>Ad}])}},J1=new H1,Z1=class extends N{constructor(){super("sui.rpc.v2.GetTransactionRequest",[{no:1,name:"digest",kind:"scalar",opt:!0,T:9},{no:2,name:"read_mask",kind:"message",T:()=>wn}])}},K1=new Z1,X1=class extends N{constructor(){super("sui.rpc.v2.GetTransactionResponse",[{no:1,name:"transaction",kind:"message",T:()=>ws}])}},Y1=new X1,Q1=class extends N{constructor(){super("sui.rpc.v2.BatchGetTransactionsRequest",[{no:1,name:"digests",kind:"scalar",repeat:2,T:9},{no:2,name:"read_mask",kind:"message",T:()=>wn}])}},eS=new Q1,tS=class extends N{constructor(){super("sui.rpc.v2.BatchGetTransactionsResponse",[{no:1,name:"transactions",kind:"message",repeat:1,T:()=>sS}])}},nS=new tS,rS=class extends N{constructor(){super("sui.rpc.v2.GetTransactionResult",[{no:1,name:"transaction",kind:"message",oneof:"result",T:()=>ws},{no:2,name:"error",kind:"message",oneof:"result",T:()=>Ad}])}},sS=new rS,iS=class extends N{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:()=>wn}])}},oS=new iS,aS=class extends N{constructor(){super("sui.rpc.v2.GetCheckpointResponse",[{no:1,name:"checkpoint",kind:"message",T:()=>kc}])}},cS=new aS,uS=class extends N{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:()=>wn}])}},lS=new uS,dS=class extends N{constructor(){super("sui.rpc.v2.GetEpochResponse",[{no:1,name:"epoch",kind:"message",T:()=>ig}])}},pS=new dS,Sc=new an("sui.rpc.v2.LedgerService",[{name:"GetServiceInfo",options:{},I:U1,O:L1},{name:"GetObject",options:{},I:lg,O:$1},{name:"BatchGetObjects",options:{},I:G1,O:W1},{name:"GetTransaction",options:{},I:K1,O:Y1},{name:"BatchGetTransactions",options:{},I:eS,O:nS},{name:"GetCheckpoint",options:{},I:oS,O:cS},{name:"GetEpoch",options:{},I:lS,O:pS}]);var dg=class{constructor(e){this._transport=e,this.typeName=Sc.typeName,this.methods=Sc.methods,this.options=Sc.options}getServiceInfo(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return Ue("unary",this._transport,n,r,e)}getObject(e,t){let n=this.methods[1],r=this._transport.mergeOptions(t);return Ue("unary",this._transport,n,r,e)}batchGetObjects(e,t){let n=this.methods[2],r=this._transport.mergeOptions(t);return Ue("unary",this._transport,n,r,e)}getTransaction(e,t){let n=this.methods[3],r=this._transport.mergeOptions(t);return Ue("unary",this._transport,n,r,e)}batchGetTransactions(e,t){let n=this.methods[4],r=this._transport.mergeOptions(t);return Ue("unary",this._transport,n,r,e)}getCheckpoint(e,t){let n=this.methods[5],r=this._transport.mergeOptions(t);return Ue("unary",this._transport,n,r,e)}getEpoch(e,t){let n=this.methods[6],r=this._transport.mergeOptions(t);return Ue("unary",this._transport,n,r,e)}};var fS=class extends N{constructor(){super("sui.rpc.v2.GetPackageRequest",[{no:1,name:"package_id",kind:"scalar",opt:!0,T:9}])}},mS=new fS,hS=class extends N{constructor(){super("sui.rpc.v2.GetPackageResponse",[{no:1,name:"package",kind:"message",T:()=>fc}])}},gS=new hS,yS=class extends N{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}])}},bS=new yS,vS=class extends N{constructor(){super("sui.rpc.v2.GetDatatypeResponse",[{no:1,name:"datatype",kind:"message",T:()=>gd}])}},_S=new vS,wS=class extends N{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}])}},TS=new wS,kS=class extends N{constructor(){super("sui.rpc.v2.GetFunctionResponse",[{no:1,name:"function",kind:"message",T:()=>bd}])}},SS=new kS,ES=class extends N{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}])}},OS=new ES,IS=class extends N{constructor(){super("sui.rpc.v2.ListPackageVersionsResponse",[{no:1,name:"versions",kind:"message",repeat:1,T:()=>CS},{no:2,name:"next_page_token",kind:"scalar",opt:!0,T:12}])}},AS=new IS,xS=class extends N{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}])}},CS=new xS,Ec=new an("sui.rpc.v2.MovePackageService",[{name:"GetPackage",options:{},I:mS,O:gS},{name:"GetDatatype",options:{},I:bS,O:_S},{name:"GetFunction",options:{},I:TS,O:SS},{name:"ListPackageVersions",options:{},I:OS,O:AS}]);var pg=class{constructor(e){this._transport=e,this.typeName=Ec.typeName,this.methods=Ec.methods,this.options=Ec.options}getPackage(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return Ue("unary",this._transport,n,r,e)}getDatatype(e,t){let n=this.methods[1],r=this._transport.mergeOptions(t);return Ue("unary",this._transport,n,r,e)}getFunction(e,t){let n=this.methods[2],r=this._transport.mergeOptions(t);return Ue("unary",this._transport,n,r,e)}listPackageVersions(e,t){let n=this.methods[3],r=this._transport.mergeOptions(t);return Ue("unary",this._transport,n,r,e)}};var NS=class extends N{constructor(){super("sui.rpc.v2.VerifySignatureRequest",[{no:1,name:"message",kind:"message",T:()=>Ye},{no:2,name:"signature",kind:"message",T:()=>_s},{no:3,name:"address",kind:"scalar",opt:!0,T:9},{no:4,name:"jwks",kind:"message",repeat:1,T:()=>vd}])}},RS=new NS,MS=class extends N{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}])}},BS=new MS,Oc=new an("sui.rpc.v2.SignatureVerificationService",[{name:"VerifySignature",options:{},I:RS,O:BS}]);var fg=class{constructor(e){this._transport=e,this.typeName=Oc.typeName,this.methods=Oc.methods,this.options=Oc.options}verifySignature(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return Ue("unary",this._transport,n,r,e)}};var jS=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}({}),DS=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}({}),US=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}({}),xd=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}({}),PS=class extends N{constructor(){super("sui.rpc.v2.GetCoinInfoRequest",[{no:1,name:"coin_type",kind:"scalar",opt:!0,T:9}])}},LS=new PS,VS=class extends N{constructor(){super("sui.rpc.v2.GetCoinInfoResponse",[{no:1,name:"coin_type",kind:"scalar",opt:!0,T:9},{no:2,name:"metadata",kind:"message",T:()=>qS},{no:3,name:"treasury",kind:"message",T:()=>zS},{no:4,name:"regulated_metadata",kind:"message",T:()=>HS}])}},FS=new VS,$S=class extends N{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",jS]}])}},qS=new $S,GS=class extends N{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",DS]}])}},zS=new GS,WS=class extends N{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",US]}])}},HS=new WS,JS=class extends N{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}])}},ZS=new JS,KS=class extends N{constructor(){super("sui.rpc.v2.GetBalanceResponse",[{no:1,name:"balance",kind:"message",T:()=>mg}])}},XS=new KS,YS=class extends N{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}])}},QS=new YS,eE=class extends N{constructor(){super("sui.rpc.v2.ListBalancesResponse",[{no:1,name:"balances",kind:"message",repeat:1,T:()=>mg},{no:2,name:"next_page_token",kind:"scalar",opt:!0,T:12}])}},tE=new eE,nE=class extends N{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}])}},mg=new nE,rE=class extends N{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:()=>wn}])}},sE=new rE,iE=class extends N{constructor(){super("sui.rpc.v2.ListDynamicFieldsResponse",[{no:1,name:"dynamic_fields",kind:"message",repeat:1,T:()=>cE},{no:2,name:"next_page_token",kind:"scalar",opt:!0,T:12}])}},oE=new iE,aE=class extends N{constructor(){super("sui.rpc.v2.DynamicField",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.DynamicField.DynamicFieldKind",xd]},{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:()=>kr},{no:5,name:"name",kind:"message",T:()=>Ye},{no:6,name:"value",kind:"message",T:()=>Ye},{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:()=>kr}])}},cE=new aE,uE=class extends N{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:()=>wn},{no:5,name:"object_type",kind:"scalar",opt:!0,T:9}])}},lE=new uE,dE=class extends N{constructor(){super("sui.rpc.v2.ListOwnedObjectsResponse",[{no:1,name:"objects",kind:"message",repeat:1,T:()=>kr},{no:2,name:"next_page_token",kind:"scalar",opt:!0,T:12}])}},pE=new dE,Ic=new an("sui.rpc.v2.StateService",[{name:"ListDynamicFields",options:{},I:sE,O:oE},{name:"ListOwnedObjects",options:{},I:lE,O:pE},{name:"GetCoinInfo",options:{},I:LS,O:FS},{name:"GetBalance",options:{},I:ZS,O:XS},{name:"ListBalances",options:{},I:QS,O:tE}]);var hg=class{constructor(e){this._transport=e,this.typeName=Ic.typeName,this.methods=Ic.methods,this.options=Ic.options}listDynamicFields(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return Ue("unary",this._transport,n,r,e)}listOwnedObjects(e,t){let n=this.methods[1],r=this._transport.mergeOptions(t);return Ue("unary",this._transport,n,r,e)}getCoinInfo(e,t){let n=this.methods[2],r=this._transport.mergeOptions(t);return Ue("unary",this._transport,n,r,e)}getBalance(e,t){let n=this.methods[3],r=this._transport.mergeOptions(t);return Ue("unary",this._transport,n,r,e)}listBalances(e,t){let n=this.methods[4],r=this._transport.mergeOptions(t);return Ue("unary",this._transport,n,r,e)}};var fE=class extends N{constructor(){super("sui.rpc.v2.SubscribeCheckpointsRequest",[{no:1,name:"read_mask",kind:"message",T:()=>wn}])}},mE=new fE,hE=class extends N{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:()=>kc}])}},gE=new hE,Ac=new an("sui.rpc.v2.SubscriptionService",[{name:"SubscribeCheckpoints",serverStreaming:!0,options:{},I:mE,O:gE}]);var gg=class{constructor(e){this._transport=e,this.typeName=Ac.typeName,this.methods=Ac.methods,this.options=Ac.options}subscribeCheckpoints(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return Ue("serverStreaming",this._transport,n,r,e)}};var yE=class extends N{constructor(){super("sui.rpc.v2.LookupNameRequest",[{no:1,name:"name",kind:"scalar",opt:!0,T:9}])}},bE=new yE,vE=class extends N{constructor(){super("sui.rpc.v2.LookupNameResponse",[{no:1,name:"record",kind:"message",T:()=>yg}])}},_E=new vE,wE=class extends N{constructor(){super("sui.rpc.v2.ReverseLookupNameRequest",[{no:1,name:"address",kind:"scalar",opt:!0,T:9}])}},TE=new wE,kE=class extends N{constructor(){super("sui.rpc.v2.ReverseLookupNameResponse",[{no:1,name:"record",kind:"message",T:()=>yg}])}},SE=new kE,EE=class extends N{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:()=>fn},{no:5,name:"target_address",kind:"scalar",opt:!0,T:9},{no:6,name:"data",kind:"map",K:9,V:{kind:"scalar",T:9}}])}},yg=new EE,xc=new an("sui.rpc.v2.NameService",[{name:"LookupName",options:{},I:bE,O:_E},{name:"ReverseLookupName",options:{},I:TE,O:SE}]);var bg=class{constructor(e){this._transport=e,this.typeName=xc.typeName,this.methods=xc.methods,this.options=xc.options}lookupName(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return Ue("unary",this._transport,n,r,e)}reverseLookupName(e,t){let n=this.methods[1],r=this._transport.mergeOptions(t);return Ue("unary",this._transport,n,r,e)}};var Y;(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"})(Y||(Y={}));var OE=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(d){try{u(r.next(d))}catch(p){o(p)}}function c(d){try{u(r.throw(d))}catch(p){o(p)}}function u(d){d.done?i(d.value):s(d.value).then(a,c)}u((r=r.apply(e,t||[])).next())})};function Cd(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 je(`timeout ${n} ms exceeded`,Y[Y.DEADLINE_EXCEEDED]);e.set("grpc-timeout",`${n}m`)}else if(n){let i=n.getTime(),o=Date.now();if(i<=o)throw new je(`deadline ${n} exceeded`,Y[Y.DEADLINE_EXCEEDED]);e.set("grpc-timeout",`${i-o}m`)}return e}function Nd(e,t){let n=new Uint8Array(5+e.length);n[0]=Zn.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:Bo(n)}function Cc(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 je(`fetch response type ${c.type}`,Y[Y.UNKNOWN])}return Cc(CE(c.headers),c.status,c.statusText)}let r=e,s=t>=200&&t<300,i=wg(r),[o,a]=_g(r);return(o===void 0||o===Y.OK)&&!s&&(o=NE(t),a=n),[o,a,i]}function Rd(e){let t=xE(e),[n,r]=_g(t),s=wg(t);return[n??Y.OK,r,s]}var Zn;(function(e){e[e.DATA=0]="DATA",e[e.TRAILER=128]="TRAILER"})(Zn||(Zn={}));function Md(e,t,n){return OE(this,void 0,void 0,function*(){let r,s="",i=new Uint8Array(0),o=AE(t);if(IE(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=vg(i,Mo(s.substring(0,c))),s=s.substring(c)}else i=vg(i,a.value);for(;i.length>=5&&i[0]===Zn.DATA;){let c=0;for(let u=1;u<5;u++)c=(c<<8)+i[u];if(i.length-5>=c)n(Zn.DATA,i.subarray(5,5+c)),i=i.subarray(5+c);else break}}if(a.done){if(i.length===0)break;if(i[0]!==Zn.TRAILER||i.length<5)throw new je("premature EOF",Y[Y.DATA_LOSS]);n(Zn.TRAILER,i.subarray(5));break}}})}var IE=e=>typeof e.getReader=="function";function vg(e,t){let n=new Uint8Array(e.length+t.length);return n.set(e),n.set(t,e.length),n}function AE(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 je("missing response content type",Y[Y.INTERNAL]);default:throw new je("unexpected response content type: "+e,Y[Y.INTERNAL])}}function _g(e){let t,n,r=e["grpc-message"];if(r!==void 0){if(Array.isArray(r))return[Y.INTERNAL,"invalid grpc-web message"];n=r}let s=e["grpc-status"];if(s!==void 0){if(Array.isArray(s))return[Y.INTERNAL,"invalid grpc-web status"];if(t=parseInt(s,10),Y[t]===void 0)return[Y.INTERNAL,"invalid grpc-web status"]}return[t,n]}function wg(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 xE(e){let t={};for(let n of String.fromCharCode.apply(String,e).trim().split(`\r
|
|
10
|
-
`)){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 CE(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 NE(e){switch(e){case 200:return Y.OK;case 400:return Y.INVALID_ARGUMENT;case 401:return Y.UNAUTHENTICATED;case 403:return Y.PERMISSION_DENIED;case 404:return Y.NOT_FOUND;case 409:return Y.ABORTED;case 412:return Y.FAILED_PRECONDITION;case 429:return Y.RESOURCE_EXHAUSTED;case 499:return Y.CANCELLED;case 500:return Y.UNKNOWN;case 501:return Y.UNIMPLEMENTED;case 503:return Y.UNAVAILABLE;case 504:return Y.DEADLINE_EXCEEDED;default:return Y.UNKNOWN}}var Jo=class{constructor(t){this.defaultOptions=t}mergeOptions(t){return Sd(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 je("Client streaming is not supported by grpc-web",Y[Y.UNIMPLEMENTED]);throw n.methodName=t.name,n.serviceName=t.service.typeName,n}duplex(t){let n=new je("Duplex streaming is not supported by grpc-web",Y[Y.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,d=(s=u.format)!==null&&s!==void 0?s:"text",p=(i=u.fetch)!==null&&i!==void 0?i:globalThis.fetch,f=(o=u.fetchInit)!==null&&o!==void 0?o:{},g=this.makeUrl(t,u),b=t.I.toBinary(n,u.binaryOptions),_=new Vn,I=new zo,A=!0,M,C=new Vn,B,L=new Vn;return p(g,Object.assign(Object.assign({},f),{method:"POST",headers:Cd(new globalThis.Headers,d,u.timeout,u.meta),body:Nd(b,d),signal:(a=r.abort)!==null&&a!==void 0?a:null})).then(j=>{let[q,P,D]=Cc(j);if(_.resolve(D),q!=null&&q!==Y.OK)throw new je(P??Y[q],Y[q],D);return q!=null&&(M={code:Y[q],detail:P??Y[q]}),j}).then(j=>{if(!j.body)throw new je("missing response body",Y[Y.INTERNAL]);return Md(j.body,j.headers.get("content-type"),(q,P)=>{switch(q){case Zn.DATA:I.notifyMessage(t.O.fromBinary(P,u.binaryOptions)),A=!1;break;case Zn.TRAILER:let D,Z;[D,Z,B]=Rd(P),M={code:Y[D],detail:Z??Y[D]};break}})}).then(()=>{if(!B&&!A)throw new je("missing trailers",Y[Y.DATA_LOSS]);if(!M)throw new je("missing status",Y[Y.INTERNAL]);if(M.code!=="OK")throw new je(M.detail,M.code,B);I.notifyComplete(),C.resolve(M),L.resolve(B||{})}).catch(j=>{let q;j instanceof je?q=j:j instanceof Error&&j.name==="AbortError"?q=new je(j.message,Y[Y.CANCELLED]):q=new je(j instanceof Error?j.message:""+j,Y[Y.INTERNAL]),q.methodName=t.name,q.serviceName=t.service.typeName,_.rejectPending(q),I.notifyError(q),C.rejectPending(q),L.rejectPending(q)}),new Ho(t,(c=u.meta)!==null&&c!==void 0?c:{},n,_.promise,I,C.promise,L.promise)}unary(t,n,r){var s,i,o,a,c;let u=r,d=(s=u.format)!==null&&s!==void 0?s:"text",p=(i=u.fetch)!==null&&i!==void 0?i:globalThis.fetch,f=(o=u.fetchInit)!==null&&o!==void 0?o:{},g=this.makeUrl(t,u),b=t.I.toBinary(n,u.binaryOptions),_=new Vn,I,A=new Vn,M,C=new Vn,B,L=new Vn;return p(g,Object.assign(Object.assign({},f),{method:"POST",headers:Cd(new globalThis.Headers,d,u.timeout,u.meta),body:Nd(b,d),signal:(a=r.abort)!==null&&a!==void 0?a:null})).then(j=>{let[q,P,D]=Cc(j);if(_.resolve(D),q!=null&&q!==Y.OK)throw new je(P??Y[q],Y[q],D);return q!=null&&(M={code:Y[q],detail:P??Y[q]}),j}).then(j=>{if(!j.body)throw new je("missing response body",Y[Y.INTERNAL]);return Md(j.body,j.headers.get("content-type"),(q,P)=>{switch(q){case Zn.DATA:if(I)throw new je("unary call received 2nd message",Y[Y.DATA_LOSS]);I=t.O.fromBinary(P,u.binaryOptions);break;case Zn.TRAILER:let D,Z;[D,Z,B]=Rd(P),M={code:Y[D],detail:Z??Y[D]};break}})}).then(()=>{if(!B&&I)throw new je("missing trailers",Y[Y.DATA_LOSS]);if(!M)throw new je("missing status",Y[Y.INTERNAL]);if(!I&&M.code==="OK")throw new je("expected error status",Y[Y.DATA_LOSS]);if(!I)throw new je(M.detail,M.code,B);if(A.resolve(I),M.code!=="OK")throw new je(M.detail,M.code,B);C.resolve(M),L.resolve(B||{})}).catch(j=>{let q;j instanceof je?q=j:j instanceof Error&&j.name==="AbortError"?q=new je(j.message,Y[Y.CANCELLED]):q=new je(j instanceof Error?j.message:""+j,Y[Y.INTERNAL]),q.methodName=t.name,q.serviceName=t.service.typeName,_.rejectPending(q),A.rejectPending(q),C.rejectPending(q),L.rejectPending(q)}),new Wo(t,(c=u.meta)!==null&&c!==void 0?c:{},n,_.promise,A.promise,C.promise,L.promise)}};var RE=Symbol.for("@mysten/SuiGrpcClient");var Zo=class extends ps{get mvr(){return this.core.mvr}get[RE](){return!0}constructor(e){super({network:e.network});let t=e.transport??new Jo({baseUrl:e.baseUrl,fetchInit:e.fetchInit});this.transactionExecutionService=new ng(t),this.ledgerService=new dg(t),this.stateService=new hg(t),this.subscriptionService=new gg(t),this.movePackageService=new pg(t),this.signatureVerificationService=new fg(t),this.nameService=new bg(t),this.core=new tg({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()}async listDynamicFields(e){let t=e.include?.value??!1,n=["field_id","name","value_type","kind","child_id"];t&&n.push("value");let r=await this.stateService.listDynamicFields({parent:e.parentId,pageToken:e.cursor?ie(e.cursor):void 0,pageSize:e.limit,readMask:{paths:n}});return{dynamicFields:r.response.dynamicFields.map(s=>{let i=s.kind===xd.OBJECT,o=i?`0x2::dynamic_field::Field<0x2::dynamic_object_field::Wrapper<${s.name?.name}>,0x2::object::ID>`:`0x2::dynamic_field::Field<${s.name?.name},${s.valueType}>`;return{$kind:i?"DynamicObject":"DynamicField",fieldId:s.fieldId,name:{type:s.name?.name,bcs:s.name?.value},valueType:s.valueType,type:be(o),childId:s.childId,value:t?{type:s.valueType,bcs:s.value?.value??new Uint8Array}:void 0}}),cursor:r.response.nextPageToken?ye(r.response.nextPageToken):null,hasNextPage:r.response.nextPageToken!==void 0}}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 Ts={ED25519:0,Secp256k1:1,Secp256r1:2,MultiSig:3,ZkLogin:5,Passkey:6},Tg={ED25519:32,Secp256k1:33,Secp256r1:33,Passkey:33},Ko={0:"ED25519",1:"Secp256k1",2:"Secp256r1",3:"MultiSig",5:"ZkLogin",6:"Passkey"};function Nc(e,t){return E.IntentMessage(E.bytes(t.length)).serialize({intent:{scope:{[e]:!0},version:{V0:!0},appId:{Sui:!0}},value:t}).toBytes()}function Xo(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 Rc=class{equals(e){return Xo(this.toRawBytes(),e.toRawBytes())}toBase64(){return ye(this.toRawBytes())}toString(){throw new Error("`toString` is not implemented on public keys. Use `toBase64()` or `toRawBytes()` instead.")}toSuiPublicKey(){return ye(this.toSuiBytes())}verifyWithIntent(e,t,n){let r=ir(Nc(n,e),{dkLen:32});return this.verify(r,t)}verifyPersonalMessage(e,t){return this.verifyWithIntent(E.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 X(sr(ir(this.toSuiBytes(),{dkLen:32})).slice(0,Dr*2))}};function Mc(e){let t=ie(e),n=Ko[t[0]];switch(n){case"ED25519":case"Secp256k1":case"Secp256r1":let r=Tg[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 ME=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),ks=new Uint32Array(64),Bd=class extends zs{constructor(t){super(64,t,8,!1)}get(){let{A:t,B:n,C:r,D:s,E:i,F:o,G:a,H:c}=this;return[t,n,r,s,i,o,a,c]}set(t,n,r,s,i,o,a,c){this.A=t|0,this.B=n|0,this.C=r|0,this.D=s|0,this.E=i|0,this.F=o|0,this.G=a|0,this.H=c|0}process(t,n){for(let p=0;p<16;p++,n+=4)ks[p]=t.getUint32(n,!1);for(let p=16;p<64;p++){let f=ks[p-15],g=ks[p-2],b=rr(f,7)^rr(f,18)^f>>>3,_=rr(g,17)^rr(g,19)^g>>>10;ks[p]=_+ks[p-7]+b+ks[p-16]|0}let{A:r,B:s,C:i,D:o,E:a,F:c,G:u,H:d}=this;for(let p=0;p<64;p++){let f=rr(a,6)^rr(a,11)^rr(a,25),g=d+f+$l(a,c,u)+ME[p]+ks[p]|0,_=(rr(r,2)^rr(r,13)^rr(r,22))+ql(r,s,i)|0;d=u,u=c,c=a,a=o+g|0,o=i,i=s,s=r,r=g+_|0}r=r+this.A|0,s=s+this.B|0,i=i+this.C|0,o=o+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,d=d+this.H|0,this.set(r,s,i,o,a,c,u,d)}roundClean(){Xt(ks)}destroy(){this.set(0,0,0,0,0,0,0,0),Xt(this.buffer)}},jd=class extends Bd{A=Vr[0]|0;B=Vr[1]|0;C=Vr[2]|0;D=Vr[3]|0;E=Vr[4]|0;F=Vr[5]|0;G=Vr[6]|0;H=Vr[7]|0;constructor(){super(32)}};var kg=(()=>Cm(["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))))(),BE=(()=>kg[0])(),jE=(()=>kg[1])(),Ss=new Uint32Array(80),Es=new Uint32Array(80),Dd=class extends zs{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:d,Fh:p,Fl:f,Gh:g,Gl:b,Hh:_,Hl:I}=this;return[t,n,r,s,i,o,a,c,u,d,p,f,g,b,_,I]}set(t,n,r,s,i,o,a,c,u,d,p,f,g,b,_,I){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=d|0,this.Fh=p|0,this.Fl=f|0,this.Gh=g|0,this.Gl=b|0,this.Hh=_|0,this.Hl=I|0}process(t,n){for(let C=0;C<16;C++,n+=4)Ss[C]=t.getUint32(n),Es[C]=t.getUint32(n+=4);for(let C=16;C<80;C++){let B=Ss[C-15]|0,L=Es[C-15]|0,j=_r(B,L,1)^_r(B,L,8)^zl(B,L,7),q=wr(B,L,1)^wr(B,L,8)^Wl(B,L,7),P=Ss[C-2]|0,D=Es[C-2]|0,Z=_r(P,D,19)^Ws(P,D,61)^zl(P,D,6),ce=wr(P,D,19)^Hs(P,D,61)^Wl(P,D,6),te=Mm(q,ce,Es[C-7],Es[C-16]),U=Bm(te,j,Z,Ss[C-7],Ss[C-16]);Ss[C]=U|0,Es[C]=te|0}let{Ah:r,Al:s,Bh:i,Bl:o,Ch:a,Cl:c,Dh:u,Dl:d,Eh:p,El:f,Fh:g,Fl:b,Gh:_,Gl:I,Hh:A,Hl:M}=this;for(let C=0;C<80;C++){let B=_r(p,f,14)^_r(p,f,18)^Ws(p,f,41),L=wr(p,f,14)^wr(p,f,18)^Hs(p,f,41),j=p&g^~p&_,q=f&b^~f&I,P=jm(M,L,q,jE[C],Es[C]),D=Dm(P,A,B,j,BE[C],Ss[C]),Z=P|0,ce=_r(r,s,28)^Ws(r,s,34)^Ws(r,s,39),te=wr(r,s,28)^Hs(r,s,34)^Hs(r,s,39),U=r&i^r&a^i&a,F=s&o^s&c^o&c;A=_|0,M=I|0,_=g|0,I=b|0,g=p|0,b=f|0,{h:p,l:f}=Ln(u|0,d|0,D|0,Z|0),u=a|0,d=c|0,a=i|0,c=o|0,i=r|0,o=s|0;let l=Io(Z,te,F);r=Ao(l,D,ce,U),s=l|0}({h:r,l:s}=Ln(this.Ah|0,this.Al|0,r|0,s|0)),{h:i,l:o}=Ln(this.Bh|0,this.Bl|0,i|0,o|0),{h:a,l:c}=Ln(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:d}=Ln(this.Dh|0,this.Dl|0,u|0,d|0),{h:p,l:f}=Ln(this.Eh|0,this.El|0,p|0,f|0),{h:g,l:b}=Ln(this.Fh|0,this.Fl|0,g|0,b|0),{h:_,l:I}=Ln(this.Gh|0,this.Gl|0,_|0,I|0),{h:A,l:M}=Ln(this.Hh|0,this.Hl|0,A|0,M|0),this.set(r,s,i,o,a,c,u,d,p,f,g,b,_,I,A,M)}roundClean(){Xt(Ss,Es)}destroy(){Xt(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Ud=class extends Dd{Ah=nn[0]|0;Al=nn[1]|0;Bh=nn[2]|0;Bl=nn[3]|0;Ch=nn[4]|0;Cl=nn[5]|0;Dh=nn[6]|0;Dl=nn[7]|0;Eh=nn[8]|0;El=nn[9]|0;Fh=nn[10]|0;Fl=nn[11]|0;Gh=nn[12]|0;Gl=nn[13]|0;Hh=nn[14]|0;Hl=nn[15]|0;constructor(){super(64)}};var Wi=Gs(()=>new jd,Fl(1));var Er=Gs(()=>new Ud,Fl(3));var Ld=BigInt(0),Pd=BigInt(1);function Yr(e,t=""){if(typeof e!="boolean"){let n=t&&`"${t}" `;throw new Error(n+"expected boolean, got type="+typeof e)}return e}function Sg(e){if(typeof e=="bigint"){if(!Bc(e))throw new Error("positive bigint expected, got "+e)}else Kt(e);return e}function Yo(e){let t=Sg(e).toString(16);return t.length&1?"0"+t:t}function Eg(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?Ld:BigInt("0x"+e)}function Hi(e){return Eg(sr(e))}function ai(e){return Eg(sr(Dc(me(e)).reverse()))}function jc(e,t){Kt(t),e=Sg(e);let n=Lr(e.toString(16).padStart(t*2,"0"));if(n.length!==t)throw new Error("number too large");return n}function Vd(e,t){return jc(e,t).reverse()}function Dc(e){return Uint8Array.from(e)}var Bc=e=>typeof e=="bigint"&&Ld<=e;function DE(e,t,n){return Bc(e)&&Bc(t)&&Bc(n)&&t<=e&&e<n}function Qo(e,t,n,r){if(!DE(t,n,r))throw new Error("expected valid "+e+": "+n+" <= n < "+r+", got "+t)}function Fd(e){let t;for(t=0;e>Ld;e>>=Pd,t+=1);return t}var ea=e=>(Pd<<BigInt(e))-Pd;function Og(e,t,n){if(Kt(e,"hashLen"),Kt(t,"qByteLen"),typeof n!="function")throw new Error("hmacFn must be a function");let r=I=>new Uint8Array(I),s=Uint8Array.of(),i=Uint8Array.of(0),o=Uint8Array.of(1),a=1e3,c=r(e),u=r(e),d=0,p=()=>{c.fill(1),u.fill(0),d=0},f=(...I)=>n(u,zt(c,...I)),g=(I=s)=>{u=f(i,I),c=f(),I.length!==0&&(u=f(o,I),c=f())},b=()=>{if(d++>=a)throw new Error("drbg: tried max amount of iterations");let I=0,A=[];for(;I<t;){c=f();let M=c.slice();A.push(M),I+=c.length}return zt(...A)};return(I,A)=>{p(),g(I);let M;for(;!(M=A(b()));)g();return p(),M}}function Os(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 Ji(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 Tn=BigInt(0),Yt=BigInt(1),ci=BigInt(2),xg=BigInt(3),Cg=BigInt(4),Ng=BigInt(5),UE=BigInt(7),Rg=BigInt(8),PE=BigInt(9),Mg=BigInt(16);function st(e,t){let n=e%t;return n>=Tn?n:t+n}function Ke(e,t,n){let r=e;for(;t-- >Tn;)r*=r,r%=n;return r}function Ig(e,t){if(e===Tn)throw new Error("invert: expected non-zero number");if(t<=Tn)throw new Error("invert: expected positive modulus, got "+t);let n=st(e,t),r=t,s=Tn,i=Yt,o=Yt,a=Tn;for(;n!==Tn;){let u=r/n,d=r%n,p=s-o*u,f=i-a*u;r=n,n=d,s=o,i=a,o=p,a=f}if(r!==Yt)throw new Error("invert: does not exist");return st(s,t)}function qd(e,t,n){if(!e.eql(e.sqr(t),n))throw new Error("Cannot find square root")}function Bg(e,t){let n=(e.ORDER+Yt)/Cg,r=e.pow(t,n);return qd(e,r,t),r}function LE(e,t){let n=(e.ORDER-Ng)/Rg,r=e.mul(t,ci),s=e.pow(r,n),i=e.mul(t,s),o=e.mul(e.mul(i,ci),s),a=e.mul(i,e.sub(o,e.ONE));return qd(e,a,t),a}function VE(e){let t=Zi(e),n=jg(e),r=n(t,t.neg(t.ONE)),s=n(t,r),i=n(t,t.neg(r)),o=(e+UE)/Mg;return(a,c)=>{let u=a.pow(c,o),d=a.mul(u,r),p=a.mul(u,s),f=a.mul(u,i),g=a.eql(a.sqr(d),c),b=a.eql(a.sqr(p),c);u=a.cmov(u,d,g),d=a.cmov(f,p,b);let _=a.eql(a.sqr(d),c),I=a.cmov(u,d,_);return qd(a,I,c),I}}function jg(e){if(e<xg)throw new Error("sqrt is not defined for small field");let t=e-Yt,n=0;for(;t%ci===Tn;)t/=ci,n++;let r=ci,s=Zi(e);for(;Ag(s,r)===1;)if(r++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(n===1)return Bg;let i=s.pow(r,t),o=(t+Yt)/ci;return function(c,u){if(c.is0(u))return u;if(Ag(c,u)!==1)throw new Error("Cannot find square root");let d=n,p=c.mul(c.ONE,i),f=c.pow(u,t),g=c.pow(u,o);for(;!c.eql(f,c.ONE);){if(c.is0(f))return c.ZERO;let b=1,_=c.sqr(f);for(;!c.eql(_,c.ONE);)if(b++,_=c.sqr(_),b===d)throw new Error("Cannot find square root");let I=Yt<<BigInt(d-b-1),A=c.pow(p,I);d=b,p=c.sqr(A),f=c.mul(f,p),g=c.mul(g,A)}return g}}function FE(e){return e%Cg===xg?Bg:e%Rg===Ng?LE:e%Mg===PE?VE(e):jg(e)}var Dg=(e,t)=>(st(e,t)&Yt)===Yt,$E=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Gd(e){let t={ORDER:"bigint",BYTES:"number",BITS:"number"},n=$E.reduce((r,s)=>(r[s]="function",r),t);return Os(e,n),e}function qE(e,t,n){if(n<Tn)throw new Error("invalid exponent, negatives unsupported");if(n===Tn)return e.ONE;if(n===Yt)return t;let r=e.ONE,s=t;for(;n>Tn;)n&Yt&&(r=e.mul(r,s)),s=e.sqr(s),n>>=Yt;return r}function ta(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 Ag(e,t){let n=(e.ORDER-Yt)/ci,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 GE(e,t){t!==void 0&&Kt(t);let n=t!==void 0?t:e.toString(2).length,r=Math.ceil(n/8);return{nBitLength:n,nByteLength:r}}var $d=class{ORDER;BITS;BYTES;isLE;ZERO=Tn;ONE=Yt;_lengths;_sqrt;_mod;constructor(t,n={}){if(t<=Tn)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}=GE(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 st(t,this.ORDER)}isValid(t){if(typeof t!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof t);return Tn<=t&&t<this.ORDER}is0(t){return t===Tn}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}isOdd(t){return(t&Yt)===Yt}neg(t){return st(-t,this.ORDER)}eql(t,n){return t===n}sqr(t){return st(t*t,this.ORDER)}add(t,n){return st(t+n,this.ORDER)}sub(t,n){return st(t-n,this.ORDER)}mul(t,n){return st(t*n,this.ORDER)}pow(t,n){return qE(this,t,n)}div(t,n){return st(t*Ig(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 Ig(t,this.ORDER)}sqrt(t){return this._sqrt||(this._sqrt=FE(this.ORDER)),this._sqrt(this,t)}toBytes(t){return this.isLE?Vd(t,this.BYTES):jc(t,this.BYTES)}fromBytes(t,n=!1){me(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?ai(t):Hi(t);if(a&&(c=st(c,o)),!n&&!this.isValid(c))throw new Error("invalid field element: outside of range 0..ORDER");return c}invertBatch(t){return ta(this,t)}cmov(t,n,r){return r?n:t}};function Zi(e,t={}){return new $d(e,t)}function Ug(e){if(typeof e!="bigint")throw new Error("field order must be bigint");let t=e.toString(2).length;return Math.ceil(t/8)}function zd(e){let t=Ug(e);return t+Math.ceil(t/2)}function Wd(e,t,n=!1){me(e);let r=e.length,s=Ug(t),i=zd(t);if(r<16||r<i||r>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+r);let o=n?ai(e):Hi(e),a=st(o,t-Yt)+Yt;return n?Vd(a,s):jc(a,s)}var Ki=BigInt(0),ui=BigInt(1);function na(e,t){let n=t.negate();return e?n:t}function li(e,t){let n=ta(e.Fp,t.map(r=>r.Z));return t.map((r,s)=>e.fromAffine(r.toAffine(n[s])))}function Fg(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function Hd(e,t){Fg(e,t);let n=Math.ceil(t/e)+1,r=2**(e-1),s=2**e,i=ea(e),o=BigInt(e);return{windows:n,windowSize:r,mask:i,maxNumber:s,shiftBy:o}}function Pg(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+=ui);let u=t*r,d=u+Math.abs(a)-1,p=a===0,f=a<0,g=t%2!==0;return{nextN:c,offset:d,isZero:p,isNeg:f,isNegF:g,offsetF:u}}var Jd=new WeakMap,$g=new WeakMap;function Zd(e){return $g.get(e)||1}function Lg(e){if(e!==Ki)throw new Error("invalid wNAF")}var Xi=class{BASE;ZERO;Fn;bits;constructor(t,n){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>Ki;)n&ui&&(r=r.add(s)),s=s.double(),n>>=ui;return r}precomputeWindow(t,n){let{windows:r,windowSize:s}=Hd(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=Hd(t,this.bits);for(let a=0;a<o.windows;a++){let{nextN:c,offset:u,isZero:d,isNeg:p,isNegF:f,offsetF:g}=Pg(r,a,o);r=c,d?i=i.add(na(f,n[g])):s=s.add(na(p,n[u]))}return Lg(r),{p:s,f:i}}wNAFUnsafe(t,n,r,s=this.ZERO){let i=Hd(t,this.bits);for(let o=0;o<i.windows&&r!==Ki;o++){let{nextN:a,offset:c,isZero:u,isNeg:d}=Pg(r,o,i);if(r=a,!u){let p=n[c];s=s.add(d?p.negate():p)}}return Lg(r),s}getPrecomputes(t,n,r){let s=Jd.get(n);return s||(s=this.precomputeWindow(n,t),t!==1&&(typeof r=="function"&&(s=r(s)),Jd.set(n,s))),s}cached(t,n,r){let s=Zd(t);return this.wNAF(s,this.getPrecomputes(s,t,r),n)}unsafe(t,n,r,s){let i=Zd(t);return i===1?this._unsafeLadder(t,n,s):this.wNAFUnsafe(i,this.getPrecomputes(i,t,r),n,s)}createCache(t,n){Fg(n,this.bits),$g.set(t,n),Jd.delete(t)}hasCache(t){return Zd(t)!==1}};function qg(e,t,n,r){let s=t,i=e.ZERO,o=e.ZERO;for(;n>Ki||r>Ki;)n&ui&&(i=i.add(s)),r&ui&&(o=o.add(s)),s=s.double(),n>>=ui,r>>=ui;return{p1:i,p2:o}}function Vg(e,t,n){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return Gd(t),t}else return Zi(e,{isLE:n})}function Uc(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>Ki))throw new Error(`CURVE.${c} must be positive bigint`)}let s=Vg(t.p,n.Fp,r),i=Vg(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 Pc(e,t){return function(r){let s=e(r);return{secretKey:s,publicKey:t(s)}}}var Is=BigInt(0),Qt=BigInt(1),Kd=BigInt(2),zE=BigInt(8);function WE(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 Gg(e,t={}){let n=Uc("edwards",e,t,t.FpFnLE),{Fp:r,Fn:s}=n,i=n.CURVE,{h:o}=i;Os(t,{},{uvRatio:"function"});let a=Kd<<BigInt(s.BYTES*8)-Qt,c=I=>r.create(I),u=t.uvRatio||((I,A)=>{try{return{isValid:!0,value:r.sqrt(r.div(I,A))}}catch{return{isValid:!1,value:Is}}});if(!WE(r,i,i.Gx,i.Gy))throw new Error("bad curve params: generator point");function d(I,A,M=!1){let C=M?Qt:Is;return Qo("coordinate "+I,A,C,a),A}function p(I){if(!(I instanceof b))throw new Error("EdwardsPoint expected")}let f=Ji((I,A)=>{let{X:M,Y:C,Z:B}=I,L=I.is0();A==null&&(A=L?zE:r.inv(B));let j=c(M*A),q=c(C*A),P=r.mul(B,A);if(L)return{x:Is,y:Qt};if(P!==Qt)throw new Error("invZ was invalid");return{x:j,y:q}}),g=Ji(I=>{let{a:A,d:M}=i;if(I.is0())throw new Error("bad point: ZERO");let{X:C,Y:B,Z:L,T:j}=I,q=c(C*C),P=c(B*B),D=c(L*L),Z=c(D*D),ce=c(q*A),te=c(D*c(ce+P)),U=c(Z+c(M*c(q*P)));if(te!==U)throw new Error("bad point: equation left != right (1)");let F=c(C*B),l=c(L*j);if(F!==l)throw new Error("bad point: equation left != right (2)");return!0});class b{static BASE=new b(i.Gx,i.Gy,Qt,c(i.Gx*i.Gy));static ZERO=new b(Is,Qt,Qt,Is);static Fp=r;static Fn=s;X;Y;Z;T;constructor(A,M,C,B){this.X=d("x",A),this.Y=d("y",M),this.Z=d("z",C,!0),this.T=d("t",B),Object.freeze(this)}static CURVE(){return i}static fromAffine(A){if(A instanceof b)throw new Error("extended point not allowed");let{x:M,y:C}=A||{};return d("x",M),d("y",C),new b(M,C,Qt,c(M*C))}static fromBytes(A,M=!1){let C=r.BYTES,{a:B,d:L}=i;A=Dc(me(A,C,"point")),Yr(M,"zip215");let j=Dc(A),q=A[C-1];j[C-1]=q&-129;let P=ai(j),D=M?a:r.ORDER;Qo("point.y",P,Is,D);let Z=c(P*P),ce=c(Z-Qt),te=c(L*Z-B),{isValid:U,value:F}=u(ce,te);if(!U)throw new Error("bad point: invalid y coordinate");let l=(F&Qt)===Qt,m=(q&128)!==0;if(!M&&F===Is&&m)throw new Error("bad point: x=0 and x_0=1");return m!==l&&(F=c(-F)),b.fromAffine({x:F,y:P})}static fromHex(A,M=!1){return b.fromBytes(Lr(A),M)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(A=8,M=!0){return _.createCache(this,A),M||this.multiply(Kd),this}assertValidity(){g(this)}equals(A){p(A);let{X:M,Y:C,Z:B}=this,{X:L,Y:j,Z:q}=A,P=c(M*q),D=c(L*B),Z=c(C*q),ce=c(j*B);return P===D&&Z===ce}is0(){return this.equals(b.ZERO)}negate(){return new b(c(-this.X),this.Y,this.Z,c(-this.T))}double(){let{a:A}=i,{X:M,Y:C,Z:B}=this,L=c(M*M),j=c(C*C),q=c(Kd*c(B*B)),P=c(A*L),D=M+C,Z=c(c(D*D)-L-j),ce=P+j,te=ce-q,U=P-j,F=c(Z*te),l=c(ce*U),m=c(Z*U),y=c(te*ce);return new b(F,l,y,m)}add(A){p(A);let{a:M,d:C}=i,{X:B,Y:L,Z:j,T:q}=this,{X:P,Y:D,Z,T:ce}=A,te=c(B*P),U=c(L*D),F=c(q*C*ce),l=c(j*Z),m=c((B+L)*(P+D)-te-U),y=l-F,v=l+F,w=c(U-M*te),O=c(m*y),x=c(v*w),T=c(m*w),h=c(y*v);return new b(O,x,h,T)}subtract(A){return this.add(A.negate())}multiply(A){if(!s.isValidNot0(A))throw new Error("invalid scalar: expected 1 <= sc < curve.n");let{p:M,f:C}=_.cached(this,A,B=>li(b,B));return li(b,[M,C])[0]}multiplyUnsafe(A,M=b.ZERO){if(!s.isValid(A))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return A===Is?b.ZERO:this.is0()||A===Qt?this:_.unsafe(this,A,C=>li(b,C),M)}isSmallOrder(){return this.multiplyUnsafe(o).is0()}isTorsionFree(){return _.unsafe(this,i.n).is0()}toAffine(A){return f(this,A)}clearCofactor(){return o===Qt?this:this.multiplyUnsafe(o)}toBytes(){let{x:A,y:M}=this.toAffine(),C=r.toBytes(M);return C[C.length-1]|=A&Qt?128:0,C}toHex(){return sr(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let _=new Xi(b,s.BITS);return b.BASE.precompute(8),b}function zg(e,t,n={}){if(typeof t!="function")throw new Error('"hash" function param is required');Os(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||Pi,c=n.adjustScalarBytes||(P=>P),u=n.domain||((P,D,Z)=>{if(Yr(Z,"phflag"),D.length||Z)throw new Error("Contexts/pre-hash are not supported");return P});function d(P){return o.create(ai(P))}function p(P){let D=C.secretKey;me(P,C.secretKey,"secretKey");let Z=me(t(P),2*D,"hashedSecretKey"),ce=c(Z.slice(0,D)),te=Z.slice(D,2*D),U=d(ce);return{head:ce,prefix:te,scalar:U}}function f(P){let{head:D,prefix:Z,scalar:ce}=p(P),te=s.multiply(ce),U=te.toBytes();return{head:D,prefix:Z,scalar:ce,point:te,pointBytes:U}}function g(P){return f(P).pointBytes}function b(P=Uint8Array.of(),...D){let Z=zt(...D);return d(t(u(Z,me(P,void 0,"context"),!!r)))}function _(P,D,Z={}){P=me(P,void 0,"message"),r&&(P=r(P));let{prefix:ce,scalar:te,pointBytes:U}=f(D),F=b(Z.context,ce,P),l=s.multiply(F).toBytes(),m=b(Z.context,l,U,P),y=o.create(F+m*te);if(!o.isValid(y))throw new Error("sign failed: invalid s");let v=zt(l,o.toBytes(y));return me(v,C.signature,"result")}let I={zip215:!0};function A(P,D,Z,ce=I){let{context:te,zip215:U}=ce,F=C.signature;P=me(P,F,"signature"),D=me(D,void 0,"message"),Z=me(Z,C.publicKey,"publicKey"),U!==void 0&&Yr(U,"zip215"),r&&(D=r(D));let l=F/2,m=P.subarray(0,l),y=ai(P.subarray(l,F)),v,w,O;try{v=e.fromBytes(Z,U),w=e.fromBytes(m,U),O=s.multiplyUnsafe(y)}catch{return!1}if(!U&&v.isSmallOrder())return!1;let x=b(te,w.toBytes(),v.toBytes(),D);return w.add(v.multiplyUnsafe(x)).subtract(O).clearCofactor().is0()}let M=i.BYTES,C={secretKey:M,publicKey:M,signature:2*M,seed:M};function B(P=a(C.seed)){return me(P,C.seed,"seed")}function L(P){return $s(P)&&P.length===o.BYTES}function j(P,D){try{return!!e.fromBytes(P,D)}catch{return!1}}let q={getExtendedPublicKey:f,randomSecretKey:B,isValidSecretKey:L,isValidPublicKey:j,toMontgomery(P){let{y:D}=e.fromBytes(P),Z=C.publicKey,ce=Z===32;if(!ce&&Z!==57)throw new Error("only defined for 25519 and 448");let te=ce?i.div(Qt+D,Qt-D):i.div(D-Qt,D+Qt);return i.toBytes(te)},toMontgomerySecret(P){let D=C.secretKey;me(P,D);let Z=t(P.subarray(0,D));return c(Z).subarray(0,D)}};return Object.freeze({keygen:Pc(B,g),getPublicKey:g,sign:_,verify:A,utils:q,Point:e,lengths:C})}var HE=BigInt(1),Wg=BigInt(2);var JE=BigInt(5),ZE=BigInt(8),Xd=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),KE=(()=>({p:Xd,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:ZE,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")}))();function XE(e){let t=BigInt(10),n=BigInt(20),r=BigInt(40),s=BigInt(80),i=Xd,a=e*e%i*e%i,c=Ke(a,Wg,i)*a%i,u=Ke(c,HE,i)*e%i,d=Ke(u,JE,i)*u%i,p=Ke(d,t,i)*d%i,f=Ke(p,n,i)*p%i,g=Ke(f,r,i)*f%i,b=Ke(g,s,i)*g%i,_=Ke(b,s,i)*g%i,I=Ke(_,t,i)*d%i;return{pow_p_5_8:Ke(I,Wg,i)*e%i,b2:a}}function YE(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var Hg=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function QE(e,t){let n=Xd,r=st(t*t*t,n),s=st(r*r*t,n),i=XE(e*s).pow_p_5_8,o=st(e*r*i,n),a=st(t*o*o,n),c=o,u=st(o*Hg,n),d=a===e,p=a===st(-e,n),f=a===st(-e*Hg,n);return d&&(o=c),(p||f)&&(o=u),Dg(o,n)&&(o=st(-o,n)),{isValid:d||p,value:o}}var e2=Gg(KE,{uvRatio:QE});function t2(e){return zg(e2,Er,Object.assign({adjustScalarBytes:YE},e))}var ur=t2({});var Yd=32,Jg=class extends Rc{static{this.SIZE=Yd}constructor(e){if(super(),typeof e=="string"?this.data=ie(e):e instanceof Uint8Array?this.data=e:this.data=Uint8Array.from(e),this.data.length!==Yd)throw new Error(`Invalid public key input. Expected ${Yd} bytes, got ${this.data.length}`)}equals(e){return super.equals(e)}toRawBytes(){return this.data}flag(){return Ts.ED25519}async verify(e,t){let n;if(typeof t=="string"){let r=Mc(t);if(r.signatureScheme!=="ED25519")throw new Error("Invalid signature scheme");if(!Xo(this.toRawBytes(),r.publicKey))throw new Error("Signature does not match public key");n=r.signature}else n=t;return ur.verify(n,e,this.toRawBytes())}};var Lc=class{oHash;iHash;blockLen;outputLen;finished=!1;destroyed=!1;constructor(t,n){if(Ui(t),me(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),Xt(s)}update(t){return Pr(this),this.iHash.update(t),this}digestInto(t){Pr(this),me(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||=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()}},lr=(e,t,n)=>new Lc(e,t).update(n).digest();lr.create=(e,t)=>new Lc(e,t);function n2(e,t,n,r){Ui(e);let s=Im({dkLen:32,asyncTick:10},r),{c:i,dkLen:o,asyncTick:a}=s;if(Kt(i,"c"),Kt(o,"dkLen"),Kt(a,"asyncTick"),i<1)throw new Error("iterations (c) must be >= 1");let c=Vl(t,"password"),u=Vl(n,"salt"),d=new Uint8Array(o),p=lr.create(e,c),f=p._cloneInto().update(u);return{c:i,dkLen:o,asyncTick:a,DK:d,PRF:p,PRFSalt:f}}function r2(e,t,n,r,s){return e.destroy(),t.destroy(),r&&r.destroy(),Xt(s),n}function Zg(e,t,n,r){let{c:s,dkLen:i,DK:o,PRF:a,PRFSalt:c}=n2(e,t,n,r),u,d=new Uint8Array(4),p=br(d),f=new Uint8Array(a.outputLen);for(let g=1,b=0;b<i;g++,b+=a.outputLen){let _=o.subarray(b,b+a.outputLen);p.setInt32(0,g,!1),(u=c._cloneInto(u)).update(d).digestInto(f),_.set(f.subarray(0,_.length));for(let I=1;I<s;I++){a._cloneInto(u).update(f).digestInto(f);for(let A=0;A<_.length;A++)_[A]^=f[A]}}return r2(a,c,o,u,f)}function Kg(e){if(typeof e!="string")throw new TypeError("invalid mnemonic type: "+typeof e);return e.normalize("NFKD")}function s2(e){let t=Kg(e),n=t.split(" ");if(![12,15,18,21,24].includes(n.length))throw new Error("Invalid mnemonic");return{nfkd:t,words:n}}var i2=e=>Kg("mnemonic"+e);function Xg(e,t=""){return Zg(Er,s2(e).nfkd,i2(t),{c:2048,dkLen:64})}function Qd(e){return!!new RegExp("^m\\/44'\\/784'\\/[0-9]+'\\/[0-9]+'\\/[0-9]+'+$").test(e)}function Yg(e){return!!new RegExp("^m\\/(54|74)'\\/784'\\/[0-9]+'\\/[0-9]+\\/[0-9]+$").test(e)}function ep(e){return Xg(e,"")}function Qg(e){return Vt(ep(e))}var e0=(e,t)=>(e+(e>=0?t:-t)/t0)/t;function o2(e,t,n){let[[r,s],[i,o]]=t,a=e0(o*e,n),c=e0(-s*e,n),u=e-a*r-c*i,d=-a*s-c*o,p=u<Qr,f=d<Qr;p&&(u=-u),f&&(d=-d);let g=ea(Math.ceil(Fd(n)/2))+Yi;if(u<Qr||u>=g||d<Qr||d>=g)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:p,k1:u,k2neg:f,k2:d}}function np(e){if(!["compact","recovered","der"].includes(e))throw new Error('Signature format must be "compact", "recovered", or "der"');return e}function tp(e,t){let n={};for(let r of Object.keys(t))n[r]=e[r]===void 0?t[r]:e[r];return Yr(n.lowS,"lowS"),Yr(n.prehash,"prehash"),n.format!==void 0&&np(n.format),n}var rp=class extends Error{constructor(t=""){super(t)}},As={Err:rp,_tlv:{encode:(e,t)=>{let{Err:n}=As;if(e<0||e>256)throw new n("tlv.encode: wrong tag");if(t.length&1)throw new n("tlv.encode: unpadded data");let r=t.length/2,s=Yo(r);if(s.length/2&128)throw new n("tlv.encode: long form length too big");let i=r>127?Yo(s.length/2|128):"";return Yo(e)+i+s+t},decode(e,t){let{Err:n}=As,r=0;if(e<0||e>256)throw new n("tlv.encode: wrong tag");if(t.length<2||t[r++]!==e)throw new n("tlv.decode: wrong tlv");let s=t[r++],i=!!(s&128),o=0;if(!i)o=s;else{let c=s&127;if(!c)throw new n("tlv.decode(long): indefinite length not supported");if(c>4)throw new n("tlv.decode(long): byte length is too big");let u=t.subarray(r,r+c);if(u.length!==c)throw new n("tlv.decode: length bytes not complete");if(u[0]===0)throw new n("tlv.decode(long): zero leftmost byte");for(let d of u)o=o<<8|d;if(r+=c,o<128)throw new n("tlv.decode(long): not minimal encoding")}let a=t.subarray(r,r+o);if(a.length!==o)throw new n("tlv.decode: wrong value length");return{v:a,l:t.subarray(r+o)}}},_int:{encode(e){let{Err:t}=As;if(e<Qr)throw new t("integer: negative integers are not allowed");let n=Yo(e);if(Number.parseInt(n[0],16)&8&&(n="00"+n),n.length&1)throw new t("unexpected DER parsing assertion: unpadded hex");return n},decode(e){let{Err:t}=As;if(e[0]&128)throw new t("invalid signature integer: negative");if(e[0]===0&&!(e[1]&128))throw new t("invalid signature integer: unnecessary leading zero");return Hi(e)}},toSig(e){let{Err:t,_int:n,_tlv:r}=As,s=me(e,void 0,"signature"),{v:i,l:o}=r.decode(48,s);if(o.length)throw new t("invalid signature: left bytes after parsing");let{v:a,l:c}=r.decode(2,i),{v:u,l:d}=r.decode(2,c);if(d.length)throw new t("invalid signature: left bytes after parsing");return{r:n.decode(a),s:n.decode(u)}},hexFromSig(e){let{_tlv:t,_int:n}=As,r=t.encode(2,n.encode(e.r)),s=t.encode(2,n.encode(e.s)),i=r+s;return t.encode(48,i)}},Qr=BigInt(0),Yi=BigInt(1),t0=BigInt(2),Vc=BigInt(3),a2=BigInt(4);function n0(e,t={}){let n=Uc("weierstrass",e,t),{Fp:r,Fn:s}=n,i=n.CURVE,{h:o,n:a}=i;Os(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object"});let{endo:c}=t;if(c&&(!r.is0(i.a)||typeof c.beta!="bigint"||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let u=s0(r,s);function d(){if(!r.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function p(te,U,F){let{x:l,y:m}=U.toAffine(),y=r.toBytes(l);if(Yr(F,"isCompressed"),F){d();let v=!r.isOdd(m);return zt(r0(v),y)}else return zt(Uint8Array.of(4),y,r.toBytes(m))}function f(te){me(te,void 0,"Point");let{publicKey:U,publicKeyUncompressed:F}=u,l=te.length,m=te[0],y=te.subarray(1);if(l===U&&(m===2||m===3)){let v=r.fromBytes(y);if(!r.isValid(v))throw new Error("bad point: is not on curve, wrong x");let w=_(v),O;try{O=r.sqrt(w)}catch(h){let S=h instanceof Error?": "+h.message:"";throw new Error("bad point: is not on curve, sqrt error"+S)}d();let x=r.isOdd(O);return(m&1)===1!==x&&(O=r.neg(O)),{x:v,y:O}}else if(l===F&&m===4){let v=r.BYTES,w=r.fromBytes(y.subarray(0,v)),O=r.fromBytes(y.subarray(v,v*2));if(!I(w,O))throw new Error("bad point: is not on curve");return{x:w,y:O}}else throw new Error(`bad point: got length ${l}, expected compressed=${U} or uncompressed=${F}`)}let g=t.toBytes||p,b=t.fromBytes||f;function _(te){let U=r.sqr(te),F=r.mul(U,te);return r.add(r.add(F,r.mul(te,i.a)),i.b)}function I(te,U){let F=r.sqr(U),l=_(te);return r.eql(F,l)}if(!I(i.Gx,i.Gy))throw new Error("bad curve params: generator point");let A=r.mul(r.pow(i.a,Vc),a2),M=r.mul(r.sqr(i.b),BigInt(27));if(r.is0(r.add(A,M)))throw new Error("bad curve params: a or b");function C(te,U,F=!1){if(!r.isValid(U)||F&&r.is0(U))throw new Error(`bad point coordinate ${te}`);return U}function B(te){if(!(te instanceof D))throw new Error("Weierstrass Point expected")}function L(te){if(!c||!c.basises)throw new Error("no endo");return o2(te,c.basises,s.ORDER)}let j=Ji((te,U)=>{let{X:F,Y:l,Z:m}=te;if(r.eql(m,r.ONE))return{x:F,y:l};let y=te.is0();U==null&&(U=y?r.ONE:r.inv(m));let v=r.mul(F,U),w=r.mul(l,U),O=r.mul(m,U);if(y)return{x:r.ZERO,y:r.ZERO};if(!r.eql(O,r.ONE))throw new Error("invZ was invalid");return{x:v,y:w}}),q=Ji(te=>{if(te.is0()){if(t.allowInfinityPoint&&!r.is0(te.Y))return;throw new Error("bad point: ZERO")}let{x:U,y:F}=te.toAffine();if(!r.isValid(U)||!r.isValid(F))throw new Error("bad point: x or y not field elements");if(!I(U,F))throw new Error("bad point: equation left != right");if(!te.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function P(te,U,F,l,m){return F=new D(r.mul(F.X,te),F.Y,F.Z),U=na(l,U),F=na(m,F),U.add(F)}class D{static BASE=new D(i.Gx,i.Gy,r.ONE);static ZERO=new D(r.ZERO,r.ONE,r.ZERO);static Fp=r;static Fn=s;X;Y;Z;constructor(U,F,l){this.X=C("x",U),this.Y=C("y",F,!0),this.Z=C("z",l),Object.freeze(this)}static CURVE(){return i}static fromAffine(U){let{x:F,y:l}=U||{};if(!U||!r.isValid(F)||!r.isValid(l))throw new Error("invalid affine point");if(U instanceof D)throw new Error("projective point not allowed");return r.is0(F)&&r.is0(l)?D.ZERO:new D(F,l,r.ONE)}static fromBytes(U){let F=D.fromAffine(b(me(U,void 0,"point")));return F.assertValidity(),F}static fromHex(U){return D.fromBytes(Lr(U))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(U=8,F=!0){return ce.createCache(this,U),F||this.multiply(Vc),this}assertValidity(){q(this)}hasEvenY(){let{y:U}=this.toAffine();if(!r.isOdd)throw new Error("Field doesn't support isOdd");return!r.isOdd(U)}equals(U){B(U);let{X:F,Y:l,Z:m}=this,{X:y,Y:v,Z:w}=U,O=r.eql(r.mul(F,w),r.mul(y,m)),x=r.eql(r.mul(l,w),r.mul(v,m));return O&&x}negate(){return new D(this.X,r.neg(this.Y),this.Z)}double(){let{a:U,b:F}=i,l=r.mul(F,Vc),{X:m,Y:y,Z:v}=this,w=r.ZERO,O=r.ZERO,x=r.ZERO,T=r.mul(m,m),h=r.mul(y,y),S=r.mul(v,v),W=r.mul(m,y);return W=r.add(W,W),x=r.mul(m,v),x=r.add(x,x),w=r.mul(U,x),O=r.mul(l,S),O=r.add(w,O),w=r.sub(h,O),O=r.add(h,O),O=r.mul(w,O),w=r.mul(W,w),x=r.mul(l,x),S=r.mul(U,S),W=r.sub(T,S),W=r.mul(U,W),W=r.add(W,x),x=r.add(T,T),T=r.add(x,T),T=r.add(T,S),T=r.mul(T,W),O=r.add(O,T),S=r.mul(y,v),S=r.add(S,S),T=r.mul(S,W),w=r.sub(w,T),x=r.mul(S,h),x=r.add(x,x),x=r.add(x,x),new D(w,O,x)}add(U){B(U);let{X:F,Y:l,Z:m}=this,{X:y,Y:v,Z:w}=U,O=r.ZERO,x=r.ZERO,T=r.ZERO,h=i.a,S=r.mul(i.b,Vc),W=r.mul(F,y),K=r.mul(l,v),re=r.mul(m,w),fe=r.add(F,l),ue=r.add(y,v);fe=r.mul(fe,ue),ue=r.add(W,K),fe=r.sub(fe,ue),ue=r.add(F,m);let Ee=r.add(y,w);return ue=r.mul(ue,Ee),Ee=r.add(W,re),ue=r.sub(ue,Ee),Ee=r.add(l,m),O=r.add(v,w),Ee=r.mul(Ee,O),O=r.add(K,re),Ee=r.sub(Ee,O),T=r.mul(h,ue),O=r.mul(S,re),T=r.add(O,T),O=r.sub(K,T),T=r.add(K,T),x=r.mul(O,T),K=r.add(W,W),K=r.add(K,W),re=r.mul(h,re),ue=r.mul(S,ue),K=r.add(K,re),re=r.sub(W,re),re=r.mul(h,re),ue=r.add(ue,re),W=r.mul(K,ue),x=r.add(x,W),W=r.mul(Ee,ue),O=r.mul(fe,O),O=r.sub(O,W),W=r.mul(fe,K),T=r.mul(Ee,T),T=r.add(T,W),new D(O,x,T)}subtract(U){return this.add(U.negate())}is0(){return this.equals(D.ZERO)}multiply(U){let{endo:F}=t;if(!s.isValidNot0(U))throw new Error("invalid scalar: out of range");let l,m,y=v=>ce.cached(this,v,w=>li(D,w));if(F){let{k1neg:v,k1:w,k2neg:O,k2:x}=L(U),{p:T,f:h}=y(w),{p:S,f:W}=y(x);m=h.add(W),l=P(F.beta,T,S,v,O)}else{let{p:v,f:w}=y(U);l=v,m=w}return li(D,[l,m])[0]}multiplyUnsafe(U){let{endo:F}=t,l=this;if(!s.isValid(U))throw new Error("invalid scalar: out of range");if(U===Qr||l.is0())return D.ZERO;if(U===Yi)return l;if(ce.hasCache(this))return this.multiply(U);if(F){let{k1neg:m,k1:y,k2neg:v,k2:w}=L(U),{p1:O,p2:x}=qg(D,l,y,w);return P(F.beta,O,x,m,v)}else return ce.unsafe(l,U)}toAffine(U){return j(this,U)}isTorsionFree(){let{isTorsionFree:U}=t;return o===Yi?!0:U?U(D,this):ce.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:U}=t;return o===Yi?this:U?U(D,this):this.multiplyUnsafe(o)}isSmallOrder(){return this.multiplyUnsafe(o).is0()}toBytes(U=!0){return Yr(U,"isCompressed"),this.assertValidity(),g(D,this,U)}toHex(U=!0){return sr(this.toBytes(U))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let Z=s.BITS,ce=new Xi(D,t.endo?Math.ceil(Z/2):Z);return D.BASE.precompute(8),D}function r0(e){return Uint8Array.of(e?2:3)}function s0(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function c2(e,t={}){let{Fn:n}=e,r=t.randomBytes||Pi,s=Object.assign(s0(e.Fp,n),{seed:zd(n.ORDER)});function i(g){try{let b=n.fromBytes(g);return n.isValidNot0(b)}catch{return!1}}function o(g,b){let{publicKey:_,publicKeyUncompressed:I}=s;try{let A=g.length;return b===!0&&A!==_||b===!1&&A!==I?!1:!!e.fromBytes(g)}catch{return!1}}function a(g=r(s.seed)){return Wd(me(g,s.seed,"seed"),n.ORDER)}function c(g,b=!0){return e.BASE.multiply(n.fromBytes(g)).toBytes(b)}function u(g){let{secretKey:b,publicKey:_,publicKeyUncompressed:I}=s;if(!$s(g)||"_lengths"in n&&n._lengths||b===_)return;let A=me(g,void 0,"key").length;return A===_||A===I}function d(g,b,_=!0){if(u(g)===!0)throw new Error("first arg must be private key");if(u(b)===!1)throw new Error("second arg must be public key");let I=n.fromBytes(g);return e.fromBytes(b).multiply(I).toBytes(_)}let p={isValidSecretKey:i,isValidPublicKey:o,randomSecretKey:a},f=Pc(a,c);return Object.freeze({getPublicKey:c,getSharedSecret:d,keygen:f,Point:e,utils:p,lengths:s})}function i0(e,t,n={}){Ui(t),Os(n,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"}),n=Object.assign({},n);let r=n.randomBytes||Pi,s=n.hmac||((F,l)=>lr(t,F,l)),{Fp:i,Fn:o}=e,{ORDER:a,BITS:c}=o,{keygen:u,getPublicKey:d,getSharedSecret:p,utils:f,lengths:g}=c2(e,n),b={prehash:!0,lowS:typeof n.lowS=="boolean"?n.lowS:!0,format:"compact",extraEntropy:!1},_=a*t0<i.ORDER;function I(F){let l=a>>Yi;return F>l}function A(F,l){if(!o.isValidNot0(l))throw new Error(`invalid signature ${F}: out of range 1..Point.Fn.ORDER`);return l}function M(){if(_)throw new Error('"recovered" sig type is not supported for cofactor >2 curves')}function C(F,l){np(l);let m=g.signature,y=l==="compact"?m:l==="recovered"?m+1:void 0;return me(F,y)}class B{r;s;recovery;constructor(l,m,y){if(this.r=A("r",l),this.s=A("s",m),y!=null){if(M(),![0,1,2,3].includes(y))throw new Error("invalid recovery id");this.recovery=y}Object.freeze(this)}static fromBytes(l,m=b.format){C(l,m);let y;if(m==="der"){let{r:x,s:T}=As.toSig(me(l));return new B(x,T)}m==="recovered"&&(y=l[0],m="compact",l=l.subarray(1));let v=g.signature/2,w=l.subarray(0,v),O=l.subarray(v,v*2);return new B(o.fromBytes(w),o.fromBytes(O),y)}static fromHex(l,m){return this.fromBytes(Lr(l),m)}assertRecovery(){let{recovery:l}=this;if(l==null)throw new Error("invalid recovery id: must be present");return l}addRecoveryBit(l){return new B(this.r,this.s,l)}recoverPublicKey(l){let{r:m,s:y}=this,v=this.assertRecovery(),w=v===2||v===3?m+a:m;if(!i.isValid(w))throw new Error("invalid recovery id: sig.r+curve.n != R.x");let O=i.toBytes(w),x=e.fromBytes(zt(r0((v&1)===0),O)),T=o.inv(w),h=j(me(l,void 0,"msgHash")),S=o.create(-h*T),W=o.create(y*T),K=e.BASE.multiplyUnsafe(S).add(x.multiplyUnsafe(W));if(K.is0())throw new Error("invalid recovery: point at infinify");return K.assertValidity(),K}hasHighS(){return I(this.s)}toBytes(l=b.format){if(np(l),l==="der")return Lr(As.hexFromSig(this));let{r:m,s:y}=this,v=o.toBytes(m),w=o.toBytes(y);return l==="recovered"?(M(),zt(Uint8Array.of(this.assertRecovery()),v,w)):zt(v,w)}toHex(l){return sr(this.toBytes(l))}}let L=n.bits2int||function(l){if(l.length>8192)throw new Error("input is too large");let m=Hi(l),y=l.length*8-c;return y>0?m>>BigInt(y):m},j=n.bits2int_modN||function(l){return o.create(L(l))},q=ea(c);function P(F){return Qo("num < 2^"+c,F,Qr,q),o.toBytes(F)}function D(F,l){return me(F,void 0,"message"),l?me(t(F),void 0,"prehashed message"):F}function Z(F,l,m){let{lowS:y,prehash:v,extraEntropy:w}=tp(m,b);F=D(F,v);let O=j(F),x=o.fromBytes(l);if(!o.isValidNot0(x))throw new Error("invalid private key");let T=[P(x),P(O)];if(w!=null&&w!==!1){let K=w===!0?r(g.secretKey):w;T.push(me(K,void 0,"extraEntropy"))}let h=zt(...T),S=O;function W(K){let re=L(K);if(!o.isValidNot0(re))return;let fe=o.inv(re),ue=e.BASE.multiply(re).toAffine(),Ee=o.create(ue.x);if(Ee===Qr)return;let Bn=o.create(fe*o.create(S+Ee*x));if(Bn===Qr)return;let Pe=(ue.x===Ee?0:2)|Number(ue.y&Yi),Fe=Bn;return y&&I(Bn)&&(Fe=o.neg(Bn),Pe^=1),new B(Ee,Fe,_?void 0:Pe)}return{seed:h,k2sig:W}}function ce(F,l,m={}){let{seed:y,k2sig:v}=Z(F,l,m);return Og(t.outputLen,o.BYTES,s)(y,v).toBytes(m.format)}function te(F,l,m,y={}){let{lowS:v,prehash:w,format:O}=tp(y,b);if(m=me(m,void 0,"publicKey"),l=D(l,w),!$s(F)){let x=F instanceof B?", use sig.toBytes()":"";throw new Error("verify expects Uint8Array signature"+x)}C(F,O);try{let x=B.fromBytes(F,O),T=e.fromBytes(m);if(v&&x.hasHighS())return!1;let{r:h,s:S}=x,W=j(l),K=o.inv(S),re=o.create(W*K),fe=o.create(h*K),ue=e.BASE.multiplyUnsafe(re).add(T.multiplyUnsafe(fe));return ue.is0()?!1:o.create(ue.x)===h}catch{return!1}}function U(F,l,m={}){let{prehash:y}=tp(m,b);return l=D(l,y),B.fromBytes(F,"recovered").recoverPublicKey(l).toBytes()}return Object.freeze({keygen:u,getPublicKey:d,getSharedSecret:p,utils:f,lengths:g,Point:e,sign:ce,verify:te,recoverPublicKey:U,Signature:B,hash:t})}function o0({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([Ts[t]]),s.set(e,1),s.set(r,1+e.length),ye(s)}var ra=32;var a0="suiprivkey",u2=class{async signWithIntent(e,t){let n=ir(Nc(t,e),{dkLen:32});return{signature:o0({signature:await this.sign(n),signatureScheme:this.getKeyScheme(),publicKey:this.getPublicKey()}),bytes:ye(e)}}async signTransaction(e){return this.signWithIntent(e,"TransactionData")}async signPersonalMessage(e){let{signature:t}=await this.signWithIntent(k.byteVector().serialize(e).toBytes(),"PersonalMessage");return{bytes:ye(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()}},Fc=class extends u2{};function $c(e){let{prefix:t,words:n}=To.decode(e);if(t!==a0)throw new Error("invalid private key prefix");let r=new Uint8Array(To.fromWords(n)),s=r.slice(1);return{scheme:Ko[r[0]],secretKey:s}}function qc(e,t){if(e.length!==ra)throw new Error("Invalid bytes length");let n=Ts[t],r=new Uint8Array(e.length+1);return r.set([n]),r.set(e,1),To.encode(a0,To.toWords(r))}var l2="ed25519 seed",d2=2147483648,p2=new RegExp("^m(\\/[0-9]+')+$"),c0=e=>e.replace("'",""),f2=e=>{let t=lr.create(Er,new TextEncoder().encode(l2)).update(dn(e)).digest();return{key:t.slice(0,32),chainCode:t.slice(32)}},m2=({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=lr.create(Er,t).update(s).digest();return{key:i.slice(0,32),chainCode:i.slice(32)}},h2=e=>p2.test(e)?!e.split("/").slice(1).map(c0).some(isNaN):!1,sp=(e,t,n=d2)=>{if(!h2(e))throw new Error("Invalid derivation path");let{key:r,chainCode:s}=f2(t);return e.split("/").slice(1).map(c0).map(i=>parseInt(i,10)).reduce((i,o)=>m2(i,o+n),{key:r,chainCode:s})};var ip="m/44'/784'/0'/0'/0'",Gc=class sa extends Fc{constructor(t){if(super(),t)this.keypair={publicKey:t.publicKey,secretKey:t.secretKey.slice(0,32)};else{let n=ur.utils.randomSecretKey();this.keypair={publicKey:ur.getPublicKey(n),secretKey:n}}}getKeyScheme(){return"ED25519"}static generate(){let t=ur.utils.randomSecretKey();return new sa({publicKey:ur.getPublicKey(t),secretKey:t})}static fromSecretKey(t,n){if(typeof t=="string"){let i=$c(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!==ra)throw new Error(`Wrong secretKey size. Expected ${ra} bytes, got ${r}.`);let s={publicKey:ur.getPublicKey(t),secretKey:t};if(!n||!n.skipValidation){let i=new TextEncoder().encode("sui validation"),o=ur.sign(i,t);if(!ur.verify(o,i,s.publicKey))throw new Error("provided secretKey is invalid")}return new sa(s)}getPublicKey(){return new Jg(this.keypair.publicKey)}getSecretKey(){return qc(this.keypair.secretKey.slice(0,ra),this.getKeyScheme())}async sign(t){return ur.sign(t,this.keypair.secretKey)}static deriveKeypair(t,n){if(n==null&&(n=ip),!Qd(n))throw new Error("Invalid derivation path");let{key:r}=sp(n,Qg(t));return sa.fromSecretKey(r)}static deriveKeypairFromSeed(t,n){if(n==null&&(n=ip),!Qd(n))throw new Error("Invalid derivation path");let r=typeof t=="string"?t:Vt(t),{key:s}=sp(n,r);return sa.fromSecretKey(s)}};var ap={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},g2={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]};var u0=BigInt(2);function y2(e){let t=ap.p,n=BigInt(3),r=BigInt(6),s=BigInt(11),i=BigInt(22),o=BigInt(23),a=BigInt(44),c=BigInt(88),u=e*e*e%t,d=u*u*e%t,p=Ke(d,n,t)*d%t,f=Ke(p,n,t)*d%t,g=Ke(f,u0,t)*u%t,b=Ke(g,s,t)*g%t,_=Ke(b,i,t)*b%t,I=Ke(_,a,t)*_%t,A=Ke(I,c,t)*I%t,M=Ke(A,a,t)*_%t,C=Ke(M,n,t)*d%t,B=Ke(C,o,t)*b%t,L=Ke(B,r,t)*u%t,j=Ke(L,u0,t);if(!op.eql(op.sqr(j),e))throw new Error("Cannot find square root");return j}var op=Zi(ap.p,{sqrt:y2}),b2=n0(ap,{Fp:op,endo:g2}),cn=i0(b2,Wi);var cp=33,l0=class extends Rc{static{this.SIZE=cp}constructor(e){if(super(),typeof e=="string"?this.data=ie(e):e instanceof Uint8Array?this.data=e:this.data=Uint8Array.from(e),this.data.length!==cp)throw new Error(`Invalid public key input. Expected ${cp} bytes, got ${this.data.length}`)}equals(e){return super.equals(e)}toRawBytes(){return this.data}flag(){return Ts.Secp256k1}async verify(e,t){let n;if(typeof t=="string"){let r=Mc(t);if(r.signatureScheme!=="Secp256k1")throw new Error("Invalid signature scheme");if(!Xo(this.toRawBytes(),r.publicKey))throw new Error("Signature does not match public key");n=r.signature}else n=t;return cn.verify(n,e,this.toRawBytes())}};var v2=Uint8Array.from([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),p0=(()=>Uint8Array.from(new Array(16).fill(0).map((e,t)=>t)))(),_2=(()=>p0.map(e=>(9*e+5)%16))(),f0=(()=>{let n=[[p0],[_2]];for(let r=0;r<4;r++)for(let s of n)s.push(s[r].map(i=>v2[i]));return n})(),m0=(()=>f0[0])(),h0=(()=>f0[1])(),g0=[[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8],[12,13,11,15,6,9,9,7,12,15,11,13,7,8,7,7],[13,15,14,11,7,7,6,8,13,14,13,12,5,5,6,9],[14,11,12,14,8,6,5,5,15,12,15,14,9,9,8,6],[15,12,13,13,9,5,8,6,14,11,12,11,8,6,5,5]].map(e=>Uint8Array.from(e)),w2=m0.map((e,t)=>e.map(n=>g0[t][n])),T2=h0.map((e,t)=>e.map(n=>g0[t][n])),k2=Uint32Array.from([0,1518500249,1859775393,2400959708,2840853838]),S2=Uint32Array.from([1352829926,1548603684,1836072691,2053994217,0]);function d0(e,t,n,r){return e===0?t^n^r:e===1?t&n|~t&r:e===2?(t|~n)^r:e===3?t&r|n&~r:t^(n|~r)}var zc=new Uint32Array(16),up=class extends zs{h0=1732584193;h1=-271733879;h2=-1732584194;h3=271733878;h4=-1009589776;constructor(){super(64,20,8,!0)}get(){let{h0:t,h1:n,h2:r,h3:s,h4:i}=this;return[t,n,r,s,i]}set(t,n,r,s,i){this.h0=t|0,this.h1=n|0,this.h2=r|0,this.h3=s|0,this.h4=i|0}process(t,n){for(let g=0;g<16;g++,n+=4)zc[g]=t.getUint32(n,!0);let r=this.h0|0,s=r,i=this.h1|0,o=i,a=this.h2|0,c=a,u=this.h3|0,d=u,p=this.h4|0,f=p;for(let g=0;g<5;g++){let b=4-g,_=k2[g],I=S2[g],A=m0[g],M=h0[g],C=w2[g],B=T2[g];for(let L=0;L<16;L++){let j=Oo(r+d0(g,i,a,u)+zc[A[L]]+_,C[L])+p|0;r=p,p=u,u=Oo(a,10)|0,a=i,i=j}for(let L=0;L<16;L++){let j=Oo(s+d0(b,o,c,d)+zc[M[L]]+I,B[L])+f|0;s=f,f=d,d=Oo(c,10)|0,c=o,o=j}}this.set(this.h1+a+d|0,this.h2+u+f|0,this.h3+p+s|0,this.h4+r+o|0,this.h0+i+c|0)}roundClean(){Xt(zc)}destroy(){this.destroyed=!0,Xt(this.buffer),this.set(0,0,0,0,0)}},y0=Gs(()=>new up);var oa=cn.Point,{Fn:ia}=oa,lp=em(Wi),E2=Uint8Array.from("Bitcoin seed".split(""),e=>e.charCodeAt(0)),dp={private:76066276,public:76067358},pp=2147483648,O2=e=>y0(Wi(e)),I2=e=>br(e).getUint32(0,!1),Wc=e=>{if(!Number.isSafeInteger(e)||e<0||e>2**32-1)throw new Error("invalid number, should be from 0 to 2**32-1, got "+e);let t=new Uint8Array(4);return br(t).setUint32(0,e,!1),t},Or=class{get fingerprint(){if(!this.pubHash)throw new Error("No publicKey set!");return I2(this.pubHash)}get identifier(){return this.pubHash}get pubKeyHash(){return this.pubHash}get privateKey(){return this._privateKey||null}get publicKey(){return this._publicKey||null}get privateExtendedKey(){let t=this._privateKey;if(!t)throw new Error("No private key");return lp.encode(this.serialize(this.versions.private,zt(Uint8Array.of(0),t)))}get publicExtendedKey(){if(!this._publicKey)throw new Error("No public key");return lp.encode(this.serialize(this.versions.public,this._publicKey))}static fromMasterSeed(t,n=dp){if(me(t),8*t.length<128||8*t.length>512)throw new Error("HDKey: seed length must be between 128 and 512 bits; 256 bits is advised, got "+t.length);let r=lr(Er,E2,t),s=r.slice(0,32),i=r.slice(32);return new Or({versions:n,chainCode:i,privateKey:s})}static fromExtendedKey(t,n=dp){let r=lp.decode(t),s=br(r),i=s.getUint32(0,!1),o={versions:n,depth:r[4],parentFingerprint:s.getUint32(5,!1),index:s.getUint32(9,!1),chainCode:r.slice(13,45)},a=r.slice(45),c=a[0]===0;if(i!==n[c?"private":"public"])throw new Error("Version mismatch");return c?new Or({...o,privateKey:a.slice(1)}):new Or({...o,publicKey:a})}static fromJSON(t){return Or.fromExtendedKey(t.xpriv)}versions;depth=0;index=0;chainCode=null;parentFingerprint=0;_privateKey;_publicKey;pubHash;constructor(t){if(!t||typeof t!="object")throw new Error("HDKey.constructor must not be called directly");if(this.versions=t.versions||dp,this.depth=t.depth||0,this.chainCode=t.chainCode||null,this.index=t.index||0,this.parentFingerprint=t.parentFingerprint||0,!this.depth&&(this.parentFingerprint||this.index))throw new Error("HDKey: zero depth with non-zero index/parent fingerprint");if(this.depth>255)throw new Error("HDKey: depth exceeds the serializable value 255");if(t.publicKey&&t.privateKey)throw new Error("HDKey: publicKey and privateKey at same time.");if(t.privateKey){if(!cn.utils.isValidSecretKey(t.privateKey))throw new Error("Invalid private key");this._privateKey=t.privateKey,this._publicKey=cn.getPublicKey(t.privateKey,!0)}else if(t.publicKey)this._publicKey=oa.fromBytes(t.publicKey).toBytes(!0);else throw new Error("HDKey: no public or private key provided");this.pubHash=O2(this._publicKey)}derive(t){if(!/^[mM]'?/.test(t))throw new Error('Path must start with "m" or "M"');if(/^[mM]'?$/.test(t))return this;let n=t.replace(/^[mM]'?\//,"").split("/"),r=this;for(let s of n){let i=/^(\d+)('?)$/.exec(s),o=i&&i[1];if(!i||i.length!==3||typeof o!="string")throw new Error("invalid child index: "+s);let a=+o;if(!Number.isSafeInteger(a)||a>=pp)throw new Error("Invalid index");i[2]==="'"&&(a+=pp),r=r.deriveChild(a)}return r}deriveChild(t){if(!this._publicKey||!this.chainCode)throw new Error("No publicKey or chainCode set");let n=Wc(t);if(t>=pp){let c=this._privateKey;if(!c)throw new Error("Could not derive hardened child key");n=zt(Uint8Array.of(0),c,n)}else n=zt(this._publicKey,n);let r=lr(Er,this.chainCode,n),s=r.slice(0,32),i=r.slice(32);if(!cn.utils.isValidSecretKey(s))throw new Error("Tweak bigger than curve order");let o={versions:this.versions,chainCode:i,depth:this.depth+1,parentFingerprint:this.fingerprint,index:t},a=ia.fromBytes(s);try{if(this._privateKey){let c=ia.create(ia.fromBytes(this._privateKey)+a);if(!ia.isValidNot0(c))throw new Error("The tweak was out of range or the resulted private key is invalid");o.privateKey=ia.toBytes(c)}else{let c=oa.fromBytes(this._publicKey).add(oa.BASE.multiply(a));if(c.equals(oa.ZERO))throw new Error("The tweak was equal to negative P, which made the result key invalid");o.publicKey=c.toBytes(!0)}return new Or(o)}catch{return this.deriveChild(t+1)}}sign(t){if(!this._privateKey)throw new Error("No privateKey set!");return me(t,32),cn.sign(t,this._privateKey,{prehash:!1})}verify(t,n){if(me(t,32),me(n,64),!this._publicKey)throw new Error("No publicKey set!");return cn.verify(n,t,this._publicKey,{prehash:!1})}wipePrivateData(){return this._privateKey&&(this._privateKey.fill(0),this._privateKey=void 0),this}toJSON(){return{xpriv:this.privateExtendedKey,xpub:this.publicExtendedKey}}serialize(t,n){if(!this.chainCode)throw new Error("No chainCode set");return me(n,33),zt(Wc(t),new Uint8Array([this.depth]),Wc(this.parentFingerprint),Wc(this.index),this.chainCode,n)}};var b0="m/54'/784'/0'/0/0",Hc=class aa extends Fc{constructor(t){if(super(),t)this.keypair=t;else{let n=cn.utils.randomSecretKey();this.keypair={publicKey:cn.getPublicKey(n,!0),secretKey:n}}}getKeyScheme(){return"Secp256k1"}static generate(){return new aa}static fromSecretKey(t,n){if(typeof t=="string"){let s=$c(t);if(s.scheme!=="Secp256k1")throw new Error(`Expected a Secp256k1 keypair, got ${s.scheme}`);return this.fromSecretKey(s.secretKey,n)}let r=cn.getPublicKey(t,!0);if(!n||!n.skipValidation){let s=ir(new TextEncoder().encode("sui validation"),{dkLen:32}),i=cn.sign(s,t,{prehash:!1});if(!cn.verify(i,s,r,{lowS:!0,prehash:!1}))throw new Error("Provided secretKey is invalid")}return new aa({publicKey:r,secretKey:t})}static fromSeed(t){return new aa({publicKey:cn.getPublicKey(t,!0),secretKey:t})}getPublicKey(){return new l0(this.keypair.publicKey)}getSecretKey(){return qc(this.keypair.secretKey,this.getKeyScheme())}async sign(t){return cn.sign(t,this.keypair.secretKey,{lowS:!0})}static deriveKeypair(t,n){if(n==null&&(n=b0),!Yg(n))throw new Error("Invalid derivation path");let r=Or.fromMasterSeed(ep(t)).derive(n);if(r.publicKey==null||r.privateKey==null)throw new Error("Invalid key");return new aa({publicKey:r.publicKey,secretKey:r.privateKey})}};var $t={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=>De(Ve,n)),address:De(Ve,t)}}},SplitCoins(e,t){return{$kind:"SplitCoins",SplitCoins:{coin:De(Ve,e),amounts:t.map(n=>De(Ve,n))}}},MergeCoins(e,t){return{$kind:"MergeCoins",MergeCoins:{destination:De(Ve,e),sources:t.map(n=>De(Ve,n))}}},Publish({modules:e,dependencies:t}){return{$kind:"Publish",Publish:{modules:e.map(n=>typeof n=="string"?n:ye(new Uint8Array(n))),dependencies:t.map(n=>Ft(n))}}},Upgrade({modules:e,dependencies:t,package:n,ticket:r}){return{$kind:"Upgrade",Upgrade:{modules:e.map(s=>typeof s=="string"?s:ye(new Uint8Array(s))),dependencies:t.map(s=>Ft(s)),package:n,ticket:De(Ve,r)}}},MakeMoveVec({type:e,elements:t}){return{$kind:"MakeMoveVec",MakeMoveVec:{type:e??null,elements:t.map(n=>De(Ve,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=>De(Ve,i)):De(Ve,s)])),data:n}}}};function A2(e){return{$kind:"Pure",Pure:{bytes:e instanceof Uint8Array?ye(e):e.toBase64()}}}var et={Pure:A2,ObjectRef({objectId:e,digest:t,version:n}){return{$kind:"Object",Object:{$kind:"ImmOrOwnedObject",ImmOrOwnedObject:{digest:t,version:n,objectId:X(e)}}}},SharedObjectRef({objectId:e,mutable:t,initialSharedVersion:n}){return{$kind:"Object",Object:{$kind:"SharedObject",SharedObject:{mutable:t,initialSharedVersion:n,objectId:X(e)}}}},ReceivingRef({objectId:e,digest:t,version:n}){return{$kind:"Object",Object:{$kind:"Receiving",Receiving:{digest:t,version:n,objectId:X(e)}}}},FundsWithdrawal({reservation:e,typeArg:t,withdrawFrom:n}){return{$kind:"FundsWithdrawal",FundsWithdrawal:{reservation:e,typeArg:t,withdrawFrom:n}}}};function v0(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 _0(e){if(e.body.$kind!=="datatype")return!1;let{package:t,module:n,name:r}=v0(e.body.datatype.typeName);return X(t)===Fr&&n==="tx_context"&&r==="TxContext"}function Jc(e){switch(e.$kind){case"address":return E.Address;case"bool":return E.Bool;case"u8":return E.U8;case"u16":return E.U16;case"u32":return E.U32;case"u64":return E.U64;case"u128":return E.U128;case"u256":return E.U256;case"vector":{if(e.vector.$kind==="u8")return E.byteVector().transform({input:n=>typeof n=="string"?new TextEncoder().encode(n):n,output:n=>n});let t=Jc(e.vector);return t?E.vector(t):null}case"datatype":{let{package:t,module:n,name:r}=v0(e.datatype.typeName),s=X(t);if(s===xo){if(n==="ascii"&&r==="String")return E.String;if(n==="string"&&r==="String")return E.String;if(n==="option"&&r==="Option"){let i=Jc(e.datatype.typeParameters[0]);return i?E.vector(i):null}}return s===Fr&&n==="object"&&r==="ID"?E.Address:null}case"typeParameter":case"unknown":return null}}var Ir="CoinWithBalance",es=be("0x2::sui::SUI");function Kn({type:e=es,balance:t,useGasCoin:n=!0}){let r=null;return s=>{if(r)return r;s.addIntentResolver(Ir,Zc);let i=e==="gas"?e:be(e);return r=s.add($t.Intent({name:Ir,inputs:{},data:{type:i===es&&n?"gas":i,balance:BigInt(t),outputKind:"coin"}})),r}}function w0({type:e=es,balance:t,useGasCoin:n=!0}){let r=null;return s=>{if(r)return r;s.addIntentResolver(Ir,Zc);let i=e==="gas"?e:be(e);return r=s.add($t.Intent({name:Ir,inputs:{},data:{type:i===es&&n?"gas":i,balance:BigInt(t),outputKind:"balance"}})),r}}var x2=H({type:Te(),balance:Vi(),outputKind:Ze(ed(["coin","balance"]))});async function Zc(e,t,n){let r=new Set,s=new Map,i=new Map;if(!e.sender)throw new Error("Sender must be set to resolve CoinWithBalance");for(let[_,I]of e.commands.entries()){if(I.$kind!=="$Intent"||I.$Intent.name!==Ir)continue;let{type:A,balance:M,outputKind:C}=De(x2,I.$Intent.data);if(M===0n){let B=A==="gas"?es:A;e.replaceCommand(_,$t.MoveCall({target:(C??"coin")==="balance"?"0x2::balance::zero":"0x2::coin::zero",typeArguments:[B]}));continue}A!=="gas"&&r.add(A),s.set(A,(s.get(A)??0n)+M),i.has(A)||i.set(A,[]),i.get(A).push({balance:M,outputKind:C??"coin"})}if(s.has("gas")&&s.has(es))throw new Error("Cannot mix SUI CoinWithBalance intents that use the gas coin with ones that do not (useGasCoin: false). Use one or the other.");let o=new Set;for(let _ of e.inputs)_.Object?.ImmOrOwnedObject&&o.add(_.Object.ImmOrOwnedObject.objectId),_.UnresolvedObject?.objectId&&o.add(_.UnresolvedObject.objectId);let a=new Map,c=new Map,u=t.client;if(!u)throw new Error("Client must be provided to build or serialize transactions with CoinWithBalance intents");await Promise.all([...[...r].map(async _=>{let{coins:I,addressBalance:A}=await C2({coinType:_,balance:s.get(_),client:u,owner:e.sender,usedIds:o});a.set(_,I),c.set(_,A)}),s.has("gas")?await u.core.getBalance({owner:e.sender,coinType:es}).then(({balance:_})=>{c.set("gas",BigInt(_.addressBalance))}):null]);let d=new Map,p=new Map,f=new Set,g=new Map,b=0;for(;b<e.commands.length;){let _=e.commands[b];if(_.$kind!=="$Intent"||_.$Intent.name!==Ir){b++;continue}let{type:I,balance:A}=_.$Intent.data,M=I==="gas"?es:I,C=s.get(I),B=c.get(I)??0n,L=[],j,q=i.get(I)??[];if(q.every(P=>P.outputKind==="balance")&&B>=C)L.push($t.MoveCall({target:"0x2::balance::redeem_funds",typeArguments:[M],arguments:[e.addInput("withdrawal",et.FundsWithdrawal({reservation:{$kind:"MaxAmountU64",MaxAmountU64:String(A)},typeArg:{$kind:"Balance",Balance:M},withdrawFrom:{$kind:"Sender",Sender:!0}}))]})),j={$kind:"NestedResult",NestedResult:[b+L.length-1,0]};else{if(!g.has(I)){let D=q,Z=[];if(B>=C)f.add(I),L.push($t.MoveCall({target:"0x2::coin::redeem_funds",typeArguments:[M],arguments:[e.addInput("withdrawal",et.FundsWithdrawal({reservation:{$kind:"MaxAmountU64",MaxAmountU64:String(C)},typeArg:{$kind:"Balance",Balance:M},withdrawFrom:{$kind:"Sender",Sender:!0}}))]})),Z.push({$kind:"Result",Result:b+L.length-1});else if(I==="gas")Z.push({$kind:"GasCoin",GasCoin:!0});else{let l=a.get(I),m=l.reduce((v,w)=>v+BigInt(w.balance),0n),y=C>m?C-m:0n;p.set(I,m+y===C);for(let v of l)Z.push(e.addInput("object",et.ObjectRef({objectId:v.objectId,digest:v.digest,version:v.version})));y>0n&&(f.add(I),L.push($t.MoveCall({target:"0x2::coin::redeem_funds",typeArguments:[M],arguments:[e.addInput("withdrawal",et.FundsWithdrawal({reservation:{$kind:"MaxAmountU64",MaxAmountU64:String(y)},typeArg:{$kind:"Balance",Balance:M},withdrawFrom:{$kind:"Sender",Sender:!0}}))]})),Z.push({$kind:"Result",Result:b+L.length-1}))}let ce=Z[0],te=Z.slice(1);for(let l=0;l<te.length;l+=500)L.push($t.MergeCoins(ce,te.slice(l,l+500)));d.set(I,ce);let U=b+L.length;L.push($t.SplitCoins(ce,D.map(l=>e.addInput("pure",et.Pure(E.u64().serialize(l.balance))))));let F=[];for(let l=0;l<D.length;l++){let m={$kind:"NestedResult",NestedResult:[U,l]};D[l].outputKind==="balance"?(L.push($t.MoveCall({target:"0x2::coin::into_balance",typeArguments:[M],arguments:[m]})),F.push({$kind:"NestedResult",NestedResult:[b+L.length-1,0]})):F.push(m)}g.set(I,{results:F,nextIntent:0})}let P=g.get(I);j=P.results[P.nextIntent++]}e.replaceCommand(b,L,j),b+=L.length}for(let[_,I]of d){if(_==="gas"&&!f.has(_))continue;let A=_==="gas"?es:_,M=i.get(_)?.some(B=>B.outputKind==="balance"),C=f.has(_);M||C?e.commands.push($t.MoveCall({target:"0x2::coin::send_funds",typeArguments:[A],arguments:[I,e.addInput("pure",et.Pure(E.Address.serialize(e.sender)))]})):p.get(_)&&e.commands.push($t.MoveCall({target:"0x2::coin::destroy_zero",typeArguments:[A],arguments:[I]}))}return n()}async function C2({coinType:e,balance:t,client:n,owner:r,usedIds:s}){let i=t,o=[],a=n.core.getBalance({owner:r,coinType:e}).then(({balance:p})=>(i-=BigInt(p.addressBalance),p)),[c,u]=await Promise.all([d(),a]);if(BigInt(u.balance)<t)throw new Error(`Insufficient balance of ${e} for owner ${r}. Required: ${t}, Available: ${t-i}`);return{coins:c,balance:BigInt(u.coinBalance),addressBalance:BigInt(u.addressBalance),coinBalance:BigInt(u.coinBalance)};async function d(p=null){let{objects:f,hasNextPage:g,cursor:b}=await n.core.listCoins({owner:r,coinType:e,cursor:p});await a;for(let _ of f)s.has(_.objectId)||(o.push(_),i-=BigInt(_.balance));return i>0n&&g?d(b):o}}function ca(e){return nt(Object.entries(e).map(([t,n])=>H({[t]:n})))}var dr=ca({GasCoin:le(!0),Input:Le(Ge(),ze()),Result:Le(Ge(),ze()),NestedResult:No([Le(Ge(),ze()),Le(Ge(),ze())])}),N2=H({budget:Ae(rt),price:Ae(rt),owner:Ae(Ks),payment:Ae(ge(ar))}),R2=H({package:bn,module:Te(),function:Te(),typeArguments:ge(Te()),arguments:ge(dr)}),M2=H({name:Te(),inputs:Zs(Te(),nt([dr,ge(dr)])),data:Zs(Te(),Tr())}),B2=ca({MoveCall:R2,TransferObjects:H({objects:ge(dr),address:dr}),SplitCoins:H({coin:dr,amounts:ge(dr)}),MergeCoins:H({destination:dr,sources:ge(dr)}),Publish:H({modules:ge(ms),dependencies:ge(bn)}),MakeMoveVec:H({type:Ae(Te()),elements:ge(dr)}),Upgrade:H({modules:ge(ms),dependencies:ge(bn),package:bn,ticket:dr}),$Intent:M2}),j2=ca({Object:ca({ImmOrOwnedObject:ar,SharedObject:H({objectId:bn,initialSharedVersion:rt,mutable:$r()}),Receiving:ar}),Pure:H({bytes:ms}),UnresolvedPure:H({value:Tr()}),UnresolvedObject:H({objectId:bn,version:Ze(Ae(rt)),digest:Ze(Ae(Te())),initialSharedVersion:Ze(Ae(rt)),mutable:Ze(Ae($r()))}),FundsWithdrawal:nd}),D2=ca({None:le(!0),Epoch:rt,ValidDuring:sd}),T0=H({version:le(2),sender:qr(Ks),expiration:qr(D2),gasData:N2,inputs:ge(j2),commands:ge(B2),digest:Ze(Ae(Te()))});var U2=X("0xacc"),P2=Pn.parseFromStr("0x2::accumulator::Key<0x2::balance::Balance<0x2::sui::SUI>>"),k0=new Uint8Array([172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172]);function fp(e){return ln(e).slice(12,32).every((t,n)=>t===k0[n])}function L2(e,t){let n=dn(or(U2,P2,E.Address.serialize(e).toBytes()).slice(2)),r=ln(t);if(r.length!==32)throw new Error(`Invalid chain identifier length: expected 32 bytes, got ${r.length}`);let s=new Uint8Array(32);for(let i=0;i<32;i++)s[i]=n[i]^r[i];return`0x${Vt(s)}`}function S0(e,t,n,r){let s=new Uint8Array(32),i=new DataView(s.buffer);i.setBigUint64(0,e,!0);let o=Number(r);if(!Number.isSafeInteger(o)||o<0||o>4294967295)throw new Error(`Epoch ${r} out of u32 range for coin reservation digest`);return i.setUint32(8,o,!0),s.set(k0,12),De(ar,{objectId:L2(t,n),version:"0",digest:Un(s)})}var V2=50,F2=1000n,$2=5e10;function mp(e,t=1n){let n=F2*BigInt(t),r=BigInt(e.computationCost)+n,s=r+BigInt(e.storageCost)-BigInt(e.storageRebate);return String(s>r?s:r)}function q2(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 Kc(e,t,n){let r=q2(t),s=!t.onlyTransactionKind&&!e.gasData.price,i=!t.onlyTransactionKind&&!e.gasData.payment,o=e.gasData.owner??e.sender,a=!1,c=0n;e.mapArguments(A=>(A.$kind==="GasCoin"&&(a=!0),A));let u=o?X(o):null;for(let A of e.inputs){if(A.$kind!=="FundsWithdrawal"||!u||be(A.FundsWithdrawal.typeArg.Balance)!==zn)continue;let M=A.FundsWithdrawal.withdrawFrom.Sender?e.sender:o;M&&X(M)===u&&A.FundsWithdrawal.reservation.$kind==="MaxAmountU64"&&(c+=BigInt(A.FundsWithdrawal.reservation.MaxAmountU64))}let d=!t.onlyTransactionKind&&!e.expiration&&!e.gasData.budget,p=s||i&&a||d,f=i&&a||d,[,g,b,_,I]=await Promise.all([J2(e,r),p?r.core.getCurrentSystemState():null,i&&o?r.core.getBalance({owner:o}):null,i&&o?r.core.listCoins({owner:o,coinType:zn}):null,f?r.core.getChainIdentifier():null]);if(await H2(e,r),!t.onlyTransactionKind){let A=g?.systemState??null,M=I?.chainIdentifier??null;if(A&&!e.gasData.price&&(e.gasData.price=A.referenceGasPrice),await G2(e,r,d&&A&&M?E0(A,M):void 0),i){if(!b||!_)throw new Error("Could not resolve gas payment: a gas owner or sender must be set to fetch balance and coins.");z2({transactionData:e,balance:b,coins:_,usesGasCoin:a,withdrawals:c,gasPayer:o,chainIdentifier:M,epoch:A?.epoch??null})}!e.expiration&&e.gasData.payment?.length===0&&await W2(e,r,A,M)}return await n()}async function G2(e,t,n){if(e.gasData.budget)return;let r=await t.core.simulateTransaction({transaction:e.build({overrides:{gasData:{budget:String($2),payment:[]},...n&&{expiration:n}}}),include:{effects:!0}});if(r.$kind==="FailedTransaction"){let s=r.FailedTransaction.status.error??void 0;throw new Qs(`Transaction resolution failed: ${s?.message??"Unknown error"}`,{cause:r,executionError:s})}e.gasData.budget=mp(r.Transaction.effects.gasUsed,e.gasData.price?String(e.gasData.price):void 0)}function z2({transactionData:e,balance:t,coins:n,usesGasCoin:r,withdrawals:s,gasPayer:i,chainIdentifier:o,epoch:a}){let c=BigInt(e.gasData.budget),u=BigInt(t.balance.addressBalance);if(c===0n||!r&&u>=c+s){e.gasData.payment=[];return}let d=n.objects.filter(g=>!e.inputs.find(b=>b.Object?.ImmOrOwnedObject?g.objectId===b.Object.ImmOrOwnedObject.objectId:!1)),p=d.map(g=>({objectId:g.objectId,digest:g.digest,version:g.version})),f=u-s;if(r&&f>0n&&o&&a)e.gasData.payment=[S0(f,i,o,a),...p];else if(d.length)e.gasData.payment=p;else throw new Error("No valid gas coins found for the transaction.")}async function W2(e,t,n,r=null){let[s,i]=await Promise.all([r??t.core.getChainIdentifier().then(o=>o.chainIdentifier),n??t.core.getCurrentSystemState().then(o=>o.systemState)]);e.expiration=E0(i,s)}function E0(e,t){let n=BigInt(e.epoch);return{$kind:"ValidDuring",ValidDuring:{minEpoch:String(n),maxEpoch:String(n+1n),minTimestamp:null,maxTimestamp:null,chain:t,nonce:Math.random()*4294967296>>>0}}}async function H2(e,t){let n=e.inputs.filter(d=>d.UnresolvedObject&&!(d.UnresolvedObject.version||d.UnresolvedObject?.initialSharedVersion)),r=[...new Set(n.map(d=>Ft(d.UnresolvedObject.objectId)))],s=r.length?Gn(r,V2):[],i=(await Promise.all(s.map(d=>t.core.getObjects({objectIds:d})))).flatMap(d=>d.objects),o=new Map(r.map((d,p)=>[d,i[p]])),a=Array.from(o).filter(([d,p])=>p instanceof Error).map(([d,p])=>p.message);if(a.length)throw new Error(`The following input objects are invalid: ${a.join(", ")}`);let c=i.map(d=>{if(d instanceof Error)throw new Error(`Failed to fetch object: ${d.message}`);let p=d.owner,f=p&&typeof p=="object"?p.$kind==="Shared"?p.Shared.initialSharedVersion:p.$kind==="ConsensusAddressOwner"?p.ConsensusAddressOwner.startVersion:null:null;return{objectId:d.objectId,digest:d.digest,version:d.version,initialSharedVersion:f}}),u=new Map(r.map((d,p)=>[d,c[p]]));for(let[d,p]of e.inputs.entries()){if(!p.UnresolvedObject)continue;let f,g=X(p.UnresolvedObject.objectId),b=u.get(g);p.UnresolvedObject.initialSharedVersion??b?.initialSharedVersion?f=et.SharedObjectRef({objectId:g,initialSharedVersion:p.UnresolvedObject.initialSharedVersion||b?.initialSharedVersion,mutable:p.UnresolvedObject.mutable||Z2(e,d)}):K2(e,d)&&(f=et.ReceivingRef({objectId:g,digest:p.UnresolvedObject.digest??b?.digest,version:p.UnresolvedObject.version??b?.version})),e.inputs[e.inputs.indexOf(p)]=f??et.ObjectRef({objectId:g,digest:p.UnresolvedObject.digest??b?.digest,version:p.UnresolvedObject.version??b?.version})}}async function J2(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,d]=a.split("::"),{function:p}=await t.core.getMoveFunction({packageId:c,moduleName:u,name:d});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&&_0(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}`,d=c._argumentTypes;if(d){if(d.length!==a.MoveCall.arguments.length)throw new Error(`Incorrect number of arguments for ${u}`);d.forEach((p,f)=>{let g=c.arguments[f];if(g.$kind!=="Input")return;let b=n[g.Input];if(!b.UnresolvedPure&&!b.UnresolvedObject)return;let _=b.UnresolvedPure?.value??b.UnresolvedObject?.objectId,I=Jc(p.body);if(I){g.type="pure",n[n.indexOf(b)]=et.Pure(I.serialize(_));return}if(typeof _!="string")throw new Error(`Expect the argument to be an object id string, got ${JSON.stringify(_,null,2)}`);g.type="object";let A=b.UnresolvedPure?{$kind:"UnresolvedObject",UnresolvedObject:{objectId:_}}:b;n[g.Input]=A})}})}function Z2(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 K2(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=Y2(s.MoveCall._argumentTypes[i])||n}}),n}var X2="0x0000000000000000000000000000000000000000000000000000000000000002::transfer::Receiving";function Y2(e){return e.body.$kind!=="datatype"?!1:e.body.datatype.typeName===X2}function hp(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 A0(e,t,n){return eO(e),hp(e,t)?(Q2(t).core?.resolveTransactionPlugin()??Kc)(e,t,async()=>{await O0(e),await n()}):(await O0(e),n())}function O0(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 Q2(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 eO(e){for(let t of e.commands)switch(t.$kind){case"SplitCoins":t.SplitCoins.amounts.forEach(n=>{I0(n,E.U64,e)});break;case"TransferObjects":I0(t.TransferObjects.address,E.Address,e);break}}function I0(e,t,n){if(e.$kind!=="Input")return;let r=n.inputs[e.Input];r.$kind==="UnresolvedPure"&&(n.inputs[e.Input]=et.Pure(t.serialize(r.UnresolvedPure.value)))}function x0(e){function t(n){return e(n)}return t.system=n=>{let r=n?.mutable;return t(r!==void 0?et.SharedObjectRef({objectId:Ga,initialSharedVersion:1,mutable:r}):{$kind:"UnresolvedObject",UnresolvedObject:{objectId:Ga,initialSharedVersion:1}})},t.clock=()=>t(et.SharedObjectRef({objectId:he,initialSharedVersion:1,mutable:!1})),t.random=()=>t({$kind:"UnresolvedObject",UnresolvedObject:{objectId:Kl,mutable:!1}}),t.denyList=n=>t({$kind:"UnresolvedObject",UnresolvedObject:{objectId:Xl,mutable:n?.mutable}}),t.option=({type:n,value:r})=>s=>s.moveCall({typeArguments:[n],target:`${xo}::option::${r===null?"none":"some"}`,arguments:r===null?[]:[s.object(r)]}),t}function C0(e){function t(n,r){if(typeof n=="string")return e(Di(n).serialize(r));if(n instanceof Uint8Array||Mi(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(E.U8.serialize(n)),t.u16=n=>e(E.U16.serialize(n)),t.u32=n=>e(E.U32.serialize(n)),t.u64=n=>e(E.U64.serialize(n)),t.u128=n=>e(E.U128.serialize(n)),t.u256=n=>e(E.U256.serialize(n)),t.bool=n=>e(E.Bool.serialize(n)),t.string=n=>e(E.String.serialize(n)),t.address=n=>e(E.Address.serialize(n)),t.id=t.address,t.vector=(n,r)=>e(E.vector(Di(n)).serialize(r)),t.option=(n,r)=>e(E.option(Di(n)).serialize(r)),t}function N0(){return async(e,t,n)=>{let r=qm(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()");Gm(e,await t.client.core.mvr.resolve({types:r.types,packages:r.packages})),await n()}}function gp(e,t=1/0){let n={$kind:"Result",get Result(){return typeof e=="function"?e():e}},r=[],s=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 R0=Symbol.for("@mysten/transaction");function Yc(e){return!!e&&typeof e=="object"&&e[R0]===!0}var J=class Xc{#e;#t;#s=new Map;#r=[];#i=[];#o=new Set;#a=new Set;#c=new Map;static fromKind(t){let n=new Xc;return n.#n=vn.fromKindBytes(typeof t=="string"?ie(t):t),n.#r=n.#n.inputs.slice(),n.#i=n.#n.commands.slice(),n.#o=new Set(n.#i.map((r,s)=>s)),n}static from(t){let n=new Xc;if(Yc(t)?n.#n=vn.restore(t.getData()):typeof t!="string"||!t.startsWith("{")?n.#n=vn.fromBytes(typeof t=="string"?ie(t):t):n.#n=vn.restore(JSON.parse(t)),n.#r=n.#n.inputs.slice(),n.#i=n.#n.commands.slice(),n.#o=new Set(n.#i.map((r,s)=>s)),!n.isPreparedForSerialization({supportedIntents:[Ir]}))throw new Error("Transaction has unresolved intents or async thunks. Call `prepareForSerialization` before copying.");return n.#n.commands.some(r=>r.$Intent?.name===Ir)&&n.addIntentResolver(Ir,Zc),n}addSerializationPlugin(t){this.#e.push(t)}addBuildPlugin(t){this.#t.push(t)}addIntentResolver(t,n){if(this.#s.has(t)&&this.#s.get(t)!==n)throw new Error(`Intent resolver for ${t} already exists`);this.#s.set(t,n)}setSender(t){this.#n.sender=t}setSenderIfNotSet(t){this.#n.sender||(this.#n.sender=t)}setExpiration(t){this.#n.expiration=t?De(id,t):null}setGasPrice(t){this.#n.gasData.price=String(t)}setGasBudget(t){this.#n.gasData.budget=String(t)}setGasBudgetIfNotSet(t){this.#n.gasData.budget==null&&(this.#n.gasData.budget=String(t))}setGasOwner(t){this.#n.gasData.owner=t}setGasPayment(t){this.#n.gasData.payment=t.map(n=>De(ar,n))}#n;getData(){return this.#n.snapshot()}get[R0](){return!0}get pure(){return Object.defineProperty(this,"pure",{enumerable:!1,value:C0(t=>Mi(t)?this.#u("pure",{$kind:"Pure",Pure:{bytes:t.toBase64()}}):this.#u("pure",Co(rd,t)?De(rd,t):t instanceof Uint8Array?et.Pure(t):{$kind:"UnresolvedPure",UnresolvedPure:{value:t}}))}),this.pure}constructor(){this.object=x0(t=>{if(typeof t=="function")return this.object(this.add(t));if(typeof t=="object"&&Co(Ve,t))return t;let n=$i(t),r=this.#n.inputs.find(s=>n===$i(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:this.#n.inputs.indexOf(r),type:"object"}:this.#u("object",typeof t=="string"?{$kind:"UnresolvedObject",UnresolvedObject:{objectId:X(t)}}:t)}),this.#n=new vn,this.#t=[],this.#e=[]}get gas(){return{$kind:"GasCoin",GasCoin:!0}}coin({type:t,balance:n,useGasCoin:r}){return this.add(Kn({type:t,balance:n,useGasCoin:r}))}balance({type:t,balance:n,useGasCoin:r}){return this.add(w0({type:t,balance:n,useGasCoin:r}))}objectRef(...t){return this.object(et.ObjectRef(...t))}receivingRef(...t){return this.object(et.ReceivingRef(...t))}sharedObjectRef(...t){return this.object(et.SharedObjectRef(...t))}#h(){let t=new Xc;return t.#n=this.#n,t.#e=this.#e,t.#t=this.#t,t.#s=this.#s,t.#a=this.#a,t.#o=new Set(this.#o),t.#c=this.#c,this.#r.push(t.#r),this.#i.push(t.#i),t}add(t){if(typeof t=="function"){if(this.#c.has(t))return this.#c.get(t);let n=this.#h(),r=t(n);if(!(r&&typeof r=="object"&&"then"in r))return this.#o=n.#o,this.#c.set(t,r),r;let s=this.#l({$kind:"$Intent",$Intent:{name:"AsyncTransactionThunk",inputs:{},data:{resultIndex:this.#n.commands.length,result:null}}});this.#a.add(Promise.resolve(r).then(o=>{s.$Intent.data.result=o}));let i=gp(()=>s.$Intent.data.resultIndex);return this.#c.set(t,i),i}else this.#l(t);return gp(this.#n.commands.length-1)}#l(t){let n=this.#n.commands.length;return this.#i.push(t),this.#o.add(n),this.#n.commands.push(t),this.#n.mapCommandArguments(n,r=>{if(r.$kind==="Result"&&!this.#o.has(r.Result))throw new Error(`Result { Result: ${r.Result} } is not available to use in the current transaction`);if(r.$kind==="NestedResult"&&!this.#o.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>=this.#n.inputs.length)throw new Error(`Input { Input: ${r.Input} } references an input that does not exist in the current transaction`);return r}),t}#u(t,n){return this.#r.push(n),this.#n.addInput(t,n)}#d(t){return Mi(t)?this.pure(t):this.#p(t)}#p(t){if(typeof t=="function"){let n=this.add(t);return typeof n=="function"?this.#p(n):De(Ve,n)}return De(Ve,t)}splitCoins(t,n){let r=$t.SplitCoins(typeof t=="string"?this.object(t):this.#p(t),n.map(s=>typeof s=="number"||typeof s=="bigint"||typeof s=="string"?this.pure.u64(s):this.#d(s)));return this.#l(r),gp(this.#n.commands.length-1,n.length)}mergeCoins(t,n){return this.add($t.MergeCoins(this.object(t),n.map(r=>this.object(r))))}publish({modules:t,dependencies:n}){return this.add($t.Publish({modules:t,dependencies:n}))}upgrade({modules:t,dependencies:n,package:r,ticket:s}){return this.add($t.Upgrade({modules:t,dependencies:n,package:r,ticket:this.object(s)}))}moveCall({arguments:t,...n}){return this.add($t.MoveCall({...n,arguments:t?.map(r=>this.#d(r))}))}transferObjects(t,n){return this.add($t.TransferObjects(t.map(r=>this.object(r)),typeof n=="string"?this.pure.address(n):this.#d(n)))}makeMoveVec({type:t,elements:n}){return this.add($t.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 this.#u("object",r)}serialize(){return JSON.stringify(Ym(this.#n.snapshot()))}async toJSON(t={}){await this.prepareForSerialization(t);let n=this.isFullyResolved();return JSON.stringify(De(T0,n?{...this.#n.snapshot(),digest:this.#n.getDigest()}:this.#n.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)}isPreparedForSerialization(t={}){return!(this.#a.size>0||this.#n.commands.some(n=>n.$Intent&&!t.supportedIntents?.includes(n.$Intent.name)))}isFullyResolved(){return!(!this.isPreparedForSerialization()||!this.#n.sender||hp(this.#n,{}))}async build(t={}){return await this.prepareForSerialization(t),await this.#f(t),this.#n.build({onlyTransactionKind:t.onlyTransactionKind})}async getDigest(t={}){return await this.prepareForSerialization(t),await this.#f(t),this.#n.getDigest()}async#f(t){if(!t.onlyTransactionKind&&!this.#n.sender)throw new Error("Missing transaction sender");await this.#m([...this.#t,A0],t)}async#m(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(this.#n,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{this.#r=this.#n.inputs.slice(),this.#i=this.#n.commands.slice(),this.#o=new Set(this.#i.map((r,s)=>s))}}async#g(){for(;this.#a.size>0;){let t=Promise.all(this.#a);this.#a.clear(),this.#a.add(t),await t,this.#a.delete(t)}}#y(){let t=this.#n.commands,n=this.#n.inputs,r=this.#i.flat(1/0),s=this.#r.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");this.#n.commands=i,this.#n.inputs=s,this.#i=i,this.#r=s,this.#o=new Set(i.map((a,c)=>c));function o(a){let c=t[a];if(c.$Intent?.name==="AsyncTransactionThunk"){let d=c.$Intent.data.result;if(d==null)throw new Error("AsyncTransactionThunk has not been resolved");return o(d.Result)}let u=i.indexOf(c);if(u===-1)throw new Error("Unable to find original index for command");return u}this.#n.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{}}async prepareForSerialization(t){await this.#g(),this.#y();let n=new Set;for(let s of this.#n.commands)s.$Intent&&n.add(s.$Intent.name);let r=[...this.#e];for(let s of n)if(!t.supportedIntents?.includes(s)){if(!this.#s.has(s))throw new Error(`Missing intent resolver for ${s}`);r.push(this.#s.get(s))}r.push(N0()),await this.#m(r,t)}};var ua={NAME:"Name",DOCUMENT:"Document",OPERATION_DEFINITION:"OperationDefinition",VARIABLE_DEFINITION:"VariableDefinition",SELECTION_SET:"SelectionSet",FIELD:"Field",ARGUMENT:"Argument",FRAGMENT_SPREAD:"FragmentSpread",INLINE_FRAGMENT:"InlineFragment",FRAGMENT_DEFINITION:"FragmentDefinition",VARIABLE:"Variable",INT:"IntValue",FLOAT:"FloatValue",STRING:"StringValue",BOOLEAN:"BooleanValue",NULL:"NullValue",ENUM:"EnumValue",LIST:"ListValue",OBJECT:"ObjectValue",OBJECT_FIELD:"ObjectField",DIRECTIVE:"Directive",NAMED_TYPE:"NamedType",LIST_TYPE:"ListType",NON_NULL_TYPE:"NonNullType"};var yp=class extends Error{constructor(t,n,r,s,i,o,a){super(t),this.name="GraphQLError",this.message=t,i&&(this.path=i),n&&(this.nodes=Array.isArray(n)?n:[n]),r&&(this.source=r),s&&(this.positions=s),o&&(this.originalError=o);var c=a;if(!c&&o){var u=o.extensions;u&&typeof u=="object"&&(c=u)}this.extensions=c||{}}toJSON(){return{...this,message:this.message}}toString(){return this.message}get[Symbol.toStringTag](){return"GraphQLError"}},oe,z;function kn(e){return new yp(`Syntax Error: Unexpected token at ${z} in ${e}`)}function M0(e){if(e.lastIndex=z,e.test(oe))return oe.slice(z,z=e.lastIndex)}var Qc=/ +(?=[^\s])/y;function tO(e){for(var t=e.split(`
|
|
11
|
-
`),n="",r=0,s=0,i=t.length-1,o=0;o<t.length;o++)
|
|
12
|
-
`),n+=t[a].slice(r).replace(/\\"""/g,'"""');return n}function Me(){for(var e=0|oe.charCodeAt(z++);e===9||e===10||e===13||e===32||e===35||e===44||e===65279;e=0|oe.charCodeAt(z++))if(e===35)for(;(e=0|oe.charCodeAt(z++))&&e!==10&&e!==13;);z--}function bp(){for(var e=z,t=0|oe.charCodeAt(z++);t>=48&&t<=57||t>=65&&t<=90||t===95||t>=97&&t<=122;t=0|oe.charCodeAt(z++));if(e===z-1)throw kn("Name");var n=oe.slice(e,--z);return Me(),n}function Nn(){return{kind:"Name",value:bp()}}var nO=/(?:"""|(?:[\s\S]*?[^\\])""")/y,rO=/(?:(?:\.\d+)?[eE][+-]?\d+|\.\d+)/y;function Qi(e){var t;switch(oe.charCodeAt(z)){case 91:z++,Me();for(var n=[];oe.charCodeAt(z)!==93;)n.push(Qi(e));return z++,Me(),{kind:"ListValue",values:n};case 123:z++,Me();for(var r=[];oe.charCodeAt(z)!==125;){var s=Nn();if(oe.charCodeAt(z++)!==58)throw kn("ObjectField");Me(),r.push({kind:"ObjectField",name:s,value:Qi(e)})}return z++,Me(),{kind:"ObjectValue",fields:r};case 36:if(e)throw kn("Variable");return z++,{kind:"Variable",name:Nn()};case 34:if(oe.charCodeAt(z+1)===34&&oe.charCodeAt(z+2)===34){if(z+=3,(t=M0(nO))==null)throw kn("StringValue");return Me(),{kind:"StringValue",value:tO(t.slice(0,-3)),block:!0}}else{var i=z,o;z++;var a=!1;for(o=0|oe.charCodeAt(z++);o===92&&(z++,a=!0)||o!==10&&o!==13&&o!==34&&o;o=0|oe.charCodeAt(z++));if(o!==34)throw kn("StringValue");return t=oe.slice(i,z),Me(),{kind:"StringValue",value:a?JSON.parse(t):t.slice(1,-1),block:!1}}case 45:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:for(var c=z++,u;(u=0|oe.charCodeAt(z++))>=48&&u<=57;);var d=oe.slice(c,--z);if((u=oe.charCodeAt(z))===46||u===69||u===101){if((t=M0(rO))==null)throw kn("FloatValue");return Me(),{kind:"FloatValue",value:d+t}}else return Me(),{kind:"IntValue",value:d};case 110:if(oe.charCodeAt(z+1)===117&&oe.charCodeAt(z+2)===108&&oe.charCodeAt(z+3)===108)return z+=4,Me(),{kind:"NullValue"};break;case 116:if(oe.charCodeAt(z+1)===114&&oe.charCodeAt(z+2)===117&&oe.charCodeAt(z+3)===101)return z+=4,Me(),{kind:"BooleanValue",value:!0};break;case 102:if(oe.charCodeAt(z+1)===97&&oe.charCodeAt(z+2)===108&&oe.charCodeAt(z+3)===115&&oe.charCodeAt(z+4)===101)return z+=5,Me(),{kind:"BooleanValue",value:!1};break}return{kind:"EnumValue",value:bp()}}function j0(e){if(oe.charCodeAt(z)===40){var t=[];z++,Me();do{var n=Nn();if(oe.charCodeAt(z++)!==58)throw kn("Argument");Me(),t.push({kind:"Argument",name:n,value:Qi(e)})}while(oe.charCodeAt(z)!==41);return z++,Me(),t}}function xs(e){if(oe.charCodeAt(z)===64){var t=[];do z++,t.push({kind:"Directive",name:Nn(),arguments:j0(e)});while(oe.charCodeAt(z)===64);return t}}function sO(){for(var e=0;oe.charCodeAt(z)===91;)e++,z++,Me();var t={kind:"NamedType",name:Nn()};do if(oe.charCodeAt(z)===33&&(z++,Me(),t={kind:"NonNullType",type:t}),e){if(oe.charCodeAt(z++)!==93)throw kn("NamedType");Me(),t={kind:"ListType",type:t}}while(e--);return t}function eu(){if(oe.charCodeAt(z++)!==123)throw kn("SelectionSet");return Me(),tu()}function tu(){var e=[];do if(oe.charCodeAt(z)===46){if(oe.charCodeAt(++z)!==46||oe.charCodeAt(++z)!==46)throw kn("SelectionSet");switch(z++,Me(),oe.charCodeAt(z)){case 64:e.push({kind:"InlineFragment",typeCondition:void 0,directives:xs(!1),selectionSet:eu()});break;case 111:oe.charCodeAt(z+1)===110?(z+=2,Me(),e.push({kind:"InlineFragment",typeCondition:{kind:"NamedType",name:Nn()},directives:xs(!1),selectionSet:eu()})):e.push({kind:"FragmentSpread",name:Nn(),directives:xs(!1)});break;case 123:z++,Me(),e.push({kind:"InlineFragment",typeCondition:void 0,directives:void 0,selectionSet:tu()});break;default:e.push({kind:"FragmentSpread",name:Nn(),directives:xs(!1)})}}else{var t=Nn(),n=void 0;oe.charCodeAt(z)===58&&(z++,Me(),n=t,t=Nn());var r=j0(!1),s=xs(!1),i=void 0;oe.charCodeAt(z)===123&&(z++,Me(),i=tu()),e.push({kind:"Field",alias:n,name:t,arguments:r,directives:s,selectionSet:i})}while(oe.charCodeAt(z)!==125);return z++,Me(),{kind:"SelectionSet",selections:e}}function iO(){if(Me(),oe.charCodeAt(z)===40){var e=[];z++,Me();do{var t=void 0;if(oe.charCodeAt(z)===34&&(t=Qi(!0)),oe.charCodeAt(z++)!==36)throw kn("Variable");var n=Nn();if(oe.charCodeAt(z++)!==58)throw kn("VariableDefinition");Me();var r=sO(),s=void 0;oe.charCodeAt(z)===61&&(z++,Me(),s=Qi(!0)),Me();var i={kind:"VariableDefinition",variable:{kind:"Variable",name:n},type:r,defaultValue:s,directives:xs(!0)};t&&(i.description=t),e.push(i)}while(oe.charCodeAt(z)!==41);return z++,Me(),e}}function oO(e){var t=Nn();if(oe.charCodeAt(z++)!==111||oe.charCodeAt(z++)!==110)throw kn("FragmentDefinition");Me();var n={kind:"FragmentDefinition",name:t,typeCondition:{kind:"NamedType",name:Nn()},directives:xs(!1),selectionSet:eu()};return e&&(n.description=e),n}function B0(){var e=[];do{var t=void 0;if(oe.charCodeAt(z)===34&&(t=Qi(!0)),oe.charCodeAt(z)===123){if(t)throw kn("Document");z++,Me(),e.push({kind:"OperationDefinition",operation:"query",name:void 0,variableDefinitions:void 0,directives:void 0,selectionSet:tu()})}else{var n=bp();switch(n){case"fragment":e.push(oO(t));break;case"query":case"mutation":case"subscription":var r,s=void 0;(r=oe.charCodeAt(z))!==40&&r!==64&&r!==123&&(s=Nn());var i={kind:"OperationDefinition",operation:n,name:s,variableDefinitions:iO(),directives:xs(!1),selectionSet:eu()};t&&(i.description=t),e.push(i);break;default:throw kn("Document")}}}while(z<oe.length);return e}function D0(e,t){return oe=e.body?e.body:e,z=0,Me(),t&&t.noLocation?{kind:"Document",definitions:B0()}:{kind:"Document",definitions:B0(),loc:{start:0,end:oe.length,startToken:void 0,endToken:void 0,source:{body:oe,name:"graphql.web",locationOffset:{line:1,column:1}}}}}var U0=0,vp=new Set;function _p(){function e(t,n){var r=D0(t).definitions,s=new Set;for(var i of n||[])for(var o of i.definitions)o.kind===ua.FRAGMENT_DEFINITION&&!s.has(o)&&(r.push(o),s.add(o));var a;(a=r[0].kind===ua.FRAGMENT_DEFINITION)&&r[0].directives&&(r[0].directives=r[0].directives.filter(u=>u.name.value!=="_unmask"));var c;return{kind:ua.DOCUMENT,definitions:r,get loc(){if(!c&&a){var u=t+function(p){try{U0++;var f="";for(var g of p)if(!vp.has(g)){vp.add(g);var{loc:b}=g;b&&(f+=b.source.body)}return f}finally{--U0==0&&vp.clear()}}(n||[]);return{start:0,end:u.length,source:{body:u,name:"GraphQLTada",locationOffset:{line:1,column:1}}}}return c},set loc(u){c=u}}}return e.scalar=function(n,r){return r},e.persisted=function(n,r){return{kind:ua.DOCUMENT,definitions:r?r.definitions:[],documentId:n}},e}var zL=_p();var eo=_p();var aO={"-32700":"ParseError","-32701":"OversizedRequest","-32702":"OversizedResponse","-32600":"InvalidRequest","-32601":"MethodNotFound","-32602":"InvalidParams","-32603":"InternalError","-32604":"ServerBusy","-32000":"CallExecutionFailed","-32001":"UnknownError","-32003":"SubscriptionClosed","-32004":"SubscriptionClosedWithError","-32005":"BatchesNotSupported","-32006":"TooManySubscriptions","-32050":"TransientError","-32002":"TransactionExecutionClientError"},P0=class extends Error{},L0=class extends P0{constructor(e,t){super(e),this.code=t,this.type=aO[t]??"ServerError"}},V0=class extends P0{constructor(e,t,n){super(e),this.status=t,this.statusText=n}};var F0=class{#e=0;#t;constructor(e){this.#t=e}fetch(e,t){let n=this.#t.fetch??fetch;if(!n)throw new Error("The current environment does not support fetch, you can provide a fetch implementation in the options for SuiHTTPTransport.");return n(e,t)}async request(e){this.#e+=1;let t=await this.fetch(this.#t.rpc?.url??this.#t.url,{method:"POST",signal:e.signal,headers:{"Content-Type":"application/json","Client-Sdk-Type":"typescript","Client-Sdk-Version":za,"Client-Request-Method":e.method,...this.#t.rpc?.headers},body:JSON.stringify({jsonrpc:"2.0",id:this.#e,method:e.method,params:e.params})});if(!t.ok)throw new V0(`Unexpected status code: ${t.status}`,t.status,t.statusText);let n=await t.json();if("error"in n&&n.error!=null)throw new L0(n.error.message,n.error.code);return n.result}};var cO=5e10;function z0(e,t){if(e.status==="success")return{success:!0,error:null};let n=e.error??"Unknown";if(t){let r=n.match(/in command (\d+)/),s=r?parseInt(r[1],10):void 0,i=n.match(/instruction:\s*(\d+)/),o=i?parseInt(i[1],10):void 0,a=t.module_id?.split("::")??[],c=a[0]?X(a[0]):void 0,u=a[1];return{success:!1,error:{$kind:"MoveAbort",message:Ys({command:s,location:c&&u?{package:c,module:u,functionName:t.function??void 0,instruction:o}:void 0,abortCode:String(t.error_code??0),cleverError:t.line!=null?{lineNumber:t.line}:void 0}),command:s,MoveAbort:{abortCode:String(t.error_code??0),location:t.module_id?{package:X(t.module_id.split("::")[0]??""),module:t.module_id.split("::")[1]??"",functionName:t.function??void 0,instruction:o}:void 0}}}}return{success:!1,error:{$kind:"Unknown",message:n,Unknown:null}}}var W0=class extends Li{#e;constructor({jsonRpcClient:e,mvr:t}){super({network:e.network,base:e,mvr:t}),this.#e=e}async getObjects(e){let t=Gn(e.objectIds,50),n=[];for(let r of t){let s=await this.#e.multiGetObjects({ids:r,options:{showOwner:!0,showType:!0,showBcs:!!(e.include?.content||e.include?.objectBcs),showPreviousTransaction:!!(e.include?.previousTransaction||e.include?.objectBcs),showStorageRebate:e.include?.objectBcs??!1,showContent:e.include?.json??!1,showDisplay:e.include?.display??!1},signal:e.signal});for(let[i,o]of s.entries())o.error?n.push(Gi.fromResponse(o.error,r[i])):n.push($0(o.data,e.include))}return{objects:n}}async listOwnedObjects(e){let t=null;if(e.type){let r=e.type.split("::");r.length===1?t={Package:e.type}:r.length===2?t={MoveModule:{package:r[0],module:r[1]}}:t={StructType:e.type}}let n=await this.#e.getOwnedObjects({owner:e.owner,limit:e.limit,cursor:e.cursor,options:{showOwner:!0,showType:!0,showBcs:!!(e.include?.content||e.include?.objectBcs),showPreviousTransaction:!!(e.include?.previousTransaction||e.include?.objectBcs),showStorageRebate:e.include?.objectBcs??!1,showContent:e.include?.json??!1,showDisplay:e.include?.display??!1},filter:t,signal:e.signal});return{objects:n.data.map(r=>{if(r.error)throw Gi.fromResponse(r.error);return $0(r.data,e.include)}),hasNextPage:n.hasNextPage,cursor:n.nextCursor??null}}async listCoins(e){let t=await this.#e.getCoins({owner:e.owner,coinType:e.coinType,limit:e.limit,cursor:e.cursor,signal:e.signal});return{objects:t.data.map(n=>({objectId:n.coinObjectId,version:n.version,digest:n.digest,balance:n.balance,type:be(`0x2::coin::Coin<${n.coinType}>`),owner:{$kind:"AddressOwner",AddressOwner:e.owner}})),hasNextPage:t.hasNextPage,cursor:t.nextCursor??null}}async getBalance(e){let t=await this.#e.getBalance({owner:e.owner,coinType:e.coinType,signal:e.signal}),n=t.fundsInAddressBalance??"0",r=String(BigInt(t.totalBalance)-BigInt(n));return{balance:{coinType:be(t.coinType),balance:t.totalBalance,coinBalance:r,addressBalance:n}}}async getCoinMetadata(e){let t=(await this.mvr.resolveType({type:e.coinType})).type,n=await this.#e.getCoinMetadata({coinType:t,signal:e.signal});return n?{coinMetadata:{id:n.id??null,decimals:n.decimals,name:n.name,symbol:n.symbol,description:n.description,iconUrl:n.iconUrl??null}}:{coinMetadata:null}}async listBalances(e){return{balances:(await this.#e.getAllBalances({owner:e.owner,signal:e.signal})).map(t=>{let n=t.fundsInAddressBalance??"0",r=String(BigInt(t.totalBalance)-BigInt(n));return{coinType:be(t.coinType),balance:t.totalBalance,coinBalance:r,addressBalance:n}}),hasNextPage:!1,cursor:null}}async getTransaction(e){return q0(await this.#e.getTransactionBlock({digest:e.digest,options:{showRawInput:!0,showEffects:!0,showObjectChanges:e.include?.objectTypes??!1,showRawEffects:e.include?.effects??!1,showEvents:e.include?.events??!1,showBalanceChanges:e.include?.balanceChanges??!1},signal:e.signal}),e.include)}async executeTransaction(e){return q0(await this.#e.executeTransactionBlock({transactionBlock:e.transaction,signature:e.signatures,options:{showRawInput:!0,showEffects:!0,showRawEffects:e.include?.effects??!1,showEvents:e.include?.events??!1,showObjectChanges:e.include?.objectTypes??!1,showBalanceChanges:e.include?.balanceChanges??!1},signal:e.signal}),e.include)}async simulateTransaction(e){e.transaction instanceof Uint8Array||await e.transaction.build({client:this,onlyTransactionKind:!0});let t=J.from(e.transaction),n=e.transaction instanceof Uint8Array?null:vn.restore(e.transaction.getData()),r=n?n.build({overrides:{gasData:{budget:n.gasData.budget??String(cO),price:n.gasData.price??String(await this.#e.getReferenceGasPrice()),payment:n.gasData.payment??[]}}}):e.transaction,s=t.getData().sender??X("0x0"),i=e.checksEnabled===!1,o=null;try{o=await this.#e.dryRunTransactionBlock({transactionBlock:r,signal:e.signal})}catch(_){if(!i)throw _}let a=null;if(e.include?.commandResults||i)try{a=await this.#e.devInspectTransactionBlock({sender:s,transactionBlock:t,signal:e.signal})}catch{}let c=!o||o.effects.status.status!=="success",u=i&&c&&a?a:o??a;if(!u)throw new Error("simulateTransaction failed: no results from dryRun or devInspect");let{effects:d,objectTypes:p}=dO({effects:u.effects,objectChanges:(c?null:o?.objectChanges)??[]}),f;e.include?.transaction&&(f=ih(r),n&&!c&&d.gasUsed&&(n.gasData.budget||(f.gasData.budget=mp(d.gasUsed))));let g={digest:vn.getDigestFromBytes(r),epoch:null,status:d.status,effects:e.include?.effects?d:void 0,objectTypes:e.include?.objectTypes?p:void 0,signatures:[],transaction:f??void 0,bcs:e.include?.bcs?r:void 0,balanceChanges:e.include?.balanceChanges&&o&&!c?o.balanceChanges.map(_=>({coinType:be(_.coinType),address:H0(_.owner),amount:_.amount})):void 0,events:e.include?.events?u.events?.map(_=>({packageId:_.packageId,module:_.transactionModule,sender:_.sender,eventType:_.type,bcs:"bcs"in _?ie(_.bcs):new Uint8Array,json:_.parsedJson??null}))??[]:void 0},b;return e.include?.commandResults&&a?.results&&(b=a.results.map(_=>({returnValues:(_.returnValues??[]).map(([I])=>({bcs:new Uint8Array(I)})),mutatedReferences:(_.mutableReferenceOutputs??[]).map(([,I])=>({bcs:new Uint8Array(I)}))}))),d.status.success?{$kind:"Transaction",Transaction:g,commandResults:b}:{$kind:"FailedTransaction",FailedTransaction:g,commandResults:b}}async getReferenceGasPrice(e){let t=await this.#e.getReferenceGasPrice({signal:e?.signal});return{referenceGasPrice:String(t)}}async getProtocolConfig(e){let t=await this.#e.getProtocolConfig({signal:e?.signal}),n={};for(let[r,s]of Object.entries(t.attributes))if(s===null)n[r]=null;else if("u16"in s)n[r]=s.u16;else if("u32"in s)n[r]=s.u32;else if("u64"in s)n[r]=s.u64;else if("f64"in s)n[r]=s.f64;else if("bool"in s)n[r]=s.bool;else{let i=Object.entries(s);n[r]=i.length===1?String(i[0][1]):JSON.stringify(s)}return{protocolConfig:{protocolVersion:t.protocolVersion,featureFlags:{...t.featureFlags},attributes:n}}}async getCurrentSystemState(e){let t=await this.#e.getLatestSuiSystemState({signal:e?.signal});return{systemState:{systemStateVersion:t.systemStateVersion,epoch:t.epoch,protocolVersion:t.protocolVersion,referenceGasPrice:t.referenceGasPrice?.toString()??null,epochStartTimestampMs:t.epochStartTimestampMs,safeMode:t.safeMode,safeModeStorageRewards:t.safeModeStorageRewards,safeModeComputationRewards:t.safeModeComputationRewards,safeModeStorageRebates:t.safeModeStorageRebates,safeModeNonRefundableStorageFee:t.safeModeNonRefundableStorageFee,parameters:{epochDurationMs:t.epochDurationMs,stakeSubsidyStartEpoch:t.stakeSubsidyStartEpoch,maxValidatorCount:t.maxValidatorCount,minValidatorJoiningStake:t.minValidatorJoiningStake,validatorLowStakeThreshold:t.validatorLowStakeThreshold,validatorLowStakeGracePeriod:t.validatorLowStakeGracePeriod},storageFund:{totalObjectStorageRebates:t.storageFundTotalObjectStorageRebates,nonRefundableBalance:t.storageFundNonRefundableBalance},stakeSubsidy:{balance:t.stakeSubsidyBalance,distributionCounter:t.stakeSubsidyDistributionCounter,currentDistributionAmount:t.stakeSubsidyCurrentDistributionAmount,stakeSubsidyPeriodLength:t.stakeSubsidyPeriodLength,stakeSubsidyDecreaseRate:t.stakeSubsidyDecreaseRate}}}}async listDynamicFields(e){let t=await this.#e.getDynamicFields({parentId:e.parentId,limit:e.limit,cursor:e.cursor});return{dynamicFields:t.data.map(n=>{let r=n.type==="DynamicObject",s=r?`0x2::dynamic_field::Field<0x2::dynamic_object_field::Wrapper<${n.name.type}>, 0x2::object::ID>`:`0x2::dynamic_field::Field<${n.name.type}, ${n.objectType}>`,i=ie(n.bcsName),o=r?`0x2::dynamic_object_field::Wrapper<${n.name.type}>`:n.name.type;return{$kind:r?"DynamicObject":"DynamicField",fieldId:or(e.parentId,o,i),type:be(s),name:{type:n.name.type,bcs:i},valueType:n.objectType,childId:r?n.objectId:void 0}}),hasNextPage:t.hasNextPage,cursor:t.nextCursor}}async verifyZkLoginSignature(e){let t=await this.#e.verifyZkLoginSignature({bytes:e.bytes,signature:e.signature,intentScope:e.intentScope,author:e.address});return{success:t.success,errors:t.errors}}async defaultNameServiceName(e){return{data:{name:(await this.#e.resolveNameServiceNames(e)).data[0]??null}}}resolveTransactionPlugin(){return Kc}async getMoveFunction(e){let t=(await this.mvr.resolvePackage({package:e.packageId})).package,n=await this.#e.getNormalizedMoveFunction({package:t,module:e.moduleName,function:e.name});return{function:{packageId:X(t),moduleName:e.moduleName,name:e.name,visibility:fO(n.visibility),isEntry:n.isEntry,typeParameters:n.typeParameters.map(r=>({isPhantom:!1,constraints:pO(r)})),parameters:n.parameters.map(r=>G0(r)),returns:n.return.map(r=>G0(r))}}}async getChainIdentifier(e){return this.cache.read(["chainIdentifier"],async()=>({chainIdentifier:(await this.#e.getCheckpoint({id:"0"})).digest}))}};function uO(e){if(e.bcs?.dataType==="moveObject")try{let t=be(e.bcs.type),n,r=X(Fr),s=be(`${Fr}::coin::Coin<${Fr}::sui::SUI>`),i=be(`${Zl}::staking_pool::StakedSui`),o=`${r}::coin::Coin<`;if(t===s)n={GasCoin:null};else if(t===i)n={StakedSui:null};else if(t.startsWith(o)){let u=t.match(new RegExp(`${r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}::coin::Coin<(.+)>$`));if(u)n={Coin:Pn.parseFromStr(u[1],!0)};else throw new Error("Failed to parse Coin type")}else{let u=Pn.parseFromStr(t,!0);if(typeof u!="object"||!("struct"in u))throw new Error("Expected struct type tag");n={Other:u.struct}}let a=ie(e.bcs.bcsBytes),c=lO(e.owner);return E.Object.serialize({data:{Move:{type:n,hasPublicTransfer:e.bcs.hasPublicTransfer,version:e.bcs.version,contents:a}},owner:c,previousTransaction:e.previousTransaction,storageRebate:e.storageRebate}).toBytes()}catch{return}}function $0(e,t){let n=e.bcs?.dataType==="moveObject"?ie(e.bcs.bcsBytes):void 0,r=t?.objectBcs?uO(e):void 0,s=e.type&&e.type.includes("::")?be(e.type):e.type??"",i=t?.json&&e.content?.dataType==="moveObject"?e.content.fields:t?.json?null:void 0,o=t?.display?e.display?.data!=null?{output:e.display.data,errors:null}:null:void 0;return{objectId:e.objectId,version:e.version,digest:e.digest,type:s,content:t?.content?n:void 0,owner:to(e.owner),previousTransaction:t?.previousTransaction?e.previousTransaction??void 0:void 0,objectBcs:r,json:i,display:o}}function to(e){if(e==="Immutable")return{$kind:"Immutable",Immutable:!0};if("ConsensusAddressOwner"in e)return{$kind:"ConsensusAddressOwner",ConsensusAddressOwner:{owner:e.ConsensusAddressOwner.owner,startVersion:e.ConsensusAddressOwner.start_version}};if("AddressOwner"in e)return{$kind:"AddressOwner",AddressOwner:e.AddressOwner};if("ObjectOwner"in e)return{$kind:"ObjectOwner",ObjectOwner:e.ObjectOwner};if("Shared"in e)return{$kind:"Shared",Shared:{initialSharedVersion:e.Shared.initial_shared_version}};throw new Error(`Unknown owner type: ${JSON.stringify(e)}`)}function lO(e){if(e==="Immutable")return{Immutable:null};if("AddressOwner"in e)return{AddressOwner:e.AddressOwner};if("ObjectOwner"in e)return{ObjectOwner:e.ObjectOwner};if("Shared"in e)return{Shared:{initialSharedVersion:e.Shared.initial_shared_version}};if(typeof e=="object"&&e!==null&&"ConsensusAddressOwner"in e)return{ConsensusAddressOwner:{startVersion:e.ConsensusAddressOwner.start_version,owner:e.ConsensusAddressOwner.owner}};throw new Error(`Unknown owner type: ${JSON.stringify(e)}`)}function H0(e){if(e==="Immutable")return null;if("ConsensusAddressOwner"in e)return e.ConsensusAddressOwner.owner;if("AddressOwner"in e)return e.AddressOwner;if("ObjectOwner"in e)return e.ObjectOwner;if("Shared"in e)return null;throw new Error(`Unknown owner type: ${JSON.stringify(e)}`)}function q0(e,t){let n={};t?.objectTypes&&e.objectChanges?.forEach(u=>{u.type!=="published"&&(n[u.objectId]=be(u.objectType))});let r,s=[],i;if(e.rawTransaction){let u=E.SenderSignedData.parse(ie(e.rawTransaction))[0];if(s=u.txSignatures,t?.transaction||t?.bcs){let d=E.TransactionData.serialize(u.intentMessage.value).toBytes();t?.bcs&&(i=d),t?.transaction&&(r={...vn.restore({version:2,sender:u.intentMessage.value.V1.sender,expiration:u.intentMessage.value.V1.expiration,gasData:u.intentMessage.value.V1.gasData,inputs:u.intentMessage.value.V1.kind.ProgrammableTransaction.inputs,commands:u.intentMessage.value.V1.kind.ProgrammableTransaction.commands})})}}let o=e.effects?.status?z0(e.effects.status,e.effects.abortError):{success:!1,error:{$kind:"Unknown",message:"Unknown",Unknown:null}},a=e.rawEffects?new Uint8Array(e.rawEffects):null,c={digest:e.digest,epoch:e.effects?.executedEpoch??null,status:o,effects:t?.effects&&a?Ka(a):void 0,objectTypes:t?.objectTypes?n:void 0,transaction:r,bcs:i,signatures:s,balanceChanges:t?.balanceChanges?e.balanceChanges?.map(u=>({coinType:be(u.coinType),address:H0(u.owner),amount:u.amount}))??[]:void 0,events:t?.events?e.events?.map(u=>({packageId:u.packageId,module:u.transactionModule,sender:u.sender,eventType:u.type,bcs:"bcs"in u?ie(u.bcs):new Uint8Array,json:u.parsedJson??null}))??[]:void 0};return o.success?{$kind:"Transaction",Transaction:c}:{$kind:"FailedTransaction",FailedTransaction:c}}function dO({bytes:e,effects:t,objectChanges:n}){let r=[],s=[],i={};return n?.forEach(o=>{switch(o.type){case"published":r.push({objectId:o.packageId,inputState:"DoesNotExist",inputVersion:null,inputDigest:null,inputOwner:null,outputState:"PackageWrite",outputVersion:o.version,outputDigest:o.digest,outputOwner:null,idOperation:"Created"});break;case"transferred":r.push({objectId:o.objectId,inputState:"Exists",inputVersion:o.version,inputDigest:o.digest,inputOwner:{$kind:"AddressOwner",AddressOwner:o.sender},outputState:"ObjectWrite",outputVersion:o.version,outputDigest:o.digest,outputOwner:to(o.recipient),idOperation:"None"}),i[o.objectId]=be(o.objectType);break;case"mutated":r.push({objectId:o.objectId,inputState:"Exists",inputVersion:o.previousVersion,inputDigest:null,inputOwner:to(o.owner),outputState:"ObjectWrite",outputVersion:o.version,outputDigest:o.digest,outputOwner:to(o.owner),idOperation:"None"}),i[o.objectId]=be(o.objectType);break;case"deleted":r.push({objectId:o.objectId,inputState:"Exists",inputVersion:o.version,inputDigest:t.deleted?.find(a=>a.objectId===o.objectId)?.digest??null,inputOwner:null,outputState:"DoesNotExist",outputVersion:null,outputDigest:null,outputOwner:null,idOperation:"Deleted"}),i[o.objectId]=be(o.objectType);break;case"wrapped":r.push({objectId:o.objectId,inputState:"Exists",inputVersion:o.version,inputDigest:null,inputOwner:{$kind:"AddressOwner",AddressOwner:o.sender},outputState:"ObjectWrite",outputVersion:o.version,outputDigest:t.wrapped?.find(a=>a.objectId===o.objectId)?.digest??null,outputOwner:{$kind:"ObjectOwner",ObjectOwner:o.sender},idOperation:"None"}),i[o.objectId]=be(o.objectType);break;case"created":r.push({objectId:o.objectId,inputState:"DoesNotExist",inputVersion:null,inputDigest:null,inputOwner:null,outputState:"ObjectWrite",outputVersion:o.version,outputDigest:o.digest,outputOwner:to(o.owner),idOperation:"Created"}),i[o.objectId]=be(o.objectType);break}}),{objectTypes:i,effects:{bcs:e??null,version:2,status:z0(t.status,t.abortError),gasUsed:t.gasUsed,transactionDigest:t.transactionDigest,gasObject:{objectId:t.gasObject?.reference.objectId,inputState:"Exists",inputVersion:null,inputDigest:null,inputOwner:null,outputState:"ObjectWrite",outputVersion:t.gasObject.reference.version,outputDigest:t.gasObject.reference.digest,outputOwner:to(t.gasObject.owner),idOperation:"None"},eventsDigest:t.eventsDigest??null,dependencies:t.dependencies??[],lamportVersion:t.gasObject.reference.version,changedObjects:r,unchangedConsensusObjects:s,auxiliaryDataDigest:null}}}function G0(e){if(typeof e!="string"){if("Reference"in e)return{reference:"immutable",body:la(e.Reference)};if("MutableReference"in e)return{reference:"mutable",body:la(e.MutableReference)}}return{reference:null,body:la(e)}}function la(e){switch(e){case"Address":return{$kind:"address"};case"Bool":return{$kind:"bool"};case"U8":return{$kind:"u8"};case"U16":return{$kind:"u16"};case"U32":return{$kind:"u32"};case"U64":return{$kind:"u64"};case"U128":return{$kind:"u128"};case"U256":return{$kind:"u256"}}if(typeof e=="string")throw new Error(`Unknown type: ${e}`);if("Vector"in e)return{$kind:"vector",vector:la(e.Vector)};if("Struct"in e)return{$kind:"datatype",datatype:{typeName:`${X(e.Struct.address)}::${e.Struct.module}::${e.Struct.name}`,typeParameters:e.Struct.typeArguments.map(t=>la(t))}};if("TypeParameter"in e)return{$kind:"typeParameter",index:e.TypeParameter};throw new Error(`Unknown type: ${JSON.stringify(e)}`)}function pO(e){return e.abilities.map(t=>{switch(t){case"Copy":return"copy";case"Drop":return"drop";case"Store":return"store";case"Key":return"key";default:return"unknown"}})}function fO(e){switch(e){case"Public":return"public";case"Private":return"private";case"Friend":return"friend";default:return"unknown"}}var mO=Symbol.for("@mysten/SuiJsonRpcClient");var wp=class extends ps{get[mO](){return!0}constructor(e){super({network:e.network}),this.jsonRpc=this,this.transport=e.transport??new F0({url:e.url}),this.core=new W0({jsonRpcClient:this,mvr:e.mvr})}async getRpcApiVersion({signal:e}={}){return(await this.transport.request({method:"rpc.discover",params:[],signal:e})).info.version}async getCoins({coinType:e,owner:t,cursor:n,limit:r,signal:s}){if(!t||!en(X(t)))throw new Error("Invalid Sui address");e&&rn(e)&&(e=(await this.core.mvr.resolveType({type:e})).type);let i=await this.transport.request({method:"suix_getCoins",params:[t,e,n,r],signal:s});return{...i,data:i.data.filter(o=>!fp(o.digest))}}async getAllCoins(e){if(!e.owner||!en(X(e.owner)))throw new Error("Invalid Sui address");let t=await this.transport.request({method:"suix_getAllCoins",params:[e.owner,e.cursor,e.limit],signal:e.signal});return{...t,data:t.data.filter(n=>!fp(n.digest))}}async getBalance({owner:e,coinType:t,signal:n}){if(!e||!en(X(e)))throw new Error("Invalid Sui address");return t&&rn(t)&&(t=(await this.core.mvr.resolveType({type:t})).type),await this.transport.request({method:"suix_getBalance",params:[e,t],signal:n})}async getAllBalances(e){if(!e.owner||!en(X(e.owner)))throw new Error("Invalid Sui address");return await this.transport.request({method:"suix_getAllBalances",params:[e.owner],signal:e.signal})}async getCoinMetadata({coinType:e,signal:t}){return e&&rn(e)&&(e=(await this.core.mvr.resolveType({type:e})).type),await this.transport.request({method:"suix_getCoinMetadata",params:[e],signal:t})}async getTotalSupply({coinType:e,signal:t}){return e&&rn(e)&&(e=(await this.core.mvr.resolveType({type:e})).type),await this.transport.request({method:"suix_getTotalSupply",params:[e],signal:t})}async call(e,t,{signal:n}={}){return await this.transport.request({method:e,params:t,signal:n})}async getMoveFunctionArgTypes({package:e,module:t,function:n,signal:r}){return e&&tn(e)&&(e=(await this.core.mvr.resolvePackage({package:e})).package),await this.transport.request({method:"sui_getMoveFunctionArgTypes",params:[e,t,n],signal:r})}async getNormalizedMoveModulesByPackage({package:e,signal:t}){return e&&tn(e)&&(e=(await this.core.mvr.resolvePackage({package:e})).package),await this.transport.request({method:"sui_getNormalizedMoveModulesByPackage",params:[e],signal:t})}async getNormalizedMoveModule({package:e,module:t,signal:n}){return e&&tn(e)&&(e=(await this.core.mvr.resolvePackage({package:e})).package),await this.transport.request({method:"sui_getNormalizedMoveModule",params:[e,t],signal:n})}async getNormalizedMoveFunction({package:e,module:t,function:n,signal:r}){return e&&tn(e)&&(e=(await this.core.mvr.resolvePackage({package:e})).package),await this.transport.request({method:"sui_getNormalizedMoveFunction",params:[e,t,n],signal:r})}async getNormalizedMoveStruct({package:e,module:t,struct:n,signal:r}){return e&&tn(e)&&(e=(await this.core.mvr.resolvePackage({package:e})).package),await this.transport.request({method:"sui_getNormalizedMoveStruct",params:[e,t,n],signal:r})}async getOwnedObjects(e){if(!e.owner||!en(X(e.owner)))throw new Error("Invalid Sui address");let t=e.filter?{...e.filter}:void 0;return t&&"MoveModule"in t&&tn(t.MoveModule.package)?t.MoveModule={module:t.MoveModule.module,package:(await this.core.mvr.resolvePackage({package:t.MoveModule.package})).package}:t&&"StructType"in t&&rn(t.StructType)&&(t.StructType=(await this.core.mvr.resolveType({type:t.StructType})).type),await this.transport.request({method:"suix_getOwnedObjects",params:[e.owner,{filter:t,options:e.options},e.cursor,e.limit],signal:e.signal})}async getObject(e){if(!e.id||!Bi(Ft(e.id)))throw new Error("Invalid Sui Object id");return await this.transport.request({method:"sui_getObject",params:[e.id,e.options],signal:e.signal})}async tryGetPastObject(e){return await this.transport.request({method:"sui_tryGetPastObject",params:[e.id,e.version,e.options],signal:e.signal})}async multiGetObjects(e){if(e.ids.forEach(t=>{if(!t||!Bi(Ft(t)))throw new Error(`Invalid Sui Object id ${t}`)}),e.ids.length!==new Set(e.ids).size)throw new Error(`Duplicate object ids in batch call ${e.ids}`);return await this.transport.request({method:"sui_multiGetObjects",params:[e.ids,e.options],signal:e.signal})}async queryTransactionBlocks({filter:e,options:t,cursor:n,limit:r,order:s,signal:i}){return e&&"MoveFunction"in e&&tn(e.MoveFunction.package)&&(e={...e,MoveFunction:{package:(await this.core.mvr.resolvePackage({package:e.MoveFunction.package})).package}}),await this.transport.request({method:"suix_queryTransactionBlocks",params:[{filter:e,options:t},n,r,(s||"descending")==="descending"],signal:i})}async getTransactionBlock(e){if(!Pa(e.digest))throw new Error("Invalid Transaction digest");return await this.transport.request({method:"sui_getTransactionBlock",params:[e.digest,e.options],signal:e.signal})}async multiGetTransactionBlocks(e){if(e.digests.forEach(t=>{if(!Pa(t))throw new Error(`Invalid Transaction digest ${t}`)}),e.digests.length!==new Set(e.digests).size)throw new Error(`Duplicate digests in batch call ${e.digests}`);return await this.transport.request({method:"sui_multiGetTransactionBlocks",params:[e.digests,e.options],signal:e.signal})}async executeTransactionBlock({transactionBlock:e,signature:t,options:n,signal:r}){return await this.transport.request({method:"sui_executeTransactionBlock",params:[typeof e=="string"?e:ye(e),Array.isArray(t)?t:[t],n],signal:r})}async signAndExecuteTransaction({transaction:e,signer:t,...n}){let r;e instanceof Uint8Array?r=e:(e.setSenderIfNotSet(t.toSuiAddress()),r=await e.build({client:this}));let{signature:s,bytes:i}=await t.signTransaction(r);return this.executeTransactionBlock({transactionBlock:i,signature:s,...n})}async getTotalTransactionBlocks({signal:e}={}){let t=await this.transport.request({method:"sui_getTotalTransactionBlocks",params:[],signal:e});return BigInt(t)}async getReferenceGasPrice({signal:e}={}){let t=await this.transport.request({method:"suix_getReferenceGasPrice",params:[],signal:e});return BigInt(t)}async getStakes(e){if(!e.owner||!en(X(e.owner)))throw new Error("Invalid Sui address");return await this.transport.request({method:"suix_getStakes",params:[e.owner],signal:e.signal})}async getStakesByIds(e){return e.stakedSuiIds.forEach(t=>{if(!t||!Bi(Ft(t)))throw new Error(`Invalid Sui Stake id ${t}`)}),await this.transport.request({method:"suix_getStakesByIds",params:[e.stakedSuiIds],signal:e.signal})}async getLatestSuiSystemState({signal:e}={}){return await this.transport.request({method:"suix_getLatestSuiSystemState",params:[],signal:e})}async queryEvents({query:e,cursor:t,limit:n,order:r,signal:s}){return e&&"MoveEventType"in e&&rn(e.MoveEventType)&&(e={...e,MoveEventType:(await this.core.mvr.resolveType({type:e.MoveEventType})).type}),e&&"MoveEventModule"in e&&tn(e.MoveEventModule.package)&&(e={...e,MoveEventModule:{module:e.MoveEventModule.module,package:(await this.core.mvr.resolvePackage({package:e.MoveEventModule.package})).package}}),"MoveModule"in e&&tn(e.MoveModule.package)&&(e={...e,MoveModule:{module:e.MoveModule.module,package:(await this.core.mvr.resolvePackage({package:e.MoveModule.package})).package}}),await this.transport.request({method:"suix_queryEvents",params:[e,t,n,(r||"descending")==="descending"],signal:s})}async devInspectTransactionBlock(e){let t;if(Yc(e.transactionBlock))e.transactionBlock.setSenderIfNotSet(e.sender),t=ye(await e.transactionBlock.build({client:this,onlyTransactionKind:!0}));else if(typeof e.transactionBlock=="string")t=e.transactionBlock;else if(e.transactionBlock instanceof Uint8Array)t=ye(e.transactionBlock);else throw new Error("Unknown transaction block format.");return e.signal?.throwIfAborted(),await this.transport.request({method:"sui_devInspectTransactionBlock",params:[e.sender,t,e.gasPrice?.toString(),e.epoch],signal:e.signal})}async dryRunTransactionBlock(e){return await this.transport.request({method:"sui_dryRunTransactionBlock",params:[typeof e.transactionBlock=="string"?e.transactionBlock:ye(e.transactionBlock)]})}async getDynamicFields(e){if(!e.parentId||!Bi(Ft(e.parentId)))throw new Error("Invalid Sui Object id");return await this.transport.request({method:"suix_getDynamicFields",params:[e.parentId,e.cursor,e.limit],signal:e.signal})}async getDynamicFieldObject(e){return await this.transport.request({method:"suix_getDynamicFieldObject",params:[e.parentId,e.name],signal:e.signal})}async getLatestCheckpointSequenceNumber({signal:e}={}){let t=await this.transport.request({method:"sui_getLatestCheckpointSequenceNumber",params:[],signal:e});return String(t)}async getCheckpoint(e){return await this.transport.request({method:"sui_getCheckpoint",params:[e.id],signal:e.signal})}async getCheckpoints(e){return await this.transport.request({method:"sui_getCheckpoints",params:[e.cursor,e?.limit,e.descendingOrder],signal:e.signal})}async getCommitteeInfo(e){return await this.transport.request({method:"suix_getCommitteeInfo",params:[e?.epoch],signal:e?.signal})}async getNetworkMetrics({signal:e}={}){return await this.transport.request({method:"suix_getNetworkMetrics",params:[],signal:e})}async getAddressMetrics({signal:e}={}){return await this.transport.request({method:"suix_getLatestAddressMetrics",params:[],signal:e})}async getEpochMetrics(e){return await this.transport.request({method:"suix_getEpochMetrics",params:[e?.cursor,e?.limit,e?.descendingOrder],signal:e?.signal})}async getAllEpochAddressMetrics(e){return await this.transport.request({method:"suix_getAllEpochAddressMetrics",params:[e?.descendingOrder],signal:e?.signal})}async getEpochs(e){return await this.transport.request({method:"suix_getEpochs",params:[e?.cursor,e?.limit,e?.descendingOrder],signal:e?.signal})}async getMoveCallMetrics({signal:e}={}){return await this.transport.request({method:"suix_getMoveCallMetrics",params:[],signal:e})}async getCurrentEpoch({signal:e}={}){return await this.transport.request({method:"suix_getCurrentEpoch",params:[],signal:e})}async getValidatorsApy({signal:e}={}){return await this.transport.request({method:"suix_getValidatorsApy",params:[],signal:e})}async getChainIdentifier({signal:e}={}){return Vt(ln((await this.getCheckpoint({id:"0",signal:e})).digest).slice(0,4))}async resolveNameServiceAddress(e){return await this.transport.request({method:"suix_resolveNameServiceAddress",params:[e.name],signal:e.signal})}async resolveNameServiceNames({format:e="dot",...t}){let{nextCursor:n,hasNextPage:r,data:s}=await this.transport.request({method:"suix_resolveNameServiceNames",params:[t.address,t.cursor,t.limit],signal:t.signal});return{hasNextPage:r,nextCursor:n,data:s.map(i=>$f(i,e))}}async getProtocolConfig(e){return await this.transport.request({method:"sui_getProtocolConfig",params:[e?.version],signal:e?.signal})}async verifyZkLoginSignature(e){return await this.transport.request({method:"sui_verifyZkLoginSignature",params:[e.bytes,e.signature,e.intentScope,e.author],signal:e.signal})}async waitForTransaction({signal:e,timeout:t=60*1e3,pollInterval:n=2*1e3,...r}){let s=AbortSignal.timeout(t),i=new Promise((o,a)=>{s.addEventListener("abort",()=>a(s.reason))});for(i.catch(()=>{});!s.aborted;){e?.throwIfAborted();try{return await this.getTransactionBlock(r)}catch{await Promise.race([new Promise(o=>setTimeout(o,n)),i])}}throw s.throwIfAborted(),new Error("Unexpected error while waiting for transaction block.")}};function nu(e){switch(e){case"mainnet":return"https://fullnode.mainnet.sui.io:443";case"testnet":return"https://fullnode.testnet.sui.io:443";case"devnet":return"https://fullnode.devnet.sui.io:443";case"localnet":return"http://127.0.0.1:9000";default:throw new Error(`Unknown network: ${e}`)}}var Tp=function(e){return e.Failure="FAILURE",e.Success="SUCCESS",e}({}),kp=function(e){return e.PersonalMessage="PERSONAL_MESSAGE",e.TransactionData="TRANSACTION_DATA",e}({}),tt=class extends String{constructor(e,t){super(e),this.value=e,this.__meta__=t}toString(){return this.value}},UV=new tt(`
|
|
7
|
+
${String(r)}`);al(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=>{ol(e,t,r)})}function ol(e,t,n){al(t);for(let r=0;r<t.keys.length;r++)e.clear(t.keys[r]),t.callbacks[r].reject(n)}function al(e){if(e.cacheHits)for(let t=0;t<e.cacheHits.length;t++)e.cacheHits[t]()}function ev(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 tv(e){let t=e&&e.batchScheduleFn;if(t===void 0)return Xb;if(typeof t!="function")throw new TypeError(`batchScheduleFn must be a function: ${t}`);return t}function nv(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 rv(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 sv(e){return e&&e.name?e.name:null}function nm(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 cl(e,t){switch(t){case"base58":return Un(e);case"base64":return ye(e);case"hex":return Vt(e);default:throw new Error("Unsupported encoding, supported values are: base64, hex")}}function So(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 rm=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 ul(BigInt(e),8).forEach(t=>this.write8(t)),this}write128(e){return ul(BigInt(e),16).forEach(t=>this.write8(t)),this}write256(e){return ul(BigInt(e),32).forEach(t=>this.write8(t)),this}writeULEB(e){return $s(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 cl(this.toBytes(),e)}};function ul(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 En=class sm{#e;#t;constructor(t){this.name=t.name,this.read=t.read,this.serializedSize=t.serializedSize??(()=>null),this.#e=t.write,this.#t=t.serialize??((n,r)=>{let s=new rm({initialSize:this.serializedSize(n)??void 0,...r});return this.#e(n,s),s.toBytes()}),this.validate=t.validate??(()=>{})}write(t,n){this.validate(t),this.#e(t,n)}serialize(t,n){return this.validate(t),new om(this,this.#t(t,n))}parse(t){let n=new Gf(t);return this.read(n)}fromHex(t){return this.parse(dn(t))}fromBase58(t){return this.parse(ln(t))}fromBase64(t){return this.parse(ie(t))}transform({name:t,input:n,output:r,validate:s}){return new sm({name:t??this.name,read:i=>r?r(this.read(i)):this.read(i),write:(i,o)=>this.#e(n?n(i):i,o),serializedSize:i=>this.serializedSize(n?n(i):i),serialize:(i,o)=>this.#t(n?n(i):i,o),validate:i=>{s?.(i),this.validate(n?n(i):i)}})}},im=Symbol.for("@mysten/serialized-bcs");function Bi(e){return!!e&&typeof e=="object"&&e[im]===!0}var om=class{#e;#t;get[im](){return!0}constructor(e,t){this.#e=e,this.#t=t}toBytes(){return this.#t}toHex(){return Vt(this.#t)}toBase64(){return ye(this.#t)}toBase58(){return Un(this.#t)}parse(){return this.#e.parse(this.#t)}};function Eo({size:e,...t}){return new En({...t,serializedSize:()=>e})}function Ba({readMethod:e,writeMethod:t,...n}){return Eo({...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 ja({readMethod:e,writeMethod:t,...n}){return Eo({...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 am({serialize:e,...t}){let n=new En({...t,serialize:e,write:(r,s)=>{for(let i of n.serialize(r).toBytes())s.write8(i)}});return n}function cm({toBytes:e,fromBytes:t,...n}){return new En({...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=$s(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 um(e){let t=null;function n(){return t||(t=e()),t}return new En({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 Da=class extends En{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}`)}})}},Ua=class extends En{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}`)}})}},Pa=class extends En{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 iv(e,t,n){return new En({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 ov(e){return k.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 av(e,t){return new En({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 ll(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 cv(e,t){return new En({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])=>ll(i,o)),r.writeULEB(s.length);for(let[i,o]of s)r.writeBytes(i),t.write(o,r)}})}var k={u8(e){return Ba({readMethod:"read8",writeMethod:"write8",size:1,maxValue:2**8-1,...e,name:e?.name??"u8"})},u16(e){return Ba({readMethod:"read16",writeMethod:"write16",size:2,maxValue:2**16-1,...e,name:e?.name??"u16"})},u32(e){return Ba({readMethod:"read32",writeMethod:"write32",size:4,maxValue:2**32-1,...e,name:e?.name??"u32"})},u64(e){return ja({readMethod:"read64",writeMethod:"write64",size:8,maxValue:2n**64n-1n,...e,name:e?.name??"u64"})},u128(e){return ja({readMethod:"read128",writeMethod:"write128",size:16,maxValue:2n**128n-1n,...e,name:e?.name??"u128"})},u256(e){return ja({readMethod:"read256",writeMethod:"write256",size:32,maxValue:2n**256n-1n,...e,name:e?.name??"u256"})},bool(e){return Eo({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 am({read:t=>t.readULEB(),serialize:t=>Uint8Array.from($s(t)),...e,name:e?.name??"uleb128"})},bytes(e,t){return Eo({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 En({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:$s(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 cm({toBytes:t=>new TextEncoder().encode(t),fromBytes:t=>new TextDecoder().decode(t),...e,name:e?.name??"string"})},fixedArray:iv,option:ov,vector:av,tuple(e,t){return new Pa({fields:e,...t})},struct(e,t,n){return new Da({name:e,fields:t,...n})},enum(e,t,n){return new Ua({name:e,fields:t,...n})},map:cv,lazy(e){return um(e)}};var uv=32;function La(e){try{return ln(e).length===uv}catch{return!1}}var Dr=32;function en(e){return fv(e)&&mv(e)===Dr}function ji(e){return en(e)}var lv=/^[a-zA-Z][a-zA-Z0-9_]*$/;function lm(e){return lv.test(e)}var dv=["bool","u8","u16","u32","u64","u128","u256","address","signer"],pv=/^vector<(.+)>$/;function dm(e){if(dv.includes(e))return!0;let t=e.match(pv);return t?dm(t[1]):e.includes("::")?Va(e):!1}function pm(e){return!en(e.address)&&!tn(e.address)||!lm(e.module)||!lm(e.name)?!1:e.typeParams.every(t=>typeof t=="string"?dm(t):pm(t))}function Va(e){try{return pm(tr(e))}catch{return!1}}function fm(e){if(e.startsWith("vector<")){if(!e.endsWith(">"))throw new Error(`Invalid type tag: ${e}`);let t=e.slice(7,-1);if(!t)throw new Error(`Invalid type tag: ${e}`);let n=fm(t);return typeof n=="string"?`vector<${n}>`:`vector<${be(n)}>`}return e.includes("::")?tr(e):e}function tr(e){let t=e.split("::");if(t.length<3)throw new Error(`Invalid struct tag: ${e}`);let[n,r]=t;if(!n||!r)throw new Error(`Invalid struct tag: ${e}`);let s=tn(n),i=e.slice(n.length+r.length+4),o=i.includes("<")?i.slice(0,i.indexOf("<")):i;if(!o||i.includes("<")&&!i.endsWith(">"))throw new Error(`Invalid struct tag: ${e}`);let a=i.includes("<")?So(i.slice(i.indexOf("<")+1,i.lastIndexOf(">"))).map(c=>fm(c.trim())):[];return{address:s?n:X(n),module:r,name:o,typeParams:a}}function be(e){if(typeof e=="string"&&e.startsWith("vector<"))throw new Error("normalizeStructTag does not support vector types. Use normalizeTypeTag instead.");let{address:t,module:n,name:r,typeParams:s}=typeof e=="string"?tr(e):e;return`${t}::${n}::${r}${s?.length>0?`<${s.map(i=>typeof i=="string"?i:be(i)).join(",")}>`:""}`}function X(e,t=!1){let n=e.toLowerCase();return!t&&n.startsWith("0x")&&(n=n.slice(2)),`0x${n.padStart(Dr*2,"0")}`}function Ft(e,t=!1){return X(e,t)}function fv(e){return/^(0x|0X)?[a-fA-F0-9]+$/.test(e)&&e.length%2===0}function mv(e){return/^(0x|0X)/.test(e)?(e.length-2)/2:e.length/2}var hv=/^([a-z0-9]+(?:-[a-z0-9]+)*)$/,gv=/^\d+$/,yv=64,mm="/",tn=e=>{let t=e.split(mm);if(t.length<2||t.length>3)return!1;let[n,r,s]=t;return s!==void 0&&!gv.test(s)||!Ff(n)?!1:hv.test(r)&&r.length<yv},hm=e=>{let t=e.split(/::|<|>|,/);for(let n of t)if(n.includes(mm)&&!tn(n))return!1;return Va(e)};var bv=/^vector<(.+)>$/,vv=/^([^:]+)::([^:]+)::([^<]+)(<(.+)>)?/,Pn=class Di{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(bv);if(r)return{vector:Di.parseFromStr(r[1],n)};let s=t.match(vv);if(s)return{struct:{address:n?X(s[1]):s[1],module:s[2],name:s[3],typeParams:s[5]===void 0?[]:Di.parseStructTypeArgs(s[5],n)}};throw new Error(`Encountered unexpected token when parsing type args for ${t}`)}static parseStructTypeArgs(t,n=!1){return So(t).map(r=>Di.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<${Di.tagToString(t.vector)}>`;if("struct"in t){let n=t.struct,r=n.typeParams.map(Di.tagToString).join(", ");return`${n.address}::${n.module}::${n.name}${r?`<${r}>`:""}`}throw new Error("Invalid TypeTag")}};function _v(e){return k.u64({name:"unsafe_u64",...e}).transform({input:t=>t,output:t=>Number(t)})}function wv(e){return k.enum("Option",{None:null,Some:e})}var Be=k.bytes(Dr).transform({validate:e=>{let t=typeof e=="string"?e:Vt(e);if(!t||!en(X(t)))throw new Error(`Invalid Sui address ${t}`)},input:e=>typeof e=="string"?dn(X(e)):e,output:e=>X(Vt(e))}),pn=k.byteVector().transform({name:"ObjectDigest",input:e=>ln(e),output:e=>Un(new Uint8Array(e)),validate:e=>{if(ln(e).length!==32)throw new Error("ObjectDigest must be 32 bytes")}}),On=k.struct("SuiObjectRef",{objectId:Be,version:k.u64(),digest:pn}),dl=k.struct("SharedObjectRef",{objectId:Be,initialSharedVersion:k.u64(),mutable:k.bool()}),pl=k.enum("ObjectArg",{ImmOrOwnedObject:On,SharedObject:dl,Receiving:On}),yr=k.enum("Owner",{AddressOwner:Be,ObjectOwner:Be,Shared:k.struct("Shared",{initialSharedVersion:k.u64()}),Immutable:null,ConsensusAddressOwner:k.struct("ConsensusAddressOwner",{startVersion:k.u64(),owner:Be})}),Tv=k.enum("Reservation",{MaxAmountU64:k.u64()}),kv=k.enum("WithdrawalType",{Balance:k.lazy(()=>us)}),Sv=k.enum("WithdrawFrom",{Sender:null,Sponsor:null}),Ev=k.struct("FundsWithdrawal",{reservation:Tv,typeArg:kv,withdrawFrom:Sv}),fl=k.enum("CallArg",{Pure:k.struct("Pure",{bytes:k.byteVector().transform({input:e=>typeof e=="string"?ie(e):e,output:e=>ye(new Uint8Array(e))})}),Object:pl,FundsWithdrawal:Ev}),ml=k.enum("TypeTag",{bool:null,u8:null,u64:null,u128:null,address:null,signer:null,vector:k.lazy(()=>ml),struct:k.lazy(()=>Fa),u16:null,u32:null,u256:null}),us=ml.transform({input:e=>typeof e=="string"?Pn.parseFromStr(e,!0):e,output:e=>Pn.tagToString(e)}),nr=k.enum("Argument",{GasCoin:null,Input:k.u16(),Result:k.u16(),NestedResult:k.tuple([k.u16(),k.u16()])}),hl=k.struct("ProgrammableMoveCall",{package:Be,module:k.string(),function:k.string(),typeArguments:k.vector(us),arguments:k.vector(nr)}),gl=k.enum("Command",{MoveCall:hl,TransferObjects:k.struct("TransferObjects",{objects:k.vector(nr),address:nr}),SplitCoins:k.struct("SplitCoins",{coin:nr,amounts:k.vector(nr)}),MergeCoins:k.struct("MergeCoins",{destination:nr,sources:k.vector(nr)}),Publish:k.struct("Publish",{modules:k.vector(k.byteVector().transform({input:e=>typeof e=="string"?ie(e):e,output:e=>ye(new Uint8Array(e))})),dependencies:k.vector(Be)}),MakeMoveVec:k.struct("MakeMoveVec",{type:wv(us).transform({input:e=>e===null?{None:!0}:{Some:e},output:e=>e.Some??null}),elements:k.vector(nr)}),Upgrade:k.struct("Upgrade",{modules:k.vector(k.byteVector().transform({input:e=>typeof e=="string"?ie(e):e,output:e=>ye(new Uint8Array(e))})),dependencies:k.vector(Be),package:Be,ticket:nr})}),yl=k.struct("ProgrammableTransaction",{inputs:k.vector(fl),commands:k.vector(gl)}),bl=k.enum("TransactionKind",{ProgrammableTransaction:yl,ChangeEpoch:null,Genesis:null,ConsensusCommitPrologue:null}),Ov=k.struct("ValidDuring",{minEpoch:k.option(k.u64()),maxEpoch:k.option(k.u64()),minTimestamp:k.option(k.u64()),maxTimestamp:k.option(k.u64()),chain:pn,nonce:k.u32()}),vl=k.enum("TransactionExpiration",{None:null,Epoch:_v(),ValidDuring:Ov}),Fa=k.struct("StructTag",{address:Be,module:k.string(),name:k.string(),typeParams:k.vector(ml)}),_l=k.struct("GasData",{payment:k.vector(On),owner:Be,price:k.u64(),budget:k.u64()}),wl=k.struct("TransactionDataV1",{kind:bl,sender:Be,gasData:_l,expiration:vl}),Tl=k.enum("TransactionData",{V1:wl}),kl=k.enum("IntentScope",{TransactionData:null,TransactionEffects:null,CheckpointSummary:null,PersonalMessage:null}),Sl=k.enum("IntentVersion",{V0:null}),El=k.enum("AppId",{Sui:null}),Ol=k.struct("Intent",{scope:kl,version:Sl,appId:El});function Il(e){return k.struct(`IntentMessage<${e.name}>`,{intent:Ol,value:e})}var Al=k.enum("CompressedSignature",{ED25519:k.bytes(64),Secp256k1:k.bytes(64),Secp256r1:k.bytes(64),ZkLogin:k.byteVector(),Passkey:k.byteVector()}),xl=k.enum("PublicKey",{ED25519:k.bytes(32),Secp256k1:k.bytes(33),Secp256r1:k.bytes(33),ZkLogin:k.byteVector(),Passkey:k.bytes(33)}),Cl=k.struct("MultiSigPkMap",{pubKey:xl,weight:k.u8()}),Nl=k.struct("MultiSigPublicKey",{pk_map:k.vector(Cl),threshold:k.u16()}),gm=k.struct("MultiSig",{sigs:k.vector(Al),bitmap:k.u16(),multisig_pk:Nl}),Iv=k.byteVector().transform({input:e=>typeof e=="string"?ie(e):e,output:e=>ye(new Uint8Array(e))}),Rl=k.struct("SenderSignedTransaction",{intentMessage:Il(Tl),txSignatures:k.vector(Iv)}),ym=k.vector(Rl,{name:"SenderSignedData"}),bm=k.struct("PasskeyAuthenticator",{authenticatorData:k.byteVector(),clientDataJson:k.string(),userSignature:k.byteVector()}),Ml=k.enum("MoveObjectType",{Other:Fa,GasCoin:null,StakedSui:null,Coin:us,AccumulatorBalanceWrapper:null}),Bl=k.struct("TypeOrigin",{moduleName:k.string(),datatypeName:k.string(),package:Be}),jl=k.struct("UpgradeInfo",{upgradedId:Be,upgradedVersion:k.u64()}),Dl=k.struct("MovePackage",{id:Be,version:k.u64(),moduleMap:k.map(k.string(),k.byteVector()),typeOriginTable:k.vector(Bl),linkageTable:k.map(Be,jl)}),Ul=k.struct("MoveObject",{type:Ml,hasPublicTransfer:k.bool(),version:k.u64(),contents:k.byteVector()}),Pl=k.enum("Data",{Move:Ul,Package:Dl}),vm=k.struct("ObjectInner",{data:Pl,owner:yr,previousTransaction:pn,storageRebate:k.u64()});var Av=k.enum("PackageUpgradeError",{UnableToFetchPackage:k.struct("UnableToFetchPackage",{packageId:Be}),NotAPackage:k.struct("NotAPackage",{objectId:Be}),IncompatibleUpgrade:null,DigestDoesNotMatch:k.struct("DigestDoesNotMatch",{digest:k.byteVector()}),UnknownUpgradePolicy:k.struct("UnknownUpgradePolicy",{policy:k.u8()}),PackageIDDoesNotMatch:k.struct("PackageIDDoesNotMatch",{packageId:Be,ticketId:Be})}),xv=k.struct("ModuleId",{address:Be,name:k.string()}),_m=k.struct("MoveLocation",{module:xv,function:k.u16(),instruction:k.u16(),functionName:k.option(k.string())}),Cv=k.enum("CommandArgumentError",{TypeMismatch:null,InvalidBCSBytes:null,InvalidUsageOfPureArg:null,InvalidArgumentToPrivateEntryFunction:null,IndexOutOfBounds:k.struct("IndexOutOfBounds",{idx:k.u16()}),SecondaryIndexOutOfBounds:k.struct("SecondaryIndexOutOfBounds",{resultIdx:k.u16(),secondaryIdx:k.u16()}),InvalidResultArity:k.struct("InvalidResultArity",{resultIdx:k.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}),Nv=k.enum("TypeArgumentError",{TypeNotFound:null,ConstraintNotSatisfied:null}),Rv=k.enum("ExecutionFailureStatus",{InsufficientGas:null,InvalidGasObject:null,InvariantViolation:null,FeatureNotYetSupported:null,MoveObjectTooBig:k.struct("MoveObjectTooBig",{objectSize:k.u64(),maxObjectSize:k.u64()}),MovePackageTooBig:k.struct("MovePackageTooBig",{objectSize:k.u64(),maxObjectSize:k.u64()}),CircularObjectOwnership:k.struct("CircularObjectOwnership",{object:Be}),InsufficientCoinBalance:null,CoinBalanceOverflow:null,PublishErrorNonZeroAddress:null,SuiMoveVerificationError:null,MovePrimitiveRuntimeError:k.option(_m),MoveAbort:k.tuple([_m,k.u64()]),VMVerificationOrDeserializationError:null,VMInvariantViolation:null,FunctionNotFound:null,ArityMismatch:null,TypeArityMismatch:null,NonEntryFunctionInvoked:null,CommandArgumentError:k.struct("CommandArgumentError",{argIdx:k.u16(),kind:Cv}),TypeArgumentError:k.struct("TypeArgumentError",{argumentIdx:k.u16(),kind:Nv}),UnusedValueWithoutDrop:k.struct("UnusedValueWithoutDrop",{resultIdx:k.u16(),secondaryIdx:k.u16()}),InvalidPublicFunctionReturnType:k.struct("InvalidPublicFunctionReturnType",{idx:k.u16()}),InvalidTransferObject:null,EffectsTooLarge:k.struct("EffectsTooLarge",{currentSize:k.u64(),maxSize:k.u64()}),PublishUpgradeMissingDependency:null,PublishUpgradeDependencyDowngrade:null,PackageUpgradeError:k.struct("PackageUpgradeError",{upgradeError:Av}),WrittenObjectsTooLarge:k.struct("WrittenObjectsTooLarge",{currentSize:k.u64(),maxSize:k.u64()}),CertificateDenied:null,SuiMoveVerificationTimedout:null,SharedObjectOperationNotAllowed:null,InputObjectDeleted:null,ExecutionCancelledDueToSharedObjectCongestion:k.struct("ExecutionCancelledDueToSharedObjectCongestion",{congested_objects:k.vector(Be)}),AddressDeniedForCoin:k.struct("AddressDeniedForCoin",{address:Be,coinType:k.string()}),CoinTypeGlobalPause:k.struct("CoinTypeGlobalPause",{coinType:k.string()}),ExecutionCancelledDueToRandomnessUnavailable:null,MoveVectorElemTooBig:k.struct("MoveVectorElemTooBig",{valueSize:k.u64(),maxScaledSize:k.u64()}),MoveRawValueTooBig:k.struct("MoveRawValueTooBig",{valueSize:k.u64(),maxScaledSize:k.u64()}),InvalidLinkage:null,InsufficientBalanceForWithdraw:null,NonExclusiveWriteInputObjectModified:k.struct("NonExclusiveWriteInputObjectModified",{id:Be})}),$a=k.enum("ExecutionStatus",{Success:null,Failure:k.struct("Failure",{error:Rv,command:k.option(k.u64())})}),wm=k.struct("GasCostSummary",{computationCost:k.u64(),storageCost:k.u64(),storageRebate:k.u64(),nonRefundableStorageFee:k.u64()}),Mv=k.struct("TransactionEffectsV1",{status:$a,executedEpoch:k.u64(),gasUsed:wm,modifiedAtVersions:k.vector(k.tuple([Be,k.u64()])),sharedObjects:k.vector(On),transactionDigest:pn,created:k.vector(k.tuple([On,yr])),mutated:k.vector(k.tuple([On,yr])),unwrapped:k.vector(k.tuple([On,yr])),deleted:k.vector(On),unwrappedThenDeleted:k.vector(On),wrapped:k.vector(On),gasObject:k.tuple([On,yr]),eventsDigest:k.option(pn),dependencies:k.vector(pn)}),Ll=k.tuple([k.u64(),pn]),Bv=k.enum("ObjectIn",{NotExist:null,Exist:k.tuple([Ll,yr])}),jv=k.struct("AccumulatorAddress",{address:Be,ty:us}),Dv=k.enum("AccumulatorOperation",{Merge:null,Split:null}),Uv=k.enum("AccumulatorValue",{Integer:k.u64(),IntegerTuple:k.tuple([k.u64(),k.u64()]),EventDigest:k.vector(k.tuple([k.u64(),pn]))}),Pv=k.struct("AccumulatorWriteV1",{address:jv,operation:Dv,value:Uv}),Lv=k.enum("ObjectOut",{NotExist:null,ObjectWrite:k.tuple([pn,yr]),PackageWrite:Ll,AccumulatorWriteV1:Pv}),Vv=k.enum("IDOperation",{None:null,Created:null,Deleted:null}),Fv=k.struct("EffectsObjectChange",{inputState:Bv,outputState:Lv,idOperation:Vv}),$v=k.enum("UnchangedConsensusKind",{ReadOnlyRoot:Ll,MutateConsensusStreamEnded:k.u64(),ReadConsensusStreamEnded:k.u64(),Cancelled:k.u64(),PerEpochConfig:null}),qv=k.struct("TransactionEffectsV2",{status:$a,executedEpoch:k.u64(),gasUsed:wm,transactionDigest:pn,gasObjectIndex:k.option(k.u32()),eventsDigest:k.option(pn),dependencies:k.vector(pn),lamportVersion:k.u64(),changedObjects:k.vector(k.tuple([Be,Fv])),unchangedConsensusObjects:k.vector(k.tuple([Be,$v])),auxDataDigest:k.option(pn)}),Tm=k.enum("TransactionEffects",{V1:Mv,V2:qv});function Ui(e){switch(e){case"u8":return k.u8();case"u16":return k.u16();case"u32":return k.u32();case"u64":return k.u64();case"u128":return k.u128();case"u256":return k.u256();case"bool":return k.bool();case"string":return k.string();case"id":case"address":return Be}let t=e.match(/^(vector|option)<(.+)>$/);if(t){let[n,r]=t.slice(1);return n==="vector"?k.vector(Ui(r)):k.option(Ui(r))}throw new Error(`Invalid Pure type name: ${e}`)}var E={...k,U8:k.u8(),U16:k.u16(),U32:k.u32(),U64:k.u64(),U128:k.u128(),U256:k.u256(),ULEB128:k.uleb128(),Bool:k.bool(),String:k.string(),Address:Be,AppId:El,Argument:nr,CallArg:fl,Command:gl,CompressedSignature:Al,Data:Pl,GasData:_l,Intent:Ol,IntentMessage:Il,IntentScope:kl,IntentVersion:Sl,MoveObject:Ul,MoveObjectType:Ml,MovePackage:Dl,MultiSig:gm,MultiSigPkMap:Cl,MultiSigPublicKey:Nl,Object:vm,ObjectArg:pl,ObjectDigest:pn,Owner:yr,PasskeyAuthenticator:bm,ProgrammableMoveCall:hl,ProgrammableTransaction:yl,PublicKey:xl,SenderSignedData:ym,SenderSignedTransaction:Rl,SharedObjectRef:dl,StructTag:Fa,SuiObjectRef:On,TransactionData:Tl,TransactionDataV1:wl,TransactionEffects:Tm,TransactionExpiration:vl,TransactionKind:bl,TypeOrigin:Bl,TypeTag:us,UpgradeInfo:jl};function qs(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Kt(e,t=""){if(!Number.isSafeInteger(e)||e<0){let n=t&&`"${t}" `;throw new Error(`${n}expected integer >= 0, got ${e}`)}}function me(e,t,n=""){let r=qs(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 Pi(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash must wrapped by utils.createHasher");Kt(e.outputLen),Kt(e.blockLen)}function Pr(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 qa(e,t){me(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 Oo(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function Xt(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function br(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function rr(e,t){return e<<32-t|e>>>t}function Io(e,t){return e<<t|e>>>32-t>>>0}var Sm=(()=>new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68)();function Em(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}var vr=Sm?e=>e:e=>Em(e);function Gv(e){for(let t=0;t<e.length;t++)e[t]=Em(e[t]);return e}var Gs=Sm?e=>e:Gv,Om=(()=>typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function")(),zv=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function sr(e){if(me(e),Om)return e.toHex();let t="";for(let n=0;n<e.length;n++)t+=zv[e[n]];return t}var Ur={_0:48,_9:57,A:65,F:70,a:97,f:102};function km(e){if(e>=Ur._0&&e<=Ur._9)return e-Ur._0;if(e>=Ur.A&&e<=Ur.F)return e-(Ur.A-10);if(e>=Ur.a&&e<=Ur.f)return e-(Ur.a-10)}function Lr(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(Om)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=km(e.charCodeAt(i)),a=km(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 Wv(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function Vl(e,t=""){return typeof e=="string"?Wv(e):me(e,void 0,t)}function zt(...e){let t=0;for(let r=0;r<e.length;r++){let s=e[r];me(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 Im(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 zs(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 Li(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 Fl=e=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])});var Am=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]);function $l(e,t,n){return e&t^~e&n}function ql(e,t,n){return e&t^e&n^t&n}var Ws=class{blockLen;outputLen;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(t,n,r,s){this.blockLen=t,this.outputLen=n,this.padOffset=r,this.isLE=s,this.buffer=new Uint8Array(t),this.view=br(this.buffer)}update(t){Pr(this),me(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=br(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){Pr(this),qa(t,this),this.finished=!0;let{buffer:n,view:r,blockLen:s,isLE:i}=this,{pos:o}=this;n[o++]=128,Xt(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=br(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen must be aligned to 32bit");let u=c/4,d=this.get();if(u>d.length)throw new Error("_sha2: outputLen bigger than state");for(let p=0;p<u;p++)a.setUint32(4*p,d[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||=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()}},Vr=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var nn=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var Ga=BigInt(4294967295),xm=BigInt(32);function Gl(e,t=!1){return t?{h:Number(e&Ga),l:Number(e>>xm&Ga)}:{h:Number(e>>xm&Ga)|0,l:Number(e&Ga)|0}}function Cm(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}=Gl(e[i],t);[r[i],s[i]]=[o,a]}return[r,s]}var zl=(e,t,n)=>e>>>n,Wl=(e,t,n)=>e<<32-n|t>>>n,_r=(e,t,n)=>e>>>n|t<<32-n,wr=(e,t,n)=>e<<32-n|t>>>n,Hs=(e,t,n)=>e<<64-n|t>>>n-32,Js=(e,t,n)=>e>>>n-32|t<<64-n,Nm=(e,t)=>t,Rm=(e,t)=>e;function Ln(e,t,n,r){let s=(t>>>0)+(r>>>0);return{h:e+n+(s/2**32|0)|0,l:s|0}}var Ao=(e,t,n)=>(e>>>0)+(t>>>0)+(n>>>0),xo=(e,t,n,r)=>t+n+r+(e/2**32|0)|0,Mm=(e,t,n,r)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0),Bm=(e,t,n,r,s)=>t+n+r+s+(e/2**32|0)|0,jm=(e,t,n,r,s)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0)+(s>>>0),Dm=(e,t,n,r,s,i)=>t+n+r+s+i+(e/2**32|0)|0;var Wt=Uint32Array.from([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),ee=new Uint32Array(32);function ls(e,t,n,r,s,i){let o=s[i],a=s[i+1],c=ee[2*e],u=ee[2*e+1],d=ee[2*t],p=ee[2*t+1],f=ee[2*n],g=ee[2*n+1],b=ee[2*r],_=ee[2*r+1],I=Ao(c,d,o);u=xo(I,u,p,a),c=I|0,{Dh:_,Dl:b}={Dh:_^u,Dl:b^c},{Dh:_,Dl:b}={Dh:Nm(_,b),Dl:Rm(_,b)},{h:g,l:f}=Ln(g,f,_,b),{Bh:p,Bl:d}={Bh:p^g,Bl:d^f},{Bh:p,Bl:d}={Bh:_r(p,d,24),Bl:wr(p,d,24)},ee[2*e]=c,ee[2*e+1]=u,ee[2*t]=d,ee[2*t+1]=p,ee[2*n]=f,ee[2*n+1]=g,ee[2*r]=b,ee[2*r+1]=_}function ds(e,t,n,r,s,i){let o=s[i],a=s[i+1],c=ee[2*e],u=ee[2*e+1],d=ee[2*t],p=ee[2*t+1],f=ee[2*n],g=ee[2*n+1],b=ee[2*r],_=ee[2*r+1],I=Ao(c,d,o);u=xo(I,u,p,a),c=I|0,{Dh:_,Dl:b}={Dh:_^u,Dl:b^c},{Dh:_,Dl:b}={Dh:_r(_,b,16),Dl:wr(_,b,16)},{h:g,l:f}=Ln(g,f,_,b),{Bh:p,Bl:d}={Bh:p^g,Bl:d^f},{Bh:p,Bl:d}={Bh:Hs(p,d,63),Bl:Js(p,d,63)},ee[2*e]=c,ee[2*e+1]=u,ee[2*t]=d,ee[2*t+1]=p,ee[2*n]=f,ee[2*n+1]=g,ee[2*r]=b,ee[2*r+1]=_}function Hv(e,t={},n,r,s){if(Kt(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&&me(o,r,"salt"),a!==void 0&&me(a,s,"personalization")}var Hl=class{buffer;buffer32;finished=!1;destroyed=!1;length=0;pos=0;blockLen;outputLen;constructor(t,n){Kt(t),Kt(n),this.blockLen=t,this.outputLen=n,this.buffer=new Uint8Array(t),this.buffer32=Oo(this.buffer)}update(t){Pr(this),me(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&&(Gs(s),this.compress(s,0,!1),Gs(s),this.pos=0);let u=Math.min(n-this.pos,i-c),d=o+c;if(u===n&&!(d%4)&&c+u<i){let p=new Uint32Array(a,d,Math.floor((i-c)/4));Gs(p);for(let f=0;c+n<i;f+=s.length,c+=n)this.length+=n,this.compress(p,f,!1);Gs(p);continue}r.set(t.subarray(c,c+u),this.pos),this.pos+=u,this.length+=u,c+=u}return this}digestInto(t){Pr(this),qa(t,this);let{pos:n,buffer32:r}=this;this.finished=!0,Xt(this.buffer.subarray(n)),Gs(r),this.compress(r,0,!0),Gs(r);let s=Oo(t);this.get().forEach((i,o)=>s[o]=vr(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||=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()}},Jl=class extends Hl{v0l=Wt[0]|0;v0h=Wt[1]|0;v1l=Wt[2]|0;v1h=Wt[3]|0;v2l=Wt[4]|0;v2h=Wt[5]|0;v3l=Wt[6]|0;v3h=Wt[7]|0;v4l=Wt[8]|0;v4h=Wt[9]|0;v5l=Wt[10]|0;v5h=Wt[11]|0;v6l=Wt[12]|0;v6h=Wt[13]|0;v7l=Wt[14]|0;v7h=Wt[15]|0;constructor(t={}){let n=t.dkLen===void 0?64:t.dkLen;super(128,n),Hv(n,t,64,16,16);let{key:r,personalization:s,salt:i}=t,o=0;if(r!==void 0&&(me(r,void 0,"key"),o=r.length),this.v0l^=this.outputLen|o<<8|65536|1<<24,i!==void 0){me(i,void 0,"salt");let a=Oo(i);this.v4l^=vr(a[0]),this.v4h^=vr(a[1]),this.v5l^=vr(a[2]),this.v5h^=vr(a[3])}if(s!==void 0){me(s,void 0,"personalization");let a=Oo(s);this.v6l^=vr(a[0]),this.v6h^=vr(a[1]),this.v7l^=vr(a[2]),this.v7h^=vr(a[3])}if(r!==void 0){let a=new Uint8Array(this.blockLen);a.set(r),this.update(a)}}get(){let{v0l:t,v0h:n,v1l:r,v1h:s,v2l:i,v2h:o,v3l:a,v3h:c,v4l:u,v4h:d,v5l:p,v5h:f,v6l:g,v6h:b,v7l:_,v7h:I}=this;return[t,n,r,s,i,o,a,c,u,d,p,f,g,b,_,I]}set(t,n,r,s,i,o,a,c,u,d,p,f,g,b,_,I){this.v0l=t|0,this.v0h=n|0,this.v1l=r|0,this.v1h=s|0,this.v2l=i|0,this.v2h=o|0,this.v3l=a|0,this.v3h=c|0,this.v4l=u|0,this.v4h=d|0,this.v5l=p|0,this.v5h=f|0,this.v6l=g|0,this.v6h=b|0,this.v7l=_|0,this.v7h=I|0}compress(t,n,r){this.get().forEach((c,u)=>ee[u]=c),ee.set(Wt,16);let{h:s,l:i}=Gl(BigInt(this.length));ee[24]=Wt[8]^i,ee[25]=Wt[9]^s,r&&(ee[28]=~ee[28],ee[29]=~ee[29]);let o=0,a=Am;for(let c=0;c<12;c++)ls(0,4,8,12,t,n+2*a[o++]),ds(0,4,8,12,t,n+2*a[o++]),ls(1,5,9,13,t,n+2*a[o++]),ds(1,5,9,13,t,n+2*a[o++]),ls(2,6,10,14,t,n+2*a[o++]),ds(2,6,10,14,t,n+2*a[o++]),ls(3,7,11,15,t,n+2*a[o++]),ds(3,7,11,15,t,n+2*a[o++]),ls(0,5,10,15,t,n+2*a[o++]),ds(0,5,10,15,t,n+2*a[o++]),ls(1,6,11,12,t,n+2*a[o++]),ds(1,6,11,12,t,n+2*a[o++]),ls(2,7,8,13,t,n+2*a[o++]),ds(2,7,8,13,t,n+2*a[o++]),ls(3,4,9,14,t,n+2*a[o++]),ds(3,4,9,14,t,n+2*a[o++]);this.v0l^=ee[0]^ee[16],this.v0h^=ee[1]^ee[17],this.v1l^=ee[2]^ee[18],this.v1h^=ee[3]^ee[19],this.v2l^=ee[4]^ee[20],this.v2h^=ee[5]^ee[21],this.v3l^=ee[6]^ee[22],this.v3h^=ee[7]^ee[23],this.v4l^=ee[8]^ee[24],this.v4h^=ee[9]^ee[25],this.v5l^=ee[10]^ee[26],this.v5h^=ee[11]^ee[27],this.v6l^=ee[12]^ee[28],this.v6h^=ee[13]^ee[29],this.v7l^=ee[14]^ee[30],this.v7h^=ee[15]^ee[31],Xt(ee)}destroy(){this.destroyed=!0,Xt(this.buffer32),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},ir=zs(e=>new Jl(e));function or(e,t,n){let r=E.Address.serialize(e).toBytes(),s=E.TypeTag.serialize(t).toBytes(),i=E.u64().serialize(n.length).toBytes(),o=ir.create({dkLen:32});return o.update(new Uint8Array([240])),o.update(r),o.update(i),o.update(n),o.update(s),`0x${Vt(o.digest().slice(0,32))}`}var Jv=BigInt(1e9),Co="0x0000000000000000000000000000000000000000000000000000000000000001",Fr="0x0000000000000000000000000000000000000000000000000000000000000002",Zl="0x0000000000000000000000000000000000000000000000000000000000000003",he="0x0000000000000000000000000000000000000000000000000000000000000006";var zn=`${Fr}::sui::SUI`,za="0x0000000000000000000000000000000000000000000000000000000000000005",Kl="0x0000000000000000000000000000000000000000000000000000000000000008";var Xl="0x0000000000000000000000000000000000000000000000000000000000000403";var Pm=class Lm{#e;#t;constructor({prefix:t,cache:n}={}){this.#e=t??[],this.#t=n??new Map}read(t,n){let r=[this.#e,...t].join(":");if(this.#t.has(r))return this.#t.get(r);let s=n();return this.#t.set(r,s),typeof s=="object"&&s!==null&&"then"in s?Promise.resolve(s).then(i=>(this.#t.set(r,i),i)).catch(i=>{throw this.#t.delete(r),i}):s}readSync(t,n){let r=[this.#e,...t].join(":");if(this.#t.has(r))return this.#t.get(r);let s=n();return this.#t.set(r,s),s}clear(t){let n=[...this.#e,...t??[]].join(":");if(!n){this.#t.clear();return}for(let r of this.#t.keys())r.startsWith(n)&&this.#t.delete(r)}scope(t){return new Lm({prefix:[...this.#e,...Array.isArray(t)?t:[t]],cache:this.#t})}};var ps=class{constructor({network:e,base:t,cache:n=t?.cache??new Pm}){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 Wa="2.16.3";var Zv="/",Kv={"Mvr-Source":`@mysten/sui@${Wa}`},Fm=class{#e;#t;#s;#r;constructor({cache:e,url:t,pageSize:n=50,overrides:r}){this.#e=e,this.#t=t,this.#s=n,this.#r={packages:r?.packages,types:r?.types},Xv(this.#r)}get#i(){return this.#e.readSync(["#mvrPackageDataLoader",this.#t??""],()=>{let e=new Ma(async n=>{if(!this.#t)throw new Error(`MVR Api URL is not set for the current client (resolving ${n.join(", ")})`);let r=await this.#a(n);return n.map(s=>r[s]??new Error(`Failed to resolve package: ${s}`))}),t=this.#r?.packages;if(t)for(let[n,r]of Object.entries(t))e.prime(n,r);return e})}get#o(){return this.#e.readSync(["#mvrTypeDataLoader",this.#t??""],()=>{let e=new Ma(async n=>{if(!this.#t)throw new Error(`MVR Api URL is not set for the current client (resolving ${n.join(", ")})`);let r=await this.#c(n);return n.map(s=>r[s]??new Error(`Failed to resolve type: ${s}`))}),t=this.#r?.types;if(t)for(let[n,r]of Object.entries(t))e.prime(n,r);return e})}async#a(e){if(e.length===0)return{};let t=Gn(e,this.#s),n={};return await Promise.all(t.map(async r=>{let s=await this.#n("/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}async#c(e){if(e.length===0)return{};let t=Gn(e,this.#s),n={};return await Promise.all(t.map(async r=>{let s=await this.#n("/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}async#n(e,t){if(!this.#t)throw new Error("MVR Api URL is not set for the current client");let n=await fetch(`${this.#t}${e}`,{method:"POST",headers:{"Content-Type":"application/json",...Kv},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()}async resolvePackage({package:e}){return rn(e)?{package:await this.#i.load(e)}:{package:e}}async resolveType({type:e}){if(!rn(e))return{type:e};let t=[...Ha(e)],n=await this.#o.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:Ja(e,r)}}async resolve({types:e=[],packages:t=[]}){let n=new Set;for(let u of e??[])Ha(u,n);let r=[...n],[s,i]=await Promise.all([r.length>0?this.#o.loadMany(r):[],t.length>0?this.#i.loadMany(t):[]]),o={...this.#r?.types};for(let[u,d]of r.entries()){let p=s[u];if(p instanceof Error)throw p;o[d]=p}let a={};for(let u of e??[])a[u]={type:Ja(u,o)};let c={};for(let[u,d]of(t??[]).entries()){let p=this.#r?.packages?.[d]??i[u];if(p instanceof Error)throw p;c[d]={package:p}}return{types:a,packages:c}}};function Xv(e){if(e?.packages)for(let[t,n]of Object.entries(e.packages)){if(!tn(t))throw new Error(`Invalid package name: ${t}`);if(!en(X(n)))throw new Error(`Invalid package ID: ${n}`)}if(e?.types)for(let[t,n]of Object.entries(e.types)){if(tr(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(!en(tr(n).address))throw new Error(`Invalid type: ${n}`)}}function Ha(e,t=new Set){if(typeof e=="string"&&!rn(e))return t;if(typeof e=="string"&&e.startsWith("vector<")&&e.endsWith(">"))return Ha(e.slice(7,-1),t);let n=$m(e)?e:tr(e);rn(n.address)&&t.add(`${n.address}::${n.module}::${n.name}`);for(let r of n.typeParams)Ha(r,t);return t}function Ja(e,t){if(typeof e=="string"&&!e.includes("::"))return e;if(typeof e=="string"&&e.startsWith("vector<")&&e.endsWith(">"))return`vector<${Ja(e.slice(7,-1),t)}>`;let n=$m(e)?e:tr(e),r=t[`${n.address}::${n.module}::${n.name}`];return be({...n,address:r?r.split("::")[0]:n.address,typeParams:n.typeParams.map(s=>Ja(s,t))})}function rn(e){return e.includes(Zv)||e.includes("@")||e.includes(".sui")}function $m(e){return typeof e=="object"&&"address"in e&&"module"in e&&"name"in e&&"typeParams"in e}function qm(e){let t=new Set,n=new Set;for(let r of e.commands)switch(r.$kind){case"MakeMoveVec":r.MakeMoveVec.type&&Vm([r.MakeMoveVec.type]).forEach(o=>{n.add(o)});break;case"MoveCall":let s=r.MoveCall,i=s.package.split("::")[0];if(rn(i)){if(!tn(i))throw new Error(`Invalid package name: ${i}`);t.add(i)}Vm(s.typeArguments??[]).forEach(o=>{n.add(o)});break;default:break}return{packages:[...t],types:[...n]}}function Gm(e,t){for(let n of e.commands){if(n.MakeMoveVec?.type){if(!rn(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(rn(i)&&!t.packages[i])throw new Error(`No address found for package: ${i}`);rn(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(rn(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 Vm(e){let t=new Set;for(let n of e)if(rn(n)){if(!hm(n))throw new Error(`Invalid type with names: ${n}`);t.add(n)}return t}var Yv={mainnet:"https://mainnet.mvr.mystenlabs.com",testnet:"https://testnet.mvr.mystenlabs.com"},Vi=class extends ps{constructor(e){super(e),this.core=this,this.mvr=new Fm({cache:this.cache.scope("core.mvr"),url:e.mvr?.url??Yv[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=Pn.parseFromStr((await this.core.mvr.resolveType({type:e.name.type})).type),n=or(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=tr(r.type),i=await r.content,o=s.typeParams[0],a=typeof o!="string"&&o.module==="dynamic_object_field"&&o.name==="Wrapper",c=i.slice(Dr+e.name.bcs.length),u=typeof s.typeParams[1]=="string"?s.typeParams[1]:be(s.typeParams[1]);return{dynamicField:{$kind:a?"DynamicObject":"DynamicField",fieldId:r.objectId,digest:r.digest,version:r.version,type:r.type,previousTransaction:r.previousTransaction,name:{type:typeof o=="string"?o:be(o),bcs:e.name.bcs},value:{type:u,bcs:c},childId:a?E.Address.parse(c):void 0}}}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:n.childId,signal:e.signal,include:e.include});return{object:r}}async waitForTransaction(e){let{signal:t,timeout:n=60*1e3,pollSchedule:r,include:s}=e,i="result"in e&&e.result?(e.result.Transaction??e.result.FailedTransaction).digest:e.digest,o=t?AbortSignal.any([AbortSignal.timeout(n),t]):AbortSignal.timeout(n),a=new Promise((f,g)=>{o.addEventListener("abort",()=>g(o.reason))});a.catch(()=>{});let c=r??[0,300,600,1500,3500],u=Date.now(),d=0,p=c.length>0?c[c.length-1]-(c[c.length-2]??0):2e3;for(;;){if(d<c.length){let f=u+c[d]-Date.now();d++,f>0&&await Promise.race([new Promise(g=>setTimeout(g,f)),a])}else await Promise.race([new Promise(f=>setTimeout(f,p)),a]);o.throwIfAborted();try{return await this.getTransaction({digest:i,include:s,signal:o})}catch{}}}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 Yl;function Wm(e){return{lang:e?.lang??Yl?.lang,message:e?.message,abortEarly:e?.abortEarly??Yl?.abortEarly,abortPipeEarly:e?.abortPipeEarly??Yl?.abortPipeEarly}}var Qv;function e_(e){return Qv?.get(e)}var t_;function n_(e){return t_?.get(e)}var r_;function s_(e,t){return r_?.get(e)?.get(t)}function Ql(e){let t=typeof e;return t==="string"?`"${e}"`:t==="number"||t==="bigint"||t==="boolean"?`${e}`:t==="object"||t==="function"?(e&&Object.getPrototypeOf(e)?.constructor?.name)??"null":t}function yn(e,t,n,r,s){let i=s&&"input"in s?s.input:n.value,o=s?.expected??e.expects??null,a=s?.received??Ql(i),c={kind:e.kind,type:e.type,input:i,expected:o,received:a,message:`Invalid ${t}: ${o?`Expected ${o} but r`:"R"}eceived ${a}`,requirement:e.requirement,path:s?.path,issues:s?.issues,lang:r.lang,abortEarly:r.abortEarly,abortPipeEarly:r.abortPipeEarly},u=e.kind==="schema",d=s?.message??e.message??s_(e.reference,c.lang)??(u?n_(c.lang):null)??r.message??e_(c.lang);d!==void 0&&(c.message=typeof d=="function"?d(c):d),u&&(n.typed=!1),n.issues?n.issues.push(c):n.issues=[c]}function sn(e){return{version:1,vendor:"valibot",validate(t){return e["~run"]({value:t},Wm())}}}function i_(e,t){return Object.hasOwn(e,t)&&t!=="__proto__"&&t!=="prototype"&&t!=="constructor"}function Hm(e,t){let n=[...new Set(e)];return n.length>1?`(${n.join(` ${t} `)})`:n[0]??"never"}var o_=class extends Error{constructor(e){super(e[0].message),this.name="ValiError",this.issues=e}};function fs(e,t){return{kind:"validation",type:"check",reference:fs,async:!1,expects:null,requirement:e,message:t,"~run"(n,r){return n.typed&&!this.requirement(n.value)&&yn(this,"input",n,r),n}}}function ze(e){return{kind:"validation",type:"integer",reference:ze,async:!1,expects:null,requirement:Number.isInteger,message:e,"~run"(t,n){return t.typed&&!this.requirement(t.value)&&yn(this,"integer",t,n),t}}}function Za(e){return{kind:"transformation",type:"transform",reference:Za,async:!1,operation:e,"~run"(t){return t.value=this.operation(t.value),t}}}function a_(e,t,n){return typeof e.fallback=="function"?e.fallback(t,n):e.fallback}function Ka(e,t,n){return typeof e.default=="function"?e.default(t,n):e.default}function No(e,t){return!e["~run"]({value:t},{abortEarly:!0}).issues}function ge(e,t){return{kind:"schema",type:"array",reference:ge,expects:"Array",async:!1,item:e,message:t,get"~standard"(){return sn(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 yn(this,"type",n,r);return n}}}function Fi(e){return{kind:"schema",type:"bigint",reference:Fi,expects:"bigint",async:!1,message:e,get"~standard"(){return sn(this)},"~run"(t,n){return typeof t.value=="bigint"?t.typed=!0:yn(this,"type",t,n),t}}}function $r(e){return{kind:"schema",type:"boolean",reference:$r,expects:"boolean",async:!1,message:e,get"~standard"(){return sn(this)},"~run"(t,n){return typeof t.value=="boolean"?t.typed=!0:yn(this,"type",t,n),t}}}function Zs(e){return{kind:"schema",type:"lazy",reference:Zs,expects:"unknown",async:!1,getter:e,get"~standard"(){return sn(this)},"~run"(t,n){return this.getter(t.value)["~run"](t,n)}}}function le(e,t){return{kind:"schema",type:"literal",reference:le,expects:Ql(e),async:!1,literal:e,message:t,get"~standard"(){return sn(this)},"~run"(n,r){return n.value===this.literal?n.typed=!0:yn(this,"type",n,r),n}}}function Ae(e,t){return{kind:"schema",type:"nullable",reference:Ae,expects:`(${e.expects} | null)`,async:!1,wrapped:e,default:t,get"~standard"(){return sn(this)},"~run"(n,r){return n.value===null&&(this.default!==void 0&&(n.value=Ka(this,n,r)),n.value===null)?(n.typed=!0,n):this.wrapped["~run"](n,r)}}}function qr(e,t){return{kind:"schema",type:"nullish",reference:qr,expects:`(${e.expects} | null | undefined)`,async:!1,wrapped:e,default:t,get"~standard"(){return sn(this)},"~run"(n,r){return(n.value===null||n.value===void 0)&&(this.default!==void 0&&(n.value=Ka(this,n,r)),n.value===null||n.value===void 0)?(n.typed=!0,n):this.wrapped["~run"](n,r)}}}function Ge(e){return{kind:"schema",type:"number",reference:Ge,expects:"number",async:!1,message:e,get"~standard"(){return sn(this)},"~run"(t,n){return typeof t.value=="number"&&!isNaN(t.value)?t.typed=!0:yn(this,"type",t,n),t}}}function H(e,t){return{kind:"schema",type:"object",reference:H,expects:"Object",async:!1,entries:e,message:t,get"~standard"(){return sn(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]:Ka(o),c=o["~run"]({value:a},r);if(c.issues){let u={type:"object",origin:"value",input:s,key:i,value:a};for(let d of c.issues)d.path?d.path.unshift(u):d.path=[u],n.issues?.push(d);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]=a_(o);else if(o.type!=="exact_optional"&&o.type!=="optional"&&o.type!=="nullish"&&(yn(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 yn(this,"type",n,r);return n}}}function Ze(e,t){return{kind:"schema",type:"optional",reference:Ze,expects:`(${e.expects} | undefined)`,async:!1,wrapped:e,default:t,get"~standard"(){return sn(this)},"~run"(n,r){return n.value===void 0&&(this.default!==void 0&&(n.value=Ka(this,n,r)),n.value===void 0)?(n.typed=!0,n):this.wrapped["~run"](n,r)}}}function ed(e,t){return{kind:"schema",type:"picklist",reference:ed,expects:Hm(e.map(Ql),"|"),async:!1,options:e,message:t,get"~standard"(){return sn(this)},"~run"(n,r){return this.options.includes(n.value)?n.typed=!0:yn(this,"type",n,r),n}}}function Ks(e,t,n){return{kind:"schema",type:"record",reference:Ks,expects:"Object",async:!1,key:e,value:t,message:n,get"~standard"(){return sn(this)},"~run"(r,s){let i=r.value;if(i&&typeof i=="object"){r.typed=!0,r.value={};for(let o in i)if(i_(i,o)){let a=i[o],c=this.key["~run"]({value:o},s);if(c.issues){let d={type:"object",origin:"key",input:i,key:o,value:a};for(let p of c.issues)p.path=[d],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 d={type:"object",origin:"value",input:i,key:o,value:a};for(let p of u.issues)p.path?p.path.unshift(d):p.path=[d],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 yn(this,"type",r,s);return r}}}function Te(e){return{kind:"schema",type:"string",reference:Te,expects:"string",async:!1,message:e,get"~standard"(){return sn(this)},"~run"(t,n){return typeof t.value=="string"?t.typed=!0:yn(this,"type",t,n),t}}}function Ro(e,t){return{kind:"schema",type:"tuple",reference:Ro,expects:"Array",async:!1,items:e,message:t,get"~standard"(){return sn(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 yn(this,"type",n,r);return n}}}function zm(e){let t;if(e)for(let n of e)t?t.push(...n.issues):t=n.issues;return t}function nt(e,t){return{kind:"schema",type:"union",reference:nt,expects:Hm(e.map(n=>n.expects),"|"),async:!1,options:e,message:t,get"~standard"(){return sn(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];yn(this,"type",n,r,{issues:zm(i)}),n.typed=!0}else{if(o?.length===1)return o[0];yn(this,"type",n,r,{issues:zm(o)})}return n}}}function Tr(){return{kind:"schema",type:"unknown",reference:Tr,expects:"unknown",async:!1,get"~standard"(){return sn(this)},"~run"(e){return e.typed=!0,e}}}function De(e,t,n){let r=e["~run"]({value:t},Wm(n));if(r.issues)throw new o_(r.issues);return r.value}function Le(...e){return{...e[0],pipe:e,get"~standard"(){return sn(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 cr(e){return nt(Object.keys(e).map(t=>Mo(t,H({[t]:e[t]}))))}function Mo(e,t){return Le(H({...t.entries,$kind:Ze(le(e))}),Za(n=>({...n,$kind:e})))}var Xs=Le(Te(),Za(e=>X(e)),fs(en)),bn=Xs,ms=Te(),rt=Le(nt([Te(),Le(Ge(),ze())]),fs(e=>{try{return BigInt(e),BigInt(e)>=0&&BigInt(e)<=18446744073709551615n}catch{return!1}},"Invalid u64")),c_=Le(Ge(),ze(),fs(e=>e>=0&&e<2**32,"Invalid u32")),ar=H({objectId:Xs,version:rt,digest:Te()}),Ve=nt([Mo("GasCoin",H({GasCoin:le(!0)})),Mo("Input",H({Input:Le(Ge(),ze()),type:Ze(nt([le("pure"),le("object"),le("withdrawal")]))})),Mo("Result",H({Result:Le(Ge(),ze())})),Mo("NestedResult",H({NestedResult:Ro([Le(Ge(),ze()),Le(Ge(),ze())])}))]),u_=H({budget:Ae(rt),price:Ae(rt),owner:Ae(Xs),payment:Ae(ge(ar))}),w6=H({address:Te(),module:Te(),name:Te(),typeParams:ge(Te())}),td=nt([H({$kind:le("address")}),H({$kind:le("bool")}),H({$kind:le("u8")}),H({$kind:le("u16")}),H({$kind:le("u32")}),H({$kind:le("u64")}),H({$kind:le("u128")}),H({$kind:le("u256")}),H({$kind:le("unknown")}),H({$kind:le("vector"),vector:Zs(()=>td)}),H({$kind:le("datatype"),datatype:H({typeName:Te(),typeParameters:ge(Zs(()=>td))})}),H({$kind:le("typeParameter"),index:Le(Ge(),ze())})]),l_=H({reference:Ae(nt([le("mutable"),le("immutable"),le("unknown")])),body:td}),d_=H({package:bn,module:Te(),function:Te(),typeArguments:ge(Te()),arguments:ge(Ve),_argumentTypes:Ze(Ae(ge(l_)))}),p_=H({name:Te(),inputs:Ks(Te(),nt([Ve,ge(Ve)])),data:Ks(Te(),Tr())}),f_=cr({MoveCall:d_,TransferObjects:H({objects:ge(Ve),address:Ve}),SplitCoins:H({coin:Ve,amounts:ge(Ve)}),MergeCoins:H({destination:Ve,sources:ge(Ve)}),Publish:H({modules:ge(ms),dependencies:ge(bn)}),MakeMoveVec:H({type:Ae(Te()),elements:ge(Ve)}),Upgrade:H({modules:ge(ms),dependencies:ge(bn),package:bn,ticket:Ve}),$Intent:p_}),Jm=cr({ImmOrOwnedObject:ar,SharedObject:H({objectId:bn,initialSharedVersion:rt,mutable:$r()}),Receiving:ar}),m_=cr({MaxAmountU64:rt}),h_=cr({Balance:Te()}),g_=cr({Sender:le(!0),Sponsor:le(!0)}),nd=H({reservation:m_,typeArg:h_,withdrawFrom:g_}),y_=cr({Object:Jm,Pure:H({bytes:ms}),UnresolvedPure:H({value:Tr()}),UnresolvedObject:H({objectId:bn,version:Ze(Ae(rt)),digest:Ze(Ae(Te())),initialSharedVersion:Ze(Ae(rt)),mutable:Ze(Ae($r()))}),FundsWithdrawal:nd}),rd=cr({Object:Jm,Pure:H({bytes:ms})}),sd=H({minEpoch:Ae(rt),maxEpoch:Ae(rt),minTimestamp:Ae(rt),maxTimestamp:Ae(rt),chain:Te(),nonce:c_}),id=cr({None:le(!0),Epoch:rt,ValidDuring:sd}),$i=H({version:le(2),sender:qr(Xs),expiration:qr(id),gasData:u_,inputs:ge(y_),commands:ge(f_)});var od=H({digest:Te(),objectId:Te(),version:nt([Le(Ge(),ze()),Te(),Fi()])}),b_=cr({ImmOrOwned:od,Shared:H({objectId:bn,initialSharedVersion:rt,mutable:$r()}),Receiving:od}),Zm=cr({Object:b_,Pure:ge(Le(Ge(),ze()))}),Xm=nt([H({kind:le("Input"),index:Le(Ge(),ze()),value:Tr(),type:Ze(le("object"))}),H({kind:le("Input"),index:Le(Ge(),ze()),value:Tr(),type:le("pure")})]),v_=nt([H({Epoch:Le(Ge(),ze())}),H({None:Ae(le(!0))})]),Km=Le(nt([Ge(),Te(),Fi()]),fs(e=>{if(!["string","number","bigint"].includes(typeof e))return!1;try{return BigInt(e),!0}catch{return!1}})),ad=nt([H({bool:Ae(le(!0))}),H({u8:Ae(le(!0))}),H({u64:Ae(le(!0))}),H({u128:Ae(le(!0))}),H({address:Ae(le(!0))}),H({signer:Ae(le(!0))}),H({vector:Zs(()=>ad)}),H({struct:Zs(()=>__)}),H({u16:Ae(le(!0))}),H({u32:Ae(le(!0))}),H({u256:Ae(le(!0))})]),__=H({address:Te(),module:Te(),name:Te(),typeParams:ge(ad)}),w_=H({budget:Ze(Km),price:Ze(Km),payment:Ze(ge(od)),owner:Ze(Te())}),T_=[Xm,H({kind:le("GasCoin")}),H({kind:le("Result"),index:Le(Ge(),ze())}),H({kind:le("NestedResult"),index:Le(Ge(),ze()),resultIndex:Le(Ge(),ze())})],Wr=nt([...T_]),k_=H({kind:le("MoveCall"),target:Le(Te(),fs(e=>e.split("::").length===3)),typeArguments:ge(Te()),arguments:ge(Wr)}),S_=H({kind:le("TransferObjects"),objects:ge(Wr),address:Wr}),E_=H({kind:le("SplitCoins"),coin:Wr,amounts:ge(Wr)}),O_=H({kind:le("MergeCoins"),destination:Wr,sources:ge(Wr)}),I_=H({kind:le("MakeMoveVec"),type:nt([H({Some:ad}),H({None:Ae(le(!0))})]),objects:ge(Wr)}),A_=nt([k_,S_,E_,O_,H({kind:le("Publish"),modules:ge(ge(Le(Ge(),ze()))),dependencies:ge(Te())}),H({kind:le("Upgrade"),modules:ge(ge(Le(Ge(),ze()))),dependencies:ge(Te()),packageId:Te(),ticket:Wr}),I_]),I6=H({version:le(1),sender:Ze(Te()),expiration:qr(v_),gasConfig:w_,inputs:ge(Xm),transactions:ge(A_)});function Ym(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(ie(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:Pn.parseFromStr(n.MakeMoveVec.type)},objects:n.MakeMoveVec.elements.map(r=>Gr(r,t))};if(n.MergeCoins)return{kind:"MergeCoins",destination:Gr(n.MergeCoins.destination,t),sources:n.MergeCoins.sources.map(r=>Gr(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=>Gr(r,t))};if(n.Publish)return{kind:"Publish",modules:n.Publish.modules.map(r=>Array.from(ie(r))),dependencies:n.Publish.dependencies};if(n.SplitCoins)return{kind:"SplitCoins",coin:Gr(n.SplitCoins.coin,t),amounts:n.SplitCoins.amounts.map(r=>Gr(r,t))};if(n.TransferObjects)return{kind:"TransferObjects",objects:n.TransferObjects.objects.map(r=>Gr(r,t)),address:Gr(n.TransferObjects.address,t)};if(n.Upgrade)return{kind:"Upgrade",modules:n.Upgrade.modules.map(r=>Array.from(ie(r))),dependencies:n.Upgrade.dependencies,packageId:n.Upgrade.package,ticket:Gr(n.Upgrade.ticket,t)};throw new Error(`Unknown transaction ${Object.keys(n)}`)})}}function Gr(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 Qm(e){return De($i,{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(No(Zm,t.value)){let n=De(Zm,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:ye(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?Pn.tagToString(t.type.Some):null,elements:t.objects.map(n=>zr(n))}};case"MergeCoins":return{MergeCoins:{destination:zr(t.destination),sources:t.sources.map(n=>zr(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=>zr(i))}}}case"Publish":return{Publish:{modules:t.modules.map(n=>ye(Uint8Array.from(n))),dependencies:t.dependencies}};case"SplitCoins":return{SplitCoins:{coin:zr(t.coin),amounts:t.amounts.map(n=>zr(n))}};case"TransferObjects":return{TransferObjects:{objects:t.objects.map(n=>zr(n)),address:zr(t.address)}};case"Upgrade":return{Upgrade:{modules:t.modules.map(n=>ye(Uint8Array.from(n))),dependencies:t.dependencies,package:t.packageId,ticket:zr(t.ticket)}}}throw new Error(`Unknown transaction ${Object.keys(t)}`)})})}function zr(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 eh(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),ir(r,{dkLen:32})}function qi(e){if(typeof e=="string")return X(e);if(e.Object)return e.Object.ImmOrOwnedObject?X(e.Object.ImmOrOwnedObject.objectId):e.Object.Receiving?X(e.Object.Receiving.objectId):X(e.Object.SharedObject.objectId);if(e.UnresolvedObject)return X(e.UnresolvedObject.objectId)}function th(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}}function nh(e){return X(e).replace("0x","")}var vn=class Ys{static fromKindBytes(t){let n=E.TransactionKind.parse(t).ProgrammableTransaction;if(!n)throw new Error("Unable to deserialize from bytes.");return Ys.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=E.TransactionData.parse(t)?.V1,r=n.kind.ProgrammableTransaction;if(!n||!r)throw new Error("Unable to deserialize from bytes.");return Ys.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 Ys(De($i,t)):new Ys(De($i,Qm(t)))}static getDigestFromBytes(t){return Un(eh("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 E.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 d={sender:nh(c),expiration:a||{None:!0},gasData:{payment:u.payment,owner:nh(this.gasData.owner??c),price:BigInt(u.price),budget:BigInt(u.budget)},kind:{ProgrammableTransaction:{inputs:s,commands:i}}};return E.TransactionData.serialize({V1:d},{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 De(Ve,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=qi(c),d=-1;if(u!==void 0&&(d=this.inputs.findIndex(p=>qi(p)===u),d!==-1&&this.inputs[d].Object?.SharedObject&&c.Object?.SharedObject&&(this.inputs[d].Object.SharedObject.mutable=this.inputs[d].Object.SharedObject.mutable||c.Object.SharedObject.mutable)),d!==-1)r.set(a,d);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]);th(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 Ys.getDigestFromBytes(t)}snapshot(){return De($i,this)}shallowClone(){return new Ys({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(X(i.objectId)!==X(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(X(i.objectId)!==X(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 x_=new Intl.PluralRules("en-US",{type:"ordinal"}),C_=new Map([["one","st"],["two","nd"],["few","rd"],["other","th"]]);function N_(e){return`${e}${C_.get(x_.select(e))}`}function Qs(e){let{command:t,location:n,abortCode:r,cleverError:s}=e,i=[];if(t!=null?i.push(`MoveAbort in ${N_(t+1)} command`):i.push("MoveAbort"),s?.constantName){let o=s.value?`'${s.constantName}': ${s.value}`:`'${s.constantName}'`;i.push(o)}else i.push(`abort code: ${r}`);if(n?.package&&n?.module){let o=[`in '${[n.package.startsWith("0x")?n.package:`0x${n.package}`,n.module,n.functionName].filter(Boolean).join("::")}'`];s?.lineNumber!=null?o.push(`(line ${s.lineNumber})`):n.instruction!=null&&o.push(`(instruction ${n.instruction})`),i.push(o.join(" "))}return i.join(", ")}var rh=E.struct("MinimalEffectsWithError",{status:$a}),W6=E.enum("MinimalTransactionEffectsWithError",{V1:rh,V2:rh}),R_=E.enum("MinimalExecutionStatusNoError",{Success:null,Failed:null}),sh=E.struct("MinimalEffectsNoError",{status:R_}),H6=E.enum("MinimalTransactionEffectsNoError",{V1:sh,V2:sh});function In(e,t){return t!=null&&typeof t!="boolean"?`${e}(${JSON.stringify(t,(n,r)=>typeof r=="bigint"?r.toString():r)})`:e}function M_(e){let t=e.error,n=e.command!=null?Number(e.command):void 0;switch(t.$kind){case"MoveAbort":{let[r,s]=t.MoveAbort,i={package:r.module.address,module:r.module.name,function:r.function,functionName:r.functionName??void 0,instruction:r.instruction};return{$kind:"MoveAbort",message:Qs({command:n,location:i,abortCode:String(s)}),command:n,MoveAbort:{abortCode:String(s),location:i}}}case"MoveObjectTooBig":return{$kind:"SizeError",message:In("MoveObjectTooBig",t.MoveObjectTooBig),command:n,SizeError:{name:"ObjectTooBig",size:Number(t.MoveObjectTooBig.objectSize),maxSize:Number(t.MoveObjectTooBig.maxObjectSize)}};case"MovePackageTooBig":return{$kind:"SizeError",message:In("MovePackageTooBig",t.MovePackageTooBig),command:n,SizeError:{name:"PackageTooBig",size:Number(t.MovePackageTooBig.objectSize),maxSize:Number(t.MovePackageTooBig.maxObjectSize)}};case"EffectsTooLarge":return{$kind:"SizeError",message:In("EffectsTooLarge",t.EffectsTooLarge),command:n,SizeError:{name:"EffectsTooLarge",size:Number(t.EffectsTooLarge.currentSize),maxSize:Number(t.EffectsTooLarge.maxSize)}};case"WrittenObjectsTooLarge":return{$kind:"SizeError",message:In("WrittenObjectsTooLarge",t.WrittenObjectsTooLarge),command:n,SizeError:{name:"WrittenObjectsTooLarge",size:Number(t.WrittenObjectsTooLarge.currentSize),maxSize:Number(t.WrittenObjectsTooLarge.maxSize)}};case"MoveVectorElemTooBig":return{$kind:"SizeError",message:In("MoveVectorElemTooBig",t.MoveVectorElemTooBig),command:n,SizeError:{name:"MoveVectorElemTooBig",size:Number(t.MoveVectorElemTooBig.valueSize),maxSize:Number(t.MoveVectorElemTooBig.maxScaledSize)}};case"MoveRawValueTooBig":return{$kind:"SizeError",message:In("MoveRawValueTooBig",t.MoveRawValueTooBig),command:n,SizeError:{name:"MoveRawValueTooBig",size:Number(t.MoveRawValueTooBig.valueSize),maxSize:Number(t.MoveRawValueTooBig.maxScaledSize)}};case"CommandArgumentError":return{$kind:"CommandArgumentError",message:In("CommandArgumentError",t.CommandArgumentError),command:n,CommandArgumentError:{argument:t.CommandArgumentError.argIdx,name:t.CommandArgumentError.kind.$kind}};case"TypeArgumentError":return{$kind:"TypeArgumentError",message:In("TypeArgumentError",t.TypeArgumentError),command:n,TypeArgumentError:{typeArgument:t.TypeArgumentError.argumentIdx,name:t.TypeArgumentError.kind.$kind}};case"PackageUpgradeError":{let r=t.PackageUpgradeError.upgradeError;return{$kind:"PackageUpgradeError",message:In("PackageUpgradeError",t.PackageUpgradeError),command:n,PackageUpgradeError:{name:r.$kind,packageId:r.$kind==="UnableToFetchPackage"?r.UnableToFetchPackage.packageId:void 0,digest:r.$kind==="DigestDoesNotMatch"?ye(r.DigestDoesNotMatch.digest):void 0}}}case"ExecutionCancelledDueToSharedObjectCongestion":return{$kind:"CongestedObjects",message:In("ExecutionCancelledDueToSharedObjectCongestion",t.ExecutionCancelledDueToSharedObjectCongestion),command:n,CongestedObjects:{name:"ExecutionCanceledDueToConsensusObjectCongestion",objects:t.ExecutionCancelledDueToSharedObjectCongestion.congested_objects}};case"AddressDeniedForCoin":return{$kind:"CoinDenyListError",message:In("AddressDeniedForCoin",t.AddressDeniedForCoin),command:n,CoinDenyListError:{name:"AddressDeniedForCoin",address:t.AddressDeniedForCoin.address,coinType:t.AddressDeniedForCoin.coinType}};case"CoinTypeGlobalPause":return{$kind:"CoinDenyListError",message:In("CoinTypeGlobalPause",t.CoinTypeGlobalPause),command:n,CoinDenyListError:{name:"CoinTypeGlobalPause",coinType:t.CoinTypeGlobalPause.coinType}};case"CircularObjectOwnership":return{$kind:"ObjectIdError",message:In("CircularObjectOwnership",t.CircularObjectOwnership),command:n,ObjectIdError:{name:"CircularObjectOwnership",objectId:t.CircularObjectOwnership.object}};case"InvalidGasObject":return{$kind:"ObjectIdError",message:"InvalidGasObject",command:n,ObjectIdError:{name:"InvalidGasObject",objectId:""}};case"InputObjectDeleted":return{$kind:"ObjectIdError",message:"InputObjectDeleted",command:n,ObjectIdError:{name:"InputObjectDeleted",objectId:""}};case"InvalidTransferObject":return{$kind:"ObjectIdError",message:"InvalidTransferObject",command:n,ObjectIdError:{name:"InvalidTransferObject",objectId:""}};case"NonExclusiveWriteInputObjectModified":return{$kind:"Unknown",message:In("NonExclusiveWriteInputObjectModified",t.NonExclusiveWriteInputObjectModified),command:n,Unknown:null};case"InsufficientGas":case"InvariantViolation":case"FeatureNotYetSupported":case"InsufficientCoinBalance":case"CoinBalanceOverflow":case"PublishErrorNonZeroAddress":case"SuiMoveVerificationError":case"MovePrimitiveRuntimeError":case"VMVerificationOrDeserializationError":case"VMInvariantViolation":case"FunctionNotFound":case"ArityMismatch":case"TypeArityMismatch":case"NonEntryFunctionInvoked":case"UnusedValueWithoutDrop":case"InvalidPublicFunctionReturnType":case"PublishUpgradeMissingDependency":case"PublishUpgradeDependencyDowngrade":case"CertificateDenied":case"SuiMoveVerificationTimedout":case"SharedObjectOperationNotAllowed":case"ExecutionCancelledDueToRandomnessUnavailable":case"InvalidLinkage":case"InsufficientBalanceForWithdraw":return{$kind:"Unknown",message:t.$kind,command:n,Unknown:null};default:return{$kind:"Unknown",message:"Unknown error",command:n,Unknown:null}}}function ih(e,t=!1){return(t?vn.fromKindBytes(e):vn.fromBytes(e)).snapshot()}function Xa(e){let t=E.TransactionEffects.parse(e);switch(t.$kind){case"V1":return B_({bytes:e,effects:t.V1});case"V2":return j_({bytes:e,effects:t.V2});default:throw new Error(`Unknown transaction effects version: ${t.$kind}`)}}function B_(e){throw new Error("V1 effects are not supported yet")}function j_({bytes:e,effects:t}){let n=t.changedObjects.map(([r,s])=>({objectId:r,inputState:s.inputState.$kind==="Exist"?"Exists":"DoesNotExist",inputVersion:s.inputState.Exist?.[0][0]??null,inputDigest:s.inputState.Exist?.[0][1]??null,inputOwner:s.inputState.Exist?.[1]??null,outputState:s.outputState.$kind==="NotExist"?"DoesNotExist":s.outputState.$kind,outputVersion:s.outputState.$kind==="PackageWrite"?s.outputState.PackageWrite?.[0]:s.outputState.$kind==="ObjectWrite"?t.lamportVersion:null,outputDigest:s.outputState.$kind==="PackageWrite"?s.outputState.PackageWrite?.[1]:s.outputState.$kind==="ObjectWrite"?s.outputState.ObjectWrite?.[0]??null:null,outputOwner:s.outputState.$kind==="ObjectWrite"?s.outputState.ObjectWrite[1]:null,idOperation:s.idOperation.$kind}));return{bcs:e,version:2,status:t.status.$kind==="Success"?{success:!0,error:null}:{success:!1,error:M_(t.status.Failure)},gasUsed:t.gasUsed,transactionDigest:t.transactionDigest,gasObject:t.gasObjectIndex===null?null:n[t.gasObjectIndex]??null,eventsDigest:t.eventsDigest,dependencies:t.dependencies,lamportVersion:t.lamportVersion,changedObjects:n,unchangedConsensusObjects:t.unchangedConsensusObjects.map(([r,s])=>({kind:s.$kind,objectId:r,version:s.$kind==="ReadOnlyRoot"?s.ReadOnlyRoot[0]:s[s.$kind],digest:s.$kind==="ReadOnlyRoot"?s.ReadOnlyRoot[1]:null})),auxiliaryDataDigest:t.auxDataDigest}}var oh=class extends Error{},ei=class extends oh{constructor(e,t){super(e,{cause:t?.cause}),this.executionError=t?.executionError}},zi=class Gi extends oh{constructor(t,n){super(n),this.code=t}static fromResponse(t,n){switch(t.code){case"notExists":return new Gi(t.code,`Object ${t.object_id} does not exist`);case"dynamicFieldNotFound":return new Gi(t.code,`Dynamic field not found for object ${t.parent_object_id}`);case"deleted":return new Gi(t.code,`Object ${t.object_id} has been deleted`);case"displayError":return new Gi(t.code,`Display error: ${t.error}`);case"unknown":default:return new Gi(t.code,`Unknown error while loading object${n?` ${n}`:""}`)}}};function on(e){let t=typeof e;if(t=="object"){if(Array.isArray(e))return"array";if(e===null)return"null"}return t}function hs(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}var Hr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),Ya=[];for(let e=0;e<Hr.length;e++)Ya[Hr[e].charCodeAt(0)]=e;Ya["-".charCodeAt(0)]=Hr.indexOf("+");Ya["_".charCodeAt(0)]=Hr.indexOf("/");function Bo(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=Ya[e.charCodeAt(a)],i===void 0)switch(e[a]){case"=":s=0;case`
|
|
8
|
+
`: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 jo(e){let t="",n=0,r,s=0;for(let i=0;i<e.length;i++)switch(r=e[i],n){case 0:t+=Hr[r>>2],s=(r&3)<<4,n=1;break;case 1:t+=Hr[s|r>>4],s=(r&15)<<2,n=2;break;case 2:t+=Hr[s|r>>6],t+=Hr[r&63],n=0;break}return n&&(t+=Hr[s],t+="=",n==1&&(t+="=")),t}var ti;(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])})(ti||(ti={}));function cd(e,t){return Object.assign(Object.assign({},e),t)}var We;(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"})(We||(We={}));function ah(){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))return this.assertBounds(),[e,t]}let n=this.buf[this.pos++];if(e|=(n&15)<<28,t=(n&112)>>4,!(n&128))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))return this.assertBounds(),[e,t]}throw new Error("invalid varint")}function ec(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);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 Qa=65536*65536;function ud(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>=Qa&&(s=s+(r/Qa|0),r=r%Qa)}return i(-24,-18),i(-18,-12),i(-12,-6),i(-6),[t,r,s]}function tc(e,t){if(t>>>0<=2097151)return""+(Qa*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(d,p){let f=d?String(d):"";return p?"0000000".slice(f.length)+f:f}return u(a,0)+u(o,a)+u(i,1)}function ld(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 ch(){let e=this.buf[this.pos++],t=e&127;if(!(e&128))return this.assertBounds(),t;if(e=this.buf[this.pos++],t|=(e&127)<<7,!(e&128))return this.assertBounds(),t;if(e=this.buf[this.pos++],t|=(e&127)<<14,!(e&128))return this.assertBounds(),t;if(e=this.buf[this.pos++],t|=(e&127)<<21,!(e&128))return this.assertBounds(),t;e=this.buf[this.pos++],t|=(e&15)<<28;for(let n=5;e&128&&n<10;n++)e=this.buf[this.pos++];if(e&128)throw new Error("invalid varint");return this.assertBounds(),t>>>0}var $e;function D_(){let e=new DataView(new ArrayBuffer(8));$e=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}D_();function uh(e){if(!e)throw new Error("BigInt unavailable, see https://github.com/timostamm/protobuf-ts/blob/v1.0.8/MANUAL.md#bigint-support")}var lh=/^-?[0-9]+$/,rc=4294967296,nc=2147483648,sc=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*rc+(this.lo>>>0);if(!Number.isSafeInteger(t))throw new Error("cannot convert to safe number");return t}},He=class extends sc{static from(t){if($e)switch(typeof t){case"string":if(t=="0")return this.ZERO;if(t=="")throw new Error("string is no integer");t=$e.C(t);case"number":if(t===0)return this.ZERO;t=$e.C(t);case"bigint":if(!t)return this.ZERO;if(t<$e.UMIN)throw new Error("signed value for ulong");if(t>$e.UMAX)throw new Error("ulong too large");return $e.V.setBigUint64(0,t,!0),new He($e.V.getInt32(0,!0),$e.V.getInt32(4,!0))}else switch(typeof t){case"string":if(t=="0")return this.ZERO;if(t=t.trim(),!lh.test(t))throw new Error("string is no integer");let[n,r,s]=ud(t);if(n)throw new Error("signed value for ulong");return new He(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 He(t,t/rc)}throw new Error("unknown value "+typeof t)}toString(){return $e?this.toBigInt().toString():tc(this.lo,this.hi)}toBigInt(){return uh($e),$e.V.setInt32(0,this.lo,!0),$e.V.setInt32(4,this.hi,!0),$e.V.getBigUint64(0,!0)}};He.ZERO=new He(0,0);var Ce=class extends sc{static from(t){if($e)switch(typeof t){case"string":if(t=="0")return this.ZERO;if(t=="")throw new Error("string is no integer");t=$e.C(t);case"number":if(t===0)return this.ZERO;t=$e.C(t);case"bigint":if(!t)return this.ZERO;if(t<$e.MIN)throw new Error("signed long too small");if(t>$e.MAX)throw new Error("signed long too large");return $e.V.setBigInt64(0,t,!0),new Ce($e.V.getInt32(0,!0),$e.V.getInt32(4,!0))}else switch(typeof t){case"string":if(t=="0")return this.ZERO;if(t=t.trim(),!lh.test(t))throw new Error("string is no integer");let[n,r,s]=ud(t);if(n){if(s>nc||s==nc&&r!=0)throw new Error("signed long too small")}else if(s>=nc)throw new Error("signed long too large");let i=new Ce(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 Ce(t,t/rc):new Ce(-t,-t/rc).negate()}throw new Error("unknown value "+typeof t)}isNegative(){return(this.hi&nc)!==0}negate(){let t=~this.hi,n=this.lo;return n?n=~n+1:t+=1,new Ce(n,t)}toString(){if($e)return this.toBigInt().toString();if(this.isNegative()){let t=this.negate();return"-"+tc(t.lo,t.hi)}return tc(this.lo,this.hi)}toBigInt(){return uh($e),$e.V.setInt32(0,this.lo,!0),$e.V.setInt32(4,this.hi,!0),$e.V.getBigInt64(0,!0)}};Ce.ZERO=new Ce(0,0);var dh={readUnknownField:!0,readerFactory:e=>new dd(e)};function ph(e){return e?Object.assign(Object.assign({},dh),e):dh}var dd=class{constructor(t,n){this.varint64=ah,this.uint32=ch,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 We.Varint:for(;this.buf[this.pos++]&128;);break;case We.Bit64:this.pos+=4;case We.Bit32:this.pos+=4;break;case We.LengthDelimited:let r=this.uint32();this.pos+=r;break;case We.StartGroup:let s;for(;(s=this.tag()[1])!==We.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 Ce(...this.varint64())}uint64(){return new He(...this.varint64())}sint64(){let[t,n]=this.varint64(),r=-(t&1);return t=(t>>>1|(n&1)<<31)^r,n=n>>>1^r,new Ce(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 He(this.sfixed32(),this.sfixed32())}sfixed64(){return new Ce(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 Oe(e,t){if(!e)throw new Error(t)}function pd(e,t){throw new Error(t??"Unexpected object: "+e)}var U_=34028234663852886e22,P_=-34028234663852886e22,L_=4294967295,V_=2147483647,F_=-2147483648;function Jr(e){if(typeof e!="number")throw new Error("invalid int 32: "+typeof e);if(!Number.isInteger(e)||e>V_||e<F_)throw new Error("invalid int 32: "+e)}function gs(e){if(typeof e!="number")throw new Error("invalid uint 32: "+typeof e);if(!Number.isInteger(e)||e>L_||e<0)throw new Error("invalid uint 32: "+e)}function ni(e){if(typeof e!="number")throw new Error("invalid float 32: "+typeof e);if(Number.isFinite(e)&&(e>U_||e<P_))throw new Error("invalid float 32: "+e)}var fh={writeUnknownFields:!0,writerFactory:()=>new fd};function mh(e){return e?Object.assign(Object.assign({},fh),e):fh}var fd=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(gs(t);t>127;)this.buf.push(t&127|128),t=t>>>7;return this.buf.push(t),this}int32(t){return Jr(t),ld(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){ni(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){gs(t);let n=new Uint8Array(4);return new DataView(n.buffer).setUint32(0,t,!0),this.raw(n)}sfixed32(t){Jr(t);let n=new Uint8Array(4);return new DataView(n.buffer).setInt32(0,t,!0),this.raw(n)}sint32(t){return Jr(t),t=(t<<1^t>>31)>>>0,ld(t,this.buf),this}sfixed64(t){let n=new Uint8Array(8),r=new DataView(n.buffer),s=Ce.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=He.from(t);return r.setInt32(0,s.lo,!0),r.setInt32(4,s.hi,!0),this.raw(n)}int64(t){let n=Ce.from(t);return ec(n.lo,n.hi,this.buf),this}sint64(t){let n=Ce.from(t),r=n.hi>>31,s=n.lo<<1^r,i=(n.hi<<1|n.lo>>>31)^r;return ec(s,i,this.buf),this}uint64(t){let n=He.from(t);return ec(n.lo,n.hi,this.buf),this}};var hh={emitDefaultValues:!1,enumAsInteger:!1,useProtoFieldName:!1,prettySpaces:0},gh={ignoreUnknownFields:!1};function md(e){return e?Object.assign(Object.assign({},gh),e):gh}function Do(e){return e?Object.assign(Object.assign({},hh),e):hh}function hd(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 ic=Symbol.for("protobuf-ts/message-type");function ys(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 V;(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"})(V||(V={}));var _n;(function(e){e[e.BIGINT=0]="BIGINT",e[e.STRING=1]="STRING",e[e.NUMBER=2]="NUMBER"})(_n||(_n={}));var Uo;(function(e){e[e.NO=0]="NO",e[e.PACKED=1]="PACKED",e[e.UNPACKED=2]="UNPACKED"})(Uo||(Uo={}));function yh(e){var t,n,r,s;return e.localName=(t=e.localName)!==null&&t!==void 0?t:ys(e.name),e.jsonName=(n=e.jsonName)!==null&&n!==void 0?n:ys(e.name),e.repeat=(r=e.repeat)!==null&&r!==void 0?r:Uo.NO,e.opt=(s=e.opt)!==null&&s!==void 0?s:e.repeat||e.oneof?!1:e.kind=="message",e}function bh(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 oc=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(!bh(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,V.INT32,s):this.scalar(t,V.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),V.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 V.UINT64:case V.FIXED64:case V.INT64:case V.SFIXED64:case V.SINT64:switch(r){case _n.BIGINT:return s=="bigint";case _n.NUMBER:return s=="number"&&!isNaN(t);default:return s=="string"}case V.BOOL:return s=="boolean";case V.STRING:return s=="string";case V.BYTES:return t instanceof Uint8Array;case V.DOUBLE:case V.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 V.INT32:case V.FIXED32:case V.SFIXED32:case V.SINT32:case V.UINT32:return this.scalars(s.slice(0,r).map(i=>parseInt(i)),n,r);case V.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,_n.STRING)}}};function An(e,t){switch(t){case _n.BIGINT:return e.toBigInt();case _n.NUMBER:return e.toNumber();default:return e.toString()}}var ac=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=on(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(hs(o),a.name,o);let d=u[c];for(let[p,f]of Object.entries(o)){this.assert(f!==null,a.name+" map value",null);let g;switch(a.V.kind){case"message":g=a.V.T().internalJsonRead(f,r);break;case"enum":if(g=this.enum(a.V.T(),f,a.name,r.ignoreUnknownFields),g===!1)continue;break;case"scalar":g=this.scalar(f,a.V.T,a.V.L,a.name);break}this.assert(g!==void 0,a.name+" map value",f);let b=p;a.K==V.BOOL&&(b=b=="true"?!0:b=="false"?!1:b),b=this.scalar(b,a.K,_n.STRING,a.name).toString(),d[b]=g}}else if(a.repeat){if(o===null)continue;this.assert(Array.isArray(o),a.name,o);let d=u[c];for(let p of o){this.assert(p!==null,a.name,null);let f;switch(a.kind){case"message":f=a.T().internalJsonRead(p,r);break;case"enum":if(f=this.enum(a.T(),p,a.name,r.ignoreUnknownFields),f===!1)continue;break;case"scalar":f=this.scalar(p,a.T,a.L,a.name);break}this.assert(f!==void 0,a.name,o),d.push(f)}}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 d=this.enum(a.T(),o,a.name,r.ignoreUnknownFields);if(d===!1)continue;u[c]=d;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"&&Oe(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 Oe(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:(Oe(typeof o=="number",`Unable to parse field ${this.info.typeName}#${r}, enum ${t[0]} has no value for "${n}".`),o)}Oe(!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 V.DOUBLE:case V.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==V.FLOAT&&ni(o),o;case V.INT32:case V.FIXED32:case V.SFIXED32:case V.SINT32:case V.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==V.UINT32?gs(a):Jr(a),a;case V.INT64:case V.SFIXED64:case V.SINT64:if(t===null)return An(Ce.ZERO,r);if(typeof t!="number"&&typeof t!="string")break;return An(Ce.from(t),r);case V.FIXED64:case V.UINT64:if(t===null)return An(He.ZERO,r);if(typeof t!="number"&&typeof t!="string")break;return An(He.from(t),r);case V.BOOL:if(t===null)return!1;if(typeof t!="boolean")break;return t;case V.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 V.BYTES:if(t===null||t==="")return new Uint8Array(0);if(typeof t!="string")break;return Bo(t)}}catch(o){i=o.message}this.assert(!1,s+(i?" - "+i:""),t)}};var cc=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);Oe(c!==void 0),r[n.useProtoFieldName?i.name:i.jsonName]=c}return r}field(t,n,r){let s;if(t.kind=="map"){Oe(typeof n=="object"&&n!==null);let i={};switch(t.V.kind){case"scalar":for(let[c,u]of Object.entries(n)){let d=this.scalar(t.V.T,u,t.name,!1,!0);Oe(d!==void 0),i[c.toString()]=d}break;case"message":let o=t.V.T();for(let[c,u]of Object.entries(n)){let d=this.message(o,u,t.name,r);Oe(d!==void 0),i[c.toString()]=d}break;case"enum":let a=t.V.T();for(let[c,u]of Object.entries(n)){Oe(u===void 0||typeof u=="number");let d=this.enum(a,u,t.name,!1,!0,r.enumAsInteger);Oe(d!==void 0),i[c.toString()]=d}break}(r.emitDefaultValues||Object.keys(i).length>0)&&(s=i)}else if(t.repeat){Oe(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);Oe(u!==void 0),i.push(u)}break;case"enum":let o=t.T();for(let c=0;c<n.length;c++){Oe(n[c]===void 0||typeof n[c]=="number");let u=this.enum(o,n[c],t.name,t.opt,!0,r.enumAsInteger);Oe(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);Oe(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){Oe(s);return}if(!(n===0&&!i&&!s))return Oe(typeof n=="number"),Oe(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){Oe(s);return}let o=i||s;switch(t){case V.INT32:case V.SFIXED32:case V.SINT32:return n===0?o?0:void 0:(Jr(n),n);case V.FIXED32:case V.UINT32:return n===0?o?0:void 0:(gs(n),n);case V.FLOAT:ni(n);case V.DOUBLE:return n===0?o?0:void 0:(Oe(typeof n=="number"),Number.isNaN(n)?"NaN":n===Number.POSITIVE_INFINITY?"Infinity":n===Number.NEGATIVE_INFINITY?"-Infinity":n);case V.STRING:return n===""?o?"":void 0:(Oe(typeof n=="string"),n);case V.BOOL:return n===!1?o?!1:void 0:(Oe(typeof n=="boolean"),n);case V.UINT64:case V.FIXED64:Oe(typeof n=="number"||typeof n=="string"||typeof n=="bigint");let a=He.from(n);return a.isZero()&&!o?void 0:a.toString();case V.INT64:case V.SFIXED64:case V.SINT64:Oe(typeof n=="number"||typeof n=="string"||typeof n=="bigint");let c=Ce.from(n);return c.isZero()&&!o?void 0:c.toString();case V.BYTES:return Oe(n instanceof Uint8Array),n.byteLength?jo(n):o?"":void 0}}};function Po(e,t=_n.STRING){switch(e){case V.BOOL:return!1;case V.UINT64:case V.FIXED64:return An(He.ZERO,t);case V.INT64:case V.SFIXED64:case V.SINT64:return An(Ce.ZERO,t);case V.DOUBLE:case V.FLOAT:return 0;case V.BYTES:return new Uint8Array(0);case V.STRING:return"";default:return 0}}var uc=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 f=r.readUnknownField;if(f=="throw")throw new Error(`Unknown field ${o} (wire type ${a}) for ${this.info.typeName}`);let g=t.skip(a);f!==!1&&(f===!0?ti.onRead:f)(this.info.typeName,n,o,a,g);continue}let u=n,d=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 f=c.kind=="enum"?V.INT32:c.T,g=c.kind=="scalar"?c.L:void 0;if(d){let I=u[p];if(a==We.LengthDelimited&&f!=V.STRING&&f!=V.BYTES){let A=t.uint32()+t.pos;for(;t.pos<A;)I.push(this.scalar(t,f,g))}else I.push(this.scalar(t,f,g))}else u[p]=this.scalar(t,f,g);break;case"message":if(d){let I=u[p],A=c.T().internalBinaryRead(t,t.uint32(),r);I.push(A)}else u[p]=c.T().internalBinaryRead(t,t.uint32(),r,u[p]);break;case"map":let[b,_]=this.mapEntry(c,t,r);u[p][b]=_;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==V.BOOL?o=n.bool().toString():o=this.scalar(n,t.K,_n.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=Po(t.K);o=t.K==V.BOOL?c.toString():c}if(a===void 0)switch(t.V.kind){case"scalar":a=Po(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 V.INT32:return t.int32();case V.STRING:return t.string();case V.BOOL:return t.bool();case V.DOUBLE:return t.double();case V.FLOAT:return t.float();case V.INT64:return An(t.int64(),r);case V.UINT64:return An(t.uint64(),r);case V.FIXED64:return An(t.fixed64(),r);case V.FIXED32:return t.fixed32();case V.BYTES:return t.bytes();case V.UINT32:return t.uint32();case V.SFIXED32:return t.sfixed32();case V.SFIXED64:return An(t.sfixed64(),r);case V.SINT32:return t.sint32();case V.SINT64:return An(t.sint64(),r)}}};var lc=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 d=t[i.oneof];if(d.oneofKind!==u)continue;o=d[u],a=!0}else o=t[u],a=!1;switch(i.kind){case"scalar":case"enum":let d=i.kind=="enum"?V.INT32:i.T;if(c)if(Oe(Array.isArray(o)),c==Uo.PACKED)this.packed(n,d,i.no,o);else for(let p of o)this.scalar(n,d,i.no,p,!0);else o===void 0?Oe(i.opt):this.scalar(n,d,i.no,o,a||i.opt);break;case"message":if(c){Oe(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":Oe(typeof o=="object"&&o!==null);for(let[p,f]of Object.entries(o))this.mapEntry(n,r,i,p,f);break}}let s=r.writeUnknownFields;s!==!1&&(s===!0?ti.onWrite:s)(this.info.typeName,t,n)}mapEntry(t,n,r,s,i){t.tag(r.no,We.LengthDelimited),t.fork();let o=s;switch(r.K){case V.INT32:case V.FIXED32:case V.UINT32:case V.SFIXED32:case V.SINT32:o=Number.parseInt(s);break;case V.BOOL:Oe(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,V.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,We.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;Oe(n!==V.BYTES&&n!==V.STRING),t.tag(r,We.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=We.Varint,s,i=n===void 0,o=n===0;switch(t){case V.INT32:s="int32";break;case V.STRING:o=i||!n.length,r=We.LengthDelimited,s="string";break;case V.BOOL:o=n===!1,s="bool";break;case V.UINT32:s="uint32";break;case V.DOUBLE:r=We.Bit64,s="double";break;case V.FLOAT:r=We.Bit32,s="float";break;case V.INT64:o=i||Ce.from(n).isZero(),s="int64";break;case V.UINT64:o=i||He.from(n).isZero(),s="uint64";break;case V.FIXED64:o=i||He.from(n).isZero(),r=We.Bit64,s="fixed64";break;case V.BYTES:o=i||!n.byteLength,r=We.LengthDelimited,s="bytes";break;case V.FIXED32:r=We.Bit32,s="fixed32";break;case V.SFIXED32:r=We.Bit32,s="sfixed32";break;case V.SFIXED64:o=i||Ce.from(n).isZero(),r=We.Bit64,s="sfixed64";break;case V.SINT32:s="sint32";break;case V.SINT64:o=i||Ce.from(n).isZero(),s="sint64";break}return[r,s,i||o]}};function vh(e){let t=e.messagePrototype?Object.create(e.messagePrototype):Object.defineProperty({},ic,{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]=Po(n.T,n.L);break;case"enum":t[r]=0;break;case"map":t[r]={};break}}return t}function dc(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 d of Object.keys(r))i[a][d]=u.create(r[d]);break}break}}}function Th(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"?V.INT32:r.T;if(!(r.repeat?_h(a,i,o):kh(a,i,o)))return!1;break;case"map":if(!(r.V.kind=="message"?wh(r.V.T(),pc(i),pc(o)):_h(r.V.kind=="enum"?V.INT32:r.V.T,pc(i),pc(o))))return!1;break;case"message":let c=r.T();if(!(r.repeat?wh(c,i,o):c.equals(i,o)))return!1;break}}return!0}var pc=Object.values;function kh(e,t,n){if(t===n)return!0;if(e!==V.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 _h(e,t,n){if(t.length!==n.length)return!1;for(let r=0;r<t.length;r++)if(!kh(e,t[r],n[r]))return!1;return!0}function wh(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 Sh=Object.getOwnPropertyDescriptors(Object.getPrototypeOf({})),$_=Sh[ic]={},N=class{constructor(t,n,r){this.defaultCheckDepth=16,this.typeName=t,this.fields=n.map(yh),this.options=r??{},$_.value=this,this.messagePrototype=Object.create(null,Sh),this.refTypeCheck=new oc(this),this.refJsonReader=new ac(this),this.refJsonWriter=new cc(this),this.refBinReader=new uc(this),this.refBinWriter=new lc(this)}create(t){let n=vh(this);return t!==void 0&&dc(this,n,t),n}clone(t){let n=this.create();return dc(this,n,t),n}equals(t,n){return Th(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){dc(this,t,n)}fromBinary(t,n){let r=ph(n);return this.internalBinaryRead(r.readerFactory(t),t.byteLength,r)}fromJson(t,n){return this.internalJsonRead(t,md(n))}fromJsonString(t,n){let r=JSON.parse(t);return this.fromJson(r,n)}toJson(t,n){return this.internalJsonWrite(t,Do(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=mh(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 ${on(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 Eh=function(e){return e[e.NULL_VALUE=0]="NULL_VALUE",e}({}),q_=class extends N{constructor(){super("google.protobuf.Struct",[{no:1,name:"fields",kind:"map",K:9,V:{kind:"message",T:()=>Qe}}])}internalJsonWrite(e,t){let n={};for(let[r,s]of Object.entries(e.fields))n[r]=Qe.toJson(s);return n}internalJsonRead(e,t,n){if(!hs(e))throw new globalThis.Error("Unable to parse message "+this.typeName+" from JSON "+on(e)+".");n||(n=this.create());for(let[r,s]of globalThis.Object.entries(e))n.fields[r]=Qe.fromJson(s);return n}},Oh=new q_,G_=class extends N{constructor(){super("google.protobuf.Value",[{no:1,name:"null_value",kind:"enum",oneof:"kind",T:()=>["google.protobuf.NullValue",Eh]},{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:()=>Oh},{no:6,name:"list_value",kind:"message",oneof:"kind",T:()=>Ih}])}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:Eh.NULL_VALUE}:globalThis.Array.isArray(e)?n.kind={oneofKind:"listValue",listValue:Ih.fromJson(e)}:n.kind={oneofKind:"structValue",structValue:Oh.fromJson(e)};break;default:throw new globalThis.Error("Unable to parse "+this.typeName+" from JSON "+on(e))}return n}},Qe=new G_,z_=class extends N{constructor(){super("google.protobuf.ListValue",[{no:1,name:"values",kind:"message",repeat:1,T:()=>Qe}])}internalJsonWrite(e,t){return e.values.map(n=>Qe.toJson(n))}internalJsonRead(e,t,n){if(!globalThis.Array.isArray(e))throw new globalThis.Error("Unable to parse "+this.typeName+" from JSON "+on(e));n||(n=this.create());let r=e.map(s=>Qe.fromJson(s));return n.values.push(...r),n}},Ih=new z_;var W_=function(e){return e[e.DATATYPE_KIND_UNKNOWN=0]="DATATYPE_KIND_UNKNOWN",e[e.STRUCT=1]="STRUCT",e[e.ENUM=2]="ENUM",e}({}),xn=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}({}),Lo=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}({}),fc=function(e){return e[e.REFERENCE_UNKNOWN=0]="REFERENCE_UNKNOWN",e[e.IMMUTABLE=1]="IMMUTABLE",e[e.MUTABLE=2]="MUTABLE",e}({}),ri=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}({}),H_=class extends N{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:()=>Z_},{no:5,name:"type_origins",kind:"message",repeat:1,T:()=>iw},{no:6,name:"linkage",kind:"message",repeat:1,T:()=>aw}])}},mc=new H_,J_=class extends N{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:()=>gd},{no:4,name:"functions",kind:"message",repeat:1,T:()=>bd}])}},Z_=new J_,K_=class extends N{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",ri]},{no:6,name:"type_parameters",kind:"message",repeat:1,T:()=>xh},{no:7,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.DatatypeDescriptor.DatatypeKind",W_]},{no:8,name:"fields",kind:"message",repeat:1,T:()=>Ch},{no:9,name:"variants",kind:"message",repeat:1,T:()=>ew}])}},gd=new K_,X_=class extends N{constructor(){super("sui.rpc.v2.TypeParameter",[{no:1,name:"constraints",kind:"enum",repeat:1,T:()=>["sui.rpc.v2.Ability",ri]},{no:2,name:"is_phantom",kind:"scalar",opt:!0,T:8}])}},xh=new X_,Y_=class extends N{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:()=>yd}])}},Ch=new Y_,Q_=class extends N{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:()=>Ch}])}},ew=new Q_,tw=class extends N{constructor(){super("sui.rpc.v2.OpenSignatureBody",[{no:1,name:"type",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.OpenSignatureBody.Type",xn]},{no:2,name:"type_name",kind:"scalar",opt:!0,T:9},{no:3,name:"type_parameter_instantiation",kind:"message",repeat:1,T:()=>yd},{no:4,name:"type_parameter",kind:"scalar",opt:!0,T:13}])}},yd=new tw,nw=class extends N{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",Lo]},{no:6,name:"is_entry",kind:"scalar",opt:!0,T:8},{no:7,name:"type_parameters",kind:"message",repeat:1,T:()=>xh},{no:8,name:"parameters",kind:"message",repeat:1,T:()=>Ah},{no:9,name:"returns",kind:"message",repeat:1,T:()=>Ah}])}},bd=new nw,rw=class extends N{constructor(){super("sui.rpc.v2.OpenSignature",[{no:1,name:"reference",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.OpenSignature.Reference",fc]},{no:2,name:"body",kind:"message",T:()=>yd}])}},Ah=new rw,sw=class extends N{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}])}},iw=new sw,ow=class extends N{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}])}},aw=new ow;var si=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}({}),cw=class extends N{constructor(){super("sui.rpc.v2.Owner",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.Owner.OwnerKind",si]},{no:2,name:"address",kind:"scalar",opt:!0,T:9},{no:3,name:"version",kind:"scalar",opt:!0,T:4,L:0}])}},Vo=new cw;var Zr=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}({}),uw=class extends N{constructor(){super("sui.rpc.v2.Argument",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.Argument.ArgumentKind",Zr]},{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}])}},Wn=new uw;var Hn=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}({}),lw=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}({}),Fo=function(e){return e[e.SOURCE_UNKNOWN=0]="SOURCE_UNKNOWN",e[e.SENDER=1]="SENDER",e[e.SPONSOR=2]="SPONSOR",e}({}),dw=class extends N{constructor(){super("sui.rpc.v2.Input",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.Input.InputKind",Hn]},{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",lw]},{no:8,name:"funds_withdrawal",kind:"message",T:()=>fw},{no:1e3,name:"literal",kind:"message",T:()=>Qe}])}},Nh=new dw,pw=class extends N{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",Fo]}])}},fw=new pw;var mw=class extends N{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=Ce.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 "+on(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=Ce.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}},Rh=new mw;var hw=class extends N{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}])}},hc=new hw,gw=class extends N{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}])}},Mh=new gw;var yw=class extends N{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}])}},Ye=new yw;var bw=class extends N{constructor(){super("sui.rpc.v2.Object",[{no:1,name:"bcs",kind:"message",T:()=>Ye},{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:()=>Vo},{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:()=>Ye},{no:9,name:"package",kind:"message",T:()=>mc},{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:()=>Qe},{no:101,name:"balance",kind:"scalar",opt:!0,T:4,L:0},{no:102,name:"display",kind:"message",T:()=>ww}])}},kr=new bw,vw=class extends N{constructor(){super("sui.rpc.v2.ObjectSet",[{no:1,name:"objects",kind:"message",repeat:1,T:()=>kr}])}},gc=new vw,_w=class extends N{constructor(){super("sui.rpc.v2.Display",[{no:1,name:"output",kind:"message",T:()=>Qe},{no:2,name:"errors",kind:"message",T:()=>Qe}])}},ww=new _w;var Tw=class extends N{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=Ce.from(Math.floor(t/1e3)).toBigInt(),e.nanos=t%1e3*1e6,e}toDate(e){return new Date(Ce.from(e.seconds).toNumber()*1e3+Math.ceil(e.nanos/1e6))}fromDate(e){let t=this.create(),n=e.getTime();return t.seconds=Ce.from(Math.floor(n/1e3)).toBigInt(),t.nanos=(n%1e3+(n<0&&n%1e3!==0?1e3:0))*1e6,t}internalJsonWrite(e,t){let n=Ce.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 "+on(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=Ce.from(s/1e3).toBigInt(),n.nanos=0,r[7]&&(n.nanos=parseInt("1"+r[7]+"0".repeat(9-r[7].length))-1e9),n}},fn=new Tw;var kw=class extends N{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}])}},yc=new kw;var bs=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}({}),Sw=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}({}),Ew=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}({}),Ow=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}({}),Iw=class extends N{constructor(){super("sui.rpc.v2.Transaction",[{no:1,name:"bcs",kind:"message",T:()=>Ye},{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:()=>Mw},{no:5,name:"sender",kind:"scalar",opt:!0,T:9},{no:6,name:"gas_payment",kind:"message",T:()=>xw},{no:7,name:"expiration",kind:"message",T:()=>Nw}])}},Sr=new Iw,Aw=class extends N{constructor(){super("sui.rpc.v2.GasPayment",[{no:1,name:"objects",kind:"message",repeat:1,T:()=>yc},{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}])}},xw=new Aw,Cw=class extends N{constructor(){super("sui.rpc.v2.TransactionExpiration",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.TransactionExpiration.TransactionExpirationKind",bs]},{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:()=>fn},{no:5,name:"max_timestamp",kind:"message",T:()=>fn},{no:6,name:"chain",kind:"scalar",opt:!0,T:9},{no:7,name:"nonce",kind:"scalar",opt:!0,T:13}])}},Nw=new Cw,Rw=class extends N{constructor(){super("sui.rpc.v2.TransactionKind",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.TransactionKind.Kind",Sw]},{no:2,name:"programmable_transaction",kind:"message",oneof:"data",T:()=>jw},{no:3,name:"change_epoch",kind:"message",oneof:"data",T:()=>jh},{no:4,name:"genesis",kind:"message",oneof:"data",T:()=>rT},{no:5,name:"consensus_commit_prologue",kind:"message",oneof:"data",T:()=>iT},{no:6,name:"authenticator_state_update",kind:"message",oneof:"data",T:()=>fT},{no:7,name:"end_of_epoch",kind:"message",oneof:"data",T:()=>gT},{no:8,name:"randomness_state_update",kind:"message",oneof:"data",T:()=>Yw}])}},Mw=new Rw,Bw=class extends N{constructor(){super("sui.rpc.v2.ProgrammableTransaction",[{no:1,name:"inputs",kind:"message",repeat:1,T:()=>Nh},{no:2,name:"commands",kind:"message",repeat:1,T:()=>Uw}])}},jw=new Bw,Dw=class extends N{constructor(){super("sui.rpc.v2.Command",[{no:1,name:"move_call",kind:"message",oneof:"command",T:()=>Bh},{no:2,name:"transfer_objects",kind:"message",oneof:"command",T:()=>Vw},{no:3,name:"split_coins",kind:"message",oneof:"command",T:()=>$w},{no:4,name:"merge_coins",kind:"message",oneof:"command",T:()=>Gw},{no:5,name:"publish",kind:"message",oneof:"command",T:()=>Ww},{no:6,name:"make_move_vector",kind:"message",oneof:"command",T:()=>Jw},{no:7,name:"upgrade",kind:"message",oneof:"command",T:()=>Kw}])}},Uw=new Dw,Pw=class extends N{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:()=>Wn}])}},Bh=new Pw,Lw=class extends N{constructor(){super("sui.rpc.v2.TransferObjects",[{no:1,name:"objects",kind:"message",repeat:1,T:()=>Wn},{no:2,name:"address",kind:"message",T:()=>Wn}])}},Vw=new Lw,Fw=class extends N{constructor(){super("sui.rpc.v2.SplitCoins",[{no:1,name:"coin",kind:"message",T:()=>Wn},{no:2,name:"amounts",kind:"message",repeat:1,T:()=>Wn}])}},$w=new Fw,qw=class extends N{constructor(){super("sui.rpc.v2.MergeCoins",[{no:1,name:"coin",kind:"message",T:()=>Wn},{no:2,name:"coins_to_merge",kind:"message",repeat:1,T:()=>Wn}])}},Gw=new qw,zw=class extends N{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}])}},Ww=new zw,Hw=class extends N{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:()=>Wn}])}},Jw=new Hw,Zw=class extends N{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:()=>Wn}])}},Kw=new Zw,Xw=class extends N{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}])}},Yw=new Xw,Qw=class extends N{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:()=>fn},{no:8,name:"system_packages",kind:"message",repeat:1,T:()=>tT}])}},jh=new Qw,eT=class extends N{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}])}},tT=new eT,nT=class extends N{constructor(){super("sui.rpc.v2.GenesisTransaction",[{no:1,name:"objects",kind:"message",repeat:1,T:()=>kr}])}},rT=new nT,sT=class extends N{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:()=>fn},{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:()=>dT},{no:7,name:"additional_state_digest",kind:"scalar",opt:!0,T:9}])}},iT=new sT,oT=class extends N{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}])}},aT=new oT,cT=class extends N{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:()=>aT}])}},uT=new cT,lT=class extends N{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:()=>uT}])}},dT=new lT,pT=class extends N{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:()=>vd},{no:4,name:"authenticator_object_initial_shared_version",kind:"scalar",opt:!0,T:4,L:0}])}},fT=new pT,mT=class extends N{constructor(){super("sui.rpc.v2.ActiveJwk",[{no:1,name:"id",kind:"message",T:()=>hc},{no:2,name:"jwk",kind:"message",T:()=>Mh},{no:3,name:"epoch",kind:"scalar",opt:!0,T:4,L:0}])}},vd=new mT,hT=class extends N{constructor(){super("sui.rpc.v2.EndOfEpochTransaction",[{no:1,name:"transactions",kind:"message",repeat:1,T:()=>bT}])}},gT=new hT,yT=class extends N{constructor(){super("sui.rpc.v2.EndOfEpochTransactionKind",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.EndOfEpochTransactionKind.Kind",Ew]},{no:2,name:"change_epoch",kind:"message",oneof:"data",T:()=>jh},{no:3,name:"authenticator_state_expire",kind:"message",oneof:"data",T:()=>_T},{no:4,name:"execution_time_observations",kind:"message",oneof:"data",T:()=>TT},{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}])}},bT=new yT,vT=class extends N{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}])}},_T=new vT,wT=class extends N{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:()=>ST}])}},TT=new wT,kT=class extends N{constructor(){super("sui.rpc.v2.ExecutionTimeObservation",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.ExecutionTimeObservation.ExecutionTimeObservationKind",Ow]},{no:2,name:"move_entry_point",kind:"message",T:()=>Bh},{no:3,name:"validator_observations",kind:"message",repeat:1,T:()=>OT}])}},ST=new kT,ET=class extends N{constructor(){super("sui.rpc.v2.ValidatorExecutionTimeObservation",[{no:1,name:"validator",kind:"scalar",opt:!0,T:12},{no:2,name:"duration",kind:"message",T:()=>Rh}])}},OT=new ET;function IT(e){switch(e.$kind){case"Pure":return{kind:Hn.PURE,pure:ie(e.Pure.bytes)};case"Object":if(e.Object.$kind==="ImmOrOwnedObject")return{kind:Hn.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:Hn.SHARED,objectId:e.Object.SharedObject.objectId,version:BigInt(e.Object.SharedObject.initialSharedVersion),mutable:e.Object.SharedObject.mutable};if(e.Object.$kind==="Receiving")return{kind:Hn.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:Hn.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"?Fo.SPONSOR:Fo.SENDER}}}default:throw new Error(`Unknown CallArg kind: ${JSON.stringify(e)}`)}}function Kr(e){if("GasCoin"in e)return{kind:Zr.GAS};if("Input"in e)return{kind:Zr.INPUT,input:e.Input};if("Result"in e)return{kind:Zr.RESULT,result:e.Result};if("NestedResult"in e)return{kind:Zr.RESULT,result:e.NestedResult[0],subresult:e.NestedResult[1]};throw new Error(`Unknown Argument: ${JSON.stringify(e)}`)}function AT(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(Kr)}}};case"TransferObjects":return{command:{oneofKind:"transferObjects",transferObjects:{objects:e.TransferObjects.objects.map(Kr),address:Kr(e.TransferObjects.address)}}};case"SplitCoins":return{command:{oneofKind:"splitCoins",splitCoins:{coin:Kr(e.SplitCoins.coin),amounts:e.SplitCoins.amounts.map(Kr)}}};case"MergeCoins":return{command:{oneofKind:"mergeCoins",mergeCoins:{coin:Kr(e.MergeCoins.destination),coinsToMerge:e.MergeCoins.sources.map(Kr)}}};case"Publish":return{command:{oneofKind:"publish",publish:{modules:e.Publish.modules.map(t=>ie(t)),dependencies:e.Publish.dependencies}}};case"MakeMoveVec":return{command:{oneofKind:"makeMoveVector",makeMoveVector:{elementType:e.MakeMoveVec.type??void 0,elements:e.MakeMoveVec.elements.map(Kr)}}};case"Upgrade":return{command:{oneofKind:"upgrade",upgrade:{modules:e.Upgrade.modules.map(t=>ie(t)),dependencies:e.Upgrade.dependencies,package:e.Upgrade.package,ticket:Kr(e.Upgrade.ticket)}}};default:throw new Error(`Unknown Command kind: ${JSON.stringify(e)}`)}}function $o(e){let t={version:1,kind:{data:{oneofKind:"programmableTransaction",programmableTransaction:{inputs:e.inputs.map(IT),commands:e.commands.map(AT)}}}};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:bs.NONE};else if(e.expiration.$kind==="Epoch")t.expiration={kind:bs.EPOCH,epoch:BigInt(e.expiration.Epoch)};else if(e.expiration.$kind==="ValidDuring"){let r=e.expiration.ValidDuring;t.expiration={kind:bs.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 Dh(e,t,n){let r=qo(t);n?.onlyTransactionKind?e.applyResolvedData({...r,gasData:{budget:null,owner:null,payment:null,price:null},expiration:null}):e.applyResolvedData(r)}function _d(e){let t=e.getData();return t.sender||(t.sender="0x0000000000000000000000000000000000000000000000000000000000000000"),$o(t)}function Uh(e){let t=_d(e);return Sr.toJson(t)}function xT(e){switch(e.kind){case Hn.PURE:return{$kind:"Pure",Pure:{bytes:ye(e.pure)}};case Hn.IMMUTABLE_OR_OWNED:return{$kind:"Object",Object:{$kind:"ImmOrOwnedObject",ImmOrOwnedObject:{objectId:e.objectId,version:e.version.toString(),digest:e.digest}}};case Hn.SHARED:return{$kind:"Object",Object:{$kind:"SharedObject",SharedObject:{objectId:e.objectId,initialSharedVersion:e.version.toString(),mutable:e.mutable??!1}}};case Hn.RECEIVING:return{$kind:"Object",Object:{$kind:"Receiving",Receiving:{objectId:e.objectId,version:e.version.toString(),digest:e.digest}}};case Hn.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===Fo.SPONSOR?{$kind:"Sponsor",Sponsor:!0}:{$kind:"Sender",Sender:!0}}};default:throw new Error(`Unknown Input kind: ${JSON.stringify(e)}`)}}function Xr(e){switch(e.kind){case Zr.GAS:return{$kind:"GasCoin",GasCoin:!0};case Zr.INPUT:return{$kind:"Input",Input:e.input};case Zr.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 CT(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(Xr)}};case"transferObjects":return{$kind:"TransferObjects",TransferObjects:{objects:t.transferObjects.objects.map(Xr),address:Xr(t.transferObjects.address)}};case"splitCoins":return{$kind:"SplitCoins",SplitCoins:{coin:Xr(t.splitCoins.coin),amounts:t.splitCoins.amounts.map(Xr)}};case"mergeCoins":return{$kind:"MergeCoins",MergeCoins:{destination:Xr(t.mergeCoins.coin),sources:t.mergeCoins.coinsToMerge.map(Xr)}};case"publish":return{$kind:"Publish",Publish:{modules:t.publish.modules.map(n=>ye(n)),dependencies:t.publish.dependencies??[]}};case"makeMoveVector":return{$kind:"MakeMoveVec",MakeMoveVec:{type:t.makeMoveVector.elementType??null,elements:t.makeMoveVector.elements.map(Xr)}};case"upgrade":return{$kind:"Upgrade",Upgrade:{modules:t.upgrade.modules.map(n=>ye(n)),dependencies:t.upgrade.dependencies??[],package:t.upgrade.package,ticket:Xr(t.upgrade.ticket)}};default:throw new Error(`Unknown Command kind: ${JSON.stringify(t)}`)}}function qo(e){let t=e.kind?.data;if(t?.oneofKind!=="programmableTransaction")throw new Error("Only programmable transactions are supported");let n=t.programmableTransaction.inputs.map(xT),r=t.programmableTransaction.commands.map(CT),s=null;if(e.expiration)switch(e.expiration.kind){case bs.NONE:s={$kind:"None",None:!0};break;case bs.EPOCH:s={$kind:"Epoch",Epoch:e.expiration.epoch.toString()};break;case bs.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 NT=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}({}),wd=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}({}),RT=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}({}),MT=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}({}),BT=class extends N{constructor(){super("sui.rpc.v2.ExecutionStatus",[{no:1,name:"success",kind:"scalar",opt:!0,T:8},{no:2,name:"error",kind:"message",T:()=>DT}])}},Ph=new BT,jT=class extends N{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",NT]},{no:4,name:"abort",kind:"message",oneof:"errorDetails",T:()=>PT},{no:5,name:"size_error",kind:"message",oneof:"errorDetails",T:()=>GT},{no:6,name:"command_argument_error",kind:"message",oneof:"errorDetails",T:()=>XT},{no:7,name:"type_argument_error",kind:"message",oneof:"errorDetails",T:()=>tk},{no:8,name:"package_upgrade_error",kind:"message",oneof:"errorDetails",T:()=>QT},{no:9,name:"index_error",kind:"message",oneof:"errorDetails",T:()=>Lh},{no:10,name:"object_id",kind:"scalar",oneof:"errorDetails",T:9},{no:11,name:"coin_deny_list_error",kind:"message",oneof:"errorDetails",T:()=>HT},{no:12,name:"congested_objects",kind:"message",oneof:"errorDetails",T:()=>ZT}])}},DT=new jT,UT=class extends N{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:()=>VT},{no:3,name:"clever_error",kind:"message",T:()=>$T}])}},PT=new UT,LT=class extends N{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}])}},VT=new LT,FT=class extends N{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}])}},$T=new FT,qT=class extends N{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}])}},GT=new qT,zT=class extends N{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}])}},Lh=new zT,WT=class extends N{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}])}},HT=new WT,JT=class extends N{constructor(){super("sui.rpc.v2.CongestedObjects",[{no:1,name:"objects",kind:"scalar",repeat:2,T:9}])}},ZT=new JT,KT=class extends N{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",wd]},{no:3,name:"index_error",kind:"message",T:()=>Lh}])}},XT=new KT,YT=class extends N{constructor(){super("sui.rpc.v2.PackageUpgradeError",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.PackageUpgradeError.PackageUpgradeErrorKind",RT]},{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}])}},QT=new YT,ek=class extends N{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",MT]}])}},tk=new ek;var nk=class extends N{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}])}},bc=new nk;var Go=function(e){return e[e.UNKNOWN=0]="UNKNOWN",e[e.DOES_NOT_EXIST=1]="DOES_NOT_EXIST",e[e.EXISTS=2]="EXISTS",e}({}),ii=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}({}),Wi=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}({}),rk=function(e){return e[e.ACCUMULATOR_OPERATION_UNKNOWN=0]="ACCUMULATOR_OPERATION_UNKNOWN",e[e.MERGE=1]="MERGE",e[e.SPLIT=2]="SPLIT",e}({}),vs=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}({}),sk=class extends N{constructor(){super("sui.rpc.v2.TransactionEffects",[{no:1,name:"bcs",kind:"message",T:()=>Ye},{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:()=>Ph},{no:5,name:"epoch",kind:"scalar",opt:!0,T:4,L:0},{no:6,name:"gas_used",kind:"message",T:()=>bc},{no:7,name:"transaction_digest",kind:"scalar",opt:!0,T:9},{no:8,name:"gas_object",kind:"message",T:()=>Vh},{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:()=>Vh},{no:13,name:"unchanged_consensus_objects",kind:"message",repeat:1,T:()=>uk},{no:14,name:"auxiliary_data_digest",kind:"scalar",opt:!0,T:9},{no:15,name:"unchanged_loaded_runtime_objects",kind:"message",repeat:1,T:()=>yc}])}},vc=new sk,ik=class extends N{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",Go,"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:()=>Vo},{no:6,name:"output_state",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.ChangedObject.OutputObjectState",ii,"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:()=>Vo},{no:12,name:"accumulator_write",kind:"message",T:()=>ak},{no:10,name:"id_operation",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.ChangedObject.IdOperation",Wi]},{no:11,name:"object_type",kind:"scalar",opt:!0,T:9}])}},Vh=new ik,ok=class extends N{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",rk]},{no:5,name:"value",kind:"scalar",opt:!0,T:4,L:0}])}},ak=new ok,ck=class extends N{constructor(){super("sui.rpc.v2.UnchangedConsensusObject",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.UnchangedConsensusObject.UnchangedConsensusObjectKind",vs]},{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}])}},uk=new ck;var zo=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 lk=class extends N{constructor(){super("sui.rpc.v2.UserSignature",[{no:1,name:"bcs",kind:"message",T:()=>Ye},{no:2,name:"scheme",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.SignatureScheme",zo]},{no:3,name:"simple",kind:"message",oneof:"signature",T:()=>Td},{no:4,name:"multisig",kind:"message",oneof:"signature",T:()=>_k},{no:5,name:"zklogin",kind:"message",oneof:"signature",T:()=>qh},{no:6,name:"passkey",kind:"message",oneof:"signature",T:()=>Gh}])}},_s=new lk,dk=class extends N{constructor(){super("sui.rpc.v2.SimpleSignature",[{no:1,name:"scheme",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.SignatureScheme",zo]},{no:2,name:"signature",kind:"scalar",opt:!0,T:12},{no:3,name:"public_key",kind:"scalar",opt:!0,T:12}])}},Td=new dk,pk=class extends N{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}])}},$h=new pk,fk=class extends N{constructor(){super("sui.rpc.v2.MultisigMemberPublicKey",[{no:1,name:"scheme",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.SignatureScheme",zo]},{no:2,name:"public_key",kind:"scalar",opt:!0,T:12},{no:3,name:"zklogin",kind:"message",T:()=>$h}])}},mk=new fk,hk=class extends N{constructor(){super("sui.rpc.v2.MultisigMember",[{no:1,name:"public_key",kind:"message",T:()=>mk},{no:2,name:"weight",kind:"scalar",opt:!0,T:13}])}},gk=new hk,yk=class extends N{constructor(){super("sui.rpc.v2.MultisigCommittee",[{no:1,name:"members",kind:"message",repeat:1,T:()=>gk},{no:2,name:"threshold",kind:"scalar",opt:!0,T:13}])}},bk=new yk,vk=class extends N{constructor(){super("sui.rpc.v2.MultisigAggregatedSignature",[{no:1,name:"signatures",kind:"message",repeat:1,T:()=>Tk},{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:()=>bk}])}},_k=new vk,wk=class extends N{constructor(){super("sui.rpc.v2.MultisigMemberSignature",[{no:1,name:"scheme",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.SignatureScheme",zo]},{no:2,name:"signature",kind:"scalar",opt:!0,T:12},{no:3,name:"zklogin",kind:"message",T:()=>qh},{no:4,name:"passkey",kind:"message",T:()=>Gh}])}},Tk=new wk,kk=class extends N{constructor(){super("sui.rpc.v2.ZkLoginAuthenticator",[{no:1,name:"inputs",kind:"message",T:()=>Ek},{no:2,name:"max_epoch",kind:"scalar",opt:!0,T:4,L:0},{no:3,name:"signature",kind:"message",T:()=>Td},{no:4,name:"public_identifier",kind:"message",T:()=>$h},{no:5,name:"jwk_id",kind:"message",T:()=>hc}])}},qh=new kk,Sk=class extends N{constructor(){super("sui.rpc.v2.ZkLoginInputs",[{no:1,name:"proof_points",kind:"message",T:()=>Ik},{no:2,name:"iss_base64_details",kind:"message",T:()=>xk},{no:3,name:"header_base64",kind:"scalar",opt:!0,T:9},{no:4,name:"address_seed",kind:"scalar",opt:!0,T:9}])}},Ek=new Sk,Ok=class extends N{constructor(){super("sui.rpc.v2.ZkLoginProof",[{no:1,name:"a",kind:"message",T:()=>Fh},{no:2,name:"b",kind:"message",T:()=>Rk},{no:3,name:"c",kind:"message",T:()=>Fh}])}},Ik=new Ok,Ak=class extends N{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}])}},xk=new Ak,Ck=class extends N{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}])}},Fh=new Ck,Nk=class extends N{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}])}},Rk=new Nk,Mk=class extends N{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:()=>Td}])}},Gh=new Mk,Bk=class extends N{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:()=>kd}])}},zh=new Bk,jk=class extends N{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}])}},kd=new jk,Dk=class extends N{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}])}},Wh=new Dk;var Uk=class extends N{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}])}},_c=new Uk;var Pk=class extends N{constructor(){super("sui.rpc.v2.TransactionEvents",[{no:1,name:"bcs",kind:"message",T:()=>Ye},{no:2,name:"digest",kind:"scalar",opt:!0,T:9},{no:3,name:"events",kind:"message",repeat:1,T:()=>Vk}])}},Hh=new Pk,Lk=class extends N{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:()=>Ye},{no:6,name:"json",kind:"message",T:()=>Qe}])}},Vk=new Lk;var Fk=class extends N{constructor(){super("sui.rpc.v2.ExecutedTransaction",[{no:1,name:"digest",kind:"scalar",opt:!0,T:9},{no:2,name:"transaction",kind:"message",T:()=>Sr},{no:3,name:"signatures",kind:"message",repeat:1,T:()=>_s},{no:4,name:"effects",kind:"message",T:()=>vc},{no:5,name:"events",kind:"message",T:()=>Hh},{no:6,name:"checkpoint",kind:"scalar",opt:!0,T:4,L:0},{no:7,name:"timestamp",kind:"message",T:()=>fn},{no:8,name:"balance_changes",kind:"message",repeat:1,T:()=>_c},{no:9,name:"objects",kind:"message",T:()=>gc}])}},ws=new Fk;var $k=class extends N{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 ys(r)}).join(",")}internalJsonRead(e,t,n){if(typeof e!="string")throw new Error("Unable to parse FieldMask from JSON "+on(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}},wn=new $k;function Jh(e,t){var n,r,s;let i=e;return i.service=t,i.localName=(n=i.localName)!==null&&n!==void 0?n:ys(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 an=class{constructor(t,n,r){this.typeName=t,this.methods=n.map(s=>Jh(s,this)),this.options=r??{}}};var je=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(`
|
|
9
|
+
`)}};function Sd(e,t){if(!t)return e;let n={};wc(e,n),wc(t,n);for(let r of Object.keys(t)){let s=t[r];switch(r){case"jsonOptions":n.jsonOptions=hd(e.jsonOptions,n.jsonOptions);break;case"binaryOptions":n.binaryOptions=cd(e.binaryOptions,n.binaryOptions);break;case"meta":n.meta={},wc(e.meta,n.meta),wc(t.meta,n.meta);break;case"interceptors":n.interceptors=e.interceptors?e.interceptors.concat(s):s.concat();break}}return n}function wc(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 Cn;(function(e){e[e.PENDING=0]="PENDING",e[e.REJECTED=1]="REJECTED",e[e.RESOLVED=2]="RESOLVED"})(Cn||(Cn={}));var Vn=class{constructor(t=!0){this._state=Cn.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!==Cn.PENDING)throw new Error(`cannot resolve ${Cn[this.state].toLowerCase()}`);this._resolve(t),this._state=Cn.RESOLVED}reject(t){if(this.state!==Cn.PENDING)throw new Error(`cannot reject ${Cn[this.state].toLowerCase()}`);this._reject(t),this._state=Cn.REJECTED}resolvePending(t){this._state===Cn.PENDING&&this.resolve(t)}rejectPending(t){this._state===Cn.PENDING&&this.reject(t)}};var Wo=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){Oe((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){Oe(!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){Oe(!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(){Oe(!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;Oe(t,"bad state"),Oe(!t.p,"iterator contract broken");let n=t.q.shift();return n?"value"in n?Promise.resolve(n):Promise.reject(n):(t.p=new Vn,t.p.promise)}}}pushIt(t){let n=this._itState;if(n.p){let r=n.p;Oe(r.state==Cn.PENDING,"iterator contract broken"),"value"in t?r.resolve(t):r.reject(t),delete n.p}else n.q.push(t)}};var qk=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(d){try{u(r.next(d))}catch(p){o(p)}}function c(d){try{u(r.throw(d))}catch(p){o(p)}}function u(d){d.done?i(d.value):s(d.value).then(a,c)}u((r=r.apply(e,t||[])).next())})},Ho=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 qk(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 Gk=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(d){try{u(r.next(d))}catch(p){o(p)}}function c(d){try{u(r.throw(d))}catch(p){o(p)}}function u(d){d.done?i(d.value):s(d.value).then(a,c)}u((r=r.apply(e,t||[])).next())})},Jo=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 Gk(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 Ue(e,t,n,r,s){var i,o,a,c;if(e=="unary"){let u=(d,p,f)=>t.unary(d,p,f);for(let d of((i=r.interceptors)!==null&&i!==void 0?i:[]).filter(p=>p.interceptUnary).reverse()){let p=u;u=(f,g,b)=>d.interceptUnary(p,f,g,b)}return u(n,s,r)}if(e=="serverStreaming"){let u=(d,p,f)=>t.serverStreaming(d,p,f);for(let d of((o=r.interceptors)!==null&&o!==void 0?o:[]).filter(p=>p.interceptServerStreaming).reverse()){let p=u;u=(f,g,b)=>d.interceptServerStreaming(p,f,g,b)}return u(n,s,r)}if(e=="clientStreaming"){let u=(d,p)=>t.clientStreaming(d,p);for(let d of((a=r.interceptors)!==null&&a!==void 0?a:[]).filter(p=>p.interceptClientStreaming).reverse()){let p=u;u=(f,g)=>d.interceptClientStreaming(p,f,g)}return u(n,r)}if(e=="duplex"){let u=(d,p)=>t.duplex(d,p);for(let d of((c=r.interceptors)!==null&&c!==void 0?c:[]).filter(p=>p.interceptDuplex).reverse()){let p=u;u=(f,g)=>d.interceptDuplex(p,f,g)}return u(n,r)}pd(e)}var Tc=function(e){return e[e.ENABLED=0]="ENABLED",e[e.DISABLED=1]="DISABLED",e}({}),zk=class extends N{constructor(){super("sui.rpc.v2.ExecuteTransactionRequest",[{no:1,name:"transaction",kind:"message",T:()=>Sr},{no:2,name:"signatures",kind:"message",repeat:1,T:()=>_s},{no:3,name:"read_mask",kind:"message",T:()=>wn}])}},Wk=new zk,Hk=class extends N{constructor(){super("sui.rpc.v2.ExecuteTransactionResponse",[{no:1,name:"transaction",kind:"message",T:()=>ws}])}},Jk=new Hk,Zk=class extends N{constructor(){super("sui.rpc.v2.SimulateTransactionRequest",[{no:1,name:"transaction",kind:"message",T:()=>Sr},{no:2,name:"read_mask",kind:"message",T:()=>wn},{no:3,name:"checks",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.SimulateTransactionRequest.TransactionChecks",Tc]},{no:4,name:"do_gas_selection",kind:"scalar",opt:!0,T:8}])}},Kk=new Zk,Xk=class extends N{constructor(){super("sui.rpc.v2.SimulateTransactionResponse",[{no:1,name:"transaction",kind:"message",T:()=>ws},{no:2,name:"command_outputs",kind:"message",repeat:1,T:()=>e1},{no:3,name:"suggested_gas_price",kind:"scalar",opt:!0,T:4,L:0}])}},Yk=new Xk,Qk=class extends N{constructor(){super("sui.rpc.v2.CommandResult",[{no:1,name:"return_values",kind:"message",repeat:1,T:()=>Zh},{no:2,name:"mutated_by_ref",kind:"message",repeat:1,T:()=>Zh}])}},e1=new Qk,t1=class extends N{constructor(){super("sui.rpc.v2.CommandOutput",[{no:1,name:"argument",kind:"message",T:()=>Wn},{no:2,name:"value",kind:"message",T:()=>Ye},{no:3,name:"json",kind:"message",T:()=>Qe}])}},Zh=new t1,kc=new an("sui.rpc.v2.TransactionExecutionService",[{name:"ExecuteTransaction",options:{},I:Wk,O:Jk},{name:"SimulateTransaction",options:{},I:Kk,O:Yk}]);var tg=class extends Vi{#e;constructor({client:e,...t}){super(t),this.#e=e}async getObjects(e){let t=Gn(e.objectIds,50),n=[],r=["owner","object_type","digest","version","object_id"];e.include?.content&&r.push("contents"),e.include?.previousTransaction&&r.push("previous_transaction"),e.include?.objectBcs&&r.push("bcs"),e.include?.json&&r.push("json"),e.include?.display&&r.push("display");for(let s of t){let i=await this.#e.ledgerService.batchGetObjects({requests:s.map(o=>({objectId:o})),readMask:{paths:r}});n.push(...i.response.objects.map(o=>{if(o.result.oneofKind==="error")return new Error(o.result.error.message);if(o.result.oneofKind!=="object")return new Error("Unexpected result type");let a=o.result.object.contents?.value??void 0,c=o.result.object.bcs?.value??void 0,u=o.result.object.objectType,d=u&&u.includes("::")?be(u):u??"",p=e.include?.json?o.result.object.json?Qe.toJson(o.result.object.json):null:void 0,f=Kh(e.include?.display,o.result.object.display);return{objectId:o.result.object.objectId,version:o.result.object.version?.toString(),digest:o.result.object.digest,content:a,owner:ai(o.result.object.owner),type:d,previousTransaction:o.result.object.previousTransaction??void 0,objectBcs:c,json:p,display:f}}))}return{objects:n}}async listOwnedObjects(e){let t=["owner","object_type","digest","version","object_id"];e.include?.content&&t.push("contents"),e.include?.previousTransaction&&t.push("previous_transaction"),e.include?.objectBcs&&t.push("bcs"),e.include?.json&&t.push("json"),e.include?.display&&t.push("display");let n=await this.#e.stateService.listOwnedObjects({owner:e.owner,objectType:e.type?(await this.mvr.resolveType({type:e.type})).type:void 0,pageToken:e.cursor?ie(e.cursor):void 0,pageSize:e.limit,readMask:{paths:t}});return{objects:n.response.objects.map(r=>({objectId:r.objectId,version:r.version?.toString(),digest:r.digest,content:r.contents?.value,owner:ai(r.owner),type:r.objectType,previousTransaction:r.previousTransaction??void 0,objectBcs:r.bcs?.value,json:e.include?.json?r.json?Qe.toJson(r.json):null:void 0,display:Kh(e.include?.display,r.display)})),cursor:n.response.nextPageToken?ye(n.response.nextPageToken):null,hasNextPage:n.response.nextPageToken!==void 0}}async listCoins(e){let t=["owner","object_type","digest","version","object_id","balance"],n=e.coinType??zn,r=await this.#e.stateService.listOwnedObjects({owner:e.owner,objectType:`0x2::coin::Coin<${(await this.mvr.resolveType({type:n})).type}>`,pageToken:e.cursor?ie(e.cursor):void 0,readMask:{paths:t}});return{objects:r.response.objects.map(s=>({objectId:s.objectId,version:s.version?.toString(),digest:s.digest,owner:ai(s.owner),type:s.objectType,balance:s.balance?.toString()})),cursor:r.response.nextPageToken?ye(r.response.nextPageToken):null,hasNextPage:r.response.nextPageToken!==void 0}}async getBalance(e){let t=e.coinType??zn,n=await this.#e.stateService.getBalance({owner:e.owner,coinType:(await this.mvr.resolveType({type:t})).type});return{balance:{balance:n.response.balance?.balance?.toString()??"0",coinType:n.response.balance?.coinType??t,coinBalance:n.response.balance?.coinBalance?.toString()??"0",addressBalance:n.response.balance?.addressBalance?.toString()??"0"}}}async getCoinMetadata(e){let t=(await this.mvr.resolveType({type:e.coinType})).type,n;try{({response:n}=await this.#e.stateService.getCoinInfo({coinType:t}))}catch{return{coinMetadata:null}}return n.metadata?{coinMetadata:{id:n.metadata.id??null,decimals:n.metadata.decimals??0,name:n.metadata.name??"",symbol:n.metadata.symbol??"",description:n.metadata.description??"",iconUrl:n.metadata.iconUrl??null}}:{coinMetadata:null}}async listBalances(e){let t=await this.#e.stateService.listBalances({owner:e.owner,pageToken:e.cursor?ie(e.cursor):void 0,pageSize:e.limit});return{hasNextPage:!!t.response.nextPageToken,cursor:t.response.nextPageToken?ye(t.response.nextPageToken):null,balances:t.response.balances.map(n=>({balance:n.balance?.toString()??"0",coinType:n.coinType,coinBalance:n.coinBalance?.toString()??"0",addressBalance:n.addressBalance?.toString()??"0"}))}}async getTransaction(e){let t=["digest","transaction.digest","signatures","effects.status"];e.include?.transaction&&t.push("transaction.sender","transaction.gas_payment","transaction.expiration","transaction.kind"),e.include?.bcs&&t.push("transaction.bcs"),e.include?.balanceChanges&&t.push("balance_changes"),e.include?.effects&&t.push("effects"),e.include?.events&&t.push("events"),e.include?.objectTypes&&(t.push("effects.changed_objects.object_type"),t.push("effects.changed_objects.object_id"));let{response:n}=await this.#e.ledgerService.getTransaction({digest:e.digest,readMask:{paths:t}});if(!n.transaction)throw new Error(`Transaction ${e.digest} not found`);return Ed(n.transaction,e.include)}async executeTransaction(e){let t=["digest","transaction.digest","signatures","effects.status"];e.include?.transaction&&t.push("transaction.sender","transaction.gas_payment","transaction.expiration","transaction.kind"),e.include?.bcs&&t.push("transaction.bcs"),e.include?.balanceChanges&&t.push("balance_changes"),e.include?.effects&&t.push("effects"),e.include?.events&&t.push("events"),e.include?.objectTypes&&(t.push("effects.changed_objects.object_type"),t.push("effects.changed_objects.object_id"));let{response:n}=await this.#e.transactionExecutionService.executeTransaction({transaction:{bcs:{value:e.transaction}},signatures:e.signatures.map(r=>({bcs:{value:ie(r)},signature:{oneofKind:void 0}})),readMask:{paths:t}});return Ed(n.transaction,e.include)}async simulateTransaction(e){let t=["transaction.digest","transaction.transaction.digest","transaction.signatures","transaction.effects.status"];e.include?.transaction&&t.push("transaction.transaction.sender","transaction.transaction.gas_payment","transaction.transaction.expiration","transaction.transaction.kind"),e.include?.bcs&&t.push("transaction.transaction.bcs"),e.include?.balanceChanges&&t.push("transaction.balance_changes"),e.include?.effects&&t.push("transaction.effects"),e.include?.events&&t.push("transaction.events"),e.include?.objectTypes&&(t.push("transaction.effects.changed_objects.object_type"),t.push("transaction.effects.changed_objects.object_id")),e.include?.commandResults&&t.push("command_outputs"),e.transaction instanceof Uint8Array||await e.transaction.prepareForSerialization({client:this});let{response:n}=await this.#e.transactionExecutionService.simulateTransaction({transaction:e.transaction instanceof Uint8Array?{bcs:{value:e.transaction}}:_d(e.transaction),readMask:{paths:t},doGasSelection:!1,checks:e.checksEnabled===!1?Tc.DISABLED:Tc.ENABLED}),r=Ed(n.transaction,e.include),s=e.include?.commandResults&&n.commandOutputs?n.commandOutputs.map(i=>({returnValues:(i.returnValues??[]).map(o=>({bcs:o.value?.value??null})),mutatedReferences:(i.mutatedByRef??[]).map(o=>({bcs:o.value?.value??null}))})):void 0;return r.$kind==="Transaction"?{$kind:"Transaction",Transaction:r.Transaction,commandResults:s}:{$kind:"FailedTransaction",FailedTransaction:r.FailedTransaction,commandResults:s}}async getReferenceGasPrice(){return{referenceGasPrice:(await this.#e.ledgerService.getEpoch({readMask:{paths:["reference_gas_price"]}})).response.epoch?.referenceGasPrice?.toString()??""}}async getProtocolConfig(){let e=(await this.#e.ledgerService.getEpoch({readMask:{paths:["protocol_config"]}})).response.epoch?.protocolConfig;if(!e)throw new Error("Protocol config not found in response");let t={...e.featureFlags},n={};if(e.attributes)for(let[r,s]of Object.entries(e.attributes))n[r]=s??null;return{protocolConfig:{protocolVersion:e.protocolVersion?.toString()??null,featureFlags:t,attributes:n}}}async getCurrentSystemState(){let e=(await this.#e.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,t=e?.systemState;if(!t)throw new Error("System state not found in response");let n=e?.start?.seconds?Number(e.start.seconds)*1e3+Math.floor((e.start.nanos||0)/1e6):t.epochStartTimestampMs?Number(t.epochStartTimestampMs):null;return{systemState:{systemStateVersion:t.version?.toString()??null,epoch:t.epoch?.toString()??null,protocolVersion:t.protocolVersion?.toString()??null,referenceGasPrice:t.referenceGasPrice?.toString()??null,epochStartTimestampMs:n.toString(),safeMode:t.safeMode??!1,safeModeStorageRewards:t.safeModeStorageRewards?.toString()??null,safeModeComputationRewards:t.safeModeComputationRewards?.toString()??null,safeModeStorageRebates:t.safeModeStorageRebates?.toString()??null,safeModeNonRefundableStorageFee:t.safeModeNonRefundableStorageFee?.toString()??null,parameters:{epochDurationMs:t.parameters?.epochDurationMs?.toString()??null,stakeSubsidyStartEpoch:t.parameters?.stakeSubsidyStartEpoch?.toString()??null,maxValidatorCount:t.parameters?.maxValidatorCount?.toString()??null,minValidatorJoiningStake:t.parameters?.minValidatorJoiningStake?.toString()??null,validatorLowStakeThreshold:t.parameters?.validatorLowStakeThreshold?.toString()??null,validatorLowStakeGracePeriod:t.parameters?.validatorLowStakeGracePeriod?.toString()??null},storageFund:{totalObjectStorageRebates:t.storageFund?.totalObjectStorageRebates?.toString()??null,nonRefundableBalance:t.storageFund?.nonRefundableBalance?.toString()??null},stakeSubsidy:{balance:t.stakeSubsidy?.balance?.toString()??null,distributionCounter:t.stakeSubsidy?.distributionCounter?.toString()??null,currentDistributionAmount:t.stakeSubsidy?.currentDistributionAmount?.toString()??null,stakeSubsidyPeriodLength:t.stakeSubsidy?.stakeSubsidyPeriodLength?.toString()??null,stakeSubsidyDecreaseRate:t.stakeSubsidy?.stakeSubsidyDecreaseRate??null}}}}async listDynamicFields(e){return this.#e.listDynamicFields(e)}async verifyZkLoginSignature(e){let t=ie(e.bytes),n=e.intentScope==="PersonalMessage"?E.byteVector().serialize(t).toBytes():t,{response:r}=await this.#e.signatureVerificationService.verifySignature({message:{name:e.intentScope,value:n},signature:{bcs:{value:ie(e.signature)},signature:{oneofKind:void 0}},address:e.address,jwks:[]});return{success:r.isValid??!1,errors:r.reason?[r.reason]:[]}}async defaultNameServiceName(e){return{data:{name:(await this.#e.nameService.reverseLookupName({address:e.address})).response.record?.name??null}}}async getMoveFunction(e){let t=(await this.mvr.resolvePackage({package:e.packageId})).package,{response:n}=await this.#e.movePackageService.getFunction({packageId:t,moduleName:e.moduleName,name:e.name}),r="unknown";switch(n.function?.visibility){case Lo.PUBLIC:r="public";break;case Lo.PRIVATE:r="private";break;case Lo.FRIEND:r="friend";break}return{function:{packageId:X(t),moduleName:e.moduleName,name:n.function?.name,visibility:r,isEntry:n.function?.isEntry??!1,typeParameters:n.function?.typeParameters?.map(({constraints:s})=>({isPhantom:!1,constraints:s.map(i=>{switch(i){case ri.COPY:return"copy";case ri.DROP:return"drop";case ri.STORE:return"store";case ri.KEY:return"key";default:return"unknown"}})??[]}))??[],parameters:n.function?.parameters?.map(s=>eg(s))??[],returns:n.function?.returns?.map(s=>eg(s))??[]}}}async getChainIdentifier(e){return this.cache.read(["chainIdentifier"],async()=>{let{response:t}=await this.#e.ledgerService.getServiceInfo({});if(!t.chainId)throw new Error("Chain identifier not found in service info");return{chainIdentifier:t.chainId}})}resolveTransactionPlugin(){let e=this.#e;return async function(n,r,s){let i=n.snapshot();i.sender||(i.sender="0x0000000000000000000000000000000000000000000000000000000000000000");let o=$o(i),a;try{a=(await e.transactionExecutionService.simulateTransaction({transaction:o,doGasSelection:!r.onlyTransactionKind&&(i.gasData.budget==null||i.gasData.payment==null),readMask:{paths:["transaction.transaction.sender","transaction.transaction.gas_payment","transaction.transaction.expiration","transaction.transaction.kind","transaction.effects.status"]}})).response}catch(c){throw c instanceof Error&&c.message?new ei(decodeURIComponent(c.message),{cause:c}):c}if(!r.onlyTransactionKind&&a.transaction?.effects?.status&&!a.transaction.effects.status.success){let c=a.transaction.effects.status.error?Id(a.transaction.effects.status.error):void 0;throw new ei(`Transaction resolution failed: ${c?.message??"Transaction failed"}`,{executionError:c})}if(!a.transaction?.transaction)throw new Error("simulateTransaction did not return resolved transaction data");return Dh(n,a.transaction.transaction,r),await s()}}};function Kh(e,t){if(e)return t===void 0?null:{output:t.output!==void 0?Qe.toJson(t.output):null,errors:t.errors!==void 0?Qe.toJson(t.errors):null}}function ai(e){if(!e)return null;if(e.kind===si.IMMUTABLE)return{$kind:"Immutable",Immutable:!0};if(e.kind===si.ADDRESS)return{AddressOwner:e.address,$kind:"AddressOwner"};if(e.kind===si.OBJECT)return{$kind:"ObjectOwner",ObjectOwner:e.address};if(e.kind===si.SHARED)return{$kind:"Shared",Shared:{initialSharedVersion:e.version?.toString()}};if(e.kind===si.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 Id(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:Qs({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:n1(s)}}case"sizeError":return{$kind:"SizeError",message:t,command:n,SizeError:{name:oi(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:oi(r.commandArgumentError.kind)}};case"typeArgumentError":return{$kind:"TypeArgumentError",message:t,command:n,TypeArgumentError:{typeArgument:r.typeArgumentError.typeArgument??0,name:oi(r.typeArgumentError.kind)}};case"packageUpgradeError":return{$kind:"PackageUpgradeError",message:t,command:n,PackageUpgradeError:{name:oi(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:oi(e.kind),coinType:r.coinDenyListError.coinType,address:r.coinDenyListError.address}};case"congestedObjects":return{$kind:"CongestedObjects",message:t,command:n,CongestedObjects:{name:oi(e.kind),objects:r.congestedObjects.objects}};case"objectId":return{$kind:"ObjectIdError",message:t,command:n,ObjectIdError:{name:oi(e.kind),objectId:r.objectId}};default:return{$kind:"Unknown",message:t,command:n,Unknown:null}}}function n1(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"?ye(e.cleverError.value.raw):void 0}:void 0}}function oi(e){if(e==null)return"Unknown";let t=wd[e];return!t||t.endsWith("_UNKNOWN")?"Unknown":t.split("_").map(n=>n.charAt(0)+n.slice(1).toLowerCase()).join("")}function Xh(e){if(e==null)return null;switch(e){case Wi.CREATED:return"Created";case Wi.DELETED:return"Deleted";case Wi.NONE:case Wi.ID_OPERATION_UNKNOWN:return"None";default:return"Unknown"}}function Yh(e){if(e==null)return null;switch(e){case Go.EXISTS:return"Exists";case Go.DOES_NOT_EXIST:return"DoesNotExist";case Go.UNKNOWN:return"Unknown";default:return"Unknown"}}function Qh(e){if(e==null)return null;switch(e){case ii.OBJECT_WRITE:return"ObjectWrite";case ii.PACKAGE_WRITE:return"PackageWrite";case ii.DOES_NOT_EXIST:return"DoesNotExist";case ii.ACCUMULATOR_WRITE:return"AccumulatorWriteV1";case ii.UNKNOWN:return"Unknown";default:return"Unknown"}}function r1(e){if(e==null)return null;switch(e){case vs.UNCHANGED_CONSENSUS_OBJECT_KIND_UNKNOWN:return"Unknown";case vs.READ_ONLY_ROOT:return"ReadOnlyRoot";case vs.MUTATE_CONSENSUS_STREAM_ENDED:return"MutateConsensusStreamEnded";case vs.READ_CONSENSUS_STREAM_ENDED:return"ReadConsensusStreamEnded";case vs.CANCELED:return"Cancelled";case vs.PER_EPOCH_CONFIG:return"PerEpochConfig";default:return"Unknown"}}function s1({effects:e}){if(!e)return null;let t=e.changedObjects.map(n=>({objectId:n.objectId,inputState:Yh(n.inputState),inputVersion:n.inputVersion?.toString()??null,inputDigest:n.inputDigest??null,inputOwner:ai(n.inputOwner),outputState:Qh(n.outputState),outputVersion:n.outputVersion?.toString()??null,outputDigest:n.outputDigest??null,outputOwner:ai(n.outputOwner),idOperation:Xh(n.idOperation)}));return{bcs:e.bcs?.value,version:2,status:e.status?.success?{success:!0,error:null}:{success:!1,error:Id(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:Yh(e.gasObject?.inputState),inputVersion:e.gasObject?.inputVersion?.toString()??null,inputDigest:e.gasObject?.inputDigest??null,inputOwner:ai(e.gasObject?.inputOwner),outputState:Qh(e.gasObject?.outputState),outputVersion:e.gasObject?.outputVersion?.toString()??null,outputDigest:e.gasObject?.outputDigest??null,outputOwner:ai(e.gasObject?.outputOwner),idOperation:Xh(e.gasObject?.idOperation)},eventsDigest:e.eventsDigest??null,dependencies:e.dependencies,lamportVersion:e.lamportVersion?.toString()??null,changedObjects:t,unchangedConsensusObjects:e.unchangedConsensusObjects.map(n=>({kind:r1(n.kind),objectId:n.objectId,version:n.version?.toString()??null,digest:n.digest??null})),auxiliaryDataDigest:e.auxiliaryDataDigest??null}}function Ed(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=qo(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?s1({effects:e.effects}):void 0,o=e.effects?.status?.success?{success:!0,error:null}:{success:!1,error:e.effects?.status?.error?Id(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=>ye(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:X(c.packageId),module:c.module,sender:X(c.sender),eventType:c.eventType,bcs:c.contents?.value??new Uint8Array,json:c.json?Qe.toJson(c.json):null}))??[]:void 0};return o.success?{$kind:"Transaction",Transaction:a}:{$kind:"FailedTransaction",FailedTransaction:a}}function eg(e){let t=null;return e.reference===fc.IMMUTABLE?t="immutable":e.reference===fc.MUTABLE&&(t="mutable"),{reference:t,body:Od(e.body)}}function Od(e){switch(e.type){case xn.TYPE_UNKNOWN:return{$kind:"unknown"};case xn.ADDRESS:return{$kind:"address"};case xn.BOOL:return{$kind:"bool"};case xn.U8:return{$kind:"u8"};case xn.U16:return{$kind:"u16"};case xn.U32:return{$kind:"u32"};case xn.U64:return{$kind:"u64"};case xn.U128:return{$kind:"u128"};case xn.U256:return{$kind:"u256"};case xn.VECTOR:return{$kind:"vector",vector:Od(e.typeParameterInstantiation[0])};case xn.DATATYPE:return{$kind:"datatype",datatype:{typeName:e.typeName,typeParameters:e.typeParameterInstantiation.map(t=>Od(t))}};case xn.TYPE_PARAMETER:return{$kind:"typeParameter",index:e.typeParameter};default:return{$kind:"unknown"}}}var ng=class{constructor(e){this._transport=e,this.typeName=kc.typeName,this.methods=kc.methods,this.options=kc.options}executeTransaction(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return Ue("unary",this._transport,n,r,e)}simulateTransaction(e,t){let n=this.methods[1],r=this._transport.mergeOptions(t);return Ue("unary",this._transport,n,r,e)}};var i1=class extends N{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}}])}},rg=new i1;var o1=class extends N{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:()=>y1},{no:5,name:"storage_fund",kind:"message",T:()=>h1},{no:6,name:"parameters",kind:"message",T:()=>l1},{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:()=>c1},{no:9,name:"stake_subsidy",kind:"message",T:()=>f1},{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:()=>Jn}])}},sg=new o1,a1=class extends N{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}])}},c1=new a1,u1=class extends N{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:()=>Jn}])}},l1=new u1,d1=class extends N{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}])}},Jn=new d1,p1=class extends N{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:()=>Jn}])}},f1=new p1,m1=class extends N{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}])}},h1=new m1,g1=class extends N{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:()=>v1},{no:3,name:"pending_active_validators",kind:"message",T:()=>Jn},{no:4,name:"pending_removals",kind:"scalar",repeat:1,T:4,L:0},{no:5,name:"staking_pool_mappings",kind:"message",T:()=>Jn},{no:6,name:"inactive_validators",kind:"message",T:()=>Jn},{no:7,name:"validator_candidates",kind:"message",T:()=>Jn},{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:()=>Jn}])}},y1=new g1,b1=class extends N{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:()=>Jn},{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:()=>w1},{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:()=>Jn}])}},v1=new b1,_1=class extends N{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:()=>Jn},{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:()=>Jn}])}},w1=new _1;var T1=class extends N{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:()=>zh},{no:3,name:"system_state",kind:"message",T:()=>sg},{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:()=>fn},{no:7,name:"end",kind:"message",T:()=>fn},{no:8,name:"reference_gas_price",kind:"scalar",opt:!0,T:4,L:0},{no:9,name:"protocol_config",kind:"message",T:()=>rg}])}},ig=new T1;var k1=class extends N{constructor(){super("sui.rpc.v2.CheckpointContents",[{no:1,name:"bcs",kind:"message",T:()=>Ye},{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:()=>E1}])}},og=new k1,S1=class extends N{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:()=>_s},{no:4,name:"address_aliases_versions",kind:"message",repeat:1,T:()=>I1}])}},E1=new S1,O1=class extends N{constructor(){super("sui.rpc.v2.AddressAliasesVersion",[{no:1,name:"version",kind:"scalar",opt:!0,T:4,L:0}])}},I1=new O1;var A1=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}({}),x1=class extends N{constructor(){super("sui.rpc.v2.CheckpointSummary",[{no:1,name:"bcs",kind:"message",T:()=>Ye},{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:()=>bc},{no:9,name:"timestamp",kind:"message",T:()=>fn},{no:10,name:"commitments",kind:"message",repeat:1,T:()=>cg},{no:11,name:"end_of_epoch_data",kind:"message",T:()=>N1},{no:12,name:"version_specific_data",kind:"scalar",opt:!0,T:12}])}},ag=new x1,C1=class extends N{constructor(){super("sui.rpc.v2.EndOfEpochData",[{no:1,name:"next_epoch_committee",kind:"message",repeat:1,T:()=>kd},{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:()=>cg}])}},N1=new C1,R1=class extends N{constructor(){super("sui.rpc.v2.CheckpointCommitment",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.CheckpointCommitment.CheckpointCommitmentKind",A1]},{no:2,name:"digest",kind:"scalar",opt:!0,T:9}])}},cg=new R1;var M1=class extends N{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:()=>ag},{no:4,name:"signature",kind:"message",T:()=>Wh},{no:5,name:"contents",kind:"message",T:()=>og},{no:6,name:"transactions",kind:"message",repeat:1,T:()=>ws},{no:7,name:"objects",kind:"message",T:()=>gc}])}},Sc=new M1;var B1=class extends N{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=Do(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.")||!hs(o))&&(o={value:o}),o["@type"]=e.typeUrl,o}internalJsonRead(e,t,n){if(!hs(e))throw new globalThis.Error("Unable to parse google.protobuf.Any from JSON "+on(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}},ug=new B1;var j1=class extends N{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:()=>ug}])}},Ad=new j1;var D1=class extends N{constructor(){super("sui.rpc.v2.GetServiceInfoRequest",[])}},U1=new D1,P1=class extends N{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:()=>fn},{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}])}},L1=new P1,V1=class extends N{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:()=>wn}])}},lg=new V1,F1=class extends N{constructor(){super("sui.rpc.v2.GetObjectResponse",[{no:1,name:"object",kind:"message",T:()=>kr}])}},$1=new F1,q1=class extends N{constructor(){super("sui.rpc.v2.BatchGetObjectsRequest",[{no:1,name:"requests",kind:"message",repeat:1,T:()=>lg},{no:2,name:"read_mask",kind:"message",T:()=>wn}])}},G1=new q1,z1=class extends N{constructor(){super("sui.rpc.v2.BatchGetObjectsResponse",[{no:1,name:"objects",kind:"message",repeat:1,T:()=>J1}])}},W1=new z1,H1=class extends N{constructor(){super("sui.rpc.v2.GetObjectResult",[{no:1,name:"object",kind:"message",oneof:"result",T:()=>kr},{no:2,name:"error",kind:"message",oneof:"result",T:()=>Ad}])}},J1=new H1,Z1=class extends N{constructor(){super("sui.rpc.v2.GetTransactionRequest",[{no:1,name:"digest",kind:"scalar",opt:!0,T:9},{no:2,name:"read_mask",kind:"message",T:()=>wn}])}},K1=new Z1,X1=class extends N{constructor(){super("sui.rpc.v2.GetTransactionResponse",[{no:1,name:"transaction",kind:"message",T:()=>ws}])}},Y1=new X1,Q1=class extends N{constructor(){super("sui.rpc.v2.BatchGetTransactionsRequest",[{no:1,name:"digests",kind:"scalar",repeat:2,T:9},{no:2,name:"read_mask",kind:"message",T:()=>wn}])}},eS=new Q1,tS=class extends N{constructor(){super("sui.rpc.v2.BatchGetTransactionsResponse",[{no:1,name:"transactions",kind:"message",repeat:1,T:()=>sS}])}},nS=new tS,rS=class extends N{constructor(){super("sui.rpc.v2.GetTransactionResult",[{no:1,name:"transaction",kind:"message",oneof:"result",T:()=>ws},{no:2,name:"error",kind:"message",oneof:"result",T:()=>Ad}])}},sS=new rS,iS=class extends N{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:()=>wn}])}},oS=new iS,aS=class extends N{constructor(){super("sui.rpc.v2.GetCheckpointResponse",[{no:1,name:"checkpoint",kind:"message",T:()=>Sc}])}},cS=new aS,uS=class extends N{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:()=>wn}])}},lS=new uS,dS=class extends N{constructor(){super("sui.rpc.v2.GetEpochResponse",[{no:1,name:"epoch",kind:"message",T:()=>ig}])}},pS=new dS,Ec=new an("sui.rpc.v2.LedgerService",[{name:"GetServiceInfo",options:{},I:U1,O:L1},{name:"GetObject",options:{},I:lg,O:$1},{name:"BatchGetObjects",options:{},I:G1,O:W1},{name:"GetTransaction",options:{},I:K1,O:Y1},{name:"BatchGetTransactions",options:{},I:eS,O:nS},{name:"GetCheckpoint",options:{},I:oS,O:cS},{name:"GetEpoch",options:{},I:lS,O:pS}]);var dg=class{constructor(e){this._transport=e,this.typeName=Ec.typeName,this.methods=Ec.methods,this.options=Ec.options}getServiceInfo(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return Ue("unary",this._transport,n,r,e)}getObject(e,t){let n=this.methods[1],r=this._transport.mergeOptions(t);return Ue("unary",this._transport,n,r,e)}batchGetObjects(e,t){let n=this.methods[2],r=this._transport.mergeOptions(t);return Ue("unary",this._transport,n,r,e)}getTransaction(e,t){let n=this.methods[3],r=this._transport.mergeOptions(t);return Ue("unary",this._transport,n,r,e)}batchGetTransactions(e,t){let n=this.methods[4],r=this._transport.mergeOptions(t);return Ue("unary",this._transport,n,r,e)}getCheckpoint(e,t){let n=this.methods[5],r=this._transport.mergeOptions(t);return Ue("unary",this._transport,n,r,e)}getEpoch(e,t){let n=this.methods[6],r=this._transport.mergeOptions(t);return Ue("unary",this._transport,n,r,e)}};var fS=class extends N{constructor(){super("sui.rpc.v2.GetPackageRequest",[{no:1,name:"package_id",kind:"scalar",opt:!0,T:9}])}},mS=new fS,hS=class extends N{constructor(){super("sui.rpc.v2.GetPackageResponse",[{no:1,name:"package",kind:"message",T:()=>mc}])}},gS=new hS,yS=class extends N{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}])}},bS=new yS,vS=class extends N{constructor(){super("sui.rpc.v2.GetDatatypeResponse",[{no:1,name:"datatype",kind:"message",T:()=>gd}])}},_S=new vS,wS=class extends N{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}])}},TS=new wS,kS=class extends N{constructor(){super("sui.rpc.v2.GetFunctionResponse",[{no:1,name:"function",kind:"message",T:()=>bd}])}},SS=new kS,ES=class extends N{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}])}},OS=new ES,IS=class extends N{constructor(){super("sui.rpc.v2.ListPackageVersionsResponse",[{no:1,name:"versions",kind:"message",repeat:1,T:()=>CS},{no:2,name:"next_page_token",kind:"scalar",opt:!0,T:12}])}},AS=new IS,xS=class extends N{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}])}},CS=new xS,Oc=new an("sui.rpc.v2.MovePackageService",[{name:"GetPackage",options:{},I:mS,O:gS},{name:"GetDatatype",options:{},I:bS,O:_S},{name:"GetFunction",options:{},I:TS,O:SS},{name:"ListPackageVersions",options:{},I:OS,O:AS}]);var pg=class{constructor(e){this._transport=e,this.typeName=Oc.typeName,this.methods=Oc.methods,this.options=Oc.options}getPackage(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return Ue("unary",this._transport,n,r,e)}getDatatype(e,t){let n=this.methods[1],r=this._transport.mergeOptions(t);return Ue("unary",this._transport,n,r,e)}getFunction(e,t){let n=this.methods[2],r=this._transport.mergeOptions(t);return Ue("unary",this._transport,n,r,e)}listPackageVersions(e,t){let n=this.methods[3],r=this._transport.mergeOptions(t);return Ue("unary",this._transport,n,r,e)}};var NS=class extends N{constructor(){super("sui.rpc.v2.VerifySignatureRequest",[{no:1,name:"message",kind:"message",T:()=>Ye},{no:2,name:"signature",kind:"message",T:()=>_s},{no:3,name:"address",kind:"scalar",opt:!0,T:9},{no:4,name:"jwks",kind:"message",repeat:1,T:()=>vd}])}},RS=new NS,MS=class extends N{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}])}},BS=new MS,Ic=new an("sui.rpc.v2.SignatureVerificationService",[{name:"VerifySignature",options:{},I:RS,O:BS}]);var fg=class{constructor(e){this._transport=e,this.typeName=Ic.typeName,this.methods=Ic.methods,this.options=Ic.options}verifySignature(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return Ue("unary",this._transport,n,r,e)}};var jS=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}({}),DS=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}({}),US=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}({}),xd=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}({}),PS=class extends N{constructor(){super("sui.rpc.v2.GetCoinInfoRequest",[{no:1,name:"coin_type",kind:"scalar",opt:!0,T:9}])}},LS=new PS,VS=class extends N{constructor(){super("sui.rpc.v2.GetCoinInfoResponse",[{no:1,name:"coin_type",kind:"scalar",opt:!0,T:9},{no:2,name:"metadata",kind:"message",T:()=>qS},{no:3,name:"treasury",kind:"message",T:()=>zS},{no:4,name:"regulated_metadata",kind:"message",T:()=>HS}])}},FS=new VS,$S=class extends N{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",jS]}])}},qS=new $S,GS=class extends N{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",DS]}])}},zS=new GS,WS=class extends N{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",US]}])}},HS=new WS,JS=class extends N{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}])}},ZS=new JS,KS=class extends N{constructor(){super("sui.rpc.v2.GetBalanceResponse",[{no:1,name:"balance",kind:"message",T:()=>mg}])}},XS=new KS,YS=class extends N{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}])}},QS=new YS,eE=class extends N{constructor(){super("sui.rpc.v2.ListBalancesResponse",[{no:1,name:"balances",kind:"message",repeat:1,T:()=>mg},{no:2,name:"next_page_token",kind:"scalar",opt:!0,T:12}])}},tE=new eE,nE=class extends N{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}])}},mg=new nE,rE=class extends N{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:()=>wn}])}},sE=new rE,iE=class extends N{constructor(){super("sui.rpc.v2.ListDynamicFieldsResponse",[{no:1,name:"dynamic_fields",kind:"message",repeat:1,T:()=>cE},{no:2,name:"next_page_token",kind:"scalar",opt:!0,T:12}])}},oE=new iE,aE=class extends N{constructor(){super("sui.rpc.v2.DynamicField",[{no:1,name:"kind",kind:"enum",opt:!0,T:()=>["sui.rpc.v2.DynamicField.DynamicFieldKind",xd]},{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:()=>kr},{no:5,name:"name",kind:"message",T:()=>Ye},{no:6,name:"value",kind:"message",T:()=>Ye},{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:()=>kr}])}},cE=new aE,uE=class extends N{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:()=>wn},{no:5,name:"object_type",kind:"scalar",opt:!0,T:9}])}},lE=new uE,dE=class extends N{constructor(){super("sui.rpc.v2.ListOwnedObjectsResponse",[{no:1,name:"objects",kind:"message",repeat:1,T:()=>kr},{no:2,name:"next_page_token",kind:"scalar",opt:!0,T:12}])}},pE=new dE,Ac=new an("sui.rpc.v2.StateService",[{name:"ListDynamicFields",options:{},I:sE,O:oE},{name:"ListOwnedObjects",options:{},I:lE,O:pE},{name:"GetCoinInfo",options:{},I:LS,O:FS},{name:"GetBalance",options:{},I:ZS,O:XS},{name:"ListBalances",options:{},I:QS,O:tE}]);var hg=class{constructor(e){this._transport=e,this.typeName=Ac.typeName,this.methods=Ac.methods,this.options=Ac.options}listDynamicFields(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return Ue("unary",this._transport,n,r,e)}listOwnedObjects(e,t){let n=this.methods[1],r=this._transport.mergeOptions(t);return Ue("unary",this._transport,n,r,e)}getCoinInfo(e,t){let n=this.methods[2],r=this._transport.mergeOptions(t);return Ue("unary",this._transport,n,r,e)}getBalance(e,t){let n=this.methods[3],r=this._transport.mergeOptions(t);return Ue("unary",this._transport,n,r,e)}listBalances(e,t){let n=this.methods[4],r=this._transport.mergeOptions(t);return Ue("unary",this._transport,n,r,e)}};var fE=class extends N{constructor(){super("sui.rpc.v2.SubscribeCheckpointsRequest",[{no:1,name:"read_mask",kind:"message",T:()=>wn}])}},mE=new fE,hE=class extends N{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:()=>Sc}])}},gE=new hE,xc=new an("sui.rpc.v2.SubscriptionService",[{name:"SubscribeCheckpoints",serverStreaming:!0,options:{},I:mE,O:gE}]);var gg=class{constructor(e){this._transport=e,this.typeName=xc.typeName,this.methods=xc.methods,this.options=xc.options}subscribeCheckpoints(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return Ue("serverStreaming",this._transport,n,r,e)}};var yE=class extends N{constructor(){super("sui.rpc.v2.LookupNameRequest",[{no:1,name:"name",kind:"scalar",opt:!0,T:9}])}},bE=new yE,vE=class extends N{constructor(){super("sui.rpc.v2.LookupNameResponse",[{no:1,name:"record",kind:"message",T:()=>yg}])}},_E=new vE,wE=class extends N{constructor(){super("sui.rpc.v2.ReverseLookupNameRequest",[{no:1,name:"address",kind:"scalar",opt:!0,T:9}])}},TE=new wE,kE=class extends N{constructor(){super("sui.rpc.v2.ReverseLookupNameResponse",[{no:1,name:"record",kind:"message",T:()=>yg}])}},SE=new kE,EE=class extends N{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:()=>fn},{no:5,name:"target_address",kind:"scalar",opt:!0,T:9},{no:6,name:"data",kind:"map",K:9,V:{kind:"scalar",T:9}}])}},yg=new EE,Cc=new an("sui.rpc.v2.NameService",[{name:"LookupName",options:{},I:bE,O:_E},{name:"ReverseLookupName",options:{},I:TE,O:SE}]);var bg=class{constructor(e){this._transport=e,this.typeName=Cc.typeName,this.methods=Cc.methods,this.options=Cc.options}lookupName(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return Ue("unary",this._transport,n,r,e)}reverseLookupName(e,t){let n=this.methods[1],r=this._transport.mergeOptions(t);return Ue("unary",this._transport,n,r,e)}};var Y;(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"})(Y||(Y={}));var OE=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(d){try{u(r.next(d))}catch(p){o(p)}}function c(d){try{u(r.throw(d))}catch(p){o(p)}}function u(d){d.done?i(d.value):s(d.value).then(a,c)}u((r=r.apply(e,t||[])).next())})};function Cd(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 je(`timeout ${n} ms exceeded`,Y[Y.DEADLINE_EXCEEDED]);e.set("grpc-timeout",`${n}m`)}else if(n){let i=n.getTime(),o=Date.now();if(i<=o)throw new je(`deadline ${n} exceeded`,Y[Y.DEADLINE_EXCEEDED]);e.set("grpc-timeout",`${i-o}m`)}return e}function Nd(e,t){let n=new Uint8Array(5+e.length);n[0]=Zn.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:jo(n)}function Nc(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 je(`fetch response type ${c.type}`,Y[Y.UNKNOWN])}return Nc(CE(c.headers),c.status,c.statusText)}let r=e,s=t>=200&&t<300,i=wg(r),[o,a]=_g(r);return(o===void 0||o===Y.OK)&&!s&&(o=NE(t),a=n),[o,a,i]}function Rd(e){let t=xE(e),[n,r]=_g(t),s=wg(t);return[n??Y.OK,r,s]}var Zn;(function(e){e[e.DATA=0]="DATA",e[e.TRAILER=128]="TRAILER"})(Zn||(Zn={}));function Md(e,t,n){return OE(this,void 0,void 0,function*(){let r,s="",i=new Uint8Array(0),o=AE(t);if(IE(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=vg(i,Bo(s.substring(0,c))),s=s.substring(c)}else i=vg(i,a.value);for(;i.length>=5&&i[0]===Zn.DATA;){let c=0;for(let u=1;u<5;u++)c=(c<<8)+i[u];if(i.length-5>=c)n(Zn.DATA,i.subarray(5,5+c)),i=i.subarray(5+c);else break}}if(a.done){if(i.length===0)break;if(i[0]!==Zn.TRAILER||i.length<5)throw new je("premature EOF",Y[Y.DATA_LOSS]);n(Zn.TRAILER,i.subarray(5));break}}})}var IE=e=>typeof e.getReader=="function";function vg(e,t){let n=new Uint8Array(e.length+t.length);return n.set(e),n.set(t,e.length),n}function AE(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 je("missing response content type",Y[Y.INTERNAL]);default:throw new je("unexpected response content type: "+e,Y[Y.INTERNAL])}}function _g(e){let t,n,r=e["grpc-message"];if(r!==void 0){if(Array.isArray(r))return[Y.INTERNAL,"invalid grpc-web message"];n=r}let s=e["grpc-status"];if(s!==void 0){if(Array.isArray(s))return[Y.INTERNAL,"invalid grpc-web status"];if(t=parseInt(s,10),Y[t]===void 0)return[Y.INTERNAL,"invalid grpc-web status"]}return[t,n]}function wg(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 xE(e){let t={};for(let n of String.fromCharCode.apply(String,e).trim().split(`\r
|
|
10
|
+
`)){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 CE(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 NE(e){switch(e){case 200:return Y.OK;case 400:return Y.INVALID_ARGUMENT;case 401:return Y.UNAUTHENTICATED;case 403:return Y.PERMISSION_DENIED;case 404:return Y.NOT_FOUND;case 409:return Y.ABORTED;case 412:return Y.FAILED_PRECONDITION;case 429:return Y.RESOURCE_EXHAUSTED;case 499:return Y.CANCELLED;case 500:return Y.UNKNOWN;case 501:return Y.UNIMPLEMENTED;case 503:return Y.UNAVAILABLE;case 504:return Y.DEADLINE_EXCEEDED;default:return Y.UNKNOWN}}var Zo=class{constructor(t){this.defaultOptions=t}mergeOptions(t){return Sd(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 je("Client streaming is not supported by grpc-web",Y[Y.UNIMPLEMENTED]);throw n.methodName=t.name,n.serviceName=t.service.typeName,n}duplex(t){let n=new je("Duplex streaming is not supported by grpc-web",Y[Y.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,d=(s=u.format)!==null&&s!==void 0?s:"text",p=(i=u.fetch)!==null&&i!==void 0?i:globalThis.fetch,f=(o=u.fetchInit)!==null&&o!==void 0?o:{},g=this.makeUrl(t,u),b=t.I.toBinary(n,u.binaryOptions),_=new Vn,I=new Wo,A=!0,M,C=new Vn,B,L=new Vn;return p(g,Object.assign(Object.assign({},f),{method:"POST",headers:Cd(new globalThis.Headers,d,u.timeout,u.meta),body:Nd(b,d),signal:(a=r.abort)!==null&&a!==void 0?a:null})).then(j=>{let[q,P,D]=Nc(j);if(_.resolve(D),q!=null&&q!==Y.OK)throw new je(P??Y[q],Y[q],D);return q!=null&&(M={code:Y[q],detail:P??Y[q]}),j}).then(j=>{if(!j.body)throw new je("missing response body",Y[Y.INTERNAL]);return Md(j.body,j.headers.get("content-type"),(q,P)=>{switch(q){case Zn.DATA:I.notifyMessage(t.O.fromBinary(P,u.binaryOptions)),A=!1;break;case Zn.TRAILER:let D,Z;[D,Z,B]=Rd(P),M={code:Y[D],detail:Z??Y[D]};break}})}).then(()=>{if(!B&&!A)throw new je("missing trailers",Y[Y.DATA_LOSS]);if(!M)throw new je("missing status",Y[Y.INTERNAL]);if(M.code!=="OK")throw new je(M.detail,M.code,B);I.notifyComplete(),C.resolve(M),L.resolve(B||{})}).catch(j=>{let q;j instanceof je?q=j:j instanceof Error&&j.name==="AbortError"?q=new je(j.message,Y[Y.CANCELLED]):q=new je(j instanceof Error?j.message:""+j,Y[Y.INTERNAL]),q.methodName=t.name,q.serviceName=t.service.typeName,_.rejectPending(q),I.notifyError(q),C.rejectPending(q),L.rejectPending(q)}),new Jo(t,(c=u.meta)!==null&&c!==void 0?c:{},n,_.promise,I,C.promise,L.promise)}unary(t,n,r){var s,i,o,a,c;let u=r,d=(s=u.format)!==null&&s!==void 0?s:"text",p=(i=u.fetch)!==null&&i!==void 0?i:globalThis.fetch,f=(o=u.fetchInit)!==null&&o!==void 0?o:{},g=this.makeUrl(t,u),b=t.I.toBinary(n,u.binaryOptions),_=new Vn,I,A=new Vn,M,C=new Vn,B,L=new Vn;return p(g,Object.assign(Object.assign({},f),{method:"POST",headers:Cd(new globalThis.Headers,d,u.timeout,u.meta),body:Nd(b,d),signal:(a=r.abort)!==null&&a!==void 0?a:null})).then(j=>{let[q,P,D]=Nc(j);if(_.resolve(D),q!=null&&q!==Y.OK)throw new je(P??Y[q],Y[q],D);return q!=null&&(M={code:Y[q],detail:P??Y[q]}),j}).then(j=>{if(!j.body)throw new je("missing response body",Y[Y.INTERNAL]);return Md(j.body,j.headers.get("content-type"),(q,P)=>{switch(q){case Zn.DATA:if(I)throw new je("unary call received 2nd message",Y[Y.DATA_LOSS]);I=t.O.fromBinary(P,u.binaryOptions);break;case Zn.TRAILER:let D,Z;[D,Z,B]=Rd(P),M={code:Y[D],detail:Z??Y[D]};break}})}).then(()=>{if(!B&&I)throw new je("missing trailers",Y[Y.DATA_LOSS]);if(!M)throw new je("missing status",Y[Y.INTERNAL]);if(!I&&M.code==="OK")throw new je("expected error status",Y[Y.DATA_LOSS]);if(!I)throw new je(M.detail,M.code,B);if(A.resolve(I),M.code!=="OK")throw new je(M.detail,M.code,B);C.resolve(M),L.resolve(B||{})}).catch(j=>{let q;j instanceof je?q=j:j instanceof Error&&j.name==="AbortError"?q=new je(j.message,Y[Y.CANCELLED]):q=new je(j instanceof Error?j.message:""+j,Y[Y.INTERNAL]),q.methodName=t.name,q.serviceName=t.service.typeName,_.rejectPending(q),A.rejectPending(q),C.rejectPending(q),L.rejectPending(q)}),new Ho(t,(c=u.meta)!==null&&c!==void 0?c:{},n,_.promise,A.promise,C.promise,L.promise)}};var RE=Symbol.for("@mysten/SuiGrpcClient");var Ko=class extends ps{get mvr(){return this.core.mvr}get[RE](){return!0}constructor(e){super({network:e.network});let t=e.transport??new Zo({baseUrl:e.baseUrl,fetchInit:e.fetchInit});this.transactionExecutionService=new ng(t),this.ledgerService=new dg(t),this.stateService=new hg(t),this.subscriptionService=new gg(t),this.movePackageService=new pg(t),this.signatureVerificationService=new fg(t),this.nameService=new bg(t),this.core=new tg({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()}async listDynamicFields(e){let t=e.include?.value??!1,n=["field_id","name","value_type","kind","child_id"];t&&n.push("value");let r=await this.stateService.listDynamicFields({parent:e.parentId,pageToken:e.cursor?ie(e.cursor):void 0,pageSize:e.limit,readMask:{paths:n}});return{dynamicFields:r.response.dynamicFields.map(s=>{let i=s.kind===xd.OBJECT,o=i?`0x2::dynamic_field::Field<0x2::dynamic_object_field::Wrapper<${s.name?.name}>,0x2::object::ID>`:`0x2::dynamic_field::Field<${s.name?.name},${s.valueType}>`;return{$kind:i?"DynamicObject":"DynamicField",fieldId:s.fieldId,name:{type:s.name?.name,bcs:s.name?.value},valueType:s.valueType,type:be(o),childId:s.childId,value:t?{type:s.valueType,bcs:s.value?.value??new Uint8Array}:void 0}}),cursor:r.response.nextPageToken?ye(r.response.nextPageToken):null,hasNextPage:r.response.nextPageToken!==void 0}}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 Ts={ED25519:0,Secp256k1:1,Secp256r1:2,MultiSig:3,ZkLogin:5,Passkey:6},Tg={ED25519:32,Secp256k1:33,Secp256r1:33,Passkey:33},Xo={0:"ED25519",1:"Secp256k1",2:"Secp256r1",3:"MultiSig",5:"ZkLogin",6:"Passkey"};function Rc(e,t){return E.IntentMessage(E.bytes(t.length)).serialize({intent:{scope:{[e]:!0},version:{V0:!0},appId:{Sui:!0}},value:t}).toBytes()}function Yo(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 Mc=class{equals(e){return Yo(this.toRawBytes(),e.toRawBytes())}toBase64(){return ye(this.toRawBytes())}toString(){throw new Error("`toString` is not implemented on public keys. Use `toBase64()` or `toRawBytes()` instead.")}toSuiPublicKey(){return ye(this.toSuiBytes())}verifyWithIntent(e,t,n){let r=ir(Rc(n,e),{dkLen:32});return this.verify(r,t)}verifyPersonalMessage(e,t){return this.verifyWithIntent(E.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 X(sr(ir(this.toSuiBytes(),{dkLen:32})).slice(0,Dr*2))}};function Bc(e){let t=ie(e),n=Xo[t[0]];switch(n){case"ED25519":case"Secp256k1":case"Secp256r1":let r=Tg[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 ME=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),ks=new Uint32Array(64),Bd=class extends Ws{constructor(t){super(64,t,8,!1)}get(){let{A:t,B:n,C:r,D:s,E:i,F:o,G:a,H:c}=this;return[t,n,r,s,i,o,a,c]}set(t,n,r,s,i,o,a,c){this.A=t|0,this.B=n|0,this.C=r|0,this.D=s|0,this.E=i|0,this.F=o|0,this.G=a|0,this.H=c|0}process(t,n){for(let p=0;p<16;p++,n+=4)ks[p]=t.getUint32(n,!1);for(let p=16;p<64;p++){let f=ks[p-15],g=ks[p-2],b=rr(f,7)^rr(f,18)^f>>>3,_=rr(g,17)^rr(g,19)^g>>>10;ks[p]=_+ks[p-7]+b+ks[p-16]|0}let{A:r,B:s,C:i,D:o,E:a,F:c,G:u,H:d}=this;for(let p=0;p<64;p++){let f=rr(a,6)^rr(a,11)^rr(a,25),g=d+f+$l(a,c,u)+ME[p]+ks[p]|0,_=(rr(r,2)^rr(r,13)^rr(r,22))+ql(r,s,i)|0;d=u,u=c,c=a,a=o+g|0,o=i,i=s,s=r,r=g+_|0}r=r+this.A|0,s=s+this.B|0,i=i+this.C|0,o=o+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,d=d+this.H|0,this.set(r,s,i,o,a,c,u,d)}roundClean(){Xt(ks)}destroy(){this.set(0,0,0,0,0,0,0,0),Xt(this.buffer)}},jd=class extends Bd{A=Vr[0]|0;B=Vr[1]|0;C=Vr[2]|0;D=Vr[3]|0;E=Vr[4]|0;F=Vr[5]|0;G=Vr[6]|0;H=Vr[7]|0;constructor(){super(32)}};var kg=(()=>Cm(["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))))(),BE=(()=>kg[0])(),jE=(()=>kg[1])(),Ss=new Uint32Array(80),Es=new Uint32Array(80),Dd=class extends Ws{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:d,Fh:p,Fl:f,Gh:g,Gl:b,Hh:_,Hl:I}=this;return[t,n,r,s,i,o,a,c,u,d,p,f,g,b,_,I]}set(t,n,r,s,i,o,a,c,u,d,p,f,g,b,_,I){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=d|0,this.Fh=p|0,this.Fl=f|0,this.Gh=g|0,this.Gl=b|0,this.Hh=_|0,this.Hl=I|0}process(t,n){for(let C=0;C<16;C++,n+=4)Ss[C]=t.getUint32(n),Es[C]=t.getUint32(n+=4);for(let C=16;C<80;C++){let B=Ss[C-15]|0,L=Es[C-15]|0,j=_r(B,L,1)^_r(B,L,8)^zl(B,L,7),q=wr(B,L,1)^wr(B,L,8)^Wl(B,L,7),P=Ss[C-2]|0,D=Es[C-2]|0,Z=_r(P,D,19)^Hs(P,D,61)^zl(P,D,6),ce=wr(P,D,19)^Js(P,D,61)^Wl(P,D,6),te=Mm(q,ce,Es[C-7],Es[C-16]),U=Bm(te,j,Z,Ss[C-7],Ss[C-16]);Ss[C]=U|0,Es[C]=te|0}let{Ah:r,Al:s,Bh:i,Bl:o,Ch:a,Cl:c,Dh:u,Dl:d,Eh:p,El:f,Fh:g,Fl:b,Gh:_,Gl:I,Hh:A,Hl:M}=this;for(let C=0;C<80;C++){let B=_r(p,f,14)^_r(p,f,18)^Hs(p,f,41),L=wr(p,f,14)^wr(p,f,18)^Js(p,f,41),j=p&g^~p&_,q=f&b^~f&I,P=jm(M,L,q,jE[C],Es[C]),D=Dm(P,A,B,j,BE[C],Ss[C]),Z=P|0,ce=_r(r,s,28)^Hs(r,s,34)^Hs(r,s,39),te=wr(r,s,28)^Js(r,s,34)^Js(r,s,39),U=r&i^r&a^i&a,F=s&o^s&c^o&c;A=_|0,M=I|0,_=g|0,I=b|0,g=p|0,b=f|0,{h:p,l:f}=Ln(u|0,d|0,D|0,Z|0),u=a|0,d=c|0,a=i|0,c=o|0,i=r|0,o=s|0;let l=Ao(Z,te,F);r=xo(l,D,ce,U),s=l|0}({h:r,l:s}=Ln(this.Ah|0,this.Al|0,r|0,s|0)),{h:i,l:o}=Ln(this.Bh|0,this.Bl|0,i|0,o|0),{h:a,l:c}=Ln(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:d}=Ln(this.Dh|0,this.Dl|0,u|0,d|0),{h:p,l:f}=Ln(this.Eh|0,this.El|0,p|0,f|0),{h:g,l:b}=Ln(this.Fh|0,this.Fl|0,g|0,b|0),{h:_,l:I}=Ln(this.Gh|0,this.Gl|0,_|0,I|0),{h:A,l:M}=Ln(this.Hh|0,this.Hl|0,A|0,M|0),this.set(r,s,i,o,a,c,u,d,p,f,g,b,_,I,A,M)}roundClean(){Xt(Ss,Es)}destroy(){Xt(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Ud=class extends Dd{Ah=nn[0]|0;Al=nn[1]|0;Bh=nn[2]|0;Bl=nn[3]|0;Ch=nn[4]|0;Cl=nn[5]|0;Dh=nn[6]|0;Dl=nn[7]|0;Eh=nn[8]|0;El=nn[9]|0;Fh=nn[10]|0;Fl=nn[11]|0;Gh=nn[12]|0;Gl=nn[13]|0;Hh=nn[14]|0;Hl=nn[15]|0;constructor(){super(64)}};var Hi=zs(()=>new jd,Fl(1));var Er=zs(()=>new Ud,Fl(3));var Ld=BigInt(0),Pd=BigInt(1);function Yr(e,t=""){if(typeof e!="boolean"){let n=t&&`"${t}" `;throw new Error(n+"expected boolean, got type="+typeof e)}return e}function Sg(e){if(typeof e=="bigint"){if(!jc(e))throw new Error("positive bigint expected, got "+e)}else Kt(e);return e}function Qo(e){let t=Sg(e).toString(16);return t.length&1?"0"+t:t}function Eg(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?Ld:BigInt("0x"+e)}function Ji(e){return Eg(sr(e))}function ci(e){return Eg(sr(Uc(me(e)).reverse()))}function Dc(e,t){Kt(t),e=Sg(e);let n=Lr(e.toString(16).padStart(t*2,"0"));if(n.length!==t)throw new Error("number too large");return n}function Vd(e,t){return Dc(e,t).reverse()}function Uc(e){return Uint8Array.from(e)}var jc=e=>typeof e=="bigint"&&Ld<=e;function DE(e,t,n){return jc(e)&&jc(t)&&jc(n)&&t<=e&&e<n}function ea(e,t,n,r){if(!DE(t,n,r))throw new Error("expected valid "+e+": "+n+" <= n < "+r+", got "+t)}function Fd(e){let t;for(t=0;e>Ld;e>>=Pd,t+=1);return t}var ta=e=>(Pd<<BigInt(e))-Pd;function Og(e,t,n){if(Kt(e,"hashLen"),Kt(t,"qByteLen"),typeof n!="function")throw new Error("hmacFn must be a function");let r=I=>new Uint8Array(I),s=Uint8Array.of(),i=Uint8Array.of(0),o=Uint8Array.of(1),a=1e3,c=r(e),u=r(e),d=0,p=()=>{c.fill(1),u.fill(0),d=0},f=(...I)=>n(u,zt(c,...I)),g=(I=s)=>{u=f(i,I),c=f(),I.length!==0&&(u=f(o,I),c=f())},b=()=>{if(d++>=a)throw new Error("drbg: tried max amount of iterations");let I=0,A=[];for(;I<t;){c=f();let M=c.slice();A.push(M),I+=c.length}return zt(...A)};return(I,A)=>{p(),g(I);let M;for(;!(M=A(b()));)g();return p(),M}}function Os(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 Zi(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 Tn=BigInt(0),Yt=BigInt(1),ui=BigInt(2),xg=BigInt(3),Cg=BigInt(4),Ng=BigInt(5),UE=BigInt(7),Rg=BigInt(8),PE=BigInt(9),Mg=BigInt(16);function st(e,t){let n=e%t;return n>=Tn?n:t+n}function Ke(e,t,n){let r=e;for(;t-- >Tn;)r*=r,r%=n;return r}function Ig(e,t){if(e===Tn)throw new Error("invert: expected non-zero number");if(t<=Tn)throw new Error("invert: expected positive modulus, got "+t);let n=st(e,t),r=t,s=Tn,i=Yt,o=Yt,a=Tn;for(;n!==Tn;){let u=r/n,d=r%n,p=s-o*u,f=i-a*u;r=n,n=d,s=o,i=a,o=p,a=f}if(r!==Yt)throw new Error("invert: does not exist");return st(s,t)}function qd(e,t,n){if(!e.eql(e.sqr(t),n))throw new Error("Cannot find square root")}function Bg(e,t){let n=(e.ORDER+Yt)/Cg,r=e.pow(t,n);return qd(e,r,t),r}function LE(e,t){let n=(e.ORDER-Ng)/Rg,r=e.mul(t,ui),s=e.pow(r,n),i=e.mul(t,s),o=e.mul(e.mul(i,ui),s),a=e.mul(i,e.sub(o,e.ONE));return qd(e,a,t),a}function VE(e){let t=Ki(e),n=jg(e),r=n(t,t.neg(t.ONE)),s=n(t,r),i=n(t,t.neg(r)),o=(e+UE)/Mg;return(a,c)=>{let u=a.pow(c,o),d=a.mul(u,r),p=a.mul(u,s),f=a.mul(u,i),g=a.eql(a.sqr(d),c),b=a.eql(a.sqr(p),c);u=a.cmov(u,d,g),d=a.cmov(f,p,b);let _=a.eql(a.sqr(d),c),I=a.cmov(u,d,_);return qd(a,I,c),I}}function jg(e){if(e<xg)throw new Error("sqrt is not defined for small field");let t=e-Yt,n=0;for(;t%ui===Tn;)t/=ui,n++;let r=ui,s=Ki(e);for(;Ag(s,r)===1;)if(r++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(n===1)return Bg;let i=s.pow(r,t),o=(t+Yt)/ui;return function(c,u){if(c.is0(u))return u;if(Ag(c,u)!==1)throw new Error("Cannot find square root");let d=n,p=c.mul(c.ONE,i),f=c.pow(u,t),g=c.pow(u,o);for(;!c.eql(f,c.ONE);){if(c.is0(f))return c.ZERO;let b=1,_=c.sqr(f);for(;!c.eql(_,c.ONE);)if(b++,_=c.sqr(_),b===d)throw new Error("Cannot find square root");let I=Yt<<BigInt(d-b-1),A=c.pow(p,I);d=b,p=c.sqr(A),f=c.mul(f,p),g=c.mul(g,A)}return g}}function FE(e){return e%Cg===xg?Bg:e%Rg===Ng?LE:e%Mg===PE?VE(e):jg(e)}var Dg=(e,t)=>(st(e,t)&Yt)===Yt,$E=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Gd(e){let t={ORDER:"bigint",BYTES:"number",BITS:"number"},n=$E.reduce((r,s)=>(r[s]="function",r),t);return Os(e,n),e}function qE(e,t,n){if(n<Tn)throw new Error("invalid exponent, negatives unsupported");if(n===Tn)return e.ONE;if(n===Yt)return t;let r=e.ONE,s=t;for(;n>Tn;)n&Yt&&(r=e.mul(r,s)),s=e.sqr(s),n>>=Yt;return r}function na(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 Ag(e,t){let n=(e.ORDER-Yt)/ui,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 GE(e,t){t!==void 0&&Kt(t);let n=t!==void 0?t:e.toString(2).length,r=Math.ceil(n/8);return{nBitLength:n,nByteLength:r}}var $d=class{ORDER;BITS;BYTES;isLE;ZERO=Tn;ONE=Yt;_lengths;_sqrt;_mod;constructor(t,n={}){if(t<=Tn)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}=GE(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 st(t,this.ORDER)}isValid(t){if(typeof t!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof t);return Tn<=t&&t<this.ORDER}is0(t){return t===Tn}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}isOdd(t){return(t&Yt)===Yt}neg(t){return st(-t,this.ORDER)}eql(t,n){return t===n}sqr(t){return st(t*t,this.ORDER)}add(t,n){return st(t+n,this.ORDER)}sub(t,n){return st(t-n,this.ORDER)}mul(t,n){return st(t*n,this.ORDER)}pow(t,n){return qE(this,t,n)}div(t,n){return st(t*Ig(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 Ig(t,this.ORDER)}sqrt(t){return this._sqrt||(this._sqrt=FE(this.ORDER)),this._sqrt(this,t)}toBytes(t){return this.isLE?Vd(t,this.BYTES):Dc(t,this.BYTES)}fromBytes(t,n=!1){me(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?ci(t):Ji(t);if(a&&(c=st(c,o)),!n&&!this.isValid(c))throw new Error("invalid field element: outside of range 0..ORDER");return c}invertBatch(t){return na(this,t)}cmov(t,n,r){return r?n:t}};function Ki(e,t={}){return new $d(e,t)}function Ug(e){if(typeof e!="bigint")throw new Error("field order must be bigint");let t=e.toString(2).length;return Math.ceil(t/8)}function zd(e){let t=Ug(e);return t+Math.ceil(t/2)}function Wd(e,t,n=!1){me(e);let r=e.length,s=Ug(t),i=zd(t);if(r<16||r<i||r>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+r);let o=n?ci(e):Ji(e),a=st(o,t-Yt)+Yt;return n?Vd(a,s):Dc(a,s)}var Xi=BigInt(0),li=BigInt(1);function ra(e,t){let n=t.negate();return e?n:t}function di(e,t){let n=na(e.Fp,t.map(r=>r.Z));return t.map((r,s)=>e.fromAffine(r.toAffine(n[s])))}function Fg(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function Hd(e,t){Fg(e,t);let n=Math.ceil(t/e)+1,r=2**(e-1),s=2**e,i=ta(e),o=BigInt(e);return{windows:n,windowSize:r,mask:i,maxNumber:s,shiftBy:o}}function Pg(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+=li);let u=t*r,d=u+Math.abs(a)-1,p=a===0,f=a<0,g=t%2!==0;return{nextN:c,offset:d,isZero:p,isNeg:f,isNegF:g,offsetF:u}}var Jd=new WeakMap,$g=new WeakMap;function Zd(e){return $g.get(e)||1}function Lg(e){if(e!==Xi)throw new Error("invalid wNAF")}var Yi=class{BASE;ZERO;Fn;bits;constructor(t,n){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>Xi;)n&li&&(r=r.add(s)),s=s.double(),n>>=li;return r}precomputeWindow(t,n){let{windows:r,windowSize:s}=Hd(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=Hd(t,this.bits);for(let a=0;a<o.windows;a++){let{nextN:c,offset:u,isZero:d,isNeg:p,isNegF:f,offsetF:g}=Pg(r,a,o);r=c,d?i=i.add(ra(f,n[g])):s=s.add(ra(p,n[u]))}return Lg(r),{p:s,f:i}}wNAFUnsafe(t,n,r,s=this.ZERO){let i=Hd(t,this.bits);for(let o=0;o<i.windows&&r!==Xi;o++){let{nextN:a,offset:c,isZero:u,isNeg:d}=Pg(r,o,i);if(r=a,!u){let p=n[c];s=s.add(d?p.negate():p)}}return Lg(r),s}getPrecomputes(t,n,r){let s=Jd.get(n);return s||(s=this.precomputeWindow(n,t),t!==1&&(typeof r=="function"&&(s=r(s)),Jd.set(n,s))),s}cached(t,n,r){let s=Zd(t);return this.wNAF(s,this.getPrecomputes(s,t,r),n)}unsafe(t,n,r,s){let i=Zd(t);return i===1?this._unsafeLadder(t,n,s):this.wNAFUnsafe(i,this.getPrecomputes(i,t,r),n,s)}createCache(t,n){Fg(n,this.bits),$g.set(t,n),Jd.delete(t)}hasCache(t){return Zd(t)!==1}};function qg(e,t,n,r){let s=t,i=e.ZERO,o=e.ZERO;for(;n>Xi||r>Xi;)n&li&&(i=i.add(s)),r&li&&(o=o.add(s)),s=s.double(),n>>=li,r>>=li;return{p1:i,p2:o}}function Vg(e,t,n){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return Gd(t),t}else return Ki(e,{isLE:n})}function Pc(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>Xi))throw new Error(`CURVE.${c} must be positive bigint`)}let s=Vg(t.p,n.Fp,r),i=Vg(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 Lc(e,t){return function(r){let s=e(r);return{secretKey:s,publicKey:t(s)}}}var Is=BigInt(0),Qt=BigInt(1),Kd=BigInt(2),zE=BigInt(8);function WE(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 Gg(e,t={}){let n=Pc("edwards",e,t,t.FpFnLE),{Fp:r,Fn:s}=n,i=n.CURVE,{h:o}=i;Os(t,{},{uvRatio:"function"});let a=Kd<<BigInt(s.BYTES*8)-Qt,c=I=>r.create(I),u=t.uvRatio||((I,A)=>{try{return{isValid:!0,value:r.sqrt(r.div(I,A))}}catch{return{isValid:!1,value:Is}}});if(!WE(r,i,i.Gx,i.Gy))throw new Error("bad curve params: generator point");function d(I,A,M=!1){let C=M?Qt:Is;return ea("coordinate "+I,A,C,a),A}function p(I){if(!(I instanceof b))throw new Error("EdwardsPoint expected")}let f=Zi((I,A)=>{let{X:M,Y:C,Z:B}=I,L=I.is0();A==null&&(A=L?zE:r.inv(B));let j=c(M*A),q=c(C*A),P=r.mul(B,A);if(L)return{x:Is,y:Qt};if(P!==Qt)throw new Error("invZ was invalid");return{x:j,y:q}}),g=Zi(I=>{let{a:A,d:M}=i;if(I.is0())throw new Error("bad point: ZERO");let{X:C,Y:B,Z:L,T:j}=I,q=c(C*C),P=c(B*B),D=c(L*L),Z=c(D*D),ce=c(q*A),te=c(D*c(ce+P)),U=c(Z+c(M*c(q*P)));if(te!==U)throw new Error("bad point: equation left != right (1)");let F=c(C*B),l=c(L*j);if(F!==l)throw new Error("bad point: equation left != right (2)");return!0});class b{static BASE=new b(i.Gx,i.Gy,Qt,c(i.Gx*i.Gy));static ZERO=new b(Is,Qt,Qt,Is);static Fp=r;static Fn=s;X;Y;Z;T;constructor(A,M,C,B){this.X=d("x",A),this.Y=d("y",M),this.Z=d("z",C,!0),this.T=d("t",B),Object.freeze(this)}static CURVE(){return i}static fromAffine(A){if(A instanceof b)throw new Error("extended point not allowed");let{x:M,y:C}=A||{};return d("x",M),d("y",C),new b(M,C,Qt,c(M*C))}static fromBytes(A,M=!1){let C=r.BYTES,{a:B,d:L}=i;A=Uc(me(A,C,"point")),Yr(M,"zip215");let j=Uc(A),q=A[C-1];j[C-1]=q&-129;let P=ci(j),D=M?a:r.ORDER;ea("point.y",P,Is,D);let Z=c(P*P),ce=c(Z-Qt),te=c(L*Z-B),{isValid:U,value:F}=u(ce,te);if(!U)throw new Error("bad point: invalid y coordinate");let l=(F&Qt)===Qt,m=(q&128)!==0;if(!M&&F===Is&&m)throw new Error("bad point: x=0 and x_0=1");return m!==l&&(F=c(-F)),b.fromAffine({x:F,y:P})}static fromHex(A,M=!1){return b.fromBytes(Lr(A),M)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(A=8,M=!0){return _.createCache(this,A),M||this.multiply(Kd),this}assertValidity(){g(this)}equals(A){p(A);let{X:M,Y:C,Z:B}=this,{X:L,Y:j,Z:q}=A,P=c(M*q),D=c(L*B),Z=c(C*q),ce=c(j*B);return P===D&&Z===ce}is0(){return this.equals(b.ZERO)}negate(){return new b(c(-this.X),this.Y,this.Z,c(-this.T))}double(){let{a:A}=i,{X:M,Y:C,Z:B}=this,L=c(M*M),j=c(C*C),q=c(Kd*c(B*B)),P=c(A*L),D=M+C,Z=c(c(D*D)-L-j),ce=P+j,te=ce-q,U=P-j,F=c(Z*te),l=c(ce*U),m=c(Z*U),y=c(te*ce);return new b(F,l,y,m)}add(A){p(A);let{a:M,d:C}=i,{X:B,Y:L,Z:j,T:q}=this,{X:P,Y:D,Z,T:ce}=A,te=c(B*P),U=c(L*D),F=c(q*C*ce),l=c(j*Z),m=c((B+L)*(P+D)-te-U),y=l-F,v=l+F,w=c(U-M*te),O=c(m*y),x=c(v*w),T=c(m*w),h=c(y*v);return new b(O,x,h,T)}subtract(A){return this.add(A.negate())}multiply(A){if(!s.isValidNot0(A))throw new Error("invalid scalar: expected 1 <= sc < curve.n");let{p:M,f:C}=_.cached(this,A,B=>di(b,B));return di(b,[M,C])[0]}multiplyUnsafe(A,M=b.ZERO){if(!s.isValid(A))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return A===Is?b.ZERO:this.is0()||A===Qt?this:_.unsafe(this,A,C=>di(b,C),M)}isSmallOrder(){return this.multiplyUnsafe(o).is0()}isTorsionFree(){return _.unsafe(this,i.n).is0()}toAffine(A){return f(this,A)}clearCofactor(){return o===Qt?this:this.multiplyUnsafe(o)}toBytes(){let{x:A,y:M}=this.toAffine(),C=r.toBytes(M);return C[C.length-1]|=A&Qt?128:0,C}toHex(){return sr(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let _=new Yi(b,s.BITS);return b.BASE.precompute(8),b}function zg(e,t,n={}){if(typeof t!="function")throw new Error('"hash" function param is required');Os(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||Li,c=n.adjustScalarBytes||(P=>P),u=n.domain||((P,D,Z)=>{if(Yr(Z,"phflag"),D.length||Z)throw new Error("Contexts/pre-hash are not supported");return P});function d(P){return o.create(ci(P))}function p(P){let D=C.secretKey;me(P,C.secretKey,"secretKey");let Z=me(t(P),2*D,"hashedSecretKey"),ce=c(Z.slice(0,D)),te=Z.slice(D,2*D),U=d(ce);return{head:ce,prefix:te,scalar:U}}function f(P){let{head:D,prefix:Z,scalar:ce}=p(P),te=s.multiply(ce),U=te.toBytes();return{head:D,prefix:Z,scalar:ce,point:te,pointBytes:U}}function g(P){return f(P).pointBytes}function b(P=Uint8Array.of(),...D){let Z=zt(...D);return d(t(u(Z,me(P,void 0,"context"),!!r)))}function _(P,D,Z={}){P=me(P,void 0,"message"),r&&(P=r(P));let{prefix:ce,scalar:te,pointBytes:U}=f(D),F=b(Z.context,ce,P),l=s.multiply(F).toBytes(),m=b(Z.context,l,U,P),y=o.create(F+m*te);if(!o.isValid(y))throw new Error("sign failed: invalid s");let v=zt(l,o.toBytes(y));return me(v,C.signature,"result")}let I={zip215:!0};function A(P,D,Z,ce=I){let{context:te,zip215:U}=ce,F=C.signature;P=me(P,F,"signature"),D=me(D,void 0,"message"),Z=me(Z,C.publicKey,"publicKey"),U!==void 0&&Yr(U,"zip215"),r&&(D=r(D));let l=F/2,m=P.subarray(0,l),y=ci(P.subarray(l,F)),v,w,O;try{v=e.fromBytes(Z,U),w=e.fromBytes(m,U),O=s.multiplyUnsafe(y)}catch{return!1}if(!U&&v.isSmallOrder())return!1;let x=b(te,w.toBytes(),v.toBytes(),D);return w.add(v.multiplyUnsafe(x)).subtract(O).clearCofactor().is0()}let M=i.BYTES,C={secretKey:M,publicKey:M,signature:2*M,seed:M};function B(P=a(C.seed)){return me(P,C.seed,"seed")}function L(P){return qs(P)&&P.length===o.BYTES}function j(P,D){try{return!!e.fromBytes(P,D)}catch{return!1}}let q={getExtendedPublicKey:f,randomSecretKey:B,isValidSecretKey:L,isValidPublicKey:j,toMontgomery(P){let{y:D}=e.fromBytes(P),Z=C.publicKey,ce=Z===32;if(!ce&&Z!==57)throw new Error("only defined for 25519 and 448");let te=ce?i.div(Qt+D,Qt-D):i.div(D-Qt,D+Qt);return i.toBytes(te)},toMontgomerySecret(P){let D=C.secretKey;me(P,D);let Z=t(P.subarray(0,D));return c(Z).subarray(0,D)}};return Object.freeze({keygen:Lc(B,g),getPublicKey:g,sign:_,verify:A,utils:q,Point:e,lengths:C})}var HE=BigInt(1),Wg=BigInt(2);var JE=BigInt(5),ZE=BigInt(8),Xd=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),KE=(()=>({p:Xd,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:ZE,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")}))();function XE(e){let t=BigInt(10),n=BigInt(20),r=BigInt(40),s=BigInt(80),i=Xd,a=e*e%i*e%i,c=Ke(a,Wg,i)*a%i,u=Ke(c,HE,i)*e%i,d=Ke(u,JE,i)*u%i,p=Ke(d,t,i)*d%i,f=Ke(p,n,i)*p%i,g=Ke(f,r,i)*f%i,b=Ke(g,s,i)*g%i,_=Ke(b,s,i)*g%i,I=Ke(_,t,i)*d%i;return{pow_p_5_8:Ke(I,Wg,i)*e%i,b2:a}}function YE(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var Hg=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function QE(e,t){let n=Xd,r=st(t*t*t,n),s=st(r*r*t,n),i=XE(e*s).pow_p_5_8,o=st(e*r*i,n),a=st(t*o*o,n),c=o,u=st(o*Hg,n),d=a===e,p=a===st(-e,n),f=a===st(-e*Hg,n);return d&&(o=c),(p||f)&&(o=u),Dg(o,n)&&(o=st(-o,n)),{isValid:d||p,value:o}}var e2=Gg(KE,{uvRatio:QE});function t2(e){return zg(e2,Er,Object.assign({adjustScalarBytes:YE},e))}var ur=t2({});var Yd=32,Jg=class extends Mc{static{this.SIZE=Yd}constructor(e){if(super(),typeof e=="string"?this.data=ie(e):e instanceof Uint8Array?this.data=e:this.data=Uint8Array.from(e),this.data.length!==Yd)throw new Error(`Invalid public key input. Expected ${Yd} bytes, got ${this.data.length}`)}equals(e){return super.equals(e)}toRawBytes(){return this.data}flag(){return Ts.ED25519}async verify(e,t){let n;if(typeof t=="string"){let r=Bc(t);if(r.signatureScheme!=="ED25519")throw new Error("Invalid signature scheme");if(!Yo(this.toRawBytes(),r.publicKey))throw new Error("Signature does not match public key");n=r.signature}else n=t;return ur.verify(n,e,this.toRawBytes())}};var Vc=class{oHash;iHash;blockLen;outputLen;finished=!1;destroyed=!1;constructor(t,n){if(Pi(t),me(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),Xt(s)}update(t){return Pr(this),this.iHash.update(t),this}digestInto(t){Pr(this),me(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||=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()}},lr=(e,t,n)=>new Vc(e,t).update(n).digest();lr.create=(e,t)=>new Vc(e,t);function n2(e,t,n,r){Pi(e);let s=Im({dkLen:32,asyncTick:10},r),{c:i,dkLen:o,asyncTick:a}=s;if(Kt(i,"c"),Kt(o,"dkLen"),Kt(a,"asyncTick"),i<1)throw new Error("iterations (c) must be >= 1");let c=Vl(t,"password"),u=Vl(n,"salt"),d=new Uint8Array(o),p=lr.create(e,c),f=p._cloneInto().update(u);return{c:i,dkLen:o,asyncTick:a,DK:d,PRF:p,PRFSalt:f}}function r2(e,t,n,r,s){return e.destroy(),t.destroy(),r&&r.destroy(),Xt(s),n}function Zg(e,t,n,r){let{c:s,dkLen:i,DK:o,PRF:a,PRFSalt:c}=n2(e,t,n,r),u,d=new Uint8Array(4),p=br(d),f=new Uint8Array(a.outputLen);for(let g=1,b=0;b<i;g++,b+=a.outputLen){let _=o.subarray(b,b+a.outputLen);p.setInt32(0,g,!1),(u=c._cloneInto(u)).update(d).digestInto(f),_.set(f.subarray(0,_.length));for(let I=1;I<s;I++){a._cloneInto(u).update(f).digestInto(f);for(let A=0;A<_.length;A++)_[A]^=f[A]}}return r2(a,c,o,u,f)}function Kg(e){if(typeof e!="string")throw new TypeError("invalid mnemonic type: "+typeof e);return e.normalize("NFKD")}function s2(e){let t=Kg(e),n=t.split(" ");if(![12,15,18,21,24].includes(n.length))throw new Error("Invalid mnemonic");return{nfkd:t,words:n}}var i2=e=>Kg("mnemonic"+e);function Xg(e,t=""){return Zg(Er,s2(e).nfkd,i2(t),{c:2048,dkLen:64})}function Qd(e){return!!new RegExp("^m\\/44'\\/784'\\/[0-9]+'\\/[0-9]+'\\/[0-9]+'+$").test(e)}function Yg(e){return!!new RegExp("^m\\/(54|74)'\\/784'\\/[0-9]+'\\/[0-9]+\\/[0-9]+$").test(e)}function ep(e){return Xg(e,"")}function Qg(e){return Vt(ep(e))}var e0=(e,t)=>(e+(e>=0?t:-t)/t0)/t;function o2(e,t,n){let[[r,s],[i,o]]=t,a=e0(o*e,n),c=e0(-s*e,n),u=e-a*r-c*i,d=-a*s-c*o,p=u<Qr,f=d<Qr;p&&(u=-u),f&&(d=-d);let g=ta(Math.ceil(Fd(n)/2))+Qi;if(u<Qr||u>=g||d<Qr||d>=g)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:p,k1:u,k2neg:f,k2:d}}function np(e){if(!["compact","recovered","der"].includes(e))throw new Error('Signature format must be "compact", "recovered", or "der"');return e}function tp(e,t){let n={};for(let r of Object.keys(t))n[r]=e[r]===void 0?t[r]:e[r];return Yr(n.lowS,"lowS"),Yr(n.prehash,"prehash"),n.format!==void 0&&np(n.format),n}var rp=class extends Error{constructor(t=""){super(t)}},As={Err:rp,_tlv:{encode:(e,t)=>{let{Err:n}=As;if(e<0||e>256)throw new n("tlv.encode: wrong tag");if(t.length&1)throw new n("tlv.encode: unpadded data");let r=t.length/2,s=Qo(r);if(s.length/2&128)throw new n("tlv.encode: long form length too big");let i=r>127?Qo(s.length/2|128):"";return Qo(e)+i+s+t},decode(e,t){let{Err:n}=As,r=0;if(e<0||e>256)throw new n("tlv.encode: wrong tag");if(t.length<2||t[r++]!==e)throw new n("tlv.decode: wrong tlv");let s=t[r++],i=!!(s&128),o=0;if(!i)o=s;else{let c=s&127;if(!c)throw new n("tlv.decode(long): indefinite length not supported");if(c>4)throw new n("tlv.decode(long): byte length is too big");let u=t.subarray(r,r+c);if(u.length!==c)throw new n("tlv.decode: length bytes not complete");if(u[0]===0)throw new n("tlv.decode(long): zero leftmost byte");for(let d of u)o=o<<8|d;if(r+=c,o<128)throw new n("tlv.decode(long): not minimal encoding")}let a=t.subarray(r,r+o);if(a.length!==o)throw new n("tlv.decode: wrong value length");return{v:a,l:t.subarray(r+o)}}},_int:{encode(e){let{Err:t}=As;if(e<Qr)throw new t("integer: negative integers are not allowed");let n=Qo(e);if(Number.parseInt(n[0],16)&8&&(n="00"+n),n.length&1)throw new t("unexpected DER parsing assertion: unpadded hex");return n},decode(e){let{Err:t}=As;if(e[0]&128)throw new t("invalid signature integer: negative");if(e[0]===0&&!(e[1]&128))throw new t("invalid signature integer: unnecessary leading zero");return Ji(e)}},toSig(e){let{Err:t,_int:n,_tlv:r}=As,s=me(e,void 0,"signature"),{v:i,l:o}=r.decode(48,s);if(o.length)throw new t("invalid signature: left bytes after parsing");let{v:a,l:c}=r.decode(2,i),{v:u,l:d}=r.decode(2,c);if(d.length)throw new t("invalid signature: left bytes after parsing");return{r:n.decode(a),s:n.decode(u)}},hexFromSig(e){let{_tlv:t,_int:n}=As,r=t.encode(2,n.encode(e.r)),s=t.encode(2,n.encode(e.s)),i=r+s;return t.encode(48,i)}},Qr=BigInt(0),Qi=BigInt(1),t0=BigInt(2),Fc=BigInt(3),a2=BigInt(4);function n0(e,t={}){let n=Pc("weierstrass",e,t),{Fp:r,Fn:s}=n,i=n.CURVE,{h:o,n:a}=i;Os(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object"});let{endo:c}=t;if(c&&(!r.is0(i.a)||typeof c.beta!="bigint"||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let u=s0(r,s);function d(){if(!r.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function p(te,U,F){let{x:l,y:m}=U.toAffine(),y=r.toBytes(l);if(Yr(F,"isCompressed"),F){d();let v=!r.isOdd(m);return zt(r0(v),y)}else return zt(Uint8Array.of(4),y,r.toBytes(m))}function f(te){me(te,void 0,"Point");let{publicKey:U,publicKeyUncompressed:F}=u,l=te.length,m=te[0],y=te.subarray(1);if(l===U&&(m===2||m===3)){let v=r.fromBytes(y);if(!r.isValid(v))throw new Error("bad point: is not on curve, wrong x");let w=_(v),O;try{O=r.sqrt(w)}catch(h){let S=h instanceof Error?": "+h.message:"";throw new Error("bad point: is not on curve, sqrt error"+S)}d();let x=r.isOdd(O);return(m&1)===1!==x&&(O=r.neg(O)),{x:v,y:O}}else if(l===F&&m===4){let v=r.BYTES,w=r.fromBytes(y.subarray(0,v)),O=r.fromBytes(y.subarray(v,v*2));if(!I(w,O))throw new Error("bad point: is not on curve");return{x:w,y:O}}else throw new Error(`bad point: got length ${l}, expected compressed=${U} or uncompressed=${F}`)}let g=t.toBytes||p,b=t.fromBytes||f;function _(te){let U=r.sqr(te),F=r.mul(U,te);return r.add(r.add(F,r.mul(te,i.a)),i.b)}function I(te,U){let F=r.sqr(U),l=_(te);return r.eql(F,l)}if(!I(i.Gx,i.Gy))throw new Error("bad curve params: generator point");let A=r.mul(r.pow(i.a,Fc),a2),M=r.mul(r.sqr(i.b),BigInt(27));if(r.is0(r.add(A,M)))throw new Error("bad curve params: a or b");function C(te,U,F=!1){if(!r.isValid(U)||F&&r.is0(U))throw new Error(`bad point coordinate ${te}`);return U}function B(te){if(!(te instanceof D))throw new Error("Weierstrass Point expected")}function L(te){if(!c||!c.basises)throw new Error("no endo");return o2(te,c.basises,s.ORDER)}let j=Zi((te,U)=>{let{X:F,Y:l,Z:m}=te;if(r.eql(m,r.ONE))return{x:F,y:l};let y=te.is0();U==null&&(U=y?r.ONE:r.inv(m));let v=r.mul(F,U),w=r.mul(l,U),O=r.mul(m,U);if(y)return{x:r.ZERO,y:r.ZERO};if(!r.eql(O,r.ONE))throw new Error("invZ was invalid");return{x:v,y:w}}),q=Zi(te=>{if(te.is0()){if(t.allowInfinityPoint&&!r.is0(te.Y))return;throw new Error("bad point: ZERO")}let{x:U,y:F}=te.toAffine();if(!r.isValid(U)||!r.isValid(F))throw new Error("bad point: x or y not field elements");if(!I(U,F))throw new Error("bad point: equation left != right");if(!te.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function P(te,U,F,l,m){return F=new D(r.mul(F.X,te),F.Y,F.Z),U=ra(l,U),F=ra(m,F),U.add(F)}class D{static BASE=new D(i.Gx,i.Gy,r.ONE);static ZERO=new D(r.ZERO,r.ONE,r.ZERO);static Fp=r;static Fn=s;X;Y;Z;constructor(U,F,l){this.X=C("x",U),this.Y=C("y",F,!0),this.Z=C("z",l),Object.freeze(this)}static CURVE(){return i}static fromAffine(U){let{x:F,y:l}=U||{};if(!U||!r.isValid(F)||!r.isValid(l))throw new Error("invalid affine point");if(U instanceof D)throw new Error("projective point not allowed");return r.is0(F)&&r.is0(l)?D.ZERO:new D(F,l,r.ONE)}static fromBytes(U){let F=D.fromAffine(b(me(U,void 0,"point")));return F.assertValidity(),F}static fromHex(U){return D.fromBytes(Lr(U))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(U=8,F=!0){return ce.createCache(this,U),F||this.multiply(Fc),this}assertValidity(){q(this)}hasEvenY(){let{y:U}=this.toAffine();if(!r.isOdd)throw new Error("Field doesn't support isOdd");return!r.isOdd(U)}equals(U){B(U);let{X:F,Y:l,Z:m}=this,{X:y,Y:v,Z:w}=U,O=r.eql(r.mul(F,w),r.mul(y,m)),x=r.eql(r.mul(l,w),r.mul(v,m));return O&&x}negate(){return new D(this.X,r.neg(this.Y),this.Z)}double(){let{a:U,b:F}=i,l=r.mul(F,Fc),{X:m,Y:y,Z:v}=this,w=r.ZERO,O=r.ZERO,x=r.ZERO,T=r.mul(m,m),h=r.mul(y,y),S=r.mul(v,v),W=r.mul(m,y);return W=r.add(W,W),x=r.mul(m,v),x=r.add(x,x),w=r.mul(U,x),O=r.mul(l,S),O=r.add(w,O),w=r.sub(h,O),O=r.add(h,O),O=r.mul(w,O),w=r.mul(W,w),x=r.mul(l,x),S=r.mul(U,S),W=r.sub(T,S),W=r.mul(U,W),W=r.add(W,x),x=r.add(T,T),T=r.add(x,T),T=r.add(T,S),T=r.mul(T,W),O=r.add(O,T),S=r.mul(y,v),S=r.add(S,S),T=r.mul(S,W),w=r.sub(w,T),x=r.mul(S,h),x=r.add(x,x),x=r.add(x,x),new D(w,O,x)}add(U){B(U);let{X:F,Y:l,Z:m}=this,{X:y,Y:v,Z:w}=U,O=r.ZERO,x=r.ZERO,T=r.ZERO,h=i.a,S=r.mul(i.b,Fc),W=r.mul(F,y),K=r.mul(l,v),re=r.mul(m,w),fe=r.add(F,l),ue=r.add(y,v);fe=r.mul(fe,ue),ue=r.add(W,K),fe=r.sub(fe,ue),ue=r.add(F,m);let Ee=r.add(y,w);return ue=r.mul(ue,Ee),Ee=r.add(W,re),ue=r.sub(ue,Ee),Ee=r.add(l,m),O=r.add(v,w),Ee=r.mul(Ee,O),O=r.add(K,re),Ee=r.sub(Ee,O),T=r.mul(h,ue),O=r.mul(S,re),T=r.add(O,T),O=r.sub(K,T),T=r.add(K,T),x=r.mul(O,T),K=r.add(W,W),K=r.add(K,W),re=r.mul(h,re),ue=r.mul(S,ue),K=r.add(K,re),re=r.sub(W,re),re=r.mul(h,re),ue=r.add(ue,re),W=r.mul(K,ue),x=r.add(x,W),W=r.mul(Ee,ue),O=r.mul(fe,O),O=r.sub(O,W),W=r.mul(fe,K),T=r.mul(Ee,T),T=r.add(T,W),new D(O,x,T)}subtract(U){return this.add(U.negate())}is0(){return this.equals(D.ZERO)}multiply(U){let{endo:F}=t;if(!s.isValidNot0(U))throw new Error("invalid scalar: out of range");let l,m,y=v=>ce.cached(this,v,w=>di(D,w));if(F){let{k1neg:v,k1:w,k2neg:O,k2:x}=L(U),{p:T,f:h}=y(w),{p:S,f:W}=y(x);m=h.add(W),l=P(F.beta,T,S,v,O)}else{let{p:v,f:w}=y(U);l=v,m=w}return di(D,[l,m])[0]}multiplyUnsafe(U){let{endo:F}=t,l=this;if(!s.isValid(U))throw new Error("invalid scalar: out of range");if(U===Qr||l.is0())return D.ZERO;if(U===Qi)return l;if(ce.hasCache(this))return this.multiply(U);if(F){let{k1neg:m,k1:y,k2neg:v,k2:w}=L(U),{p1:O,p2:x}=qg(D,l,y,w);return P(F.beta,O,x,m,v)}else return ce.unsafe(l,U)}toAffine(U){return j(this,U)}isTorsionFree(){let{isTorsionFree:U}=t;return o===Qi?!0:U?U(D,this):ce.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:U}=t;return o===Qi?this:U?U(D,this):this.multiplyUnsafe(o)}isSmallOrder(){return this.multiplyUnsafe(o).is0()}toBytes(U=!0){return Yr(U,"isCompressed"),this.assertValidity(),g(D,this,U)}toHex(U=!0){return sr(this.toBytes(U))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let Z=s.BITS,ce=new Yi(D,t.endo?Math.ceil(Z/2):Z);return D.BASE.precompute(8),D}function r0(e){return Uint8Array.of(e?2:3)}function s0(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function c2(e,t={}){let{Fn:n}=e,r=t.randomBytes||Li,s=Object.assign(s0(e.Fp,n),{seed:zd(n.ORDER)});function i(g){try{let b=n.fromBytes(g);return n.isValidNot0(b)}catch{return!1}}function o(g,b){let{publicKey:_,publicKeyUncompressed:I}=s;try{let A=g.length;return b===!0&&A!==_||b===!1&&A!==I?!1:!!e.fromBytes(g)}catch{return!1}}function a(g=r(s.seed)){return Wd(me(g,s.seed,"seed"),n.ORDER)}function c(g,b=!0){return e.BASE.multiply(n.fromBytes(g)).toBytes(b)}function u(g){let{secretKey:b,publicKey:_,publicKeyUncompressed:I}=s;if(!qs(g)||"_lengths"in n&&n._lengths||b===_)return;let A=me(g,void 0,"key").length;return A===_||A===I}function d(g,b,_=!0){if(u(g)===!0)throw new Error("first arg must be private key");if(u(b)===!1)throw new Error("second arg must be public key");let I=n.fromBytes(g);return e.fromBytes(b).multiply(I).toBytes(_)}let p={isValidSecretKey:i,isValidPublicKey:o,randomSecretKey:a},f=Lc(a,c);return Object.freeze({getPublicKey:c,getSharedSecret:d,keygen:f,Point:e,utils:p,lengths:s})}function i0(e,t,n={}){Pi(t),Os(n,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"}),n=Object.assign({},n);let r=n.randomBytes||Li,s=n.hmac||((F,l)=>lr(t,F,l)),{Fp:i,Fn:o}=e,{ORDER:a,BITS:c}=o,{keygen:u,getPublicKey:d,getSharedSecret:p,utils:f,lengths:g}=c2(e,n),b={prehash:!0,lowS:typeof n.lowS=="boolean"?n.lowS:!0,format:"compact",extraEntropy:!1},_=a*t0<i.ORDER;function I(F){let l=a>>Qi;return F>l}function A(F,l){if(!o.isValidNot0(l))throw new Error(`invalid signature ${F}: out of range 1..Point.Fn.ORDER`);return l}function M(){if(_)throw new Error('"recovered" sig type is not supported for cofactor >2 curves')}function C(F,l){np(l);let m=g.signature,y=l==="compact"?m:l==="recovered"?m+1:void 0;return me(F,y)}class B{r;s;recovery;constructor(l,m,y){if(this.r=A("r",l),this.s=A("s",m),y!=null){if(M(),![0,1,2,3].includes(y))throw new Error("invalid recovery id");this.recovery=y}Object.freeze(this)}static fromBytes(l,m=b.format){C(l,m);let y;if(m==="der"){let{r:x,s:T}=As.toSig(me(l));return new B(x,T)}m==="recovered"&&(y=l[0],m="compact",l=l.subarray(1));let v=g.signature/2,w=l.subarray(0,v),O=l.subarray(v,v*2);return new B(o.fromBytes(w),o.fromBytes(O),y)}static fromHex(l,m){return this.fromBytes(Lr(l),m)}assertRecovery(){let{recovery:l}=this;if(l==null)throw new Error("invalid recovery id: must be present");return l}addRecoveryBit(l){return new B(this.r,this.s,l)}recoverPublicKey(l){let{r:m,s:y}=this,v=this.assertRecovery(),w=v===2||v===3?m+a:m;if(!i.isValid(w))throw new Error("invalid recovery id: sig.r+curve.n != R.x");let O=i.toBytes(w),x=e.fromBytes(zt(r0((v&1)===0),O)),T=o.inv(w),h=j(me(l,void 0,"msgHash")),S=o.create(-h*T),W=o.create(y*T),K=e.BASE.multiplyUnsafe(S).add(x.multiplyUnsafe(W));if(K.is0())throw new Error("invalid recovery: point at infinify");return K.assertValidity(),K}hasHighS(){return I(this.s)}toBytes(l=b.format){if(np(l),l==="der")return Lr(As.hexFromSig(this));let{r:m,s:y}=this,v=o.toBytes(m),w=o.toBytes(y);return l==="recovered"?(M(),zt(Uint8Array.of(this.assertRecovery()),v,w)):zt(v,w)}toHex(l){return sr(this.toBytes(l))}}let L=n.bits2int||function(l){if(l.length>8192)throw new Error("input is too large");let m=Ji(l),y=l.length*8-c;return y>0?m>>BigInt(y):m},j=n.bits2int_modN||function(l){return o.create(L(l))},q=ta(c);function P(F){return ea("num < 2^"+c,F,Qr,q),o.toBytes(F)}function D(F,l){return me(F,void 0,"message"),l?me(t(F),void 0,"prehashed message"):F}function Z(F,l,m){let{lowS:y,prehash:v,extraEntropy:w}=tp(m,b);F=D(F,v);let O=j(F),x=o.fromBytes(l);if(!o.isValidNot0(x))throw new Error("invalid private key");let T=[P(x),P(O)];if(w!=null&&w!==!1){let K=w===!0?r(g.secretKey):w;T.push(me(K,void 0,"extraEntropy"))}let h=zt(...T),S=O;function W(K){let re=L(K);if(!o.isValidNot0(re))return;let fe=o.inv(re),ue=e.BASE.multiply(re).toAffine(),Ee=o.create(ue.x);if(Ee===Qr)return;let Bn=o.create(fe*o.create(S+Ee*x));if(Bn===Qr)return;let Pe=(ue.x===Ee?0:2)|Number(ue.y&Qi),Fe=Bn;return y&&I(Bn)&&(Fe=o.neg(Bn),Pe^=1),new B(Ee,Fe,_?void 0:Pe)}return{seed:h,k2sig:W}}function ce(F,l,m={}){let{seed:y,k2sig:v}=Z(F,l,m);return Og(t.outputLen,o.BYTES,s)(y,v).toBytes(m.format)}function te(F,l,m,y={}){let{lowS:v,prehash:w,format:O}=tp(y,b);if(m=me(m,void 0,"publicKey"),l=D(l,w),!qs(F)){let x=F instanceof B?", use sig.toBytes()":"";throw new Error("verify expects Uint8Array signature"+x)}C(F,O);try{let x=B.fromBytes(F,O),T=e.fromBytes(m);if(v&&x.hasHighS())return!1;let{r:h,s:S}=x,W=j(l),K=o.inv(S),re=o.create(W*K),fe=o.create(h*K),ue=e.BASE.multiplyUnsafe(re).add(T.multiplyUnsafe(fe));return ue.is0()?!1:o.create(ue.x)===h}catch{return!1}}function U(F,l,m={}){let{prehash:y}=tp(m,b);return l=D(l,y),B.fromBytes(F,"recovered").recoverPublicKey(l).toBytes()}return Object.freeze({keygen:u,getPublicKey:d,getSharedSecret:p,utils:f,lengths:g,Point:e,sign:ce,verify:te,recoverPublicKey:U,Signature:B,hash:t})}function o0({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([Ts[t]]),s.set(e,1),s.set(r,1+e.length),ye(s)}var sa=32;var a0="suiprivkey",u2=class{async signWithIntent(e,t){let n=ir(Rc(t,e),{dkLen:32});return{signature:o0({signature:await this.sign(n),signatureScheme:this.getKeyScheme(),publicKey:this.getPublicKey()}),bytes:ye(e)}}async signTransaction(e){return this.signWithIntent(e,"TransactionData")}async signPersonalMessage(e){let{signature:t}=await this.signWithIntent(k.byteVector().serialize(e).toBytes(),"PersonalMessage");return{bytes:ye(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()}},$c=class extends u2{};function qc(e){let{prefix:t,words:n}=ko.decode(e);if(t!==a0)throw new Error("invalid private key prefix");let r=new Uint8Array(ko.fromWords(n)),s=r.slice(1);return{scheme:Xo[r[0]],secretKey:s}}function Gc(e,t){if(e.length!==sa)throw new Error("Invalid bytes length");let n=Ts[t],r=new Uint8Array(e.length+1);return r.set([n]),r.set(e,1),ko.encode(a0,ko.toWords(r))}var l2="ed25519 seed",d2=2147483648,p2=new RegExp("^m(\\/[0-9]+')+$"),c0=e=>e.replace("'",""),f2=e=>{let t=lr.create(Er,new TextEncoder().encode(l2)).update(dn(e)).digest();return{key:t.slice(0,32),chainCode:t.slice(32)}},m2=({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=lr.create(Er,t).update(s).digest();return{key:i.slice(0,32),chainCode:i.slice(32)}},h2=e=>p2.test(e)?!e.split("/").slice(1).map(c0).some(isNaN):!1,sp=(e,t,n=d2)=>{if(!h2(e))throw new Error("Invalid derivation path");let{key:r,chainCode:s}=f2(t);return e.split("/").slice(1).map(c0).map(i=>parseInt(i,10)).reduce((i,o)=>m2(i,o+n),{key:r,chainCode:s})};var ip="m/44'/784'/0'/0'/0'",zc=class ia extends $c{constructor(t){if(super(),t)this.keypair={publicKey:t.publicKey,secretKey:t.secretKey.slice(0,32)};else{let n=ur.utils.randomSecretKey();this.keypair={publicKey:ur.getPublicKey(n),secretKey:n}}}getKeyScheme(){return"ED25519"}static generate(){let t=ur.utils.randomSecretKey();return new ia({publicKey:ur.getPublicKey(t),secretKey:t})}static fromSecretKey(t,n){if(typeof t=="string"){let i=qc(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!==sa)throw new Error(`Wrong secretKey size. Expected ${sa} bytes, got ${r}.`);let s={publicKey:ur.getPublicKey(t),secretKey:t};if(!n||!n.skipValidation){let i=new TextEncoder().encode("sui validation"),o=ur.sign(i,t);if(!ur.verify(o,i,s.publicKey))throw new Error("provided secretKey is invalid")}return new ia(s)}getPublicKey(){return new Jg(this.keypair.publicKey)}getSecretKey(){return Gc(this.keypair.secretKey.slice(0,sa),this.getKeyScheme())}async sign(t){return ur.sign(t,this.keypair.secretKey)}static deriveKeypair(t,n){if(n==null&&(n=ip),!Qd(n))throw new Error("Invalid derivation path");let{key:r}=sp(n,Qg(t));return ia.fromSecretKey(r)}static deriveKeypairFromSeed(t,n){if(n==null&&(n=ip),!Qd(n))throw new Error("Invalid derivation path");let r=typeof t=="string"?t:Vt(t),{key:s}=sp(n,r);return ia.fromSecretKey(s)}};var ap={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},g2={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]};var u0=BigInt(2);function y2(e){let t=ap.p,n=BigInt(3),r=BigInt(6),s=BigInt(11),i=BigInt(22),o=BigInt(23),a=BigInt(44),c=BigInt(88),u=e*e*e%t,d=u*u*e%t,p=Ke(d,n,t)*d%t,f=Ke(p,n,t)*d%t,g=Ke(f,u0,t)*u%t,b=Ke(g,s,t)*g%t,_=Ke(b,i,t)*b%t,I=Ke(_,a,t)*_%t,A=Ke(I,c,t)*I%t,M=Ke(A,a,t)*_%t,C=Ke(M,n,t)*d%t,B=Ke(C,o,t)*b%t,L=Ke(B,r,t)*u%t,j=Ke(L,u0,t);if(!op.eql(op.sqr(j),e))throw new Error("Cannot find square root");return j}var op=Ki(ap.p,{sqrt:y2}),b2=n0(ap,{Fp:op,endo:g2}),cn=i0(b2,Hi);var cp=33,l0=class extends Mc{static{this.SIZE=cp}constructor(e){if(super(),typeof e=="string"?this.data=ie(e):e instanceof Uint8Array?this.data=e:this.data=Uint8Array.from(e),this.data.length!==cp)throw new Error(`Invalid public key input. Expected ${cp} bytes, got ${this.data.length}`)}equals(e){return super.equals(e)}toRawBytes(){return this.data}flag(){return Ts.Secp256k1}async verify(e,t){let n;if(typeof t=="string"){let r=Bc(t);if(r.signatureScheme!=="Secp256k1")throw new Error("Invalid signature scheme");if(!Yo(this.toRawBytes(),r.publicKey))throw new Error("Signature does not match public key");n=r.signature}else n=t;return cn.verify(n,e,this.toRawBytes())}};var v2=Uint8Array.from([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),p0=(()=>Uint8Array.from(new Array(16).fill(0).map((e,t)=>t)))(),_2=(()=>p0.map(e=>(9*e+5)%16))(),f0=(()=>{let n=[[p0],[_2]];for(let r=0;r<4;r++)for(let s of n)s.push(s[r].map(i=>v2[i]));return n})(),m0=(()=>f0[0])(),h0=(()=>f0[1])(),g0=[[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8],[12,13,11,15,6,9,9,7,12,15,11,13,7,8,7,7],[13,15,14,11,7,7,6,8,13,14,13,12,5,5,6,9],[14,11,12,14,8,6,5,5,15,12,15,14,9,9,8,6],[15,12,13,13,9,5,8,6,14,11,12,11,8,6,5,5]].map(e=>Uint8Array.from(e)),w2=m0.map((e,t)=>e.map(n=>g0[t][n])),T2=h0.map((e,t)=>e.map(n=>g0[t][n])),k2=Uint32Array.from([0,1518500249,1859775393,2400959708,2840853838]),S2=Uint32Array.from([1352829926,1548603684,1836072691,2053994217,0]);function d0(e,t,n,r){return e===0?t^n^r:e===1?t&n|~t&r:e===2?(t|~n)^r:e===3?t&r|n&~r:t^(n|~r)}var Wc=new Uint32Array(16),up=class extends Ws{h0=1732584193;h1=-271733879;h2=-1732584194;h3=271733878;h4=-1009589776;constructor(){super(64,20,8,!0)}get(){let{h0:t,h1:n,h2:r,h3:s,h4:i}=this;return[t,n,r,s,i]}set(t,n,r,s,i){this.h0=t|0,this.h1=n|0,this.h2=r|0,this.h3=s|0,this.h4=i|0}process(t,n){for(let g=0;g<16;g++,n+=4)Wc[g]=t.getUint32(n,!0);let r=this.h0|0,s=r,i=this.h1|0,o=i,a=this.h2|0,c=a,u=this.h3|0,d=u,p=this.h4|0,f=p;for(let g=0;g<5;g++){let b=4-g,_=k2[g],I=S2[g],A=m0[g],M=h0[g],C=w2[g],B=T2[g];for(let L=0;L<16;L++){let j=Io(r+d0(g,i,a,u)+Wc[A[L]]+_,C[L])+p|0;r=p,p=u,u=Io(a,10)|0,a=i,i=j}for(let L=0;L<16;L++){let j=Io(s+d0(b,o,c,d)+Wc[M[L]]+I,B[L])+f|0;s=f,f=d,d=Io(c,10)|0,c=o,o=j}}this.set(this.h1+a+d|0,this.h2+u+f|0,this.h3+p+s|0,this.h4+r+o|0,this.h0+i+c|0)}roundClean(){Xt(Wc)}destroy(){this.destroyed=!0,Xt(this.buffer),this.set(0,0,0,0,0)}},y0=zs(()=>new up);var aa=cn.Point,{Fn:oa}=aa,lp=em(Hi),E2=Uint8Array.from("Bitcoin seed".split(""),e=>e.charCodeAt(0)),dp={private:76066276,public:76067358},pp=2147483648,O2=e=>y0(Hi(e)),I2=e=>br(e).getUint32(0,!1),Hc=e=>{if(!Number.isSafeInteger(e)||e<0||e>2**32-1)throw new Error("invalid number, should be from 0 to 2**32-1, got "+e);let t=new Uint8Array(4);return br(t).setUint32(0,e,!1),t},Or=class{get fingerprint(){if(!this.pubHash)throw new Error("No publicKey set!");return I2(this.pubHash)}get identifier(){return this.pubHash}get pubKeyHash(){return this.pubHash}get privateKey(){return this._privateKey||null}get publicKey(){return this._publicKey||null}get privateExtendedKey(){let t=this._privateKey;if(!t)throw new Error("No private key");return lp.encode(this.serialize(this.versions.private,zt(Uint8Array.of(0),t)))}get publicExtendedKey(){if(!this._publicKey)throw new Error("No public key");return lp.encode(this.serialize(this.versions.public,this._publicKey))}static fromMasterSeed(t,n=dp){if(me(t),8*t.length<128||8*t.length>512)throw new Error("HDKey: seed length must be between 128 and 512 bits; 256 bits is advised, got "+t.length);let r=lr(Er,E2,t),s=r.slice(0,32),i=r.slice(32);return new Or({versions:n,chainCode:i,privateKey:s})}static fromExtendedKey(t,n=dp){let r=lp.decode(t),s=br(r),i=s.getUint32(0,!1),o={versions:n,depth:r[4],parentFingerprint:s.getUint32(5,!1),index:s.getUint32(9,!1),chainCode:r.slice(13,45)},a=r.slice(45),c=a[0]===0;if(i!==n[c?"private":"public"])throw new Error("Version mismatch");return c?new Or({...o,privateKey:a.slice(1)}):new Or({...o,publicKey:a})}static fromJSON(t){return Or.fromExtendedKey(t.xpriv)}versions;depth=0;index=0;chainCode=null;parentFingerprint=0;_privateKey;_publicKey;pubHash;constructor(t){if(!t||typeof t!="object")throw new Error("HDKey.constructor must not be called directly");if(this.versions=t.versions||dp,this.depth=t.depth||0,this.chainCode=t.chainCode||null,this.index=t.index||0,this.parentFingerprint=t.parentFingerprint||0,!this.depth&&(this.parentFingerprint||this.index))throw new Error("HDKey: zero depth with non-zero index/parent fingerprint");if(this.depth>255)throw new Error("HDKey: depth exceeds the serializable value 255");if(t.publicKey&&t.privateKey)throw new Error("HDKey: publicKey and privateKey at same time.");if(t.privateKey){if(!cn.utils.isValidSecretKey(t.privateKey))throw new Error("Invalid private key");this._privateKey=t.privateKey,this._publicKey=cn.getPublicKey(t.privateKey,!0)}else if(t.publicKey)this._publicKey=aa.fromBytes(t.publicKey).toBytes(!0);else throw new Error("HDKey: no public or private key provided");this.pubHash=O2(this._publicKey)}derive(t){if(!/^[mM]'?/.test(t))throw new Error('Path must start with "m" or "M"');if(/^[mM]'?$/.test(t))return this;let n=t.replace(/^[mM]'?\//,"").split("/"),r=this;for(let s of n){let i=/^(\d+)('?)$/.exec(s),o=i&&i[1];if(!i||i.length!==3||typeof o!="string")throw new Error("invalid child index: "+s);let a=+o;if(!Number.isSafeInteger(a)||a>=pp)throw new Error("Invalid index");i[2]==="'"&&(a+=pp),r=r.deriveChild(a)}return r}deriveChild(t){if(!this._publicKey||!this.chainCode)throw new Error("No publicKey or chainCode set");let n=Hc(t);if(t>=pp){let c=this._privateKey;if(!c)throw new Error("Could not derive hardened child key");n=zt(Uint8Array.of(0),c,n)}else n=zt(this._publicKey,n);let r=lr(Er,this.chainCode,n),s=r.slice(0,32),i=r.slice(32);if(!cn.utils.isValidSecretKey(s))throw new Error("Tweak bigger than curve order");let o={versions:this.versions,chainCode:i,depth:this.depth+1,parentFingerprint:this.fingerprint,index:t},a=oa.fromBytes(s);try{if(this._privateKey){let c=oa.create(oa.fromBytes(this._privateKey)+a);if(!oa.isValidNot0(c))throw new Error("The tweak was out of range or the resulted private key is invalid");o.privateKey=oa.toBytes(c)}else{let c=aa.fromBytes(this._publicKey).add(aa.BASE.multiply(a));if(c.equals(aa.ZERO))throw new Error("The tweak was equal to negative P, which made the result key invalid");o.publicKey=c.toBytes(!0)}return new Or(o)}catch{return this.deriveChild(t+1)}}sign(t){if(!this._privateKey)throw new Error("No privateKey set!");return me(t,32),cn.sign(t,this._privateKey,{prehash:!1})}verify(t,n){if(me(t,32),me(n,64),!this._publicKey)throw new Error("No publicKey set!");return cn.verify(n,t,this._publicKey,{prehash:!1})}wipePrivateData(){return this._privateKey&&(this._privateKey.fill(0),this._privateKey=void 0),this}toJSON(){return{xpriv:this.privateExtendedKey,xpub:this.publicExtendedKey}}serialize(t,n){if(!this.chainCode)throw new Error("No chainCode set");return me(n,33),zt(Hc(t),new Uint8Array([this.depth]),Hc(this.parentFingerprint),Hc(this.index),this.chainCode,n)}};var b0="m/54'/784'/0'/0/0",Jc=class ca extends $c{constructor(t){if(super(),t)this.keypair=t;else{let n=cn.utils.randomSecretKey();this.keypair={publicKey:cn.getPublicKey(n,!0),secretKey:n}}}getKeyScheme(){return"Secp256k1"}static generate(){return new ca}static fromSecretKey(t,n){if(typeof t=="string"){let s=qc(t);if(s.scheme!=="Secp256k1")throw new Error(`Expected a Secp256k1 keypair, got ${s.scheme}`);return this.fromSecretKey(s.secretKey,n)}let r=cn.getPublicKey(t,!0);if(!n||!n.skipValidation){let s=ir(new TextEncoder().encode("sui validation"),{dkLen:32}),i=cn.sign(s,t,{prehash:!1});if(!cn.verify(i,s,r,{lowS:!0,prehash:!1}))throw new Error("Provided secretKey is invalid")}return new ca({publicKey:r,secretKey:t})}static fromSeed(t){return new ca({publicKey:cn.getPublicKey(t,!0),secretKey:t})}getPublicKey(){return new l0(this.keypair.publicKey)}getSecretKey(){return Gc(this.keypair.secretKey,this.getKeyScheme())}async sign(t){return cn.sign(t,this.keypair.secretKey,{lowS:!0})}static deriveKeypair(t,n){if(n==null&&(n=b0),!Yg(n))throw new Error("Invalid derivation path");let r=Or.fromMasterSeed(ep(t)).derive(n);if(r.publicKey==null||r.privateKey==null)throw new Error("Invalid key");return new ca({publicKey:r.publicKey,secretKey:r.privateKey})}};var $t={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=>De(Ve,n)),address:De(Ve,t)}}},SplitCoins(e,t){return{$kind:"SplitCoins",SplitCoins:{coin:De(Ve,e),amounts:t.map(n=>De(Ve,n))}}},MergeCoins(e,t){return{$kind:"MergeCoins",MergeCoins:{destination:De(Ve,e),sources:t.map(n=>De(Ve,n))}}},Publish({modules:e,dependencies:t}){return{$kind:"Publish",Publish:{modules:e.map(n=>typeof n=="string"?n:ye(new Uint8Array(n))),dependencies:t.map(n=>Ft(n))}}},Upgrade({modules:e,dependencies:t,package:n,ticket:r}){return{$kind:"Upgrade",Upgrade:{modules:e.map(s=>typeof s=="string"?s:ye(new Uint8Array(s))),dependencies:t.map(s=>Ft(s)),package:n,ticket:De(Ve,r)}}},MakeMoveVec({type:e,elements:t}){return{$kind:"MakeMoveVec",MakeMoveVec:{type:e??null,elements:t.map(n=>De(Ve,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=>De(Ve,i)):De(Ve,s)])),data:n}}}};function A2(e){return{$kind:"Pure",Pure:{bytes:e instanceof Uint8Array?ye(e):e.toBase64()}}}var et={Pure:A2,ObjectRef({objectId:e,digest:t,version:n}){return{$kind:"Object",Object:{$kind:"ImmOrOwnedObject",ImmOrOwnedObject:{digest:t,version:n,objectId:X(e)}}}},SharedObjectRef({objectId:e,mutable:t,initialSharedVersion:n}){return{$kind:"Object",Object:{$kind:"SharedObject",SharedObject:{mutable:t,initialSharedVersion:n,objectId:X(e)}}}},ReceivingRef({objectId:e,digest:t,version:n}){return{$kind:"Object",Object:{$kind:"Receiving",Receiving:{digest:t,version:n,objectId:X(e)}}}},FundsWithdrawal({reservation:e,typeArg:t,withdrawFrom:n}){return{$kind:"FundsWithdrawal",FundsWithdrawal:{reservation:e,typeArg:t,withdrawFrom:n}}}};function v0(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 _0(e){if(e.body.$kind!=="datatype")return!1;let{package:t,module:n,name:r}=v0(e.body.datatype.typeName);return X(t)===Fr&&n==="tx_context"&&r==="TxContext"}function Zc(e){switch(e.$kind){case"address":return E.Address;case"bool":return E.Bool;case"u8":return E.U8;case"u16":return E.U16;case"u32":return E.U32;case"u64":return E.U64;case"u128":return E.U128;case"u256":return E.U256;case"vector":{if(e.vector.$kind==="u8")return E.byteVector().transform({input:n=>typeof n=="string"?new TextEncoder().encode(n):n,output:n=>n});let t=Zc(e.vector);return t?E.vector(t):null}case"datatype":{let{package:t,module:n,name:r}=v0(e.datatype.typeName),s=X(t);if(s===Co){if(n==="ascii"&&r==="String")return E.String;if(n==="string"&&r==="String")return E.String;if(n==="option"&&r==="Option"){let i=Zc(e.datatype.typeParameters[0]);return i?E.vector(i):null}}return s===Fr&&n==="object"&&r==="ID"?E.Address:null}case"typeParameter":case"unknown":return null}}var Ir="CoinWithBalance",es=be("0x2::sui::SUI");function Kn({type:e=es,balance:t,useGasCoin:n=!0}){let r=null;return s=>{if(r)return r;s.addIntentResolver(Ir,Kc);let i=e==="gas"?e:be(e);return r=s.add($t.Intent({name:Ir,inputs:{},data:{type:i===es&&n?"gas":i,balance:BigInt(t),outputKind:"coin"}})),r}}function w0({type:e=es,balance:t,useGasCoin:n=!0}){let r=null;return s=>{if(r)return r;s.addIntentResolver(Ir,Kc);let i=e==="gas"?e:be(e);return r=s.add($t.Intent({name:Ir,inputs:{},data:{type:i===es&&n?"gas":i,balance:BigInt(t),outputKind:"balance"}})),r}}var x2=H({type:Te(),balance:Fi(),outputKind:Ze(ed(["coin","balance"]))});async function Kc(e,t,n){let r=new Set,s=new Map,i=new Map;if(!e.sender)throw new Error("Sender must be set to resolve CoinWithBalance");for(let[_,I]of e.commands.entries()){if(I.$kind!=="$Intent"||I.$Intent.name!==Ir)continue;let{type:A,balance:M,outputKind:C}=De(x2,I.$Intent.data);if(M===0n){let B=A==="gas"?es:A;e.replaceCommand(_,$t.MoveCall({target:(C??"coin")==="balance"?"0x2::balance::zero":"0x2::coin::zero",typeArguments:[B]}));continue}A!=="gas"&&r.add(A),s.set(A,(s.get(A)??0n)+M),i.has(A)||i.set(A,[]),i.get(A).push({balance:M,outputKind:C??"coin"})}if(s.has("gas")&&s.has(es))throw new Error("Cannot mix SUI CoinWithBalance intents that use the gas coin with ones that do not (useGasCoin: false). Use one or the other.");let o=new Set;for(let _ of e.inputs)_.Object?.ImmOrOwnedObject&&o.add(_.Object.ImmOrOwnedObject.objectId),_.UnresolvedObject?.objectId&&o.add(_.UnresolvedObject.objectId);let a=new Map,c=new Map,u=t.client;if(!u)throw new Error("Client must be provided to build or serialize transactions with CoinWithBalance intents");await Promise.all([...[...r].map(async _=>{let{coins:I,addressBalance:A}=await C2({coinType:_,balance:s.get(_),client:u,owner:e.sender,usedIds:o});a.set(_,I),c.set(_,A)}),s.has("gas")?await u.core.getBalance({owner:e.sender,coinType:es}).then(({balance:_})=>{c.set("gas",BigInt(_.addressBalance))}):null]);let d=new Map,p=new Map,f=new Set,g=new Map,b=0;for(;b<e.commands.length;){let _=e.commands[b];if(_.$kind!=="$Intent"||_.$Intent.name!==Ir){b++;continue}let{type:I,balance:A}=_.$Intent.data,M=I==="gas"?es:I,C=s.get(I),B=c.get(I)??0n,L=[],j,q=i.get(I)??[];if(q.every(P=>P.outputKind==="balance")&&B>=C)L.push($t.MoveCall({target:"0x2::balance::redeem_funds",typeArguments:[M],arguments:[e.addInput("withdrawal",et.FundsWithdrawal({reservation:{$kind:"MaxAmountU64",MaxAmountU64:String(A)},typeArg:{$kind:"Balance",Balance:M},withdrawFrom:{$kind:"Sender",Sender:!0}}))]})),j={$kind:"NestedResult",NestedResult:[b+L.length-1,0]};else{if(!g.has(I)){let D=q,Z=[];if(B>=C)f.add(I),L.push($t.MoveCall({target:"0x2::coin::redeem_funds",typeArguments:[M],arguments:[e.addInput("withdrawal",et.FundsWithdrawal({reservation:{$kind:"MaxAmountU64",MaxAmountU64:String(C)},typeArg:{$kind:"Balance",Balance:M},withdrawFrom:{$kind:"Sender",Sender:!0}}))]})),Z.push({$kind:"Result",Result:b+L.length-1});else if(I==="gas")Z.push({$kind:"GasCoin",GasCoin:!0});else{let l=a.get(I),m=l.reduce((v,w)=>v+BigInt(w.balance),0n),y=C>m?C-m:0n;p.set(I,m+y===C);for(let v of l)Z.push(e.addInput("object",et.ObjectRef({objectId:v.objectId,digest:v.digest,version:v.version})));y>0n&&(f.add(I),L.push($t.MoveCall({target:"0x2::coin::redeem_funds",typeArguments:[M],arguments:[e.addInput("withdrawal",et.FundsWithdrawal({reservation:{$kind:"MaxAmountU64",MaxAmountU64:String(y)},typeArg:{$kind:"Balance",Balance:M},withdrawFrom:{$kind:"Sender",Sender:!0}}))]})),Z.push({$kind:"Result",Result:b+L.length-1}))}let ce=Z[0],te=Z.slice(1);for(let l=0;l<te.length;l+=500)L.push($t.MergeCoins(ce,te.slice(l,l+500)));d.set(I,ce);let U=b+L.length;L.push($t.SplitCoins(ce,D.map(l=>e.addInput("pure",et.Pure(E.u64().serialize(l.balance))))));let F=[];for(let l=0;l<D.length;l++){let m={$kind:"NestedResult",NestedResult:[U,l]};D[l].outputKind==="balance"?(L.push($t.MoveCall({target:"0x2::coin::into_balance",typeArguments:[M],arguments:[m]})),F.push({$kind:"NestedResult",NestedResult:[b+L.length-1,0]})):F.push(m)}g.set(I,{results:F,nextIntent:0})}let P=g.get(I);j=P.results[P.nextIntent++]}e.replaceCommand(b,L,j),b+=L.length}for(let[_,I]of d){if(_==="gas"&&!f.has(_))continue;let A=_==="gas"?es:_,M=i.get(_)?.some(B=>B.outputKind==="balance"),C=f.has(_);M||C?e.commands.push($t.MoveCall({target:"0x2::coin::send_funds",typeArguments:[A],arguments:[I,e.addInput("pure",et.Pure(E.Address.serialize(e.sender)))]})):p.get(_)&&e.commands.push($t.MoveCall({target:"0x2::coin::destroy_zero",typeArguments:[A],arguments:[I]}))}return n()}async function C2({coinType:e,balance:t,client:n,owner:r,usedIds:s}){let i=t,o=[],a=n.core.getBalance({owner:r,coinType:e}).then(({balance:p})=>(i-=BigInt(p.addressBalance),p)),[c,u]=await Promise.all([d(),a]);if(BigInt(u.balance)<t)throw new Error(`Insufficient balance of ${e} for owner ${r}. Required: ${t}, Available: ${t-i}`);return{coins:c,balance:BigInt(u.coinBalance),addressBalance:BigInt(u.addressBalance),coinBalance:BigInt(u.coinBalance)};async function d(p=null){let{objects:f,hasNextPage:g,cursor:b}=await n.core.listCoins({owner:r,coinType:e,cursor:p});await a;for(let _ of f)s.has(_.objectId)||(o.push(_),i-=BigInt(_.balance));return i>0n&&g?d(b):o}}function ua(e){return nt(Object.entries(e).map(([t,n])=>H({[t]:n})))}var dr=ua({GasCoin:le(!0),Input:Le(Ge(),ze()),Result:Le(Ge(),ze()),NestedResult:Ro([Le(Ge(),ze()),Le(Ge(),ze())])}),N2=H({budget:Ae(rt),price:Ae(rt),owner:Ae(Xs),payment:Ae(ge(ar))}),R2=H({package:bn,module:Te(),function:Te(),typeArguments:ge(Te()),arguments:ge(dr)}),M2=H({name:Te(),inputs:Ks(Te(),nt([dr,ge(dr)])),data:Ks(Te(),Tr())}),B2=ua({MoveCall:R2,TransferObjects:H({objects:ge(dr),address:dr}),SplitCoins:H({coin:dr,amounts:ge(dr)}),MergeCoins:H({destination:dr,sources:ge(dr)}),Publish:H({modules:ge(ms),dependencies:ge(bn)}),MakeMoveVec:H({type:Ae(Te()),elements:ge(dr)}),Upgrade:H({modules:ge(ms),dependencies:ge(bn),package:bn,ticket:dr}),$Intent:M2}),j2=ua({Object:ua({ImmOrOwnedObject:ar,SharedObject:H({objectId:bn,initialSharedVersion:rt,mutable:$r()}),Receiving:ar}),Pure:H({bytes:ms}),UnresolvedPure:H({value:Tr()}),UnresolvedObject:H({objectId:bn,version:Ze(Ae(rt)),digest:Ze(Ae(Te())),initialSharedVersion:Ze(Ae(rt)),mutable:Ze(Ae($r()))}),FundsWithdrawal:nd}),D2=ua({None:le(!0),Epoch:rt,ValidDuring:sd}),T0=H({version:le(2),sender:qr(Xs),expiration:qr(D2),gasData:N2,inputs:ge(j2),commands:ge(B2),digest:Ze(Ae(Te()))});var U2=X("0xacc"),P2=Pn.parseFromStr("0x2::accumulator::Key<0x2::balance::Balance<0x2::sui::SUI>>"),k0=new Uint8Array([172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172]);function fp(e){return ln(e).slice(12,32).every((t,n)=>t===k0[n])}function L2(e,t){let n=dn(or(U2,P2,E.Address.serialize(e).toBytes()).slice(2)),r=ln(t);if(r.length!==32)throw new Error(`Invalid chain identifier length: expected 32 bytes, got ${r.length}`);let s=new Uint8Array(32);for(let i=0;i<32;i++)s[i]=n[i]^r[i];return`0x${Vt(s)}`}function S0(e,t,n,r){let s=new Uint8Array(32),i=new DataView(s.buffer);i.setBigUint64(0,e,!0);let o=Number(r);if(!Number.isSafeInteger(o)||o<0||o>4294967295)throw new Error(`Epoch ${r} out of u32 range for coin reservation digest`);return i.setUint32(8,o,!0),s.set(k0,12),De(ar,{objectId:L2(t,n),version:"0",digest:Un(s)})}var V2=50,F2=1000n,$2=5e10;function mp(e,t=1n){let n=F2*BigInt(t),r=BigInt(e.computationCost)+n,s=r+BigInt(e.storageCost)-BigInt(e.storageRebate);return String(s>r?s:r)}function q2(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 Xc(e,t,n){let r=q2(t),s=!t.onlyTransactionKind&&!e.gasData.price,i=!t.onlyTransactionKind&&!e.gasData.payment,o=e.gasData.owner??e.sender,a=!1,c=0n;e.mapArguments(A=>(A.$kind==="GasCoin"&&(a=!0),A));let u=o?X(o):null;for(let A of e.inputs){if(A.$kind!=="FundsWithdrawal"||!u||be(A.FundsWithdrawal.typeArg.Balance)!==zn)continue;let M=A.FundsWithdrawal.withdrawFrom.Sender?e.sender:o;M&&X(M)===u&&A.FundsWithdrawal.reservation.$kind==="MaxAmountU64"&&(c+=BigInt(A.FundsWithdrawal.reservation.MaxAmountU64))}let d=!t.onlyTransactionKind&&!e.expiration&&!e.gasData.budget,p=s||i&&a||d,f=i&&a||d,[,g,b,_,I]=await Promise.all([J2(e,r),p?r.core.getCurrentSystemState():null,i&&o?r.core.getBalance({owner:o}):null,i&&o?r.core.listCoins({owner:o,coinType:zn}):null,f?r.core.getChainIdentifier():null]);if(await H2(e,r),!t.onlyTransactionKind){let A=g?.systemState??null,M=I?.chainIdentifier??null;if(A&&!e.gasData.price&&(e.gasData.price=A.referenceGasPrice),await G2(e,r,d&&A&&M?E0(A,M):void 0),i){if(!b||!_)throw new Error("Could not resolve gas payment: a gas owner or sender must be set to fetch balance and coins.");z2({transactionData:e,balance:b,coins:_,usesGasCoin:a,withdrawals:c,gasPayer:o,chainIdentifier:M,epoch:A?.epoch??null})}!e.expiration&&e.gasData.payment?.length===0&&await W2(e,r,A,M)}return await n()}async function G2(e,t,n){if(e.gasData.budget)return;let r=await t.core.simulateTransaction({transaction:e.build({overrides:{gasData:{budget:String($2),payment:[]},...n&&{expiration:n}}}),include:{effects:!0}});if(r.$kind==="FailedTransaction"){let s=r.FailedTransaction.status.error??void 0;throw new ei(`Transaction resolution failed: ${s?.message??"Unknown error"}`,{cause:r,executionError:s})}e.gasData.budget=mp(r.Transaction.effects.gasUsed,e.gasData.price?String(e.gasData.price):void 0)}function z2({transactionData:e,balance:t,coins:n,usesGasCoin:r,withdrawals:s,gasPayer:i,chainIdentifier:o,epoch:a}){let c=BigInt(e.gasData.budget),u=BigInt(t.balance.addressBalance);if(c===0n||!r&&u>=c+s){e.gasData.payment=[];return}let d=n.objects.filter(g=>!e.inputs.find(b=>b.Object?.ImmOrOwnedObject?g.objectId===b.Object.ImmOrOwnedObject.objectId:!1)),p=d.map(g=>({objectId:g.objectId,digest:g.digest,version:g.version})),f=u-s;if(r&&f>0n&&o&&a)e.gasData.payment=[S0(f,i,o,a),...p];else if(d.length)e.gasData.payment=p;else throw new Error("No valid gas coins found for the transaction.")}async function W2(e,t,n,r=null){let[s,i]=await Promise.all([r??t.core.getChainIdentifier().then(o=>o.chainIdentifier),n??t.core.getCurrentSystemState().then(o=>o.systemState)]);e.expiration=E0(i,s)}function E0(e,t){let n=BigInt(e.epoch);return{$kind:"ValidDuring",ValidDuring:{minEpoch:String(n),maxEpoch:String(n+1n),minTimestamp:null,maxTimestamp:null,chain:t,nonce:Math.random()*4294967296>>>0}}}async function H2(e,t){let n=e.inputs.filter(d=>d.UnresolvedObject&&!(d.UnresolvedObject.version||d.UnresolvedObject?.initialSharedVersion)),r=[...new Set(n.map(d=>Ft(d.UnresolvedObject.objectId)))],s=r.length?Gn(r,V2):[],i=(await Promise.all(s.map(d=>t.core.getObjects({objectIds:d})))).flatMap(d=>d.objects),o=new Map(r.map((d,p)=>[d,i[p]])),a=Array.from(o).filter(([d,p])=>p instanceof Error).map(([d,p])=>p.message);if(a.length)throw new Error(`The following input objects are invalid: ${a.join(", ")}`);let c=i.map(d=>{if(d instanceof Error)throw new Error(`Failed to fetch object: ${d.message}`);let p=d.owner,f=p&&typeof p=="object"?p.$kind==="Shared"?p.Shared.initialSharedVersion:p.$kind==="ConsensusAddressOwner"?p.ConsensusAddressOwner.startVersion:null:null;return{objectId:d.objectId,digest:d.digest,version:d.version,initialSharedVersion:f}}),u=new Map(r.map((d,p)=>[d,c[p]]));for(let[d,p]of e.inputs.entries()){if(!p.UnresolvedObject)continue;let f,g=X(p.UnresolvedObject.objectId),b=u.get(g);p.UnresolvedObject.initialSharedVersion??b?.initialSharedVersion?f=et.SharedObjectRef({objectId:g,initialSharedVersion:p.UnresolvedObject.initialSharedVersion||b?.initialSharedVersion,mutable:p.UnresolvedObject.mutable||Z2(e,d)}):K2(e,d)&&(f=et.ReceivingRef({objectId:g,digest:p.UnresolvedObject.digest??b?.digest,version:p.UnresolvedObject.version??b?.version})),e.inputs[e.inputs.indexOf(p)]=f??et.ObjectRef({objectId:g,digest:p.UnresolvedObject.digest??b?.digest,version:p.UnresolvedObject.version??b?.version})}}async function J2(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,d]=a.split("::"),{function:p}=await t.core.getMoveFunction({packageId:c,moduleName:u,name:d});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&&_0(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}`,d=c._argumentTypes;if(d){if(d.length!==a.MoveCall.arguments.length)throw new Error(`Incorrect number of arguments for ${u}`);d.forEach((p,f)=>{let g=c.arguments[f];if(g.$kind!=="Input")return;let b=n[g.Input];if(!b.UnresolvedPure&&!b.UnresolvedObject)return;let _=b.UnresolvedPure?.value??b.UnresolvedObject?.objectId,I=Zc(p.body);if(I){g.type="pure",n[n.indexOf(b)]=et.Pure(I.serialize(_));return}if(typeof _!="string")throw new Error(`Expect the argument to be an object id string, got ${JSON.stringify(_,null,2)}`);g.type="object";let A=b.UnresolvedPure?{$kind:"UnresolvedObject",UnresolvedObject:{objectId:_}}:b;n[g.Input]=A})}})}function Z2(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 K2(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=Y2(s.MoveCall._argumentTypes[i])||n}}),n}var X2="0x0000000000000000000000000000000000000000000000000000000000000002::transfer::Receiving";function Y2(e){return e.body.$kind!=="datatype"?!1:e.body.datatype.typeName===X2}function hp(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 A0(e,t,n){return eO(e),hp(e,t)?(Q2(t).core?.resolveTransactionPlugin()??Xc)(e,t,async()=>{await O0(e),await n()}):(await O0(e),n())}function O0(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 Q2(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 eO(e){for(let t of e.commands)switch(t.$kind){case"SplitCoins":t.SplitCoins.amounts.forEach(n=>{I0(n,E.U64,e)});break;case"TransferObjects":I0(t.TransferObjects.address,E.Address,e);break}}function I0(e,t,n){if(e.$kind!=="Input")return;let r=n.inputs[e.Input];r.$kind==="UnresolvedPure"&&(n.inputs[e.Input]=et.Pure(t.serialize(r.UnresolvedPure.value)))}function x0(e){function t(n){return e(n)}return t.system=n=>{let r=n?.mutable;return t(r!==void 0?et.SharedObjectRef({objectId:za,initialSharedVersion:1,mutable:r}):{$kind:"UnresolvedObject",UnresolvedObject:{objectId:za,initialSharedVersion:1}})},t.clock=()=>t(et.SharedObjectRef({objectId:he,initialSharedVersion:1,mutable:!1})),t.random=()=>t({$kind:"UnresolvedObject",UnresolvedObject:{objectId:Kl,mutable:!1}}),t.denyList=n=>t({$kind:"UnresolvedObject",UnresolvedObject:{objectId:Xl,mutable:n?.mutable}}),t.option=({type:n,value:r})=>s=>s.moveCall({typeArguments:[n],target:`${Co}::option::${r===null?"none":"some"}`,arguments:r===null?[]:[s.object(r)]}),t}function C0(e){function t(n,r){if(typeof n=="string")return e(Ui(n).serialize(r));if(n instanceof Uint8Array||Bi(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(E.U8.serialize(n)),t.u16=n=>e(E.U16.serialize(n)),t.u32=n=>e(E.U32.serialize(n)),t.u64=n=>e(E.U64.serialize(n)),t.u128=n=>e(E.U128.serialize(n)),t.u256=n=>e(E.U256.serialize(n)),t.bool=n=>e(E.Bool.serialize(n)),t.string=n=>e(E.String.serialize(n)),t.address=n=>e(E.Address.serialize(n)),t.id=t.address,t.vector=(n,r)=>e(E.vector(Ui(n)).serialize(r)),t.option=(n,r)=>e(E.option(Ui(n)).serialize(r)),t}function N0(){return async(e,t,n)=>{let r=qm(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()");Gm(e,await t.client.core.mvr.resolve({types:r.types,packages:r.packages})),await n()}}function gp(e,t=1/0){let n={$kind:"Result",get Result(){return typeof e=="function"?e():e}},r=[],s=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 R0=Symbol.for("@mysten/transaction");function Qc(e){return!!e&&typeof e=="object"&&e[R0]===!0}var J=class Yc{#e;#t;#s=new Map;#r=[];#i=[];#o=new Set;#a=new Set;#c=new Map;static fromKind(t){let n=new Yc;return n.#n=vn.fromKindBytes(typeof t=="string"?ie(t):t),n.#r=n.#n.inputs.slice(),n.#i=n.#n.commands.slice(),n.#o=new Set(n.#i.map((r,s)=>s)),n}static from(t){let n=new Yc;if(Qc(t)?n.#n=vn.restore(t.getData()):typeof t!="string"||!t.startsWith("{")?n.#n=vn.fromBytes(typeof t=="string"?ie(t):t):n.#n=vn.restore(JSON.parse(t)),n.#r=n.#n.inputs.slice(),n.#i=n.#n.commands.slice(),n.#o=new Set(n.#i.map((r,s)=>s)),!n.isPreparedForSerialization({supportedIntents:[Ir]}))throw new Error("Transaction has unresolved intents or async thunks. Call `prepareForSerialization` before copying.");return n.#n.commands.some(r=>r.$Intent?.name===Ir)&&n.addIntentResolver(Ir,Kc),n}addSerializationPlugin(t){this.#e.push(t)}addBuildPlugin(t){this.#t.push(t)}addIntentResolver(t,n){if(this.#s.has(t)&&this.#s.get(t)!==n)throw new Error(`Intent resolver for ${t} already exists`);this.#s.set(t,n)}setSender(t){this.#n.sender=t}setSenderIfNotSet(t){this.#n.sender||(this.#n.sender=t)}setExpiration(t){this.#n.expiration=t?De(id,t):null}setGasPrice(t){this.#n.gasData.price=String(t)}setGasBudget(t){this.#n.gasData.budget=String(t)}setGasBudgetIfNotSet(t){this.#n.gasData.budget==null&&(this.#n.gasData.budget=String(t))}setGasOwner(t){this.#n.gasData.owner=t}setGasPayment(t){this.#n.gasData.payment=t.map(n=>De(ar,n))}#n;getData(){return this.#n.snapshot()}get[R0](){return!0}get pure(){return Object.defineProperty(this,"pure",{enumerable:!1,value:C0(t=>Bi(t)?this.#u("pure",{$kind:"Pure",Pure:{bytes:t.toBase64()}}):this.#u("pure",No(rd,t)?De(rd,t):t instanceof Uint8Array?et.Pure(t):{$kind:"UnresolvedPure",UnresolvedPure:{value:t}}))}),this.pure}constructor(){this.object=x0(t=>{if(typeof t=="function")return this.object(this.add(t));if(typeof t=="object"&&No(Ve,t))return t;let n=qi(t),r=this.#n.inputs.find(s=>n===qi(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:this.#n.inputs.indexOf(r),type:"object"}:this.#u("object",typeof t=="string"?{$kind:"UnresolvedObject",UnresolvedObject:{objectId:X(t)}}:t)}),this.#n=new vn,this.#t=[],this.#e=[]}get gas(){return{$kind:"GasCoin",GasCoin:!0}}coin({type:t,balance:n,useGasCoin:r}){return this.add(Kn({type:t,balance:n,useGasCoin:r}))}balance({type:t,balance:n,useGasCoin:r}){return this.add(w0({type:t,balance:n,useGasCoin:r}))}objectRef(...t){return this.object(et.ObjectRef(...t))}receivingRef(...t){return this.object(et.ReceivingRef(...t))}sharedObjectRef(...t){return this.object(et.SharedObjectRef(...t))}#h(){let t=new Yc;return t.#n=this.#n,t.#e=this.#e,t.#t=this.#t,t.#s=this.#s,t.#a=this.#a,t.#o=new Set(this.#o),t.#c=this.#c,this.#r.push(t.#r),this.#i.push(t.#i),t}add(t){if(typeof t=="function"){if(this.#c.has(t))return this.#c.get(t);let n=this.#h(),r=t(n);if(!(r&&typeof r=="object"&&"then"in r))return this.#o=n.#o,this.#c.set(t,r),r;let s=this.#l({$kind:"$Intent",$Intent:{name:"AsyncTransactionThunk",inputs:{},data:{resultIndex:this.#n.commands.length,result:null}}});this.#a.add(Promise.resolve(r).then(o=>{s.$Intent.data.result=o}));let i=gp(()=>s.$Intent.data.resultIndex);return this.#c.set(t,i),i}else this.#l(t);return gp(this.#n.commands.length-1)}#l(t){let n=this.#n.commands.length;return this.#i.push(t),this.#o.add(n),this.#n.commands.push(t),this.#n.mapCommandArguments(n,r=>{if(r.$kind==="Result"&&!this.#o.has(r.Result))throw new Error(`Result { Result: ${r.Result} } is not available to use in the current transaction`);if(r.$kind==="NestedResult"&&!this.#o.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>=this.#n.inputs.length)throw new Error(`Input { Input: ${r.Input} } references an input that does not exist in the current transaction`);return r}),t}#u(t,n){return this.#r.push(n),this.#n.addInput(t,n)}#d(t){return Bi(t)?this.pure(t):this.#p(t)}#p(t){if(typeof t=="function"){let n=this.add(t);return typeof n=="function"?this.#p(n):De(Ve,n)}return De(Ve,t)}splitCoins(t,n){let r=$t.SplitCoins(typeof t=="string"?this.object(t):this.#p(t),n.map(s=>typeof s=="number"||typeof s=="bigint"||typeof s=="string"?this.pure.u64(s):this.#d(s)));return this.#l(r),gp(this.#n.commands.length-1,n.length)}mergeCoins(t,n){return this.add($t.MergeCoins(this.object(t),n.map(r=>this.object(r))))}publish({modules:t,dependencies:n}){return this.add($t.Publish({modules:t,dependencies:n}))}upgrade({modules:t,dependencies:n,package:r,ticket:s}){return this.add($t.Upgrade({modules:t,dependencies:n,package:r,ticket:this.object(s)}))}moveCall({arguments:t,...n}){return this.add($t.MoveCall({...n,arguments:t?.map(r=>this.#d(r))}))}transferObjects(t,n){return this.add($t.TransferObjects(t.map(r=>this.object(r)),typeof n=="string"?this.pure.address(n):this.#d(n)))}makeMoveVec({type:t,elements:n}){return this.add($t.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 this.#u("object",r)}serialize(){return JSON.stringify(Ym(this.#n.snapshot()))}async toJSON(t={}){await this.prepareForSerialization(t);let n=this.isFullyResolved();return JSON.stringify(De(T0,n?{...this.#n.snapshot(),digest:this.#n.getDigest()}:this.#n.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)}isPreparedForSerialization(t={}){return!(this.#a.size>0||this.#n.commands.some(n=>n.$Intent&&!t.supportedIntents?.includes(n.$Intent.name)))}isFullyResolved(){return!(!this.isPreparedForSerialization()||!this.#n.sender||hp(this.#n,{}))}async build(t={}){return await this.prepareForSerialization(t),await this.#f(t),this.#n.build({onlyTransactionKind:t.onlyTransactionKind})}async getDigest(t={}){return await this.prepareForSerialization(t),await this.#f(t),this.#n.getDigest()}async#f(t){if(!t.onlyTransactionKind&&!this.#n.sender)throw new Error("Missing transaction sender");await this.#m([...this.#t,A0],t)}async#m(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(this.#n,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{this.#r=this.#n.inputs.slice(),this.#i=this.#n.commands.slice(),this.#o=new Set(this.#i.map((r,s)=>s))}}async#g(){for(;this.#a.size>0;){let t=Promise.all(this.#a);this.#a.clear(),this.#a.add(t),await t,this.#a.delete(t)}}#y(){let t=this.#n.commands,n=this.#n.inputs,r=this.#i.flat(1/0),s=this.#r.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");this.#n.commands=i,this.#n.inputs=s,this.#i=i,this.#r=s,this.#o=new Set(i.map((a,c)=>c));function o(a){let c=t[a];if(c.$Intent?.name==="AsyncTransactionThunk"){let d=c.$Intent.data.result;if(d==null)throw new Error("AsyncTransactionThunk has not been resolved");return o(d.Result)}let u=i.indexOf(c);if(u===-1)throw new Error("Unable to find original index for command");return u}this.#n.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{}}async prepareForSerialization(t){await this.#g(),this.#y();let n=new Set;for(let s of this.#n.commands)s.$Intent&&n.add(s.$Intent.name);let r=[...this.#e];for(let s of n)if(!t.supportedIntents?.includes(s)){if(!this.#s.has(s))throw new Error(`Missing intent resolver for ${s}`);r.push(this.#s.get(s))}r.push(N0()),await this.#m(r,t)}};var la={NAME:"Name",DOCUMENT:"Document",OPERATION_DEFINITION:"OperationDefinition",VARIABLE_DEFINITION:"VariableDefinition",SELECTION_SET:"SelectionSet",FIELD:"Field",ARGUMENT:"Argument",FRAGMENT_SPREAD:"FragmentSpread",INLINE_FRAGMENT:"InlineFragment",FRAGMENT_DEFINITION:"FragmentDefinition",VARIABLE:"Variable",INT:"IntValue",FLOAT:"FloatValue",STRING:"StringValue",BOOLEAN:"BooleanValue",NULL:"NullValue",ENUM:"EnumValue",LIST:"ListValue",OBJECT:"ObjectValue",OBJECT_FIELD:"ObjectField",DIRECTIVE:"Directive",NAMED_TYPE:"NamedType",LIST_TYPE:"ListType",NON_NULL_TYPE:"NonNullType"};var yp=class extends Error{constructor(t,n,r,s,i,o,a){super(t),this.name="GraphQLError",this.message=t,i&&(this.path=i),n&&(this.nodes=Array.isArray(n)?n:[n]),r&&(this.source=r),s&&(this.positions=s),o&&(this.originalError=o);var c=a;if(!c&&o){var u=o.extensions;u&&typeof u=="object"&&(c=u)}this.extensions=c||{}}toJSON(){return{...this,message:this.message}}toString(){return this.message}get[Symbol.toStringTag](){return"GraphQLError"}},oe,z;function kn(e){return new yp(`Syntax Error: Unexpected token at ${z} in ${e}`)}function M0(e){if(e.lastIndex=z,e.test(oe))return oe.slice(z,z=e.lastIndex)}var eu=/ +(?=[^\s])/y;function tO(e){for(var t=e.split(`
|
|
11
|
+
`),n="",r=0,s=0,i=t.length-1,o=0;o<t.length;o++)eu.lastIndex=0,eu.test(t[o])&&(o&&(!r||eu.lastIndex<r)&&(r=eu.lastIndex),s=s||o,i=o);for(var a=s;a<=i;a++)a!==s&&(n+=`
|
|
12
|
+
`),n+=t[a].slice(r).replace(/\\"""/g,'"""');return n}function Me(){for(var e=0|oe.charCodeAt(z++);e===9||e===10||e===13||e===32||e===35||e===44||e===65279;e=0|oe.charCodeAt(z++))if(e===35)for(;(e=0|oe.charCodeAt(z++))&&e!==10&&e!==13;);z--}function bp(){for(var e=z,t=0|oe.charCodeAt(z++);t>=48&&t<=57||t>=65&&t<=90||t===95||t>=97&&t<=122;t=0|oe.charCodeAt(z++));if(e===z-1)throw kn("Name");var n=oe.slice(e,--z);return Me(),n}function Nn(){return{kind:"Name",value:bp()}}var nO=/(?:"""|(?:[\s\S]*?[^\\])""")/y,rO=/(?:(?:\.\d+)?[eE][+-]?\d+|\.\d+)/y;function eo(e){var t;switch(oe.charCodeAt(z)){case 91:z++,Me();for(var n=[];oe.charCodeAt(z)!==93;)n.push(eo(e));return z++,Me(),{kind:"ListValue",values:n};case 123:z++,Me();for(var r=[];oe.charCodeAt(z)!==125;){var s=Nn();if(oe.charCodeAt(z++)!==58)throw kn("ObjectField");Me(),r.push({kind:"ObjectField",name:s,value:eo(e)})}return z++,Me(),{kind:"ObjectValue",fields:r};case 36:if(e)throw kn("Variable");return z++,{kind:"Variable",name:Nn()};case 34:if(oe.charCodeAt(z+1)===34&&oe.charCodeAt(z+2)===34){if(z+=3,(t=M0(nO))==null)throw kn("StringValue");return Me(),{kind:"StringValue",value:tO(t.slice(0,-3)),block:!0}}else{var i=z,o;z++;var a=!1;for(o=0|oe.charCodeAt(z++);o===92&&(z++,a=!0)||o!==10&&o!==13&&o!==34&&o;o=0|oe.charCodeAt(z++));if(o!==34)throw kn("StringValue");return t=oe.slice(i,z),Me(),{kind:"StringValue",value:a?JSON.parse(t):t.slice(1,-1),block:!1}}case 45:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:for(var c=z++,u;(u=0|oe.charCodeAt(z++))>=48&&u<=57;);var d=oe.slice(c,--z);if((u=oe.charCodeAt(z))===46||u===69||u===101){if((t=M0(rO))==null)throw kn("FloatValue");return Me(),{kind:"FloatValue",value:d+t}}else return Me(),{kind:"IntValue",value:d};case 110:if(oe.charCodeAt(z+1)===117&&oe.charCodeAt(z+2)===108&&oe.charCodeAt(z+3)===108)return z+=4,Me(),{kind:"NullValue"};break;case 116:if(oe.charCodeAt(z+1)===114&&oe.charCodeAt(z+2)===117&&oe.charCodeAt(z+3)===101)return z+=4,Me(),{kind:"BooleanValue",value:!0};break;case 102:if(oe.charCodeAt(z+1)===97&&oe.charCodeAt(z+2)===108&&oe.charCodeAt(z+3)===115&&oe.charCodeAt(z+4)===101)return z+=5,Me(),{kind:"BooleanValue",value:!1};break}return{kind:"EnumValue",value:bp()}}function j0(e){if(oe.charCodeAt(z)===40){var t=[];z++,Me();do{var n=Nn();if(oe.charCodeAt(z++)!==58)throw kn("Argument");Me(),t.push({kind:"Argument",name:n,value:eo(e)})}while(oe.charCodeAt(z)!==41);return z++,Me(),t}}function xs(e){if(oe.charCodeAt(z)===64){var t=[];do z++,t.push({kind:"Directive",name:Nn(),arguments:j0(e)});while(oe.charCodeAt(z)===64);return t}}function sO(){for(var e=0;oe.charCodeAt(z)===91;)e++,z++,Me();var t={kind:"NamedType",name:Nn()};do if(oe.charCodeAt(z)===33&&(z++,Me(),t={kind:"NonNullType",type:t}),e){if(oe.charCodeAt(z++)!==93)throw kn("NamedType");Me(),t={kind:"ListType",type:t}}while(e--);return t}function tu(){if(oe.charCodeAt(z++)!==123)throw kn("SelectionSet");return Me(),nu()}function nu(){var e=[];do if(oe.charCodeAt(z)===46){if(oe.charCodeAt(++z)!==46||oe.charCodeAt(++z)!==46)throw kn("SelectionSet");switch(z++,Me(),oe.charCodeAt(z)){case 64:e.push({kind:"InlineFragment",typeCondition:void 0,directives:xs(!1),selectionSet:tu()});break;case 111:oe.charCodeAt(z+1)===110?(z+=2,Me(),e.push({kind:"InlineFragment",typeCondition:{kind:"NamedType",name:Nn()},directives:xs(!1),selectionSet:tu()})):e.push({kind:"FragmentSpread",name:Nn(),directives:xs(!1)});break;case 123:z++,Me(),e.push({kind:"InlineFragment",typeCondition:void 0,directives:void 0,selectionSet:nu()});break;default:e.push({kind:"FragmentSpread",name:Nn(),directives:xs(!1)})}}else{var t=Nn(),n=void 0;oe.charCodeAt(z)===58&&(z++,Me(),n=t,t=Nn());var r=j0(!1),s=xs(!1),i=void 0;oe.charCodeAt(z)===123&&(z++,Me(),i=nu()),e.push({kind:"Field",alias:n,name:t,arguments:r,directives:s,selectionSet:i})}while(oe.charCodeAt(z)!==125);return z++,Me(),{kind:"SelectionSet",selections:e}}function iO(){if(Me(),oe.charCodeAt(z)===40){var e=[];z++,Me();do{var t=void 0;if(oe.charCodeAt(z)===34&&(t=eo(!0)),oe.charCodeAt(z++)!==36)throw kn("Variable");var n=Nn();if(oe.charCodeAt(z++)!==58)throw kn("VariableDefinition");Me();var r=sO(),s=void 0;oe.charCodeAt(z)===61&&(z++,Me(),s=eo(!0)),Me();var i={kind:"VariableDefinition",variable:{kind:"Variable",name:n},type:r,defaultValue:s,directives:xs(!0)};t&&(i.description=t),e.push(i)}while(oe.charCodeAt(z)!==41);return z++,Me(),e}}function oO(e){var t=Nn();if(oe.charCodeAt(z++)!==111||oe.charCodeAt(z++)!==110)throw kn("FragmentDefinition");Me();var n={kind:"FragmentDefinition",name:t,typeCondition:{kind:"NamedType",name:Nn()},directives:xs(!1),selectionSet:tu()};return e&&(n.description=e),n}function B0(){var e=[];do{var t=void 0;if(oe.charCodeAt(z)===34&&(t=eo(!0)),oe.charCodeAt(z)===123){if(t)throw kn("Document");z++,Me(),e.push({kind:"OperationDefinition",operation:"query",name:void 0,variableDefinitions:void 0,directives:void 0,selectionSet:nu()})}else{var n=bp();switch(n){case"fragment":e.push(oO(t));break;case"query":case"mutation":case"subscription":var r,s=void 0;(r=oe.charCodeAt(z))!==40&&r!==64&&r!==123&&(s=Nn());var i={kind:"OperationDefinition",operation:n,name:s,variableDefinitions:iO(),directives:xs(!1),selectionSet:tu()};t&&(i.description=t),e.push(i);break;default:throw kn("Document")}}}while(z<oe.length);return e}function D0(e,t){return oe=e.body?e.body:e,z=0,Me(),t&&t.noLocation?{kind:"Document",definitions:B0()}:{kind:"Document",definitions:B0(),loc:{start:0,end:oe.length,startToken:void 0,endToken:void 0,source:{body:oe,name:"graphql.web",locationOffset:{line:1,column:1}}}}}var U0=0,vp=new Set;function _p(){function e(t,n){var r=D0(t).definitions,s=new Set;for(var i of n||[])for(var o of i.definitions)o.kind===la.FRAGMENT_DEFINITION&&!s.has(o)&&(r.push(o),s.add(o));var a;(a=r[0].kind===la.FRAGMENT_DEFINITION)&&r[0].directives&&(r[0].directives=r[0].directives.filter(u=>u.name.value!=="_unmask"));var c;return{kind:la.DOCUMENT,definitions:r,get loc(){if(!c&&a){var u=t+function(p){try{U0++;var f="";for(var g of p)if(!vp.has(g)){vp.add(g);var{loc:b}=g;b&&(f+=b.source.body)}return f}finally{--U0==0&&vp.clear()}}(n||[]);return{start:0,end:u.length,source:{body:u,name:"GraphQLTada",locationOffset:{line:1,column:1}}}}return c},set loc(u){c=u}}}return e.scalar=function(n,r){return r},e.persisted=function(n,r){return{kind:la.DOCUMENT,definitions:r?r.definitions:[],documentId:n}},e}var zL=_p();var to=_p();var aO={"-32700":"ParseError","-32701":"OversizedRequest","-32702":"OversizedResponse","-32600":"InvalidRequest","-32601":"MethodNotFound","-32602":"InvalidParams","-32603":"InternalError","-32604":"ServerBusy","-32000":"CallExecutionFailed","-32001":"UnknownError","-32003":"SubscriptionClosed","-32004":"SubscriptionClosedWithError","-32005":"BatchesNotSupported","-32006":"TooManySubscriptions","-32050":"TransientError","-32002":"TransactionExecutionClientError"},P0=class extends Error{},L0=class extends P0{constructor(e,t){super(e),this.code=t,this.type=aO[t]??"ServerError"}},V0=class extends P0{constructor(e,t,n){super(e),this.status=t,this.statusText=n}};var F0=class{#e=0;#t;constructor(e){this.#t=e}fetch(e,t){let n=this.#t.fetch??fetch;if(!n)throw new Error("The current environment does not support fetch, you can provide a fetch implementation in the options for SuiHTTPTransport.");return n(e,t)}async request(e){this.#e+=1;let t=await this.fetch(this.#t.rpc?.url??this.#t.url,{method:"POST",signal:e.signal,headers:{"Content-Type":"application/json","Client-Sdk-Type":"typescript","Client-Sdk-Version":Wa,"Client-Request-Method":e.method,...this.#t.rpc?.headers},body:JSON.stringify({jsonrpc:"2.0",id:this.#e,method:e.method,params:e.params})});if(!t.ok)throw new V0(`Unexpected status code: ${t.status}`,t.status,t.statusText);let n=await t.json();if("error"in n&&n.error!=null)throw new L0(n.error.message,n.error.code);return n.result}};var cO=5e10;function z0(e,t){if(e.status==="success")return{success:!0,error:null};let n=e.error??"Unknown";if(t){let r=n.match(/in command (\d+)/),s=r?parseInt(r[1],10):void 0,i=n.match(/instruction:\s*(\d+)/),o=i?parseInt(i[1],10):void 0,a=t.module_id?.split("::")??[],c=a[0]?X(a[0]):void 0,u=a[1];return{success:!1,error:{$kind:"MoveAbort",message:Qs({command:s,location:c&&u?{package:c,module:u,functionName:t.function??void 0,instruction:o}:void 0,abortCode:String(t.error_code??0),cleverError:t.line!=null?{lineNumber:t.line}:void 0}),command:s,MoveAbort:{abortCode:String(t.error_code??0),location:t.module_id?{package:X(t.module_id.split("::")[0]??""),module:t.module_id.split("::")[1]??"",functionName:t.function??void 0,instruction:o}:void 0}}}}return{success:!1,error:{$kind:"Unknown",message:n,Unknown:null}}}var W0=class extends Vi{#e;constructor({jsonRpcClient:e,mvr:t}){super({network:e.network,base:e,mvr:t}),this.#e=e}async getObjects(e){let t=Gn(e.objectIds,50),n=[];for(let r of t){let s=await this.#e.multiGetObjects({ids:r,options:{showOwner:!0,showType:!0,showBcs:!!(e.include?.content||e.include?.objectBcs),showPreviousTransaction:!!(e.include?.previousTransaction||e.include?.objectBcs),showStorageRebate:e.include?.objectBcs??!1,showContent:e.include?.json??!1,showDisplay:e.include?.display??!1},signal:e.signal});for(let[i,o]of s.entries())o.error?n.push(zi.fromResponse(o.error,r[i])):n.push($0(o.data,e.include))}return{objects:n}}async listOwnedObjects(e){let t=null;if(e.type){let r=e.type.split("::");r.length===1?t={Package:e.type}:r.length===2?t={MoveModule:{package:r[0],module:r[1]}}:t={StructType:e.type}}let n=await this.#e.getOwnedObjects({owner:e.owner,limit:e.limit,cursor:e.cursor,options:{showOwner:!0,showType:!0,showBcs:!!(e.include?.content||e.include?.objectBcs),showPreviousTransaction:!!(e.include?.previousTransaction||e.include?.objectBcs),showStorageRebate:e.include?.objectBcs??!1,showContent:e.include?.json??!1,showDisplay:e.include?.display??!1},filter:t,signal:e.signal});return{objects:n.data.map(r=>{if(r.error)throw zi.fromResponse(r.error);return $0(r.data,e.include)}),hasNextPage:n.hasNextPage,cursor:n.nextCursor??null}}async listCoins(e){let t=await this.#e.getCoins({owner:e.owner,coinType:e.coinType,limit:e.limit,cursor:e.cursor,signal:e.signal});return{objects:t.data.map(n=>({objectId:n.coinObjectId,version:n.version,digest:n.digest,balance:n.balance,type:be(`0x2::coin::Coin<${n.coinType}>`),owner:{$kind:"AddressOwner",AddressOwner:e.owner}})),hasNextPage:t.hasNextPage,cursor:t.nextCursor??null}}async getBalance(e){let t=await this.#e.getBalance({owner:e.owner,coinType:e.coinType,signal:e.signal}),n=t.fundsInAddressBalance??"0",r=String(BigInt(t.totalBalance)-BigInt(n));return{balance:{coinType:be(t.coinType),balance:t.totalBalance,coinBalance:r,addressBalance:n}}}async getCoinMetadata(e){let t=(await this.mvr.resolveType({type:e.coinType})).type,n=await this.#e.getCoinMetadata({coinType:t,signal:e.signal});return n?{coinMetadata:{id:n.id??null,decimals:n.decimals,name:n.name,symbol:n.symbol,description:n.description,iconUrl:n.iconUrl??null}}:{coinMetadata:null}}async listBalances(e){return{balances:(await this.#e.getAllBalances({owner:e.owner,signal:e.signal})).map(t=>{let n=t.fundsInAddressBalance??"0",r=String(BigInt(t.totalBalance)-BigInt(n));return{coinType:be(t.coinType),balance:t.totalBalance,coinBalance:r,addressBalance:n}}),hasNextPage:!1,cursor:null}}async getTransaction(e){return q0(await this.#e.getTransactionBlock({digest:e.digest,options:{showRawInput:!0,showEffects:!0,showObjectChanges:e.include?.objectTypes??!1,showRawEffects:e.include?.effects??!1,showEvents:e.include?.events??!1,showBalanceChanges:e.include?.balanceChanges??!1},signal:e.signal}),e.include)}async executeTransaction(e){return q0(await this.#e.executeTransactionBlock({transactionBlock:e.transaction,signature:e.signatures,options:{showRawInput:!0,showEffects:!0,showRawEffects:e.include?.effects??!1,showEvents:e.include?.events??!1,showObjectChanges:e.include?.objectTypes??!1,showBalanceChanges:e.include?.balanceChanges??!1},signal:e.signal}),e.include)}async simulateTransaction(e){e.transaction instanceof Uint8Array||await e.transaction.build({client:this,onlyTransactionKind:!0});let t=J.from(e.transaction),n=e.transaction instanceof Uint8Array?null:vn.restore(e.transaction.getData()),r=n?n.build({overrides:{gasData:{budget:n.gasData.budget??String(cO),price:n.gasData.price??String(await this.#e.getReferenceGasPrice()),payment:n.gasData.payment??[]}}}):e.transaction,s=t.getData().sender??X("0x0"),i=e.checksEnabled===!1,o=null;try{o=await this.#e.dryRunTransactionBlock({transactionBlock:r,signal:e.signal})}catch(_){if(!i)throw _}let a=null;if(e.include?.commandResults||i)try{a=await this.#e.devInspectTransactionBlock({sender:s,transactionBlock:t,signal:e.signal})}catch{}let c=!o||o.effects.status.status!=="success",u=i&&c&&a?a:o??a;if(!u)throw new Error("simulateTransaction failed: no results from dryRun or devInspect");let{effects:d,objectTypes:p}=dO({effects:u.effects,objectChanges:(c?null:o?.objectChanges)??[]}),f;e.include?.transaction&&(f=ih(r),n&&!c&&d.gasUsed&&(n.gasData.budget||(f.gasData.budget=mp(d.gasUsed))));let g={digest:vn.getDigestFromBytes(r),epoch:null,status:d.status,effects:e.include?.effects?d:void 0,objectTypes:e.include?.objectTypes?p:void 0,signatures:[],transaction:f??void 0,bcs:e.include?.bcs?r:void 0,balanceChanges:e.include?.balanceChanges&&o&&!c?o.balanceChanges.map(_=>({coinType:be(_.coinType),address:H0(_.owner),amount:_.amount})):void 0,events:e.include?.events?u.events?.map(_=>({packageId:_.packageId,module:_.transactionModule,sender:_.sender,eventType:_.type,bcs:"bcs"in _?ie(_.bcs):new Uint8Array,json:_.parsedJson??null}))??[]:void 0},b;return e.include?.commandResults&&a?.results&&(b=a.results.map(_=>({returnValues:(_.returnValues??[]).map(([I])=>({bcs:new Uint8Array(I)})),mutatedReferences:(_.mutableReferenceOutputs??[]).map(([,I])=>({bcs:new Uint8Array(I)}))}))),d.status.success?{$kind:"Transaction",Transaction:g,commandResults:b}:{$kind:"FailedTransaction",FailedTransaction:g,commandResults:b}}async getReferenceGasPrice(e){let t=await this.#e.getReferenceGasPrice({signal:e?.signal});return{referenceGasPrice:String(t)}}async getProtocolConfig(e){let t=await this.#e.getProtocolConfig({signal:e?.signal}),n={};for(let[r,s]of Object.entries(t.attributes))if(s===null)n[r]=null;else if("u16"in s)n[r]=s.u16;else if("u32"in s)n[r]=s.u32;else if("u64"in s)n[r]=s.u64;else if("f64"in s)n[r]=s.f64;else if("bool"in s)n[r]=s.bool;else{let i=Object.entries(s);n[r]=i.length===1?String(i[0][1]):JSON.stringify(s)}return{protocolConfig:{protocolVersion:t.protocolVersion,featureFlags:{...t.featureFlags},attributes:n}}}async getCurrentSystemState(e){let t=await this.#e.getLatestSuiSystemState({signal:e?.signal});return{systemState:{systemStateVersion:t.systemStateVersion,epoch:t.epoch,protocolVersion:t.protocolVersion,referenceGasPrice:t.referenceGasPrice?.toString()??null,epochStartTimestampMs:t.epochStartTimestampMs,safeMode:t.safeMode,safeModeStorageRewards:t.safeModeStorageRewards,safeModeComputationRewards:t.safeModeComputationRewards,safeModeStorageRebates:t.safeModeStorageRebates,safeModeNonRefundableStorageFee:t.safeModeNonRefundableStorageFee,parameters:{epochDurationMs:t.epochDurationMs,stakeSubsidyStartEpoch:t.stakeSubsidyStartEpoch,maxValidatorCount:t.maxValidatorCount,minValidatorJoiningStake:t.minValidatorJoiningStake,validatorLowStakeThreshold:t.validatorLowStakeThreshold,validatorLowStakeGracePeriod:t.validatorLowStakeGracePeriod},storageFund:{totalObjectStorageRebates:t.storageFundTotalObjectStorageRebates,nonRefundableBalance:t.storageFundNonRefundableBalance},stakeSubsidy:{balance:t.stakeSubsidyBalance,distributionCounter:t.stakeSubsidyDistributionCounter,currentDistributionAmount:t.stakeSubsidyCurrentDistributionAmount,stakeSubsidyPeriodLength:t.stakeSubsidyPeriodLength,stakeSubsidyDecreaseRate:t.stakeSubsidyDecreaseRate}}}}async listDynamicFields(e){let t=await this.#e.getDynamicFields({parentId:e.parentId,limit:e.limit,cursor:e.cursor});return{dynamicFields:t.data.map(n=>{let r=n.type==="DynamicObject",s=r?`0x2::dynamic_field::Field<0x2::dynamic_object_field::Wrapper<${n.name.type}>, 0x2::object::ID>`:`0x2::dynamic_field::Field<${n.name.type}, ${n.objectType}>`,i=ie(n.bcsName),o=r?`0x2::dynamic_object_field::Wrapper<${n.name.type}>`:n.name.type;return{$kind:r?"DynamicObject":"DynamicField",fieldId:or(e.parentId,o,i),type:be(s),name:{type:n.name.type,bcs:i},valueType:n.objectType,childId:r?n.objectId:void 0}}),hasNextPage:t.hasNextPage,cursor:t.nextCursor}}async verifyZkLoginSignature(e){let t=await this.#e.verifyZkLoginSignature({bytes:e.bytes,signature:e.signature,intentScope:e.intentScope,author:e.address});return{success:t.success,errors:t.errors}}async defaultNameServiceName(e){return{data:{name:(await this.#e.resolveNameServiceNames(e)).data[0]??null}}}resolveTransactionPlugin(){return Xc}async getMoveFunction(e){let t=(await this.mvr.resolvePackage({package:e.packageId})).package,n=await this.#e.getNormalizedMoveFunction({package:t,module:e.moduleName,function:e.name});return{function:{packageId:X(t),moduleName:e.moduleName,name:e.name,visibility:fO(n.visibility),isEntry:n.isEntry,typeParameters:n.typeParameters.map(r=>({isPhantom:!1,constraints:pO(r)})),parameters:n.parameters.map(r=>G0(r)),returns:n.return.map(r=>G0(r))}}}async getChainIdentifier(e){return this.cache.read(["chainIdentifier"],async()=>({chainIdentifier:(await this.#e.getCheckpoint({id:"0"})).digest}))}};function uO(e){if(e.bcs?.dataType==="moveObject")try{let t=be(e.bcs.type),n,r=X(Fr),s=be(`${Fr}::coin::Coin<${Fr}::sui::SUI>`),i=be(`${Zl}::staking_pool::StakedSui`),o=`${r}::coin::Coin<`;if(t===s)n={GasCoin:null};else if(t===i)n={StakedSui:null};else if(t.startsWith(o)){let u=t.match(new RegExp(`${r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}::coin::Coin<(.+)>$`));if(u)n={Coin:Pn.parseFromStr(u[1],!0)};else throw new Error("Failed to parse Coin type")}else{let u=Pn.parseFromStr(t,!0);if(typeof u!="object"||!("struct"in u))throw new Error("Expected struct type tag");n={Other:u.struct}}let a=ie(e.bcs.bcsBytes),c=lO(e.owner);return E.Object.serialize({data:{Move:{type:n,hasPublicTransfer:e.bcs.hasPublicTransfer,version:e.bcs.version,contents:a}},owner:c,previousTransaction:e.previousTransaction,storageRebate:e.storageRebate}).toBytes()}catch{return}}function $0(e,t){let n=e.bcs?.dataType==="moveObject"?ie(e.bcs.bcsBytes):void 0,r=t?.objectBcs?uO(e):void 0,s=e.type&&e.type.includes("::")?be(e.type):e.type??"",i=t?.json&&e.content?.dataType==="moveObject"?e.content.fields:t?.json?null:void 0,o=t?.display?e.display?.data!=null?{output:e.display.data,errors:null}:null:void 0;return{objectId:e.objectId,version:e.version,digest:e.digest,type:s,content:t?.content?n:void 0,owner:no(e.owner),previousTransaction:t?.previousTransaction?e.previousTransaction??void 0:void 0,objectBcs:r,json:i,display:o}}function no(e){if(e==="Immutable")return{$kind:"Immutable",Immutable:!0};if("ConsensusAddressOwner"in e)return{$kind:"ConsensusAddressOwner",ConsensusAddressOwner:{owner:e.ConsensusAddressOwner.owner,startVersion:e.ConsensusAddressOwner.start_version}};if("AddressOwner"in e)return{$kind:"AddressOwner",AddressOwner:e.AddressOwner};if("ObjectOwner"in e)return{$kind:"ObjectOwner",ObjectOwner:e.ObjectOwner};if("Shared"in e)return{$kind:"Shared",Shared:{initialSharedVersion:e.Shared.initial_shared_version}};throw new Error(`Unknown owner type: ${JSON.stringify(e)}`)}function lO(e){if(e==="Immutable")return{Immutable:null};if("AddressOwner"in e)return{AddressOwner:e.AddressOwner};if("ObjectOwner"in e)return{ObjectOwner:e.ObjectOwner};if("Shared"in e)return{Shared:{initialSharedVersion:e.Shared.initial_shared_version}};if(typeof e=="object"&&e!==null&&"ConsensusAddressOwner"in e)return{ConsensusAddressOwner:{startVersion:e.ConsensusAddressOwner.start_version,owner:e.ConsensusAddressOwner.owner}};throw new Error(`Unknown owner type: ${JSON.stringify(e)}`)}function H0(e){if(e==="Immutable")return null;if("ConsensusAddressOwner"in e)return e.ConsensusAddressOwner.owner;if("AddressOwner"in e)return e.AddressOwner;if("ObjectOwner"in e)return e.ObjectOwner;if("Shared"in e)return null;throw new Error(`Unknown owner type: ${JSON.stringify(e)}`)}function q0(e,t){let n={};t?.objectTypes&&e.objectChanges?.forEach(u=>{u.type!=="published"&&(n[u.objectId]=be(u.objectType))});let r,s=[],i;if(e.rawTransaction){let u=E.SenderSignedData.parse(ie(e.rawTransaction))[0];if(s=u.txSignatures,t?.transaction||t?.bcs){let d=E.TransactionData.serialize(u.intentMessage.value).toBytes();t?.bcs&&(i=d),t?.transaction&&(r={...vn.restore({version:2,sender:u.intentMessage.value.V1.sender,expiration:u.intentMessage.value.V1.expiration,gasData:u.intentMessage.value.V1.gasData,inputs:u.intentMessage.value.V1.kind.ProgrammableTransaction.inputs,commands:u.intentMessage.value.V1.kind.ProgrammableTransaction.commands})})}}let o=e.effects?.status?z0(e.effects.status,e.effects.abortError):{success:!1,error:{$kind:"Unknown",message:"Unknown",Unknown:null}},a=e.rawEffects?new Uint8Array(e.rawEffects):null,c={digest:e.digest,epoch:e.effects?.executedEpoch??null,status:o,effects:t?.effects&&a?Xa(a):void 0,objectTypes:t?.objectTypes?n:void 0,transaction:r,bcs:i,signatures:s,balanceChanges:t?.balanceChanges?e.balanceChanges?.map(u=>({coinType:be(u.coinType),address:H0(u.owner),amount:u.amount}))??[]:void 0,events:t?.events?e.events?.map(u=>({packageId:u.packageId,module:u.transactionModule,sender:u.sender,eventType:u.type,bcs:"bcs"in u?ie(u.bcs):new Uint8Array,json:u.parsedJson??null}))??[]:void 0};return o.success?{$kind:"Transaction",Transaction:c}:{$kind:"FailedTransaction",FailedTransaction:c}}function dO({bytes:e,effects:t,objectChanges:n}){let r=[],s=[],i={};return n?.forEach(o=>{switch(o.type){case"published":r.push({objectId:o.packageId,inputState:"DoesNotExist",inputVersion:null,inputDigest:null,inputOwner:null,outputState:"PackageWrite",outputVersion:o.version,outputDigest:o.digest,outputOwner:null,idOperation:"Created"});break;case"transferred":r.push({objectId:o.objectId,inputState:"Exists",inputVersion:o.version,inputDigest:o.digest,inputOwner:{$kind:"AddressOwner",AddressOwner:o.sender},outputState:"ObjectWrite",outputVersion:o.version,outputDigest:o.digest,outputOwner:no(o.recipient),idOperation:"None"}),i[o.objectId]=be(o.objectType);break;case"mutated":r.push({objectId:o.objectId,inputState:"Exists",inputVersion:o.previousVersion,inputDigest:null,inputOwner:no(o.owner),outputState:"ObjectWrite",outputVersion:o.version,outputDigest:o.digest,outputOwner:no(o.owner),idOperation:"None"}),i[o.objectId]=be(o.objectType);break;case"deleted":r.push({objectId:o.objectId,inputState:"Exists",inputVersion:o.version,inputDigest:t.deleted?.find(a=>a.objectId===o.objectId)?.digest??null,inputOwner:null,outputState:"DoesNotExist",outputVersion:null,outputDigest:null,outputOwner:null,idOperation:"Deleted"}),i[o.objectId]=be(o.objectType);break;case"wrapped":r.push({objectId:o.objectId,inputState:"Exists",inputVersion:o.version,inputDigest:null,inputOwner:{$kind:"AddressOwner",AddressOwner:o.sender},outputState:"ObjectWrite",outputVersion:o.version,outputDigest:t.wrapped?.find(a=>a.objectId===o.objectId)?.digest??null,outputOwner:{$kind:"ObjectOwner",ObjectOwner:o.sender},idOperation:"None"}),i[o.objectId]=be(o.objectType);break;case"created":r.push({objectId:o.objectId,inputState:"DoesNotExist",inputVersion:null,inputDigest:null,inputOwner:null,outputState:"ObjectWrite",outputVersion:o.version,outputDigest:o.digest,outputOwner:no(o.owner),idOperation:"Created"}),i[o.objectId]=be(o.objectType);break}}),{objectTypes:i,effects:{bcs:e??null,version:2,status:z0(t.status,t.abortError),gasUsed:t.gasUsed,transactionDigest:t.transactionDigest,gasObject:{objectId:t.gasObject?.reference.objectId,inputState:"Exists",inputVersion:null,inputDigest:null,inputOwner:null,outputState:"ObjectWrite",outputVersion:t.gasObject.reference.version,outputDigest:t.gasObject.reference.digest,outputOwner:no(t.gasObject.owner),idOperation:"None"},eventsDigest:t.eventsDigest??null,dependencies:t.dependencies??[],lamportVersion:t.gasObject.reference.version,changedObjects:r,unchangedConsensusObjects:s,auxiliaryDataDigest:null}}}function G0(e){if(typeof e!="string"){if("Reference"in e)return{reference:"immutable",body:da(e.Reference)};if("MutableReference"in e)return{reference:"mutable",body:da(e.MutableReference)}}return{reference:null,body:da(e)}}function da(e){switch(e){case"Address":return{$kind:"address"};case"Bool":return{$kind:"bool"};case"U8":return{$kind:"u8"};case"U16":return{$kind:"u16"};case"U32":return{$kind:"u32"};case"U64":return{$kind:"u64"};case"U128":return{$kind:"u128"};case"U256":return{$kind:"u256"}}if(typeof e=="string")throw new Error(`Unknown type: ${e}`);if("Vector"in e)return{$kind:"vector",vector:da(e.Vector)};if("Struct"in e)return{$kind:"datatype",datatype:{typeName:`${X(e.Struct.address)}::${e.Struct.module}::${e.Struct.name}`,typeParameters:e.Struct.typeArguments.map(t=>da(t))}};if("TypeParameter"in e)return{$kind:"typeParameter",index:e.TypeParameter};throw new Error(`Unknown type: ${JSON.stringify(e)}`)}function pO(e){return e.abilities.map(t=>{switch(t){case"Copy":return"copy";case"Drop":return"drop";case"Store":return"store";case"Key":return"key";default:return"unknown"}})}function fO(e){switch(e){case"Public":return"public";case"Private":return"private";case"Friend":return"friend";default:return"unknown"}}var mO=Symbol.for("@mysten/SuiJsonRpcClient");var wp=class extends ps{get[mO](){return!0}constructor(e){super({network:e.network}),this.jsonRpc=this,this.transport=e.transport??new F0({url:e.url}),this.core=new W0({jsonRpcClient:this,mvr:e.mvr})}async getRpcApiVersion({signal:e}={}){return(await this.transport.request({method:"rpc.discover",params:[],signal:e})).info.version}async getCoins({coinType:e,owner:t,cursor:n,limit:r,signal:s}){if(!t||!en(X(t)))throw new Error("Invalid Sui address");e&&rn(e)&&(e=(await this.core.mvr.resolveType({type:e})).type);let i=await this.transport.request({method:"suix_getCoins",params:[t,e,n,r],signal:s});return{...i,data:i.data.filter(o=>!fp(o.digest))}}async getAllCoins(e){if(!e.owner||!en(X(e.owner)))throw new Error("Invalid Sui address");let t=await this.transport.request({method:"suix_getAllCoins",params:[e.owner,e.cursor,e.limit],signal:e.signal});return{...t,data:t.data.filter(n=>!fp(n.digest))}}async getBalance({owner:e,coinType:t,signal:n}){if(!e||!en(X(e)))throw new Error("Invalid Sui address");return t&&rn(t)&&(t=(await this.core.mvr.resolveType({type:t})).type),await this.transport.request({method:"suix_getBalance",params:[e,t],signal:n})}async getAllBalances(e){if(!e.owner||!en(X(e.owner)))throw new Error("Invalid Sui address");return await this.transport.request({method:"suix_getAllBalances",params:[e.owner],signal:e.signal})}async getCoinMetadata({coinType:e,signal:t}){return e&&rn(e)&&(e=(await this.core.mvr.resolveType({type:e})).type),await this.transport.request({method:"suix_getCoinMetadata",params:[e],signal:t})}async getTotalSupply({coinType:e,signal:t}){return e&&rn(e)&&(e=(await this.core.mvr.resolveType({type:e})).type),await this.transport.request({method:"suix_getTotalSupply",params:[e],signal:t})}async call(e,t,{signal:n}={}){return await this.transport.request({method:e,params:t,signal:n})}async getMoveFunctionArgTypes({package:e,module:t,function:n,signal:r}){return e&&tn(e)&&(e=(await this.core.mvr.resolvePackage({package:e})).package),await this.transport.request({method:"sui_getMoveFunctionArgTypes",params:[e,t,n],signal:r})}async getNormalizedMoveModulesByPackage({package:e,signal:t}){return e&&tn(e)&&(e=(await this.core.mvr.resolvePackage({package:e})).package),await this.transport.request({method:"sui_getNormalizedMoveModulesByPackage",params:[e],signal:t})}async getNormalizedMoveModule({package:e,module:t,signal:n}){return e&&tn(e)&&(e=(await this.core.mvr.resolvePackage({package:e})).package),await this.transport.request({method:"sui_getNormalizedMoveModule",params:[e,t],signal:n})}async getNormalizedMoveFunction({package:e,module:t,function:n,signal:r}){return e&&tn(e)&&(e=(await this.core.mvr.resolvePackage({package:e})).package),await this.transport.request({method:"sui_getNormalizedMoveFunction",params:[e,t,n],signal:r})}async getNormalizedMoveStruct({package:e,module:t,struct:n,signal:r}){return e&&tn(e)&&(e=(await this.core.mvr.resolvePackage({package:e})).package),await this.transport.request({method:"sui_getNormalizedMoveStruct",params:[e,t,n],signal:r})}async getOwnedObjects(e){if(!e.owner||!en(X(e.owner)))throw new Error("Invalid Sui address");let t=e.filter?{...e.filter}:void 0;return t&&"MoveModule"in t&&tn(t.MoveModule.package)?t.MoveModule={module:t.MoveModule.module,package:(await this.core.mvr.resolvePackage({package:t.MoveModule.package})).package}:t&&"StructType"in t&&rn(t.StructType)&&(t.StructType=(await this.core.mvr.resolveType({type:t.StructType})).type),await this.transport.request({method:"suix_getOwnedObjects",params:[e.owner,{filter:t,options:e.options},e.cursor,e.limit],signal:e.signal})}async getObject(e){if(!e.id||!ji(Ft(e.id)))throw new Error("Invalid Sui Object id");return await this.transport.request({method:"sui_getObject",params:[e.id,e.options],signal:e.signal})}async tryGetPastObject(e){return await this.transport.request({method:"sui_tryGetPastObject",params:[e.id,e.version,e.options],signal:e.signal})}async multiGetObjects(e){if(e.ids.forEach(t=>{if(!t||!ji(Ft(t)))throw new Error(`Invalid Sui Object id ${t}`)}),e.ids.length!==new Set(e.ids).size)throw new Error(`Duplicate object ids in batch call ${e.ids}`);return await this.transport.request({method:"sui_multiGetObjects",params:[e.ids,e.options],signal:e.signal})}async queryTransactionBlocks({filter:e,options:t,cursor:n,limit:r,order:s,signal:i}){return e&&"MoveFunction"in e&&tn(e.MoveFunction.package)&&(e={...e,MoveFunction:{package:(await this.core.mvr.resolvePackage({package:e.MoveFunction.package})).package}}),await this.transport.request({method:"suix_queryTransactionBlocks",params:[{filter:e,options:t},n,r,(s||"descending")==="descending"],signal:i})}async getTransactionBlock(e){if(!La(e.digest))throw new Error("Invalid Transaction digest");return await this.transport.request({method:"sui_getTransactionBlock",params:[e.digest,e.options],signal:e.signal})}async multiGetTransactionBlocks(e){if(e.digests.forEach(t=>{if(!La(t))throw new Error(`Invalid Transaction digest ${t}`)}),e.digests.length!==new Set(e.digests).size)throw new Error(`Duplicate digests in batch call ${e.digests}`);return await this.transport.request({method:"sui_multiGetTransactionBlocks",params:[e.digests,e.options],signal:e.signal})}async executeTransactionBlock({transactionBlock:e,signature:t,options:n,signal:r}){return await this.transport.request({method:"sui_executeTransactionBlock",params:[typeof e=="string"?e:ye(e),Array.isArray(t)?t:[t],n],signal:r})}async signAndExecuteTransaction({transaction:e,signer:t,...n}){let r;e instanceof Uint8Array?r=e:(e.setSenderIfNotSet(t.toSuiAddress()),r=await e.build({client:this}));let{signature:s,bytes:i}=await t.signTransaction(r);return this.executeTransactionBlock({transactionBlock:i,signature:s,...n})}async getTotalTransactionBlocks({signal:e}={}){let t=await this.transport.request({method:"sui_getTotalTransactionBlocks",params:[],signal:e});return BigInt(t)}async getReferenceGasPrice({signal:e}={}){let t=await this.transport.request({method:"suix_getReferenceGasPrice",params:[],signal:e});return BigInt(t)}async getStakes(e){if(!e.owner||!en(X(e.owner)))throw new Error("Invalid Sui address");return await this.transport.request({method:"suix_getStakes",params:[e.owner],signal:e.signal})}async getStakesByIds(e){return e.stakedSuiIds.forEach(t=>{if(!t||!ji(Ft(t)))throw new Error(`Invalid Sui Stake id ${t}`)}),await this.transport.request({method:"suix_getStakesByIds",params:[e.stakedSuiIds],signal:e.signal})}async getLatestSuiSystemState({signal:e}={}){return await this.transport.request({method:"suix_getLatestSuiSystemState",params:[],signal:e})}async queryEvents({query:e,cursor:t,limit:n,order:r,signal:s}){return e&&"MoveEventType"in e&&rn(e.MoveEventType)&&(e={...e,MoveEventType:(await this.core.mvr.resolveType({type:e.MoveEventType})).type}),e&&"MoveEventModule"in e&&tn(e.MoveEventModule.package)&&(e={...e,MoveEventModule:{module:e.MoveEventModule.module,package:(await this.core.mvr.resolvePackage({package:e.MoveEventModule.package})).package}}),"MoveModule"in e&&tn(e.MoveModule.package)&&(e={...e,MoveModule:{module:e.MoveModule.module,package:(await this.core.mvr.resolvePackage({package:e.MoveModule.package})).package}}),await this.transport.request({method:"suix_queryEvents",params:[e,t,n,(r||"descending")==="descending"],signal:s})}async devInspectTransactionBlock(e){let t;if(Qc(e.transactionBlock))e.transactionBlock.setSenderIfNotSet(e.sender),t=ye(await e.transactionBlock.build({client:this,onlyTransactionKind:!0}));else if(typeof e.transactionBlock=="string")t=e.transactionBlock;else if(e.transactionBlock instanceof Uint8Array)t=ye(e.transactionBlock);else throw new Error("Unknown transaction block format.");return e.signal?.throwIfAborted(),await this.transport.request({method:"sui_devInspectTransactionBlock",params:[e.sender,t,e.gasPrice?.toString(),e.epoch],signal:e.signal})}async dryRunTransactionBlock(e){return await this.transport.request({method:"sui_dryRunTransactionBlock",params:[typeof e.transactionBlock=="string"?e.transactionBlock:ye(e.transactionBlock)]})}async getDynamicFields(e){if(!e.parentId||!ji(Ft(e.parentId)))throw new Error("Invalid Sui Object id");return await this.transport.request({method:"suix_getDynamicFields",params:[e.parentId,e.cursor,e.limit],signal:e.signal})}async getDynamicFieldObject(e){return await this.transport.request({method:"suix_getDynamicFieldObject",params:[e.parentId,e.name],signal:e.signal})}async getLatestCheckpointSequenceNumber({signal:e}={}){let t=await this.transport.request({method:"sui_getLatestCheckpointSequenceNumber",params:[],signal:e});return String(t)}async getCheckpoint(e){return await this.transport.request({method:"sui_getCheckpoint",params:[e.id],signal:e.signal})}async getCheckpoints(e){return await this.transport.request({method:"sui_getCheckpoints",params:[e.cursor,e?.limit,e.descendingOrder],signal:e.signal})}async getCommitteeInfo(e){return await this.transport.request({method:"suix_getCommitteeInfo",params:[e?.epoch],signal:e?.signal})}async getNetworkMetrics({signal:e}={}){return await this.transport.request({method:"suix_getNetworkMetrics",params:[],signal:e})}async getAddressMetrics({signal:e}={}){return await this.transport.request({method:"suix_getLatestAddressMetrics",params:[],signal:e})}async getEpochMetrics(e){return await this.transport.request({method:"suix_getEpochMetrics",params:[e?.cursor,e?.limit,e?.descendingOrder],signal:e?.signal})}async getAllEpochAddressMetrics(e){return await this.transport.request({method:"suix_getAllEpochAddressMetrics",params:[e?.descendingOrder],signal:e?.signal})}async getEpochs(e){return await this.transport.request({method:"suix_getEpochs",params:[e?.cursor,e?.limit,e?.descendingOrder],signal:e?.signal})}async getMoveCallMetrics({signal:e}={}){return await this.transport.request({method:"suix_getMoveCallMetrics",params:[],signal:e})}async getCurrentEpoch({signal:e}={}){return await this.transport.request({method:"suix_getCurrentEpoch",params:[],signal:e})}async getValidatorsApy({signal:e}={}){return await this.transport.request({method:"suix_getValidatorsApy",params:[],signal:e})}async getChainIdentifier({signal:e}={}){return Vt(ln((await this.getCheckpoint({id:"0",signal:e})).digest).slice(0,4))}async resolveNameServiceAddress(e){return await this.transport.request({method:"suix_resolveNameServiceAddress",params:[e.name],signal:e.signal})}async resolveNameServiceNames({format:e="dot",...t}){let{nextCursor:n,hasNextPage:r,data:s}=await this.transport.request({method:"suix_resolveNameServiceNames",params:[t.address,t.cursor,t.limit],signal:t.signal});return{hasNextPage:r,nextCursor:n,data:s.map(i=>$f(i,e))}}async getProtocolConfig(e){return await this.transport.request({method:"sui_getProtocolConfig",params:[e?.version],signal:e?.signal})}async verifyZkLoginSignature(e){return await this.transport.request({method:"sui_verifyZkLoginSignature",params:[e.bytes,e.signature,e.intentScope,e.author],signal:e.signal})}async waitForTransaction({signal:e,timeout:t=60*1e3,pollInterval:n=2*1e3,...r}){let s=AbortSignal.timeout(t),i=new Promise((o,a)=>{s.addEventListener("abort",()=>a(s.reason))});for(i.catch(()=>{});!s.aborted;){e?.throwIfAborted();try{return await this.getTransactionBlock(r)}catch{await Promise.race([new Promise(o=>setTimeout(o,n)),i])}}throw s.throwIfAborted(),new Error("Unexpected error while waiting for transaction block.")}};function ru(e){switch(e){case"mainnet":return"https://fullnode.mainnet.sui.io:443";case"testnet":return"https://fullnode.testnet.sui.io:443";case"devnet":return"https://fullnode.devnet.sui.io:443";case"localnet":return"http://127.0.0.1:9000";default:throw new Error(`Unknown network: ${e}`)}}var Tp=function(e){return e.Failure="FAILURE",e.Success="SUCCESS",e}({}),kp=function(e){return e.PersonalMessage="PERSONAL_MESSAGE",e.TransactionData="TRANSACTION_DATA",e}({}),tt=class extends String{constructor(e,t){super(e),this.value=e,this.__meta__=t}toString(){return this.value}},UV=new tt(`
|
|
13
13
|
fragment OBJECT_OWNER_FIELDS on Owner {
|
|
14
14
|
__typename
|
|
15
15
|
... on AddressOwner {
|
|
@@ -804,9 +804,9 @@ fragment OBJECT_OWNER_FIELDS on Owner {
|
|
|
804
804
|
success
|
|
805
805
|
}
|
|
806
806
|
}
|
|
807
|
-
`);var my=class extends Li{#e;constructor({graphqlClient:e,mvr:t}){super({network:e.network,base:e,mvr:t}),this.#e=e}async#t(e,t){let{data:n,errors:r}=await this.#e.query(e);Sp(r);let s=n&&(t?t(n):n);if(s==null)throw new Error("Missing response data");return s}async getObjects(e){let t=Gn(e.objectIds,50),n=[];for(let r of t){let s=await this.#t({query:oy,variables:{objectKeys:r.map(i=>({address:i})),includeContent:e.include?.content??!1,includePreviousTransaction:e.include?.previousTransaction??!1,includeObjectBcs:e.include?.objectBcs??!1,includeJson:e.include?.json??!1,includeDisplay:e.include?.display??!1}},i=>i.multiGetObjects);n.push(...r.map(i=>X(i)).map(i=>s.find(o=>o?.address===i)??new Gi("notFound",`Object ${i} not found`)).map(i=>{if(i instanceof Gi)return i;let o=i.asMoveObject?.contents?.bcs?ie(i.asMoveObject.contents.bcs):void 0,a=i.objectBcs?ie(i.objectBcs):void 0,c;i.asMovePackage?c="package":i.asMoveObject?.contents?.type?.repr?c=i.asMoveObject.contents.type.repr:c="";let u=e.include?.json?i.asMoveObject?.contents?.json?i.asMoveObject.contents.json:null:void 0,d=py(e.include?.display,i.asMoveObject?.contents?.display);return{objectId:i.address,version:i.version?.toString(),digest:i.digest,owner:Ep(i.owner),type:c,content:o,previousTransaction:i.previousTransaction?.digest??void 0,objectBcs:a,json:u,display:d}}))}return{objects:n}}async listOwnedObjects(e){let t=await this.#t({query:iy,variables:{owner:e.owner,limit:e.limit,cursor:e.cursor,filter:e.type?{type:(await this.mvr.resolveType({type:e.type})).type}:void 0,includeContent:e.include?.content??!1,includePreviousTransaction:e.include?.previousTransaction??!1,includeObjectBcs:e.include?.objectBcs??!1,includeJson:e.include?.json??!1,includeDisplay:e.include?.display??!1}},n=>n.address?.objects);return{objects:t.nodes.map(n=>({objectId:n.address,version:n.version?.toString(),digest:n.digest,owner:Ep(n.owner),type:n.contents?.type?.repr,content:n.contents?.bcs?ie(n.contents.bcs):void 0,previousTransaction:n.previousTransaction?.digest??void 0,objectBcs:n.objectBcs?ie(n.objectBcs):void 0,json:e.include?.json?n.contents?.json?n.contents.json:null:void 0,display:py(e.include?.display,n.contents?.display)})),hasNextPage:t.pageInfo.hasNextPage,cursor:t.pageInfo.endCursor??null}}async listCoins(e){let t=e.coinType??zn,n=await this.#t({query:Y0,variables:{owner:e.owner,cursor:e.cursor,first:e.limit,type:`0x2::coin::Coin<${(await this.mvr.resolveType({type:t})).type}>`}},r=>r.address?.objects);return{cursor:n.pageInfo.endCursor??null,hasNextPage:n.pageInfo.hasNextPage,objects:n.nodes.map(r=>({objectId:r.address,version:r.version?.toString(),digest:r.digest,owner:Ep(r.owner),type:r.contents?.type?.repr,balance:r.contents?.json?.balance}))}}async getBalance(e){let t=e.coinType??zn,n=await this.#t({query:Z0,variables:{owner:e.owner,coinType:(await this.mvr.resolveType({type:t})).type}},i=>i.address?.balance),r=BigInt(n.addressBalance??"0"),s=BigInt(n.totalBalance??"0")-r;return{balance:{coinType:n.coinType?.repr??t,balance:n.totalBalance??"0",coinBalance:s.toString(),addressBalance:r.toString()}}}async getCoinMetadata(e){let t=(await this.mvr.resolveType({type:e.coinType})).type,{data:n,errors:r}=await this.#e.query({query:X0,variables:{coinType:t}});return Sp(r),n?.coinMetadata?{coinMetadata:{id:n.coinMetadata.address,decimals:n.coinMetadata.decimals,name:n.coinMetadata.name,symbol:n.coinMetadata.symbol,description:n.coinMetadata.description,iconUrl:n.coinMetadata.iconUrl??null}}:{coinMetadata:null}}async listBalances(e){let t=await this.#t({query:J0,variables:{owner:e.owner}},n=>n.address?.balances);return{cursor:t.pageInfo.endCursor??null,hasNextPage:t.pageInfo.hasNextPage,balances:t.nodes.map(n=>{let r=BigInt(n.addressBalance??"0"),s=BigInt(n.totalBalance??"0")-r;return{coinType:n.coinType?.repr,balance:n.totalBalance,coinBalance:s.toString(),addressBalance:r.toString()}})}}async getTransaction(e){return Op(await this.#t({query:uy,variables:{digest:e.digest,includeTransaction:e.include?.transaction??!1,includeEffects:e.include?.effects??!1,includeEvents:e.include?.events??!1,includeBalanceChanges:e.include?.balanceChanges??!1,includeObjectTypes:e.include?.objectTypes??!1,includeBcs:e.include?.bcs??!1}},t=>t.transaction),e.include)}async executeTransaction(e){return Op((await this.#t({query:cy,variables:{transactionDataBcs:ye(e.transaction),signatures:e.signatures,includeTransaction:e.include?.transaction??!1,includeEffects:e.include?.effects??!1,includeEvents:e.include?.events??!1,includeBalanceChanges:e.include?.balanceChanges??!1,includeObjectTypes:e.include?.objectTypes??!1,includeBcs:e.include?.bcs??!1}},t=>t.executeTransaction)).effects?.transaction,e.include)}async simulateTransaction(e){e.transaction instanceof Uint8Array||await e.transaction.prepareForSerialization({client:this});let t=await this.#t({query:ay,variables:{transaction:e.transaction instanceof Uint8Array?{bcs:{value:ye(e.transaction)}}:Uh(e.transaction),includeTransaction:e.include?.transaction??!1,includeEffects:e.include?.effects??!1,includeEvents:e.include?.events??!1,includeBalanceChanges:e.include?.balanceChanges??!1,includeObjectTypes:e.include?.objectTypes??!1,includeCommandResults:e.include?.commandResults??!1,includeBcs:e.include?.bcs??!1,checksEnabled:e.checksEnabled??!0}},s=>s.simulateTransaction),n=Op(t.effects?.transaction,e.include),r=e.include?.commandResults&&t.outputs?t.outputs.map(s=>({returnValues:(s.returnValues??[]).map(i=>({bcs:i.value?.bcs?ie(i.value.bcs):null})),mutatedReferences:(s.mutatedReferences??[]).map(i=>({bcs:i.value?.bcs?ie(i.value.bcs):null}))})):void 0;return n.$kind==="Transaction"?{$kind:"Transaction",Transaction:n.Transaction,commandResults:r}:{$kind:"FailedTransaction",FailedTransaction:n.FailedTransaction,commandResults:r}}async getReferenceGasPrice(){return{referenceGasPrice:await this.#t({query:ry},e=>e.epoch?.referenceGasPrice)??""}}async getProtocolConfig(){let e=await this.#t({query:ny},r=>r.epoch?.protocolConfigs),t={};for(let r of e?.featureFlags??[])t[r.key]=r.value;let n={};for(let r of e?.configs??[])n[r.key]=r.value??null;return{protocolConfig:{protocolVersion:e?.protocolVersion?.toString()??null,featureFlags:t,attributes:n}}}async getCurrentSystemState(){let e=await this.#t({query:Q0},r=>r.epoch);if(!e)throw new Error("Epoch data not found in response");let t=e.startTimestamp?new Date(e.startTimestamp).getTime().toString():null,n=e.systemState?.json;return{systemState:{systemStateVersion:n?.system_state_version?.toString()??null,epoch:e.epochId?.toString()??null,protocolVersion:e.protocolConfigs?.protocolVersion?.toString()??null,referenceGasPrice:e.referenceGasPrice??null,epochStartTimestampMs:t,safeMode:n?.safe_mode??!1,safeModeStorageRewards:n?.safe_mode_storage_rewards??null,safeModeComputationRewards:n?.safe_mode_computation_rewards??null,safeModeStorageRebates:n?.safe_mode_storage_rebates?.toString()??null,safeModeNonRefundableStorageFee:n?.safe_mode_non_refundable_storage_fee?.toString()??null,parameters:{epochDurationMs:n?.parameters?.epoch_duration_ms?.toString()??null,stakeSubsidyStartEpoch:n?.parameters?.stake_subsidy_start_epoch?.toString()??null,maxValidatorCount:n?.parameters?.max_validator_count?.toString()??null,minValidatorJoiningStake:n?.parameters?.min_validator_joining_stake?.toString()??null,validatorLowStakeThreshold:n?.parameters?.validator_low_stake_threshold?.toString()??null,validatorLowStakeGracePeriod:n?.parameters?.validator_low_stake_grace_period?.toString()??null},storageFund:{totalObjectStorageRebates:n?.storage_fund?.total_object_storage_rebates??null,nonRefundableBalance:n?.storage_fund?.non_refundable_balance??null},stakeSubsidy:{balance:n?.stake_subsidy?.balance??null,distributionCounter:n?.stake_subsidy?.distribution_counter?.toString()??null,currentDistributionAmount:n?.stake_subsidy?.current_distribution_amount?.toString()??null,stakeSubsidyPeriodLength:n?.stake_subsidy?.stake_subsidy_period_length?.toString()??null,stakeSubsidyDecreaseRate:n?.stake_subsidy?.stake_subsidy_decrease_rate??null}}}}async listDynamicFields(e){return this.#e.listDynamicFields(e)}async verifyZkLoginSignature(e){let t=e.intentScope==="TransactionData"?kp.TransactionData:kp.PersonalMessage,{data:n}=await this.#e.query({query:dy,variables:{bytes:e.bytes,signature:e.signature,intentScope:t,author:e.address}});return{success:n?.verifyZkLoginSignature?.success??!1,errors:[]}}async defaultNameServiceName(e){return{data:{name:await this.#t({query:sy,signal:e.signal,variables:{address:e.address}},t=>t.address?.defaultNameRecord?.domain??null)}}}async getMoveFunction(e){let t=await this.#t({query:ty,variables:{package:(await this.mvr.resolvePackage({package:e.packageId})).package,module:e.moduleName,function:e.name}},r=>r.package?.module?.function),n="unknown";switch(t.visibility){case"PUBLIC":n="public";break;case"PRIVATE":n="private";break;case"FRIEND":n="friend";break}return{function:{packageId:X(e.packageId),moduleName:e.moduleName,name:t.name,visibility:n,isEntry:t.isEntry??!1,typeParameters:t.typeParameters?.map(({constraints:r})=>({isPhantom:!1,constraints:r.map(s=>{switch(s){case"COPY":return"copy";case"DROP":return"drop";case"STORE":return"store";case"KEY":return"key";default:return"unknown"}})??[]}))??[],parameters:t.parameters?.map(r=>fy(r.signature))??[],returns:t.return?.map(({signature:r})=>fy(r))??[]}}}async getChainIdentifier(e){return this.cache.read(["chainIdentifier"],async()=>{let t=await this.#t({query:K0},n=>n.checkpoint);if(!t?.digest)throw new Error("Genesis checkpoint digest not found");return{chainIdentifier:t.digest}})}resolveTransactionPlugin(){let e=this.#e;return async function(n,r,s){let i=n.snapshot();i.sender||(i.sender="0x0000000000000000000000000000000000000000000000000000000000000000");let o=Fo(i),a=Sr.toJson(o),{data:c,errors:u}=await e.query({query:ly,variables:{transaction:a,doGasSelection:!r.onlyTransactionKind&&(i.gasData.budget==null||i.gasData.payment==null)}});Sp(u);let d=c?.simulateTransaction?.effects?.transaction?.effects;if(!r.onlyTransactionKind&&d?.status===Tp.Failure){let g=hy(d.executionError);throw new Qs(`Transaction resolution failed: ${g?.message??"Transaction failed"}`,{executionError:g})}let p=c?.simulateTransaction?.effects?.transaction?.transactionBcs;if(!p)throw new Error("simulateTransaction did not return resolved transaction data");let f=vn.fromBytes(ie(p)).snapshot();return r.onlyTransactionKind?n.applyResolvedData({...f,gasData:{budget:null,owner:null,payment:null,price:null},expiration:null}):n.applyResolvedData(f),await s()}}};function py(e,t){if(e)return t?{output:t.output??null,errors:t.errors??null}:null}function Sp(e){if(!e||e.length===0)return;let t=e.map(n=>new hO(n));throw t.length===1?t[0]:new AggregateError(t)}var hO=class extends Error{constructor(e){super(e.message),this.locations=e.locations}};function Ep(e){switch(e.__typename){case"AddressOwner":return{$kind:"AddressOwner",AddressOwner:e.address?.address};case"ConsensusAddressOwner":return{$kind:"ConsensusAddressOwner",ConsensusAddressOwner:{owner:e?.address?.address,startVersion:String(e.startVersion)}};case"ObjectOwner":return{$kind:"ObjectOwner",ObjectOwner:e.address?.address};case"Immutable":return{$kind:"Immutable",Immutable:!0};case"Shared":return{$kind:"Shared",Shared:{initialSharedVersion:String(e.initialSharedVersion)}}}}function Op(e,t){let n={};if(t?.objectTypes){let c=e.effects?.effectsJson;c&&bc.fromJson(c).changedObjects?.forEach(d=>{d.objectId&&d.objectType&&(n[d.objectId]=d.objectType)});let u=e.effects?.objectChanges?.nodes;if(u)for(let d of u){let p=d.outputState?.asMoveObject?.contents?.type?.repr;d.address&&p&&(n[d.address]=p)}}let r;if(t?.balanceChanges){let c=e.effects?.balanceChangesJson;Array.isArray(c)?r=c.map(u=>{let d=vc.fromJson(u);return{coinType:d.coinType,address:d.address,amount:d.amount}}):r=[]}let s=e.effects?.status===Tp.Success?{success:!0,error:null}:{success:!1,error:hy(e.effects?.executionError)},i;if(t?.transaction&&e.transactionJson){let c=$o(Sr.fromJson(e.transactionJson));i={gasData:c.gasData,sender:c.sender,expiration:c.expiration,commands:c.commands,inputs:c.inputs,version:c.version}}let o=t?.bcs&&e.transactionBcs?ie(e.transactionBcs):void 0,a={digest:e.digest,status:s,effects:t?.effects?Ka(ie(e.effects?.effectsBcs)):void 0,epoch:e.effects?.epoch?.epochId?.toString()??null,objectTypes:t?.objectTypes?n:void 0,transaction:i,bcs:o,signatures:e.signatures.map(c=>c.signatureBytes),balanceChanges:r,events:t?.events?e.effects?.events?.nodes.map(c=>{let u=c.contents?.type?.repr,[d,p]=u.split("::");return{packageId:d,module:p,sender:c.sender?.address,eventType:u,bcs:c.contents?.bcs?ie(c.contents.bcs):new Uint8Array,json:c.contents?.json??null}})??[]:void 0};return s.success?{$kind:"Transaction",Transaction:a,FailedTransaction:void 0}:{$kind:"FailedTransaction",Transaction:void 0,FailedTransaction:a}}function fy(e){let t=null;return e.ref==="&"?t="immutable":e.ref==="&mut"&&(t="mutable"),{reference:t,body:Ip(e.body)}}function hy(e){if(gO(e)==="MoveAbort"&&e?.abortCode!=null){let t=yO(e),n=bO(e),r=e.message?.match(/in (\d+)\w* command/),s=r?parseInt(r[1],10)-1:void 0;return{$kind:"MoveAbort",message:Ys({command:s,location:t?{package:t.package,module:t.module,functionName:t.functionName,instruction:t.instruction}:void 0,abortCode:e.abortCode,cleverError:n?{lineNumber:n.lineNumber,constantName:n.constantName,value:n.value}:void 0}),command:s,MoveAbort:{abortCode:e.abortCode,location:t,cleverError:n}}}return{$kind:"Unknown",message:e?.message??"Transaction failed",Unknown:null}}function gO(e){return e?.abortCode!=null?"MoveAbort":e?.message?.match(/^(\w+)/)?.[1]??"Unknown"}function yO(e){if(e.module?.package?.address&&e.module?.name)return{package:e.module?.package?.address,module:e.module?.name,functionName:e.function?.name,instruction:e.instructionOffset??void 0}}function bO(e){if(e.identifier||e.constant)return{constantName:e.identifier??void 0,value:e.constant??void 0,lineNumber:e.sourceLineNumber??void 0}}function Ip(e){switch(e){case"address":return{$kind:"address"};case"bool":return{$kind:"bool"};case"u8":return{$kind:"u8"};case"u16":return{$kind:"u16"};case"u32":return{$kind:"u32"};case"u64":return{$kind:"u64"};case"u128":return{$kind:"u128"};case"u256":return{$kind:"u256"}}if(typeof e=="string")throw new Error(`Unknown type: ${e}`);if("vector"in e)return{$kind:"vector",vector:Ip(e.vector)};if("datatype"in e)return{$kind:"datatype",datatype:{typeName:`${X(e.datatype.package)}::${e.datatype.module}::${e.datatype.type}`,typeParameters:e.datatype.typeParameters.map(t=>Ip(t))}};if("typeParameter"in e)return{$kind:"typeParameter",index:e.typeParameter};throw new Error(`Unknown type: ${JSON.stringify(e)}`)}function gy(e,t){if(!!!e)throw new Error(t)}var Ap=class{constructor(t,n,r){this.start=t.start,this.end=n.end,this.startToken=t,this.endToken=n,this.source=r}get[Symbol.toStringTag](){return"Location"}toJSON(){return{start:this.start,end:this.end}}},xp=class{constructor(t,n,r,s,i,o){this.kind=t,this.start=n,this.end=r,this.line=s,this.column=i,this.value=o,this.prev=null,this.next=null}get[Symbol.toStringTag](){return"Token"}toJSON(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}}},Np={Name:[],Document:["definitions"],OperationDefinition:["description","name","variableDefinitions","directives","selectionSet"],VariableDefinition:["description","variable","type","defaultValue","directives"],Variable:["name"],SelectionSet:["selections"],Field:["alias","name","arguments","directives","selectionSet"],Argument:["name","value"],FragmentSpread:["name","directives"],InlineFragment:["typeCondition","directives","selectionSet"],FragmentDefinition:["description","name","variableDefinitions","typeCondition","directives","selectionSet"],IntValue:[],FloatValue:[],StringValue:[],BooleanValue:[],NullValue:[],EnumValue:[],ListValue:["values"],ObjectValue:["fields"],ObjectField:["name","value"],Directive:["name","arguments"],NamedType:["name"],ListType:["type"],NonNullType:["type"],SchemaDefinition:["description","directives","operationTypes"],OperationTypeDefinition:["type"],ScalarTypeDefinition:["description","name","directives"],ObjectTypeDefinition:["description","name","interfaces","directives","fields"],FieldDefinition:["description","name","arguments","type","directives"],InputValueDefinition:["description","name","type","defaultValue","directives"],InterfaceTypeDefinition:["description","name","interfaces","directives","fields"],UnionTypeDefinition:["description","name","directives","types"],EnumTypeDefinition:["description","name","directives","values"],EnumValueDefinition:["description","name","directives"],InputObjectTypeDefinition:["description","name","directives","fields"],DirectiveDefinition:["description","name","arguments","locations"],SchemaExtension:["directives","operationTypes"],ScalarTypeExtension:["name","directives"],ObjectTypeExtension:["name","interfaces","directives","fields"],InterfaceTypeExtension:["name","interfaces","directives","fields"],UnionTypeExtension:["name","directives","types"],EnumTypeExtension:["name","directives","values"],InputObjectTypeExtension:["name","directives","fields"],TypeCoordinate:["name"],MemberCoordinate:["name","memberName"],ArgumentCoordinate:["name","fieldName","argumentName"],DirectiveCoordinate:["name"],DirectiveArgumentCoordinate:["name","argumentName"]},vO=new Set(Object.keys(Np));function Rp(e){let t=e?.kind;return typeof t=="string"&&vO.has(t)}var Cp;(function(e){e.QUERY="query",e.MUTATION="mutation",e.SUBSCRIPTION="subscription"})(Cp||(Cp={}));var da;(function(e){e.NAME="Name",e.DOCUMENT="Document",e.OPERATION_DEFINITION="OperationDefinition",e.VARIABLE_DEFINITION="VariableDefinition",e.SELECTION_SET="SelectionSet",e.FIELD="Field",e.ARGUMENT="Argument",e.FRAGMENT_SPREAD="FragmentSpread",e.INLINE_FRAGMENT="InlineFragment",e.FRAGMENT_DEFINITION="FragmentDefinition",e.VARIABLE="Variable",e.INT="IntValue",e.FLOAT="FloatValue",e.STRING="StringValue",e.BOOLEAN="BooleanValue",e.NULL="NullValue",e.ENUM="EnumValue",e.LIST="ListValue",e.OBJECT="ObjectValue",e.OBJECT_FIELD="ObjectField",e.DIRECTIVE="Directive",e.NAMED_TYPE="NamedType",e.LIST_TYPE="ListType",e.NON_NULL_TYPE="NonNullType",e.SCHEMA_DEFINITION="SchemaDefinition",e.OPERATION_TYPE_DEFINITION="OperationTypeDefinition",e.SCALAR_TYPE_DEFINITION="ScalarTypeDefinition",e.OBJECT_TYPE_DEFINITION="ObjectTypeDefinition",e.FIELD_DEFINITION="FieldDefinition",e.INPUT_VALUE_DEFINITION="InputValueDefinition",e.INTERFACE_TYPE_DEFINITION="InterfaceTypeDefinition",e.UNION_TYPE_DEFINITION="UnionTypeDefinition",e.ENUM_TYPE_DEFINITION="EnumTypeDefinition",e.ENUM_VALUE_DEFINITION="EnumValueDefinition",e.INPUT_OBJECT_TYPE_DEFINITION="InputObjectTypeDefinition",e.DIRECTIVE_DEFINITION="DirectiveDefinition",e.SCHEMA_EXTENSION="SchemaExtension",e.SCALAR_TYPE_EXTENSION="ScalarTypeExtension",e.OBJECT_TYPE_EXTENSION="ObjectTypeExtension",e.INTERFACE_TYPE_EXTENSION="InterfaceTypeExtension",e.UNION_TYPE_EXTENSION="UnionTypeExtension",e.ENUM_TYPE_EXTENSION="EnumTypeExtension",e.INPUT_OBJECT_TYPE_EXTENSION="InputObjectTypeExtension",e.TYPE_COORDINATE="TypeCoordinate",e.MEMBER_COORDINATE="MemberCoordinate",e.ARGUMENT_COORDINATE="ArgumentCoordinate",e.DIRECTIVE_COORDINATE="DirectiveCoordinate",e.DIRECTIVE_ARGUMENT_COORDINATE="DirectiveArgumentCoordinate"})(da||(da={}));function Mp(e){return e===9||e===32}function yy(e,t){let n=e.replace(/"""/g,'\\"""'),r=n.split(/\r\n|[\n\r]/g),s=r.length===1,i=r.length>1&&r.slice(1).every(g=>g.length===0||Mp(g.charCodeAt(0))),o=n.endsWith('\\"""'),a=e.endsWith('"')&&!o,c=e.endsWith("\\"),u=a||c,d=!(t!=null&&t.minimize)&&(!s||e.length>70||u||i||o),p="",f=s&&Mp(e.charCodeAt(0));return(d&&!f||i)&&(p+=`
|
|
807
|
+
`);var my=class extends Vi{#e;constructor({graphqlClient:e,mvr:t}){super({network:e.network,base:e,mvr:t}),this.#e=e}async#t(e,t){let{data:n,errors:r}=await this.#e.query(e);Sp(r);let s=n&&(t?t(n):n);if(s==null)throw new Error("Missing response data");return s}async getObjects(e){let t=Gn(e.objectIds,50),n=[];for(let r of t){let s=await this.#t({query:oy,variables:{objectKeys:r.map(i=>({address:i})),includeContent:e.include?.content??!1,includePreviousTransaction:e.include?.previousTransaction??!1,includeObjectBcs:e.include?.objectBcs??!1,includeJson:e.include?.json??!1,includeDisplay:e.include?.display??!1}},i=>i.multiGetObjects);n.push(...r.map(i=>X(i)).map(i=>s.find(o=>o?.address===i)??new zi("notFound",`Object ${i} not found`)).map(i=>{if(i instanceof zi)return i;let o=i.asMoveObject?.contents?.bcs?ie(i.asMoveObject.contents.bcs):void 0,a=i.objectBcs?ie(i.objectBcs):void 0,c;i.asMovePackage?c="package":i.asMoveObject?.contents?.type?.repr?c=i.asMoveObject.contents.type.repr:c="";let u=e.include?.json?i.asMoveObject?.contents?.json?i.asMoveObject.contents.json:null:void 0,d=py(e.include?.display,i.asMoveObject?.contents?.display);return{objectId:i.address,version:i.version?.toString(),digest:i.digest,owner:Ep(i.owner),type:c,content:o,previousTransaction:i.previousTransaction?.digest??void 0,objectBcs:a,json:u,display:d}}))}return{objects:n}}async listOwnedObjects(e){let t=await this.#t({query:iy,variables:{owner:e.owner,limit:e.limit,cursor:e.cursor,filter:e.type?{type:(await this.mvr.resolveType({type:e.type})).type}:void 0,includeContent:e.include?.content??!1,includePreviousTransaction:e.include?.previousTransaction??!1,includeObjectBcs:e.include?.objectBcs??!1,includeJson:e.include?.json??!1,includeDisplay:e.include?.display??!1}},n=>n.address?.objects);return{objects:t.nodes.map(n=>({objectId:n.address,version:n.version?.toString(),digest:n.digest,owner:Ep(n.owner),type:n.contents?.type?.repr,content:n.contents?.bcs?ie(n.contents.bcs):void 0,previousTransaction:n.previousTransaction?.digest??void 0,objectBcs:n.objectBcs?ie(n.objectBcs):void 0,json:e.include?.json?n.contents?.json?n.contents.json:null:void 0,display:py(e.include?.display,n.contents?.display)})),hasNextPage:t.pageInfo.hasNextPage,cursor:t.pageInfo.endCursor??null}}async listCoins(e){let t=e.coinType??zn,n=await this.#t({query:Y0,variables:{owner:e.owner,cursor:e.cursor,first:e.limit,type:`0x2::coin::Coin<${(await this.mvr.resolveType({type:t})).type}>`}},r=>r.address?.objects);return{cursor:n.pageInfo.endCursor??null,hasNextPage:n.pageInfo.hasNextPage,objects:n.nodes.map(r=>({objectId:r.address,version:r.version?.toString(),digest:r.digest,owner:Ep(r.owner),type:r.contents?.type?.repr,balance:r.contents?.json?.balance}))}}async getBalance(e){let t=e.coinType??zn,n=await this.#t({query:Z0,variables:{owner:e.owner,coinType:(await this.mvr.resolveType({type:t})).type}},i=>i.address?.balance),r=BigInt(n.addressBalance??"0"),s=BigInt(n.totalBalance??"0")-r;return{balance:{coinType:n.coinType?.repr??t,balance:n.totalBalance??"0",coinBalance:s.toString(),addressBalance:r.toString()}}}async getCoinMetadata(e){let t=(await this.mvr.resolveType({type:e.coinType})).type,{data:n,errors:r}=await this.#e.query({query:X0,variables:{coinType:t}});return Sp(r),n?.coinMetadata?{coinMetadata:{id:n.coinMetadata.address,decimals:n.coinMetadata.decimals,name:n.coinMetadata.name,symbol:n.coinMetadata.symbol,description:n.coinMetadata.description,iconUrl:n.coinMetadata.iconUrl??null}}:{coinMetadata:null}}async listBalances(e){let t=await this.#t({query:J0,variables:{owner:e.owner}},n=>n.address?.balances);return{cursor:t.pageInfo.endCursor??null,hasNextPage:t.pageInfo.hasNextPage,balances:t.nodes.map(n=>{let r=BigInt(n.addressBalance??"0"),s=BigInt(n.totalBalance??"0")-r;return{coinType:n.coinType?.repr,balance:n.totalBalance,coinBalance:s.toString(),addressBalance:r.toString()}})}}async getTransaction(e){return Op(await this.#t({query:uy,variables:{digest:e.digest,includeTransaction:e.include?.transaction??!1,includeEffects:e.include?.effects??!1,includeEvents:e.include?.events??!1,includeBalanceChanges:e.include?.balanceChanges??!1,includeObjectTypes:e.include?.objectTypes??!1,includeBcs:e.include?.bcs??!1}},t=>t.transaction),e.include)}async executeTransaction(e){return Op((await this.#t({query:cy,variables:{transactionDataBcs:ye(e.transaction),signatures:e.signatures,includeTransaction:e.include?.transaction??!1,includeEffects:e.include?.effects??!1,includeEvents:e.include?.events??!1,includeBalanceChanges:e.include?.balanceChanges??!1,includeObjectTypes:e.include?.objectTypes??!1,includeBcs:e.include?.bcs??!1}},t=>t.executeTransaction)).effects?.transaction,e.include)}async simulateTransaction(e){e.transaction instanceof Uint8Array||await e.transaction.prepareForSerialization({client:this});let t=await this.#t({query:ay,variables:{transaction:e.transaction instanceof Uint8Array?{bcs:{value:ye(e.transaction)}}:Uh(e.transaction),includeTransaction:e.include?.transaction??!1,includeEffects:e.include?.effects??!1,includeEvents:e.include?.events??!1,includeBalanceChanges:e.include?.balanceChanges??!1,includeObjectTypes:e.include?.objectTypes??!1,includeCommandResults:e.include?.commandResults??!1,includeBcs:e.include?.bcs??!1,checksEnabled:e.checksEnabled??!0}},s=>s.simulateTransaction),n=Op(t.effects?.transaction,e.include),r=e.include?.commandResults&&t.outputs?t.outputs.map(s=>({returnValues:(s.returnValues??[]).map(i=>({bcs:i.value?.bcs?ie(i.value.bcs):null})),mutatedReferences:(s.mutatedReferences??[]).map(i=>({bcs:i.value?.bcs?ie(i.value.bcs):null}))})):void 0;return n.$kind==="Transaction"?{$kind:"Transaction",Transaction:n.Transaction,commandResults:r}:{$kind:"FailedTransaction",FailedTransaction:n.FailedTransaction,commandResults:r}}async getReferenceGasPrice(){return{referenceGasPrice:await this.#t({query:ry},e=>e.epoch?.referenceGasPrice)??""}}async getProtocolConfig(){let e=await this.#t({query:ny},r=>r.epoch?.protocolConfigs),t={};for(let r of e?.featureFlags??[])t[r.key]=r.value;let n={};for(let r of e?.configs??[])n[r.key]=r.value??null;return{protocolConfig:{protocolVersion:e?.protocolVersion?.toString()??null,featureFlags:t,attributes:n}}}async getCurrentSystemState(){let e=await this.#t({query:Q0},r=>r.epoch);if(!e)throw new Error("Epoch data not found in response");let t=e.startTimestamp?new Date(e.startTimestamp).getTime().toString():null,n=e.systemState?.json;return{systemState:{systemStateVersion:n?.system_state_version?.toString()??null,epoch:e.epochId?.toString()??null,protocolVersion:e.protocolConfigs?.protocolVersion?.toString()??null,referenceGasPrice:e.referenceGasPrice??null,epochStartTimestampMs:t,safeMode:n?.safe_mode??!1,safeModeStorageRewards:n?.safe_mode_storage_rewards??null,safeModeComputationRewards:n?.safe_mode_computation_rewards??null,safeModeStorageRebates:n?.safe_mode_storage_rebates?.toString()??null,safeModeNonRefundableStorageFee:n?.safe_mode_non_refundable_storage_fee?.toString()??null,parameters:{epochDurationMs:n?.parameters?.epoch_duration_ms?.toString()??null,stakeSubsidyStartEpoch:n?.parameters?.stake_subsidy_start_epoch?.toString()??null,maxValidatorCount:n?.parameters?.max_validator_count?.toString()??null,minValidatorJoiningStake:n?.parameters?.min_validator_joining_stake?.toString()??null,validatorLowStakeThreshold:n?.parameters?.validator_low_stake_threshold?.toString()??null,validatorLowStakeGracePeriod:n?.parameters?.validator_low_stake_grace_period?.toString()??null},storageFund:{totalObjectStorageRebates:n?.storage_fund?.total_object_storage_rebates??null,nonRefundableBalance:n?.storage_fund?.non_refundable_balance??null},stakeSubsidy:{balance:n?.stake_subsidy?.balance??null,distributionCounter:n?.stake_subsidy?.distribution_counter?.toString()??null,currentDistributionAmount:n?.stake_subsidy?.current_distribution_amount?.toString()??null,stakeSubsidyPeriodLength:n?.stake_subsidy?.stake_subsidy_period_length?.toString()??null,stakeSubsidyDecreaseRate:n?.stake_subsidy?.stake_subsidy_decrease_rate??null}}}}async listDynamicFields(e){return this.#e.listDynamicFields(e)}async verifyZkLoginSignature(e){let t=e.intentScope==="TransactionData"?kp.TransactionData:kp.PersonalMessage,{data:n}=await this.#e.query({query:dy,variables:{bytes:e.bytes,signature:e.signature,intentScope:t,author:e.address}});return{success:n?.verifyZkLoginSignature?.success??!1,errors:[]}}async defaultNameServiceName(e){return{data:{name:await this.#t({query:sy,signal:e.signal,variables:{address:e.address}},t=>t.address?.defaultNameRecord?.domain??null)}}}async getMoveFunction(e){let t=await this.#t({query:ty,variables:{package:(await this.mvr.resolvePackage({package:e.packageId})).package,module:e.moduleName,function:e.name}},r=>r.package?.module?.function),n="unknown";switch(t.visibility){case"PUBLIC":n="public";break;case"PRIVATE":n="private";break;case"FRIEND":n="friend";break}return{function:{packageId:X(e.packageId),moduleName:e.moduleName,name:t.name,visibility:n,isEntry:t.isEntry??!1,typeParameters:t.typeParameters?.map(({constraints:r})=>({isPhantom:!1,constraints:r.map(s=>{switch(s){case"COPY":return"copy";case"DROP":return"drop";case"STORE":return"store";case"KEY":return"key";default:return"unknown"}})??[]}))??[],parameters:t.parameters?.map(r=>fy(r.signature))??[],returns:t.return?.map(({signature:r})=>fy(r))??[]}}}async getChainIdentifier(e){return this.cache.read(["chainIdentifier"],async()=>{let t=await this.#t({query:K0},n=>n.checkpoint);if(!t?.digest)throw new Error("Genesis checkpoint digest not found");return{chainIdentifier:t.digest}})}resolveTransactionPlugin(){let e=this.#e;return async function(n,r,s){let i=n.snapshot();i.sender||(i.sender="0x0000000000000000000000000000000000000000000000000000000000000000");let o=$o(i),a=Sr.toJson(o),{data:c,errors:u}=await e.query({query:ly,variables:{transaction:a,doGasSelection:!r.onlyTransactionKind&&(i.gasData.budget==null||i.gasData.payment==null)}});Sp(u);let d=c?.simulateTransaction?.effects?.transaction?.effects;if(!r.onlyTransactionKind&&d?.status===Tp.Failure){let g=hy(d.executionError);throw new ei(`Transaction resolution failed: ${g?.message??"Transaction failed"}`,{executionError:g})}let p=c?.simulateTransaction?.effects?.transaction?.transactionBcs;if(!p)throw new Error("simulateTransaction did not return resolved transaction data");let f=vn.fromBytes(ie(p)).snapshot();return r.onlyTransactionKind?n.applyResolvedData({...f,gasData:{budget:null,owner:null,payment:null,price:null},expiration:null}):n.applyResolvedData(f),await s()}}};function py(e,t){if(e)return t?{output:t.output??null,errors:t.errors??null}:null}function Sp(e){if(!e||e.length===0)return;let t=e.map(n=>new hO(n));throw t.length===1?t[0]:new AggregateError(t)}var hO=class extends Error{constructor(e){super(e.message),this.locations=e.locations}};function Ep(e){switch(e.__typename){case"AddressOwner":return{$kind:"AddressOwner",AddressOwner:e.address?.address};case"ConsensusAddressOwner":return{$kind:"ConsensusAddressOwner",ConsensusAddressOwner:{owner:e?.address?.address,startVersion:String(e.startVersion)}};case"ObjectOwner":return{$kind:"ObjectOwner",ObjectOwner:e.address?.address};case"Immutable":return{$kind:"Immutable",Immutable:!0};case"Shared":return{$kind:"Shared",Shared:{initialSharedVersion:String(e.initialSharedVersion)}}}}function Op(e,t){let n={};if(t?.objectTypes){let c=e.effects?.effectsJson;c&&vc.fromJson(c).changedObjects?.forEach(d=>{d.objectId&&d.objectType&&(n[d.objectId]=d.objectType)});let u=e.effects?.objectChanges?.nodes;if(u)for(let d of u){let p=d.outputState?.asMoveObject?.contents?.type?.repr;d.address&&p&&(n[d.address]=p)}}let r;if(t?.balanceChanges){let c=e.effects?.balanceChangesJson;Array.isArray(c)?r=c.map(u=>{let d=_c.fromJson(u);return{coinType:d.coinType,address:d.address,amount:d.amount}}):r=[]}let s=e.effects?.status===Tp.Success?{success:!0,error:null}:{success:!1,error:hy(e.effects?.executionError)},i;if(t?.transaction&&e.transactionJson){let c=qo(Sr.fromJson(e.transactionJson));i={gasData:c.gasData,sender:c.sender,expiration:c.expiration,commands:c.commands,inputs:c.inputs,version:c.version}}let o=t?.bcs&&e.transactionBcs?ie(e.transactionBcs):void 0,a={digest:e.digest,status:s,effects:t?.effects?Xa(ie(e.effects?.effectsBcs)):void 0,epoch:e.effects?.epoch?.epochId?.toString()??null,objectTypes:t?.objectTypes?n:void 0,transaction:i,bcs:o,signatures:e.signatures.map(c=>c.signatureBytes),balanceChanges:r,events:t?.events?e.effects?.events?.nodes.map(c=>{let u=c.contents?.type?.repr,[d,p]=u.split("::");return{packageId:d,module:p,sender:c.sender?.address,eventType:u,bcs:c.contents?.bcs?ie(c.contents.bcs):new Uint8Array,json:c.contents?.json??null}})??[]:void 0};return s.success?{$kind:"Transaction",Transaction:a,FailedTransaction:void 0}:{$kind:"FailedTransaction",Transaction:void 0,FailedTransaction:a}}function fy(e){let t=null;return e.ref==="&"?t="immutable":e.ref==="&mut"&&(t="mutable"),{reference:t,body:Ip(e.body)}}function hy(e){if(gO(e)==="MoveAbort"&&e?.abortCode!=null){let t=yO(e),n=bO(e),r=e.message?.match(/in (\d+)\w* command/),s=r?parseInt(r[1],10)-1:void 0;return{$kind:"MoveAbort",message:Qs({command:s,location:t?{package:t.package,module:t.module,functionName:t.functionName,instruction:t.instruction}:void 0,abortCode:e.abortCode,cleverError:n?{lineNumber:n.lineNumber,constantName:n.constantName,value:n.value}:void 0}),command:s,MoveAbort:{abortCode:e.abortCode,location:t,cleverError:n}}}return{$kind:"Unknown",message:e?.message??"Transaction failed",Unknown:null}}function gO(e){return e?.abortCode!=null?"MoveAbort":e?.message?.match(/^(\w+)/)?.[1]??"Unknown"}function yO(e){if(e.module?.package?.address&&e.module?.name)return{package:e.module?.package?.address,module:e.module?.name,functionName:e.function?.name,instruction:e.instructionOffset??void 0}}function bO(e){if(e.identifier||e.constant)return{constantName:e.identifier??void 0,value:e.constant??void 0,lineNumber:e.sourceLineNumber??void 0}}function Ip(e){switch(e){case"address":return{$kind:"address"};case"bool":return{$kind:"bool"};case"u8":return{$kind:"u8"};case"u16":return{$kind:"u16"};case"u32":return{$kind:"u32"};case"u64":return{$kind:"u64"};case"u128":return{$kind:"u128"};case"u256":return{$kind:"u256"}}if(typeof e=="string")throw new Error(`Unknown type: ${e}`);if("vector"in e)return{$kind:"vector",vector:Ip(e.vector)};if("datatype"in e)return{$kind:"datatype",datatype:{typeName:`${X(e.datatype.package)}::${e.datatype.module}::${e.datatype.type}`,typeParameters:e.datatype.typeParameters.map(t=>Ip(t))}};if("typeParameter"in e)return{$kind:"typeParameter",index:e.typeParameter};throw new Error(`Unknown type: ${JSON.stringify(e)}`)}function gy(e,t){if(!!!e)throw new Error(t)}var Ap=class{constructor(t,n,r){this.start=t.start,this.end=n.end,this.startToken=t,this.endToken=n,this.source=r}get[Symbol.toStringTag](){return"Location"}toJSON(){return{start:this.start,end:this.end}}},xp=class{constructor(t,n,r,s,i,o){this.kind=t,this.start=n,this.end=r,this.line=s,this.column=i,this.value=o,this.prev=null,this.next=null}get[Symbol.toStringTag](){return"Token"}toJSON(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}}},Np={Name:[],Document:["definitions"],OperationDefinition:["description","name","variableDefinitions","directives","selectionSet"],VariableDefinition:["description","variable","type","defaultValue","directives"],Variable:["name"],SelectionSet:["selections"],Field:["alias","name","arguments","directives","selectionSet"],Argument:["name","value"],FragmentSpread:["name","directives"],InlineFragment:["typeCondition","directives","selectionSet"],FragmentDefinition:["description","name","variableDefinitions","typeCondition","directives","selectionSet"],IntValue:[],FloatValue:[],StringValue:[],BooleanValue:[],NullValue:[],EnumValue:[],ListValue:["values"],ObjectValue:["fields"],ObjectField:["name","value"],Directive:["name","arguments"],NamedType:["name"],ListType:["type"],NonNullType:["type"],SchemaDefinition:["description","directives","operationTypes"],OperationTypeDefinition:["type"],ScalarTypeDefinition:["description","name","directives"],ObjectTypeDefinition:["description","name","interfaces","directives","fields"],FieldDefinition:["description","name","arguments","type","directives"],InputValueDefinition:["description","name","type","defaultValue","directives"],InterfaceTypeDefinition:["description","name","interfaces","directives","fields"],UnionTypeDefinition:["description","name","directives","types"],EnumTypeDefinition:["description","name","directives","values"],EnumValueDefinition:["description","name","directives"],InputObjectTypeDefinition:["description","name","directives","fields"],DirectiveDefinition:["description","name","arguments","locations"],SchemaExtension:["directives","operationTypes"],ScalarTypeExtension:["name","directives"],ObjectTypeExtension:["name","interfaces","directives","fields"],InterfaceTypeExtension:["name","interfaces","directives","fields"],UnionTypeExtension:["name","directives","types"],EnumTypeExtension:["name","directives","values"],InputObjectTypeExtension:["name","directives","fields"],TypeCoordinate:["name"],MemberCoordinate:["name","memberName"],ArgumentCoordinate:["name","fieldName","argumentName"],DirectiveCoordinate:["name"],DirectiveArgumentCoordinate:["name","argumentName"]},vO=new Set(Object.keys(Np));function Rp(e){let t=e?.kind;return typeof t=="string"&&vO.has(t)}var Cp;(function(e){e.QUERY="query",e.MUTATION="mutation",e.SUBSCRIPTION="subscription"})(Cp||(Cp={}));var pa;(function(e){e.NAME="Name",e.DOCUMENT="Document",e.OPERATION_DEFINITION="OperationDefinition",e.VARIABLE_DEFINITION="VariableDefinition",e.SELECTION_SET="SelectionSet",e.FIELD="Field",e.ARGUMENT="Argument",e.FRAGMENT_SPREAD="FragmentSpread",e.INLINE_FRAGMENT="InlineFragment",e.FRAGMENT_DEFINITION="FragmentDefinition",e.VARIABLE="Variable",e.INT="IntValue",e.FLOAT="FloatValue",e.STRING="StringValue",e.BOOLEAN="BooleanValue",e.NULL="NullValue",e.ENUM="EnumValue",e.LIST="ListValue",e.OBJECT="ObjectValue",e.OBJECT_FIELD="ObjectField",e.DIRECTIVE="Directive",e.NAMED_TYPE="NamedType",e.LIST_TYPE="ListType",e.NON_NULL_TYPE="NonNullType",e.SCHEMA_DEFINITION="SchemaDefinition",e.OPERATION_TYPE_DEFINITION="OperationTypeDefinition",e.SCALAR_TYPE_DEFINITION="ScalarTypeDefinition",e.OBJECT_TYPE_DEFINITION="ObjectTypeDefinition",e.FIELD_DEFINITION="FieldDefinition",e.INPUT_VALUE_DEFINITION="InputValueDefinition",e.INTERFACE_TYPE_DEFINITION="InterfaceTypeDefinition",e.UNION_TYPE_DEFINITION="UnionTypeDefinition",e.ENUM_TYPE_DEFINITION="EnumTypeDefinition",e.ENUM_VALUE_DEFINITION="EnumValueDefinition",e.INPUT_OBJECT_TYPE_DEFINITION="InputObjectTypeDefinition",e.DIRECTIVE_DEFINITION="DirectiveDefinition",e.SCHEMA_EXTENSION="SchemaExtension",e.SCALAR_TYPE_EXTENSION="ScalarTypeExtension",e.OBJECT_TYPE_EXTENSION="ObjectTypeExtension",e.INTERFACE_TYPE_EXTENSION="InterfaceTypeExtension",e.UNION_TYPE_EXTENSION="UnionTypeExtension",e.ENUM_TYPE_EXTENSION="EnumTypeExtension",e.INPUT_OBJECT_TYPE_EXTENSION="InputObjectTypeExtension",e.TYPE_COORDINATE="TypeCoordinate",e.MEMBER_COORDINATE="MemberCoordinate",e.ARGUMENT_COORDINATE="ArgumentCoordinate",e.DIRECTIVE_COORDINATE="DirectiveCoordinate",e.DIRECTIVE_ARGUMENT_COORDINATE="DirectiveArgumentCoordinate"})(pa||(pa={}));function Mp(e){return e===9||e===32}function yy(e,t){let n=e.replace(/"""/g,'\\"""'),r=n.split(/\r\n|[\n\r]/g),s=r.length===1,i=r.length>1&&r.slice(1).every(g=>g.length===0||Mp(g.charCodeAt(0))),o=n.endsWith('\\"""'),a=e.endsWith('"')&&!o,c=e.endsWith("\\"),u=a||c,d=!(t!=null&&t.minimize)&&(!s||e.length>70||u||i||o),p="",f=s&&Mp(e.charCodeAt(0));return(d&&!f||i)&&(p+=`
|
|
808
808
|
`),p+=n,(d||u)&&(p+=`
|
|
809
|
-
`),'"""'+p+'"""'}function by(e){return
|
|
809
|
+
`),'"""'+p+'"""'}function by(e){return su(e,[])}function su(e,t){switch(typeof e){case"string":return JSON.stringify(e);case"function":return e.name?`[function ${e.name}]`:"[function]";case"object":return _O(e,t);default:return String(e)}}function _O(e,t){if(e===null)return"null";if(t.includes(e))return"[Circular]";let n=[...t,e];if(wO(e)){let r=e.toJSON();if(r!==e)return typeof r=="string"?r:su(r,n)}else if(Array.isArray(e))return kO(e,n);return TO(e,n)}function wO(e){return typeof e.toJSON=="function"}function TO(e,t){let n=Object.entries(e);return n.length===0?"{}":t.length>2?"["+SO(e)+"]":"{ "+n.map(([s,i])=>s+": "+su(i,t)).join(", ")+" }"}function kO(e,t){if(e.length===0)return"[]";if(t.length>2)return"[Array]";let n=Math.min(10,e.length),r=e.length-n,s=[];for(let i=0;i<n;++i)s.push(su(e[i],t));return r===1?s.push("... 1 more item"):r>1&&s.push(`... ${r} more items`),"["+s.join(", ")+"]"}function SO(e){let t=Object.prototype.toString.call(e).replace(/^\[object /,"").replace(/]$/,"");if(t==="Object"&&typeof e.constructor=="function"){let n=e.constructor.name;if(typeof n=="string"&&n!=="")return n}return t}function vy(e){return`"${e.replace(EO,OO)}"`}var EO=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function OO(e){return IO[e.charCodeAt(0)]}var IO=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000B","\\f","\\r","\\u000E","\\u000F","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001A","\\u001B","\\u001C","\\u001D","\\u001E","\\u001F","","",'\\"',"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\\\","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\u007F","\\u0080","\\u0081","\\u0082","\\u0083","\\u0084","\\u0085","\\u0086","\\u0087","\\u0088","\\u0089","\\u008A","\\u008B","\\u008C","\\u008D","\\u008E","\\u008F","\\u0090","\\u0091","\\u0092","\\u0093","\\u0094","\\u0095","\\u0096","\\u0097","\\u0098","\\u0099","\\u009A","\\u009B","\\u009C","\\u009D","\\u009E","\\u009F"];var _y=Object.freeze({});function Bp(e,t,n=Np){let r=new Map;for(let A of Object.values(pa))r.set(A,wy(t,A));let s,i=Array.isArray(e),o=[e],a=-1,c=[],u=e,d,p,f=[],g=[];do{a++;let A=a===o.length,M=A&&c.length!==0;if(A){if(d=g.length===0?void 0:f[f.length-1],u=p,p=g.pop(),M)if(i){u=u.slice();let B=0;for(let[L,j]of c){let q=L-B;j===null?(u.splice(q,1),B++):u[q]=j}}else{u={...u};for(let[B,L]of c)u[B]=L}a=s.index,o=s.keys,c=s.edits,i=s.inArray,s=s.prev}else if(p){if(d=i?a:o[a],u=p[d],u==null)continue;f.push(d)}let C;if(!Array.isArray(u)){var b,_;Rp(u)||gy(!1,`Invalid AST Node: ${by(u)}.`);let B=A?(b=r.get(u.kind))===null||b===void 0?void 0:b.leave:(_=r.get(u.kind))===null||_===void 0?void 0:_.enter;if(C=B?.call(t,u,d,p,f,g),C===_y)break;if(C===!1){if(!A){f.pop();continue}}else if(C!==void 0&&(c.push([d,C]),!A))if(Rp(C))u=C;else{f.pop();continue}}if(C===void 0&&M&&c.push([d,u]),A)f.pop();else{var I;s={inArray:i,index:a,keys:o,edits:c,prev:s},i=Array.isArray(u),o=i?u:(I=n[u.kind])!==null&&I!==void 0?I:[],a=-1,c=[],p&&g.push(p),p=u}}while(s!==void 0);return c.length!==0?c[c.length-1][1]:e}function wy(e,t){let n=e[t];return typeof n=="object"?n:typeof n=="function"?{enter:n,leave:void 0}:{enter:e.enter,leave:e.leave}}function ou(e){return Bp(e,xO)}var AO=80,xO={Name:{leave:e=>e.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>se(e.definitions,`
|
|
810
810
|
|
|
811
811
|
`)},OperationDefinition:{leave(e){let t=jp(e.variableDefinitions)?Se(`(
|
|
812
812
|
`,se(e.variableDefinitions,`
|
|
@@ -814,7 +814,7 @@ fragment OBJECT_OWNER_FIELDS on Owner {
|
|
|
814
814
|
)`):Se("(",se(e.variableDefinitions,", "),")"),n=Se("",e.description,`
|
|
815
815
|
`)+se([e.operation,se([e.name,t]),se(e.directives," ")]," ");return(n==="query"?"":n+" ")+e.selectionSet}},VariableDefinition:{leave:({variable:e,type:t,defaultValue:n,directives:r,description:s})=>Se("",s,`
|
|
816
816
|
`)+e+": "+t+Se(" = ",n)+Se(" ",se(r," "))},SelectionSet:{leave:({selections:e})=>pr(e)},Field:{leave({alias:e,name:t,arguments:n,directives:r,selectionSet:s}){let i=Se("",e,": ")+t,o=i+Se("(",se(n,", "),")");return o.length>AO&&(o=i+Se(`(
|
|
817
|
-
`,
|
|
817
|
+
`,iu(se(n,`
|
|
818
818
|
`)),`
|
|
819
819
|
)`)),se([o,se(r," "),s]," ")}},Argument:{leave:({name:e,value:t})=>e+": "+t},FragmentSpread:{leave:({name:e,directives:t})=>"..."+e+Se(" ",se(t," "))},InlineFragment:{leave:({typeCondition:e,directives:t,selectionSet:n})=>se(["...",Se("on ",e),se(t," "),n]," ")},FragmentDefinition:{leave:({name:e,typeCondition:t,variableDefinitions:n,directives:r,selectionSet:s,description:i})=>Se("",i,`
|
|
820
820
|
`)+`fragment ${e}${Se("(",se(n,", "),")")} on ${t} ${Se("",se(r," ")," ")}`+s},IntValue:{leave:({value:e})=>e},FloatValue:{leave:({value:e})=>e},StringValue:{leave:({value:e,block:t})=>t?yy(e):vy(e)},BooleanValue:{leave:({value:e})=>e?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:e})=>e},ListValue:{leave:({values:e})=>"["+se(e,", ")+"]"},ObjectValue:{leave:({fields:e})=>"{"+se(e,", ")+"}"},ObjectField:{leave:({name:e,value:t})=>e+": "+t},Directive:{leave:({name:e,arguments:t})=>"@"+e+Se("(",se(t,", "),")")},NamedType:{leave:({name:e})=>e},ListType:{leave:({type:e})=>"["+e+"]"},NonNullType:{leave:({type:e})=>e+"!"},SchemaDefinition:{leave:({description:e,directives:t,operationTypes:n})=>Se("",e,`
|
|
@@ -822,7 +822,7 @@ fragment OBJECT_OWNER_FIELDS on Owner {
|
|
|
822
822
|
`)+se(["scalar",t,se(n," ")]," ")},ObjectTypeDefinition:{leave:({description:e,name:t,interfaces:n,directives:r,fields:s})=>Se("",e,`
|
|
823
823
|
`)+se(["type",t,Se("implements ",se(n," & ")),se(r," "),pr(s)]," ")},FieldDefinition:{leave:({description:e,name:t,arguments:n,type:r,directives:s})=>Se("",e,`
|
|
824
824
|
`)+t+(jp(n)?Se(`(
|
|
825
|
-
`,
|
|
825
|
+
`,iu(se(n,`
|
|
826
826
|
`)),`
|
|
827
827
|
)`):Se("(",se(n,", "),")"))+": "+r+Se(" ",se(s," "))},InputValueDefinition:{leave:({description:e,name:t,type:n,defaultValue:r,directives:s})=>Se("",e,`
|
|
828
828
|
`)+se([t+": "+n,Se("= ",r),se(s," ")]," ")},InterfaceTypeDefinition:{leave:({description:e,name:t,interfaces:n,directives:r,fields:s})=>Se("",e,`
|
|
@@ -832,33 +832,33 @@ fragment OBJECT_OWNER_FIELDS on Owner {
|
|
|
832
832
|
`)+se([t,se(n," ")]," ")},InputObjectTypeDefinition:{leave:({description:e,name:t,directives:n,fields:r})=>Se("",e,`
|
|
833
833
|
`)+se(["input",t,se(n," "),pr(r)]," ")},DirectiveDefinition:{leave:({description:e,name:t,arguments:n,repeatable:r,locations:s})=>Se("",e,`
|
|
834
834
|
`)+"directive @"+t+(jp(n)?Se(`(
|
|
835
|
-
`,
|
|
835
|
+
`,iu(se(n,`
|
|
836
836
|
`)),`
|
|
837
837
|
)`):Se("(",se(n,", "),")"))+(r?" repeatable":"")+" on "+se(s," | ")},SchemaExtension:{leave:({directives:e,operationTypes:t})=>se(["extend schema",se(e," "),pr(t)]," ")},ScalarTypeExtension:{leave:({name:e,directives:t})=>se(["extend scalar",e,se(t," ")]," ")},ObjectTypeExtension:{leave:({name:e,interfaces:t,directives:n,fields:r})=>se(["extend type",e,Se("implements ",se(t," & ")),se(n," "),pr(r)]," ")},InterfaceTypeExtension:{leave:({name:e,interfaces:t,directives:n,fields:r})=>se(["extend interface",e,Se("implements ",se(t," & ")),se(n," "),pr(r)]," ")},UnionTypeExtension:{leave:({name:e,directives:t,types:n})=>se(["extend union",e,se(t," "),Se("= ",se(n," | "))]," ")},EnumTypeExtension:{leave:({name:e,directives:t,values:n})=>se(["extend enum",e,se(t," "),pr(n)]," ")},InputObjectTypeExtension:{leave:({name:e,directives:t,fields:n})=>se(["extend input",e,se(t," "),pr(n)]," ")},TypeCoordinate:{leave:({name:e})=>e},MemberCoordinate:{leave:({name:e,memberName:t})=>se([e,Se(".",t)])},ArgumentCoordinate:{leave:({name:e,fieldName:t,argumentName:n})=>se([e,Se(".",t),Se("(",n,":)")])},DirectiveCoordinate:{leave:({name:e})=>se(["@",e])},DirectiveArgumentCoordinate:{leave:({name:e,argumentName:t})=>se(["@",e,Se("(",t,":)")])}};function se(e,t=""){var n;return(n=e?.filter(r=>r).join(t))!==null&&n!==void 0?n:""}function pr(e){return Se(`{
|
|
838
|
-
`,
|
|
838
|
+
`,iu(se(e,`
|
|
839
839
|
`)),`
|
|
840
|
-
}`)}function Se(e,t,n=""){return t!=null&&t!==""?e+t+n:""}function
|
|
840
|
+
}`)}function Se(e,t,n=""){return t!=null&&t!==""?e+t+n:""}function iu(e){return Se(" ",e.replace(/\n/g,`
|
|
841
841
|
`))}function jp(e){var t;return(t=e?.some(n=>n.includes(`
|
|
842
|
-
`)))!==null&&t!==void 0?t:!1}var Ty=class extends Error{},CO=Symbol.for("@mysten/SuiGraphQLClient");var Dp=class extends ps{#e;#t;#s;#r;get mvr(){return this.core.mvr}get[CO](){return!0}constructor({url:e,fetch:t=fetch,headers:n={},queries:r={},network:s,mvr:i}){super({network:s}),this.#e=e,this.#t=r,this.#s=n,this.#r=(...o)=>t(...o),this.core=new my({graphqlClient:this,mvr:i})}async query(e){let t=await this.#r(this.#e,{method:"POST",headers:{"Content-Type":"application/json",...this.#s},body:JSON.stringify({query:typeof e.query=="string"||e.query instanceof String?String(e.query):
|
|
843
|
-
`;break;case"id":a=I.includes("\0")?void 0:I;break;case"retry":/^\d+$/.test(I)?r(parseInt(I,10)):n(new
|
|
842
|
+
`)))!==null&&t!==void 0?t:!1}var Ty=class extends Error{},CO=Symbol.for("@mysten/SuiGraphQLClient");var Dp=class extends ps{#e;#t;#s;#r;get mvr(){return this.core.mvr}get[CO](){return!0}constructor({url:e,fetch:t=fetch,headers:n={},queries:r={},network:s,mvr:i}){super({network:s}),this.#e=e,this.#t=r,this.#s=n,this.#r=(...o)=>t(...o),this.core=new my({graphqlClient:this,mvr:i})}async query(e){let t=await this.#r(this.#e,{method:"POST",headers:{"Content-Type":"application/json",...this.#s},body:JSON.stringify({query:typeof e.query=="string"||e.query instanceof String?String(e.query):ou(e.query),variables:e.variables,extensions:e.extensions,operationName:e.operationName}),signal:e.signal});if(!t.ok)throw new Ty(`GraphQL request failed: ${t.statusText} (${t.status})`);return await t.json()}async execute(e,t){return this.query({...t,query:this.#t[e]})}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()}async listDynamicFields(e){let t=e.include?.value??!1,{data:n,errors:r}=await this.query({query:ey,variables:{parentId:e.parentId,first:e.limit,cursor:e.cursor,includeValue:t}});if(r?.length)throw r.length===1?new Error(r[0].message):new AggregateError(r.map(i=>new Error(i.message)));let s=n?.address?.dynamicFields;if(!s)throw new Error("Missing response data");return{dynamicFields:s.nodes.map(i=>{let o=i.value?.__typename==="MoveObject"?i.value.contents?.type?.repr:i.value?.type?.repr,a=i.value?.__typename==="MoveObject",c=a?`0x2::dynamic_object_field::Wrapper<${i.name?.type?.repr}>`:i.name?.type?.repr,u;if(t){let d;i.value?.__typename==="MoveValue"?d=ie(i.value.bcs??""):i.value?.__typename==="MoveObject"?d=ie(i.value.contents?.bcs??""):d=new Uint8Array,u={type:o,bcs:d}}return{$kind:a?"DynamicObject":"DynamicField",fieldId:or(e.parentId,c,ie(i.name?.bcs)),type:be(a?`0x2::dynamic_field::Field<0x2::dynamic_object_field::Wrapper<${i.name?.type?.repr}>,0x2::object::ID>`:`0x2::dynamic_field::Field<${i.name?.type?.repr},${o}>`),name:{type:i.name?.type?.repr,bcs:ie(i.name?.bcs)},valueType:o,childId:a&&i.value?.__typename==="MoveObject"?i.value.address:void 0,value:t?u:void 0}}),cursor:s.pageInfo.endCursor??null,hasNextPage:s.pageInfo.hasNextPage}}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 au=class extends Error{constructor(t,n){super(t),this.name="ParseError",this.type=n.type,this.field=n.field,this.value=n.value,this.line=n.line}};function Up(e){}function ky(e){if(typeof e=="function")throw new TypeError("`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?");let{onEvent:t=Up,onError:n=Up,onRetry:r=Up,onComment:s}=e,i="",o=!0,a,c="",u="";function d(_){let I=o?_.replace(/^\xEF\xBB\xBF/,""):_,[A,M]=NO(`${i}${I}`);for(let C of A)p(C);i=M,o=!1}function p(_){if(_===""){g();return}if(_.startsWith(":")){s&&s(_.slice(_.startsWith(": ")?2:1));return}let I=_.indexOf(":");if(I!==-1){let A=_.slice(0,I),M=_[I+1]===" "?2:1,C=_.slice(I+M);f(A,C,_);return}f(_,"",_)}function f(_,I,A){switch(_){case"event":u=I;break;case"data":c=`${c}${I}
|
|
843
|
+
`;break;case"id":a=I.includes("\0")?void 0:I;break;case"retry":/^\d+$/.test(I)?r(parseInt(I,10)):n(new au(`Invalid \`retry\` value: "${I}"`,{type:"invalid-retry",value:I,line:A}));break;default:n(new au(`Unknown field "${_.length>20?`${_.slice(0,20)}\u2026`:_}"`,{type:"unknown-field",field:_,value:I,line:A}));break}}function g(){c.length>0&&t({id:a,event:u||void 0,data:c.endsWith(`
|
|
844
844
|
`)?c.slice(0,-1):c}),a=void 0,c="",u=""}function b(_={}){i&&_.consume&&p(i),o=!0,a=void 0,c="",u="",i=""}return{feed:d,reset:b}}function NO(e){let t=[],n="",r=0;for(;r<e.length;){let s=e.indexOf("\r",r),i=e.indexOf(`
|
|
845
845
|
`,r),o=-1;if(s!==-1&&i!==-1?o=Math.min(s,i):s!==-1?s===e.length-1?o=-1:o=s:i!==-1&&(o=i),o===-1){n=e.slice(r);break}else{let a=e.slice(r,o);t.push(a),r=o+1,e[r-1]==="\r"&&e[r]===`
|
|
846
|
-
`&&r++}}return[t,n]}var cu=class extends Event{constructor(t,n){var r,s;super(t),this.code=(r=n?.code)!=null?r:void 0,this.message=(s=n?.message)!=null?s:void 0}[Symbol.for("nodejs.util.inspect.custom")](t,n,r){return r(Sy(this),n)}[Symbol.for("Deno.customInspect")](t,n){return t(Sy(this),n)}};function RO(e){let t=globalThis.DOMException;return typeof t=="function"?new t(e,"SyntaxError"):new SyntaxError(e)}function Pp(e){return e instanceof Error?"errors"in e&&Array.isArray(e.errors)?e.errors.map(Pp).join(", "):"cause"in e&&e.cause instanceof Error?`${e}: ${Pp(e.cause)}`:e.message:`${e}`}function Sy(e){return{type:e.type,message:e.message,code:e.code,defaultPrevented:e.defaultPrevented,cancelable:e.cancelable,timeStamp:e.timeStamp}}var Oy=e=>{throw TypeError(e)},Wp=(e,t,n)=>t.has(e)||Oy("Cannot "+n),Ne=(e,t,n)=>(Wp(e,t,"read from private field"),n?n.call(e):t.get(e)),Ht=(e,t,n)=>t.has(e)?Oy("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),Xe=(e,t,n,r)=>(Wp(e,t,"write to private field"),t.set(e,n),n),ts=(e,t,n)=>(Wp(e,t,"access private method"),n),Rn,di,no,au,uu,ma,io,ha,Cs,ro,oo,so,pa,fr,Lp,Vp,Fp,Ey,$p,qp,fa,Gp,zp,pi=class extends EventTarget{constructor(t,n){var r,s;super(),Ht(this,fr),this.CONNECTING=0,this.OPEN=1,this.CLOSED=2,Ht(this,Rn),Ht(this,di),Ht(this,no),Ht(this,au),Ht(this,uu),Ht(this,ma),Ht(this,io),Ht(this,ha,null),Ht(this,Cs),Ht(this,ro),Ht(this,oo,null),Ht(this,so,null),Ht(this,pa,null),Ht(this,Vp,async i=>{var o;Ne(this,ro).reset();let{body:a,redirected:c,status:u,headers:d}=i;if(u===204){ts(this,fr,fa).call(this,"Server sent HTTP 204, not reconnecting",204),this.close();return}if(c?Xe(this,no,new URL(i.url)):Xe(this,no,void 0),u!==200){ts(this,fr,fa).call(this,`Non-200 status code (${u})`,u);return}if(!(d.get("content-type")||"").startsWith("text/event-stream")){ts(this,fr,fa).call(this,'Invalid content type, expected "text/event-stream"',u);return}if(Ne(this,Rn)===this.CLOSED)return;Xe(this,Rn,this.OPEN);let p=new Event("open");if((o=Ne(this,pa))==null||o.call(this,p),this.dispatchEvent(p),typeof a!="object"||!a||!("getReader"in a)){ts(this,fr,fa).call(this,"Invalid response body, expected a web ReadableStream",u),this.close();return}let f=new TextDecoder,g=a.getReader(),b=!0;do{let{done:_,value:I}=await g.read();I&&Ne(this,ro).feed(f.decode(I,{stream:!_})),_&&(b=!1,Ne(this,ro).reset(),ts(this,fr,Gp).call(this))}while(b)}),Ht(this,Fp,i=>{Xe(this,Cs,void 0),!(i.name==="AbortError"||i.type==="aborted")&&ts(this,fr,Gp).call(this,Pp(i))}),Ht(this,$p,i=>{typeof i.id=="string"&&Xe(this,ha,i.id);let o=new MessageEvent(i.event||"message",{data:i.data,origin:Ne(this,no)?Ne(this,no).origin:Ne(this,di).origin,lastEventId:i.id||""});Ne(this,so)&&(!i.event||i.event==="message")&&Ne(this,so).call(this,o),this.dispatchEvent(o)}),Ht(this,qp,i=>{Xe(this,ma,i)}),Ht(this,zp,()=>{Xe(this,io,void 0),Ne(this,Rn)===this.CONNECTING&&ts(this,fr,Lp).call(this)});try{if(t instanceof URL)Xe(this,di,t);else if(typeof t=="string")Xe(this,di,new URL(t,MO()));else throw new Error("Invalid URL")}catch{throw RO("An invalid or illegal string was specified")}Xe(this,ro,ky({onEvent:Ne(this,$p),onRetry:Ne(this,qp)})),Xe(this,Rn,this.CONNECTING),Xe(this,ma,3e3),Xe(this,uu,(r=n?.fetch)!=null?r:globalThis.fetch),Xe(this,au,(s=n?.withCredentials)!=null?s:!1),ts(this,fr,Lp).call(this)}get readyState(){return Ne(this,Rn)}get url(){return Ne(this,di).href}get withCredentials(){return Ne(this,au)}get onerror(){return Ne(this,oo)}set onerror(t){Xe(this,oo,t)}get onmessage(){return Ne(this,so)}set onmessage(t){Xe(this,so,t)}get onopen(){return Ne(this,pa)}set onopen(t){Xe(this,pa,t)}addEventListener(t,n,r){let s=n;super.addEventListener(t,s,r)}removeEventListener(t,n,r){let s=n;super.removeEventListener(t,s,r)}close(){Ne(this,io)&&clearTimeout(Ne(this,io)),Ne(this,Rn)!==this.CLOSED&&(Ne(this,Cs)&&Ne(this,Cs).abort(),Xe(this,Rn,this.CLOSED),Xe(this,Cs,void 0))}};Rn=new WeakMap,di=new WeakMap,no=new WeakMap,au=new WeakMap,uu=new WeakMap,ma=new WeakMap,io=new WeakMap,ha=new WeakMap,Cs=new WeakMap,ro=new WeakMap,oo=new WeakMap,so=new WeakMap,pa=new WeakMap,fr=new WeakSet,Lp=function(){Xe(this,Rn,this.CONNECTING),Xe(this,Cs,new AbortController),Ne(this,uu)(Ne(this,di),ts(this,fr,Ey).call(this)).then(Ne(this,Vp)).catch(Ne(this,Fp))},Vp=new WeakMap,Fp=new WeakMap,Ey=function(){var e;let t={mode:"cors",redirect:"follow",headers:{Accept:"text/event-stream",...Ne(this,ha)?{"Last-Event-ID":Ne(this,ha)}:void 0},cache:"no-store",signal:(e=Ne(this,Cs))==null?void 0:e.signal};return"window"in globalThis&&(t.credentials=this.withCredentials?"include":"same-origin"),t},$p=new WeakMap,qp=new WeakMap,fa=function(e,t){var n;Ne(this,Rn)!==this.CLOSED&&Xe(this,Rn,this.CLOSED);let r=new cu("error",{code:t,message:e});(n=Ne(this,oo))==null||n.call(this,r),this.dispatchEvent(r)},Gp=function(e,t){var n;if(Ne(this,Rn)===this.CLOSED)return;Xe(this,Rn,this.CONNECTING);let r=new cu("error",{code:t,message:e});(n=Ne(this,oo))==null||n.call(this,r),this.dispatchEvent(r),Xe(this,io,setTimeout(Ne(this,zp),Ne(this,ma)))},zp=new WeakMap,pi.CONNECTING=0,pi.OPEN=1,pi.CLOSED=2;function MO(){let e="document"in globalThis?globalThis.document:void 0;return e&&typeof e=="object"&&"baseURI"in e&&typeof e.baseURI=="string"?e.baseURI:void 0}function BO(e){return e.replaceAll(/[A-Z]/g,t=>`_${t.toLowerCase()}`)}function ga(e){let t={};for(let n of Object.keys(e)){let r=BO(n),s=e[n];t[r]=s}return t}import zI,{AxiosError as VF}from"axios";var pe={};Wb(pe,{BRAND:()=>oI,DIRTY:()=>fi,EMPTY_PATH:()=>PO,INVALID:()=>ve,NEVER:()=>GI,OK:()=>hn,ParseStatus:()=>Jt,Schema:()=>xe,ZodAny:()=>Ms,ZodArray:()=>$n,ZodBigInt:()=>Cr,ZodBoolean:()=>mi,ZodBranded:()=>ba,ZodCatch:()=>Si,ZodDate:()=>is,ZodDefault:()=>ki,ZodDiscriminatedUnion:()=>fo,ZodEffects:()=>er,ZodEnum:()=>Nr,ZodError:()=>mn,ZodFirstPartyTypeKind:()=>we,ZodFunction:()=>Rs,ZodIntersection:()=>bi,ZodIssueCode:()=>G,ZodLazy:()=>_i,ZodLiteral:()=>wi,ZodMap:()=>mo,ZodNaN:()=>ho,ZodNativeEnum:()=>Ti,ZodNever:()=>mr,ZodNull:()=>gi,ZodNullable:()=>Rr,ZodNumber:()=>xr,ZodObject:()=>Je,ZodOptional:()=>Xn,ZodParsedType:()=>ne,ZodPipeline:()=>Ei,ZodPromise:()=>Bs,ZodReadonly:()=>Oi,ZodRecord:()=>vi,ZodSchema:()=>xe,ZodSet:()=>os,ZodString:()=>Fn,ZodSymbol:()=>lo,ZodTransformer:()=>er,ZodTuple:()=>Qn,ZodType:()=>xe,ZodUndefined:()=>hi,ZodUnion:()=>yi,ZodUnknown:()=>ss,ZodVoid:()=>po,addIssueToContext:()=>Q,any:()=>hI,array:()=>vI,bigint:()=>lI,boolean:()=>Uy,coerce:()=>qI,custom:()=>By,date:()=>dI,datetimeRegex:()=>Ry,defaultErrorMap:()=>ns,discriminatedUnion:()=>kI,effect:()=>jI,enum:()=>RI,function:()=>xI,getErrorMap:()=>ao,getParsedType:()=>Ar,instanceof:()=>cI,intersection:()=>SI,isAborted:()=>lu,isAsync:()=>co,isDirty:()=>du,isValid:()=>Ns,late:()=>aI,lazy:()=>CI,literal:()=>NI,makeIssue:()=>ya,map:()=>II,nan:()=>uI,nativeEnum:()=>MI,never:()=>yI,null:()=>mI,nullable:()=>UI,number:()=>Dy,object:()=>_I,objectUtil:()=>Hp,oboolean:()=>$I,onumber:()=>FI,optional:()=>DI,ostring:()=>VI,pipeline:()=>LI,preprocess:()=>PI,promise:()=>BI,quotelessJson:()=>jO,record:()=>OI,set:()=>AI,setErrorMap:()=>UO,strictObject:()=>wI,string:()=>jy,symbol:()=>pI,transformer:()=>jI,tuple:()=>EI,undefined:()=>fI,union:()=>TI,unknown:()=>gI,util:()=>Re,void:()=>bI});var Re;(function(e){e.assertEqual=s=>{};function t(s){}e.assertIs=t;function n(s){throw new Error}e.assertNever=n,e.arrayToEnum=s=>{let i={};for(let o of s)i[o]=o;return i},e.getValidEnumValues=s=>{let i=e.objectKeys(s).filter(a=>typeof s[s[a]]!="number"),o={};for(let a of i)o[a]=s[a];return e.objectValues(o)},e.objectValues=s=>e.objectKeys(s).map(function(i){return s[i]}),e.objectKeys=typeof Object.keys=="function"?s=>Object.keys(s):s=>{let i=[];for(let o in s)Object.prototype.hasOwnProperty.call(s,o)&&i.push(o);return i},e.find=(s,i)=>{for(let o of s)if(i(o))return o},e.isInteger=typeof Number.isInteger=="function"?s=>Number.isInteger(s):s=>typeof s=="number"&&Number.isFinite(s)&&Math.floor(s)===s;function r(s,i=" | "){return s.map(o=>typeof o=="string"?`'${o}'`:o).join(i)}e.joinValues=r,e.jsonStringifyReplacer=(s,i)=>typeof i=="bigint"?i.toString():i})(Re||(Re={}));var Hp;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(Hp||(Hp={}));var ne=Re.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Ar=e=>{switch(typeof e){case"undefined":return ne.undefined;case"string":return ne.string;case"number":return Number.isNaN(e)?ne.nan:ne.number;case"boolean":return ne.boolean;case"function":return ne.function;case"bigint":return ne.bigint;case"symbol":return ne.symbol;case"object":return Array.isArray(e)?ne.array:e===null?ne.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?ne.promise:typeof Map<"u"&&e instanceof Map?ne.map:typeof Set<"u"&&e instanceof Set?ne.set:typeof Date<"u"&&e instanceof Date?ne.date:ne.object;default:return ne.unknown}};var G=Re.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),jO=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),mn=class extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};let n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}format(t){let n=t||function(i){return i.message},r={_errors:[]},s=i=>{for(let o of i.issues)if(o.code==="invalid_union")o.unionErrors.map(s);else if(o.code==="invalid_return_type")s(o.returnTypeError);else if(o.code==="invalid_arguments")s(o.argumentsError);else if(o.path.length===0)r._errors.push(n(o));else{let a=r,c=0;for(;c<o.path.length;){let u=o.path[c];c===o.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(n(o))):a[u]=a[u]||{_errors:[]},a=a[u],c++}}};return s(this),r}static assert(t){if(!(t instanceof mn))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,Re.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=n=>n.message){let n={},r=[];for(let s of this.issues)if(s.path.length>0){let i=s.path[0];n[i]=n[i]||[],n[i].push(t(s))}else r.push(t(s));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}};mn.create=e=>new mn(e);var DO=(e,t)=>{let n;switch(e.code){case G.invalid_type:e.received===ne.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case G.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,Re.jsonStringifyReplacer)}`;break;case G.unrecognized_keys:n=`Unrecognized key(s) in object: ${Re.joinValues(e.keys,", ")}`;break;case G.invalid_union:n="Invalid input";break;case G.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${Re.joinValues(e.options)}`;break;case G.invalid_enum_value:n=`Invalid enum value. Expected ${Re.joinValues(e.options)}, received '${e.received}'`;break;case G.invalid_arguments:n="Invalid function arguments";break;case G.invalid_return_type:n="Invalid function return type";break;case G.invalid_date:n="Invalid date";break;case G.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:Re.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case G.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case G.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case G.custom:n="Invalid input";break;case G.invalid_intersection_types:n="Intersection results could not be merged";break;case G.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case G.not_finite:n="Number must be finite";break;default:n=t.defaultError,Re.assertNever(e)}return{message:n}},ns=DO;var Iy=ns;function UO(e){Iy=e}function ao(){return Iy}var ya=e=>{let{data:t,path:n,errorMaps:r,issueData:s}=e,i=[...n,...s.path||[]],o={...s,path:i};if(s.message!==void 0)return{...s,path:i,message:s.message};let a="",c=r.filter(u=>!!u).slice().reverse();for(let u of c)a=u(o,{data:t,defaultError:a}).message;return{...s,path:i,message:a}},PO=[];function Q(e,t){let n=ao(),r=ya({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===ns?void 0:ns].filter(s=>!!s)});e.common.issues.push(r)}var Jt=class{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){let r=[];for(let s of n){if(s.status==="aborted")return ve;s.status==="dirty"&&t.dirty(),r.push(s.value)}return{status:t.value,value:r}}static async mergeObjectAsync(t,n){let r=[];for(let s of n){let i=await s.key,o=await s.value;r.push({key:i,value:o})}return Jt.mergeObjectSync(t,r)}static mergeObjectSync(t,n){let r={};for(let s of n){let{key:i,value:o}=s;if(i.status==="aborted"||o.status==="aborted")return ve;i.status==="dirty"&&t.dirty(),o.status==="dirty"&&t.dirty(),i.value!=="__proto__"&&(typeof o.value<"u"||s.alwaysSet)&&(r[i.value]=o.value)}return{status:t.value,value:r}}},ve=Object.freeze({status:"aborted"}),fi=e=>({status:"dirty",value:e}),hn=e=>({status:"valid",value:e}),lu=e=>e.status==="aborted",du=e=>e.status==="dirty",Ns=e=>e.status==="valid",co=e=>typeof Promise<"u"&&e instanceof Promise;var ae;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(ae||(ae={}));var Yn=class{constructor(t,n,r,s){this._cachedPath=[],this.parent=t,this.data=n,this._path=r,this._key=s}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},Ay=(e,t)=>{if(Ns(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let n=new mn(e.common.issues);return this._error=n,this._error}}};function Ie(e){if(!e)return{};let{errorMap:t,invalid_type_error:n,required_error:r,description:s}=e;if(t&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:s}:{errorMap:(o,a)=>{let{message:c}=e;return o.code==="invalid_enum_value"?{message:c??a.defaultError}:typeof a.data>"u"?{message:c??r??a.defaultError}:o.code!=="invalid_type"?{message:a.defaultError}:{message:c??n??a.defaultError}},description:s}}var xe=class{get description(){return this._def.description}_getType(t){return Ar(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:Ar(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new Jt,ctx:{common:t.parent.common,data:t.data,parsedType:Ar(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let n=this._parse(t);if(co(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(t){let n=this._parse(t);return Promise.resolve(n)}parse(t,n){let r=this.safeParse(t,n);if(r.success)return r.data;throw r.error}safeParse(t,n){let r={common:{issues:[],async:n?.async??!1,contextualErrorMap:n?.errorMap},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Ar(t)},s=this._parseSync({data:t,path:r.path,parent:r});return Ay(r,s)}"~validate"(t){let n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Ar(t)};if(!this["~standard"].async)try{let r=this._parseSync({data:t,path:[],parent:n});return Ns(r)?{value:r.value}:{issues:n.common.issues}}catch(r){r?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),n.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:n}).then(r=>Ns(r)?{value:r.value}:{issues:n.common.issues})}async parseAsync(t,n){let r=await this.safeParseAsync(t,n);if(r.success)return r.data;throw r.error}async safeParseAsync(t,n){let r={common:{issues:[],contextualErrorMap:n?.errorMap,async:!0},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Ar(t)},s=this._parse({data:t,path:r.path,parent:r}),i=await(co(s)?s:Promise.resolve(s));return Ay(r,i)}refine(t,n){let r=s=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(s):n;return this._refinement((s,i)=>{let o=t(s),a=()=>i.addIssue({code:G.custom,...r(s)});return typeof Promise<"u"&&o instanceof Promise?o.then(c=>c?!0:(a(),!1)):o?!0:(a(),!1)})}refinement(t,n){return this._refinement((r,s)=>t(r)?!0:(s.addIssue(typeof n=="function"?n(r,s):n),!1))}_refinement(t){return new er({schema:this,typeName:we.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:n=>this["~validate"](n)}}optional(){return Xn.create(this,this._def)}nullable(){return Rr.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return $n.create(this)}promise(){return Bs.create(this,this._def)}or(t){return yi.create([this,t],this._def)}and(t){return bi.create(this,t,this._def)}transform(t){return new er({...Ie(this._def),schema:this,typeName:we.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let n=typeof t=="function"?t:()=>t;return new ki({...Ie(this._def),innerType:this,defaultValue:n,typeName:we.ZodDefault})}brand(){return new ba({typeName:we.ZodBranded,type:this,...Ie(this._def)})}catch(t){let n=typeof t=="function"?t:()=>t;return new Si({...Ie(this._def),innerType:this,catchValue:n,typeName:we.ZodCatch})}describe(t){let n=this.constructor;return new n({...this._def,description:t})}pipe(t){return Ei.create(this,t)}readonly(){return Oi.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},LO=/^c[^\s-]{8,}$/i,VO=/^[0-9a-z]+$/,FO=/^[0-9A-HJKMNP-TV-Z]{26}$/i,$O=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,qO=/^[a-z0-9_-]{21}$/i,GO=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,zO=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,WO=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,HO="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Jp,JO=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ZO=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,KO=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,XO=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,YO=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,QO=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Cy="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",eI=new RegExp(`^${Cy}$`);function Ny(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);let n=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function tI(e){return new RegExp(`^${Ny(e)}$`)}function Ry(e){let t=`${Cy}T${Ny(e)}`,n=[];return n.push(e.local?"Z?":"Z"),e.offset&&n.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${n.join("|")})`,new RegExp(`^${t}$`)}function nI(e,t){return!!((t==="v4"||!t)&&JO.test(e)||(t==="v6"||!t)&&KO.test(e))}function rI(e,t){if(!GO.test(e))return!1;try{let[n]=e.split(".");if(!n)return!1;let r=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),s=JSON.parse(atob(r));return!(typeof s!="object"||s===null||"typ"in s&&s?.typ!=="JWT"||!s.alg||t&&s.alg!==t)}catch{return!1}}function sI(e,t){return!!((t==="v4"||!t)&&ZO.test(e)||(t==="v6"||!t)&&XO.test(e))}var Fn=class extends xe{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==ne.string){let i=this._getOrReturnCtx(t);return Q(i,{code:G.invalid_type,expected:ne.string,received:i.parsedType}),ve}let r=new Jt,s;for(let i of this._def.checks)if(i.kind==="min")t.data.length<i.value&&(s=this._getOrReturnCtx(t,s),Q(s,{code:G.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),r.dirty());else if(i.kind==="max")t.data.length>i.value&&(s=this._getOrReturnCtx(t,s),Q(s,{code:G.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),r.dirty());else if(i.kind==="length"){let o=t.data.length>i.value,a=t.data.length<i.value;(o||a)&&(s=this._getOrReturnCtx(t,s),o?Q(s,{code:G.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}):a&&Q(s,{code:G.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}),r.dirty())}else if(i.kind==="email")WO.test(t.data)||(s=this._getOrReturnCtx(t,s),Q(s,{validation:"email",code:G.invalid_string,message:i.message}),r.dirty());else if(i.kind==="emoji")Jp||(Jp=new RegExp(HO,"u")),Jp.test(t.data)||(s=this._getOrReturnCtx(t,s),Q(s,{validation:"emoji",code:G.invalid_string,message:i.message}),r.dirty());else if(i.kind==="uuid")$O.test(t.data)||(s=this._getOrReturnCtx(t,s),Q(s,{validation:"uuid",code:G.invalid_string,message:i.message}),r.dirty());else if(i.kind==="nanoid")qO.test(t.data)||(s=this._getOrReturnCtx(t,s),Q(s,{validation:"nanoid",code:G.invalid_string,message:i.message}),r.dirty());else if(i.kind==="cuid")LO.test(t.data)||(s=this._getOrReturnCtx(t,s),Q(s,{validation:"cuid",code:G.invalid_string,message:i.message}),r.dirty());else if(i.kind==="cuid2")VO.test(t.data)||(s=this._getOrReturnCtx(t,s),Q(s,{validation:"cuid2",code:G.invalid_string,message:i.message}),r.dirty());else if(i.kind==="ulid")FO.test(t.data)||(s=this._getOrReturnCtx(t,s),Q(s,{validation:"ulid",code:G.invalid_string,message:i.message}),r.dirty());else if(i.kind==="url")try{new URL(t.data)}catch{s=this._getOrReturnCtx(t,s),Q(s,{validation:"url",code:G.invalid_string,message:i.message}),r.dirty()}else i.kind==="regex"?(i.regex.lastIndex=0,i.regex.test(t.data)||(s=this._getOrReturnCtx(t,s),Q(s,{validation:"regex",code:G.invalid_string,message:i.message}),r.dirty())):i.kind==="trim"?t.data=t.data.trim():i.kind==="includes"?t.data.includes(i.value,i.position)||(s=this._getOrReturnCtx(t,s),Q(s,{code:G.invalid_string,validation:{includes:i.value,position:i.position},message:i.message}),r.dirty()):i.kind==="toLowerCase"?t.data=t.data.toLowerCase():i.kind==="toUpperCase"?t.data=t.data.toUpperCase():i.kind==="startsWith"?t.data.startsWith(i.value)||(s=this._getOrReturnCtx(t,s),Q(s,{code:G.invalid_string,validation:{startsWith:i.value},message:i.message}),r.dirty()):i.kind==="endsWith"?t.data.endsWith(i.value)||(s=this._getOrReturnCtx(t,s),Q(s,{code:G.invalid_string,validation:{endsWith:i.value},message:i.message}),r.dirty()):i.kind==="datetime"?Ry(i).test(t.data)||(s=this._getOrReturnCtx(t,s),Q(s,{code:G.invalid_string,validation:"datetime",message:i.message}),r.dirty()):i.kind==="date"?eI.test(t.data)||(s=this._getOrReturnCtx(t,s),Q(s,{code:G.invalid_string,validation:"date",message:i.message}),r.dirty()):i.kind==="time"?tI(i).test(t.data)||(s=this._getOrReturnCtx(t,s),Q(s,{code:G.invalid_string,validation:"time",message:i.message}),r.dirty()):i.kind==="duration"?zO.test(t.data)||(s=this._getOrReturnCtx(t,s),Q(s,{validation:"duration",code:G.invalid_string,message:i.message}),r.dirty()):i.kind==="ip"?nI(t.data,i.version)||(s=this._getOrReturnCtx(t,s),Q(s,{validation:"ip",code:G.invalid_string,message:i.message}),r.dirty()):i.kind==="jwt"?rI(t.data,i.alg)||(s=this._getOrReturnCtx(t,s),Q(s,{validation:"jwt",code:G.invalid_string,message:i.message}),r.dirty()):i.kind==="cidr"?sI(t.data,i.version)||(s=this._getOrReturnCtx(t,s),Q(s,{validation:"cidr",code:G.invalid_string,message:i.message}),r.dirty()):i.kind==="base64"?YO.test(t.data)||(s=this._getOrReturnCtx(t,s),Q(s,{validation:"base64",code:G.invalid_string,message:i.message}),r.dirty()):i.kind==="base64url"?QO.test(t.data)||(s=this._getOrReturnCtx(t,s),Q(s,{validation:"base64url",code:G.invalid_string,message:i.message}),r.dirty()):Re.assertNever(i);return{status:r.value,value:t.data}}_regex(t,n,r){return this.refinement(s=>t.test(s),{validation:n,code:G.invalid_string,...ae.errToObj(r)})}_addCheck(t){return new Fn({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...ae.errToObj(t)})}url(t){return this._addCheck({kind:"url",...ae.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...ae.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...ae.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...ae.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...ae.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...ae.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...ae.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...ae.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...ae.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...ae.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...ae.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...ae.errToObj(t)})}datetime(t){return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof t?.precision>"u"?null:t?.precision,offset:t?.offset??!1,local:t?.local??!1,...ae.errToObj(t?.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof t?.precision>"u"?null:t?.precision,...ae.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...ae.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...ae.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n?.position,...ae.errToObj(n?.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...ae.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...ae.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...ae.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...ae.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...ae.errToObj(n)})}nonempty(t){return this.min(1,ae.errToObj(t))}trim(){return new Fn({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Fn({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Fn({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};Fn.create=e=>new Fn({checks:[],typeName:we.ZodString,coerce:e?.coerce??!1,...Ie(e)});function iI(e,t){let n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,s=n>r?n:r,i=Number.parseInt(e.toFixed(s).replace(".","")),o=Number.parseInt(t.toFixed(s).replace(".",""));return i%o/10**s}var xr=class extends xe{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==ne.number){let i=this._getOrReturnCtx(t);return Q(i,{code:G.invalid_type,expected:ne.number,received:i.parsedType}),ve}let r,s=new Jt;for(let i of this._def.checks)i.kind==="int"?Re.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),Q(r,{code:G.invalid_type,expected:"integer",received:"float",message:i.message}),s.dirty()):i.kind==="min"?(i.inclusive?t.data<i.value:t.data<=i.value)&&(r=this._getOrReturnCtx(t,r),Q(r,{code:G.too_small,minimum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),s.dirty()):i.kind==="max"?(i.inclusive?t.data>i.value:t.data>=i.value)&&(r=this._getOrReturnCtx(t,r),Q(r,{code:G.too_big,maximum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),s.dirty()):i.kind==="multipleOf"?iI(t.data,i.value)!==0&&(r=this._getOrReturnCtx(t,r),Q(r,{code:G.not_multiple_of,multipleOf:i.value,message:i.message}),s.dirty()):i.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),Q(r,{code:G.not_finite,message:i.message}),s.dirty()):Re.assertNever(i);return{status:s.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,ae.toString(n))}gt(t,n){return this.setLimit("min",t,!1,ae.toString(n))}lte(t,n){return this.setLimit("max",t,!0,ae.toString(n))}lt(t,n){return this.setLimit("max",t,!1,ae.toString(n))}setLimit(t,n,r,s){return new xr({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:ae.toString(s)}]})}_addCheck(t){return new xr({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:ae.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:ae.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:ae.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:ae.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:ae.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:ae.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:ae.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:ae.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:ae.toString(t)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}get isInt(){return!!this._def.checks.find(t=>t.kind==="int"||t.kind==="multipleOf"&&Re.isInteger(t.value))}get isFinite(){let t=null,n=null;for(let r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(t===null||r.value<t)&&(t=r.value)}return Number.isFinite(n)&&Number.isFinite(t)}};xr.create=e=>new xr({checks:[],typeName:we.ZodNumber,coerce:e?.coerce||!1,...Ie(e)});var Cr=class extends xe{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==ne.bigint)return this._getInvalidInput(t);let r,s=new Jt;for(let i of this._def.checks)i.kind==="min"?(i.inclusive?t.data<i.value:t.data<=i.value)&&(r=this._getOrReturnCtx(t,r),Q(r,{code:G.too_small,type:"bigint",minimum:i.value,inclusive:i.inclusive,message:i.message}),s.dirty()):i.kind==="max"?(i.inclusive?t.data>i.value:t.data>=i.value)&&(r=this._getOrReturnCtx(t,r),Q(r,{code:G.too_big,type:"bigint",maximum:i.value,inclusive:i.inclusive,message:i.message}),s.dirty()):i.kind==="multipleOf"?t.data%i.value!==BigInt(0)&&(r=this._getOrReturnCtx(t,r),Q(r,{code:G.not_multiple_of,multipleOf:i.value,message:i.message}),s.dirty()):Re.assertNever(i);return{status:s.value,value:t.data}}_getInvalidInput(t){let n=this._getOrReturnCtx(t);return Q(n,{code:G.invalid_type,expected:ne.bigint,received:n.parsedType}),ve}gte(t,n){return this.setLimit("min",t,!0,ae.toString(n))}gt(t,n){return this.setLimit("min",t,!1,ae.toString(n))}lte(t,n){return this.setLimit("max",t,!0,ae.toString(n))}lt(t,n){return this.setLimit("max",t,!1,ae.toString(n))}setLimit(t,n,r,s){return new Cr({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:ae.toString(s)}]})}_addCheck(t){return new Cr({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:ae.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:ae.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:ae.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:ae.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:ae.toString(n)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};Cr.create=e=>new Cr({checks:[],typeName:we.ZodBigInt,coerce:e?.coerce??!1,...Ie(e)});var mi=class extends xe{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==ne.boolean){let r=this._getOrReturnCtx(t);return Q(r,{code:G.invalid_type,expected:ne.boolean,received:r.parsedType}),ve}return hn(t.data)}};mi.create=e=>new mi({typeName:we.ZodBoolean,coerce:e?.coerce||!1,...Ie(e)});var is=class extends xe{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==ne.date){let i=this._getOrReturnCtx(t);return Q(i,{code:G.invalid_type,expected:ne.date,received:i.parsedType}),ve}if(Number.isNaN(t.data.getTime())){let i=this._getOrReturnCtx(t);return Q(i,{code:G.invalid_date}),ve}let r=new Jt,s;for(let i of this._def.checks)i.kind==="min"?t.data.getTime()<i.value&&(s=this._getOrReturnCtx(t,s),Q(s,{code:G.too_small,message:i.message,inclusive:!0,exact:!1,minimum:i.value,type:"date"}),r.dirty()):i.kind==="max"?t.data.getTime()>i.value&&(s=this._getOrReturnCtx(t,s),Q(s,{code:G.too_big,message:i.message,inclusive:!0,exact:!1,maximum:i.value,type:"date"}),r.dirty()):Re.assertNever(i);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new is({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:ae.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:ae.toString(n)})}get minDate(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t!=null?new Date(t):null}};is.create=e=>new is({checks:[],coerce:e?.coerce||!1,typeName:we.ZodDate,...Ie(e)});var lo=class extends xe{_parse(t){if(this._getType(t)!==ne.symbol){let r=this._getOrReturnCtx(t);return Q(r,{code:G.invalid_type,expected:ne.symbol,received:r.parsedType}),ve}return hn(t.data)}};lo.create=e=>new lo({typeName:we.ZodSymbol,...Ie(e)});var hi=class extends xe{_parse(t){if(this._getType(t)!==ne.undefined){let r=this._getOrReturnCtx(t);return Q(r,{code:G.invalid_type,expected:ne.undefined,received:r.parsedType}),ve}return hn(t.data)}};hi.create=e=>new hi({typeName:we.ZodUndefined,...Ie(e)});var gi=class extends xe{_parse(t){if(this._getType(t)!==ne.null){let r=this._getOrReturnCtx(t);return Q(r,{code:G.invalid_type,expected:ne.null,received:r.parsedType}),ve}return hn(t.data)}};gi.create=e=>new gi({typeName:we.ZodNull,...Ie(e)});var Ms=class extends xe{constructor(){super(...arguments),this._any=!0}_parse(t){return hn(t.data)}};Ms.create=e=>new Ms({typeName:we.ZodAny,...Ie(e)});var ss=class extends xe{constructor(){super(...arguments),this._unknown=!0}_parse(t){return hn(t.data)}};ss.create=e=>new ss({typeName:we.ZodUnknown,...Ie(e)});var mr=class extends xe{_parse(t){let n=this._getOrReturnCtx(t);return Q(n,{code:G.invalid_type,expected:ne.never,received:n.parsedType}),ve}};mr.create=e=>new mr({typeName:we.ZodNever,...Ie(e)});var po=class extends xe{_parse(t){if(this._getType(t)!==ne.undefined){let r=this._getOrReturnCtx(t);return Q(r,{code:G.invalid_type,expected:ne.void,received:r.parsedType}),ve}return hn(t.data)}};po.create=e=>new po({typeName:we.ZodVoid,...Ie(e)});var $n=class extends xe{_parse(t){let{ctx:n,status:r}=this._processInputParams(t),s=this._def;if(n.parsedType!==ne.array)return Q(n,{code:G.invalid_type,expected:ne.array,received:n.parsedType}),ve;if(s.exactLength!==null){let o=n.data.length>s.exactLength.value,a=n.data.length<s.exactLength.value;(o||a)&&(Q(n,{code:o?G.too_big:G.too_small,minimum:a?s.exactLength.value:void 0,maximum:o?s.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:s.exactLength.message}),r.dirty())}if(s.minLength!==null&&n.data.length<s.minLength.value&&(Q(n,{code:G.too_small,minimum:s.minLength.value,type:"array",inclusive:!0,exact:!1,message:s.minLength.message}),r.dirty()),s.maxLength!==null&&n.data.length>s.maxLength.value&&(Q(n,{code:G.too_big,maximum:s.maxLength.value,type:"array",inclusive:!0,exact:!1,message:s.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((o,a)=>s.type._parseAsync(new Yn(n,o,n.path,a)))).then(o=>Jt.mergeArray(r,o));let i=[...n.data].map((o,a)=>s.type._parseSync(new Yn(n,o,n.path,a)));return Jt.mergeArray(r,i)}get element(){return this._def.type}min(t,n){return new $n({...this._def,minLength:{value:t,message:ae.toString(n)}})}max(t,n){return new $n({...this._def,maxLength:{value:t,message:ae.toString(n)}})}length(t,n){return new $n({...this._def,exactLength:{value:t,message:ae.toString(n)}})}nonempty(t){return this.min(1,t)}};$n.create=(e,t)=>new $n({type:e,minLength:null,maxLength:null,exactLength:null,typeName:we.ZodArray,...Ie(t)});function uo(e){if(e instanceof Je){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=Xn.create(uo(r))}return new Je({...e._def,shape:()=>t})}else return e instanceof $n?new $n({...e._def,type:uo(e.element)}):e instanceof Xn?Xn.create(uo(e.unwrap())):e instanceof Rr?Rr.create(uo(e.unwrap())):e instanceof Qn?Qn.create(e.items.map(t=>uo(t))):e}var Je=class extends xe{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let t=this._def.shape(),n=Re.objectKeys(t);return this._cached={shape:t,keys:n},this._cached}_parse(t){if(this._getType(t)!==ne.object){let u=this._getOrReturnCtx(t);return Q(u,{code:G.invalid_type,expected:ne.object,received:u.parsedType}),ve}let{status:r,ctx:s}=this._processInputParams(t),{shape:i,keys:o}=this._getCached(),a=[];if(!(this._def.catchall instanceof mr&&this._def.unknownKeys==="strip"))for(let u in s.data)o.includes(u)||a.push(u);let c=[];for(let u of o){let d=i[u],p=s.data[u];c.push({key:{status:"valid",value:u},value:d._parse(new Yn(s,p,s.path,u)),alwaysSet:u in s.data})}if(this._def.catchall instanceof mr){let u=this._def.unknownKeys;if(u==="passthrough")for(let d of a)c.push({key:{status:"valid",value:d},value:{status:"valid",value:s.data[d]}});else if(u==="strict")a.length>0&&(Q(s,{code:G.unrecognized_keys,keys:a}),r.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let u=this._def.catchall;for(let d of a){let p=s.data[d];c.push({key:{status:"valid",value:d},value:u._parse(new Yn(s,p,s.path,d)),alwaysSet:d in s.data})}}return s.common.async?Promise.resolve().then(async()=>{let u=[];for(let d of c){let p=await d.key,f=await d.value;u.push({key:p,value:f,alwaysSet:d.alwaysSet})}return u}).then(u=>Jt.mergeObjectSync(r,u)):Jt.mergeObjectSync(r,c)}get shape(){return this._def.shape()}strict(t){return ae.errToObj,new Je({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,r)=>{let s=this._def.errorMap?.(n,r).message??r.defaultError;return n.code==="unrecognized_keys"?{message:ae.errToObj(t).message??s}:{message:s}}}:{}})}strip(){return new Je({...this._def,unknownKeys:"strip"})}passthrough(){return new Je({...this._def,unknownKeys:"passthrough"})}extend(t){return new Je({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new Je({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:we.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new Je({...this._def,catchall:t})}pick(t){let n={};for(let r of Re.objectKeys(t))t[r]&&this.shape[r]&&(n[r]=this.shape[r]);return new Je({...this._def,shape:()=>n})}omit(t){let n={};for(let r of Re.objectKeys(this.shape))t[r]||(n[r]=this.shape[r]);return new Je({...this._def,shape:()=>n})}deepPartial(){return uo(this)}partial(t){let n={};for(let r of Re.objectKeys(this.shape)){let s=this.shape[r];t&&!t[r]?n[r]=s:n[r]=s.optional()}return new Je({...this._def,shape:()=>n})}required(t){let n={};for(let r of Re.objectKeys(this.shape))if(t&&!t[r])n[r]=this.shape[r];else{let i=this.shape[r];for(;i instanceof Xn;)i=i._def.innerType;n[r]=i}return new Je({...this._def,shape:()=>n})}keyof(){return My(Re.objectKeys(this.shape))}};Je.create=(e,t)=>new Je({shape:()=>e,unknownKeys:"strip",catchall:mr.create(),typeName:we.ZodObject,...Ie(t)});Je.strictCreate=(e,t)=>new Je({shape:()=>e,unknownKeys:"strict",catchall:mr.create(),typeName:we.ZodObject,...Ie(t)});Je.lazycreate=(e,t)=>new Je({shape:e,unknownKeys:"strip",catchall:mr.create(),typeName:we.ZodObject,...Ie(t)});var yi=class extends xe{_parse(t){let{ctx:n}=this._processInputParams(t),r=this._def.options;function s(i){for(let a of i)if(a.result.status==="valid")return a.result;for(let a of i)if(a.result.status==="dirty")return n.common.issues.push(...a.ctx.common.issues),a.result;let o=i.map(a=>new mn(a.ctx.common.issues));return Q(n,{code:G.invalid_union,unionErrors:o}),ve}if(n.common.async)return Promise.all(r.map(async i=>{let o={...n,common:{...n.common,issues:[]},parent:null};return{result:await i._parseAsync({data:n.data,path:n.path,parent:o}),ctx:o}})).then(s);{let i,o=[];for(let c of r){let u={...n,common:{...n.common,issues:[]},parent:null},d=c._parseSync({data:n.data,path:n.path,parent:u});if(d.status==="valid")return d;d.status==="dirty"&&!i&&(i={result:d,ctx:u}),u.common.issues.length&&o.push(u.common.issues)}if(i)return n.common.issues.push(...i.ctx.common.issues),i.result;let a=o.map(c=>new mn(c));return Q(n,{code:G.invalid_union,unionErrors:a}),ve}}get options(){return this._def.options}};yi.create=(e,t)=>new yi({options:e,typeName:we.ZodUnion,...Ie(t)});var rs=e=>e instanceof _i?rs(e.schema):e instanceof er?rs(e.innerType()):e instanceof wi?[e.value]:e instanceof Nr?e.options:e instanceof Ti?Re.objectValues(e.enum):e instanceof ki?rs(e._def.innerType):e instanceof hi?[void 0]:e instanceof gi?[null]:e instanceof Xn?[void 0,...rs(e.unwrap())]:e instanceof Rr?[null,...rs(e.unwrap())]:e instanceof ba||e instanceof Oi?rs(e.unwrap()):e instanceof Si?rs(e._def.innerType):[],fo=class extends xe{_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==ne.object)return Q(n,{code:G.invalid_type,expected:ne.object,received:n.parsedType}),ve;let r=this.discriminator,s=n.data[r],i=this.optionsMap.get(s);return i?n.common.async?i._parseAsync({data:n.data,path:n.path,parent:n}):i._parseSync({data:n.data,path:n.path,parent:n}):(Q(n,{code:G.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),ve)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){let s=new Map;for(let i of n){let o=rs(i.shape[t]);if(!o.length)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let a of o){if(s.has(a))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(a)}`);s.set(a,i)}}return new fo({typeName:we.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:s,...Ie(r)})}};function Zp(e,t){let n=Ar(e),r=Ar(t);if(e===t)return{valid:!0,data:e};if(n===ne.object&&r===ne.object){let s=Re.objectKeys(t),i=Re.objectKeys(e).filter(a=>s.indexOf(a)!==-1),o={...e,...t};for(let a of i){let c=Zp(e[a],t[a]);if(!c.valid)return{valid:!1};o[a]=c.data}return{valid:!0,data:o}}else if(n===ne.array&&r===ne.array){if(e.length!==t.length)return{valid:!1};let s=[];for(let i=0;i<e.length;i++){let o=e[i],a=t[i],c=Zp(o,a);if(!c.valid)return{valid:!1};s.push(c.data)}return{valid:!0,data:s}}else return n===ne.date&&r===ne.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}var bi=class extends xe{_parse(t){let{status:n,ctx:r}=this._processInputParams(t),s=(i,o)=>{if(lu(i)||lu(o))return ve;let a=Zp(i.value,o.value);return a.valid?((du(i)||du(o))&&n.dirty(),{status:n.value,value:a.data}):(Q(r,{code:G.invalid_intersection_types}),ve)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([i,o])=>s(i,o)):s(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}};bi.create=(e,t,n)=>new bi({left:e,right:t,typeName:we.ZodIntersection,...Ie(n)});var Qn=class extends xe{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==ne.array)return Q(r,{code:G.invalid_type,expected:ne.array,received:r.parsedType}),ve;if(r.data.length<this._def.items.length)return Q(r,{code:G.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),ve;!this._def.rest&&r.data.length>this._def.items.length&&(Q(r,{code:G.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());let i=[...r.data].map((o,a)=>{let c=this._def.items[a]||this._def.rest;return c?c._parse(new Yn(r,o,r.path,a)):null}).filter(o=>!!o);return r.common.async?Promise.all(i).then(o=>Jt.mergeArray(n,o)):Jt.mergeArray(n,i)}get items(){return this._def.items}rest(t){return new Qn({...this._def,rest:t})}};Qn.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Qn({items:e,typeName:we.ZodTuple,rest:null,...Ie(t)})};var vi=class extends xe{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==ne.object)return Q(r,{code:G.invalid_type,expected:ne.object,received:r.parsedType}),ve;let s=[],i=this._def.keyType,o=this._def.valueType;for(let a in r.data)s.push({key:i._parse(new Yn(r,a,r.path,a)),value:o._parse(new Yn(r,r.data[a],r.path,a)),alwaysSet:a in r.data});return r.common.async?Jt.mergeObjectAsync(n,s):Jt.mergeObjectSync(n,s)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof xe?new vi({keyType:t,valueType:n,typeName:we.ZodRecord,...Ie(r)}):new vi({keyType:Fn.create(),valueType:t,typeName:we.ZodRecord,...Ie(n)})}},mo=class extends xe{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==ne.map)return Q(r,{code:G.invalid_type,expected:ne.map,received:r.parsedType}),ve;let s=this._def.keyType,i=this._def.valueType,o=[...r.data.entries()].map(([a,c],u)=>({key:s._parse(new Yn(r,a,r.path,[u,"key"])),value:i._parse(new Yn(r,c,r.path,[u,"value"]))}));if(r.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let c of o){let u=await c.key,d=await c.value;if(u.status==="aborted"||d.status==="aborted")return ve;(u.status==="dirty"||d.status==="dirty")&&n.dirty(),a.set(u.value,d.value)}return{status:n.value,value:a}})}else{let a=new Map;for(let c of o){let u=c.key,d=c.value;if(u.status==="aborted"||d.status==="aborted")return ve;(u.status==="dirty"||d.status==="dirty")&&n.dirty(),a.set(u.value,d.value)}return{status:n.value,value:a}}}};mo.create=(e,t,n)=>new mo({valueType:t,keyType:e,typeName:we.ZodMap,...Ie(n)});var os=class extends xe{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==ne.set)return Q(r,{code:G.invalid_type,expected:ne.set,received:r.parsedType}),ve;let s=this._def;s.minSize!==null&&r.data.size<s.minSize.value&&(Q(r,{code:G.too_small,minimum:s.minSize.value,type:"set",inclusive:!0,exact:!1,message:s.minSize.message}),n.dirty()),s.maxSize!==null&&r.data.size>s.maxSize.value&&(Q(r,{code:G.too_big,maximum:s.maxSize.value,type:"set",inclusive:!0,exact:!1,message:s.maxSize.message}),n.dirty());let i=this._def.valueType;function o(c){let u=new Set;for(let d of c){if(d.status==="aborted")return ve;d.status==="dirty"&&n.dirty(),u.add(d.value)}return{status:n.value,value:u}}let a=[...r.data.values()].map((c,u)=>i._parse(new Yn(r,c,r.path,u)));return r.common.async?Promise.all(a).then(c=>o(c)):o(a)}min(t,n){return new os({...this._def,minSize:{value:t,message:ae.toString(n)}})}max(t,n){return new os({...this._def,maxSize:{value:t,message:ae.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}};os.create=(e,t)=>new os({valueType:e,minSize:null,maxSize:null,typeName:we.ZodSet,...Ie(t)});var Rs=class extends xe{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==ne.function)return Q(n,{code:G.invalid_type,expected:ne.function,received:n.parsedType}),ve;function r(a,c){return ya({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,ao(),ns].filter(u=>!!u),issueData:{code:G.invalid_arguments,argumentsError:c}})}function s(a,c){return ya({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,ao(),ns].filter(u=>!!u),issueData:{code:G.invalid_return_type,returnTypeError:c}})}let i={errorMap:n.common.contextualErrorMap},o=n.data;if(this._def.returns instanceof Bs){let a=this;return hn(async function(...c){let u=new mn([]),d=await a._def.args.parseAsync(c,i).catch(g=>{throw u.addIssue(r(c,g)),u}),p=await Reflect.apply(o,this,d);return await a._def.returns._def.type.parseAsync(p,i).catch(g=>{throw u.addIssue(s(p,g)),u})})}else{let a=this;return hn(function(...c){let u=a._def.args.safeParse(c,i);if(!u.success)throw new mn([r(c,u.error)]);let d=Reflect.apply(o,this,u.data),p=a._def.returns.safeParse(d,i);if(!p.success)throw new mn([s(d,p.error)]);return p.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new Rs({...this._def,args:Qn.create(t).rest(ss.create())})}returns(t){return new Rs({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,n,r){return new Rs({args:t||Qn.create([]).rest(ss.create()),returns:n||ss.create(),typeName:we.ZodFunction,...Ie(r)})}},_i=class extends xe{get schema(){return this._def.getter()}_parse(t){let{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}};_i.create=(e,t)=>new _i({getter:e,typeName:we.ZodLazy,...Ie(t)});var wi=class extends xe{_parse(t){if(t.data!==this._def.value){let n=this._getOrReturnCtx(t);return Q(n,{received:n.data,code:G.invalid_literal,expected:this._def.value}),ve}return{status:"valid",value:t.data}}get value(){return this._def.value}};wi.create=(e,t)=>new wi({value:e,typeName:we.ZodLiteral,...Ie(t)});function My(e,t){return new Nr({values:e,typeName:we.ZodEnum,...Ie(t)})}var Nr=class extends xe{_parse(t){if(typeof t.data!="string"){let n=this._getOrReturnCtx(t),r=this._def.values;return Q(n,{expected:Re.joinValues(r),received:n.parsedType,code:G.invalid_type}),ve}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){let n=this._getOrReturnCtx(t),r=this._def.values;return Q(n,{received:n.data,code:G.invalid_enum_value,options:r}),ve}return hn(t.data)}get options(){return this._def.values}get enum(){let t={};for(let n of this._def.values)t[n]=n;return t}get Values(){let t={};for(let n of this._def.values)t[n]=n;return t}get Enum(){let t={};for(let n of this._def.values)t[n]=n;return t}extract(t,n=this._def){return Nr.create(t,{...this._def,...n})}exclude(t,n=this._def){return Nr.create(this.options.filter(r=>!t.includes(r)),{...this._def,...n})}};Nr.create=My;var Ti=class extends xe{_parse(t){let n=Re.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==ne.string&&r.parsedType!==ne.number){let s=Re.objectValues(n);return Q(r,{expected:Re.joinValues(s),received:r.parsedType,code:G.invalid_type}),ve}if(this._cache||(this._cache=new Set(Re.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let s=Re.objectValues(n);return Q(r,{received:r.data,code:G.invalid_enum_value,options:s}),ve}return hn(t.data)}get enum(){return this._def.values}};Ti.create=(e,t)=>new Ti({values:e,typeName:we.ZodNativeEnum,...Ie(t)});var Bs=class extends xe{unwrap(){return this._def.type}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==ne.promise&&n.common.async===!1)return Q(n,{code:G.invalid_type,expected:ne.promise,received:n.parsedType}),ve;let r=n.parsedType===ne.promise?n.data:Promise.resolve(n.data);return hn(r.then(s=>this._def.type.parseAsync(s,{path:n.path,errorMap:n.common.contextualErrorMap})))}};Bs.create=(e,t)=>new Bs({type:e,typeName:we.ZodPromise,...Ie(t)});var er=class extends xe{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===we.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){let{status:n,ctx:r}=this._processInputParams(t),s=this._def.effect||null,i={addIssue:o=>{Q(r,o),o.fatal?n.abort():n.dirty()},get path(){return r.path}};if(i.addIssue=i.addIssue.bind(i),s.type==="preprocess"){let o=s.transform(r.data,i);if(r.common.async)return Promise.resolve(o).then(async a=>{if(n.value==="aborted")return ve;let c=await this._def.schema._parseAsync({data:a,path:r.path,parent:r});return c.status==="aborted"?ve:c.status==="dirty"?fi(c.value):n.value==="dirty"?fi(c.value):c});{if(n.value==="aborted")return ve;let a=this._def.schema._parseSync({data:o,path:r.path,parent:r});return a.status==="aborted"?ve:a.status==="dirty"?fi(a.value):n.value==="dirty"?fi(a.value):a}}if(s.type==="refinement"){let o=a=>{let c=s.refinement(a,i);if(r.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(r.common.async===!1){let a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?ve:(a.status==="dirty"&&n.dirty(),o(a.value),{status:n.value,value:a.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>a.status==="aborted"?ve:(a.status==="dirty"&&n.dirty(),o(a.value).then(()=>({status:n.value,value:a.value}))))}if(s.type==="transform")if(r.common.async===!1){let o=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!Ns(o))return ve;let a=s.transform(o.value,i);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:a}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(o=>Ns(o)?Promise.resolve(s.transform(o.value,i)).then(a=>({status:n.value,value:a})):ve);Re.assertNever(s)}};er.create=(e,t,n)=>new er({schema:e,typeName:we.ZodEffects,effect:t,...Ie(n)});er.createWithPreprocess=(e,t,n)=>new er({schema:t,effect:{type:"preprocess",transform:e},typeName:we.ZodEffects,...Ie(n)});var Xn=class extends xe{_parse(t){return this._getType(t)===ne.undefined?hn(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};Xn.create=(e,t)=>new Xn({innerType:e,typeName:we.ZodOptional,...Ie(t)});var Rr=class extends xe{_parse(t){return this._getType(t)===ne.null?hn(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};Rr.create=(e,t)=>new Rr({innerType:e,typeName:we.ZodNullable,...Ie(t)});var ki=class extends xe{_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return n.parsedType===ne.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}};ki.create=(e,t)=>new ki({innerType:e,typeName:we.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...Ie(t)});var Si=class extends xe{_parse(t){let{ctx:n}=this._processInputParams(t),r={...n,common:{...n.common,issues:[]}},s=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return co(s)?s.then(i=>({status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new mn(r.common.issues)},input:r.data})})):{status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new mn(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}};Si.create=(e,t)=>new Si({innerType:e,typeName:we.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...Ie(t)});var ho=class extends xe{_parse(t){if(this._getType(t)!==ne.nan){let r=this._getOrReturnCtx(t);return Q(r,{code:G.invalid_type,expected:ne.nan,received:r.parsedType}),ve}return{status:"valid",value:t.data}}};ho.create=e=>new ho({typeName:we.ZodNaN,...Ie(e)});var oI=Symbol("zod_brand"),ba=class extends xe{_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}},Ei=class extends xe{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.common.async)return(async()=>{let i=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return i.status==="aborted"?ve:i.status==="dirty"?(n.dirty(),fi(i.value)):this._def.out._parseAsync({data:i.value,path:r.path,parent:r})})();{let s=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?ve:s.status==="dirty"?(n.dirty(),{status:"dirty",value:s.value}):this._def.out._parseSync({data:s.value,path:r.path,parent:r})}}static create(t,n){return new Ei({in:t,out:n,typeName:we.ZodPipeline})}},Oi=class extends xe{_parse(t){let n=this._def.innerType._parse(t),r=s=>(Ns(s)&&(s.value=Object.freeze(s.value)),s);return co(n)?n.then(s=>r(s)):r(n)}unwrap(){return this._def.innerType}};Oi.create=(e,t)=>new Oi({innerType:e,typeName:we.ZodReadonly,...Ie(t)});function xy(e,t){let n=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof n=="string"?{message:n}:n}function By(e,t={},n){return e?Ms.create().superRefine((r,s)=>{let i=e(r);if(i instanceof Promise)return i.then(o=>{if(!o){let a=xy(t,r),c=a.fatal??n??!0;s.addIssue({code:"custom",...a,fatal:c})}});if(!i){let o=xy(t,r),a=o.fatal??n??!0;s.addIssue({code:"custom",...o,fatal:a})}}):Ms.create()}var aI={object:Je.lazycreate},we;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(we||(we={}));var cI=(e,t={message:`Input not instance of ${e.name}`})=>By(n=>n instanceof e,t),jy=Fn.create,Dy=xr.create,uI=ho.create,lI=Cr.create,Uy=mi.create,dI=is.create,pI=lo.create,fI=hi.create,mI=gi.create,hI=Ms.create,gI=ss.create,yI=mr.create,bI=po.create,vI=$n.create,_I=Je.create,wI=Je.strictCreate,TI=yi.create,kI=fo.create,SI=bi.create,EI=Qn.create,OI=vi.create,II=mo.create,AI=os.create,xI=Rs.create,CI=_i.create,NI=wi.create,RI=Nr.create,MI=Ti.create,BI=Bs.create,jI=er.create,DI=Xn.create,UI=Rr.create,PI=er.createWithPreprocess,LI=Ei.create,VI=()=>jy().optional(),FI=()=>Dy().optional(),$I=()=>Uy().optional(),qI={string:e=>Fn.create({...e,coerce:!0}),number:e=>xr.create({...e,coerce:!0}),boolean:e=>mi.create({...e,coerce:!0}),bigint:e=>Cr.create({...e,coerce:!0}),date:e=>is.create({...e,coerce:!0})};var GI=ve;function WI(e,t){let n={...e};for(let r of t)delete n[r];return n}var HI=/:([a-zA-Z_][a-zA-Z0-9_]*)/g;function JI(e){let t=e.url,n=e.params;return n&&(t=t.replace(HI,(r,s)=>s in n?`${n[s]}`:r)),t}function Py(e,t,n){return e.find(r=>r.method===t&&r.path===n)}function ZI(e){let t=new FormData;for(let n in e)t.append(n,e[n]);return{data:t}}var pu=class extends Error{constructor(e,t,n,r){super(e),this.config=t,this.data=n,this.cause=r}},KI={name:"form-data",request:async(e,t)=>{if(typeof t.data!="object"||Array.isArray(t.data))throw new pu("Zodios: multipart/form-data body must be an object",t);let n=ZI(t.data);return{...t,data:n.data,headers:{...t.headers,...n.headers}}}};function XI(){return KI}var YI={name:"form-url",request:async(e,t)=>{if(typeof t.data!="object"||Array.isArray(t.data))throw new pu("Zodios: application/x-www-form-urlencoded body must be an object",t);return{...t,data:new URLSearchParams(t.data).toString(),headers:{...t.headers,"Content-Type":"application/x-www-form-urlencoded"}}}};function QI(){return YI}function Ly(e,t){return{request:async(n,r)=>({...r,headers:{...r.headers,[e]:t}})}}function Vy(e){return[!0,"response","all"].includes(e)}function Fy(e){return[!0,"request","all"].includes(e)}function eA({validate:e,transform:t,sendDefaults:n}){return{name:"zod-validation",request:Fy(e)?async(r,s)=>{let i=Py(r,s.method,s.url);if(!i)throw new Error(`No endpoint found for ${s.method} ${s.url}`);let{parameters:o}=i;if(!o)return s;let a={...s,queries:{...s.queries},headers:{...s.headers},params:{...s.params}},c={Query:p=>{var f;return(f=a.queries)==null?void 0:f[p]},Body:p=>a.data,Header:p=>{var f;return(f=a.headers)==null?void 0:f[p]},Path:p=>{var f;return(f=a.params)==null?void 0:f[p]}},u={Query:(p,f)=>a.queries[p]=f,Body:(p,f)=>a.data=f,Header:(p,f)=>a.headers[p]=f,Path:(p,f)=>a.params[p]=f},d=Fy(t);for(let p of o){let{name:f,schema:g,type:b}=p,_=c[b](f);if(n||_!==void 0){let I=await g.safeParseAsync(_);if(!I.success)throw new pu(`Zodios: Invalid ${b} parameter '${f}'`,s,_,I.error);d&&u[b](f,I.data)}}return a}:void 0,response:Vy(e)?async(r,s,i)=>{var o,a,c,u;let d=Py(r,s.method,s.url);if(!d)throw new Error(`No endpoint found for ${s.method} ${s.url}`);if((a=(o=i.headers)==null?void 0:o["content-type"])!=null&&a.includes("application/json")||(u=(c=i.headers)==null?void 0:c["content-type"])!=null&&u.includes("application/vnd.api+json")){let p=await d.response.safeParseAsync(i.data);if(!p.success)throw new pu(`Zodios: Invalid response from endpoint '${d.method} ${d.path}'
|
|
846
|
+
`&&r++}}return[t,n]}var uu=class extends Event{constructor(t,n){var r,s;super(t),this.code=(r=n?.code)!=null?r:void 0,this.message=(s=n?.message)!=null?s:void 0}[Symbol.for("nodejs.util.inspect.custom")](t,n,r){return r(Sy(this),n)}[Symbol.for("Deno.customInspect")](t,n){return t(Sy(this),n)}};function RO(e){let t=globalThis.DOMException;return typeof t=="function"?new t(e,"SyntaxError"):new SyntaxError(e)}function Pp(e){return e instanceof Error?"errors"in e&&Array.isArray(e.errors)?e.errors.map(Pp).join(", "):"cause"in e&&e.cause instanceof Error?`${e}: ${Pp(e.cause)}`:e.message:`${e}`}function Sy(e){return{type:e.type,message:e.message,code:e.code,defaultPrevented:e.defaultPrevented,cancelable:e.cancelable,timeStamp:e.timeStamp}}var Oy=e=>{throw TypeError(e)},Wp=(e,t,n)=>t.has(e)||Oy("Cannot "+n),Ne=(e,t,n)=>(Wp(e,t,"read from private field"),n?n.call(e):t.get(e)),Ht=(e,t,n)=>t.has(e)?Oy("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),Xe=(e,t,n,r)=>(Wp(e,t,"write to private field"),t.set(e,n),n),ts=(e,t,n)=>(Wp(e,t,"access private method"),n),Rn,pi,ro,cu,lu,ha,oo,ga,Cs,so,ao,io,fa,fr,Lp,Vp,Fp,Ey,$p,qp,ma,Gp,zp,fi=class extends EventTarget{constructor(t,n){var r,s;super(),Ht(this,fr),this.CONNECTING=0,this.OPEN=1,this.CLOSED=2,Ht(this,Rn),Ht(this,pi),Ht(this,ro),Ht(this,cu),Ht(this,lu),Ht(this,ha),Ht(this,oo),Ht(this,ga,null),Ht(this,Cs),Ht(this,so),Ht(this,ao,null),Ht(this,io,null),Ht(this,fa,null),Ht(this,Vp,async i=>{var o;Ne(this,so).reset();let{body:a,redirected:c,status:u,headers:d}=i;if(u===204){ts(this,fr,ma).call(this,"Server sent HTTP 204, not reconnecting",204),this.close();return}if(c?Xe(this,ro,new URL(i.url)):Xe(this,ro,void 0),u!==200){ts(this,fr,ma).call(this,`Non-200 status code (${u})`,u);return}if(!(d.get("content-type")||"").startsWith("text/event-stream")){ts(this,fr,ma).call(this,'Invalid content type, expected "text/event-stream"',u);return}if(Ne(this,Rn)===this.CLOSED)return;Xe(this,Rn,this.OPEN);let p=new Event("open");if((o=Ne(this,fa))==null||o.call(this,p),this.dispatchEvent(p),typeof a!="object"||!a||!("getReader"in a)){ts(this,fr,ma).call(this,"Invalid response body, expected a web ReadableStream",u),this.close();return}let f=new TextDecoder,g=a.getReader(),b=!0;do{let{done:_,value:I}=await g.read();I&&Ne(this,so).feed(f.decode(I,{stream:!_})),_&&(b=!1,Ne(this,so).reset(),ts(this,fr,Gp).call(this))}while(b)}),Ht(this,Fp,i=>{Xe(this,Cs,void 0),!(i.name==="AbortError"||i.type==="aborted")&&ts(this,fr,Gp).call(this,Pp(i))}),Ht(this,$p,i=>{typeof i.id=="string"&&Xe(this,ga,i.id);let o=new MessageEvent(i.event||"message",{data:i.data,origin:Ne(this,ro)?Ne(this,ro).origin:Ne(this,pi).origin,lastEventId:i.id||""});Ne(this,io)&&(!i.event||i.event==="message")&&Ne(this,io).call(this,o),this.dispatchEvent(o)}),Ht(this,qp,i=>{Xe(this,ha,i)}),Ht(this,zp,()=>{Xe(this,oo,void 0),Ne(this,Rn)===this.CONNECTING&&ts(this,fr,Lp).call(this)});try{if(t instanceof URL)Xe(this,pi,t);else if(typeof t=="string")Xe(this,pi,new URL(t,MO()));else throw new Error("Invalid URL")}catch{throw RO("An invalid or illegal string was specified")}Xe(this,so,ky({onEvent:Ne(this,$p),onRetry:Ne(this,qp)})),Xe(this,Rn,this.CONNECTING),Xe(this,ha,3e3),Xe(this,lu,(r=n?.fetch)!=null?r:globalThis.fetch),Xe(this,cu,(s=n?.withCredentials)!=null?s:!1),ts(this,fr,Lp).call(this)}get readyState(){return Ne(this,Rn)}get url(){return Ne(this,pi).href}get withCredentials(){return Ne(this,cu)}get onerror(){return Ne(this,ao)}set onerror(t){Xe(this,ao,t)}get onmessage(){return Ne(this,io)}set onmessage(t){Xe(this,io,t)}get onopen(){return Ne(this,fa)}set onopen(t){Xe(this,fa,t)}addEventListener(t,n,r){let s=n;super.addEventListener(t,s,r)}removeEventListener(t,n,r){let s=n;super.removeEventListener(t,s,r)}close(){Ne(this,oo)&&clearTimeout(Ne(this,oo)),Ne(this,Rn)!==this.CLOSED&&(Ne(this,Cs)&&Ne(this,Cs).abort(),Xe(this,Rn,this.CLOSED),Xe(this,Cs,void 0))}};Rn=new WeakMap,pi=new WeakMap,ro=new WeakMap,cu=new WeakMap,lu=new WeakMap,ha=new WeakMap,oo=new WeakMap,ga=new WeakMap,Cs=new WeakMap,so=new WeakMap,ao=new WeakMap,io=new WeakMap,fa=new WeakMap,fr=new WeakSet,Lp=function(){Xe(this,Rn,this.CONNECTING),Xe(this,Cs,new AbortController),Ne(this,lu)(Ne(this,pi),ts(this,fr,Ey).call(this)).then(Ne(this,Vp)).catch(Ne(this,Fp))},Vp=new WeakMap,Fp=new WeakMap,Ey=function(){var e;let t={mode:"cors",redirect:"follow",headers:{Accept:"text/event-stream",...Ne(this,ga)?{"Last-Event-ID":Ne(this,ga)}:void 0},cache:"no-store",signal:(e=Ne(this,Cs))==null?void 0:e.signal};return"window"in globalThis&&(t.credentials=this.withCredentials?"include":"same-origin"),t},$p=new WeakMap,qp=new WeakMap,ma=function(e,t){var n;Ne(this,Rn)!==this.CLOSED&&Xe(this,Rn,this.CLOSED);let r=new uu("error",{code:t,message:e});(n=Ne(this,ao))==null||n.call(this,r),this.dispatchEvent(r)},Gp=function(e,t){var n;if(Ne(this,Rn)===this.CLOSED)return;Xe(this,Rn,this.CONNECTING);let r=new uu("error",{code:t,message:e});(n=Ne(this,ao))==null||n.call(this,r),this.dispatchEvent(r),Xe(this,oo,setTimeout(Ne(this,zp),Ne(this,ha)))},zp=new WeakMap,fi.CONNECTING=0,fi.OPEN=1,fi.CLOSED=2;function MO(){let e="document"in globalThis?globalThis.document:void 0;return e&&typeof e=="object"&&"baseURI"in e&&typeof e.baseURI=="string"?e.baseURI:void 0}function BO(e){return e.replaceAll(/[A-Z]/g,t=>`_${t.toLowerCase()}`)}function ya(e){let t={};for(let n of Object.keys(e)){let r=BO(n),s=e[n];t[r]=s}return t}import zI,{AxiosError as VF}from"axios";var pe={};Wb(pe,{BRAND:()=>oI,DIRTY:()=>mi,EMPTY_PATH:()=>PO,INVALID:()=>ve,NEVER:()=>GI,OK:()=>hn,ParseStatus:()=>Jt,Schema:()=>xe,ZodAny:()=>Ms,ZodArray:()=>$n,ZodBigInt:()=>Cr,ZodBoolean:()=>hi,ZodBranded:()=>va,ZodCatch:()=>Ei,ZodDate:()=>is,ZodDefault:()=>Si,ZodDiscriminatedUnion:()=>mo,ZodEffects:()=>er,ZodEnum:()=>Nr,ZodError:()=>mn,ZodFirstPartyTypeKind:()=>we,ZodFunction:()=>Rs,ZodIntersection:()=>vi,ZodIssueCode:()=>G,ZodLazy:()=>wi,ZodLiteral:()=>Ti,ZodMap:()=>ho,ZodNaN:()=>go,ZodNativeEnum:()=>ki,ZodNever:()=>mr,ZodNull:()=>yi,ZodNullable:()=>Rr,ZodNumber:()=>xr,ZodObject:()=>Je,ZodOptional:()=>Xn,ZodParsedType:()=>ne,ZodPipeline:()=>Oi,ZodPromise:()=>Bs,ZodReadonly:()=>Ii,ZodRecord:()=>_i,ZodSchema:()=>xe,ZodSet:()=>os,ZodString:()=>Fn,ZodSymbol:()=>po,ZodTransformer:()=>er,ZodTuple:()=>Qn,ZodType:()=>xe,ZodUndefined:()=>gi,ZodUnion:()=>bi,ZodUnknown:()=>ss,ZodVoid:()=>fo,addIssueToContext:()=>Q,any:()=>hI,array:()=>vI,bigint:()=>lI,boolean:()=>Uy,coerce:()=>qI,custom:()=>By,date:()=>dI,datetimeRegex:()=>Ry,defaultErrorMap:()=>ns,discriminatedUnion:()=>kI,effect:()=>jI,enum:()=>RI,function:()=>xI,getErrorMap:()=>co,getParsedType:()=>Ar,instanceof:()=>cI,intersection:()=>SI,isAborted:()=>du,isAsync:()=>uo,isDirty:()=>pu,isValid:()=>Ns,late:()=>aI,lazy:()=>CI,literal:()=>NI,makeIssue:()=>ba,map:()=>II,nan:()=>uI,nativeEnum:()=>MI,never:()=>yI,null:()=>mI,nullable:()=>UI,number:()=>Dy,object:()=>_I,objectUtil:()=>Hp,oboolean:()=>$I,onumber:()=>FI,optional:()=>DI,ostring:()=>VI,pipeline:()=>LI,preprocess:()=>PI,promise:()=>BI,quotelessJson:()=>jO,record:()=>OI,set:()=>AI,setErrorMap:()=>UO,strictObject:()=>wI,string:()=>jy,symbol:()=>pI,transformer:()=>jI,tuple:()=>EI,undefined:()=>fI,union:()=>TI,unknown:()=>gI,util:()=>Re,void:()=>bI});var Re;(function(e){e.assertEqual=s=>{};function t(s){}e.assertIs=t;function n(s){throw new Error}e.assertNever=n,e.arrayToEnum=s=>{let i={};for(let o of s)i[o]=o;return i},e.getValidEnumValues=s=>{let i=e.objectKeys(s).filter(a=>typeof s[s[a]]!="number"),o={};for(let a of i)o[a]=s[a];return e.objectValues(o)},e.objectValues=s=>e.objectKeys(s).map(function(i){return s[i]}),e.objectKeys=typeof Object.keys=="function"?s=>Object.keys(s):s=>{let i=[];for(let o in s)Object.prototype.hasOwnProperty.call(s,o)&&i.push(o);return i},e.find=(s,i)=>{for(let o of s)if(i(o))return o},e.isInteger=typeof Number.isInteger=="function"?s=>Number.isInteger(s):s=>typeof s=="number"&&Number.isFinite(s)&&Math.floor(s)===s;function r(s,i=" | "){return s.map(o=>typeof o=="string"?`'${o}'`:o).join(i)}e.joinValues=r,e.jsonStringifyReplacer=(s,i)=>typeof i=="bigint"?i.toString():i})(Re||(Re={}));var Hp;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(Hp||(Hp={}));var ne=Re.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Ar=e=>{switch(typeof e){case"undefined":return ne.undefined;case"string":return ne.string;case"number":return Number.isNaN(e)?ne.nan:ne.number;case"boolean":return ne.boolean;case"function":return ne.function;case"bigint":return ne.bigint;case"symbol":return ne.symbol;case"object":return Array.isArray(e)?ne.array:e===null?ne.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?ne.promise:typeof Map<"u"&&e instanceof Map?ne.map:typeof Set<"u"&&e instanceof Set?ne.set:typeof Date<"u"&&e instanceof Date?ne.date:ne.object;default:return ne.unknown}};var G=Re.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),jO=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),mn=class extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};let n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}format(t){let n=t||function(i){return i.message},r={_errors:[]},s=i=>{for(let o of i.issues)if(o.code==="invalid_union")o.unionErrors.map(s);else if(o.code==="invalid_return_type")s(o.returnTypeError);else if(o.code==="invalid_arguments")s(o.argumentsError);else if(o.path.length===0)r._errors.push(n(o));else{let a=r,c=0;for(;c<o.path.length;){let u=o.path[c];c===o.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(n(o))):a[u]=a[u]||{_errors:[]},a=a[u],c++}}};return s(this),r}static assert(t){if(!(t instanceof mn))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,Re.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=n=>n.message){let n={},r=[];for(let s of this.issues)if(s.path.length>0){let i=s.path[0];n[i]=n[i]||[],n[i].push(t(s))}else r.push(t(s));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}};mn.create=e=>new mn(e);var DO=(e,t)=>{let n;switch(e.code){case G.invalid_type:e.received===ne.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case G.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,Re.jsonStringifyReplacer)}`;break;case G.unrecognized_keys:n=`Unrecognized key(s) in object: ${Re.joinValues(e.keys,", ")}`;break;case G.invalid_union:n="Invalid input";break;case G.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${Re.joinValues(e.options)}`;break;case G.invalid_enum_value:n=`Invalid enum value. Expected ${Re.joinValues(e.options)}, received '${e.received}'`;break;case G.invalid_arguments:n="Invalid function arguments";break;case G.invalid_return_type:n="Invalid function return type";break;case G.invalid_date:n="Invalid date";break;case G.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:Re.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case G.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case G.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case G.custom:n="Invalid input";break;case G.invalid_intersection_types:n="Intersection results could not be merged";break;case G.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case G.not_finite:n="Number must be finite";break;default:n=t.defaultError,Re.assertNever(e)}return{message:n}},ns=DO;var Iy=ns;function UO(e){Iy=e}function co(){return Iy}var ba=e=>{let{data:t,path:n,errorMaps:r,issueData:s}=e,i=[...n,...s.path||[]],o={...s,path:i};if(s.message!==void 0)return{...s,path:i,message:s.message};let a="",c=r.filter(u=>!!u).slice().reverse();for(let u of c)a=u(o,{data:t,defaultError:a}).message;return{...s,path:i,message:a}},PO=[];function Q(e,t){let n=co(),r=ba({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===ns?void 0:ns].filter(s=>!!s)});e.common.issues.push(r)}var Jt=class{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){let r=[];for(let s of n){if(s.status==="aborted")return ve;s.status==="dirty"&&t.dirty(),r.push(s.value)}return{status:t.value,value:r}}static async mergeObjectAsync(t,n){let r=[];for(let s of n){let i=await s.key,o=await s.value;r.push({key:i,value:o})}return Jt.mergeObjectSync(t,r)}static mergeObjectSync(t,n){let r={};for(let s of n){let{key:i,value:o}=s;if(i.status==="aborted"||o.status==="aborted")return ve;i.status==="dirty"&&t.dirty(),o.status==="dirty"&&t.dirty(),i.value!=="__proto__"&&(typeof o.value<"u"||s.alwaysSet)&&(r[i.value]=o.value)}return{status:t.value,value:r}}},ve=Object.freeze({status:"aborted"}),mi=e=>({status:"dirty",value:e}),hn=e=>({status:"valid",value:e}),du=e=>e.status==="aborted",pu=e=>e.status==="dirty",Ns=e=>e.status==="valid",uo=e=>typeof Promise<"u"&&e instanceof Promise;var ae;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(ae||(ae={}));var Yn=class{constructor(t,n,r,s){this._cachedPath=[],this.parent=t,this.data=n,this._path=r,this._key=s}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},Ay=(e,t)=>{if(Ns(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let n=new mn(e.common.issues);return this._error=n,this._error}}};function Ie(e){if(!e)return{};let{errorMap:t,invalid_type_error:n,required_error:r,description:s}=e;if(t&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:s}:{errorMap:(o,a)=>{let{message:c}=e;return o.code==="invalid_enum_value"?{message:c??a.defaultError}:typeof a.data>"u"?{message:c??r??a.defaultError}:o.code!=="invalid_type"?{message:a.defaultError}:{message:c??n??a.defaultError}},description:s}}var xe=class{get description(){return this._def.description}_getType(t){return Ar(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:Ar(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new Jt,ctx:{common:t.parent.common,data:t.data,parsedType:Ar(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let n=this._parse(t);if(uo(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(t){let n=this._parse(t);return Promise.resolve(n)}parse(t,n){let r=this.safeParse(t,n);if(r.success)return r.data;throw r.error}safeParse(t,n){let r={common:{issues:[],async:n?.async??!1,contextualErrorMap:n?.errorMap},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Ar(t)},s=this._parseSync({data:t,path:r.path,parent:r});return Ay(r,s)}"~validate"(t){let n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Ar(t)};if(!this["~standard"].async)try{let r=this._parseSync({data:t,path:[],parent:n});return Ns(r)?{value:r.value}:{issues:n.common.issues}}catch(r){r?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),n.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:n}).then(r=>Ns(r)?{value:r.value}:{issues:n.common.issues})}async parseAsync(t,n){let r=await this.safeParseAsync(t,n);if(r.success)return r.data;throw r.error}async safeParseAsync(t,n){let r={common:{issues:[],contextualErrorMap:n?.errorMap,async:!0},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Ar(t)},s=this._parse({data:t,path:r.path,parent:r}),i=await(uo(s)?s:Promise.resolve(s));return Ay(r,i)}refine(t,n){let r=s=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(s):n;return this._refinement((s,i)=>{let o=t(s),a=()=>i.addIssue({code:G.custom,...r(s)});return typeof Promise<"u"&&o instanceof Promise?o.then(c=>c?!0:(a(),!1)):o?!0:(a(),!1)})}refinement(t,n){return this._refinement((r,s)=>t(r)?!0:(s.addIssue(typeof n=="function"?n(r,s):n),!1))}_refinement(t){return new er({schema:this,typeName:we.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:n=>this["~validate"](n)}}optional(){return Xn.create(this,this._def)}nullable(){return Rr.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return $n.create(this)}promise(){return Bs.create(this,this._def)}or(t){return bi.create([this,t],this._def)}and(t){return vi.create(this,t,this._def)}transform(t){return new er({...Ie(this._def),schema:this,typeName:we.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let n=typeof t=="function"?t:()=>t;return new Si({...Ie(this._def),innerType:this,defaultValue:n,typeName:we.ZodDefault})}brand(){return new va({typeName:we.ZodBranded,type:this,...Ie(this._def)})}catch(t){let n=typeof t=="function"?t:()=>t;return new Ei({...Ie(this._def),innerType:this,catchValue:n,typeName:we.ZodCatch})}describe(t){let n=this.constructor;return new n({...this._def,description:t})}pipe(t){return Oi.create(this,t)}readonly(){return Ii.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},LO=/^c[^\s-]{8,}$/i,VO=/^[0-9a-z]+$/,FO=/^[0-9A-HJKMNP-TV-Z]{26}$/i,$O=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,qO=/^[a-z0-9_-]{21}$/i,GO=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,zO=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,WO=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,HO="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Jp,JO=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ZO=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,KO=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,XO=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,YO=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,QO=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Cy="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",eI=new RegExp(`^${Cy}$`);function Ny(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);let n=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function tI(e){return new RegExp(`^${Ny(e)}$`)}function Ry(e){let t=`${Cy}T${Ny(e)}`,n=[];return n.push(e.local?"Z?":"Z"),e.offset&&n.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${n.join("|")})`,new RegExp(`^${t}$`)}function nI(e,t){return!!((t==="v4"||!t)&&JO.test(e)||(t==="v6"||!t)&&KO.test(e))}function rI(e,t){if(!GO.test(e))return!1;try{let[n]=e.split(".");if(!n)return!1;let r=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),s=JSON.parse(atob(r));return!(typeof s!="object"||s===null||"typ"in s&&s?.typ!=="JWT"||!s.alg||t&&s.alg!==t)}catch{return!1}}function sI(e,t){return!!((t==="v4"||!t)&&ZO.test(e)||(t==="v6"||!t)&&XO.test(e))}var Fn=class extends xe{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==ne.string){let i=this._getOrReturnCtx(t);return Q(i,{code:G.invalid_type,expected:ne.string,received:i.parsedType}),ve}let r=new Jt,s;for(let i of this._def.checks)if(i.kind==="min")t.data.length<i.value&&(s=this._getOrReturnCtx(t,s),Q(s,{code:G.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),r.dirty());else if(i.kind==="max")t.data.length>i.value&&(s=this._getOrReturnCtx(t,s),Q(s,{code:G.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),r.dirty());else if(i.kind==="length"){let o=t.data.length>i.value,a=t.data.length<i.value;(o||a)&&(s=this._getOrReturnCtx(t,s),o?Q(s,{code:G.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}):a&&Q(s,{code:G.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}),r.dirty())}else if(i.kind==="email")WO.test(t.data)||(s=this._getOrReturnCtx(t,s),Q(s,{validation:"email",code:G.invalid_string,message:i.message}),r.dirty());else if(i.kind==="emoji")Jp||(Jp=new RegExp(HO,"u")),Jp.test(t.data)||(s=this._getOrReturnCtx(t,s),Q(s,{validation:"emoji",code:G.invalid_string,message:i.message}),r.dirty());else if(i.kind==="uuid")$O.test(t.data)||(s=this._getOrReturnCtx(t,s),Q(s,{validation:"uuid",code:G.invalid_string,message:i.message}),r.dirty());else if(i.kind==="nanoid")qO.test(t.data)||(s=this._getOrReturnCtx(t,s),Q(s,{validation:"nanoid",code:G.invalid_string,message:i.message}),r.dirty());else if(i.kind==="cuid")LO.test(t.data)||(s=this._getOrReturnCtx(t,s),Q(s,{validation:"cuid",code:G.invalid_string,message:i.message}),r.dirty());else if(i.kind==="cuid2")VO.test(t.data)||(s=this._getOrReturnCtx(t,s),Q(s,{validation:"cuid2",code:G.invalid_string,message:i.message}),r.dirty());else if(i.kind==="ulid")FO.test(t.data)||(s=this._getOrReturnCtx(t,s),Q(s,{validation:"ulid",code:G.invalid_string,message:i.message}),r.dirty());else if(i.kind==="url")try{new URL(t.data)}catch{s=this._getOrReturnCtx(t,s),Q(s,{validation:"url",code:G.invalid_string,message:i.message}),r.dirty()}else i.kind==="regex"?(i.regex.lastIndex=0,i.regex.test(t.data)||(s=this._getOrReturnCtx(t,s),Q(s,{validation:"regex",code:G.invalid_string,message:i.message}),r.dirty())):i.kind==="trim"?t.data=t.data.trim():i.kind==="includes"?t.data.includes(i.value,i.position)||(s=this._getOrReturnCtx(t,s),Q(s,{code:G.invalid_string,validation:{includes:i.value,position:i.position},message:i.message}),r.dirty()):i.kind==="toLowerCase"?t.data=t.data.toLowerCase():i.kind==="toUpperCase"?t.data=t.data.toUpperCase():i.kind==="startsWith"?t.data.startsWith(i.value)||(s=this._getOrReturnCtx(t,s),Q(s,{code:G.invalid_string,validation:{startsWith:i.value},message:i.message}),r.dirty()):i.kind==="endsWith"?t.data.endsWith(i.value)||(s=this._getOrReturnCtx(t,s),Q(s,{code:G.invalid_string,validation:{endsWith:i.value},message:i.message}),r.dirty()):i.kind==="datetime"?Ry(i).test(t.data)||(s=this._getOrReturnCtx(t,s),Q(s,{code:G.invalid_string,validation:"datetime",message:i.message}),r.dirty()):i.kind==="date"?eI.test(t.data)||(s=this._getOrReturnCtx(t,s),Q(s,{code:G.invalid_string,validation:"date",message:i.message}),r.dirty()):i.kind==="time"?tI(i).test(t.data)||(s=this._getOrReturnCtx(t,s),Q(s,{code:G.invalid_string,validation:"time",message:i.message}),r.dirty()):i.kind==="duration"?zO.test(t.data)||(s=this._getOrReturnCtx(t,s),Q(s,{validation:"duration",code:G.invalid_string,message:i.message}),r.dirty()):i.kind==="ip"?nI(t.data,i.version)||(s=this._getOrReturnCtx(t,s),Q(s,{validation:"ip",code:G.invalid_string,message:i.message}),r.dirty()):i.kind==="jwt"?rI(t.data,i.alg)||(s=this._getOrReturnCtx(t,s),Q(s,{validation:"jwt",code:G.invalid_string,message:i.message}),r.dirty()):i.kind==="cidr"?sI(t.data,i.version)||(s=this._getOrReturnCtx(t,s),Q(s,{validation:"cidr",code:G.invalid_string,message:i.message}),r.dirty()):i.kind==="base64"?YO.test(t.data)||(s=this._getOrReturnCtx(t,s),Q(s,{validation:"base64",code:G.invalid_string,message:i.message}),r.dirty()):i.kind==="base64url"?QO.test(t.data)||(s=this._getOrReturnCtx(t,s),Q(s,{validation:"base64url",code:G.invalid_string,message:i.message}),r.dirty()):Re.assertNever(i);return{status:r.value,value:t.data}}_regex(t,n,r){return this.refinement(s=>t.test(s),{validation:n,code:G.invalid_string,...ae.errToObj(r)})}_addCheck(t){return new Fn({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...ae.errToObj(t)})}url(t){return this._addCheck({kind:"url",...ae.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...ae.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...ae.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...ae.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...ae.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...ae.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...ae.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...ae.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...ae.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...ae.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...ae.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...ae.errToObj(t)})}datetime(t){return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof t?.precision>"u"?null:t?.precision,offset:t?.offset??!1,local:t?.local??!1,...ae.errToObj(t?.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof t?.precision>"u"?null:t?.precision,...ae.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...ae.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...ae.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n?.position,...ae.errToObj(n?.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...ae.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...ae.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...ae.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...ae.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...ae.errToObj(n)})}nonempty(t){return this.min(1,ae.errToObj(t))}trim(){return new Fn({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Fn({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Fn({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};Fn.create=e=>new Fn({checks:[],typeName:we.ZodString,coerce:e?.coerce??!1,...Ie(e)});function iI(e,t){let n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,s=n>r?n:r,i=Number.parseInt(e.toFixed(s).replace(".","")),o=Number.parseInt(t.toFixed(s).replace(".",""));return i%o/10**s}var xr=class extends xe{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==ne.number){let i=this._getOrReturnCtx(t);return Q(i,{code:G.invalid_type,expected:ne.number,received:i.parsedType}),ve}let r,s=new Jt;for(let i of this._def.checks)i.kind==="int"?Re.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),Q(r,{code:G.invalid_type,expected:"integer",received:"float",message:i.message}),s.dirty()):i.kind==="min"?(i.inclusive?t.data<i.value:t.data<=i.value)&&(r=this._getOrReturnCtx(t,r),Q(r,{code:G.too_small,minimum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),s.dirty()):i.kind==="max"?(i.inclusive?t.data>i.value:t.data>=i.value)&&(r=this._getOrReturnCtx(t,r),Q(r,{code:G.too_big,maximum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),s.dirty()):i.kind==="multipleOf"?iI(t.data,i.value)!==0&&(r=this._getOrReturnCtx(t,r),Q(r,{code:G.not_multiple_of,multipleOf:i.value,message:i.message}),s.dirty()):i.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),Q(r,{code:G.not_finite,message:i.message}),s.dirty()):Re.assertNever(i);return{status:s.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,ae.toString(n))}gt(t,n){return this.setLimit("min",t,!1,ae.toString(n))}lte(t,n){return this.setLimit("max",t,!0,ae.toString(n))}lt(t,n){return this.setLimit("max",t,!1,ae.toString(n))}setLimit(t,n,r,s){return new xr({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:ae.toString(s)}]})}_addCheck(t){return new xr({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:ae.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:ae.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:ae.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:ae.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:ae.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:ae.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:ae.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:ae.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:ae.toString(t)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}get isInt(){return!!this._def.checks.find(t=>t.kind==="int"||t.kind==="multipleOf"&&Re.isInteger(t.value))}get isFinite(){let t=null,n=null;for(let r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(t===null||r.value<t)&&(t=r.value)}return Number.isFinite(n)&&Number.isFinite(t)}};xr.create=e=>new xr({checks:[],typeName:we.ZodNumber,coerce:e?.coerce||!1,...Ie(e)});var Cr=class extends xe{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==ne.bigint)return this._getInvalidInput(t);let r,s=new Jt;for(let i of this._def.checks)i.kind==="min"?(i.inclusive?t.data<i.value:t.data<=i.value)&&(r=this._getOrReturnCtx(t,r),Q(r,{code:G.too_small,type:"bigint",minimum:i.value,inclusive:i.inclusive,message:i.message}),s.dirty()):i.kind==="max"?(i.inclusive?t.data>i.value:t.data>=i.value)&&(r=this._getOrReturnCtx(t,r),Q(r,{code:G.too_big,type:"bigint",maximum:i.value,inclusive:i.inclusive,message:i.message}),s.dirty()):i.kind==="multipleOf"?t.data%i.value!==BigInt(0)&&(r=this._getOrReturnCtx(t,r),Q(r,{code:G.not_multiple_of,multipleOf:i.value,message:i.message}),s.dirty()):Re.assertNever(i);return{status:s.value,value:t.data}}_getInvalidInput(t){let n=this._getOrReturnCtx(t);return Q(n,{code:G.invalid_type,expected:ne.bigint,received:n.parsedType}),ve}gte(t,n){return this.setLimit("min",t,!0,ae.toString(n))}gt(t,n){return this.setLimit("min",t,!1,ae.toString(n))}lte(t,n){return this.setLimit("max",t,!0,ae.toString(n))}lt(t,n){return this.setLimit("max",t,!1,ae.toString(n))}setLimit(t,n,r,s){return new Cr({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:ae.toString(s)}]})}_addCheck(t){return new Cr({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:ae.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:ae.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:ae.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:ae.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:ae.toString(n)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};Cr.create=e=>new Cr({checks:[],typeName:we.ZodBigInt,coerce:e?.coerce??!1,...Ie(e)});var hi=class extends xe{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==ne.boolean){let r=this._getOrReturnCtx(t);return Q(r,{code:G.invalid_type,expected:ne.boolean,received:r.parsedType}),ve}return hn(t.data)}};hi.create=e=>new hi({typeName:we.ZodBoolean,coerce:e?.coerce||!1,...Ie(e)});var is=class extends xe{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==ne.date){let i=this._getOrReturnCtx(t);return Q(i,{code:G.invalid_type,expected:ne.date,received:i.parsedType}),ve}if(Number.isNaN(t.data.getTime())){let i=this._getOrReturnCtx(t);return Q(i,{code:G.invalid_date}),ve}let r=new Jt,s;for(let i of this._def.checks)i.kind==="min"?t.data.getTime()<i.value&&(s=this._getOrReturnCtx(t,s),Q(s,{code:G.too_small,message:i.message,inclusive:!0,exact:!1,minimum:i.value,type:"date"}),r.dirty()):i.kind==="max"?t.data.getTime()>i.value&&(s=this._getOrReturnCtx(t,s),Q(s,{code:G.too_big,message:i.message,inclusive:!0,exact:!1,maximum:i.value,type:"date"}),r.dirty()):Re.assertNever(i);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new is({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:ae.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:ae.toString(n)})}get minDate(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t!=null?new Date(t):null}};is.create=e=>new is({checks:[],coerce:e?.coerce||!1,typeName:we.ZodDate,...Ie(e)});var po=class extends xe{_parse(t){if(this._getType(t)!==ne.symbol){let r=this._getOrReturnCtx(t);return Q(r,{code:G.invalid_type,expected:ne.symbol,received:r.parsedType}),ve}return hn(t.data)}};po.create=e=>new po({typeName:we.ZodSymbol,...Ie(e)});var gi=class extends xe{_parse(t){if(this._getType(t)!==ne.undefined){let r=this._getOrReturnCtx(t);return Q(r,{code:G.invalid_type,expected:ne.undefined,received:r.parsedType}),ve}return hn(t.data)}};gi.create=e=>new gi({typeName:we.ZodUndefined,...Ie(e)});var yi=class extends xe{_parse(t){if(this._getType(t)!==ne.null){let r=this._getOrReturnCtx(t);return Q(r,{code:G.invalid_type,expected:ne.null,received:r.parsedType}),ve}return hn(t.data)}};yi.create=e=>new yi({typeName:we.ZodNull,...Ie(e)});var Ms=class extends xe{constructor(){super(...arguments),this._any=!0}_parse(t){return hn(t.data)}};Ms.create=e=>new Ms({typeName:we.ZodAny,...Ie(e)});var ss=class extends xe{constructor(){super(...arguments),this._unknown=!0}_parse(t){return hn(t.data)}};ss.create=e=>new ss({typeName:we.ZodUnknown,...Ie(e)});var mr=class extends xe{_parse(t){let n=this._getOrReturnCtx(t);return Q(n,{code:G.invalid_type,expected:ne.never,received:n.parsedType}),ve}};mr.create=e=>new mr({typeName:we.ZodNever,...Ie(e)});var fo=class extends xe{_parse(t){if(this._getType(t)!==ne.undefined){let r=this._getOrReturnCtx(t);return Q(r,{code:G.invalid_type,expected:ne.void,received:r.parsedType}),ve}return hn(t.data)}};fo.create=e=>new fo({typeName:we.ZodVoid,...Ie(e)});var $n=class extends xe{_parse(t){let{ctx:n,status:r}=this._processInputParams(t),s=this._def;if(n.parsedType!==ne.array)return Q(n,{code:G.invalid_type,expected:ne.array,received:n.parsedType}),ve;if(s.exactLength!==null){let o=n.data.length>s.exactLength.value,a=n.data.length<s.exactLength.value;(o||a)&&(Q(n,{code:o?G.too_big:G.too_small,minimum:a?s.exactLength.value:void 0,maximum:o?s.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:s.exactLength.message}),r.dirty())}if(s.minLength!==null&&n.data.length<s.minLength.value&&(Q(n,{code:G.too_small,minimum:s.minLength.value,type:"array",inclusive:!0,exact:!1,message:s.minLength.message}),r.dirty()),s.maxLength!==null&&n.data.length>s.maxLength.value&&(Q(n,{code:G.too_big,maximum:s.maxLength.value,type:"array",inclusive:!0,exact:!1,message:s.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((o,a)=>s.type._parseAsync(new Yn(n,o,n.path,a)))).then(o=>Jt.mergeArray(r,o));let i=[...n.data].map((o,a)=>s.type._parseSync(new Yn(n,o,n.path,a)));return Jt.mergeArray(r,i)}get element(){return this._def.type}min(t,n){return new $n({...this._def,minLength:{value:t,message:ae.toString(n)}})}max(t,n){return new $n({...this._def,maxLength:{value:t,message:ae.toString(n)}})}length(t,n){return new $n({...this._def,exactLength:{value:t,message:ae.toString(n)}})}nonempty(t){return this.min(1,t)}};$n.create=(e,t)=>new $n({type:e,minLength:null,maxLength:null,exactLength:null,typeName:we.ZodArray,...Ie(t)});function lo(e){if(e instanceof Je){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=Xn.create(lo(r))}return new Je({...e._def,shape:()=>t})}else return e instanceof $n?new $n({...e._def,type:lo(e.element)}):e instanceof Xn?Xn.create(lo(e.unwrap())):e instanceof Rr?Rr.create(lo(e.unwrap())):e instanceof Qn?Qn.create(e.items.map(t=>lo(t))):e}var Je=class extends xe{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let t=this._def.shape(),n=Re.objectKeys(t);return this._cached={shape:t,keys:n},this._cached}_parse(t){if(this._getType(t)!==ne.object){let u=this._getOrReturnCtx(t);return Q(u,{code:G.invalid_type,expected:ne.object,received:u.parsedType}),ve}let{status:r,ctx:s}=this._processInputParams(t),{shape:i,keys:o}=this._getCached(),a=[];if(!(this._def.catchall instanceof mr&&this._def.unknownKeys==="strip"))for(let u in s.data)o.includes(u)||a.push(u);let c=[];for(let u of o){let d=i[u],p=s.data[u];c.push({key:{status:"valid",value:u},value:d._parse(new Yn(s,p,s.path,u)),alwaysSet:u in s.data})}if(this._def.catchall instanceof mr){let u=this._def.unknownKeys;if(u==="passthrough")for(let d of a)c.push({key:{status:"valid",value:d},value:{status:"valid",value:s.data[d]}});else if(u==="strict")a.length>0&&(Q(s,{code:G.unrecognized_keys,keys:a}),r.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let u=this._def.catchall;for(let d of a){let p=s.data[d];c.push({key:{status:"valid",value:d},value:u._parse(new Yn(s,p,s.path,d)),alwaysSet:d in s.data})}}return s.common.async?Promise.resolve().then(async()=>{let u=[];for(let d of c){let p=await d.key,f=await d.value;u.push({key:p,value:f,alwaysSet:d.alwaysSet})}return u}).then(u=>Jt.mergeObjectSync(r,u)):Jt.mergeObjectSync(r,c)}get shape(){return this._def.shape()}strict(t){return ae.errToObj,new Je({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,r)=>{let s=this._def.errorMap?.(n,r).message??r.defaultError;return n.code==="unrecognized_keys"?{message:ae.errToObj(t).message??s}:{message:s}}}:{}})}strip(){return new Je({...this._def,unknownKeys:"strip"})}passthrough(){return new Je({...this._def,unknownKeys:"passthrough"})}extend(t){return new Je({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new Je({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:we.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new Je({...this._def,catchall:t})}pick(t){let n={};for(let r of Re.objectKeys(t))t[r]&&this.shape[r]&&(n[r]=this.shape[r]);return new Je({...this._def,shape:()=>n})}omit(t){let n={};for(let r of Re.objectKeys(this.shape))t[r]||(n[r]=this.shape[r]);return new Je({...this._def,shape:()=>n})}deepPartial(){return lo(this)}partial(t){let n={};for(let r of Re.objectKeys(this.shape)){let s=this.shape[r];t&&!t[r]?n[r]=s:n[r]=s.optional()}return new Je({...this._def,shape:()=>n})}required(t){let n={};for(let r of Re.objectKeys(this.shape))if(t&&!t[r])n[r]=this.shape[r];else{let i=this.shape[r];for(;i instanceof Xn;)i=i._def.innerType;n[r]=i}return new Je({...this._def,shape:()=>n})}keyof(){return My(Re.objectKeys(this.shape))}};Je.create=(e,t)=>new Je({shape:()=>e,unknownKeys:"strip",catchall:mr.create(),typeName:we.ZodObject,...Ie(t)});Je.strictCreate=(e,t)=>new Je({shape:()=>e,unknownKeys:"strict",catchall:mr.create(),typeName:we.ZodObject,...Ie(t)});Je.lazycreate=(e,t)=>new Je({shape:e,unknownKeys:"strip",catchall:mr.create(),typeName:we.ZodObject,...Ie(t)});var bi=class extends xe{_parse(t){let{ctx:n}=this._processInputParams(t),r=this._def.options;function s(i){for(let a of i)if(a.result.status==="valid")return a.result;for(let a of i)if(a.result.status==="dirty")return n.common.issues.push(...a.ctx.common.issues),a.result;let o=i.map(a=>new mn(a.ctx.common.issues));return Q(n,{code:G.invalid_union,unionErrors:o}),ve}if(n.common.async)return Promise.all(r.map(async i=>{let o={...n,common:{...n.common,issues:[]},parent:null};return{result:await i._parseAsync({data:n.data,path:n.path,parent:o}),ctx:o}})).then(s);{let i,o=[];for(let c of r){let u={...n,common:{...n.common,issues:[]},parent:null},d=c._parseSync({data:n.data,path:n.path,parent:u});if(d.status==="valid")return d;d.status==="dirty"&&!i&&(i={result:d,ctx:u}),u.common.issues.length&&o.push(u.common.issues)}if(i)return n.common.issues.push(...i.ctx.common.issues),i.result;let a=o.map(c=>new mn(c));return Q(n,{code:G.invalid_union,unionErrors:a}),ve}}get options(){return this._def.options}};bi.create=(e,t)=>new bi({options:e,typeName:we.ZodUnion,...Ie(t)});var rs=e=>e instanceof wi?rs(e.schema):e instanceof er?rs(e.innerType()):e instanceof Ti?[e.value]:e instanceof Nr?e.options:e instanceof ki?Re.objectValues(e.enum):e instanceof Si?rs(e._def.innerType):e instanceof gi?[void 0]:e instanceof yi?[null]:e instanceof Xn?[void 0,...rs(e.unwrap())]:e instanceof Rr?[null,...rs(e.unwrap())]:e instanceof va||e instanceof Ii?rs(e.unwrap()):e instanceof Ei?rs(e._def.innerType):[],mo=class extends xe{_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==ne.object)return Q(n,{code:G.invalid_type,expected:ne.object,received:n.parsedType}),ve;let r=this.discriminator,s=n.data[r],i=this.optionsMap.get(s);return i?n.common.async?i._parseAsync({data:n.data,path:n.path,parent:n}):i._parseSync({data:n.data,path:n.path,parent:n}):(Q(n,{code:G.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),ve)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){let s=new Map;for(let i of n){let o=rs(i.shape[t]);if(!o.length)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let a of o){if(s.has(a))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(a)}`);s.set(a,i)}}return new mo({typeName:we.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:s,...Ie(r)})}};function Zp(e,t){let n=Ar(e),r=Ar(t);if(e===t)return{valid:!0,data:e};if(n===ne.object&&r===ne.object){let s=Re.objectKeys(t),i=Re.objectKeys(e).filter(a=>s.indexOf(a)!==-1),o={...e,...t};for(let a of i){let c=Zp(e[a],t[a]);if(!c.valid)return{valid:!1};o[a]=c.data}return{valid:!0,data:o}}else if(n===ne.array&&r===ne.array){if(e.length!==t.length)return{valid:!1};let s=[];for(let i=0;i<e.length;i++){let o=e[i],a=t[i],c=Zp(o,a);if(!c.valid)return{valid:!1};s.push(c.data)}return{valid:!0,data:s}}else return n===ne.date&&r===ne.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}var vi=class extends xe{_parse(t){let{status:n,ctx:r}=this._processInputParams(t),s=(i,o)=>{if(du(i)||du(o))return ve;let a=Zp(i.value,o.value);return a.valid?((pu(i)||pu(o))&&n.dirty(),{status:n.value,value:a.data}):(Q(r,{code:G.invalid_intersection_types}),ve)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([i,o])=>s(i,o)):s(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}};vi.create=(e,t,n)=>new vi({left:e,right:t,typeName:we.ZodIntersection,...Ie(n)});var Qn=class extends xe{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==ne.array)return Q(r,{code:G.invalid_type,expected:ne.array,received:r.parsedType}),ve;if(r.data.length<this._def.items.length)return Q(r,{code:G.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),ve;!this._def.rest&&r.data.length>this._def.items.length&&(Q(r,{code:G.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());let i=[...r.data].map((o,a)=>{let c=this._def.items[a]||this._def.rest;return c?c._parse(new Yn(r,o,r.path,a)):null}).filter(o=>!!o);return r.common.async?Promise.all(i).then(o=>Jt.mergeArray(n,o)):Jt.mergeArray(n,i)}get items(){return this._def.items}rest(t){return new Qn({...this._def,rest:t})}};Qn.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Qn({items:e,typeName:we.ZodTuple,rest:null,...Ie(t)})};var _i=class extends xe{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==ne.object)return Q(r,{code:G.invalid_type,expected:ne.object,received:r.parsedType}),ve;let s=[],i=this._def.keyType,o=this._def.valueType;for(let a in r.data)s.push({key:i._parse(new Yn(r,a,r.path,a)),value:o._parse(new Yn(r,r.data[a],r.path,a)),alwaysSet:a in r.data});return r.common.async?Jt.mergeObjectAsync(n,s):Jt.mergeObjectSync(n,s)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof xe?new _i({keyType:t,valueType:n,typeName:we.ZodRecord,...Ie(r)}):new _i({keyType:Fn.create(),valueType:t,typeName:we.ZodRecord,...Ie(n)})}},ho=class extends xe{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==ne.map)return Q(r,{code:G.invalid_type,expected:ne.map,received:r.parsedType}),ve;let s=this._def.keyType,i=this._def.valueType,o=[...r.data.entries()].map(([a,c],u)=>({key:s._parse(new Yn(r,a,r.path,[u,"key"])),value:i._parse(new Yn(r,c,r.path,[u,"value"]))}));if(r.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let c of o){let u=await c.key,d=await c.value;if(u.status==="aborted"||d.status==="aborted")return ve;(u.status==="dirty"||d.status==="dirty")&&n.dirty(),a.set(u.value,d.value)}return{status:n.value,value:a}})}else{let a=new Map;for(let c of o){let u=c.key,d=c.value;if(u.status==="aborted"||d.status==="aborted")return ve;(u.status==="dirty"||d.status==="dirty")&&n.dirty(),a.set(u.value,d.value)}return{status:n.value,value:a}}}};ho.create=(e,t,n)=>new ho({valueType:t,keyType:e,typeName:we.ZodMap,...Ie(n)});var os=class extends xe{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==ne.set)return Q(r,{code:G.invalid_type,expected:ne.set,received:r.parsedType}),ve;let s=this._def;s.minSize!==null&&r.data.size<s.minSize.value&&(Q(r,{code:G.too_small,minimum:s.minSize.value,type:"set",inclusive:!0,exact:!1,message:s.minSize.message}),n.dirty()),s.maxSize!==null&&r.data.size>s.maxSize.value&&(Q(r,{code:G.too_big,maximum:s.maxSize.value,type:"set",inclusive:!0,exact:!1,message:s.maxSize.message}),n.dirty());let i=this._def.valueType;function o(c){let u=new Set;for(let d of c){if(d.status==="aborted")return ve;d.status==="dirty"&&n.dirty(),u.add(d.value)}return{status:n.value,value:u}}let a=[...r.data.values()].map((c,u)=>i._parse(new Yn(r,c,r.path,u)));return r.common.async?Promise.all(a).then(c=>o(c)):o(a)}min(t,n){return new os({...this._def,minSize:{value:t,message:ae.toString(n)}})}max(t,n){return new os({...this._def,maxSize:{value:t,message:ae.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}};os.create=(e,t)=>new os({valueType:e,minSize:null,maxSize:null,typeName:we.ZodSet,...Ie(t)});var Rs=class extends xe{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==ne.function)return Q(n,{code:G.invalid_type,expected:ne.function,received:n.parsedType}),ve;function r(a,c){return ba({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,co(),ns].filter(u=>!!u),issueData:{code:G.invalid_arguments,argumentsError:c}})}function s(a,c){return ba({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,co(),ns].filter(u=>!!u),issueData:{code:G.invalid_return_type,returnTypeError:c}})}let i={errorMap:n.common.contextualErrorMap},o=n.data;if(this._def.returns instanceof Bs){let a=this;return hn(async function(...c){let u=new mn([]),d=await a._def.args.parseAsync(c,i).catch(g=>{throw u.addIssue(r(c,g)),u}),p=await Reflect.apply(o,this,d);return await a._def.returns._def.type.parseAsync(p,i).catch(g=>{throw u.addIssue(s(p,g)),u})})}else{let a=this;return hn(function(...c){let u=a._def.args.safeParse(c,i);if(!u.success)throw new mn([r(c,u.error)]);let d=Reflect.apply(o,this,u.data),p=a._def.returns.safeParse(d,i);if(!p.success)throw new mn([s(d,p.error)]);return p.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new Rs({...this._def,args:Qn.create(t).rest(ss.create())})}returns(t){return new Rs({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,n,r){return new Rs({args:t||Qn.create([]).rest(ss.create()),returns:n||ss.create(),typeName:we.ZodFunction,...Ie(r)})}},wi=class extends xe{get schema(){return this._def.getter()}_parse(t){let{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}};wi.create=(e,t)=>new wi({getter:e,typeName:we.ZodLazy,...Ie(t)});var Ti=class extends xe{_parse(t){if(t.data!==this._def.value){let n=this._getOrReturnCtx(t);return Q(n,{received:n.data,code:G.invalid_literal,expected:this._def.value}),ve}return{status:"valid",value:t.data}}get value(){return this._def.value}};Ti.create=(e,t)=>new Ti({value:e,typeName:we.ZodLiteral,...Ie(t)});function My(e,t){return new Nr({values:e,typeName:we.ZodEnum,...Ie(t)})}var Nr=class extends xe{_parse(t){if(typeof t.data!="string"){let n=this._getOrReturnCtx(t),r=this._def.values;return Q(n,{expected:Re.joinValues(r),received:n.parsedType,code:G.invalid_type}),ve}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){let n=this._getOrReturnCtx(t),r=this._def.values;return Q(n,{received:n.data,code:G.invalid_enum_value,options:r}),ve}return hn(t.data)}get options(){return this._def.values}get enum(){let t={};for(let n of this._def.values)t[n]=n;return t}get Values(){let t={};for(let n of this._def.values)t[n]=n;return t}get Enum(){let t={};for(let n of this._def.values)t[n]=n;return t}extract(t,n=this._def){return Nr.create(t,{...this._def,...n})}exclude(t,n=this._def){return Nr.create(this.options.filter(r=>!t.includes(r)),{...this._def,...n})}};Nr.create=My;var ki=class extends xe{_parse(t){let n=Re.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==ne.string&&r.parsedType!==ne.number){let s=Re.objectValues(n);return Q(r,{expected:Re.joinValues(s),received:r.parsedType,code:G.invalid_type}),ve}if(this._cache||(this._cache=new Set(Re.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let s=Re.objectValues(n);return Q(r,{received:r.data,code:G.invalid_enum_value,options:s}),ve}return hn(t.data)}get enum(){return this._def.values}};ki.create=(e,t)=>new ki({values:e,typeName:we.ZodNativeEnum,...Ie(t)});var Bs=class extends xe{unwrap(){return this._def.type}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==ne.promise&&n.common.async===!1)return Q(n,{code:G.invalid_type,expected:ne.promise,received:n.parsedType}),ve;let r=n.parsedType===ne.promise?n.data:Promise.resolve(n.data);return hn(r.then(s=>this._def.type.parseAsync(s,{path:n.path,errorMap:n.common.contextualErrorMap})))}};Bs.create=(e,t)=>new Bs({type:e,typeName:we.ZodPromise,...Ie(t)});var er=class extends xe{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===we.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){let{status:n,ctx:r}=this._processInputParams(t),s=this._def.effect||null,i={addIssue:o=>{Q(r,o),o.fatal?n.abort():n.dirty()},get path(){return r.path}};if(i.addIssue=i.addIssue.bind(i),s.type==="preprocess"){let o=s.transform(r.data,i);if(r.common.async)return Promise.resolve(o).then(async a=>{if(n.value==="aborted")return ve;let c=await this._def.schema._parseAsync({data:a,path:r.path,parent:r});return c.status==="aborted"?ve:c.status==="dirty"?mi(c.value):n.value==="dirty"?mi(c.value):c});{if(n.value==="aborted")return ve;let a=this._def.schema._parseSync({data:o,path:r.path,parent:r});return a.status==="aborted"?ve:a.status==="dirty"?mi(a.value):n.value==="dirty"?mi(a.value):a}}if(s.type==="refinement"){let o=a=>{let c=s.refinement(a,i);if(r.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(r.common.async===!1){let a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?ve:(a.status==="dirty"&&n.dirty(),o(a.value),{status:n.value,value:a.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>a.status==="aborted"?ve:(a.status==="dirty"&&n.dirty(),o(a.value).then(()=>({status:n.value,value:a.value}))))}if(s.type==="transform")if(r.common.async===!1){let o=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!Ns(o))return ve;let a=s.transform(o.value,i);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:a}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(o=>Ns(o)?Promise.resolve(s.transform(o.value,i)).then(a=>({status:n.value,value:a})):ve);Re.assertNever(s)}};er.create=(e,t,n)=>new er({schema:e,typeName:we.ZodEffects,effect:t,...Ie(n)});er.createWithPreprocess=(e,t,n)=>new er({schema:t,effect:{type:"preprocess",transform:e},typeName:we.ZodEffects,...Ie(n)});var Xn=class extends xe{_parse(t){return this._getType(t)===ne.undefined?hn(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};Xn.create=(e,t)=>new Xn({innerType:e,typeName:we.ZodOptional,...Ie(t)});var Rr=class extends xe{_parse(t){return this._getType(t)===ne.null?hn(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};Rr.create=(e,t)=>new Rr({innerType:e,typeName:we.ZodNullable,...Ie(t)});var Si=class extends xe{_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return n.parsedType===ne.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}};Si.create=(e,t)=>new Si({innerType:e,typeName:we.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...Ie(t)});var Ei=class extends xe{_parse(t){let{ctx:n}=this._processInputParams(t),r={...n,common:{...n.common,issues:[]}},s=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return uo(s)?s.then(i=>({status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new mn(r.common.issues)},input:r.data})})):{status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new mn(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}};Ei.create=(e,t)=>new Ei({innerType:e,typeName:we.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...Ie(t)});var go=class extends xe{_parse(t){if(this._getType(t)!==ne.nan){let r=this._getOrReturnCtx(t);return Q(r,{code:G.invalid_type,expected:ne.nan,received:r.parsedType}),ve}return{status:"valid",value:t.data}}};go.create=e=>new go({typeName:we.ZodNaN,...Ie(e)});var oI=Symbol("zod_brand"),va=class extends xe{_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}},Oi=class extends xe{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.common.async)return(async()=>{let i=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return i.status==="aborted"?ve:i.status==="dirty"?(n.dirty(),mi(i.value)):this._def.out._parseAsync({data:i.value,path:r.path,parent:r})})();{let s=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?ve:s.status==="dirty"?(n.dirty(),{status:"dirty",value:s.value}):this._def.out._parseSync({data:s.value,path:r.path,parent:r})}}static create(t,n){return new Oi({in:t,out:n,typeName:we.ZodPipeline})}},Ii=class extends xe{_parse(t){let n=this._def.innerType._parse(t),r=s=>(Ns(s)&&(s.value=Object.freeze(s.value)),s);return uo(n)?n.then(s=>r(s)):r(n)}unwrap(){return this._def.innerType}};Ii.create=(e,t)=>new Ii({innerType:e,typeName:we.ZodReadonly,...Ie(t)});function xy(e,t){let n=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof n=="string"?{message:n}:n}function By(e,t={},n){return e?Ms.create().superRefine((r,s)=>{let i=e(r);if(i instanceof Promise)return i.then(o=>{if(!o){let a=xy(t,r),c=a.fatal??n??!0;s.addIssue({code:"custom",...a,fatal:c})}});if(!i){let o=xy(t,r),a=o.fatal??n??!0;s.addIssue({code:"custom",...o,fatal:a})}}):Ms.create()}var aI={object:Je.lazycreate},we;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(we||(we={}));var cI=(e,t={message:`Input not instance of ${e.name}`})=>By(n=>n instanceof e,t),jy=Fn.create,Dy=xr.create,uI=go.create,lI=Cr.create,Uy=hi.create,dI=is.create,pI=po.create,fI=gi.create,mI=yi.create,hI=Ms.create,gI=ss.create,yI=mr.create,bI=fo.create,vI=$n.create,_I=Je.create,wI=Je.strictCreate,TI=bi.create,kI=mo.create,SI=vi.create,EI=Qn.create,OI=_i.create,II=ho.create,AI=os.create,xI=Rs.create,CI=wi.create,NI=Ti.create,RI=Nr.create,MI=ki.create,BI=Bs.create,jI=er.create,DI=Xn.create,UI=Rr.create,PI=er.createWithPreprocess,LI=Oi.create,VI=()=>jy().optional(),FI=()=>Dy().optional(),$I=()=>Uy().optional(),qI={string:e=>Fn.create({...e,coerce:!0}),number:e=>xr.create({...e,coerce:!0}),boolean:e=>hi.create({...e,coerce:!0}),bigint:e=>Cr.create({...e,coerce:!0}),date:e=>is.create({...e,coerce:!0})};var GI=ve;function WI(e,t){let n={...e};for(let r of t)delete n[r];return n}var HI=/:([a-zA-Z_][a-zA-Z0-9_]*)/g;function JI(e){let t=e.url,n=e.params;return n&&(t=t.replace(HI,(r,s)=>s in n?`${n[s]}`:r)),t}function Py(e,t,n){return e.find(r=>r.method===t&&r.path===n)}function ZI(e){let t=new FormData;for(let n in e)t.append(n,e[n]);return{data:t}}var fu=class extends Error{constructor(e,t,n,r){super(e),this.config=t,this.data=n,this.cause=r}},KI={name:"form-data",request:async(e,t)=>{if(typeof t.data!="object"||Array.isArray(t.data))throw new fu("Zodios: multipart/form-data body must be an object",t);let n=ZI(t.data);return{...t,data:n.data,headers:{...t.headers,...n.headers}}}};function XI(){return KI}var YI={name:"form-url",request:async(e,t)=>{if(typeof t.data!="object"||Array.isArray(t.data))throw new fu("Zodios: application/x-www-form-urlencoded body must be an object",t);return{...t,data:new URLSearchParams(t.data).toString(),headers:{...t.headers,"Content-Type":"application/x-www-form-urlencoded"}}}};function QI(){return YI}function Ly(e,t){return{request:async(n,r)=>({...r,headers:{...r.headers,[e]:t}})}}function Vy(e){return[!0,"response","all"].includes(e)}function Fy(e){return[!0,"request","all"].includes(e)}function eA({validate:e,transform:t,sendDefaults:n}){return{name:"zod-validation",request:Fy(e)?async(r,s)=>{let i=Py(r,s.method,s.url);if(!i)throw new Error(`No endpoint found for ${s.method} ${s.url}`);let{parameters:o}=i;if(!o)return s;let a={...s,queries:{...s.queries},headers:{...s.headers},params:{...s.params}},c={Query:p=>{var f;return(f=a.queries)==null?void 0:f[p]},Body:p=>a.data,Header:p=>{var f;return(f=a.headers)==null?void 0:f[p]},Path:p=>{var f;return(f=a.params)==null?void 0:f[p]}},u={Query:(p,f)=>a.queries[p]=f,Body:(p,f)=>a.data=f,Header:(p,f)=>a.headers[p]=f,Path:(p,f)=>a.params[p]=f},d=Fy(t);for(let p of o){let{name:f,schema:g,type:b}=p,_=c[b](f);if(n||_!==void 0){let I=await g.safeParseAsync(_);if(!I.success)throw new fu(`Zodios: Invalid ${b} parameter '${f}'`,s,_,I.error);d&&u[b](f,I.data)}}return a}:void 0,response:Vy(e)?async(r,s,i)=>{var o,a,c,u;let d=Py(r,s.method,s.url);if(!d)throw new Error(`No endpoint found for ${s.method} ${s.url}`);if((a=(o=i.headers)==null?void 0:o["content-type"])!=null&&a.includes("application/json")||(u=(c=i.headers)==null?void 0:c["content-type"])!=null&&u.includes("application/vnd.api+json")){let p=await d.response.safeParseAsync(i.data);if(!p.success)throw new fu(`Zodios: Invalid response from endpoint '${d.method} ${d.path}'
|
|
847
847
|
status: ${i.status} ${i.statusText}
|
|
848
848
|
cause:
|
|
849
849
|
${p.error.message}
|
|
850
850
|
received:
|
|
851
|
-
${JSON.stringify(i.data,null,2)}`,s,i.data,p.error);Vy(t)&&(i.data=p.data)}return i}:void 0}}var $y=class{constructor(e,t){this.plugins=[],this.key=`${e}-${t}`}indexOf(e){return this.plugins.findIndex(t=>t?.name===e)}use(e){if(e.name){let t=this.indexOf(e.name);if(t!==-1)return this.plugins[t]=e,{key:this.key,value:t}}return this.plugins.push(e),{key:this.key,value:this.plugins.length-1}}eject(e){if(typeof e=="string"){let t=this.indexOf(e);if(t===-1)throw new Error(`Plugin with name '${e}' not found`);this.plugins[t]=void 0}else{if(e.key!==this.key)throw new Error(`Plugin with key '${e.key}' is not registered for endpoint '${this.key}'`);this.plugins[e.value]=void 0}}async interceptRequest(e,t){let n=t;for(let r of this.plugins)r!=null&&r.request&&(n=await r.request(e,n));return n}async interceptResponse(e,t,n){let r=n;for(let s=this.plugins.length-1;s>=0;s--){let i=this.plugins[s];i&&(r=r.then(i!=null&&i.response?o=>i.response(e,t,o):void 0,i!=null&&i.error?o=>i.error(e,t,o):void 0))}return r}count(){return this.plugins.reduce((e,t)=>t?e+1:e,0)}};function qy(e){let t=new Set;for(let r of e){let s=`${r.method} ${r.path}`;if(t.has(s))throw new Error(`Zodios: Duplicate path '${s}'`);t.add(s)}let n=new Set;for(let r of e)if(r.alias){if(n.has(r.alias))throw new Error(`Zodios: Duplicate alias '${r.alias}'`);n.add(r.alias)}for(let r of e)if(r.parameters&&r.parameters.filter(s=>s.type==="Body").length>1)throw new Error(`Zodios: Multiple body parameters in endpoint '${r.path}'`)}function Gy(e){return qy(e),e}var tA=class{constructor(e,t,n){this.endpointPlugins=new Map;let r;if(!e)throw Array.isArray(t)?new Error("Zodios: missing base url"):new Error("Zodios: missing api description");let s;if(typeof e=="string"&&Array.isArray(t))s=e,this.api=t,r=n||{};else if(Array.isArray(e)&&!Array.isArray(t))this.api=e,r=t||{};else throw new Error("Zodios: api must be an array");qy(this.api),this.options={validate:!0,transform:!0,sendDefaults:!1,...r},this.options.axiosInstance?this.axiosInstance=this.options.axiosInstance:this.axiosInstance=zI.create({...this.options.axiosConfig}),s&&(this.axiosInstance.defaults.baseURL=s),this.injectAliasEndpoints(),this.initPlugins(),[!0,"all","request","response"].includes(this.options.validate)&&this.use(eA(this.options))}initPlugins(){this.endpointPlugins.set("any-any",new $y("any","any")),this.api.forEach(e=>{let t=new $y(e.method,e.path);switch(e.requestFormat){case"binary":t.use(Ly("Content-Type","application/octet-stream"));break;case"form-data":t.use(XI());break;case"form-url":t.use(QI());break;case"text":t.use(Ly("Content-Type","text/plain"));break}this.endpointPlugins.set(`${e.method}-${e.path}`,t)})}getAnyEndpointPlugins(){return this.endpointPlugins.get("any-any")}findAliasEndpointPlugins(e){let t=this.api.find(n=>n.alias===e);if(t)return this.endpointPlugins.get(`${t.method}-${t.path}`)}findEnpointPlugins(e,t){return this.endpointPlugins.get(`${e}-${t}`)}get baseURL(){return this.axiosInstance.defaults.baseURL}get axios(){return this.axiosInstance}use(...e){if(typeof e[0]=="object")return this.getAnyEndpointPlugins().use(e[0]);if(typeof e[0]=="string"&&typeof e[1]=="object"){let t=this.findAliasEndpointPlugins(e[0]);if(!t)throw new Error(`Zodios: no alias '${e[0]}' found to register plugin`);return t.use(e[1])}else if(typeof e[0]=="string"&&typeof e[1]=="string"&&typeof e[2]=="object"){let t=this.findEnpointPlugins(e[0],e[1]);if(!t)throw new Error(`Zodios: no endpoint '${e[0]} ${e[1]}' found to register plugin`);return t.use(e[2])}throw new Error("Zodios: invalid plugin registration")}eject(e){var t;if(typeof e=="string"){this.getAnyEndpointPlugins().eject(e);return}(t=this.endpointPlugins.get(e.key))==null||t.eject(e)}injectAliasEndpoints(){this.api.forEach(e=>{e.alias&&(["post","put","patch","delete"].includes(e.method)?this[e.alias]=(t,n)=>this.request({...n,method:e.method,url:e.path,data:t}):this[e.alias]=t=>this.request({...t,method:e.method,url:e.path}))})}async request(e){let t=e,n=this.getAnyEndpointPlugins(),r=this.findEnpointPlugins(t.method,t.url);t=await n.interceptRequest(this.api,t),r&&(t=await r.interceptRequest(this.api,t));let s=this.axiosInstance.request({...WI(t,["params","queries"]),url:JI(t),params:t.queries});return r&&(s=r.interceptResponse(this.api,t,s)),s=n.interceptResponse(this.api,t,s),(await s).data}async get(e,...[t]){return this.request({...t,method:"get",url:e})}async post(e,t,...[n]){return this.request({...n,method:"post",url:e,data:t})}async put(e,t,...[n]){return this.request({...n,method:"put",url:e,data:t})}async patch(e,t,...[n]){return this.request({...n,method:"patch",url:e,data:t})}async delete(e,t,...[n]){return this.request({...n,method:"delete",url:e,data:t})}},zy=tA;var Wy=pe.enum(["crypto","fx","equity","metal","rates","crypto_redemption_rate","commodities","crypto_index","crypto_nav","eco","kalshi"]),Hy=Wy.nullish(),Xp=pe.string(),Jy=pe.object({attributes:pe.record(pe.string()),id:Xp}).passthrough(),
|
|
851
|
+
${JSON.stringify(i.data,null,2)}`,s,i.data,p.error);Vy(t)&&(i.data=p.data)}return i}:void 0}}var $y=class{constructor(e,t){this.plugins=[],this.key=`${e}-${t}`}indexOf(e){return this.plugins.findIndex(t=>t?.name===e)}use(e){if(e.name){let t=this.indexOf(e.name);if(t!==-1)return this.plugins[t]=e,{key:this.key,value:t}}return this.plugins.push(e),{key:this.key,value:this.plugins.length-1}}eject(e){if(typeof e=="string"){let t=this.indexOf(e);if(t===-1)throw new Error(`Plugin with name '${e}' not found`);this.plugins[t]=void 0}else{if(e.key!==this.key)throw new Error(`Plugin with key '${e.key}' is not registered for endpoint '${this.key}'`);this.plugins[e.value]=void 0}}async interceptRequest(e,t){let n=t;for(let r of this.plugins)r!=null&&r.request&&(n=await r.request(e,n));return n}async interceptResponse(e,t,n){let r=n;for(let s=this.plugins.length-1;s>=0;s--){let i=this.plugins[s];i&&(r=r.then(i!=null&&i.response?o=>i.response(e,t,o):void 0,i!=null&&i.error?o=>i.error(e,t,o):void 0))}return r}count(){return this.plugins.reduce((e,t)=>t?e+1:e,0)}};function qy(e){let t=new Set;for(let r of e){let s=`${r.method} ${r.path}`;if(t.has(s))throw new Error(`Zodios: Duplicate path '${s}'`);t.add(s)}let n=new Set;for(let r of e)if(r.alias){if(n.has(r.alias))throw new Error(`Zodios: Duplicate alias '${r.alias}'`);n.add(r.alias)}for(let r of e)if(r.parameters&&r.parameters.filter(s=>s.type==="Body").length>1)throw new Error(`Zodios: Multiple body parameters in endpoint '${r.path}'`)}function Gy(e){return qy(e),e}var tA=class{constructor(e,t,n){this.endpointPlugins=new Map;let r;if(!e)throw Array.isArray(t)?new Error("Zodios: missing base url"):new Error("Zodios: missing api description");let s;if(typeof e=="string"&&Array.isArray(t))s=e,this.api=t,r=n||{};else if(Array.isArray(e)&&!Array.isArray(t))this.api=e,r=t||{};else throw new Error("Zodios: api must be an array");qy(this.api),this.options={validate:!0,transform:!0,sendDefaults:!1,...r},this.options.axiosInstance?this.axiosInstance=this.options.axiosInstance:this.axiosInstance=zI.create({...this.options.axiosConfig}),s&&(this.axiosInstance.defaults.baseURL=s),this.injectAliasEndpoints(),this.initPlugins(),[!0,"all","request","response"].includes(this.options.validate)&&this.use(eA(this.options))}initPlugins(){this.endpointPlugins.set("any-any",new $y("any","any")),this.api.forEach(e=>{let t=new $y(e.method,e.path);switch(e.requestFormat){case"binary":t.use(Ly("Content-Type","application/octet-stream"));break;case"form-data":t.use(XI());break;case"form-url":t.use(QI());break;case"text":t.use(Ly("Content-Type","text/plain"));break}this.endpointPlugins.set(`${e.method}-${e.path}`,t)})}getAnyEndpointPlugins(){return this.endpointPlugins.get("any-any")}findAliasEndpointPlugins(e){let t=this.api.find(n=>n.alias===e);if(t)return this.endpointPlugins.get(`${t.method}-${t.path}`)}findEnpointPlugins(e,t){return this.endpointPlugins.get(`${e}-${t}`)}get baseURL(){return this.axiosInstance.defaults.baseURL}get axios(){return this.axiosInstance}use(...e){if(typeof e[0]=="object")return this.getAnyEndpointPlugins().use(e[0]);if(typeof e[0]=="string"&&typeof e[1]=="object"){let t=this.findAliasEndpointPlugins(e[0]);if(!t)throw new Error(`Zodios: no alias '${e[0]}' found to register plugin`);return t.use(e[1])}else if(typeof e[0]=="string"&&typeof e[1]=="string"&&typeof e[2]=="object"){let t=this.findEnpointPlugins(e[0],e[1]);if(!t)throw new Error(`Zodios: no endpoint '${e[0]} ${e[1]}' found to register plugin`);return t.use(e[2])}throw new Error("Zodios: invalid plugin registration")}eject(e){var t;if(typeof e=="string"){this.getAnyEndpointPlugins().eject(e);return}(t=this.endpointPlugins.get(e.key))==null||t.eject(e)}injectAliasEndpoints(){this.api.forEach(e=>{e.alias&&(["post","put","patch","delete"].includes(e.method)?this[e.alias]=(t,n)=>this.request({...n,method:e.method,url:e.path,data:t}):this[e.alias]=t=>this.request({...t,method:e.method,url:e.path}))})}async request(e){let t=e,n=this.getAnyEndpointPlugins(),r=this.findEnpointPlugins(t.method,t.url);t=await n.interceptRequest(this.api,t),r&&(t=await r.interceptRequest(this.api,t));let s=this.axiosInstance.request({...WI(t,["params","queries"]),url:JI(t),params:t.queries});return r&&(s=r.interceptResponse(this.api,t,s)),s=n.interceptResponse(this.api,t,s),(await s).data}async get(e,...[t]){return this.request({...t,method:"get",url:e})}async post(e,t,...[n]){return this.request({...n,method:"post",url:e,data:t})}async put(e,t,...[n]){return this.request({...n,method:"put",url:e,data:t})}async patch(e,t,...[n]){return this.request({...n,method:"patch",url:e,data:t})}async delete(e,t,...[n]){return this.request({...n,method:"delete",url:e,data:t})}},zy=tA;var Wy=pe.enum(["crypto","fx","equity","metal","rates","crypto_redemption_rate","commodities","crypto_index","crypto_nav","eco","kalshi"]),Hy=Wy.nullish(),Xp=pe.string(),Jy=pe.object({attributes:pe.record(pe.string()),id:Xp}).passthrough(),mu=pe.string(),Zy=pe.enum(["hex","base64"]),Yp=pe.object({data:pe.array(pe.string()),encoding:Zy}).passthrough(),Kp=pe.object({conf:pe.string(),expo:pe.number().int(),price:pe.string(),publish_time:pe.number().int()}).passthrough(),Ky=pe.object({prev_publish_time:pe.number().int().nullable(),proof_available_time:pe.number().int().nullable(),slot:pe.number().int().gte(0).nullable()}).partial().passthrough(),Xy=pe.object({ema_price:Kp,id:Xp,metadata:Ky,price:Kp}).passthrough(),hu=pe.object({binary:Yp,parsed:pe.array(Xy).nullish()}).passthrough(),Yy=pe.object({cap:pe.number().int().gte(0),publisher:pe.string()}).passthrough(),Qy=pe.object({publisher_stake_caps:pe.array(Yy)}).passthrough(),eb=pe.object({binary:Yp,parsed:pe.array(Qy).nullish()}).passthrough(),_a={AssetType:Wy,asset_type:Hy,RpcPriceIdentifier:Xp,PriceFeedMetadata:Jy,PriceIdInput:mu,EncodingType:Zy,BinaryUpdate:Yp,RpcPrice:Kp,RpcPriceFeedMetadataV2:Ky,ParsedPriceUpdate:Xy,PriceUpdate:hu,ParsedPublisherStakeCap:Yy,ParsedPublisherStakeCapsUpdate:Qy,LatestPublisherStakeCapsUpdateDataResponse:eb},nA=Gy([{method:"get",path:"/v2/price_feeds",alias:"price_feeds_metadata",description:`Get the set of price feeds.
|
|
852
852
|
|
|
853
853
|
This endpoint fetches all price feeds from the Pyth network. It can be filtered by asset type
|
|
854
854
|
and query string.`,requestFormat:"json",parameters:[{name:"query",type:"Query",schema:pe.string().nullish()},{name:"asset_type",type:"Query",schema:Hy}],response:pe.array(Jy)},{method:"get",path:"/v2/updates/price/:publish_time",alias:"timestamp_price_updates",description:`Get the latest price updates by price feed id.
|
|
855
855
|
|
|
856
|
-
Given a collection of price feed ids, retrieve the latest Pyth price for each price feed.`,requestFormat:"json",parameters:[{name:"publish_time",type:"Path",schema:pe.number().int()},{name:"ids[]",type:"Query",schema:pe.array(
|
|
856
|
+
Given a collection of price feed ids, retrieve the latest Pyth price for each price feed.`,requestFormat:"json",parameters:[{name:"publish_time",type:"Path",schema:pe.number().int()},{name:"ids[]",type:"Query",schema:pe.array(mu)},{name:"encoding",type:"Query",schema:pe.enum(["hex","base64"]).optional()},{name:"parsed",type:"Query",schema:pe.boolean().optional()},{name:"ignore_invalid_price_ids",type:"Query",schema:pe.boolean().optional()}],response:hu,errors:[{status:404,description:"Price ids not found",schema:pe.void()}]},{method:"get",path:"/v2/updates/price/latest",alias:"latest_price_updates",description:`Get the latest price updates by price feed id.
|
|
857
857
|
|
|
858
|
-
Given a collection of price feed ids, retrieve the latest Pyth price for each price feed.`,requestFormat:"json",parameters:[{name:"ids[]",type:"Query",schema:pe.array(
|
|
858
|
+
Given a collection of price feed ids, retrieve the latest Pyth price for each price feed.`,requestFormat:"json",parameters:[{name:"ids[]",type:"Query",schema:pe.array(mu)},{name:"encoding",type:"Query",schema:pe.enum(["hex","base64"]).optional()},{name:"parsed",type:"Query",schema:pe.boolean().optional()},{name:"ignore_invalid_price_ids",type:"Query",schema:pe.boolean().optional()}],response:hu,errors:[{status:404,description:"Price ids not found",schema:pe.void()}]},{method:"get",path:"/v2/updates/price/stream",alias:"price_stream_sse_handler",description:`SSE route handler for streaming price updates.
|
|
859
859
|
|
|
860
860
|
The connection will automatically close after 24 hours to prevent resource leaks.
|
|
861
|
-
Clients should implement reconnection logic to maintain continuous price updates.`,requestFormat:"json",parameters:[{name:"ids[]",type:"Query",schema:pe.array(fu)},{name:"encoding",type:"Query",schema:pe.enum(["hex","base64"]).optional()},{name:"parsed",type:"Query",schema:pe.boolean().optional()},{name:"allow_unordered",type:"Query",schema:pe.boolean().optional()},{name:"benchmarks_only",type:"Query",schema:pe.boolean().optional()},{name:"ignore_invalid_price_ids",type:"Query",schema:pe.boolean().optional()}],response:mu,errors:[{status:404,description:"Price ids not found",schema:pe.void()}]},{method:"get",path:"/v2/updates/publisher_stake_caps/latest",alias:"latest_publisher_stake_caps",description:"Get the most recent publisher stake caps update data.",requestFormat:"json",parameters:[{name:"encoding",type:"Query",schema:pe.enum(["hex","base64"]).optional()},{name:"parsed",type:"Query",schema:pe.boolean().optional()}],response:eb}]),HF=new zy(nA);var rA=5e3,sA=3,hu=class{baseURL;timeout;httpRetries;headers;accessToken;constructor(t,n){this.baseURL=t,this.timeout=n?.timeout??rA,this.httpRetries=n?.httpRetries??sA,this.headers=n?.headers??{},this.accessToken=n?.accessToken}async httpRequest(t,n,r,s=this.httpRetries,i=100+Math.floor(Math.random()*100)){try{let o={};this.accessToken!==void 0&&(o.Authorization=`Bearer ${this.accessToken}`);let a=await fetch(t,{...r,signal:AbortSignal.any([...r?.signal?[r.signal]:[],AbortSignal.timeout(this.timeout)]),headers:{...o,...this.headers,...r?.headers}});if(!a.ok){let u=await a.text();throw new Error(`HTTP error! status: ${a.status.toString()}${u?`, body: ${u}`:""}`)}let c=await a.json();return n.parse(c)}catch(o){if(s>0&&!(o instanceof Error&&o.name==="AbortError"))return await new Promise(a=>setTimeout(a,i)),this.httpRequest(t,n,r,s-1,i*2);throw o}}async getPriceFeeds({fetchOptions:t,...n}={}){let r=this.buildURL("price_feeds");if(n){let s=ga(n);this.appendUrlSearchParams(r,s)}return await this.httpRequest(r.toString(),va.PriceFeedMetadata.array(),t)}async getLatestPublisherCaps({fetchOptions:t,...n}={}){let r=this.buildURL("updates/publisher_stake_caps/latest");return n&&this.appendUrlSearchParams(r,n),await this.httpRequest(r.toString(),va.LatestPublisherStakeCapsUpdateDataResponse,t)}async getLatestPriceUpdates(t,n,r){let s=this.buildURL("updates/price/latest");for(let i of t)s.searchParams.append("ids[]",i);if(n){let i=ga(n);this.appendUrlSearchParams(s,i)}return this.httpRequest(s.toString(),va.PriceUpdate,r)}async getPriceUpdatesAtTimestamp(t,n,r,s){let i=this.buildURL(`updates/price/${t.toString()}`);for(let o of n)i.searchParams.append("ids[]",o);if(r){let o=ga(r);this.appendUrlSearchParams(i,o)}return this.httpRequest(i.toString(),va.PriceUpdate,s)}async getPriceUpdatesStream(t,n){let r=this.buildURL("updates/price/stream");for(let i of t)r.searchParams.append("ids[]",i);if(n){let i=ga(n);this.appendUrlSearchParams(r,i)}let s={};return this.accessToken!==void 0&&(s.Authorization=`Bearer ${this.accessToken}`),new pi(r.toString(),{fetch:(i,o)=>fetch(i,{...o,headers:{...o?.headers,...s,...this.headers}})})}appendUrlSearchParams(t,n){for(let[r,s]of Object.entries(n))s!==void 0&&t.searchParams.append(r,String(s))}buildURL(t){return new URL(`./v2/${t}`,`${this.baseURL}${this.baseURL.endsWith("/")?"":"/"}`)}};var iA=Object.create,ub=Object.defineProperty,oA=Object.getOwnPropertyDescriptor,aA=Object.getOwnPropertyNames,cA=Object.getPrototypeOf,uA=Object.prototype.hasOwnProperty,lA=(e=>typeof Vs<"u"?Vs:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof Vs<"u"?Vs:t)[n]}):e)(function(e){if(typeof Vs<"u")return Vs.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')}),dA=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),pA=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of aA(t))!uA.call(e,s)&&s!==n&&ub(e,s,{get:()=>t[s],enumerable:!(r=oA(t,s))||r.enumerable});return e},wa=(e,t,n)=>(n=e!=null?iA(cA(e)):{},pA(t||!e||!e.__esModule?ub(n,"default",{value:e,enumerable:!0}):n,e)),Ta=dA((e,t)=>{"use strict";(function(n,r){"use strict";function s(l,m){if(!l)throw new Error(m||"Assertion failed")}function i(l,m){l.super_=m;var y=function(){};y.prototype=m.prototype,l.prototype=new y,l.prototype.constructor=l}function o(l,m,y){if(o.isBN(l))return l;this.negative=0,this.words=null,this.length=0,this.red=null,l!==null&&((m==="le"||m==="be")&&(y=m,m=10),this._init(l||0,m||10,y||"be"))}typeof n=="object"?n.exports=o:r.BN=o,o.BN=o,o.wordSize=26;var a;try{typeof window<"u"&&typeof window.Buffer<"u"?a=window.Buffer:a=lA("buffer").Buffer}catch{}o.isBN=function(l){return l instanceof o?!0:l!==null&&typeof l=="object"&&l.constructor.wordSize===o.wordSize&&Array.isArray(l.words)},o.max=function(l,m){return l.cmp(m)>0?l:m},o.min=function(l,m){return l.cmp(m)<0?l:m},o.prototype._init=function(l,m,y){if(typeof l=="number")return this._initNumber(l,m,y);if(typeof l=="object")return this._initArray(l,m,y);m==="hex"&&(m=16),s(m===(m|0)&&m>=2&&m<=36),l=l.toString().replace(/\s+/g,"");var v=0;l[0]==="-"&&(v++,this.negative=1),v<l.length&&(m===16?this._parseHex(l,v,y):(this._parseBase(l,m,v),y==="le"&&this._initArray(this.toArray(),m,y)))},o.prototype._initNumber=function(l,m,y){l<0&&(this.negative=1,l=-l),l<67108864?(this.words=[l&67108863],this.length=1):l<4503599627370496?(this.words=[l&67108863,l/67108864&67108863],this.length=2):(s(l<9007199254740992),this.words=[l&67108863,l/67108864&67108863,1],this.length=3),y==="le"&&this._initArray(this.toArray(),m,y)},o.prototype._initArray=function(l,m,y){if(s(typeof l.length=="number"),l.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(l.length/3),this.words=new Array(this.length);for(var v=0;v<this.length;v++)this.words[v]=0;var w,O,x=0;if(y==="be")for(v=l.length-1,w=0;v>=0;v-=3)O=l[v]|l[v-1]<<8|l[v-2]<<16,this.words[w]|=O<<x&67108863,this.words[w+1]=O>>>26-x&67108863,x+=24,x>=26&&(x-=26,w++);else if(y==="le")for(v=0,w=0;v<l.length;v+=3)O=l[v]|l[v+1]<<8|l[v+2]<<16,this.words[w]|=O<<x&67108863,this.words[w+1]=O>>>26-x&67108863,x+=24,x>=26&&(x-=26,w++);return this._strip()};function c(l,m){var y=l.charCodeAt(m);if(y>=48&&y<=57)return y-48;if(y>=65&&y<=70)return y-55;if(y>=97&&y<=102)return y-87;s(!1,"Invalid character in "+l)}function u(l,m,y){var v=c(l,y);return y-1>=m&&(v|=c(l,y-1)<<4),v}o.prototype._parseHex=function(l,m,y){this.length=Math.ceil((l.length-m)/6),this.words=new Array(this.length);for(var v=0;v<this.length;v++)this.words[v]=0;var w=0,O=0,x;if(y==="be")for(v=l.length-1;v>=m;v-=2)x=u(l,m,v)<<w,this.words[O]|=x&67108863,w>=18?(w-=18,O+=1,this.words[O]|=x>>>26):w+=8;else{var T=l.length-m;for(v=T%2===0?m+1:m;v<l.length;v+=2)x=u(l,m,v)<<w,this.words[O]|=x&67108863,w>=18?(w-=18,O+=1,this.words[O]|=x>>>26):w+=8}this._strip()};function d(l,m,y,v){for(var w=0,O=0,x=Math.min(l.length,y),T=m;T<x;T++){var h=l.charCodeAt(T)-48;w*=v,h>=49?O=h-49+10:h>=17?O=h-17+10:O=h,s(h>=0&&O<v,"Invalid character"),w+=O}return w}o.prototype._parseBase=function(l,m,y){this.words=[0],this.length=1;for(var v=0,w=1;w<=67108863;w*=m)v++;v--,w=w/m|0;for(var O=l.length-y,x=O%v,T=Math.min(O,O-x)+y,h=0,S=y;S<T;S+=v)h=d(l,S,S+v,m),this.imuln(w),this.words[0]+h<67108864?this.words[0]+=h:this._iaddn(h);if(x!==0){var W=1;for(h=d(l,S,l.length,m),S=0;S<x;S++)W*=m;this.imuln(W),this.words[0]+h<67108864?this.words[0]+=h:this._iaddn(h)}this._strip()},o.prototype.copy=function(l){l.words=new Array(this.length);for(var m=0;m<this.length;m++)l.words[m]=this.words[m];l.length=this.length,l.negative=this.negative,l.red=this.red};function p(l,m){l.words=m.words,l.length=m.length,l.negative=m.negative,l.red=m.red}if(o.prototype._move=function(l){p(l,this)},o.prototype.clone=function(){var l=new o(null);return this.copy(l),l},o.prototype._expand=function(l){for(;this.length<l;)this.words[this.length++]=0;return this},o.prototype._strip=function(){for(;this.length>1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},o.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},typeof Symbol<"u"&&typeof Symbol.for=="function")try{o.prototype[Symbol.for("nodejs.util.inspect.custom")]=f}catch{o.prototype.inspect=f}else o.prototype.inspect=f;function f(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"}var g=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],b=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],_=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];o.prototype.toString=function(l,m){l=l||10,m=m|0||1;var y;if(l===16||l==="hex"){y="";for(var v=0,w=0,O=0;O<this.length;O++){var x=this.words[O],T=((x<<v|w)&16777215).toString(16);w=x>>>24-v&16777215,v+=2,v>=26&&(v-=26,O--),w!==0||O!==this.length-1?y=g[6-T.length]+T+y:y=T+y}for(w!==0&&(y=w.toString(16)+y);y.length%m!==0;)y="0"+y;return this.negative!==0&&(y="-"+y),y}if(l===(l|0)&&l>=2&&l<=36){var h=b[l],S=_[l];y="";var W=this.clone();for(W.negative=0;!W.isZero();){var K=W.modrn(S).toString(l);W=W.idivn(S),W.isZero()?y=K+y:y=g[h-K.length]+K+y}for(this.isZero()&&(y="0"+y);y.length%m!==0;)y="0"+y;return this.negative!==0&&(y="-"+y),y}s(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var l=this.words[0];return this.length===2?l+=this.words[1]*67108864:this.length===3&&this.words[2]===1?l+=4503599627370496+this.words[1]*67108864:this.length>2&&s(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-l:l},o.prototype.toJSON=function(){return this.toString(16,2)},a&&(o.prototype.toBuffer=function(l,m){return this.toArrayLike(a,l,m)}),o.prototype.toArray=function(l,m){return this.toArrayLike(Array,l,m)};var I=function(l,m){return l.allocUnsafe?l.allocUnsafe(m):new l(m)};o.prototype.toArrayLike=function(l,m,y){this._strip();var v=this.byteLength(),w=y||Math.max(1,v);s(v<=w,"byte array longer than desired length"),s(w>0,"Requested array length <= 0");var O=I(l,w),x=m==="le"?"LE":"BE";return this["_toArrayLike"+x](O,v),O},o.prototype._toArrayLikeLE=function(l,m){for(var y=0,v=0,w=0,O=0;w<this.length;w++){var x=this.words[w]<<O|v;l[y++]=x&255,y<l.length&&(l[y++]=x>>8&255),y<l.length&&(l[y++]=x>>16&255),O===6?(y<l.length&&(l[y++]=x>>24&255),v=0,O=0):(v=x>>>24,O+=2)}if(y<l.length)for(l[y++]=v;y<l.length;)l[y++]=0},o.prototype._toArrayLikeBE=function(l,m){for(var y=l.length-1,v=0,w=0,O=0;w<this.length;w++){var x=this.words[w]<<O|v;l[y--]=x&255,y>=0&&(l[y--]=x>>8&255),y>=0&&(l[y--]=x>>16&255),O===6?(y>=0&&(l[y--]=x>>24&255),v=0,O=0):(v=x>>>24,O+=2)}if(y>=0)for(l[y--]=v;y>=0;)l[y--]=0},Math.clz32?o.prototype._countBits=function(l){return 32-Math.clz32(l)}:o.prototype._countBits=function(l){var m=l,y=0;return m>=4096&&(y+=13,m>>>=13),m>=64&&(y+=7,m>>>=7),m>=8&&(y+=4,m>>>=4),m>=2&&(y+=2,m>>>=2),y+m},o.prototype._zeroBits=function(l){if(l===0)return 26;var m=l,y=0;return!(m&8191)&&(y+=13,m>>>=13),!(m&127)&&(y+=7,m>>>=7),!(m&15)&&(y+=4,m>>>=4),!(m&3)&&(y+=2,m>>>=2),!(m&1)&&y++,y},o.prototype.bitLength=function(){var l=this.words[this.length-1],m=this._countBits(l);return(this.length-1)*26+m};function A(l){for(var m=new Array(l.bitLength()),y=0;y<m.length;y++){var v=y/26|0,w=y%26;m[y]=l.words[v]>>>w&1}return m}o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var l=0,m=0;m<this.length;m++){var y=this._zeroBits(this.words[m]);if(l+=y,y!==26)break}return l},o.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},o.prototype.toTwos=function(l){return this.negative!==0?this.abs().inotn(l).iaddn(1):this.clone()},o.prototype.fromTwos=function(l){return this.testn(l-1)?this.notn(l).iaddn(1).ineg():this.clone()},o.prototype.isNeg=function(){return this.negative!==0},o.prototype.neg=function(){return this.clone().ineg()},o.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},o.prototype.iuor=function(l){for(;this.length<l.length;)this.words[this.length++]=0;for(var m=0;m<l.length;m++)this.words[m]=this.words[m]|l.words[m];return this._strip()},o.prototype.ior=function(l){return s((this.negative|l.negative)===0),this.iuor(l)},o.prototype.or=function(l){return this.length>l.length?this.clone().ior(l):l.clone().ior(this)},o.prototype.uor=function(l){return this.length>l.length?this.clone().iuor(l):l.clone().iuor(this)},o.prototype.iuand=function(l){var m;this.length>l.length?m=l:m=this;for(var y=0;y<m.length;y++)this.words[y]=this.words[y]&l.words[y];return this.length=m.length,this._strip()},o.prototype.iand=function(l){return s((this.negative|l.negative)===0),this.iuand(l)},o.prototype.and=function(l){return this.length>l.length?this.clone().iand(l):l.clone().iand(this)},o.prototype.uand=function(l){return this.length>l.length?this.clone().iuand(l):l.clone().iuand(this)},o.prototype.iuxor=function(l){var m,y;this.length>l.length?(m=this,y=l):(m=l,y=this);for(var v=0;v<y.length;v++)this.words[v]=m.words[v]^y.words[v];if(this!==m)for(;v<m.length;v++)this.words[v]=m.words[v];return this.length=m.length,this._strip()},o.prototype.ixor=function(l){return s((this.negative|l.negative)===0),this.iuxor(l)},o.prototype.xor=function(l){return this.length>l.length?this.clone().ixor(l):l.clone().ixor(this)},o.prototype.uxor=function(l){return this.length>l.length?this.clone().iuxor(l):l.clone().iuxor(this)},o.prototype.inotn=function(l){s(typeof l=="number"&&l>=0);var m=Math.ceil(l/26)|0,y=l%26;this._expand(m),y>0&&m--;for(var v=0;v<m;v++)this.words[v]=~this.words[v]&67108863;return y>0&&(this.words[v]=~this.words[v]&67108863>>26-y),this._strip()},o.prototype.notn=function(l){return this.clone().inotn(l)},o.prototype.setn=function(l,m){s(typeof l=="number"&&l>=0);var y=l/26|0,v=l%26;return this._expand(y+1),m?this.words[y]=this.words[y]|1<<v:this.words[y]=this.words[y]&~(1<<v),this._strip()},o.prototype.iadd=function(l){var m;if(this.negative!==0&&l.negative===0)return this.negative=0,m=this.isub(l),this.negative^=1,this._normSign();if(this.negative===0&&l.negative!==0)return l.negative=0,m=this.isub(l),l.negative=1,m._normSign();var y,v;this.length>l.length?(y=this,v=l):(y=l,v=this);for(var w=0,O=0;O<v.length;O++)m=(y.words[O]|0)+(v.words[O]|0)+w,this.words[O]=m&67108863,w=m>>>26;for(;w!==0&&O<y.length;O++)m=(y.words[O]|0)+w,this.words[O]=m&67108863,w=m>>>26;if(this.length=y.length,w!==0)this.words[this.length]=w,this.length++;else if(y!==this)for(;O<y.length;O++)this.words[O]=y.words[O];return this},o.prototype.add=function(l){var m;return l.negative!==0&&this.negative===0?(l.negative=0,m=this.sub(l),l.negative^=1,m):l.negative===0&&this.negative!==0?(this.negative=0,m=l.sub(this),this.negative=1,m):this.length>l.length?this.clone().iadd(l):l.clone().iadd(this)},o.prototype.isub=function(l){if(l.negative!==0){l.negative=0;var m=this.iadd(l);return l.negative=1,m._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(l),this.negative=1,this._normSign();var y=this.cmp(l);if(y===0)return this.negative=0,this.length=1,this.words[0]=0,this;var v,w;y>0?(v=this,w=l):(v=l,w=this);for(var O=0,x=0;x<w.length;x++)m=(v.words[x]|0)-(w.words[x]|0)+O,O=m>>26,this.words[x]=m&67108863;for(;O!==0&&x<v.length;x++)m=(v.words[x]|0)+O,O=m>>26,this.words[x]=m&67108863;if(O===0&&x<v.length&&v!==this)for(;x<v.length;x++)this.words[x]=v.words[x];return this.length=Math.max(this.length,x),v!==this&&(this.negative=1),this._strip()},o.prototype.sub=function(l){return this.clone().isub(l)};function M(l,m,y){y.negative=m.negative^l.negative;var v=l.length+m.length|0;y.length=v,v=v-1|0;var w=l.words[0]|0,O=m.words[0]|0,x=w*O,T=x&67108863,h=x/67108864|0;y.words[0]=T;for(var S=1;S<v;S++){for(var W=h>>>26,K=h&67108863,re=Math.min(S,m.length-1),fe=Math.max(0,S-l.length+1);fe<=re;fe++){var ue=S-fe|0;w=l.words[ue]|0,O=m.words[fe]|0,x=w*O+K,W+=x/67108864|0,K=x&67108863}y.words[S]=K|0,h=W|0}return h!==0?y.words[S]=h|0:y.length--,y._strip()}var C=function(l,m,y){var v=l.words,w=m.words,O=y.words,x=0,T,h,S,W=v[0]|0,K=W&8191,re=W>>>13,fe=v[1]|0,ue=fe&8191,Ee=fe>>>13,Bn=v[2]|0,Pe=Bn&8191,Fe=Bn>>>13,wf=v[3]|0,ot=wf&8191,at=wf>>>13,Tf=v[4]|0,ct=Tf&8191,ut=Tf>>>13,kf=v[5]|0,lt=kf&8191,dt=kf>>>13,Sf=v[6]|0,pt=Sf&8191,ft=Sf>>>13,Ef=v[7]|0,mt=Ef&8191,ht=Ef>>>13,Of=v[8]|0,gt=Of&8191,yt=Of>>>13,If=v[9]|0,bt=If&8191,vt=If>>>13,Af=w[0]|0,_t=Af&8191,wt=Af>>>13,xf=w[1]|0,Tt=xf&8191,kt=xf>>>13,Cf=w[2]|0,St=Cf&8191,Et=Cf>>>13,Nf=w[3]|0,Ot=Nf&8191,It=Nf>>>13,Rf=w[4]|0,At=Rf&8191,xt=Rf>>>13,Mf=w[5]|0,Ct=Mf&8191,Nt=Mf>>>13,Bf=w[6]|0,Rt=Bf&8191,Mt=Bf>>>13,jf=w[7]|0,Bt=jf&8191,jt=jf>>>13,Df=w[8]|0,Dt=Df&8191,Ut=Df>>>13,Uf=w[9]|0,Pt=Uf&8191,Lt=Uf>>>13;y.negative=l.negative^m.negative,y.length=19,T=Math.imul(K,_t),h=Math.imul(K,wt),h=h+Math.imul(re,_t)|0,S=Math.imul(re,wt);var Mu=(x+T|0)+((h&8191)<<13)|0;x=(S+(h>>>13)|0)+(Mu>>>26)|0,Mu&=67108863,T=Math.imul(ue,_t),h=Math.imul(ue,wt),h=h+Math.imul(Ee,_t)|0,S=Math.imul(Ee,wt),T=T+Math.imul(K,Tt)|0,h=h+Math.imul(K,kt)|0,h=h+Math.imul(re,Tt)|0,S=S+Math.imul(re,kt)|0;var Bu=(x+T|0)+((h&8191)<<13)|0;x=(S+(h>>>13)|0)+(Bu>>>26)|0,Bu&=67108863,T=Math.imul(Pe,_t),h=Math.imul(Pe,wt),h=h+Math.imul(Fe,_t)|0,S=Math.imul(Fe,wt),T=T+Math.imul(ue,Tt)|0,h=h+Math.imul(ue,kt)|0,h=h+Math.imul(Ee,Tt)|0,S=S+Math.imul(Ee,kt)|0,T=T+Math.imul(K,St)|0,h=h+Math.imul(K,Et)|0,h=h+Math.imul(re,St)|0,S=S+Math.imul(re,Et)|0;var ju=(x+T|0)+((h&8191)<<13)|0;x=(S+(h>>>13)|0)+(ju>>>26)|0,ju&=67108863,T=Math.imul(ot,_t),h=Math.imul(ot,wt),h=h+Math.imul(at,_t)|0,S=Math.imul(at,wt),T=T+Math.imul(Pe,Tt)|0,h=h+Math.imul(Pe,kt)|0,h=h+Math.imul(Fe,Tt)|0,S=S+Math.imul(Fe,kt)|0,T=T+Math.imul(ue,St)|0,h=h+Math.imul(ue,Et)|0,h=h+Math.imul(Ee,St)|0,S=S+Math.imul(Ee,Et)|0,T=T+Math.imul(K,Ot)|0,h=h+Math.imul(K,It)|0,h=h+Math.imul(re,Ot)|0,S=S+Math.imul(re,It)|0;var Du=(x+T|0)+((h&8191)<<13)|0;x=(S+(h>>>13)|0)+(Du>>>26)|0,Du&=67108863,T=Math.imul(ct,_t),h=Math.imul(ct,wt),h=h+Math.imul(ut,_t)|0,S=Math.imul(ut,wt),T=T+Math.imul(ot,Tt)|0,h=h+Math.imul(ot,kt)|0,h=h+Math.imul(at,Tt)|0,S=S+Math.imul(at,kt)|0,T=T+Math.imul(Pe,St)|0,h=h+Math.imul(Pe,Et)|0,h=h+Math.imul(Fe,St)|0,S=S+Math.imul(Fe,Et)|0,T=T+Math.imul(ue,Ot)|0,h=h+Math.imul(ue,It)|0,h=h+Math.imul(Ee,Ot)|0,S=S+Math.imul(Ee,It)|0,T=T+Math.imul(K,At)|0,h=h+Math.imul(K,xt)|0,h=h+Math.imul(re,At)|0,S=S+Math.imul(re,xt)|0;var Uu=(x+T|0)+((h&8191)<<13)|0;x=(S+(h>>>13)|0)+(Uu>>>26)|0,Uu&=67108863,T=Math.imul(lt,_t),h=Math.imul(lt,wt),h=h+Math.imul(dt,_t)|0,S=Math.imul(dt,wt),T=T+Math.imul(ct,Tt)|0,h=h+Math.imul(ct,kt)|0,h=h+Math.imul(ut,Tt)|0,S=S+Math.imul(ut,kt)|0,T=T+Math.imul(ot,St)|0,h=h+Math.imul(ot,Et)|0,h=h+Math.imul(at,St)|0,S=S+Math.imul(at,Et)|0,T=T+Math.imul(Pe,Ot)|0,h=h+Math.imul(Pe,It)|0,h=h+Math.imul(Fe,Ot)|0,S=S+Math.imul(Fe,It)|0,T=T+Math.imul(ue,At)|0,h=h+Math.imul(ue,xt)|0,h=h+Math.imul(Ee,At)|0,S=S+Math.imul(Ee,xt)|0,T=T+Math.imul(K,Ct)|0,h=h+Math.imul(K,Nt)|0,h=h+Math.imul(re,Ct)|0,S=S+Math.imul(re,Nt)|0;var Pu=(x+T|0)+((h&8191)<<13)|0;x=(S+(h>>>13)|0)+(Pu>>>26)|0,Pu&=67108863,T=Math.imul(pt,_t),h=Math.imul(pt,wt),h=h+Math.imul(ft,_t)|0,S=Math.imul(ft,wt),T=T+Math.imul(lt,Tt)|0,h=h+Math.imul(lt,kt)|0,h=h+Math.imul(dt,Tt)|0,S=S+Math.imul(dt,kt)|0,T=T+Math.imul(ct,St)|0,h=h+Math.imul(ct,Et)|0,h=h+Math.imul(ut,St)|0,S=S+Math.imul(ut,Et)|0,T=T+Math.imul(ot,Ot)|0,h=h+Math.imul(ot,It)|0,h=h+Math.imul(at,Ot)|0,S=S+Math.imul(at,It)|0,T=T+Math.imul(Pe,At)|0,h=h+Math.imul(Pe,xt)|0,h=h+Math.imul(Fe,At)|0,S=S+Math.imul(Fe,xt)|0,T=T+Math.imul(ue,Ct)|0,h=h+Math.imul(ue,Nt)|0,h=h+Math.imul(Ee,Ct)|0,S=S+Math.imul(Ee,Nt)|0,T=T+Math.imul(K,Rt)|0,h=h+Math.imul(K,Mt)|0,h=h+Math.imul(re,Rt)|0,S=S+Math.imul(re,Mt)|0;var Lu=(x+T|0)+((h&8191)<<13)|0;x=(S+(h>>>13)|0)+(Lu>>>26)|0,Lu&=67108863,T=Math.imul(mt,_t),h=Math.imul(mt,wt),h=h+Math.imul(ht,_t)|0,S=Math.imul(ht,wt),T=T+Math.imul(pt,Tt)|0,h=h+Math.imul(pt,kt)|0,h=h+Math.imul(ft,Tt)|0,S=S+Math.imul(ft,kt)|0,T=T+Math.imul(lt,St)|0,h=h+Math.imul(lt,Et)|0,h=h+Math.imul(dt,St)|0,S=S+Math.imul(dt,Et)|0,T=T+Math.imul(ct,Ot)|0,h=h+Math.imul(ct,It)|0,h=h+Math.imul(ut,Ot)|0,S=S+Math.imul(ut,It)|0,T=T+Math.imul(ot,At)|0,h=h+Math.imul(ot,xt)|0,h=h+Math.imul(at,At)|0,S=S+Math.imul(at,xt)|0,T=T+Math.imul(Pe,Ct)|0,h=h+Math.imul(Pe,Nt)|0,h=h+Math.imul(Fe,Ct)|0,S=S+Math.imul(Fe,Nt)|0,T=T+Math.imul(ue,Rt)|0,h=h+Math.imul(ue,Mt)|0,h=h+Math.imul(Ee,Rt)|0,S=S+Math.imul(Ee,Mt)|0,T=T+Math.imul(K,Bt)|0,h=h+Math.imul(K,jt)|0,h=h+Math.imul(re,Bt)|0,S=S+Math.imul(re,jt)|0;var Vu=(x+T|0)+((h&8191)<<13)|0;x=(S+(h>>>13)|0)+(Vu>>>26)|0,Vu&=67108863,T=Math.imul(gt,_t),h=Math.imul(gt,wt),h=h+Math.imul(yt,_t)|0,S=Math.imul(yt,wt),T=T+Math.imul(mt,Tt)|0,h=h+Math.imul(mt,kt)|0,h=h+Math.imul(ht,Tt)|0,S=S+Math.imul(ht,kt)|0,T=T+Math.imul(pt,St)|0,h=h+Math.imul(pt,Et)|0,h=h+Math.imul(ft,St)|0,S=S+Math.imul(ft,Et)|0,T=T+Math.imul(lt,Ot)|0,h=h+Math.imul(lt,It)|0,h=h+Math.imul(dt,Ot)|0,S=S+Math.imul(dt,It)|0,T=T+Math.imul(ct,At)|0,h=h+Math.imul(ct,xt)|0,h=h+Math.imul(ut,At)|0,S=S+Math.imul(ut,xt)|0,T=T+Math.imul(ot,Ct)|0,h=h+Math.imul(ot,Nt)|0,h=h+Math.imul(at,Ct)|0,S=S+Math.imul(at,Nt)|0,T=T+Math.imul(Pe,Rt)|0,h=h+Math.imul(Pe,Mt)|0,h=h+Math.imul(Fe,Rt)|0,S=S+Math.imul(Fe,Mt)|0,T=T+Math.imul(ue,Bt)|0,h=h+Math.imul(ue,jt)|0,h=h+Math.imul(Ee,Bt)|0,S=S+Math.imul(Ee,jt)|0,T=T+Math.imul(K,Dt)|0,h=h+Math.imul(K,Ut)|0,h=h+Math.imul(re,Dt)|0,S=S+Math.imul(re,Ut)|0;var Fu=(x+T|0)+((h&8191)<<13)|0;x=(S+(h>>>13)|0)+(Fu>>>26)|0,Fu&=67108863,T=Math.imul(bt,_t),h=Math.imul(bt,wt),h=h+Math.imul(vt,_t)|0,S=Math.imul(vt,wt),T=T+Math.imul(gt,Tt)|0,h=h+Math.imul(gt,kt)|0,h=h+Math.imul(yt,Tt)|0,S=S+Math.imul(yt,kt)|0,T=T+Math.imul(mt,St)|0,h=h+Math.imul(mt,Et)|0,h=h+Math.imul(ht,St)|0,S=S+Math.imul(ht,Et)|0,T=T+Math.imul(pt,Ot)|0,h=h+Math.imul(pt,It)|0,h=h+Math.imul(ft,Ot)|0,S=S+Math.imul(ft,It)|0,T=T+Math.imul(lt,At)|0,h=h+Math.imul(lt,xt)|0,h=h+Math.imul(dt,At)|0,S=S+Math.imul(dt,xt)|0,T=T+Math.imul(ct,Ct)|0,h=h+Math.imul(ct,Nt)|0,h=h+Math.imul(ut,Ct)|0,S=S+Math.imul(ut,Nt)|0,T=T+Math.imul(ot,Rt)|0,h=h+Math.imul(ot,Mt)|0,h=h+Math.imul(at,Rt)|0,S=S+Math.imul(at,Mt)|0,T=T+Math.imul(Pe,Bt)|0,h=h+Math.imul(Pe,jt)|0,h=h+Math.imul(Fe,Bt)|0,S=S+Math.imul(Fe,jt)|0,T=T+Math.imul(ue,Dt)|0,h=h+Math.imul(ue,Ut)|0,h=h+Math.imul(Ee,Dt)|0,S=S+Math.imul(Ee,Ut)|0,T=T+Math.imul(K,Pt)|0,h=h+Math.imul(K,Lt)|0,h=h+Math.imul(re,Pt)|0,S=S+Math.imul(re,Lt)|0;var $u=(x+T|0)+((h&8191)<<13)|0;x=(S+(h>>>13)|0)+($u>>>26)|0,$u&=67108863,T=Math.imul(bt,Tt),h=Math.imul(bt,kt),h=h+Math.imul(vt,Tt)|0,S=Math.imul(vt,kt),T=T+Math.imul(gt,St)|0,h=h+Math.imul(gt,Et)|0,h=h+Math.imul(yt,St)|0,S=S+Math.imul(yt,Et)|0,T=T+Math.imul(mt,Ot)|0,h=h+Math.imul(mt,It)|0,h=h+Math.imul(ht,Ot)|0,S=S+Math.imul(ht,It)|0,T=T+Math.imul(pt,At)|0,h=h+Math.imul(pt,xt)|0,h=h+Math.imul(ft,At)|0,S=S+Math.imul(ft,xt)|0,T=T+Math.imul(lt,Ct)|0,h=h+Math.imul(lt,Nt)|0,h=h+Math.imul(dt,Ct)|0,S=S+Math.imul(dt,Nt)|0,T=T+Math.imul(ct,Rt)|0,h=h+Math.imul(ct,Mt)|0,h=h+Math.imul(ut,Rt)|0,S=S+Math.imul(ut,Mt)|0,T=T+Math.imul(ot,Bt)|0,h=h+Math.imul(ot,jt)|0,h=h+Math.imul(at,Bt)|0,S=S+Math.imul(at,jt)|0,T=T+Math.imul(Pe,Dt)|0,h=h+Math.imul(Pe,Ut)|0,h=h+Math.imul(Fe,Dt)|0,S=S+Math.imul(Fe,Ut)|0,T=T+Math.imul(ue,Pt)|0,h=h+Math.imul(ue,Lt)|0,h=h+Math.imul(Ee,Pt)|0,S=S+Math.imul(Ee,Lt)|0;var qu=(x+T|0)+((h&8191)<<13)|0;x=(S+(h>>>13)|0)+(qu>>>26)|0,qu&=67108863,T=Math.imul(bt,St),h=Math.imul(bt,Et),h=h+Math.imul(vt,St)|0,S=Math.imul(vt,Et),T=T+Math.imul(gt,Ot)|0,h=h+Math.imul(gt,It)|0,h=h+Math.imul(yt,Ot)|0,S=S+Math.imul(yt,It)|0,T=T+Math.imul(mt,At)|0,h=h+Math.imul(mt,xt)|0,h=h+Math.imul(ht,At)|0,S=S+Math.imul(ht,xt)|0,T=T+Math.imul(pt,Ct)|0,h=h+Math.imul(pt,Nt)|0,h=h+Math.imul(ft,Ct)|0,S=S+Math.imul(ft,Nt)|0,T=T+Math.imul(lt,Rt)|0,h=h+Math.imul(lt,Mt)|0,h=h+Math.imul(dt,Rt)|0,S=S+Math.imul(dt,Mt)|0,T=T+Math.imul(ct,Bt)|0,h=h+Math.imul(ct,jt)|0,h=h+Math.imul(ut,Bt)|0,S=S+Math.imul(ut,jt)|0,T=T+Math.imul(ot,Dt)|0,h=h+Math.imul(ot,Ut)|0,h=h+Math.imul(at,Dt)|0,S=S+Math.imul(at,Ut)|0,T=T+Math.imul(Pe,Pt)|0,h=h+Math.imul(Pe,Lt)|0,h=h+Math.imul(Fe,Pt)|0,S=S+Math.imul(Fe,Lt)|0;var Gu=(x+T|0)+((h&8191)<<13)|0;x=(S+(h>>>13)|0)+(Gu>>>26)|0,Gu&=67108863,T=Math.imul(bt,Ot),h=Math.imul(bt,It),h=h+Math.imul(vt,Ot)|0,S=Math.imul(vt,It),T=T+Math.imul(gt,At)|0,h=h+Math.imul(gt,xt)|0,h=h+Math.imul(yt,At)|0,S=S+Math.imul(yt,xt)|0,T=T+Math.imul(mt,Ct)|0,h=h+Math.imul(mt,Nt)|0,h=h+Math.imul(ht,Ct)|0,S=S+Math.imul(ht,Nt)|0,T=T+Math.imul(pt,Rt)|0,h=h+Math.imul(pt,Mt)|0,h=h+Math.imul(ft,Rt)|0,S=S+Math.imul(ft,Mt)|0,T=T+Math.imul(lt,Bt)|0,h=h+Math.imul(lt,jt)|0,h=h+Math.imul(dt,Bt)|0,S=S+Math.imul(dt,jt)|0,T=T+Math.imul(ct,Dt)|0,h=h+Math.imul(ct,Ut)|0,h=h+Math.imul(ut,Dt)|0,S=S+Math.imul(ut,Ut)|0,T=T+Math.imul(ot,Pt)|0,h=h+Math.imul(ot,Lt)|0,h=h+Math.imul(at,Pt)|0,S=S+Math.imul(at,Lt)|0;var zu=(x+T|0)+((h&8191)<<13)|0;x=(S+(h>>>13)|0)+(zu>>>26)|0,zu&=67108863,T=Math.imul(bt,At),h=Math.imul(bt,xt),h=h+Math.imul(vt,At)|0,S=Math.imul(vt,xt),T=T+Math.imul(gt,Ct)|0,h=h+Math.imul(gt,Nt)|0,h=h+Math.imul(yt,Ct)|0,S=S+Math.imul(yt,Nt)|0,T=T+Math.imul(mt,Rt)|0,h=h+Math.imul(mt,Mt)|0,h=h+Math.imul(ht,Rt)|0,S=S+Math.imul(ht,Mt)|0,T=T+Math.imul(pt,Bt)|0,h=h+Math.imul(pt,jt)|0,h=h+Math.imul(ft,Bt)|0,S=S+Math.imul(ft,jt)|0,T=T+Math.imul(lt,Dt)|0,h=h+Math.imul(lt,Ut)|0,h=h+Math.imul(dt,Dt)|0,S=S+Math.imul(dt,Ut)|0,T=T+Math.imul(ct,Pt)|0,h=h+Math.imul(ct,Lt)|0,h=h+Math.imul(ut,Pt)|0,S=S+Math.imul(ut,Lt)|0;var Wu=(x+T|0)+((h&8191)<<13)|0;x=(S+(h>>>13)|0)+(Wu>>>26)|0,Wu&=67108863,T=Math.imul(bt,Ct),h=Math.imul(bt,Nt),h=h+Math.imul(vt,Ct)|0,S=Math.imul(vt,Nt),T=T+Math.imul(gt,Rt)|0,h=h+Math.imul(gt,Mt)|0,h=h+Math.imul(yt,Rt)|0,S=S+Math.imul(yt,Mt)|0,T=T+Math.imul(mt,Bt)|0,h=h+Math.imul(mt,jt)|0,h=h+Math.imul(ht,Bt)|0,S=S+Math.imul(ht,jt)|0,T=T+Math.imul(pt,Dt)|0,h=h+Math.imul(pt,Ut)|0,h=h+Math.imul(ft,Dt)|0,S=S+Math.imul(ft,Ut)|0,T=T+Math.imul(lt,Pt)|0,h=h+Math.imul(lt,Lt)|0,h=h+Math.imul(dt,Pt)|0,S=S+Math.imul(dt,Lt)|0;var Hu=(x+T|0)+((h&8191)<<13)|0;x=(S+(h>>>13)|0)+(Hu>>>26)|0,Hu&=67108863,T=Math.imul(bt,Rt),h=Math.imul(bt,Mt),h=h+Math.imul(vt,Rt)|0,S=Math.imul(vt,Mt),T=T+Math.imul(gt,Bt)|0,h=h+Math.imul(gt,jt)|0,h=h+Math.imul(yt,Bt)|0,S=S+Math.imul(yt,jt)|0,T=T+Math.imul(mt,Dt)|0,h=h+Math.imul(mt,Ut)|0,h=h+Math.imul(ht,Dt)|0,S=S+Math.imul(ht,Ut)|0,T=T+Math.imul(pt,Pt)|0,h=h+Math.imul(pt,Lt)|0,h=h+Math.imul(ft,Pt)|0,S=S+Math.imul(ft,Lt)|0;var Ju=(x+T|0)+((h&8191)<<13)|0;x=(S+(h>>>13)|0)+(Ju>>>26)|0,Ju&=67108863,T=Math.imul(bt,Bt),h=Math.imul(bt,jt),h=h+Math.imul(vt,Bt)|0,S=Math.imul(vt,jt),T=T+Math.imul(gt,Dt)|0,h=h+Math.imul(gt,Ut)|0,h=h+Math.imul(yt,Dt)|0,S=S+Math.imul(yt,Ut)|0,T=T+Math.imul(mt,Pt)|0,h=h+Math.imul(mt,Lt)|0,h=h+Math.imul(ht,Pt)|0,S=S+Math.imul(ht,Lt)|0;var Zu=(x+T|0)+((h&8191)<<13)|0;x=(S+(h>>>13)|0)+(Zu>>>26)|0,Zu&=67108863,T=Math.imul(bt,Dt),h=Math.imul(bt,Ut),h=h+Math.imul(vt,Dt)|0,S=Math.imul(vt,Ut),T=T+Math.imul(gt,Pt)|0,h=h+Math.imul(gt,Lt)|0,h=h+Math.imul(yt,Pt)|0,S=S+Math.imul(yt,Lt)|0;var Ku=(x+T|0)+((h&8191)<<13)|0;x=(S+(h>>>13)|0)+(Ku>>>26)|0,Ku&=67108863,T=Math.imul(bt,Pt),h=Math.imul(bt,Lt),h=h+Math.imul(vt,Pt)|0,S=Math.imul(vt,Lt);var Xu=(x+T|0)+((h&8191)<<13)|0;return x=(S+(h>>>13)|0)+(Xu>>>26)|0,Xu&=67108863,O[0]=Mu,O[1]=Bu,O[2]=ju,O[3]=Du,O[4]=Uu,O[5]=Pu,O[6]=Lu,O[7]=Vu,O[8]=Fu,O[9]=$u,O[10]=qu,O[11]=Gu,O[12]=zu,O[13]=Wu,O[14]=Hu,O[15]=Ju,O[16]=Zu,O[17]=Ku,O[18]=Xu,x!==0&&(O[19]=x,y.length++),y};Math.imul||(C=M);function B(l,m,y){y.negative=m.negative^l.negative,y.length=l.length+m.length;for(var v=0,w=0,O=0;O<y.length-1;O++){var x=w;w=0;for(var T=v&67108863,h=Math.min(O,m.length-1),S=Math.max(0,O-l.length+1);S<=h;S++){var W=O-S,K=l.words[W]|0,re=m.words[S]|0,fe=K*re,ue=fe&67108863;x=x+(fe/67108864|0)|0,ue=ue+T|0,T=ue&67108863,x=x+(ue>>>26)|0,w+=x>>>26,x&=67108863}y.words[O]=T,v=x,x=w}return v!==0?y.words[O]=v:y.length--,y._strip()}function L(l,m,y){return B(l,m,y)}o.prototype.mulTo=function(l,m){var y,v=this.length+l.length;return this.length===10&&l.length===10?y=C(this,l,m):v<63?y=M(this,l,m):v<1024?y=B(this,l,m):y=L(this,l,m),y};function j(l,m){this.x=l,this.y=m}j.prototype.makeRBT=function(l){for(var m=new Array(l),y=o.prototype._countBits(l)-1,v=0;v<l;v++)m[v]=this.revBin(v,y,l);return m},j.prototype.revBin=function(l,m,y){if(l===0||l===y-1)return l;for(var v=0,w=0;w<m;w++)v|=(l&1)<<m-w-1,l>>=1;return v},j.prototype.permute=function(l,m,y,v,w,O){for(var x=0;x<O;x++)v[x]=m[l[x]],w[x]=y[l[x]]},j.prototype.transform=function(l,m,y,v,w,O){this.permute(O,l,m,y,v,w);for(var x=1;x<w;x<<=1)for(var T=x<<1,h=Math.cos(2*Math.PI/T),S=Math.sin(2*Math.PI/T),W=0;W<w;W+=T)for(var K=h,re=S,fe=0;fe<x;fe++){var ue=y[W+fe],Ee=v[W+fe],Bn=y[W+fe+x],Pe=v[W+fe+x],Fe=K*Bn-re*Pe;Pe=K*Pe+re*Bn,Bn=Fe,y[W+fe]=ue+Bn,v[W+fe]=Ee+Pe,y[W+fe+x]=ue-Bn,v[W+fe+x]=Ee-Pe,fe!==T&&(Fe=h*K-S*re,re=h*re+S*K,K=Fe)}},j.prototype.guessLen13b=function(l,m){var y=Math.max(m,l)|1,v=y&1,w=0;for(y=y/2|0;y;y=y>>>1)w++;return 1<<w+1+v},j.prototype.conjugate=function(l,m,y){if(!(y<=1))for(var v=0;v<y/2;v++){var w=l[v];l[v]=l[y-v-1],l[y-v-1]=w,w=m[v],m[v]=-m[y-v-1],m[y-v-1]=-w}},j.prototype.normalize13b=function(l,m){for(var y=0,v=0;v<m/2;v++){var w=Math.round(l[2*v+1]/m)*8192+Math.round(l[2*v]/m)+y;l[v]=w&67108863,w<67108864?y=0:y=w/67108864|0}return l},j.prototype.convert13b=function(l,m,y,v){for(var w=0,O=0;O<m;O++)w=w+(l[O]|0),y[2*O]=w&8191,w=w>>>13,y[2*O+1]=w&8191,w=w>>>13;for(O=2*m;O<v;++O)y[O]=0;s(w===0),s((w&-8192)===0)},j.prototype.stub=function(l){for(var m=new Array(l),y=0;y<l;y++)m[y]=0;return m},j.prototype.mulp=function(l,m,y){var v=2*this.guessLen13b(l.length,m.length),w=this.makeRBT(v),O=this.stub(v),x=new Array(v),T=new Array(v),h=new Array(v),S=new Array(v),W=new Array(v),K=new Array(v),re=y.words;re.length=v,this.convert13b(l.words,l.length,x,v),this.convert13b(m.words,m.length,S,v),this.transform(x,O,T,h,v,w),this.transform(S,O,W,K,v,w);for(var fe=0;fe<v;fe++){var ue=T[fe]*W[fe]-h[fe]*K[fe];h[fe]=T[fe]*K[fe]+h[fe]*W[fe],T[fe]=ue}return this.conjugate(T,h,v),this.transform(T,h,re,O,v,w),this.conjugate(re,O,v),this.normalize13b(re,v),y.negative=l.negative^m.negative,y.length=l.length+m.length,y._strip()},o.prototype.mul=function(l){var m=new o(null);return m.words=new Array(this.length+l.length),this.mulTo(l,m)},o.prototype.mulf=function(l){var m=new o(null);return m.words=new Array(this.length+l.length),L(this,l,m)},o.prototype.imul=function(l){return this.clone().mulTo(l,this)},o.prototype.imuln=function(l){var m=l<0;m&&(l=-l),s(typeof l=="number"),s(l<67108864);for(var y=0,v=0;v<this.length;v++){var w=(this.words[v]|0)*l,O=(w&67108863)+(y&67108863);y>>=26,y+=w/67108864|0,y+=O>>>26,this.words[v]=O&67108863}return y!==0&&(this.words[v]=y,this.length++),this.length=l===0?1:this.length,m?this.ineg():this},o.prototype.muln=function(l){return this.clone().imuln(l)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(l){var m=A(l);if(m.length===0)return new o(1);for(var y=this,v=0;v<m.length&&m[v]===0;v++,y=y.sqr());if(++v<m.length)for(var w=y.sqr();v<m.length;v++,w=w.sqr())m[v]!==0&&(y=y.mul(w));return y},o.prototype.iushln=function(l){s(typeof l=="number"&&l>=0);var m=l%26,y=(l-m)/26,v=67108863>>>26-m<<26-m,w;if(m!==0){var O=0;for(w=0;w<this.length;w++){var x=this.words[w]&v,T=(this.words[w]|0)-x<<m;this.words[w]=T|O,O=x>>>26-m}O&&(this.words[w]=O,this.length++)}if(y!==0){for(w=this.length-1;w>=0;w--)this.words[w+y]=this.words[w];for(w=0;w<y;w++)this.words[w]=0;this.length+=y}return this._strip()},o.prototype.ishln=function(l){return s(this.negative===0),this.iushln(l)},o.prototype.iushrn=function(l,m,y){s(typeof l=="number"&&l>=0);var v;m?v=(m-m%26)/26:v=0;var w=l%26,O=Math.min((l-w)/26,this.length),x=67108863^67108863>>>w<<w,T=y;if(v-=O,v=Math.max(0,v),T){for(var h=0;h<O;h++)T.words[h]=this.words[h];T.length=O}if(O!==0)if(this.length>O)for(this.length-=O,h=0;h<this.length;h++)this.words[h]=this.words[h+O];else this.words[0]=0,this.length=1;var S=0;for(h=this.length-1;h>=0&&(S!==0||h>=v);h--){var W=this.words[h]|0;this.words[h]=S<<26-w|W>>>w,S=W&x}return T&&S!==0&&(T.words[T.length++]=S),this.length===0&&(this.words[0]=0,this.length=1),this._strip()},o.prototype.ishrn=function(l,m,y){return s(this.negative===0),this.iushrn(l,m,y)},o.prototype.shln=function(l){return this.clone().ishln(l)},o.prototype.ushln=function(l){return this.clone().iushln(l)},o.prototype.shrn=function(l){return this.clone().ishrn(l)},o.prototype.ushrn=function(l){return this.clone().iushrn(l)},o.prototype.testn=function(l){s(typeof l=="number"&&l>=0);var m=l%26,y=(l-m)/26,v=1<<m;if(this.length<=y)return!1;var w=this.words[y];return!!(w&v)},o.prototype.imaskn=function(l){s(typeof l=="number"&&l>=0);var m=l%26,y=(l-m)/26;if(s(this.negative===0,"imaskn works only with positive numbers"),this.length<=y)return this;if(m!==0&&y++,this.length=Math.min(y,this.length),m!==0){var v=67108863^67108863>>>m<<m;this.words[this.length-1]&=v}return this.length===0&&(this.words[0]=0,this.length=1),this._strip()},o.prototype.maskn=function(l){return this.clone().imaskn(l)},o.prototype.iaddn=function(l){return s(typeof l=="number"),s(l<67108864),l<0?this.isubn(-l):this.negative!==0?this.length===1&&(this.words[0]|0)<=l?(this.words[0]=l-(this.words[0]|0),this.negative=0,this):(this.negative=0,this.isubn(l),this.negative=1,this):this._iaddn(l)},o.prototype._iaddn=function(l){this.words[0]+=l;for(var m=0;m<this.length&&this.words[m]>=67108864;m++)this.words[m]-=67108864,m===this.length-1?this.words[m+1]=1:this.words[m+1]++;return this.length=Math.max(this.length,m+1),this},o.prototype.isubn=function(l){if(s(typeof l=="number"),s(l<67108864),l<0)return this.iaddn(-l);if(this.negative!==0)return this.negative=0,this.iaddn(l),this.negative=1,this;if(this.words[0]-=l,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var m=0;m<this.length&&this.words[m]<0;m++)this.words[m]+=67108864,this.words[m+1]-=1;return this._strip()},o.prototype.addn=function(l){return this.clone().iaddn(l)},o.prototype.subn=function(l){return this.clone().isubn(l)},o.prototype.iabs=function(){return this.negative=0,this},o.prototype.abs=function(){return this.clone().iabs()},o.prototype._ishlnsubmul=function(l,m,y){var v=l.length+y,w;this._expand(v);var O,x=0;for(w=0;w<l.length;w++){O=(this.words[w+y]|0)+x;var T=(l.words[w]|0)*m;O-=T&67108863,x=(O>>26)-(T/67108864|0),this.words[w+y]=O&67108863}for(;w<this.length-y;w++)O=(this.words[w+y]|0)+x,x=O>>26,this.words[w+y]=O&67108863;if(x===0)return this._strip();for(s(x===-1),x=0,w=0;w<this.length;w++)O=-(this.words[w]|0)+x,x=O>>26,this.words[w]=O&67108863;return this.negative=1,this._strip()},o.prototype._wordDiv=function(l,m){var y=this.length-l.length,v=this.clone(),w=l,O=w.words[w.length-1]|0,x=this._countBits(O);y=26-x,y!==0&&(w=w.ushln(y),v.iushln(y),O=w.words[w.length-1]|0);var T=v.length-w.length,h;if(m!=="mod"){h=new o(null),h.length=T+1,h.words=new Array(h.length);for(var S=0;S<h.length;S++)h.words[S]=0}var W=v.clone()._ishlnsubmul(w,1,T);W.negative===0&&(v=W,h&&(h.words[T]=1));for(var K=T-1;K>=0;K--){var re=(v.words[w.length+K]|0)*67108864+(v.words[w.length+K-1]|0);for(re=Math.min(re/O|0,67108863),v._ishlnsubmul(w,re,K);v.negative!==0;)re--,v.negative=0,v._ishlnsubmul(w,1,K),v.isZero()||(v.negative^=1);h&&(h.words[K]=re)}return h&&h._strip(),v._strip(),m!=="div"&&y!==0&&v.iushrn(y),{div:h||null,mod:v}},o.prototype.divmod=function(l,m,y){if(s(!l.isZero()),this.isZero())return{div:new o(0),mod:new o(0)};var v,w,O;return this.negative!==0&&l.negative===0?(O=this.neg().divmod(l,m),m!=="mod"&&(v=O.div.neg()),m!=="div"&&(w=O.mod.neg(),y&&w.negative!==0&&w.iadd(l)),{div:v,mod:w}):this.negative===0&&l.negative!==0?(O=this.divmod(l.neg(),m),m!=="mod"&&(v=O.div.neg()),{div:v,mod:O.mod}):this.negative&l.negative?(O=this.neg().divmod(l.neg(),m),m!=="div"&&(w=O.mod.neg(),y&&w.negative!==0&&w.isub(l)),{div:O.div,mod:w}):l.length>this.length||this.cmp(l)<0?{div:new o(0),mod:this}:l.length===1?m==="div"?{div:this.divn(l.words[0]),mod:null}:m==="mod"?{div:null,mod:new o(this.modrn(l.words[0]))}:{div:this.divn(l.words[0]),mod:new o(this.modrn(l.words[0]))}:this._wordDiv(l,m)},o.prototype.div=function(l){return this.divmod(l,"div",!1).div},o.prototype.mod=function(l){return this.divmod(l,"mod",!1).mod},o.prototype.umod=function(l){return this.divmod(l,"mod",!0).mod},o.prototype.divRound=function(l){var m=this.divmod(l);if(m.mod.isZero())return m.div;var y=m.div.negative!==0?m.mod.isub(l):m.mod,v=l.ushrn(1),w=l.andln(1),O=y.cmp(v);return O<0||w===1&&O===0?m.div:m.div.negative!==0?m.div.isubn(1):m.div.iaddn(1)},o.prototype.modrn=function(l){var m=l<0;m&&(l=-l),s(l<=67108863);for(var y=(1<<26)%l,v=0,w=this.length-1;w>=0;w--)v=(y*v+(this.words[w]|0))%l;return m?-v:v},o.prototype.modn=function(l){return this.modrn(l)},o.prototype.idivn=function(l){var m=l<0;m&&(l=-l),s(l<=67108863);for(var y=0,v=this.length-1;v>=0;v--){var w=(this.words[v]|0)+y*67108864;this.words[v]=w/l|0,y=w%l}return this._strip(),m?this.ineg():this},o.prototype.divn=function(l){return this.clone().idivn(l)},o.prototype.egcd=function(l){s(l.negative===0),s(!l.isZero());var m=this,y=l.clone();m.negative!==0?m=m.umod(l):m=m.clone();for(var v=new o(1),w=new o(0),O=new o(0),x=new o(1),T=0;m.isEven()&&y.isEven();)m.iushrn(1),y.iushrn(1),++T;for(var h=y.clone(),S=m.clone();!m.isZero();){for(var W=0,K=1;!(m.words[0]&K)&&W<26;++W,K<<=1);if(W>0)for(m.iushrn(W);W-- >0;)(v.isOdd()||w.isOdd())&&(v.iadd(h),w.isub(S)),v.iushrn(1),w.iushrn(1);for(var re=0,fe=1;!(y.words[0]&fe)&&re<26;++re,fe<<=1);if(re>0)for(y.iushrn(re);re-- >0;)(O.isOdd()||x.isOdd())&&(O.iadd(h),x.isub(S)),O.iushrn(1),x.iushrn(1);m.cmp(y)>=0?(m.isub(y),v.isub(O),w.isub(x)):(y.isub(m),O.isub(v),x.isub(w))}return{a:O,b:x,gcd:y.iushln(T)}},o.prototype._invmp=function(l){s(l.negative===0),s(!l.isZero());var m=this,y=l.clone();m.negative!==0?m=m.umod(l):m=m.clone();for(var v=new o(1),w=new o(0),O=y.clone();m.cmpn(1)>0&&y.cmpn(1)>0;){for(var x=0,T=1;!(m.words[0]&T)&&x<26;++x,T<<=1);if(x>0)for(m.iushrn(x);x-- >0;)v.isOdd()&&v.iadd(O),v.iushrn(1);for(var h=0,S=1;!(y.words[0]&S)&&h<26;++h,S<<=1);if(h>0)for(y.iushrn(h);h-- >0;)w.isOdd()&&w.iadd(O),w.iushrn(1);m.cmp(y)>=0?(m.isub(y),v.isub(w)):(y.isub(m),w.isub(v))}var W;return m.cmpn(1)===0?W=v:W=w,W.cmpn(0)<0&&W.iadd(l),W},o.prototype.gcd=function(l){if(this.isZero())return l.abs();if(l.isZero())return this.abs();var m=this.clone(),y=l.clone();m.negative=0,y.negative=0;for(var v=0;m.isEven()&&y.isEven();v++)m.iushrn(1),y.iushrn(1);do{for(;m.isEven();)m.iushrn(1);for(;y.isEven();)y.iushrn(1);var w=m.cmp(y);if(w<0){var O=m;m=y,y=O}else if(w===0||y.cmpn(1)===0)break;m.isub(y)}while(!0);return y.iushln(v)},o.prototype.invm=function(l){return this.egcd(l).a.umod(l)},o.prototype.isEven=function(){return(this.words[0]&1)===0},o.prototype.isOdd=function(){return(this.words[0]&1)===1},o.prototype.andln=function(l){return this.words[0]&l},o.prototype.bincn=function(l){s(typeof l=="number");var m=l%26,y=(l-m)/26,v=1<<m;if(this.length<=y)return this._expand(y+1),this.words[y]|=v,this;for(var w=v,O=y;w!==0&&O<this.length;O++){var x=this.words[O]|0;x+=w,w=x>>>26,x&=67108863,this.words[O]=x}return w!==0&&(this.words[O]=w,this.length++),this},o.prototype.isZero=function(){return this.length===1&&this.words[0]===0},o.prototype.cmpn=function(l){var m=l<0;if(this.negative!==0&&!m)return-1;if(this.negative===0&&m)return 1;this._strip();var y;if(this.length>1)y=1;else{m&&(l=-l),s(l<=67108863,"Number is too big");var v=this.words[0]|0;y=v===l?0:v<l?-1:1}return this.negative!==0?-y|0:y},o.prototype.cmp=function(l){if(this.negative!==0&&l.negative===0)return-1;if(this.negative===0&&l.negative!==0)return 1;var m=this.ucmp(l);return this.negative!==0?-m|0:m},o.prototype.ucmp=function(l){if(this.length>l.length)return 1;if(this.length<l.length)return-1;for(var m=0,y=this.length-1;y>=0;y--){var v=this.words[y]|0,w=l.words[y]|0;if(v!==w){v<w?m=-1:v>w&&(m=1);break}}return m},o.prototype.gtn=function(l){return this.cmpn(l)===1},o.prototype.gt=function(l){return this.cmp(l)===1},o.prototype.gten=function(l){return this.cmpn(l)>=0},o.prototype.gte=function(l){return this.cmp(l)>=0},o.prototype.ltn=function(l){return this.cmpn(l)===-1},o.prototype.lt=function(l){return this.cmp(l)===-1},o.prototype.lten=function(l){return this.cmpn(l)<=0},o.prototype.lte=function(l){return this.cmp(l)<=0},o.prototype.eqn=function(l){return this.cmpn(l)===0},o.prototype.eq=function(l){return this.cmp(l)===0},o.red=function(l){return new U(l)},o.prototype.toRed=function(l){return s(!this.red,"Already a number in reduction context"),s(this.negative===0,"red works only with positives"),l.convertTo(this)._forceRed(l)},o.prototype.fromRed=function(){return s(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(l){return this.red=l,this},o.prototype.forceRed=function(l){return s(!this.red,"Already a number in reduction context"),this._forceRed(l)},o.prototype.redAdd=function(l){return s(this.red,"redAdd works only with red numbers"),this.red.add(this,l)},o.prototype.redIAdd=function(l){return s(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,l)},o.prototype.redSub=function(l){return s(this.red,"redSub works only with red numbers"),this.red.sub(this,l)},o.prototype.redISub=function(l){return s(this.red,"redISub works only with red numbers"),this.red.isub(this,l)},o.prototype.redShl=function(l){return s(this.red,"redShl works only with red numbers"),this.red.shl(this,l)},o.prototype.redMul=function(l){return s(this.red,"redMul works only with red numbers"),this.red._verify2(this,l),this.red.mul(this,l)},o.prototype.redIMul=function(l){return s(this.red,"redMul works only with red numbers"),this.red._verify2(this,l),this.red.imul(this,l)},o.prototype.redSqr=function(){return s(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return s(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return s(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return s(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return s(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(l){return s(this.red&&!l.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,l)};var q={k256:null,p224:null,p192:null,p25519:null};function P(l,m){this.name=l,this.p=new o(m,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}P.prototype._tmp=function(){var l=new o(null);return l.words=new Array(Math.ceil(this.n/13)),l},P.prototype.ireduce=function(l){var m=l,y;do this.split(m,this.tmp),m=this.imulK(m),m=m.iadd(this.tmp),y=m.bitLength();while(y>this.n);var v=y<this.n?-1:m.ucmp(this.p);return v===0?(m.words[0]=0,m.length=1):v>0?m.isub(this.p):m.strip!==void 0?m.strip():m._strip(),m},P.prototype.split=function(l,m){l.iushrn(this.n,0,m)},P.prototype.imulK=function(l){return l.imul(this.k)};function D(){P.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}i(D,P),D.prototype.split=function(l,m){for(var y=4194303,v=Math.min(l.length,9),w=0;w<v;w++)m.words[w]=l.words[w];if(m.length=v,l.length<=9){l.words[0]=0,l.length=1;return}var O=l.words[9];for(m.words[m.length++]=O&y,w=10;w<l.length;w++){var x=l.words[w]|0;l.words[w-10]=(x&y)<<4|O>>>22,O=x}O>>>=22,l.words[w-10]=O,O===0&&l.length>10?l.length-=10:l.length-=9},D.prototype.imulK=function(l){l.words[l.length]=0,l.words[l.length+1]=0,l.length+=2;for(var m=0,y=0;y<l.length;y++){var v=l.words[y]|0;m+=v*977,l.words[y]=m&67108863,m=v*64+(m/67108864|0)}return l.words[l.length-1]===0&&(l.length--,l.words[l.length-1]===0&&l.length--),l};function Z(){P.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}i(Z,P);function ce(){P.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}i(ce,P);function te(){P.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}i(te,P),te.prototype.imulK=function(l){for(var m=0,y=0;y<l.length;y++){var v=(l.words[y]|0)*19+m,w=v&67108863;v>>>=26,l.words[y]=w,m=v}return m!==0&&(l.words[l.length++]=m),l},o._prime=function(l){if(q[l])return q[l];var m;if(l==="k256")m=new D;else if(l==="p224")m=new Z;else if(l==="p192")m=new ce;else if(l==="p25519")m=new te;else throw new Error("Unknown prime "+l);return q[l]=m,m};function U(l){if(typeof l=="string"){var m=o._prime(l);this.m=m.p,this.prime=m}else s(l.gtn(1),"modulus must be greater than 1"),this.m=l,this.prime=null}U.prototype._verify1=function(l){s(l.negative===0,"red works only with positives"),s(l.red,"red works only with red numbers")},U.prototype._verify2=function(l,m){s((l.negative|m.negative)===0,"red works only with positives"),s(l.red&&l.red===m.red,"red works only with red numbers")},U.prototype.imod=function(l){return this.prime?this.prime.ireduce(l)._forceRed(this):(p(l,l.umod(this.m)._forceRed(this)),l)},U.prototype.neg=function(l){return l.isZero()?l.clone():this.m.sub(l)._forceRed(this)},U.prototype.add=function(l,m){this._verify2(l,m);var y=l.add(m);return y.cmp(this.m)>=0&&y.isub(this.m),y._forceRed(this)},U.prototype.iadd=function(l,m){this._verify2(l,m);var y=l.iadd(m);return y.cmp(this.m)>=0&&y.isub(this.m),y},U.prototype.sub=function(l,m){this._verify2(l,m);var y=l.sub(m);return y.cmpn(0)<0&&y.iadd(this.m),y._forceRed(this)},U.prototype.isub=function(l,m){this._verify2(l,m);var y=l.isub(m);return y.cmpn(0)<0&&y.iadd(this.m),y},U.prototype.shl=function(l,m){return this._verify1(l),this.imod(l.ushln(m))},U.prototype.imul=function(l,m){return this._verify2(l,m),this.imod(l.imul(m))},U.prototype.mul=function(l,m){return this._verify2(l,m),this.imod(l.mul(m))},U.prototype.isqr=function(l){return this.imul(l,l.clone())},U.prototype.sqr=function(l){return this.mul(l,l)},U.prototype.sqrt=function(l){if(l.isZero())return l.clone();var m=this.m.andln(3);if(s(m%2===1),m===3){var y=this.m.add(new o(1)).iushrn(2);return this.pow(l,y)}for(var v=this.m.subn(1),w=0;!v.isZero()&&v.andln(1)===0;)w++,v.iushrn(1);s(!v.isZero());var O=new o(1).toRed(this),x=O.redNeg(),T=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new o(2*h*h).toRed(this);this.pow(h,T).cmp(x)!==0;)h.redIAdd(x);for(var S=this.pow(h,v),W=this.pow(l,v.addn(1).iushrn(1)),K=this.pow(l,v),re=w;K.cmp(O)!==0;){for(var fe=K,ue=0;fe.cmp(O)!==0;ue++)fe=fe.redSqr();s(ue<re);var Ee=this.pow(S,new o(1).iushln(re-ue-1));W=W.redMul(Ee),S=Ee.redSqr(),K=K.redMul(S),re=ue}return W},U.prototype.invm=function(l){var m=l._invmp(this.m);return m.negative!==0?(m.negative=0,this.imod(m).redNeg()):this.imod(m)},U.prototype.pow=function(l,m){if(m.isZero())return new o(1).toRed(this);if(m.cmpn(1)===0)return l.clone();var y=4,v=new Array(1<<y);v[0]=new o(1).toRed(this),v[1]=l;for(var w=2;w<v.length;w++)v[w]=this.mul(v[w-1],l);var O=v[0],x=0,T=0,h=m.bitLength()%26;for(h===0&&(h=26),w=m.length-1;w>=0;w--){for(var S=m.words[w],W=h-1;W>=0;W--){var K=S>>W&1;if(O!==v[0]&&(O=this.sqr(O)),K===0&&x===0){T=0;continue}x<<=1,x|=K,T++,!(T!==y&&(w!==0||W!==0))&&(O=this.mul(O,v[x]),T=0,x=0)}h=26}return O},U.prototype.convertTo=function(l){var m=l.umod(this.m);return m===l?m.clone():m},U.prototype.convertFrom=function(l){var m=l.clone();return m.red=null,m},o.mont=function(l){return new F(l)};function F(l){U.call(this,l),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}i(F,U),F.prototype.convertTo=function(l){return this.imod(l.ushln(this.shift))},F.prototype.convertFrom=function(l){var m=this.imod(l.mul(this.rinv));return m.red=null,m},F.prototype.imul=function(l,m){if(l.isZero()||m.isZero())return l.words[0]=0,l.length=1,l;var y=l.imul(m),v=y.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),w=y.isub(v).iushrn(this.shift),O=w;return w.cmp(this.m)>=0?O=w.isub(this.m):w.cmpn(0)<0&&(O=w.iadd(this.m)),O._forceRed(this)},F.prototype.mul=function(l,m){if(l.isZero()||m.isZero())return new o(0)._forceRed(this);var y=l.mul(m),v=y.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),w=y.isub(v).iushrn(this.shift),O=w;return w.cmp(this.m)>=0?O=w.isub(this.m):w.cmpn(0)<0&&(O=w.iadd(this.m)),O._forceRed(this)},F.prototype.invm=function(l){var m=this.imod(l._invmp(this.m).mul(this.r2));return m._forceRed(this)}})(typeof t>"u"||t,e)}),fA={REQUEST_PARAMS:"requestParams",METHOD_NAME:"methodName"},mA=class lb extends Error{constructor(t,n,r){super(t),this.code=n,this.details=r,this.name=this.constructor.name}static{this.DETAILS_KEYS=fA}toJSON(){return{name:this.name,message:this.message,code:this.code,details:this.details}}toString(){return JSON.stringify(this.toJSON())}static isErrorCode(t,n){return t instanceof lb&&t.code===n}},hA=class extends mA{constructor(e,t,n){super(e,t||"UnknownError",n)}static isCommonErrorCode(e,t){return this.isErrorCode(e,t)}},tb=(e,t,n)=>{throw new hA(t,e,n)};function nb(e){return Date.parse(new Date().toString())+e}var gA=class{constructor(e,t=0){this.overdue_time=t,this.value=e}isValid(){return this.value===null?!1:this.overdue_time===0?!0:!(Date.parse(new Date().toString())>this.overdue_time)}},go=9e15,Ps=1e9,ef="0123456789abcdef",vu="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",_u="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",tf={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-go,maxE:go,crypto:!1},db,as,ke=!0,ku="[DecimalError] ",Us=ku+"Invalid argument: ",pb=ku+"Precision limit exceeded",fb=ku+"crypto unavailable",mb="[object Decimal]",gn=Math.floor,Zt=Math.pow,yA=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,bA=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,vA=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,hb=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,hr=1e7,_e=7,_A=9007199254740991,wA=vu.length-1,nf=_u.length-1,$={toStringTag:mb};$.absoluteValue=$.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),de(e)};$.ceil=function(){return de(new this.constructor(this),this.e+1,2)};$.clampedTo=$.clamp=function(e,t){var n,r=this,s=r.constructor;if(e=new s(e),t=new s(t),!e.s||!t.s)return new s(NaN);if(e.gt(t))throw Error(Us+t);return n=r.cmp(e),n<0?e:r.cmp(t)>0?t:new s(r)};$.comparedTo=$.cmp=function(e){var t,n,r,s,i=this,o=i.d,a=(e=new i.constructor(e)).d,c=i.s,u=e.s;if(!o||!a)return!c||!u?NaN:c!==u?c:o===a?0:!o^c<0?1:-1;if(!o[0]||!a[0])return o[0]?c:a[0]?-u:0;if(c!==u)return c;if(i.e!==e.e)return i.e>e.e^c<0?1:-1;for(r=o.length,s=a.length,t=0,n=r<s?r:s;t<n;++t)if(o[t]!==a[t])return o[t]>a[t]^c<0?1:-1;return r===s?0:r>s^c<0?1:-1};$.cosine=$.cos=function(){var e,t,n=this,r=n.constructor;return n.d?n.d[0]?(e=r.precision,t=r.rounding,r.precision=e+Math.max(n.e,n.sd())+_e,r.rounding=1,n=TA(r,_b(r,n)),r.precision=e,r.rounding=t,de(as==2||as==3?n.neg():n,e,t,!0)):new r(1):new r(NaN)};$.cubeRoot=$.cbrt=function(){var e,t,n,r,s,i,o,a,c,u,d=this,p=d.constructor;if(!d.isFinite()||d.isZero())return new p(d);for(ke=!1,i=d.s*Zt(d.s*d,1/3),!i||Math.abs(i)==1/0?(n=un(d.d),e=d.e,(i=(e-n.length+1)%3)&&(n+=i==1||i==-2?"0":"00"),i=Zt(n,1/3),e=gn((e+1)/3)-(e%3==(e<0?-1:2)),i==1/0?n="5e"+e:(n=i.toExponential(),n=n.slice(0,n.indexOf("e")+1)+e),r=new p(n),r.s=d.s):r=new p(i.toString()),o=(e=p.precision)+3;;)if(a=r,c=a.times(a).times(a),u=c.plus(d),r=qe(u.plus(d).times(a),u.plus(c),o+2,1),un(a.d).slice(0,o)===(n=un(r.d)).slice(0,o))if(n=n.slice(o-3,o+1),n=="9999"||!s&&n=="4999"){if(!s&&(de(a,e+1,0),a.times(a).times(a).eq(d))){r=a;break}o+=4,s=1}else{(!+n||!+n.slice(1)&&n.charAt(0)=="5")&&(de(r,e+1,1),t=!r.times(r).times(r).eq(d));break}return ke=!0,de(r,e,p.rounding,t)};$.decimalPlaces=$.dp=function(){var e,t=this.d,n=NaN;if(t){if(e=t.length-1,n=(e-gn(this.e/_e))*_e,e=t[e],e)for(;e%10==0;e/=10)n--;n<0&&(n=0)}return n};$.dividedBy=$.div=function(e){return qe(this,new this.constructor(e))};$.dividedToIntegerBy=$.divToInt=function(e){var t=this,n=t.constructor;return de(qe(t,new n(e),0,1,1),n.precision,n.rounding)};$.equals=$.eq=function(e){return this.cmp(e)===0};$.floor=function(){return de(new this.constructor(this),this.e+1,3)};$.greaterThan=$.gt=function(e){return this.cmp(e)>0};$.greaterThanOrEqualTo=$.gte=function(e){var t=this.cmp(e);return t==1||t===0};$.hyperbolicCosine=$.cosh=function(){var e,t,n,r,s,i=this,o=i.constructor,a=new o(1);if(!i.isFinite())return new o(i.s?1/0:NaN);if(i.isZero())return a;n=o.precision,r=o.rounding,o.precision=n+Math.max(i.e,i.sd())+4,o.rounding=1,s=i.d.length,s<32?(e=Math.ceil(s/3),t=(1/Eu(4,e)).toString()):(e=16,t="2.3283064365386962890625e-10"),i=yo(o,1,i.times(t),new o(1),!0);for(var c,u=e,d=new o(8);u--;)c=i.times(i),i=a.minus(c.times(d.minus(c.times(d))));return de(i,o.precision=n,o.rounding=r,!0)};$.hyperbolicSine=$.sinh=function(){var e,t,n,r,s=this,i=s.constructor;if(!s.isFinite()||s.isZero())return new i(s);if(t=i.precision,n=i.rounding,i.precision=t+Math.max(s.e,s.sd())+4,i.rounding=1,r=s.d.length,r<3)s=yo(i,2,s,s,!0);else{e=1.4*Math.sqrt(r),e=e>16?16:e|0,s=s.times(1/Eu(5,e)),s=yo(i,2,s,s,!0);for(var o,a=new i(5),c=new i(16),u=new i(20);e--;)o=s.times(s),s=s.times(a.plus(o.times(c.times(o).plus(u))))}return i.precision=t,i.rounding=n,de(s,t,n,!0)};$.hyperbolicTangent=$.tanh=function(){var e,t,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+7,r.rounding=1,qe(n.sinh(),n.cosh(),r.precision=e,r.rounding=t)):new r(n.s)};$.inverseCosine=$.acos=function(){var e=this,t=e.constructor,n=e.abs().cmp(1),r=t.precision,s=t.rounding;return n!==-1?n===0?e.isNeg()?Mr(t,r,s):new t(0):new t(NaN):e.isZero()?Mr(t,r+4,s).times(.5):(t.precision=r+6,t.rounding=1,e=new t(1).minus(e).div(e.plus(1)).sqrt().atan(),t.precision=r,t.rounding=s,e.times(2))};$.inverseHyperbolicCosine=$.acosh=function(){var e,t,n=this,r=n.constructor;return n.lte(1)?new r(n.eq(1)?0:NaN):n.isFinite()?(e=r.precision,t=r.rounding,r.precision=e+Math.max(Math.abs(n.e),n.sd())+4,r.rounding=1,ke=!1,n=n.times(n).minus(1).sqrt().plus(n),ke=!0,r.precision=e,r.rounding=t,n.ln()):new r(n)};$.inverseHyperbolicSine=$.asinh=function(){var e,t,n=this,r=n.constructor;return!n.isFinite()||n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+2*Math.max(Math.abs(n.e),n.sd())+6,r.rounding=1,ke=!1,n=n.times(n).plus(1).sqrt().plus(n),ke=!0,r.precision=e,r.rounding=t,n.ln())};$.inverseHyperbolicTangent=$.atanh=function(){var e,t,n,r,s=this,i=s.constructor;return s.isFinite()?s.e>=0?new i(s.abs().eq(1)?s.s/0:s.isZero()?s:NaN):(e=i.precision,t=i.rounding,r=s.sd(),Math.max(r,e)<2*-s.e-1?de(new i(s),e,t,!0):(i.precision=n=r-s.e,s=qe(s.plus(1),new i(1).minus(s),n+e,1),i.precision=e+4,i.rounding=1,s=s.ln(),i.precision=e,i.rounding=t,s.times(.5))):new i(NaN)};$.inverseSine=$.asin=function(){var e,t,n,r,s=this,i=s.constructor;return s.isZero()?new i(s):(t=s.abs().cmp(1),n=i.precision,r=i.rounding,t!==-1?t===0?(e=Mr(i,n+4,r).times(.5),e.s=s.s,e):new i(NaN):(i.precision=n+6,i.rounding=1,s=s.div(new i(1).minus(s.times(s)).sqrt().plus(1)).atan(),i.precision=n,i.rounding=r,s.times(2)))};$.inverseTangent=$.atan=function(){var e,t,n,r,s,i,o,a,c,u=this,d=u.constructor,p=d.precision,f=d.rounding;if(u.isFinite()){if(u.isZero())return new d(u);if(u.abs().eq(1)&&p+4<=nf)return o=Mr(d,p+4,f).times(.25),o.s=u.s,o}else{if(!u.s)return new d(NaN);if(p+4<=nf)return o=Mr(d,p+4,f).times(.5),o.s=u.s,o}for(d.precision=a=p+10,d.rounding=1,n=Math.min(28,a/_e+2|0),e=n;e;--e)u=u.div(u.times(u).plus(1).sqrt().plus(1));for(ke=!1,t=Math.ceil(a/_e),r=1,c=u.times(u),o=new d(u),s=u;e!==-1;)if(s=s.times(c),i=o.minus(s.div(r+=2)),s=s.times(c),o=i.plus(s.div(r+=2)),o.d[t]!==void 0)for(e=t;o.d[e]===i.d[e]&&e--;);return n&&(o=o.times(2<<n-1)),ke=!0,de(o,d.precision=p,d.rounding=f,!0)};$.isFinite=function(){return!!this.d};$.isInteger=$.isInt=function(){return!!this.d&&gn(this.e/_e)>this.d.length-2};$.isNaN=function(){return!this.s};$.isNegative=$.isNeg=function(){return this.s<0};$.isPositive=$.isPos=function(){return this.s>0};$.isZero=function(){return!!this.d&&this.d[0]===0};$.lessThan=$.lt=function(e){return this.cmp(e)<0};$.lessThanOrEqualTo=$.lte=function(e){return this.cmp(e)<1};$.logarithm=$.log=function(e){var t,n,r,s,i,o,a,c,u=this,d=u.constructor,p=d.precision,f=d.rounding,g=5;if(e==null)e=new d(10),t=!0;else{if(e=new d(e),n=e.d,e.s<0||!n||!n[0]||e.eq(1))return new d(NaN);t=e.eq(10)}if(n=u.d,u.s<0||!n||!n[0]||u.eq(1))return new d(n&&!n[0]?-1/0:u.s!=1?NaN:n?0:1/0);if(t)if(n.length>1)i=!0;else{for(s=n[0];s%10===0;)s/=10;i=s!==1}if(ke=!1,a=p+g,o=Ds(u,a),r=t?wu(d,a+10):Ds(e,a),c=qe(o,r,a,1),_a(c.d,s=p,f))do if(a+=10,o=Ds(u,a),r=t?wu(d,a+10):Ds(e,a),c=qe(o,r,a,1),!i){+un(c.d).slice(s+1,s+15)+1==1e14&&(c=de(c,p+1,0));break}while(_a(c.d,s+=10,f));return ke=!0,de(c,p,f)};$.minus=$.sub=function(e){var t,n,r,s,i,o,a,c,u,d,p,f,g=this,b=g.constructor;if(e=new b(e),!g.d||!e.d)return!g.s||!e.s?e=new b(NaN):g.d?e.s=-e.s:e=new b(e.d||g.s!==e.s?g:NaN),e;if(g.s!=e.s)return e.s=-e.s,g.plus(e);if(u=g.d,f=e.d,a=b.precision,c=b.rounding,!u[0]||!f[0]){if(f[0])e.s=-e.s;else if(u[0])e=new b(g);else return new b(c===3?-0:0);return ke?de(e,a,c):e}if(n=gn(e.e/_e),d=gn(g.e/_e),u=u.slice(),i=d-n,i){for(p=i<0,p?(t=u,i=-i,o=f.length):(t=f,n=d,o=u.length),r=Math.max(Math.ceil(a/_e),o)+2,i>r&&(i=r,t.length=1),t.reverse(),r=i;r--;)t.push(0);t.reverse()}else{for(r=u.length,o=f.length,p=r<o,p&&(o=r),r=0;r<o;r++)if(u[r]!=f[r]){p=u[r]<f[r];break}i=0}for(p&&(t=u,u=f,f=t,e.s=-e.s),o=u.length,r=f.length-o;r>0;--r)u[o++]=0;for(r=f.length;r>i;){if(u[--r]<f[r]){for(s=r;s&&u[--s]===0;)u[s]=hr-1;--u[s],u[r]+=hr}u[r]-=f[r]}for(;u[--o]===0;)u.pop();for(;u[0]===0;u.shift())--n;return u[0]?(e.d=u,e.e=Su(u,n),ke?de(e,a,c):e):new b(c===3?-0:0)};$.modulo=$.mod=function(e){var t,n=this,r=n.constructor;return e=new r(e),!n.d||!e.s||e.d&&!e.d[0]?new r(NaN):!e.d||n.d&&!n.d[0]?de(new r(n),r.precision,r.rounding):(ke=!1,r.modulo==9?(t=qe(n,e.abs(),0,3,1),t.s*=e.s):t=qe(n,e,0,r.modulo,1),t=t.times(e),ke=!0,n.minus(t))};$.naturalExponential=$.exp=function(){return rf(this)};$.naturalLogarithm=$.ln=function(){return Ds(this)};$.negated=$.neg=function(){var e=new this.constructor(this);return e.s=-e.s,de(e)};$.plus=$.add=function(e){var t,n,r,s,i,o,a,c,u,d,p=this,f=p.constructor;if(e=new f(e),!p.d||!e.d)return!p.s||!e.s?e=new f(NaN):p.d||(e=new f(e.d||p.s===e.s?p:NaN)),e;if(p.s!=e.s)return e.s=-e.s,p.minus(e);if(u=p.d,d=e.d,a=f.precision,c=f.rounding,!u[0]||!d[0])return d[0]||(e=new f(p)),ke?de(e,a,c):e;if(i=gn(p.e/_e),r=gn(e.e/_e),u=u.slice(),s=i-r,s){for(s<0?(n=u,s=-s,o=d.length):(n=d,r=i,o=u.length),i=Math.ceil(a/_e),o=i>o?i+1:o+1,s>o&&(s=o,n.length=1),n.reverse();s--;)n.push(0);n.reverse()}for(o=u.length,s=d.length,o-s<0&&(s=o,n=d,d=u,u=n),t=0;s;)t=(u[--s]=u[s]+d[s]+t)/hr|0,u[s]%=hr;for(t&&(u.unshift(t),++r),o=u.length;u[--o]==0;)u.pop();return e.d=u,e.e=Su(u,r),ke?de(e,a,c):e};$.precision=$.sd=function(e){var t,n=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(Us+e);return n.d?(t=gb(n.d),e&&n.e+1>t&&(t=n.e+1)):t=NaN,t};$.round=function(){var e=this,t=e.constructor;return de(new t(e),e.e+1,t.rounding)};$.sine=$.sin=function(){var e,t,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+Math.max(n.e,n.sd())+_e,r.rounding=1,n=SA(r,_b(r,n)),r.precision=e,r.rounding=t,de(as>2?n.neg():n,e,t,!0)):new r(NaN)};$.squareRoot=$.sqrt=function(){var e,t,n,r,s,i,o=this,a=o.d,c=o.e,u=o.s,d=o.constructor;if(u!==1||!a||!a[0])return new d(!u||u<0&&(!a||a[0])?NaN:a?o:1/0);for(ke=!1,u=Math.sqrt(+o),u==0||u==1/0?(t=un(a),(t.length+c)%2==0&&(t+="0"),u=Math.sqrt(t),c=gn((c+1)/2)-(c<0||c%2),u==1/0?t="5e"+c:(t=u.toExponential(),t=t.slice(0,t.indexOf("e")+1)+c),r=new d(t)):r=new d(u.toString()),n=(c=d.precision)+3;;)if(i=r,r=i.plus(qe(o,i,n+2,1)).times(.5),un(i.d).slice(0,n)===(t=un(r.d)).slice(0,n))if(t=t.slice(n-3,n+1),t=="9999"||!s&&t=="4999"){if(!s&&(de(i,c+1,0),i.times(i).eq(o))){r=i;break}n+=4,s=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(de(r,c+1,1),e=!r.times(r).eq(o));break}return ke=!0,de(r,c,d.rounding,e)};$.tangent=$.tan=function(){var e,t,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+10,r.rounding=1,n=n.sin(),n.s=1,n=qe(n,new r(1).minus(n.times(n)).sqrt(),e+10,0),r.precision=e,r.rounding=t,de(as==2||as==4?n.neg():n,e,t,!0)):new r(NaN)};$.times=$.mul=function(e){var t,n,r,s,i,o,a,c,u,d=this,p=d.constructor,f=d.d,g=(e=new p(e)).d;if(e.s*=d.s,!f||!f[0]||!g||!g[0])return new p(!e.s||f&&!f[0]&&!g||g&&!g[0]&&!f?NaN:!f||!g?e.s/0:e.s*0);for(n=gn(d.e/_e)+gn(e.e/_e),c=f.length,u=g.length,c<u&&(i=f,f=g,g=i,o=c,c=u,u=o),i=[],o=c+u,r=o;r--;)i.push(0);for(r=u;--r>=0;){for(t=0,s=c+r;s>r;)a=i[s]+g[r]*f[s-r-1]+t,i[s--]=a%hr|0,t=a/hr|0;i[s]=(i[s]+t)%hr|0}for(;!i[--o];)i.pop();return t?++n:i.shift(),e.d=i,e.e=Su(i,n),ke?de(e,p.precision,p.rounding):e};$.toBinary=function(e,t){return of(this,2,e,t)};$.toDecimalPlaces=$.toDP=function(e,t){var n=this,r=n.constructor;return n=new r(n),e===void 0?n:(Mn(e,0,Ps),t===void 0?t=r.rounding:Mn(t,0,8),de(n,e+n.e+1,t))};$.toExponential=function(e,t){var n,r=this,s=r.constructor;return e===void 0?n=Br(r,!0):(Mn(e,0,Ps),t===void 0?t=s.rounding:Mn(t,0,8),r=de(new s(r),e+1,t),n=Br(r,!0,e+1)),r.isNeg()&&!r.isZero()?"-"+n:n};$.toFixed=function(e,t){var n,r,s=this,i=s.constructor;return e===void 0?n=Br(s):(Mn(e,0,Ps),t===void 0?t=i.rounding:Mn(t,0,8),r=de(new i(s),e+s.e+1,t),n=Br(r,!1,e+r.e+1)),s.isNeg()&&!s.isZero()?"-"+n:n};$.toFraction=function(e){var t,n,r,s,i,o,a,c,u,d,p,f,g=this,b=g.d,_=g.constructor;if(!b)return new _(g);if(u=n=new _(1),r=c=new _(0),t=new _(r),i=t.e=gb(b)-g.e-1,o=i%_e,t.d[0]=Zt(10,o<0?_e+o:o),e==null)e=i>0?t:u;else{if(a=new _(e),!a.isInt()||a.lt(u))throw Error(Us+a);e=a.gt(t)?i>0?t:u:a}for(ke=!1,a=new _(un(b)),d=_.precision,_.precision=i=b.length*_e*2;p=qe(a,t,0,1,1),s=n.plus(p.times(r)),s.cmp(e)!=1;)n=r,r=s,s=u,u=c.plus(p.times(s)),c=s,s=t,t=a.minus(p.times(s)),a=s;return s=qe(e.minus(n),r,0,1,1),c=c.plus(s.times(u)),n=n.plus(s.times(r)),c.s=u.s=g.s,f=qe(u,r,i,1).minus(g).abs().cmp(qe(c,n,i,1).minus(g).abs())<1?[u,r]:[c,n],_.precision=d,ke=!0,f};$.toHexadecimal=$.toHex=function(e,t){return of(this,16,e,t)};$.toNearest=function(e,t){var n=this,r=n.constructor;if(n=new r(n),e==null){if(!n.d)return n;e=new r(1),t=r.rounding}else{if(e=new r(e),t===void 0?t=r.rounding:Mn(t,0,8),!n.d)return e.s?n:e;if(!e.d)return e.s&&(e.s=n.s),e}return e.d[0]?(ke=!1,n=qe(n,e,0,t,1).times(e),ke=!0,de(n)):(e.s=n.s,n=e),n};$.toNumber=function(){return+this};$.toOctal=function(e,t){return of(this,8,e,t)};$.toPower=$.pow=function(e){var t,n,r,s,i,o,a=this,c=a.constructor,u=+(e=new c(e));if(!a.d||!e.d||!a.d[0]||!e.d[0])return new c(Zt(+a,u));if(a=new c(a),a.eq(1))return a;if(r=c.precision,i=c.rounding,e.eq(1))return de(a,r,i);if(t=gn(e.e/_e),t>=e.d.length-1&&(n=u<0?-u:u)<=_A)return s=yb(c,a,n,r),e.s<0?new c(1).div(s):de(s,r,i);if(o=a.s,o<0){if(t<e.d.length-1)return new c(NaN);if(!(e.d[t]&1)&&(o=1),a.e==0&&a.d[0]==1&&a.d.length==1)return a.s=o,a}return n=Zt(+a,u),t=n==0||!isFinite(n)?gn(u*(Math.log("0."+un(a.d))/Math.LN10+a.e+1)):new c(n+"").e,t>c.maxE+1||t<c.minE-1?new c(t>0?o/0:0):(ke=!1,c.rounding=a.s=1,n=Math.min(12,(t+"").length),s=rf(e.times(Ds(a,r+n)),r),s.d&&(s=de(s,r+5,1),_a(s.d,r,i)&&(t=r+10,s=de(rf(e.times(Ds(a,t+n)),t),t+5,1),+un(s.d).slice(r+1,r+15)+1==1e14&&(s=de(s,r+1,0)))),s.s=o,ke=!0,c.rounding=i,de(s,r,i))};$.toPrecision=function(e,t){var n,r=this,s=r.constructor;return e===void 0?n=Br(r,r.e<=s.toExpNeg||r.e>=s.toExpPos):(Mn(e,1,Ps),t===void 0?t=s.rounding:Mn(t,0,8),r=de(new s(r),e,t),n=Br(r,e<=r.e||r.e<=s.toExpNeg,e)),r.isNeg()&&!r.isZero()?"-"+n:n};$.toSignificantDigits=$.toSD=function(e,t){var n=this,r=n.constructor;return e===void 0?(e=r.precision,t=r.rounding):(Mn(e,1,Ps),t===void 0?t=r.rounding:Mn(t,0,8)),de(new r(n),e,t)};$.toString=function(){var e=this,t=e.constructor,n=Br(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()&&!e.isZero()?"-"+n:n};$.truncated=$.trunc=function(){return de(new this.constructor(this),this.e+1,1)};$.valueOf=$.toJSON=function(){var e=this,t=e.constructor,n=Br(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()?"-"+n:n};function un(e){var t,n,r,s=e.length-1,i="",o=e[0];if(s>0){for(i+=o,t=1;t<s;t++)r=e[t]+"",n=_e-r.length,n&&(i+=js(n)),i+=r;o=e[t],r=o+"",n=_e-r.length,n&&(i+=js(n))}else if(o===0)return"0";for(;o%10===0;)o/=10;return i+o}function Mn(e,t,n){if(e!==~~e||e<t||e>n)throw Error(Us+e)}function _a(e,t,n,r){var s,i,o,a;for(i=e[0];i>=10;i/=10)--t;return--t<0?(t+=_e,s=0):(s=Math.ceil((t+1)/_e),t%=_e),i=Zt(10,_e-t),a=e[s]%i|0,r==null?t<3?(t==0?a=a/100|0:t==1&&(a=a/10|0),o=n<4&&a==99999||n>3&&a==49999||a==5e4||a==0):o=(n<4&&a+1==i||n>3&&a+1==i/2)&&(e[s+1]/i/100|0)==Zt(10,t-2)-1||(a==i/2||a==0)&&(e[s+1]/i/100|0)==0:t<4?(t==0?a=a/1e3|0:t==1?a=a/100|0:t==2&&(a=a/10|0),o=(r||n<4)&&a==9999||!r&&n>3&&a==4999):o=((r||n<4)&&a+1==i||!r&&n>3&&a+1==i/2)&&(e[s+1]/i/1e3|0)==Zt(10,t-3)-1,o}function gu(e,t,n){for(var r,s=[0],i,o=0,a=e.length;o<a;){for(i=s.length;i--;)s[i]*=t;for(s[0]+=ef.indexOf(e.charAt(o++)),r=0;r<s.length;r++)s[r]>n-1&&(s[r+1]===void 0&&(s[r+1]=0),s[r+1]+=s[r]/n|0,s[r]%=n)}return s.reverse()}function TA(e,t){var n,r,s;if(t.isZero())return t;r=t.d.length,r<32?(n=Math.ceil(r/3),s=(1/Eu(4,n)).toString()):(n=16,s="2.3283064365386962890625e-10"),e.precision+=n,t=yo(e,1,t.times(s),new e(1));for(var i=n;i--;){var o=t.times(t);t=o.times(o).minus(o).times(8).plus(1)}return e.precision-=n,t}var qe=function(){function e(r,s,i){var o,a=0,c=r.length;for(r=r.slice();c--;)o=r[c]*s+a,r[c]=o%i|0,a=o/i|0;return a&&r.unshift(a),r}function t(r,s,i,o){var a,c;if(i!=o)c=i>o?1:-1;else for(a=c=0;a<i;a++)if(r[a]!=s[a]){c=r[a]>s[a]?1:-1;break}return c}function n(r,s,i,o){for(var a=0;i--;)r[i]-=a,a=r[i]<s[i]?1:0,r[i]=a*o+r[i]-s[i];for(;!r[0]&&r.length>1;)r.shift()}return function(r,s,i,o,a,c){var u,d,p,f,g,b,_,I,A,M,C,B,L,j,q,P,D,Z,ce,te,U=r.constructor,F=r.s==s.s?1:-1,l=r.d,m=s.d;if(!l||!l[0]||!m||!m[0])return new U(!r.s||!s.s||(l?m&&l[0]==m[0]:!m)?NaN:l&&l[0]==0||!m?F*0:F/0);for(c?(g=1,d=r.e-s.e):(c=hr,g=_e,d=gn(r.e/g)-gn(s.e/g)),ce=m.length,D=l.length,A=new U(F),M=A.d=[],p=0;m[p]==(l[p]||0);p++);if(m[p]>(l[p]||0)&&d--,i==null?(j=i=U.precision,o=U.rounding):a?j=i+(r.e-s.e)+1:j=i,j<0)M.push(1),b=!0;else{if(j=j/g+2|0,p=0,ce==1){for(f=0,m=m[0],j++;(p<D||f)&&j--;p++)q=f*c+(l[p]||0),M[p]=q/m|0,f=q%m|0;b=f||p<D}else{for(f=c/(m[0]+1)|0,f>1&&(m=e(m,f,c),l=e(l,f,c),ce=m.length,D=l.length),P=ce,C=l.slice(0,ce),B=C.length;B<ce;)C[B++]=0;te=m.slice(),te.unshift(0),Z=m[0],m[1]>=c/2&&++Z;do f=0,u=t(m,C,ce,B),u<0?(L=C[0],ce!=B&&(L=L*c+(C[1]||0)),f=L/Z|0,f>1?(f>=c&&(f=c-1),_=e(m,f,c),I=_.length,B=C.length,u=t(_,C,I,B),u==1&&(f--,n(_,ce<I?te:m,I,c))):(f==0&&(u=f=1),_=m.slice()),I=_.length,I<B&&_.unshift(0),n(C,_,B,c),u==-1&&(B=C.length,u=t(m,C,ce,B),u<1&&(f++,n(C,ce<B?te:m,B,c))),B=C.length):u===0&&(f++,C=[0]),M[p++]=f,u&&C[0]?C[B++]=l[P]||0:(C=[l[P]],B=1);while((P++<D||C[0]!==void 0)&&j--);b=C[0]!==void 0}M[0]||M.shift()}if(g==1)A.e=d,db=b;else{for(p=1,f=M[0];f>=10;f/=10)p++;A.e=p+d*g-1,de(A,a?i+A.e+1:i,o,b)}return A}}();function de(e,t,n,r){var s,i,o,a,c,u,d,p,f,g=e.constructor;e:if(t!=null){if(p=e.d,!p)return e;for(s=1,a=p[0];a>=10;a/=10)s++;if(i=t-s,i<0)i+=_e,o=t,d=p[f=0],c=d/Zt(10,s-o-1)%10|0;else if(f=Math.ceil((i+1)/_e),a=p.length,f>=a)if(r){for(;a++<=f;)p.push(0);d=c=0,s=1,i%=_e,o=i-_e+1}else break e;else{for(d=a=p[f],s=1;a>=10;a/=10)s++;i%=_e,o=i-_e+s,c=o<0?0:d/Zt(10,s-o-1)%10|0}if(r=r||t<0||p[f+1]!==void 0||(o<0?d:d%Zt(10,s-o-1)),u=n<4?(c||r)&&(n==0||n==(e.s<0?3:2)):c>5||c==5&&(n==4||r||n==6&&(i>0?o>0?d/Zt(10,s-o):0:p[f-1])%10&1||n==(e.s<0?8:7)),t<1||!p[0])return p.length=0,u?(t-=e.e+1,p[0]=Zt(10,(_e-t%_e)%_e),e.e=-t||0):p[0]=e.e=0,e;if(i==0?(p.length=f,a=1,f--):(p.length=f+1,a=Zt(10,_e-i),p[f]=o>0?(d/Zt(10,s-o)%Zt(10,o)|0)*a:0),u)for(;;)if(f==0){for(i=1,o=p[0];o>=10;o/=10)i++;for(o=p[0]+=a,a=1;o>=10;o/=10)a++;i!=a&&(e.e++,p[0]==hr&&(p[0]=1));break}else{if(p[f]+=a,p[f]!=hr)break;p[f--]=0,a=1}for(i=p.length;p[--i]===0;)p.pop()}return ke&&(e.e>g.maxE?(e.d=null,e.e=NaN):e.e<g.minE&&(e.e=0,e.d=[0])),e}function Br(e,t,n){if(!e.isFinite())return vb(e);var r,s=e.e,i=un(e.d),o=i.length;return t?(n&&(r=n-o)>0?i=i.charAt(0)+"."+i.slice(1)+js(r):o>1&&(i=i.charAt(0)+"."+i.slice(1)),i=i+(e.e<0?"e":"e+")+e.e):s<0?(i="0."+js(-s-1)+i,n&&(r=n-o)>0&&(i+=js(r))):s>=o?(i+=js(s+1-o),n&&(r=n-s-1)>0&&(i=i+"."+js(r))):((r=s+1)<o&&(i=i.slice(0,r)+"."+i.slice(r)),n&&(r=n-o)>0&&(s+1===o&&(i+="."),i+=js(r))),i}function Su(e,t){var n=e[0];for(t*=_e;n>=10;n/=10)t++;return t}function wu(e,t,n){if(t>wA)throw ke=!0,n&&(e.precision=n),Error(pb);return de(new e(vu),t,1,!0)}function Mr(e,t,n){if(t>nf)throw Error(pb);return de(new e(_u),t,n,!0)}function gb(e){var t=e.length-1,n=t*_e+1;if(t=e[t],t){for(;t%10==0;t/=10)n--;for(t=e[0];t>=10;t/=10)n++}return n}function js(e){for(var t="";e--;)t+="0";return t}function yb(e,t,n,r){var s,i=new e(1),o=Math.ceil(r/_e+4);for(ke=!1;;){if(n%2&&(i=i.times(t),sb(i.d,o)&&(s=!0)),n=gn(n/2),n===0){n=i.d.length-1,s&&i.d[n]===0&&++i.d[n];break}t=t.times(t),sb(t.d,o)}return ke=!0,i}function rb(e){return e.d[e.d.length-1]&1}function bb(e,t,n){for(var r,s,i=new e(t[0]),o=0;++o<t.length;){if(s=new e(t[o]),!s.s){i=s;break}r=i.cmp(s),(r===n||r===0&&i.s===n)&&(i=s)}return i}function rf(e,t){var n,r,s,i,o,a,c,u=0,d=0,p=0,f=e.constructor,g=f.rounding,b=f.precision;if(!e.d||!e.d[0]||e.e>17)return new f(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:NaN);for(t==null?(ke=!1,c=b):c=t,a=new f(.03125);e.e>-2;)e=e.times(a),p+=5;for(r=Math.log(Zt(2,p))/Math.LN10*2+5|0,c+=r,n=i=o=new f(1),f.precision=c;;){if(i=de(i.times(e),c,1),n=n.times(++d),a=o.plus(qe(i,n,c,1)),un(a.d).slice(0,c)===un(o.d).slice(0,c)){for(s=p;s--;)o=de(o.times(o),c,1);if(t==null)if(u<3&&_a(o.d,c-r,g,u))f.precision=c+=10,n=i=a=new f(1),d=0,u++;else return de(o,f.precision=b,g,ke=!0);else return f.precision=b,o}o=a}}function Ds(e,t){var n,r,s,i,o,a,c,u,d,p,f,g=1,b=10,_=e,I=_.d,A=_.constructor,M=A.rounding,C=A.precision;if(_.s<0||!I||!I[0]||!_.e&&I[0]==1&&I.length==1)return new A(I&&!I[0]?-1/0:_.s!=1?NaN:I?0:_);if(t==null?(ke=!1,d=C):d=t,A.precision=d+=b,n=un(I),r=n.charAt(0),Math.abs(i=_.e)<15e14){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)_=_.times(e),n=un(_.d),r=n.charAt(0),g++;i=_.e,r>1?(_=new A("0."+n),i++):_=new A(r+"."+n.slice(1))}else return u=wu(A,d+2,C).times(i+""),_=Ds(new A(r+"."+n.slice(1)),d-b).plus(u),A.precision=C,t==null?de(_,C,M,ke=!0):_;for(p=_,c=o=_=qe(_.minus(1),_.plus(1),d,1),f=de(_.times(_),d,1),s=3;;){if(o=de(o.times(f),d,1),u=c.plus(qe(o,new A(s),d,1)),un(u.d).slice(0,d)===un(c.d).slice(0,d))if(c=c.times(2),i!==0&&(c=c.plus(wu(A,d+2,C).times(i+""))),c=qe(c,new A(g),d,1),t==null)if(_a(c.d,d-b,M,a))A.precision=d+=b,u=o=_=qe(p.minus(1),p.plus(1),d,1),f=de(_.times(_),d,1),s=a=1;else return de(c,A.precision=C,M,ke=!0);else return A.precision=C,c;c=u,s+=2}}function vb(e){return String(e.s*e.s/0)}function yu(e,t){var n,r,s;for((n=t.indexOf("."))>-1&&(t=t.replace(".","")),(r=t.search(/e/i))>0?(n<0&&(n=r),n+=+t.slice(r+1),t=t.substring(0,r)):n<0&&(n=t.length),r=0;t.charCodeAt(r)===48;r++);for(s=t.length;t.charCodeAt(s-1)===48;--s);if(t=t.slice(r,s),t){if(s-=r,e.e=n=n-r-1,e.d=[],r=(n+1)%_e,n<0&&(r+=_e),r<s){for(r&&e.d.push(+t.slice(0,r)),s-=_e;r<s;)e.d.push(+t.slice(r,r+=_e));t=t.slice(r),r=_e-t.length}else r-=s;for(;r--;)t+="0";e.d.push(+t),ke&&(e.e>e.constructor.maxE?(e.d=null,e.e=NaN):e.e<e.constructor.minE&&(e.e=0,e.d=[0]))}else e.e=0,e.d=[0];return e}function kA(e,t){var n,r,s,i,o,a,c,u,d;if(t.indexOf("_")>-1){if(t=t.replace(/(\d)_(?=\d)/g,"$1"),hb.test(t))return yu(e,t)}else if(t==="Infinity"||t==="NaN")return+t||(e.s=NaN),e.e=NaN,e.d=null,e;if(bA.test(t))n=16,t=t.toLowerCase();else if(yA.test(t))n=2;else if(vA.test(t))n=8;else throw Error(Us+t);for(i=t.search(/p/i),i>0?(c=+t.slice(i+1),t=t.substring(2,i)):t=t.slice(2),i=t.indexOf("."),o=i>=0,r=e.constructor,o&&(t=t.replace(".",""),a=t.length,i=a-i,s=yb(r,new r(n),i,i*2)),u=gu(t,n,hr),d=u.length-1,i=d;u[i]===0;--i)u.pop();return i<0?new r(e.s*0):(e.e=Su(u,d),e.d=u,ke=!1,o&&(e=qe(e,s,a*4)),c&&(e=e.times(Math.abs(c)<54?Zt(2,c):ka.pow(2,c))),ke=!0,e)}function SA(e,t){var n,r=t.d.length;if(r<3)return t.isZero()?t:yo(e,2,t,t);n=1.4*Math.sqrt(r),n=n>16?16:n|0,t=t.times(1/Eu(5,n)),t=yo(e,2,t,t);for(var s,i=new e(5),o=new e(16),a=new e(20);n--;)s=t.times(t),t=t.times(i.plus(s.times(o.times(s).minus(a))));return t}function yo(e,t,n,r,s){var i,o,a,c,u=1,d=e.precision,p=Math.ceil(d/_e);for(ke=!1,c=n.times(n),a=new e(r);;){if(o=qe(a.times(c),new e(t++*t++),d,1),a=s?r.plus(o):r.minus(o),r=qe(o.times(c),new e(t++*t++),d,1),o=a.plus(r),o.d[p]!==void 0){for(i=p;o.d[i]===a.d[i]&&i--;);if(i==-1)break}i=a,a=r,r=o,o=i,u++}return ke=!0,o.d.length=p+1,o}function Eu(e,t){for(var n=e;--t;)n*=e;return n}function _b(e,t){var n,r=t.s<0,s=Mr(e,e.precision,1),i=s.times(.5);if(t=t.abs(),t.lte(i))return as=r?4:1,t;if(n=t.divToInt(s),n.isZero())as=r?3:2;else{if(t=t.minus(n.times(s)),t.lte(i))return as=rb(n)?r?2:3:r?4:1,t;as=rb(n)?r?1:4:r?3:2}return t.minus(s).abs()}function of(e,t,n,r){var s,i,o,a,c,u,d,p,f,g=e.constructor,b=n!==void 0;if(b?(Mn(n,1,Ps),r===void 0?r=g.rounding:Mn(r,0,8)):(n=g.precision,r=g.rounding),!e.isFinite())d=vb(e);else{for(d=Br(e),o=d.indexOf("."),b?(s=2,t==16?n=n*4-3:t==8&&(n=n*3-2)):s=t,o>=0&&(d=d.replace(".",""),f=new g(1),f.e=d.length-o,f.d=gu(Br(f),10,s),f.e=f.d.length),p=gu(d,10,s),i=c=p.length;p[--c]==0;)p.pop();if(!p[0])d=b?"0p+0":"0";else{if(o<0?i--:(e=new g(e),e.d=p,e.e=i,e=qe(e,f,n,r,0,s),p=e.d,i=e.e,u=db),o=p[n],a=s/2,u=u||p[n+1]!==void 0,u=r<4?(o!==void 0||u)&&(r===0||r===(e.s<0?3:2)):o>a||o===a&&(r===4||u||r===6&&p[n-1]&1||r===(e.s<0?8:7)),p.length=n,u)for(;++p[--n]>s-1;)p[n]=0,n||(++i,p.unshift(1));for(c=p.length;!p[c-1];--c);for(o=0,d="";o<c;o++)d+=ef.charAt(p[o]);if(b){if(c>1)if(t==16||t==8){for(o=t==16?4:3,--c;c%o;c++)d+="0";for(p=gu(d,s,t),c=p.length;!p[c-1];--c);for(o=1,d="1.";o<c;o++)d+=ef.charAt(p[o])}else d=d.charAt(0)+"."+d.slice(1);d=d+(i<0?"p":"p+")+i}else if(i<0){for(;++i;)d="0"+d;d="0."+d}else if(++i>c)for(i-=c;i--;)d+="0";else i<c&&(d=d.slice(0,i)+"."+d.slice(i))}d=(t==16?"0x":t==2?"0b":t==8?"0o":"")+d}return e.s<0?"-"+d:d}function sb(e,t){if(e.length>t)return e.length=t,!0}function EA(e){return new this(e).abs()}function OA(e){return new this(e).acos()}function IA(e){return new this(e).acosh()}function AA(e,t){return new this(e).plus(t)}function xA(e){return new this(e).asin()}function CA(e){return new this(e).asinh()}function NA(e){return new this(e).atan()}function RA(e){return new this(e).atanh()}function MA(e,t){e=new this(e),t=new this(t);var n,r=this.precision,s=this.rounding,i=r+4;return!e.s||!t.s?n=new this(NaN):!e.d&&!t.d?(n=Mr(this,i,1).times(t.s>0?.25:.75),n.s=e.s):!t.d||e.isZero()?(n=t.s<0?Mr(this,r,s):new this(0),n.s=e.s):!e.d||t.isZero()?(n=Mr(this,i,1).times(.5),n.s=e.s):t.s<0?(this.precision=i,this.rounding=1,n=this.atan(qe(e,t,i,1)),t=Mr(this,i,1),this.precision=r,this.rounding=s,n=e.s<0?n.minus(t):n.plus(t)):n=this.atan(qe(e,t,i,1)),n}function BA(e){return new this(e).cbrt()}function jA(e){return de(e=new this(e),e.e+1,2)}function DA(e,t,n){return new this(e).clamp(t,n)}function UA(e){if(!e||typeof e!="object")throw Error(ku+"Object expected");var t,n,r,s=e.defaults===!0,i=["precision",1,Ps,"rounding",0,8,"toExpNeg",-go,0,"toExpPos",0,go,"maxE",0,go,"minE",-go,0,"modulo",0,9];for(t=0;t<i.length;t+=3)if(n=i[t],s&&(this[n]=tf[n]),(r=e[n])!==void 0)if(gn(r)===r&&r>=i[t+1]&&r<=i[t+2])this[n]=r;else throw Error(Us+n+": "+r);if(n="crypto",s&&(this[n]=tf[n]),(r=e[n])!==void 0)if(r===!0||r===!1||r===0||r===1)if(r)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[n]=!0;else throw Error(fb);else this[n]=!1;else throw Error(Us+n+": "+r);return this}function PA(e){return new this(e).cos()}function LA(e){return new this(e).cosh()}function wb(e){var t,n,r;function s(i){var o,a,c,u=this;if(!(u instanceof s))return new s(i);if(u.constructor=s,ib(i)){u.s=i.s,ke?!i.d||i.e>s.maxE?(u.e=NaN,u.d=null):i.e<s.minE?(u.e=0,u.d=[0]):(u.e=i.e,u.d=i.d.slice()):(u.e=i.e,u.d=i.d?i.d.slice():i.d);return}if(c=typeof i,c==="number"){if(i===0){u.s=1/i<0?-1:1,u.e=0,u.d=[0];return}if(i<0?(i=-i,u.s=-1):u.s=1,i===~~i&&i<1e7){for(o=0,a=i;a>=10;a/=10)o++;ke?o>s.maxE?(u.e=NaN,u.d=null):o<s.minE?(u.e=0,u.d=[0]):(u.e=o,u.d=[i]):(u.e=o,u.d=[i]);return}if(i*0!==0){i||(u.s=NaN),u.e=NaN,u.d=null;return}return yu(u,i.toString())}if(c==="string")return(a=i.charCodeAt(0))===45?(i=i.slice(1),u.s=-1):(a===43&&(i=i.slice(1)),u.s=1),hb.test(i)?yu(u,i):kA(u,i);if(c==="bigint")return i<0?(i=-i,u.s=-1):u.s=1,yu(u,i.toString());throw Error(Us+i)}if(s.prototype=$,s.ROUND_UP=0,s.ROUND_DOWN=1,s.ROUND_CEIL=2,s.ROUND_FLOOR=3,s.ROUND_HALF_UP=4,s.ROUND_HALF_DOWN=5,s.ROUND_HALF_EVEN=6,s.ROUND_HALF_CEIL=7,s.ROUND_HALF_FLOOR=8,s.EUCLID=9,s.config=s.set=UA,s.clone=wb,s.isDecimal=ib,s.abs=EA,s.acos=OA,s.acosh=IA,s.add=AA,s.asin=xA,s.asinh=CA,s.atan=NA,s.atanh=RA,s.atan2=MA,s.cbrt=BA,s.ceil=jA,s.clamp=DA,s.cos=PA,s.cosh=LA,s.div=VA,s.exp=FA,s.floor=$A,s.hypot=qA,s.ln=GA,s.log=zA,s.log10=HA,s.log2=WA,s.max=JA,s.min=ZA,s.mod=KA,s.mul=XA,s.pow=YA,s.random=QA,s.round=ex,s.sign=tx,s.sin=nx,s.sinh=rx,s.sqrt=sx,s.sub=ix,s.sum=ox,s.tan=ax,s.tanh=cx,s.trunc=ux,e===void 0&&(e={}),e&&e.defaults!==!0)for(r=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],t=0;t<r.length;)e.hasOwnProperty(n=r[t++])||(e[n]=this[n]);return s.config(e),s}function VA(e,t){return new this(e).div(t)}function FA(e){return new this(e).exp()}function $A(e){return de(e=new this(e),e.e+1,3)}function qA(){var e,t,n=new this(0);for(ke=!1,e=0;e<arguments.length;)if(t=new this(arguments[e++]),t.d)n.d&&(n=n.plus(t.times(t)));else{if(t.s)return ke=!0,new this(1/0);n=t}return ke=!0,n.sqrt()}function ib(e){return e instanceof ka||e&&e.toStringTag===mb||!1}function GA(e){return new this(e).ln()}function zA(e,t){return new this(e).log(t)}function WA(e){return new this(e).log(2)}function HA(e){return new this(e).log(10)}function JA(){return bb(this,arguments,-1)}function ZA(){return bb(this,arguments,1)}function KA(e,t){return new this(e).mod(t)}function XA(e,t){return new this(e).mul(t)}function YA(e,t){return new this(e).pow(t)}function QA(e){var t,n,r,s,i=0,o=new this(1),a=[];if(e===void 0?e=this.precision:Mn(e,1,Ps),r=Math.ceil(e/_e),this.crypto)if(crypto.getRandomValues)for(t=crypto.getRandomValues(new Uint32Array(r));i<r;)s=t[i],s>=429e7?t[i]=crypto.getRandomValues(new Uint32Array(1))[0]:a[i++]=s%1e7;else if(crypto.randomBytes){for(t=crypto.randomBytes(r*=4);i<r;)s=t[i]+(t[i+1]<<8)+(t[i+2]<<16)+((t[i+3]&127)<<24),s>=214e7?crypto.randomBytes(4).copy(t,i):(a.push(s%1e7),i+=4);i=r/4}else throw Error(fb);else for(;i<r;)a[i++]=Math.random()*1e7|0;for(r=a[--i],e%=_e,r&&e&&(s=Zt(10,_e-e),a[i]=(r/s|0)*s);a[i]===0;i--)a.pop();if(i<0)n=0,a=[0];else{for(n=-1;a[0]===0;n-=_e)a.shift();for(r=1,s=a[0];s>=10;s/=10)r++;r<_e&&(n-=_e-r)}return o.e=n,o.d=a,o}function ex(e){return de(e=new this(e),e.e+1,this.rounding)}function tx(e){return e=new this(e),e.d?e.d[0]?e.s:0*e.s:e.s||NaN}function nx(e){return new this(e).sin()}function rx(e){return new this(e).sinh()}function sx(e){return new this(e).sqrt()}function ix(e,t){return new this(e).sub(t)}function ox(){var e=0,t=arguments,n=new this(t[e]);for(ke=!1;n.s&&++e<t.length;)n=n.plus(t[e]);return ke=!0,de(n,this.precision,this.rounding)}function ax(e){return new this(e).tan()}function cx(e){return new this(e).tanh()}function ux(e){return de(e=new this(e),e.e+1,1)}$[Symbol.for("nodejs.util.inspect.custom")]=$.toString;$[Symbol.toStringTag]="Decimal";var ka=$.constructor=wb(tf);vu=new ka(vu);_u=new ka(_u);var Tu=ka;function bu(e){return Tu.isDecimal(e)?e:new Tu(e===void 0?0:e)}var Tb="0x2::sui::SUI",lx="0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI";var dx=class qt{static totalBalance(t,n){let r=BigInt(0);return t.forEach(s=>{n===s.coin_type&&(r+=BigInt(s.balance))}),r}static getCoinAssets(t,n){let r=[];return n.forEach(s=>{ab(s.coin_type)===ab(t)&&r.push(s)}),r}static isSuiCoin(t){return Ii(t).full_address===Tb}static selectCoinObjectIdGreaterThanOrEqual(t,n,r=[]){let s=qt.selectCoinAssetGreaterThanOrEqual(t,n,r),i=s.selected_coins.map(c=>c.coin_object_id),o=s.remain_coins,a=s.selected_coins.map(c=>c.balance.toString());return{object_array:i,remain_coins:o,amount_array:a}}static selectCoinAssetGreaterThanOrEqual(t,n,r=[]){let s=qt.sortByBalance(t.filter(u=>!r.includes(u.coin_object_id))),i=qt.calculateTotalBalance(s);if(i<n)return{selected_coins:[],remain_coins:s};if(i===n)return{selected_coins:s,remain_coins:[]};let o=BigInt(0),a=[],c=[...s];for(;o<i;){let u=n-o,d=c.findIndex(f=>f.balance>=u);if(d!==-1){a.push(c[d]),c.splice(d,1);break}let p=c.pop();p.balance>0&&(a.push(p),o+=p.balance)}return{selected_coins:qt.sortByBalance(a),remain_coins:qt.sortByBalance(c)}}static sortByBalance(t){return t.sort((n,r)=>n.balance<r.balance?-1:n.balance>r.balance?1:0)}static sortByBalanceDes(t){return t.sort((n,r)=>n.balance>r.balance?-1:n.balance<r.balance?0:1)}static calculateTotalBalance(t){return t.reduce((n,r)=>n+r.balance,BigInt(0))}static buildCoinForAmount(t,n,r,s,i=!0,o=!0){let a=qt.getCoinAssets(s,n);if(r===BigInt(0))return this.buildZeroValueCoin(n,t,s,i);let c=qt.calculateTotalBalance(a);if(c<r)throw new Error(`The amount(${c}) is Insufficient balance for ${s} , expect ${r} `);return this.buildCoin(t,n,a,r,s,i,o)}static buildCoinWithBalance(t,n,r){return t===BigInt(0)&&qt.isSuiCoin(n)?r.add(Kn({balance:t,useGasCoin:!1})):r.add(Kn({balance:t,type:n}))}static buildVectorCoin(t,n,r,s,i,o=!0){if(qt.isSuiCoin(i)){let f=t.splitCoins(t.gas,[t.pure.u64(s)]);return{selected_coins:[],target_coin:f,remain_coins:n,target_coin_amount:s.toString(),is_mint_zero_coin:!1,original_spited_coin:t.gas}}let{original_spited_coin:a,target_coin:c,target_coin_amount:u,remain_coins:d,selected_coins:p}=this.buildSpitTargeCoin(t,s,r,o);return o?{target_coin:t.makeMoveVec({elements:[c]}),selected_coins:p,remain_coins:d,target_coin_amount:u,is_mint_zero_coin:!1,original_spited_coin:a}:{selected_coins:p,target_coin:t.makeMoveVec({elements:p.map(f=>t.object(f))}),remain_coins:d,target_coin_amount:u,is_mint_zero_coin:!1}}static buildOneCoin(t,n,r,s,i=!0){if(qt.isSuiCoin(s)){if(r===0n&&n.length>1){let c=qt.selectCoinObjectIdGreaterThanOrEqual(n,r);return{selected_coins:c.object_array,target_coin:t.object(c.object_array[0]),remain_coins:c.remain_coins,target_coin_amount:c.amount_array[0],is_mint_zero_coin:!1}}let o=qt.selectCoinObjectIdGreaterThanOrEqual(n,r),a=t.splitCoins(t.gas,[t.pure.u64(r)]);return{selected_coins:[],target_coin:a,remain_coins:o.remain_coins,target_coin_amount:r.toString(),is_mint_zero_coin:!1,original_spited_coin:t.gas}}return this.buildSpitTargeCoin(t,r,n,i)}static buildSpitTargeCoin(t,n,r,s){let i=qt.selectCoinObjectIdGreaterThanOrEqual(r,n),o=i.amount_array.reduce((b,_)=>Number(b)+Number(_),0).toString(),a=i.object_array,[c,...u]=a,d=t.object(c),p=d,f=i.amount_array.reduce((b,_)=>Number(b)+Number(_),0).toString(),g;return u.length>0&&t.mergeCoins(d,u.map(b=>t.object(b))),s&&Number(o)>Number(n)&&(p=t.splitCoins(d,[t.pure.u64(n)]),g=d),{original_spited_coin:g,target_coin:p,target_coin_amount:f,remain_coins:i.remain_coins,selected_coins:i.object_array,is_mint_zero_coin:!1}}static buildCoin(t,n,r,s,i,o=!0,a=!0){return o?this.buildVectorCoin(t,n,r,s,i,a):this.buildOneCoin(t,r,s,i,a)}static buildZeroValueCoin(t,n,r,s=!0){let i=this.callMintZeroValueCoin(n,r),o;return s?o=n.makeMoveVec({elements:[i]}):o=i,{target_coin:o,remain_coins:t,selected_coins:[],is_mint_zero_coin:!0,target_coin_amount:"0"}}static buildCoinForAmountInterval(t,n,r,s,i=!0,o=!0){let a=qt.getCoinAssets(s,n);if(r.amount_first===BigInt(0))return a.length>0?this.buildCoin(t,[...n],[...a],r.amount_first,s,i,o):this.buildZeroValueCoin(n,t,s,i);let c=qt.calculateTotalBalance(a);if(c>=r.amount_first)return this.buildCoin(t,[...n],[...a],r.amount_first,s,i,o);if(c<r.amount_second)throw new Error(`The amount(${c}) is Insufficient balance for ${s} , expect ${r.amount_second} `);return this.buildCoin(t,[...n],[...a],r.amount_second,s,i,o)}static{this.callMintZeroValueCoin=(t,n)=>t.moveCall({target:"0x2::coin::zero",typeArguments:[n]})}static fromBalance(t,n,r){return r.moveCall({target:"0x2::coin::from_balance",typeArguments:[n],arguments:[t]})}static intoBalance(t,n,r){return r.moveCall({target:"0x2::coin::into_balance",typeArguments:[n],arguments:[typeof t=="string"?r.object(t):t]})}static mintBalanceZero(t,n){return n.moveCall({target:"0x2::balance::zero",typeArguments:[t],arguments:[]})}static destroyBalanceZero(t,n,r){return r.moveCall({target:"0x2::balance::destroy_zero",typeArguments:[n],arguments:[t]})}static getCoinAmountObjId(t,n){let r=t.amount_coin_array.find(s=>!s.used&&bu(s.amount).eq(n)?(s.used=!0,!0):!1);return r?r.coin_object_id:tb("CoinNotFound",`Coin not found for ${n} ${t.coin_type}`)}static buildMultiCoinInput(t,n,r,s){let i=qt.getCoinAssets(r,n);if(qt.isSuiCoin(r)){let p=t.splitCoins(t.gas,s.map(f=>t.pure.u64(f)));return{amount_coin_array:s.map((f,g)=>({coin_object_id:p[g],amount:f.toString(),used:!1})),coin_type:r,remain_coins:i}}let o=s.reduce((p,f)=>p+f,BigInt(0)),a=qt.selectCoinObjectIdGreaterThanOrEqual(i,o);if(a.object_array.length===0)return tb("InsufficientBalance",`No enough coins for ${r} expect ${o} actual ${qt.calculateTotalBalance(i)}`);let[c,...u]=a.object_array;u.length>0&&t.mergeCoins(c,[...u]);let d=t.splitCoins(c,s.map(p=>t.pure.u64(p)));return{amount_coin_array:s.map((p,f)=>({coin_object_id:d[f],amount:p.toString(),used:!1})),remain_coins:a.remain_coins,coin_type:r}}};function px(e){return e.startsWith("0x")?`${e.slice(2)}`:e}function ob(e,...t){let n=Array.isArray(t[t.length-1])?t.pop():[],r=[e,...t].filter(Boolean).join("::");return n&&n.length&&(r+=`<${n.join(", ")}>`),r}function Ii(e){try{let t=e.replace(/\s/g,""),n=t.match(/(<.+>)$/)?.[0]?.match(/(\w+::\w+::\w+)(?:<.*?>(?!>))?/g);if(n){t=t.slice(0,t.indexOf("<"));let i={...Ii(t),type_arguments:n.map(o=>Ii(o).source_address)};return i.type_arguments=i.type_arguments.map(o=>dx.isSuiCoin(o)?o:Ii(o).source_address),i.source_address=ob(i.full_address,i.type_arguments),i}let r=t.split("::"),s={full_address:t,address:t===Tb||t===lx?"0x2":Ft(r[0]),module:r[1],name:r[2],type_arguments:[],source_address:""};return s.full_address=`${s.address}::${s.module}::${s.name}`,s.source_address=ob(s.full_address,s.type_arguments),s}catch{return{full_address:e,address:"",module:"",name:"",type_arguments:[],source_address:e}}}function ab(e){return Ii(e).source_address}var sf=(e,t=!0)=>{let n=e.split("::"),r=n.shift(),s=Ft(r);return t&&(s=px(s)),`${s}::${n.join("::")}`};function fx(e){return`0x${Buffer.from(e).toString("hex")}`}function mx(e,t,n,r){let s;switch(r){case"address":s=E.Address.serialize(t).toBytes();break;case"u8":s=E.u8().serialize(t).toBytes();break;case"u16":s=E.u16().serialize(t).toBytes();break;case"u32":s=E.u32().serialize(t).toBytes();break;case"u64":s=E.u64().serialize(t).toBytes();break;case"u128":s=E.u128().serialize(t).toBytes();break;case"u256":s=E.u256().serialize(t).toBytes();break;case"string":s=E.string().serialize(t).toBytes();break;default:throw new Error(`Unsupported value type: ${r}`)}return or(e,n,s)}var hx=eo(`
|
|
861
|
+
Clients should implement reconnection logic to maintain continuous price updates.`,requestFormat:"json",parameters:[{name:"ids[]",type:"Query",schema:pe.array(mu)},{name:"encoding",type:"Query",schema:pe.enum(["hex","base64"]).optional()},{name:"parsed",type:"Query",schema:pe.boolean().optional()},{name:"allow_unordered",type:"Query",schema:pe.boolean().optional()},{name:"benchmarks_only",type:"Query",schema:pe.boolean().optional()},{name:"ignore_invalid_price_ids",type:"Query",schema:pe.boolean().optional()}],response:hu,errors:[{status:404,description:"Price ids not found",schema:pe.void()}]},{method:"get",path:"/v2/updates/publisher_stake_caps/latest",alias:"latest_publisher_stake_caps",description:"Get the most recent publisher stake caps update data.",requestFormat:"json",parameters:[{name:"encoding",type:"Query",schema:pe.enum(["hex","base64"]).optional()},{name:"parsed",type:"Query",schema:pe.boolean().optional()}],response:eb}]),HF=new zy(nA);var rA=5e3,sA=3,gu=class{baseURL;timeout;httpRetries;headers;accessToken;constructor(t,n){this.baseURL=t,this.timeout=n?.timeout??rA,this.httpRetries=n?.httpRetries??sA,this.headers=n?.headers??{},this.accessToken=n?.accessToken}async httpRequest(t,n,r,s=this.httpRetries,i=100+Math.floor(Math.random()*100)){try{let o={};this.accessToken!==void 0&&(o.Authorization=`Bearer ${this.accessToken}`);let a=await fetch(t,{...r,signal:AbortSignal.any([...r?.signal?[r.signal]:[],AbortSignal.timeout(this.timeout)]),headers:{...o,...this.headers,...r?.headers}});if(!a.ok){let u=await a.text();throw new Error(`HTTP error! status: ${a.status.toString()}${u?`, body: ${u}`:""}`)}let c=await a.json();return n.parse(c)}catch(o){if(s>0&&!(o instanceof Error&&o.name==="AbortError"))return await new Promise(a=>setTimeout(a,i)),this.httpRequest(t,n,r,s-1,i*2);throw o}}async getPriceFeeds({fetchOptions:t,...n}={}){let r=this.buildURL("price_feeds");if(n){let s=ya(n);this.appendUrlSearchParams(r,s)}return await this.httpRequest(r.toString(),_a.PriceFeedMetadata.array(),t)}async getLatestPublisherCaps({fetchOptions:t,...n}={}){let r=this.buildURL("updates/publisher_stake_caps/latest");return n&&this.appendUrlSearchParams(r,n),await this.httpRequest(r.toString(),_a.LatestPublisherStakeCapsUpdateDataResponse,t)}async getLatestPriceUpdates(t,n,r){let s=this.buildURL("updates/price/latest");for(let i of t)s.searchParams.append("ids[]",i);if(n){let i=ya(n);this.appendUrlSearchParams(s,i)}return this.httpRequest(s.toString(),_a.PriceUpdate,r)}async getPriceUpdatesAtTimestamp(t,n,r,s){let i=this.buildURL(`updates/price/${t.toString()}`);for(let o of n)i.searchParams.append("ids[]",o);if(r){let o=ya(r);this.appendUrlSearchParams(i,o)}return this.httpRequest(i.toString(),_a.PriceUpdate,s)}async getPriceUpdatesStream(t,n){let r=this.buildURL("updates/price/stream");for(let i of t)r.searchParams.append("ids[]",i);if(n){let i=ya(n);this.appendUrlSearchParams(r,i)}let s={};return this.accessToken!==void 0&&(s.Authorization=`Bearer ${this.accessToken}`),new fi(r.toString(),{fetch:(i,o)=>fetch(i,{...o,headers:{...o?.headers,...s,...this.headers}})})}appendUrlSearchParams(t,n){for(let[r,s]of Object.entries(n))s!==void 0&&t.searchParams.append(r,String(s))}buildURL(t){return new URL(`./v2/${t}`,`${this.baseURL}${this.baseURL.endsWith("/")?"":"/"}`)}};var iA=Object.create,ub=Object.defineProperty,oA=Object.getOwnPropertyDescriptor,aA=Object.getOwnPropertyNames,cA=Object.getPrototypeOf,uA=Object.prototype.hasOwnProperty,lA=(e=>typeof Fs<"u"?Fs:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof Fs<"u"?Fs:t)[n]}):e)(function(e){if(typeof Fs<"u")return Fs.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')}),dA=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),pA=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of aA(t))!uA.call(e,s)&&s!==n&&ub(e,s,{get:()=>t[s],enumerable:!(r=oA(t,s))||r.enumerable});return e},Ta=(e,t,n)=>(n=e!=null?iA(cA(e)):{},pA(t||!e||!e.__esModule?ub(n,"default",{value:e,enumerable:!0}):n,e)),ka=dA((e,t)=>{"use strict";(function(n,r){"use strict";function s(l,m){if(!l)throw new Error(m||"Assertion failed")}function i(l,m){l.super_=m;var y=function(){};y.prototype=m.prototype,l.prototype=new y,l.prototype.constructor=l}function o(l,m,y){if(o.isBN(l))return l;this.negative=0,this.words=null,this.length=0,this.red=null,l!==null&&((m==="le"||m==="be")&&(y=m,m=10),this._init(l||0,m||10,y||"be"))}typeof n=="object"?n.exports=o:r.BN=o,o.BN=o,o.wordSize=26;var a;try{typeof window<"u"&&typeof window.Buffer<"u"?a=window.Buffer:a=lA("buffer").Buffer}catch{}o.isBN=function(l){return l instanceof o?!0:l!==null&&typeof l=="object"&&l.constructor.wordSize===o.wordSize&&Array.isArray(l.words)},o.max=function(l,m){return l.cmp(m)>0?l:m},o.min=function(l,m){return l.cmp(m)<0?l:m},o.prototype._init=function(l,m,y){if(typeof l=="number")return this._initNumber(l,m,y);if(typeof l=="object")return this._initArray(l,m,y);m==="hex"&&(m=16),s(m===(m|0)&&m>=2&&m<=36),l=l.toString().replace(/\s+/g,"");var v=0;l[0]==="-"&&(v++,this.negative=1),v<l.length&&(m===16?this._parseHex(l,v,y):(this._parseBase(l,m,v),y==="le"&&this._initArray(this.toArray(),m,y)))},o.prototype._initNumber=function(l,m,y){l<0&&(this.negative=1,l=-l),l<67108864?(this.words=[l&67108863],this.length=1):l<4503599627370496?(this.words=[l&67108863,l/67108864&67108863],this.length=2):(s(l<9007199254740992),this.words=[l&67108863,l/67108864&67108863,1],this.length=3),y==="le"&&this._initArray(this.toArray(),m,y)},o.prototype._initArray=function(l,m,y){if(s(typeof l.length=="number"),l.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(l.length/3),this.words=new Array(this.length);for(var v=0;v<this.length;v++)this.words[v]=0;var w,O,x=0;if(y==="be")for(v=l.length-1,w=0;v>=0;v-=3)O=l[v]|l[v-1]<<8|l[v-2]<<16,this.words[w]|=O<<x&67108863,this.words[w+1]=O>>>26-x&67108863,x+=24,x>=26&&(x-=26,w++);else if(y==="le")for(v=0,w=0;v<l.length;v+=3)O=l[v]|l[v+1]<<8|l[v+2]<<16,this.words[w]|=O<<x&67108863,this.words[w+1]=O>>>26-x&67108863,x+=24,x>=26&&(x-=26,w++);return this._strip()};function c(l,m){var y=l.charCodeAt(m);if(y>=48&&y<=57)return y-48;if(y>=65&&y<=70)return y-55;if(y>=97&&y<=102)return y-87;s(!1,"Invalid character in "+l)}function u(l,m,y){var v=c(l,y);return y-1>=m&&(v|=c(l,y-1)<<4),v}o.prototype._parseHex=function(l,m,y){this.length=Math.ceil((l.length-m)/6),this.words=new Array(this.length);for(var v=0;v<this.length;v++)this.words[v]=0;var w=0,O=0,x;if(y==="be")for(v=l.length-1;v>=m;v-=2)x=u(l,m,v)<<w,this.words[O]|=x&67108863,w>=18?(w-=18,O+=1,this.words[O]|=x>>>26):w+=8;else{var T=l.length-m;for(v=T%2===0?m+1:m;v<l.length;v+=2)x=u(l,m,v)<<w,this.words[O]|=x&67108863,w>=18?(w-=18,O+=1,this.words[O]|=x>>>26):w+=8}this._strip()};function d(l,m,y,v){for(var w=0,O=0,x=Math.min(l.length,y),T=m;T<x;T++){var h=l.charCodeAt(T)-48;w*=v,h>=49?O=h-49+10:h>=17?O=h-17+10:O=h,s(h>=0&&O<v,"Invalid character"),w+=O}return w}o.prototype._parseBase=function(l,m,y){this.words=[0],this.length=1;for(var v=0,w=1;w<=67108863;w*=m)v++;v--,w=w/m|0;for(var O=l.length-y,x=O%v,T=Math.min(O,O-x)+y,h=0,S=y;S<T;S+=v)h=d(l,S,S+v,m),this.imuln(w),this.words[0]+h<67108864?this.words[0]+=h:this._iaddn(h);if(x!==0){var W=1;for(h=d(l,S,l.length,m),S=0;S<x;S++)W*=m;this.imuln(W),this.words[0]+h<67108864?this.words[0]+=h:this._iaddn(h)}this._strip()},o.prototype.copy=function(l){l.words=new Array(this.length);for(var m=0;m<this.length;m++)l.words[m]=this.words[m];l.length=this.length,l.negative=this.negative,l.red=this.red};function p(l,m){l.words=m.words,l.length=m.length,l.negative=m.negative,l.red=m.red}if(o.prototype._move=function(l){p(l,this)},o.prototype.clone=function(){var l=new o(null);return this.copy(l),l},o.prototype._expand=function(l){for(;this.length<l;)this.words[this.length++]=0;return this},o.prototype._strip=function(){for(;this.length>1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},o.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},typeof Symbol<"u"&&typeof Symbol.for=="function")try{o.prototype[Symbol.for("nodejs.util.inspect.custom")]=f}catch{o.prototype.inspect=f}else o.prototype.inspect=f;function f(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"}var g=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],b=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],_=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];o.prototype.toString=function(l,m){l=l||10,m=m|0||1;var y;if(l===16||l==="hex"){y="";for(var v=0,w=0,O=0;O<this.length;O++){var x=this.words[O],T=((x<<v|w)&16777215).toString(16);w=x>>>24-v&16777215,v+=2,v>=26&&(v-=26,O--),w!==0||O!==this.length-1?y=g[6-T.length]+T+y:y=T+y}for(w!==0&&(y=w.toString(16)+y);y.length%m!==0;)y="0"+y;return this.negative!==0&&(y="-"+y),y}if(l===(l|0)&&l>=2&&l<=36){var h=b[l],S=_[l];y="";var W=this.clone();for(W.negative=0;!W.isZero();){var K=W.modrn(S).toString(l);W=W.idivn(S),W.isZero()?y=K+y:y=g[h-K.length]+K+y}for(this.isZero()&&(y="0"+y);y.length%m!==0;)y="0"+y;return this.negative!==0&&(y="-"+y),y}s(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var l=this.words[0];return this.length===2?l+=this.words[1]*67108864:this.length===3&&this.words[2]===1?l+=4503599627370496+this.words[1]*67108864:this.length>2&&s(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-l:l},o.prototype.toJSON=function(){return this.toString(16,2)},a&&(o.prototype.toBuffer=function(l,m){return this.toArrayLike(a,l,m)}),o.prototype.toArray=function(l,m){return this.toArrayLike(Array,l,m)};var I=function(l,m){return l.allocUnsafe?l.allocUnsafe(m):new l(m)};o.prototype.toArrayLike=function(l,m,y){this._strip();var v=this.byteLength(),w=y||Math.max(1,v);s(v<=w,"byte array longer than desired length"),s(w>0,"Requested array length <= 0");var O=I(l,w),x=m==="le"?"LE":"BE";return this["_toArrayLike"+x](O,v),O},o.prototype._toArrayLikeLE=function(l,m){for(var y=0,v=0,w=0,O=0;w<this.length;w++){var x=this.words[w]<<O|v;l[y++]=x&255,y<l.length&&(l[y++]=x>>8&255),y<l.length&&(l[y++]=x>>16&255),O===6?(y<l.length&&(l[y++]=x>>24&255),v=0,O=0):(v=x>>>24,O+=2)}if(y<l.length)for(l[y++]=v;y<l.length;)l[y++]=0},o.prototype._toArrayLikeBE=function(l,m){for(var y=l.length-1,v=0,w=0,O=0;w<this.length;w++){var x=this.words[w]<<O|v;l[y--]=x&255,y>=0&&(l[y--]=x>>8&255),y>=0&&(l[y--]=x>>16&255),O===6?(y>=0&&(l[y--]=x>>24&255),v=0,O=0):(v=x>>>24,O+=2)}if(y>=0)for(l[y--]=v;y>=0;)l[y--]=0},Math.clz32?o.prototype._countBits=function(l){return 32-Math.clz32(l)}:o.prototype._countBits=function(l){var m=l,y=0;return m>=4096&&(y+=13,m>>>=13),m>=64&&(y+=7,m>>>=7),m>=8&&(y+=4,m>>>=4),m>=2&&(y+=2,m>>>=2),y+m},o.prototype._zeroBits=function(l){if(l===0)return 26;var m=l,y=0;return!(m&8191)&&(y+=13,m>>>=13),!(m&127)&&(y+=7,m>>>=7),!(m&15)&&(y+=4,m>>>=4),!(m&3)&&(y+=2,m>>>=2),!(m&1)&&y++,y},o.prototype.bitLength=function(){var l=this.words[this.length-1],m=this._countBits(l);return(this.length-1)*26+m};function A(l){for(var m=new Array(l.bitLength()),y=0;y<m.length;y++){var v=y/26|0,w=y%26;m[y]=l.words[v]>>>w&1}return m}o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var l=0,m=0;m<this.length;m++){var y=this._zeroBits(this.words[m]);if(l+=y,y!==26)break}return l},o.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},o.prototype.toTwos=function(l){return this.negative!==0?this.abs().inotn(l).iaddn(1):this.clone()},o.prototype.fromTwos=function(l){return this.testn(l-1)?this.notn(l).iaddn(1).ineg():this.clone()},o.prototype.isNeg=function(){return this.negative!==0},o.prototype.neg=function(){return this.clone().ineg()},o.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},o.prototype.iuor=function(l){for(;this.length<l.length;)this.words[this.length++]=0;for(var m=0;m<l.length;m++)this.words[m]=this.words[m]|l.words[m];return this._strip()},o.prototype.ior=function(l){return s((this.negative|l.negative)===0),this.iuor(l)},o.prototype.or=function(l){return this.length>l.length?this.clone().ior(l):l.clone().ior(this)},o.prototype.uor=function(l){return this.length>l.length?this.clone().iuor(l):l.clone().iuor(this)},o.prototype.iuand=function(l){var m;this.length>l.length?m=l:m=this;for(var y=0;y<m.length;y++)this.words[y]=this.words[y]&l.words[y];return this.length=m.length,this._strip()},o.prototype.iand=function(l){return s((this.negative|l.negative)===0),this.iuand(l)},o.prototype.and=function(l){return this.length>l.length?this.clone().iand(l):l.clone().iand(this)},o.prototype.uand=function(l){return this.length>l.length?this.clone().iuand(l):l.clone().iuand(this)},o.prototype.iuxor=function(l){var m,y;this.length>l.length?(m=this,y=l):(m=l,y=this);for(var v=0;v<y.length;v++)this.words[v]=m.words[v]^y.words[v];if(this!==m)for(;v<m.length;v++)this.words[v]=m.words[v];return this.length=m.length,this._strip()},o.prototype.ixor=function(l){return s((this.negative|l.negative)===0),this.iuxor(l)},o.prototype.xor=function(l){return this.length>l.length?this.clone().ixor(l):l.clone().ixor(this)},o.prototype.uxor=function(l){return this.length>l.length?this.clone().iuxor(l):l.clone().iuxor(this)},o.prototype.inotn=function(l){s(typeof l=="number"&&l>=0);var m=Math.ceil(l/26)|0,y=l%26;this._expand(m),y>0&&m--;for(var v=0;v<m;v++)this.words[v]=~this.words[v]&67108863;return y>0&&(this.words[v]=~this.words[v]&67108863>>26-y),this._strip()},o.prototype.notn=function(l){return this.clone().inotn(l)},o.prototype.setn=function(l,m){s(typeof l=="number"&&l>=0);var y=l/26|0,v=l%26;return this._expand(y+1),m?this.words[y]=this.words[y]|1<<v:this.words[y]=this.words[y]&~(1<<v),this._strip()},o.prototype.iadd=function(l){var m;if(this.negative!==0&&l.negative===0)return this.negative=0,m=this.isub(l),this.negative^=1,this._normSign();if(this.negative===0&&l.negative!==0)return l.negative=0,m=this.isub(l),l.negative=1,m._normSign();var y,v;this.length>l.length?(y=this,v=l):(y=l,v=this);for(var w=0,O=0;O<v.length;O++)m=(y.words[O]|0)+(v.words[O]|0)+w,this.words[O]=m&67108863,w=m>>>26;for(;w!==0&&O<y.length;O++)m=(y.words[O]|0)+w,this.words[O]=m&67108863,w=m>>>26;if(this.length=y.length,w!==0)this.words[this.length]=w,this.length++;else if(y!==this)for(;O<y.length;O++)this.words[O]=y.words[O];return this},o.prototype.add=function(l){var m;return l.negative!==0&&this.negative===0?(l.negative=0,m=this.sub(l),l.negative^=1,m):l.negative===0&&this.negative!==0?(this.negative=0,m=l.sub(this),this.negative=1,m):this.length>l.length?this.clone().iadd(l):l.clone().iadd(this)},o.prototype.isub=function(l){if(l.negative!==0){l.negative=0;var m=this.iadd(l);return l.negative=1,m._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(l),this.negative=1,this._normSign();var y=this.cmp(l);if(y===0)return this.negative=0,this.length=1,this.words[0]=0,this;var v,w;y>0?(v=this,w=l):(v=l,w=this);for(var O=0,x=0;x<w.length;x++)m=(v.words[x]|0)-(w.words[x]|0)+O,O=m>>26,this.words[x]=m&67108863;for(;O!==0&&x<v.length;x++)m=(v.words[x]|0)+O,O=m>>26,this.words[x]=m&67108863;if(O===0&&x<v.length&&v!==this)for(;x<v.length;x++)this.words[x]=v.words[x];return this.length=Math.max(this.length,x),v!==this&&(this.negative=1),this._strip()},o.prototype.sub=function(l){return this.clone().isub(l)};function M(l,m,y){y.negative=m.negative^l.negative;var v=l.length+m.length|0;y.length=v,v=v-1|0;var w=l.words[0]|0,O=m.words[0]|0,x=w*O,T=x&67108863,h=x/67108864|0;y.words[0]=T;for(var S=1;S<v;S++){for(var W=h>>>26,K=h&67108863,re=Math.min(S,m.length-1),fe=Math.max(0,S-l.length+1);fe<=re;fe++){var ue=S-fe|0;w=l.words[ue]|0,O=m.words[fe]|0,x=w*O+K,W+=x/67108864|0,K=x&67108863}y.words[S]=K|0,h=W|0}return h!==0?y.words[S]=h|0:y.length--,y._strip()}var C=function(l,m,y){var v=l.words,w=m.words,O=y.words,x=0,T,h,S,W=v[0]|0,K=W&8191,re=W>>>13,fe=v[1]|0,ue=fe&8191,Ee=fe>>>13,Bn=v[2]|0,Pe=Bn&8191,Fe=Bn>>>13,wf=v[3]|0,ot=wf&8191,at=wf>>>13,Tf=v[4]|0,ct=Tf&8191,ut=Tf>>>13,kf=v[5]|0,lt=kf&8191,dt=kf>>>13,Sf=v[6]|0,pt=Sf&8191,ft=Sf>>>13,Ef=v[7]|0,mt=Ef&8191,ht=Ef>>>13,Of=v[8]|0,gt=Of&8191,yt=Of>>>13,If=v[9]|0,bt=If&8191,vt=If>>>13,Af=w[0]|0,_t=Af&8191,wt=Af>>>13,xf=w[1]|0,Tt=xf&8191,kt=xf>>>13,Cf=w[2]|0,St=Cf&8191,Et=Cf>>>13,Nf=w[3]|0,Ot=Nf&8191,It=Nf>>>13,Rf=w[4]|0,At=Rf&8191,xt=Rf>>>13,Mf=w[5]|0,Ct=Mf&8191,Nt=Mf>>>13,Bf=w[6]|0,Rt=Bf&8191,Mt=Bf>>>13,jf=w[7]|0,Bt=jf&8191,jt=jf>>>13,Df=w[8]|0,Dt=Df&8191,Ut=Df>>>13,Uf=w[9]|0,Pt=Uf&8191,Lt=Uf>>>13;y.negative=l.negative^m.negative,y.length=19,T=Math.imul(K,_t),h=Math.imul(K,wt),h=h+Math.imul(re,_t)|0,S=Math.imul(re,wt);var Mu=(x+T|0)+((h&8191)<<13)|0;x=(S+(h>>>13)|0)+(Mu>>>26)|0,Mu&=67108863,T=Math.imul(ue,_t),h=Math.imul(ue,wt),h=h+Math.imul(Ee,_t)|0,S=Math.imul(Ee,wt),T=T+Math.imul(K,Tt)|0,h=h+Math.imul(K,kt)|0,h=h+Math.imul(re,Tt)|0,S=S+Math.imul(re,kt)|0;var Bu=(x+T|0)+((h&8191)<<13)|0;x=(S+(h>>>13)|0)+(Bu>>>26)|0,Bu&=67108863,T=Math.imul(Pe,_t),h=Math.imul(Pe,wt),h=h+Math.imul(Fe,_t)|0,S=Math.imul(Fe,wt),T=T+Math.imul(ue,Tt)|0,h=h+Math.imul(ue,kt)|0,h=h+Math.imul(Ee,Tt)|0,S=S+Math.imul(Ee,kt)|0,T=T+Math.imul(K,St)|0,h=h+Math.imul(K,Et)|0,h=h+Math.imul(re,St)|0,S=S+Math.imul(re,Et)|0;var ju=(x+T|0)+((h&8191)<<13)|0;x=(S+(h>>>13)|0)+(ju>>>26)|0,ju&=67108863,T=Math.imul(ot,_t),h=Math.imul(ot,wt),h=h+Math.imul(at,_t)|0,S=Math.imul(at,wt),T=T+Math.imul(Pe,Tt)|0,h=h+Math.imul(Pe,kt)|0,h=h+Math.imul(Fe,Tt)|0,S=S+Math.imul(Fe,kt)|0,T=T+Math.imul(ue,St)|0,h=h+Math.imul(ue,Et)|0,h=h+Math.imul(Ee,St)|0,S=S+Math.imul(Ee,Et)|0,T=T+Math.imul(K,Ot)|0,h=h+Math.imul(K,It)|0,h=h+Math.imul(re,Ot)|0,S=S+Math.imul(re,It)|0;var Du=(x+T|0)+((h&8191)<<13)|0;x=(S+(h>>>13)|0)+(Du>>>26)|0,Du&=67108863,T=Math.imul(ct,_t),h=Math.imul(ct,wt),h=h+Math.imul(ut,_t)|0,S=Math.imul(ut,wt),T=T+Math.imul(ot,Tt)|0,h=h+Math.imul(ot,kt)|0,h=h+Math.imul(at,Tt)|0,S=S+Math.imul(at,kt)|0,T=T+Math.imul(Pe,St)|0,h=h+Math.imul(Pe,Et)|0,h=h+Math.imul(Fe,St)|0,S=S+Math.imul(Fe,Et)|0,T=T+Math.imul(ue,Ot)|0,h=h+Math.imul(ue,It)|0,h=h+Math.imul(Ee,Ot)|0,S=S+Math.imul(Ee,It)|0,T=T+Math.imul(K,At)|0,h=h+Math.imul(K,xt)|0,h=h+Math.imul(re,At)|0,S=S+Math.imul(re,xt)|0;var Uu=(x+T|0)+((h&8191)<<13)|0;x=(S+(h>>>13)|0)+(Uu>>>26)|0,Uu&=67108863,T=Math.imul(lt,_t),h=Math.imul(lt,wt),h=h+Math.imul(dt,_t)|0,S=Math.imul(dt,wt),T=T+Math.imul(ct,Tt)|0,h=h+Math.imul(ct,kt)|0,h=h+Math.imul(ut,Tt)|0,S=S+Math.imul(ut,kt)|0,T=T+Math.imul(ot,St)|0,h=h+Math.imul(ot,Et)|0,h=h+Math.imul(at,St)|0,S=S+Math.imul(at,Et)|0,T=T+Math.imul(Pe,Ot)|0,h=h+Math.imul(Pe,It)|0,h=h+Math.imul(Fe,Ot)|0,S=S+Math.imul(Fe,It)|0,T=T+Math.imul(ue,At)|0,h=h+Math.imul(ue,xt)|0,h=h+Math.imul(Ee,At)|0,S=S+Math.imul(Ee,xt)|0,T=T+Math.imul(K,Ct)|0,h=h+Math.imul(K,Nt)|0,h=h+Math.imul(re,Ct)|0,S=S+Math.imul(re,Nt)|0;var Pu=(x+T|0)+((h&8191)<<13)|0;x=(S+(h>>>13)|0)+(Pu>>>26)|0,Pu&=67108863,T=Math.imul(pt,_t),h=Math.imul(pt,wt),h=h+Math.imul(ft,_t)|0,S=Math.imul(ft,wt),T=T+Math.imul(lt,Tt)|0,h=h+Math.imul(lt,kt)|0,h=h+Math.imul(dt,Tt)|0,S=S+Math.imul(dt,kt)|0,T=T+Math.imul(ct,St)|0,h=h+Math.imul(ct,Et)|0,h=h+Math.imul(ut,St)|0,S=S+Math.imul(ut,Et)|0,T=T+Math.imul(ot,Ot)|0,h=h+Math.imul(ot,It)|0,h=h+Math.imul(at,Ot)|0,S=S+Math.imul(at,It)|0,T=T+Math.imul(Pe,At)|0,h=h+Math.imul(Pe,xt)|0,h=h+Math.imul(Fe,At)|0,S=S+Math.imul(Fe,xt)|0,T=T+Math.imul(ue,Ct)|0,h=h+Math.imul(ue,Nt)|0,h=h+Math.imul(Ee,Ct)|0,S=S+Math.imul(Ee,Nt)|0,T=T+Math.imul(K,Rt)|0,h=h+Math.imul(K,Mt)|0,h=h+Math.imul(re,Rt)|0,S=S+Math.imul(re,Mt)|0;var Lu=(x+T|0)+((h&8191)<<13)|0;x=(S+(h>>>13)|0)+(Lu>>>26)|0,Lu&=67108863,T=Math.imul(mt,_t),h=Math.imul(mt,wt),h=h+Math.imul(ht,_t)|0,S=Math.imul(ht,wt),T=T+Math.imul(pt,Tt)|0,h=h+Math.imul(pt,kt)|0,h=h+Math.imul(ft,Tt)|0,S=S+Math.imul(ft,kt)|0,T=T+Math.imul(lt,St)|0,h=h+Math.imul(lt,Et)|0,h=h+Math.imul(dt,St)|0,S=S+Math.imul(dt,Et)|0,T=T+Math.imul(ct,Ot)|0,h=h+Math.imul(ct,It)|0,h=h+Math.imul(ut,Ot)|0,S=S+Math.imul(ut,It)|0,T=T+Math.imul(ot,At)|0,h=h+Math.imul(ot,xt)|0,h=h+Math.imul(at,At)|0,S=S+Math.imul(at,xt)|0,T=T+Math.imul(Pe,Ct)|0,h=h+Math.imul(Pe,Nt)|0,h=h+Math.imul(Fe,Ct)|0,S=S+Math.imul(Fe,Nt)|0,T=T+Math.imul(ue,Rt)|0,h=h+Math.imul(ue,Mt)|0,h=h+Math.imul(Ee,Rt)|0,S=S+Math.imul(Ee,Mt)|0,T=T+Math.imul(K,Bt)|0,h=h+Math.imul(K,jt)|0,h=h+Math.imul(re,Bt)|0,S=S+Math.imul(re,jt)|0;var Vu=(x+T|0)+((h&8191)<<13)|0;x=(S+(h>>>13)|0)+(Vu>>>26)|0,Vu&=67108863,T=Math.imul(gt,_t),h=Math.imul(gt,wt),h=h+Math.imul(yt,_t)|0,S=Math.imul(yt,wt),T=T+Math.imul(mt,Tt)|0,h=h+Math.imul(mt,kt)|0,h=h+Math.imul(ht,Tt)|0,S=S+Math.imul(ht,kt)|0,T=T+Math.imul(pt,St)|0,h=h+Math.imul(pt,Et)|0,h=h+Math.imul(ft,St)|0,S=S+Math.imul(ft,Et)|0,T=T+Math.imul(lt,Ot)|0,h=h+Math.imul(lt,It)|0,h=h+Math.imul(dt,Ot)|0,S=S+Math.imul(dt,It)|0,T=T+Math.imul(ct,At)|0,h=h+Math.imul(ct,xt)|0,h=h+Math.imul(ut,At)|0,S=S+Math.imul(ut,xt)|0,T=T+Math.imul(ot,Ct)|0,h=h+Math.imul(ot,Nt)|0,h=h+Math.imul(at,Ct)|0,S=S+Math.imul(at,Nt)|0,T=T+Math.imul(Pe,Rt)|0,h=h+Math.imul(Pe,Mt)|0,h=h+Math.imul(Fe,Rt)|0,S=S+Math.imul(Fe,Mt)|0,T=T+Math.imul(ue,Bt)|0,h=h+Math.imul(ue,jt)|0,h=h+Math.imul(Ee,Bt)|0,S=S+Math.imul(Ee,jt)|0,T=T+Math.imul(K,Dt)|0,h=h+Math.imul(K,Ut)|0,h=h+Math.imul(re,Dt)|0,S=S+Math.imul(re,Ut)|0;var Fu=(x+T|0)+((h&8191)<<13)|0;x=(S+(h>>>13)|0)+(Fu>>>26)|0,Fu&=67108863,T=Math.imul(bt,_t),h=Math.imul(bt,wt),h=h+Math.imul(vt,_t)|0,S=Math.imul(vt,wt),T=T+Math.imul(gt,Tt)|0,h=h+Math.imul(gt,kt)|0,h=h+Math.imul(yt,Tt)|0,S=S+Math.imul(yt,kt)|0,T=T+Math.imul(mt,St)|0,h=h+Math.imul(mt,Et)|0,h=h+Math.imul(ht,St)|0,S=S+Math.imul(ht,Et)|0,T=T+Math.imul(pt,Ot)|0,h=h+Math.imul(pt,It)|0,h=h+Math.imul(ft,Ot)|0,S=S+Math.imul(ft,It)|0,T=T+Math.imul(lt,At)|0,h=h+Math.imul(lt,xt)|0,h=h+Math.imul(dt,At)|0,S=S+Math.imul(dt,xt)|0,T=T+Math.imul(ct,Ct)|0,h=h+Math.imul(ct,Nt)|0,h=h+Math.imul(ut,Ct)|0,S=S+Math.imul(ut,Nt)|0,T=T+Math.imul(ot,Rt)|0,h=h+Math.imul(ot,Mt)|0,h=h+Math.imul(at,Rt)|0,S=S+Math.imul(at,Mt)|0,T=T+Math.imul(Pe,Bt)|0,h=h+Math.imul(Pe,jt)|0,h=h+Math.imul(Fe,Bt)|0,S=S+Math.imul(Fe,jt)|0,T=T+Math.imul(ue,Dt)|0,h=h+Math.imul(ue,Ut)|0,h=h+Math.imul(Ee,Dt)|0,S=S+Math.imul(Ee,Ut)|0,T=T+Math.imul(K,Pt)|0,h=h+Math.imul(K,Lt)|0,h=h+Math.imul(re,Pt)|0,S=S+Math.imul(re,Lt)|0;var $u=(x+T|0)+((h&8191)<<13)|0;x=(S+(h>>>13)|0)+($u>>>26)|0,$u&=67108863,T=Math.imul(bt,Tt),h=Math.imul(bt,kt),h=h+Math.imul(vt,Tt)|0,S=Math.imul(vt,kt),T=T+Math.imul(gt,St)|0,h=h+Math.imul(gt,Et)|0,h=h+Math.imul(yt,St)|0,S=S+Math.imul(yt,Et)|0,T=T+Math.imul(mt,Ot)|0,h=h+Math.imul(mt,It)|0,h=h+Math.imul(ht,Ot)|0,S=S+Math.imul(ht,It)|0,T=T+Math.imul(pt,At)|0,h=h+Math.imul(pt,xt)|0,h=h+Math.imul(ft,At)|0,S=S+Math.imul(ft,xt)|0,T=T+Math.imul(lt,Ct)|0,h=h+Math.imul(lt,Nt)|0,h=h+Math.imul(dt,Ct)|0,S=S+Math.imul(dt,Nt)|0,T=T+Math.imul(ct,Rt)|0,h=h+Math.imul(ct,Mt)|0,h=h+Math.imul(ut,Rt)|0,S=S+Math.imul(ut,Mt)|0,T=T+Math.imul(ot,Bt)|0,h=h+Math.imul(ot,jt)|0,h=h+Math.imul(at,Bt)|0,S=S+Math.imul(at,jt)|0,T=T+Math.imul(Pe,Dt)|0,h=h+Math.imul(Pe,Ut)|0,h=h+Math.imul(Fe,Dt)|0,S=S+Math.imul(Fe,Ut)|0,T=T+Math.imul(ue,Pt)|0,h=h+Math.imul(ue,Lt)|0,h=h+Math.imul(Ee,Pt)|0,S=S+Math.imul(Ee,Lt)|0;var qu=(x+T|0)+((h&8191)<<13)|0;x=(S+(h>>>13)|0)+(qu>>>26)|0,qu&=67108863,T=Math.imul(bt,St),h=Math.imul(bt,Et),h=h+Math.imul(vt,St)|0,S=Math.imul(vt,Et),T=T+Math.imul(gt,Ot)|0,h=h+Math.imul(gt,It)|0,h=h+Math.imul(yt,Ot)|0,S=S+Math.imul(yt,It)|0,T=T+Math.imul(mt,At)|0,h=h+Math.imul(mt,xt)|0,h=h+Math.imul(ht,At)|0,S=S+Math.imul(ht,xt)|0,T=T+Math.imul(pt,Ct)|0,h=h+Math.imul(pt,Nt)|0,h=h+Math.imul(ft,Ct)|0,S=S+Math.imul(ft,Nt)|0,T=T+Math.imul(lt,Rt)|0,h=h+Math.imul(lt,Mt)|0,h=h+Math.imul(dt,Rt)|0,S=S+Math.imul(dt,Mt)|0,T=T+Math.imul(ct,Bt)|0,h=h+Math.imul(ct,jt)|0,h=h+Math.imul(ut,Bt)|0,S=S+Math.imul(ut,jt)|0,T=T+Math.imul(ot,Dt)|0,h=h+Math.imul(ot,Ut)|0,h=h+Math.imul(at,Dt)|0,S=S+Math.imul(at,Ut)|0,T=T+Math.imul(Pe,Pt)|0,h=h+Math.imul(Pe,Lt)|0,h=h+Math.imul(Fe,Pt)|0,S=S+Math.imul(Fe,Lt)|0;var Gu=(x+T|0)+((h&8191)<<13)|0;x=(S+(h>>>13)|0)+(Gu>>>26)|0,Gu&=67108863,T=Math.imul(bt,Ot),h=Math.imul(bt,It),h=h+Math.imul(vt,Ot)|0,S=Math.imul(vt,It),T=T+Math.imul(gt,At)|0,h=h+Math.imul(gt,xt)|0,h=h+Math.imul(yt,At)|0,S=S+Math.imul(yt,xt)|0,T=T+Math.imul(mt,Ct)|0,h=h+Math.imul(mt,Nt)|0,h=h+Math.imul(ht,Ct)|0,S=S+Math.imul(ht,Nt)|0,T=T+Math.imul(pt,Rt)|0,h=h+Math.imul(pt,Mt)|0,h=h+Math.imul(ft,Rt)|0,S=S+Math.imul(ft,Mt)|0,T=T+Math.imul(lt,Bt)|0,h=h+Math.imul(lt,jt)|0,h=h+Math.imul(dt,Bt)|0,S=S+Math.imul(dt,jt)|0,T=T+Math.imul(ct,Dt)|0,h=h+Math.imul(ct,Ut)|0,h=h+Math.imul(ut,Dt)|0,S=S+Math.imul(ut,Ut)|0,T=T+Math.imul(ot,Pt)|0,h=h+Math.imul(ot,Lt)|0,h=h+Math.imul(at,Pt)|0,S=S+Math.imul(at,Lt)|0;var zu=(x+T|0)+((h&8191)<<13)|0;x=(S+(h>>>13)|0)+(zu>>>26)|0,zu&=67108863,T=Math.imul(bt,At),h=Math.imul(bt,xt),h=h+Math.imul(vt,At)|0,S=Math.imul(vt,xt),T=T+Math.imul(gt,Ct)|0,h=h+Math.imul(gt,Nt)|0,h=h+Math.imul(yt,Ct)|0,S=S+Math.imul(yt,Nt)|0,T=T+Math.imul(mt,Rt)|0,h=h+Math.imul(mt,Mt)|0,h=h+Math.imul(ht,Rt)|0,S=S+Math.imul(ht,Mt)|0,T=T+Math.imul(pt,Bt)|0,h=h+Math.imul(pt,jt)|0,h=h+Math.imul(ft,Bt)|0,S=S+Math.imul(ft,jt)|0,T=T+Math.imul(lt,Dt)|0,h=h+Math.imul(lt,Ut)|0,h=h+Math.imul(dt,Dt)|0,S=S+Math.imul(dt,Ut)|0,T=T+Math.imul(ct,Pt)|0,h=h+Math.imul(ct,Lt)|0,h=h+Math.imul(ut,Pt)|0,S=S+Math.imul(ut,Lt)|0;var Wu=(x+T|0)+((h&8191)<<13)|0;x=(S+(h>>>13)|0)+(Wu>>>26)|0,Wu&=67108863,T=Math.imul(bt,Ct),h=Math.imul(bt,Nt),h=h+Math.imul(vt,Ct)|0,S=Math.imul(vt,Nt),T=T+Math.imul(gt,Rt)|0,h=h+Math.imul(gt,Mt)|0,h=h+Math.imul(yt,Rt)|0,S=S+Math.imul(yt,Mt)|0,T=T+Math.imul(mt,Bt)|0,h=h+Math.imul(mt,jt)|0,h=h+Math.imul(ht,Bt)|0,S=S+Math.imul(ht,jt)|0,T=T+Math.imul(pt,Dt)|0,h=h+Math.imul(pt,Ut)|0,h=h+Math.imul(ft,Dt)|0,S=S+Math.imul(ft,Ut)|0,T=T+Math.imul(lt,Pt)|0,h=h+Math.imul(lt,Lt)|0,h=h+Math.imul(dt,Pt)|0,S=S+Math.imul(dt,Lt)|0;var Hu=(x+T|0)+((h&8191)<<13)|0;x=(S+(h>>>13)|0)+(Hu>>>26)|0,Hu&=67108863,T=Math.imul(bt,Rt),h=Math.imul(bt,Mt),h=h+Math.imul(vt,Rt)|0,S=Math.imul(vt,Mt),T=T+Math.imul(gt,Bt)|0,h=h+Math.imul(gt,jt)|0,h=h+Math.imul(yt,Bt)|0,S=S+Math.imul(yt,jt)|0,T=T+Math.imul(mt,Dt)|0,h=h+Math.imul(mt,Ut)|0,h=h+Math.imul(ht,Dt)|0,S=S+Math.imul(ht,Ut)|0,T=T+Math.imul(pt,Pt)|0,h=h+Math.imul(pt,Lt)|0,h=h+Math.imul(ft,Pt)|0,S=S+Math.imul(ft,Lt)|0;var Ju=(x+T|0)+((h&8191)<<13)|0;x=(S+(h>>>13)|0)+(Ju>>>26)|0,Ju&=67108863,T=Math.imul(bt,Bt),h=Math.imul(bt,jt),h=h+Math.imul(vt,Bt)|0,S=Math.imul(vt,jt),T=T+Math.imul(gt,Dt)|0,h=h+Math.imul(gt,Ut)|0,h=h+Math.imul(yt,Dt)|0,S=S+Math.imul(yt,Ut)|0,T=T+Math.imul(mt,Pt)|0,h=h+Math.imul(mt,Lt)|0,h=h+Math.imul(ht,Pt)|0,S=S+Math.imul(ht,Lt)|0;var Zu=(x+T|0)+((h&8191)<<13)|0;x=(S+(h>>>13)|0)+(Zu>>>26)|0,Zu&=67108863,T=Math.imul(bt,Dt),h=Math.imul(bt,Ut),h=h+Math.imul(vt,Dt)|0,S=Math.imul(vt,Ut),T=T+Math.imul(gt,Pt)|0,h=h+Math.imul(gt,Lt)|0,h=h+Math.imul(yt,Pt)|0,S=S+Math.imul(yt,Lt)|0;var Ku=(x+T|0)+((h&8191)<<13)|0;x=(S+(h>>>13)|0)+(Ku>>>26)|0,Ku&=67108863,T=Math.imul(bt,Pt),h=Math.imul(bt,Lt),h=h+Math.imul(vt,Pt)|0,S=Math.imul(vt,Lt);var Xu=(x+T|0)+((h&8191)<<13)|0;return x=(S+(h>>>13)|0)+(Xu>>>26)|0,Xu&=67108863,O[0]=Mu,O[1]=Bu,O[2]=ju,O[3]=Du,O[4]=Uu,O[5]=Pu,O[6]=Lu,O[7]=Vu,O[8]=Fu,O[9]=$u,O[10]=qu,O[11]=Gu,O[12]=zu,O[13]=Wu,O[14]=Hu,O[15]=Ju,O[16]=Zu,O[17]=Ku,O[18]=Xu,x!==0&&(O[19]=x,y.length++),y};Math.imul||(C=M);function B(l,m,y){y.negative=m.negative^l.negative,y.length=l.length+m.length;for(var v=0,w=0,O=0;O<y.length-1;O++){var x=w;w=0;for(var T=v&67108863,h=Math.min(O,m.length-1),S=Math.max(0,O-l.length+1);S<=h;S++){var W=O-S,K=l.words[W]|0,re=m.words[S]|0,fe=K*re,ue=fe&67108863;x=x+(fe/67108864|0)|0,ue=ue+T|0,T=ue&67108863,x=x+(ue>>>26)|0,w+=x>>>26,x&=67108863}y.words[O]=T,v=x,x=w}return v!==0?y.words[O]=v:y.length--,y._strip()}function L(l,m,y){return B(l,m,y)}o.prototype.mulTo=function(l,m){var y,v=this.length+l.length;return this.length===10&&l.length===10?y=C(this,l,m):v<63?y=M(this,l,m):v<1024?y=B(this,l,m):y=L(this,l,m),y};function j(l,m){this.x=l,this.y=m}j.prototype.makeRBT=function(l){for(var m=new Array(l),y=o.prototype._countBits(l)-1,v=0;v<l;v++)m[v]=this.revBin(v,y,l);return m},j.prototype.revBin=function(l,m,y){if(l===0||l===y-1)return l;for(var v=0,w=0;w<m;w++)v|=(l&1)<<m-w-1,l>>=1;return v},j.prototype.permute=function(l,m,y,v,w,O){for(var x=0;x<O;x++)v[x]=m[l[x]],w[x]=y[l[x]]},j.prototype.transform=function(l,m,y,v,w,O){this.permute(O,l,m,y,v,w);for(var x=1;x<w;x<<=1)for(var T=x<<1,h=Math.cos(2*Math.PI/T),S=Math.sin(2*Math.PI/T),W=0;W<w;W+=T)for(var K=h,re=S,fe=0;fe<x;fe++){var ue=y[W+fe],Ee=v[W+fe],Bn=y[W+fe+x],Pe=v[W+fe+x],Fe=K*Bn-re*Pe;Pe=K*Pe+re*Bn,Bn=Fe,y[W+fe]=ue+Bn,v[W+fe]=Ee+Pe,y[W+fe+x]=ue-Bn,v[W+fe+x]=Ee-Pe,fe!==T&&(Fe=h*K-S*re,re=h*re+S*K,K=Fe)}},j.prototype.guessLen13b=function(l,m){var y=Math.max(m,l)|1,v=y&1,w=0;for(y=y/2|0;y;y=y>>>1)w++;return 1<<w+1+v},j.prototype.conjugate=function(l,m,y){if(!(y<=1))for(var v=0;v<y/2;v++){var w=l[v];l[v]=l[y-v-1],l[y-v-1]=w,w=m[v],m[v]=-m[y-v-1],m[y-v-1]=-w}},j.prototype.normalize13b=function(l,m){for(var y=0,v=0;v<m/2;v++){var w=Math.round(l[2*v+1]/m)*8192+Math.round(l[2*v]/m)+y;l[v]=w&67108863,w<67108864?y=0:y=w/67108864|0}return l},j.prototype.convert13b=function(l,m,y,v){for(var w=0,O=0;O<m;O++)w=w+(l[O]|0),y[2*O]=w&8191,w=w>>>13,y[2*O+1]=w&8191,w=w>>>13;for(O=2*m;O<v;++O)y[O]=0;s(w===0),s((w&-8192)===0)},j.prototype.stub=function(l){for(var m=new Array(l),y=0;y<l;y++)m[y]=0;return m},j.prototype.mulp=function(l,m,y){var v=2*this.guessLen13b(l.length,m.length),w=this.makeRBT(v),O=this.stub(v),x=new Array(v),T=new Array(v),h=new Array(v),S=new Array(v),W=new Array(v),K=new Array(v),re=y.words;re.length=v,this.convert13b(l.words,l.length,x,v),this.convert13b(m.words,m.length,S,v),this.transform(x,O,T,h,v,w),this.transform(S,O,W,K,v,w);for(var fe=0;fe<v;fe++){var ue=T[fe]*W[fe]-h[fe]*K[fe];h[fe]=T[fe]*K[fe]+h[fe]*W[fe],T[fe]=ue}return this.conjugate(T,h,v),this.transform(T,h,re,O,v,w),this.conjugate(re,O,v),this.normalize13b(re,v),y.negative=l.negative^m.negative,y.length=l.length+m.length,y._strip()},o.prototype.mul=function(l){var m=new o(null);return m.words=new Array(this.length+l.length),this.mulTo(l,m)},o.prototype.mulf=function(l){var m=new o(null);return m.words=new Array(this.length+l.length),L(this,l,m)},o.prototype.imul=function(l){return this.clone().mulTo(l,this)},o.prototype.imuln=function(l){var m=l<0;m&&(l=-l),s(typeof l=="number"),s(l<67108864);for(var y=0,v=0;v<this.length;v++){var w=(this.words[v]|0)*l,O=(w&67108863)+(y&67108863);y>>=26,y+=w/67108864|0,y+=O>>>26,this.words[v]=O&67108863}return y!==0&&(this.words[v]=y,this.length++),this.length=l===0?1:this.length,m?this.ineg():this},o.prototype.muln=function(l){return this.clone().imuln(l)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(l){var m=A(l);if(m.length===0)return new o(1);for(var y=this,v=0;v<m.length&&m[v]===0;v++,y=y.sqr());if(++v<m.length)for(var w=y.sqr();v<m.length;v++,w=w.sqr())m[v]!==0&&(y=y.mul(w));return y},o.prototype.iushln=function(l){s(typeof l=="number"&&l>=0);var m=l%26,y=(l-m)/26,v=67108863>>>26-m<<26-m,w;if(m!==0){var O=0;for(w=0;w<this.length;w++){var x=this.words[w]&v,T=(this.words[w]|0)-x<<m;this.words[w]=T|O,O=x>>>26-m}O&&(this.words[w]=O,this.length++)}if(y!==0){for(w=this.length-1;w>=0;w--)this.words[w+y]=this.words[w];for(w=0;w<y;w++)this.words[w]=0;this.length+=y}return this._strip()},o.prototype.ishln=function(l){return s(this.negative===0),this.iushln(l)},o.prototype.iushrn=function(l,m,y){s(typeof l=="number"&&l>=0);var v;m?v=(m-m%26)/26:v=0;var w=l%26,O=Math.min((l-w)/26,this.length),x=67108863^67108863>>>w<<w,T=y;if(v-=O,v=Math.max(0,v),T){for(var h=0;h<O;h++)T.words[h]=this.words[h];T.length=O}if(O!==0)if(this.length>O)for(this.length-=O,h=0;h<this.length;h++)this.words[h]=this.words[h+O];else this.words[0]=0,this.length=1;var S=0;for(h=this.length-1;h>=0&&(S!==0||h>=v);h--){var W=this.words[h]|0;this.words[h]=S<<26-w|W>>>w,S=W&x}return T&&S!==0&&(T.words[T.length++]=S),this.length===0&&(this.words[0]=0,this.length=1),this._strip()},o.prototype.ishrn=function(l,m,y){return s(this.negative===0),this.iushrn(l,m,y)},o.prototype.shln=function(l){return this.clone().ishln(l)},o.prototype.ushln=function(l){return this.clone().iushln(l)},o.prototype.shrn=function(l){return this.clone().ishrn(l)},o.prototype.ushrn=function(l){return this.clone().iushrn(l)},o.prototype.testn=function(l){s(typeof l=="number"&&l>=0);var m=l%26,y=(l-m)/26,v=1<<m;if(this.length<=y)return!1;var w=this.words[y];return!!(w&v)},o.prototype.imaskn=function(l){s(typeof l=="number"&&l>=0);var m=l%26,y=(l-m)/26;if(s(this.negative===0,"imaskn works only with positive numbers"),this.length<=y)return this;if(m!==0&&y++,this.length=Math.min(y,this.length),m!==0){var v=67108863^67108863>>>m<<m;this.words[this.length-1]&=v}return this.length===0&&(this.words[0]=0,this.length=1),this._strip()},o.prototype.maskn=function(l){return this.clone().imaskn(l)},o.prototype.iaddn=function(l){return s(typeof l=="number"),s(l<67108864),l<0?this.isubn(-l):this.negative!==0?this.length===1&&(this.words[0]|0)<=l?(this.words[0]=l-(this.words[0]|0),this.negative=0,this):(this.negative=0,this.isubn(l),this.negative=1,this):this._iaddn(l)},o.prototype._iaddn=function(l){this.words[0]+=l;for(var m=0;m<this.length&&this.words[m]>=67108864;m++)this.words[m]-=67108864,m===this.length-1?this.words[m+1]=1:this.words[m+1]++;return this.length=Math.max(this.length,m+1),this},o.prototype.isubn=function(l){if(s(typeof l=="number"),s(l<67108864),l<0)return this.iaddn(-l);if(this.negative!==0)return this.negative=0,this.iaddn(l),this.negative=1,this;if(this.words[0]-=l,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var m=0;m<this.length&&this.words[m]<0;m++)this.words[m]+=67108864,this.words[m+1]-=1;return this._strip()},o.prototype.addn=function(l){return this.clone().iaddn(l)},o.prototype.subn=function(l){return this.clone().isubn(l)},o.prototype.iabs=function(){return this.negative=0,this},o.prototype.abs=function(){return this.clone().iabs()},o.prototype._ishlnsubmul=function(l,m,y){var v=l.length+y,w;this._expand(v);var O,x=0;for(w=0;w<l.length;w++){O=(this.words[w+y]|0)+x;var T=(l.words[w]|0)*m;O-=T&67108863,x=(O>>26)-(T/67108864|0),this.words[w+y]=O&67108863}for(;w<this.length-y;w++)O=(this.words[w+y]|0)+x,x=O>>26,this.words[w+y]=O&67108863;if(x===0)return this._strip();for(s(x===-1),x=0,w=0;w<this.length;w++)O=-(this.words[w]|0)+x,x=O>>26,this.words[w]=O&67108863;return this.negative=1,this._strip()},o.prototype._wordDiv=function(l,m){var y=this.length-l.length,v=this.clone(),w=l,O=w.words[w.length-1]|0,x=this._countBits(O);y=26-x,y!==0&&(w=w.ushln(y),v.iushln(y),O=w.words[w.length-1]|0);var T=v.length-w.length,h;if(m!=="mod"){h=new o(null),h.length=T+1,h.words=new Array(h.length);for(var S=0;S<h.length;S++)h.words[S]=0}var W=v.clone()._ishlnsubmul(w,1,T);W.negative===0&&(v=W,h&&(h.words[T]=1));for(var K=T-1;K>=0;K--){var re=(v.words[w.length+K]|0)*67108864+(v.words[w.length+K-1]|0);for(re=Math.min(re/O|0,67108863),v._ishlnsubmul(w,re,K);v.negative!==0;)re--,v.negative=0,v._ishlnsubmul(w,1,K),v.isZero()||(v.negative^=1);h&&(h.words[K]=re)}return h&&h._strip(),v._strip(),m!=="div"&&y!==0&&v.iushrn(y),{div:h||null,mod:v}},o.prototype.divmod=function(l,m,y){if(s(!l.isZero()),this.isZero())return{div:new o(0),mod:new o(0)};var v,w,O;return this.negative!==0&&l.negative===0?(O=this.neg().divmod(l,m),m!=="mod"&&(v=O.div.neg()),m!=="div"&&(w=O.mod.neg(),y&&w.negative!==0&&w.iadd(l)),{div:v,mod:w}):this.negative===0&&l.negative!==0?(O=this.divmod(l.neg(),m),m!=="mod"&&(v=O.div.neg()),{div:v,mod:O.mod}):this.negative&l.negative?(O=this.neg().divmod(l.neg(),m),m!=="div"&&(w=O.mod.neg(),y&&w.negative!==0&&w.isub(l)),{div:O.div,mod:w}):l.length>this.length||this.cmp(l)<0?{div:new o(0),mod:this}:l.length===1?m==="div"?{div:this.divn(l.words[0]),mod:null}:m==="mod"?{div:null,mod:new o(this.modrn(l.words[0]))}:{div:this.divn(l.words[0]),mod:new o(this.modrn(l.words[0]))}:this._wordDiv(l,m)},o.prototype.div=function(l){return this.divmod(l,"div",!1).div},o.prototype.mod=function(l){return this.divmod(l,"mod",!1).mod},o.prototype.umod=function(l){return this.divmod(l,"mod",!0).mod},o.prototype.divRound=function(l){var m=this.divmod(l);if(m.mod.isZero())return m.div;var y=m.div.negative!==0?m.mod.isub(l):m.mod,v=l.ushrn(1),w=l.andln(1),O=y.cmp(v);return O<0||w===1&&O===0?m.div:m.div.negative!==0?m.div.isubn(1):m.div.iaddn(1)},o.prototype.modrn=function(l){var m=l<0;m&&(l=-l),s(l<=67108863);for(var y=(1<<26)%l,v=0,w=this.length-1;w>=0;w--)v=(y*v+(this.words[w]|0))%l;return m?-v:v},o.prototype.modn=function(l){return this.modrn(l)},o.prototype.idivn=function(l){var m=l<0;m&&(l=-l),s(l<=67108863);for(var y=0,v=this.length-1;v>=0;v--){var w=(this.words[v]|0)+y*67108864;this.words[v]=w/l|0,y=w%l}return this._strip(),m?this.ineg():this},o.prototype.divn=function(l){return this.clone().idivn(l)},o.prototype.egcd=function(l){s(l.negative===0),s(!l.isZero());var m=this,y=l.clone();m.negative!==0?m=m.umod(l):m=m.clone();for(var v=new o(1),w=new o(0),O=new o(0),x=new o(1),T=0;m.isEven()&&y.isEven();)m.iushrn(1),y.iushrn(1),++T;for(var h=y.clone(),S=m.clone();!m.isZero();){for(var W=0,K=1;!(m.words[0]&K)&&W<26;++W,K<<=1);if(W>0)for(m.iushrn(W);W-- >0;)(v.isOdd()||w.isOdd())&&(v.iadd(h),w.isub(S)),v.iushrn(1),w.iushrn(1);for(var re=0,fe=1;!(y.words[0]&fe)&&re<26;++re,fe<<=1);if(re>0)for(y.iushrn(re);re-- >0;)(O.isOdd()||x.isOdd())&&(O.iadd(h),x.isub(S)),O.iushrn(1),x.iushrn(1);m.cmp(y)>=0?(m.isub(y),v.isub(O),w.isub(x)):(y.isub(m),O.isub(v),x.isub(w))}return{a:O,b:x,gcd:y.iushln(T)}},o.prototype._invmp=function(l){s(l.negative===0),s(!l.isZero());var m=this,y=l.clone();m.negative!==0?m=m.umod(l):m=m.clone();for(var v=new o(1),w=new o(0),O=y.clone();m.cmpn(1)>0&&y.cmpn(1)>0;){for(var x=0,T=1;!(m.words[0]&T)&&x<26;++x,T<<=1);if(x>0)for(m.iushrn(x);x-- >0;)v.isOdd()&&v.iadd(O),v.iushrn(1);for(var h=0,S=1;!(y.words[0]&S)&&h<26;++h,S<<=1);if(h>0)for(y.iushrn(h);h-- >0;)w.isOdd()&&w.iadd(O),w.iushrn(1);m.cmp(y)>=0?(m.isub(y),v.isub(w)):(y.isub(m),w.isub(v))}var W;return m.cmpn(1)===0?W=v:W=w,W.cmpn(0)<0&&W.iadd(l),W},o.prototype.gcd=function(l){if(this.isZero())return l.abs();if(l.isZero())return this.abs();var m=this.clone(),y=l.clone();m.negative=0,y.negative=0;for(var v=0;m.isEven()&&y.isEven();v++)m.iushrn(1),y.iushrn(1);do{for(;m.isEven();)m.iushrn(1);for(;y.isEven();)y.iushrn(1);var w=m.cmp(y);if(w<0){var O=m;m=y,y=O}else if(w===0||y.cmpn(1)===0)break;m.isub(y)}while(!0);return y.iushln(v)},o.prototype.invm=function(l){return this.egcd(l).a.umod(l)},o.prototype.isEven=function(){return(this.words[0]&1)===0},o.prototype.isOdd=function(){return(this.words[0]&1)===1},o.prototype.andln=function(l){return this.words[0]&l},o.prototype.bincn=function(l){s(typeof l=="number");var m=l%26,y=(l-m)/26,v=1<<m;if(this.length<=y)return this._expand(y+1),this.words[y]|=v,this;for(var w=v,O=y;w!==0&&O<this.length;O++){var x=this.words[O]|0;x+=w,w=x>>>26,x&=67108863,this.words[O]=x}return w!==0&&(this.words[O]=w,this.length++),this},o.prototype.isZero=function(){return this.length===1&&this.words[0]===0},o.prototype.cmpn=function(l){var m=l<0;if(this.negative!==0&&!m)return-1;if(this.negative===0&&m)return 1;this._strip();var y;if(this.length>1)y=1;else{m&&(l=-l),s(l<=67108863,"Number is too big");var v=this.words[0]|0;y=v===l?0:v<l?-1:1}return this.negative!==0?-y|0:y},o.prototype.cmp=function(l){if(this.negative!==0&&l.negative===0)return-1;if(this.negative===0&&l.negative!==0)return 1;var m=this.ucmp(l);return this.negative!==0?-m|0:m},o.prototype.ucmp=function(l){if(this.length>l.length)return 1;if(this.length<l.length)return-1;for(var m=0,y=this.length-1;y>=0;y--){var v=this.words[y]|0,w=l.words[y]|0;if(v!==w){v<w?m=-1:v>w&&(m=1);break}}return m},o.prototype.gtn=function(l){return this.cmpn(l)===1},o.prototype.gt=function(l){return this.cmp(l)===1},o.prototype.gten=function(l){return this.cmpn(l)>=0},o.prototype.gte=function(l){return this.cmp(l)>=0},o.prototype.ltn=function(l){return this.cmpn(l)===-1},o.prototype.lt=function(l){return this.cmp(l)===-1},o.prototype.lten=function(l){return this.cmpn(l)<=0},o.prototype.lte=function(l){return this.cmp(l)<=0},o.prototype.eqn=function(l){return this.cmpn(l)===0},o.prototype.eq=function(l){return this.cmp(l)===0},o.red=function(l){return new U(l)},o.prototype.toRed=function(l){return s(!this.red,"Already a number in reduction context"),s(this.negative===0,"red works only with positives"),l.convertTo(this)._forceRed(l)},o.prototype.fromRed=function(){return s(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(l){return this.red=l,this},o.prototype.forceRed=function(l){return s(!this.red,"Already a number in reduction context"),this._forceRed(l)},o.prototype.redAdd=function(l){return s(this.red,"redAdd works only with red numbers"),this.red.add(this,l)},o.prototype.redIAdd=function(l){return s(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,l)},o.prototype.redSub=function(l){return s(this.red,"redSub works only with red numbers"),this.red.sub(this,l)},o.prototype.redISub=function(l){return s(this.red,"redISub works only with red numbers"),this.red.isub(this,l)},o.prototype.redShl=function(l){return s(this.red,"redShl works only with red numbers"),this.red.shl(this,l)},o.prototype.redMul=function(l){return s(this.red,"redMul works only with red numbers"),this.red._verify2(this,l),this.red.mul(this,l)},o.prototype.redIMul=function(l){return s(this.red,"redMul works only with red numbers"),this.red._verify2(this,l),this.red.imul(this,l)},o.prototype.redSqr=function(){return s(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return s(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return s(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return s(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return s(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(l){return s(this.red&&!l.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,l)};var q={k256:null,p224:null,p192:null,p25519:null};function P(l,m){this.name=l,this.p=new o(m,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}P.prototype._tmp=function(){var l=new o(null);return l.words=new Array(Math.ceil(this.n/13)),l},P.prototype.ireduce=function(l){var m=l,y;do this.split(m,this.tmp),m=this.imulK(m),m=m.iadd(this.tmp),y=m.bitLength();while(y>this.n);var v=y<this.n?-1:m.ucmp(this.p);return v===0?(m.words[0]=0,m.length=1):v>0?m.isub(this.p):m.strip!==void 0?m.strip():m._strip(),m},P.prototype.split=function(l,m){l.iushrn(this.n,0,m)},P.prototype.imulK=function(l){return l.imul(this.k)};function D(){P.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}i(D,P),D.prototype.split=function(l,m){for(var y=4194303,v=Math.min(l.length,9),w=0;w<v;w++)m.words[w]=l.words[w];if(m.length=v,l.length<=9){l.words[0]=0,l.length=1;return}var O=l.words[9];for(m.words[m.length++]=O&y,w=10;w<l.length;w++){var x=l.words[w]|0;l.words[w-10]=(x&y)<<4|O>>>22,O=x}O>>>=22,l.words[w-10]=O,O===0&&l.length>10?l.length-=10:l.length-=9},D.prototype.imulK=function(l){l.words[l.length]=0,l.words[l.length+1]=0,l.length+=2;for(var m=0,y=0;y<l.length;y++){var v=l.words[y]|0;m+=v*977,l.words[y]=m&67108863,m=v*64+(m/67108864|0)}return l.words[l.length-1]===0&&(l.length--,l.words[l.length-1]===0&&l.length--),l};function Z(){P.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}i(Z,P);function ce(){P.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}i(ce,P);function te(){P.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}i(te,P),te.prototype.imulK=function(l){for(var m=0,y=0;y<l.length;y++){var v=(l.words[y]|0)*19+m,w=v&67108863;v>>>=26,l.words[y]=w,m=v}return m!==0&&(l.words[l.length++]=m),l},o._prime=function(l){if(q[l])return q[l];var m;if(l==="k256")m=new D;else if(l==="p224")m=new Z;else if(l==="p192")m=new ce;else if(l==="p25519")m=new te;else throw new Error("Unknown prime "+l);return q[l]=m,m};function U(l){if(typeof l=="string"){var m=o._prime(l);this.m=m.p,this.prime=m}else s(l.gtn(1),"modulus must be greater than 1"),this.m=l,this.prime=null}U.prototype._verify1=function(l){s(l.negative===0,"red works only with positives"),s(l.red,"red works only with red numbers")},U.prototype._verify2=function(l,m){s((l.negative|m.negative)===0,"red works only with positives"),s(l.red&&l.red===m.red,"red works only with red numbers")},U.prototype.imod=function(l){return this.prime?this.prime.ireduce(l)._forceRed(this):(p(l,l.umod(this.m)._forceRed(this)),l)},U.prototype.neg=function(l){return l.isZero()?l.clone():this.m.sub(l)._forceRed(this)},U.prototype.add=function(l,m){this._verify2(l,m);var y=l.add(m);return y.cmp(this.m)>=0&&y.isub(this.m),y._forceRed(this)},U.prototype.iadd=function(l,m){this._verify2(l,m);var y=l.iadd(m);return y.cmp(this.m)>=0&&y.isub(this.m),y},U.prototype.sub=function(l,m){this._verify2(l,m);var y=l.sub(m);return y.cmpn(0)<0&&y.iadd(this.m),y._forceRed(this)},U.prototype.isub=function(l,m){this._verify2(l,m);var y=l.isub(m);return y.cmpn(0)<0&&y.iadd(this.m),y},U.prototype.shl=function(l,m){return this._verify1(l),this.imod(l.ushln(m))},U.prototype.imul=function(l,m){return this._verify2(l,m),this.imod(l.imul(m))},U.prototype.mul=function(l,m){return this._verify2(l,m),this.imod(l.mul(m))},U.prototype.isqr=function(l){return this.imul(l,l.clone())},U.prototype.sqr=function(l){return this.mul(l,l)},U.prototype.sqrt=function(l){if(l.isZero())return l.clone();var m=this.m.andln(3);if(s(m%2===1),m===3){var y=this.m.add(new o(1)).iushrn(2);return this.pow(l,y)}for(var v=this.m.subn(1),w=0;!v.isZero()&&v.andln(1)===0;)w++,v.iushrn(1);s(!v.isZero());var O=new o(1).toRed(this),x=O.redNeg(),T=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new o(2*h*h).toRed(this);this.pow(h,T).cmp(x)!==0;)h.redIAdd(x);for(var S=this.pow(h,v),W=this.pow(l,v.addn(1).iushrn(1)),K=this.pow(l,v),re=w;K.cmp(O)!==0;){for(var fe=K,ue=0;fe.cmp(O)!==0;ue++)fe=fe.redSqr();s(ue<re);var Ee=this.pow(S,new o(1).iushln(re-ue-1));W=W.redMul(Ee),S=Ee.redSqr(),K=K.redMul(S),re=ue}return W},U.prototype.invm=function(l){var m=l._invmp(this.m);return m.negative!==0?(m.negative=0,this.imod(m).redNeg()):this.imod(m)},U.prototype.pow=function(l,m){if(m.isZero())return new o(1).toRed(this);if(m.cmpn(1)===0)return l.clone();var y=4,v=new Array(1<<y);v[0]=new o(1).toRed(this),v[1]=l;for(var w=2;w<v.length;w++)v[w]=this.mul(v[w-1],l);var O=v[0],x=0,T=0,h=m.bitLength()%26;for(h===0&&(h=26),w=m.length-1;w>=0;w--){for(var S=m.words[w],W=h-1;W>=0;W--){var K=S>>W&1;if(O!==v[0]&&(O=this.sqr(O)),K===0&&x===0){T=0;continue}x<<=1,x|=K,T++,!(T!==y&&(w!==0||W!==0))&&(O=this.mul(O,v[x]),T=0,x=0)}h=26}return O},U.prototype.convertTo=function(l){var m=l.umod(this.m);return m===l?m.clone():m},U.prototype.convertFrom=function(l){var m=l.clone();return m.red=null,m},o.mont=function(l){return new F(l)};function F(l){U.call(this,l),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}i(F,U),F.prototype.convertTo=function(l){return this.imod(l.ushln(this.shift))},F.prototype.convertFrom=function(l){var m=this.imod(l.mul(this.rinv));return m.red=null,m},F.prototype.imul=function(l,m){if(l.isZero()||m.isZero())return l.words[0]=0,l.length=1,l;var y=l.imul(m),v=y.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),w=y.isub(v).iushrn(this.shift),O=w;return w.cmp(this.m)>=0?O=w.isub(this.m):w.cmpn(0)<0&&(O=w.iadd(this.m)),O._forceRed(this)},F.prototype.mul=function(l,m){if(l.isZero()||m.isZero())return new o(0)._forceRed(this);var y=l.mul(m),v=y.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),w=y.isub(v).iushrn(this.shift),O=w;return w.cmp(this.m)>=0?O=w.isub(this.m):w.cmpn(0)<0&&(O=w.iadd(this.m)),O._forceRed(this)},F.prototype.invm=function(l){var m=this.imod(l._invmp(this.m).mul(this.r2));return m._forceRed(this)}})(typeof t>"u"||t,e)}),fA={REQUEST_PARAMS:"requestParams",METHOD_NAME:"methodName"},mA=class lb extends Error{constructor(t,n,r){super(t),this.code=n,this.details=r,this.name=this.constructor.name}static{this.DETAILS_KEYS=fA}toJSON(){return{name:this.name,message:this.message,code:this.code,details:this.details}}toString(){return JSON.stringify(this.toJSON())}static isErrorCode(t,n){return t instanceof lb&&t.code===n}},hA=class extends mA{constructor(e,t,n){super(e,t||"UnknownError",n)}static isCommonErrorCode(e,t){return this.isErrorCode(e,t)}},tb=(e,t,n)=>{throw new hA(t,e,n)};function nb(e){return Date.parse(new Date().toString())+e}var gA=class{constructor(e,t=0){this.overdue_time=t,this.value=e}isValid(){return this.value===null?!1:this.overdue_time===0?!0:!(Date.parse(new Date().toString())>this.overdue_time)}},yo=9e15,Ps=1e9,ef="0123456789abcdef",_u="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",wu="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",tf={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-yo,maxE:yo,crypto:!1},db,as,ke=!0,Su="[DecimalError] ",Us=Su+"Invalid argument: ",pb=Su+"Precision limit exceeded",fb=Su+"crypto unavailable",mb="[object Decimal]",gn=Math.floor,Zt=Math.pow,yA=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,bA=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,vA=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,hb=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,hr=1e7,_e=7,_A=9007199254740991,wA=_u.length-1,nf=wu.length-1,$={toStringTag:mb};$.absoluteValue=$.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),de(e)};$.ceil=function(){return de(new this.constructor(this),this.e+1,2)};$.clampedTo=$.clamp=function(e,t){var n,r=this,s=r.constructor;if(e=new s(e),t=new s(t),!e.s||!t.s)return new s(NaN);if(e.gt(t))throw Error(Us+t);return n=r.cmp(e),n<0?e:r.cmp(t)>0?t:new s(r)};$.comparedTo=$.cmp=function(e){var t,n,r,s,i=this,o=i.d,a=(e=new i.constructor(e)).d,c=i.s,u=e.s;if(!o||!a)return!c||!u?NaN:c!==u?c:o===a?0:!o^c<0?1:-1;if(!o[0]||!a[0])return o[0]?c:a[0]?-u:0;if(c!==u)return c;if(i.e!==e.e)return i.e>e.e^c<0?1:-1;for(r=o.length,s=a.length,t=0,n=r<s?r:s;t<n;++t)if(o[t]!==a[t])return o[t]>a[t]^c<0?1:-1;return r===s?0:r>s^c<0?1:-1};$.cosine=$.cos=function(){var e,t,n=this,r=n.constructor;return n.d?n.d[0]?(e=r.precision,t=r.rounding,r.precision=e+Math.max(n.e,n.sd())+_e,r.rounding=1,n=TA(r,_b(r,n)),r.precision=e,r.rounding=t,de(as==2||as==3?n.neg():n,e,t,!0)):new r(1):new r(NaN)};$.cubeRoot=$.cbrt=function(){var e,t,n,r,s,i,o,a,c,u,d=this,p=d.constructor;if(!d.isFinite()||d.isZero())return new p(d);for(ke=!1,i=d.s*Zt(d.s*d,1/3),!i||Math.abs(i)==1/0?(n=un(d.d),e=d.e,(i=(e-n.length+1)%3)&&(n+=i==1||i==-2?"0":"00"),i=Zt(n,1/3),e=gn((e+1)/3)-(e%3==(e<0?-1:2)),i==1/0?n="5e"+e:(n=i.toExponential(),n=n.slice(0,n.indexOf("e")+1)+e),r=new p(n),r.s=d.s):r=new p(i.toString()),o=(e=p.precision)+3;;)if(a=r,c=a.times(a).times(a),u=c.plus(d),r=qe(u.plus(d).times(a),u.plus(c),o+2,1),un(a.d).slice(0,o)===(n=un(r.d)).slice(0,o))if(n=n.slice(o-3,o+1),n=="9999"||!s&&n=="4999"){if(!s&&(de(a,e+1,0),a.times(a).times(a).eq(d))){r=a;break}o+=4,s=1}else{(!+n||!+n.slice(1)&&n.charAt(0)=="5")&&(de(r,e+1,1),t=!r.times(r).times(r).eq(d));break}return ke=!0,de(r,e,p.rounding,t)};$.decimalPlaces=$.dp=function(){var e,t=this.d,n=NaN;if(t){if(e=t.length-1,n=(e-gn(this.e/_e))*_e,e=t[e],e)for(;e%10==0;e/=10)n--;n<0&&(n=0)}return n};$.dividedBy=$.div=function(e){return qe(this,new this.constructor(e))};$.dividedToIntegerBy=$.divToInt=function(e){var t=this,n=t.constructor;return de(qe(t,new n(e),0,1,1),n.precision,n.rounding)};$.equals=$.eq=function(e){return this.cmp(e)===0};$.floor=function(){return de(new this.constructor(this),this.e+1,3)};$.greaterThan=$.gt=function(e){return this.cmp(e)>0};$.greaterThanOrEqualTo=$.gte=function(e){var t=this.cmp(e);return t==1||t===0};$.hyperbolicCosine=$.cosh=function(){var e,t,n,r,s,i=this,o=i.constructor,a=new o(1);if(!i.isFinite())return new o(i.s?1/0:NaN);if(i.isZero())return a;n=o.precision,r=o.rounding,o.precision=n+Math.max(i.e,i.sd())+4,o.rounding=1,s=i.d.length,s<32?(e=Math.ceil(s/3),t=(1/Ou(4,e)).toString()):(e=16,t="2.3283064365386962890625e-10"),i=bo(o,1,i.times(t),new o(1),!0);for(var c,u=e,d=new o(8);u--;)c=i.times(i),i=a.minus(c.times(d.minus(c.times(d))));return de(i,o.precision=n,o.rounding=r,!0)};$.hyperbolicSine=$.sinh=function(){var e,t,n,r,s=this,i=s.constructor;if(!s.isFinite()||s.isZero())return new i(s);if(t=i.precision,n=i.rounding,i.precision=t+Math.max(s.e,s.sd())+4,i.rounding=1,r=s.d.length,r<3)s=bo(i,2,s,s,!0);else{e=1.4*Math.sqrt(r),e=e>16?16:e|0,s=s.times(1/Ou(5,e)),s=bo(i,2,s,s,!0);for(var o,a=new i(5),c=new i(16),u=new i(20);e--;)o=s.times(s),s=s.times(a.plus(o.times(c.times(o).plus(u))))}return i.precision=t,i.rounding=n,de(s,t,n,!0)};$.hyperbolicTangent=$.tanh=function(){var e,t,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+7,r.rounding=1,qe(n.sinh(),n.cosh(),r.precision=e,r.rounding=t)):new r(n.s)};$.inverseCosine=$.acos=function(){var e=this,t=e.constructor,n=e.abs().cmp(1),r=t.precision,s=t.rounding;return n!==-1?n===0?e.isNeg()?Mr(t,r,s):new t(0):new t(NaN):e.isZero()?Mr(t,r+4,s).times(.5):(t.precision=r+6,t.rounding=1,e=new t(1).minus(e).div(e.plus(1)).sqrt().atan(),t.precision=r,t.rounding=s,e.times(2))};$.inverseHyperbolicCosine=$.acosh=function(){var e,t,n=this,r=n.constructor;return n.lte(1)?new r(n.eq(1)?0:NaN):n.isFinite()?(e=r.precision,t=r.rounding,r.precision=e+Math.max(Math.abs(n.e),n.sd())+4,r.rounding=1,ke=!1,n=n.times(n).minus(1).sqrt().plus(n),ke=!0,r.precision=e,r.rounding=t,n.ln()):new r(n)};$.inverseHyperbolicSine=$.asinh=function(){var e,t,n=this,r=n.constructor;return!n.isFinite()||n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+2*Math.max(Math.abs(n.e),n.sd())+6,r.rounding=1,ke=!1,n=n.times(n).plus(1).sqrt().plus(n),ke=!0,r.precision=e,r.rounding=t,n.ln())};$.inverseHyperbolicTangent=$.atanh=function(){var e,t,n,r,s=this,i=s.constructor;return s.isFinite()?s.e>=0?new i(s.abs().eq(1)?s.s/0:s.isZero()?s:NaN):(e=i.precision,t=i.rounding,r=s.sd(),Math.max(r,e)<2*-s.e-1?de(new i(s),e,t,!0):(i.precision=n=r-s.e,s=qe(s.plus(1),new i(1).minus(s),n+e,1),i.precision=e+4,i.rounding=1,s=s.ln(),i.precision=e,i.rounding=t,s.times(.5))):new i(NaN)};$.inverseSine=$.asin=function(){var e,t,n,r,s=this,i=s.constructor;return s.isZero()?new i(s):(t=s.abs().cmp(1),n=i.precision,r=i.rounding,t!==-1?t===0?(e=Mr(i,n+4,r).times(.5),e.s=s.s,e):new i(NaN):(i.precision=n+6,i.rounding=1,s=s.div(new i(1).minus(s.times(s)).sqrt().plus(1)).atan(),i.precision=n,i.rounding=r,s.times(2)))};$.inverseTangent=$.atan=function(){var e,t,n,r,s,i,o,a,c,u=this,d=u.constructor,p=d.precision,f=d.rounding;if(u.isFinite()){if(u.isZero())return new d(u);if(u.abs().eq(1)&&p+4<=nf)return o=Mr(d,p+4,f).times(.25),o.s=u.s,o}else{if(!u.s)return new d(NaN);if(p+4<=nf)return o=Mr(d,p+4,f).times(.5),o.s=u.s,o}for(d.precision=a=p+10,d.rounding=1,n=Math.min(28,a/_e+2|0),e=n;e;--e)u=u.div(u.times(u).plus(1).sqrt().plus(1));for(ke=!1,t=Math.ceil(a/_e),r=1,c=u.times(u),o=new d(u),s=u;e!==-1;)if(s=s.times(c),i=o.minus(s.div(r+=2)),s=s.times(c),o=i.plus(s.div(r+=2)),o.d[t]!==void 0)for(e=t;o.d[e]===i.d[e]&&e--;);return n&&(o=o.times(2<<n-1)),ke=!0,de(o,d.precision=p,d.rounding=f,!0)};$.isFinite=function(){return!!this.d};$.isInteger=$.isInt=function(){return!!this.d&&gn(this.e/_e)>this.d.length-2};$.isNaN=function(){return!this.s};$.isNegative=$.isNeg=function(){return this.s<0};$.isPositive=$.isPos=function(){return this.s>0};$.isZero=function(){return!!this.d&&this.d[0]===0};$.lessThan=$.lt=function(e){return this.cmp(e)<0};$.lessThanOrEqualTo=$.lte=function(e){return this.cmp(e)<1};$.logarithm=$.log=function(e){var t,n,r,s,i,o,a,c,u=this,d=u.constructor,p=d.precision,f=d.rounding,g=5;if(e==null)e=new d(10),t=!0;else{if(e=new d(e),n=e.d,e.s<0||!n||!n[0]||e.eq(1))return new d(NaN);t=e.eq(10)}if(n=u.d,u.s<0||!n||!n[0]||u.eq(1))return new d(n&&!n[0]?-1/0:u.s!=1?NaN:n?0:1/0);if(t)if(n.length>1)i=!0;else{for(s=n[0];s%10===0;)s/=10;i=s!==1}if(ke=!1,a=p+g,o=Ds(u,a),r=t?Tu(d,a+10):Ds(e,a),c=qe(o,r,a,1),wa(c.d,s=p,f))do if(a+=10,o=Ds(u,a),r=t?Tu(d,a+10):Ds(e,a),c=qe(o,r,a,1),!i){+un(c.d).slice(s+1,s+15)+1==1e14&&(c=de(c,p+1,0));break}while(wa(c.d,s+=10,f));return ke=!0,de(c,p,f)};$.minus=$.sub=function(e){var t,n,r,s,i,o,a,c,u,d,p,f,g=this,b=g.constructor;if(e=new b(e),!g.d||!e.d)return!g.s||!e.s?e=new b(NaN):g.d?e.s=-e.s:e=new b(e.d||g.s!==e.s?g:NaN),e;if(g.s!=e.s)return e.s=-e.s,g.plus(e);if(u=g.d,f=e.d,a=b.precision,c=b.rounding,!u[0]||!f[0]){if(f[0])e.s=-e.s;else if(u[0])e=new b(g);else return new b(c===3?-0:0);return ke?de(e,a,c):e}if(n=gn(e.e/_e),d=gn(g.e/_e),u=u.slice(),i=d-n,i){for(p=i<0,p?(t=u,i=-i,o=f.length):(t=f,n=d,o=u.length),r=Math.max(Math.ceil(a/_e),o)+2,i>r&&(i=r,t.length=1),t.reverse(),r=i;r--;)t.push(0);t.reverse()}else{for(r=u.length,o=f.length,p=r<o,p&&(o=r),r=0;r<o;r++)if(u[r]!=f[r]){p=u[r]<f[r];break}i=0}for(p&&(t=u,u=f,f=t,e.s=-e.s),o=u.length,r=f.length-o;r>0;--r)u[o++]=0;for(r=f.length;r>i;){if(u[--r]<f[r]){for(s=r;s&&u[--s]===0;)u[s]=hr-1;--u[s],u[r]+=hr}u[r]-=f[r]}for(;u[--o]===0;)u.pop();for(;u[0]===0;u.shift())--n;return u[0]?(e.d=u,e.e=Eu(u,n),ke?de(e,a,c):e):new b(c===3?-0:0)};$.modulo=$.mod=function(e){var t,n=this,r=n.constructor;return e=new r(e),!n.d||!e.s||e.d&&!e.d[0]?new r(NaN):!e.d||n.d&&!n.d[0]?de(new r(n),r.precision,r.rounding):(ke=!1,r.modulo==9?(t=qe(n,e.abs(),0,3,1),t.s*=e.s):t=qe(n,e,0,r.modulo,1),t=t.times(e),ke=!0,n.minus(t))};$.naturalExponential=$.exp=function(){return rf(this)};$.naturalLogarithm=$.ln=function(){return Ds(this)};$.negated=$.neg=function(){var e=new this.constructor(this);return e.s=-e.s,de(e)};$.plus=$.add=function(e){var t,n,r,s,i,o,a,c,u,d,p=this,f=p.constructor;if(e=new f(e),!p.d||!e.d)return!p.s||!e.s?e=new f(NaN):p.d||(e=new f(e.d||p.s===e.s?p:NaN)),e;if(p.s!=e.s)return e.s=-e.s,p.minus(e);if(u=p.d,d=e.d,a=f.precision,c=f.rounding,!u[0]||!d[0])return d[0]||(e=new f(p)),ke?de(e,a,c):e;if(i=gn(p.e/_e),r=gn(e.e/_e),u=u.slice(),s=i-r,s){for(s<0?(n=u,s=-s,o=d.length):(n=d,r=i,o=u.length),i=Math.ceil(a/_e),o=i>o?i+1:o+1,s>o&&(s=o,n.length=1),n.reverse();s--;)n.push(0);n.reverse()}for(o=u.length,s=d.length,o-s<0&&(s=o,n=d,d=u,u=n),t=0;s;)t=(u[--s]=u[s]+d[s]+t)/hr|0,u[s]%=hr;for(t&&(u.unshift(t),++r),o=u.length;u[--o]==0;)u.pop();return e.d=u,e.e=Eu(u,r),ke?de(e,a,c):e};$.precision=$.sd=function(e){var t,n=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(Us+e);return n.d?(t=gb(n.d),e&&n.e+1>t&&(t=n.e+1)):t=NaN,t};$.round=function(){var e=this,t=e.constructor;return de(new t(e),e.e+1,t.rounding)};$.sine=$.sin=function(){var e,t,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+Math.max(n.e,n.sd())+_e,r.rounding=1,n=SA(r,_b(r,n)),r.precision=e,r.rounding=t,de(as>2?n.neg():n,e,t,!0)):new r(NaN)};$.squareRoot=$.sqrt=function(){var e,t,n,r,s,i,o=this,a=o.d,c=o.e,u=o.s,d=o.constructor;if(u!==1||!a||!a[0])return new d(!u||u<0&&(!a||a[0])?NaN:a?o:1/0);for(ke=!1,u=Math.sqrt(+o),u==0||u==1/0?(t=un(a),(t.length+c)%2==0&&(t+="0"),u=Math.sqrt(t),c=gn((c+1)/2)-(c<0||c%2),u==1/0?t="5e"+c:(t=u.toExponential(),t=t.slice(0,t.indexOf("e")+1)+c),r=new d(t)):r=new d(u.toString()),n=(c=d.precision)+3;;)if(i=r,r=i.plus(qe(o,i,n+2,1)).times(.5),un(i.d).slice(0,n)===(t=un(r.d)).slice(0,n))if(t=t.slice(n-3,n+1),t=="9999"||!s&&t=="4999"){if(!s&&(de(i,c+1,0),i.times(i).eq(o))){r=i;break}n+=4,s=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(de(r,c+1,1),e=!r.times(r).eq(o));break}return ke=!0,de(r,c,d.rounding,e)};$.tangent=$.tan=function(){var e,t,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+10,r.rounding=1,n=n.sin(),n.s=1,n=qe(n,new r(1).minus(n.times(n)).sqrt(),e+10,0),r.precision=e,r.rounding=t,de(as==2||as==4?n.neg():n,e,t,!0)):new r(NaN)};$.times=$.mul=function(e){var t,n,r,s,i,o,a,c,u,d=this,p=d.constructor,f=d.d,g=(e=new p(e)).d;if(e.s*=d.s,!f||!f[0]||!g||!g[0])return new p(!e.s||f&&!f[0]&&!g||g&&!g[0]&&!f?NaN:!f||!g?e.s/0:e.s*0);for(n=gn(d.e/_e)+gn(e.e/_e),c=f.length,u=g.length,c<u&&(i=f,f=g,g=i,o=c,c=u,u=o),i=[],o=c+u,r=o;r--;)i.push(0);for(r=u;--r>=0;){for(t=0,s=c+r;s>r;)a=i[s]+g[r]*f[s-r-1]+t,i[s--]=a%hr|0,t=a/hr|0;i[s]=(i[s]+t)%hr|0}for(;!i[--o];)i.pop();return t?++n:i.shift(),e.d=i,e.e=Eu(i,n),ke?de(e,p.precision,p.rounding):e};$.toBinary=function(e,t){return of(this,2,e,t)};$.toDecimalPlaces=$.toDP=function(e,t){var n=this,r=n.constructor;return n=new r(n),e===void 0?n:(Mn(e,0,Ps),t===void 0?t=r.rounding:Mn(t,0,8),de(n,e+n.e+1,t))};$.toExponential=function(e,t){var n,r=this,s=r.constructor;return e===void 0?n=Br(r,!0):(Mn(e,0,Ps),t===void 0?t=s.rounding:Mn(t,0,8),r=de(new s(r),e+1,t),n=Br(r,!0,e+1)),r.isNeg()&&!r.isZero()?"-"+n:n};$.toFixed=function(e,t){var n,r,s=this,i=s.constructor;return e===void 0?n=Br(s):(Mn(e,0,Ps),t===void 0?t=i.rounding:Mn(t,0,8),r=de(new i(s),e+s.e+1,t),n=Br(r,!1,e+r.e+1)),s.isNeg()&&!s.isZero()?"-"+n:n};$.toFraction=function(e){var t,n,r,s,i,o,a,c,u,d,p,f,g=this,b=g.d,_=g.constructor;if(!b)return new _(g);if(u=n=new _(1),r=c=new _(0),t=new _(r),i=t.e=gb(b)-g.e-1,o=i%_e,t.d[0]=Zt(10,o<0?_e+o:o),e==null)e=i>0?t:u;else{if(a=new _(e),!a.isInt()||a.lt(u))throw Error(Us+a);e=a.gt(t)?i>0?t:u:a}for(ke=!1,a=new _(un(b)),d=_.precision,_.precision=i=b.length*_e*2;p=qe(a,t,0,1,1),s=n.plus(p.times(r)),s.cmp(e)!=1;)n=r,r=s,s=u,u=c.plus(p.times(s)),c=s,s=t,t=a.minus(p.times(s)),a=s;return s=qe(e.minus(n),r,0,1,1),c=c.plus(s.times(u)),n=n.plus(s.times(r)),c.s=u.s=g.s,f=qe(u,r,i,1).minus(g).abs().cmp(qe(c,n,i,1).minus(g).abs())<1?[u,r]:[c,n],_.precision=d,ke=!0,f};$.toHexadecimal=$.toHex=function(e,t){return of(this,16,e,t)};$.toNearest=function(e,t){var n=this,r=n.constructor;if(n=new r(n),e==null){if(!n.d)return n;e=new r(1),t=r.rounding}else{if(e=new r(e),t===void 0?t=r.rounding:Mn(t,0,8),!n.d)return e.s?n:e;if(!e.d)return e.s&&(e.s=n.s),e}return e.d[0]?(ke=!1,n=qe(n,e,0,t,1).times(e),ke=!0,de(n)):(e.s=n.s,n=e),n};$.toNumber=function(){return+this};$.toOctal=function(e,t){return of(this,8,e,t)};$.toPower=$.pow=function(e){var t,n,r,s,i,o,a=this,c=a.constructor,u=+(e=new c(e));if(!a.d||!e.d||!a.d[0]||!e.d[0])return new c(Zt(+a,u));if(a=new c(a),a.eq(1))return a;if(r=c.precision,i=c.rounding,e.eq(1))return de(a,r,i);if(t=gn(e.e/_e),t>=e.d.length-1&&(n=u<0?-u:u)<=_A)return s=yb(c,a,n,r),e.s<0?new c(1).div(s):de(s,r,i);if(o=a.s,o<0){if(t<e.d.length-1)return new c(NaN);if(!(e.d[t]&1)&&(o=1),a.e==0&&a.d[0]==1&&a.d.length==1)return a.s=o,a}return n=Zt(+a,u),t=n==0||!isFinite(n)?gn(u*(Math.log("0."+un(a.d))/Math.LN10+a.e+1)):new c(n+"").e,t>c.maxE+1||t<c.minE-1?new c(t>0?o/0:0):(ke=!1,c.rounding=a.s=1,n=Math.min(12,(t+"").length),s=rf(e.times(Ds(a,r+n)),r),s.d&&(s=de(s,r+5,1),wa(s.d,r,i)&&(t=r+10,s=de(rf(e.times(Ds(a,t+n)),t),t+5,1),+un(s.d).slice(r+1,r+15)+1==1e14&&(s=de(s,r+1,0)))),s.s=o,ke=!0,c.rounding=i,de(s,r,i))};$.toPrecision=function(e,t){var n,r=this,s=r.constructor;return e===void 0?n=Br(r,r.e<=s.toExpNeg||r.e>=s.toExpPos):(Mn(e,1,Ps),t===void 0?t=s.rounding:Mn(t,0,8),r=de(new s(r),e,t),n=Br(r,e<=r.e||r.e<=s.toExpNeg,e)),r.isNeg()&&!r.isZero()?"-"+n:n};$.toSignificantDigits=$.toSD=function(e,t){var n=this,r=n.constructor;return e===void 0?(e=r.precision,t=r.rounding):(Mn(e,1,Ps),t===void 0?t=r.rounding:Mn(t,0,8)),de(new r(n),e,t)};$.toString=function(){var e=this,t=e.constructor,n=Br(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()&&!e.isZero()?"-"+n:n};$.truncated=$.trunc=function(){return de(new this.constructor(this),this.e+1,1)};$.valueOf=$.toJSON=function(){var e=this,t=e.constructor,n=Br(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()?"-"+n:n};function un(e){var t,n,r,s=e.length-1,i="",o=e[0];if(s>0){for(i+=o,t=1;t<s;t++)r=e[t]+"",n=_e-r.length,n&&(i+=js(n)),i+=r;o=e[t],r=o+"",n=_e-r.length,n&&(i+=js(n))}else if(o===0)return"0";for(;o%10===0;)o/=10;return i+o}function Mn(e,t,n){if(e!==~~e||e<t||e>n)throw Error(Us+e)}function wa(e,t,n,r){var s,i,o,a;for(i=e[0];i>=10;i/=10)--t;return--t<0?(t+=_e,s=0):(s=Math.ceil((t+1)/_e),t%=_e),i=Zt(10,_e-t),a=e[s]%i|0,r==null?t<3?(t==0?a=a/100|0:t==1&&(a=a/10|0),o=n<4&&a==99999||n>3&&a==49999||a==5e4||a==0):o=(n<4&&a+1==i||n>3&&a+1==i/2)&&(e[s+1]/i/100|0)==Zt(10,t-2)-1||(a==i/2||a==0)&&(e[s+1]/i/100|0)==0:t<4?(t==0?a=a/1e3|0:t==1?a=a/100|0:t==2&&(a=a/10|0),o=(r||n<4)&&a==9999||!r&&n>3&&a==4999):o=((r||n<4)&&a+1==i||!r&&n>3&&a+1==i/2)&&(e[s+1]/i/1e3|0)==Zt(10,t-3)-1,o}function yu(e,t,n){for(var r,s=[0],i,o=0,a=e.length;o<a;){for(i=s.length;i--;)s[i]*=t;for(s[0]+=ef.indexOf(e.charAt(o++)),r=0;r<s.length;r++)s[r]>n-1&&(s[r+1]===void 0&&(s[r+1]=0),s[r+1]+=s[r]/n|0,s[r]%=n)}return s.reverse()}function TA(e,t){var n,r,s;if(t.isZero())return t;r=t.d.length,r<32?(n=Math.ceil(r/3),s=(1/Ou(4,n)).toString()):(n=16,s="2.3283064365386962890625e-10"),e.precision+=n,t=bo(e,1,t.times(s),new e(1));for(var i=n;i--;){var o=t.times(t);t=o.times(o).minus(o).times(8).plus(1)}return e.precision-=n,t}var qe=function(){function e(r,s,i){var o,a=0,c=r.length;for(r=r.slice();c--;)o=r[c]*s+a,r[c]=o%i|0,a=o/i|0;return a&&r.unshift(a),r}function t(r,s,i,o){var a,c;if(i!=o)c=i>o?1:-1;else for(a=c=0;a<i;a++)if(r[a]!=s[a]){c=r[a]>s[a]?1:-1;break}return c}function n(r,s,i,o){for(var a=0;i--;)r[i]-=a,a=r[i]<s[i]?1:0,r[i]=a*o+r[i]-s[i];for(;!r[0]&&r.length>1;)r.shift()}return function(r,s,i,o,a,c){var u,d,p,f,g,b,_,I,A,M,C,B,L,j,q,P,D,Z,ce,te,U=r.constructor,F=r.s==s.s?1:-1,l=r.d,m=s.d;if(!l||!l[0]||!m||!m[0])return new U(!r.s||!s.s||(l?m&&l[0]==m[0]:!m)?NaN:l&&l[0]==0||!m?F*0:F/0);for(c?(g=1,d=r.e-s.e):(c=hr,g=_e,d=gn(r.e/g)-gn(s.e/g)),ce=m.length,D=l.length,A=new U(F),M=A.d=[],p=0;m[p]==(l[p]||0);p++);if(m[p]>(l[p]||0)&&d--,i==null?(j=i=U.precision,o=U.rounding):a?j=i+(r.e-s.e)+1:j=i,j<0)M.push(1),b=!0;else{if(j=j/g+2|0,p=0,ce==1){for(f=0,m=m[0],j++;(p<D||f)&&j--;p++)q=f*c+(l[p]||0),M[p]=q/m|0,f=q%m|0;b=f||p<D}else{for(f=c/(m[0]+1)|0,f>1&&(m=e(m,f,c),l=e(l,f,c),ce=m.length,D=l.length),P=ce,C=l.slice(0,ce),B=C.length;B<ce;)C[B++]=0;te=m.slice(),te.unshift(0),Z=m[0],m[1]>=c/2&&++Z;do f=0,u=t(m,C,ce,B),u<0?(L=C[0],ce!=B&&(L=L*c+(C[1]||0)),f=L/Z|0,f>1?(f>=c&&(f=c-1),_=e(m,f,c),I=_.length,B=C.length,u=t(_,C,I,B),u==1&&(f--,n(_,ce<I?te:m,I,c))):(f==0&&(u=f=1),_=m.slice()),I=_.length,I<B&&_.unshift(0),n(C,_,B,c),u==-1&&(B=C.length,u=t(m,C,ce,B),u<1&&(f++,n(C,ce<B?te:m,B,c))),B=C.length):u===0&&(f++,C=[0]),M[p++]=f,u&&C[0]?C[B++]=l[P]||0:(C=[l[P]],B=1);while((P++<D||C[0]!==void 0)&&j--);b=C[0]!==void 0}M[0]||M.shift()}if(g==1)A.e=d,db=b;else{for(p=1,f=M[0];f>=10;f/=10)p++;A.e=p+d*g-1,de(A,a?i+A.e+1:i,o,b)}return A}}();function de(e,t,n,r){var s,i,o,a,c,u,d,p,f,g=e.constructor;e:if(t!=null){if(p=e.d,!p)return e;for(s=1,a=p[0];a>=10;a/=10)s++;if(i=t-s,i<0)i+=_e,o=t,d=p[f=0],c=d/Zt(10,s-o-1)%10|0;else if(f=Math.ceil((i+1)/_e),a=p.length,f>=a)if(r){for(;a++<=f;)p.push(0);d=c=0,s=1,i%=_e,o=i-_e+1}else break e;else{for(d=a=p[f],s=1;a>=10;a/=10)s++;i%=_e,o=i-_e+s,c=o<0?0:d/Zt(10,s-o-1)%10|0}if(r=r||t<0||p[f+1]!==void 0||(o<0?d:d%Zt(10,s-o-1)),u=n<4?(c||r)&&(n==0||n==(e.s<0?3:2)):c>5||c==5&&(n==4||r||n==6&&(i>0?o>0?d/Zt(10,s-o):0:p[f-1])%10&1||n==(e.s<0?8:7)),t<1||!p[0])return p.length=0,u?(t-=e.e+1,p[0]=Zt(10,(_e-t%_e)%_e),e.e=-t||0):p[0]=e.e=0,e;if(i==0?(p.length=f,a=1,f--):(p.length=f+1,a=Zt(10,_e-i),p[f]=o>0?(d/Zt(10,s-o)%Zt(10,o)|0)*a:0),u)for(;;)if(f==0){for(i=1,o=p[0];o>=10;o/=10)i++;for(o=p[0]+=a,a=1;o>=10;o/=10)a++;i!=a&&(e.e++,p[0]==hr&&(p[0]=1));break}else{if(p[f]+=a,p[f]!=hr)break;p[f--]=0,a=1}for(i=p.length;p[--i]===0;)p.pop()}return ke&&(e.e>g.maxE?(e.d=null,e.e=NaN):e.e<g.minE&&(e.e=0,e.d=[0])),e}function Br(e,t,n){if(!e.isFinite())return vb(e);var r,s=e.e,i=un(e.d),o=i.length;return t?(n&&(r=n-o)>0?i=i.charAt(0)+"."+i.slice(1)+js(r):o>1&&(i=i.charAt(0)+"."+i.slice(1)),i=i+(e.e<0?"e":"e+")+e.e):s<0?(i="0."+js(-s-1)+i,n&&(r=n-o)>0&&(i+=js(r))):s>=o?(i+=js(s+1-o),n&&(r=n-s-1)>0&&(i=i+"."+js(r))):((r=s+1)<o&&(i=i.slice(0,r)+"."+i.slice(r)),n&&(r=n-o)>0&&(s+1===o&&(i+="."),i+=js(r))),i}function Eu(e,t){var n=e[0];for(t*=_e;n>=10;n/=10)t++;return t}function Tu(e,t,n){if(t>wA)throw ke=!0,n&&(e.precision=n),Error(pb);return de(new e(_u),t,1,!0)}function Mr(e,t,n){if(t>nf)throw Error(pb);return de(new e(wu),t,n,!0)}function gb(e){var t=e.length-1,n=t*_e+1;if(t=e[t],t){for(;t%10==0;t/=10)n--;for(t=e[0];t>=10;t/=10)n++}return n}function js(e){for(var t="";e--;)t+="0";return t}function yb(e,t,n,r){var s,i=new e(1),o=Math.ceil(r/_e+4);for(ke=!1;;){if(n%2&&(i=i.times(t),sb(i.d,o)&&(s=!0)),n=gn(n/2),n===0){n=i.d.length-1,s&&i.d[n]===0&&++i.d[n];break}t=t.times(t),sb(t.d,o)}return ke=!0,i}function rb(e){return e.d[e.d.length-1]&1}function bb(e,t,n){for(var r,s,i=new e(t[0]),o=0;++o<t.length;){if(s=new e(t[o]),!s.s){i=s;break}r=i.cmp(s),(r===n||r===0&&i.s===n)&&(i=s)}return i}function rf(e,t){var n,r,s,i,o,a,c,u=0,d=0,p=0,f=e.constructor,g=f.rounding,b=f.precision;if(!e.d||!e.d[0]||e.e>17)return new f(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:NaN);for(t==null?(ke=!1,c=b):c=t,a=new f(.03125);e.e>-2;)e=e.times(a),p+=5;for(r=Math.log(Zt(2,p))/Math.LN10*2+5|0,c+=r,n=i=o=new f(1),f.precision=c;;){if(i=de(i.times(e),c,1),n=n.times(++d),a=o.plus(qe(i,n,c,1)),un(a.d).slice(0,c)===un(o.d).slice(0,c)){for(s=p;s--;)o=de(o.times(o),c,1);if(t==null)if(u<3&&wa(o.d,c-r,g,u))f.precision=c+=10,n=i=a=new f(1),d=0,u++;else return de(o,f.precision=b,g,ke=!0);else return f.precision=b,o}o=a}}function Ds(e,t){var n,r,s,i,o,a,c,u,d,p,f,g=1,b=10,_=e,I=_.d,A=_.constructor,M=A.rounding,C=A.precision;if(_.s<0||!I||!I[0]||!_.e&&I[0]==1&&I.length==1)return new A(I&&!I[0]?-1/0:_.s!=1?NaN:I?0:_);if(t==null?(ke=!1,d=C):d=t,A.precision=d+=b,n=un(I),r=n.charAt(0),Math.abs(i=_.e)<15e14){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)_=_.times(e),n=un(_.d),r=n.charAt(0),g++;i=_.e,r>1?(_=new A("0."+n),i++):_=new A(r+"."+n.slice(1))}else return u=Tu(A,d+2,C).times(i+""),_=Ds(new A(r+"."+n.slice(1)),d-b).plus(u),A.precision=C,t==null?de(_,C,M,ke=!0):_;for(p=_,c=o=_=qe(_.minus(1),_.plus(1),d,1),f=de(_.times(_),d,1),s=3;;){if(o=de(o.times(f),d,1),u=c.plus(qe(o,new A(s),d,1)),un(u.d).slice(0,d)===un(c.d).slice(0,d))if(c=c.times(2),i!==0&&(c=c.plus(Tu(A,d+2,C).times(i+""))),c=qe(c,new A(g),d,1),t==null)if(wa(c.d,d-b,M,a))A.precision=d+=b,u=o=_=qe(p.minus(1),p.plus(1),d,1),f=de(_.times(_),d,1),s=a=1;else return de(c,A.precision=C,M,ke=!0);else return A.precision=C,c;c=u,s+=2}}function vb(e){return String(e.s*e.s/0)}function bu(e,t){var n,r,s;for((n=t.indexOf("."))>-1&&(t=t.replace(".","")),(r=t.search(/e/i))>0?(n<0&&(n=r),n+=+t.slice(r+1),t=t.substring(0,r)):n<0&&(n=t.length),r=0;t.charCodeAt(r)===48;r++);for(s=t.length;t.charCodeAt(s-1)===48;--s);if(t=t.slice(r,s),t){if(s-=r,e.e=n=n-r-1,e.d=[],r=(n+1)%_e,n<0&&(r+=_e),r<s){for(r&&e.d.push(+t.slice(0,r)),s-=_e;r<s;)e.d.push(+t.slice(r,r+=_e));t=t.slice(r),r=_e-t.length}else r-=s;for(;r--;)t+="0";e.d.push(+t),ke&&(e.e>e.constructor.maxE?(e.d=null,e.e=NaN):e.e<e.constructor.minE&&(e.e=0,e.d=[0]))}else e.e=0,e.d=[0];return e}function kA(e,t){var n,r,s,i,o,a,c,u,d;if(t.indexOf("_")>-1){if(t=t.replace(/(\d)_(?=\d)/g,"$1"),hb.test(t))return bu(e,t)}else if(t==="Infinity"||t==="NaN")return+t||(e.s=NaN),e.e=NaN,e.d=null,e;if(bA.test(t))n=16,t=t.toLowerCase();else if(yA.test(t))n=2;else if(vA.test(t))n=8;else throw Error(Us+t);for(i=t.search(/p/i),i>0?(c=+t.slice(i+1),t=t.substring(2,i)):t=t.slice(2),i=t.indexOf("."),o=i>=0,r=e.constructor,o&&(t=t.replace(".",""),a=t.length,i=a-i,s=yb(r,new r(n),i,i*2)),u=yu(t,n,hr),d=u.length-1,i=d;u[i]===0;--i)u.pop();return i<0?new r(e.s*0):(e.e=Eu(u,d),e.d=u,ke=!1,o&&(e=qe(e,s,a*4)),c&&(e=e.times(Math.abs(c)<54?Zt(2,c):Sa.pow(2,c))),ke=!0,e)}function SA(e,t){var n,r=t.d.length;if(r<3)return t.isZero()?t:bo(e,2,t,t);n=1.4*Math.sqrt(r),n=n>16?16:n|0,t=t.times(1/Ou(5,n)),t=bo(e,2,t,t);for(var s,i=new e(5),o=new e(16),a=new e(20);n--;)s=t.times(t),t=t.times(i.plus(s.times(o.times(s).minus(a))));return t}function bo(e,t,n,r,s){var i,o,a,c,u=1,d=e.precision,p=Math.ceil(d/_e);for(ke=!1,c=n.times(n),a=new e(r);;){if(o=qe(a.times(c),new e(t++*t++),d,1),a=s?r.plus(o):r.minus(o),r=qe(o.times(c),new e(t++*t++),d,1),o=a.plus(r),o.d[p]!==void 0){for(i=p;o.d[i]===a.d[i]&&i--;);if(i==-1)break}i=a,a=r,r=o,o=i,u++}return ke=!0,o.d.length=p+1,o}function Ou(e,t){for(var n=e;--t;)n*=e;return n}function _b(e,t){var n,r=t.s<0,s=Mr(e,e.precision,1),i=s.times(.5);if(t=t.abs(),t.lte(i))return as=r?4:1,t;if(n=t.divToInt(s),n.isZero())as=r?3:2;else{if(t=t.minus(n.times(s)),t.lte(i))return as=rb(n)?r?2:3:r?4:1,t;as=rb(n)?r?1:4:r?3:2}return t.minus(s).abs()}function of(e,t,n,r){var s,i,o,a,c,u,d,p,f,g=e.constructor,b=n!==void 0;if(b?(Mn(n,1,Ps),r===void 0?r=g.rounding:Mn(r,0,8)):(n=g.precision,r=g.rounding),!e.isFinite())d=vb(e);else{for(d=Br(e),o=d.indexOf("."),b?(s=2,t==16?n=n*4-3:t==8&&(n=n*3-2)):s=t,o>=0&&(d=d.replace(".",""),f=new g(1),f.e=d.length-o,f.d=yu(Br(f),10,s),f.e=f.d.length),p=yu(d,10,s),i=c=p.length;p[--c]==0;)p.pop();if(!p[0])d=b?"0p+0":"0";else{if(o<0?i--:(e=new g(e),e.d=p,e.e=i,e=qe(e,f,n,r,0,s),p=e.d,i=e.e,u=db),o=p[n],a=s/2,u=u||p[n+1]!==void 0,u=r<4?(o!==void 0||u)&&(r===0||r===(e.s<0?3:2)):o>a||o===a&&(r===4||u||r===6&&p[n-1]&1||r===(e.s<0?8:7)),p.length=n,u)for(;++p[--n]>s-1;)p[n]=0,n||(++i,p.unshift(1));for(c=p.length;!p[c-1];--c);for(o=0,d="";o<c;o++)d+=ef.charAt(p[o]);if(b){if(c>1)if(t==16||t==8){for(o=t==16?4:3,--c;c%o;c++)d+="0";for(p=yu(d,s,t),c=p.length;!p[c-1];--c);for(o=1,d="1.";o<c;o++)d+=ef.charAt(p[o])}else d=d.charAt(0)+"."+d.slice(1);d=d+(i<0?"p":"p+")+i}else if(i<0){for(;++i;)d="0"+d;d="0."+d}else if(++i>c)for(i-=c;i--;)d+="0";else i<c&&(d=d.slice(0,i)+"."+d.slice(i))}d=(t==16?"0x":t==2?"0b":t==8?"0o":"")+d}return e.s<0?"-"+d:d}function sb(e,t){if(e.length>t)return e.length=t,!0}function EA(e){return new this(e).abs()}function OA(e){return new this(e).acos()}function IA(e){return new this(e).acosh()}function AA(e,t){return new this(e).plus(t)}function xA(e){return new this(e).asin()}function CA(e){return new this(e).asinh()}function NA(e){return new this(e).atan()}function RA(e){return new this(e).atanh()}function MA(e,t){e=new this(e),t=new this(t);var n,r=this.precision,s=this.rounding,i=r+4;return!e.s||!t.s?n=new this(NaN):!e.d&&!t.d?(n=Mr(this,i,1).times(t.s>0?.25:.75),n.s=e.s):!t.d||e.isZero()?(n=t.s<0?Mr(this,r,s):new this(0),n.s=e.s):!e.d||t.isZero()?(n=Mr(this,i,1).times(.5),n.s=e.s):t.s<0?(this.precision=i,this.rounding=1,n=this.atan(qe(e,t,i,1)),t=Mr(this,i,1),this.precision=r,this.rounding=s,n=e.s<0?n.minus(t):n.plus(t)):n=this.atan(qe(e,t,i,1)),n}function BA(e){return new this(e).cbrt()}function jA(e){return de(e=new this(e),e.e+1,2)}function DA(e,t,n){return new this(e).clamp(t,n)}function UA(e){if(!e||typeof e!="object")throw Error(Su+"Object expected");var t,n,r,s=e.defaults===!0,i=["precision",1,Ps,"rounding",0,8,"toExpNeg",-yo,0,"toExpPos",0,yo,"maxE",0,yo,"minE",-yo,0,"modulo",0,9];for(t=0;t<i.length;t+=3)if(n=i[t],s&&(this[n]=tf[n]),(r=e[n])!==void 0)if(gn(r)===r&&r>=i[t+1]&&r<=i[t+2])this[n]=r;else throw Error(Us+n+": "+r);if(n="crypto",s&&(this[n]=tf[n]),(r=e[n])!==void 0)if(r===!0||r===!1||r===0||r===1)if(r)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[n]=!0;else throw Error(fb);else this[n]=!1;else throw Error(Us+n+": "+r);return this}function PA(e){return new this(e).cos()}function LA(e){return new this(e).cosh()}function wb(e){var t,n,r;function s(i){var o,a,c,u=this;if(!(u instanceof s))return new s(i);if(u.constructor=s,ib(i)){u.s=i.s,ke?!i.d||i.e>s.maxE?(u.e=NaN,u.d=null):i.e<s.minE?(u.e=0,u.d=[0]):(u.e=i.e,u.d=i.d.slice()):(u.e=i.e,u.d=i.d?i.d.slice():i.d);return}if(c=typeof i,c==="number"){if(i===0){u.s=1/i<0?-1:1,u.e=0,u.d=[0];return}if(i<0?(i=-i,u.s=-1):u.s=1,i===~~i&&i<1e7){for(o=0,a=i;a>=10;a/=10)o++;ke?o>s.maxE?(u.e=NaN,u.d=null):o<s.minE?(u.e=0,u.d=[0]):(u.e=o,u.d=[i]):(u.e=o,u.d=[i]);return}if(i*0!==0){i||(u.s=NaN),u.e=NaN,u.d=null;return}return bu(u,i.toString())}if(c==="string")return(a=i.charCodeAt(0))===45?(i=i.slice(1),u.s=-1):(a===43&&(i=i.slice(1)),u.s=1),hb.test(i)?bu(u,i):kA(u,i);if(c==="bigint")return i<0?(i=-i,u.s=-1):u.s=1,bu(u,i.toString());throw Error(Us+i)}if(s.prototype=$,s.ROUND_UP=0,s.ROUND_DOWN=1,s.ROUND_CEIL=2,s.ROUND_FLOOR=3,s.ROUND_HALF_UP=4,s.ROUND_HALF_DOWN=5,s.ROUND_HALF_EVEN=6,s.ROUND_HALF_CEIL=7,s.ROUND_HALF_FLOOR=8,s.EUCLID=9,s.config=s.set=UA,s.clone=wb,s.isDecimal=ib,s.abs=EA,s.acos=OA,s.acosh=IA,s.add=AA,s.asin=xA,s.asinh=CA,s.atan=NA,s.atanh=RA,s.atan2=MA,s.cbrt=BA,s.ceil=jA,s.clamp=DA,s.cos=PA,s.cosh=LA,s.div=VA,s.exp=FA,s.floor=$A,s.hypot=qA,s.ln=GA,s.log=zA,s.log10=HA,s.log2=WA,s.max=JA,s.min=ZA,s.mod=KA,s.mul=XA,s.pow=YA,s.random=QA,s.round=ex,s.sign=tx,s.sin=nx,s.sinh=rx,s.sqrt=sx,s.sub=ix,s.sum=ox,s.tan=ax,s.tanh=cx,s.trunc=ux,e===void 0&&(e={}),e&&e.defaults!==!0)for(r=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],t=0;t<r.length;)e.hasOwnProperty(n=r[t++])||(e[n]=this[n]);return s.config(e),s}function VA(e,t){return new this(e).div(t)}function FA(e){return new this(e).exp()}function $A(e){return de(e=new this(e),e.e+1,3)}function qA(){var e,t,n=new this(0);for(ke=!1,e=0;e<arguments.length;)if(t=new this(arguments[e++]),t.d)n.d&&(n=n.plus(t.times(t)));else{if(t.s)return ke=!0,new this(1/0);n=t}return ke=!0,n.sqrt()}function ib(e){return e instanceof Sa||e&&e.toStringTag===mb||!1}function GA(e){return new this(e).ln()}function zA(e,t){return new this(e).log(t)}function WA(e){return new this(e).log(2)}function HA(e){return new this(e).log(10)}function JA(){return bb(this,arguments,-1)}function ZA(){return bb(this,arguments,1)}function KA(e,t){return new this(e).mod(t)}function XA(e,t){return new this(e).mul(t)}function YA(e,t){return new this(e).pow(t)}function QA(e){var t,n,r,s,i=0,o=new this(1),a=[];if(e===void 0?e=this.precision:Mn(e,1,Ps),r=Math.ceil(e/_e),this.crypto)if(crypto.getRandomValues)for(t=crypto.getRandomValues(new Uint32Array(r));i<r;)s=t[i],s>=429e7?t[i]=crypto.getRandomValues(new Uint32Array(1))[0]:a[i++]=s%1e7;else if(crypto.randomBytes){for(t=crypto.randomBytes(r*=4);i<r;)s=t[i]+(t[i+1]<<8)+(t[i+2]<<16)+((t[i+3]&127)<<24),s>=214e7?crypto.randomBytes(4).copy(t,i):(a.push(s%1e7),i+=4);i=r/4}else throw Error(fb);else for(;i<r;)a[i++]=Math.random()*1e7|0;for(r=a[--i],e%=_e,r&&e&&(s=Zt(10,_e-e),a[i]=(r/s|0)*s);a[i]===0;i--)a.pop();if(i<0)n=0,a=[0];else{for(n=-1;a[0]===0;n-=_e)a.shift();for(r=1,s=a[0];s>=10;s/=10)r++;r<_e&&(n-=_e-r)}return o.e=n,o.d=a,o}function ex(e){return de(e=new this(e),e.e+1,this.rounding)}function tx(e){return e=new this(e),e.d?e.d[0]?e.s:0*e.s:e.s||NaN}function nx(e){return new this(e).sin()}function rx(e){return new this(e).sinh()}function sx(e){return new this(e).sqrt()}function ix(e,t){return new this(e).sub(t)}function ox(){var e=0,t=arguments,n=new this(t[e]);for(ke=!1;n.s&&++e<t.length;)n=n.plus(t[e]);return ke=!0,de(n,this.precision,this.rounding)}function ax(e){return new this(e).tan()}function cx(e){return new this(e).tanh()}function ux(e){return de(e=new this(e),e.e+1,1)}$[Symbol.for("nodejs.util.inspect.custom")]=$.toString;$[Symbol.toStringTag]="Decimal";var Sa=$.constructor=wb(tf);_u=new Sa(_u);wu=new Sa(wu);var ku=Sa;function vu(e){return ku.isDecimal(e)?e:new ku(e===void 0?0:e)}var Tb="0x2::sui::SUI",lx="0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI";var dx=class qt{static totalBalance(t,n){let r=BigInt(0);return t.forEach(s=>{n===s.coin_type&&(r+=BigInt(s.balance))}),r}static getCoinAssets(t,n){let r=[];return n.forEach(s=>{ab(s.coin_type)===ab(t)&&r.push(s)}),r}static isSuiCoin(t){return Ai(t).full_address===Tb}static selectCoinObjectIdGreaterThanOrEqual(t,n,r=[]){let s=qt.selectCoinAssetGreaterThanOrEqual(t,n,r),i=s.selected_coins.map(c=>c.coin_object_id),o=s.remain_coins,a=s.selected_coins.map(c=>c.balance.toString());return{object_array:i,remain_coins:o,amount_array:a}}static selectCoinAssetGreaterThanOrEqual(t,n,r=[]){let s=qt.sortByBalance(t.filter(u=>!r.includes(u.coin_object_id))),i=qt.calculateTotalBalance(s);if(i<n)return{selected_coins:[],remain_coins:s};if(i===n)return{selected_coins:s,remain_coins:[]};let o=BigInt(0),a=[],c=[...s];for(;o<i;){let u=n-o,d=c.findIndex(f=>f.balance>=u);if(d!==-1){a.push(c[d]),c.splice(d,1);break}let p=c.pop();p.balance>0&&(a.push(p),o+=p.balance)}return{selected_coins:qt.sortByBalance(a),remain_coins:qt.sortByBalance(c)}}static sortByBalance(t){return t.sort((n,r)=>n.balance<r.balance?-1:n.balance>r.balance?1:0)}static sortByBalanceDes(t){return t.sort((n,r)=>n.balance>r.balance?-1:n.balance<r.balance?0:1)}static calculateTotalBalance(t){return t.reduce((n,r)=>n+r.balance,BigInt(0))}static buildCoinForAmount(t,n,r,s,i=!0,o=!0){let a=qt.getCoinAssets(s,n);if(r===BigInt(0))return this.buildZeroValueCoin(n,t,s,i);let c=qt.calculateTotalBalance(a);if(c<r)throw new Error(`The amount(${c}) is Insufficient balance for ${s} , expect ${r} `);return this.buildCoin(t,n,a,r,s,i,o)}static buildCoinWithBalance(t,n,r){return t===BigInt(0)&&qt.isSuiCoin(n)?r.add(Kn({balance:t,useGasCoin:!1})):r.add(Kn({balance:t,type:n}))}static buildVectorCoin(t,n,r,s,i,o=!0){if(qt.isSuiCoin(i)){let f=t.splitCoins(t.gas,[t.pure.u64(s)]);return{selected_coins:[],target_coin:f,remain_coins:n,target_coin_amount:s.toString(),is_mint_zero_coin:!1,original_spited_coin:t.gas}}let{original_spited_coin:a,target_coin:c,target_coin_amount:u,remain_coins:d,selected_coins:p}=this.buildSpitTargeCoin(t,s,r,o);return o?{target_coin:t.makeMoveVec({elements:[c]}),selected_coins:p,remain_coins:d,target_coin_amount:u,is_mint_zero_coin:!1,original_spited_coin:a}:{selected_coins:p,target_coin:t.makeMoveVec({elements:p.map(f=>t.object(f))}),remain_coins:d,target_coin_amount:u,is_mint_zero_coin:!1}}static buildOneCoin(t,n,r,s,i=!0){if(qt.isSuiCoin(s)){if(r===0n&&n.length>1){let c=qt.selectCoinObjectIdGreaterThanOrEqual(n,r);return{selected_coins:c.object_array,target_coin:t.object(c.object_array[0]),remain_coins:c.remain_coins,target_coin_amount:c.amount_array[0],is_mint_zero_coin:!1}}let o=qt.selectCoinObjectIdGreaterThanOrEqual(n,r),a=t.splitCoins(t.gas,[t.pure.u64(r)]);return{selected_coins:[],target_coin:a,remain_coins:o.remain_coins,target_coin_amount:r.toString(),is_mint_zero_coin:!1,original_spited_coin:t.gas}}return this.buildSpitTargeCoin(t,r,n,i)}static buildSpitTargeCoin(t,n,r,s){let i=qt.selectCoinObjectIdGreaterThanOrEqual(r,n),o=i.amount_array.reduce((b,_)=>Number(b)+Number(_),0).toString(),a=i.object_array,[c,...u]=a,d=t.object(c),p=d,f=i.amount_array.reduce((b,_)=>Number(b)+Number(_),0).toString(),g;return u.length>0&&t.mergeCoins(d,u.map(b=>t.object(b))),s&&Number(o)>Number(n)&&(p=t.splitCoins(d,[t.pure.u64(n)]),g=d),{original_spited_coin:g,target_coin:p,target_coin_amount:f,remain_coins:i.remain_coins,selected_coins:i.object_array,is_mint_zero_coin:!1}}static buildCoin(t,n,r,s,i,o=!0,a=!0){return o?this.buildVectorCoin(t,n,r,s,i,a):this.buildOneCoin(t,r,s,i,a)}static buildZeroValueCoin(t,n,r,s=!0){let i=this.callMintZeroValueCoin(n,r),o;return s?o=n.makeMoveVec({elements:[i]}):o=i,{target_coin:o,remain_coins:t,selected_coins:[],is_mint_zero_coin:!0,target_coin_amount:"0"}}static buildCoinForAmountInterval(t,n,r,s,i=!0,o=!0){let a=qt.getCoinAssets(s,n);if(r.amount_first===BigInt(0))return a.length>0?this.buildCoin(t,[...n],[...a],r.amount_first,s,i,o):this.buildZeroValueCoin(n,t,s,i);let c=qt.calculateTotalBalance(a);if(c>=r.amount_first)return this.buildCoin(t,[...n],[...a],r.amount_first,s,i,o);if(c<r.amount_second)throw new Error(`The amount(${c}) is Insufficient balance for ${s} , expect ${r.amount_second} `);return this.buildCoin(t,[...n],[...a],r.amount_second,s,i,o)}static{this.callMintZeroValueCoin=(t,n)=>t.moveCall({target:"0x2::coin::zero",typeArguments:[n]})}static fromBalance(t,n,r){return r.moveCall({target:"0x2::coin::from_balance",typeArguments:[n],arguments:[t]})}static intoBalance(t,n,r){return r.moveCall({target:"0x2::coin::into_balance",typeArguments:[n],arguments:[typeof t=="string"?r.object(t):t]})}static mintBalanceZero(t,n){return n.moveCall({target:"0x2::balance::zero",typeArguments:[t],arguments:[]})}static destroyBalanceZero(t,n,r){return r.moveCall({target:"0x2::balance::destroy_zero",typeArguments:[n],arguments:[t]})}static getCoinAmountObjId(t,n){let r=t.amount_coin_array.find(s=>!s.used&&vu(s.amount).eq(n)?(s.used=!0,!0):!1);return r?r.coin_object_id:tb("CoinNotFound",`Coin not found for ${n} ${t.coin_type}`)}static buildMultiCoinInput(t,n,r,s){let i=qt.getCoinAssets(r,n);if(qt.isSuiCoin(r)){let p=t.splitCoins(t.gas,s.map(f=>t.pure.u64(f)));return{amount_coin_array:s.map((f,g)=>({coin_object_id:p[g],amount:f.toString(),used:!1})),coin_type:r,remain_coins:i}}let o=s.reduce((p,f)=>p+f,BigInt(0)),a=qt.selectCoinObjectIdGreaterThanOrEqual(i,o);if(a.object_array.length===0)return tb("InsufficientBalance",`No enough coins for ${r} expect ${o} actual ${qt.calculateTotalBalance(i)}`);let[c,...u]=a.object_array;u.length>0&&t.mergeCoins(c,[...u]);let d=t.splitCoins(c,s.map(p=>t.pure.u64(p)));return{amount_coin_array:s.map((p,f)=>({coin_object_id:d[f],amount:p.toString(),used:!1})),remain_coins:a.remain_coins,coin_type:r}}};function px(e){return e.startsWith("0x")?`${e.slice(2)}`:e}function ob(e,...t){let n=Array.isArray(t[t.length-1])?t.pop():[],r=[e,...t].filter(Boolean).join("::");return n&&n.length&&(r+=`<${n.join(", ")}>`),r}function Ai(e){try{let t=e.replace(/\s/g,""),n=t.match(/(<.+>)$/)?.[0]?.match(/(\w+::\w+::\w+)(?:<.*?>(?!>))?/g);if(n){t=t.slice(0,t.indexOf("<"));let i={...Ai(t),type_arguments:n.map(o=>Ai(o).source_address)};return i.type_arguments=i.type_arguments.map(o=>dx.isSuiCoin(o)?o:Ai(o).source_address),i.source_address=ob(i.full_address,i.type_arguments),i}let r=t.split("::"),s={full_address:t,address:t===Tb||t===lx?"0x2":Ft(r[0]),module:r[1],name:r[2],type_arguments:[],source_address:""};return s.full_address=`${s.address}::${s.module}::${s.name}`,s.source_address=ob(s.full_address,s.type_arguments),s}catch{return{full_address:e,address:"",module:"",name:"",type_arguments:[],source_address:e}}}function ab(e){return Ai(e).source_address}var sf=(e,t=!0)=>{let n=e.split("::"),r=n.shift(),s=Ft(r);return t&&(s=px(s)),`${s}::${n.join("::")}`};function fx(e){return`0x${Buffer.from(e).toString("hex")}`}function mx(e,t,n,r){let s;switch(r){case"address":s=E.Address.serialize(t).toBytes();break;case"u8":s=E.u8().serialize(t).toBytes();break;case"u16":s=E.u16().serialize(t).toBytes();break;case"u32":s=E.u32().serialize(t).toBytes();break;case"u64":s=E.u64().serialize(t).toBytes();break;case"u128":s=E.u128().serialize(t).toBytes();break;case"u256":s=E.u256().serialize(t).toBytes();break;case"string":s=E.string().serialize(t).toBytes();break;default:throw new Error(`Unsupported value type: ${r}`)}return or(e,n,s)}var hx=to(`
|
|
862
862
|
query coinMetadataId($coinType: String!) {
|
|
863
863
|
objects(filter: { type: $coinType }, first: 1) {
|
|
864
864
|
nodes {
|
|
@@ -866,7 +866,7 @@ Clients should implement reconnection logic to maintain continuous price updates
|
|
|
866
866
|
}
|
|
867
867
|
}
|
|
868
868
|
}
|
|
869
|
-
`),gx=
|
|
869
|
+
`),gx=to(`
|
|
870
870
|
query GetTx($digest: String!) {
|
|
871
871
|
transaction(digest: $digest) {
|
|
872
872
|
digest
|
|
@@ -919,7 +919,7 @@ Clients should implement reconnection logic to maintain continuous price updates
|
|
|
919
919
|
transactionJson
|
|
920
920
|
}
|
|
921
921
|
}
|
|
922
|
-
`),yx=
|
|
922
|
+
`),yx=to(`
|
|
923
923
|
query GetAllDynamicFields($id: SuiAddress!, $first: Int, $after: String) {
|
|
924
924
|
address(address: $id) {
|
|
925
925
|
dynamicFields(first: $first, after: $after) {
|
|
@@ -955,7 +955,7 @@ Clients should implement reconnection logic to maintain continuous price updates
|
|
|
955
955
|
}
|
|
956
956
|
}
|
|
957
957
|
}
|
|
958
|
-
`),bx=
|
|
958
|
+
`),bx=to(`
|
|
959
959
|
query QueryEvents($type: String!, $first: Int, $after: String) {
|
|
960
960
|
events(first: $first, after: $after, filter: { type: $type }) {
|
|
961
961
|
pageInfo {
|
|
@@ -981,7 +981,7 @@ Clients should implement reconnection logic to maintain continuous price updates
|
|
|
981
981
|
}
|
|
982
982
|
}
|
|
983
983
|
}
|
|
984
|
-
`),vx=
|
|
984
|
+
`),vx=to(`
|
|
985
985
|
query QueryTransactions($filter: TransactionFilter, $first: Int, $after: String) {
|
|
986
986
|
transactions(first: $first, after: $after, filter: $filter) {
|
|
987
987
|
pageInfo {
|
|
@@ -1021,7 +1021,7 @@ Clients should implement reconnection logic to maintain continuous price updates
|
|
|
1021
1021
|
}
|
|
1022
1022
|
}
|
|
1023
1023
|
}
|
|
1024
|
-
`);var _x=["https://rpc-mainnet.suiscan.xyz:443","https://cetus-mainnet-endpoint.blockvision.org","https://cetus-suimain-e31f.mainnet.sui.rpcpool.com"];var u$=nu("mainnet"),l$=nu("testnet");var d$=E.struct("Table<ID, bool>",{id:E.Address,size:E.u64()}),wx=E.struct("TypeName",{name:E.string()}),p$=E.struct("OptionU64",{is_none:E.bool(),v:E.u64()}),Tx=E.struct("UID",{id:E.Address}),f$=E.struct("TableSuiRaw",{id:Tx,size:E.u64()});var kx=class{constructor(e,t,n,r){this._cache={},this._env="mainnet",this._client=e,this._env=n||"mainnet",this._graphQLClient=t,this._jsonRpcClient=r}async fetchCoinMetadata(e){let t=`coin_metadata_${e}`,n=this.getCache(t);if(n)return n;let r=await this._client.getCoinMetadata({coinType:e});return this.updateCache(t,r.coinMetadata),r.coinMetadata}async fetchCoinMetadataId(e){if(!this._graphQLClient)throw new Error("graphQLClient is not set");let t=`coin_metadata_id_${e}`,n=this.getCache(t);if(n)return n;let r=(await this._graphQLClient.query({query:hx,variables:{coinType:`0x2::coin::CoinMetadata<${e}>`}})).data?.objects?.nodes?.[0]?.address??null;return r&&this.updateCache(t,r),r}async getSuiTransactionResponse(e){try{return await this._client.getTransaction({digest:e,include:{effects:!0,events:!0,balanceChanges:!0,transaction:!0,objectTypes:!0}})}catch(t){throw console.log("getSuiTransactionResponse error",t),t}}async getTransactionByGraphQL(e){try{return await this._graphQLClient.query({query:gx,variables:{digest:e}})}catch(t){throw console.log("getTransactionByGraphQL error",t),t}}async queryEventsByGraphQL(e,t="all"){if(!this._graphQLClient)throw new Error("graphQLClient is not set");let n=t==="all",r=n?50:t.limit??50,s=[],i=n?null:t.cursor??null,o=!0;do{let a=(await this._graphQLClient.query({query:bx,variables:{type:e,first:r,...i?{after:i}:{}}})).data?.events,c=a?.nodes??[],u=a?.pageInfo;s=[...s,...c],o=u?.hasNextPage??!1,i=u?.endCursor??null}while(n&&o);return{data:s,next_cursor:i,has_next_page:o}}async queryTransactionBlocksByPage(e,t="all"){if(!this._graphQLClient)throw new Error("graphQLClient is not set");if(!(e.sentAddress!=null||e.affectedAddress!=null||e.affectedObject!=null||e.function!=null))throw new Error("At least one of sentAddress, affectedAddress, affectedObject, function is required");let n=t==="all",r=n?50:t.limit??50,s=[],i=n?null:t.cursor??null,o=!0,a={};e.sentAddress&&(a.sentAddress=X(e.sentAddress)),e.affectedAddress&&(a.affectedAddress=X(e.affectedAddress)),e.affectedObject&&(a.affectedObject=X(e.affectedObject)),e.function&&(a.function=e.function);do{let c=(await this._graphQLClient.query({query:vx,variables:{filter:a,first:r,...i?{after:i}:{}}})).data?.transactions,u=c?.nodes??[],d=c?.pageInfo;s=[...s,...u],o=d?.hasNextPage??!1,i=d?.endCursor??null}while(n&&o);return{data:s,next_cursor:i,has_next_page:o}}async queryEventsByPage(e,t="all"){let n=[],r=!0,s=t==="all",i=s?null:t.cursor;do{let o=await this._jsonRpcClient.queryEvents({query:e,cursor:i,limit:s?null:t.limit});o.data?(n=[...n,...o.data],r=o.hasNextPage,i=o.nextCursor):r=!1}while(s&&r);return{data:n,next_cursor:i,has_next_page:r}}async getOwnedObjectsByPage(e,t,n="all"){let r=async s=>{let i=[],o=!0,a=n==="all",c=a?null:n.cursor;do{let u=await s.listOwnedObjects({owner:e,type:t,cursor:c??void 0,limit:a?1e3:n.limit??void 0,include:{content:!0,previousTransaction:!0,json:!0}});i=[...i,...u.objects],o=u.hasNextPage,c=u.cursor??null}while(a&&o);return{data:i,next_cursor:c,has_next_page:o}};try{return await r(this._client)}catch(s){let i=s,o=this._env==="testnet"?"testnet":"mainnet";for(let a of _x)try{let c=af(new Zo({baseUrl:a,network:o}),this._graphQLClient,this._env);return await r(c._client)}catch(c){i=c;continue}throw i}}async getAllDynamicFields(e,t="all"){if(!this._graphQLClient)throw new Error("graphQLClient is not set");let n=t==="all",r=n?50:t.limit??50,s=[],i=n?null:t.cursor??null,o=!0;do{let a=(await this._graphQLClient.query({query:yx,variables:{id:X(e),first:r,...i?{after:i}:{}}})).data?.address?.dynamicFields,c=a?.nodes??[],u=a?.pageInfo;s=[...s,...c],o=u?.hasNextPage??!1,i=u?.endCursor??null}while(n&&o);return{data:s,next_cursor:i,has_next_page:o}}async getDynamicFieldsByPage(e,t="all"){let n=[],r=!0,s=t==="all",i=s?null:t.cursor;do{let o=await this._client.listDynamicFields({parentId:e,cursor:i??void 0,limit:s?1e3:t.limit??void 0});n=[...n,...o.dynamicFields],r=o.hasNextPage,i=o.cursor??null}while(s&&r);return{data:n,next_cursor:i,has_next_page:r}}async getDynamicFieldObjects(e,t,n,r,s){let i=t.map(o=>mx(e,o,n,r));return i.length===0?[]:this.batchGetObjects(i,s)}async batchGetObjects(e,t,n=1e3){let r=[];try{for(let s=0;s<Math.ceil(e.length/n);s++){let i=e.slice(s*n,n*(s+1)),o=await this._client.getObjects({objectIds:i,include:t});r=[...r,...o.objects]}}catch(s){console.log(s)}return r}async calculationTxGas(e){let t=e.getData?.()?.sender??e.blockData?.sender;if(t==null)throw Error("sdk sender is empty");e.setSender(t);let n=await this._client.simulateTransaction({transaction:e,include:{effects:!0}}),r=n.Transaction??n.FailedTransaction;if(!r?.effects?.gasUsed)throw new Error("Simulation did not return effects");let{gasUsed:s}=r.effects;return Number(s.computationCost)+Number(s.storageCost)-Number(s.storageRebate)}async sendTransaction(e,t){try{return await this._client.signAndExecuteTransaction({transaction:t,signer:e,include:{effects:!0,events:!0}})}catch(n){console.log("error: ",n)}}async sendSimulationTransaction(e,t,n=!0){try{return e.setSender(t),await this._client.simulateTransaction({transaction:e,include:{events:!0,balanceChanges:!0,effects:!0,objectChanges:!0,commandResults:!0},checksEnabled:n})}catch(r){throw console.log("simulateTransaction error",r),r}}async executeTx(e,t,n){try{if(n){let r=typeof e=="string"?X(e):X(e.getPublicKey().toSuiAddress());return await this.sendSimulationTransaction(t,r)}else{if(typeof e=="string")throw new Error("Cannot send transaction with string address - keypair required for signing");return await this.sendTransaction(e,t)}}catch(r){return r}}async getOwnerCoinAssets(e,t){let n=[],r=null;if(t)for(;;){let s=await this._client.listCoins({owner:e,coinType:t,cursor:r??void 0});for(let i of s.objects)BigInt(i.balance)>0&&n.push({coin_type:Ii(i.type).type_arguments[0],coin_object_id:i.objectId,balance:BigInt(i.balance)});if(r=s.cursor??null,!s.hasNextPage)break}else{let s=null;do{let i=await this._client.listOwnedObjects({owner:e,cursor:s??void 0,include:{json:!0}});if(i.objects.forEach(o=>{let a=Ii(o.type);o.type.includes('"0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin')&&BigInt(o.balance)>0&&n.push({coin_type:sf(a.type_arguments[0],!1),coin_object_id:o.json.id,balance:BigInt(o.json.balance)})}),s=i.cursor??null,!i.hasNextPage)break}while(!0)}return n}async getOwnerCoinBalances(e,t){if(t)return[(await this._client.getBalance({owner:e,coinType:t})).balance];let n=[],r=null;do{let s=await this._client.listBalances({owner:e,cursor:r??void 0});if(n.push(...s.balances),r=s.cursor??null,!s.hasNextPage)break}while(!0);return n}updateCache(e,t,n=864e5){let r=this._cache[e];r?(r.overdue_time=nb(n),r.value=t):r=new gA(t,nb(n)),this._cache[e]=r}getCache(e,t=!1){let n=this._cache[e],r=n?.isValid();if(!t&&r)return n.value;r||delete this._cache[e]}};function af(e,t,n,r){let s=new kx(e,t,n,r);return new Proxy(s,{get(i,o,a){if(o in i)return Reflect.get(i,o,a);if(o in i._client){let c=Reflect.get(i._client,o);return typeof c=="function"?c.bind(i._client):c}throw new Error(`Property or method "${String(o)}" does not exist on FullClient or its client.`)}})}var Sx=wa(Ta(),1);var y$=new Sx.default(1e6),Ex=(e=>(e[e.BelowRange=0]="BelowRange",e[e.InRange=1]="InRange",e[e.AboveRange=2]="AboveRange",e))(Ex||{}),Qp=10n,Ox={pyth_package_id:"0x04e20ddf36af412a4096f9014f4a565af9e812db9a05cc40254846cf6ed0ad91",pyth_published_at:"0x04e20ddf36af412a4096f9014f4a565af9e812db9a05cc40254846cf6ed0ad91",pyth_state_id:"0x1f9310238ee9298fb703c3419030b35b22bb1cc37113e3bb5007c99aec79e5b8",wormhole_state_id:"0xaeab97f96cf9877fee2883315d459552b2b921edc16d7ceac6eab944dd88919c",hermes_service_urls:[]},Ix={"0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC":{coin_type:"0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC",price_feed_id:"0xeaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94a",coin_decimals:6},"0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI":{coin_type:"0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI",price_feed_id:"0x23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744",coin_decimals:9},"0x06864a6f921804860930db6ddbe2e16acdf8504495ea7481637a1c8b9a8fe54b::cetus::CETUS":{coin_type:"0x06864a6f921804860930db6ddbe2e16acdf8504495ea7481637a1c8b9a8fe54b::cetus::CETUS",price_feed_id:"0xe5b274b2611143df055d6e7cd8d93fe1961716bcd4dca1cad87a83bc1e78c1ef",coin_decimals:9},"0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270::deep::DEEP":{coin_type:"0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270::deep::DEEP",price_feed_id:"0x29bdd5248234e33bd93d3b81100b5fa32eaa5997843847e2c2cb16d7c6d9f7ff",coin_decimals:6},"0xa99b8952d4f7d947ea77fe0ecdcc9e5fc0bcab2841d6e2a5aa00c3044e5544b5::navx::NAVX":{coin_type:"0xa99b8952d4f7d947ea77fe0ecdcc9e5fc0bcab2841d6e2a5aa00c3044e5544b5::navx::NAVX",price_feed_id:"0x88250f854c019ef4f88a5c073d52a18bb1c6ac437033f5932cd017d24917ab46",coin_decimals:9},"0x027792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881::coin::COIN":{coin_type:"0x027792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881::coin::COIN",price_feed_id:"0xe62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43",coin_decimals:9},"0xbde4ba4c2e274a60ce15c1cfff9e5c42e41654ac8b6d906a57efa4bd3c29f47d::hasui::HASUI":{coin_type:"0xbde4ba4c2e274a60ce15c1cfff9e5c42e41654ac8b6d906a57efa4bd3c29f47d::hasui::HASUI",price_feed_id:"0x6120ffcf96395c70aa77e72dcb900bf9d40dccab228efca59a17b90ce423d5e8",coin_decimals:9},"0xd0e89b2af5e4910726fbcd8b8dd37bb79b29e5f83f7491bca830e94f7f226d29::eth::ETH":{coin_type:"0xd0e89b2af5e4910726fbcd8b8dd37bb79b29e5f83f7491bca830e94f7f226d29::eth::ETH",price_feed_id:"0xff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace",coin_decimals:8},"0x356a26eb9e012a68958082340d4c4116e7f55615cf27affcff209cf0ae544f59::wal::WAL":{coin_type:"0x356a26eb9e012a68958082340d4c4116e7f55615cf27affcff209cf0ae544f59::wal::WAL",price_feed_id:"0xeba0732395fae9dec4bae12e52760b35fc1c5671e2da8b449c9af4efe5d54341",coin_decimals:9},"0x3e8e9423d80e1774a7ca128fccd8bf5f1f7753be658c5e645929037f7c819040::lbtc::LBTC":{coin_type:"0x3e8e9423d80e1774a7ca128fccd8bf5f1f7753be658c5e645929037f7c819040::lbtc::LBTC",price_feed_id:"0x8f257aab6e7698bb92b15511915e593d6f8eae914452f781874754b03d0c612b",coin_decimals:8},"0x3a304c7feba2d819ea57c3542d68439ca2c386ba02159c740f7b406e592c62ea::haedal::HAEDAL":{coin_type:"0x3a304c7feba2d819ea57c3542d68439ca2c386ba02159c740f7b406e592c62ea::haedal::HAEDAL",price_feed_id:"0xe67d98cc1fbd94f569d5ba6c3c3c759eb3ffc5d2b28e64538a53ae13efad8fd1",coin_decimals:9}};function Ax(e,t){if(!Qp)throw new Error("oraclePriceMultiplierDecimal is required");if(e===0n)throw new Error("Invalid oracle price");if(t<0n){let n=10n**(Qp- -t);return e*n}return e/10n**(t+Qp)}var cb=16*1024,kb=class{constructor(e,t=Ox){this.hasChangeConnection=!1,this.pythConfigs=t,this.fullClient=e;let n=[...t.hermes_service_urls];n.includes("https://hermes.pyth.network")||n.push("https://hermes.pyth.network"),this.hermesClients=n.map(r=>new hu(r,{timeout:3e3}))}async getFeedInfoList(e){let t=e.map(n=>this.getFeedInfo(n,!1));return await Promise.all(t)}priceCheck(e,t=60){let n=Math.floor(Date.now()/1e3);if(!(Math.abs(n-e.last_update_time)>t))return e}async getPackageId(e){let t=(await this.fullClient.getObject({objectId:e,include:{json:!0}}))?.object?.json;if(t?.upgrade_cap?.package)return t.upgrade_cap.package;throw new Error("upgrade_cap not found")}async getWormholePackageId(){let{wormhole_state_id:e}=this.pythConfigs,t=`getWormholePackageId_${e}`,n=this.fullClient.getCache(t);if(n)return n;let r=await this.getPackageId(this.pythConfigs.wormhole_state_id);return this.fullClient.updateCache(t,r),r}async getLatestPrice(e,t=!1){let n={},r=[];if(t?e.forEach(i=>{let o=this.fullClient.getCache(`getLatestPrice_${i}`);o&&this.priceCheck(o,60)?n[i]=o:r.push(i)}):r=[...e],r.length===0)return n;let s=await this.getFeedInfoList(r);return(await this.getLatestPriceFeeds(s.map(i=>i.price_feed_id)))?.parsed?.forEach((i,o)=>{if(i){let{price:a,expo:c,publish_time:u}=i.price,d=bu(a).mul(bu(10).pow(bu(c))).toString(),p=s[o],f={coin_type:p.coin_type,price:d,coin_decimals:p.coin_decimals,oracle_price:0n,last_update_time:u};f.oracle_price=Ax(BigInt(a),BigInt(c)),n[r[o]]=f,this.fullClient.updateCache(`getLatestPrice_${f.coin_type}`,f)}}),n}async getPriceFeedsUpdateData(e){let t=null;for(let n of this.hermesClients)try{return(await n.getLatestPriceUpdates(e,{encoding:"hex"})).binary.data.map(r=>Buffer.from(r,"hex"))}catch(r){console.log("\u{1F680} ~ PythPriceModule ~ getPriceFeedsUpdateData ~ e:",r),t=r;continue}throw new Error(`All Pyth Hermes endpoints are unavailable. getPriceFeedsUpdateData Detailed error: ${t?.message}`)}async getLatestPriceFeeds(e){let t=null;for(let n of this.hermesClients)try{return await n.getLatestPriceUpdates(e,{parsed:!0})}catch(r){console.log("\u{1F680} ~ PythPriceModule ~ getLatestPriceFeeds ~ error:",r),t=r;continue}throw new Error(`All Pyth Hermes endpoints are unavailable. getLatestPriceFeeds Detailed error: ${t?.message}`)}extractVaaBytesFromAccumulatorMessage(e){let t=7+e.readUint8(6)+1,n=e.readUint16BE(t),r=t+2;return e.subarray(r,r+n)}async verifyVaas(e,t){let n=await this.getWormholePackageId(),r=[];for(let s of e){let[i]=t.moveCall({target:`${n}::vaa::parse_and_verify`,arguments:[t.object(this.pythConfigs.wormhole_state_id),t.pure(E.vector(E.u8()).serialize(Array.from(s),{maxSize:cb}).toBytes()),t.object(he)]});r.push(i)}return r}async getPriceTableInfo(){if(this.priceTableInfo===void 0){let e=null,t=!0;for(;t;){let n=await this.fullClient.listDynamicFields({parentId:this.pythConfigs.pyth_state_id,cursor:e});for(let r of n.dynamicFields)if(r.name.type==="vector<u8>"){let s=r.$kind==="DynamicObject"&&r.childId?r.childId:r.fieldId,i=await this.fullClient.getObject({objectId:s,include:{json:!0}}),o=i.object.type;if(o.includes("table::Table")){let a=o.replace(/.*table::Table</,"").replace(/>$/,"").split(",")[0].trim();return this.priceTableInfo={id:i.object.objectId,fieldType:a},this.priceTableInfo}}t=n.hasNextPage,e=n.cursor}}if(this.priceTableInfo===void 0)throw new Error(" getPriceTableInfo Price table not found");return this.priceTableInfo}async getPriceFeedObjectId(e){let t=e.replace("0x",""),n=`getPriceFeedObjectId_${t}`,r=this.fullClient.getCache(n);if(r)return r;let{id:s,fieldType:i}=await this.getPriceTableInfo(),o=E.struct("PriceIdentifier",{bytes:E.vector(E.u8())}).serialize({bytes:Array.from(Buffer.from(t,"hex"))}).toBytes(),a=(await this.fullClient.getDynamicField({parentId:s,name:{type:i,bcs:o}})).dynamicField.value.bcs,c=a instanceof Uint8Array?a:new Uint8Array(Object.values(a)),u="0x"+Array.from(c).map(d=>d.toString(16).padStart(2,"0")).join("");return this.fullClient.updateCache(n,u),u}async verifyVaasAndGetHotPotato(e,t,n){if(t.length>1)throw new Error("SDK does not support sending multiple accumulator messages in a single transaction");let r=this.extractVaaBytesFromAccumulatorMessage(t[0]),s=await this.verifyVaas([r],e),[i]=e.moveCall({target:`${n}::pyth::create_authenticated_price_infos_using_accumulator`,arguments:[e.object(this.pythConfigs.pyth_state_id),e.pure(E.vector(E.u8()).serialize(Array.from(t[0]),{maxSize:cb}).toBytes()),s[0],e.object(he)]});return i}async buildUpdatePythPricePayload(e,t,n){let{pyth_state_id:r,pyth_published_at:s,pyth_package_id:i}=this.pythConfigs,o=(await this.getFeedInfoList(e)).map(d=>d.price_feed_id);if(e.length!==o.length)throw Error("find feed id fail");let a=await this.getPriceFeedsUpdateData(o);if(!a)throw new Error("get price update data fail");if(a.length>1)throw new Error("SDK does not support sending multiple accumulator messages in a single transaction");let c=await this.verifyVaasAndGetHotPotato(t,a,s),u=0;for(let d of o){let p=await this.getPriceFeedObjectId(d);if(!p)throw new Error(`Price feed ${d} not found, please create it first`);c=n({tx:t,coinType:e[u],priceUpdatesHotPotato:c,priceInfoObjectId:p}),u+=1}return t.moveCall({target:`${s}::hot_potato_vector::destroy`,arguments:[c],typeArguments:[`${i}::price_info::PriceInfo`]}),t}async getBaseUpdateFee(){if(this.baseUpdateFee===void 0){let e=(await this.fullClient.getObject({objectId:this.pythConfigs.pyth_state_id,include:{json:!0}}))?.object?.json;if(!e)throw new Error("Unable to fetch pyth state object");this.baseUpdateFee=Number(e.base_update_fee)}return this.baseUpdateFee}async updatePriceFeeds(e,t,n){let r=this.pythConfigs.pyth_package_id,s=await this.verifyVaasAndGetHotPotato(e,t,r),i=await this.getBaseUpdateFee(),o=e.splitCoins(e.gas,n.map(()=>e.pure.u64(i))),a=[],c=0;for(let u of n){let d=await this.getPriceFeedObjectId(u);if(!d)throw new Error(`Price feed ${u} not found, please create it first`);a.push(d),[s]=e.moveCall({target:`${r}::pyth::update_single_price_feed`,arguments:[e.object(this.pythConfigs.pyth_state_id),s,e.object(d),o[c],e.object(he)]}),c++}return e.moveCall({target:`${r}::hot_potato_vector::destroy`,arguments:[s],typeArguments:[`${r}::price_info::PriceInfo`]}),a}async buildUpdatePythPricePayloadV2(e,t,n){if(e.length===0)return t;let r=(await this.getFeedInfoList(e)).map(a=>a.price_feed_id);if(e.length!==r.length)throw Error("find feed id fail");let s=await this.getPriceFeedsUpdateData(r);if(!s)throw new Error("get price update data fail");if(s.length>1)throw new Error("SDK does not support sending multiple accumulator messages in a single transaction");let i=await this.updatePriceFeeds(t,s,r),o=0;for(let a of i)n({tx:t,coinType:e[o],priceUpdatesHotPotato:{},priceInfoObjectId:a}),o+=1;return t}getFeedInfoByJson(e){let t=sf(e,!1);return Ix[t]}async getFeedInfo(e,t){let n=`getFeedInfo_${e}`,r=this.fullClient.getCache(n,t);if(r)return r;let s=this.getFeedInfoByJson(e);if(s)return s;if(!this.pythConfigs.feed_info_handle)throw new Error("feed_info_handle is not set");let i=await this.fullClient.getDynamicField({parentId:this.pythConfigs.feed_info_handle,name:{type:"0x1::type_name::TypeName",bcs:wx.serialize({name:sf(e,!0)}).toBytes()}}),o=E.struct("OracleInfo",{price_feed_id:E.vector(E.U8),price_info_object_id:E.Address,last_update_time:E.u64(),coin_decimals:E.u8()}).parse(i.dynamicField.value.bcs),a={coin_type:e,price_feed_id:fx(o.price_feed_id),coin_decimals:o.coin_decimals};return console.log("\u{1F680} ~ PythPriceModule ~ getFeedInfo ~ info:",a),this.fullClient.updateCache(n,a),a}},bo=wa(Ta(),1),v$=new bo.default(0),Sb=new bo.default(1),cf=new bo.default(2),_$=cf.pow(new bo.default(128)),w$=cf.pow(new bo.default(64)).sub(Sb),T$=cf.pow(new bo.default(128)).sub(Sb);Tu.config({precision:64,rounding:Tu.ROUND_DOWN,toExpNeg:-64,toExpPos:64});var k$=wa(Ta(),1),S$=wa(Ta(),1);var E$=wa(Ta(),1);import{DeepBookClient as qx}from"@mysten/deepbook-v3";import{Base64 as Gx}from"js-base64";var xx={REQUEST_PARAMS:"requestParams",METHOD_NAME:"methodName"},uf=class extends Error{constructor(n,r,s){super(n);this.code=r;this.details=s;this.name=this.constructor.name}toJSON(){return{name:this.name,message:this.message,code:this.code,details:this.details}}toString(){return JSON.stringify(this.toJSON())}static isErrorCode(n,r){return n instanceof uf&&n.code===r}},Sa=uf;Ci(Sa,"DETAILS_KEYS",xx);var lf=class extends Sa{constructor(t,n,r){super(t,n||"UnknownError",r)}static isCommonErrorCode(t,n){return this.isErrorCode(t,n)}};var df=(e,t,n)=>{throw new lf(t,e,n)};var Cx=/^[-+]?[0-9A-Fa-f]+\.?[0-9A-Fa-f]*?$/;function Eb(e){return e.startsWith("0x")?e:`0x${e}`}function pf(e){return e.startsWith("0x")?`${e.slice(2)}`:e}function Nx(e,t=4,n=4){let r=Math.max(t,1),s=Math.max(n,1);return`${e.slice(0,r+2)} ... ${e.slice(-s)}`}function D$(e,t=4,n=4){return Nx(Eb(e),t,n)}function U$(e,t={leadingZero:!0}){if(typeof e!="string")return!1;let n=e;if(t.leadingZero){if(!e.startsWith("0x"))return!1;n=n.substring(2)}return Cx.test(n)}function Rx(e){if(!Buffer.isBuffer(e))if(Array.isArray(e))e=Buffer.from(e);else if(typeof e=="string")exports.isHexString(e)?e=Buffer.from(exports.padToEven(exports.stripHexPrefix(e)),"hex"):e=Buffer.from(e);else if(typeof e=="number")e=exports.intToBuffer(e);else if(e==null)e=Buffer.allocUnsafe(0);else if(e.toArray)e=Buffer.from(e.toArray());else throw new Error("invalid type");return e}function P$(e){return Eb(Rx(e).toString("hex"))}function L$(e){let t=new ArrayBuffer(4),n=new DataView(t);for(let s=0;s<e.length;s++)n.setUint8(s,e.charCodeAt(s));return n.getUint32(0,!0)}function Mx(e){let t,n,r,s,i;t="";let o=e.length;for(n=0;n<o;)switch(r=e.charCodeAt(n++),r>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:t+=e.charAt(n-1);break;case 12:case 13:s=e.charCodeAt(n++),t+=String.fromCharCode((r&31)<<6|s&63);break;case 14:s=e.charCodeAt(n++),i=e.charCodeAt(n++),t+=String.fromCharCode((r&15)<<12|(s&63)<<6|(i&63)<<0);break}return t}function V$(e){let t="",n=pf(e),r=n.length/2;for(let s=0;s<r;s++)t+=String.fromCharCode(Number.parseInt(n.substr(s*2,2),16));return Mx(t)}var Bx=0,Ab=1,jx=2;function Ob(e,t){return e===t?Bx:e<t?Ab:jx}function Dx(e,t){let n=0,r=e.length<=t.length?e.length:t.length,s=Ob(e.length,t.length);for(;n<r;){let i=Ob(e.charCodeAt(n),t.charCodeAt(n));if(n+=1,i!==0)return i}return s}function z$(e,t){return Dx(e,t)===Ab}function Ib(e,...t){let n=Array.isArray(t[t.length-1])?t.pop():[],s=[e,...t].filter(Boolean).join("::");return n&&n.length&&(s+=`<${n.join(", ")}>`),s}function W$(e){return e.split("::")[0]}function Ls(e){try{let t=e.replace(/\s/g,""),r=t.match(/(<.+>)$/)?.[0]?.match(/(\w+::\w+::\w+)(?:<.*?>(?!>))?/g);if(r){t=t.slice(0,t.indexOf("<"));let c={...Ls(t),type_arguments:r.map(u=>Ls(u).source_address)};return c.type_arguments=c.type_arguments.map(u=>Gt.isSuiCoin(u)?u:Ls(u).source_address),c.source_address=Ib(c.full_address,c.type_arguments),c}let s=t.split("::"),o={full_address:t,address:t===hf||t===xb?"0x2":Ft(s[0]),module:s[1],name:s[2],type_arguments:[],source_address:""};return o.full_address=`${o.address}::${o.module}::${o.name}`,o.source_address=Ib(o.full_address,o.type_arguments),o}catch{return{full_address:e,address:"",module:"",name:"",type_arguments:[],source_address:e}}}function ff(e){return Ls(e).source_address}function Ux(e){return e.toLowerCase().startsWith("0x")?Ft(e):e}var H$=(e,t=!0)=>{let n=e.split("::"),r=n.shift(),s=Ft(r);return t&&(s=pf(s)),`${s}::${n.join("::")}`};function mf(e){for(let t in e){let n=typeof e[t];if(n==="object")mf(e[t]);else if(n==="string"){let r=e[t];e[t]=Ux(r)}}}var J$=be(zn);import Ou from"decimal.js";function R(e){return Ou.isDecimal(e)?e:new Ou(e===void 0?0:e)}function gf(e){return R(10).pow(R(e).abs())}var Ai=(e,t)=>{try{return R(e).toDP(t,Ou.ROUND_DOWN).toString()}catch{return e}},yf=(e,t)=>Ou.max(R(e),R(t));var rq=1e3,sq=500,iq=100,oq=100,aq=1e3,hf="0x2::sui::SUI",xb="0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI",cq="SUI",uq=450,lq="0x0000000000000000000000000000000000000005",it=class{static totalBalance(t,n){let r=BigInt(0);return t.forEach(s=>{n===s.coin_type&&(r+=BigInt(s.balance))}),r}static getCoinAssets(t,n){let r=[];return n.forEach(s=>{ff(s.coin_type)===ff(t)&&r.push(s)}),r}static isSuiCoin(t){return Ls(t).full_address===hf}static selectCoinObjectIdGreaterThanOrEqual(t,n,r=[]){let s=it.selectCoinAssetGreaterThanOrEqual(t,n,r),i=s.selected_coins.map(c=>c.coin_object_id),o=s.remain_coins,a=s.selected_coins.map(c=>c.balance.toString());return{object_array:i,remain_coins:o,amount_array:a}}static selectCoinAssetGreaterThanOrEqual(t,n,r=[]){let s=it.sortByBalance(t.filter(u=>!r.includes(u.coin_object_id))),i=it.calculateTotalBalance(s);if(i<n)return{selected_coins:[],remain_coins:s};if(i===n)return{selected_coins:s,remain_coins:[]};let o=BigInt(0),a=[],c=[...s];for(;o<i;){let u=n-o,d=c.findIndex(f=>f.balance>=u);if(d!==-1){a.push(c[d]),c.splice(d,1);break}let p=c.pop();p.balance>0&&(a.push(p),o+=p.balance)}return{selected_coins:it.sortByBalance(a),remain_coins:it.sortByBalance(c)}}static sortByBalance(t){return t.sort((n,r)=>n.balance<r.balance?-1:n.balance>r.balance?1:0)}static sortByBalanceDes(t){return t.sort((n,r)=>n.balance>r.balance?-1:n.balance<r.balance?0:1)}static calculateTotalBalance(t){return t.reduce((n,r)=>n+r.balance,BigInt(0))}static buildCoinForAmount(t,n,r,s,i=!0,o=!0){let a=it.getCoinAssets(s,n);if(r===BigInt(0))return this.buildZeroValueCoin(n,t,s,i);let c=it.calculateTotalBalance(a);if(c<r)throw new Error(`The amount(${c}) is Insufficient balance for ${s} , expect ${r} `);return this.buildCoin(t,n,a,r,s,i,o)}static buildCoinWithBalance(t,n,r){return t===BigInt(0)&&it.isSuiCoin(n)?r.add(Kn({balance:t,useGasCoin:!1})):r.add(Kn({balance:t,type:n}))}static buildVectorCoin(t,n,r,s,i,o=!0){if(it.isSuiCoin(i)){let f=t.splitCoins(t.gas,[t.pure.u64(s)]);return{selected_coins:[],target_coin:f,remain_coins:n,target_coin_amount:s.toString(),is_mint_zero_coin:!1,original_spited_coin:t.gas}}let{original_spited_coin:a,target_coin:c,target_coin_amount:u,remain_coins:d,selected_coins:p}=this.buildSpitTargeCoin(t,s,r,o);return o?{target_coin:t.makeMoveVec({elements:[c]}),selected_coins:p,remain_coins:d,target_coin_amount:u,is_mint_zero_coin:!1,original_spited_coin:a}:{selected_coins:p,target_coin:t.makeMoveVec({elements:p.map(f=>t.object(f))}),remain_coins:d,target_coin_amount:u,is_mint_zero_coin:!1}}static buildOneCoin(t,n,r,s,i=!0){if(it.isSuiCoin(s)){if(r===0n&&n.length>1){let c=it.selectCoinObjectIdGreaterThanOrEqual(n,r);return{selected_coins:c.object_array,target_coin:t.object(c.object_array[0]),remain_coins:c.remain_coins,target_coin_amount:c.amount_array[0],is_mint_zero_coin:!1}}let o=it.selectCoinObjectIdGreaterThanOrEqual(n,r),a=t.splitCoins(t.gas,[t.pure.u64(r)]);return{selected_coins:[],target_coin:a,remain_coins:o.remain_coins,target_coin_amount:r.toString(),is_mint_zero_coin:!1,original_spited_coin:t.gas}}return this.buildSpitTargeCoin(t,r,n,i)}static buildSpitTargeCoin(t,n,r,s){let i=it.selectCoinObjectIdGreaterThanOrEqual(r,n),o=i.amount_array.reduce((b,_)=>Number(b)+Number(_),0).toString(),a=i.object_array,[c,...u]=a,d=t.object(c),p=d,f=i.amount_array.reduce((b,_)=>Number(b)+Number(_),0).toString(),g;return u.length>0&&t.mergeCoins(d,u.map(b=>t.object(b))),s&&Number(o)>Number(n)&&(p=t.splitCoins(d,[t.pure.u64(n)]),g=d),{original_spited_coin:g,target_coin:p,target_coin_amount:f,remain_coins:i.remain_coins,selected_coins:i.object_array,is_mint_zero_coin:!1}}static buildCoin(t,n,r,s,i,o=!0,a=!0){return o?this.buildVectorCoin(t,n,r,s,i,a):this.buildOneCoin(t,r,s,i,a)}static buildZeroValueCoin(t,n,r,s=!0){let i=this.callMintZeroValueCoin(n,r),o;return s?o=n.makeMoveVec({elements:[i]}):o=i,{target_coin:o,remain_coins:t,selected_coins:[],is_mint_zero_coin:!0,target_coin_amount:"0"}}static buildCoinForAmountInterval(t,n,r,s,i=!0,o=!0){let a=it.getCoinAssets(s,n);if(r.amount_first===BigInt(0))return a.length>0?this.buildCoin(t,[...n],[...a],r.amount_first,s,i,o):this.buildZeroValueCoin(n,t,s,i);let c=it.calculateTotalBalance(a);if(c>=r.amount_first)return this.buildCoin(t,[...n],[...a],r.amount_first,s,i,o);if(c<r.amount_second)throw new Error(`The amount(${c}) is Insufficient balance for ${s} , expect ${r.amount_second} `);return this.buildCoin(t,[...n],[...a],r.amount_second,s,i,o)}static fromBalance(t,n,r){return r.moveCall({target:"0x2::coin::from_balance",typeArguments:[n],arguments:[t]})}static intoBalance(t,n,r){return r.moveCall({target:"0x2::coin::into_balance",typeArguments:[n],arguments:[typeof t=="string"?r.object(t):t]})}static mintBalanceZero(t,n){return n.moveCall({target:"0x2::balance::zero",typeArguments:[t],arguments:[]})}static destroyBalanceZero(t,n,r){return r.moveCall({target:"0x2::balance::destroy_zero",typeArguments:[n],arguments:[t]})}static getCoinAmountObjId(t,n){let r=t.amount_coin_array.find(s=>!s.used&&R(s.amount).eq(n)?(s.used=!0,!0):!1);return r?r.coin_object_id:df("CoinNotFound",`Coin not found for ${n} ${t.coin_type}`)}static buildMultiCoinInput(t,n,r,s){let i=it.getCoinAssets(r,n);if(it.isSuiCoin(r)){let f=t.splitCoins(t.gas,s.map(b=>t.pure.u64(b)));return{amount_coin_array:s.map((b,_)=>({coin_object_id:f[_],amount:b.toString(),used:!1})),coin_type:r,remain_coins:i}}let o=s.reduce((f,g)=>f+g,BigInt(0)),a=it.selectCoinObjectIdGreaterThanOrEqual(i,o);if(a.object_array.length===0)return df("InsufficientBalance",`No enough coins for ${r} expect ${o} actual ${it.calculateTotalBalance(i)}`);let[c,...u]=a.object_array;u.length>0&&t.mergeCoins(c,[...u]);let d=t.splitCoins(c,s.map(f=>t.pure.u64(f)));return{amount_coin_array:s.map((f,g)=>({coin_object_id:d[g],amount:f.toString(),used:!1})),remain_coins:a.remain_coins,coin_type:r}}},Gt=it;Ci(Gt,"callMintZeroValueCoin",(t,n)=>t.moveCall({target:"0x2::coin::zero",typeArguments:[n]}));var Cb=6e4,Nb=3e5,vo=864e5;function bf(e){return Date.parse(new Date().toString())+e}var Iu=class{overdueTime;value;constructor(t,n=0){this.overdueTime=n,this.value=t}isValid(){return this.value===null?!1:this.overdueTime===0?!0:!(Date.parse(new Date().toString())>this.overdueTime)}};function Ea(e,t){let n=gf(R(t));return Number(R(e).mul(n))}function bq(e,t=32){return BigInt.asUintN(t,BigInt(e)).toString()}function vq(e,t=32){return Number(BigInt.asIntN(t,BigInt(e)))}function xi(e,t){let n=gf(R(t));return Number(R(e).div(n))}function _q(e,t="hex"){if(e instanceof Uint8Array){let r=Buffer.from(e);return Gc.fromSecretKey(new Uint8Array(r))}let n=t==="hex"?dn(e):ie(e);return Gc.fromSecretKey(n)}function wq(e,t="hex"){if(e instanceof Uint8Array){let r=Buffer.from(e);return Hc.fromSecretKey(new Uint8Array(r))}let n=t==="hex"?dn(e):ie(e);return Hc.fromSecretKey(n)}var Rb=async e=>new Promise(t=>{setTimeout(()=>{t(1)},e)});async function Tq(e,t=!0){e.getData().commands.forEach((n,r)=>{t&&console.log(`transaction ${r}: `,n)})}var Mb={coinType:"0x36dbef866a1d62bf7328989a10fb2f07d769f4ee587c0de4a0a256e57e0a58a8::deep::DEEP",decimals:6},Bb={coinType:"0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270::deep::DEEP",decimals:6};function jb(...e){console.log("DeepbookV3_Utils_Sdk###",...e)}function Db(e){return e.data}function Px(e){if(e.error&&"object_id"in e.error&&"version"in e.error&&"digest"in e.error){let{error:t}=e;return{objectId:t.object_id,version:t.version,digest:t.digest}}}function Lx(e){if(e.error&&"object_id"in e.error&&!("version"in e.error)&&!("digest"in e.error))return e.error.object_id}function Vx(e){if("reference"in e)return e.reference;let t=Db(e);return t?{objectId:t.objectId,version:t.version,digest:t.digest}:Px(e)}function Ub(e){return"objectId"in e?e.objectId:Vx(e)?.objectId??Lx(e)}function Oq(e){return e.data!==void 0}function Fx(e){return e.content!==void 0}function $x(e){let t="data"in e?Db(e):e;if(!(!t||!Fx(t)||t.content.dataType!=="moveObject"))return t.content}function Pb(e){let t=$x(e)?.fields;if(t)return"fields"in t?t.fields:t}var Lb=E.struct("GetCetusBalanceManagerList",{owner:E.Address,cetus_balance_managers:E.vector(E.Address),deepbook_balance_managers:E.vector(E.Address)}),Vb=E.struct("Account",{epoch:E.u64(),open_orders:E.vector(E.u128()),taker_volume:E.u128(),maker_volume:E.u128(),active_stake:E.u64(),inactive_stake:E.u64(),created_proposal:E.bool(),voted_proposal:E.option(E.Address),unclaimed_rebates:E.struct("Balances",{base:E.u64(),quote:E.u64(),deep:E.u64()}),settled_balances:E.struct("Balances",{base:E.u64(),quote:E.u64(),deep:E.u64()}),owed_balances:E.struct("Balances",{base:E.u64(),quote:E.u64(),deep:E.u64()})});var vf=1e6,gr=1e9,zx={coinType:"0x36dbef866a1d62bf7328989a10fb2f07d769f4ee587c0de4a0a256e57e0a58a8::deep::DEEP",decimals:6},Wx={coinType:"0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270::deep::DEEP",decimals:6},xu=class{_sdk;_deep;_cache={};constructor(t){this._sdk=t,this._deep=t.sdkOptions.network==="mainnet"?Wx:zx}get sdk(){return this._sdk}get deepCoin(){return this._deep}createAndShareBalanceManager(){let t=new J,n=t.moveCall({target:`${this._sdk.sdkOptions.deepbook.published_at}::balance_manager::new`});return t.moveCall({target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::cetus_balance_manager::check_and_add_deepbook_balance_manager_indexer`,arguments:[t.object(this._sdk.sdkOptions.deepbook_utils.cetus_balance_manager_indexer_id),n],typeArguments:[]}),t.moveCall({target:"0x2::transfer::public_share_object",arguments:[n],typeArguments:[`${this._sdk.sdkOptions.deepbook.published_at}::balance_manager::BalanceManager`]}),t}createAndDepsit({account:t,coin:n,amountToDeposit:r}){let s=new J;s.setSenderIfNotSet(t);let i=s.moveCall({target:`${this._sdk.sdkOptions.deepbook.published_at}::balance_manager::new`}),o=Kn({type:n.coinType,balance:BigInt(r)});return s.moveCall({target:`${this._sdk.sdkOptions.deepbook.published_at}::balance_manager::deposit`,arguments:[i,o],typeArguments:[n.coinType]}),s.moveCall({target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::cetus_balance_manager::check_and_add_deepbook_balance_manager_indexer`,arguments:[s.object(this._sdk.sdkOptions.deepbook_utils.cetus_balance_manager_indexer_id),i],typeArguments:[]}),s.moveCall({target:"0x2::transfer::public_share_object",arguments:[i],typeArguments:[`${this._sdk.sdkOptions.deepbook.published_at}::balance_manager::BalanceManager`]}),s}depositIntoManager({account:t,balanceManager:n,coin:r,amountToDeposit:s,tx:i}){let o=i||new J;if(n){o.setSenderIfNotSet(t);let a=Kn({type:r.coinType,balance:BigInt(s)});return o.moveCall({target:`${this._sdk.sdkOptions.deepbook.published_at}::balance_manager::deposit`,arguments:[o.object(n),a],typeArguments:[r.coinType]}),o}return null}async withdrawFromManager({account:t,balanceManager:n,coin:r,amountToWithdraw:s,returnAssets:i,txb:o}){let a=o||new J,c=a.moveCall({target:`${this._sdk.sdkOptions.deepbook.published_at}::balance_manager::withdraw`,arguments:[a.object(n),a.pure.u64(s)],typeArguments:[r.coinType]});if(i)return c;if(Gt.isSuiCoin(r.coinType))a.transferObjects([c],t);else{let u=await this._sdk.fullClient.getOwnerCoinAssets(t,r.coinType),d=Gt.buildCoinForAmount(a,u,BigInt(0),r.coinType,!1);d.target_coin?(a.mergeCoins(d.target_coin,[c]),d.is_mint_zero_coin&&a.transferObjects([d.target_coin],t)):a.transferObjects([c],t)}return a}withdrawManagersFreeBalance({account:t,balanceManagers:n,tx:r=new J}){for(let s in n)n[s].forEach(o=>{let a=r.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::balance_manager::withdraw`,arguments:[r.object(s),r.pure.u64(o.amount)],typeArguments:[o.coinType]});r.transferObjects([a],t)});return r}async getBalanceManager(t,n=!0){let r=`getBalanceManager_${t}`,s=this.getCache(r,n);if(!n&&s!==void 0)return s;try{let i=new J;i.moveCall({target:`${this._sdk.sdkOptions.deepbook_utils.package_id}::cetus_balance_manager::get_balance_managers_by_owner`,arguments:[i.object(this._sdk.sdkOptions.deepbook_utils.cetus_balance_manager_indexer_id),i.pure.address(t)],typeArguments:[]});let o=await this.sdk.fullClient.sendSimulationTransaction(i,t),c=(o?.Transaction??o?.FailedTransaction)?.events?.find(I=>I.eventType===`${this._sdk.sdkOptions.deepbook_utils.package_id}::cetus_balance_manager::GetCetusBalanceManagerList`);if(c?.bcs==null)throw new Error("GetCetusBalanceManagerList event not found or missing BCS payload (check simulation / RPC transport)");let d=Lb.parse(new Uint8Array(c.bcs))?.deepbook_balance_managers||[],p=await this._sdk.fullClient.batchGetObjects(d,{json:!0}),f={};for(let I=0;I<p.length;I++){let A=p[I],M=A?.data?.objectId??A?.objectId,C=A?.json??A?.data?.content?.fields,B=C?.allow_listed?.fields?.contents??C?.allow_listed?.contents??C?.balance_manager?.allow_listed?.contents;M&&Array.isArray(B)&&B.length>0&&(f[M]=B)}let g=await this.batchGetObjectsByIdMap(f),b=X(t),_=[];return d.forEach(I=>{let A=g[I]??[],M=A.filter(B=>{let L=this.getSuiObjectOwnerAddress(B);return L!==void 0&&X(L)===b});(A.length===0||M.length===A.length)&&_.push({balanceManager:I,cetusBalanceManager:""})}),this.updateCache(r,_,864e5),_||[]}catch(i){throw i instanceof Error?i:new Error(String(i))}}async batchGetObjectsByIdMap(t){let n=Object.entries(t).filter(([,o])=>Array.isArray(o)&&o.length>0);if(n.length===0)return{};let r=[...new Set(n.flatMap(([,o])=>o))],s=await this._sdk.fullClient.batchGetObjects(r,{json:!0}),i=new Map;return s.forEach(o=>{let a=o?.data?.objectId??o?.objectId;a&&i.set(a,o)}),Object.fromEntries(n.map(([o,a])=>[o,a.map(c=>i.get(c)).filter(Boolean)]))}getSuiObjectOwnerAddress(t){let r=t?.owner;if(r&&typeof r=="object"){if(r.$kind==="AddressOwner"&&typeof r.AddressOwner=="string")return r.AddressOwner;if(r.$kind==="ObjectOwner"&&typeof r.ObjectOwner=="string")return r.ObjectOwner;if(typeof r.AddressOwner=="string")return r.AddressOwner;if(typeof r.ObjectOwner=="string")return r.ObjectOwner}let s=t.data?.owner;if(!(!s||typeof s!="object")){if(typeof s.AddressOwner=="string")return s.AddressOwner;if(typeof s.ObjectOwner=="string")return s.ObjectOwner}}withdrawSettledAmounts({poolInfo:t,balanceManager:n},r=new J){let s=r.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::balance_manager::generate_proof_as_owner`,arguments:[r.object(n)]});return r.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::withdraw_settled_amounts`,arguments:[r.object(t.address),r.object(n),s],typeArguments:[t.baseCoin.coinType,t.quoteCoin.coinType]}),r}async getManagerBalance({account:t,balanceManager:n,coins:r}){try{let s=new J;r.forEach(a=>{s.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::balance_manager::balance`,arguments:[s.object(n)],typeArguments:[a.coinType]})});let i=await this.sdk.fullClient.sendSimulationTransaction(s,t),o={};return i?.commandResults?.forEach((a,c)=>{let u=r[c],d=a.returnValues[0]?.bcs,p=E.U64.parse(new Uint8Array(d)),f=R(p),g=f.eq(0)?"0":f.div(Math.pow(10,u.decimals)).toString();o[u.coinType]={adjusted_balance:g,balance:f.toString()}}),o}catch(s){throw s instanceof Error?s:new Error(String(s))}}async getAccountAllManagerBalance({account:t,coins:n}){try{let r=new J,s=await this.getBalanceManager(t,!0);if(!Array.isArray(s)||s.length===0)return{};s.forEach(a=>{n.forEach(c=>{r.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::balance_manager::balance`,arguments:[r.object(a.balanceManager)],typeArguments:[c.coinType]})})});let i=await this.sdk.fullClient.sendSimulationTransaction(r,t),o={};return s.forEach((a,c)=>{let u={},d=c*n.length;n.forEach((p,f)=>{let g=d+f,b=i.commandResults?.[g];if(b){let _=b.returnValues[0].bcs,I=E.U64.parse(new Uint8Array(_)),A=R(I),M=A.eq(0)?"0":A.div(Math.pow(10,p.decimals)).toString();u[p.coinType]={adjusted_balance:M,balance:A.toString()}}}),o[a.balanceManager]=u}),o}catch(r){throw r instanceof Error?r:new Error(String(r))}}async getMarketPrice(t){try{let n=new J;n.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::mid_price`,arguments:[n.object(t.address),n.object(he)],typeArguments:[t.baseCoin.coinType,t.quoteCoin.coinType]});let s=(await this._sdk.fullClient.sendSimulationTransaction(n,this._sdk.sdkOptions.simulationAccount.address)).commandResults[0]?.returnValues[0]?.bcs,i=Number(E.U64.parse(new Uint8Array(s))),o=Math.pow(10,t.baseCoin.decimals).toString(),a=Math.pow(10,t.quoteCoin.decimals).toString();return R(i).mul(o).div(a).div(gr).toString()}catch(n){return jb("getMarketPrice ~ error:",n),"0"}}async getPools(t=!1){let n="Deepbook_getPools",r=this.getCache(n,t);if(r!==void 0)return r;let s=await this._sdk.fullClient?.queryEventsByPage({MoveEventModule:{module:"pool",package:this._sdk.sdkOptions.deepbook.package_id}}),i=/<([^>]+)>/,o=[];return s?.data?.forEach(a=>{let c=a?.parsedJson,u=a.type.match(i);if(u){let p=u[1].split(", ");o.push({...c,baseCoinType:p[0],quoteCoinType:p[1]})}}),this.updateCache(n,o,864e5),o}async getQuoteQuantityOut(t,n,r){let s=new J;s.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::get_quote_quantity_out`,arguments:[s.object(t.address),s.pure.u64(n),s.object(he)],typeArguments:[t.baseCoin.coinType,t.quoteCoin.coinType]});let i=await this._sdk.fullClient.sendSimulationTransaction(s,r),o=String(E.U64.parse(new Uint8Array(i.commandResults[0].returnValues[0].bcs))),a=String(E.U64.parse(new Uint8Array(i.commandResults[0].returnValues[1].bcs))),c=String(E.U64.parse(new Uint8Array(i.commandResults[0].returnValues[2].bcs)));return{baseQuantityDisplay:R(n).div(Math.pow(10,t.baseCoin.decimals)).toString(),baseOutDisplay:R(o).div(Math.pow(10,t.baseCoin.decimals)).toString(),quoteOutDisplay:R(a).div(Math.pow(10,t.quoteCoin.decimals)).toString(),deepRequiredDisplay:R(c).div(vf).toString(),baseQuantity:n,baseOut:o,quoteOut:a,deepRequired:c}}async getBaseQuantityOut(t,n,r){let s=new J;s.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::get_base_quantity_out`,arguments:[s.object(t.address),s.pure.u64(n),s.object(he)],typeArguments:[t.baseCoin.coinType,t.quoteCoin.coinType]});let i=await this._sdk.fullClient.sendSimulationTransaction(s,r),o=String(E.U64.parse(new Uint8Array(i.commandResults[0].returnValues[0].bcs))),a=String(E.U64.parse(new Uint8Array(i.commandResults[0].returnValues[1].bcs))),c=String(E.U64.parse(new Uint8Array(i.commandResults[0].returnValues[2].bcs)));return{quoteQuantityDisplay:R(n).div(Math.pow(10,t.quoteCoin.decimals)).toString(),baseOutDisplay:R(o).div(Math.pow(10,t.baseCoin.decimals)).toString(),quoteOutDisplay:R(a).div(Math.pow(10,t.quoteCoin.decimals)).toString(),deepRequiredDisplay:R(c).div(vf).toString(),quoteQuantity:n,baseOut:o,quoteOut:a,deepRequired:c}}async getQuantityOut(t,n,r,s){let i=new J;i.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::get_quantity_out`,arguments:[i.object(t.address),i.pure.u64(n),i.pure.u64(r),i.object(he)],typeArguments:[t.baseCoin.coinType,t.quoteCoin.coinType]});let o=await this._sdk.fullClient.sendSimulationTransaction(i,s),a=Number(E.U64.parse(new Uint8Array(o.commandResults[0].returnValues[0].bcs))),c=Number(E.U64.parse(new Uint8Array(o.commandResults[0].returnValues[1].bcs))),u=Number(E.U64.parse(new Uint8Array(o.commandResults[0].returnValues[2].bcs)));return{baseQuantityDisplay:R(n).div(Math.pow(10,t.baseCoin.decimals)).toString(),quoteQuantityDisplay:R(r).div(Math.pow(10,t.quoteCoin.decimals)).toString(),baseOutDisplay:R(a).div(Math.pow(10,t.baseCoin.decimals)).toString(),quoteOutDisplay:R(c).div(Math.pow(10,t.quoteCoin.decimals)).toString(),deepRequiredDisplay:R(u).div(vf).toString(),baseQuantity:n,quoteQuantity:r,baseOut:a,quoteOut:c,deepRequired:u}}async getReferencePool(t){let n=await this.getPools(),r=t.baseCoin.coinType,s=t.quoteCoin.coinType,i=this._deep.coinType;for(let o=0;o<n.length;o++){let a=n[o];if(a.address===t.address)continue;let c=[a.baseCoinType,a.quoteCoinType];if(a.baseCoinType===i&&(c.includes(r)||c.includes(s)))return a}return null}async updateDeepPrice(t,n){let r=await this.getReferencePool(t);return r?(n.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::add_deep_price_point`,arguments:[n.object(t.address),n.object(r.pool_id),n.object(he)],typeArguments:[t.baseCoin.coinType,t.quoteCoin.coinType,r.baseCoinType,r.quoteCoinType]}),n):null}async estimatedMaxFee(t,n,r,s,i,o,a){let c=this.deepCoin;try{let{taker_fee:u,maker_fee:d}=t,p=R(u).div(gr).toString(),f=R(d).div(gr).toString(),g=await this.getMarketPrice(t);console.log("\u{1F680} ~ DeepbookUtilsModule ~ estimatedMaxFee ~ marketPrice:",g);let b=o?r:g!=="0"?g:a;if(b==="0")throw new Error("Cannot get market price");let _=Math.pow(10,t.baseCoin.decimals).toString(),I=Math.pow(10,t.quoteCoin.decimals).toString(),A=R(b).div(_).mul(I).mul(gr).toString();if(s){let B=await this.getMarketPrice(t),j=R(o?r:B!=="0"?B:a).div(_).mul(I).mul(gr).toString(),q=await this.getOrderDeepPrice(t);if(!q)throw new Error("Cannot get deep price");let P=yf(j,r),D=R(n).mul(R(p)).mul(R(q.deep_per_asset)).div(R(gr)),Z=R(n).mul(R(f)).mul(R(q.deep_per_asset)).div(R(gr));q.asset_is_base||(D=D.mul(P).div(R(gr)),Z=Z.mul(P).div(R(gr)));let ce=D.ceil().toString(),te=Z.ceil().toString();return{takerFee:ce,makerFee:te,takerFeeDisplay:xi(ce,c.decimals).toString(),makerFeeDisplay:xi(te,c.decimals).toString(),feeType:c.coinType}}if(i){let B=yf(A,o?r:g),L=R(n).mul(B).mul(R(p).mul(1.25)).div(R(gr)).ceil().toFixed(0),j=R(n).mul(B).mul(R(f).mul(1.25)).div(R(gr)).ceil().toFixed(0);return{takerFee:L,makerFee:j,takerFeeDisplay:xi(L,t.quoteCoin.decimals).toString(),makerFeeDisplay:xi(j,t.quoteCoin.decimals).toString(),feeType:t.quoteCoin.coinType}}let M=R(n).mul(R(p).mul(1.25)).ceil().toFixed(0),C=R(n).mul(R(f).mul(1.25)).ceil().toFixed(0);return{takerFee:M,makerFee:C,takerFeeDisplay:xi(M,t.baseCoin.decimals).toString(),makerFeeDisplay:xi(C,t.baseCoin.decimals).toString(),feeType:t.baseCoin.coinType}}catch(u){throw u instanceof Error?u:new Error(String(u))}}async getOrderDeepPrice(t,n=!0){let r=`getOrderDeepPrice_${t.address}}`,s=this.getCache(r);if(s!==void 0)return s;try{let i=new J,o=!1;n&&t?.baseCoin?.coinType!==this._deep.coinType&&t?.quoteCoin?.coinType!==this._deep.coinType&&await this.updateDeepPrice(t,i)&&(o=!0),i.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::get_order_deep_price`,arguments:[i.object(t.address)],typeArguments:[t.baseCoin.coinType,t.quoteCoin.coinType]});let a=await this._sdk.fullClient.sendSimulationTransaction(i,this._sdk.sdkOptions.simulationAccount.address),c=o?a.commandResults[1]?.returnValues[0]?.bcs:a.commandResults[0]?.returnValues[0]?.bcs,u=this.parseOrderDeepPrice(new Uint8Array(c));return this.updateCache(r,u,6e4),u}catch{return await Rb(2e3),this.getOrderDeepPrice(t,!1)}}parseOrderDeepPrice(t){let n=new DataView(t.buffer),r=n.getUint8(0)!==0,s=Number(n.getBigUint64(1,!0));return{asset_is_base:r,deep_per_asset:s}}getCoinAssets(t,n,r){return Gt.buildCoinWithBalance(BigInt(R(n).abs().ceil().toString()),t,r)}async getTransactionRelatedBalance(t,n,r,s,i,o,a){let c=this.deepCoin;if(!a)return{baseManagerBlance:"0",quoteManagerBlance:"0",feeManaerBalance:"0"};try{let u=[{coinType:t.baseCoin.coinType,decimals:t.baseCoin.decimals},{coinType:t.quoteCoin.coinType,decimals:t.quoteCoin.decimals}];s&&u.push(c);let d=await this.getManagerBalance({account:i,balanceManager:a,coins:u}),p=d?.[n]?.balance||"0",f=d?.[r]?.balance||"0",g=o&&d?.[c.coinType]?.balance||"0";return{baseManagerBlance:p,quoteManagerBlance:f,feeManaerBalance:g}}catch(u){throw u instanceof Error?u:new Error(String(u))}}getFeeAsset(t,n,r,s,i,o,a,c,u){let d=R(t).gt(0)&&c,p="0";if(!d)return{feeAsset:this.getEmptyCoin(u,n),haveDepositFee:"0"};if(o||a){let f=R(i).sub(o?s:r);p=f.lte(0)?t:f.sub(t).lt(0)?f.sub(t).toString():"0"}else p=R(i).sub(t).lt("0")?R(i).sub(t).abs().toString():"0";return{feeAsset:R(p).gt("0")?this.getCoinAssets(n,p,u):this.getEmptyCoin(u,n),haveDepositFee:p}}async getTransactionRelatedAssets(t,n,r,s,i,o,a,c,u){try{let d=this.deepCoin,p=be(t.baseCoin.coinType),f=be(t.quoteCoin.coinType),g=p===d.coinType,b=f===d.coinType,_=!g&&!b,{baseManagerBlance:I,quoteManagerBlance:A,feeManaerBalance:M}=await this.getTransactionRelatedBalance(t,p,f,_,o,a,c);console.log("\u{1F680}\u{1F680}\u{1F680} ~ deepbookUtilsModule.ts:897 ~ DeepbookUtilsModule ~ getTransactionRelatedAssets ~ quoteManagerBlance:",{baseManagerBlance:I,quoteManagerBlance:A});let C,B,L=!1;if(i){a||(r=R(r).add(R(s)).toString());let q=R(A).sub(r).toString();R(q).lt(0)?(L=!0,B=this.getCoinAssets(f,q,u)):B=this.getEmptyCoin(u,f),C=this.getEmptyCoin(u,p)}else{a||(n=R(n).add(R(s)).toString());let q=R(I).sub(n).toString();R(q).lt(0)?(L=!0,C=this.getCoinAssets(p,q,u)):C=this.getEmptyCoin(u,p),B=this.getEmptyCoin(u,f)}let j=this.getFeeAsset(s,d.coinType,n,r,M,b,g,a,u);return{baseAsset:C,quoteAsset:B,feeAsset:j,haveDeposit:L}}catch(d){throw d instanceof Error?d:new Error(String(d))}}async getMarketTransactionRelatedAssets(t,n,r,s,i,o,a,c,u,d){try{let p=this.deepCoin,f=be(t.baseCoin.coinType),g=be(t.quoteCoin.coinType),b=f===p.coinType,_=g===p.coinType,I=!b&&!_,A=await this.getTransactionRelatedBalance(t,f,g,I,o,a,c),{feeManaerBalance:M}=A,C=R(A.baseManagerBlance).add(R(d?.base||"0")).toString(),B=R(A.quoteManagerBlance).add(R(d?.quote||"0")).toString(),L;a&&R(M).lt(s)?L=this.getCoinAssets(p.coinType,R(s).sub(M).toString(),u):L=this.getEmptyCoin(u,p.coinType);let j,q;if(i){a||(r=R(r).add(R(s)).toString());let P=R(B).sub(r).toString();if(R(P).lt(0)){let D;R(B).gt(0)&&(D=await this.withdrawFromManager({account:o,balanceManager:c,coin:t.quoteCoin,amountToWithdraw:B,returnAssets:!0,txb:u}));let Z=this.getCoinAssets(g,P,u);D&&u.mergeCoins(Z,[D]),q=Z}else q=await this.withdrawFromManager({account:o,balanceManager:c,coin:t.quoteCoin,amountToWithdraw:r,returnAssets:!0,txb:u});j=this.getEmptyCoin(u,f)}else{a||(n=R(n).add(R(s)).toString());let P=R(C).sub(n).toString();if(R(P).lt(0)){let D;R(C).gt(0)&&(D=await this.withdrawFromManager({account:o,balanceManager:c,coin:t.baseCoin,amountToWithdraw:C,returnAssets:!0,txb:u}));let Z=this.getCoinAssets(f,P,u);D&&u.mergeCoins(Z,[D]),j=Z}else j=await this.withdrawFromManager({account:o,balanceManager:c,coin:t.baseCoin,amountToWithdraw:n,returnAssets:!0,txb:u});q=this.getEmptyCoin(u,g)}return{baseAsset:j,quoteAsset:q,feeAsset:L}}catch(p){throw p instanceof Error?p:new Error(String(p))}}async createDepositThenPlaceLimitOrder({poolInfo:t,priceInput:n,quantity:r,orderType:s,isBid:i,maxFee:o,account:a,payWithDeep:c,expirationTimestamp:u=Date.now()+31536e8}){try{let d=this.deepCoin,p=t.address,f=t.baseCoin.decimals,g=t.quoteCoin.decimals,b=t.baseCoin.coinType,_=t.quoteCoin.coinType,I=R(n).mul(10**(g-f+9)).toString(),A=be(b),M=be(_),C=new J,B,L;if(i){let D=R(n).mul(R(r).div(Math.pow(10,t.baseCoin.decimals))).mul(Math.pow(10,t.quoteCoin.decimals)).toString();c||(D=R(D).add(R(o)).toString()),L=Gt.buildCoinWithBalance(BigInt(D),M,C)}else{let D=r;c||(D=R(r).abs().add(R(o)).toString()),B=Gt.buildCoinWithBalance(BigInt(D),A,C)}let j=c?R(o).gt(0)?Gt.buildCoinWithBalance(BigInt(R(o).abs().ceil().toString()),d.coinType,C):this.getEmptyCoin(C,d.coinType):this.getEmptyCoin(C,d.coinType),q=C.moveCall({typeArguments:[i?b:_],target:"0x2::coin::zero",arguments:[]}),P=[C.object(this._sdk.sdkOptions.deepbook_utils.global_config_id),C.object(this._sdk.sdkOptions.deepbook_utils.cetus_balance_manager_indexer_id),C.object(p),i?q:B,i?L:q,j,C.pure.u8(s),C.pure.u8(0),C.pure.u64(I),C.pure.u64(r),C.pure.bool(i),C.pure.bool(!1),C.pure.u64(u),C.object(he)];return C.moveCall({typeArguments:[A,M],target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::deepbookv3_utils::create_deposit_then_place_limit_order`,arguments:P}),C}catch(d){throw d instanceof Error?d:new Error(String(d))}}getEmptyCoin(t,n){return Gt.buildCoinWithBalance(BigInt(0),n,t)}async createDepositThenPlaceMarketOrder({poolInfo:t,quantity:n,isBid:r,maxFee:s,account:i,payWithDeep:o,slippage:a=.01}){try{let c=t.address,u=t.baseCoin.coinType,d=t.quoteCoin.coinType,p=be(u),f=be(d),g=new J,b,_,I=n,A,M=await this.getOrderBook(t,"all",6);if(r){let L=M?.ask?.[0]?.price||"0",j=R(L).mul(R(n).div(Math.pow(10,t.baseCoin.decimals))).mul(Math.pow(10,t.quoteCoin.decimals)).toString();A=R(j).plus(R(j).mul(a)).ceil().toString()}else{let L=await M?.bid?.[0]?.price||"0",j=R(L).mul(R(n).div(Math.pow(10,t.baseCoin.decimals))).mul(Math.pow(10,t.quoteCoin.decimals)).toString();A=R(j).minus(R(j).mul(a)).floor().toString()}r?(o||(A=R(A).add(R(s)).toString()),_=this.getCoinAssets(f,A,g),b=this.getEmptyCoin(g,p)):(o||(I=R(I).add(R(s)).toString()),_=this.getEmptyCoin(g,f),b=this.getCoinAssets(p,I,g));let C=o?R(s).gt(0)?Gt.buildCoinWithBalance(BigInt(R(s).abs().ceil().toString()),this.deepCoin.coinType,g):this.getEmptyCoin(g,this.deepCoin.coinType):this.getEmptyCoin(g,this.deepCoin.coinType),B=[g.object(this._sdk.sdkOptions.deepbook_utils.global_config_id),g.object(this._sdk.sdkOptions.deepbook_utils.cetus_balance_manager_indexer_id),g.object(c),b,_,C,g.pure.u8(0),g.pure.u64(n),g.pure.bool(r),g.pure.bool(o),g.pure.u64(A),g.object(he)];return g.moveCall({typeArguments:[p,f],target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::deepbookv3_utils::create_deposit_then_place_market_order_v2`,arguments:B}),g}catch(c){throw c instanceof Error?c:new Error(String(c))}}async placeLimitOrder({balanceManager:t,poolInfo:n,priceInput:r,quantity:s,isBid:i,orderType:o,maxFee:a,account:c,payWithDeep:u,expirationTimestamp:d=Date.now()+31536e8}){try{let p=this.deepCoin,f=R(r).mul(10**(n.quoteCoin.decimals-n.baseCoin.decimals+9)).toString(),g=n.baseCoin.coinType,b=n.quoteCoin.coinType,_=new J,I=i?R(r).mul(R(s).div(Math.pow(10,n.baseCoin.decimals))).mul(Math.pow(10,n.quoteCoin.decimals)).toString():"0",A=i?"0":s,{baseAsset:M,quoteAsset:C,feeAsset:B,haveDeposit:L}=await this.getTransactionRelatedAssets(n,A,I,a,i,c,u,t,_);if(L){let P=[_.object(this._sdk.sdkOptions.deepbook_utils.global_config_id),_.object(this._sdk.sdkOptions.deepbook_utils.cetus_balance_manager_indexer_id),_.object(n.address),_.object(t),M,C,B.feeAsset,_.pure.u8(o),_.pure.u8(0),_.pure.u64(f),_.pure.u64(s),_.pure.bool(i),_.pure.bool(u),_.pure.u64(d),_.object(he)];return _.moveCall({typeArguments:[g,b],target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::deepbookv3_utils::deposit_then_place_limit_order_by_owner`,arguments:P}),_}let j=new J;R(B.haveDepositFee).gt(0)&&this.depositIntoManager({account:c,balanceManager:t,coin:p,amountToDeposit:B.haveDepositFee,tx:j});let q=[j.object(this._sdk.sdkOptions.deepbook_utils.global_config_id),j.object(this._sdk.sdkOptions.deepbook_utils.cetus_balance_manager_indexer_id),j.object(n.address),j.object(t),j.pure.u8(o),j.pure.u8(0),j.pure.u64(f),j.pure.u64(s),j.pure.bool(i),j.pure.bool(u),j.pure.u64(d),j.object(he)];return j.moveCall({typeArguments:[g,b],target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::deepbookv3_utils::place_limit_order`,arguments:q}),j}catch(p){throw p instanceof Error?p:new Error(String(p))}}modifyOrder({balanceManager:t,poolInfo:n,orderId:r,newOrderQuantity:s}){let i=new J;return i.moveCall({typeArguments:[n.baseCoin.coinType,n.quoteCoin.coinType],target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::deepbookv3_utils::modify_order`,arguments:[i.object(this._sdk.sdkOptions.deepbook_utils.global_config_id),i.object(t),i.object(n.address),i.pure.u128(r),i.pure.u64(s),i.object(he)]}),i}async getBestAskprice(t){try{let{baseCoin:n,quoteCoin:r}=t,s=new J,i=await this.getMarketPrice(t),o=R(i).gt(0)?i:Math.pow(10,-1),a=Math.pow(10,6),c=R(o).mul(Math.pow(10,9+r.decimals-n.decimals)).toString(),u=R(a).mul(Math.pow(10,9+r.decimals-n.decimals)).toString();s.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::get_level2_range`,arguments:[s.object(t.address),s.pure.u64(c),s.pure.u64(u),s.pure.bool(!1),s.object(he)],typeArguments:[n.coinType,r.coinType]});let d=this._sdk.sdkOptions.simulationAccount.address,p=await this._sdk.fullClient.sendSimulationTransaction(s,d),f=[],g=p.commandResults[0].returnValues[0].bcs,b=E.vector(E.u64()).parse(new Uint8Array(g)),_=p.commandResults[0].returnValues[1].bcs,I=E.vector(E.u64()).parse(new Uint8Array(_));return b.forEach((A,M)=>{let C=R(A).div(Math.pow(10,9+r.decimals-n.decimals)).toString(),B=R(I[M]).div(Math.pow(10,n.decimals)).toString();f.push({price:C,quantity:B})}),f?.[0]?.price||0}catch{return 0}}async getBestBidprice(t){try{let{baseCoin:n,quoteCoin:r}=t,s=new J,i=await this.getMarketPrice(t),o=R(i).gt(0)?R(i).div(3).toNumber():Math.pow(10,-6),a=R(i).gt(0)?i:Math.pow(10,6),c=R(o).mul(Math.pow(10,9+r.decimals-n.decimals)).toString(),u=R(a).mul(Math.pow(10,9+r.decimals-n.decimals)).toString();s.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::get_level2_range`,arguments:[s.object(t.address),s.pure.u64(Ai(c,0)),s.pure.u64(Ai(u,0)),s.pure.bool(!0),s.object(he)],typeArguments:[n.coinType,r.coinType]});let d=this._sdk.sdkOptions.simulationAccount.address,p=await this._sdk.fullClient.sendSimulationTransaction(s,d),f=[],g=p.commandResults[0].returnValues[0].bcs,b=E.vector(E.u64()).parse(new Uint8Array(g)),_=p.commandResults[0].returnValues[1].bcs,I=E.vector(E.u64()).parse(new Uint8Array(_));return b.forEach((A,M)=>{let C=R(A).div(Math.pow(10,9+r.decimals-n.decimals)).toString(),B=R(I[M]).div(Math.pow(10,n.decimals)).toString();f.push({price:C,quantity:B})}),f?.[0]?.price||0}catch{return 0}}async getBestAskOrBidPrice(t,n){try{let{baseCoin:r,quoteCoin:s}=t,i=new J,o=await this.getMarketPrice(t),a,c;n?(a=R(o).gt(0)?R(o).div(3).toNumber():Math.pow(10,-6),c=R(o).gt(0)?o:Math.pow(10,6)):(a=R(o).gt(0)?o:Math.pow(10,-1),c=R(o).gt(0)?R(o).mul(3).toNumber():Math.pow(10,6));let u=R(a).mul(Math.pow(10,9+s.decimals-r.decimals)).toString(),d=R(c).mul(Math.pow(10,9+s.decimals-r.decimals)).toString();i.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::get_level2_range`,arguments:[i.object(t.address),i.pure.u64(Ai(u,0)),i.pure.u64(Ai(d,0)),i.pure.bool(n),i.object(he)],typeArguments:[r.coinType,s.coinType]});let p=this._sdk.sdkOptions.simulationAccount.address,f=await this._sdk.fullClient.sendSimulationTransaction(i,p),g=[],b=f.commandResults[0].returnValues[0].bcs,_=E.vector(E.u64()).parse(new Uint8Array(b)),I=f.commandResults[0].returnValues[1].bcs,A=E.vector(E.u64()).parse(new Uint8Array(I));return _.forEach((M,C)=>{let B=R(M).div(Math.pow(10,9+s.decimals-r.decimals)).toString(),L=R(A[C]).div(Math.pow(10,r.decimals)).toString();g.push({price:B,quantity:L})}),g?.[0]?.price||0}catch{return 0}}async placeMarketOrder({balanceManager:t,poolInfo:n,baseQuantity:r,quoteQuantity:s,isBid:i,maxFee:o,account:a,payWithDeep:c,slippage:u=.01,settled_balances:d={base:"0",quote:"0"}}){try{let p=be(n.baseCoin.coinType),f=be(n.quoteCoin.coinType),g=new J;d&&(R(d.base).gt(0)||R(d.quote).gt(0))&&this.withdrawSettledAmounts({poolInfo:n,balanceManager:t},g);let{baseAsset:b,quoteAsset:_,feeAsset:I}=await this.getMarketTransactionRelatedAssets(n,r,s,o,i,a,c,t,g,d),A=await this.getOrderBook(n,"all",6);if(i){let B=A?.ask?.[0]?.price||"0",L=R(B).mul(R(r).div(Math.pow(10,n.baseCoin.decimals))).mul(Math.pow(10,n.quoteCoin.decimals)).toString();s=R(L).plus(R(L).mul(u)).ceil().toString()}else{let B=await A?.bid?.[0]?.price||"0",L=R(B).mul(R(r).div(Math.pow(10,n.baseCoin.decimals))).mul(Math.pow(10,n.quoteCoin.decimals)).toString();s=R(L).minus(R(L).mul(u)).floor().toString()}let M=s,C=[g.object(this._sdk.sdkOptions.deepbook_utils.global_config_id),g.object(this._sdk.sdkOptions.deepbook_utils.cetus_balance_manager_indexer_id),g.object(n.address),g.object(t),b,_,I,g.pure.u8(0),g.pure.u64(r),g.pure.bool(i),g.pure.bool(c),g.pure.u64(M),g.object(he)];return g.setSenderIfNotSet(a),g.moveCall({typeArguments:[p,f],target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::deepbookv3_utils::deposit_then_place_market_order_by_owner_v2`,arguments:C}),g}catch(p){throw p instanceof Error?p:new Error(String(p))}}async getOrderInfoList(t,n){try{let r=new J;t.forEach(u=>{let d=u?.pool,p=u?.orderId;r.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::get_order`,arguments:[r.object(d.pool_id),r.pure.u128(BigInt(p))],typeArguments:[d.baseCoinType,d.quoteCoinType]})});let s=await this._sdk.fullClient.sendSimulationTransaction(r,n),i=E.struct("ID",{bytes:E.Address}),o=E.struct("OrderDeepPrice",{asset_is_base:E.bool(),deep_per_asset:E.u64()}),a=E.struct("Order",{balance_manager_id:i,order_id:E.u128(),client_order_id:E.u64(),quantity:E.u64(),filled_quantity:E.u64(),fee_is_deep:E.bool(),order_deep_price:o,epoch:E.u64(),status:E.u8(),expire_timestamp:E.u64()}),c=[];return s?.commandResults?.forEach(u=>{let d=u.returnValues[0].bcs,p=a.parse(new Uint8Array(d));c.push(p)}),c}catch{return[]}}decodeOrderId(t){let n=t>>BigInt(127)===BigInt(0),r=t>>BigInt(64)&(BigInt(1)<<BigInt(63))-BigInt(1),s=t&(BigInt(1)<<BigInt(64))-BigInt(1);return{isBid:n,price:r,orderId:s}}async getOpenOrder(t,n,r,s,i=!1,o=new J){let a;if(s)a=s;else{o.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::account_open_orders`,arguments:[o.object(t.address),i?r:o.object(r)],typeArguments:[t.baseCoin.coinType,t.quoteCoin.coinType]});let p=await this._sdk.fullClient.sendSimulationTransaction(o,n);console.log("\u{1F680} ~ DeepbookUtilsModule ~ getOpenOrder ~ res:",p?.FailedTransaction?.status);let f=p.commandResults[i?1:0].returnValues[0].bcs;a=E.struct("VecSet",{constants:E.vector(E.U128)}).parse(new Uint8Array(f)).constants}if(a.length===0)return[];let c=a.map(p=>({pool:{pool_id:t.address,baseCoinType:t.baseCoin.coinType,quoteCoinType:t.quoteCoin.coinType},orderId:p})),u=await this.getOrderInfoList(c,n)||[],d=[];return u.forEach(p=>{let f=this.decodeOrderId(BigInt(p.order_id));d.push({...p,price:f.price,isBid:f.isBid,pool:t})}),d}async getAllMarketsOpenOrders(t,n){try{let r=await this.getPools(),s=new J;r.forEach(p=>{s.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::account_open_orders`,arguments:[s.object(p.pool_id),s.object(n)],typeArguments:[p.baseCoinType,p.quoteCoinType]})});let o=(await this._sdk.fullClient.sendSimulationTransaction(s,t)).commandResults?.map(p=>p.returnValues?.[0]?.bcs)||[],a=E.struct("VecSet",{constants:E.vector(E.U128)}),c=[];o.forEach((p,f)=>{let g=a.parse(new Uint8Array(p)).constants;g.length>0&&g.forEach(b=>{c.push({pool:r[f],orderId:b})})});let u=await this.getOrderInfoList(c,t)||[],d=[];return c.forEach((p,f)=>{let g=this.decodeOrderId(BigInt(p.orderId)),b=u.find(_=>_.order_id===p.orderId)||{};d.push({...p,...b,price:g.price,isBid:g.isBid})}),d}catch(r){return console.log("\u{1F680} ~ DeepbookUtilsModule ~ getAllMarketsOpenOrders ~ error:",r),[]}}cancelOrders(t,n,r=new J){return t.forEach(s=>{r.moveCall({target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::deepbookv3_utils::cancel_order`,arguments:[r.object(this._sdk.sdkOptions.deepbook_utils.global_config_id),r.object(n),r.object(s.poolInfo.address),r.pure.u128(s.orderId),r.object(he)],typeArguments:[s.poolInfo.baseCoin.coinType,s.poolInfo.quoteCoin.coinType]})}),r}async getDeepbookOrderBook(t,n,r,s,i,o){let a=this._sdk.fullClient,u=await new qx({client:a,address:i,network:"testnet",balanceManagers:{test1:{address:o,tradeCap:""}}}).getLevel2Range(t,n,r,s)}processOrderBookData(t,n,r,s){let i=t.returnValues[0].bcs,o=E.vector(E.u64()).parse(new Uint8Array(i)),a=t.returnValues[1].bcs,c=E.vector(E.u64()).parse(new Uint8Array(a)),u={};return o.forEach((p,f)=>{let g=R(p).div(Math.pow(10,9+r.decimals-n.decimals)).toString(),b=R(c[f]).div(Math.pow(10,n.decimals)).toString();u[g]?u[g]={price:g,quantity:R(u[g].quantity).add(b).toString()}:u[g]={price:g,quantity:b}}),Object.values(u)}getLevel2RangeTx(t,n,r,s,i=new J){let{baseCoin:o,quoteCoin:a}=t,c=Ai(R(r).mul(Math.pow(10,9+a.decimals-o.decimals)).toString(),0),u=Ai(R(s).mul(Math.pow(10,9+a.decimals-o.decimals)).toString(),0);return i.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::get_level2_range`,arguments:[i.object(t.address),i.pure.u64(c),i.pure.u64(u),i.pure.bool(n),i.object(he)],typeArguments:[o.coinType,a.coinType]}),i}async fetchOrderBook(t,n,r,s,i,o){let a=new J,{baseCoin:c,quoteCoin:u}=t;try{if(n==="bid"||n==="all"){let b=s,_=r==="0"?i:r;a=this.getLevel2RangeTx(t,!0,b,_,a)}if(n==="ask"||n==="all"){let b=r==="0"?s:r,_=i;a=this.getLevel2RangeTx(t,!1,b,_,a)}let d=this._sdk.sdkOptions.simulationAccount.address,p=await this._sdk.fullClient.sendSimulationTransaction(a,d),f=[];(n==="bid"||n==="all")&&(f=p.commandResults?.[0]?this.processOrderBookData(p.commandResults[0],c,u,o):[]);let g=[];if(n==="ask"||n==="all"){let b=n==="ask"?0:1;g=p.commandResults?.[b]?this.processOrderBookData(p.commandResults[b],c,u,o):[]}return{bid:f.sort((b,_)=>_.price-b.price),ask:g.sort((b,_)=>b.price-_.price)}}catch{let p=this._sdk.sdkOptions.simulationAccount.address,f=[],g=[];try{let b=this.getLevel2RangeTx(t,!0,s,r),_=await this._sdk.fullClient.sendSimulationTransaction(b,p);f=_.commandResults?.[0]?this.processOrderBookData(_.commandResults[0],c,u,o):[]}catch{f=[]}try{let b=this.getLevel2RangeTx(t,!1,s,r),_=await this._sdk.fullClient.sendSimulationTransaction(b,p);g=_.commandResults?.[0]?this.processOrderBookData(_.commandResults[0],c,u,o):[]}catch{g=[]}return{bid:f,ask:g}}}async getOrderBook(t,n,r){let s={bid:[],ask:[]};try{let i=await this.getMarketPrice(t),o=n,a=Math.pow(10,-r),c=Math.pow(10,r),u=await this.fetchOrderBook(t,o,i,a,c,r);return{bid:u?.bid,ask:u?.ask}}catch{return s}}async getOrderBookOrigin(t,n){try{let r=new J,s=await this.getMarketPrice(t),{baseCoin:i,quoteCoin:o}=t;if(n==="bid"||n==="all"){let p=Math.pow(10,-6),f=s,g=R(p).mul(Math.pow(10,9+o.decimals-i.decimals)).toString(),b=R(f).mul(Math.pow(10,9+o.decimals-i.decimals)).toString();r.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::get_level2_range`,arguments:[r.object(t.address),r.pure.u64(g),r.pure.u64(b),r.pure.bool(!0),r.object(he)],typeArguments:[i.coinType,o.coinType]})}if(n==="ask"||n==="all"){let p=s,f=Math.pow(10,6),g=R(p).mul(Math.pow(10,9+o.decimals-i.decimals)).toString(),b=R(f).mul(Math.pow(10,9+o.decimals-i.decimals)).toString();r.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::get_level2_range`,arguments:[r.object(t.address),r.pure.u64(g),r.pure.u64(b),r.pure.bool(!1),r.object(he)],typeArguments:[i.coinType,o.coinType]})}let a=this._sdk.sdkOptions.simulationAccount.address,c=await this._sdk.fullClient.sendSimulationTransaction(r,a),u=[];if(n==="bid"||n==="all"){let p=c.commandResults[0]?.returnValues[0]?.bcs,f=E.vector(E.u64()).parse(new Uint8Array(p)),g=c.commandResults[0]?.returnValues[1]?.bcs,b=E.vector(E.u64()).parse(new Uint8Array(g));f.forEach((_,I)=>{let A=R(_).div(Math.pow(10,9+o.decimals-i.decimals)).toString(),M=R(b[I]).div(Math.pow(10,i.decimals)).toString();u.push({price:A,quantity:M})})}let d=[];if(n==="ask"||n==="all"){let p=n==="ask"?0:1,f=c.results[p]?.returnValues[0]?.[0],g=E.vector(E.u64()).parse(new Uint8Array(f)),b=c.results[p]?.returnValues[1]?.[0],_=E.vector(E.u64()).parse(new Uint8Array(b));g.forEach((I,A)=>{let M=R(I).div(Math.pow(10,9+o.decimals-i.decimals)).toString(),C=R(_[A]).div(Math.pow(10,i.decimals)).toString();d.push({price:M,quantity:C})})}return{bid:u,ask:d}}catch{return{bids:[],asks:[]}}}async getWalletBalance(t){let n=await this._sdk.fullClient?.getOwnerCoinBalances(t);return console.log("\u{1F680} ~ DeepbookUtilsModule ~ getWalletBalance ~ result:",n),Object.fromEntries(n.map((s,i)=>[be(s.coinType),{coinType:s.coinType,totalBalance:s.balance,coinBalance:s.coinBalance,addressBalance:s.addressBalance}]))}async getAccount(t,n,r=new J){for(let o=0;o<n.length;o++){let a=n[o];r.moveCall({target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::order_trader::get_account_id`,arguments:[r.object(a.address),typeof t=="string"?r.object(t):t],typeArguments:[a.baseCoin.coinType,a.quoteCoin.coinType]})}let s=await this._sdk.fullClient.sendSimulationTransaction(r,this._sdk.senderAddress);if(s?.Transaction?.events?.length===0)return null;let i=[];return s?.Transaction?.events?.forEach((o,a)=>{let c=o?.bcs,u=Vb.parse(c),d=u.open_orders,p=u.owed_balances,f=u.settled_balances,g=u.unclaimed_rebates,b=u.taker_volume;i.push({balance_manager_id:t,open_orders:d,owed_balances:p,settled_balances:f,unclaimed_rebates:g,taker_volume:b,poolInfo:n[a]})}),i}async getSuiTransactionResponse(t,n=!1){let r=`${t}_getSuiTransactionResponse`,s=this.getCache(r,n);if(s!==void 0)return s;let i;try{i=await this._sdk.fullClient.getTransaction({digest:t,include:{events:!0,effects:!0,balanceChanges:!0,showInput:!0,showObjectChanges:!0}})}catch{i=await this._sdk.fullClient.getTransaction({digest:t,include:{events:!0,effects:!0}})}return this.updateCache(r,i,864e5),i}transformExtensions(t,n,r=!0){let s=[];for(let i of n){let{key:o}=i.fields,{value:a}=i.fields;if(o==="labels")try{a=JSON.parse(decodeURIComponent(Gx.decode(a)))}catch{}r&&(t[o]=a),s.push({key:o,value:a})}delete t.extension_fields,r||(t.extensions=s)}async getCoinConfigs(t=!1,n=!0){let r=this.sdk.sdkOptions.coinlist.handle,s=`${r}_getCoinConfigs`,i=this.getCache(s,t);if(i)return i;let a=(await this._sdk.fullClient.getDynamicFieldsByPage(r)).data.map(d=>d.objectId),c=await this._sdk.fullClient.batchGetObjects(a,{json:!0}),u=[];return c.forEach(d=>{let p=this.buildCoinConfig(d,n);this.updateCache(`${r}_${p.address}_getCoinConfig`,p,864e5),u.push({...p})}),this.updateCache(s,u,864e5),u}buildCoinConfig(t,n=!0){let r=Pb(t);r=r.value.fields;let s={...r};return s.id=Ub(t),s.address=Ls(r.coin_type.fields.name).full_address,r.pyth_id&&(s.pyth_id=Ft(r.pyth_id)),this.transformExtensions(s,r.extension_fields.fields.contents,n),delete s.coin_type,s}updateCache(t,n,r=3e5){let s=this._cache[t];s?(s.overdueTime=bf(r),s.value=n):s=new Iu(n,bf(r)),this._cache[t]=s}getCache(t,n=!1){let r=this._cache[t],s=r?.isValid();if(!n&&s)return r.value;s||delete this._cache[t]}async createPermissionlessPool({tickSize:t,lotSize:n,minSize:r,baseCoinType:s,quoteCoinType:i}){let o=new J,a=Gt.buildCoinWithBalance(BigInt(500*10**6),"0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270::deep::DEEP",o);o.moveCall({target:`${this.sdk.sdkOptions.deepbook.published_at}::pool::create_permissionless_pool`,typeArguments:[s,i],arguments:[o.object(this.sdk.sdkOptions.deepbook.registry_id),o.pure.u64(t),o.pure.u64(n),o.pure.u64(r),a]});try{let c=await this._sdk.fullClient.sendSimulationTransaction(o,this.sdk.senderAddress);if(c?.Transaction?.effects?.status?.success)return o;if(c?.Transaction?.effects?.status?.error&&c.Transaction.effects.status.error.indexOf('Some("register_pool") }, 1)')>-1)throw new Error("Pool already exists")}catch(c){throw c instanceof Error?c:new Error(String(c))}return o}newWithCustomOwnerCaps({owner:t,appType:n}){let r=new J,s=n||`${this._sdk.sdkOptions.deepbook.margin_package_id}::margin_manager::MarginApp`,[i,o,a,c]=r.moveCall({target:`${this._sdk.sdkOptions.deepbook.published_at}::balance_manager::new_with_custom_owner_caps`,arguments:[r.object(this._sdk.sdkOptions.deepbook.registry_id),r.pure.address(t)],typeArguments:[s]});return r.moveCall({target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::cetus_balance_manager::check_and_add_deepbook_balance_manager_indexer`,arguments:[r.object(this._sdk.sdkOptions.deepbook_utils.cetus_balance_manager_indexer_id),i],typeArguments:[]}),r.moveCall({target:"0x2::transfer::public_share_object",arguments:[i],typeArguments:[`${this._sdk.sdkOptions.deepbook.published_at}::balance_manager::BalanceManager`]}),r.transferObjects([o,a,c],t),r}};var Cu="0x0000000000000000000000000000000000000000000000000000000000000006",Wq="pool_script",Hq="pool_script_v2",Jq="router",Zq="router_with_partner",Kq="fetcher_script",Xq="expect_swap",Yq="utils",Qq="0x1::coin::CoinInfo",eG="0x1::coin::CoinStore",tG="custodian_v2",nG="clob_v2",rG="endpoints_v2",sG=e=>{if(typeof e=="string"&&e.startsWith("0x"))return"object";if(typeof e=="number"||typeof e=="bigint")return"u64";if(typeof e=="boolean")return"bool";throw new Error(`Unknown type for value: ${e}`)},iG=["https://rpc-mainnet.suiscan.xyz:443","https://cetus-mainnet-endpoint.blockvision.org","https://cetus-suimain-e31f.mainnet.sui.rpcpool.com"];import Fb from"decimal.js";Fb.config({precision:64,rounding:Fb.ROUND_DOWN,toExpNeg:-64,toExpPos:64});var lG=({totalAssetsValue:e,totalDebtValue:t})=>R(t).eq(0)||R(e).eq(0)?"0":R(e).div(R(t)).toString(),$b=e=>{let{base_margin_pool_id:t,quote_margin_pool_id:n,enabled:r,pool_liquidation_reward:s,user_liquidation_reward:i}=e.value.fields,{liquidation_risk_ratio:o,min_borrow_risk_ratio:a,min_withdraw_risk_ratio:c,target_liquidation_risk_ratio:u}=e.value.fields.risk_ratios.fields;return{id:e.id.id,name:e.name,base_margin_pool_id:t,quote_margin_pool_id:n,enabled:r,pool_liquidation_reward:s,user_liquidation_reward:i,liquidation_risk_ratio:o,min_borrow_risk_ratio:a,min_withdraw_risk_ratio:c,target_liquidation_risk_ratio:u}},qb=(e,t)=>{let{deposit_coin_type:n}=t,r=e.id,{max_utilization_rate:s,min_borrow:i,protocol_spread:o,supply_cap:a}=e.config.margin_pool_config,{maintainer_fees:c,protocol_fees:u}=e.protocol_fees,{total_supply:d,total_borrow:p}=e.state,f=R(a).sub(d).toString();return{deposit_coin_type:n,id:r,supply_cap:a,total_supply:d,total_borrow:p,available_supply:f,max_utilization_rate:s,min_borrow:i,protocol_spread:o,maintainer_fees:c,protocol_fees:u}};var jr=1000000000n,Hx=365n*24n*60n*60n*1000n;function Jx(e,t){return t===0n?0n:e*jr/t}function Zx(e,t){let{base_rate:n,base_slope:r,optimal_utilization:s,excess_slope:i}=t;if(e<s)return n+e*r/jr;{let o=e-s,a=s*r/jr,c=o*i/jr;return n+a+c}}function Gb(e,t){let n=e*t,r=n/jr;return n%jr>0n?r+1n:r}function Kx(e,t,n,r){let s=t.borrow_shares===0n?jr:t.total_borrow*jr/t.borrow_shares,i=Gb(e,s),o=Jx(t.total_borrow,t.total_supply),a=Zx(o,n),c=r-t.last_update_timestamp,u=t.total_borrow*a/jr*c/Hx,d=t.borrow_shares===0n?0n:Gb(u,e*jr/t.borrow_shares),p=i+d;return{confirmedDebt:i,estimatedInterest:d,totalDebt:p,annualInterestRate:a}}function pG(e,t,n,r,s=60000n){let i=r+s,{totalDebt:o}=Kx(e,t,n,i);return o}var _f=10n;function Xx(e,t){if(!_f)throw new Error("oraclePriceMultiplierDecimal is required");if(e===0n)throw new Error("Invalid oracle price");if(t<0n){let n=10n**(_f- -t);return e*n}return e/10n**(t+_f)}var _o=class{_sdk;hasChangeConnection=!1;_commonPythPrice;_cache={};constructor(t){this._sdk=t,this._commonPythPrice=new kb(t.fullClient)}get sdk(){return this._sdk}async updatePythPriceIDs(t,n){let r=null,s=null;try{r=await this._commonPythPrice.getPriceFeedsUpdateData(t)}catch(a){s=a,console.log("Error: ",a)}if(r==null)throw new Error(`All Pyth price nodes are unavailable. Cannot fetch price data. Please switch to or add new available Pyth nodes. Detailed error: ${s?.message}`);let i=[];try{i=await this._commonPythPrice.updatePriceFeeds(n,r,t)}catch(a){throw new Error(`All Pyth price nodes are unavailable. Cannot fetch price data. Please switch to or add new available Pyth nodes in the pythUrls parameter when initializing AggregatorClient, for example: new AggregatorClient({ pythUrls: ["https://your-pyth-node-url"] }). Detailed error: ${a}`)}let o=new Map;for(let a=0;a<t.length;a++)o.set(t[a],i[a]);return o}priceCheck(t,n=60){let r=Math.floor(Date.now()/1e3);if(!(Math.abs(r-t.last_update_time)>n))return t}async getLatestPrice(t,n=!1){let r={},s=[];if(n?t.forEach(a=>{let c=this._sdk.fullClient.getCache(`getLatestPrice_${a.coinType}`);c&&this.priceCheck(c,60)?r[a.coinType]=c:s.push(a.coinType)}):s=t.map(a=>a.coinType),s.length===0)return r;let i=t.map(a=>a.feed);return(await this._commonPythPrice.getLatestPriceFeeds(i))?.parsed?.forEach((a,c)=>{let u=a.price;if(u){let{price:d,expo:p}=u,f=R(d).mul(R(10).pow(R(p))).toString(),b={coin_type:t[c].coinType,price:f,oracle_price:0n,last_update_time:u.publish_time};b.oracle_price=Xx(BigInt(d),BigInt(p)),r[s[c]]=b,this._sdk.fullClient.updateCache(`getLatestPrice_${b.coin_type}`,b)}}),r}};var Nu=class{_sdk;pythPrice;_deep;_cache={};constructor(t){if(!t)throw new Error("SDK instance is required");this._sdk=t,this.pythPrice=new _o(t),this._deep=t.sdkOptions.network==="mainnet"?Bb:Mb}get sdk(){return this._sdk}get deepCoin(){return this._deep}createAndShareMarginManager(t,n=new J){if(!t)throw new Error("Pool info is required");if(!t.id)throw new Error("Pool ID is required");if(!t.baseCoin?.coinType||!t.quoteCoin?.coinType)throw new Error("Base and quote coin types are required");let{baseCoin:r,quoteCoin:s}=t;try{let{margin_manager:i,initializer:o}=this.createMarginManager(t,n);return this.shareMarginManager({marginManager:i,initializer:o,baseCoin:r,quoteCoin:s},n),{tx:n,margin_manager:i,initializer:o}}catch(i){throw new Error(`Failed to create and share margin manager: ${i instanceof Error?i.message:String(i)}`)}}createMarginManager(t,n=new J){if(!t)throw new Error("Pool info is required");if(!t.id)throw new Error("Pool ID is required");let{id:r,baseCoin:s,quoteCoin:i}=t;try{let[o,a]=n.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::create_margin_manager`,arguments:[n.object(this.sdk.sdkOptions.margin_utils.versioned_id),n.object(r),n.object(this._sdk.sdkOptions.margin_utils.registry_id),n.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),n.object(he)],typeArguments:[s.coinType,i.coinType]});return{tx:n,margin_manager:o,initializer:a}}catch(o){throw new Error(`Failed to create margin manager: ${o instanceof Error?o.message:String(o)}`)}}shareMarginManager({marginManager:t,initializer:n,baseCoin:r,quoteCoin:s},i=new J){try{return i.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::share_margin_manager`,arguments:[t,n],typeArguments:[r.coinType,s.coinType]}),i}catch(o){throw new Error(`Failed to share margin manager: ${o instanceof Error?o.message:String(o)}`)}}async getBalanceManagerByMarginManager(t){if(!t||typeof t!="string")throw new Error("Valid account address is required");let n=`
|
|
1024
|
+
`);var _x=["https://rpc-mainnet.suiscan.xyz:443","https://cetus-mainnet-endpoint.blockvision.org","https://cetus-suimain-e31f.mainnet.sui.rpcpool.com"];var u$=ru("mainnet"),l$=ru("testnet");var d$=E.struct("Table<ID, bool>",{id:E.Address,size:E.u64()}),wx=E.struct("TypeName",{name:E.string()}),p$=E.struct("OptionU64",{is_none:E.bool(),v:E.u64()}),Tx=E.struct("UID",{id:E.Address}),f$=E.struct("TableSuiRaw",{id:Tx,size:E.u64()});var kx=class{constructor(e,t,n,r){this._cache={},this._env="mainnet",this._client=e,this._env=n||"mainnet",this._graphQLClient=t,this._jsonRpcClient=r}async fetchCoinMetadata(e){let t=`coin_metadata_${e}`,n=this.getCache(t);if(n)return n;let r=await this._client.getCoinMetadata({coinType:e});return this.updateCache(t,r.coinMetadata),r.coinMetadata}async fetchCoinMetadataId(e){if(!this._graphQLClient)throw new Error("graphQLClient is not set");let t=`coin_metadata_id_${e}`,n=this.getCache(t);if(n)return n;let r=(await this._graphQLClient.query({query:hx,variables:{coinType:`0x2::coin::CoinMetadata<${e}>`}})).data?.objects?.nodes?.[0]?.address??null;return r&&this.updateCache(t,r),r}async getSuiTransactionResponse(e){try{return await this._client.getTransaction({digest:e,include:{effects:!0,events:!0,balanceChanges:!0,transaction:!0,objectTypes:!0}})}catch(t){throw console.log("getSuiTransactionResponse error",t),t}}async getTransactionByGraphQL(e){try{return await this._graphQLClient.query({query:gx,variables:{digest:e}})}catch(t){throw console.log("getTransactionByGraphQL error",t),t}}async queryEventsByGraphQL(e,t="all"){if(!this._graphQLClient)throw new Error("graphQLClient is not set");let n=t==="all",r=n?50:t.limit??50,s=[],i=n?null:t.cursor??null,o=!0;do{let a=(await this._graphQLClient.query({query:bx,variables:{type:e,first:r,...i?{after:i}:{}}})).data?.events,c=a?.nodes??[],u=a?.pageInfo;s=[...s,...c],o=u?.hasNextPage??!1,i=u?.endCursor??null}while(n&&o);return{data:s,next_cursor:i,has_next_page:o}}async queryTransactionBlocksByPage(e,t="all"){if(!this._graphQLClient)throw new Error("graphQLClient is not set");if(!(e.sentAddress!=null||e.affectedAddress!=null||e.affectedObject!=null||e.function!=null))throw new Error("At least one of sentAddress, affectedAddress, affectedObject, function is required");let n=t==="all",r=n?50:t.limit??50,s=[],i=n?null:t.cursor??null,o=!0,a={};e.sentAddress&&(a.sentAddress=X(e.sentAddress)),e.affectedAddress&&(a.affectedAddress=X(e.affectedAddress)),e.affectedObject&&(a.affectedObject=X(e.affectedObject)),e.function&&(a.function=e.function);do{let c=(await this._graphQLClient.query({query:vx,variables:{filter:a,first:r,...i?{after:i}:{}}})).data?.transactions,u=c?.nodes??[],d=c?.pageInfo;s=[...s,...u],o=d?.hasNextPage??!1,i=d?.endCursor??null}while(n&&o);return{data:s,next_cursor:i,has_next_page:o}}async queryEventsByPage(e,t="all"){let n=[],r=!0,s=t==="all",i=s?null:t.cursor;do{let o=await this._jsonRpcClient.queryEvents({query:e,cursor:i,limit:s?null:t.limit});o.data?(n=[...n,...o.data],r=o.hasNextPage,i=o.nextCursor):r=!1}while(s&&r);return{data:n,next_cursor:i,has_next_page:r}}async getOwnedObjectsByPage(e,t,n="all"){let r=async s=>{let i=[],o=!0,a=n==="all",c=a?null:n.cursor;do{let u=await s.listOwnedObjects({owner:e,type:t,cursor:c??void 0,limit:a?1e3:n.limit??void 0,include:{content:!0,previousTransaction:!0,json:!0}});i=[...i,...u.objects],o=u.hasNextPage,c=u.cursor??null}while(a&&o);return{data:i,next_cursor:c,has_next_page:o}};try{return await r(this._client)}catch(s){let i=s,o=this._env==="testnet"?"testnet":"mainnet";for(let a of _x)try{let c=af(new Ko({baseUrl:a,network:o}),this._graphQLClient,this._env);return await r(c._client)}catch(c){i=c;continue}throw i}}async getAllDynamicFields(e,t="all"){if(!this._graphQLClient)throw new Error("graphQLClient is not set");let n=t==="all",r=n?50:t.limit??50,s=[],i=n?null:t.cursor??null,o=!0;do{let a=(await this._graphQLClient.query({query:yx,variables:{id:X(e),first:r,...i?{after:i}:{}}})).data?.address?.dynamicFields,c=a?.nodes??[],u=a?.pageInfo;s=[...s,...c],o=u?.hasNextPage??!1,i=u?.endCursor??null}while(n&&o);return{data:s,next_cursor:i,has_next_page:o}}async getDynamicFieldsByPage(e,t="all"){let n=[],r=!0,s=t==="all",i=s?null:t.cursor;do{let o=await this._client.listDynamicFields({parentId:e,cursor:i??void 0,limit:s?1e3:t.limit??void 0});n=[...n,...o.dynamicFields],r=o.hasNextPage,i=o.cursor??null}while(s&&r);return{data:n,next_cursor:i,has_next_page:r}}async getDynamicFieldObjects(e,t,n,r,s){let i=t.map(o=>mx(e,o,n,r));return i.length===0?[]:this.batchGetObjects(i,s)}async batchGetObjects(e,t,n=1e3){let r=[];try{for(let s=0;s<Math.ceil(e.length/n);s++){let i=e.slice(s*n,n*(s+1)),o=await this._client.getObjects({objectIds:i,include:t});r=[...r,...o.objects]}}catch(s){console.log(s)}return r}async calculationTxGas(e){let t=e.getData?.()?.sender??e.blockData?.sender;if(t==null)throw Error("sdk sender is empty");e.setSender(t);let n=await this._client.simulateTransaction({transaction:e,include:{effects:!0}}),r=n.Transaction??n.FailedTransaction;if(!r?.effects?.gasUsed)throw new Error("Simulation did not return effects");let{gasUsed:s}=r.effects;return Number(s.computationCost)+Number(s.storageCost)-Number(s.storageRebate)}async sendTransaction(e,t){try{return await this._client.signAndExecuteTransaction({transaction:t,signer:e,include:{effects:!0,events:!0}})}catch(n){console.log("error: ",n)}}async sendSimulationTransaction(e,t,n=!0){try{return e.setSender(t),await this._client.simulateTransaction({transaction:e,include:{events:!0,balanceChanges:!0,effects:!0,objectChanges:!0,commandResults:!0},checksEnabled:n})}catch(r){throw console.log("simulateTransaction error",r),r}}async executeTx(e,t,n){try{if(n){let r=typeof e=="string"?X(e):X(e.getPublicKey().toSuiAddress());return await this.sendSimulationTransaction(t,r)}else{if(typeof e=="string")throw new Error("Cannot send transaction with string address - keypair required for signing");return await this.sendTransaction(e,t)}}catch(r){return r}}async getOwnerCoinAssets(e,t){let n=[],r=null;if(t)for(;;){let s=await this._client.listCoins({owner:e,coinType:t,cursor:r??void 0});for(let i of s.objects)BigInt(i.balance)>0&&n.push({coin_type:Ai(i.type).type_arguments[0],coin_object_id:i.objectId,balance:BigInt(i.balance)});if(r=s.cursor??null,!s.hasNextPage)break}else{let s=null;do{let i=await this._client.listOwnedObjects({owner:e,cursor:s??void 0,include:{json:!0}});if(i.objects.forEach(o=>{let a=Ai(o.type);o.type.includes('"0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin')&&BigInt(o.balance)>0&&n.push({coin_type:sf(a.type_arguments[0],!1),coin_object_id:o.json.id,balance:BigInt(o.json.balance)})}),s=i.cursor??null,!i.hasNextPage)break}while(!0)}return n}async getOwnerCoinBalances(e,t){if(t)return[(await this._client.getBalance({owner:e,coinType:t})).balance];let n=[],r=null;do{let s=await this._client.listBalances({owner:e,cursor:r??void 0});if(n.push(...s.balances),r=s.cursor??null,!s.hasNextPage)break}while(!0);return n}updateCache(e,t,n=864e5){let r=this._cache[e];r?(r.overdue_time=nb(n),r.value=t):r=new gA(t,nb(n)),this._cache[e]=r}getCache(e,t=!1){let n=this._cache[e],r=n?.isValid();if(!t&&r)return n.value;r||delete this._cache[e]}};function af(e,t,n,r){let s=new kx(e,t,n,r);return new Proxy(s,{get(i,o,a){if(o in i)return Reflect.get(i,o,a);if(o in i._client){let c=Reflect.get(i._client,o);return typeof c=="function"?c.bind(i._client):c}throw new Error(`Property or method "${String(o)}" does not exist on FullClient or its client.`)}})}var Sx=Ta(ka(),1);var y$=new Sx.default(1e6),Ex=(e=>(e[e.BelowRange=0]="BelowRange",e[e.InRange=1]="InRange",e[e.AboveRange=2]="AboveRange",e))(Ex||{}),Qp=10n,Ox={pyth_package_id:"0x04e20ddf36af412a4096f9014f4a565af9e812db9a05cc40254846cf6ed0ad91",pyth_published_at:"0x04e20ddf36af412a4096f9014f4a565af9e812db9a05cc40254846cf6ed0ad91",pyth_state_id:"0x1f9310238ee9298fb703c3419030b35b22bb1cc37113e3bb5007c99aec79e5b8",wormhole_state_id:"0xaeab97f96cf9877fee2883315d459552b2b921edc16d7ceac6eab944dd88919c",hermes_service_urls:[]},Ix={"0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC":{coin_type:"0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC",price_feed_id:"0xeaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94a",coin_decimals:6},"0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI":{coin_type:"0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI",price_feed_id:"0x23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744",coin_decimals:9},"0x06864a6f921804860930db6ddbe2e16acdf8504495ea7481637a1c8b9a8fe54b::cetus::CETUS":{coin_type:"0x06864a6f921804860930db6ddbe2e16acdf8504495ea7481637a1c8b9a8fe54b::cetus::CETUS",price_feed_id:"0xe5b274b2611143df055d6e7cd8d93fe1961716bcd4dca1cad87a83bc1e78c1ef",coin_decimals:9},"0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270::deep::DEEP":{coin_type:"0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270::deep::DEEP",price_feed_id:"0x29bdd5248234e33bd93d3b81100b5fa32eaa5997843847e2c2cb16d7c6d9f7ff",coin_decimals:6},"0xa99b8952d4f7d947ea77fe0ecdcc9e5fc0bcab2841d6e2a5aa00c3044e5544b5::navx::NAVX":{coin_type:"0xa99b8952d4f7d947ea77fe0ecdcc9e5fc0bcab2841d6e2a5aa00c3044e5544b5::navx::NAVX",price_feed_id:"0x88250f854c019ef4f88a5c073d52a18bb1c6ac437033f5932cd017d24917ab46",coin_decimals:9},"0x027792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881::coin::COIN":{coin_type:"0x027792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881::coin::COIN",price_feed_id:"0xe62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43",coin_decimals:9},"0xbde4ba4c2e274a60ce15c1cfff9e5c42e41654ac8b6d906a57efa4bd3c29f47d::hasui::HASUI":{coin_type:"0xbde4ba4c2e274a60ce15c1cfff9e5c42e41654ac8b6d906a57efa4bd3c29f47d::hasui::HASUI",price_feed_id:"0x6120ffcf96395c70aa77e72dcb900bf9d40dccab228efca59a17b90ce423d5e8",coin_decimals:9},"0xd0e89b2af5e4910726fbcd8b8dd37bb79b29e5f83f7491bca830e94f7f226d29::eth::ETH":{coin_type:"0xd0e89b2af5e4910726fbcd8b8dd37bb79b29e5f83f7491bca830e94f7f226d29::eth::ETH",price_feed_id:"0xff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace",coin_decimals:8},"0x356a26eb9e012a68958082340d4c4116e7f55615cf27affcff209cf0ae544f59::wal::WAL":{coin_type:"0x356a26eb9e012a68958082340d4c4116e7f55615cf27affcff209cf0ae544f59::wal::WAL",price_feed_id:"0xeba0732395fae9dec4bae12e52760b35fc1c5671e2da8b449c9af4efe5d54341",coin_decimals:9},"0x3e8e9423d80e1774a7ca128fccd8bf5f1f7753be658c5e645929037f7c819040::lbtc::LBTC":{coin_type:"0x3e8e9423d80e1774a7ca128fccd8bf5f1f7753be658c5e645929037f7c819040::lbtc::LBTC",price_feed_id:"0x8f257aab6e7698bb92b15511915e593d6f8eae914452f781874754b03d0c612b",coin_decimals:8},"0x3a304c7feba2d819ea57c3542d68439ca2c386ba02159c740f7b406e592c62ea::haedal::HAEDAL":{coin_type:"0x3a304c7feba2d819ea57c3542d68439ca2c386ba02159c740f7b406e592c62ea::haedal::HAEDAL",price_feed_id:"0xe67d98cc1fbd94f569d5ba6c3c3c759eb3ffc5d2b28e64538a53ae13efad8fd1",coin_decimals:9}};function Ax(e,t){if(!Qp)throw new Error("oraclePriceMultiplierDecimal is required");if(e===0n)throw new Error("Invalid oracle price");if(t<0n){let n=10n**(Qp- -t);return e*n}return e/10n**(t+Qp)}var cb=16*1024,kb=class{constructor(e,t=Ox){this.hasChangeConnection=!1,this.pythConfigs=t,this.fullClient=e;let n=[...t.hermes_service_urls];n.includes("https://hermes.pyth.network")||n.push("https://hermes.pyth.network"),this.hermesClients=n.map(r=>new gu(r,{timeout:3e3}))}async getFeedInfoList(e){let t=e.map(n=>this.getFeedInfo(n,!1));return await Promise.all(t)}priceCheck(e,t=60){let n=Math.floor(Date.now()/1e3);if(!(Math.abs(n-e.last_update_time)>t))return e}async getPackageId(e){let t=(await this.fullClient.getObject({objectId:e,include:{json:!0}}))?.object?.json;if(t?.upgrade_cap?.package)return t.upgrade_cap.package;throw new Error("upgrade_cap not found")}async getWormholePackageId(){let{wormhole_state_id:e}=this.pythConfigs,t=`getWormholePackageId_${e}`,n=this.fullClient.getCache(t);if(n)return n;let r=await this.getPackageId(this.pythConfigs.wormhole_state_id);return this.fullClient.updateCache(t,r),r}async getLatestPrice(e,t=!1){let n={},r=[];if(t?e.forEach(i=>{let o=this.fullClient.getCache(`getLatestPrice_${i}`);o&&this.priceCheck(o,60)?n[i]=o:r.push(i)}):r=[...e],r.length===0)return n;let s=await this.getFeedInfoList(r);return(await this.getLatestPriceFeeds(s.map(i=>i.price_feed_id)))?.parsed?.forEach((i,o)=>{if(i){let{price:a,expo:c,publish_time:u}=i.price,d=vu(a).mul(vu(10).pow(vu(c))).toString(),p=s[o],f={coin_type:p.coin_type,price:d,coin_decimals:p.coin_decimals,oracle_price:0n,last_update_time:u};f.oracle_price=Ax(BigInt(a),BigInt(c)),n[r[o]]=f,this.fullClient.updateCache(`getLatestPrice_${f.coin_type}`,f)}}),n}async getPriceFeedsUpdateData(e){let t=null;for(let n of this.hermesClients)try{return(await n.getLatestPriceUpdates(e,{encoding:"hex"})).binary.data.map(r=>Buffer.from(r,"hex"))}catch(r){console.log("\u{1F680} ~ PythPriceModule ~ getPriceFeedsUpdateData ~ e:",r),t=r;continue}throw new Error(`All Pyth Hermes endpoints are unavailable. getPriceFeedsUpdateData Detailed error: ${t?.message}`)}async getLatestPriceFeeds(e){let t=null;for(let n of this.hermesClients)try{return await n.getLatestPriceUpdates(e,{parsed:!0})}catch(r){console.log("\u{1F680} ~ PythPriceModule ~ getLatestPriceFeeds ~ error:",r),t=r;continue}throw new Error(`All Pyth Hermes endpoints are unavailable. getLatestPriceFeeds Detailed error: ${t?.message}`)}extractVaaBytesFromAccumulatorMessage(e){let t=7+e.readUint8(6)+1,n=e.readUint16BE(t),r=t+2;return e.subarray(r,r+n)}async verifyVaas(e,t){let n=await this.getWormholePackageId(),r=[];for(let s of e){let[i]=t.moveCall({target:`${n}::vaa::parse_and_verify`,arguments:[t.object(this.pythConfigs.wormhole_state_id),t.pure(E.vector(E.u8()).serialize(Array.from(s),{maxSize:cb}).toBytes()),t.object(he)]});r.push(i)}return r}async getPriceTableInfo(){if(this.priceTableInfo===void 0){let e=null,t=!0;for(;t;){let n=await this.fullClient.listDynamicFields({parentId:this.pythConfigs.pyth_state_id,cursor:e});for(let r of n.dynamicFields)if(r.name.type==="vector<u8>"){let s=r.$kind==="DynamicObject"&&r.childId?r.childId:r.fieldId,i=await this.fullClient.getObject({objectId:s,include:{json:!0}}),o=i.object.type;if(o.includes("table::Table")){let a=o.replace(/.*table::Table</,"").replace(/>$/,"").split(",")[0].trim();return this.priceTableInfo={id:i.object.objectId,fieldType:a},this.priceTableInfo}}t=n.hasNextPage,e=n.cursor}}if(this.priceTableInfo===void 0)throw new Error(" getPriceTableInfo Price table not found");return this.priceTableInfo}async getPriceFeedObjectId(e){let t=e.replace("0x",""),n=`getPriceFeedObjectId_${t}`,r=this.fullClient.getCache(n);if(r)return r;let{id:s,fieldType:i}=await this.getPriceTableInfo(),o=E.struct("PriceIdentifier",{bytes:E.vector(E.u8())}).serialize({bytes:Array.from(Buffer.from(t,"hex"))}).toBytes(),a=(await this.fullClient.getDynamicField({parentId:s,name:{type:i,bcs:o}})).dynamicField.value.bcs,c=a instanceof Uint8Array?a:new Uint8Array(Object.values(a)),u="0x"+Array.from(c).map(d=>d.toString(16).padStart(2,"0")).join("");return this.fullClient.updateCache(n,u),u}async verifyVaasAndGetHotPotato(e,t,n){if(t.length>1)throw new Error("SDK does not support sending multiple accumulator messages in a single transaction");let r=this.extractVaaBytesFromAccumulatorMessage(t[0]),s=await this.verifyVaas([r],e),[i]=e.moveCall({target:`${n}::pyth::create_authenticated_price_infos_using_accumulator`,arguments:[e.object(this.pythConfigs.pyth_state_id),e.pure(E.vector(E.u8()).serialize(Array.from(t[0]),{maxSize:cb}).toBytes()),s[0],e.object(he)]});return i}async buildUpdatePythPricePayload(e,t,n){let{pyth_state_id:r,pyth_published_at:s,pyth_package_id:i}=this.pythConfigs,o=(await this.getFeedInfoList(e)).map(d=>d.price_feed_id);if(e.length!==o.length)throw Error("find feed id fail");let a=await this.getPriceFeedsUpdateData(o);if(!a)throw new Error("get price update data fail");if(a.length>1)throw new Error("SDK does not support sending multiple accumulator messages in a single transaction");let c=await this.verifyVaasAndGetHotPotato(t,a,s),u=0;for(let d of o){let p=await this.getPriceFeedObjectId(d);if(!p)throw new Error(`Price feed ${d} not found, please create it first`);c=n({tx:t,coinType:e[u],priceUpdatesHotPotato:c,priceInfoObjectId:p}),u+=1}return t.moveCall({target:`${s}::hot_potato_vector::destroy`,arguments:[c],typeArguments:[`${i}::price_info::PriceInfo`]}),t}async getBaseUpdateFee(){if(this.baseUpdateFee===void 0){let e=(await this.fullClient.getObject({objectId:this.pythConfigs.pyth_state_id,include:{json:!0}}))?.object?.json;if(!e)throw new Error("Unable to fetch pyth state object");this.baseUpdateFee=Number(e.base_update_fee)}return this.baseUpdateFee}async updatePriceFeeds(e,t,n){let r=this.pythConfigs.pyth_package_id,s=await this.verifyVaasAndGetHotPotato(e,t,r),i=await this.getBaseUpdateFee(),o=e.splitCoins(e.gas,n.map(()=>e.pure.u64(i))),a=[],c=0;for(let u of n){let d=await this.getPriceFeedObjectId(u);if(!d)throw new Error(`Price feed ${u} not found, please create it first`);a.push(d),[s]=e.moveCall({target:`${r}::pyth::update_single_price_feed`,arguments:[e.object(this.pythConfigs.pyth_state_id),s,e.object(d),o[c],e.object(he)]}),c++}return e.moveCall({target:`${r}::hot_potato_vector::destroy`,arguments:[s],typeArguments:[`${r}::price_info::PriceInfo`]}),a}async buildUpdatePythPricePayloadV2(e,t,n){if(e.length===0)return t;let r=(await this.getFeedInfoList(e)).map(a=>a.price_feed_id);if(e.length!==r.length)throw Error("find feed id fail");let s=await this.getPriceFeedsUpdateData(r);if(!s)throw new Error("get price update data fail");if(s.length>1)throw new Error("SDK does not support sending multiple accumulator messages in a single transaction");let i=await this.updatePriceFeeds(t,s,r),o=0;for(let a of i)n({tx:t,coinType:e[o],priceUpdatesHotPotato:{},priceInfoObjectId:a}),o+=1;return t}getFeedInfoByJson(e){let t=sf(e,!1);return Ix[t]}async getFeedInfo(e,t){let n=`getFeedInfo_${e}`,r=this.fullClient.getCache(n,t);if(r)return r;let s=this.getFeedInfoByJson(e);if(s)return s;if(!this.pythConfigs.feed_info_handle)throw new Error("feed_info_handle is not set");let i=await this.fullClient.getDynamicField({parentId:this.pythConfigs.feed_info_handle,name:{type:"0x1::type_name::TypeName",bcs:wx.serialize({name:sf(e,!0)}).toBytes()}}),o=E.struct("OracleInfo",{price_feed_id:E.vector(E.U8),price_info_object_id:E.Address,last_update_time:E.u64(),coin_decimals:E.u8()}).parse(i.dynamicField.value.bcs),a={coin_type:e,price_feed_id:fx(o.price_feed_id),coin_decimals:o.coin_decimals};return console.log("\u{1F680} ~ PythPriceModule ~ getFeedInfo ~ info:",a),this.fullClient.updateCache(n,a),a}},vo=Ta(ka(),1),v$=new vo.default(0),Sb=new vo.default(1),cf=new vo.default(2),_$=cf.pow(new vo.default(128)),w$=cf.pow(new vo.default(64)).sub(Sb),T$=cf.pow(new vo.default(128)).sub(Sb);ku.config({precision:64,rounding:ku.ROUND_DOWN,toExpNeg:-64,toExpPos:64});var k$=Ta(ka(),1),S$=Ta(ka(),1);var E$=Ta(ka(),1);import{DeepBookClient as qx}from"@mysten/deepbook-v3";import{Base64 as Gx}from"js-base64";var xx={REQUEST_PARAMS:"requestParams",METHOD_NAME:"methodName"},uf=class extends Error{constructor(n,r,s){super(n);this.code=r;this.details=s;this.name=this.constructor.name}toJSON(){return{name:this.name,message:this.message,code:this.code,details:this.details}}toString(){return JSON.stringify(this.toJSON())}static isErrorCode(n,r){return n instanceof uf&&n.code===r}},Ea=uf;Ni(Ea,"DETAILS_KEYS",xx);var lf=class extends Ea{constructor(t,n,r){super(t,n||"UnknownError",r)}static isCommonErrorCode(t,n){return this.isErrorCode(t,n)}};var df=(e,t,n)=>{throw new lf(t,e,n)};var Cx=/^[-+]?[0-9A-Fa-f]+\.?[0-9A-Fa-f]*?$/;function Eb(e){return e.startsWith("0x")?e:`0x${e}`}function pf(e){return e.startsWith("0x")?`${e.slice(2)}`:e}function Nx(e,t=4,n=4){let r=Math.max(t,1),s=Math.max(n,1);return`${e.slice(0,r+2)} ... ${e.slice(-s)}`}function D$(e,t=4,n=4){return Nx(Eb(e),t,n)}function U$(e,t={leadingZero:!0}){if(typeof e!="string")return!1;let n=e;if(t.leadingZero){if(!e.startsWith("0x"))return!1;n=n.substring(2)}return Cx.test(n)}function Rx(e){if(!Buffer.isBuffer(e))if(Array.isArray(e))e=Buffer.from(e);else if(typeof e=="string")exports.isHexString(e)?e=Buffer.from(exports.padToEven(exports.stripHexPrefix(e)),"hex"):e=Buffer.from(e);else if(typeof e=="number")e=exports.intToBuffer(e);else if(e==null)e=Buffer.allocUnsafe(0);else if(e.toArray)e=Buffer.from(e.toArray());else throw new Error("invalid type");return e}function P$(e){return Eb(Rx(e).toString("hex"))}function L$(e){let t=new ArrayBuffer(4),n=new DataView(t);for(let s=0;s<e.length;s++)n.setUint8(s,e.charCodeAt(s));return n.getUint32(0,!0)}function Mx(e){let t,n,r,s,i;t="";let o=e.length;for(n=0;n<o;)switch(r=e.charCodeAt(n++),r>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:t+=e.charAt(n-1);break;case 12:case 13:s=e.charCodeAt(n++),t+=String.fromCharCode((r&31)<<6|s&63);break;case 14:s=e.charCodeAt(n++),i=e.charCodeAt(n++),t+=String.fromCharCode((r&15)<<12|(s&63)<<6|(i&63)<<0);break}return t}function V$(e){let t="",n=pf(e),r=n.length/2;for(let s=0;s<r;s++)t+=String.fromCharCode(Number.parseInt(n.substr(s*2,2),16));return Mx(t)}var Bx=0,Ab=1,jx=2;function Ob(e,t){return e===t?Bx:e<t?Ab:jx}function Dx(e,t){let n=0,r=e.length<=t.length?e.length:t.length,s=Ob(e.length,t.length);for(;n<r;){let i=Ob(e.charCodeAt(n),t.charCodeAt(n));if(n+=1,i!==0)return i}return s}function z$(e,t){return Dx(e,t)===Ab}function Ib(e,...t){let n=Array.isArray(t[t.length-1])?t.pop():[],s=[e,...t].filter(Boolean).join("::");return n&&n.length&&(s+=`<${n.join(", ")}>`),s}function W$(e){return e.split("::")[0]}function Ls(e){try{let t=e.replace(/\s/g,""),r=t.match(/(<.+>)$/)?.[0]?.match(/(\w+::\w+::\w+)(?:<.*?>(?!>))?/g);if(r){t=t.slice(0,t.indexOf("<"));let c={...Ls(t),type_arguments:r.map(u=>Ls(u).source_address)};return c.type_arguments=c.type_arguments.map(u=>Gt.isSuiCoin(u)?u:Ls(u).source_address),c.source_address=Ib(c.full_address,c.type_arguments),c}let s=t.split("::"),o={full_address:t,address:t===hf||t===xb?"0x2":Ft(s[0]),module:s[1],name:s[2],type_arguments:[],source_address:""};return o.full_address=`${o.address}::${o.module}::${o.name}`,o.source_address=Ib(o.full_address,o.type_arguments),o}catch{return{full_address:e,address:"",module:"",name:"",type_arguments:[],source_address:e}}}function ff(e){return Ls(e).source_address}function Ux(e){return e.toLowerCase().startsWith("0x")?Ft(e):e}var H$=(e,t=!0)=>{let n=e.split("::"),r=n.shift(),s=Ft(r);return t&&(s=pf(s)),`${s}::${n.join("::")}`};function mf(e){for(let t in e){let n=typeof e[t];if(n==="object")mf(e[t]);else if(n==="string"){let r=e[t];e[t]=Ux(r)}}}var J$=be(zn);import Iu from"decimal.js";function R(e){return Iu.isDecimal(e)?e:new Iu(e===void 0?0:e)}function gf(e){return R(10).pow(R(e).abs())}var xi=(e,t)=>{try{return R(e).toDP(t,Iu.ROUND_DOWN).toString()}catch{return e}},yf=(e,t)=>Iu.max(R(e),R(t));var rq=1e3,sq=500,iq=100,oq=100,aq=1e3,hf="0x2::sui::SUI",xb="0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI",cq="SUI",uq=450,lq="0x0000000000000000000000000000000000000005",it=class{static totalBalance(t,n){let r=BigInt(0);return t.forEach(s=>{n===s.coin_type&&(r+=BigInt(s.balance))}),r}static getCoinAssets(t,n){let r=[];return n.forEach(s=>{ff(s.coin_type)===ff(t)&&r.push(s)}),r}static isSuiCoin(t){return Ls(t).full_address===hf}static selectCoinObjectIdGreaterThanOrEqual(t,n,r=[]){let s=it.selectCoinAssetGreaterThanOrEqual(t,n,r),i=s.selected_coins.map(c=>c.coin_object_id),o=s.remain_coins,a=s.selected_coins.map(c=>c.balance.toString());return{object_array:i,remain_coins:o,amount_array:a}}static selectCoinAssetGreaterThanOrEqual(t,n,r=[]){let s=it.sortByBalance(t.filter(u=>!r.includes(u.coin_object_id))),i=it.calculateTotalBalance(s);if(i<n)return{selected_coins:[],remain_coins:s};if(i===n)return{selected_coins:s,remain_coins:[]};let o=BigInt(0),a=[],c=[...s];for(;o<i;){let u=n-o,d=c.findIndex(f=>f.balance>=u);if(d!==-1){a.push(c[d]),c.splice(d,1);break}let p=c.pop();p.balance>0&&(a.push(p),o+=p.balance)}return{selected_coins:it.sortByBalance(a),remain_coins:it.sortByBalance(c)}}static sortByBalance(t){return t.sort((n,r)=>n.balance<r.balance?-1:n.balance>r.balance?1:0)}static sortByBalanceDes(t){return t.sort((n,r)=>n.balance>r.balance?-1:n.balance<r.balance?0:1)}static calculateTotalBalance(t){return t.reduce((n,r)=>n+r.balance,BigInt(0))}static buildCoinForAmount(t,n,r,s,i=!0,o=!0){let a=it.getCoinAssets(s,n);if(r===BigInt(0))return this.buildZeroValueCoin(n,t,s,i);let c=it.calculateTotalBalance(a);if(c<r)throw new Error(`The amount(${c}) is Insufficient balance for ${s} , expect ${r} `);return this.buildCoin(t,n,a,r,s,i,o)}static buildCoinWithBalance(t,n,r){return t===BigInt(0)&&it.isSuiCoin(n)?r.add(Kn({balance:t,useGasCoin:!1})):r.add(Kn({balance:t,type:n}))}static buildVectorCoin(t,n,r,s,i,o=!0){if(it.isSuiCoin(i)){let f=t.splitCoins(t.gas,[t.pure.u64(s)]);return{selected_coins:[],target_coin:f,remain_coins:n,target_coin_amount:s.toString(),is_mint_zero_coin:!1,original_spited_coin:t.gas}}let{original_spited_coin:a,target_coin:c,target_coin_amount:u,remain_coins:d,selected_coins:p}=this.buildSpitTargeCoin(t,s,r,o);return o?{target_coin:t.makeMoveVec({elements:[c]}),selected_coins:p,remain_coins:d,target_coin_amount:u,is_mint_zero_coin:!1,original_spited_coin:a}:{selected_coins:p,target_coin:t.makeMoveVec({elements:p.map(f=>t.object(f))}),remain_coins:d,target_coin_amount:u,is_mint_zero_coin:!1}}static buildOneCoin(t,n,r,s,i=!0){if(it.isSuiCoin(s)){if(r===0n&&n.length>1){let c=it.selectCoinObjectIdGreaterThanOrEqual(n,r);return{selected_coins:c.object_array,target_coin:t.object(c.object_array[0]),remain_coins:c.remain_coins,target_coin_amount:c.amount_array[0],is_mint_zero_coin:!1}}let o=it.selectCoinObjectIdGreaterThanOrEqual(n,r),a=t.splitCoins(t.gas,[t.pure.u64(r)]);return{selected_coins:[],target_coin:a,remain_coins:o.remain_coins,target_coin_amount:r.toString(),is_mint_zero_coin:!1,original_spited_coin:t.gas}}return this.buildSpitTargeCoin(t,r,n,i)}static buildSpitTargeCoin(t,n,r,s){let i=it.selectCoinObjectIdGreaterThanOrEqual(r,n),o=i.amount_array.reduce((b,_)=>Number(b)+Number(_),0).toString(),a=i.object_array,[c,...u]=a,d=t.object(c),p=d,f=i.amount_array.reduce((b,_)=>Number(b)+Number(_),0).toString(),g;return u.length>0&&t.mergeCoins(d,u.map(b=>t.object(b))),s&&Number(o)>Number(n)&&(p=t.splitCoins(d,[t.pure.u64(n)]),g=d),{original_spited_coin:g,target_coin:p,target_coin_amount:f,remain_coins:i.remain_coins,selected_coins:i.object_array,is_mint_zero_coin:!1}}static buildCoin(t,n,r,s,i,o=!0,a=!0){return o?this.buildVectorCoin(t,n,r,s,i,a):this.buildOneCoin(t,r,s,i,a)}static buildZeroValueCoin(t,n,r,s=!0){let i=this.callMintZeroValueCoin(n,r),o;return s?o=n.makeMoveVec({elements:[i]}):o=i,{target_coin:o,remain_coins:t,selected_coins:[],is_mint_zero_coin:!0,target_coin_amount:"0"}}static buildCoinForAmountInterval(t,n,r,s,i=!0,o=!0){let a=it.getCoinAssets(s,n);if(r.amount_first===BigInt(0))return a.length>0?this.buildCoin(t,[...n],[...a],r.amount_first,s,i,o):this.buildZeroValueCoin(n,t,s,i);let c=it.calculateTotalBalance(a);if(c>=r.amount_first)return this.buildCoin(t,[...n],[...a],r.amount_first,s,i,o);if(c<r.amount_second)throw new Error(`The amount(${c}) is Insufficient balance for ${s} , expect ${r.amount_second} `);return this.buildCoin(t,[...n],[...a],r.amount_second,s,i,o)}static fromBalance(t,n,r){return r.moveCall({target:"0x2::coin::from_balance",typeArguments:[n],arguments:[t]})}static intoBalance(t,n,r){return r.moveCall({target:"0x2::coin::into_balance",typeArguments:[n],arguments:[typeof t=="string"?r.object(t):t]})}static mintBalanceZero(t,n){return n.moveCall({target:"0x2::balance::zero",typeArguments:[t],arguments:[]})}static destroyBalanceZero(t,n,r){return r.moveCall({target:"0x2::balance::destroy_zero",typeArguments:[n],arguments:[t]})}static getCoinAmountObjId(t,n){let r=t.amount_coin_array.find(s=>!s.used&&R(s.amount).eq(n)?(s.used=!0,!0):!1);return r?r.coin_object_id:df("CoinNotFound",`Coin not found for ${n} ${t.coin_type}`)}static buildMultiCoinInput(t,n,r,s){let i=it.getCoinAssets(r,n);if(it.isSuiCoin(r)){let f=t.splitCoins(t.gas,s.map(b=>t.pure.u64(b)));return{amount_coin_array:s.map((b,_)=>({coin_object_id:f[_],amount:b.toString(),used:!1})),coin_type:r,remain_coins:i}}let o=s.reduce((f,g)=>f+g,BigInt(0)),a=it.selectCoinObjectIdGreaterThanOrEqual(i,o);if(a.object_array.length===0)return df("InsufficientBalance",`No enough coins for ${r} expect ${o} actual ${it.calculateTotalBalance(i)}`);let[c,...u]=a.object_array;u.length>0&&t.mergeCoins(c,[...u]);let d=t.splitCoins(c,s.map(f=>t.pure.u64(f)));return{amount_coin_array:s.map((f,g)=>({coin_object_id:d[g],amount:f.toString(),used:!1})),remain_coins:a.remain_coins,coin_type:r}}},Gt=it;Ni(Gt,"callMintZeroValueCoin",(t,n)=>t.moveCall({target:"0x2::coin::zero",typeArguments:[n]}));var Cb=6e4,Nb=3e5,_o=864e5;function bf(e){return Date.parse(new Date().toString())+e}var Au=class{overdueTime;value;constructor(t,n=0){this.overdueTime=n,this.value=t}isValid(){return this.value===null?!1:this.overdueTime===0?!0:!(Date.parse(new Date().toString())>this.overdueTime)}};function Vs(e,t){let n=gf(R(t));return Number(R(e).mul(n))}function bq(e,t=32){return BigInt.asUintN(t,BigInt(e)).toString()}function vq(e,t=32){return Number(BigInt.asIntN(t,BigInt(e)))}function Ci(e,t){let n=gf(R(t));return Number(R(e).div(n))}function _q(e,t="hex"){if(e instanceof Uint8Array){let r=Buffer.from(e);return zc.fromSecretKey(new Uint8Array(r))}let n=t==="hex"?dn(e):ie(e);return zc.fromSecretKey(n)}function wq(e,t="hex"){if(e instanceof Uint8Array){let r=Buffer.from(e);return Jc.fromSecretKey(new Uint8Array(r))}let n=t==="hex"?dn(e):ie(e);return Jc.fromSecretKey(n)}var Rb=async e=>new Promise(t=>{setTimeout(()=>{t(1)},e)});async function Tq(e,t=!0){e.getData().commands.forEach((n,r)=>{t&&console.log(`transaction ${r}: `,n)})}var Mb={coinType:"0x36dbef866a1d62bf7328989a10fb2f07d769f4ee587c0de4a0a256e57e0a58a8::deep::DEEP",decimals:6},Bb={coinType:"0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270::deep::DEEP",decimals:6};function jb(...e){console.log("DeepbookV3_Utils_Sdk###",...e)}function Db(e){return e.data}function Px(e){if(e.error&&"object_id"in e.error&&"version"in e.error&&"digest"in e.error){let{error:t}=e;return{objectId:t.object_id,version:t.version,digest:t.digest}}}function Lx(e){if(e.error&&"object_id"in e.error&&!("version"in e.error)&&!("digest"in e.error))return e.error.object_id}function Vx(e){if("reference"in e)return e.reference;let t=Db(e);return t?{objectId:t.objectId,version:t.version,digest:t.digest}:Px(e)}function Ub(e){return"objectId"in e?e.objectId:Vx(e)?.objectId??Lx(e)}function Oq(e){return e.data!==void 0}function Fx(e){return e.content!==void 0}function $x(e){let t="data"in e?Db(e):e;if(!(!t||!Fx(t)||t.content.dataType!=="moveObject"))return t.content}function Pb(e){let t=$x(e)?.fields;if(t)return"fields"in t?t.fields:t}var Lb=E.struct("GetCetusBalanceManagerList",{owner:E.Address,cetus_balance_managers:E.vector(E.Address),deepbook_balance_managers:E.vector(E.Address)}),Vb=E.struct("Account",{epoch:E.u64(),open_orders:E.vector(E.u128()),taker_volume:E.u128(),maker_volume:E.u128(),active_stake:E.u64(),inactive_stake:E.u64(),created_proposal:E.bool(),voted_proposal:E.option(E.Address),unclaimed_rebates:E.struct("Balances",{base:E.u64(),quote:E.u64(),deep:E.u64()}),settled_balances:E.struct("Balances",{base:E.u64(),quote:E.u64(),deep:E.u64()}),owed_balances:E.struct("Balances",{base:E.u64(),quote:E.u64(),deep:E.u64()})});var vf=1e6,gr=1e9,zx={coinType:"0x36dbef866a1d62bf7328989a10fb2f07d769f4ee587c0de4a0a256e57e0a58a8::deep::DEEP",decimals:6},Wx={coinType:"0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270::deep::DEEP",decimals:6},xu=class{_sdk;_deep;_cache={};constructor(t){this._sdk=t,this._deep=t.sdkOptions.network==="mainnet"?Wx:zx}get sdk(){return this._sdk}get deepCoin(){return this._deep}createAndShareBalanceManager(){let t=new J,n=t.moveCall({target:`${this._sdk.sdkOptions.deepbook.published_at}::balance_manager::new`});return t.moveCall({target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::cetus_balance_manager::check_and_add_deepbook_balance_manager_indexer`,arguments:[t.object(this._sdk.sdkOptions.deepbook_utils.cetus_balance_manager_indexer_id),n],typeArguments:[]}),t.moveCall({target:"0x2::transfer::public_share_object",arguments:[n],typeArguments:[`${this._sdk.sdkOptions.deepbook.published_at}::balance_manager::BalanceManager`]}),t}createAndDepsit({account:t,coin:n,amountToDeposit:r}){let s=new J;s.setSenderIfNotSet(t);let i=s.moveCall({target:`${this._sdk.sdkOptions.deepbook.published_at}::balance_manager::new`}),o=Kn({type:n.coinType,balance:BigInt(r)});return s.moveCall({target:`${this._sdk.sdkOptions.deepbook.published_at}::balance_manager::deposit`,arguments:[i,o],typeArguments:[n.coinType]}),s.moveCall({target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::cetus_balance_manager::check_and_add_deepbook_balance_manager_indexer`,arguments:[s.object(this._sdk.sdkOptions.deepbook_utils.cetus_balance_manager_indexer_id),i],typeArguments:[]}),s.moveCall({target:"0x2::transfer::public_share_object",arguments:[i],typeArguments:[`${this._sdk.sdkOptions.deepbook.published_at}::balance_manager::BalanceManager`]}),s}depositIntoManager({account:t,balanceManager:n,coin:r,amountToDeposit:s,tx:i}){let o=i||new J;if(n){o.setSenderIfNotSet(t);let a=Kn({type:r.coinType,balance:BigInt(s)});return o.moveCall({target:`${this._sdk.sdkOptions.deepbook.published_at}::balance_manager::deposit`,arguments:[o.object(n),a],typeArguments:[r.coinType]}),o}return null}async withdrawFromManager({account:t,balanceManager:n,coin:r,amountToWithdraw:s,returnAssets:i,txb:o}){let a=o||new J,c=a.moveCall({target:`${this._sdk.sdkOptions.deepbook.published_at}::balance_manager::withdraw`,arguments:[a.object(n),a.pure.u64(s)],typeArguments:[r.coinType]});if(i)return c;if(Gt.isSuiCoin(r.coinType))a.transferObjects([c],t);else{let u=await this._sdk.fullClient.getOwnerCoinAssets(t,r.coinType),d=Gt.buildCoinForAmount(a,u,BigInt(0),r.coinType,!1);d.target_coin?(a.mergeCoins(d.target_coin,[c]),d.is_mint_zero_coin&&a.transferObjects([d.target_coin],t)):a.transferObjects([c],t)}return a}withdrawManagersFreeBalance({account:t,balanceManagers:n,tx:r=new J}){for(let s in n)n[s].forEach(o=>{let a=r.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::balance_manager::withdraw`,arguments:[r.object(s),r.pure.u64(o.amount)],typeArguments:[o.coinType]});r.transferObjects([a],t)});return r}async getBalanceManager(t,n=!0){let r=`getBalanceManager_${t}`,s=this.getCache(r,n);if(!n&&s!==void 0)return s;try{let i=new J;i.moveCall({target:`${this._sdk.sdkOptions.deepbook_utils.package_id}::cetus_balance_manager::get_balance_managers_by_owner`,arguments:[i.object(this._sdk.sdkOptions.deepbook_utils.cetus_balance_manager_indexer_id),i.pure.address(t)],typeArguments:[]});let o=await this.sdk.fullClient.sendSimulationTransaction(i,t),c=(o?.Transaction??o?.FailedTransaction)?.events?.find(I=>I.eventType===`${this._sdk.sdkOptions.deepbook_utils.package_id}::cetus_balance_manager::GetCetusBalanceManagerList`);if(c?.bcs==null)throw new Error("GetCetusBalanceManagerList event not found or missing BCS payload (check simulation / RPC transport)");let d=Lb.parse(new Uint8Array(c.bcs))?.deepbook_balance_managers||[],p=await this._sdk.fullClient.batchGetObjects(d,{json:!0}),f={};for(let I=0;I<p.length;I++){let A=p[I],M=A?.data?.objectId??A?.objectId,C=A?.json??A?.data?.content?.fields,B=C?.allow_listed?.fields?.contents??C?.allow_listed?.contents??C?.balance_manager?.allow_listed?.contents;M&&Array.isArray(B)&&B.length>0&&(f[M]=B)}let g=await this.batchGetObjectsByIdMap(f),b=X(t),_=[];return d.forEach(I=>{let A=g[I]??[],M=A.filter(B=>{let L=this.getSuiObjectOwnerAddress(B);return L!==void 0&&X(L)===b});(A.length===0||M.length===A.length)&&_.push({balanceManager:I,cetusBalanceManager:""})}),this.updateCache(r,_,864e5),_||[]}catch(i){throw i instanceof Error?i:new Error(String(i))}}async batchGetObjectsByIdMap(t){let n=Object.entries(t).filter(([,o])=>Array.isArray(o)&&o.length>0);if(n.length===0)return{};let r=[...new Set(n.flatMap(([,o])=>o))],s=await this._sdk.fullClient.batchGetObjects(r,{json:!0}),i=new Map;return s.forEach(o=>{let a=o?.data?.objectId??o?.objectId;a&&i.set(a,o)}),Object.fromEntries(n.map(([o,a])=>[o,a.map(c=>i.get(c)).filter(Boolean)]))}getSuiObjectOwnerAddress(t){let r=t?.owner;if(r&&typeof r=="object"){if(r.$kind==="AddressOwner"&&typeof r.AddressOwner=="string")return r.AddressOwner;if(r.$kind==="ObjectOwner"&&typeof r.ObjectOwner=="string")return r.ObjectOwner;if(typeof r.AddressOwner=="string")return r.AddressOwner;if(typeof r.ObjectOwner=="string")return r.ObjectOwner}let s=t.data?.owner;if(!(!s||typeof s!="object")){if(typeof s.AddressOwner=="string")return s.AddressOwner;if(typeof s.ObjectOwner=="string")return s.ObjectOwner}}withdrawSettledAmounts({poolInfo:t,balanceManager:n},r=new J){let s=r.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::balance_manager::generate_proof_as_owner`,arguments:[r.object(n)]});return r.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::withdraw_settled_amounts`,arguments:[r.object(t.address),r.object(n),s],typeArguments:[t.baseCoin.coinType,t.quoteCoin.coinType]}),r}async getManagerBalance({account:t,balanceManager:n,coins:r}){try{let s=new J;r.forEach(a=>{s.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::balance_manager::balance`,arguments:[s.object(n)],typeArguments:[a.coinType]})});let i=await this.sdk.fullClient.sendSimulationTransaction(s,t),o={};return i?.commandResults?.forEach((a,c)=>{let u=r[c],d=a.returnValues[0]?.bcs,p=E.U64.parse(new Uint8Array(d)),f=R(p),g=f.eq(0)?"0":f.div(Math.pow(10,u.decimals)).toString();o[u.coinType]={adjusted_balance:g,balance:f.toString()}}),o}catch(s){throw s instanceof Error?s:new Error(String(s))}}async getAccountAllManagerBalance({account:t,coins:n}){try{let r=new J,s=await this.getBalanceManager(t,!0);if(!Array.isArray(s)||s.length===0)return{};s.forEach(a=>{n.forEach(c=>{r.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::balance_manager::balance`,arguments:[r.object(a.balanceManager)],typeArguments:[c.coinType]})})});let i=await this.sdk.fullClient.sendSimulationTransaction(r,t),o={};return s.forEach((a,c)=>{let u={},d=c*n.length;n.forEach((p,f)=>{let g=d+f,b=i.commandResults?.[g];if(b){let _=b.returnValues[0].bcs,I=E.U64.parse(new Uint8Array(_)),A=R(I),M=A.eq(0)?"0":A.div(Math.pow(10,p.decimals)).toString();u[p.coinType]={adjusted_balance:M,balance:A.toString()}}}),o[a.balanceManager]=u}),o}catch(r){throw r instanceof Error?r:new Error(String(r))}}async getMarketPrice(t){try{let n=new J;n.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::mid_price`,arguments:[n.object(t.address),n.object(he)],typeArguments:[t.baseCoin.coinType,t.quoteCoin.coinType]});let s=(await this._sdk.fullClient.sendSimulationTransaction(n,this._sdk.sdkOptions.simulationAccount.address)).commandResults[0]?.returnValues[0]?.bcs,i=Number(E.U64.parse(new Uint8Array(s))),o=Math.pow(10,t.baseCoin.decimals).toString(),a=Math.pow(10,t.quoteCoin.decimals).toString();return R(i).mul(o).div(a).div(gr).toString()}catch(n){return jb("getMarketPrice ~ error:",n),"0"}}async getPools(t=!1){let n="Deepbook_getPools",r=this.getCache(n,t);if(r!==void 0)return r;let s=await this._sdk.fullClient?.queryEventsByPage({MoveEventModule:{module:"pool",package:this._sdk.sdkOptions.deepbook.package_id}}),i=/<([^>]+)>/,o=[];return s?.data?.forEach(a=>{let c=a?.parsedJson,u=a.type.match(i);if(u){let p=u[1].split(", ");o.push({...c,baseCoinType:p[0],quoteCoinType:p[1]})}}),this.updateCache(n,o,864e5),o}async getQuoteQuantityOut(t,n,r){let s=new J;s.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::get_quote_quantity_out`,arguments:[s.object(t.address),s.pure.u64(n),s.object(he)],typeArguments:[t.baseCoin.coinType,t.quoteCoin.coinType]});let i=await this._sdk.fullClient.sendSimulationTransaction(s,r),o=String(E.U64.parse(new Uint8Array(i.commandResults[0].returnValues[0].bcs))),a=String(E.U64.parse(new Uint8Array(i.commandResults[0].returnValues[1].bcs))),c=String(E.U64.parse(new Uint8Array(i.commandResults[0].returnValues[2].bcs)));return{baseQuantityDisplay:R(n).div(Math.pow(10,t.baseCoin.decimals)).toString(),baseOutDisplay:R(o).div(Math.pow(10,t.baseCoin.decimals)).toString(),quoteOutDisplay:R(a).div(Math.pow(10,t.quoteCoin.decimals)).toString(),deepRequiredDisplay:R(c).div(vf).toString(),baseQuantity:n,baseOut:o,quoteOut:a,deepRequired:c}}async getBaseQuantityOut(t,n,r){let s=new J;s.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::get_base_quantity_out`,arguments:[s.object(t.address),s.pure.u64(n),s.object(he)],typeArguments:[t.baseCoin.coinType,t.quoteCoin.coinType]});let i=await this._sdk.fullClient.sendSimulationTransaction(s,r),o=String(E.U64.parse(new Uint8Array(i.commandResults[0].returnValues[0].bcs))),a=String(E.U64.parse(new Uint8Array(i.commandResults[0].returnValues[1].bcs))),c=String(E.U64.parse(new Uint8Array(i.commandResults[0].returnValues[2].bcs)));return{quoteQuantityDisplay:R(n).div(Math.pow(10,t.quoteCoin.decimals)).toString(),baseOutDisplay:R(o).div(Math.pow(10,t.baseCoin.decimals)).toString(),quoteOutDisplay:R(a).div(Math.pow(10,t.quoteCoin.decimals)).toString(),deepRequiredDisplay:R(c).div(vf).toString(),quoteQuantity:n,baseOut:o,quoteOut:a,deepRequired:c}}async getQuantityOut(t,n,r,s){let i=new J;i.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::get_quantity_out`,arguments:[i.object(t.address),i.pure.u64(n),i.pure.u64(r),i.object(he)],typeArguments:[t.baseCoin.coinType,t.quoteCoin.coinType]});let o=await this._sdk.fullClient.sendSimulationTransaction(i,s),a=Number(E.U64.parse(new Uint8Array(o.commandResults[0].returnValues[0].bcs))),c=Number(E.U64.parse(new Uint8Array(o.commandResults[0].returnValues[1].bcs))),u=Number(E.U64.parse(new Uint8Array(o.commandResults[0].returnValues[2].bcs)));return{baseQuantityDisplay:R(n).div(Math.pow(10,t.baseCoin.decimals)).toString(),quoteQuantityDisplay:R(r).div(Math.pow(10,t.quoteCoin.decimals)).toString(),baseOutDisplay:R(a).div(Math.pow(10,t.baseCoin.decimals)).toString(),quoteOutDisplay:R(c).div(Math.pow(10,t.quoteCoin.decimals)).toString(),deepRequiredDisplay:R(u).div(vf).toString(),baseQuantity:n,quoteQuantity:r,baseOut:a,quoteOut:c,deepRequired:u}}async getReferencePool(t){let n=await this.getPools(),r=t.baseCoin.coinType,s=t.quoteCoin.coinType,i=this._deep.coinType;for(let o=0;o<n.length;o++){let a=n[o];if(a.address===t.address)continue;let c=[a.baseCoinType,a.quoteCoinType];if(a.baseCoinType===i&&(c.includes(r)||c.includes(s)))return a}return null}async updateDeepPrice(t,n){let r=await this.getReferencePool(t);return r?(n.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::add_deep_price_point`,arguments:[n.object(t.address),n.object(r.pool_id),n.object(he)],typeArguments:[t.baseCoin.coinType,t.quoteCoin.coinType,r.baseCoinType,r.quoteCoinType]}),n):null}async estimatedMaxFee(t,n,r,s,i,o,a){let c=this.deepCoin;try{let{taker_fee:u,maker_fee:d}=t,p=R(u).div(gr).toString(),f=R(d).div(gr).toString(),g=await this.getMarketPrice(t);console.log("\u{1F680} ~ DeepbookUtilsModule ~ estimatedMaxFee ~ marketPrice:",g);let b=o?r:g!=="0"?g:a;if(b==="0")throw new Error("Cannot get market price");let _=Math.pow(10,t.baseCoin.decimals).toString(),I=Math.pow(10,t.quoteCoin.decimals).toString(),A=R(b).div(_).mul(I).mul(gr).toString();if(s){let B=await this.getMarketPrice(t),j=R(o?r:B!=="0"?B:a).div(_).mul(I).mul(gr).toString(),q=await this.getOrderDeepPrice(t);if(!q)throw new Error("Cannot get deep price");let P=yf(j,r),D=R(n).mul(R(p)).mul(R(q.deep_per_asset)).div(R(gr)),Z=R(n).mul(R(f)).mul(R(q.deep_per_asset)).div(R(gr));q.asset_is_base||(D=D.mul(P).div(R(gr)),Z=Z.mul(P).div(R(gr)));let ce=D.ceil().toString(),te=Z.ceil().toString();return{takerFee:ce,makerFee:te,takerFeeDisplay:Ci(ce,c.decimals).toString(),makerFeeDisplay:Ci(te,c.decimals).toString(),feeType:c.coinType}}if(i){let B=yf(A,o?r:g),L=R(n).mul(B).mul(R(p).mul(1.25)).div(R(gr)).ceil().toFixed(0),j=R(n).mul(B).mul(R(f).mul(1.25)).div(R(gr)).ceil().toFixed(0);return{takerFee:L,makerFee:j,takerFeeDisplay:Ci(L,t.quoteCoin.decimals).toString(),makerFeeDisplay:Ci(j,t.quoteCoin.decimals).toString(),feeType:t.quoteCoin.coinType}}let M=R(n).mul(R(p).mul(1.25)).ceil().toFixed(0),C=R(n).mul(R(f).mul(1.25)).ceil().toFixed(0);return{takerFee:M,makerFee:C,takerFeeDisplay:Ci(M,t.baseCoin.decimals).toString(),makerFeeDisplay:Ci(C,t.baseCoin.decimals).toString(),feeType:t.baseCoin.coinType}}catch(u){throw u instanceof Error?u:new Error(String(u))}}async getOrderDeepPrice(t,n=!0){let r=`getOrderDeepPrice_${t.address}}`,s=this.getCache(r);if(s!==void 0)return s;try{let i=new J,o=!1;n&&t?.baseCoin?.coinType!==this._deep.coinType&&t?.quoteCoin?.coinType!==this._deep.coinType&&await this.updateDeepPrice(t,i)&&(o=!0),i.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::get_order_deep_price`,arguments:[i.object(t.address)],typeArguments:[t.baseCoin.coinType,t.quoteCoin.coinType]});let a=await this._sdk.fullClient.sendSimulationTransaction(i,this._sdk.sdkOptions.simulationAccount.address),c=o?a.commandResults[1]?.returnValues[0]?.bcs:a.commandResults[0]?.returnValues[0]?.bcs,u=this.parseOrderDeepPrice(new Uint8Array(c));return this.updateCache(r,u,6e4),u}catch{return await Rb(2e3),this.getOrderDeepPrice(t,!1)}}parseOrderDeepPrice(t){let n=new DataView(t.buffer),r=n.getUint8(0)!==0,s=Number(n.getBigUint64(1,!0));return{asset_is_base:r,deep_per_asset:s}}getCoinAssets(t,n,r){return Gt.buildCoinWithBalance(BigInt(R(n).abs().ceil().toString()),t,r)}async getTransactionRelatedBalance(t,n,r,s,i,o,a){let c=this.deepCoin;if(!a)return{baseManagerBlance:"0",quoteManagerBlance:"0",feeManaerBalance:"0"};try{let u=[{coinType:t.baseCoin.coinType,decimals:t.baseCoin.decimals},{coinType:t.quoteCoin.coinType,decimals:t.quoteCoin.decimals}];s&&u.push(c);let d=await this.getManagerBalance({account:i,balanceManager:a,coins:u}),p=d?.[n]?.balance||"0",f=d?.[r]?.balance||"0",g=o&&d?.[c.coinType]?.balance||"0";return{baseManagerBlance:p,quoteManagerBlance:f,feeManaerBalance:g}}catch(u){throw u instanceof Error?u:new Error(String(u))}}getFeeAsset(t,n,r,s,i,o,a,c,u){let d=R(t).gt(0)&&c,p="0";if(!d)return{feeAsset:this.getEmptyCoin(u,n),haveDepositFee:"0"};if(o||a){let f=R(i).sub(o?s:r);p=f.lte(0)?t:f.sub(t).lt(0)?f.sub(t).toString():"0"}else p=R(i).sub(t).lt("0")?R(i).sub(t).abs().toString():"0";return{feeAsset:R(p).gt("0")?this.getCoinAssets(n,p,u):this.getEmptyCoin(u,n),haveDepositFee:p}}async getTransactionRelatedAssets(t,n,r,s,i,o,a,c,u){try{let d=this.deepCoin,p=be(t.baseCoin.coinType),f=be(t.quoteCoin.coinType),g=p===d.coinType,b=f===d.coinType,_=!g&&!b,{baseManagerBlance:I,quoteManagerBlance:A,feeManaerBalance:M}=await this.getTransactionRelatedBalance(t,p,f,_,o,a,c);console.log("\u{1F680}\u{1F680}\u{1F680} ~ deepbookUtilsModule.ts:897 ~ DeepbookUtilsModule ~ getTransactionRelatedAssets ~ quoteManagerBlance:",{baseManagerBlance:I,quoteManagerBlance:A});let C,B,L=!1;if(i){a||(r=R(r).add(R(s)).toString());let q=R(A).sub(r).toString();R(q).lt(0)?(L=!0,B=this.getCoinAssets(f,q,u)):B=this.getEmptyCoin(u,f),C=this.getEmptyCoin(u,p)}else{a||(n=R(n).add(R(s)).toString());let q=R(I).sub(n).toString();R(q).lt(0)?(L=!0,C=this.getCoinAssets(p,q,u)):C=this.getEmptyCoin(u,p),B=this.getEmptyCoin(u,f)}let j=this.getFeeAsset(s,d.coinType,n,r,M,b,g,a,u);return{baseAsset:C,quoteAsset:B,feeAsset:j,haveDeposit:L}}catch(d){throw d instanceof Error?d:new Error(String(d))}}async getMarketTransactionRelatedAssets(t,n,r,s,i,o,a,c,u,d){try{let p=this.deepCoin,f=be(t.baseCoin.coinType),g=be(t.quoteCoin.coinType),b=f===p.coinType,_=g===p.coinType,I=!b&&!_,A=await this.getTransactionRelatedBalance(t,f,g,I,o,a,c),{feeManaerBalance:M}=A,C=R(A.baseManagerBlance).add(R(d?.base||"0")).toString(),B=R(A.quoteManagerBlance).add(R(d?.quote||"0")).toString(),L;a&&R(M).lt(s)?L=this.getCoinAssets(p.coinType,R(s).sub(M).toString(),u):L=this.getEmptyCoin(u,p.coinType);let j,q;if(i){a||(r=R(r).add(R(s)).toString());let P=R(B).sub(r).toString();if(R(P).lt(0)){let D;R(B).gt(0)&&(D=await this.withdrawFromManager({account:o,balanceManager:c,coin:t.quoteCoin,amountToWithdraw:B,returnAssets:!0,txb:u}));let Z=this.getCoinAssets(g,P,u);D&&u.mergeCoins(Z,[D]),q=Z}else q=await this.withdrawFromManager({account:o,balanceManager:c,coin:t.quoteCoin,amountToWithdraw:r,returnAssets:!0,txb:u});j=this.getEmptyCoin(u,f)}else{a||(n=R(n).add(R(s)).toString());let P=R(C).sub(n).toString();if(R(P).lt(0)){let D;R(C).gt(0)&&(D=await this.withdrawFromManager({account:o,balanceManager:c,coin:t.baseCoin,amountToWithdraw:C,returnAssets:!0,txb:u}));let Z=this.getCoinAssets(f,P,u);D&&u.mergeCoins(Z,[D]),j=Z}else j=await this.withdrawFromManager({account:o,balanceManager:c,coin:t.baseCoin,amountToWithdraw:n,returnAssets:!0,txb:u});q=this.getEmptyCoin(u,g)}return{baseAsset:j,quoteAsset:q,feeAsset:L}}catch(p){throw p instanceof Error?p:new Error(String(p))}}async createDepositThenPlaceLimitOrder({poolInfo:t,priceInput:n,quantity:r,orderType:s,isBid:i,maxFee:o,account:a,payWithDeep:c,expirationTimestamp:u=Date.now()+31536e8}){try{let d=this.deepCoin,p=t.address,f=t.baseCoin.decimals,g=t.quoteCoin.decimals,b=t.baseCoin.coinType,_=t.quoteCoin.coinType,I=R(n).mul(10**(g-f+9)).toString(),A=be(b),M=be(_),C=new J,B,L;if(i){let D=R(n).mul(R(r).div(Math.pow(10,t.baseCoin.decimals))).mul(Math.pow(10,t.quoteCoin.decimals)).toString();c||(D=R(D).add(R(o)).toString()),L=Gt.buildCoinWithBalance(BigInt(D),M,C)}else{let D=r;c||(D=R(r).abs().add(R(o)).toString()),B=Gt.buildCoinWithBalance(BigInt(D),A,C)}let j=c?R(o).gt(0)?Gt.buildCoinWithBalance(BigInt(R(o).abs().ceil().toString()),d.coinType,C):this.getEmptyCoin(C,d.coinType):this.getEmptyCoin(C,d.coinType),q=C.moveCall({typeArguments:[i?b:_],target:"0x2::coin::zero",arguments:[]}),P=[C.object(this._sdk.sdkOptions.deepbook_utils.global_config_id),C.object(this._sdk.sdkOptions.deepbook_utils.cetus_balance_manager_indexer_id),C.object(p),i?q:B,i?L:q,j,C.pure.u8(s),C.pure.u8(0),C.pure.u64(I),C.pure.u64(r),C.pure.bool(i),C.pure.bool(!1),C.pure.u64(u),C.object(he)];return C.moveCall({typeArguments:[A,M],target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::deepbookv3_utils::create_deposit_then_place_limit_order`,arguments:P}),C}catch(d){throw d instanceof Error?d:new Error(String(d))}}getEmptyCoin(t,n){return Gt.buildCoinWithBalance(BigInt(0),n,t)}async createDepositThenPlaceMarketOrder({poolInfo:t,quantity:n,isBid:r,maxFee:s,account:i,payWithDeep:o,slippage:a=.01}){try{let c=t.address,u=t.baseCoin.coinType,d=t.quoteCoin.coinType,p=be(u),f=be(d),g=new J,b,_,I=n,A,M=await this.getOrderBook(t,"all",6);if(r){let L=M?.ask?.[0]?.price||"0",j=R(L).mul(R(n).div(Math.pow(10,t.baseCoin.decimals))).mul(Math.pow(10,t.quoteCoin.decimals)).toString();A=R(j).plus(R(j).mul(a)).ceil().toString()}else{let L=await M?.bid?.[0]?.price||"0",j=R(L).mul(R(n).div(Math.pow(10,t.baseCoin.decimals))).mul(Math.pow(10,t.quoteCoin.decimals)).toString();A=R(j).minus(R(j).mul(a)).floor().toString()}r?(o||(A=R(A).add(R(s)).toString()),_=this.getCoinAssets(f,A,g),b=this.getEmptyCoin(g,p)):(o||(I=R(I).add(R(s)).toString()),_=this.getEmptyCoin(g,f),b=this.getCoinAssets(p,I,g));let C=o?R(s).gt(0)?Gt.buildCoinWithBalance(BigInt(R(s).abs().ceil().toString()),this.deepCoin.coinType,g):this.getEmptyCoin(g,this.deepCoin.coinType):this.getEmptyCoin(g,this.deepCoin.coinType),B=[g.object(this._sdk.sdkOptions.deepbook_utils.global_config_id),g.object(this._sdk.sdkOptions.deepbook_utils.cetus_balance_manager_indexer_id),g.object(c),b,_,C,g.pure.u8(0),g.pure.u64(n),g.pure.bool(r),g.pure.bool(o),g.pure.u64(A),g.object(he)];return g.moveCall({typeArguments:[p,f],target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::deepbookv3_utils::create_deposit_then_place_market_order_v2`,arguments:B}),g}catch(c){throw c instanceof Error?c:new Error(String(c))}}async placeLimitOrder({balanceManager:t,poolInfo:n,priceInput:r,quantity:s,isBid:i,orderType:o,maxFee:a,account:c,payWithDeep:u,expirationTimestamp:d=Date.now()+31536e8}){try{let p=this.deepCoin,f=R(r).mul(10**(n.quoteCoin.decimals-n.baseCoin.decimals+9)).toString(),g=n.baseCoin.coinType,b=n.quoteCoin.coinType,_=new J,I=i?R(r).mul(R(s).div(Math.pow(10,n.baseCoin.decimals))).mul(Math.pow(10,n.quoteCoin.decimals)).toString():"0",A=i?"0":s,{baseAsset:M,quoteAsset:C,feeAsset:B,haveDeposit:L}=await this.getTransactionRelatedAssets(n,A,I,a,i,c,u,t,_);if(L){let P=[_.object(this._sdk.sdkOptions.deepbook_utils.global_config_id),_.object(this._sdk.sdkOptions.deepbook_utils.cetus_balance_manager_indexer_id),_.object(n.address),_.object(t),M,C,B.feeAsset,_.pure.u8(o),_.pure.u8(0),_.pure.u64(f),_.pure.u64(s),_.pure.bool(i),_.pure.bool(u),_.pure.u64(d),_.object(he)];return _.moveCall({typeArguments:[g,b],target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::deepbookv3_utils::deposit_then_place_limit_order_by_owner`,arguments:P}),_}let j=new J;R(B.haveDepositFee).gt(0)&&this.depositIntoManager({account:c,balanceManager:t,coin:p,amountToDeposit:B.haveDepositFee,tx:j});let q=[j.object(this._sdk.sdkOptions.deepbook_utils.global_config_id),j.object(this._sdk.sdkOptions.deepbook_utils.cetus_balance_manager_indexer_id),j.object(n.address),j.object(t),j.pure.u8(o),j.pure.u8(0),j.pure.u64(f),j.pure.u64(s),j.pure.bool(i),j.pure.bool(u),j.pure.u64(d),j.object(he)];return j.moveCall({typeArguments:[g,b],target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::deepbookv3_utils::place_limit_order`,arguments:q}),j}catch(p){throw p instanceof Error?p:new Error(String(p))}}modifyOrder({balanceManager:t,poolInfo:n,orderId:r,newOrderQuantity:s}){let i=new J;return i.moveCall({typeArguments:[n.baseCoin.coinType,n.quoteCoin.coinType],target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::deepbookv3_utils::modify_order`,arguments:[i.object(this._sdk.sdkOptions.deepbook_utils.global_config_id),i.object(t),i.object(n.address),i.pure.u128(r),i.pure.u64(s),i.object(he)]}),i}async getBestAskprice(t){try{let{baseCoin:n,quoteCoin:r}=t,s=new J,i=await this.getMarketPrice(t),o=R(i).gt(0)?i:Math.pow(10,-1),a=Math.pow(10,6),c=R(o).mul(Math.pow(10,9+r.decimals-n.decimals)).toString(),u=R(a).mul(Math.pow(10,9+r.decimals-n.decimals)).toString();s.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::get_level2_range`,arguments:[s.object(t.address),s.pure.u64(c),s.pure.u64(u),s.pure.bool(!1),s.object(he)],typeArguments:[n.coinType,r.coinType]});let d=this._sdk.sdkOptions.simulationAccount.address,p=await this._sdk.fullClient.sendSimulationTransaction(s,d),f=[],g=p.commandResults[0].returnValues[0].bcs,b=E.vector(E.u64()).parse(new Uint8Array(g)),_=p.commandResults[0].returnValues[1].bcs,I=E.vector(E.u64()).parse(new Uint8Array(_));return b.forEach((A,M)=>{let C=R(A).div(Math.pow(10,9+r.decimals-n.decimals)).toString(),B=R(I[M]).div(Math.pow(10,n.decimals)).toString();f.push({price:C,quantity:B})}),f?.[0]?.price||0}catch{return 0}}async getBestBidprice(t){try{let{baseCoin:n,quoteCoin:r}=t,s=new J,i=await this.getMarketPrice(t),o=R(i).gt(0)?R(i).div(3).toNumber():Math.pow(10,-6),a=R(i).gt(0)?i:Math.pow(10,6),c=R(o).mul(Math.pow(10,9+r.decimals-n.decimals)).toString(),u=R(a).mul(Math.pow(10,9+r.decimals-n.decimals)).toString();s.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::get_level2_range`,arguments:[s.object(t.address),s.pure.u64(xi(c,0)),s.pure.u64(xi(u,0)),s.pure.bool(!0),s.object(he)],typeArguments:[n.coinType,r.coinType]});let d=this._sdk.sdkOptions.simulationAccount.address,p=await this._sdk.fullClient.sendSimulationTransaction(s,d),f=[],g=p.commandResults[0].returnValues[0].bcs,b=E.vector(E.u64()).parse(new Uint8Array(g)),_=p.commandResults[0].returnValues[1].bcs,I=E.vector(E.u64()).parse(new Uint8Array(_));return b.forEach((A,M)=>{let C=R(A).div(Math.pow(10,9+r.decimals-n.decimals)).toString(),B=R(I[M]).div(Math.pow(10,n.decimals)).toString();f.push({price:C,quantity:B})}),f?.[0]?.price||0}catch{return 0}}async getBestAskOrBidPrice(t,n){try{let{baseCoin:r,quoteCoin:s}=t,i=new J,o=await this.getMarketPrice(t),a,c;n?(a=R(o).gt(0)?R(o).div(3).toNumber():Math.pow(10,-6),c=R(o).gt(0)?o:Math.pow(10,6)):(a=R(o).gt(0)?o:Math.pow(10,-1),c=R(o).gt(0)?R(o).mul(3).toNumber():Math.pow(10,6));let u=R(a).mul(Math.pow(10,9+s.decimals-r.decimals)).toString(),d=R(c).mul(Math.pow(10,9+s.decimals-r.decimals)).toString();i.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::get_level2_range`,arguments:[i.object(t.address),i.pure.u64(xi(u,0)),i.pure.u64(xi(d,0)),i.pure.bool(n),i.object(he)],typeArguments:[r.coinType,s.coinType]});let p=this._sdk.sdkOptions.simulationAccount.address,f=await this._sdk.fullClient.sendSimulationTransaction(i,p),g=[],b=f.commandResults[0].returnValues[0].bcs,_=E.vector(E.u64()).parse(new Uint8Array(b)),I=f.commandResults[0].returnValues[1].bcs,A=E.vector(E.u64()).parse(new Uint8Array(I));return _.forEach((M,C)=>{let B=R(M).div(Math.pow(10,9+s.decimals-r.decimals)).toString(),L=R(A[C]).div(Math.pow(10,r.decimals)).toString();g.push({price:B,quantity:L})}),g?.[0]?.price||0}catch{return 0}}async placeMarketOrder({balanceManager:t,poolInfo:n,baseQuantity:r,quoteQuantity:s,isBid:i,maxFee:o,account:a,payWithDeep:c,slippage:u=.01,settled_balances:d={base:"0",quote:"0"}}){try{let p=be(n.baseCoin.coinType),f=be(n.quoteCoin.coinType),g=new J;d&&(R(d.base).gt(0)||R(d.quote).gt(0))&&this.withdrawSettledAmounts({poolInfo:n,balanceManager:t},g);let{baseAsset:b,quoteAsset:_,feeAsset:I}=await this.getMarketTransactionRelatedAssets(n,r,s,o,i,a,c,t,g,d),A=await this.getOrderBook(n,"all",6);if(i){let B=A?.ask?.[0]?.price||"0",L=R(B).mul(R(r).div(Math.pow(10,n.baseCoin.decimals))).mul(Math.pow(10,n.quoteCoin.decimals)).toString();s=R(L).plus(R(L).mul(u)).ceil().toString()}else{let B=await A?.bid?.[0]?.price||"0",L=R(B).mul(R(r).div(Math.pow(10,n.baseCoin.decimals))).mul(Math.pow(10,n.quoteCoin.decimals)).toString();s=R(L).minus(R(L).mul(u)).floor().toString()}let M=s,C=[g.object(this._sdk.sdkOptions.deepbook_utils.global_config_id),g.object(this._sdk.sdkOptions.deepbook_utils.cetus_balance_manager_indexer_id),g.object(n.address),g.object(t),b,_,I,g.pure.u8(0),g.pure.u64(r),g.pure.bool(i),g.pure.bool(c),g.pure.u64(M),g.object(he)];return g.setSenderIfNotSet(a),g.moveCall({typeArguments:[p,f],target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::deepbookv3_utils::deposit_then_place_market_order_by_owner_v2`,arguments:C}),g}catch(p){throw p instanceof Error?p:new Error(String(p))}}async getOrderInfoList(t,n){try{let r=new J;t.forEach(u=>{let d=u?.pool,p=u?.orderId;r.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::get_order`,arguments:[r.object(d.pool_id),r.pure.u128(BigInt(p))],typeArguments:[d.baseCoinType,d.quoteCoinType]})});let s=await this._sdk.fullClient.sendSimulationTransaction(r,n),i=E.struct("ID",{bytes:E.Address}),o=E.struct("OrderDeepPrice",{asset_is_base:E.bool(),deep_per_asset:E.u64()}),a=E.struct("Order",{balance_manager_id:i,order_id:E.u128(),client_order_id:E.u64(),quantity:E.u64(),filled_quantity:E.u64(),fee_is_deep:E.bool(),order_deep_price:o,epoch:E.u64(),status:E.u8(),expire_timestamp:E.u64()}),c=[];return s?.commandResults?.forEach(u=>{let d=u.returnValues[0].bcs,p=a.parse(new Uint8Array(d));c.push(p)}),c}catch{return[]}}decodeOrderId(t){let n=t>>BigInt(127)===BigInt(0),r=t>>BigInt(64)&(BigInt(1)<<BigInt(63))-BigInt(1),s=t&(BigInt(1)<<BigInt(64))-BigInt(1);return{isBid:n,price:r,orderId:s}}async getOpenOrder(t,n,r,s,i=!1,o=new J){let a;if(s)a=s;else{o.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::account_open_orders`,arguments:[o.object(t.address),i?r:o.object(r)],typeArguments:[t.baseCoin.coinType,t.quoteCoin.coinType]});let p=await this._sdk.fullClient.sendSimulationTransaction(o,n);console.log("\u{1F680} ~ DeepbookUtilsModule ~ getOpenOrder ~ res:",p?.FailedTransaction?.status);let f=p.commandResults[i?1:0].returnValues[0].bcs;a=E.struct("VecSet",{constants:E.vector(E.U128)}).parse(new Uint8Array(f)).constants}if(a.length===0)return[];let c=a.map(p=>({pool:{pool_id:t.address,baseCoinType:t.baseCoin.coinType,quoteCoinType:t.quoteCoin.coinType},orderId:p})),u=await this.getOrderInfoList(c,n)||[],d=[];return u.forEach(p=>{let f=this.decodeOrderId(BigInt(p.order_id));d.push({...p,price:f.price,isBid:f.isBid,pool:t})}),d}async getAllMarketsOpenOrders(t,n){try{let r=await this.getPools(),s=new J;r.forEach(p=>{s.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::account_open_orders`,arguments:[s.object(p.pool_id),s.object(n)],typeArguments:[p.baseCoinType,p.quoteCoinType]})});let o=(await this._sdk.fullClient.sendSimulationTransaction(s,t)).commandResults?.map(p=>p.returnValues?.[0]?.bcs)||[],a=E.struct("VecSet",{constants:E.vector(E.U128)}),c=[];o.forEach((p,f)=>{let g=a.parse(new Uint8Array(p)).constants;g.length>0&&g.forEach(b=>{c.push({pool:r[f],orderId:b})})});let u=await this.getOrderInfoList(c,t)||[],d=[];return c.forEach((p,f)=>{let g=this.decodeOrderId(BigInt(p.orderId)),b=u.find(_=>_.order_id===p.orderId)||{};d.push({...p,...b,price:g.price,isBid:g.isBid})}),d}catch(r){return console.log("\u{1F680} ~ DeepbookUtilsModule ~ getAllMarketsOpenOrders ~ error:",r),[]}}cancelOrders(t,n,r=new J){return t.forEach(s=>{r.moveCall({target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::deepbookv3_utils::cancel_order`,arguments:[r.object(this._sdk.sdkOptions.deepbook_utils.global_config_id),r.object(n),r.object(s.poolInfo.address),r.pure.u128(s.orderId),r.object(he)],typeArguments:[s.poolInfo.baseCoin.coinType,s.poolInfo.quoteCoin.coinType]})}),r}async getDeepbookOrderBook(t,n,r,s,i,o){let a=this._sdk.fullClient,u=await new qx({client:a,address:i,network:"testnet",balanceManagers:{test1:{address:o,tradeCap:""}}}).getLevel2Range(t,n,r,s)}processOrderBookData(t,n,r,s){let i=t.returnValues[0].bcs,o=E.vector(E.u64()).parse(new Uint8Array(i)),a=t.returnValues[1].bcs,c=E.vector(E.u64()).parse(new Uint8Array(a)),u={};return o.forEach((p,f)=>{let g=R(p).div(Math.pow(10,9+r.decimals-n.decimals)).toString(),b=R(c[f]).div(Math.pow(10,n.decimals)).toString();u[g]?u[g]={price:g,quantity:R(u[g].quantity).add(b).toString()}:u[g]={price:g,quantity:b}}),Object.values(u)}getLevel2RangeTx(t,n,r,s,i=new J){let{baseCoin:o,quoteCoin:a}=t,c=xi(R(r).mul(Math.pow(10,9+a.decimals-o.decimals)).toString(),0),u=xi(R(s).mul(Math.pow(10,9+a.decimals-o.decimals)).toString(),0);return i.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::get_level2_range`,arguments:[i.object(t.address),i.pure.u64(c),i.pure.u64(u),i.pure.bool(n),i.object(he)],typeArguments:[o.coinType,a.coinType]}),i}async fetchOrderBook(t,n,r,s,i,o){let a=new J,{baseCoin:c,quoteCoin:u}=t;try{if(n==="bid"||n==="all"){let b=s,_=r==="0"?i:r;a=this.getLevel2RangeTx(t,!0,b,_,a)}if(n==="ask"||n==="all"){let b=r==="0"?s:r,_=i;a=this.getLevel2RangeTx(t,!1,b,_,a)}let d=this._sdk.sdkOptions.simulationAccount.address,p=await this._sdk.fullClient.sendSimulationTransaction(a,d),f=[];(n==="bid"||n==="all")&&(f=p.commandResults?.[0]?this.processOrderBookData(p.commandResults[0],c,u,o):[]);let g=[];if(n==="ask"||n==="all"){let b=n==="ask"?0:1;g=p.commandResults?.[b]?this.processOrderBookData(p.commandResults[b],c,u,o):[]}return{bid:f.sort((b,_)=>_.price-b.price),ask:g.sort((b,_)=>b.price-_.price)}}catch{let p=this._sdk.sdkOptions.simulationAccount.address,f=[],g=[];try{let b=this.getLevel2RangeTx(t,!0,s,r),_=await this._sdk.fullClient.sendSimulationTransaction(b,p);f=_.commandResults?.[0]?this.processOrderBookData(_.commandResults[0],c,u,o):[]}catch{f=[]}try{let b=this.getLevel2RangeTx(t,!1,s,r),_=await this._sdk.fullClient.sendSimulationTransaction(b,p);g=_.commandResults?.[0]?this.processOrderBookData(_.commandResults[0],c,u,o):[]}catch{g=[]}return{bid:f,ask:g}}}async getOrderBook(t,n,r){let s={bid:[],ask:[]};try{let i=await this.getMarketPrice(t),o=n,a=Math.pow(10,-r),c=Math.pow(10,r),u=await this.fetchOrderBook(t,o,i,a,c,r);return{bid:u?.bid,ask:u?.ask}}catch{return s}}async getOrderBookOrigin(t,n){try{let r=new J,s=await this.getMarketPrice(t),{baseCoin:i,quoteCoin:o}=t;if(n==="bid"||n==="all"){let p=Math.pow(10,-6),f=s,g=R(p).mul(Math.pow(10,9+o.decimals-i.decimals)).toString(),b=R(f).mul(Math.pow(10,9+o.decimals-i.decimals)).toString();r.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::get_level2_range`,arguments:[r.object(t.address),r.pure.u64(g),r.pure.u64(b),r.pure.bool(!0),r.object(he)],typeArguments:[i.coinType,o.coinType]})}if(n==="ask"||n==="all"){let p=s,f=Math.pow(10,6),g=R(p).mul(Math.pow(10,9+o.decimals-i.decimals)).toString(),b=R(f).mul(Math.pow(10,9+o.decimals-i.decimals)).toString();r.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::get_level2_range`,arguments:[r.object(t.address),r.pure.u64(g),r.pure.u64(b),r.pure.bool(!1),r.object(he)],typeArguments:[i.coinType,o.coinType]})}let a=this._sdk.sdkOptions.simulationAccount.address,c=await this._sdk.fullClient.sendSimulationTransaction(r,a),u=[];if(n==="bid"||n==="all"){let p=c.commandResults[0]?.returnValues[0]?.bcs,f=E.vector(E.u64()).parse(new Uint8Array(p)),g=c.commandResults[0]?.returnValues[1]?.bcs,b=E.vector(E.u64()).parse(new Uint8Array(g));f.forEach((_,I)=>{let A=R(_).div(Math.pow(10,9+o.decimals-i.decimals)).toString(),M=R(b[I]).div(Math.pow(10,i.decimals)).toString();u.push({price:A,quantity:M})})}let d=[];if(n==="ask"||n==="all"){let p=n==="ask"?0:1,f=c.results[p]?.returnValues[0]?.[0],g=E.vector(E.u64()).parse(new Uint8Array(f)),b=c.results[p]?.returnValues[1]?.[0],_=E.vector(E.u64()).parse(new Uint8Array(b));g.forEach((I,A)=>{let M=R(I).div(Math.pow(10,9+o.decimals-i.decimals)).toString(),C=R(_[A]).div(Math.pow(10,i.decimals)).toString();d.push({price:M,quantity:C})})}return{bid:u,ask:d}}catch{return{bids:[],asks:[]}}}async getWalletBalance(t){let n=await this._sdk.fullClient?.getOwnerCoinBalances(t);return console.log("\u{1F680} ~ DeepbookUtilsModule ~ getWalletBalance ~ result:",n),Object.fromEntries(n.map((s,i)=>[be(s.coinType),{coinType:s.coinType,totalBalance:s.balance,coinBalance:s.coinBalance,addressBalance:s.addressBalance}]))}async getAccount(t,n,r=new J){for(let o=0;o<n.length;o++){let a=n[o];r.moveCall({target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::order_trader::get_account_id`,arguments:[r.object(a.address),typeof t=="string"?r.object(t):t],typeArguments:[a.baseCoin.coinType,a.quoteCoin.coinType]})}let s=await this._sdk.fullClient.sendSimulationTransaction(r,this._sdk.senderAddress);if(s?.Transaction?.events?.length===0)return null;let i=[];return s?.Transaction?.events?.forEach((o,a)=>{let c=o?.bcs,u=Vb.parse(c),d=u.open_orders,p=u.owed_balances,f=u.settled_balances,g=u.unclaimed_rebates,b=u.taker_volume;i.push({balance_manager_id:t,open_orders:d,owed_balances:p,settled_balances:f,unclaimed_rebates:g,taker_volume:b,poolInfo:n[a]})}),i}async getSuiTransactionResponse(t,n=!1){let r=`${t}_getSuiTransactionResponse`,s=this.getCache(r,n);if(s!==void 0)return s;let i;try{i=await this._sdk.fullClient.getTransaction({digest:t,include:{events:!0,effects:!0,balanceChanges:!0,showInput:!0,showObjectChanges:!0}})}catch{i=await this._sdk.fullClient.getTransaction({digest:t,include:{events:!0,effects:!0}})}return this.updateCache(r,i,864e5),i}transformExtensions(t,n,r=!0){let s=[];for(let i of n){let{key:o}=i.fields,{value:a}=i.fields;if(o==="labels")try{a=JSON.parse(decodeURIComponent(Gx.decode(a)))}catch{}r&&(t[o]=a),s.push({key:o,value:a})}delete t.extension_fields,r||(t.extensions=s)}async getCoinConfigs(t=!1,n=!0){let r=this.sdk.sdkOptions.coinlist.handle,s=`${r}_getCoinConfigs`,i=this.getCache(s,t);if(i)return i;let a=(await this._sdk.fullClient.getDynamicFieldsByPage(r)).data.map(d=>d.objectId),c=await this._sdk.fullClient.batchGetObjects(a,{json:!0}),u=[];return c.forEach(d=>{let p=this.buildCoinConfig(d,n);this.updateCache(`${r}_${p.address}_getCoinConfig`,p,864e5),u.push({...p})}),this.updateCache(s,u,864e5),u}buildCoinConfig(t,n=!0){let r=Pb(t);r=r.value.fields;let s={...r};return s.id=Ub(t),s.address=Ls(r.coin_type.fields.name).full_address,r.pyth_id&&(s.pyth_id=Ft(r.pyth_id)),this.transformExtensions(s,r.extension_fields.fields.contents,n),delete s.coin_type,s}updateCache(t,n,r=3e5){let s=this._cache[t];s?(s.overdueTime=bf(r),s.value=n):s=new Au(n,bf(r)),this._cache[t]=s}getCache(t,n=!1){let r=this._cache[t],s=r?.isValid();if(!n&&s)return r.value;s||delete this._cache[t]}async createPermissionlessPool({tickSize:t,lotSize:n,minSize:r,baseCoinType:s,quoteCoinType:i}){let o=new J,a=Gt.buildCoinWithBalance(BigInt(500*10**6),"0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270::deep::DEEP",o);o.moveCall({target:`${this.sdk.sdkOptions.deepbook.published_at}::pool::create_permissionless_pool`,typeArguments:[s,i],arguments:[o.object(this.sdk.sdkOptions.deepbook.registry_id),o.pure.u64(t),o.pure.u64(n),o.pure.u64(r),a]});try{let c=await this._sdk.fullClient.sendSimulationTransaction(o,this.sdk.senderAddress);if(c?.Transaction?.effects?.status?.success)return o;if(c?.Transaction?.effects?.status?.error&&c.Transaction.effects.status.error.indexOf('Some("register_pool") }, 1)')>-1)throw new Error("Pool already exists")}catch(c){throw c instanceof Error?c:new Error(String(c))}return o}newWithCustomOwnerCaps({owner:t,appType:n}){let r=new J,s=n||`${this._sdk.sdkOptions.deepbook.margin_package_id}::margin_manager::MarginApp`,[i,o,a,c]=r.moveCall({target:`${this._sdk.sdkOptions.deepbook.published_at}::balance_manager::new_with_custom_owner_caps`,arguments:[r.object(this._sdk.sdkOptions.deepbook.registry_id),r.pure.address(t)],typeArguments:[s]});return r.moveCall({target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::cetus_balance_manager::check_and_add_deepbook_balance_manager_indexer`,arguments:[r.object(this._sdk.sdkOptions.deepbook_utils.cetus_balance_manager_indexer_id),i],typeArguments:[]}),r.moveCall({target:"0x2::transfer::public_share_object",arguments:[i],typeArguments:[`${this._sdk.sdkOptions.deepbook.published_at}::balance_manager::BalanceManager`]}),r.transferObjects([o,a,c],t),r}};var Cu="0x0000000000000000000000000000000000000000000000000000000000000006",Wq="pool_script",Hq="pool_script_v2",Jq="router",Zq="router_with_partner",Kq="fetcher_script",Xq="expect_swap",Yq="utils",Qq="0x1::coin::CoinInfo",eG="0x1::coin::CoinStore",tG="custodian_v2",nG="clob_v2",rG="endpoints_v2",sG=e=>{if(typeof e=="string"&&e.startsWith("0x"))return"object";if(typeof e=="number"||typeof e=="bigint")return"u64";if(typeof e=="boolean")return"bool";throw new Error(`Unknown type for value: ${e}`)},iG=["https://rpc-mainnet.suiscan.xyz:443","https://cetus-mainnet-endpoint.blockvision.org","https://cetus-suimain-e31f.mainnet.sui.rpcpool.com"];import Fb from"decimal.js";Fb.config({precision:64,rounding:Fb.ROUND_DOWN,toExpNeg:-64,toExpPos:64});var lG=({totalAssetsValue:e,totalDebtValue:t})=>R(t).eq(0)||R(e).eq(0)?"0":R(e).div(R(t)).toString(),$b=e=>{let{base_margin_pool_id:t,quote_margin_pool_id:n,enabled:r,pool_liquidation_reward:s,user_liquidation_reward:i}=e.value.fields,{liquidation_risk_ratio:o,min_borrow_risk_ratio:a,min_withdraw_risk_ratio:c,target_liquidation_risk_ratio:u}=e.value.fields.risk_ratios.fields;return{id:e.id.id,name:e.name,base_margin_pool_id:t,quote_margin_pool_id:n,enabled:r,pool_liquidation_reward:s,user_liquidation_reward:i,liquidation_risk_ratio:o,min_borrow_risk_ratio:a,min_withdraw_risk_ratio:c,target_liquidation_risk_ratio:u}},qb=(e,t)=>{let{deposit_coin_type:n}=t,r=e.id,{max_utilization_rate:s,min_borrow:i,protocol_spread:o,supply_cap:a}=e.config.margin_pool_config,{maintainer_fees:c,protocol_fees:u}=e.protocol_fees,{total_supply:d,total_borrow:p}=e.state,f=R(a).sub(d).toString();return{deposit_coin_type:n,id:r,supply_cap:a,total_supply:d,total_borrow:p,available_supply:f,max_utilization_rate:s,min_borrow:i,protocol_spread:o,maintainer_fees:c,protocol_fees:u}};var jr=1000000000n,Hx=365n*24n*60n*60n*1000n;function Jx(e,t){return t===0n?0n:e*jr/t}function Zx(e,t){let{base_rate:n,base_slope:r,optimal_utilization:s,excess_slope:i}=t;if(e<s)return n+e*r/jr;{let o=e-s,a=s*r/jr,c=o*i/jr;return n+a+c}}function Gb(e,t){let n=e*t,r=n/jr;return n%jr>0n?r+1n:r}function Kx(e,t,n,r){let s=t.borrow_shares===0n?jr:t.total_borrow*jr/t.borrow_shares,i=Gb(e,s),o=Jx(t.total_borrow,t.total_supply),a=Zx(o,n),c=r-t.last_update_timestamp,u=t.total_borrow*a/jr*c/Hx,d=t.borrow_shares===0n?0n:Gb(u,e*jr/t.borrow_shares),p=i+d;return{confirmedDebt:i,estimatedInterest:d,totalDebt:p,annualInterestRate:a}}function pG(e,t,n,r,s=60000n){let i=r+s,{totalDebt:o}=Kx(e,t,n,i);return o}var _f=10n;function Xx(e,t){if(!_f)throw new Error("oraclePriceMultiplierDecimal is required");if(e===0n)throw new Error("Invalid oracle price");if(t<0n){let n=10n**(_f- -t);return e*n}return e/10n**(t+_f)}var wo=class{_sdk;hasChangeConnection=!1;_commonPythPrice;_cache={};constructor(t){this._sdk=t,this._commonPythPrice=new kb(t.fullClient)}get sdk(){return this._sdk}async updatePythPriceIDs(t,n){let r=null,s=null;try{r=await this._commonPythPrice.getPriceFeedsUpdateData(t)}catch(a){s=a,console.log("Error: ",a)}if(r==null)throw new Error(`All Pyth price nodes are unavailable. Cannot fetch price data. Please switch to or add new available Pyth nodes. Detailed error: ${s?.message}`);let i=[];try{i=await this._commonPythPrice.updatePriceFeeds(n,r,t)}catch(a){throw new Error(`All Pyth price nodes are unavailable. Cannot fetch price data. Please switch to or add new available Pyth nodes in the pythUrls parameter when initializing AggregatorClient, for example: new AggregatorClient({ pythUrls: ["https://your-pyth-node-url"] }). Detailed error: ${a}`)}let o=new Map;for(let a=0;a<t.length;a++)o.set(t[a],i[a]);return o}priceCheck(t,n=60){let r=Math.floor(Date.now()/1e3);if(!(Math.abs(r-t.last_update_time)>n))return t}async getLatestPrice(t,n=!1){let r={},s=[];if(n?t.forEach(a=>{let c=this._sdk.fullClient.getCache(`getLatestPrice_${a.coinType}`);c&&this.priceCheck(c,60)?r[a.coinType]=c:s.push(a.coinType)}):s=t.map(a=>a.coinType),s.length===0)return r;let i=t.map(a=>a.feed);return(await this._commonPythPrice.getLatestPriceFeeds(i))?.parsed?.forEach((a,c)=>{let u=a.price;if(u){let{price:d,expo:p}=u,f=R(d).mul(R(10).pow(R(p))).toString(),b={coin_type:t[c].coinType,price:f,oracle_price:0n,last_update_time:u.publish_time};b.oracle_price=Xx(BigInt(d),BigInt(p)),r[s[c]]=b,this._sdk.fullClient.updateCache(`getLatestPrice_${b.coin_type}`,b)}}),r}};var Nu=class{_sdk;pythPrice;_deep;_cache={};constructor(t){if(!t)throw new Error("SDK instance is required");this._sdk=t,this.pythPrice=new wo(t),this._deep=t.sdkOptions.network==="mainnet"?Bb:Mb}get sdk(){return this._sdk}get deepCoin(){return this._deep}createAndShareMarginManager(t,n=new J){if(!t)throw new Error("Pool info is required");if(!t.id)throw new Error("Pool ID is required");if(!t.baseCoin?.coinType||!t.quoteCoin?.coinType)throw new Error("Base and quote coin types are required");let{baseCoin:r,quoteCoin:s}=t;try{let{margin_manager:i,initializer:o}=this.createMarginManager(t,n);return this.shareMarginManager({marginManager:i,initializer:o,baseCoin:r,quoteCoin:s},n),{tx:n,margin_manager:i,initializer:o}}catch(i){throw new Error(`Failed to create and share margin manager: ${i instanceof Error?i.message:String(i)}`)}}createMarginManager(t,n=new J){if(!t)throw new Error("Pool info is required");if(!t.id)throw new Error("Pool ID is required");let{id:r,baseCoin:s,quoteCoin:i}=t;try{let[o,a]=n.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::create_margin_manager`,arguments:[n.object(this.sdk.sdkOptions.margin_utils.versioned_id),n.object(r),n.object(this._sdk.sdkOptions.margin_utils.registry_id),n.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),n.object(he)],typeArguments:[s.coinType,i.coinType]});return{tx:n,margin_manager:o,initializer:a}}catch(o){throw new Error(`Failed to create margin manager: ${o instanceof Error?o.message:String(o)}`)}}shareMarginManager({marginManager:t,initializer:n,baseCoin:r,quoteCoin:s},i=new J){try{return i.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::share_margin_manager`,arguments:[t,n],typeArguments:[r.coinType,s.coinType]}),i}catch(o){throw new Error(`Failed to share margin manager: ${o instanceof Error?o.message:String(o)}`)}}async getBalanceManagerByMarginManager(t){if(!t||typeof t!="string")throw new Error("Valid account address is required");let n=`
|
|
1025
1025
|
query Events($filter: EventFilter) {
|
|
1026
1026
|
events(filter: $filter) {
|
|
1027
1027
|
nodes {
|
|
@@ -1035,7 +1035,7 @@ Clients should implement reconnection logic to maintain continuous price updates
|
|
|
1035
1035
|
}
|
|
1036
1036
|
}
|
|
1037
1037
|
}
|
|
1038
|
-
`,r={filter:{sender:t,type:`${this._sdk.sdkOptions.deepbook.package_id}::balance_manager::BalanceManagerEvent`}};try{let s=await this.sdk.fullClient._graphQLClient.query({query:n,variables:r});return s?.data?.events?.nodes?s.data.events.nodes.map(o=>o?.contents?.json):[]}catch(s){throw new Error(`Failed to query balance managers: ${s instanceof Error?s.message:String(s)}`)}}async getMarginManagerByAccount(t){if(!t||typeof t!="string")throw new Error("Valid account address is required");try{let s=((await this.sdk.fullClient.queryEventsByPage({MoveEventType:`${this._sdk.sdkOptions.margin_utils.package_id}::margin_utils::CreateMarginManagerEvent`}))?.data??[]).filter(p=>p.parsedJson?.owner===t);if(!s.length)return[];let i=s.map(p=>p.parsedJson?.margin_manager_id),a=(await this.sdk.fullClient.batchGetObjects(i,{json:!0})).map((p,f)=>{let g=p.json,_=(g?.balance_manager?.allow_listed?.contents).map(A=>A),I=_.includes(g?.deposit_cap?.id)&&_.includes(g?.withdraw_cap?.id)&&_.includes(g?.trade_cap?.id);return{balanceManagerId:g?.balance_manager?.id,marginManagerId:i[f],capOk:I}}).filter(p=>p.capOk),c=await Promise.all(a.map(({balanceManagerId:p})=>this.sdk.fullClient.listDynamicFields({parentId:p}))),u=new Map;return c.forEach((p,f)=>{let g=p?.dynamicFields??[];if(g.length>0){let b=E.struct("ReferralKey",{pos0:E.Address}).parse(g[0].name.bcs);u.set(a[f].marginManagerId,b.pos0)}}),{finalResult:s.map(p=>{let f=p.parsedJson?.margin_manager_id;return{...p.parsedJson,referralKey:u.get(f)}}),referralMap:u}}catch(n){throw new Error(`Failed to get margin managers by account: ${n instanceof Error?n.message:String(n)}`)}}async getBaseBalance({account:t,marginManager:n,baseCoinType:r,quoteCoinType:s}){if(!t||!n||!r||!s)throw new Error("All parameters (account, marginManager, baseCoinType, quoteCoinType) are required");let i=new J;try{i.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::base_balance`,arguments:[i.object(n)],typeArguments:[r,s]});let o=await this.sdk.fullClient.sendSimulationTransaction(i,t);if(!o.commandResults||!o.commandResults[0]||!o.commandResults[0].returnValues||!o.commandResults[0].returnValues[0])throw new Error(`Transaction failed: ${o.effects?.status?.error||"Unknown error"}`);return E.U64.parse(new Uint8Array(o.commandResults[0].returnValues[0].bcs)).toString()}catch(o){throw new Error(`Failed to get base balance: ${o instanceof Error?o.message:String(o)}`)}}async getQuoteBalance({account:t,marginManager:n,baseCoinType:r,quoteCoinType:s}){if(!t||!n||!r||!s)throw new Error("All parameters (account, marginManager, baseCoinType, quoteCoinType) are required");let i=new J;try{i.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::quote_balance`,arguments:[i.object(n)],typeArguments:[r,s]});let o=await this.sdk.fullClient.sendSimulationTransaction(i,t);if(!o.commandResults||!o.commandResults[0]||!o.commandResults[0].returnValues||!o.commandResults[0].returnValues[0])throw new Error(`Transaction failed: ${o.effects?.status?.error||"Unknown error"}`);return E.U64.parse(new Uint8Array(o.commandResults[0].returnValues[0].bcs)).toString()}catch(o){throw new Error(`Failed to get quote balance: ${o instanceof Error?o.message:String(o)}`)}}async getDeepBalance({account:t,marginManager:n,baseCoinType:r,quoteCoinType:s}){if(!t||!n||!r||!s)throw new Error("All parameters (account, marginManager, baseCoinType, quoteCoinType) are required");let i=new J;try{i.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::deep_balance`,arguments:[i.object(n)],typeArguments:[r,s]});let o=await this.sdk.fullClient.sendSimulationTransaction(i,t);if(!o.commandResults||!o.commandResults[0]||!o.commandResults[0].returnValues||!o.commandResults[0].returnValues[0])throw new Error(`Transaction failed: ${o.status?.error||"Unknown error"}`);return E.U64.parse(new Uint8Array(o.commandResults[0].returnValues[0].bcs)).toString()}catch(o){throw new Error(`Failed to get base balance: ${o instanceof Error?o.message:String(o)}`)}}async getPoolMarginManagerBalance({account:t,marginManager:n,baseCoinType:r,quoteCoinType:s}){if(!t||!n||!r||!s)throw new Error("All parameters (account, marginManagers, baseCoinType, quoteCoinType) are required");let i=new J,o=r===this.deepCoin.coinType,a=s===this.deepCoin.coinType,c=o||a;try{i.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::base_balance`,arguments:[i.object(n)],typeArguments:[r,s]}),i.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::quote_balance`,arguments:[i.object(n)],typeArguments:[r,s]}),c||i.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::deep_balance`,arguments:[i.object(n)],typeArguments:[r,s]});let u=await this.sdk.fullClient.sendSimulationTransaction(i,t);if(!u.commandResults||!u.commandResults[0]||!u.commandResults[0].returnValues||!u.commandResults[0].returnValues[0])throw new Error(`Transaction failed: ${u.effects?.status?.error||"Unknown error"}`);let d=E.U64.parse(new Uint8Array(u.commandResults[0].returnValues[0].bcs)),p=E.U64.parse(new Uint8Array(u.commandResults[1].returnValues[0].bcs)),f=c?o?d:p:E.U64.parse(new Uint8Array(u.commandResults[2].returnValues[0].bcs));return{[r]:d.toString(),[s]:p.toString(),[this.deepCoin.coinType]:f.toString()}}catch(u){throw new Error(`Failed to getPoolMarginManagerBalance: ${u instanceof Error?u.message:String(u)}`)}}async getBorrowedShares({account:t,marginManager:n,baseCoinType:r,quoteCoinType:s}){if(!t||!n||!r||!s)throw new Error("All parameters (account, marginManager, baseCoinType, quoteCoinType) are required");let i=new J;try{i.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::borrowed_shares`,arguments:[i.object(n)],typeArguments:[r,s]});let o=await this.sdk.fullClient.sendSimulationTransaction(i,t);if(!o.commandResults||!o.commandResults[0]||!o.commandResults[0].returnValues||o.commandResults[0].returnValues.length<2)throw new Error(`Transaction failed: ${o.effects?.status?.error||"Unknown error"}`);let a=E.U64.parse(new Uint8Array(o.commandResults[0].returnValues[0].bcs)),c=E.U64.parse(new Uint8Array(o.commandResults[0].returnValues[1].bcs));return{baseBorrowedShare:a,quoteBorrowedShare:c}}catch(o){throw new Error(`Failed to get borrowed shares: ${o instanceof Error?o.message:String(o)}`)}}managerState=({account:t,marginManager:n,baseCoin:r,quoteCoin:s,pool:i,baseMarginPool:o,quoteMarginPool:a,decimals:c=6,basePriceFeedObjectId:u,quotePriceFeedObjectId:d})=>p=>{p.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_package_id}::margin_manager::manager_state`,arguments:[p.object(n),p.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),p.object(u),p.object(d),p.object(i),p.object(o),p.object(a),p.object.clock()],typeArguments:[r.coinType,s.coinType]})};async getManagerState(t,n=new J){let{account:r,marginManager:s,baseCoin:i,quoteCoin:o,pool:a,baseMarginPool:c,quoteMarginPool:u,decimals:d=6}=t;if(!r||!s||!a||!c||!u)throw new Error("All required parameters must be provided");if(!i?.feed||!o?.feed)throw new Error("Base and quote coin feeds are required");if(!i.scalar||!o.scalar)throw new Error("Base and quote coin scalars are required");try{let p=await this.pythPrice.updatePythPriceIDs([i.feed,o.feed],n),f=p.get(i.feed),g=p.get(o.feed);if(!f||!g)throw new Error("Failed to get price feed object IDs");n.add(this.managerState({...t,basePriceFeedObjectId:f,quotePriceFeedObjectId:g}));let b=await this.sdk.fullClient.sendSimulationTransaction(n,r);if(!b.commandResults||!b.commandResults[0]||!b.commandResults[0].returnValues||b.commandResults[0].returnValues.length<14)throw new Error(`Failed to get margin manager state: ${b.Transaction?.effects?.status?.error||"Unknown error"}`);let _=X(E.Address.parse(new Uint8Array(b.commandResults[0].returnValues[0].bcs))),I=X(E.Address.parse(new Uint8Array(b.commandResults[0].returnValues[1].bcs))),A=Number(E.U64.parse(new Uint8Array(b.commandResults[0].returnValues[2].bcs)))/1e9,M=this.#e(BigInt(E.U64.parse(new Uint8Array(b.commandResults[0].returnValues[3].bcs))),i.scalar,d),C=this.#e(BigInt(E.U64.parse(new Uint8Array(b.commandResults[0].returnValues[4].bcs))),o.scalar,d),B=this.#e(BigInt(E.U64.parse(new Uint8Array(b.commandResults[0].returnValues[5].bcs))),i.scalar,d),L=this.#e(BigInt(E.U64.parse(new Uint8Array(b.commandResults[0].returnValues[6].bcs))),o.scalar,d),j=E.U64.parse(new Uint8Array(b.commandResults[0].returnValues[7].bcs)),q=Number(E.u8().parse(new Uint8Array(b.commandResults[0].returnValues[8].bcs))),P=E.U64.parse(new Uint8Array(b.commandResults[0].returnValues[9].bcs)),D=Number(E.u8().parse(new Uint8Array(b.commandResults[0].returnValues[10].bcs))),Z=BigInt(E.U64.parse(new Uint8Array(b.commandResults[0].returnValues[11].bcs))),ce=BigInt(E.U64.parse(new Uint8Array(b.commandResults[0].returnValues[12].bcs))),te=BigInt(E.U64.parse(new Uint8Array(b.commandResults[0].returnValues[13].bcs)));return{managerId:_,deepbookPoolId:I,riskRatio:A,baseAsset:M,quoteAsset:C,baseDebt:B,quoteDebt:L,basePythPrice:j.toString(),basePythDecimals:q,quotePythPrice:P.toString(),quotePythDecimals:D,currentPrice:Z,lowestTriggerAbovePrice:ce,highestTriggerBelowPrice:te}}catch(p){throw new Error(`Failed to get manager state: ${p instanceof Error?p.message:String(p)}`)}}async detectPriceBoundary({account:t,marginManager:n,baseCoin:r,quoteCoin:s,pool:i,baseMarginPool:o,quoteMarginPool:a,price:c,is_bid:u,decimals:d=6}){if(!t||!n||!i||!o||!a)throw new Error("All required parameters must be provided");if(!r?.feed||!s?.feed)throw new Error("Base and quote coin feeds are required");if(!r.scalar||!s.scalar)throw new Error("Base and quote coin scalars are required");let p=typeof c=="bigint"?c:BigInt(c),f=await this.getManagerState({account:t,marginManager:n,baseCoin:r,quoteCoin:s,pool:i,baseMarginPool:o,quoteMarginPool:a,decimals:d},new J),g=f.highestTriggerBelowPrice,b=f.lowestTriggerAbovePrice,_=u?p<=b:p>=g;return{is_bid:u,price:p,lower_bound:g,upper_bound:b,is_within:_,is_boundary:u?p===b:p===g}}async calculateAssets({account:t,marginManager:n,pool:r,baseCoin:s,quoteCoin:i,tx:o=new J}){if(!t||!n||!r)throw new Error("Account, marginManager, and pool are required");if(!s?.coinType||!i?.coinType)throw new Error("Base and quote coin types are required");try{o.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_package_id}::margin_manager::calculate_assets`,arguments:[o.object(n),o.object(r)],typeArguments:[s.coinType,i.coinType]});let a=await this.sdk.fullClient.sendSimulationTransaction(o,t);if(!a.commandResults||!a.commandResults[0]||!a.commandResults[0].returnValues||a.commandResults[0].returnValues.length<2)throw new Error(`Transaction failed: ${a.effects?.status?.error||"Unknown error"}`);let c=a.commandResults[0].returnValues[0].bcs,u=a.commandResults[0].returnValues[1].bcs;if(!s.scalar||!i.scalar)throw new Error("Base and quote coin scalars are required");let d=E.U64.parse(new Uint8Array(c)),p=E.U64.parse(new Uint8Array(u));return{baseAsset:d.toString(),quoteAsset:p.toString(),tx:o}}catch(a){throw new Error(`Failed to calculate assets: ${a instanceof Error?a.message:String(a)}`)}}async getBorrowedAmount({account:t,marginManager:n,baseCoinType:r,quoteCoinType:s,baseMarginPool:i,quoteMarginPool:o}){if(!t||!n||!r||!s||!i||!o)throw new Error("All parameters are required");try{let{baseBorrowedShare:a,quoteBorrowedShare:c}=await this.getBorrowedShares({account:t,marginManager:n,baseCoinType:r,quoteCoinType:s}),u=!!R(a).gt(R(c)),d=u?i:o,p=u?a:c,f=new J;f.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_package_id}::margin_pool::borrow_shares_to_amount`,arguments:[f.object(d),f.pure.u64(BigInt(p)),f.object.clock()],typeArguments:[u?r:s]});let g=await this.sdk.fullClient.simulateTransaction({transaction:f,checksEnabled:!1,include:{commandResults:!0,json:!0}}),b=E.U64.parse(g?.commandResults?.[0]?.returnValues?.[0]?.bcs);return u?{baseBorrowedAmount:b.toString(),quoteBorrowedAmount:"0"}:{baseBorrowedAmount:"0",quoteBorrowedAmount:b.toString()}}catch(a){throw new Error(`Failed to get borrowed amount: ${a instanceof Error?a.message:String(a)}`)}}async deposit({marginManager:t,baseCoin:n,quoteCoin:r,amount:s,depositCoinType:i},o=new J){if(!t)throw new Error("Margin manager is required");if(!n?.coinType||!r?.coinType)throw new Error("Base and quote coin types are required");if(!s||BigInt(s)<=0n)throw new Error("Valid deposit amount is required");if(!n.feed||!r.feed)throw new Error("Base and quote coin feeds are required");try{let a=Gt.buildCoinWithBalance(BigInt(s),i,o),c=await this.pythPrice.updatePythPriceIDs([n.feed,r.feed],o),u=c.get(n.feed),d=c.get(r.feed);if(!u||!d)throw new Error("Failed to get price feed object IDs");return o.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::deposit`,arguments:[o.object(this._sdk.sdkOptions.margin_utils.global_config_id),o.object(this._sdk.sdkOptions.margin_utils.versioned_id),typeof t=="string"?o.object(t):t,o.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),o.object(u),o.object(d),a,o.object(he)],typeArguments:[n.coinType,r.coinType,i]}),o}catch(a){throw new Error(`Failed to deposit: ${a instanceof Error?a.message:String(a)}`)}}async withdraw({account:t,marginManager:n,baseMarginPool:r,quoteMarginPool:s,baseCoin:i,quoteCoin:o,pool:a,amount:c,withdrawCoinType:u},d=new J){if(!t||!n||!r||!s||!a)throw new Error("All required parameters must be provided");if(!i?.coinType||!o?.coinType)throw new Error("Base and quote coin types are required");if(!c||BigInt(c)<=0n)throw new Error("Valid withdraw amount is required");if(!i.feed||!o.feed)throw new Error("Base and quote coin feeds are required");try{let p=await this.pythPrice.updatePythPriceIDs([i.feed,o.feed],d),f=p.get(i.feed),g=p.get(o.feed);if(!f||!g)throw new Error("Failed to get price feed object IDs");let b=d.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::withdraw`,arguments:[d.object(this._sdk.sdkOptions.margin_utils.global_config_id),d.object(this._sdk.sdkOptions.margin_utils.versioned_id),d.object(n),d.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),d.object(r),d.object(s),d.object(f),d.object(g),d.object(a),d.pure.u64(BigInt(c)),d.object(he)],typeArguments:[i.coinType,o.coinType,u]});if(Gt.isSuiCoin(u))d.transferObjects([b],t);else{let _=await this._sdk.fullClient.getOwnerCoinAssets(t,u),I=Gt.buildCoinForAmount(d,_,BigInt(0),u,!1);I.target_coin?(d.mergeCoins(I.target_coin,[b]),I.is_mint_zero_coin&&d.transferObjects([I.target_coin],t)):d.transferObjects([b],t)}return d}catch(p){throw new Error(`Failed to withdraw: ${p instanceof Error?p.message:String(p)}`)}}async borrowBase({marginManager:t,baseMarginPool:n,baseCoin:r,quoteCoin:s,pool:i,amount:o},a=new J){if(!t||!n||!i)throw new Error("Margin manager, base margin pool, and pool are required");if(!r?.coinType||!s?.coinType)throw new Error("Base and quote coin types are required");if(!o||BigInt(o)<=0n)throw new Error("Valid borrow amount is required");if(!r.feed||!s.feed)throw new Error("Base and quote coin feeds are required");try{let c=await this.pythPrice.updatePythPriceIDs([r.feed,s.feed],a),u=c.get(r.feed),d=c.get(s.feed);if(!u||!d)throw new Error("Failed to get price feed object IDs");return a.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::borrow_base`,arguments:[a.object(this.sdk.sdkOptions.margin_utils.global_config_id),a.object(this.sdk.sdkOptions.margin_utils.versioned_id),a.object(t),a.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),a.object(n),a.object(u),a.object(d),a.object(i),a.pure.u64(BigInt(o)),a.object(he)],typeArguments:[r.coinType,s.coinType]}),a}catch(c){throw new Error(`Failed to borrow base: ${c instanceof Error?c.message:String(c)}`)}}async borrowQuote({marginManager:t,quoteMarginPool:n,baseCoin:r,quoteCoin:s,pool:i,amount:o},a=new J){if(!t||!n||!i)throw new Error("Margin manager, quote margin pool, and pool are required");if(!r?.coinType||!s?.coinType)throw new Error("Base and quote coin types are required");if(!o||BigInt(o)<=0n)throw new Error("Valid borrow amount is required");if(!r.feed||!s.feed)throw new Error("Base and quote coin feeds are required");try{let c=await this.pythPrice.updatePythPriceIDs([r.feed,s.feed],a),u=c.get(r.feed),d=c.get(s.feed);if(!u||!d)throw new Error("Failed to get price feed object IDs");return a.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::borrow_quote`,arguments:[a.object(this.sdk.sdkOptions.margin_utils.global_config_id),a.object(this.sdk.sdkOptions.margin_utils.versioned_id),typeof t=="string"?a.object(t):t,a.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),a.object(n),a.object(u),a.object(d),a.object(i),a.pure.u64(BigInt(o)),a.object(he)],typeArguments:[r.coinType,s.coinType]}),a}catch(c){throw new Error(`Failed to borrow quote: ${c instanceof Error?c.message:String(c)}`)}}async repayBase({marginManager:t,baseMarginPool:n,baseCoin:r,quoteCoin:s,amount:i},o=new J){if(!t||!n||!r||!s)throw new Error("All required parameters (marginManager, baseMarginPool, baseCoin, quoteCoin) are required");if(i&&BigInt(i)<=0n)throw new Error("Repay amount must be greater than zero if provided");let a={marginManager:t,baseCoin:r,quoteCoin:s,amount:i,depositCoinType:r.coinType};await this.deposit(a,o);try{return o.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::repay_base`,arguments:[o.object(this._sdk.sdkOptions.margin_utils.global_config_id),o.object(this._sdk.sdkOptions.margin_utils.versioned_id),o.object(t),o.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),o.object(n),o.object.option({type:"u64",value:i?o.pure.u64(i):null}),o.object(he)],typeArguments:[r.coinType,s.coinType]}),o}catch(c){throw new Error(`Failed to repay base: ${c instanceof Error?c.message:String(c)}`)}}async repayQuote({marginManager:t,quoteMarginPool:n,baseCoin:r,quoteCoin:s,amount:i},o=new J){if(!t||!n||!r||!s)throw new Error("All required parameters (marginManager, quoteMarginPool, baseCoin, quoteCoin) are required");if(i&&BigInt(i)<=0n)throw new Error("Repay amount must be greater than zero if provided");let a={marginManager:t,baseCoin:r,quoteCoin:s,amount:i,depositCoinType:s.coinType};await this.deposit(a,o);try{return o.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::repay_quote`,arguments:[o.object(this._sdk.sdkOptions.margin_utils.global_config_id),o.object(this._sdk.sdkOptions.margin_utils.versioned_id),o.object(t),o.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),o.object(n),o.object.option({type:"u64",value:i?o.pure.u64(i):null}),o.object(he)],typeArguments:[r.coinType,s.coinType]}),o}catch(c){throw new Error(`Failed to repay quote: ${c instanceof Error?c.message:String(c)}`)}}async repay({marginManager:t,baseMarginPool:n,quoteMarginPool:r,baseCoin:s,quoteCoin:i,isBase:o,amount:a},c=new J){try{let u=this.sdk.senderAddress,d,p=a;a||(d=await this.getBorrowedAmount({account:u,marginManager:t,baseCoinType:s?.coinType,quoteCoinType:i?.coinType,baseMarginPool:n,quoteMarginPool:r}),p=o?d.baseBorrowedAmount:d.quoteBorrowedAmount);let f,g={marginManager:t,baseCoin:s,quoteCoin:i,depositCoinType:o?s.coinType:i.coinType};if(o){let b=await this.getBaseBalance({account:u,marginManager:t,baseCoinType:s?.coinType,quoteCoinType:i?.coinType});f=R(p).sub(b).toString()}else{let b=await this.getQuoteBalance({account:u,marginManager:t,baseCoinType:s?.coinType,quoteCoinType:i?.coinType});f=R(p).sub(b).toString()}R(f).gt(0)&&await this.deposit({...g,amount:f},c),c.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::${o?"repay_base":"repay_quote"}`,arguments:[c.object(this._sdk.sdkOptions.margin_utils.global_config_id),c.object(this._sdk.sdkOptions.margin_utils.versioned_id),c.object(t),c.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),c.object(o?n:r),c.object.option({type:"u64",value:a?c.pure.u64(a):null}),c.object(he)],typeArguments:[s.coinType,i.coinType]})}catch(u){console.log("\u{1F680} ~ MarginUtilsModule ~ repay ~ error:",u)}return c}removeReferralKey=(t,n,r,s,i=new J)=>{let o=i.moveCall({target:`${this._sdk.sdkOptions.deepbook.published_at}::pool::id`,typeArguments:[r,s],arguments:[i.object(n)]});return i.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::unset_margin_manager_referral`,typeArguments:[r,s],arguments:[typeof t=="string"?i.object(t):t,o]})};async placeMarginMarketOrder({marginManager:t,poolInfo:n,selfMatchingOption:r,quantity:s,amountLimit:i,isBid:o,payWithDeep:a,exactBase:c,referralKey:u},d=new J){if(!t||!n)throw new Error("Margin manager and pool info are required");if(!n.id||!n.baseCoin?.coinType||!n.quoteCoin?.coinType)throw new Error("Pool info must contain valid id, baseCoin, and quoteCoin");if(!s||BigInt(Ea(s,n.baseCoin.decimals||0))<=0n)throw new Error("Valid order quantity is required");if(!i||BigInt(Ea(i,n.baseCoin.decimals||0))<=0n)throw new Error("Valid order amount limit is required");let{id:p,baseCoin:f,quoteCoin:g}=n;if(f.decimals===void 0||g.decimals===void 0)throw new Error("Base and quote coin decimals are required");u&&this.removeReferralKey(t,p,f.coinType,g.coinType,d);try{return d.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::place_margin_market_order`,arguments:[d.object(this.sdk.sdkOptions.margin_utils.global_config_id),d.object(this.sdk.sdkOptions.margin_utils.versioned_id),typeof t=="string"?d.object(t):t,d.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),d.object(p),d.pure.u8(r),d.pure.u64(s),d.pure.bool(o),d.pure.bool(a),d.pure.bool(c===void 0?!o:c),d.pure.u64(i),d.object(he)],typeArguments:[f.coinType,g.coinType]}),d}catch(b){throw new Error(`Failed to place market order: ${b instanceof Error?b.message:String(b)}`)}}async placeMarginLimitOrder({marginManager:t,poolInfo:n,orderType:r,selfMatchingOption:s,priceInput:i,quantity:o,isBid:a,payWithDeep:c,expirationTimestamp:u=Date.now()+31536e8,referralKey:d},p=new J){if(!t||!n)throw new Error("Margin manager and pool info are required");if(!n.id||!n.baseCoin?.coinType||!n.quoteCoin?.coinType)throw new Error("Pool info must contain valid id, baseCoin, and quoteCoin");if(!i||!o)throw new Error("Price and quantity are required");let{id:f,baseCoin:g,quoteCoin:b}=n;if(g.decimals===void 0||b.decimals===void 0)throw new Error("Base and quote coin decimals are required");try{let _=BigInt(R(i).mul(10**(b.decimals-g.decimals+9)).toString()),I=BigInt(Ea(o,g.decimals));if(_<=0n||I<=0n)throw new Error("Price and quantity must be greater than zero");return d&&this.removeReferralKey(t,f,g.coinType,b.coinType,p),p.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::place_margin_limit_order`,arguments:[p.object(this.sdk.sdkOptions.margin_utils.global_config_id),p.object(this.sdk.sdkOptions.margin_utils.versioned_id),p.object(t),p.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),p.object(f),p.pure.u8(r),p.pure.u8(s),p.pure.u64(_),p.pure.u64(I),p.pure.bool(a),p.pure.bool(c),p.pure.u64(u),p.object(he)],typeArguments:[g.coinType,b.coinType]}),p}catch(_){throw new Error(`Failed to place limit order: ${_ instanceof Error?_.message:String(_)}`)}}modifyMarginOrder({marginManager:t,poolInfo:n,orderId:r,newQuantity:s},i=new J){if(!t||!n||!r||!s)throw new Error("All parameters (marginManager, poolInfo, orderId, newQuantity) are required");if(!n.id||!n.baseCoin?.coinType||!n.quoteCoin?.coinType)throw new Error("Pool info must contain valid id, baseCoin, and quoteCoin");if(n.baseCoin.decimals===void 0)throw new Error("Base coin decimals are required");try{let o=BigInt(Ea(s,n.baseCoin.decimals));if(o<=0n)throw new Error("New quantity must be greater than zero");return i.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::modify_margin_order`,arguments:[i.object(this.sdk.sdkOptions.margin_utils.global_config_id),i.object(this.sdk.sdkOptions.margin_utils.versioned_id),i.object(t),i.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),i.object(n.id),i.pure.u128(r),i.pure.u64(o),i.object(he)],typeArguments:[n.baseCoin.coinType,n.quoteCoin.coinType]}),i}catch(o){throw new Error(`Failed to modify order: ${o instanceof Error?o.message:String(o)}`)}}cancelMarginOrder({marginManager:t,poolInfo:n,orderId:r},s=new J){if(!t||!n||!r)throw new Error("All parameters (marginManager, poolInfo, orderId) are required");if(!n.id||!n.baseCoin?.coinType||!n.quoteCoin?.coinType)throw new Error("Pool info must contain valid id, baseCoin, and quoteCoin");try{return s.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::cancel_margin_order`,arguments:[s.object(this.sdk.sdkOptions.margin_utils.global_config_id),s.object(this.sdk.sdkOptions.margin_utils.versioned_id),s.object(t),s.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),s.object(n.id),s.pure.u128(r),s.object(he)],typeArguments:[n.baseCoin.coinType,n.quoteCoin.coinType]}),s}catch(i){throw new Error(`Failed to cancel order: ${i instanceof Error?i.message:String(i)}`)}}cancelAllMarginOrders({marginManager:t,poolInfo:n},r=new J){if(!t||!n)throw new Error("Margin manager and pool info are required");if(!n.id||!n.baseCoin?.coinType||!n.quoteCoin?.coinType)throw new Error("Pool info must contain valid id, baseCoin, and quoteCoin");try{return r.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::cancel_all_margin_orders`,arguments:[r.object(this.sdk.sdkOptions.margin_utils.global_config_id),r.object(this.sdk.sdkOptions.margin_utils.versioned_id),r.object(t),r.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),r.object(n.id),r.object(he)],typeArguments:[n.baseCoin.coinType,n.quoteCoin.coinType]}),r}catch(s){throw new Error(`Failed to cancel all orders: ${s instanceof Error?s.message:String(s)}`)}}placeReduceOnlyLimitOrder({marginManager:t,poolInfo:n,marginPoolId:r,orderType:s,selfMatchingOption:i,priceInput:o,quantity:a,isBid:c,payWithDeep:u,expirationTimestamp:d},p=new J){if(!t||!n)throw new Error("Margin manager and pool info are required");if(!n.id||!n.baseCoin?.coinType||!n.quoteCoin?.coinType)throw new Error("Pool info must contain valid id, baseCoin, and quoteCoin");if(!r)throw new Error("Margin pool id is required");try{return p.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::place_reduce_only_limit_order`,arguments:[p.object(this.sdk.sdkOptions.margin_utils.global_config_id),p.object(this.sdk.sdkOptions.margin_utils.versioned_id),p.object(t),p.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),p.object(n.id),p.object(r),p.pure.u8(s),p.pure.u8(i),p.pure.u64(o),p.pure.u64(a),p.pure.bool(c),p.pure.bool(u),p.pure.u64(d),p.object(he)],typeArguments:[n.baseCoin.coinType,n.quoteCoin.coinType,c?n.quoteCoin.coinType:n.baseCoin.coinType]}),p}catch(f){throw new Error(`Failed to place reduce only limit order: ${f instanceof Error?f.message:String(f)}`)}}placeReduceOnlyMarketOrder({marginManager:t,poolInfo:n,marginPoolId:r,selfMatchingOption:s,quantity:i,isBid:o,payWithDeep:a},c=new J){if(!t||!n)throw new Error("Margin manager and pool info are required");if(!n.id||!n.baseCoin?.coinType||!n.quoteCoin?.coinType)throw new Error("Pool info must contain valid id, baseCoin, and quoteCoin");if(!r)throw new Error("Margin pool id is required");try{return c.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::place_reduce_only_market_order`,arguments:[c.object(this.sdk.sdkOptions.margin_utils.global_config_id),c.object(this.sdk.sdkOptions.margin_utils.versioned_id),c.object(t),c.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),c.object(n.id),c.object(r),c.pure.u8(s),c.pure.u64(i),c.pure.bool(o),c.pure.bool(a),c.object(he)],typeArguments:[n.baseCoin.coinType,n.quoteCoin.coinType,o?n.quoteCoin.coinType:n.baseCoin.coinType]}),c}catch(u){throw new Error(`Failed to place reduce only market order: ${u instanceof Error?u.message:String(u)}`)}}async getOpenOrder(t,n,r,s,i=!1,o=new J){let a;if(s)a=s;else{o.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::account_open_orders`,arguments:[o.object(t.address),i?r:o.object(r)],typeArguments:[t.baseCoin.coinType,t.quoteCoin.coinType]});let f=(await this._sdk.fullClient.simulateTransaction({transaction:o,include:{commandResults:!0,json:!0},checksEnabled:!1})).commandResults[i?1:0].returnValues[0].bcs;a=E.struct("VecSet",{constants:E.vector(E.U128)}).parse(new Uint8Array(f)).constants}if(a.length===0)return[];let c=a.map(p=>({pool:{pool_id:t.address,baseCoinType:t.baseCoin.coinType,quoteCoinType:t.quoteCoin.coinType},orderId:p})),u=await this.sdk.DeepbookUtils.getOrderInfoList(c,n)||[],d=[];return u.forEach(p=>{let f=this.sdk.DeepbookUtils.decodeOrderId(BigInt(p.order_id));d.push({...p,price:f.price,isBid:f.isBid,pool:t})}),d}async getAccountOpenOrders({poolInfo:t,marginManager:n}){try{let r=new J,s=r.moveCall({target:`${this.sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::balance_manager`,arguments:[r.object(n)],typeArguments:[t.baseCoin.coinType,t.quoteCoin.coinType]});return await this.getOpenOrder(t,this.sdk.senderAddress,s,void 0,!0,r)}catch(r){throw new Error(`Failed to get account open orders: ${r instanceof Error?r.message:String(r)}`)}}async getAccountAllMarketsOpenOrders(t,n){try{if(!t||!n||n.length===0)throw new Error("Account or pools are required");let r=[];for(let s=0;s<n.length;s++){let i=new J,o=n[s];if(o.margin_manager_id){let a=await i.moveCall({target:`${this.sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::balance_manager`,arguments:[i.object(o.margin_manager_id)],typeArguments:[o.baseCoin.coinType,o.quoteCoin.coinType]}),c=await this.getOpenOrder(o,this.sdk.senderAddress,a,void 0,!0,i);r.push(...c)}}return r}catch(r){throw new Error(`Failed to get account all markets open orders: ${r instanceof Error?r.message:String(r)}`)}}mintSupplierCap(t=new J,n){let r=t.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::mint_supplier_cap`,arguments:[t.object(this._sdk.sdkOptions.margin_utils.versioned_id),t.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),t.object(he)]});return n&&t.transferObjects([r],this.sdk.senderAddress),{tx:t,supplierCap:r}}async querySupplierCap(){try{return((await this.sdk.fullClient.queryEventsByPage({MoveEventType:`${this._sdk.sdkOptions.margin_utils.package_id}::margin_utils::SupplierCapCreatedEvent`}))?.data||[]).filter(s=>s.parsedJson?.owner===this.sdk.senderAddress)[0].parsedJson.supplier_cap_id}catch(t){throw new Error(`Failed to get account supplyCap: ${t instanceof Error?t.message:String(t)}`)}}mintSupplierCapAndSupply({marginPool:t,supplyCoinType:n,amount:r}){let s=new J,{supplierCap:i}=this.mintSupplierCap(s,!1);return this.supply({marginPool:t,supplierCap:i,supplyCoinType:n,amount:r,tx:s}),s.transferObjects([i],this.sdk.senderAddress),s}supply({marginPool:t,supplierCap:n,supplyCoinType:r,amount:s,tx:i}){let o=i??new J;if(!n)throw new Error("Either supplierCap must be provided");let a=Gt.buildCoinWithBalance(BigInt(s),r,o);return o.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::supply`,typeArguments:[r],arguments:[o.object(this._sdk.sdkOptions.margin_utils.global_config_id),o.object(this._sdk.sdkOptions.margin_utils.versioned_id),o.object(t),o.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),o.object(n),a,o.pure.option("address","0x0"),o.object(he)]}),o}supplierWithdraw({marginPool:t,withdrawCoinType:n,amount:r,supplierCapId:s,hasSwap:i,withdrawAll:o,tx:a=new J}){let c=a.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::supplier_withdraw`,typeArguments:[n],arguments:[a.object(this._sdk.sdkOptions.margin_utils.global_config_id),a.object(this._sdk.sdkOptions.margin_utils.versioned_id),a.object(t),a.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),a.object(s),a.object.option({type:"u64",value:o?null:a.pure.u64(r)}),a.object(he)]});return i?c:(a.transferObjects([c],this.sdk.senderAddress),a)}withdrawReferralFees({marginPool:t}){let n=new J,r=n.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::withdraw_referral_fees`,arguments:[n.object(this._sdk.sdkOptions.margin_utils.versioned_id),n.object(t),n.object(this._sdk.sdkOptions.margin_utils.registry_id),n.object.option({type:"0x1",value:null}),n.object(he)],typeArguments:[this.deepCoin.coinType]});return n.transferObjects([r],this.sdk.senderAddress),n}async getUserSupplyAmount({marginPool:t,supplyCoin:n,supplierCapId:r}){let s=new J;s.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::get_user_supply_amount`,typeArguments:[n.coinType],arguments:[s.object(t),s.object(r),s.object(he)]});let i=await this.sdk.fullClient.sendSimulationTransaction(s,this.sdk.senderAddress);if(!i.commandResults||!i.commandResults[0]||!i.commandResults[0].returnValues||!i.commandResults[0].returnValues[0])throw new Error(`Transaction failed: ${i.effects?.status?.error||"Unknown error"}`);return this.#e(BigInt(E.U64.parse(new Uint8Array(i.commandResults[0].returnValues[0].bcs))),n.scalar,n.decimals)}async getDeepBookMarginRegistry(){let n=(await this.sdk.fullClient.getObject({objectId:this._sdk.sdkOptions.margin_utils.margin_registry_id,include:{json:!0}})).data.content.fields.inner.fields.id.id,r=await this.sdk.fullClient.getDynamicField({parentId:n,name:{type:"u64",bcs:E.u64().serialize(1).toBytes()}}),s=r.data.content.fields.value.fields.pool_registry.fields.id.id,i=r.data.content.fields.value.fields.margin_pools.fields.id.id;return{pool_registry_table_id:s,margin_pool_table_id:i}}async getDeepBookPool(){let{data:t}=await this.sdk.fullClient.listDynamicFields({parentId:this.sdk.sdkOptions.margin_utils.pool_registry_table_id}),n=t.map(i=>i.objectId),r=await this.sdk.fullClient.batchGetObjects(n,{json:!0}),s=[];for(let i=0;i<r.length;i++){let o=r[i].json;s.push($b(o))}return s}async getDeepBookMarginPool(){let{data:t}=await this.sdk.fullClient.getDynamicFieldsByPage(this.sdk.sdkOptions.margin_utils.margin_pool_table_id),n=t.map(c=>c.fieldId),r=await this.sdk.fullClient.batchGetObjects(n,{json:!0}),s=[],i=[];for(let c=0;c<r.length;c++){let u=r[c].json;i.push(u.value),s.push({deposit_coin_type:u.name.name,id:u.id})}let o=await this.sdk.fullClient.batchGetObjects(i,{json:!0}),a=[];for(let c=0;c<o.length;c++){let u=o[c].json;a.push(qb(u,s[c]))}return a}async getBaseQuantityIn(t,n,r,s=.01){let i=new J;i.moveCall({target:`${this.sdk.sdkOptions.deepbook.published_at}::pool::get_base_quantity_in`,typeArguments:[t.baseCoin.coinType,t.quoteCoin.coinType],arguments:[i.object(t.address),i.pure.u64(n),i.pure.bool(r),i.object(he)]});let o=await this.sdk.fullClient.sendSimulationTransaction(i,this.sdk.senderAddress);if(!o.commandResults||!o.commandResults[0]||!o.commandResults[0].returnValues||!o.commandResults[0].returnValues[0])throw new Error(`Transaction failed: ${o.effects?.status?.error||"Unknown error"}`);let a=E.U64.parse(new Uint8Array(o.commandResults[0].returnValues[0].bcs)),c=E.U64.parse(new Uint8Array(o.commandResults[0].returnValues[1].bcs)),u=E.U64.parse(new Uint8Array(o.commandResults[0].returnValues[2].bcs));return{quantityOut:c.toString(),quantityInLeft:R(a.toString()).mul(R(1+s)).ceil().toString(),deep_fee_amount:u.toString()}}async getQuoteQuantityIn(t,n,r,s=.01){let i=new J;i.moveCall({target:`${this.sdk.sdkOptions.deepbook.published_at}::pool::get_quote_quantity_in`,typeArguments:[t.baseCoin.coinType,t.quoteCoin.coinType],arguments:[i.object(t.address),i.pure.u64(n),i.pure.bool(r),i.object(he)]});let o=await this.sdk.fullClient.sendSimulationTransaction(i,this.sdk.senderAddress);if(!o.commandResults||!o.commandResults[0]||!o.commandResults[0].returnValues||!o.commandResults[0].returnValues[0])throw new Error(`Transaction failed: ${o.effects?.status?.error||"Unknown error"}`);let a=E.U64.parse(new Uint8Array(o.commandResults[0].returnValues[0].bcs)),c=E.U64.parse(new Uint8Array(o.commandResults[0].returnValues[1].bcs)),u=E.U64.parse(new Uint8Array(o.commandResults[0].returnValues[2].bcs));return{quantityOut:a.toString(),quantityInLeft:R(c.toString()).mul(R(1+s)).ceil().toString(),deep_fee_amount:u.toString()}}async getBaseQuantityOutInput(t,n,r){let s=new J;s.moveCall({target:`${this.sdk.sdkOptions.deepbook.published_at}${r?"::pool::get_base_quantity_out":"::pool::get_base_quantity_out_input_fee"}`,typeArguments:[t.baseCoin.coinType,t.quoteCoin.coinType],arguments:[s.object(t.address),s.pure.u64(n),s.object(he)]});let i=await this.sdk.fullClient.sendSimulationTransaction(s,this.sdk.senderAddress);if(!i.commandResults||!i.commandResults[0]||!i.commandResults[0].returnValues||!i.commandResults[0].returnValues[0])throw new Error(`Transaction failed: ${i.effects?.status?.error||"Unknown error"}`);let o=E.U64.parse(new Uint8Array(i.commandResults[0].returnValues[0].bcs)),a=E.U64.parse(new Uint8Array(i.commandResults[0].returnValues[1].bcs)),c=E.U64.parse(new Uint8Array(i.commandResults[0].returnValues[2].bcs));return{base_amount:o.toString(),quote_amount:a.toString(),deep_fee_amount:c.toString()}}async getQuoteQuantityOutInput(t,n,r){let s=new J;s.moveCall({target:`${this.sdk.sdkOptions.deepbook.published_at}::pool::${r?"get_quote_quantity_out":"get_quote_quantity_out_input_fee"}`,typeArguments:[t.baseCoin.coinType,t.quoteCoin.coinType],arguments:[s.object(t.address),s.pure.u64(n),s.object(he)]});let i=await this.sdk.fullClient.sendSimulationTransaction(s,this.sdk.senderAddress);if(!i.commandResults||!i.commandResults[0]||!i.commandResults[0].returnValues||!i.commandResults[0].returnValues[0])throw new Error(`Transaction failed: ${i.effects?.status?.error||"Unknown error"}`);let o=E.U64.parse(new Uint8Array(i.commandResults[0].returnValues[0].bcs)),a=E.U64.parse(new Uint8Array(i.commandResults[0].returnValues[1].bcs)),c=E.U64.parse(new Uint8Array(i.commandResults[0].returnValues[2].bcs));return{base_amount:o.toString(),quote_amount:a.toString(),deep_fee_amount:c.toString()}}async getAccount(t,n,r=new J){let s=r.moveCall({target:`${this.sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::balance_manager`,arguments:[r.object(t)],typeArguments:[n.baseCoin.coinType,n.quoteCoin.coinType]}),i=[n];for(let d=0;d<i.length;d++){let p=i[d];r.moveCall({target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::order_trader::get_account_id`,arguments:[r.object(p.address),typeof s=="string"?r.object(s):s],typeArguments:[p.baseCoin.coinType,p.quoteCoin.coinType]})}let o=await this._sdk.fullClient.simulateTransaction({transaction:r,checksEnabled:!1,include:{events:!0,json:!0}}),a=o.Transaction??o.FailedTransaction;if(!a?.events?.length)return null;let c,u=[];return a.events.forEach((d,p)=>{c=d?.json;let f=c.account.open_orders.contents,g=c.account.owed_balances,b=c.account.settled_balances,_=c.account.unclaimed_rebates,I=c.account.taker_volume;u.push({balance_manager_id:s,open_orders:f,owed_balances:g,settled_balances:b,unclaimed_rebates:_,taker_volume:I,poolInfo:i[p]})}),u}async withdrawSettledAmounts({poolInfo:t,marginManager:n},r=new J){return r.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::pool_proxy::withdraw_settled_amounts`,arguments:[r.object(this.sdk.sdkOptions.margin_utils.margin_registry_id),r.object(n),r.object(t.address)],typeArguments:[t.baseCoin.coinType,t.quoteCoin.coinType]}),r}#e(t,n,r){if(n<=0||r<0)throw new Error("Scalar must be positive and decimals must be non-negative");let s=BigInt(n),i=t/s,o=t%s;if(o===0n)return i.toString();let a=n.toString().length-1,d=o.toString().padStart(a,"0").slice(0,r).replace(/0+$/,"");return d?`${i}.${d}`:i.toString()}async getMarginPoolStateForInterest(t){if(!t)throw new Error("marginPoolId is required");let n=await this.sdk.fullClient.getObject({objectId:t,include:{json:!0}});if(!n?.object?.json)throw new Error(`Failed to fetch margin pool: ${t}`);let r=n.object.json,s=r.state,i=r.config,o=i.interest_config,a=i.margin_pool_config;return{poolState:{total_supply:BigInt(s.total_supply),total_borrow:BigInt(s.total_borrow),supply_shares:BigInt(s.supply_shares),borrow_shares:BigInt(s.borrow_shares),last_update_timestamp:BigInt(s.last_update_timestamp)},interestConfig:{base_rate:BigInt(o.base_rate),base_slope:BigInt(o.base_slope),optimal_utilization:BigInt(o.optimal_utilization),excess_slope:BigInt(o.excess_slope)},marginPoolConfig:{protocol_spread:BigInt(a.protocol_spread),max_utilization_rate:BigInt(a.max_utilization_rate),min_borrow:BigInt(a.min_borrow),supply_cap:BigInt(a.supply_cap)}}}async getChainTimestamp(){let{response:t}=await this.sdk.fullClient.ledgerService.getServiceInfo({}),n=t.timestamp;if(!n)throw new Error("No timestamp in service info");return BigInt(n.seconds)*1000n+BigInt(n.nanos)/1000000n}async batchGetBorrowedShares({account:t,marginManagerList:n}){let r=new J;return n.forEach(i=>{r.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::borrowed_shares`,arguments:[r.object(i.marginManagerId)],typeArguments:[i.baseCoinType,i.quoteCoinType]})}),(await this.sdk.fullClient.sendSimulationTransaction(r,t)).commandResults.map((i,o)=>{let a=E.U64.parse(new Uint8Array(i.returnValues[0].bcs)),c=E.U64.parse(new Uint8Array(i.returnValues[1].bcs));return{marginManagerId:n[o].marginManagerId,baseBorrowedShare:a,quoteBorrowedShare:c}})}async betchGetOpenOrders({account:t,marginManagerList:n},r=new J,s=!1){n.forEach(g=>{let b=r.moveCall({target:`${this.sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::balance_manager`,arguments:[r.object(g.marginManagerId)],typeArguments:[g.baseCoinType,g.quoteCoinType]});r.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::account_open_orders`,arguments:[r.object(g.poolId),r.object(b)],typeArguments:[g.baseCoinType,g.quoteCoinType]}),r.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::get_account_id_with_margin_manager`,arguments:[r.object(g.marginManagerId),r.object(g.poolId)],typeArguments:[g.baseCoinType,g.quoteCoinType]}),r.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::locked_balance_with_margin_manager`,arguments:[r.object(g.marginManagerId),r.object(g.poolId)],typeArguments:[g.baseCoinType,g.quoteCoinType]})});let i=await this.sdk.fullClient.simulateTransaction({transaction:r,checksEnabled:!1,include:{events:!0,commandResults:!0,json:!0}}),o=i.Transaction?.events.map((g,b)=>({marginManagerId:n[b].marginManagerId,...g?.json?.account?.settled_balances||{}})),a=i.commandResults.filter((g,b)=>(b-1)%4===0),c=E.struct("VecSet",{constants:E.vector(E.U128)}),u=[];a.forEach((g,b)=>{let _=c.parse(g.returnValues[0].bcs).constants;_.length>0&&_.forEach(I=>{u.push({pool:{pool_id:n[b].poolId,baseCoinType:n[b].baseCoinType,quoteCoinType:n[b].quoteCoinType},marginManagerId:n[b].marginManagerId,orderId:I})})});let d=i.commandResults.filter((g,b)=>(b-3)%4===0),p=[];d.forEach((g,b)=>{p.push({marginManagerId:n[b].marginManagerId,base:E.U64.parse(g.returnValues[0].bcs),quote:E.U64.parse(g.returnValues[1].bcs),deep:E.U64.parse(g.returnValues[2].bcs)})});let f=[];return u.forEach((g,b)=>{let _=this.sdk.DeepbookUtils.decodeOrderId(BigInt(g.orderId));f.push({...g,price:_.price.toString(),isBid:_.isBid})}),{openOrders:f,settledBalances:o,lockedBalances:p}}async getSingleMarginManagerOpenOrders({account:t,marginManagerId:n,poolId:r,baseCoinType:s,quoteCoinType:i,baseMarginPool:o,quoteMarginPool:a}){let c=new J,u=c.moveCall({target:`${this.sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::balance_manager`,arguments:[c.object(n)],typeArguments:[s,i]});c.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::account_open_orders`,arguments:[c.object(r),u],typeArguments:[s,i]});let d=E.struct("VecSet",{constants:E.vector(E.U128)}),f=(await this.sdk.fullClient.simulateTransaction({transaction:c,checksEnabled:!1,include:{commandResults:!0,json:!0}})).commandResults.find(C=>C?.returnValues?.[0]?.[1]==="0x2::vec_set::VecSet<u128>"),g=d.parse(new Uint8Array(f.returnValues[0].bcs)).constants,b=[];g.forEach(C=>{b.push({pool:{pool_id:r,baseCoinType:s,quoteCoinType:i},marginManagerId:n,orderId:C})});let _=b?.length>0?await this.sdk.DeepbookUtils.getOrderInfoList(b,t)||[]:[],I=[];b.forEach((C,B)=>{let L=this.sdk.DeepbookUtils.decodeOrderId(BigInt(C.orderId)),j=_.find(q=>q.order_id===C.orderId)||{};I.push({...C,...j,price:L.price.toString(),isBid:L.isBid})});let A={marginManagerId:n,base:"0",quote:"0",deep:"0"};if(_?.length>0){let C=new J,B=C.moveCall({target:`${this.sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::balance_manager`,arguments:[C.object(n)],typeArguments:[s,i]});C.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::locked_balance`,arguments:[C.object(r),B],typeArguments:[s,i]});let j=(await this.sdk.fullClient.simulateTransaction({transaction:C,checksEnabled:!1,include:{commandResults:!0,json:!0}})).commandResults.find(q=>q?.returnValues?.length===3);A={...A,base:E.U64.parse(new Uint8Array(j.returnValues[0].bcs)),quote:E.U64.parse(new Uint8Array(j.returnValues[1].bcs)),deep:E.U64.parse(new Uint8Array(j.returnValues[2].bcs))}}let M={base:"0",quote:"0",deep:"0"};try{let C=new J,B=C.moveCall({target:`${this.sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::balance_manager`,arguments:[C.object(n)],typeArguments:[s,i]});C.moveCall({target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::order_trader::get_account_id`,arguments:[C.object(r),B],typeArguments:[s,i]});let L=await this.sdk.fullClient.simulateTransaction({transaction:C,checksEnabled:!1,include:{events:!0,json:!0}});M={marginManagerId:n,...M,...L?.Transaction?.events?.json?.account?.settled_balances||{}}}catch(C){console.log("\u{1F680} ~ MarginUtilsModule ~ getSingleMarginManagerPosRelevantData ~ error:",C)}return{openOrders:I,settledBalances:[M],lockedBalances:[A]}}async getAllPosRelevantData({account:t,marginManagerList:n}){try{let{openOrders:r,settledBalances:s,lockedBalances:i}=await this.betchGetOpenOrders({account:t,marginManagerList:n}),o=await this.batchGetBorrowedShares({account:t,marginManagerList:n}),a=new J,c=0,u=[];n.forEach(f=>{a.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::base_balance`,arguments:[a.object(f.marginManagerId)],typeArguments:[f.baseCoinType,f.quoteCoinType]}),u[c]={type:"base_balance",marginManagerId:f.marginManagerId},c++,a.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::quote_balance`,arguments:[a.object(f.marginManagerId)],typeArguments:[f.baseCoinType,f.quoteCoinType]}),u[c]={type:"quote_balance",marginManagerId:f.marginManagerId},c++,a.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::deep_balance`,arguments:[a.object(f.marginManagerId)],typeArguments:[f.baseCoinType,f.quoteCoinType]}),u[c]={type:"deep_balance",marginManagerId:f.marginManagerId},c++;let g=o?.find(b=>b.marginManagerId===f.marginManagerId);if(g&&(Number(g.baseBorrowedShare)>0||Number(g.quoteBorrowedShare)>0)){let b=g.baseBorrowedShare,_=g.quoteBorrowedShare,I=!!R(b).gt(R(_)),A=I?f.baseMarginPool:f.quoteMarginPool,M=I?b:_;a.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_package_id}::margin_pool::borrow_shares_to_amount`,arguments:[a.object(A),a.pure.u64(BigInt(M)),a.object.clock()],typeArguments:[I?f?.baseCoinType:f?.quoteCoinType]}),u[c]={type:I?"borrow_base_amount":"borrow_quote_amount",marginManagerId:f.marginManagerId},c++}});let d=await this.sdk.fullClient.simulateTransaction({transaction:a,checksEnabled:!1,include:{commandResults:!0,events:!0,json:!0}}),p=Object.fromEntries(n.map(f=>[f.marginManagerId,{...f,quote_balance:"0",base_balance:"0",deep_balance:"0",borrow_base_amount:"0",borrow_quote_amount:"0",open_orders:[],settled_balances:{base:"0",quote:"0",deep:"0"}}]));return d?.commandResults?.forEach((f,g)=>{let b=u[g],_=E.U64.parse(new Uint8Array(f.returnValues[0].bcs));p[b.marginManagerId]={...p[b.marginManagerId],[b.type]:_}}),r.forEach(f=>{p[f.marginManagerId].open_orders.push(f)}),s.forEach(f=>{p[f.marginManagerId].settled_balances=f}),i.forEach(f=>{p[f.marginManagerId].locked_balances=f}),Object.values(p).forEach(f=>{f.locked_balances&&f.settled_balances&&(f.locked_balances={...f.locked_balances,base:R(f.locked_balances.base||"0").minus(R(f.settled_balances.base||"0")).toString(),quote:R(f.locked_balances.quote||"0").minus(R(f.settled_balances.quote||"0")).toString(),deep:R(f.locked_balances.deep||"0").minus(R(f.settled_balances.deep||"0")).toString()})}),p}catch(r){throw new Error(`Failed to get all pos relevant data: ${r instanceof Error?r.message:String(r)}`)}}async addConditionalOrder(t,n){let{margin_utils:r}=this.sdk.sdkOptions,{global_config_id:s,versioned_id:i,margin_registry_id:o}=r,{margin_manager_id:a,pool_id:c,base_coin:u,quote_coin:d,conditional_order_id:p,pending_order:f,is_trigger_below_price:g,trigger_price:b}=t,_=await this.pythPrice.updatePythPriceIDs([u.feed,d.feed],n),I=_.get(u.feed),A=_.get(d.feed);if(!I||!A)throw new Error("Failed to get price feed object IDs");let M=n.moveCall({target:`${r.published_at}::margin_utils::new_condition`,arguments:[n.pure.bool(g),n.pure.u64(b)]}),C=this.newPendingOrder(f,n);n.moveCall({target:`${r.published_at}::margin_utils::add_conditional_order`,arguments:[n.object(s),n.object(i),n.object(a),n.object(c),n.object(I),n.object(A),n.object(o),typeof p=="string"?n.pure.u64(BigInt(p)):p,M,C,n.object(Cu)],typeArguments:[u.coinType,d.coinType]})}newPendingOrder(t,n){let{margin_utils:r}=this.sdk.sdkOptions;if("price"in t){let{client_order_id:s,order_type:i,self_matching_option:o,price:a,quantity:c,is_bid:u,pay_with_deep:d,expire_timestamp:p}=t;return n.moveCall({target:`${r.published_at}::margin_utils::new_pending_limit_order`,arguments:[n.pure.u64(s),n.pure.u8(i),n.pure.u8(o),n.pure.u64(a),n.pure.u64(c),n.pure.bool(u),n.pure.bool(d),n.pure.u64(p)]})}else{let{client_order_id:s,self_matching_option:i,quantity:o,is_bid:a,pay_with_deep:c}=t;return n.moveCall({target:`${r.published_at}::margin_utils::new_pending_market_order`,arguments:[n.pure.u64(s),n.pure.u8(i),n.pure.u64(o),n.pure.bool(a),n.pure.bool(c)]})}}cancelAllConditionalOrders(t,n){let{margin_utils:r}=this.sdk.sdkOptions,{global_config_id:s,versioned_id:i}=r,{margin_manager_id:o,base_coin_type:a,quote_coin_type:c}=t;n.moveCall({target:`${r.published_at}::margin_utils::cancel_all_conditional_orders`,arguments:[n.object(s),n.object(i),n.object(o),n.object(Cu)],typeArguments:[a,c]})}cancelConditionalOrders(t,n){let{margin_utils:r}=this.sdk.sdkOptions,{global_config_id:s,versioned_id:i}=r,{margin_manager_id:o,base_coin_type:a,quote_coin_type:c,conditional_order_id:u}=t;n.moveCall({target:`${r.published_at}::margin_utils::cancel_conditional_order`,arguments:[n.object(s),n.object(i),n.object(o),n.pure.u64(u),n.object(Cu)],typeArguments:[a,c]})}async getConditionalOrders(t,n){let{deepbook:r}=this.sdk.sdkOptions;t.forEach(u=>{let{margin_manager_id:d,base_coin_type:p,quote_coin_type:f,conditional_order_ids:g}=u;g.forEach(b=>{n.moveCall({target:`${r.margin_package_id}::margin_manager::conditional_order`,arguments:[n.object(d),n.pure.u64(b)],typeArguments:[p,f]})})});let s=await this.sdk.fullClient.sendSimulationTransaction(n,X("0x0"));if(!s?.commandResults)return[];let i=E.struct("Condition",{trigger_below_price:E.bool(),trigger_price:E.u64()}),o=E.struct("PendingOrder",{is_limit_order:E.bool(),client_order_id:E.u64(),order_type:E.option(E.u8()),self_matching_option:E.u8(),price:E.option(E.u64()),quantity:E.u64(),is_bid:E.bool(),pay_with_deep:E.bool(),expire_timestamp:E.option(E.u64())}),a=E.struct("ConditionalOrder",{conditional_order_id:E.u64(),condition:i,pending_order:o}),c=u=>{if(u.length===0||u.length===1&&u[0]===0)return null;try{return a.parse(u)}catch{if(u[0]===1&&u.length>1)try{return a.parse(u.subarray(1))}catch{return null}return null}};return s.commandResults.map(u=>{if(!u?.returnValues?.[0]?.bcs)return null;try{let d=u.returnValues[0].bcs,p=c(d);if(!p)return null;let f=this.normalizeConditionalOrder(p);return t.forEach(g=>{g.conditional_order_ids.find(_=>_===f.conditional_order_id)&&(f.margin_manager_id=g.margin_manager_id,f.base_coin_type=g.base_coin_type,f.quote_coin_type=g.quote_coin_type)}),f}catch{return null}})}async getConditionalOrderIds(t,n){n=n||new J;let{deepbook:r}=this.sdk.sdkOptions,s={};return t.forEach(o=>{let{margin_manager_id:a,base_coin_type:c,quote_coin_type:u}=o;n.moveCall({target:`${r.margin_package_id}::margin_manager::conditional_order_ids`,arguments:[n.object(a)],typeArguments:[c,u]})}),(await this.sdk.fullClient.sendSimulationTransaction(n,X("0x0"))).commandResults.forEach((o,a)=>{if(o?.returnValues?.[0]?.bcs){let c=new Uint8Array(o.returnValues[0].bcs),u=E.vector(E.u64()).parse(c),d={margin_manager_id:t[a].margin_manager_id,base_coin_type:t[a].base_coin_type,quote_coin_type:t[a].quote_coin_type,conditional_order_ids:u.map(p=>p.toString())};s[t[a].margin_manager_id]=d}}),s}normalizeConditionalOrder(t){let n=r=>typeof r=="bigint"?String(r):r;return{margin_manager_id:"",base_coin_type:"",quote_coin_type:"",conditional_order_id:n(t.conditional_order_id),condition:{trigger_below_price:t.condition.trigger_below_price,trigger_price:n(t.condition.trigger_price)},pending_order:{is_limit_order:t.pending_order.is_limit_order,client_order_id:n(t.pending_order.client_order_id),order_type:t.pending_order.order_type,self_matching_option:t.pending_order.self_matching_option,price:t.pending_order.price,quantity:n(t.pending_order.quantity),is_bid:t.pending_order.is_bid,pay_with_deep:t.pending_order.pay_with_deep,expire_timestamp:t.pending_order.expire_timestamp}}}async getPoolsPriceBounds(t){let n=new J;for(let o=0;o<t.length;o++)n.moveCall({target:`${this.sdk.sdkOptions.deepbook.margin_published_at}::margin_registry::get_price_bounds`,arguments:[n.object(this.sdk.sdkOptions.margin_utils.margin_registry_id),n.pure.id(t[o].poolId),n.object(he)]});let r=await this.sdk.fullClient.simulateTransaction({transaction:n,checksEnabled:!1,include:{commandResults:!0,json:!0}}),s=[];for(let o=0;o<t.length;o++){let a=9-t[o].baseDecimals+t[o].quoteDecimals,c=E.U64.parse(r?.commandResults?.[o]?.returnValues?.[0]?.bcs),u=E.U64.parse(r?.commandResults?.[o]?.returnValues?.[1]?.bcs);s.push({pool_id:t[o].poolId,lower_bound:R(c).div(10**a).toString(),upper_bound:R(u).div(10**a).toString()})}let i=new Map;return s.forEach(o=>{i.set(o.pool_id,o)}),{priceBounds:s,priceBoundsMap:i}}};var Qx="https://graphql.mainnet.sui.io/graphql",eC="https://graphql.testnet.sui.io/graphql",Ru=class{_rpcModule;_deepbookUtils;_marginUtils;_pythPrice;_sdkOptions;_senderAddress="";constructor(t){this._sdkOptions=t,this._rpcModule=af(new Zo({baseUrl:t.fullRpcUrl,network:t.network==="testnet"?"testnet":"mainnet"}),new Dp({network:t.network,url:t.network==="testnet"?eC:Qx}),t.network==="testnet"?"testnet":"mainnet",new wp({url:t.fullRpcUrl,network:t.network})),this._deepbookUtils=new xu(this),this._marginUtils=new Nu(this),this._pythPrice=new _o(this),mf(this._sdkOptions)}get senderAddress(){return this._senderAddress}set senderAddress(t){this._senderAddress=t}get DeepbookUtils(){return this._deepbookUtils}get MarginUtils(){return this._marginUtils}get PythPrice(){return this._pythPrice}get fullClient(){return this._rpcModule}get sdkOptions(){return this._sdkOptions}};var tC=(s=>(s[s.NO_RESTRICTION=0]="NO_RESTRICTION",s[s.IMMEDIATE_OR_CANCEL=1]="IMMEDIATE_OR_CANCEL",s[s.FILL_OR_KILL=2]="FILL_OR_KILL",s[s.POST_ONLY=3]="POST_ONLY",s))(tC||{}),nC=(r=>(r[r.SELF_MATCHING_ALLOWED=0]="SELF_MATCHING_ALLOWED",r[r.CANCEL_TAKER=1]="CANCEL_TAKER",r[r.CANCEL_MAKER=2]="CANCEL_MAKER",r))(nC||{});var oz=Ru;export{Cu as CLOCK_ADDRESS,Iu as CachedContent,Ru as CetusClmmSDK,Xq as ClmmExpectSwapModule,Kq as ClmmFetcherModule,Wq as ClmmIntegratePoolModule,Hq as ClmmIntegratePoolV2Module,Jq as ClmmIntegrateRouterModule,Zq as ClmmIntegrateRouterWithPartnerModule,Yq as ClmmIntegrateUtilsModule,Gt as CoinAssist,Qq as CoinInfoAddress,eG as CoinStoreAddress,vf as DEEP_SCALAR,sq as DEFAULT_GAS_BUDGET_FOR_MERGE,rq as DEFAULT_GAS_BUDGET_FOR_SPLIT,aq as DEFAULT_GAS_BUDGET_FOR_STAKE,iq as DEFAULT_GAS_BUDGET_FOR_TRANSFER,oq as DEFAULT_GAS_BUDGET_FOR_TRANSFER_SUI,uq as DEFAULT_NFT_TRANSFER_GAS_FEE,nG as DeepbookClobV2Moudle,tG as DeepbookCustodianV2Moudle,rG as DeepbookEndpointsV2Moudle,xu as DeepbookUtilsModule,iG as ERROR_HANDLING_RPC_LIST,gr as FLOAT_SCALAR,jr as FLOAT_SCALING,cq as GAS_SYMBOL,hf as GAS_TYPE_ARG,xb as GAS_TYPE_ARG_LONG,Nu as MarginUtilsModule,J$ as NORMALIZED_SUI_COIN_TYPE,tC as OrderType,lq as SUI_SYSTEM_STATE_OBJECT_ID,nC as SelfMatchingOption,Hx as YEAR_MS,Eb as addHexPrefix,vq as asIntN,bq as asUintN,P$ as bufferToHex,Cb as cacheTime1min,vo as cacheTime24h,Nb as cacheTime5min,pG as calc100PercentRepay,Kx as calcDebtDetail,Zx as calcInterestRate,Jx as calcUtilizationRate,lG as calculateRiskRatio,U$ as checkAddress,Ib as composeType,R as d,gf as decimalsMultiplier,oz as default,W$ as extractAddressFromType,Ls as extractStructTagFromType,H$ as fixCoinType,Ai as fixDown,Ux as fixSuiObjectId,xi as fromDecimalsAmount,sG as getDefaultSuiInputType,bf as getFutureTime,$x as getMoveObject,Px as getObjectDeletedResponse,Pb as getObjectFields,Ub as getObjectId,Lx as getObjectNotExistsResponse,Vx as getObjectReference,Db as getSuiObjectData,L$ as hexToNumber,V$ as hexToString,z$ as isSortedSymbols,Oq as isSuiObjectResponse,yf as maxDecimal,Gb as mulRoundUp,ff as normalizeCoinType,mf as patchFixSuiObjectId,Tq as printTransaction,pf as removeHexPrefix,_q as secretKeyToEd25519Keypair,wq as secretKeyToSecp256k1Keypair,D$ as shortAddress,Nx as shortString,Rb as sleepTime,Rx as toBuffer,Ea as toDecimalsAmount,Mx as utf8to16,qb as wrapDeepBookMarginPoolInfo,$b as wrapDeepBookPoolInfo};
|
|
1038
|
+
`,r={filter:{sender:t,type:`${this._sdk.sdkOptions.deepbook.package_id}::balance_manager::BalanceManagerEvent`}};try{let s=await this.sdk.fullClient._graphQLClient.query({query:n,variables:r});return s?.data?.events?.nodes?s.data.events.nodes.map(o=>o?.contents?.json):[]}catch(s){throw new Error(`Failed to query balance managers: ${s instanceof Error?s.message:String(s)}`)}}async getMarginManagerByAccount(t){if(!t||typeof t!="string")throw new Error("Valid account address is required");try{let s=((await this.sdk.fullClient.queryEventsByPage({MoveEventType:`${this._sdk.sdkOptions.margin_utils.package_id}::margin_utils::CreateMarginManagerEvent`}))?.data??[]).filter(p=>p.parsedJson?.owner===t);if(!s.length)return[];let i=s.map(p=>p.parsedJson?.margin_manager_id),a=(await this.sdk.fullClient.batchGetObjects(i,{json:!0})).map((p,f)=>{let g=p.json,_=(g?.balance_manager?.allow_listed?.contents).map(A=>A),I=_.includes(g?.deposit_cap?.id)&&_.includes(g?.withdraw_cap?.id)&&_.includes(g?.trade_cap?.id);return{balanceManagerId:g?.balance_manager?.id,marginManagerId:i[f],capOk:I}}).filter(p=>p.capOk),c=await Promise.all(a.map(({balanceManagerId:p})=>this.sdk.fullClient.listDynamicFields({parentId:p}))),u=new Map;return c.forEach((p,f)=>{let g=p?.dynamicFields??[];if(g.length>0){let b=E.struct("ReferralKey",{pos0:E.Address}).parse(g[0].name.bcs);u.set(a[f].marginManagerId,b.pos0)}}),{finalResult:s.map(p=>{let f=p.parsedJson?.margin_manager_id;return{...p.parsedJson,referralKey:u.get(f)}}),referralMap:u}}catch(n){throw new Error(`Failed to get margin managers by account: ${n instanceof Error?n.message:String(n)}`)}}async getBaseBalance({account:t,marginManager:n,baseCoinType:r,quoteCoinType:s}){if(!t||!n||!r||!s)throw new Error("All parameters (account, marginManager, baseCoinType, quoteCoinType) are required");let i=new J;try{i.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::base_balance`,arguments:[i.object(n)],typeArguments:[r,s]});let o=await this.sdk.fullClient.sendSimulationTransaction(i,t);if(!o.commandResults||!o.commandResults[0]||!o.commandResults[0].returnValues||!o.commandResults[0].returnValues[0])throw new Error(`Transaction failed: ${o.effects?.status?.error||"Unknown error"}`);return E.U64.parse(new Uint8Array(o.commandResults[0].returnValues[0].bcs)).toString()}catch(o){throw new Error(`Failed to get base balance: ${o instanceof Error?o.message:String(o)}`)}}async getQuoteBalance({account:t,marginManager:n,baseCoinType:r,quoteCoinType:s}){if(!t||!n||!r||!s)throw new Error("All parameters (account, marginManager, baseCoinType, quoteCoinType) are required");let i=new J;try{i.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::quote_balance`,arguments:[i.object(n)],typeArguments:[r,s]});let o=await this.sdk.fullClient.sendSimulationTransaction(i,t);if(!o.commandResults||!o.commandResults[0]||!o.commandResults[0].returnValues||!o.commandResults[0].returnValues[0])throw new Error(`Transaction failed: ${o.effects?.status?.error||"Unknown error"}`);return E.U64.parse(new Uint8Array(o.commandResults[0].returnValues[0].bcs)).toString()}catch(o){throw new Error(`Failed to get quote balance: ${o instanceof Error?o.message:String(o)}`)}}async getDeepBalance({account:t,marginManager:n,baseCoinType:r,quoteCoinType:s}){if(!t||!n||!r||!s)throw new Error("All parameters (account, marginManager, baseCoinType, quoteCoinType) are required");let i=new J;try{i.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::deep_balance`,arguments:[i.object(n)],typeArguments:[r,s]});let o=await this.sdk.fullClient.sendSimulationTransaction(i,t);if(!o.commandResults||!o.commandResults[0]||!o.commandResults[0].returnValues||!o.commandResults[0].returnValues[0])throw new Error(`Transaction failed: ${o.status?.error||"Unknown error"}`);return E.U64.parse(new Uint8Array(o.commandResults[0].returnValues[0].bcs)).toString()}catch(o){throw new Error(`Failed to get base balance: ${o instanceof Error?o.message:String(o)}`)}}async getPoolMarginManagerBalance({account:t,marginManager:n,baseCoinType:r,quoteCoinType:s}){if(!t||!n||!r||!s)throw new Error("All parameters (account, marginManagers, baseCoinType, quoteCoinType) are required");let i=new J,o=r===this.deepCoin.coinType,a=s===this.deepCoin.coinType,c=o||a;try{i.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::base_balance`,arguments:[i.object(n)],typeArguments:[r,s]}),i.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::quote_balance`,arguments:[i.object(n)],typeArguments:[r,s]}),c||i.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::deep_balance`,arguments:[i.object(n)],typeArguments:[r,s]});let u=await this.sdk.fullClient.sendSimulationTransaction(i,t);if(!u.commandResults||!u.commandResults[0]||!u.commandResults[0].returnValues||!u.commandResults[0].returnValues[0])throw new Error(`Transaction failed: ${u.effects?.status?.error||"Unknown error"}`);let d=E.U64.parse(new Uint8Array(u.commandResults[0].returnValues[0].bcs)),p=E.U64.parse(new Uint8Array(u.commandResults[1].returnValues[0].bcs)),f=c?o?d:p:E.U64.parse(new Uint8Array(u.commandResults[2].returnValues[0].bcs));return{[r]:d.toString(),[s]:p.toString(),[this.deepCoin.coinType]:f.toString()}}catch(u){throw new Error(`Failed to getPoolMarginManagerBalance: ${u instanceof Error?u.message:String(u)}`)}}async getBorrowedShares({account:t,marginManager:n,baseCoinType:r,quoteCoinType:s}){if(!t||!n||!r||!s)throw new Error("All parameters (account, marginManager, baseCoinType, quoteCoinType) are required");let i=new J;try{i.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::borrowed_shares`,arguments:[i.object(n)],typeArguments:[r,s]});let o=await this.sdk.fullClient.sendSimulationTransaction(i,t);if(!o.commandResults||!o.commandResults[0]||!o.commandResults[0].returnValues||o.commandResults[0].returnValues.length<2)throw new Error(`Transaction failed: ${o.effects?.status?.error||"Unknown error"}`);let a=E.U64.parse(new Uint8Array(o.commandResults[0].returnValues[0].bcs)),c=E.U64.parse(new Uint8Array(o.commandResults[0].returnValues[1].bcs));return{baseBorrowedShare:a,quoteBorrowedShare:c}}catch(o){throw new Error(`Failed to get borrowed shares: ${o instanceof Error?o.message:String(o)}`)}}managerState=({account:t,marginManager:n,baseCoin:r,quoteCoin:s,pool:i,baseMarginPool:o,quoteMarginPool:a,decimals:c=6,basePriceFeedObjectId:u,quotePriceFeedObjectId:d})=>p=>{p.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_package_id}::margin_manager::manager_state`,arguments:[p.object(n),p.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),p.object(u),p.object(d),p.object(i),p.object(o),p.object(a),p.object.clock()],typeArguments:[r.coinType,s.coinType]})};async getManagerState(t,n=new J){let{account:r,marginManager:s,baseCoin:i,quoteCoin:o,pool:a,baseMarginPool:c,quoteMarginPool:u,decimals:d=6}=t;if(!r||!s||!a||!c||!u)throw new Error("All required parameters must be provided");if(!i?.feed||!o?.feed)throw new Error("Base and quote coin feeds are required");if(!i.scalar||!o.scalar)throw new Error("Base and quote coin scalars are required");try{let p=await this.pythPrice.updatePythPriceIDs([i.feed,o.feed],n),f=p.get(i.feed),g=p.get(o.feed);if(!f||!g)throw new Error("Failed to get price feed object IDs");n.add(this.managerState({...t,basePriceFeedObjectId:f,quotePriceFeedObjectId:g}));let b=await this.sdk.fullClient.sendSimulationTransaction(n,r);if(!b.commandResults||!b.commandResults[0]||!b.commandResults[0].returnValues||b.commandResults[0].returnValues.length<14)throw new Error(`Failed to get margin manager state: ${b.Transaction?.effects?.status?.error||"Unknown error"}`);let _=X(E.Address.parse(new Uint8Array(b.commandResults[0].returnValues[0].bcs))),I=X(E.Address.parse(new Uint8Array(b.commandResults[0].returnValues[1].bcs))),A=Number(E.U64.parse(new Uint8Array(b.commandResults[0].returnValues[2].bcs)))/1e9,M=this.#t(BigInt(E.U64.parse(new Uint8Array(b.commandResults[0].returnValues[3].bcs))),i.scalar,d),C=this.#t(BigInt(E.U64.parse(new Uint8Array(b.commandResults[0].returnValues[4].bcs))),o.scalar,d),B=this.#t(BigInt(E.U64.parse(new Uint8Array(b.commandResults[0].returnValues[5].bcs))),i.scalar,d),L=this.#t(BigInt(E.U64.parse(new Uint8Array(b.commandResults[0].returnValues[6].bcs))),o.scalar,d),j=E.U64.parse(new Uint8Array(b.commandResults[0].returnValues[7].bcs)),q=Number(E.u8().parse(new Uint8Array(b.commandResults[0].returnValues[8].bcs))),P=E.U64.parse(new Uint8Array(b.commandResults[0].returnValues[9].bcs)),D=Number(E.u8().parse(new Uint8Array(b.commandResults[0].returnValues[10].bcs))),Z=BigInt(E.U64.parse(new Uint8Array(b.commandResults[0].returnValues[11].bcs))),ce=BigInt(E.U64.parse(new Uint8Array(b.commandResults[0].returnValues[12].bcs))),te=BigInt(E.U64.parse(new Uint8Array(b.commandResults[0].returnValues[13].bcs)));return{managerId:_,deepbookPoolId:I,riskRatio:A,baseAsset:M,quoteAsset:C,baseDebt:B,quoteDebt:L,basePythPrice:j.toString(),basePythDecimals:q,quotePythPrice:P.toString(),quotePythDecimals:D,currentPrice:Z,lowestTriggerAbovePrice:ce,highestTriggerBelowPrice:te}}catch(p){throw new Error(`Failed to get manager state: ${p instanceof Error?p.message:String(p)}`)}}async detectPriceBoundary({account:t,marginManager:n,baseCoin:r,quoteCoin:s,pool:i,baseMarginPool:o,quoteMarginPool:a,price:c,is_bid:u,decimals:d=6}){if(!t||!n||!i||!o||!a)throw new Error("All required parameters must be provided");if(!r?.feed||!s?.feed)throw new Error("Base and quote coin feeds are required");if(!r.scalar||!s.scalar)throw new Error("Base and quote coin scalars are required");let p=typeof c=="bigint"?c:BigInt(c),f=await this.getManagerState({account:t,marginManager:n,baseCoin:r,quoteCoin:s,pool:i,baseMarginPool:o,quoteMarginPool:a,decimals:d},new J),g=f.highestTriggerBelowPrice,b=f.lowestTriggerAbovePrice,_=u?p<=b:p>=g;return{is_bid:u,price:p,lower_bound:g,upper_bound:b,is_within:_,is_boundary:u?p===b:p===g}}async calculateAssets({account:t,marginManager:n,pool:r,baseCoin:s,quoteCoin:i,tx:o=new J}){if(!t||!n||!r)throw new Error("Account, marginManager, and pool are required");if(!s?.coinType||!i?.coinType)throw new Error("Base and quote coin types are required");try{o.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_package_id}::margin_manager::calculate_assets`,arguments:[o.object(n),o.object(r)],typeArguments:[s.coinType,i.coinType]});let a=await this.sdk.fullClient.sendSimulationTransaction(o,t);if(!a.commandResults||!a.commandResults[0]||!a.commandResults[0].returnValues||a.commandResults[0].returnValues.length<2)throw new Error(`Transaction failed: ${a.effects?.status?.error||"Unknown error"}`);let c=a.commandResults[0].returnValues[0].bcs,u=a.commandResults[0].returnValues[1].bcs;if(!s.scalar||!i.scalar)throw new Error("Base and quote coin scalars are required");let d=E.U64.parse(new Uint8Array(c)),p=E.U64.parse(new Uint8Array(u));return{baseAsset:d.toString(),quoteAsset:p.toString(),tx:o}}catch(a){throw new Error(`Failed to calculate assets: ${a instanceof Error?a.message:String(a)}`)}}async getBorrowedAmount({account:t,marginManager:n,baseCoinType:r,quoteCoinType:s,baseMarginPool:i,quoteMarginPool:o}){if(!t||!n||!r||!s||!i||!o)throw new Error("All parameters are required");try{let{baseBorrowedShare:a,quoteBorrowedShare:c}=await this.getBorrowedShares({account:t,marginManager:n,baseCoinType:r,quoteCoinType:s}),u=!!R(a).gt(R(c)),d=u?i:o,p=u?a:c,f=new J;f.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_package_id}::margin_pool::borrow_shares_to_amount`,arguments:[f.object(d),f.pure.u64(BigInt(p)),f.object.clock()],typeArguments:[u?r:s]});let g=await this.sdk.fullClient.simulateTransaction({transaction:f,checksEnabled:!1,include:{commandResults:!0,json:!0}}),b=E.U64.parse(g?.commandResults?.[0]?.returnValues?.[0]?.bcs);return u?{baseBorrowedAmount:b.toString(),quoteBorrowedAmount:"0"}:{baseBorrowedAmount:"0",quoteBorrowedAmount:b.toString()}}catch(a){throw new Error(`Failed to get borrowed amount: ${a instanceof Error?a.message:String(a)}`)}}async deposit({marginManager:t,baseCoin:n,quoteCoin:r,amount:s,depositCoinType:i},o=new J){if(!t)throw new Error("Margin manager is required");if(!n?.coinType||!r?.coinType)throw new Error("Base and quote coin types are required");if(!s||BigInt(s)<=0n)throw new Error("Valid deposit amount is required");if(!n.feed||!r.feed)throw new Error("Base and quote coin feeds are required");try{let a=Gt.buildCoinWithBalance(BigInt(s),i,o),c=await this.pythPrice.updatePythPriceIDs([n.feed,r.feed],o),u=c.get(n.feed),d=c.get(r.feed);if(!u||!d)throw new Error("Failed to get price feed object IDs");return o.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::deposit`,arguments:[o.object(this._sdk.sdkOptions.margin_utils.global_config_id),o.object(this._sdk.sdkOptions.margin_utils.versioned_id),typeof t=="string"?o.object(t):t,o.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),o.object(u),o.object(d),a,o.object(he)],typeArguments:[n.coinType,r.coinType,i]}),o}catch(a){throw new Error(`Failed to deposit: ${a instanceof Error?a.message:String(a)}`)}}async withdraw({account:t,marginManager:n,baseMarginPool:r,quoteMarginPool:s,baseCoin:i,quoteCoin:o,pool:a,amount:c,withdrawCoinType:u},d=new J){if(!t||!n||!r||!s||!a)throw new Error("All required parameters must be provided");if(!i?.coinType||!o?.coinType)throw new Error("Base and quote coin types are required");if(!c||BigInt(c)<=0n)throw new Error("Valid withdraw amount is required");if(!i.feed||!o.feed)throw new Error("Base and quote coin feeds are required");try{let p=await this.pythPrice.updatePythPriceIDs([i.feed,o.feed],d),f=p.get(i.feed),g=p.get(o.feed);if(!f||!g)throw new Error("Failed to get price feed object IDs");let b=d.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::withdraw`,arguments:[d.object(this._sdk.sdkOptions.margin_utils.global_config_id),d.object(this._sdk.sdkOptions.margin_utils.versioned_id),d.object(n),d.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),d.object(r),d.object(s),d.object(f),d.object(g),d.object(a),d.pure.u64(BigInt(c)),d.object(he)],typeArguments:[i.coinType,o.coinType,u]});if(Gt.isSuiCoin(u))d.transferObjects([b],t);else{let _=await this._sdk.fullClient.getOwnerCoinAssets(t,u),I=Gt.buildCoinForAmount(d,_,BigInt(0),u,!1);I.target_coin?(d.mergeCoins(I.target_coin,[b]),I.is_mint_zero_coin&&d.transferObjects([I.target_coin],t)):d.transferObjects([b],t)}return d}catch(p){throw new Error(`Failed to withdraw: ${p instanceof Error?p.message:String(p)}`)}}async borrowBase({marginManager:t,baseMarginPool:n,baseCoin:r,quoteCoin:s,pool:i,amount:o},a=new J){if(!t||!n||!i)throw new Error("Margin manager, base margin pool, and pool are required");if(!r?.coinType||!s?.coinType)throw new Error("Base and quote coin types are required");if(!o||BigInt(o)<=0n)throw new Error("Valid borrow amount is required");if(!r.feed||!s.feed)throw new Error("Base and quote coin feeds are required");try{let c=await this.pythPrice.updatePythPriceIDs([r.feed,s.feed],a),u=c.get(r.feed),d=c.get(s.feed);if(!u||!d)throw new Error("Failed to get price feed object IDs");return a.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::borrow_base`,arguments:[a.object(this.sdk.sdkOptions.margin_utils.global_config_id),a.object(this.sdk.sdkOptions.margin_utils.versioned_id),a.object(t),a.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),a.object(n),a.object(u),a.object(d),a.object(i),a.pure.u64(BigInt(o)),a.object(he)],typeArguments:[r.coinType,s.coinType]}),a}catch(c){throw new Error(`Failed to borrow base: ${c instanceof Error?c.message:String(c)}`)}}async borrowQuote({marginManager:t,quoteMarginPool:n,baseCoin:r,quoteCoin:s,pool:i,amount:o},a=new J){if(!t||!n||!i)throw new Error("Margin manager, quote margin pool, and pool are required");if(!r?.coinType||!s?.coinType)throw new Error("Base and quote coin types are required");if(!o||BigInt(o)<=0n)throw new Error("Valid borrow amount is required");if(!r.feed||!s.feed)throw new Error("Base and quote coin feeds are required");try{let c=await this.pythPrice.updatePythPriceIDs([r.feed,s.feed],a),u=c.get(r.feed),d=c.get(s.feed);if(!u||!d)throw new Error("Failed to get price feed object IDs");return a.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::borrow_quote`,arguments:[a.object(this.sdk.sdkOptions.margin_utils.global_config_id),a.object(this.sdk.sdkOptions.margin_utils.versioned_id),typeof t=="string"?a.object(t):t,a.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),a.object(n),a.object(u),a.object(d),a.object(i),a.pure.u64(BigInt(o)),a.object(he)],typeArguments:[r.coinType,s.coinType]}),a}catch(c){throw new Error(`Failed to borrow quote: ${c instanceof Error?c.message:String(c)}`)}}async repayBase({marginManager:t,baseMarginPool:n,baseCoin:r,quoteCoin:s,amount:i},o=new J){if(!t||!n||!r||!s)throw new Error("All required parameters (marginManager, baseMarginPool, baseCoin, quoteCoin) are required");if(i&&BigInt(i)<=0n)throw new Error("Repay amount must be greater than zero if provided");let a={marginManager:t,baseCoin:r,quoteCoin:s,amount:i,depositCoinType:r.coinType};await this.deposit(a,o);try{return o.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::repay_base`,arguments:[o.object(this._sdk.sdkOptions.margin_utils.global_config_id),o.object(this._sdk.sdkOptions.margin_utils.versioned_id),o.object(t),o.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),o.object(n),o.object.option({type:"u64",value:i?o.pure.u64(i):null}),o.object(he)],typeArguments:[r.coinType,s.coinType]}),o}catch(c){throw new Error(`Failed to repay base: ${c instanceof Error?c.message:String(c)}`)}}async repayQuote({marginManager:t,quoteMarginPool:n,baseCoin:r,quoteCoin:s,amount:i},o=new J){if(!t||!n||!r||!s)throw new Error("All required parameters (marginManager, quoteMarginPool, baseCoin, quoteCoin) are required");if(i&&BigInt(i)<=0n)throw new Error("Repay amount must be greater than zero if provided");let a={marginManager:t,baseCoin:r,quoteCoin:s,amount:i,depositCoinType:s.coinType};await this.deposit(a,o);try{return o.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::repay_quote`,arguments:[o.object(this._sdk.sdkOptions.margin_utils.global_config_id),o.object(this._sdk.sdkOptions.margin_utils.versioned_id),o.object(t),o.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),o.object(n),o.object.option({type:"u64",value:i?o.pure.u64(i):null}),o.object(he)],typeArguments:[r.coinType,s.coinType]}),o}catch(c){throw new Error(`Failed to repay quote: ${c instanceof Error?c.message:String(c)}`)}}async repay({marginManager:t,baseMarginPool:n,quoteMarginPool:r,baseCoin:s,quoteCoin:i,isBase:o,amount:a},c=new J){try{let u=this.sdk.senderAddress,d,p=a;a||(d=await this.getBorrowedAmount({account:u,marginManager:t,baseCoinType:s?.coinType,quoteCoinType:i?.coinType,baseMarginPool:n,quoteMarginPool:r}),p=o?d.baseBorrowedAmount:d.quoteBorrowedAmount);let f,g={marginManager:t,baseCoin:s,quoteCoin:i,depositCoinType:o?s.coinType:i.coinType};if(o){let b=await this.getBaseBalance({account:u,marginManager:t,baseCoinType:s?.coinType,quoteCoinType:i?.coinType});f=R(p).sub(b).toString()}else{let b=await this.getQuoteBalance({account:u,marginManager:t,baseCoinType:s?.coinType,quoteCoinType:i?.coinType});f=R(p).sub(b).toString()}R(f).gt(0)&&await this.deposit({...g,amount:f},c),c.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::${o?"repay_base":"repay_quote"}`,arguments:[c.object(this._sdk.sdkOptions.margin_utils.global_config_id),c.object(this._sdk.sdkOptions.margin_utils.versioned_id),c.object(t),c.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),c.object(o?n:r),c.object.option({type:"u64",value:a?c.pure.u64(a):null}),c.object(he)],typeArguments:[s.coinType,i.coinType]})}catch(u){console.log("\u{1F680} ~ MarginUtilsModule ~ repay ~ error:",u)}return c}removeReferralKey=(t,n,r,s,i=new J)=>{let o=i.moveCall({target:`${this._sdk.sdkOptions.deepbook.published_at}::pool::id`,typeArguments:[r,s],arguments:[i.object(n)]});return i.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::unset_margin_manager_referral`,typeArguments:[r,s],arguments:[typeof t=="string"?i.object(t):t,o]})};async#e(t,n,r){if(!t.feed||!n.feed)throw new Error("Base and quote coin feeds are required");let s=await this.pythPrice.updatePythPriceIDs([t.feed,n.feed],r),i=s.get(t.feed),o=s.get(n.feed);if(!i||!o)throw new Error("Failed to get price feed object IDs");return{baseOracle:i,quoteOracle:o}}async placeMarginMarketOrder({marginManager:t,poolInfo:n,baseMarginPool:r,quoteMarginPool:s,selfMatchingOption:i,quantity:o,amountLimit:a,isBid:c,payWithDeep:u,exactBase:d,referralKey:p},f=new J){if(!t||!n)throw new Error("Margin manager and pool info are required");if(!n.id||!n.baseCoin?.coinType||!n.quoteCoin?.coinType)throw new Error("Pool info must contain valid id, baseCoin, and quoteCoin");if(!r||!s)throw new Error("Base and quote margin pool ids are required");if(!o||BigInt(Vs(o,n.baseCoin.decimals||0))<=0n)throw new Error("Valid order quantity is required");if(!a||BigInt(Vs(a,n.baseCoin.decimals||0))<=0n)throw new Error("Valid order amount limit is required");let{id:g,baseCoin:b,quoteCoin:_}=n;if(b.decimals===void 0||_.decimals===void 0)throw new Error("Base and quote coin decimals are required");p&&this.removeReferralKey(t,g,b.coinType,_.coinType,f);try{let{baseOracle:I,quoteOracle:A}=await this.#e(b,_,f);return f.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::place_margin_market_order_v2`,arguments:[f.object(this.sdk.sdkOptions.margin_utils.global_config_id),f.object(this.sdk.sdkOptions.margin_utils.versioned_id),typeof t=="string"?f.object(t):t,f.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),f.object(g),f.object(r),f.object(s),f.object(I),f.object(A),f.pure.u8(i),f.pure.u64(o),f.pure.bool(c),f.pure.bool(u),f.pure.bool(d===void 0?!c:d),f.pure.u64(a),f.object(he)],typeArguments:[b.coinType,_.coinType]}),f}catch(I){throw new Error(`Failed to place market order: ${I instanceof Error?I.message:String(I)}`)}}async placeMarginLimitOrder({marginManager:t,poolInfo:n,baseMarginPool:r,quoteMarginPool:s,orderType:i,selfMatchingOption:o,priceInput:a,quantity:c,isBid:u,payWithDeep:d,expirationTimestamp:p=Date.now()+31536e8,referralKey:f},g=new J){if(!t||!n)throw new Error("Margin manager and pool info are required");if(!n.id||!n.baseCoin?.coinType||!n.quoteCoin?.coinType)throw new Error("Pool info must contain valid id, baseCoin, and quoteCoin");if(!r||!s)throw new Error("Base and quote margin pool ids are required");if(!a||!c)throw new Error("Price and quantity are required");let{id:b,baseCoin:_,quoteCoin:I}=n;if(_.decimals===void 0||I.decimals===void 0)throw new Error("Base and quote coin decimals are required");try{let A=BigInt(R(a).mul(10**(I.decimals-_.decimals+9)).toString()),M=BigInt(Vs(c,_.decimals));if(A<=0n||M<=0n)throw new Error("Price and quantity must be greater than zero");f&&this.removeReferralKey(t,b,_.coinType,I.coinType,g);let{baseOracle:C,quoteOracle:B}=await this.#e(_,I,g);return g.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::place_margin_limit_order_v2`,arguments:[g.object(this.sdk.sdkOptions.margin_utils.global_config_id),g.object(this.sdk.sdkOptions.margin_utils.versioned_id),g.object(t),g.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),g.object(b),g.object(r),g.object(s),g.object(C),g.object(B),g.pure.u8(i),g.pure.u8(o),g.pure.u64(A),g.pure.u64(M),g.pure.bool(u),g.pure.bool(d),g.pure.u64(p),g.object(he)],typeArguments:[_.coinType,I.coinType]}),g}catch(A){throw new Error(`Failed to place limit order: ${A instanceof Error?A.message:String(A)}`)}}modifyMarginOrder({marginManager:t,poolInfo:n,orderId:r,newQuantity:s},i=new J){if(!t||!n||!r||!s)throw new Error("All parameters (marginManager, poolInfo, orderId, newQuantity) are required");if(!n.id||!n.baseCoin?.coinType||!n.quoteCoin?.coinType)throw new Error("Pool info must contain valid id, baseCoin, and quoteCoin");if(n.baseCoin.decimals===void 0)throw new Error("Base coin decimals are required");try{let o=BigInt(Vs(s,n.baseCoin.decimals));if(o<=0n)throw new Error("New quantity must be greater than zero");return i.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::modify_margin_order`,arguments:[i.object(this.sdk.sdkOptions.margin_utils.global_config_id),i.object(this.sdk.sdkOptions.margin_utils.versioned_id),i.object(t),i.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),i.object(n.id),i.pure.u128(r),i.pure.u64(o),i.object(he)],typeArguments:[n.baseCoin.coinType,n.quoteCoin.coinType]}),i}catch(o){throw new Error(`Failed to modify order: ${o instanceof Error?o.message:String(o)}`)}}cancelMarginOrder({marginManager:t,poolInfo:n,orderId:r},s=new J){if(!t||!n||!r)throw new Error("All parameters (marginManager, poolInfo, orderId) are required");if(!n.id||!n.baseCoin?.coinType||!n.quoteCoin?.coinType)throw new Error("Pool info must contain valid id, baseCoin, and quoteCoin");try{return s.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::cancel_margin_order`,arguments:[s.object(this.sdk.sdkOptions.margin_utils.global_config_id),s.object(this.sdk.sdkOptions.margin_utils.versioned_id),s.object(t),s.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),s.object(n.id),s.pure.u128(r),s.object(he)],typeArguments:[n.baseCoin.coinType,n.quoteCoin.coinType]}),s}catch(i){throw new Error(`Failed to cancel order: ${i instanceof Error?i.message:String(i)}`)}}cancelAllMarginOrders({marginManager:t,poolInfo:n},r=new J){if(!t||!n)throw new Error("Margin manager and pool info are required");if(!n.id||!n.baseCoin?.coinType||!n.quoteCoin?.coinType)throw new Error("Pool info must contain valid id, baseCoin, and quoteCoin");try{return r.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::cancel_all_margin_orders`,arguments:[r.object(this.sdk.sdkOptions.margin_utils.global_config_id),r.object(this.sdk.sdkOptions.margin_utils.versioned_id),r.object(t),r.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),r.object(n.id),r.object(he)],typeArguments:[n.baseCoin.coinType,n.quoteCoin.coinType]}),r}catch(s){throw new Error(`Failed to cancel all orders: ${s instanceof Error?s.message:String(s)}`)}}async placeReduceOnlyLimitOrder({marginManager:t,poolInfo:n,baseMarginPool:r,quoteMarginPool:s,orderType:i,selfMatchingOption:o,priceInput:a,quantity:c,isBid:u,payWithDeep:d,expirationTimestamp:p=Date.now()+31536e8},f=new J){if(!t||!n)throw new Error("Margin manager and pool info are required");if(!n.id||!n.baseCoin?.coinType||!n.quoteCoin?.coinType)throw new Error("Pool info must contain valid id, baseCoin, and quoteCoin");if(!r||!s)throw new Error("Base and quote margin pool ids are required");if(!a||!c)throw new Error("Price and quantity are required");let{baseCoin:g,quoteCoin:b}=n;if(g.decimals===void 0||b.decimals===void 0)throw new Error("Base and quote coin decimals are required");try{let _=BigInt(R(a).mul(10**(b.decimals-g.decimals+9)).toString()),I=BigInt(Vs(c,g.decimals));if(_<=0n||I<=0n)throw new Error("Price and quantity must be greater than zero");let{baseOracle:A,quoteOracle:M}=await this.#e(g,b,f);return f.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::place_reduce_only_limit_order_v2`,arguments:[f.object(this.sdk.sdkOptions.margin_utils.global_config_id),f.object(this.sdk.sdkOptions.margin_utils.versioned_id),f.object(t),f.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),f.object(n.id),f.object(r),f.object(s),f.object(A),f.object(M),f.pure.u8(i),f.pure.u8(o),f.pure.u64(_),f.pure.u64(I),f.pure.bool(u),f.pure.bool(d),f.pure.u64(p),f.object(he)],typeArguments:[g.coinType,b.coinType]}),f}catch(_){throw new Error(`Failed to place reduce only limit order: ${_ instanceof Error?_.message:String(_)}`)}}async placeReduceOnlyMarketOrder({marginManager:t,poolInfo:n,baseMarginPool:r,quoteMarginPool:s,selfMatchingOption:i,quantity:o,amountLimit:a,isBid:c,payWithDeep:u},d=new J){if(!t||!n)throw new Error("Margin manager and pool info are required");if(!n.id||!n.baseCoin?.coinType||!n.quoteCoin?.coinType)throw new Error("Pool info must contain valid id, baseCoin, and quoteCoin");if(!r||!s)throw new Error("Base and quote margin pool ids are required");if(!o||BigInt(Vs(o,n.baseCoin.decimals||0))<=0n)throw new Error("Valid order quantity is required");if(!a||BigInt(Vs(a,n.baseCoin.decimals||0))<=0n)throw new Error("Valid order amount limit is required");let{baseCoin:p,quoteCoin:f}=n;if(p.decimals===void 0||f.decimals===void 0)throw new Error("Base and quote coin decimals are required");try{let{baseOracle:g,quoteOracle:b}=await this.#e(p,f,d);return d.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::place_reduce_only_market_order_v2`,arguments:[d.object(this.sdk.sdkOptions.margin_utils.global_config_id),d.object(this.sdk.sdkOptions.margin_utils.versioned_id),d.object(t),d.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),d.object(n.id),d.object(r),d.object(s),d.object(g),d.object(b),d.pure.u8(i),d.pure.u64(o),d.pure.bool(c),d.pure.bool(u),d.pure.u64(a),d.object(he)],typeArguments:[p.coinType,f.coinType]}),d}catch(g){throw new Error(`Failed to place reduce only market order: ${g instanceof Error?g.message:String(g)}`)}}async getOpenOrder(t,n,r,s,i=!1,o=new J){let a;if(s)a=s;else{o.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::account_open_orders`,arguments:[o.object(t.address),i?r:o.object(r)],typeArguments:[t.baseCoin.coinType,t.quoteCoin.coinType]});let f=(await this._sdk.fullClient.simulateTransaction({transaction:o,include:{commandResults:!0,json:!0},checksEnabled:!1})).commandResults[i?1:0].returnValues[0].bcs;a=E.struct("VecSet",{constants:E.vector(E.U128)}).parse(new Uint8Array(f)).constants}if(a.length===0)return[];let c=a.map(p=>({pool:{pool_id:t.address,baseCoinType:t.baseCoin.coinType,quoteCoinType:t.quoteCoin.coinType},orderId:p})),u=await this.sdk.DeepbookUtils.getOrderInfoList(c,n)||[],d=[];return u.forEach(p=>{let f=this.sdk.DeepbookUtils.decodeOrderId(BigInt(p.order_id));d.push({...p,price:f.price,isBid:f.isBid,pool:t})}),d}async getAccountOpenOrders({poolInfo:t,marginManager:n}){try{let r=new J,s=r.moveCall({target:`${this.sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::balance_manager`,arguments:[r.object(n)],typeArguments:[t.baseCoin.coinType,t.quoteCoin.coinType]});return await this.getOpenOrder(t,this.sdk.senderAddress,s,void 0,!0,r)}catch(r){throw new Error(`Failed to get account open orders: ${r instanceof Error?r.message:String(r)}`)}}async getAccountAllMarketsOpenOrders(t,n){try{if(!t||!n||n.length===0)throw new Error("Account or pools are required");let r=[];for(let s=0;s<n.length;s++){let i=new J,o=n[s];if(o.margin_manager_id){let a=await i.moveCall({target:`${this.sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::balance_manager`,arguments:[i.object(o.margin_manager_id)],typeArguments:[o.baseCoin.coinType,o.quoteCoin.coinType]}),c=await this.getOpenOrder(o,this.sdk.senderAddress,a,void 0,!0,i);r.push(...c)}}return r}catch(r){throw new Error(`Failed to get account all markets open orders: ${r instanceof Error?r.message:String(r)}`)}}mintSupplierCap(t=new J,n){let r=t.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::mint_supplier_cap`,arguments:[t.object(this._sdk.sdkOptions.margin_utils.versioned_id),t.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),t.object(he)]});return n&&t.transferObjects([r],this.sdk.senderAddress),{tx:t,supplierCap:r}}async querySupplierCap(){try{return((await this.sdk.fullClient.queryEventsByPage({MoveEventType:`${this._sdk.sdkOptions.margin_utils.package_id}::margin_utils::SupplierCapCreatedEvent`}))?.data||[]).filter(s=>s.parsedJson?.owner===this.sdk.senderAddress)[0].parsedJson.supplier_cap_id}catch(t){throw new Error(`Failed to get account supplyCap: ${t instanceof Error?t.message:String(t)}`)}}mintSupplierCapAndSupply({marginPool:t,supplyCoinType:n,amount:r}){let s=new J,{supplierCap:i}=this.mintSupplierCap(s,!1);return this.supply({marginPool:t,supplierCap:i,supplyCoinType:n,amount:r,tx:s}),s.transferObjects([i],this.sdk.senderAddress),s}supply({marginPool:t,supplierCap:n,supplyCoinType:r,amount:s,tx:i}){let o=i??new J;if(!n)throw new Error("Either supplierCap must be provided");let a=Gt.buildCoinWithBalance(BigInt(s),r,o);return o.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::supply`,typeArguments:[r],arguments:[o.object(this._sdk.sdkOptions.margin_utils.global_config_id),o.object(this._sdk.sdkOptions.margin_utils.versioned_id),o.object(t),o.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),o.object(n),a,o.pure.option("address","0x0"),o.object(he)]}),o}supplierWithdraw({marginPool:t,withdrawCoinType:n,amount:r,supplierCapId:s,hasSwap:i,withdrawAll:o,tx:a=new J}){let c=a.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::supplier_withdraw`,typeArguments:[n],arguments:[a.object(this._sdk.sdkOptions.margin_utils.global_config_id),a.object(this._sdk.sdkOptions.margin_utils.versioned_id),a.object(t),a.object(this._sdk.sdkOptions.margin_utils.margin_registry_id),a.object(s),a.object.option({type:"u64",value:o?null:a.pure.u64(r)}),a.object(he)]});return i?c:(a.transferObjects([c],this.sdk.senderAddress),a)}withdrawReferralFees({marginPool:t}){let n=new J,r=n.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::withdraw_referral_fees`,arguments:[n.object(this._sdk.sdkOptions.margin_utils.versioned_id),n.object(t),n.object(this._sdk.sdkOptions.margin_utils.registry_id),n.object.option({type:"0x1",value:null}),n.object(he)],typeArguments:[this.deepCoin.coinType]});return n.transferObjects([r],this.sdk.senderAddress),n}async getUserSupplyAmount({marginPool:t,supplyCoin:n,supplierCapId:r}){let s=new J;s.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::get_user_supply_amount`,typeArguments:[n.coinType],arguments:[s.object(t),s.object(r),s.object(he)]});let i=await this.sdk.fullClient.sendSimulationTransaction(s,this.sdk.senderAddress);if(!i.commandResults||!i.commandResults[0]||!i.commandResults[0].returnValues||!i.commandResults[0].returnValues[0])throw new Error(`Transaction failed: ${i.effects?.status?.error||"Unknown error"}`);return this.#t(BigInt(E.U64.parse(new Uint8Array(i.commandResults[0].returnValues[0].bcs))),n.scalar,n.decimals)}async getDeepBookMarginRegistry(){let n=(await this.sdk.fullClient.getObject({objectId:this._sdk.sdkOptions.margin_utils.margin_registry_id,include:{json:!0}})).data.content.fields.inner.fields.id.id,r=await this.sdk.fullClient.getDynamicField({parentId:n,name:{type:"u64",bcs:E.u64().serialize(1).toBytes()}}),s=r.data.content.fields.value.fields.pool_registry.fields.id.id,i=r.data.content.fields.value.fields.margin_pools.fields.id.id;return{pool_registry_table_id:s,margin_pool_table_id:i}}async getDeepBookPool(){let{data:t}=await this.sdk.fullClient.listDynamicFields({parentId:this.sdk.sdkOptions.margin_utils.pool_registry_table_id}),n=t.map(i=>i.objectId),r=await this.sdk.fullClient.batchGetObjects(n,{json:!0}),s=[];for(let i=0;i<r.length;i++){let o=r[i].json;s.push($b(o))}return s}async getDeepBookMarginPool(){let{data:t}=await this.sdk.fullClient.getDynamicFieldsByPage(this.sdk.sdkOptions.margin_utils.margin_pool_table_id),n=t.map(c=>c.fieldId),r=await this.sdk.fullClient.batchGetObjects(n,{json:!0}),s=[],i=[];for(let c=0;c<r.length;c++){let u=r[c].json;i.push(u.value),s.push({deposit_coin_type:u.name.name,id:u.id})}let o=await this.sdk.fullClient.batchGetObjects(i,{json:!0}),a=[];for(let c=0;c<o.length;c++){let u=o[c].json;a.push(qb(u,s[c]))}return a}async getBaseQuantityIn(t,n,r,s=.01){let i=new J;i.moveCall({target:`${this.sdk.sdkOptions.deepbook.published_at}::pool::get_base_quantity_in`,typeArguments:[t.baseCoin.coinType,t.quoteCoin.coinType],arguments:[i.object(t.address),i.pure.u64(n),i.pure.bool(r),i.object(he)]});let o=await this.sdk.fullClient.sendSimulationTransaction(i,this.sdk.senderAddress);if(!o.commandResults||!o.commandResults[0]||!o.commandResults[0].returnValues||!o.commandResults[0].returnValues[0])throw new Error(`Transaction failed: ${o.effects?.status?.error||"Unknown error"}`);let a=E.U64.parse(new Uint8Array(o.commandResults[0].returnValues[0].bcs)),c=E.U64.parse(new Uint8Array(o.commandResults[0].returnValues[1].bcs)),u=E.U64.parse(new Uint8Array(o.commandResults[0].returnValues[2].bcs));return{quantityOut:c.toString(),quantityInLeft:R(a.toString()).mul(R(1+s)).ceil().toString(),deep_fee_amount:u.toString()}}async getQuoteQuantityIn(t,n,r,s=.01){let i=new J;i.moveCall({target:`${this.sdk.sdkOptions.deepbook.published_at}::pool::get_quote_quantity_in`,typeArguments:[t.baseCoin.coinType,t.quoteCoin.coinType],arguments:[i.object(t.address),i.pure.u64(n),i.pure.bool(r),i.object(he)]});let o=await this.sdk.fullClient.sendSimulationTransaction(i,this.sdk.senderAddress);if(!o.commandResults||!o.commandResults[0]||!o.commandResults[0].returnValues||!o.commandResults[0].returnValues[0])throw new Error(`Transaction failed: ${o.effects?.status?.error||"Unknown error"}`);let a=E.U64.parse(new Uint8Array(o.commandResults[0].returnValues[0].bcs)),c=E.U64.parse(new Uint8Array(o.commandResults[0].returnValues[1].bcs)),u=E.U64.parse(new Uint8Array(o.commandResults[0].returnValues[2].bcs));return{quantityOut:a.toString(),quantityInLeft:R(c.toString()).mul(R(1+s)).ceil().toString(),deep_fee_amount:u.toString()}}async getBaseQuantityOutInput(t,n,r){let s=new J;s.moveCall({target:`${this.sdk.sdkOptions.deepbook.published_at}${r?"::pool::get_base_quantity_out":"::pool::get_base_quantity_out_input_fee"}`,typeArguments:[t.baseCoin.coinType,t.quoteCoin.coinType],arguments:[s.object(t.address),s.pure.u64(n),s.object(he)]});let i=await this.sdk.fullClient.sendSimulationTransaction(s,this.sdk.senderAddress);if(!i.commandResults||!i.commandResults[0]||!i.commandResults[0].returnValues||!i.commandResults[0].returnValues[0])throw new Error(`Transaction failed: ${i.effects?.status?.error||"Unknown error"}`);let o=E.U64.parse(new Uint8Array(i.commandResults[0].returnValues[0].bcs)),a=E.U64.parse(new Uint8Array(i.commandResults[0].returnValues[1].bcs)),c=E.U64.parse(new Uint8Array(i.commandResults[0].returnValues[2].bcs));return{base_amount:o.toString(),quote_amount:a.toString(),deep_fee_amount:c.toString()}}async getQuoteQuantityOutInput(t,n,r){let s=new J;s.moveCall({target:`${this.sdk.sdkOptions.deepbook.published_at}::pool::${r?"get_quote_quantity_out":"get_quote_quantity_out_input_fee"}`,typeArguments:[t.baseCoin.coinType,t.quoteCoin.coinType],arguments:[s.object(t.address),s.pure.u64(n),s.object(he)]});let i=await this.sdk.fullClient.sendSimulationTransaction(s,this.sdk.senderAddress);if(!i.commandResults||!i.commandResults[0]||!i.commandResults[0].returnValues||!i.commandResults[0].returnValues[0])throw new Error(`Transaction failed: ${i.effects?.status?.error||"Unknown error"}`);let o=E.U64.parse(new Uint8Array(i.commandResults[0].returnValues[0].bcs)),a=E.U64.parse(new Uint8Array(i.commandResults[0].returnValues[1].bcs)),c=E.U64.parse(new Uint8Array(i.commandResults[0].returnValues[2].bcs));return{base_amount:o.toString(),quote_amount:a.toString(),deep_fee_amount:c.toString()}}async getAccount(t,n,r=new J){let s=r.moveCall({target:`${this.sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::balance_manager`,arguments:[r.object(t)],typeArguments:[n.baseCoin.coinType,n.quoteCoin.coinType]}),i=[n];for(let d=0;d<i.length;d++){let p=i[d];r.moveCall({target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::order_trader::get_account_id`,arguments:[r.object(p.address),typeof s=="string"?r.object(s):s],typeArguments:[p.baseCoin.coinType,p.quoteCoin.coinType]})}let o=await this._sdk.fullClient.simulateTransaction({transaction:r,checksEnabled:!1,include:{events:!0,json:!0}}),a=o.Transaction??o.FailedTransaction;if(!a?.events?.length)return null;let c,u=[];return a.events.forEach((d,p)=>{c=d?.json;let f=c.account.open_orders.contents,g=c.account.owed_balances,b=c.account.settled_balances,_=c.account.unclaimed_rebates,I=c.account.taker_volume;u.push({balance_manager_id:s,open_orders:f,owed_balances:g,settled_balances:b,unclaimed_rebates:_,taker_volume:I,poolInfo:i[p]})}),u}async withdrawSettledAmounts({poolInfo:t,marginManager:n},r=new J){return r.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::pool_proxy::withdraw_settled_amounts`,arguments:[r.object(this.sdk.sdkOptions.margin_utils.margin_registry_id),r.object(n),r.object(t.address)],typeArguments:[t.baseCoin.coinType,t.quoteCoin.coinType]}),r}#t(t,n,r){if(n<=0||r<0)throw new Error("Scalar must be positive and decimals must be non-negative");let s=BigInt(n),i=t/s,o=t%s;if(o===0n)return i.toString();let a=n.toString().length-1,d=o.toString().padStart(a,"0").slice(0,r).replace(/0+$/,"");return d?`${i}.${d}`:i.toString()}async getMarginPoolStateForInterest(t){if(!t)throw new Error("marginPoolId is required");let n=await this.sdk.fullClient.getObject({objectId:t,include:{json:!0}});if(!n?.object?.json)throw new Error(`Failed to fetch margin pool: ${t}`);let r=n.object.json,s=r.state,i=r.config,o=i.interest_config,a=i.margin_pool_config;return{poolState:{total_supply:BigInt(s.total_supply),total_borrow:BigInt(s.total_borrow),supply_shares:BigInt(s.supply_shares),borrow_shares:BigInt(s.borrow_shares),last_update_timestamp:BigInt(s.last_update_timestamp)},interestConfig:{base_rate:BigInt(o.base_rate),base_slope:BigInt(o.base_slope),optimal_utilization:BigInt(o.optimal_utilization),excess_slope:BigInt(o.excess_slope)},marginPoolConfig:{protocol_spread:BigInt(a.protocol_spread),max_utilization_rate:BigInt(a.max_utilization_rate),min_borrow:BigInt(a.min_borrow),supply_cap:BigInt(a.supply_cap)}}}async getChainTimestamp(){let{response:t}=await this.sdk.fullClient.ledgerService.getServiceInfo({}),n=t.timestamp;if(!n)throw new Error("No timestamp in service info");return BigInt(n.seconds)*1000n+BigInt(n.nanos)/1000000n}async batchGetBorrowedShares({account:t,marginManagerList:n}){let r=new J;return n.forEach(i=>{r.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::borrowed_shares`,arguments:[r.object(i.marginManagerId)],typeArguments:[i.baseCoinType,i.quoteCoinType]})}),(await this.sdk.fullClient.sendSimulationTransaction(r,t)).commandResults.map((i,o)=>{let a=E.U64.parse(new Uint8Array(i.returnValues[0].bcs)),c=E.U64.parse(new Uint8Array(i.returnValues[1].bcs));return{marginManagerId:n[o].marginManagerId,baseBorrowedShare:a,quoteBorrowedShare:c}})}async betchGetOpenOrders({account:t,marginManagerList:n},r=new J,s=!1){n.forEach(g=>{let b=r.moveCall({target:`${this.sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::balance_manager`,arguments:[r.object(g.marginManagerId)],typeArguments:[g.baseCoinType,g.quoteCoinType]});r.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::account_open_orders`,arguments:[r.object(g.poolId),r.object(b)],typeArguments:[g.baseCoinType,g.quoteCoinType]}),r.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::get_account_id_with_margin_manager`,arguments:[r.object(g.marginManagerId),r.object(g.poolId)],typeArguments:[g.baseCoinType,g.quoteCoinType]}),r.moveCall({target:`${this._sdk.sdkOptions.margin_utils.published_at}::margin_utils::locked_balance_with_margin_manager`,arguments:[r.object(g.marginManagerId),r.object(g.poolId)],typeArguments:[g.baseCoinType,g.quoteCoinType]})});let i=await this.sdk.fullClient.simulateTransaction({transaction:r,checksEnabled:!1,include:{events:!0,commandResults:!0,json:!0}}),o=i.Transaction?.events.map((g,b)=>({marginManagerId:n[b].marginManagerId,...g?.json?.account?.settled_balances||{}})),a=i.commandResults.filter((g,b)=>(b-1)%4===0),c=E.struct("VecSet",{constants:E.vector(E.U128)}),u=[];a.forEach((g,b)=>{let _=c.parse(g.returnValues[0].bcs).constants;_.length>0&&_.forEach(I=>{u.push({pool:{pool_id:n[b].poolId,baseCoinType:n[b].baseCoinType,quoteCoinType:n[b].quoteCoinType},marginManagerId:n[b].marginManagerId,orderId:I})})});let d=i.commandResults.filter((g,b)=>(b-3)%4===0),p=[];d.forEach((g,b)=>{p.push({marginManagerId:n[b].marginManagerId,base:E.U64.parse(g.returnValues[0].bcs),quote:E.U64.parse(g.returnValues[1].bcs),deep:E.U64.parse(g.returnValues[2].bcs)})});let f=[];return u.forEach((g,b)=>{let _=this.sdk.DeepbookUtils.decodeOrderId(BigInt(g.orderId));f.push({...g,price:_.price.toString(),isBid:_.isBid})}),{openOrders:f,settledBalances:o,lockedBalances:p}}async getSingleMarginManagerOpenOrders({account:t,marginManagerId:n,poolId:r,baseCoinType:s,quoteCoinType:i,baseMarginPool:o,quoteMarginPool:a}){let c=new J,u=c.moveCall({target:`${this.sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::balance_manager`,arguments:[c.object(n)],typeArguments:[s,i]});c.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::account_open_orders`,arguments:[c.object(r),u],typeArguments:[s,i]});let d=E.struct("VecSet",{constants:E.vector(E.U128)}),f=(await this.sdk.fullClient.simulateTransaction({transaction:c,checksEnabled:!1,include:{commandResults:!0,json:!0}})).commandResults.find(C=>C?.returnValues?.[0]?.[1]==="0x2::vec_set::VecSet<u128>"),g=d.parse(new Uint8Array(f.returnValues[0].bcs)).constants,b=[];g.forEach(C=>{b.push({pool:{pool_id:r,baseCoinType:s,quoteCoinType:i},marginManagerId:n,orderId:C})});let _=b?.length>0?await this.sdk.DeepbookUtils.getOrderInfoList(b,t)||[]:[],I=[];b.forEach((C,B)=>{let L=this.sdk.DeepbookUtils.decodeOrderId(BigInt(C.orderId)),j=_.find(q=>q.order_id===C.orderId)||{};I.push({...C,...j,price:L.price.toString(),isBid:L.isBid})});let A={marginManagerId:n,base:"0",quote:"0",deep:"0"};if(_?.length>0){let C=new J,B=C.moveCall({target:`${this.sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::balance_manager`,arguments:[C.object(n)],typeArguments:[s,i]});C.moveCall({target:`${this._sdk.sdkOptions.deepbook.package_id}::pool::locked_balance`,arguments:[C.object(r),B],typeArguments:[s,i]});let j=(await this.sdk.fullClient.simulateTransaction({transaction:C,checksEnabled:!1,include:{commandResults:!0,json:!0}})).commandResults.find(q=>q?.returnValues?.length===3);A={...A,base:E.U64.parse(new Uint8Array(j.returnValues[0].bcs)),quote:E.U64.parse(new Uint8Array(j.returnValues[1].bcs)),deep:E.U64.parse(new Uint8Array(j.returnValues[2].bcs))}}let M={base:"0",quote:"0",deep:"0"};try{let C=new J,B=C.moveCall({target:`${this.sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::balance_manager`,arguments:[C.object(n)],typeArguments:[s,i]});C.moveCall({target:`${this._sdk.sdkOptions.deepbook_utils.published_at}::order_trader::get_account_id`,arguments:[C.object(r),B],typeArguments:[s,i]});let L=await this.sdk.fullClient.simulateTransaction({transaction:C,checksEnabled:!1,include:{events:!0,json:!0}});M={marginManagerId:n,...M,...L?.Transaction?.events?.json?.account?.settled_balances||{}}}catch(C){console.log("\u{1F680} ~ MarginUtilsModule ~ getSingleMarginManagerPosRelevantData ~ error:",C)}return{openOrders:I,settledBalances:[M],lockedBalances:[A]}}async getAllPosRelevantData({account:t,marginManagerList:n}){try{let{openOrders:r,settledBalances:s,lockedBalances:i}=await this.betchGetOpenOrders({account:t,marginManagerList:n}),o=await this.batchGetBorrowedShares({account:t,marginManagerList:n}),a=new J,c=0,u=[];n.forEach(f=>{a.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::base_balance`,arguments:[a.object(f.marginManagerId)],typeArguments:[f.baseCoinType,f.quoteCoinType]}),u[c]={type:"base_balance",marginManagerId:f.marginManagerId},c++,a.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::quote_balance`,arguments:[a.object(f.marginManagerId)],typeArguments:[f.baseCoinType,f.quoteCoinType]}),u[c]={type:"quote_balance",marginManagerId:f.marginManagerId},c++,a.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_published_at}::margin_manager::deep_balance`,arguments:[a.object(f.marginManagerId)],typeArguments:[f.baseCoinType,f.quoteCoinType]}),u[c]={type:"deep_balance",marginManagerId:f.marginManagerId},c++;let g=o?.find(b=>b.marginManagerId===f.marginManagerId);if(g&&(Number(g.baseBorrowedShare)>0||Number(g.quoteBorrowedShare)>0)){let b=g.baseBorrowedShare,_=g.quoteBorrowedShare,I=!!R(b).gt(R(_)),A=I?f.baseMarginPool:f.quoteMarginPool,M=I?b:_;a.moveCall({target:`${this._sdk.sdkOptions.deepbook.margin_package_id}::margin_pool::borrow_shares_to_amount`,arguments:[a.object(A),a.pure.u64(BigInt(M)),a.object.clock()],typeArguments:[I?f?.baseCoinType:f?.quoteCoinType]}),u[c]={type:I?"borrow_base_amount":"borrow_quote_amount",marginManagerId:f.marginManagerId},c++}});let d=await this.sdk.fullClient.simulateTransaction({transaction:a,checksEnabled:!1,include:{commandResults:!0,events:!0,json:!0}}),p=Object.fromEntries(n.map(f=>[f.marginManagerId,{...f,quote_balance:"0",base_balance:"0",deep_balance:"0",borrow_base_amount:"0",borrow_quote_amount:"0",open_orders:[],settled_balances:{base:"0",quote:"0",deep:"0"}}]));return d?.commandResults?.forEach((f,g)=>{let b=u[g],_=E.U64.parse(new Uint8Array(f.returnValues[0].bcs));p[b.marginManagerId]={...p[b.marginManagerId],[b.type]:_}}),r.forEach(f=>{p[f.marginManagerId].open_orders.push(f)}),s.forEach(f=>{p[f.marginManagerId].settled_balances=f}),i.forEach(f=>{p[f.marginManagerId].locked_balances=f}),Object.values(p).forEach(f=>{f.locked_balances&&f.settled_balances&&(f.locked_balances={...f.locked_balances,base:R(f.locked_balances.base||"0").minus(R(f.settled_balances.base||"0")).toString(),quote:R(f.locked_balances.quote||"0").minus(R(f.settled_balances.quote||"0")).toString(),deep:R(f.locked_balances.deep||"0").minus(R(f.settled_balances.deep||"0")).toString()})}),p}catch(r){throw new Error(`Failed to get all pos relevant data: ${r instanceof Error?r.message:String(r)}`)}}async addConditionalOrder(t,n){let{margin_utils:r}=this.sdk.sdkOptions,{global_config_id:s,versioned_id:i,margin_registry_id:o}=r,{margin_manager_id:a,pool_id:c,base_coin:u,quote_coin:d,conditional_order_id:p,pending_order:f,is_trigger_below_price:g,trigger_price:b}=t,_=await this.pythPrice.updatePythPriceIDs([u.feed,d.feed],n),I=_.get(u.feed),A=_.get(d.feed);if(!I||!A)throw new Error("Failed to get price feed object IDs");let M=n.moveCall({target:`${r.published_at}::margin_utils::new_condition`,arguments:[n.pure.bool(g),n.pure.u64(b)]}),C=this.newPendingOrder(f,n);n.moveCall({target:`${r.published_at}::margin_utils::add_conditional_order`,arguments:[n.object(s),n.object(i),n.object(a),n.object(c),n.object(I),n.object(A),n.object(o),typeof p=="string"?n.pure.u64(BigInt(p)):p,M,C,n.object(Cu)],typeArguments:[u.coinType,d.coinType]})}newPendingOrder(t,n){let{margin_utils:r}=this.sdk.sdkOptions;if("price"in t){let{client_order_id:s,order_type:i,self_matching_option:o,price:a,quantity:c,is_bid:u,pay_with_deep:d,expire_timestamp:p}=t;return n.moveCall({target:`${r.published_at}::margin_utils::new_pending_limit_order`,arguments:[n.pure.u64(s),n.pure.u8(i),n.pure.u8(o),n.pure.u64(a),n.pure.u64(c),n.pure.bool(u),n.pure.bool(d),n.pure.u64(p)]})}else{let{client_order_id:s,self_matching_option:i,quantity:o,is_bid:a,pay_with_deep:c}=t;return n.moveCall({target:`${r.published_at}::margin_utils::new_pending_market_order`,arguments:[n.pure.u64(s),n.pure.u8(i),n.pure.u64(o),n.pure.bool(a),n.pure.bool(c)]})}}cancelAllConditionalOrders(t,n){let{margin_utils:r}=this.sdk.sdkOptions,{global_config_id:s,versioned_id:i}=r,{margin_manager_id:o,base_coin_type:a,quote_coin_type:c}=t;n.moveCall({target:`${r.published_at}::margin_utils::cancel_all_conditional_orders`,arguments:[n.object(s),n.object(i),n.object(o),n.object(Cu)],typeArguments:[a,c]})}cancelConditionalOrders(t,n){let{margin_utils:r}=this.sdk.sdkOptions,{global_config_id:s,versioned_id:i}=r,{margin_manager_id:o,base_coin_type:a,quote_coin_type:c,conditional_order_id:u}=t;n.moveCall({target:`${r.published_at}::margin_utils::cancel_conditional_order`,arguments:[n.object(s),n.object(i),n.object(o),n.pure.u64(u),n.object(Cu)],typeArguments:[a,c]})}async getConditionalOrders(t,n){let{deepbook:r}=this.sdk.sdkOptions;t.forEach(u=>{let{margin_manager_id:d,base_coin_type:p,quote_coin_type:f,conditional_order_ids:g}=u;g.forEach(b=>{n.moveCall({target:`${r.margin_package_id}::margin_manager::conditional_order`,arguments:[n.object(d),n.pure.u64(b)],typeArguments:[p,f]})})});let s=await this.sdk.fullClient.sendSimulationTransaction(n,X("0x0"));if(!s?.commandResults)return[];let i=E.struct("Condition",{trigger_below_price:E.bool(),trigger_price:E.u64()}),o=E.struct("PendingOrder",{is_limit_order:E.bool(),client_order_id:E.u64(),order_type:E.option(E.u8()),self_matching_option:E.u8(),price:E.option(E.u64()),quantity:E.u64(),is_bid:E.bool(),pay_with_deep:E.bool(),expire_timestamp:E.option(E.u64())}),a=E.struct("ConditionalOrder",{conditional_order_id:E.u64(),condition:i,pending_order:o}),c=u=>{if(u.length===0||u.length===1&&u[0]===0)return null;try{return a.parse(u)}catch{if(u[0]===1&&u.length>1)try{return a.parse(u.subarray(1))}catch{return null}return null}};return s.commandResults.map(u=>{if(!u?.returnValues?.[0]?.bcs)return null;try{let d=u.returnValues[0].bcs,p=c(d);if(!p)return null;let f=this.normalizeConditionalOrder(p);return t.forEach(g=>{g.conditional_order_ids.find(_=>_===f.conditional_order_id)&&(f.margin_manager_id=g.margin_manager_id,f.base_coin_type=g.base_coin_type,f.quote_coin_type=g.quote_coin_type)}),f}catch{return null}})}async getConditionalOrderIds(t,n){n=n||new J;let{deepbook:r}=this.sdk.sdkOptions,s={};return t.forEach(o=>{let{margin_manager_id:a,base_coin_type:c,quote_coin_type:u}=o;n.moveCall({target:`${r.margin_package_id}::margin_manager::conditional_order_ids`,arguments:[n.object(a)],typeArguments:[c,u]})}),(await this.sdk.fullClient.sendSimulationTransaction(n,X("0x0"))).commandResults.forEach((o,a)=>{if(o?.returnValues?.[0]?.bcs){let c=new Uint8Array(o.returnValues[0].bcs),u=E.vector(E.u64()).parse(c),d={margin_manager_id:t[a].margin_manager_id,base_coin_type:t[a].base_coin_type,quote_coin_type:t[a].quote_coin_type,conditional_order_ids:u.map(p=>p.toString())};s[t[a].margin_manager_id]=d}}),s}normalizeConditionalOrder(t){let n=r=>typeof r=="bigint"?String(r):r;return{margin_manager_id:"",base_coin_type:"",quote_coin_type:"",conditional_order_id:n(t.conditional_order_id),condition:{trigger_below_price:t.condition.trigger_below_price,trigger_price:n(t.condition.trigger_price)},pending_order:{is_limit_order:t.pending_order.is_limit_order,client_order_id:n(t.pending_order.client_order_id),order_type:t.pending_order.order_type,self_matching_option:t.pending_order.self_matching_option,price:t.pending_order.price,quantity:n(t.pending_order.quantity),is_bid:t.pending_order.is_bid,pay_with_deep:t.pending_order.pay_with_deep,expire_timestamp:t.pending_order.expire_timestamp}}}async getPoolsPriceBounds(t){let n=new J;for(let o=0;o<t.length;o++)n.moveCall({target:`${this.sdk.sdkOptions.deepbook.margin_published_at}::margin_registry::get_price_bounds`,arguments:[n.object(this.sdk.sdkOptions.margin_utils.margin_registry_id),n.pure.id(t[o].poolId),n.object(he)]});let r=await this.sdk.fullClient.simulateTransaction({transaction:n,checksEnabled:!1,include:{commandResults:!0,json:!0}}),s=[];for(let o=0;o<t.length;o++){let a=9-t[o].baseDecimals+t[o].quoteDecimals,c=E.U64.parse(r?.commandResults?.[o]?.returnValues?.[0]?.bcs),u=E.U64.parse(r?.commandResults?.[o]?.returnValues?.[1]?.bcs);s.push({pool_id:t[o].poolId,lower_bound:R(c).div(10**a).toString(),upper_bound:R(u).div(10**a).toString()})}let i=new Map;return s.forEach(o=>{i.set(o.pool_id,o)}),{priceBounds:s,priceBoundsMap:i}}};var Qx="https://graphql.mainnet.sui.io/graphql",eC="https://graphql.testnet.sui.io/graphql",Ru=class{_rpcModule;_deepbookUtils;_marginUtils;_pythPrice;_sdkOptions;_senderAddress="";constructor(t){this._sdkOptions=t,this._rpcModule=af(new Ko({baseUrl:t.fullRpcUrl,network:t.network==="testnet"?"testnet":"mainnet"}),new Dp({network:t.network,url:t.network==="testnet"?eC:Qx}),t.network==="testnet"?"testnet":"mainnet",new wp({url:t.fullRpcUrl,network:t.network})),this._deepbookUtils=new xu(this),this._marginUtils=new Nu(this),this._pythPrice=new wo(this),mf(this._sdkOptions)}get senderAddress(){return this._senderAddress}set senderAddress(t){this._senderAddress=t}get DeepbookUtils(){return this._deepbookUtils}get MarginUtils(){return this._marginUtils}get PythPrice(){return this._pythPrice}get fullClient(){return this._rpcModule}get sdkOptions(){return this._sdkOptions}};var tC=(s=>(s[s.NO_RESTRICTION=0]="NO_RESTRICTION",s[s.IMMEDIATE_OR_CANCEL=1]="IMMEDIATE_OR_CANCEL",s[s.FILL_OR_KILL=2]="FILL_OR_KILL",s[s.POST_ONLY=3]="POST_ONLY",s))(tC||{}),nC=(r=>(r[r.SELF_MATCHING_ALLOWED=0]="SELF_MATCHING_ALLOWED",r[r.CANCEL_TAKER=1]="CANCEL_TAKER",r[r.CANCEL_MAKER=2]="CANCEL_MAKER",r))(nC||{});var oz=Ru;export{Cu as CLOCK_ADDRESS,Au as CachedContent,Ru as CetusClmmSDK,Xq as ClmmExpectSwapModule,Kq as ClmmFetcherModule,Wq as ClmmIntegratePoolModule,Hq as ClmmIntegratePoolV2Module,Jq as ClmmIntegrateRouterModule,Zq as ClmmIntegrateRouterWithPartnerModule,Yq as ClmmIntegrateUtilsModule,Gt as CoinAssist,Qq as CoinInfoAddress,eG as CoinStoreAddress,vf as DEEP_SCALAR,sq as DEFAULT_GAS_BUDGET_FOR_MERGE,rq as DEFAULT_GAS_BUDGET_FOR_SPLIT,aq as DEFAULT_GAS_BUDGET_FOR_STAKE,iq as DEFAULT_GAS_BUDGET_FOR_TRANSFER,oq as DEFAULT_GAS_BUDGET_FOR_TRANSFER_SUI,uq as DEFAULT_NFT_TRANSFER_GAS_FEE,nG as DeepbookClobV2Moudle,tG as DeepbookCustodianV2Moudle,rG as DeepbookEndpointsV2Moudle,xu as DeepbookUtilsModule,iG as ERROR_HANDLING_RPC_LIST,gr as FLOAT_SCALAR,jr as FLOAT_SCALING,cq as GAS_SYMBOL,hf as GAS_TYPE_ARG,xb as GAS_TYPE_ARG_LONG,Nu as MarginUtilsModule,J$ as NORMALIZED_SUI_COIN_TYPE,tC as OrderType,lq as SUI_SYSTEM_STATE_OBJECT_ID,nC as SelfMatchingOption,Hx as YEAR_MS,Eb as addHexPrefix,vq as asIntN,bq as asUintN,P$ as bufferToHex,Cb as cacheTime1min,_o as cacheTime24h,Nb as cacheTime5min,pG as calc100PercentRepay,Kx as calcDebtDetail,Zx as calcInterestRate,Jx as calcUtilizationRate,lG as calculateRiskRatio,U$ as checkAddress,Ib as composeType,R as d,gf as decimalsMultiplier,oz as default,W$ as extractAddressFromType,Ls as extractStructTagFromType,H$ as fixCoinType,xi as fixDown,Ux as fixSuiObjectId,Ci as fromDecimalsAmount,sG as getDefaultSuiInputType,bf as getFutureTime,$x as getMoveObject,Px as getObjectDeletedResponse,Pb as getObjectFields,Ub as getObjectId,Lx as getObjectNotExistsResponse,Vx as getObjectReference,Db as getSuiObjectData,L$ as hexToNumber,V$ as hexToString,z$ as isSortedSymbols,Oq as isSuiObjectResponse,yf as maxDecimal,Gb as mulRoundUp,ff as normalizeCoinType,mf as patchFixSuiObjectId,Tq as printTransaction,pf as removeHexPrefix,_q as secretKeyToEd25519Keypair,wq as secretKeyToSecp256k1Keypair,D$ as shortAddress,Nx as shortString,Rb as sleepTime,Rx as toBuffer,Vs as toDecimalsAmount,Mx as utf8to16,qb as wrapDeepBookMarginPoolInfo,$b as wrapDeepBookPoolInfo};
|
|
1039
1039
|
/*! Bundled license information:
|
|
1040
1040
|
|
|
1041
1041
|
@scure/base/index.js:
|