@stelis/say-ur-intent 0.0.3 → 0.0.5
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/README.md +21 -8
- package/dist/core/action/contractNameRegistry.js +42 -0
- package/dist/core/action/ptbVisualizationProducer.js +6 -1
- package/dist/core/action/signableAdapterContract.js +2 -1
- package/dist/core/activity/sqliteActivityStore.js +36 -2
- package/dist/core/activity/sqliteActivityStoreSchema.js +54 -0
- package/dist/core/session/keyedRecordStore.js +18 -0
- package/dist/core/session/sessionRecordStore.js +33 -0
- package/dist/core/session/sessionStore.js +28 -11
- package/dist/core/session/settingsSessions.js +3 -1
- package/dist/core/session/sqliteSessionStore.js +175 -0
- package/dist/core/session/sqliteTransactionMaterialStore.js +64 -0
- package/dist/core/session/transactionMaterialStore.js +60 -43
- package/dist/core/session/walletIdentitySessions.js +4 -2
- package/dist/review-app/analysis.js +1 -1
- package/dist/review-app/mermaid-parser.core-DkwUYTPl.js +1 -1
- package/dist/review-app/review.js +32 -32
- package/dist/review-app/walletStatus-YODe5Y4P.js +7 -0
- package/dist/runtime/reviewServerAcquire.js +68 -81
- package/dist/runtime/smokeMainnetRead.js +8 -5
- package/dist/runtime/start.js +16 -16
- package/docs/AGENT_BEHAVIOR.md +2 -2
- package/docs/FRONTEND_POLICY.md +12 -2
- package/docs/LOCAL_DB_ARCHITECTURE.md +24 -1
- package/docs/MCP_SETUP.md +4 -3
- package/docs/MCP_TOOLS.md +2 -2
- package/docs/SDK_API.md +1 -1
- package/package.json +2 -2
- package/protocols/deepbook-v3.md +4 -4
- package/dist/review-app/walletStatus-CcojOdGy.js +0 -7
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
var e=/^(?!.*(^(?!@)|[-.@])($|[-.@]))(?:[a-z0-9-]{0,63}(?:\.[a-z0-9-]{0,63})*)?@[a-z0-9-]{0,63}$/i,t=/^(?!.*(^|[-.])($|[-.]))(?:[a-z0-9-]{0,63}\.)+sui$/i,n=235;function r(r){return r.length>n?!1:r.includes(`@`)?e.test(r):t.test(r)}var i=/^([a-z0-9]+(?:-[a-z0-9]+)*)$/,a=/^\d+$/,o=64,s=`/`,c=e=>{let t=e.split(s);if(t.length<2||t.length>3)return!1;let[n,c,l]=t;return l!==void 0&&!a.test(l)||!r(n)?!1:i.test(c)&&c.length<o},l=e=>{let t=e.split(/::|<|>|,/);for(let e of t)if(e.includes(s)&&!c(e))return!1;return mt(e)};function u(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 d(e){let t=0n,n=0n,r=0;for(;;){if(r>=e.length)throw Error(`ULEB decode error: buffer overflow`);let i=e[r];if(r+=1,t+=BigInt(i&127)<<n,!(i&128))break;n+=7n}if(t>BigInt(2**53-1))throw Error(`ULEB decode error: value exceeds MAX_SAFE_INTEGER`);return{value:Number(t),length:r}}var f=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}=d(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 p(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`&&`BYTES_PER_ELEMENT`in e&&e.BYTES_PER_ELEMENT===1}function m(e,t){return Array.isArray(t)?t.length===0?!0:e?t.every(e=>typeof e==`string`):t.every(e=>Number.isSafeInteger(e)):!1}function h(e){if(typeof e!=`function`)throw TypeError(`function expected`);return!0}function g(e,t){if(typeof t!=`string`)throw TypeError(`${e}: string expected`);return!0}function _(e){if(typeof e!=`number`)throw TypeError(`number expected, got ${typeof e}`);if(!Number.isSafeInteger(e))throw RangeError(`invalid integer: ${e}`)}function v(e){if(!Array.isArray(e))throw TypeError(`array expected`)}function ee(e,t){if(!m(!0,t))throw TypeError(`${e}: array of strings expected`)}function y(e,t){if(!m(!1,t))throw TypeError(`${e}: array of numbers expected`)}function b(...e){let t=e=>e,n=(e,t)=>n=>e(t(n));return{encode:e.map(e=>e.encode).reduceRight(n,t),decode:e.map(e=>e.decode).reduce(n,t)}}function x(e){let t=typeof e==`string`?e.split(``):e,n=t.length;ee(`alphabet`,t);let r=new Map(t.map((e,t)=>[e,t]));return{encode:r=>(v(r),r.map(r=>{if(!Number.isSafeInteger(r)||r<0||r>=n)throw Error(`alphabet.encode: digit index outside alphabet "${r}". Allowed: ${e}`);return t[r]})),decode:t=>(v(t),t.map(t=>{g(`alphabet.decode`,t);let n=r.get(t);if(n===void 0)throw Error(`Unknown letter: "${t}". Allowed: ${e}`);return n}))}}function S(e=``){return g(`join`,e),{encode:t=>(ee(`join.decode`,t),t.join(e)),decode:t=>(g(`join.decode`,t),t.split(e))}}function C(e,t=`=`){return _(e),g(`padding`,t),{encode(n){for(ee(`padding.encode`,n);n.length*e%8;)n.push(t);return n},decode(n){ee(`padding.decode`,n);let r=n.length;if(r*e%8)throw 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 Error(`padding: invalid, string has too much padding`);return n.slice(0,r)}}}function te(e){return h(e),{encode:e=>e,decode:t=>e(t)}}function ne(e,t,n){if(t<2)throw RangeError(`convertRadix: invalid from=${t}, base cannot be less than 2`);if(n<2)throw RangeError(`convertRadix: invalid to=${n}, base cannot be less than 2`);if(v(e),!e.length)return[];let r=0,i=[],a=Array.from(e,e=>{if(_(e),e<0||e>=t)throw Error(`invalid integer: ${e}`);return e}),o=a.length;for(;;){let e=0,s=!0;for(let i=r;i<o;i++){let o=a[i],c=t*e,l=c+o;if(!Number.isSafeInteger(l)||c/t!==e||l-o!==c)throw Error(`convertRadix: carry overflow`);let u=l/n;e=l%n;let d=Math.floor(u);if(a[i]=d,!Number.isSafeInteger(d)||d*n+e!==l)throw Error(`convertRadix: carry overflow`);if(s)d?s=!1:r=i;else continue}if(i.push(e),s)break}for(let t=0;t<e.length-1&&e[t]===0;t++)i.push(0);return i.reverse()}var re=(e,t)=>t===0?e:re(t,e%t),ie=(e,t)=>e+(t-re(e,t)),ae=(()=>{let e=[];for(let t=0;t<40;t++)e.push(2**t);return e})();function oe(e,t,n,r){if(v(e),t<=0||t>32)throw RangeError(`convertRadix2: wrong from=${t}`);if(n<=0||n>32)throw RangeError(`convertRadix2: wrong to=${n}`);if(ie(t,n)>32)throw Error(`convertRadix2: carry overflow from=${t} to=${n} carryBits=${ie(t,n)}`);let i=0,a=0,o=ae[t],s=ae[n]-1,c=[];for(let r of e){if(_(r),r>=o)throw Error(`convertRadix2: invalid data word=${r} from=${t}`);if(i=i<<t|r,a+t>32)throw Error(`convertRadix2: carry overflow pos=${a} from=${t}`);for(a+=t;a>=n;a-=n)c.push((i>>a-n&s)>>>0);let e=ae[a];if(e===void 0)throw Error(`invalid carry`);i&=e-1}if(i=i<<n-a&s,!r&&a>=t)throw Error(`Excess padding`);if(!r&&i>0)throw Error(`Non-zero padding: ${i}`);return r&&a>0&&c.push(i>>>0),c}function se(e){return _(e),{encode:t=>{if(!p(t))throw TypeError(`radix.encode input should be Uint8Array`);return ne(Array.from(t),256,e)},decode:t=>(y(`radix.decode`,t),Uint8Array.from(ne(t,e,256)))}}function ce(e,t=!1){if(_(e),e<=0||e>32)throw RangeError(`radix2: bits should be in (0..32]`);if(ie(8,e)>32||ie(e,8)>32)throw RangeError(`radix2: carry overflow`);return{encode:n=>{if(!p(n))throw TypeError(`radix2.encode input should be Uint8Array`);return oe(Array.from(n),8,e,!t)},decode:n=>(y(`radix2.decode`,n),Uint8Array.from(oe(n,e,8,t)))}}function le(e){return h(e),function(...t){try{return e.apply(null,t)}catch{}}}b(ce(4),x(`0123456789ABCDEF`),S(``)),b(ce(5),x(`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567`),C(5),S(``)),b(ce(5),x(`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567`),S(``)),b(ce(5),x(`0123456789ABCDEFGHIJKLMNOPQRSTUV`),C(5),S(``)),b(ce(5),x(`0123456789ABCDEFGHIJKLMNOPQRSTUV`),S(``)),b(ce(5),x(`0123456789ABCDEFGHJKMNPQRSTVWXYZ`),S(``),te(e=>e.toUpperCase().replace(/O/g,`0`).replace(/[IL]/g,`1`)));var ue=typeof Uint8Array.from([]).toBase64==`function`&&typeof Uint8Array.fromBase64==`function`;ue||b(ce(6),x(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`),C(6),S(``)),b(ce(6),x(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`),S(``)),ue||b(ce(6),x(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`),C(6),S(``)),b(ce(6),x(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`),S(``));var de=Object.freeze((e=>b(se(58),x(e),S(``)))(`123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz`)),fe=b(x(`qpzry9x8gf2tvdw0s3jn54khce6mua7l`),S(``)),pe=[996825010,642813549,513874426,1027748829,705979059];function me(e){let t=e>>25,n=(e&33554431)<<5;for(let e=0;e<pe.length;e++)(t>>e&1)==1&&(n^=pe[e]);return n}function he(e,t,n=1){let r=e.length,i=1;for(let t=0;t<r;t++){let n=e.charCodeAt(t);if(n<33||n>126)throw Error(`Invalid prefix (${e})`);i=me(i)^n>>5}i=me(i);for(let t=0;t<r;t++)i=me(i)^e.charCodeAt(t)&31;for(let e of t)i=me(i)^e;for(let e=0;e<6;e++)i=me(i);return i^=n,fe.encode(oe([i%ae[30]],30,5,!1))}function ge(e){let t=e===`bech32`?1:734539939,n=ce(5),r=n.decode,i=n.encode,a=le(r);function o(e,n,r=90){g(`bech32.encode prefix`,e),p(n)&&(n=Array.from(n)),y(`bech32.encode`,n);let i=e.length;if(i===0)throw TypeError(`Invalid prefix length ${i}`);let a=i+7+n.length;if(r!==!1&&a>r)throw TypeError(`Length ${a} exceeds limit ${r}`);let o=e.toLowerCase(),s=he(o,n,t);return`${o}1${fe.encode(n)}${s}`}function s(e,n=90){g(`bech32.decode input`,e);let r=e.length;if(r<8||n!==!1&&r>n)throw TypeError(`invalid string length: ${r} (${e}). Expected (8..${n})`);let i=e.toLowerCase();if(e!==i&&e!==e.toUpperCase())throw Error(`String must be lowercase or uppercase`);let a=i.lastIndexOf(`1`);if(a===0||a===-1)throw Error(`Letter "1" must be present between prefix and data only`);let o=i.slice(0,a),s=i.slice(a+1);if(s.length<6)throw Error(`Data must be at least 6 characters long`);let c=fe.decode(s).slice(0,-6),l=he(o,c,t);if(!s.endsWith(l))throw Error(`Invalid checksum in ${e}: expected "${l}"`);return{prefix:o,words:c}}let c=le(s);function l(e){let{prefix:t,words:n}=s(e,!1);return{prefix:t,words:n,bytes:r(n)}}function u(e,t){return o(e,i(t))}return{encode:o,decode:s,encodeFromBytes:u,decodeToBytes:l,decodeUnsafe:c,fromWords:r,fromWordsUnsafe:a,toWords:i}}var _e=Object.freeze(ge(`bech32`));ge(`bech32m`),``.isWellFormed,typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`||b(ce(4),x(`0123456789abcdef`),S(``),te(e=>{if(typeof e!=`string`||e.length%2!=0)throw TypeError(`hex.decode: expected string, got ${typeof e} with length ${e.length}`);return e.toLowerCase()}));var ve=e=>de.encode(e),ye=e=>de.decode(e);function w(e){return Uint8Array.from(atob(e),e=>e.charCodeAt(0))}var be=8192;function T(e){if(e.length<be)return btoa(String.fromCharCode(...e));let t=``;for(var n=0;n<e.length;n+=be){let r=e.slice(n,n+be);t+=String.fromCharCode(...r)}return btoa(t)}function xe(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(e=>parseInt(e,16))??[];if(r.length!==n.length/2)throw Error(`Invalid hex string ${e}`);return Uint8Array.from(r)}function Se(e){return e.reduce((e,t)=>e+t.toString(16).padStart(2,`0`),``)}function Ce(e,t){return Array.from({length:Math.ceil(e.length/t)},(n,r)=>e.slice(r*t,(r+1)*t))}function we(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var Te=class{constructor(e,t){if(typeof e!=`function`)throw 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=Me(t),this._batchScheduleFn=Ne(t),this._cacheKeyFn=Pe(t),this._cacheMap=Fe(t),this._batch=null,this.name=Ie(t)}load(e){if(e==null)throw TypeError(`The loader.load() function must be called with a value, but got: ${String(e)}.`);let t=Oe(this),n=this._cacheMap,r;if(n){r=this._cacheKeyFn(e);let i=n.get(r);if(i){let e=t.cacheHits||=[];return new Promise(t=>{e.push(()=>{t(i)})})}}t.keys.push(e);let i=new Promise((e,n)=>{t.callbacks.push({resolve:e,reject:n})});return n&&n.set(r,i),i}loadMany(e){if(!Le(e))throw 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(e=>e));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 e;t instanceof Error?(e=Promise.reject(t),e.catch(()=>{})):e=Promise.resolve(t),n.set(r,e)}}return this}},Ee=typeof process==`object`&&typeof process.nextTick==`function`?function(e){De||=Promise.resolve(),De.then(()=>{process.nextTick(e)})}:typeof setImmediate==`function`?function(e){setImmediate(e)}:function(e){setTimeout(e)},De;function Oe(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(()=>{ke(e,n)}),n}function ke(e,t){if(t.hasDispatched=!0,t.keys.length===0){je(t);return}let n;try{n=e._batchLoadFn(t.keys)}catch(n){return Ae(e,t,TypeError(`DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function errored synchronously: ${String(n)}.`))}if(!n||typeof n.then!=`function`)return Ae(e,t,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(e=>{if(!Le(e))throw 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(e)}.`);if(e.length!==t.keys.length)throw 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.\n\nKeys:\n${String(t.keys)}\n\nValues:\n${String(e)}`);je(t);for(let n=0;n<t.callbacks.length;n++){let r=e[n];r instanceof Error?t.callbacks[n].reject(r):t.callbacks[n].resolve(r)}}).catch(n=>{Ae(e,t,n)})}function Ae(e,t,n){je(t);for(let r=0;r<t.keys.length;r++)e.clear(t.keys[r]),t.callbacks[r].reject(n)}function je(e){if(e.cacheHits)for(let t=0;t<e.cacheHits.length;t++)e.cacheHits[t]()}function Me(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 TypeError(`maxBatchSize must be a positive number: ${t}`);return t}function Ne(e){let t=e&&e.batchScheduleFn;if(t===void 0)return Ee;if(typeof t!=`function`)throw TypeError(`batchScheduleFn must be a function: ${t}`);return t}function Pe(e){let t=e&&e.cacheKeyFn;if(t===void 0)return e=>e;if(typeof t!=`function`)throw TypeError(`cacheKeyFn must be a function: ${t}`);return t}function Fe(e){if(!(!e||e.cache!==!1))return null;let t=e&&e.cacheMap;if(t===void 0)return new Map;if(t!==null){let e=[`get`,`set`,`delete`,`clear`].filter(e=>t&&typeof t[e]!=`function`);if(e.length!==0)throw TypeError(`Custom cacheMap missing methods: `+e.join(`, `))}return t}function Ie(e){return e&&e.name?e.name:null}function Le(e){return typeof e==`object`&&!!e&&`length`in e&&typeof e.length==`number`&&(e.length===0||e.length>0&&Object.prototype.hasOwnProperty.call(e,e.length-1))}function Re(e){return e||=new Map,{all:e,on(t,n){let r=e.get(t);r?r.push(n):e.set(t,[n])},off(t,n){let r=e.get(t);r&&(n?r.splice(r.indexOf(n)>>>0,1):e.set(t,[]))},emit(t,n){let r=e.get(t);r&&r.slice().map(e=>{e(n)}),r=e.get(`*`),r&&r.slice().map(e=>{e(t,n)})}}}function ze(e,t){switch(t){case`base58`:return ve(e);case`base64`:return T(e);case`hex`:return Se(e);default:throw Error(`Unsupported encoding, supported values are: base64, hex`)}}function Be(e,t=[`<`,`>`]){let[n,r]=t,i=[],a=``,o=0;for(let t=0;t<e.length;t++){let s=e[t];if(s===n&&o++,s===r&&o--,o===0&&s===`,`){i.push(a.trim()),a=``;continue}a+=s}return i.push(a.trim()),i}var Ve=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 e=Math.min(this.maxSize,Math.max(this.size+t,this.size+this.allocateSize));if(t>e)throw 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=e;let n=new ArrayBuffer(this.size);new Uint8Array(n).set(new Uint8Array(this.dataView.buffer)),this.dataView=new DataView(n)}}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 He(BigInt(e),8).forEach(e=>this.write8(e)),this}write128(e){return He(BigInt(e),16).forEach(e=>this.write8(e)),this}write256(e){return He(BigInt(e),32).forEach(e=>this.write8(e)),this}writeULEB(e){return u(e).forEach(e=>this.write8(e)),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 ze(this.toBytes(),e)}};function He(e,t){let n=new Uint8Array(t),r=0;for(;e>0;)n[r]=Number(e%BigInt(256)),e/=BigInt(256),r+=1;return n}var Ue=class e{#e;#t;constructor(e){this.name=e.name,this.read=e.read,this.serializedSize=e.serializedSize??(()=>null),this.#e=e.write,this.#t=e.serialize??((e,t)=>{let n=new Ve({initialSize:this.serializedSize(e)??void 0,...t});return this.#e(e,n),n.toBytes()}),this.validate=e.validate??(()=>{})}write(e,t){this.validate(e),this.#e(e,t)}serialize(e,t){return this.validate(e),new Ke(this,this.#t(e,t))}parse(e){let t=new f(e);return this.read(t)}fromHex(e){return this.parse(xe(e))}fromBase58(e){return this.parse(ye(e))}fromBase64(e){return this.parse(w(e))}transform({name:t,input:n,output:r,validate:i}){return new e({name:t??this.name,read:e=>r?r(this.read(e)):this.read(e),write:(e,t)=>this.#e(n?n(e):e,t),serializedSize:e=>this.serializedSize(n?n(e):e),serialize:(e,t)=>this.#t(n?n(e):e,t),validate:e=>{i?.(e),this.validate(n?n(e):e)}})}},We=Symbol.for(`@mysten/serialized-bcs`);function Ge(e){return!!e&&typeof e==`object`&&e[We]===!0}var Ke=class{#e;#t;get[We](){return!0}constructor(e,t){this.#e=e,this.#t=t}toBytes(){return this.#t}toHex(){return Se(this.#t)}toBase64(){return T(this.#t)}toBase58(){return ve(this.#t)}parse(){return this.#e.parse(this.#t)}};function qe({size:e,...t}){return new Ue({...t,serializedSize:()=>e})}function Je({readMethod:e,writeMethod:t,...n}){return qe({...n,read:t=>t[e](),write:(e,n)=>n[t](e),validate:e=>{if(e<0||e>n.maxValue)throw TypeError(`Invalid ${n.name} value: ${e}. Expected value in range 0-${n.maxValue}`);n.validate?.(e)}})}function Ye({readMethod:e,writeMethod:t,...n}){return qe({...n,read:t=>t[e](),write:(e,n)=>n[t](BigInt(e)),validate:e=>{let t=BigInt(e);if(t<0||t>n.maxValue)throw TypeError(`Invalid ${n.name} value: ${t}. Expected value in range 0-${n.maxValue}`);n.validate?.(t)}})}function Xe({serialize:e,...t}){let n=new Ue({...t,serialize:e,write:(e,t)=>{for(let r of n.serialize(e).toBytes())t.write8(r)}});return n}function Ze({toBytes:e,fromBytes:t,...n}){return new Ue({...n,read:e=>{let n=e.readULEB();return t(e.readBytes(n))},write:(t,n)=>{let r=e(t);n.writeULEB(r.length);for(let e=0;e<r.length;e++)n.write8(r[e])},serialize:t=>{let n=e(t),r=u(n.length),i=new Uint8Array(r.length+n.length);return i.set(r,0),i.set(n,r.length),i},validate:e=>{if(typeof e!=`string`)throw TypeError(`Invalid ${n.name} value: ${e}. Expected string`);n.validate?.(e)}})}function Qe(e){let t=null;function n(){return t||=e(),t}return new Ue({name:`lazy`,read:e=>n().read(e),serializedSize:e=>n().serializedSize(e),write:(e,t)=>n().write(e,t),serialize:(e,t)=>n().serialize(e,t).toBytes()})}var $e=class extends Ue{constructor({name:e,fields:t,...n}){let r=Object.entries(t);super({name:e,serializedSize:e=>{let t=0;for(let[n,i]of r){let r=i.serializedSize(e[n]);if(r==null)return null;t+=r}return t},read:e=>{let t={};for(let[n,i]of r)t[n]=i.read(e);return t},write:(e,t)=>{for(let[n,i]of r)i.write(e[n],t)},...n,validate:e=>{if(n?.validate?.(e),typeof e!=`object`||!e)throw TypeError(`Expected object, found ${typeof e}`)}})}},et=class extends Ue{constructor({fields:e,...t}){let n=Object.entries(e);super({read:e=>{let r=e.readULEB(),i=n[r];if(!i)throw TypeError(`Unknown value ${r} for enum ${t.name}`);let[a,o]=i;return{[a]:o?.read(e)??!0,$kind:a}},write:(t,r)=>{let[i,a]=Object.entries(t).filter(([t])=>Object.hasOwn(e,t))[0];for(let e=0;e<n.length;e++){let[t,o]=n[e];if(t===i){r.writeULEB(e),o?.write(a,r);return}}},...t,validate:n=>{if(t?.validate?.(n),typeof n!=`object`||!n)throw TypeError(`Expected object, found ${typeof n}`);let r=Object.keys(n).filter(t=>n[t]!==void 0&&Object.hasOwn(e,t));if(r.length!==1)throw TypeError(`Expected object with one key, but found ${r.length} for type ${t.name}}`);let[i]=r;if(!Object.hasOwn(e,i))throw TypeError(`Invalid enum variant ${i}`)}})}},tt=class extends Ue{constructor({fields:e,name:t,...n}){super({name:t??`(${e.map(e=>e.name).join(`, `)})`,serializedSize:t=>{let n=0;for(let r=0;r<e.length;r++){let i=e[r].serializedSize(t[r]);if(i==null)return null;n+=i}return n},read:t=>{let n=[];for(let r of e)n.push(r.read(t));return n},write:(t,n)=>{for(let r=0;r<e.length;r++)e[r].write(t[r],n)},...n,validate:t=>{if(n?.validate?.(t),!Array.isArray(t))throw TypeError(`Expected array, found ${typeof t}`);if(t.length!==e.length)throw TypeError(`Expected array of length ${e.length}, found ${t.length}`)}})}};function nt(e,t,n){return new Ue({read:n=>{let r=Array(e);for(let i=0;i<e;i++)r[i]=t.read(n);return r},write:(e,n)=>{for(let r of e)t.write(r,n)},...n,name:n?.name??`${t.name}[${e}]`,validate:t=>{if(n?.validate?.(t),!t||typeof t!=`object`||!(`length`in t))throw TypeError(`Expected array, found ${typeof t}`);if(t.length!==e)throw TypeError(`Expected array of length ${e}, found ${t.length}`)}})}function rt(e){return E.enum(`Option<${e.name}>`,{None:null,Some:e}).transform({input:e=>e==null?{None:!0}:{Some:e},output:e=>e.$kind===`Some`?e.Some:null})}function it(e,t){return new Ue({read:t=>{let n=t.readULEB(),r=Array(n);for(let i=0;i<n;i++)r[i]=e.read(t);return r},write:(t,n)=>{n.writeULEB(t.length);for(let r of t)e.write(r,n)},...t,name:t?.name??`vector<${e.name}>`,validate:e=>{if(t?.validate?.(e),!e||typeof e!=`object`||!(`length`in e))throw TypeError(`Expected array, found ${typeof e}`)}})}function at(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 ot(e,t){return new Ue({name:`Map<${e.name}, ${t.name}>`,read:n=>{let r=n.readULEB(),i=new Map;for(let a=0;a<r;a++)i.set(e.read(n),t.read(n));return i},write:(n,r)=>{let i=[...n.entries()].map(([t,n])=>[e.serialize(t).toBytes(),n]);i.sort(([e],[t])=>at(e,t)),r.writeULEB(i.length);for(let[e,n]of i)r.writeBytes(e),t.write(n,r)}})}var E={u8(e){return Je({readMethod:`read8`,writeMethod:`write8`,size:1,maxValue:2**8-1,...e,name:e?.name??`u8`})},u16(e){return Je({readMethod:`read16`,writeMethod:`write16`,size:2,maxValue:2**16-1,...e,name:e?.name??`u16`})},u32(e){return Je({readMethod:`read32`,writeMethod:`write32`,size:4,maxValue:2**32-1,...e,name:e?.name??`u32`})},u64(e){return Ye({readMethod:`read64`,writeMethod:`write64`,size:8,maxValue:2n**64n-1n,...e,name:e?.name??`u64`})},u128(e){return Ye({readMethod:`read128`,writeMethod:`write128`,size:16,maxValue:2n**128n-1n,...e,name:e?.name??`u128`})},u256(e){return Ye({readMethod:`read256`,writeMethod:`write256`,size:32,maxValue:2n**256n-1n,...e,name:e?.name??`u256`})},bool(e){return qe({size:1,read:e=>e.read8()===1,write:(e,t)=>t.write8(+!!e),...e,name:e?.name??`bool`,validate:t=>{if(e?.validate?.(t),typeof t!=`boolean`)throw TypeError(`Expected boolean, found ${typeof t}`)}})},uleb128(e){return Xe({read:e=>e.readULEB(),serialize:e=>Uint8Array.from(u(e)),...e,name:e?.name??`uleb128`})},bytes(e,t){return qe({size:e,read:t=>t.readBytes(e),write:(e,t)=>{t.writeBytes(new Uint8Array(e))},...t,name:t?.name??`bytes[${e}]`,validate:n=>{if(t?.validate?.(n),!n||typeof n!=`object`||!(`length`in n))throw TypeError(`Expected array, found ${typeof n}`);if(n.length!==e)throw TypeError(`Expected array of length ${e}, found ${n.length}`)}})},byteVector(e){return new Ue({read:e=>{let t=e.readULEB();return e.readBytes(t)},write:(e,t)=>{let n=new Uint8Array(e);t.writeULEB(n.length),t.writeBytes(n)},...e,name:e?.name??`vector<u8>`,serializedSize:e=>{let t=`length`in e?e.length:null;return t==null?null:u(t).length+t},validate:t=>{if(e?.validate?.(t),!t||typeof t!=`object`||!(`length`in t))throw TypeError(`Expected array, found ${typeof t}`)}})},string(e){return Ze({toBytes:e=>new TextEncoder().encode(e),fromBytes:e=>new TextDecoder().decode(e),...e,name:e?.name??`string`})},fixedArray:nt,option:rt,vector:it,tuple(e,t){return new tt({fields:e,...t})},struct(e,t,n){return new $e({name:e,fields:t,...n})},enum(e,t,n){return new et({name:e,fields:t,...n})},map:ot,lazy(e){return Qe(e)}};function st(e){return yt(e)&&bt(e)===32}var ct=/^[a-zA-Z][a-zA-Z0-9_]*$/;function lt(e){return ct.test(e)}var ut=[`bool`,`u8`,`u16`,`u32`,`u64`,`u128`,`u256`,`address`,`signer`],dt=/^vector<(.+)>$/;function ft(e){if(ut.includes(e))return!0;let t=e.match(dt);return t?ft(t[1]):e.includes(`::`)?mt(e):!1}function pt(e){return!st(e.address)&&!c(e.address)||!lt(e.module)||!lt(e.name)?!1:e.typeParams.every(e=>typeof e==`string`?ft(e):pt(e))}function mt(e){try{return pt(gt(e))}catch{return!1}}function ht(e){if(e.startsWith(`vector<`)){if(!e.endsWith(`>`))throw Error(`Invalid type tag: ${e}`);let t=e.slice(7,-1);if(!t)throw Error(`Invalid type tag: ${e}`);let n=ht(t);return typeof n==`string`?`vector<${n}>`:`vector<${_t(n)}>`}return e.includes(`::`)?gt(e):e}function gt(e){let t=e.split(`::`);if(t.length<3)throw Error(`Invalid struct tag: ${e}`);let[n,r]=t;if(!n||!r)throw Error(`Invalid struct tag: ${e}`);let i=c(n),a=e.slice(n.length+r.length+4),o=a.includes(`<`)?a.slice(0,a.indexOf(`<`)):a;if(!o||a.includes(`<`)&&!a.endsWith(`>`))throw Error(`Invalid struct tag: ${e}`);let s=a.includes(`<`)?Be(a.slice(a.indexOf(`<`)+1,a.lastIndexOf(`>`))).map(e=>ht(e.trim())):[];return{address:i?n:D(n),module:r,name:o,typeParams:s}}function _t(e){if(typeof e==`string`&&e.startsWith(`vector<`))throw Error(`normalizeStructTag does not support vector types. Use normalizeTypeTag instead.`);let{address:t,module:n,name:r,typeParams:i}=typeof e==`string`?gt(e):e;return`${t}::${n}::${r}${i?.length>0?`<${i.map(e=>typeof e==`string`?e:_t(e)).join(`,`)}>`:``}`}function D(e,t=!1){let n=e.toLowerCase();return!t&&n.startsWith(`0x`)&&(n=n.slice(2)),`0x${n.padStart(64,`0`)}`}function vt(e,t=!1){return D(e,t)}function yt(e){return/^(0x|0X)?[a-fA-F0-9]+$/.test(e)&&e.length%2==0}function bt(e){return/^(0x|0X)/.test(e)?(e.length-2)/2:e.length/2}var xt,St={lang:void 0,message:void 0,abortEarly:void 0,abortPipeEarly:void 0};function Ct(e){return!e&&!xt?St:{lang:e?.lang??xt?.lang,message:e?.message,abortEarly:e?.abortEarly??xt?.abortEarly,abortPipeEarly:e?.abortPipeEarly??xt?.abortPipeEarly}}var wt;function Tt(e){return wt?.get(e)}var Et;function Dt(e){return Et?.get(e)}var Ot;function kt(e,t){return Ot?.get(e)?.get(t)}function At(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 jt(e,t,n,r,i){let a=i&&`input`in i?i.input:n.value,o=i?.expected??e.expects??null,s=i?.received??At(a),c={kind:e.kind,type:e.type,input:a,expected:o,received:s,message:`Invalid ${t}: ${o?`Expected ${o} but r`:`R`}eceived ${s}`,requirement:e.requirement,path:i?.path,issues:i?.issues,lang:r.lang,abortEarly:r.abortEarly,abortPipeEarly:r.abortPipeEarly},l=e.kind===`schema`,u=i?.message??e.message??kt(e.reference,c.lang)??(l?Dt(c.lang):null)??r.message??Tt(c.lang);u!==void 0&&(c.message=typeof u==`function`?u(c):u),l&&(n.typed=!1),n.issues?n.issues.push(c):n.issues=[c]}var Mt=new WeakMap;function Nt(e){let t=Mt.get(e);return t||(t={version:1,vendor:`valibot`,validate(t){return e[`~run`]({value:t},Ct())}},Mt.set(e,t)),t}function Pt(e,t){return Object.prototype.hasOwnProperty.call(e,t)&&t!==`__proto__`&&t!==`prototype`&&t!==`constructor`}function Ft(e,t){let n=[...new Set(e)];return n.length>1?`(${n.join(` ${t} `)})`:n[0]??`never`}var It=class extends Error{constructor(e){super(e[0].message),this.name=`ValiError`,this.issues=e}},Lt=/^[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}$/iu;function Rt(e,t){return{kind:`validation`,type:`check`,reference:Rt,async:!1,expects:null,requirement:e,message:t,"~run"(e,t){return e.typed&&!this.requirement(e.value)&&jt(this,`input`,e,t),e}}}function zt(e){return{kind:`validation`,type:`integer`,reference:zt,async:!1,expects:null,requirement:Number.isInteger,message:e,"~run"(e,t){return e.typed&&!this.requirement(e.value)&&jt(this,`integer`,e,t),e}}}function Bt(e){return{kind:`transformation`,type:`transform`,reference:Bt,async:!1,operation:e,"~run"(e){return e.value=this.operation(e.value),e}}}function Vt(e){return{kind:`validation`,type:`uuid`,reference:Vt,async:!1,expects:null,requirement:Lt,message:e,"~run"(e,t){return e.typed&&!this.requirement.test(e.value)&&jt(this,`UUID`,e,t),e}}}var Ht={abortEarly:!0};function Ut(e,t,n){return typeof e.fallback==`function`?e.fallback(t,n):e.fallback}function Wt(e,t,n){return typeof e.default==`function`?e.default(t,n):e.default}function Gt(e,t){return!e[`~run`]({value:t},Ht).issues}function O(e,t){return{kind:`schema`,type:`array`,reference:O,expects:`Array`,async:!1,item:e,message:t,get"~standard"(){return Nt(this)},"~run"(e,t){let n=e.value;if(Array.isArray(n)){e.typed=!0,e.value=[];for(let r=0;r<n.length;r++){let i=n[r],a=this.item[`~run`]({value:i},t);if(a.issues){let o={type:`array`,origin:`value`,input:n,key:r,value:i};for(let t of a.issues)t.path?t.path.unshift(o):t.path=[o],e.issues?.push(t);if(e.issues||=a.issues,t.abortEarly){e.typed=!1;break}}a.typed||(e.typed=!1),e.value.push(a.value)}}else jt(this,`type`,e,t);return e}}}function Kt(e){return{kind:`schema`,type:`bigint`,reference:Kt,expects:`bigint`,async:!1,message:e,get"~standard"(){return Nt(this)},"~run"(e,t){return typeof e.value==`bigint`?e.typed=!0:jt(this,`type`,e,t),e}}}function qt(e){return{kind:`schema`,type:`boolean`,reference:qt,expects:`boolean`,async:!1,message:e,get"~standard"(){return Nt(this)},"~run"(e,t){return typeof e.value==`boolean`?e.typed=!0:jt(this,`type`,e,t),e}}}function Jt(e){return{kind:`schema`,type:`lazy`,reference:Jt,expects:`unknown`,async:!1,getter:e,get"~standard"(){return Nt(this)},"~run"(e,t){return this.getter(e.value)[`~run`](e,t)}}}function k(e,t){return{kind:`schema`,type:`literal`,reference:k,expects:At(e),async:!1,literal:e,message:t,get"~standard"(){return Nt(this)},"~run"(e,t){return e.value===this.literal?e.typed=!0:jt(this,`type`,e,t),e}}}function A(e,t){return{kind:`schema`,type:`nullable`,reference:A,expects:`(${e.expects} | null)`,async:!1,wrapped:e,default:t,get"~standard"(){return Nt(this)},"~run"(e,t){return e.value===null&&(this.default!==void 0&&(e.value=Wt(this,e,t)),e.value===null)?(e.typed=!0,e):this.wrapped[`~run`](e,t)}}}function Yt(e,t){return{kind:`schema`,type:`nullish`,reference:Yt,expects:`(${e.expects} | null | undefined)`,async:!1,wrapped:e,default:t,get"~standard"(){return Nt(this)},"~run"(e,t){return(e.value===null||e.value===void 0)&&(this.default!==void 0&&(e.value=Wt(this,e,t)),e.value===null||e.value===void 0)?(e.typed=!0,e):this.wrapped[`~run`](e,t)}}}function Xt(e){return{kind:`schema`,type:`number`,reference:Xt,expects:`number`,async:!1,message:e,get"~standard"(){return Nt(this)},"~run"(e,t){return typeof e.value==`number`&&!isNaN(e.value)?e.typed=!0:jt(this,`type`,e,t),e}}}function j(e,t){return{kind:`schema`,type:`object`,reference:j,expects:`Object`,async:!1,entries:e,message:t,get"~standard"(){return Nt(this)},"~run"(e,t){let n=e.value;if(n&&typeof n==`object`){e.typed=!0,e.value={};for(let r in this.entries){let i=this.entries[r];if(r in n||(i.type===`exact_optional`||i.type===`optional`||i.type===`nullish`)&&i.default!==void 0){let a=r in n?n[r]:Wt(i),o=i[`~run`]({value:a},t);if(o.issues){let i={type:`object`,origin:`value`,input:n,key:r,value:a};for(let t of o.issues)t.path?t.path.unshift(i):t.path=[i],e.issues?.push(t);if(e.issues||=o.issues,t.abortEarly){e.typed=!1;break}}o.typed||(e.typed=!1),e.value[r]=o.value}else if(i.fallback!==void 0)e.value[r]=Ut(i);else if(i.type!==`exact_optional`&&i.type!==`optional`&&i.type!==`nullish`&&(jt(this,`key`,e,t,{input:void 0,expected:`"${r}"`,path:[{type:`object`,origin:`key`,input:n,key:r,value:n[r]}]}),t.abortEarly))break}}else jt(this,`type`,e,t);return e}}}function Zt(e,t){return{kind:`schema`,type:`optional`,reference:Zt,expects:`(${e.expects} | undefined)`,async:!1,wrapped:e,default:t,get"~standard"(){return Nt(this)},"~run"(e,t){return e.value===void 0&&(this.default!==void 0&&(e.value=Wt(this,e,t)),e.value===void 0)?(e.typed=!0,e):this.wrapped[`~run`](e,t)}}}function Qt(e,t){return{kind:`schema`,type:`picklist`,reference:Qt,expects:Ft(e.map(At),`|`),async:!1,options:e,message:t,get"~standard"(){return Nt(this)},"~run"(e,t){return this.options.includes(e.value)?e.typed=!0:jt(this,`type`,e,t),e}}}function $t(e,t,n){return{kind:`schema`,type:`record`,reference:$t,expects:`Object`,async:!1,key:e,value:t,message:n,get"~standard"(){return Nt(this)},"~run"(e,t){let n=e.value;if(n&&typeof n==`object`){e.typed=!0,e.value={};for(let r in n)if(Pt(n,r)){let i=n[r],a=this.key[`~run`]({value:r},t);if(a.issues){let o={type:`object`,origin:`key`,input:n,key:r,value:i};for(let t of a.issues)t.path=[o],e.issues?.push(t);if(e.issues||=a.issues,t.abortEarly){e.typed=!1;break}}let o=this.value[`~run`]({value:i},t);if(o.issues){let a={type:`object`,origin:`value`,input:n,key:r,value:i};for(let t of o.issues)t.path?t.path.unshift(a):t.path=[a],e.issues?.push(t);if(e.issues||=o.issues,t.abortEarly){e.typed=!1;break}}(!a.typed||!o.typed)&&(e.typed=!1),a.typed&&(e.value[a.value]=o.value)}}else jt(this,`type`,e,t);return e}}}function M(e){return{kind:`schema`,type:`string`,reference:M,expects:`string`,async:!1,message:e,get"~standard"(){return Nt(this)},"~run"(e,t){return typeof e.value==`string`?e.typed=!0:jt(this,`type`,e,t),e}}}function en(e,t){return{kind:`schema`,type:`tuple`,reference:en,expects:`Array`,async:!1,items:e,message:t,get"~standard"(){return Nt(this)},"~run"(e,t){let n=e.value;if(Array.isArray(n)){e.typed=!0,e.value=[];for(let r=0;r<this.items.length;r++){let i=n[r],a=this.items[r][`~run`]({value:i},t);if(a.issues){let o={type:`array`,origin:`value`,input:n,key:r,value:i};for(let t of a.issues)t.path?t.path.unshift(o):t.path=[o],e.issues?.push(t);if(e.issues||=a.issues,t.abortEarly){e.typed=!1;break}}a.typed||(e.typed=!1),e.value.push(a.value)}}else jt(this,`type`,e,t);return e}}}function tn(e){let t;if(e)for(let n of e)if(t)for(let e of n.issues)t.push(e);else t=n.issues;return t}function nn(e,t){return{kind:`schema`,type:`union`,reference:nn,expects:Ft(e.map(e=>e.expects),`|`),async:!1,options:e,message:t,get"~standard"(){return Nt(this)},"~run"(e,t){let n,r,i;for(let a of this.options){let o=a[`~run`]({value:e.value},t);if(o.typed)if(o.issues)r?r.push(o):r=[o];else{n=o;break}else i?i.push(o):i=[o]}if(n)return n;if(r){if(r.length===1)return r[0];jt(this,`type`,e,t,{issues:tn(r)}),e.typed=!0}else if(i?.length===1)return i[0];else jt(this,`type`,e,t,{issues:tn(i)});return e}}}function rn(){return{kind:`schema`,type:`unknown`,reference:rn,expects:`unknown`,async:!1,get"~standard"(){return Nt(this)},"~run"(e){return e.typed=!0,e}}}function an(e,t,n){return{kind:`schema`,type:`variant`,reference:an,expects:`Object`,async:!1,key:e,options:t,message:n,get"~standard"(){return Nt(this)},"~run"(e,t){let n=e.value;if(n&&typeof n==`object`){let r,i=0,a=this.key,o=[],s=(e,c)=>{for(let l of e.options){if(l.type===`variant`)s(l,new Set(c).add(l.key));else{let e=!0,s=0;for(let t of c){let r=l.entries[t];if(t in n?r[`~run`]({typed:!1,value:n[t]},Ht).issues:r.type!==`exact_optional`&&r.type!==`optional`&&r.type!==`nullish`){e=!1,a!==t&&(i<s||i===s&&t in n&&!(a in n))&&(i=s,a=t,o=[]),a===t&&o.push(l.entries[t].expects);break}s++}if(e){let e=l[`~run`]({value:n},t);(!r||!r.typed&&e.typed)&&(r=e)}}if(r&&!r.issues)break}};if(s(this,new Set([this.key])),r)return r;jt(this,`type`,e,t,{input:n[a],expected:Ft(o,`|`),path:[{type:`object`,origin:`value`,input:n,key:a,value:n[a]}]})}else jt(this,`type`,e,t);return e}}}function N(e,t,n){let r=e[`~run`]({value:t},Ct(n));if(r.issues)throw new It(r.issues);return r.value}function on(...e){return{...e[0],pipe:e,get"~standard"(){return Nt(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 sn(e,t,n){let r=e[`~run`]({value:t},Ct(n));return{typed:r.typed,success:!r.issues,output:r.value,issues:r.issues}}function cn(e){return nn(Object.keys(e).map(t=>ln(t,j({[t]:e[t]}))))}function ln(e,t){return on(j({...t.entries,$kind:Zt(k(e))}),Bt(t=>({...t,$kind:e})))}var un=on(M(),Bt(e=>D(e)),Rt(st)),dn=un,fn=M(),pn=on(nn([M(),on(Xt(),zt())]),Rt(e=>{try{return BigInt(e),BigInt(e)>=0&&BigInt(e)<=18446744073709551615n}catch{return!1}},`Invalid u64`)),mn=on(Xt(),zt(),Rt(e=>e>=0&&e<2**32,`Invalid u32`)),hn=j({objectId:un,version:pn,digest:M()}),P=nn([ln(`GasCoin`,j({GasCoin:k(!0)})),ln(`Input`,j({Input:on(Xt(),zt()),type:Zt(nn([k(`pure`),k(`object`),k(`withdrawal`)]))})),ln(`Result`,j({Result:on(Xt(),zt())})),ln(`NestedResult`,j({NestedResult:en([on(Xt(),zt()),on(Xt(),zt())])}))]),gn=j({budget:A(pn),price:A(pn),owner:A(un),payment:A(O(hn))}),_n=nn([j({$kind:k(`address`)}),j({$kind:k(`bool`)}),j({$kind:k(`u8`)}),j({$kind:k(`u16`)}),j({$kind:k(`u32`)}),j({$kind:k(`u64`)}),j({$kind:k(`u128`)}),j({$kind:k(`u256`)}),j({$kind:k(`unknown`)}),j({$kind:k(`vector`),vector:Jt(()=>_n)}),j({$kind:k(`datatype`),datatype:j({typeName:M(),typeParameters:O(Jt(()=>_n))})}),j({$kind:k(`typeParameter`),index:on(Xt(),zt())})]),vn=cn({MoveCall:j({package:dn,module:M(),function:M(),typeArguments:O(M()),arguments:O(P),_argumentTypes:Zt(A(O(j({reference:A(nn([k(`mutable`),k(`immutable`),k(`unknown`)])),body:_n}))))}),TransferObjects:j({objects:O(P),address:P}),SplitCoins:j({coin:P,amounts:O(P)}),MergeCoins:j({destination:P,sources:O(P)}),Publish:j({modules:O(fn),dependencies:O(dn)}),MakeMoveVec:j({type:A(M()),elements:O(P)}),Upgrade:j({modules:O(fn),dependencies:O(dn),package:dn,ticket:P}),$Intent:j({name:M(),inputs:$t(M(),nn([P,O(P)])),data:$t(M(),rn())})}),yn=cn({ImmOrOwnedObject:hn,SharedObject:j({objectId:dn,initialSharedVersion:pn,mutable:qt()}),Receiving:hn}),bn=j({reservation:cn({MaxAmountU64:pn}),typeArg:cn({Balance:M()}),withdrawFrom:cn({Sender:k(!0),Sponsor:k(!0)})}),xn=cn({Object:yn,Pure:j({bytes:fn}),UnresolvedPure:j({value:rn()}),UnresolvedObject:j({objectId:dn,version:Zt(A(pn)),digest:Zt(A(M())),initialSharedVersion:Zt(A(pn)),mutable:Zt(A(qt()))}),FundsWithdrawal:bn}),Sn=cn({Object:yn,Pure:j({bytes:fn})}),Cn=j({minEpoch:A(pn),maxEpoch:A(pn),minTimestamp:A(pn),maxTimestamp:A(pn),chain:M(),nonce:mn}),wn=cn({None:k(!0),Epoch:pn,ValidDuring:Cn}),Tn=j({version:k(2),sender:Yt(un),expiration:Yt(wn),gasData:gn,inputs:O(xn),commands:O(vn)});function En(e){if(typeof e==`string`)return D(e);if(e.Object)return e.Object.ImmOrOwnedObject?D(e.Object.ImmOrOwnedObject.objectId):e.Object.Receiving?D(e.Object.Receiving.objectId):D(e.Object.SharedObject.objectId);if(e.UnresolvedObject)return D(e.UnresolvedObject.objectId)}function Dn(e,t,n){let r=e=>{switch(e.$kind){case`Input`:{let n=t.get(e.Input);if(n===void 0)throw Error(`Input ${e.Input} not found in input mapping`);return{...e,Input:n}}case`Result`:{let t=n.get(e.Result);return t===void 0?e:{...e,Result:t}}case`NestedResult`:{let t=n.get(e.NestedResult[0]);return t===void 0?e:{...e,NestedResult:[t,e.NestedResult[1]]}}default:return e}};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 t=e.$Intent.inputs;e.$Intent.inputs={};for(let[n,i]of Object.entries(t))e.$Intent.inputs[n]=Array.isArray(i)?i.map(r):r(i);break}case`Publish`:break}}var On=/^vector<(.+)>$/,kn=/^([^:]+)::([^:]+)::([^<]+)(<(.+)>)?/,An=class e{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(On);if(r)return{vector:e.parseFromStr(r[1],n)};let i=t.match(kn);if(i)return{struct:{address:n?D(i[1]):i[1],module:i[2],name:i[3],typeParams:i[5]===void 0?[]:e.parseStructTypeArgs(i[5],n)}};throw Error(`Encountered unexpected token when parsing type args for ${t}`)}static parseStructTypeArgs(t,n=!1){return Be(t).map(t=>e.parseFromStr(t,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<${e.tagToString(t.vector)}>`;if(`struct`in t){let n=t.struct,r=n.typeParams.map(e.tagToString).join(`, `);return`${n.address}::${n.module}::${n.name}${r?`<${r}>`:``}`}throw Error(`Invalid TypeTag`)}};function jn(e){return E.u64({name:`unsafe_u64`,...e}).transform({input:e=>e,output:e=>Number(e)})}function Mn(e){return E.enum(`Option`,{None:null,Some:e})}var F=E.bytes(32).transform({validate:e=>{let t=typeof e==`string`?e:Se(e);if(!t||!st(D(t)))throw Error(`Invalid Sui address ${t}`)},input:e=>typeof e==`string`?xe(D(e)):e,output:e=>D(Se(e))}),Nn=E.byteVector().transform({name:`ObjectDigest`,input:e=>ye(e),output:e=>ve(new Uint8Array(e)),validate:e=>{if(ye(e).length!==32)throw Error(`ObjectDigest must be 32 bytes`)}}),Pn=E.struct(`SuiObjectRef`,{objectId:F,version:E.u64(),digest:Nn}),Fn=E.struct(`SharedObjectRef`,{objectId:F,initialSharedVersion:E.u64(),mutable:E.bool()}),In=E.enum(`ObjectArg`,{ImmOrOwnedObject:Pn,SharedObject:Fn,Receiving:Pn}),Ln=E.enum(`Owner`,{AddressOwner:F,ObjectOwner:F,Shared:E.struct(`Shared`,{initialSharedVersion:E.u64()}),Immutable:null,ConsensusAddressOwner:E.struct(`ConsensusAddressOwner`,{startVersion:E.u64(),owner:F})}),Rn=E.enum(`Reservation`,{MaxAmountU64:E.u64()}),zn=E.enum(`WithdrawalType`,{Balance:E.lazy(()=>Wn)}),Bn=E.enum(`WithdrawFrom`,{Sender:null,Sponsor:null}),Vn=E.struct(`FundsWithdrawal`,{reservation:Rn,typeArg:zn,withdrawFrom:Bn}),Hn=E.enum(`CallArg`,{Pure:E.struct(`Pure`,{bytes:E.byteVector().transform({input:e=>typeof e==`string`?w(e):e,output:e=>T(new Uint8Array(e))})}),Object:In,FundsWithdrawal:Vn}),Un=E.enum(`TypeTag`,{bool:null,u8:null,u64:null,u128:null,address:null,signer:null,vector:E.lazy(()=>Un),struct:E.lazy(()=>Qn),u16:null,u32:null,u256:null}),Wn=Un.transform({input:e=>typeof e==`string`?An.parseFromStr(e,!0):e,output:e=>An.tagToString(e)}),Gn=E.enum(`Argument`,{GasCoin:null,Input:E.u16(),Result:E.u16(),NestedResult:E.tuple([E.u16(),E.u16()])}),Kn=E.struct(`ProgrammableMoveCall`,{package:F,module:E.string(),function:E.string(),typeArguments:E.vector(Wn),arguments:E.vector(Gn)}),qn=E.enum(`Command`,{MoveCall:Kn,TransferObjects:E.struct(`TransferObjects`,{objects:E.vector(Gn),address:Gn}),SplitCoins:E.struct(`SplitCoins`,{coin:Gn,amounts:E.vector(Gn)}),MergeCoins:E.struct(`MergeCoins`,{destination:Gn,sources:E.vector(Gn)}),Publish:E.struct(`Publish`,{modules:E.vector(E.byteVector().transform({input:e=>typeof e==`string`?w(e):e,output:e=>T(new Uint8Array(e))})),dependencies:E.vector(F)}),MakeMoveVec:E.struct(`MakeMoveVec`,{type:Mn(Wn).transform({input:e=>e===null?{None:!0}:{Some:e},output:e=>e.Some??null}),elements:E.vector(Gn)}),Upgrade:E.struct(`Upgrade`,{modules:E.vector(E.byteVector().transform({input:e=>typeof e==`string`?w(e):e,output:e=>T(new Uint8Array(e))})),dependencies:E.vector(F),package:F,ticket:Gn})}),Jn=E.struct(`ProgrammableTransaction`,{inputs:E.vector(Hn),commands:E.vector(qn)}),Yn=E.enum(`TransactionKind`,{ProgrammableTransaction:Jn,ChangeEpoch:null,Genesis:null,ConsensusCommitPrologue:null}),Xn=E.struct(`ValidDuring`,{minEpoch:E.option(E.u64()),maxEpoch:E.option(E.u64()),minTimestamp:E.option(E.u64()),maxTimestamp:E.option(E.u64()),chain:Nn,nonce:E.u32()}),Zn=E.enum(`TransactionExpiration`,{None:null,Epoch:jn(),ValidDuring:Xn}),Qn=E.struct(`StructTag`,{address:F,module:E.string(),name:E.string(),typeParams:E.vector(Un)}),$n=E.struct(`GasData`,{payment:E.vector(Pn),owner:F,price:E.u64(),budget:E.u64()}),er=E.struct(`TransactionDataV1`,{kind:Yn,sender:F,gasData:$n,expiration:Zn}),tr=E.enum(`TransactionData`,{V1:er}),nr=E.enum(`IntentScope`,{TransactionData:null,TransactionEffects:null,CheckpointSummary:null,PersonalMessage:null}),rr=E.enum(`IntentVersion`,{V0:null}),ir=E.enum(`AppId`,{Sui:null}),ar=E.struct(`Intent`,{scope:nr,version:rr,appId:ir});function or(e){return E.struct(`IntentMessage<${e.name}>`,{intent:ar,value:e})}var sr=E.enum(`CompressedSignature`,{ED25519:E.bytes(64),Secp256k1:E.bytes(64),Secp256r1:E.bytes(64),ZkLogin:E.byteVector(),Passkey:E.byteVector()}),cr=E.enum(`PublicKey`,{ED25519:E.bytes(32),Secp256k1:E.bytes(33),Secp256r1:E.bytes(33),ZkLogin:E.byteVector(),Passkey:E.bytes(33)}),lr=E.struct(`MultiSigPkMap`,{pubKey:cr,weight:E.u8()}),ur=E.struct(`MultiSigPublicKey`,{pk_map:E.vector(lr),threshold:E.u16()}),dr=E.struct(`MultiSig`,{sigs:E.vector(sr),bitmap:E.u16(),multisig_pk:ur}),fr=E.byteVector().transform({input:e=>typeof e==`string`?w(e):e,output:e=>T(new Uint8Array(e))}),pr=E.struct(`SenderSignedTransaction`,{intentMessage:or(tr),txSignatures:E.vector(fr)}),mr=E.vector(pr,{name:`SenderSignedData`}),hr=E.struct(`PasskeyAuthenticator`,{authenticatorData:E.byteVector(),clientDataJson:E.string(),userSignature:E.byteVector()}),gr=E.enum(`MoveObjectType`,{Other:Qn,GasCoin:null,StakedSui:null,Coin:Wn,AccumulatorBalanceWrapper:null}),_r=E.struct(`TypeOrigin`,{moduleName:E.string(),datatypeName:E.string(),package:F}),vr=E.struct(`UpgradeInfo`,{upgradedId:F,upgradedVersion:E.u64()}),yr=E.struct(`MovePackage`,{id:F,version:E.u64(),moduleMap:E.map(E.string(),E.byteVector()),typeOriginTable:E.vector(_r),linkageTable:E.map(F,vr)}),br=E.struct(`MoveObject`,{type:gr,hasPublicTransfer:E.bool(),version:E.u64(),contents:E.byteVector()}),xr=E.enum(`Data`,{Move:br,Package:yr}),Sr=E.struct(`ObjectInner`,{data:xr,owner:Ln,previousTransaction:Nn,storageRebate:E.u64()}),Cr=E.enum(`PackageUpgradeError`,{UnableToFetchPackage:E.struct(`UnableToFetchPackage`,{packageId:F}),NotAPackage:E.struct(`NotAPackage`,{objectId:F}),IncompatibleUpgrade:null,DigestDoesNotMatch:E.struct(`DigestDoesNotMatch`,{digest:E.byteVector()}),UnknownUpgradePolicy:E.struct(`UnknownUpgradePolicy`,{policy:E.u8()}),PackageIDDoesNotMatch:E.struct(`PackageIDDoesNotMatch`,{packageId:F,ticketId:F})}),wr=E.struct(`ModuleId`,{address:F,name:E.string()}),Tr=E.struct(`MoveLocation`,{module:wr,function:E.u16(),instruction:E.u16(),functionName:E.option(E.string())}),Er=E.enum(`CommandArgumentError`,{TypeMismatch:null,InvalidBCSBytes:null,InvalidUsageOfPureArg:null,InvalidArgumentToPrivateEntryFunction:null,IndexOutOfBounds:E.struct(`IndexOutOfBounds`,{idx:E.u16()}),SecondaryIndexOutOfBounds:E.struct(`SecondaryIndexOutOfBounds`,{resultIdx:E.u16(),secondaryIdx:E.u16()}),InvalidResultArity:E.struct(`InvalidResultArity`,{resultIdx:E.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}),Dr=E.enum(`TypeArgumentError`,{TypeNotFound:null,ConstraintNotSatisfied:null}),Or=E.enum(`ExecutionFailureStatus`,{InsufficientGas:null,InvalidGasObject:null,InvariantViolation:null,FeatureNotYetSupported:null,MoveObjectTooBig:E.struct(`MoveObjectTooBig`,{objectSize:E.u64(),maxObjectSize:E.u64()}),MovePackageTooBig:E.struct(`MovePackageTooBig`,{objectSize:E.u64(),maxObjectSize:E.u64()}),CircularObjectOwnership:E.struct(`CircularObjectOwnership`,{object:F}),InsufficientCoinBalance:null,CoinBalanceOverflow:null,PublishErrorNonZeroAddress:null,SuiMoveVerificationError:null,MovePrimitiveRuntimeError:E.option(Tr),MoveAbort:E.tuple([Tr,E.u64()]),VMVerificationOrDeserializationError:null,VMInvariantViolation:null,FunctionNotFound:null,ArityMismatch:null,TypeArityMismatch:null,NonEntryFunctionInvoked:null,CommandArgumentError:E.struct(`CommandArgumentError`,{argIdx:E.u16(),kind:Er}),TypeArgumentError:E.struct(`TypeArgumentError`,{argumentIdx:E.u16(),kind:Dr}),UnusedValueWithoutDrop:E.struct(`UnusedValueWithoutDrop`,{resultIdx:E.u16(),secondaryIdx:E.u16()}),InvalidPublicFunctionReturnType:E.struct(`InvalidPublicFunctionReturnType`,{idx:E.u16()}),InvalidTransferObject:null,EffectsTooLarge:E.struct(`EffectsTooLarge`,{currentSize:E.u64(),maxSize:E.u64()}),PublishUpgradeMissingDependency:null,PublishUpgradeDependencyDowngrade:null,PackageUpgradeError:E.struct(`PackageUpgradeError`,{upgradeError:Cr}),WrittenObjectsTooLarge:E.struct(`WrittenObjectsTooLarge`,{currentSize:E.u64(),maxSize:E.u64()}),CertificateDenied:null,SuiMoveVerificationTimedout:null,SharedObjectOperationNotAllowed:null,InputObjectDeleted:null,ExecutionCancelledDueToSharedObjectCongestion:E.struct(`ExecutionCancelledDueToSharedObjectCongestion`,{congested_objects:E.vector(F)}),AddressDeniedForCoin:E.struct(`AddressDeniedForCoin`,{address:F,coinType:E.string()}),CoinTypeGlobalPause:E.struct(`CoinTypeGlobalPause`,{coinType:E.string()}),ExecutionCancelledDueToRandomnessUnavailable:null,MoveVectorElemTooBig:E.struct(`MoveVectorElemTooBig`,{valueSize:E.u64(),maxScaledSize:E.u64()}),MoveRawValueTooBig:E.struct(`MoveRawValueTooBig`,{valueSize:E.u64(),maxScaledSize:E.u64()}),InvalidLinkage:null,InsufficientBalanceForWithdraw:null,NonExclusiveWriteInputObjectModified:E.struct(`NonExclusiveWriteInputObjectModified`,{id:F})}),kr=E.enum(`ExecutionStatus`,{Success:null,Failure:E.struct(`Failure`,{error:Or,command:E.option(E.u64())})}),Ar=E.struct(`GasCostSummary`,{computationCost:E.u64(),storageCost:E.u64(),storageRebate:E.u64(),nonRefundableStorageFee:E.u64()}),jr=E.struct(`TransactionEffectsV1`,{status:kr,executedEpoch:E.u64(),gasUsed:Ar,modifiedAtVersions:E.vector(E.tuple([F,E.u64()])),sharedObjects:E.vector(Pn),transactionDigest:Nn,created:E.vector(E.tuple([Pn,Ln])),mutated:E.vector(E.tuple([Pn,Ln])),unwrapped:E.vector(E.tuple([Pn,Ln])),deleted:E.vector(Pn),unwrappedThenDeleted:E.vector(Pn),wrapped:E.vector(Pn),gasObject:E.tuple([Pn,Ln]),eventsDigest:E.option(Nn),dependencies:E.vector(Nn)}),Mr=E.tuple([E.u64(),Nn]),Nr=E.enum(`ObjectIn`,{NotExist:null,Exist:E.tuple([Mr,Ln])}),Pr=E.struct(`AccumulatorAddress`,{address:F,ty:Wn}),Fr=E.enum(`AccumulatorOperation`,{Merge:null,Split:null}),Ir=E.enum(`AccumulatorValue`,{Integer:E.u64(),IntegerTuple:E.tuple([E.u64(),E.u64()]),EventDigest:E.vector(E.tuple([E.u64(),Nn]))}),Lr=E.struct(`AccumulatorWriteV1`,{address:Pr,operation:Fr,value:Ir}),Rr=E.enum(`ObjectOut`,{NotExist:null,ObjectWrite:E.tuple([Nn,Ln]),PackageWrite:Mr,AccumulatorWriteV1:Lr}),zr=E.enum(`IDOperation`,{None:null,Created:null,Deleted:null}),Br=E.struct(`EffectsObjectChange`,{inputState:Nr,outputState:Rr,idOperation:zr}),Vr=E.enum(`UnchangedConsensusKind`,{ReadOnlyRoot:Mr,MutateConsensusStreamEnded:E.u64(),ReadConsensusStreamEnded:E.u64(),Cancelled:E.u64(),PerEpochConfig:null}),Hr=E.struct(`TransactionEffectsV2`,{status:kr,executedEpoch:E.u64(),gasUsed:Ar,transactionDigest:Nn,gasObjectIndex:E.option(E.u32()),eventsDigest:E.option(Nn),dependencies:E.vector(Nn),lamportVersion:E.u64(),changedObjects:E.vector(E.tuple([F,Br])),unchangedConsensusObjects:E.vector(E.tuple([F,Vr])),auxDataDigest:E.option(Nn)}),Ur=E.enum(`TransactionEffects`,{V1:jr,V2:Hr});function Wr(e){switch(e){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`bool`:return E.bool();case`string`:return E.string();case`id`:case`address`:return F}let t=e.match(/^(vector|option)<(.+)>$/);if(t){let[e,n]=t.slice(1);return e===`vector`?E.vector(Wr(n)):E.option(Wr(n))}throw Error(`Invalid Pure type name: ${e}`)}var I={...E,U8:E.u8(),U16:E.u16(),U32:E.u32(),U64:E.u64(),U128:E.u128(),U256:E.u256(),ULEB128:E.uleb128(),Bool:E.bool(),String:E.string(),Address:F,AppId:ir,Argument:Gn,CallArg:Hn,Command:qn,CompressedSignature:sr,Data:xr,GasData:$n,Intent:ar,IntentMessage:or,IntentScope:nr,IntentVersion:rr,MoveObject:br,MoveObjectType:gr,MovePackage:yr,MultiSig:dr,MultiSigPkMap:lr,MultiSigPublicKey:ur,Object:Sr,ObjectArg:In,ObjectDigest:Nn,Owner:Ln,PasskeyAuthenticator:hr,ProgrammableMoveCall:Kn,ProgrammableTransaction:Jn,PublicKey:cr,SenderSignedData:mr,SenderSignedTransaction:pr,SharedObjectRef:Fn,StructTag:Qn,SuiObjectRef:Pn,TransactionData:tr,TransactionDataV1:er,TransactionEffects:Ur,TransactionExpiration:Zn,TransactionKind:Yn,TypeOrigin:_r,TypeTag:Wn,UpgradeInfo:vr},Gr=j({digest:M(),objectId:M(),version:nn([on(Xt(),zt()),M(),Kt()])}),Kr=cn({Object:cn({ImmOrOwned:Gr,Shared:j({objectId:dn,initialSharedVersion:pn,mutable:qt()}),Receiving:Gr}),Pure:O(on(Xt(),zt()))}),qr=nn([j({bool:A(k(!0))}),j({u8:A(k(!0))}),j({u64:A(k(!0))}),j({u128:A(k(!0))}),j({address:A(k(!0))}),j({signer:A(k(!0))}),j({vector:Jt(()=>qr)}),j({struct:Jt(()=>Jr)}),j({u16:A(k(!0))}),j({u32:A(k(!0))}),j({u256:A(k(!0))})]),Jr=j({address:M(),module:M(),name:M(),typeParams:O(qr)});function Yr(e){let t=e.inputs.map((e,t)=>{if(e.Object)return{kind:`Input`,index:t,value:{Object:e.Object.ImmOrOwnedObject?{ImmOrOwned:e.Object.ImmOrOwnedObject}:e.Object.Receiving?{Receiving:{digest:e.Object.Receiving.digest,version:e.Object.Receiving.version,objectId:e.Object.Receiving.objectId}}:{Shared:{mutable:e.Object.SharedObject.mutable,initialSharedVersion:e.Object.SharedObject.initialSharedVersion,objectId:e.Object.SharedObject.objectId}}},type:`object`};if(e.Pure)return{kind:`Input`,index:t,value:{Pure:Array.from(w(e.Pure.bytes))},type:`pure`};if(e.UnresolvedPure)return{kind:`Input`,type:`pure`,index:t,value:e.UnresolvedPure.value};if(e.UnresolvedObject)return{kind:`Input`,type:`object`,index:t,value:e.UnresolvedObject.objectId};throw 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(e=>{if(e.MakeMoveVec)return{kind:`MakeMoveVec`,type:e.MakeMoveVec.type===null?{None:!0}:{Some:An.parseFromStr(e.MakeMoveVec.type)},objects:e.MakeMoveVec.elements.map(e=>Xr(e,t))};if(e.MergeCoins)return{kind:`MergeCoins`,destination:Xr(e.MergeCoins.destination,t),sources:e.MergeCoins.sources.map(e=>Xr(e,t))};if(e.MoveCall)return{kind:`MoveCall`,target:`${e.MoveCall.package}::${e.MoveCall.module}::${e.MoveCall.function}`,typeArguments:e.MoveCall.typeArguments,arguments:e.MoveCall.arguments.map(e=>Xr(e,t))};if(e.Publish)return{kind:`Publish`,modules:e.Publish.modules.map(e=>Array.from(w(e))),dependencies:e.Publish.dependencies};if(e.SplitCoins)return{kind:`SplitCoins`,coin:Xr(e.SplitCoins.coin,t),amounts:e.SplitCoins.amounts.map(e=>Xr(e,t))};if(e.TransferObjects)return{kind:`TransferObjects`,objects:e.TransferObjects.objects.map(e=>Xr(e,t)),address:Xr(e.TransferObjects.address,t)};if(e.Upgrade)return{kind:`Upgrade`,modules:e.Upgrade.modules.map(e=>Array.from(w(e))),dependencies:e.Upgrade.dependencies,packageId:e.Upgrade.package,ticket:Xr(e.Upgrade.ticket,t)};throw Error(`Unknown transaction ${Object.keys(e)}`)})}}function Xr(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 Error(`Invalid argument ${Object.keys(e)}`)}function Zr(e){return N(Tn,{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(e=>({digest:e.digest,objectId:e.objectId,version:e.version.toString()}))??null},inputs:e.inputs.map(e=>{if(e.kind===`Input`){if(Gt(Kr,e.value)){let t=N(Kr,e.value);if(t.Object){if(t.Object.ImmOrOwned)return{Object:{ImmOrOwnedObject:{objectId:t.Object.ImmOrOwned.objectId,version:String(t.Object.ImmOrOwned.version),digest:t.Object.ImmOrOwned.digest}}};if(t.Object.Shared)return{Object:{SharedObject:{mutable:t.Object.Shared.mutable??null,initialSharedVersion:t.Object.Shared.initialSharedVersion,objectId:t.Object.Shared.objectId}}};if(t.Object.Receiving)return{Object:{Receiving:{digest:t.Object.Receiving.digest,version:String(t.Object.Receiving.version),objectId:t.Object.Receiving.objectId}}};throw Error(`Invalid object input`)}return{Pure:{bytes:T(new Uint8Array(t.Pure))}}}return e.type===`object`?{UnresolvedObject:{objectId:e.value}}:{UnresolvedPure:{value:e.value}}}throw Error(`Invalid input`)}),commands:e.transactions.map(e=>{switch(e.kind){case`MakeMoveVec`:return{MakeMoveVec:{type:`Some`in e.type?An.tagToString(e.type.Some):null,elements:e.objects.map(e=>Qr(e))}};case`MergeCoins`:return{MergeCoins:{destination:Qr(e.destination),sources:e.sources.map(e=>Qr(e))}};case`MoveCall`:{let[t,n,r]=e.target.split(`::`);return{MoveCall:{package:t,module:n,function:r,typeArguments:e.typeArguments,arguments:e.arguments.map(e=>Qr(e))}}}case`Publish`:return{Publish:{modules:e.modules.map(e=>T(Uint8Array.from(e))),dependencies:e.dependencies}};case`SplitCoins`:return{SplitCoins:{coin:Qr(e.coin),amounts:e.amounts.map(e=>Qr(e))}};case`TransferObjects`:return{TransferObjects:{objects:e.objects.map(e=>Qr(e)),address:Qr(e.address)}};case`Upgrade`:return{Upgrade:{modules:e.modules.map(e=>T(Uint8Array.from(e))),dependencies:e.dependencies,package:e.packageId,ticket:Qr(e.ticket)}}}throw Error(`Unknown transaction ${Object.keys(e)}`)})})}function Qr(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 $r(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`&&`BYTES_PER_ELEMENT`in e&&e.BYTES_PER_ELEMENT===1}function ei(e,t=``){if(typeof e!=`number`){let n=t&&`"${t}" `;throw TypeError(`${n}expected number, got ${typeof e}`)}if(!Number.isSafeInteger(e)||e<0){let n=t&&`"${t}" `;throw RangeError(`${n}expected integer >= 0, got ${e}`)}}function ti(e,t,n=``){let r=$r(e),i=e?.length,a=t!==void 0;if(!r||a&&i!==t){let o=n&&`"${n}" `,s=a?` of length ${t}`:``,c=r?`length=${i}`:`type=${typeof e}`,l=o+`expected Uint8Array`+s+`, got `+c;throw r?RangeError(l):TypeError(l)}return e}function ni(e){if(typeof e!=`function`||typeof e.create!=`function`)throw TypeError(`Hash must wrapped by utils.createHasher`);if(ei(e.outputLen),ei(e.blockLen),e.outputLen<1)throw Error(`"outputLen" must be >= 1`);if(e.blockLen<1)throw Error(`"blockLen" must be >= 1`)}function ri(e,t=!0){if(e.destroyed)throw Error(`Hash instance has been destroyed`);if(t&&e.finished)throw Error(`Hash#digest() has already been called`)}function ii(e,t){ti(e,void 0,`digestInto() output`);let n=t.outputLen;if(e.length<n)throw RangeError(`"digestInto() output" expected to be of length >=`+n)}function ai(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function oi(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function si(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}var ci=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function li(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}var ui=ci?e=>e:e=>li(e)>>>0;function di(e){for(let t=0;t<e.length;t++)e[t]=li(e[t]);return e}var fi=ci?e=>e:di,pi=typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`,mi=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`));function hi(e){if(ti(e),pi)return e.toHex();let t=``;for(let n=0;n<e.length;n++)t+=mi[e[n]];return t}var gi={_0:48,_9:57,A:65,F:70,a:97,f:102};function _i(e){if(e>=gi._0&&e<=gi._9)return e-gi._0;if(e>=gi.A&&e<=gi.F)return e-(gi.A-10);if(e>=gi.a&&e<=gi.f)return e-(gi.a-10)}function vi(e){if(typeof e!=`string`)throw TypeError(`hex string expected, got `+typeof e);if(pi)try{return Uint8Array.fromHex(e)}catch(e){throw e instanceof SyntaxError?RangeError(e.message):e}let t=e.length,n=t/2;if(t%2)throw RangeError(`hex string expected, got unpadded hex of length `+t);let r=new Uint8Array(n);for(let t=0,i=0;t<n;t++,i+=2){let n=_i(e.charCodeAt(i)),a=_i(e.charCodeAt(i+1));if(n===void 0||a===void 0){let t=e[i]+e[i+1];throw RangeError(`hex string expected, got non-hex character "`+t+`" at index `+i)}r[t]=n*16+a}return r}function yi(e){if(typeof e!=`string`)throw TypeError(`string expected`);return new Uint8Array(new TextEncoder().encode(e))}function bi(e,t=``){return typeof e==`string`?yi(e):ti(e,void 0,t)}function xi(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];ti(r),t+=r.length}let n=new Uint8Array(t);for(let t=0,r=0;t<e.length;t++){let i=e[t];n.set(i,r),r+=i.length}return n}function Si(e,t){if(t!==void 0&&{}.toString.call(t)!==`[object Object]`)throw TypeError(`options must be object or undefined`);return Object.assign(e,t)}function Ci(e,t={}){let n=(t,n)=>e(n).update(t).digest(),r=e(void 0);return n.outputLen=r.outputLen,n.blockLen=r.blockLen,n.canXOF=r.canXOF,n.create=t=>e(t),Object.assign(n,t),Object.freeze(n)}function wi(e=32){ei(e,`bytesLength`);let t=typeof globalThis==`object`?globalThis.crypto:null;if(typeof t?.getRandomValues!=`function`)throw Error(`crypto.getRandomValues must be defined`);if(e>65536)throw RangeError(`"bytesLength" expected <= 65536, got ${e}`);return t.getRandomValues(new Uint8Array(e))}var Ti=e=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])}),Ei=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]),Di=class{blockLen;outputLen;canXOF=!1;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(e,t,n,r){this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=r,this.buffer=new Uint8Array(e),this.view=si(this.buffer)}update(e){ri(this),ti(e);let{view:t,buffer:n,blockLen:r}=this,i=e.length;for(let a=0;a<i;){let o=Math.min(r-this.pos,i-a);if(o===r){let t=si(e);for(;r<=i-a;a+=r)this.process(t,a);continue}n.set(e.subarray(a,a+o),this.pos),this.pos+=o,a+=o,this.pos===r&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){ri(this),ii(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:r,isLE:i}=this,{pos:a}=this;t[a++]=128,oi(this.buffer.subarray(a)),this.padOffset>r-a&&(this.process(n,0),a=0);for(let e=a;e<r;e++)t[e]=0;n.setBigUint64(r-8,BigInt(this.length*8),i),this.process(n,0);let o=si(e),s=this.outputLen;if(s%4)throw Error(`_sha2: outputLen must be aligned to 32bit`);let c=s/4,l=this.get();if(c>l.length)throw Error(`_sha2: outputLen bigger than state`);for(let e=0;e<c;e++)o.setUint32(4*e,l[e],i)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let n=e.slice(0,t);return this.destroy(),n}_cloneInto(e){e||=new this.constructor,e.set(...this.get());let{blockLen:t,buffer:n,length:r,finished:i,destroyed:a,pos:o}=this;return e.destroyed=a,e.finished=i,e.length=r,e.pos=o,r%t&&e.buffer.set(n),e}clone(){return this._cloneInto()}},Oi=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]),ki=BigInt(2**32-1),Ai=BigInt(32);function ji(e,t=!1){return t?{h:Number(e&ki),l:Number(e>>Ai&ki)}:{h:Number(e>>Ai&ki)|0,l:Number(e&ki)|0}}function Mi(e,t=!1){let n=e.length,r=new Uint32Array(n),i=new Uint32Array(n);for(let a=0;a<n;a++){let{h:n,l:o}=ji(e[a],t);[r[a],i[a]]=[n,o]}return[r,i]}var Ni=(e,t,n)=>e>>>n,Pi=(e,t,n)=>e<<32-n|t>>>n,Fi=(e,t,n)=>e>>>n|t<<32-n,Ii=(e,t,n)=>e<<32-n|t>>>n,Li=(e,t,n)=>e<<64-n|t>>>n-32,Ri=(e,t,n)=>e>>>n-32|t<<64-n,zi=(e,t)=>t,Bi=(e,t)=>e;function Vi(e,t,n,r){let i=(t>>>0)+(r>>>0);return{h:e+n+(i/2**32|0)|0,l:i|0}}var Hi=(e,t,n)=>(e>>>0)+(t>>>0)+(n>>>0),Ui=(e,t,n,r)=>t+n+r+(e/2**32|0)|0,Wi=(e,t,n,r)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0),Gi=(e,t,n,r,i)=>t+n+r+i+(e/2**32|0)|0,Ki=(e,t,n,r,i)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0)+(i>>>0),qi=(e,t,n,r,i,a)=>t+n+r+i+a+(e/2**32|0)|0,Ji=Uint32Array.from([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),L=new Uint32Array(32);function Yi(e,t,n,r,i,a){let o=i[a],s=i[a+1],c=L[2*e],l=L[2*e+1],u=L[2*t],d=L[2*t+1],f=L[2*n],p=L[2*n+1],m=L[2*r],h=L[2*r+1],g=Hi(c,u,o);l=Ui(g,l,d,s),c=g|0,{Dh:h,Dl:m}={Dh:h^l,Dl:m^c},{Dh:h,Dl:m}={Dh:zi(h,m),Dl:Bi(h,m)},{h:p,l:f}=Vi(p,f,h,m),{Bh:d,Bl:u}={Bh:d^p,Bl:u^f},{Bh:d,Bl:u}={Bh:Fi(d,u,24),Bl:Ii(d,u,24)},L[2*e]=c,L[2*e+1]=l,L[2*t]=u,L[2*t+1]=d,L[2*n]=f,L[2*n+1]=p,L[2*r]=m,L[2*r+1]=h}function Xi(e,t,n,r,i,a){let o=i[a],s=i[a+1],c=L[2*e],l=L[2*e+1],u=L[2*t],d=L[2*t+1],f=L[2*n],p=L[2*n+1],m=L[2*r],h=L[2*r+1],g=Hi(c,u,o);l=Ui(g,l,d,s),c=g|0,{Dh:h,Dl:m}={Dh:h^l,Dl:m^c},{Dh:h,Dl:m}={Dh:Fi(h,m,16),Dl:Ii(h,m,16)},{h:p,l:f}=Vi(p,f,h,m),{Bh:d,Bl:u}={Bh:d^p,Bl:u^f},{Bh:d,Bl:u}={Bh:Li(d,u,63),Bl:Ri(d,u,63)},L[2*e]=c,L[2*e+1]=l,L[2*t]=u,L[2*t+1]=d,L[2*n]=f,L[2*n+1]=p,L[2*r]=m,L[2*r+1]=h}function Zi(e,t={},n,r,i){if(ei(n),e<=0||e>n)throw Error(`outputLen bigger than keyLen`);let{key:a,salt:o,personalization:s}=t;if(a!==void 0&&(a.length<1||a.length>n))throw Error(`"key" expected to be undefined or of length=1..`+n);o!==void 0&&ti(o,r,`salt`),s!==void 0&&ti(s,i,`personalization`)}var Qi=class{buffer;buffer32;finished=!1;destroyed=!1;length=0;pos=0;blockLen;outputLen;canXOF=!1;constructor(e,t){ei(e),ei(t),this.blockLen=e,this.outputLen=t,this.buffer=new Uint8Array(e),this.buffer32=ai(this.buffer)}update(e){ri(this),ti(e);let{blockLen:t,buffer:n,buffer32:r}=this,i=e.length,a=e.byteOffset,o=e.buffer;for(let s=0;s<i;){this.pos===t&&(fi(r),this.compress(r,0,!1),fi(r),this.pos=0);let c=Math.min(t-this.pos,i-s),l=a+s;if(c===t&&!(l%4)&&s+c<i){let e=new Uint32Array(o,l,Math.floor((i-s)/4));fi(e);for(let n=0;s+t<i;n+=r.length,s+=t)this.length+=t,this.compress(e,n,!1);fi(e);continue}n.set(e.subarray(s,s+c),this.pos),this.pos+=c,this.length+=c,s+=c}return this}digestInto(e){ri(this),ii(e,this);let{pos:t,buffer32:n}=this;if(this.finished=!0,oi(this.buffer.subarray(t)),fi(n),this.compress(n,0,!0),fi(n),e.byteOffset&3)throw RangeError(`"digestInto() output" expected 4-byte aligned byteOffset, got `+e.byteOffset);let r=this.get(),i=ai(e),a=Math.floor(this.outputLen/4);for(let e=0;e<a;e++)i[e]=ui(r[e]);let o=this.outputLen%4;if(!o)return;let s=a*4,c=r[a];for(let t=0;t<o;t++)e[s+t]=c>>>8*t}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let n=e.slice(0,t);return this.destroy(),n}_cloneInto(e){let{buffer:t,length:n,finished:r,destroyed:i,outputLen:a,pos:o}=this;return e||=new this.constructor({dkLen:a}),e.set(...this.get()),e.buffer.set(t),e.destroyed=i,e.finished=r,e.length=n,e.pos=o,e.outputLen=a,e}clone(){return this._cloneInto()}},$i=class extends Qi{v0l=Ji[0]|0;v0h=Ji[1]|0;v1l=Ji[2]|0;v1h=Ji[3]|0;v2l=Ji[4]|0;v2h=Ji[5]|0;v3l=Ji[6]|0;v3h=Ji[7]|0;v4l=Ji[8]|0;v4h=Ji[9]|0;v5l=Ji[10]|0;v5h=Ji[11]|0;v6l=Ji[12]|0;v6h=Ji[13]|0;v7l=Ji[14]|0;v7h=Ji[15]|0;constructor(e={}){let t=e.dkLen===void 0?64:e.dkLen;super(128,t),Zi(t,e,64,16,16);let{key:n,personalization:r,salt:i}=e,a=0;if(n!==void 0&&(ti(n,void 0,`key`),a=n.length),this.v0l^=this.outputLen|a<<8|16842752,i!==void 0){ti(i,void 0,`salt`);let e=ai(i);this.v4l^=ui(e[0]),this.v4h^=ui(e[1]),this.v5l^=ui(e[2]),this.v5h^=ui(e[3])}if(r!==void 0){ti(r,void 0,`personalization`);let e=ai(r);this.v6l^=ui(e[0]),this.v6h^=ui(e[1]),this.v7l^=ui(e[2]),this.v7h^=ui(e[3])}if(n!==void 0){let e=new Uint8Array(this.blockLen);e.set(n),this.update(e)}}get(){let{v0l:e,v0h:t,v1l:n,v1h:r,v2l:i,v2h:a,v3l:o,v3h:s,v4l:c,v4h:l,v5l:u,v5h:d,v6l:f,v6h:p,v7l:m,v7h:h}=this;return[e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h]}set(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h){this.v0l=e|0,this.v0h=t|0,this.v1l=n|0,this.v1h=r|0,this.v2l=i|0,this.v2h=a|0,this.v3l=o|0,this.v3h=s|0,this.v4l=c|0,this.v4h=l|0,this.v5l=u|0,this.v5h=d|0,this.v6l=f|0,this.v6h=p|0,this.v7l=m|0,this.v7h=h|0}compress(e,t,n){this.get().forEach((e,t)=>L[t]=e),L.set(Ji,16);let{h:r,l:i}=ji(BigInt(this.length));L[24]=Ji[8]^i,L[25]=Ji[9]^r,n&&(L[28]=~L[28],L[29]=~L[29]);let a=0,o=Ei;for(let n=0;n<12;n++)Yi(0,4,8,12,e,t+2*o[a++]),Xi(0,4,8,12,e,t+2*o[a++]),Yi(1,5,9,13,e,t+2*o[a++]),Xi(1,5,9,13,e,t+2*o[a++]),Yi(2,6,10,14,e,t+2*o[a++]),Xi(2,6,10,14,e,t+2*o[a++]),Yi(3,7,11,15,e,t+2*o[a++]),Xi(3,7,11,15,e,t+2*o[a++]),Yi(0,5,10,15,e,t+2*o[a++]),Xi(0,5,10,15,e,t+2*o[a++]),Yi(1,6,11,12,e,t+2*o[a++]),Xi(1,6,11,12,e,t+2*o[a++]),Yi(2,7,8,13,e,t+2*o[a++]),Xi(2,7,8,13,e,t+2*o[a++]),Yi(3,4,9,14,e,t+2*o[a++]),Xi(3,4,9,14,e,t+2*o[a++]);this.v0l^=L[0]^L[16],this.v0h^=L[1]^L[17],this.v1l^=L[2]^L[18],this.v1h^=L[3]^L[19],this.v2l^=L[4]^L[20],this.v2h^=L[5]^L[21],this.v3l^=L[6]^L[22],this.v3h^=L[7]^L[23],this.v4l^=L[8]^L[24],this.v4h^=L[9]^L[25],this.v5l^=L[10]^L[26],this.v5h^=L[11]^L[27],this.v6l^=L[12]^L[28],this.v6h^=L[13]^L[29],this.v7l^=L[14]^L[30],this.v7h^=L[15]^L[31],oi(L)}destroy(){this.destroyed=!0,oi(this.buffer32),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},ea=Ci(e=>new $i(e));function ta(e,t){let n=Array.from(`${e}::`).map(e=>e.charCodeAt(0)),r=new Uint8Array(n.length+t.length);return r.set(n),r.set(t,n.length),ea(r,{dkLen:32})}function na(e){return D(e).replace(`0x`,``)}var ra=class e{static fromKindBytes(t){let n=I.TransactionKind.parse(t).ProgrammableTransaction;if(!n)throw Error(`Unable to deserialize from bytes.`);return e.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=I.TransactionData.parse(t)?.V1,r=n.kind.ProgrammableTransaction;if(!n||!r)throw Error(`Unable to deserialize from bytes.`);return e.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 e(N(Tn,t)):new e(N(Tn,Zr(t)))}static getDigestFromBytes(e){return ve(ta(`TransactionData`,e))}constructor(e){this.version=2,this.sender=e?.sender??null,this.expiration=e?.expiration??null,this.inputs=e?.inputs??[],this.commands=e?.commands??[],this.gasData=e?.gasData??{budget:null,price:null,owner:null,payment:null}}build({maxSizeBytes:e=1/0,overrides:t,onlyTransactionKind:n}={}){let r=this.inputs,i=this.commands,a={ProgrammableTransaction:{inputs:r,commands:i}};if(n)return I.TransactionKind.serialize(a,{maxSize:e}).toBytes();let o=t?.expiration??this.expiration,s=t?.sender??this.sender,c={...this.gasData,...t?.gasData};if(!s)throw Error(`Missing transaction sender`);if(!c.budget)throw Error(`Missing gas budget`);if(!c.payment)throw Error(`Missing gas payment`);if(!c.price)throw Error(`Missing gas price`);let l={sender:na(s),expiration:o||{None:!0},gasData:{payment:c.payment,owner:na(this.gasData.owner??s),price:BigInt(c.price),budget:BigInt(c.budget)},kind:{ProgrammableTransaction:{inputs:r,commands:i}}};return I.TransactionData.serialize({V1:l},{maxSize:e}).toBytes()}addInput(e,t){let n=this.inputs.length;return this.inputs.push(t),{Input:n,type:e,$kind:`Input`}}getInputUses(e,t){this.mapArguments((n,r)=>(n.$kind===`Input`&&n.Input===e&&t(n,r),n))}mapCommandArguments(e,t){let n=this.commands[e];switch(n.$kind){case`MoveCall`:n.MoveCall.arguments=n.MoveCall.arguments.map(r=>t(r,n,e));break;case`TransferObjects`:n.TransferObjects.objects=n.TransferObjects.objects.map(r=>t(r,n,e)),n.TransferObjects.address=t(n.TransferObjects.address,n,e);break;case`SplitCoins`:n.SplitCoins.coin=t(n.SplitCoins.coin,n,e),n.SplitCoins.amounts=n.SplitCoins.amounts.map(r=>t(r,n,e));break;case`MergeCoins`:n.MergeCoins.destination=t(n.MergeCoins.destination,n,e),n.MergeCoins.sources=n.MergeCoins.sources.map(r=>t(r,n,e));break;case`MakeMoveVec`:n.MakeMoveVec.elements=n.MakeMoveVec.elements.map(r=>t(r,n,e));break;case`Upgrade`:n.Upgrade.ticket=t(n.Upgrade.ticket,n,e);break;case`$Intent`:let r=n.$Intent.inputs;n.$Intent.inputs={};for(let[i,a]of Object.entries(r))n.$Intent.inputs[i]=Array.isArray(a)?a.map(r=>t(r,n,e)):t(a,n,e);break;case`Publish`:break;default:throw Error(`Unexpected transaction kind: ${n.$kind}`)}}mapArguments(e){for(let t of this.commands.keys())this.mapCommandArguments(t,e)}replaceCommand(e,t,n=e){if(!Array.isArray(t)){this.commands[e]=t;return}let r=t.length-1;this.commands.splice(e,1,...structuredClone(t)),this.mapArguments((i,a,o)=>{if(o<e+t.length)return i;if(typeof n!=`number`&&(i.$kind===`Result`&&i.Result===e||i.$kind===`NestedResult`&&i.NestedResult[0]===e)){if(!(`NestedResult`in i)||i.NestedResult[1]===0)return N(P,structuredClone(n));throw Error(`Cannot replace command ${e} with a specific result type: NestedResult[${e}, ${i.NestedResult[1]}] references a nested element that cannot be mapped to the replacement result`)}switch(i.$kind){case`Result`:i.Result===e&&typeof n==`number`&&(i.Result=n),i.Result>e&&(i.Result+=r);break;case`NestedResult`:if(i.NestedResult[0]===e&&typeof n==`number`)return{$kind:`NestedResult`,NestedResult:[n,i.NestedResult[1]]};i.NestedResult[0]>e&&(i.NestedResult[0]+=r);break}return i})}replaceCommandWithTransaction(e,t,n){if(n.$kind!==`Result`&&n.$kind!==`NestedResult`)throw Error(`Result must be of kind Result or NestedResult`);this.insertTransaction(e,t),this.replaceCommand(e+t.commands.length,[],`Result`in n?{NestedResult:[n.Result+e,0]}:{NestedResult:[n.NestedResult[0]+e,n.NestedResult[1]]})}insertTransaction(e,t){let n=new Map,r=new Map;for(let e=0;e<t.inputs.length;e++){let r=t.inputs[e],i=En(r),a=-1;if(i!==void 0&&(a=this.inputs.findIndex(e=>En(e)===i),a!==-1&&this.inputs[a].Object?.SharedObject&&r.Object?.SharedObject&&(this.inputs[a].Object.SharedObject.mutable=this.inputs[a].Object.SharedObject.mutable||r.Object.SharedObject.mutable)),a!==-1)n.set(e,a);else{let t=this.inputs.length;this.inputs.push(r),n.set(e,t)}}for(let n=0;n<t.commands.length;n++)r.set(n,e+n);let i=[];for(let e=0;e<t.commands.length;e++){let a=structuredClone(t.commands[e]);Dn(a,n,r),i.push(a)}this.commands.splice(e,0,...i);let a=i.length;a>0&&this.mapArguments((t,n,r)=>{if(r>=e&&r<e+i.length)return t;switch(t.$kind){case`Result`:t.Result>=e&&(t.Result+=a);break;case`NestedResult`:t.NestedResult[0]>=e&&(t.NestedResult[0]+=a);break}return t})}getDigest(){let t=this.build({onlyTransactionKind:!1});return e.getDigestFromBytes(t)}snapshot(){return N(Tn,this)}shallowClone(){return new e({version:this.version,sender:this.sender,expiration:this.expiration,gasData:{...this.gasData},inputs:[...this.inputs],commands:[...this.commands]})}applyResolvedData(e){this.sender||=e.sender??null,this.expiration||=e.expiration??null,this.gasData.budget||(this.gasData.budget=e.gasData.budget),this.gasData.owner||(this.gasData.owner=e.gasData.owner??null),this.gasData.payment||(this.gasData.payment=e.gasData.payment),this.gasData.price||(this.gasData.price=e.gasData.price);for(let t=0;t<this.inputs.length;t++){let n=this.inputs[t],r=e.inputs[t];switch(n.$kind){case`UnresolvedPure`:if(r.$kind!==`Pure`)throw Error(`Expected input at index ${t} to resolve to a Pure argument, but got ${JSON.stringify(r)}`);this.inputs[t]=r;break;case`UnresolvedObject`:if(r.$kind!==`Object`)throw Error(`Expected input at index ${t} to resolve to an Object argument, but got ${JSON.stringify(r)}`);if(r.Object.$kind===`ImmOrOwnedObject`||r.Object.$kind===`Receiving`){let e=n.UnresolvedObject,i=r.Object.ImmOrOwnedObject??r.Object.Receiving;if(D(e.objectId)!==D(i.objectId)||e.version!=null&&e.version!==i.version||e.digest!=null&&e.digest!==i.digest||e.mutable!=null||e.initialSharedVersion!=null)throw Error(`Input at index ${t} did not match unresolved object. ${JSON.stringify(e)} is not compatible with ${JSON.stringify(i)}`)}else if(r.Object.$kind===`SharedObject`){let e=n.UnresolvedObject,i=r.Object.SharedObject;if(D(e.objectId)!==D(i.objectId)||e.initialSharedVersion!=null&&e.initialSharedVersion!==i.initialSharedVersion||e.mutable!=null&&e.mutable!==i.mutable||e.version!=null||e.digest!=null)throw Error(`Input at index ${t} did not match unresolved object. ${JSON.stringify(e)} is not compatible with ${JSON.stringify(i)}`)}else throw Error(`Input at index ${t} resolved to an unexpected Object kind: ${JSON.stringify(r.Object)}`);this.inputs[t]=r;break}}}},ia={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(e=>N(P,e)),address:N(P,t)}}},SplitCoins(e,t){return{$kind:`SplitCoins`,SplitCoins:{coin:N(P,e),amounts:t.map(e=>N(P,e))}}},MergeCoins(e,t){return{$kind:`MergeCoins`,MergeCoins:{destination:N(P,e),sources:t.map(e=>N(P,e))}}},Publish({modules:e,dependencies:t}){return{$kind:`Publish`,Publish:{modules:e.map(e=>typeof e==`string`?e:T(new Uint8Array(e))),dependencies:t.map(e=>vt(e))}}},Upgrade({modules:e,dependencies:t,package:n,ticket:r}){return{$kind:`Upgrade`,Upgrade:{modules:e.map(e=>typeof e==`string`?e:T(new Uint8Array(e))),dependencies:t.map(e=>vt(e)),package:n,ticket:N(P,r)}}},MakeMoveVec({type:e,elements:t}){return{$kind:`MakeMoveVec`,MakeMoveVec:{type:e??null,elements:t.map(e=>N(P,e))}}},Intent({name:e,inputs:t={},data:n={}}){return{$kind:`$Intent`,$Intent:{name:e,inputs:Object.fromEntries(Object.entries(t).map(([e,t])=>[e,Array.isArray(t)?t.map(e=>N(P,e)):N(P,t)])),data:n}}}};function aa(e){return{$kind:`Pure`,Pure:{bytes:e instanceof Uint8Array?T(e):e.toBase64()}}}var oa={Pure:aa,ObjectRef({objectId:e,digest:t,version:n}){return{$kind:`Object`,Object:{$kind:`ImmOrOwnedObject`,ImmOrOwnedObject:{digest:t,version:n,objectId:D(e)}}}},SharedObjectRef({objectId:e,mutable:t,initialSharedVersion:n}){return{$kind:`Object`,Object:{$kind:`SharedObject`,SharedObject:{mutable:t,initialSharedVersion:n,objectId:D(e)}}}},ReceivingRef({objectId:e,digest:t,version:n}){return{$kind:`Object`,Object:{$kind:`Receiving`,Receiving:{digest:t,version:n,objectId:D(e)}}}},FundsWithdrawal({reservation:e,typeArg:t,withdrawFrom:n}){return{$kind:`FundsWithdrawal`,FundsWithdrawal:{reservation:e,typeArg:t,withdrawFrom:n}}}},sa=`0x0000000000000000000000000000000000000000000000000000000000000001`,ca=`0x0000000000000000000000000000000000000000000000000000000000000002`,la=`0x0000000000000000000000000000000000000000000000000000000000000006`,ua=`${ca}::sui::SUI`,da=`0x0000000000000000000000000000000000000000000000000000000000000005`,fa=`0x0000000000000000000000000000000000000000000000000000000000000008`,pa=`0x0000000000000000000000000000000000000000000000000000000000000403`;function ma(e){let t=e.split(`::`);if(t.length!==3)throw Error(`Invalid type name format: ${e}`);return{package:t[0],module:t[1],name:t[2]}}function ha(e){if(e.body.$kind!==`datatype`)return!1;let{package:t,module:n,name:r}=ma(e.body.datatype.typeName);return D(t)===`0x0000000000000000000000000000000000000000000000000000000000000002`&&n===`tx_context`&&r===`TxContext`}function ga(e){switch(e.$kind){case`address`:return I.Address;case`bool`:return I.Bool;case`u8`:return I.U8;case`u16`:return I.U16;case`u32`:return I.U32;case`u64`:return I.U64;case`u128`:return I.U128;case`u256`:return I.U256;case`vector`:{if(e.vector.$kind===`u8`)return I.byteVector().transform({input:e=>typeof e==`string`?new TextEncoder().encode(e):e,output:e=>e});let t=ga(e.vector);return t?I.vector(t):null}case`datatype`:{let{package:t,module:n,name:r}=ma(e.datatype.typeName),i=D(t);if(i===`0x0000000000000000000000000000000000000000000000000000000000000001`){if(n===`ascii`&&r===`String`||n===`string`&&r===`String`)return I.String;if(n===`option`&&r===`Option`){let t=ga(e.datatype.typeParameters[0]);return t?I.vector(t):null}}return i===`0x0000000000000000000000000000000000000000000000000000000000000002`&&n===`object`&&r===`ID`?I.Address:null}case`typeParameter`:case`unknown`:return null}}var _a=`CoinWithBalance`,va=_t(`0x2::sui::SUI`);function ya({type:e=va,balance:t,useGasCoin:n=!0}){let r=null;return i=>{if(r)return r;i.addIntentResolver(_a,Sa);let a=e===`gas`?e:_t(e);return r=i.add(ia.Intent({name:_a,inputs:{},data:{type:a===va&&n?`gas`:a,balance:BigInt(t),outputKind:`coin`}})),r}}function ba({type:e=va,balance:t,useGasCoin:n=!0}){let r=null;return i=>{if(r)return r;i.addIntentResolver(_a,Sa);let a=e===`gas`?e:_t(e);return r=i.add(ia.Intent({name:_a,inputs:{},data:{type:a===va&&n?`gas`:a,balance:BigInt(t),outputKind:`balance`}})),r}}var xa=j({type:M(),balance:Kt(),outputKind:Zt(Qt([`coin`,`balance`]))});async function Sa(e,t,n){let r=new Set,i=new Map,a=new Map;if(!e.sender)throw Error(`Sender must be set to resolve CoinWithBalance`);for(let[t,n]of e.commands.entries()){if(n.$kind!==`$Intent`||n.$Intent.name!==`CoinWithBalance`)continue;let{type:o,balance:s,outputKind:c}=N(xa,n.$Intent.data);if(s===0n){let n=o===`gas`?va:o;e.replaceCommand(t,ia.MoveCall({target:(c??`coin`)===`balance`?`0x2::balance::zero`:`0x2::coin::zero`,typeArguments:[n]}));continue}o!==`gas`&&r.add(o),i.set(o,(i.get(o)??0n)+s),a.has(o)||a.set(o,[]),a.get(o).push({balance:s,outputKind:c??`coin`})}if(i.has(`gas`)&&i.has(va))throw 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 t of e.inputs)t.Object?.ImmOrOwnedObject&&o.add(t.Object.ImmOrOwnedObject.objectId),t.UnresolvedObject?.objectId&&o.add(t.UnresolvedObject.objectId);let s=new Map,c=new Map,l=t.client;if(!l)throw Error(`Client must be provided to build or serialize transactions with CoinWithBalance intents`);await Promise.all([...[...r].map(async t=>{let{coins:n,addressBalance:r}=await Ca({coinType:t,balance:i.get(t),client:l,owner:e.sender,usedIds:o});s.set(t,n),c.set(t,r)}),i.has(`gas`)?await l.core.getBalance({owner:e.sender,coinType:va}).then(({balance:e})=>{c.set(`gas`,BigInt(e.addressBalance))}):null]);let u=new Map,d=new Map,f=new Set,p=new Map,m=0;for(;m<e.commands.length;){let t=e.commands[m];if(t.$kind!==`$Intent`||t.$Intent.name!==`CoinWithBalance`){m++;continue}let{type:n,balance:r}=t.$Intent.data,o=n===`gas`?va:n,l=i.get(n),h=c.get(n)??0n,g=[],_,v=a.get(n)??[];if(v.every(e=>e.outputKind===`balance`)&&h>=l)g.push(ia.MoveCall({target:`0x2::balance::redeem_funds`,typeArguments:[o],arguments:[e.addInput(`withdrawal`,oa.FundsWithdrawal({reservation:{$kind:`MaxAmountU64`,MaxAmountU64:String(r)},typeArg:{$kind:`Balance`,Balance:o},withdrawFrom:{$kind:`Sender`,Sender:!0}}))]})),_={$kind:`NestedResult`,NestedResult:[m+g.length-1,0]};else{if(!p.has(n)){let t=v,r=[];if(h>=l)f.add(n),g.push(ia.MoveCall({target:`0x2::coin::redeem_funds`,typeArguments:[o],arguments:[e.addInput(`withdrawal`,oa.FundsWithdrawal({reservation:{$kind:`MaxAmountU64`,MaxAmountU64:String(l)},typeArg:{$kind:`Balance`,Balance:o},withdrawFrom:{$kind:`Sender`,Sender:!0}}))]})),r.push({$kind:`Result`,Result:m+g.length-1});else if(n===`gas`)r.push({$kind:`GasCoin`,GasCoin:!0});else{let t=s.get(n),i=t.reduce((e,t)=>e+BigInt(t.balance),0n),a=l>i?l-i:0n;d.set(n,i+a===l);for(let n of t)r.push(e.addInput(`object`,oa.ObjectRef({objectId:n.objectId,digest:n.digest,version:n.version})));a>0n&&(f.add(n),g.push(ia.MoveCall({target:`0x2::coin::redeem_funds`,typeArguments:[o],arguments:[e.addInput(`withdrawal`,oa.FundsWithdrawal({reservation:{$kind:`MaxAmountU64`,MaxAmountU64:String(a)},typeArg:{$kind:`Balance`,Balance:o},withdrawFrom:{$kind:`Sender`,Sender:!0}}))]})),r.push({$kind:`Result`,Result:m+g.length-1}))}let i=r[0],a=r.slice(1);for(let e=0;e<a.length;e+=500)g.push(ia.MergeCoins(i,a.slice(e,e+500)));u.set(n,i);let c=m+g.length;g.push(ia.SplitCoins(i,t.map(t=>e.addInput(`pure`,oa.Pure(I.u64().serialize(t.balance))))));let _=[];for(let e=0;e<t.length;e++){let n={$kind:`NestedResult`,NestedResult:[c,e]};t[e].outputKind===`balance`?(g.push(ia.MoveCall({target:`0x2::coin::into_balance`,typeArguments:[o],arguments:[n]})),_.push({$kind:`NestedResult`,NestedResult:[m+g.length-1,0]})):_.push(n)}p.set(n,{results:_,nextIntent:0})}let t=p.get(n);_=t.results[t.nextIntent++]}e.replaceCommand(m,g,_),m+=g.length}for(let[t,n]of u){if(t===`gas`&&!f.has(t))continue;let r=t===`gas`?va:t,i=a.get(t)?.some(e=>e.outputKind===`balance`),o=f.has(t);i||o?e.commands.push(ia.MoveCall({target:`0x2::coin::send_funds`,typeArguments:[r],arguments:[n,e.addInput(`pure`,oa.Pure(I.Address.serialize(e.sender)))]})):d.get(t)&&e.commands.push(ia.MoveCall({target:`0x2::coin::destroy_zero`,typeArguments:[r],arguments:[n]}))}return n()}async function Ca({coinType:e,balance:t,client:n,owner:r,usedIds:i}){let a=t,o=[],s=n.core.getBalance({owner:r,coinType:e}).then(({balance:e})=>(a-=BigInt(e.addressBalance),e)),[c,l]=await Promise.all([u(),s]);if(BigInt(l.balance)<t)throw Error(`Insufficient balance of ${e} for owner ${r}. Required: ${t}, Available: ${t-a}`);return{coins:c,balance:BigInt(l.coinBalance),addressBalance:BigInt(l.addressBalance),coinBalance:BigInt(l.coinBalance)};async function u(t=null){let{objects:c,hasNextPage:l,cursor:d}=await n.core.listCoins({owner:r,coinType:e,cursor:t});await s;for(let e of c)i.has(e.objectId)||(o.push(e),a-=BigInt(e.balance));return a>0n&&l?u(d):o}}function wa(e){return nn(Object.entries(e).map(([e,t])=>j({[e]:t})))}var Ta=wa({GasCoin:k(!0),Input:on(Xt(),zt()),Result:on(Xt(),zt()),NestedResult:en([on(Xt(),zt()),on(Xt(),zt())])}),Ea=j({budget:A(pn),price:A(pn),owner:A(un),payment:A(O(hn))}),Da=wa({MoveCall:j({package:dn,module:M(),function:M(),typeArguments:O(M()),arguments:O(Ta)}),TransferObjects:j({objects:O(Ta),address:Ta}),SplitCoins:j({coin:Ta,amounts:O(Ta)}),MergeCoins:j({destination:Ta,sources:O(Ta)}),Publish:j({modules:O(fn),dependencies:O(dn)}),MakeMoveVec:j({type:A(M()),elements:O(Ta)}),Upgrade:j({modules:O(fn),dependencies:O(dn),package:dn,ticket:Ta}),$Intent:j({name:M(),inputs:$t(M(),nn([Ta,O(Ta)])),data:$t(M(),rn())})}),Oa=wa({Object:wa({ImmOrOwnedObject:hn,SharedObject:j({objectId:dn,initialSharedVersion:pn,mutable:qt()}),Receiving:hn}),Pure:j({bytes:fn}),UnresolvedPure:j({value:rn()}),UnresolvedObject:j({objectId:dn,version:Zt(A(pn)),digest:Zt(A(M())),initialSharedVersion:Zt(A(pn)),mutable:Zt(A(qt()))}),FundsWithdrawal:bn}),ka=wa({None:k(!0),Epoch:pn,ValidDuring:Cn}),Aa=j({version:k(2),sender:Yt(un),expiration:Yt(ka),gasData:Ea,inputs:O(Oa),commands:O(Da),digest:Zt(A(M()))}),ja=class extends Error{},Ma=class extends ja{constructor(e,t){super(e,{cause:t?.cause}),this.executionError=t?.executionError}};function Na(e,t,n){let r=I.Address.serialize(e).toBytes(),i=I.TypeTag.serialize(t).toBytes(),a=I.u64().serialize(n.length).toBytes(),o=ea.create({dkLen:32});return o.update(new Uint8Array([240])),o.update(r),o.update(a),o.update(n),o.update(i),`0x${Se(o.digest().slice(0,32))}`}var Pa=D(`0xacc`),Fa=An.parseFromStr(`0x2::accumulator::Key<0x2::balance::Balance<0x2::sui::SUI>>`),Ia=new Uint8Array([172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172]);function La(e,t){let n=xe(Na(Pa,Fa,I.Address.serialize(e).toBytes()).slice(2)),r=ye(t);if(r.length!==32)throw Error(`Invalid chain identifier length: expected 32 bytes, got ${r.length}`);let i=new Uint8Array(32);for(let e=0;e<32;e++)i[e]=n[e]^r[e];return`0x${Se(i)}`}function Ra(e,t,n,r){let i=new Uint8Array(32),a=new DataView(i.buffer);a.setBigUint64(0,e,!0);let o=Number(r);if(!Number.isSafeInteger(o)||o<0||o>4294967295)throw Error(`Epoch ${r} out of u32 range for coin reservation digest`);return a.setUint32(8,o,!0),i.set(Ia,12),N(hn,{objectId:La(t,n),version:`0`,digest:ve(i)})}var za=50,Ba=1000n,Va=5e10;function Ha(e,t=1n){let n=Ba*BigInt(t),r=BigInt(e.computationCost)+n,i=r+BigInt(e.storageCost)-BigInt(e.storageRebate);return String(i>r?i:r)}function Ua(e){if(!e.client)throw Error(`No sui client passed to Transaction#build, but transaction data was not sufficient to build offline.`);return e.client}async function Wa(e,t,n){let r=Ua(t),i=!t.onlyTransactionKind&&!e.gasData.price,a=!t.onlyTransactionKind&&!e.gasData.payment,o=e.gasData.owner??e.sender,s=!1,c=0n;e.mapArguments(e=>(e.$kind===`GasCoin`&&(s=!0),e));let l=o?D(o):null;for(let t of e.inputs){if(t.$kind!==`FundsWithdrawal`||!l||_t(t.FundsWithdrawal.typeArg.Balance)!==ua)continue;let n=t.FundsWithdrawal.withdrawFrom.Sender?e.sender:o;n&&D(n)===l&&t.FundsWithdrawal.reservation.$kind===`MaxAmountU64`&&(c+=BigInt(t.FundsWithdrawal.reservation.MaxAmountU64))}let u=!t.onlyTransactionKind&&!e.expiration&&!e.gasData.budget,d=i||a&&s||u,f=a&&s||u,[,p,m,h,g]=await Promise.all([Xa(e,r),d?r.core.getCurrentSystemState():null,a&&o?r.core.getBalance({owner:o}):null,a&&o?r.core.listCoins({owner:o,coinType:ua}):null,f?r.core.getChainIdentifier():null]);if(await Ya(e,r),!t.onlyTransactionKind){let t=p?.systemState??null,n=g?.chainIdentifier??null;if(t&&!e.gasData.price&&(e.gasData.price=t.referenceGasPrice),await Ga(e,r,u&&t&&n?Ja(t,n):void 0),a){if(!m||!h)throw Error(`Could not resolve gas payment: a gas owner or sender must be set to fetch balance and coins.`);Ka({transactionData:e,balance:m,coins:h,usesGasCoin:s,withdrawals:c,gasPayer:o,chainIdentifier:n,epoch:t?.epoch??null})}!e.expiration&&e.gasData.payment?.length===0&&await qa(e,r,t,n)}return await n()}async function Ga(e,t,n){if(e.gasData.budget)return;let r=await t.core.simulateTransaction({transaction:e.build({overrides:{gasData:{budget:String(Va),payment:[]},...n&&{expiration:n}}}),include:{effects:!0}});if(r.$kind===`FailedTransaction`){let e=r.FailedTransaction.status.error??void 0;throw new Ma(`Transaction resolution failed: ${e?.message??`Unknown error`}`,{cause:r,executionError:e})}e.gasData.budget=Ha(r.Transaction.effects.gasUsed,e.gasData.price?String(e.gasData.price):void 0)}function Ka({transactionData:e,balance:t,coins:n,usesGasCoin:r,withdrawals:i,gasPayer:a,chainIdentifier:o,epoch:s}){let c=BigInt(e.gasData.budget),l=BigInt(t.balance.addressBalance);if(c===0n||!r&&l>=c+i){e.gasData.payment=[];return}let u=n.objects.filter(t=>!e.inputs.find(e=>e.Object?.ImmOrOwnedObject?t.objectId===e.Object.ImmOrOwnedObject.objectId:!1)),d=u.map(e=>({objectId:e.objectId,digest:e.digest,version:e.version})),f=l-i;if(r&&f>0n&&o&&s)e.gasData.payment=[Ra(f,a,o,s),...d];else if(u.length)e.gasData.payment=d;else throw Error(`No valid gas coins found for the transaction.`)}async function qa(e,t,n,r=null){let[i,a]=await Promise.all([r??t.core.getChainIdentifier().then(e=>e.chainIdentifier),n??t.core.getCurrentSystemState().then(e=>e.systemState)]);e.expiration=Ja(a,i)}function Ja(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 Ya(e,t){let n=e.inputs.filter(e=>e.UnresolvedObject&&!(e.UnresolvedObject.version||e.UnresolvedObject?.initialSharedVersion)),r=[...new Set(n.map(e=>vt(e.UnresolvedObject.objectId)))],i=r.length?Ce(r,za):[],a=(await Promise.all(i.map(e=>t.core.getObjects({objectIds:e})))).flatMap(e=>e.objects),o=new Map(r.map((e,t)=>[e,a[t]])),s=Array.from(o).filter(([e,t])=>t instanceof Error).map(([e,t])=>t.message);if(s.length)throw Error(`The following input objects are invalid: ${s.join(`, `)}`);let c=a.map(e=>{if(e instanceof Error)throw Error(`Failed to fetch object: ${e.message}`);let t=e.owner,n=t&&typeof t==`object`?t.$kind===`Shared`?t.Shared.initialSharedVersion:t.$kind===`ConsensusAddressOwner`?t.ConsensusAddressOwner.startVersion:null:null;return{objectId:e.objectId,digest:e.digest,version:e.version,initialSharedVersion:n}}),l=new Map(r.map((e,t)=>[e,c[t]]));for(let[t,n]of e.inputs.entries()){if(!n.UnresolvedObject)continue;let r,i=D(n.UnresolvedObject.objectId),a=l.get(i);n.UnresolvedObject.initialSharedVersion??a?.initialSharedVersion?r=oa.SharedObjectRef({objectId:i,initialSharedVersion:n.UnresolvedObject.initialSharedVersion||a?.initialSharedVersion,mutable:n.UnresolvedObject.mutable||Za(e,t)}):Qa(e,t)&&(r=oa.ReceivingRef({objectId:i,digest:n.UnresolvedObject.digest??a?.digest,version:n.UnresolvedObject.version??a?.version})),e.inputs[e.inputs.indexOf(n)]=r??oa.ObjectRef({objectId:i,digest:n.UnresolvedObject.digest??a?.digest,version:n.UnresolvedObject.version??a?.version})}}async function Xa(e,t){let{inputs:n,commands:r}=e,i=[],a=new Set;r.forEach(t=>{if(t.MoveCall){if(t.MoveCall._argumentTypes)return;if(t.MoveCall.arguments.map(t=>t.$kind===`Input`?e.inputs[t.Input]:null).some(e=>e?.UnresolvedPure||e?.UnresolvedObject&&typeof e?.UnresolvedObject.mutable!=`boolean`)){let e=`${t.MoveCall.package}::${t.MoveCall.module}::${t.MoveCall.function}`;a.add(e),i.push(t.MoveCall)}}});let o=new Map;a.size>0&&await Promise.all([...a].map(async e=>{let[n,r,i]=e.split(`::`),{function:a}=await t.core.getMoveFunction({packageId:n,moduleName:r,name:i});o.set(e,a.parameters)})),i.length&&await Promise.all(i.map(async e=>{let t=o.get(`${e.package}::${e.module}::${e.function}`);t&&(e._argumentTypes=t.length>0&&ha(t.at(-1))?t.slice(0,t.length-1):t)})),r.forEach(e=>{if(!e.MoveCall)return;let t=e.MoveCall,r=`${t.package}::${t.module}::${t.function}`,i=t._argumentTypes;if(i){if(i.length!==e.MoveCall.arguments.length)throw Error(`Incorrect number of arguments for ${r}`);i.forEach((e,r)=>{let i=t.arguments[r];if(i.$kind!==`Input`)return;let a=n[i.Input];if(!a.UnresolvedPure&&!a.UnresolvedObject)return;let o=a.UnresolvedPure?.value??a.UnresolvedObject?.objectId,s=ga(e.body);if(s){i.type=`pure`,n[n.indexOf(a)]=oa.Pure(s.serialize(o));return}if(typeof o!=`string`)throw Error(`Expect the argument to be an object id string, got ${JSON.stringify(o,null,2)}`);i.type=`object`;let c=a.UnresolvedPure?{$kind:`UnresolvedObject`,UnresolvedObject:{objectId:o}}:a;n[i.Input]=c})}})}function Za(e,t){let n=!1;return e.getInputUses(t,(e,t)=>{if(t.MoveCall&&t.MoveCall._argumentTypes){let r=t.MoveCall.arguments.indexOf(e);n=t.MoveCall._argumentTypes[r].reference!==`immutable`||n}(t.$kind===`MakeMoveVec`||t.$kind===`MergeCoins`||t.$kind===`SplitCoins`||t.$kind===`TransferObjects`)&&(n=!0)}),n}function Qa(e,t){let n=!1;return e.getInputUses(t,(e,t)=>{if(t.MoveCall&&t.MoveCall._argumentTypes){let r=t.MoveCall.arguments.indexOf(e);n=eo(t.MoveCall._argumentTypes[r])||n}}),n}var $a=`0x0000000000000000000000000000000000000000000000000000000000000002::transfer::Receiving`;function eo(e){return e.body.$kind===`datatype`?e.body.datatype.typeName===$a:!1}function to(e,t){return!!(e.inputs.some(e=>e.UnresolvedObject||e.UnresolvedPure)||!t.onlyTransactionKind&&(!e.gasData.price||!e.gasData.budget||!e.gasData.payment||e.gasData.payment.length===0&&!e.expiration))}async function no(e,t,n){return ao(e),to(e,t)?(io(t).core?.resolveTransactionPlugin()??Wa)(e,t,async()=>{await ro(e),await n()}):(await ro(e),n())}function ro(e){e.inputs.forEach((e,t)=>{if(e.$kind!==`Object`&&e.$kind!==`Pure`&&e.$kind!==`FundsWithdrawal`)throw Error(`Input at index ${t} has not been resolved. Expected a Pure, Object, or FundsWithdrawal input, but found ${JSON.stringify(e)}`)})}function io(e){if(!e.client)throw Error(`No sui client passed to Transaction#build, but transaction data was not sufficient to build offline.`);return e.client}function ao(e){for(let t of e.commands)switch(t.$kind){case`SplitCoins`:t.SplitCoins.amounts.forEach(t=>{oo(t,I.U64,e)});break;case`TransferObjects`:oo(t.TransferObjects.address,I.Address,e);break}}function oo(e,t,n){if(e.$kind!==`Input`)return;let r=n.inputs[e.Input];r.$kind===`UnresolvedPure`&&(n.inputs[e.Input]=oa.Pure(t.serialize(r.UnresolvedPure.value)))}function so(e){function t(t){return e(t)}return t.system=e=>{let n=e?.mutable;return t(n===void 0?{$kind:`UnresolvedObject`,UnresolvedObject:{objectId:da,initialSharedVersion:1}}:oa.SharedObjectRef({objectId:da,initialSharedVersion:1,mutable:n}))},t.clock=()=>t(oa.SharedObjectRef({objectId:la,initialSharedVersion:1,mutable:!1})),t.random=()=>t({$kind:`UnresolvedObject`,UnresolvedObject:{objectId:fa,mutable:!1}}),t.denyList=e=>t({$kind:`UnresolvedObject`,UnresolvedObject:{objectId:pa,mutable:e?.mutable}}),t.option=({type:e,value:t})=>n=>n.moveCall({typeArguments:[e],target:`${sa}::option::${t===null?`none`:`some`}`,arguments:t===null?[]:[n.object(t)]}),t}function co(e){function t(t,n){if(typeof t==`string`)return e(Wr(t).serialize(n));if(t instanceof Uint8Array||Ge(t))return e(t);throw Error(`tx.pure must be called either a bcs type name, or a serialized bcs value`)}return t.u8=t=>e(I.U8.serialize(t)),t.u16=t=>e(I.U16.serialize(t)),t.u32=t=>e(I.U32.serialize(t)),t.u64=t=>e(I.U64.serialize(t)),t.u128=t=>e(I.U128.serialize(t)),t.u256=t=>e(I.U256.serialize(t)),t.bool=t=>e(I.Bool.serialize(t)),t.string=t=>e(I.String.serialize(t)),t.address=t=>e(I.Address.serialize(t)),t.id=t.address,t.vector=(t,n)=>e(I.vector(Wr(t)).serialize(n)),t.option=(t,n)=>e(I.option(Wr(t)).serialize(n)),t}var lo=`2.17.0`,uo=`/`,fo={"Mvr-Source":`@mysten/sui@${lo}`},po=class{#e;#t;#n;#r;constructor({cache:e,url:t,pageSize:n=50,overrides:r}){this.#e=e,this.#t=t,this.#n=n,this.#r={packages:r?.packages,types:r?.types},mo(this.#r)}get#i(){return this.#e.readSync([`#mvrPackageDataLoader`,this.#t??``],()=>{let e=new Te(async e=>{if(!this.#t)throw Error(`MVR Api URL is not set for the current client (resolving ${e.join(`, `)})`);let t=await this.#o(e);return e.map(e=>t[e]??Error(`Failed to resolve package: ${e}`))}),t=this.#r?.packages;if(t)for(let[n,r]of Object.entries(t))e.prime(n,r);return e})}get#a(){return this.#e.readSync([`#mvrTypeDataLoader`,this.#t??``],()=>{let e=new Te(async e=>{if(!this.#t)throw Error(`MVR Api URL is not set for the current client (resolving ${e.join(`, `)})`);let t=await this.#s(e);return e.map(e=>t[e]??Error(`Failed to resolve type: ${e}`))}),t=this.#r?.types;if(t)for(let[n,r]of Object.entries(t))e.prime(n,r);return e})}async#o(e){if(e.length===0)return{};let t=Ce(e,this.#n),n={};return await Promise.all(t.map(async e=>{let t=await this.#c(`/v1/resolution/bulk`,{names:e});if(t?.resolution)for(let e of Object.keys(t?.resolution)){let r=t.resolution[e]?.package_id;r&&(n[e]=r)}})),n}async#s(e){if(e.length===0)return{};let t=Ce(e,this.#n),n={};return await Promise.all(t.map(async e=>{let t=await this.#c(`/v1/struct-definition/bulk`,{types:e});if(t?.resolution)for(let e of Object.keys(t?.resolution)){let r=t.resolution[e]?.type_tag;r&&(n[e]=r)}})),n}async#c(e,t){if(!this.#t)throw 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`,...fo},body:JSON.stringify(t)});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(`Failed to resolve types: ${e?.message}`)}return n.json()}async resolvePackage({package:e}){return _o(e)?{package:await this.#i.load(e)}:{package:e}}async resolveType({type:e}){if(!_o(e))return{type:e};let t=[...ho(e)],n=await this.#a.loadMany(t),r={};for(let e=0;e<t.length;e++){let i=n[e];if(i instanceof Error)throw i;r[t[e]]=i}return{type:go(e,r)}}async resolve({types:e=[],packages:t=[]}){let n=new Set;for(let t of e??[])ho(t,n);let r=[...n],[i,a]=await Promise.all([r.length>0?this.#a.loadMany(r):[],t.length>0?this.#i.loadMany(t):[]]),o={...this.#r?.types};for(let[e,t]of r.entries()){let n=i[e];if(n instanceof Error)throw n;o[t]=n}let s={};for(let t of e??[])s[t]={type:go(t,o)};let c={};for(let[e,n]of(t??[]).entries()){let t=this.#r?.packages?.[n]??a[e];if(t instanceof Error)throw t;c[n]={package:t}}return{types:s,packages:c}}};function mo(e){if(e?.packages)for(let[t,n]of Object.entries(e.packages)){if(!c(t))throw Error(`Invalid package name: ${t}`);if(!st(D(n)))throw Error(`Invalid package ID: ${n}`)}if(e?.types)for(let[t,n]of Object.entries(e.types)){if(gt(t).typeParams.length>0)throw Error(`Type overrides must be first-level only. If you want to supply generic types, just pass each type individually.`);if(!st(gt(n).address))throw Error(`Invalid type: ${n}`)}}function ho(e,t=new Set){if(typeof e==`string`&&!_o(e))return t;if(typeof e==`string`&&e.startsWith(`vector<`)&&e.endsWith(`>`))return ho(e.slice(7,-1),t);let n=vo(e)?e:gt(e);_o(n.address)&&t.add(`${n.address}::${n.module}::${n.name}`);for(let e of n.typeParams)ho(e,t);return t}function go(e,t){if(typeof e==`string`&&!e.includes(`::`))return e;if(typeof e==`string`&&e.startsWith(`vector<`)&&e.endsWith(`>`))return`vector<${go(e.slice(7,-1),t)}>`;let n=vo(e)?e:gt(e),r=t[`${n.address}::${n.module}::${n.name}`];return _t({...n,address:r?r.split(`::`)[0]:n.address,typeParams:n.typeParams.map(e=>go(e,t))})}function _o(e){return e.includes(uo)||e.includes(`@`)||e.includes(`.sui`)}function vo(e){return typeof e==`object`&&`address`in e&&`module`in e&&`name`in e&&`typeParams`in e}function yo(e){let t=new Set,n=new Set;for(let r of e.commands)switch(r.$kind){case`MakeMoveVec`:r.MakeMoveVec.type&&xo([r.MakeMoveVec.type]).forEach(e=>{n.add(e)});break;case`MoveCall`:let e=r.MoveCall,i=e.package.split(`::`)[0];if(_o(i)){if(!c(i))throw Error(`Invalid package name: ${i}`);t.add(i)}xo(e.typeArguments??[]).forEach(e=>{n.add(e)});break;default:break}return{packages:[...t],types:[...n]}}function bo(e,t){for(let n of e.commands){if(n.MakeMoveVec?.type){if(!_o(n.MakeMoveVec.type))continue;if(!t.types[n.MakeMoveVec.type])throw Error(`No resolution found for type: ${n.MakeMoveVec.type}`);n.MakeMoveVec.type=t.types[n.MakeMoveVec.type].type}let e=n.MoveCall;if(!e)continue;let r=e.package.split(`::`),i=r[0];if(_o(i)&&!t.packages[i])throw Error(`No address found for package: ${i}`);_o(i)&&(r[0]=t.packages[i].package,e.package=r.join(`::`));let a=e.typeArguments;if(a){for(let e=0;e<a.length;e++)if(_o(a[e])){if(!t.types[a[e]])throw Error(`No resolution found for type: ${a[e]}`);a[e]=t.types[a[e]].type}e.typeArguments=a}}}function xo(e){let t=new Set;for(let n of e)if(_o(n)){if(!l(n))throw Error(`Invalid type with names: ${n}`);t.add(n)}return t}function So(){return async(e,t,n)=>{let r=yo(e);if(r.types.length===0&&r.packages.length===0)return n();if(!t.client)throw Error(`Transaction contains MVR names but no client was provided to resolve them. Please pass a client to Transaction#build()`);bo(e,await t.client.core.mvr.resolve({types:r.types,packages:r.packages})),await n()}}function Co(e,t=1/0){let n={$kind:`Result`,get Result(){return typeof e==`function`?e():e}},r=[],i=t=>r[t]??={$kind:`NestedResult`,get NestedResult(){return[typeof e==`function`?e():e,t]}};return new Proxy(n,{set(){throw Error(`The transaction result is a proxy, and does not support setting properties directly`)},get(e,n){if(n in e)return Reflect.get(e,n);if(n===Symbol.iterator)return function*(){let e=0;for(;e<t;)yield i(e),e++};if(typeof n==`symbol`)return;let r=parseInt(n,10);if(!(Number.isNaN(r)||r<0))return i(r)}})}var wo=Symbol.for(`@mysten/transaction`);function To(e){return!!e&&typeof e==`object`&&e[wo]===!0}var Eo=class e{#e;#t;#n=new Map;#r=[];#i=[];#a=new Set;#o=new Set;#s=new Map;static fromKind(t){let n=new e;return n.#c=ra.fromKindBytes(typeof t==`string`?w(t):t),n.#r=n.#c.inputs.slice(),n.#i=n.#c.commands.slice(),n.#a=new Set(n.#i.map((e,t)=>t)),n}static from(t){let n=new e;if(To(t)?n.#c=ra.restore(t.getData()):typeof t!=`string`||!t.startsWith(`{`)?n.#c=ra.fromBytes(typeof t==`string`?w(t):t):n.#c=ra.restore(JSON.parse(t)),n.#r=n.#c.inputs.slice(),n.#i=n.#c.commands.slice(),n.#a=new Set(n.#i.map((e,t)=>t)),!n.isPreparedForSerialization({supportedIntents:[`CoinWithBalance`]}))throw Error("Transaction has unresolved intents or async thunks. Call `prepareForSerialization` before copying.");return n.#c.commands.some(e=>e.$Intent?.name===`CoinWithBalance`)&&n.addIntentResolver(_a,Sa),n}addSerializationPlugin(e){this.#e.push(e)}addBuildPlugin(e){this.#t.push(e)}addIntentResolver(e,t){if(this.#n.has(e)&&this.#n.get(e)!==t)throw Error(`Intent resolver for ${e} already exists`);this.#n.set(e,t)}setSender(e){this.#c.sender=e}setSenderIfNotSet(e){this.#c.sender||(this.#c.sender=e)}setExpiration(e){this.#c.expiration=e?N(wn,e):null}setGasPrice(e){this.#c.gasData.price=String(e)}setGasBudget(e){this.#c.gasData.budget=String(e)}setGasBudgetIfNotSet(e){this.#c.gasData.budget??(this.#c.gasData.budget=String(e))}setGasOwner(e){this.#c.gasData.owner=e}setGasPayment(e){this.#c.gasData.payment=e.map(e=>N(hn,e))}#c;getData(){return this.#c.snapshot()}get[wo](){return!0}get pure(){return Object.defineProperty(this,`pure`,{enumerable:!1,value:co(e=>Ge(e)?this.#d(`pure`,{$kind:`Pure`,Pure:{bytes:e.toBase64()}}):this.#d(`pure`,Gt(Sn,e)?N(Sn,e):e instanceof Uint8Array?oa.Pure(e):{$kind:`UnresolvedPure`,UnresolvedPure:{value:e}}))}),this.pure}constructor(){this.object=so(e=>{if(typeof e==`function`)return this.object(this.add(e));if(typeof e==`object`&&Gt(P,e))return e;let t=En(e),n=this.#c.inputs.find(e=>t===En(e));return n?.Object?.SharedObject&&typeof e==`object`&&e.Object?.SharedObject&&(n.Object.SharedObject.mutable=n.Object.SharedObject.mutable||e.Object.SharedObject.mutable),n?{$kind:`Input`,Input:this.#c.inputs.indexOf(n),type:`object`}:this.#d(`object`,typeof e==`string`?{$kind:`UnresolvedObject`,UnresolvedObject:{objectId:D(e)}}:e)}),this.#c=new ra,this.#t=[],this.#e=[]}get gas(){return{$kind:`GasCoin`,GasCoin:!0}}coin({type:e,balance:t,useGasCoin:n}){return this.add(ya({type:e,balance:t,useGasCoin:n}))}balance({type:e,balance:t,useGasCoin:n}){return this.add(ba({type:e,balance:t,useGasCoin:n}))}objectRef(...e){return this.object(oa.ObjectRef(...e))}receivingRef(...e){return this.object(oa.ReceivingRef(...e))}sharedObjectRef(...e){return this.object(oa.SharedObjectRef(...e))}#l(){let t=new e;return t.#c=this.#c,t.#e=this.#e,t.#t=this.#t,t.#n=this.#n,t.#o=this.#o,t.#a=new Set(this.#a),t.#s=this.#s,this.#r.push(t.#r),this.#i.push(t.#i),t}add(e){if(typeof e==`function`){if(this.#s.has(e))return this.#s.get(e);let t=this.#l(),n=e(t);if(!(n&&typeof n==`object`&&`then`in n))return this.#a=t.#a,this.#s.set(e,n),n;let r=this.#u({$kind:`$Intent`,$Intent:{name:`AsyncTransactionThunk`,inputs:{},data:{resultIndex:this.#c.commands.length,result:null}}});this.#o.add(Promise.resolve(n).then(e=>{r.$Intent.data.result=e}));let i=Co(()=>r.$Intent.data.resultIndex);return this.#s.set(e,i),i}else this.#u(e);return Co(this.#c.commands.length-1)}#u(e){let t=this.#c.commands.length;return this.#i.push(e),this.#a.add(t),this.#c.commands.push(e),this.#c.mapCommandArguments(t,e=>{if(e.$kind===`Result`&&!this.#a.has(e.Result))throw Error(`Result { Result: ${e.Result} } is not available to use in the current transaction`);if(e.$kind===`NestedResult`&&!this.#a.has(e.NestedResult[0]))throw Error(`Result { NestedResult: [${e.NestedResult[0]}, ${e.NestedResult[1]}] } is not available to use in the current transaction`);if(e.$kind===`Input`&&e.Input>=this.#c.inputs.length)throw Error(`Input { Input: ${e.Input} } references an input that does not exist in the current transaction`);return e}),e}#d(e,t){return this.#r.push(t),this.#c.addInput(e,t)}#f(e){return Ge(e)?this.pure(e):this.#p(e)}#p(e){if(typeof e==`function`){let t=this.add(e);return typeof t==`function`?this.#p(t):N(P,t)}return N(P,e)}splitCoins(e,t){let n=ia.SplitCoins(typeof e==`string`?this.object(e):this.#p(e),t.map(e=>typeof e==`number`||typeof e==`bigint`||typeof e==`string`?this.pure.u64(e):this.#f(e)));return this.#u(n),Co(this.#c.commands.length-1,t.length)}mergeCoins(e,t){return this.add(ia.MergeCoins(this.object(e),t.map(e=>this.object(e))))}publish({modules:e,dependencies:t}){return this.add(ia.Publish({modules:e,dependencies:t}))}upgrade({modules:e,dependencies:t,package:n,ticket:r}){return this.add(ia.Upgrade({modules:e,dependencies:t,package:n,ticket:this.object(r)}))}moveCall({arguments:e,...t}){return this.add(ia.MoveCall({...t,arguments:e?.map(e=>this.#f(e))}))}transferObjects(e,t){return this.add(ia.TransferObjects(e.map(e=>this.object(e)),typeof t==`string`?this.pure.address(t):this.#f(t)))}makeMoveVec({type:e,elements:t}){return this.add(ia.MakeMoveVec({type:e,elements:t.map(e=>this.object(e))}))}withdrawal({amount:e,type:t}){let n={$kind:`FundsWithdrawal`,FundsWithdrawal:{reservation:{$kind:`MaxAmountU64`,MaxAmountU64:String(e)},typeArg:{$kind:`Balance`,Balance:t??`0x2::sui::SUI`},withdrawFrom:{$kind:`Sender`,Sender:!0}}};return this.#d(`object`,n)}serialize(){return JSON.stringify(Yr(this.#c.snapshot()))}async toJSON(e={}){await this.prepareForSerialization(e);let t=this.isFullyResolved();return JSON.stringify(N(Aa,t?{...this.#c.snapshot(),digest:this.#c.getDigest()}:this.#c.snapshot()),(e,t)=>typeof t==`bigint`?t.toString():t,2)}async sign(e){let{signer:t,...n}=e,r=await this.build(n);return t.signTransaction(r)}isPreparedForSerialization(e={}){return!(this.#o.size>0||this.#c.commands.some(t=>t.$Intent&&!e.supportedIntents?.includes(t.$Intent.name)))}isFullyResolved(){return!(!this.isPreparedForSerialization()||!this.#c.sender||to(this.#c,{}))}async build(e={}){return await this.prepareForSerialization(e),await this.#m(e),this.#c.build({onlyTransactionKind:e.onlyTransactionKind})}async getDigest(e={}){return await this.prepareForSerialization(e),await this.#m(e),this.#c.getDigest()}async#m(e){if(!e.onlyTransactionKind&&!this.#c.sender)throw Error(`Missing transaction sender`);await this.#h([...this.#t,no],e)}async#h(e,t){try{let n=r=>{if(r>=e.length)return()=>{};let i=e[r];return async()=>{let e=n(r+1),a=!1,o=!1;if(await i(this.#c,t,async()=>{if(a)throw Error(`next() was call multiple times in TransactionPlugin ${r}`);a=!0,await e(),o=!0}),!a)throw Error(`next() was not called in TransactionPlugin ${r}`);if(!o)throw Error(`next() was not awaited in TransactionPlugin ${r}`)}};await n(0)()}finally{this.#r=this.#c.inputs.slice(),this.#i=this.#c.commands.slice(),this.#a=new Set(this.#i.map((e,t)=>t))}}async#g(){for(;this.#o.size>0;){let e=Promise.all(this.#o);this.#o.clear(),this.#o.add(e),await e,this.#o.delete(e)}}#_(){let e=this.#c.commands,t=this.#c.inputs,n=this.#i.flat(1/0),r=this.#r.flat(1/0);if(n.length!==e.length)throw Error(`Unexpected number of commands found in transaction data`);if(r.length!==t.length)throw Error(`Unexpected number of inputs found in transaction data`);let i=n.filter(e=>e.$Intent?.name!==`AsyncTransactionThunk`);this.#c.commands=i,this.#c.inputs=r,this.#i=i,this.#r=r,this.#a=new Set(i.map((e,t)=>t));function a(t){let n=e[t];if(n.$Intent?.name===`AsyncTransactionThunk`){let e=n.$Intent.data.result;if(e==null)throw Error(`AsyncTransactionThunk has not been resolved`);return a(e.Result)}let r=i.indexOf(n);if(r===-1)throw Error(`Unable to find original index for command`);return r}this.#c.mapArguments(e=>{if(e.$kind===`Input`){let n=r.indexOf(t[e.Input]);if(n===-1)throw Error(`Input has not been resolved`);return{...e,Input:n}}else if(e.$kind===`Result`){let t=a(e.Result);return{...e,Result:t}}else if(e.$kind===`NestedResult`){let t=a(e.NestedResult[0]);return{...e,NestedResult:[t,e.NestedResult[1]]}}return e});for(let[t,n]of e.entries())if(n.$Intent?.name===`AsyncTransactionThunk`)try{n.$Intent.data.resultIndex=a(t)}catch{}}async prepareForSerialization(e){await this.#g(),this.#_();let t=new Set;for(let e of this.#c.commands)e.$Intent&&t.add(e.$Intent.name);let n=[...this.#e];for(let r of t)if(!e.supportedIntents?.includes(r)){if(!this.#n.has(r))throw Error(`Missing intent resolver for ${r}`);n.push(this.#n.get(r))}n.push(So()),await this.#h(n,e)}},Do=0,Oo=[];function ko(){return Do+=1,()=>{if(--Do,Do===0){let e=Oo;Oo=[];for(let t of e)t()}}}function Ao(e){let t=ko(),n=e().finally(t);return n.t=!0,n}var jo=[],Mo=0,No=4,Po=globalThis.nanostoresGlobal||={epoch:0},Fo=e=>{let t=[],n={get(){return n.lc||n.listen(()=>{})(),n.value},init:e,lc:0,listen(e){return n.lc=t.push(e),()=>{for(let t=Mo+No;t<jo.length;)jo[t]===e?jo.splice(t,No):t+=No;let r=t.indexOf(e);~r&&(t.splice(r,1),--n.lc||n.off())}},notify(e,r){Po.epoch++;let i=!jo.length;for(let i of t)jo.push(i,n.value,e,r);if(i){for(Mo=0;Mo<jo.length;Mo+=No)jo[Mo](jo[Mo+1],jo[Mo+2],jo[Mo+3]);jo.length=0}},off(){},set(e){let t=n.value;t!==e&&(n.value=e,n.notify(t))},subscribe(e){let t=n.listen(e);return e(n.value),t},value:e};return n},Io=e=>e,Lo=5,Ro=6,zo=10,Bo=(e,t,n,r)=>(e.events=e.events||{},e.events[n+zo]||(e.events[n+zo]=r(t=>{e.events[n].reduceRight((e,t)=>(t(e),e),{shared:{},...t})})),e.events[n]=e.events[n]||[],e.events[n].push(t),()=>{let r=e.events[n],i=r.indexOf(t);r.splice(i,1),r.length||(delete e.events[n],e.events[n+zo](),delete e.events[n+zo])}),Vo=1e3,Ho=(e,t)=>Bo(e,n=>{let r=t(n);r&&e.events[Ro].push(r)},Lo,t=>{let n=e.listen;e.listen=(...r)=>(!e.lc&&!e.active&&(e.active=!0,t()),n(...r));let r=e.off;return e.events[Ro]=[],e.off=()=>{r(),setTimeout(()=>{if(e.active&&!e.lc){e.active=!1;for(let t of e.events[Ro])t();e.events[Ro]=[]}},Vo)},()=>{e.listen=n,e.off=r}}),Uo=(e,t,n)=>{Array.isArray(e)||(e=[e]);let r,i,a=()=>{if(i===Po.epoch)return;i=Po.epoch;let n=e.map(e=>e.get());if(!r||n.some((e,t)=>e!==r[t])){r=n;let e=t(...n);e&&e.then&&e.t?e.then(e=>{r===n&&o.set(e)}):(o.set(e),i=Po.epoch)}},o=Fo(void 0),s=o.get;o.get=()=>(a(),s());let c,l=n?()=>{clearTimeout(c),c=setTimeout(a)}:a;return Ho(o,()=>{let t=e.map(e=>e.listen(l));return a(),()=>{for(let e of t)e()}}),o},Wo=(e,t)=>Uo(e,t),Go=(e={})=>{let t=Fo(e);return t.setKey=function(e,n){let r=t.value;n===void 0&&e in t.value?(t.value={...t.value},delete t.value[e],t.notify(r,e)):t.value[e]!==n&&(t.value={...t.value,[e]:n},t.notify(r,e))},t},Ko=3834e3,qo=3834001,Jo=616e4,Yo=6160001,Xo=6160002;function Zo(e){return Array.isArray(e)?`%5B`+e.map(Zo).join(`%2C%20`)+`%5D`:typeof e==`bigint`?`${e}n`:encodeURIComponent(String(e!=null&&Object.getPrototypeOf(e)===null?{...e}:e))}function Qo([e,t]){return`${e}=${Zo(t)}`}function $o(e){let t=Object.entries(e).map(Qo).join(`&`);return btoa(t)}var es;(function(e){e[e.EscapeSequence=0]=`EscapeSequence`,e[e.Text=1]=`Text`,e[e.Variable=2]=`Variable`})(es||={});function ts(e,t={}){{let n=`Wallet Standard error #${e}; Decode this error by running \`npx @wallet-standard/errors decode -- ${e}`;return Object.keys(t).length&&(n+=` '${$o(t)}'`),`${n}\``}}var ns=class extends Error{constructor(...[e,t]){let n,r;if(t){let{cause:e,...i}=t;e&&(r={cause:e}),Object.keys(i).length>0&&(n=i)}let i=ts(e,n);super(i,r),this.context={__code:e,...n},this.name=`WalletStandardError`}};function rs(...e){`captureStackTrace`in Error&&typeof Error.captureStackTrace==`function`&&Error.captureStackTrace(...e)}var is=new WeakMap;function as(e,t){is.set(e,t)}function os(e){let t=cs(e),n=t.accounts.find(({address:t})=>t===e.address);if(!n){let n=new ns(qo,{address:e.address,walletName:t.name});throw rs(n,os),n}return n}var ss=os;function cs(e){let t=is.get(e);if(!t){let e=new ns(Ko);throw rs(e,cs),e}return t}var ls=cs;function us(e,t){let n=new Set(e),r=new Set(t);if(n.size!==r.size)return!0;for(let e of n)if(!r.has(e))return!0;return!1}function ds(e,t){if(e.length!==t.length)return!0;for(let n=0;n<e.length;n+=1)if(e[n]!==t[n])return!0;return!1}var fs=new WeakMap;function ps(e,t){let n=fs.get(t);if(n)try{cs(n)!==e&&(n=void 0)}catch{n=void 0}let r=!n,i=n??{},a=!n;function o(){a||=(i={...i},!0)}return(r||us(i.chains,t.chains))&&(o(),i.chains=Object.freeze([...t.chains])),(r||us(i.features,t.features))&&(o(),i.features=Object.freeze([...t.features])),(r||i.address!==t.address||i.icon!==t.icon||i.label!==t.label||ds(i.publicKey,t.publicKey))&&(o(),i.address=t.address,i.icon=t.icon,i.label=t.label,i.publicKey=t.publicKey),a&&(fs.set(t,i),as(i,e)),Object.freeze(i)}var ms=ps,hs=new WeakMap;function gs(e){let t=hs.get(e),n=!t,r=t??{},i=!t;function a(){i||=(r={...r},!0)}let o={_cache:[],*[Symbol.iterator](){this._cache.length&&(yield*this._cache);for(let t of e.accounts.slice(this._cache.length)){let n=ps(e,t);this._cache.push(n),yield n}},some(t){if(this._cache.some(t))return!0;for(let n of e.accounts.slice(this._cache.length)){let r=ps(e,n);if(this._cache.push(r),t(r))return!0}return!1},get length(){return e.accounts.length}};return(n||r.accounts.length!==e.accounts.length||o.some(e=>!r.accounts.includes(e)))&&(a(),r.accounts=Object.freeze(Array.from(o))),(n||us(r.features,Object.keys(e.features)))&&(a(),r.features=Object.freeze(Object.keys(e.features))),(n||us(r.chains,e.chains))&&(a(),r.chains=Object.freeze([...e.chains])),(n||r.icon!==e.icon||r.name!==e.name||r.version!==e.version)&&(a(),r.icon=e.icon,r.name=e.name,r.version=e.version),i&&(hs.set(e,r),as(r,e)),Object.freeze(r)}var _s=gs;function vs(e,t){return e.address===t.address?cs(e)===cs(t):!1}function ys(e,t){return cs(t)===cs(e)}function bs(e,t){let n=cs(e);if(!(t in n.features)){let e=new ns(Xo,{featureName:t,supportedChains:[...n.chains],supportedFeatures:Object.keys(n.features),walletName:n.name});throw rs(e,bs),e}return n.features[t]}function xs(e,t){if(!e.features.includes(t)){let n=new ns(Yo,{address:e.address,featureName:t,supportedChains:[...e.chains],supportedFeatures:[...e.features]});throw rs(n,xs),n}return bs(e,t)}var Ss=`sui:signTransactionBlock`,Cs=`sui:signTransaction`,ws=`sui:signAndExecuteTransactionBlock`,Ts=`sui:signAndExecuteTransaction`,Es=`sui:signPersonalMessage`,Ds=function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},Os=function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},ks,As=void 0,js=new Set;function Ms(e){Ls=void 0,js.add(e)}function Ns(e){Ls=void 0,js.delete(e)}var Ps={};function Fs(){if(As||(As=Object.freeze({register:Is,get:Rs,on:zs}),typeof window>`u`))return As;let e=Object.freeze({register:Is});try{window.addEventListener(`wallet-standard:register-wallet`,({detail:t})=>t(e))}catch(e){console.error(`wallet-standard:register-wallet event listener could not be added
|
|
2
|
+
`,e)}try{window.dispatchEvent(new Vs(e))}catch(e){console.error(`wallet-standard:app-ready event could not be dispatched
|
|
3
|
+
`,e)}return As}function Is(...e){return e=e.filter(e=>!js.has(e)),e.length?(e.forEach(e=>Ms(e)),Ps.register?.forEach(t=>Bs(()=>t(...e))),function(){e.forEach(e=>Ns(e)),Ps.unregister?.forEach(t=>Bs(()=>t(...e)))}):()=>{}}var Ls;function Rs(){return Ls||=[...js],Ls}function zs(e,t){return Ps[e]?.push(t)||(Ps[e]=[t]),function(){Ps[e]=Ps[e]?.filter(e=>t!==e)}}function Bs(e){try{e()}catch(e){console.error(e)}}var Vs=class extends Event{get detail(){return Ds(this,ks,`f`)}get type(){return`wallet-standard:app-ready`}constructor(e){super(`wallet-standard:app-ready`,{bubbles:!1,cancelable:!1,composed:!1}),ks.set(this,void 0),Os(this,ks,e,`f`)}preventDefault(){throw Error(`preventDefault cannot be called`)}stopImmediatePropagation(){throw Error(`stopImmediatePropagation cannot be called`)}stopPropagation(){throw Error(`stopPropagation cannot be called`)}};ks=new WeakMap;var Hs=`standard:connect`,Us=`standard:disconnect`,Ws=`standard:events`,Gs=function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},Ks=function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},qs,Js,Ys,Xs,Zs,Qs,$s=class e{get address(){return Gs(this,qs,`f`)}get publicKey(){return Gs(this,Js,`f`).slice()}get chains(){return Gs(this,Ys,`f`).slice()}get features(){return Gs(this,Xs,`f`).slice()}get label(){return Gs(this,Zs,`f`)}get icon(){return Gs(this,Qs,`f`)}constructor(t){qs.set(this,void 0),Js.set(this,void 0),Ys.set(this,void 0),Xs.set(this,void 0),Zs.set(this,void 0),Qs.set(this,void 0),new.target===e&&Object.freeze(this),Ks(this,qs,t.address,`f`),Ks(this,Js,t.publicKey.slice(),`f`),Ks(this,Ys,t.chains.slice(),`f`),Ks(this,Xs,t.features.slice(),`f`),Ks(this,Zs,t.label,`f`),Ks(this,Qs,t.icon,`f`)}};qs=new WeakMap,Js=new WeakMap,Ys=new WeakMap,Xs=new WeakMap,Zs=new WeakMap,Qs=new WeakMap;var ec=[`sui:devnet`,`sui:testnet`,`sui:localnet`,`sui:mainnet`],tc=class e{#e;#t;constructor({prefix:e,cache:t}={}){this.#e=e??[],this.#t=t??new Map}read(e,t){let n=[this.#e,...e].join(`:`);if(this.#t.has(n))return this.#t.get(n);let r=t();return this.#t.set(n,r),typeof r==`object`&&r&&`then`in r?Promise.resolve(r).then(e=>(this.#t.set(n,e),e)).catch(e=>{throw this.#t.delete(n),e}):r}readSync(e,t){let n=[this.#e,...e].join(`:`);if(this.#t.has(n))return this.#t.get(n);let r=t();return this.#t.set(n,r),r}clear(e){let t=[...this.#e,...e??[]].join(`:`);if(!t){this.#t.clear();return}for(let e of this.#t.keys())e.startsWith(t)&&this.#t.delete(e)}scope(t){return new e({prefix:[...this.#e,...Array.isArray(t)?t:[t]],cache:this.#t})}},nc=class{constructor({network:e,base:t,cache:n=t?.cache??new tc}){this.network=e,this.base=t??this,this.cache=n}$extend(...e){let t=Object.fromEntries(e.map(e=>[e.name,e.register(this)])),n=new Map;return new Proxy(this,{get(e,r,i){if(typeof r==`string`&&r in t)return t[r];let a=Reflect.get(e,r,i);return typeof a==`function`?r===`$extend`?a.bind(i):(n.has(r)||n.set(r,a.bind(e)),n.get(r)):a}})}},rc={mainnet:`https://mainnet.mvr.mystenlabs.com`,testnet:`https://testnet.mvr.mystenlabs.com`},ic=class extends nc{constructor(e){super(e),this.core=this,this.mvr=new po({cache:this.cache.scope(`core.mvr`),url:e.mvr?.url??rc[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=An.parseFromStr((await this.core.mvr.resolveType({type:e.name.type})).type),n=Na(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 i=gt(r.type),a=await r.content,o=i.typeParams[0],s=typeof o!=`string`&&o.module===`dynamic_object_field`&&o.name===`Wrapper`,c=a.slice(32+e.name.bcs.length),l=typeof i.typeParams[1]==`string`?i.typeParams[1]:_t(i.typeParams[1]);return{dynamicField:{$kind:s?`DynamicObject`:`DynamicField`,fieldId:r.objectId,digest:r.digest,version:r.version,type:r.type,previousTransaction:r.previousTransaction,name:{type:typeof o==`string`?o:_t(o),bcs:e.name.bcs},value:{type:l,bcs:c},childId:s?I.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:i}=e,a=`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),s=new Promise((e,t)=>{o.addEventListener(`abort`,()=>t(o.reason))});s.catch(()=>{});let c=r??[0,300,600,1500,3500],l=Date.now(),u=0,d=c.length>0?c[c.length-1]-(c[c.length-2]??0):2e3;for(;;){if(u<c.length){let e=l+c[u]-Date.now();u++,e>0&&await Promise.race([new Promise(t=>setTimeout(t,e)),s])}else await Promise.race([new Promise(e=>setTimeout(e,d)),s]);o.throwIfAborted();try{return await this.getTransaction({digest:a,include:i,signal:o})}catch{}}}async signAndExecuteTransaction({transaction:e,signer:t,additionalSignatures:n=[],...r}){let i;e instanceof Uint8Array?i=e:(e.setSenderIfNotSet(t.toSuiAddress()),i=await e.build({client:this}));let{signature:a}=await t.signTransaction(i);return this.executeTransaction({transaction:i,signatures:[a,...n],...r})}},ac=new Intl.PluralRules(`en-US`,{type:`ordinal`}),oc=new Map([[`one`,`st`],[`two`,`nd`],[`few`,`rd`],[`other`,`th`]]);function sc(e){return`${e}${oc.get(ac.select(e))}`}function cc(e){let{command:t,location:n,abortCode:r,cleverError:i}=e,a=[];if(t==null?a.push(`MoveAbort`):a.push(`MoveAbort in ${sc(t+1)} command`),i?.constantName){let e=i.value?`'${i.constantName}': ${i.value}`:`'${i.constantName}'`;a.push(e)}else a.push(`abort code: ${r}`);if(n?.package&&n?.module){let e=[`in '${[n.package.startsWith(`0x`)?n.package:`0x${n.package}`,n.module,n.functionName].filter(Boolean).join(`::`)}'`];i?.lineNumber==null?n.instruction!=null&&e.push(`(instruction ${n.instruction})`):e.push(`(line ${i.lineNumber})`),a.push(e.join(` `))}return a.join(`, `)}var lc=I.struct(`MinimalEffectsWithError`,{status:kr}),uc=I.enum(`MinimalTransactionEffectsWithError`,{V1:lc,V2:lc}),dc=I.enum(`MinimalExecutionStatusNoError`,{Success:null,Failed:null}),fc=I.struct(`MinimalEffectsNoError`,{status:dc}),pc=I.enum(`MinimalTransactionEffectsNoError`,{V1:fc,V2:fc});function mc(e,t){return t!=null&&typeof t!=`boolean`?`${e}(${JSON.stringify(t,(e,t)=>typeof t==`bigint`?t.toString():t)})`:e}function hc(e){let t=e.error,n=e.command==null?void 0:Number(e.command);switch(t.$kind){case`MoveAbort`:{let[e,r]=t.MoveAbort,i={package:e.module.address,module:e.module.name,function:e.function,functionName:e.functionName??void 0,instruction:e.instruction};return{$kind:`MoveAbort`,message:cc({command:n,location:i,abortCode:String(r)}),command:n,MoveAbort:{abortCode:String(r),location:i}}}case`MoveObjectTooBig`:return{$kind:`SizeError`,message:mc(`MoveObjectTooBig`,t.MoveObjectTooBig),command:n,SizeError:{name:`ObjectTooBig`,size:Number(t.MoveObjectTooBig.objectSize),maxSize:Number(t.MoveObjectTooBig.maxObjectSize)}};case`MovePackageTooBig`:return{$kind:`SizeError`,message:mc(`MovePackageTooBig`,t.MovePackageTooBig),command:n,SizeError:{name:`PackageTooBig`,size:Number(t.MovePackageTooBig.objectSize),maxSize:Number(t.MovePackageTooBig.maxObjectSize)}};case`EffectsTooLarge`:return{$kind:`SizeError`,message:mc(`EffectsTooLarge`,t.EffectsTooLarge),command:n,SizeError:{name:`EffectsTooLarge`,size:Number(t.EffectsTooLarge.currentSize),maxSize:Number(t.EffectsTooLarge.maxSize)}};case`WrittenObjectsTooLarge`:return{$kind:`SizeError`,message:mc(`WrittenObjectsTooLarge`,t.WrittenObjectsTooLarge),command:n,SizeError:{name:`WrittenObjectsTooLarge`,size:Number(t.WrittenObjectsTooLarge.currentSize),maxSize:Number(t.WrittenObjectsTooLarge.maxSize)}};case`MoveVectorElemTooBig`:return{$kind:`SizeError`,message:mc(`MoveVectorElemTooBig`,t.MoveVectorElemTooBig),command:n,SizeError:{name:`MoveVectorElemTooBig`,size:Number(t.MoveVectorElemTooBig.valueSize),maxSize:Number(t.MoveVectorElemTooBig.maxScaledSize)}};case`MoveRawValueTooBig`:return{$kind:`SizeError`,message:mc(`MoveRawValueTooBig`,t.MoveRawValueTooBig),command:n,SizeError:{name:`MoveRawValueTooBig`,size:Number(t.MoveRawValueTooBig.valueSize),maxSize:Number(t.MoveRawValueTooBig.maxScaledSize)}};case`CommandArgumentError`:return{$kind:`CommandArgumentError`,message:mc(`CommandArgumentError`,t.CommandArgumentError),command:n,CommandArgumentError:{argument:t.CommandArgumentError.argIdx,name:t.CommandArgumentError.kind.$kind}};case`TypeArgumentError`:return{$kind:`TypeArgumentError`,message:mc(`TypeArgumentError`,t.TypeArgumentError),command:n,TypeArgumentError:{typeArgument:t.TypeArgumentError.argumentIdx,name:t.TypeArgumentError.kind.$kind}};case`PackageUpgradeError`:{let e=t.PackageUpgradeError.upgradeError;return{$kind:`PackageUpgradeError`,message:mc(`PackageUpgradeError`,t.PackageUpgradeError),command:n,PackageUpgradeError:{name:e.$kind,packageId:e.$kind===`UnableToFetchPackage`?e.UnableToFetchPackage.packageId:void 0,digest:e.$kind===`DigestDoesNotMatch`?T(e.DigestDoesNotMatch.digest):void 0}}}case`ExecutionCancelledDueToSharedObjectCongestion`:return{$kind:`CongestedObjects`,message:mc(`ExecutionCancelledDueToSharedObjectCongestion`,t.ExecutionCancelledDueToSharedObjectCongestion),command:n,CongestedObjects:{name:`ExecutionCanceledDueToConsensusObjectCongestion`,objects:t.ExecutionCancelledDueToSharedObjectCongestion.congested_objects}};case`AddressDeniedForCoin`:return{$kind:`CoinDenyListError`,message:mc(`AddressDeniedForCoin`,t.AddressDeniedForCoin),command:n,CoinDenyListError:{name:`AddressDeniedForCoin`,address:t.AddressDeniedForCoin.address,coinType:t.AddressDeniedForCoin.coinType}};case`CoinTypeGlobalPause`:return{$kind:`CoinDenyListError`,message:mc(`CoinTypeGlobalPause`,t.CoinTypeGlobalPause),command:n,CoinDenyListError:{name:`CoinTypeGlobalPause`,coinType:t.CoinTypeGlobalPause.coinType}};case`CircularObjectOwnership`:return{$kind:`ObjectIdError`,message:mc(`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:mc(`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 gc(e,t=!1){return(t?ra.fromKindBytes(e):ra.fromBytes(e)).snapshot()}function _c(e){let t=null;try{t=uc.parse(e)}catch{let t=pc.parse(e);return(t.V1??t.V2).status.$kind===`Success`?{success:!0,error:null}:{success:!1,error:{$kind:`Unknown`,message:`ExecutionFailed`,Unknown:null}}}let n=(t.V1??t.V2).status;return n.$kind===`Success`?{success:!0,error:null}:{success:!1,error:hc(n.Failure)}}function vc(e){let t=I.TransactionEffects.parse(e);switch(t.$kind){case`V1`:return yc({bytes:e,effects:t.V1});case`V2`:return bc({bytes:e,effects:t.V2});default:throw Error(`Unknown transaction effects version: ${t.$kind}`)}}function yc(e){throw Error(`V1 effects are not supported yet`)}function bc({bytes:e,effects:t}){let n=t.changedObjects.map(([e,n])=>({objectId:e,inputState:n.inputState.$kind===`Exist`?`Exists`:`DoesNotExist`,inputVersion:n.inputState.Exist?.[0][0]??null,inputDigest:n.inputState.Exist?.[0][1]??null,inputOwner:n.inputState.Exist?.[1]??null,outputState:n.outputState.$kind===`NotExist`?`DoesNotExist`:n.outputState.$kind,outputVersion:n.outputState.$kind===`PackageWrite`?n.outputState.PackageWrite?.[0]:n.outputState.$kind===`ObjectWrite`?t.lamportVersion:null,outputDigest:n.outputState.$kind===`PackageWrite`?n.outputState.PackageWrite?.[1]:n.outputState.$kind===`ObjectWrite`?n.outputState.ObjectWrite?.[0]??null:null,outputOwner:n.outputState.$kind===`ObjectWrite`?n.outputState.ObjectWrite[1]:null,idOperation:n.idOperation.$kind}));return{bcs:e,version:2,status:t.status.$kind===`Success`?{success:!0,error:null}:{success:!1,error:hc(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(([e,t])=>({kind:t.$kind,objectId:e,version:t.$kind===`ReadOnlyRoot`?t.ReadOnlyRoot[0]:t[t.$kind],digest:t.$kind===`ReadOnlyRoot`?t.ReadOnlyRoot[1]:null})),auxiliaryDataDigest:t.auxDataDigest}}new TextEncoder;var xc=new TextDecoder;function Sc(e){if(Uint8Array.fromBase64)return Uint8Array.fromBase64(e);let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}function Cc(e){if(Uint8Array.fromBase64)return Uint8Array.fromBase64(typeof e==`string`?e:xc.decode(e),{alphabet:`base64url`});let t=e;t instanceof Uint8Array&&(t=xc.decode(t)),t=t.replace(/-/g,`+`).replace(/_/g,`/`);try{return Sc(t)}catch{throw TypeError(`The input to be decoded is not correctly encoded.`)}}var wc=class extends Error{static code=`ERR_JOSE_GENERIC`;code=`ERR_JOSE_GENERIC`;constructor(e,t){super(e,t),this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}},Tc=class extends wc{static code=`ERR_JWT_INVALID`;code=`ERR_JWT_INVALID`},Ec=e=>typeof e==`object`&&!!e;function Dc(e){if(!Ec(e)||Object.prototype.toString.call(e)!==`[object Object]`)return!1;if(Object.getPrototypeOf(e)===null)return!0;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function Oc(e){if(typeof e!=`string`)throw new Tc(`JWTs must use Compact JWS serialization, JWT must be a string`);let{1:t,length:n}=e.split(`.`);if(n===5)throw new Tc(`Only JWTs using Compact JWS serialization can be decoded`);if(n!==3)throw new Tc(`Invalid JWT`);if(!t)throw new Tc(`JWTs must contain a payload`);let r;try{r=Cc(t)}catch{throw new Tc(`Failed to base64url decode the payload`)}let i;try{i=JSON.parse(xc.decode(r))}catch{throw new Tc(`Failed to parse the decoded payload as JSON`)}if(!Dc(i))throw new Tc(`Invalid JWT Claims Set`);return i}var kc=j({exp:Xt(),iat:Xt(),iss:M(),aud:M(),payload:j({accounts:O(j({address:M(),publicKey:M(),label:Zt(M())}))})});function Ac(e){return N(kc,Oc(e))}var jc=j({id:on(M(),Vt()),source:k(`web-wallet-channel`),payload:an(`type`,[j({type:k(`reject`),reason:Zt(M("`reason` must be a string"))}),j({type:k(`resolve`),data:an(`type`,[j({type:k(`connect`),session:M("`session` is required")}),j({type:k(`sign-transaction`),bytes:M(),signature:M()}),j({type:k(`sign-and-execute-transaction`),bytes:M(),signature:M(),digest:M(),effects:M()}),j({type:k(`sign-personal-message`),bytes:M(),signature:M()})])})]),version:k(`1`)});function Mc(){return{version:`1`,originUrl:window.location.href,userAgent:navigator.userAgent,screenResolution:`${window.screen.width}x${window.screen.height}`,language:navigator.language,platform:navigator.platform,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,timestamp:Date.now()}}var Nc=class{#e;#t=`1`;#n;#r;#i;#a;#o;#s;#c;#l;#u=null;#d=!1;constructor({appName:e,hostOrigin:t,hostPathname:n=`dapp-request`,extraRequestOptions:r,popupWindow:i}){let a=i??window.open(`about:blank`,`_blank`);if(!a)throw Error(`Failed to open new window`);this.#n=crypto.randomUUID(),this.#e=a,this.#r=t,this.#i=n,this.#a=e;let{promise:o,resolve:s,reject:c}=we();this.#s=o,this.#c=s,this.#l=c,this.#o=r,this.#u=setInterval(()=>{try{this.#e.closed&&(this.#p(),c(Error(`User closed the wallet window`)))}catch{}},1e3)}send({type:e,...t}){if(this.#e.closed)throw Error(`User closed the wallet window`);if(this.#d)throw Error(`send() can only be called once`);this.#d=!0,window.addEventListener(`message`,this.#f);let n={version:this.#t,requestId:this.#n,appUrl:window.location.href.split(`#`)[0],appName:this.#a,payload:{type:e,...t},metadata:Mc(),extraRequestOptions:this.#o},r=encodeURIComponent(btoa(JSON.stringify(n)));return this.#e.location.assign(`${this.#r}/${this.#i}#${r}`),this.#s}close(){this.#p(),this.#e.close()}#f=e=>{if(e.origin!==this.#r)return;let{success:t,output:n}=sn(jc,e.data);!t||n.id!==this.#n||(this.#p(),n.payload.type===`reject`?this.#l(Error(n.payload.reason||`User rejected the request`)):n.payload.type===`resolve`&&this.#c(n.payload.data))};#p(){this.#u&&=(clearInterval(this.#u),null),window.removeEventListener(`message`,this.#f)}},Pc=`https://my.slush.app`,Fc=`slush:session`,Ic=`data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIHZpZXdCb3g9IjAgMCA0OCA0OCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTAgMjRDMCAxMC43NDUyIDEwLjc0NTIgMCAyNCAwQzM3LjI1NDggMCA0OCAxMC43NDUyIDQ4IDI0QzQ4IDM3LjI1NDggMzcuMjU0OCA0OCAyNCA0OEMxMC43NDUyIDQ4IDAgMzcuMjU0OCAwIDI0WiIgZmlsbD0iIzBDMEExRiIvPgo8cGF0aCBkPSJNMTMuMTM1OCAzMi4xMDg1QzE0LjE3MDEgMzUuOTY4MyAxOC4wMzMxIDM5LjQ2MjQgMjYuMDI1NSAzNy4zMjA4QzMzLjY1MTUgMzUuMjc3NCAzOC40MzA5IDI5LjAwNCAzNy4xOTE2IDI0LjM3ODlDMzYuNzYzNiAyMi43ODE3IDM1LjQ3NDYgMjEuNzAwNiAzMy40ODcyIDIxLjg3NjVMMTUuNzE2NSAyMy4zNTcyQzE0LjU5NzMgMjMuNDQzIDE0LjA4NDIgMjMuMjU5NiAxMy43ODgxIDIyLjU1NDNDMTMuNTAxIDIxLjg4MjMgMTMuNjY0NiAyMS4xNjA5IDE1LjAxNjMgMjAuNDc3N0wyOC41NDAxIDEzLjUzNzRDMjkuNTc2NyAxMy4wMSAzMC4yNjcxIDEyLjc4OTMgMzAuODk4IDEzLjAxMjZDMzEuMjkzNCAxMy4xNTYzIDMxLjU1MzggMTMuNzI4NCAzMS4zMTQ3IDE0LjQzNDRMMzAuNDM3OCAxNy4wMjMyQzI5LjM2MTcgMjAuMjAwMiAzMS42NjUzIDIwLjkzODIgMzIuOTY0MSAyMC41OTAyQzM0LjkyODkgMjAuMDYzNyAzNS4zOTExIDE4LjE5MjMgMzQuNzU4MSAxNS44Mjk5QzMzLjE1MzMgOS44NDA1NCAyNi43OTkgOC45MDQxMSAyMS4wMzc4IDEwLjQ0NzhDMTUuMTc2NyAxMi4wMTgzIDEwLjA5NiAxNi43Njc2IDExLjY0NzQgMjIuNTU3M0MxMi4wMTI5IDIzLjkyMTYgMTMuMjY4NyAyNS4wMTE2IDE0LjcyMzIgMjQuOTc4NUwxNi45NDM4IDI0Ljk3MzFDMTcuNDAwNCAyNC45NjI1IDE3LjIzNiAyNSAxOC4xMTcgMjQuOTI3MUMxOC45OTggMjQuODU0MSAyMS4zNTA5IDI0LjU2NDYgMjEuMzUwOSAyNC41NjQ2TDMyLjg5NjIgMjMuMjU4TDMzLjE5MzcgMjMuMjE0OEMzMy44Njg5IDIzLjA5OTcgMzQuMzc5MiAyMy4yNzUgMzQuODEwNiAyNC4wMTgzQzM1LjQ1NjMgMjUuMTMwNCAzNC40NzEyIDI1Ljk2OTEgMzMuMjkyIDI2Ljk3MzFDMzMuMjYwNSAyNyAzMy4yMjg4IDI3LjAyNyAzMy4xOTcgMjcuMDU0MUwyMy4wNDgyIDM1LjgwMDVDMjEuMzA4NyAzNy4zMDA4IDIwLjA4NjcgMzYuNzM2NyAxOS42NTg4IDM1LjEzOTVMMTguMTQzMSAyOS40ODI5QzE3Ljc2ODcgMjguMDg1NCAxNi40MDQxIDI2Ljk4ODkgMTQuODA1NiAyNy40MTcyQzEyLjgwNzUgMjcuOTUyNiAxMi42NDU1IDMwLjI3ODQgMTMuMTM1OCAzMi4xMDg1WiIgZmlsbD0iI0ZCRkFGRiIvPgo8L3N2Zz4K`,Lc=`com.mystenlabs.suiwallet`,Rc=`https://api.slush.app/api/wallet/metadata`,zc={id:`com.mystenlabs.suiwallet.web`,walletName:`Slush`,description:`Trade and earn on Sui.`,icon:Ic,enabled:!0},Bc=j({id:M(`Wallet ID is required`),walletName:M(`Wallet name is required`),icon:M(`Icon must be a valid wallet icon format`),enabled:qt(`Enabled is required`)});function Vc(e){localStorage.setItem(Fc,e)}function Hc(){let e=localStorage.getItem(Fc);if(!e)throw Error(`No session found`);return e}var Uc=[`sui:signTransaction`,`sui:signAndExecuteTransaction`,`sui:signPersonalMessage`,`sui:signTransactionBlock`,`sui:signAndExecuteTransactionBlock`];function Wc(e){let{payload:t}=Ac(e);return t.accounts.map(e=>new $s({address:e.address,chains:ec,features:Uc,publicKey:w(e.publicKey)}))}var Gc=class{#e;#t;#n;#r;#i;#a;#o;get name(){return this.#i}get id(){return this.#e}get icon(){return this.#a}get version(){return`1.0.0`}get chains(){return ec}get accounts(){return this.#n}get features(){return{"standard:connect":{version:`1.0.0`,connect:this.#p},"standard:disconnect":{version:`1.0.0`,disconnect:this.#h},"standard:events":{version:`1.0.0`,on:this.#d},"sui:signTransactionBlock":{version:`1.0.0`,signTransactionBlock:this.#s},"sui:signTransaction":{version:`2.0.0`,signTransaction:this.#c},"sui:signPersonalMessage":{version:`1.1.0`,signPersonalMessage:this.#u},"sui:signAndExecuteTransaction":{version:`2.0.0`,signAndExecuteTransaction:this.#l}}}constructor({name:e,origin:t,metadata:n}){this.#e=n.id,this.#n=this.#m(),this.#t=Re(),this.#r=t||Pc,this.#o=e,this.#i=n.walletName,this.#a=n.icon}#s=async({transactionBlock:e,account:t,chain:n})=>{let r=await e.toJSON(),i=await this.#g().send({type:`sign-transaction`,transaction:r,address:t.address,chain:n,session:Hc()});return{transactionBlockBytes:i.bytes,signature:i.signature}};#c=async({transaction:e,account:t,chain:n})=>{let r=this.#g(),i=await e.toJSON(),a=await r.send({type:`sign-transaction`,transaction:i,address:t.address,chain:n,session:Hc()});return{bytes:a.bytes,signature:a.signature}};#l=async({transaction:e,account:t,chain:n})=>{let r=this.#g(),i=await e.toJSON(),a=await r.send({type:`sign-and-execute-transaction`,transaction:i,address:t.address,chain:n,session:Hc()});return{bytes:a.bytes,signature:a.signature,digest:a.digest,effects:a.effects}};#u=async({message:e,account:t,chain:n})=>{let r=await this.#g().send({type:`sign-personal-message`,message:T(e),address:t.address,chain:n??t.chains[0],session:Hc()});return{bytes:r.bytes,signature:r.signature}};#d=(e,t)=>(this.#t.on(e,t),()=>this.#t.off(e,t));#f(e){this.#n=e,this.#t.emit(`change`,{accounts:this.accounts})}#p=async e=>{if(e?.silent)return{accounts:this.accounts};let t=await this.#g().send({type:`connect`});return Vc(t.session),this.#f(Wc(t.session)),{accounts:this.accounts}};#m(){try{return Wc(Hc())}catch{return[]}}#h=async()=>{localStorage.removeItem(Fc),this.#f([])};#g(){return new Nc({appName:this.#o,hostOrigin:this.#r})}updateMetadata(e){this.#e=e.id,this.#i=e.walletName,this.#a=e.icon}};async function Kc(e){let t=await fetch(e);if(!t.ok)throw Error(`Failed to fetch wallet metadata`);return N(Bc,await t.json())}function qc(e,{origin:t,metadataApiUrl:n=Rc}={}){let r=Fs(),i=null;if(r.on(`register`,e=>{e.id===Lc&&i?.()}),r.get().find(e=>e.id===Lc))return;let a=new Gc({name:e,origin:t,metadata:zc});return i=r.register(a),Kc(n).then(e=>{if(!e.enabled){console.log(`Slush wallet is not currently enabled.`),i?.();return}a.updateMetadata(e)}).catch(e=>{console.error(`Error fetching metadata`,e)}),{wallet:a,unregister:i}}var Jc={ED25519:0,Secp256k1:1,Secp256r1:2,MultiSig:3,ZkLogin:5,Passkey:6},Yc={ED25519:32,Secp256k1:33,Secp256r1:33,Passkey:33},Xc={0:`ED25519`,1:`Secp256k1`,2:`Secp256r1`,3:`MultiSig`,5:`ZkLogin`,6:`Passkey`};function Zc(e,t){return I.IntentMessage(I.bytes(t.length)).serialize({intent:{scope:{[e]:!0},version:{V0:!0},appId:{Sui:!0}},value:t}).toBytes()}function Qc(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 $c=class{equals(e){return Qc(this.toRawBytes(),e.toRawBytes())}toBase64(){return T(this.toRawBytes())}toString(){throw Error("`toString` is not implemented on public keys. Use `toBase64()` or `toRawBytes()` instead.")}toSuiPublicKey(){return T(this.toSuiBytes())}verifyWithIntent(e,t,n){let r=ea(Zc(n,e),{dkLen:32});return this.verify(r,t)}verifyPersonalMessage(e,t){return this.verifyWithIntent(I.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 D(hi(ea(this.toSuiBytes(),{dkLen:32})).slice(0,64))}};function el(e){let t=w(e),n=Xc[t[0]];switch(n){case`ED25519`:case`Secp256k1`:case`Secp256r1`:let r=Yc[n],i=t.slice(1,t.length-r);return{serializedSignature:e,signatureScheme:n,signature:i,publicKey:t.slice(1+i.length),bytes:t};default:throw Error(`Unsupported signature scheme`)}}var tl=Mi(`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`.split(`.`).map(e=>BigInt(e))),nl=tl[0],rl=tl[1],il=new Uint32Array(80),al=new Uint32Array(80),ol=class extends Di{constructor(e){super(128,e,16,!1)}get(){let{Ah:e,Al:t,Bh:n,Bl:r,Ch:i,Cl:a,Dh:o,Dl:s,Eh:c,El:l,Fh:u,Fl:d,Gh:f,Gl:p,Hh:m,Hl:h}=this;return[e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h]}set(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h){this.Ah=e|0,this.Al=t|0,this.Bh=n|0,this.Bl=r|0,this.Ch=i|0,this.Cl=a|0,this.Dh=o|0,this.Dl=s|0,this.Eh=c|0,this.El=l|0,this.Fh=u|0,this.Fl=d|0,this.Gh=f|0,this.Gl=p|0,this.Hh=m|0,this.Hl=h|0}process(e,t){for(let n=0;n<16;n++,t+=4)il[n]=e.getUint32(t),al[n]=e.getUint32(t+=4);for(let e=16;e<80;e++){let t=il[e-15]|0,n=al[e-15]|0,r=Fi(t,n,1)^Fi(t,n,8)^Ni(t,n,7),i=Ii(t,n,1)^Ii(t,n,8)^Pi(t,n,7),a=il[e-2]|0,o=al[e-2]|0,s=Fi(a,o,19)^Li(a,o,61)^Ni(a,o,6),c=Wi(i,Ii(a,o,19)^Ri(a,o,61)^Pi(a,o,6),al[e-7],al[e-16]);il[e]=Gi(c,r,s,il[e-7],il[e-16])|0,al[e]=c|0}let{Ah:n,Al:r,Bh:i,Bl:a,Ch:o,Cl:s,Dh:c,Dl:l,Eh:u,El:d,Fh:f,Fl:p,Gh:m,Gl:h,Hh:g,Hl:_}=this;for(let e=0;e<80;e++){let t=Fi(u,d,14)^Fi(u,d,18)^Li(u,d,41),v=Ii(u,d,14)^Ii(u,d,18)^Ri(u,d,41),ee=u&f^~u&m,y=d&p^~d&h,b=Ki(_,v,y,rl[e],al[e]),x=qi(b,g,t,ee,nl[e],il[e]),S=b|0,C=Fi(n,r,28)^Li(n,r,34)^Li(n,r,39),te=Ii(n,r,28)^Ri(n,r,34)^Ri(n,r,39),ne=n&i^n&o^i&o,re=r&a^r&s^a&s;g=m|0,_=h|0,m=f|0,h=p|0,f=u|0,p=d|0,{h:u,l:d}=Vi(c|0,l|0,x|0,S|0),c=o|0,l=s|0,o=i|0,s=a|0,i=n|0,a=r|0;let ie=Hi(S,te,re);n=Ui(ie,x,C,ne),r=ie|0}({h:n,l:r}=Vi(this.Ah|0,this.Al|0,n|0,r|0)),{h:i,l:a}=Vi(this.Bh|0,this.Bl|0,i|0,a|0),{h:o,l:s}=Vi(this.Ch|0,this.Cl|0,o|0,s|0),{h:c,l}=Vi(this.Dh|0,this.Dl|0,c|0,l|0),{h:u,l:d}=Vi(this.Eh|0,this.El|0,u|0,d|0),{h:f,l:p}=Vi(this.Fh|0,this.Fl|0,f|0,p|0),{h:m,l:h}=Vi(this.Gh|0,this.Gl|0,m|0,h|0),{h:g,l:_}=Vi(this.Hh|0,this.Hl|0,g|0,_|0),this.set(n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_)}roundClean(){oi(il,al)}destroy(){this.destroyed=!0,oi(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},sl=class extends ol{Ah=Oi[0]|0;Al=Oi[1]|0;Bh=Oi[2]|0;Bl=Oi[3]|0;Ch=Oi[4]|0;Cl=Oi[5]|0;Dh=Oi[6]|0;Dl=Oi[7]|0;Eh=Oi[8]|0;El=Oi[9]|0;Fh=Oi[10]|0;Fl=Oi[11]|0;Gh=Oi[12]|0;Gl=Oi[13]|0;Hh=Oi[14]|0;Hl=Oi[15]|0;constructor(){super(64)}},cl=Ci(()=>new sl,Ti(3)),R=(e,t,n)=>ti(e,t,n),ll=ei,ul=hi,z=(...e)=>xi(...e),dl=e=>vi(e),fl=$r,pl=e=>wi(e),ml=BigInt(0),hl=BigInt(1);function gl(e,t=``){if(typeof e!=`boolean`){let n=t&&`"${t}" `;throw TypeError(n+`expected boolean, got type=`+typeof e)}return e}function _l(e){if(typeof e==`bigint`){if(!Dl(e))throw RangeError(`positive bigint expected, got `+e)}else ll(e);return e}function vl(e,t=``){if(typeof e!=`number`){let n=t&&`"${t}" `;throw TypeError(n+`expected number, got type=`+typeof e)}if(!Number.isSafeInteger(e)){let n=t&&`"${t}" `;throw RangeError(n+`expected safe integer, got `+e)}}function yl(e){if(typeof e!=`string`)throw TypeError(`hex string expected, got `+typeof e);return e===``?ml:BigInt(`0x`+e)}function bl(e){return yl(hi(e))}function xl(e){return yl(hi(Tl(ti(e)).reverse()))}function Sl(e,t){if(ei(t),t===0)throw RangeError(`zero length`);e=_l(e);let n=e.toString(16);if(n.length>t*2)throw RangeError(`number too large`);return vi(n.padStart(t*2,`0`))}function Cl(e,t){return Sl(e,t).reverse()}function wl(e,t){if(e=R(e),t=R(t),e.length!==t.length)return!1;let n=0;for(let r=0;r<e.length;r++)n|=e[r]^t[r];return n===0}function Tl(e){return Uint8Array.from(R(e))}function El(e){if(typeof e!=`string`)throw TypeError(`ascii string expected, got `+typeof e);return Uint8Array.from(e,(t,n)=>{let r=t.charCodeAt(0);if(t.length!==1||r>127)throw RangeError(`string contains non-ASCII character "${e[n]}" with code ${r} at position ${n}`);return r})}var Dl=e=>typeof e==`bigint`&&ml<=e;function Ol(e,t,n){return Dl(e)&&Dl(t)&&Dl(n)&&t<=e&&e<n}function kl(e,t,n,r){if(!Ol(t,n,r))throw RangeError(`expected valid `+e+`: `+n+` <= n < `+r+`, got `+t)}function Al(e){if(e<ml)throw Error(`expected non-negative bigint, got `+e);let t;for(t=0;e>ml;e>>=hl,t+=1);return t}var jl=e=>(hl<<BigInt(e))-hl;function Ml(e,t={},n={}){if(Object.prototype.toString.call(e)!==`[object Object]`)throw TypeError(`expected valid options object`);function r(t,n,r){if(!r&&n!==`function`&&!Object.hasOwn(e,t))throw TypeError(`param "${t}" is invalid: expected own property`);let i=e[t];if(r&&i===void 0)return;let a=typeof i;if(a!==n||i===null)throw TypeError(`param "${t}" is invalid: expected ${n}, got ${a}`)}let i=(e,t)=>Object.entries(e).forEach(([e,n])=>r(e,n,t));i(t,!1),i(n,!0)}var Nl=()=>{throw Error(`not implemented`)},Pl=BigInt(0),B=BigInt(1),Fl=BigInt(2),Il=BigInt(3),Ll=BigInt(4),Rl=BigInt(5),zl=BigInt(7),Bl=BigInt(8),Vl=BigInt(9),Hl=BigInt(16);function V(e,t){if(t<=Pl)throw Error(`mod: expected positive modulus, got `+t);let n=e%t;return n>=Pl?n:t+n}function Ul(e,t,n){if(t<Pl)throw Error(`pow2: expected non-negative exponent, got `+t);let r=e;for(;t-- >Pl;)r*=r,r%=n;return r}function Wl(e,t){if(e===Pl)throw Error(`invert: expected non-zero number`);if(t<=Pl)throw Error(`invert: expected positive modulus, got `+t);let n=V(e,t),r=t,i=Pl,a=B,o=B,s=Pl;for(;n!==Pl;){let e=r/n,t=r-n*e,c=i-o*e,l=a-s*e;r=n,n=t,i=o,a=s,o=c,s=l}if(r!==B)throw Error(`invert: does not exist`);return V(i,t)}function Gl(e,t,n){let r=e;if(!r.eql(r.sqr(t),n))throw Error(`Cannot find square root`)}function Kl(e,t){let n=e,r=(n.ORDER+B)/Ll,i=n.pow(t,r);return Gl(n,i,t),i}function ql(e,t){let n=e,r=(n.ORDER-Rl)/Bl,i=n.mul(t,Fl),a=n.pow(i,r),o=n.mul(t,a),s=n.mul(n.mul(o,Fl),a),c=n.mul(o,n.sub(s,n.ONE));return Gl(n,c,t),c}function Jl(e){let t=ou(e),n=Yl(e),r=n(t,t.neg(t.ONE)),i=n(t,r),a=n(t,t.neg(r)),o=(e+zl)/Hl;return((e,t)=>{let n=e,s=n.pow(t,o),c=n.mul(s,r),l=n.mul(s,i),u=n.mul(s,a),d=n.eql(n.sqr(c),t),f=n.eql(n.sqr(l),t);s=n.cmov(s,c,d),c=n.cmov(u,l,f);let p=n.eql(n.sqr(c),t),m=n.cmov(s,c,p);return Gl(n,m,t),m})}function Yl(e){if(e<Il)throw Error(`sqrt is not defined for small field`);let t=e-B,n=0;for(;t%Fl===Pl;)t/=Fl,n++;let r=Fl,i=ou(e);for(;nu(i,r)===1;)if(r++>1e3)throw Error(`Cannot find square root: probably non-prime P`);if(n===1)return Kl;let a=i.pow(r,t),o=(t+B)/Fl;return function(e,r){let i=e;if(i.is0(r))return r;if(nu(i,r)!==1)throw Error(`Cannot find square root`);let s=n,c=i.mul(i.ONE,a),l=i.pow(r,t),u=i.pow(r,o);for(;!i.eql(l,i.ONE);){if(i.is0(l))return i.ZERO;let e=1,t=i.sqr(l);for(;!i.eql(t,i.ONE);)if(e++,t=i.sqr(t),e===s)throw Error(`Cannot find square root`);let n=B<<BigInt(s-e-1),r=i.pow(c,n);s=e,c=i.sqr(r),l=i.mul(l,c),u=i.mul(u,r)}return u}}function Xl(e){return e%Ll===Il?Kl:e%Bl===Rl?ql:e%Hl===Vl?Jl(e):Yl(e)}var Zl=(e,t)=>(V(e,t)&B)===B,Ql=[`create`,`isValid`,`is0`,`neg`,`inv`,`sqrt`,`sqr`,`eql`,`add`,`sub`,`mul`,`pow`,`div`,`addN`,`subN`,`mulN`,`sqrN`];function $l(e){if(Ml(e,Ql.reduce((e,t)=>(e[t]=`function`,e),{ORDER:`bigint`,BYTES:`number`,BITS:`number`})),vl(e.BYTES,`BYTES`),vl(e.BITS,`BITS`),e.BYTES<1||e.BITS<1)throw Error(`invalid field: expected BYTES/BITS > 0`);if(e.ORDER<=B)throw Error(`invalid field: expected ORDER > 1, got `+e.ORDER);return e}function eu(e,t,n){let r=e;if(n<Pl)throw Error(`invalid exponent, negatives unsupported`);if(n===Pl)return r.ONE;if(n===B)return t;let i=r.ONE,a=t;for(;n>Pl;)n&B&&(i=r.mul(i,a)),a=r.sqr(a),n>>=B;return i}function tu(e,t,n=!1){let r=e,i=Array(t.length).fill(n?r.ZERO:void 0),a=t.reduce((e,t,n)=>r.is0(t)?e:(i[n]=e,r.mul(e,t)),r.ONE),o=r.inv(a);return t.reduceRight((e,t,n)=>r.is0(t)?e:(i[n]=r.mul(e,i[n]),r.mul(e,t)),o),i}function nu(e,t){let n=e,r=(n.ORDER-B)/Fl,i=n.pow(t,r),a=n.eql(i,n.ONE),o=n.eql(i,n.ZERO),s=n.eql(i,n.neg(n.ONE));if(!a&&!o&&!s)throw Error(`invalid Legendre symbol result`);return a?1:o?0:-1}function ru(e,t){if(t!==void 0&&ll(t),e<=Pl)throw Error(`invalid n length: expected positive n, got `+e);if(t!==void 0&&t<1)throw Error(`invalid n length: expected positive bit length, got `+t);let n=Al(e);if(t!==void 0&&t<n)throw Error(`invalid n length: expected bit length (${n}) >= n.length (${t})`);let r=t===void 0?n:t;return{nBitLength:r,nByteLength:Math.ceil(r/8)}}var iu=new WeakMap,au=class{ORDER;BITS;BYTES;isLE;ZERO=Pl;ONE=B;_lengths;_mod;constructor(e,t={}){if(e<=B)throw Error(`invalid field: expected ORDER > 1, got `+e);let n;this.isLE=!1,typeof t==`object`&&t&&(typeof t.BITS==`number`&&(n=t.BITS),typeof t.sqrt==`function`&&Object.defineProperty(this,`sqrt`,{value:t.sqrt,enumerable:!0}),typeof t.isLE==`boolean`&&(this.isLE=t.isLE),t.allowedLengths&&(this._lengths=Object.freeze(t.allowedLengths.slice())),typeof t.modFromBytes==`boolean`&&(this._mod=t.modFromBytes));let{nBitLength:r,nByteLength:i}=ru(e,n);if(i>2048)throw Error(`invalid field: expected ORDER of <= 2048 bytes`);this.ORDER=e,this.BITS=r,this.BYTES=i,Object.freeze(this)}create(e){return V(e,this.ORDER)}isValid(e){if(typeof e!=`bigint`)throw TypeError(`invalid field element: expected bigint, got `+typeof e);return Pl<=e&&e<this.ORDER}is0(e){return e===Pl}isValidNot0(e){return!this.is0(e)&&this.isValid(e)}isOdd(e){return(e&B)===B}neg(e){return V(-e,this.ORDER)}eql(e,t){return e===t}sqr(e){return V(e*e,this.ORDER)}add(e,t){return V(e+t,this.ORDER)}sub(e,t){return V(e-t,this.ORDER)}mul(e,t){return V(e*t,this.ORDER)}pow(e,t){return eu(this,e,t)}div(e,t){return V(e*Wl(t,this.ORDER),this.ORDER)}sqrN(e){return e*e}addN(e,t){return e+t}subN(e,t){return e-t}mulN(e,t){return e*t}inv(e){return Wl(e,this.ORDER)}sqrt(e){let t=iu.get(this);return t||iu.set(this,t=Xl(this.ORDER)),t(this,e)}toBytes(e){return this.isLE?Cl(e,this.BYTES):Sl(e,this.BYTES)}fromBytes(e,t=!1){R(e);let{_lengths:n,BYTES:r,isLE:i,ORDER:a,_mod:o}=this;if(n){if(e.length<1||!n.includes(e.length)||e.length>r)throw Error(`Field.fromBytes: expected `+n+` bytes, got `+e.length);let t=new Uint8Array(r);t.set(e,i?0:t.length-e.length),e=t}if(e.length!==r)throw Error(`Field.fromBytes: expected `+r+` bytes, got `+e.length);let s=i?xl(e):bl(e);if(o&&(s=V(s,a)),!t&&!this.isValid(s))throw Error(`invalid field element: outside of range 0..ORDER`);return s}invertBatch(e){return tu(this,e)}cmov(e,t,n){return gl(n,`condition`),n?t:e}};Object.freeze(au.prototype);function ou(e,t={}){return new au(e,t)}function su(e,t){let n=e;if(!n.isOdd)throw Error(`Field doesn't have isOdd`);let r=n.sqrt(t);return n.isOdd(r)?n.neg(r):r}function cu(e){if(typeof e!=`bigint`)throw Error(`field order must be bigint`);if(e<=B)throw Error(`field order must be greater than 1`);let t=Al(e-B);return Math.ceil(t/8)}function lu(e){let t=cu(e);return t+Math.ceil(t/2)}function uu(e,t,n=!1){R(e);let r=e.length,i=cu(t),a=Math.max(lu(t),16);if(r<a||r>1024)throw Error(`expected `+a+`-1024 bytes of input, got `+r);let o=V(n?xl(e):bl(e),t-B)+B;return n?Cl(o,i):Sl(o,i)}var du=BigInt(0),fu=BigInt(1);function pu(e){let t=e;if(typeof t!=`function`)throw TypeError(`Point must be a constructor`);Ml({Fp:t.Fp,Fn:t.Fn,fromAffine:t.fromAffine,fromBytes:t.fromBytes,fromHex:t.fromHex},{Fp:`object`,Fn:`object`,fromAffine:`function`,fromBytes:`function`,fromHex:`function`}),$l(t.Fp),$l(t.Fn)}function mu(e,t){let n=t.negate();return e?n:t}function hu(e,t){let n=tu(e.Fp,t.map(e=>e.Z));return t.map((t,r)=>e.fromAffine(t.toAffine(n[r])))}function gu(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error(`invalid window size, expected [1..`+t+`], got W=`+e)}function _u(e,t){gu(e,t);let n=Math.ceil(t/e)+1,r=2**(e-1),i=2**e;return{windows:n,windowSize:r,mask:jl(e),maxNumber:i,shiftBy:BigInt(e)}}function vu(e,t,n){let{windowSize:r,mask:i,maxNumber:a,shiftBy:o}=n,s=Number(e&i),c=e>>o;s>r&&(s-=a,c+=fu);let l=t*r,u=l+Math.abs(s)-1,d=s===0,f=s<0,p=t%2!=0;return{nextN:c,offset:u,isZero:d,isNeg:f,isNegF:p,offsetF:l}}function yu(e,t){if(!Array.isArray(e))throw Error(`array expected`);e.forEach((e,n)=>{if(!(e instanceof t))throw Error(`invalid point at index `+n)})}function bu(e,t){if(!Array.isArray(e))throw Error(`array of scalars expected`);e.forEach((e,n)=>{if(!t.isValid(e))throw Error(`invalid scalar at index `+n)})}var xu=new WeakMap,Su=new WeakMap;function Cu(e){return Su.get(e)||1}function wu(e){if(e!==du)throw Error(`invalid wNAF`)}var Tu=class{BASE;ZERO;Fn;bits;constructor(e,t){this.BASE=e.BASE,this.ZERO=e.ZERO,this.Fn=e.Fn,this.bits=t}_unsafeLadder(e,t,n=this.ZERO){let r=e;for(;t>du;)t&fu&&(n=n.add(r)),r=r.double(),t>>=fu;return n}precomputeWindow(e,t){let{windows:n,windowSize:r}=_u(t,this.bits),i=[],a=e,o=a;for(let e=0;e<n;e++){o=a,i.push(o);for(let e=1;e<r;e++)o=o.add(a),i.push(o);a=o.double()}return i}wNAF(e,t,n){if(!this.Fn.isValid(n))throw Error(`invalid scalar`);let r=this.ZERO,i=this.BASE,a=_u(e,this.bits);for(let e=0;e<a.windows;e++){let{nextN:o,offset:s,isZero:c,isNeg:l,isNegF:u,offsetF:d}=vu(n,e,a);n=o,c?i=i.add(mu(u,t[d])):r=r.add(mu(l,t[s]))}return wu(n),{p:r,f:i}}wNAFUnsafe(e,t,n,r=this.ZERO){let i=_u(e,this.bits);for(let e=0;e<i.windows&&n!==du;e++){let{nextN:a,offset:o,isZero:s,isNeg:c}=vu(n,e,i);if(n=a,!s){let e=t[o];r=r.add(c?e.negate():e)}}return wu(n),r}getPrecomputes(e,t,n){let r=xu.get(t);return r||(r=this.precomputeWindow(t,e),e!==1&&(typeof n==`function`&&(r=n(r)),xu.set(t,r))),r}cached(e,t,n){let r=Cu(e);return this.wNAF(r,this.getPrecomputes(r,e,n),t)}unsafe(e,t,n,r){let i=Cu(e);return i===1?this._unsafeLadder(e,t,r):this.wNAFUnsafe(i,this.getPrecomputes(i,e,n),t,r)}createCache(e,t){gu(t,this.bits),Su.set(e,t),xu.delete(e)}hasCache(e){return Cu(e)!==1}};function Eu(e,t,n){let r=e.Fn;yu(t,e),bu(n,r);let i=t.length,a=n.length;if(i!==a)throw Error(`arrays of points and scalars must have equal length`);let o=e.ZERO,s=Al(BigInt(i)),c=1;s>12?c=s-3:s>4?c=s-2:s>0&&(c=2);let l=jl(c),u=Array(Number(l)+1).fill(o),d=Math.floor((r.BITS-1)/c)*c,f=o;for(let e=d;e>=0;e-=c){u.fill(o);for(let r=0;r<a;r++){let i=n[r],a=Number(i>>BigInt(e)&l);u[a]=u[a].add(t[r])}let r=o;for(let e=u.length-1,t=o;e>0;e--)t=t.add(u[e]),r=r.add(t);if(f=f.add(r),e!==0)for(let e=0;e<c;e++)f=f.double()}return f}function Du(e,t,n){if(t){if(t.ORDER!==e)throw Error(`Field.ORDER must match order: Fp == p, Fn == n`);return $l(t),t}else return ou(e,{isLE:n})}function Ou(e,t,n={},r){if(r===void 0&&(r=e===`edwards`),!t||typeof t!=`object`)throw Error(`expected valid ${e} CURVE object`);for(let e of[`p`,`n`,`h`]){let n=t[e];if(!(typeof n==`bigint`&&n>du))throw Error(`CURVE.${e} must be positive bigint`)}let i=Du(t.p,n.Fp,r),a=Du(t.n,n.Fn,r),o=[`Gx`,`Gy`,`a`,e===`weierstrass`?`b`:`d`];for(let e of o)if(!i.isValid(t[e]))throw Error(`CURVE.${e} must be valid field element of CURVE.Fp`);return t=Object.freeze(Object.assign({},t)),{CURVE:t,Fp:i,Fn:a}}function ku(e,t){return function(n){let r=e(n);return{secretKey:r,publicKey:t(r)}}}var Au=BigInt(0),ju=BigInt(1),Mu=BigInt(2),Nu=BigInt(8);function Pu(e,t,n,r){let i=e.sqr(n),a=e.sqr(r),o=e.add(e.mul(t.a,i),a),s=e.add(e.ONE,e.mul(t.d,e.mul(i,a)));return e.eql(o,s)}function Fu(e,t={}){let n=t,r=Ou(`edwards`,e,n,n.FpFnLE),{Fp:i,Fn:a}=r,o=r.CURVE,{h:s}=o;Ml(n,{},{uvRatio:`function`});let c=Mu<<BigInt(a.BYTES*8)-ju,l=e=>i.create(e),u=n.uvRatio===void 0?(e,t)=>{try{return{isValid:!0,value:i.sqrt(i.div(e,t))}}catch{return{isValid:!1,value:Au}}}:n.uvRatio;if(!Pu(i,o,o.Gx,o.Gy))throw Error(`bad curve params: generator point`);function d(e,t,n=!1){let r=n?ju:Au;return kl(`coordinate `+e,t,r,c),t}function f(e){if(!(e instanceof p))throw Error(`EdwardsPoint expected`)}class p{static BASE=new p(o.Gx,o.Gy,ju,l(o.Gx*o.Gy));static ZERO=new p(Au,ju,ju,Au);static Fp=i;static Fn=a;X;Y;Z;T;constructor(e,t,n,r){this.X=d(`x`,e),this.Y=d(`y`,t),this.Z=d(`z`,n,!0),this.T=d(`t`,r),Object.freeze(this)}static CURVE(){return o}static fromAffine(e){if(e instanceof p)throw Error(`extended point not allowed`);let{x:t,y:n}=e||{};return d(`x`,t),d(`y`,n),new p(t,n,ju,l(t*n))}static fromBytes(e,t=!1){let n=i.BYTES,{a:r,d:a}=o;e=Tl(R(e,n,`point`)),gl(t,`zip215`);let s=Tl(e),d=e[n-1];s[n-1]=d&-129;let f=xl(s);kl(`point.y`,f,Au,t?c:i.ORDER);let m=l(f*f),{isValid:h,value:g}=u(l(m-ju),l(a*m-r));if(!h)throw Error(`bad point: invalid y coordinate`);let _=(g&ju)===ju,v=(d&128)!=0;if(!t&&g===Au&&v)throw Error(`bad point: x=0 and x_0=1`);return v!==_&&(g=l(-g)),p.fromAffine({x:g,y:f})}static fromHex(e,t=!1){return p.fromBytes(dl(e),t)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(e=8,t=!0){return m.createCache(this,e),t||this.multiply(Mu),this}assertValidity(){let e=this,{a:t,d:n}=o;if(e.is0())throw Error(`bad point: ZERO`);let{X:r,Y:i,Z:a,T:s}=e,c=l(r*r),u=l(i*i),d=l(a*a),f=l(d*d);if(l(d*l(l(c*t)+u))!==l(f+l(n*l(c*u))))throw Error(`bad point: equation left != right (1)`);if(l(r*i)!==l(a*s))throw Error(`bad point: equation left != right (2)`)}equals(e){f(e);let{X:t,Y:n,Z:r}=this,{X:i,Y:a,Z:o}=e,s=l(t*o),c=l(i*r),u=l(n*o),d=l(a*r);return s===c&&u===d}is0(){return this.equals(p.ZERO)}negate(){return new p(l(-this.X),this.Y,this.Z,l(-this.T))}double(){let{a:e}=o,{X:t,Y:n,Z:r}=this,i=l(t*t),a=l(n*n),s=l(Mu*l(r*r)),c=l(e*i),u=t+n,d=l(l(u*u)-i-a),f=c+a,m=f-s,h=c-a,g=l(d*m),_=l(f*h),v=l(d*h);return new p(g,_,l(m*f),v)}add(e){f(e);let{a:t,d:n}=o,{X:r,Y:i,Z:a,T:s}=this,{X:c,Y:u,Z:d,T:m}=e,h=l(r*c),g=l(i*u),_=l(s*n*m),v=l(a*d),ee=l((r+i)*(c+u)-h-g),y=v-_,b=v+_,x=l(g-t*h),S=l(ee*y),C=l(b*x),te=l(ee*x);return new p(S,C,l(y*b),te)}subtract(e){return f(e),this.add(e.negate())}multiply(e){if(!a.isValidNot0(e))throw RangeError(`invalid scalar: expected 1 <= sc < curve.n`);let{p:t,f:n}=m.cached(this,e,e=>hu(p,e));return hu(p,[t,n])[0]}multiplyUnsafe(e){if(!a.isValid(e))throw RangeError(`invalid scalar: expected 0 <= sc < curve.n`);return e===Au?p.ZERO:this.is0()||e===ju?this:m.unsafe(this,e,e=>hu(p,e))}isSmallOrder(){return this.clearCofactor().is0()}isTorsionFree(){return m.unsafe(this,o.n).is0()}toAffine(e){let t=this,n=e,{X:r,Y:a,Z:o}=t,s=t.is0();n??=s?Nu:i.inv(o);let c=l(r*n),u=l(a*n),d=i.mul(o,n);if(s)return{x:Au,y:ju};if(d!==ju)throw Error(`invZ was invalid`);return{x:c,y:u}}clearCofactor(){return s===ju?this:this.multiplyUnsafe(s)}toBytes(){let{x:e,y:t}=this.toAffine(),n=i.toBytes(t);return n[n.length-1]|=e&ju?128:0,n}toHex(){return ul(this.toBytes())}toString(){return`<Point ${this.is0()?`ZERO`:this.toHex()}>`}}let m=new Tu(p,a.BITS);return a.BITS>=8&&p.BASE.precompute(8),Object.freeze(p.prototype),Object.freeze(p),p}var Iu=class{static BASE;static ZERO;static Fp;static Fn;ep;constructor(e){this.ep=e}static fromBytes(e){Nl()}static fromHex(e){Nl()}get x(){return this.toAffine().x}get y(){return this.toAffine().y}clearCofactor(){return this}assertValidity(){this.ep.assertValidity()}toAffine(e){return this.ep.toAffine(e)}toHex(){return ul(this.toBytes())}toString(){return this.toHex()}isTorsionFree(){return!0}isSmallOrder(){return!1}add(e){return this.assertSame(e),this.init(this.ep.add(e.ep))}subtract(e){return this.assertSame(e),this.init(this.ep.subtract(e.ep))}multiply(e){return this.init(this.ep.multiply(e))}multiplyUnsafe(e){return this.init(this.ep.multiplyUnsafe(e))}double(){return this.init(this.ep.double())}negate(){return this.init(this.ep.negate())}precompute(e,t){return this.ep.precompute(e,t),this}};function Lu(e,t,n={}){if(typeof t!=`function`)throw Error(`"hash" function param is required`);let r=t,i=n;Ml(i,{},{adjustScalarBytes:`function`,randomBytes:`function`,domain:`function`,prehash:`function`,zip215:`boolean`,mapToCurve:`function`});let{prehash:a}=i,{BASE:o,Fp:s,Fn:c}=e,l=r.outputLen,u=2*s.BYTES;if(l!==void 0&&(vl(l,`hash.outputLen`),l!==u))throw Error(`hash.outputLen must be ${u}, got ${l}`);let d=i.randomBytes===void 0?pl:i.randomBytes,f=i.adjustScalarBytes===void 0?e=>e:i.adjustScalarBytes,p=i.domain===void 0?(e,t,n)=>{if(gl(n,`phflag`),t.length||n)throw Error(`Contexts/pre-hash are not supported`);return e}:i.domain;function m(e){return c.create(xl(e))}function h(e){let t=S.secretKey;R(e,S.secretKey,`secretKey`);let n=R(r(e),2*t,`hashedSecretKey`),i=f(n.slice(0,t));return{head:i,prefix:n.slice(t,2*t),scalar:m(i)}}function g(e){let{head:t,prefix:n,scalar:r}=h(e),i=o.multiply(r);return{head:t,prefix:n,scalar:r,point:i,pointBytes:i.toBytes()}}function _(e){return g(e).pointBytes}function v(e=Uint8Array.of(),...t){return m(r(p(z(...t),R(e,void 0,`context`),!!a)))}function ee(e,t,n={}){e=R(e,void 0,`message`),a&&(e=a(e));let{prefix:r,scalar:i,pointBytes:s}=g(t),l=v(n.context,r,e),u=o.multiply(l).toBytes(),d=v(n.context,u,s,e),f=c.create(l+d*i);if(!c.isValid(f))throw Error(`sign failed: invalid s`);return R(z(u,c.toBytes(f)),S.signature,`result`)}let y={zip215:i.zip215};function b(t,n,r,i=y){let{context:s}=i,c=i.zip215===void 0?!!y.zip215:i.zip215,l=S.signature;t=R(t,l,`signature`),n=R(n,void 0,`message`),r=R(r,S.publicKey,`publicKey`),c!==void 0&&gl(c,`zip215`),a&&(n=a(n));let u=l/2,d=t.subarray(0,u),f=xl(t.subarray(u,l)),p,m,h;try{p=e.fromBytes(r,c),m=e.fromBytes(d,c),h=o.multiplyUnsafe(f)}catch{return!1}if(!c&&p.isSmallOrder())return!1;let g=v(s,d,r,n);return m.add(p.multiplyUnsafe(g)).subtract(h).clearCofactor().is0()}let x=s.BYTES,S={secretKey:x,publicKey:x,signature:2*x,seed:x};function C(e){return e=e===void 0?d(S.seed):e,R(e,S.seed,`seed`)}function te(e){return fl(e)&&e.length===S.secretKey}function ne(t,n){try{return!!e.fromBytes(t,n===void 0?y.zip215:n)}catch{return!1}}let re={getExtendedPublicKey:g,randomSecretKey:C,isValidSecretKey:te,isValidPublicKey:ne,toMontgomery(t){let{y:n}=e.fromBytes(t),r=S.publicKey,i=r===32;if(!i&&r!==57)throw Error(`only defined for 25519 and 448`);let a=i?s.div(ju+n,ju-n):s.div(n-ju,n+ju);return s.toBytes(a)},toMontgomerySecret(e){let t=S.secretKey;return R(e,t),f(r(e.subarray(0,t))).subarray(0,t)}};return Object.freeze(S),Object.freeze(re),Object.freeze({keygen:ku(C,_),getPublicKey:_,sign:ee,verify:b,utils:re,Point:e,lengths:S})}function Ru(e){if(!Number.isSafeInteger(e)||e<0||e>4294967295)throw Error(`wrong u32 integer:`+e);return e}function zu(e){if(Ru(e),e<=1)return 1;if(e>2147483648)throw Error(`nextPowerOfTwo overflow: result does not fit u32`);return 1<<Bu(e-1)+1>>>0}function Bu(e){return Ru(e),31-Math.clz32(e)}function Vu(e,t,n,r,i){let a=e,o=n||((e,t)=>Array(e).fill(t??a.ZERO)),s=e=>{if(Array.isArray(e))return!0;if(!ArrayBuffer.isView(e))return!1;let t=e;return typeof t.length==`number`&&typeof t.slice==`function`&&typeof t[Symbol.iterator]==`function`},c=(...e)=>{if(!e.length)return 0;for(let t of e)if(!s(t))throw Error(`poly: not polynomial: `+t);let t=e[0].length;for(let n=1;n<e.length;n++)if(e[n].length!==t)throw Error(`poly: mismatched lengths ${t} vs ${e[n].length}`);if(i!==void 0&&t!==i)throw Error(`poly: expected fixed length ${i}, got ${t}`);return t};function l(e,n,r=!1){let i=Bu(n),o=r?t.brp(i):t.roots(i);for(let t=0;t<n;t++)if(a.eql(e,o[t]))return t;return-1}return{roots:t,create:o,length:i,extend:(e,t)=>{c(e);let n=o(t,a.ZERO);for(let r=0;r<Math.min(e.length,t);r++)n[r]=e[r];return n},degree:e=>{c(e);for(let t=e.length-1;t>=0;t--)if(!a.is0(e[t]))return t;return-1},add:(e,t)=>{let n=c(e,t),r=o(n);for(let i=0;i<n;i++)r[i]=a.add(e[i],t[i]);return r},sub:(e,t)=>{let n=c(e,t),r=o(n);for(let i=0;i<n;i++)r[i]=a.sub(e[i],t[i]);return r},dot:(e,t)=>{let n=c(e,t),r=o(n);for(let i=0;i<n;i++)r[i]=a.mul(e[i],t[i]);return r},mul:(e,t)=>{if(s(t)){let n=c(e,t);if(r){let n=r.direct(e,!1,!0),i=r.direct(t,!1,!0);for(let e=0;e<n.length;e++)n[e]=a.mul(n[e],i[e]);return r.inverse(n,!0,!1)}else{let r=o(n);for(let i=0;i<n;i++)for(let o=0;o<n;o++){let s=(i+o)%n;r[s]=a.add(r[s],a.mul(e[i],t[o]))}return r}}else{let n=o(c(e));for(let r=0;r<n.length;r++)n[r]=a.mul(e[r],t);return n}},convolve(e,t){let n=zu(e.length+t.length-1);return this.mul(this.extend(e,n),this.extend(t,n))},shift(e,t){let n=o(c(e));n[0]=e[0];for(let r=1,i=a.ONE;r<e.length;r++)i=a.mul(i,t),n[r]=a.mul(e[r],i);return n},clone:e=>{c(e);let t=o(e.length);for(let n=0;n<e.length;n++)t[n]=e[n];return t},eval:(e,t)=>{c(e,t);let n=a.ZERO;for(let r=0;r<e.length;r++)n=a.add(n,a.mul(e[r],t[r]));return n},monomial:{basis:(e,t)=>{let n=o(t),r=a.ONE;for(let i=0;i<t;i++)n[i]=r,r=a.mul(r,e);return n},eval:(e,t)=>{c(e);let n=a.ZERO;for(let r=e.length-1;r>=0;r--)n=a.add(a.mul(n,t),e[r]);return n}},lagrange:{basis:(e,n,r=!1,i)=>{let s=Bu(n),c=i||(r?t.brp(s):t.roots(s)),u=o(n),d=l(e,n,r);if(d!==-1)return u[d]=a.ONE,u;let f=a.pow(e,BigInt(n)),p=a.mul(a.sub(f,a.ONE),a.inv(BigInt(n))),m=o(n);for(let t=0;t<n;t++)m[t]=a.sub(e,c[t]);let h=a.invertBatch(m);for(let e=0;e<n;e++)u[e]=a.mul(p,a.mul(c[e],h[e]));return u},eval(e,t,n=!1){c(e);let r=l(t,e.length,n);if(r!==-1)return e[r];let i=this.basis(t,e.length,n),o=a.ZERO;for(let t=0;t<e.length;t++)a.is0(e[t])||(o=a.add(o,a.mul(e[t],i[t])));return o}},vanishing(e){c(e);let t=o(e.length+1,a.ZERO);t[0]=a.ONE;for(let n of e){let e=a.neg(n);for(let n=t.length-1;n>0;n--)t[n]=a.add(a.mul(t[n],e),t[n-1]);t[0]=a.mul(t[0],e)}return t}}}var Hu=bl;function Uu(e,t){if(vl(e),vl(t),t<0||t>4)throw Error(`invalid I2OSP length: `+t);if(e<0||e>2**(8*t)-1)throw Error(`invalid I2OSP input: `+e);let n=Array.from({length:t}).fill(0);for(let r=t-1;r>=0;r--)n[r]=e&255,e>>>=8;return new Uint8Array(n)}function Wu(e,t){let n=new Uint8Array(e.length);for(let r=0;r<e.length;r++)n[r]=e[r]^t[r];return n}function Gu(e){if(!fl(e)&&typeof e!=`string`)throw Error(`DST must be Uint8Array or ascii string`);let t=typeof e==`string`?El(e):e;if(t.length===0)throw Error(`DST must be non-empty`);return t}function Ku(e,t,n,r){R(e),vl(n),t=Gu(t),t.length>255&&(t=r(z(El(`H2C-OVERSIZE-DST-`),t)));let{outputLen:i,blockLen:a}=r,o=Math.ceil(n/i);if(n>65535||o>255)throw Error(`expand_message_xmd: invalid lenInBytes`);let s=z(t,Uu(t.length,1)),c=new Uint8Array(a),l=Uu(n,2),u=Array(o),d=r(z(c,e,l,Uu(0,1),s));u[0]=r(z(d,Uu(1,1),s));for(let e=1;e<o;e++)u[e]=r(z(Wu(d,u[e-1]),Uu(e+1,1),s));return z(...u).slice(0,n)}function qu(e,t,n,r,i){if(R(e),vl(n),t=Gu(t),t.length>255){let e=Math.ceil(2*r/8);t=i.create({dkLen:e}).update(El(`H2C-OVERSIZE-DST-`)).update(t).digest()}if(n>65535||t.length>255)throw Error(`expand_message_xof: invalid lenInBytes`);return i.create({dkLen:n}).update(e).update(Uu(n,2)).update(t).update(Uu(t.length,1)).digest()}function Ju(e,t,n){Ml(n,{p:`bigint`,m:`number`,k:`number`,hash:`function`});let{p:r,k:i,m:a,hash:o,expand:s,DST:c}=n;if(vl(o.outputLen,`valid hash`),R(e),vl(t),t<1)throw Error(`hash_to_field: expected count >= 1`);if(a<1)throw Error(`hash_to_field: expected m >= 1`);let l=r.toString(2).length,u=Math.ceil((l+i)/8),d=t*a*u,f;if(s===`xmd`)f=Ku(e,c,d,o);else if(s===`xof`)f=qu(e,c,d,i,o);else if(s===`_internal_pass`)f=e;else throw Error(`expand must be "xmd" or "xof"`);let p=Array(t);for(let e=0;e<t;e++){let t=Array(a);for(let n=0;n<a;n++){let i=u*(n+e*a);t[n]=V(Hu(f.subarray(i,i+u)),r)}p[e]=t}return p}var Yu=`HashToScalar-`;function Xu(e,t,n){if(typeof t!=`function`)throw Error(`mapToCurve() must be defined`);let r=e=>Object.freeze({...e,DST:fl(e.DST)?Tl(e.DST):e.DST,...e.encodeDST===void 0?{}:{encodeDST:fl(e.encodeDST)?Tl(e.encodeDST):e.encodeDST}}),i=r(n);function a(n){return e.fromAffine(t(n))}function o(t){let n=t.clearCofactor();return n.equals(e.ZERO)?e.ZERO:(n.assertValidity(),n)}return Object.freeze({get defaults(){return r(i)},Point:e,hashToCurve(e,t){let n=Ju(e,2,Object.assign({},i,t)),r=a(n[0]),s=a(n[1]);return o(r.add(s))},encodeToCurve(e,t){let n=i.encodeDST?{DST:i.encodeDST}:{};return o(a(Ju(e,1,Object.assign({},i,n,t))[0]))},mapToCurve(e){if(i.m===1){if(typeof e!=`bigint`)throw Error(`expected bigint (m=1)`);return o(a([e]))}if(!Array.isArray(e))throw Error(`expected array of bigints`);for(let t of e)if(typeof t!=`bigint`)throw Error(`expected array of bigints`);return o(a(e))},hashToScalar(t,n){let r=e.Fn.ORDER;return Ju(t,1,Object.assign({},i,{p:r,m:1,DST:Yu},n))[0][0]}})}var Zu=e=>{if(!Number.isSafeInteger(e.min)||!Number.isSafeInteger(e.max)||e.min<2||e.max<2||e.min>e.max)throw Error(`Wrong signers info: min=`+e.min+` max=`+e.max)},Qu=(e,t)=>{if(t<e.min||t>e.max)throw Error(`Wrong number of commitments=`+t)},$u=class extends Error{cheaters;constructor(e,t){super(e),this.cheaters=t}};function ed(e){Ml(e,{name:`string`,hash:`function`},{hashToScalar:`function`,validatePoint:`function`,parsePublicKey:`function`,adjustScalar:`function`,adjustPoint:`function`,challenge:`function`,adjustNonces:`function`,adjustSecret:`function`,adjustPublic:`function`,adjustGroupCommitmentShare:`function`,adjustDKG:`function`}),pu(e.Point);let{Point:t}=e,n=e.Fn===void 0?t.Fn:e.Fn,r=e.hash,i=e.hashToScalar===void 0?(e,t={DST:new Uint8Array})=>{let i=r(z(t.DST,e));return n.create(n.isLE?xl(i):bl(i))}:e.hashToScalar,a=yi(e.H1===void 0?e.name+`rho`:e.H1),o=yi(e.H2===void 0?e.name+`chal`:e.H2),s=yi(e.H3===void 0?e.name+`nonce`:e.H3),c=yi(e.H4===void 0?e.name+`msg`:e.H4),l=yi(e.H5===void 0?e.name+`com`:e.H5),u=yi(e.HDKG===void 0?e.name+`dkg`:e.HDKG),d=yi(e.HID===void 0?e.name+`id`:e.HID),f=e=>i(e,{DST:a}),p=e=>i(e,{DST:o}),m=e=>i(e,{DST:s}),h=e=>r(z(c,e)),g=e=>r(z(l,e)),_=e=>i(e,{DST:u}),v=e=>i(e,{DST:d}),ee=(e=pl)=>{let t=uu(e(lu(n.ORDER)),n.ORDER,n.isLE);return n.isLE?xl(t):bl(t)},y=e=>e.toBytes(),b=n=>{let r=t.fromBytes(n);return e.validatePoint&&e.validatePoint(r),r},x=(e,r)=>({identifier:e,hiding:y(t.BASE.multiply(n.fromBytes(r.hiding))),binding:y(t.BASE.multiply(n.fromBytes(r.binding)))}),S=e.adjustPoint===void 0?e=>e:e.adjustPoint,C=e=>{if(!n.isValid(e)||n.is0(e))throw Error(`Invalid identifier `+e);return e},te=e=>ul(n.toBytes(C(e))),ne=e=>{let t=C(n.fromBytes(dl(e)));if(te(t)!==e)throw Error(`expected canonical identifier hex`);return t},re={encode:(t,r)=>{let i=z(y(t),n.toBytes(r));return e.adjustTx&&(i=e.adjustTx.encode(i)),i},decode:t=>(e.adjustTx&&(t=e.adjustTx.decode(t)),{R:b(t.subarray(0,-n.BYTES)),z:n.fromBytes(t.subarray(-n.BYTES))})},ie=(n=pl)=>{let r=ee(n);e.adjustScalar&&(r=e.adjustScalar(r));let i=t.BASE.multiply(r);return{scalar:r,point:i}},ae=`roots are unavailable in FROST polynomial mode`,oe=Vu(n,{info:{G:n.ZERO,oddFactor:n.ZERO,powerOfTwo:0},roots(){throw Error(ae)},brp(){throw Error(ae)},inverse(){throw Error(ae)},omega(){throw Error(ae)},clear(){}}),se=(e,n)=>Eu(t,e,n),ce=(e,t)=>{if(!t.length)throw Error(`empty coefficients`);return oe.monomial.eval(t,e)},le=(e,t)=>{let r=`invalid parameters`;if(!e.some(e=>n.eql(e,t)))throw Error(r);let i=new Set(e);if(i.size!==e.length||!i.has(t))throw Error(r);let a=n.ONE,o=n.ONE;for(let r of e)n.eql(r,t)||(a=n.mul(a,r),o=n.mul(o,n.sub(r,t)));return n.div(a,o)},ue=(e,t)=>se(t,oe.monomial.basis(e,t.length)),de=(e,r,i,a=pl)=>{Zu(e);let o=r===void 0?ee(a):n.fromBytes(r);if(!i){i=[];for(let t=0;t<e.min-1;t++)i.push(ee(a))}if(i.length!==e.min-1)throw Error(`wrong coefficients length`);let s=[o,...i];return{coefficients:s,commitment:s.map(e=>t.BASE.multiply(e)),secret:o}},fe={challenge:(e,t,r)=>_(z(n.toBytes(e),y(t),y(r))),compute(e,t,r,i=pl){if(t.length<1)throw Error(`coefficients should have at least one element`);let{point:a,scalar:o}=ie(i),s=r[0],c=this.challenge(e,s,a),l=n.add(o,n.mul(t[0],c));return re.encode(a,l)},validate(e,n,r){if(n.length<1)throw Error(`commitment should have at least one element`);let{R:i,z:a}=re.decode(r),o=b(n[0]),s=this.challenge(e,o,i);if(!i.equals(t.BASE.multiply(a).subtract(o.multiply(s))))throw Error(`invalid proof of knowledge`)}},pe={challenge:(t,n,r)=>e.challenge?e.challenge(t,n,r):p(z(y(t),y(n),r)),sign(e,r,i=pl){let{point:a,scalar:o}=ie(i),s=t.BASE.multiply(r),c=this.challenge(a,s,e);return[a,n.add(o,n.mul(c,r))]},verify(n,r,i,a){e.adjustPoint&&(a=e.adjustPoint(a)),e.adjustPoint&&(r=e.adjustPoint(r));let o=this.challenge(r,a,n),s=t.BASE.multiply(i),c=a.multiply(o),l=s.subtract(c).subtract(r);return l.clearCofactor&&(l=l.clearCofactor()),t.ZERO.equals(l)}},me=(e,n,r)=>{if(!t.BASE.multiply(r).equals(ue(e,n)))throw Error(`invalid secret share`)},he={fromNumber(e){if(!Number.isSafeInteger(e))throw Error(`expected safe interger`);return te(BigInt(e))},derive(e){if(typeof e!=`string`)throw Error(`wrong identifier string: `+e);return te(v(yi(e)))}},ge=(e,t=pl)=>m(z(t(32),n.toBytes(e))),_e=(e,r,i)=>{let a=r.map(e=>[e.identifier,ne(e.identifier),b(e.hiding),b(e.binding)]);a.sort((e,t)=>e[1]<t[1]?-1:+(e[1]>t[1]));let o=[];for(let[e,t,r,i]of a)o.push(n.toBytes(t),y(r),y(i));let s=g(z(...o)),c=z(y(e),h(i),s),l={};for(let[e,t]of a)l[e]=f(z(c,n.toBytes(t)));let u=[],d=[];for(let[e,r,i,o]of a){if(t.ZERO.equals(i)||t.ZERO.equals(o))throw Error(`infinity commitment`);u.push(i,o),d.push(n.ONE,l[e])}let p=se(u,d);return{identifiers:a.map(e=>e[1]),groupCommitment:p,bindingFactors:l}},ve=(e,t,n,r)=>{let i=S(b(e)),a=ne(r),{identifiers:o,groupCommitment:s,bindingFactors:c}=_e(i,t,n),l=c[r];return{lambda:le(o,a),challenge:pe.challenge(s,i,n),bindingFactor:l,groupCommitment:s}};Object.freeze(he);let ye={Identifier:he,DKG:Object.freeze({round1:(e,t,n,r=pl)=>{Zu(t);let i=ne(e),{coefficients:a,commitment:o}=de(t,n,void 0,r),s=fe.compute(i,a,o,r),c=o.map(y);return{public:{identifier:te(i),commitment:c,proofOfKnowledge:s},secret:{identifier:i,coefficients:a,commitment:o.map(y),signers:{min:t.min,max:t.max},step:1}}},round2:(e,t)=>{if(t.length!==e.signers.max-1)throw Error(`wrong number of round1 packages`);if(!e.coefficients||e.step===3)throw Error(`round3 package used in round2`);let r={};for(let i of t){if(i.commitment.length!==e.signers.min)throw Error(`wrong number of commitments`);let t=ne(i.identifier);if(t===e.identifier)throw Error(`duplicate id=`+te(t));fe.validate(t,i.commitment,i.proofOfKnowledge);for(let e of i.commitment)b(e);if(r[i.identifier])throw Error(`Duplicate id=`+t);let a=n.toBytes(ce(t,e.coefficients));r[i.identifier]={identifier:te(e.identifier),signingShare:a}}return e.step=2,r},round3:(r,i,a)=>{if(i.length!==r.signers.max-1)throw Error(`wrong length of round1 packages`);if(!r.coefficients||r.step!==2)throw Error(`round2 package used in round3`);if(a.length!==i.length)throw Error(`wrong length of round2 packages`);let o={};for(let e of i){if(!e.identifier||!e.commitment)throw Error(`wrong round1 share`);o[e.identifier]={...e}}for(let e of a){if(!e.identifier||!e.signingShare)throw Error(`wrong round2 share`);if(!o[e.identifier])throw Error(`round1 share for `+e.identifier+` is missing`);o[e.identifier].signingShare=e.signingShare}if(Object.keys(o).length!==i.length)throw Error(`mismatch identifiers between rounds`);let s=n.ZERO;if(r.commitment.length!==r.signers.min)throw Error(`wrong commitments length`);let c=r.commitment.map(b),l=ce(r.identifier,r.coefficients);me(r.identifier,c,l);let u=c.map(y),d={[te(r.identifier)]:u};for(let e in o){let t=o[e];if(!t.signingShare||!t.commitment)throw Error(`mismatch identifiers`);let i=ne(e),a=n.fromBytes(t.signingShare),c=t.commitment.map(b);me(r.identifier,c,a),s=n.add(s,a);let l=te(i);if(d[l])throw Error(`duplicated id=`+l);d[l]=t.commitment}s=n.add(s,l);let f=Array(r.signers.min).fill(t.ZERO);for(let e in d){let t=d[e];if(t.length!==r.signers.min)throw Error(`wrong commitments length`);for(let e=0;e<t.length;e++)f[e]=f[e].add(b(t[e]))}let p=f.map(y),m={};for(let e in d)m[e]=y(ue(ne(e),f));let h={public:{signers:{min:r.signers.min,max:r.signers.max},commitments:p,verifyingShares:Object.fromEntries(Object.entries(m).map(([e,t])=>[e,t.slice()]))},secret:{identifier:te(r.identifier),signingShare:n.toBytes(s)}};e.adjustDKG&&(h=e.adjustDKG(h));for(let e=0;e<r.coefficients.length;e++)r.coefficients[e]-=r.coefficients[e];return delete r.coefficients,r.step=3,h},clean(e){if(e.identifier-=e.identifier,e.coefficients)for(let t=0;t<e.coefficients.length;t++)e.coefficients[t]-=e.coefficients[t];e.step=3}}),trustedDealer(e,r,i,a=pl){if(Zu(e),r===void 0){r=[];for(let t=1;t<=e.max;t++)r.push(he.fromNumber(t))}else if(!Array.isArray(r)||r.length!==e.max)throw Error(`identifiers should be array of `+e.max);let o={};for(let e of r){let t=ne(e);if(e in o)throw Error(`duplicated id=`+e);o[e]=t}let s=de(e,i,void 0,a),c=s.commitment.map(y),l={},u={};for(let e of r){let r=ce(o[e],s.coefficients);u[e]=y(t.BASE.multiply(r)),l[e]={identifier:e,signingShare:n.toBytes(r)}}return{public:{signers:{min:e.min,max:e.max},commitments:c,verifyingShares:u},secretShares:l}},validateSecret(e,t){me(ne(e.identifier),t.commitments.map(b),n.fromBytes(e.signingShare))},commit(e,t=pl){let r=n.fromBytes(e.signingShare),i=ge(r,t),a=ge(r,t),o={hiding:n.toBytes(i),binding:n.toBytes(a)};return{nonces:o,commitments:x(e.identifier,o)}},signShare(r,i,a,o,s){Qu(i.signers,o.length);let c=n.fromBytes(a.hiding),l=n.fromBytes(a.binding);if(n.is0(c)||n.is0(l))throw Error(`signing nonces already used`);let u={identifier:r.identifier,hiding:y(t.BASE.multiply(c)),binding:y(t.BASE.multiply(l))},d=o.find(e=>e.identifier===r.identifier);if(!d)throw Error(`missing signer commitment`);if(ul(d.hiding)!==ul(u.hiding)||ul(d.binding)!==ul(u.binding))throw Error(`incorrect signer commitment`);e.adjustSecret&&(r=e.adjustSecret(r,i)),e.adjustPublic&&(i=e.adjustPublic(i));let f=n.fromBytes(r.signingShare),{lambda:p,challenge:m,bindingFactor:h,groupCommitment:g}=ve(i.commitments[0],o,s,r.identifier),_=e.adjustNonces?e.adjustNonces(g,a):a,v=e.adjustNonces?n.fromBytes(_.hiding):c,ee=e.adjustNonces?n.fromBytes(_.binding):l,b=n.mul(n.mul(p,f),m),x=n.mul(ee,h),S=n.toBytes(n.add(n.add(v,x),b));return a.hiding.fill(0),a.binding.fill(0),S},verifyShare(r,i,a,o,s){e.adjustPublic&&(r=e.adjustPublic(r));let c=i.find(e=>e.identifier===o);if(!c)throw Error(`cannot find identifier commitment`);let l=b(r.verifyingShares[o]),u=b(c.hiding),d=b(c.binding),{lambda:f,challenge:p,bindingFactor:m,groupCommitment:h}=ve(r.commitments[0],i,a,o),g=u.add(d.multiply(m));e.adjustGroupCommitmentShare&&(g=e.adjustGroupCommitmentShare(h,g));let _=t.BASE.multiply(n.fromBytes(s)),v=g.add(l.multiply(n.mul(p,f)));return _.equals(v)},aggregate(t,r,i,a){e.adjustPublic&&(t=e.adjustPublic(t));try{Qu(t.signers,r.length)}catch{throw new $u(`aggregation failed`,[])}let o=r.map(e=>e.identifier);if(o.length!==Object.keys(a).length)throw new $u(`aggregation failed`,[]);for(let e of o)if(!(e in a)||!(e in t.verifyingShares))throw new $u(`aggregation failed`,[]);let s=b(t.commitments[0]),{groupCommitment:c}=_e(s,r,i),l=n.ZERO;for(let e of o)l=n.add(l,n.fromBytes(a[e]));if(!pe.verify(i,c,l,s)){let e=[];for(let n of o)this.verifyShare(t,r,i,n,a[n])||e.push(n);throw new $u(`aggregation failed`,e)}return re.encode(c,l)},sign(t,r){let i=n.fromBytes(r);e.adjustScalar&&(i=e.adjustScalar(i));let[a,o]=pe.sign(t,i);return re.encode(a,o)},verify(t,n,r){let i=e.parsePublicKey?e.parsePublicKey(r):b(r),{R:a,z:o}=re.decode(t);return pe.verify(n,a,o,i)},combineSecret(e,t){if(Zu(t),!Array.isArray(e)||e.length<t.min)throw Error(`wrong secret shares array`);let r=[],i={};for(let t of e){let e=ne(t.identifier),a=te(e);if(i[a])throw Error(`duplicated id=`+a);i[a]=!0,r.push([e,n.fromBytes(t.signingShare)])}let a=r.map(([e])=>e),o=n.ZERO;for(let[e,t]of r)o=n.add(o,n.mul(t,le(a,e)));return n.toBytes(o)},utils:Object.freeze({Fn:n,randomScalar:(e=pl)=>n.toBytes(ie(e).scalar),generateSecretPolynomial:(e,t,n,r)=>{let i=de(e,t,n,r);return{...i,commitment:i.commitment.map(y)}}})};return Object.freeze(ye)}var td=El(Yu);function nd(e){Ml(e,{name:`string`,hash:`function`,hashToScalar:`function`,hashToGroup:`function`}),pu(e.Point);let{name:t,Point:n,hash:r}=e,{Fn:i}=n,a=(t,n)=>e.hashToGroup(t,{DST:z(El(`HashToGroup-`),n)}),o=(t,n)=>e.hashToScalar(t,{DST:z(td,n)}),s=(e=pl)=>{let t=uu(e(lu(i.ORDER)),i.ORDER,i.isLE);return i.isLE?xl(t):bl(t)},c=(e,t)=>Eu(n,e,t),l=e=>z(El(`OPRFV1-`),new Uint8Array([e]),El(`-`+t)),u=l(0),d=l(1),f=l(2);function p(...e){let t=[];for(let n of e)typeof n==`number`?t.push(Sl(n,2)):typeof n==`string`?t.push(El(n)):(R(n),t.push(Sl(n.length,2),n));return z(...t)}let m=(e,t)=>{if(R(t,void 0,e),t.length>65535)throw Error(`"${e}" expected Uint8Array of length <= 65535, got length=${t.length}`);return t},h=(...e)=>r(p(...e,`Finalize`));function g(e,t,n,i){let a=r(p(e.toBytes(),z(El(`Seed-`),i))),s=[];for(let e=0;e<t.length;e++){let r=t[e].toBytes(),c=n[e].toBytes(),l=o(p(a,e,r,c,`Composite`),i);s.push(l)}return s}function _(e,t,n,r){let i=g(e,t,n,r);return{M:c(t,i),Z:c(n,i)}}function v(e,t,n,r,i){let a=c(n,g(t,n,r,i));return{M:a,Z:a.multiply(e)}}function ee(e,t,n,r,i,a){let[s,c,l,u,d]=[e,t,n,r,i].map(e=>e.toBytes());return o(p(s,c,l,u,d,`Challenge`),a)}function y(e,t,r,a,o,c){let{M:l,Z:u}=v(t,r,a,o,e),d=s(c),f=ee(r,l,u,n.BASE.multiply(d),l.multiply(d),e);return z(...[f,i.sub(d,i.mul(f,t))].map(e=>i.toBytes(e)))}function b(e,t,r,a,o){R(o,2*i.BYTES);let{M:s,Z:c}=_(t,r,a,e),[l,u]=[o.subarray(0,i.BYTES),o.subarray(i.BYTES)].map(e=>i.fromBytes(e)),d=ee(t,s,c,n.BASE.multiply(u).add(t.multiply(l)),s.multiply(u).add(c.multiply(l)),e);if(!i.eql(l,d))throw Error(`proof verification failed`)}function x(){let e=s(),t=n.BASE.multiply(e);return{secretKey:i.toBytes(e),publicKey:t.toBytes()}}function S(t,r,a){R(r,32,`seed`),a=m(`keyInfo`,a);let o=z(El(`DeriveKeyPair`),t),s=z(r,p(a),Uint8Array.of(0));for(let t=0;t<=255;t++){s[s.length-1]=t;let r=e.hashToScalar(s,{DST:o});if(!i.is0(r))return{secretKey:i.toBytes(r),publicKey:n.BASE.multiply(r).toBytes()}}throw Error(`Cannot derive key`)}let C=(e,t)=>{let r=n.fromBytes(t);if(r.equals(n.ZERO))throw Error(e+` point at infinity`);return r};function te(e,t,r=pl){t=m(`input`,t);let o=s(r),c=a(t,e);if(c.equals(n.ZERO))throw Error(`Input point at infinity`);let l=c.multiply(o);return{blind:i.toBytes(o),blinded:l.toBytes()}}function ne(e,t,r){r=m(`input`,r);let o=i.fromBytes(t),s=a(r,e);if(s.equals(n.ZERO))throw Error(`Input point at infinity`);let c=s.multiply(o).toBytes();return h(r,c)}let re=Object.freeze({generateKeyPair:x,deriveKeyPair:(e,t)=>S(u,e,t),blind:(e,t=pl)=>te(u,e,t),blindEvaluate(e,t){let n=i.fromBytes(e);return C(`blinded`,t).multiply(n).toBytes()},finalize(e,t,n){e=m(`input`,e);let r=i.fromBytes(t),a=C(`evaluated`,n).multiply(i.inv(r)).toBytes();return h(e,a)},evaluate:(e,t)=>ne(u,e,t)}),ie={name:t,oprf:re,voprf:Object.freeze({generateKeyPair:x,deriveKeyPair:(e,t)=>S(d,e,t),blind:(e,t=pl)=>te(d,e,t),blindEvaluateBatch(e,t,n,r=pl){if(!Array.isArray(n))throw Error(`expected array`);let a=i.fromBytes(e),o=C(`public key`,t),s=n.map(e=>C(`blinded`,e)),c=s.map(e=>e.multiply(a)),l=y(d,a,o,s,c,r);return{evaluated:c.map(e=>e.toBytes()),proof:l}},blindEvaluate(e,t,n,r=pl){let i=this.blindEvaluateBatch(e,t,[n],r);return{evaluated:i.evaluated[0],proof:i.proof}},finalizeBatch(e,t,n){if(!Array.isArray(e))throw Error(`expected array`);return b(d,C(`public key`,t),e.map(e=>C(`blinded`,e.blinded)),e.map(e=>C(`evaluated`,e.evaluated)),n),e.map(e=>re.finalize(e.input,e.blind,e.evaluated))},finalize(e,t,n,r,i,a){return this.finalizeBatch([{input:e,blind:t,evaluated:n,blinded:r}],i,a)[0]},evaluate:(e,t)=>ne(d,e,t)}),poprf:e=>{e=m(`info`,e);let t=o(p(`Info`,e),f),r=n.BASE.multiply(t);return Object.freeze({generateKeyPair:x,deriveKeyPair:(e,t)=>S(f,e,t),blind(e,t,o=pl){e=m(`input`,e);let c=C(`public key`,t),l=r.add(c);if(l.equals(n.ZERO))throw Error(`tweakedKey point at infinity`);let u=s(o),d=a(e,f);if(d.equals(n.ZERO))throw Error(`Input point at infinity`);let p=d.multiply(u);return{blind:i.toBytes(u),blinded:p.toBytes(),tweakedKey:l.toBytes()}},blindEvaluateBatch(e,r,a=pl){if(!Array.isArray(r))throw Error(`expected array`);let o=i.fromBytes(e),s=i.add(o,t),c=i.inv(s),l=r.map(e=>C(`blinded`,e)),u=l.map(e=>e.multiply(c)),d=y(f,s,n.BASE.multiply(s),u,l,a);return{evaluated:u.map(e=>e.toBytes()),proof:d}},blindEvaluate(e,t,n=pl){let r=this.blindEvaluateBatch(e,[t],n);return{evaluated:r.evaluated[0],proof:r.proof}},finalizeBatch(t,n,r){if(!Array.isArray(t))throw Error(`expected array`);let a=t.map(e=>m(`input`,e.input)),o=t.map(e=>C(`evaluated`,e.evaluated));return b(f,C(`tweakedKey`,r),o,t.map(e=>C(`blinded`,e.blinded)),n),t.map((t,n)=>{let r=i.fromBytes(t.blind),s=o[n].multiply(i.inv(r)).toBytes();return h(a[n],e,s)})},finalize(e,t,n,r,i,a){return this.finalizeBatch([{input:e,blind:t,evaluated:n,blinded:r}],i,a)[0]},evaluate(r,o){o=m(`input`,o);let s=i.fromBytes(r),c=a(o,f);if(c.equals(n.ZERO))throw Error(`Input point at infinity`);let l=i.add(s,t),u=i.inv(l),d=c.multiply(u).toBytes();return h(o,e,d)}})},__tests:Object.freeze({Fn:i})};return Object.freeze(ie)}var rd=BigInt(0),id=BigInt(1),ad=BigInt(2),od=BigInt(3),sd=BigInt(5),cd=BigInt(8),ld=BigInt(`0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed`),ud={p:ld,n:BigInt(`0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed`),h:cd,a:BigInt(`0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec`),d:BigInt(`0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3`),Gx:BigInt(`0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a`),Gy:BigInt(`0x6666666666666666666666666666666666666666666666666666666666666658`)};function dd(e){let t=BigInt(10),n=BigInt(20),r=BigInt(40),i=BigInt(80),a=ld,o=e*e%a*e%a,s=Ul(Ul(o,ad,a)*o%a,id,a)*e%a,c=Ul(s,sd,a)*s%a,l=Ul(c,t,a)*c%a,u=Ul(l,n,a)*l%a,d=Ul(u,r,a)*u%a;return{pow_p_5_8:Ul(Ul(Ul(Ul(d,i,a)*d%a,i,a)*d%a,t,a)*c%a,ad,a)*e%a,b2:o}}function fd(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var pd=BigInt(`19681161376707505956807079304988542015446066515923890162744021073123829784752`);function md(e,t){let n=ld,r=V(t*t*t,n),i=dd(e*V(r*r*t,n)).pow_p_5_8,a=V(e*r*i,n),o=V(t*a*a,n),s=a,c=V(a*pd,n),l=o===e,u=o===V(-e,n),d=o===V(-e*pd,n);return l&&(a=s),(u||d)&&(a=c),Zl(a,n)&&(a=V(-a,n)),{isValid:l||u,value:a}}var hd=Fu(ud,{uvRatio:md}),H=hd.Fp,gd=hd.Fn;function _d(e){return Lu(hd,cl,Object.assign({adjustScalarBytes:fd,zip215:!0},e))}var vd=_d({});ed({name:`FROST-ED25519-SHA512-v1`,Point:hd,validatePoint:e=>{if(e.assertValidity(),!e.isTorsionFree())throw Error(`bad point: not torsion-free`)},hash:cl,H2:``});var yd=(ld+od)/cd,bd=H.pow(ad,yd),xd=H.sqrt(H.neg(H.ONE));function Sd(e){let t=(ld-sd)/cd,n=BigInt(486662),r=H.sqr(e);r=H.mul(r,ad);let i=H.add(r,H.ONE),a=H.neg(n),o=H.sqr(i),s=H.mul(o,i),c=H.mul(r,n);c=H.mul(c,a),c=H.add(c,o),c=H.mul(c,a);let l=H.sqr(s);o=H.sqr(l),l=H.mul(l,s),l=H.mul(l,c),o=H.mul(o,l);let u=H.pow(o,t);u=H.mul(u,l);let d=H.mul(u,xd);o=H.sqr(u),o=H.mul(o,s);let f=H.eql(o,c),p=H.cmov(d,u,f),m=H.mul(a,r),h=H.mul(u,e);h=H.mul(h,bd);let g=H.mul(h,xd),_=H.mul(c,r);o=H.sqr(h),o=H.mul(o,s);let v=H.eql(o,_),ee=H.cmov(g,h,v);o=H.sqr(p),o=H.mul(o,s);let y=H.eql(o,c),b=H.cmov(m,a,y),x=H.cmov(ee,p,y),S=H.isOdd(x);return x=H.cmov(x,H.neg(x),y!==S),{xMn:b,xMd:i,yMn:x,yMd:id}}var Cd=su(H,H.neg(BigInt(486664)));function wd(e){let{xMn:t,xMd:n,yMn:r,yMd:i}=Sd(e),a=H.mul(t,i);a=H.mul(a,Cd);let o=H.mul(n,r),s=H.sub(t,n),c=H.add(t,n),l=H.mul(o,c),u=H.eql(l,H.ZERO);a=H.cmov(a,H.ZERO,u),o=H.cmov(o,H.ONE,u),s=H.cmov(s,H.ONE,u),c=H.cmov(c,H.ONE,u);let[d,f]=tu(H,[o,c],!0);return{x:H.mul(a,d),y:H.mul(s,f)}}Xu(hd,e=>wd(e[0]),{DST:`edwards25519_XMD:SHA-512_ELL2_RO_`,encodeDST:`edwards25519_XMD:SHA-512_ELL2_NU_`,p:ld,m:1,k:128,expand:`xmd`,hash:cl});var Td=pd,Ed=BigInt(`25063068953384623474111414158702152701244531502492656460079210482610430750235`),Dd=BigInt(`54469307008909316920995813868745141605393597292927456921205312896311721017578`),Od=BigInt(`1159843021668779879193775521855586647937357759715417654439879720876111806838`),kd=BigInt(`40440834346308536858101042469323190826248399146238708352240133220865137265952`),Ad=e=>md(id,e),jd=BigInt(`0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff`),Md=e=>H.create(xl(e)&jd);function Nd(e){let{d:t}=ud,n=ld,r=e=>H.create(e),i=r(Td*e*e),a=r((i+id)*Od),o=BigInt(-1),s=r((o-t*i)*r(i+t)),{isValid:c,value:l}=md(a,s),u=r(l*e);Zl(u,n)||(u=r(-u)),c||(l=u),c||(o=i);let d=r(o*(i-id)*kd-s),f=l*l,p=r((l+l)*s),m=r(d*Ed),h=r(id-f),g=r(id+f);return new hd(r(p*g),r(h*m),r(m*g),r(p*h))}var Pd=class e extends Iu{static BASE=new e(hd.BASE);static ZERO=new e(hd.ZERO);static Fp=H;static Fn=gd;constructor(e){super(e)}static fromAffine(t){return new e(hd.fromAffine(t))}assertSame(t){if(!(t instanceof e))throw Error(`RistrettoPoint expected`)}init(t){return new e(t)}static fromBytes(t){ti(t,32);let{a:n,d:r}=ud,i=ld,a=e=>H.create(e),o=Md(t);if(!wl(H.toBytes(o),t)||Zl(o,i))throw Error(`invalid ristretto255 encoding 1`);let s=a(o*o),c=a(id+n*s),l=a(id-n*s),u=a(c*c),d=a(l*l),f=a(n*r*u-d),{isValid:p,value:m}=Ad(a(f*d)),h=a(m*l),g=a(m*h*f),_=a((o+o)*h);Zl(_,i)&&(_=a(-_));let v=a(c*g),ee=a(_*v);if(!p||Zl(ee,i)||v===rd)throw Error(`invalid ristretto255 encoding 2`);return new e(new hd(_,v,id,ee))}static fromHex(t){return e.fromBytes(vi(t))}toBytes(){let{X:e,Y:t,Z:n,T:r}=this.ep,i=ld,a=e=>H.create(e),o=a(a(n+t)*a(n-t)),s=a(e*t),{value:c}=Ad(a(o*a(s*s))),l=a(c*o),u=a(c*s),d=a(l*u*r),f;if(Zl(r*d,i)){let n=a(t*Td),r=a(e*Td);e=n,t=r,f=a(l*Dd)}else f=u;Zl(e*d,i)&&(t=a(-t));let p=a((n-t)*f);return Zl(p,i)&&(p=a(-p)),H.toBytes(p)}equals(e){this.assertSame(e);let{X:t,Y:n}=this.ep,{X:r,Y:i}=e.ep,a=e=>H.create(e),o=a(t*i)===a(n*r),s=a(n*i)===a(t*r);return o||s}is0(){return this.equals(e.ZERO)}};Object.freeze(Pd.BASE),Object.freeze(Pd.ZERO),Object.freeze(Pd.prototype),Object.freeze(Pd);var Fd=Object.freeze({Point:Pd,hashToCurve(e,t){let n=Ku(e,t?.DST===void 0?`ristretto255_XMD:SHA-512_R255MAP_RO_`:t.DST,64,cl);return Fd.deriveToCurve(n)},hashToScalar(e,t={DST:Yu}){let n=Ku(e,t.DST,64,cl);return gd.create(xl(n))},deriveToCurve(e){ti(e,64);let t=Nd(Md(e.subarray(0,32))),n=Nd(Md(e.subarray(32,64)));return new Pd(t.add(n))}});nd({name:`ristretto255-SHA512`,Point:Pd,hash:cl,hashToGroup:Fd.hashToCurve,hashToScalar:Fd.hashToScalar}),ed({name:`FROST-RISTRETTO255-SHA512-v1`,Point:Pd,validatePoint:e=>{e.assertValidity()},hash:cl});var Id=32,Ld=class extends $c{static{this.SIZE=Id}constructor(e){if(super(),typeof e==`string`?this.data=w(e):e instanceof Uint8Array?this.data=e:this.data=Uint8Array.from(e),this.data.length!==Id)throw Error(`Invalid public key input. Expected ${Id} bytes, got ${this.data.length}`)}equals(e){return super.equals(e)}toRawBytes(){return this.data}flag(){return Jc.ED25519}async verify(e,t){let n;if(typeof t==`string`){let e=el(t);if(e.signatureScheme!==`ED25519`)throw Error(`Invalid signature scheme`);if(!Qc(this.toRawBytes(),e.publicKey))throw Error(`Signature does not match public key`);n=e.signature}else n=t;return vd.verify(n,e,this.toRawBytes())}},Rd=class{oHash;iHash;blockLen;outputLen;canXOF=!1;finished=!1;destroyed=!1;constructor(e,t){if(ni(e),ti(t,void 0,`key`),this.iHash=e.create(),typeof this.iHash.update!=`function`)throw Error(`Expected instance of class which extends utils.Hash`);this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let n=this.blockLen,r=new Uint8Array(n);r.set(t.length>n?e.create().update(t).digest():t);for(let e=0;e<r.length;e++)r[e]^=54;this.iHash.update(r),this.oHash=e.create();for(let e=0;e<r.length;e++)r[e]^=106;this.oHash.update(r),oi(r)}update(e){return ri(this),this.iHash.update(e),this}digestInto(e){ri(this),ii(e,this),this.finished=!0;let t=e.subarray(0,this.outputLen);this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||=Object.create(Object.getPrototypeOf(this),{});let{oHash:t,iHash:n,finished:r,destroyed:i,blockLen:a,outputLen:o}=this;return e=e,e.finished=r,e.destroyed=i,e.blockLen=a,e.outputLen=o,e.oHash=t._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},zd=(()=>{let e=((e,t,n)=>new Rd(e,t).update(n).digest());return e.create=(e,t)=>new Rd(e,t),e})();function Bd(e,t,n,r){ni(e);let{c:i,dkLen:a,asyncTick:o}=Si({dkLen:32,asyncTick:10},r);if(ei(i,`c`),ei(a,`dkLen`),ei(o,`asyncTick`),i<1)throw Error(`iterations (c) must be >= 1`);if(a<1)throw Error(`"dkLen" must be >= 1`);if(a>(2**32-1)*e.outputLen)throw Error(`derived key too long`);let s=bi(t,`password`),c=bi(n,`salt`),l=new Uint8Array(a),u=zd.create(e,s);return{c:i,dkLen:a,asyncTick:o,DK:l,PRF:u,PRFSalt:u._cloneInto().update(c)}}function Vd(e,t,n,r,i){return e.destroy(),t.destroy(),r&&r.destroy(),oi(i),n}function Hd(e,t,n,r){let{c:i,dkLen:a,DK:o,PRF:s,PRFSalt:c}=Bd(e,t,n,r),l,u=new Uint8Array(4),d=si(u),f=new Uint8Array(s.outputLen);for(let e=1,t=0;t<a;e++,t+=s.outputLen){let n=o.subarray(t,t+s.outputLen);d.setInt32(0,e,!1),(l=c._cloneInto(l)).update(u).digestInto(f),n.set(f.subarray(0,n.length));for(let e=1;e<i;e++){s._cloneInto(l).update(f).digestInto(f);for(let e=0;e<n.length;e++)n[e]^=f[e]}}return Vd(s,c,o,l,f)}function Ud(e){if(typeof e!=`string`)throw TypeError(`invalid mnemonic type: `+typeof e);return e.normalize(`NFKD`)}function Wd(e){let t=Ud(e),n=t.split(` `);if(![12,15,18,21,24].includes(n.length))throw Error(`Invalid mnemonic`);return{nfkd:t,words:n}}var Gd=e=>Ud(`mnemonic`+e);function Kd(e,t=``){return Hd(cl,Wd(e).nfkd,Gd(t),{c:2048,dkLen:64})}function qd(e){return!!RegExp(`^m\\/44'\\/784'\\/[0-9]+'\\/[0-9]+'\\/[0-9]+'+$`).test(e)}function Jd(e){return Kd(e,``)}function Yd(e){return Se(Jd(e))}function Xd({signature:e,signatureScheme:t,publicKey:n}){if(!n)throw Error("`publicKey` is required");let r=n.toRawBytes(),i=new Uint8Array(1+e.length+r.length);return i.set([Jc[t]]),i.set(e,1),i.set(r,1+e.length),T(i)}var Zd=`suiprivkey`,Qd=class{async signWithIntent(e,t){let n=ea(Zc(t,e),{dkLen:32});return{signature:Xd({signature:await this.sign(n),signatureScheme:this.getKeyScheme(),publicKey:this.getPublicKey()}),bytes:T(e)}}async signTransaction(e){return this.signWithIntent(e,`TransactionData`)}async signPersonalMessage(e){let{signature:t}=await this.signWithIntent(E.byteVector().serialize(e).toBytes(),`PersonalMessage`);return{bytes:T(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()}},$d=class extends Qd{};function ef(e){let{prefix:t,words:n}=_e.decode(e);if(t!==`suiprivkey`)throw Error(`invalid private key prefix`);let r=new Uint8Array(_e.fromWords(n)),i=r.slice(1);return{scheme:Xc[r[0]],secretKey:i}}function tf(e,t){if(e.length!==32)throw Error(`Invalid bytes length`);let n=Jc[t],r=new Uint8Array(e.length+1);return r.set([n]),r.set(e,1),_e.encode(Zd,_e.toWords(r))}var nf=`ed25519 seed`,rf=2147483648,af=RegExp(`^m(\\/[0-9]+')+$`),of=e=>e.replace(`'`,``),sf=e=>{let t=zd.create(cl,new TextEncoder().encode(nf)).update(xe(e)).digest();return{key:t.slice(0,32),chainCode:t.slice(32)}},cf=({key:e,chainCode:t},n)=>{let r=new ArrayBuffer(4);new DataView(r).setUint32(0,n);let i=new Uint8Array(1+e.length+r.byteLength);i.set(new Uint8Array(1).fill(0)),i.set(e,1),i.set(new Uint8Array(r,0,r.byteLength),e.length+1);let a=zd.create(cl,t).update(i).digest();return{key:a.slice(0,32),chainCode:a.slice(32)}},lf=e=>af.test(e)?!e.split(`/`).slice(1).map(of).some(isNaN):!1,uf=(e,t,n=rf)=>{if(!lf(e))throw Error(`Invalid derivation path`);let{key:r,chainCode:i}=sf(t);return e.split(`/`).slice(1).map(of).map(e=>parseInt(e,10)).reduce((e,t)=>cf(e,t+n),{key:r,chainCode:i})},df=`m/44'/784'/0'/0'/0'`,ff=class e extends $d{constructor(e){if(super(),e)this.keypair={publicKey:e.publicKey,secretKey:e.secretKey.slice(0,32)};else{let e=vd.utils.randomSecretKey();this.keypair={publicKey:vd.getPublicKey(e),secretKey:e}}}getKeyScheme(){return`ED25519`}static generate(){let t=vd.utils.randomSecretKey();return new e({publicKey:vd.getPublicKey(t),secretKey:t})}static fromSecretKey(t,n){if(typeof t==`string`){let e=ef(t);if(e.scheme!==`ED25519`)throw Error(`Expected a ED25519 keypair, got ${e.scheme}`);return this.fromSecretKey(e.secretKey,n)}let r=t.length;if(r!==32)throw Error(`Wrong secretKey size. Expected 32 bytes, got ${r}.`);let i={publicKey:vd.getPublicKey(t),secretKey:t};if(!n||!n.skipValidation){let e=new TextEncoder().encode(`sui validation`),n=vd.sign(e,t);if(!vd.verify(n,e,i.publicKey))throw Error(`provided secretKey is invalid`)}return new e(i)}getPublicKey(){return new Ld(this.keypair.publicKey)}getSecretKey(){return tf(this.keypair.secretKey.slice(0,32),this.getKeyScheme())}async sign(e){return vd.sign(e,this.keypair.secretKey)}static deriveKeypair(t,n){if(n??=df,!qd(n))throw Error(`Invalid derivation path`);let{key:r}=uf(n,Yd(t));return e.fromSecretKey(r)}static deriveKeypairFromSeed(t,n){if(n??=df,!qd(n))throw Error(`Invalid derivation path`);let r=typeof t==`string`?t:Se(t),{key:i}=uf(n,r);return e.fromSecretKey(i)}},pf=class extends Error{},mf=class extends pf{},hf=class extends pf{},gf=class extends pf{},_f=class extends pf{},vf=class extends pf{};function yf(e){return`sui:${e}`}function bf(e,t){if(e.length===0)throw new pf(`You must specify at least one Sui network for your application.`);let n=new Map;function r(e){if(n.has(e))return n.get(e);let r=t(e);return n.set(e,r),r}return{networkConfig:Object.freeze(n),getClient:r}}var xf=[Hs,Ws],Sf=[Cs,Ss];function Cf(e){let t=ls(e);return t.id??t.name}function wf({account:e,featureName:t,chain:n}){if(!e.chains.includes(n)){let r=new ns(Jo,{chain:n,featureName:t,supportedChains:[...e.chains],supportedFeatures:[...e.features],address:e.address});throw new hf(`The account ${r.context.address} does not support the chain "${r.context.chain}".`,{cause:r})}try{return xs(e,t)}catch(n){throw new gf(`The account ${e.address} does not support the feature "${t}".`,{cause:n})}}function Tf(...e){try{return wf(...e)}catch(e){if(e instanceof gf)return null;throw e}}function Ef({defaultNetwork:e,getClient:t}){let n=Go({status:`disconnected`,currentAccount:null}),r=Fo(e),i=Fo([]),a=Wo([i,r],(e,t)=>e.filter(e=>{let n=e.chains.some(e=>yf(t)===e),r=xf.every(t=>e.features.includes(t)),i=Sf.some(t=>e.features.includes(t));return n&&r&&i}));return{$currentNetwork:r,$registeredWallets:i,$compatibleWallets:a,$baseConnection:n,$currentClient:Wo(r,t),$connection:Wo([n,a],(e,t)=>{switch(e.status){case`connected`:{let n=t.find(t=>ys(e.currentAccount,t));return n?{wallet:n,account:e.currentAccount,status:e.status,supportedIntents:e.supportedIntents,isConnected:!0,isConnecting:!1,isReconnecting:!1,isDisconnected:!1}:{wallet:null,account:null,status:`disconnected`,supportedIntents:[],isConnected:!1,isConnecting:!1,isReconnecting:!1,isDisconnected:!0}}case`connecting`:return{wallet:null,account:e.currentAccount,status:e.status,supportedIntents:[],isConnected:!1,isConnecting:!0,isReconnecting:!1,isDisconnected:!1};case`reconnecting`:{let n=t.find(t=>ys(e.currentAccount,t));return n?{wallet:n,account:e.currentAccount,status:e.status,supportedIntents:e.supportedIntents,isConnected:!1,isConnecting:!1,isReconnecting:!0,isDisconnected:!1}:{wallet:null,account:null,status:`disconnected`,supportedIntents:[],isConnected:!1,isConnecting:!1,isReconnecting:!1,isDisconnected:!0}}case`disconnected`:return{wallet:null,account:e.currentAccount,status:e.status,supportedIntents:[],isConnected:!1,isConnecting:!1,isReconnecting:!1,isDisconnected:!0};default:throw Error(`Encountered unknown connection status: ${e}`)}})}}function Df({$registeredWallets:e}){Ho(e,()=>{let t=Fs(),n=new Map,r=()=>{let n=t.get(),r=[];for(let e of n)try{r.push(_s(e))}catch{console.warn(`[dapp-kit] Skipping wallet "${e.name}" because it does not comply with the Wallet Standard.`)}e.set(r)},i=e=>{let t=e.features[Ws].on(`change`,()=>{r()});n.set(e,t)},a=t.on(`register`,(...e)=>{e.filter(Of).forEach(i),r()}),o=t.on(`unregister`,(...e)=>{e.filter(Of).forEach(e=>{let t=n.get(e);t&&(n.delete(e),t())}),r()});return t.get().filter(Of).forEach(i),r(),()=>{a(),o(),n.forEach(e=>e()),n.clear()}})}function Of(e){return Ws in e.features}var kf=`mysten-dapp-kit:selected-wallet-and-address`;function Af(){return Nf()?localStorage:jf()}function jf(){let e=new Map;return{getItem(t){return e.get(t)??null},setItem(t,n){e.set(t,n)},removeItem(t){e.delete(t)}}}function Mf(e,t,n,r){let i=Cf(n).replace(`:`,`_`),a=r.join(`,`),o=[i,n.address,a].join(`:`);e.setItem(t,o)}function Nf(){try{let e=`__storage_test__`;return localStorage.setItem(e,`test`),localStorage.removeItem(e),!0}catch{return!1}}function Pf({$baseConnection:e},t,{storage:n,storageKey:r}){return async function({wallet:i,account:a,...o}){return await Ao(async()=>{let s=e.get().status===`connected`;try{e.setKey(`status`,s?`reconnecting`:`connecting`);let{accounts:c,supportedIntents:l}=await Ff(i,t,o);if(!s&&c.length===0)throw new _f(`No accounts were authorized.`);if(a&&!ys(a,i))throw new vf(`No account with address ${a.address} is authorized for ${i.name}.`);let u=a??c[0],d=l??[];return e.set({status:`connected`,currentAccount:u,supportedIntents:d}),Mf(n,r,u,d),{accounts:c}}catch(t){throw e.setKey(`status`,s?`connected`:`disconnected`),t}})}}async function Ff(e,t,n){let{connect:r}=bs(e,Hs),i=await r(n),a=ls(e),o=t.map(yf),s=i.supportedIntents??await If(e);return{accounts:i.accounts.filter(e=>e.chains.some(e=>o.includes(e))).map(ms.bind(null,a)),supportedIntents:s}}async function If(e){return e.features.includes(`sui:getCapabilities`)?(await bs(e,`sui:getCapabilities`)?.getCapabilities())?.supportedIntents??[]:[]}function Lf({networks:e,stores:{$baseConnection:t,$compatibleWallets:n},storage:r,storageKey:i}){Ho(n,()=>n.subscribe(async(n,a)=>{if(!n||a&&a.length>n.length||t.get().status!==`disconnected`)return;let o=await Ao(()=>Rf({networks:e,storage:r,storageKey:i,wallets:n}));o&&t.set({status:`connected`,currentAccount:o.account,supportedIntents:o.supportedIntents})}))}async function Rf({networks:e,storage:t,storageKey:n,wallets:r}){let i=await t.getItem(n);if(!i)return null;let[a,o,s]=i.split(`:`);if(!a||!o)return null;let c=r.find(e=>Cf(e)===a);if(!c)return null;let l=c.accounts.find(e=>e.address===o);if(l)return{account:l,supportedIntents:(s?s.split(`,`):null)??await If(c)};let{accounts:u,supportedIntents:d}=await Ff(c,e,{silent:!0}),f=u.find(e=>e.address===o);return f?{account:f,supportedIntents:d}:null}function zf({$compatibleWallets:e,$baseConnection:t}){Ho(e,()=>e.listen(async e=>{let n=t.get();if(n.status!==`connected`)return;let r=Bf(n.currentAccount,e);r?t.setKey(`currentAccount`,r):t.set({status:`disconnected`,currentAccount:null})}))}function Bf(e,t){for(let n of t){for(let t of n.accounts)if(vs(e,t))return t;if(ys(e,n)&&n.accounts[0])return n.accounts[0]}return null}function Vf({$currentNetwork:e}){return function(t){e.set(t)}}function Hf({$baseConnection:e,$connection:t},{storage:n,storageKey:r}){return async function(...i){return await Ao(async()=>{let{wallet:a}=t.get();if(!a)throw new mf(`No wallet is connected.`);try{let{disconnect:e}=bs(a,Us);await e(...i)}catch(e){console.warn(`Failed to disconnect the current wallet from the application.`,e)}finally{n.removeItem(r),e.set({status:`disconnected`,currentAccount:null})}})}}function Uf({$baseConnection:e,$connection:t},{storage:n,storageKey:r}){return function({account:i}){let a=t.get();if(!a.wallet)throw new mf(`No wallet is connected.`);if(!ys(i,a.wallet))throw new vf(`No account with address ${i.address} is connected to ${a.wallet.name}.`);e.setKey(`currentAccount`,i),Mf(n,r,i,a.supportedIntents)}}function Wf({$connection:e,$currentNetwork:t}){return async function({...n}){let{account:r}=e.get();if(!r)throw new mf(`No wallet is connected.`);let i=yf(t.get());return await wf({account:r,chain:i,featureName:Es}).signPersonalMessage({...n,account:ss(r),chain:i})}}function Gf(e,t,n,r){let i=_c(r),a=null;try{a=vc(r)}catch{console.warn(`Parsing transaction effects failed, you may need to update the SDK to pickup the latest bcs types`)}let o={digest:e,signatures:[t],epoch:null,status:i,effects:a,transaction:gc(n),balanceChanges:void 0,events:void 0,objectTypes:void 0,bcs:n};return i.success?{$kind:`Transaction`,Transaction:o}:{$kind:`FailedTransaction`,FailedTransaction:o}}function Kf({$connection:e,$currentClient:t}){return async function({transaction:n,...r}){let{account:i,supportedIntents:a}=e.get();if(!i)throw new mf(`No wallet is connected.`);let o=ss(i),s=t.get(),c=yf(s.network),l={toJSON:async()=>typeof n==`string`?n:(n.setSenderIfNotSet(i.address),await n.toJSON({client:s,supportedIntents:a}))},u=Tf({account:i,chain:c,featureName:Ts});if(u){let e=await u.signAndExecuteTransaction({...r,account:o,transaction:l,chain:c}),t=w(e.bytes),n=w(e.effects);return Gf(e.digest,e.signature,t,n)}let d=Tf({account:i,chain:c,featureName:ws});if(d){let e=Eo.from(await l.toJSON()),{digest:t,rawEffects:n,rawTransaction:r}=await d.signAndExecuteTransactionBlock({account:i,chain:c,transactionBlock:e,options:{showRawEffects:!0,showRawInput:!0}}),[{txSignatures:[a],intentMessage:{value:o}}]=I.SenderSignedData.parse(w(r));return Gf(t,a,I.TransactionData.serialize(o).toBytes(),new Uint8Array(n))}throw new gf(`The account ${i.address} does not support signing and executing transactions.`)}}function qf({$connection:e,$currentClient:t}){return async function({transaction:n,...r}){let{account:i,supportedIntents:a}=e.get();if(!i)throw new mf(`No wallet is connected.`);let o=ss(i),s=t.get(),c=yf(s.network),l={toJSON:async()=>typeof n==`string`?n:(n.setSenderIfNotSet(i.address),await n.toJSON({client:s,supportedIntents:a}))},u=Tf({account:i,chain:c,featureName:Cs});if(u)return await u.signTransaction({...r,transaction:l,account:o,chain:c});let d=Tf({account:i,chain:c,featureName:Ss});if(d){let e=Eo.from(await l.toJSON()),{transactionBlockBytes:t,signature:n}=await d.signTransactionBlock({transactionBlock:e,account:o,chain:c});return{bytes:t,signature:n}}throw new gf(`The account ${i.address} does not support signing transactions.`)}}function Jf(e){return{id:`slush-web-wallet-initializer`,async initialize(){let t=await qc(e?.appName||Yf(),{origin:e?.origin,metadataApiUrl:e?.metadataApiUrl});if(!t)throw Error(`Registration un-successful.`);return{unregister:t.unregister}}}}function Yf(){return document.querySelector(`meta[name="application-name"]`)?.content||document.title}var Xf=new Map;async function Zf(e,t){Xf.forEach(e=>e()),Xf.clear();let n=[...new Map(e.map(e=>[e.id,e])).values()].map(async e=>({initializer:e,result:await e.initialize(t)})),r=await Promise.allSettled(n);for(let e of r)if(e.status===`fulfilled`){let{initializer:t,result:n}=e.value;Xf.set(t.id,n.unregister)}else console.warn(`Skipping wallet initializer: "${e.reason}".`)}function Qf(){return{id:`unsafe-burner-initalizer`,async initialize({networks:e,getClient:t}){let n=new $f({clients:e.map(t)});return{unregister:Fs().register(n)}}}}var $f=class{#e;#t=new ff;#n;constructor({clients:e}){this.#e=e.reduce((e,t)=>{let n=yf(t.network);return e[n]=t,e},{}),this.#n=new $s({address:this.#t.getPublicKey().toSuiAddress(),publicKey:this.#t.getPublicKey().toSuiBytes(),chains:this.chains,features:[Cs,Ts,Es]}),console.warn(`Your application is currently using the unsafe burner wallet. Make sure that this wallet is disabled in production.`)}get version(){return`1.0.0`}get name(){return`Unsafe Burner Wallet`}get icon(){return`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAJrElEQVR42tWbe2xT1x3H7UxAyD3XrdrSbGXlUbKWsq5rWdVuVOMRSEqSOmnVRZMmJqZNYv1nf3R/jWmVmVrtRRM/YwPd1nVTNcrE3pQCoikrIRAC4VVNY0hlD9ZOo1uCfe3ra9979v0dcy3s5Pper76Oh/STE+495/4+5/c85zqe2f7HAx5vKsS+monJj/CdHi/f4/HWW4f6AwdblmXjTM0NyS+movKtw9v+j6C5gKhyTMTTpA2x15Qwy+Pz75motOGdgKep8WF5ATgVZIt5NeO2wMqD0hfVGNPh3oYaYflsjG0l63PeyLCDnqbsLpZIhaRNFI+Ox+Le5KB0RybK8gDmJOkI07U4i/FhT1NDQl8Me5rUIfaDfELOJ0NsFa/SJQHm1WLsHcDqRWiy9BCL8s0N5t6UWWFVvxplejYm60hC91cNjPtzCTZsAptCVoeLP8PDDQJNCSodap6H+LtE8ZcdkvVkkD38vwDn4/Jvy4EhBhZSvRaUHiTXn31gJJxkUPoClBKKFizM+inhVA2cYIdM4HJouPvoe9s9H+KzDhyGK6KkmIqitBhww2C11rjQL2L4kgUwFxk8yPyzauUA3Pk/353XnA6zKbKCaQ2UlMvJF6W5uF5F8yHfZWZpC9HRmBziaEpm1bpY9XvhxuWJRldC7Mt03WlZwpjnkZUNa2DMG2EaPj9MGd2l2mofd0hQ7ZSopsXckHxVCUp32fXGdD0ZktrgFUmMqwhcWFjp87RArsD+9bn585IRaSHAKgBL3SZwOTRc8BKg7yYoskp5OJDiiPmF2Sj7ox0siYJ7lJA04EqvzZ9B1xSVt6PlW0IxZgUMJdZYAJuWngLQt9IRuZXmoTEkmci8ZtTXTViUKyasA9FRun5d8z6bfw0gYWm9mmCXxZatQgxfC7I2NVpRYQOxKWppLs4mcgn5NcibgL1K40xYp8CYY5TXEpjcb3LAJ0OZyyg3+2nySm6fjEtzkEz+7VBx3RTb+60z9dma7pkvwO2QQL5HzTtAdpKF7euw/HuzfrosBHy+ZsBimzbQshjWTVMDgez53B5MbjcGbr1ZjdUJOM5O0SLXzJ2R+uOA1dMAVoLsm5zb73JSId8t8Aa1LsAJdoTCrCaw6e3NC2DdFMUXWRg173mysJNOSUNskUJ1cOlXa2LhcbgmSszXYSn9hl3KSxTDjrZ2cbbfbWDyumsh9m3e7zCG7a3ETt+gtI7fx6lEOanZKDVvuA2cjYmt5xNOd2Louz3IQ12UZ2Zo3lkb9cDlvSs6m4Vk5Yqlabs0B97wT7PUuCXQz0Bnt9QxMPTW4iwBtmUlY8hFsHJPlzcQ1xuG75CVK1kXofCUGnU9fg1aVD7kfE9MoabtYkcAvIUYS2op3Hc3TTrDQzIAeojugTVLFolWDR6wFPtY0R66n6HltwjCIawnE2ymresk9NtN+pfUUi0mX6RJLfrh9zMRaRPOqubSA8W2MNzC0mHpK7j2ruuw5mYkxl5+2+HGQeg4yNYg7vNg+xMxFsuRMuiTsRJZG3cysAl4D9n4aC4un8L9qUyVvbCyYwFXX1nGUxFf1cCiEQqy75O+TpMwYKNKSPQUqhLyyWLsRbESLctx0YnixgfphRWA8pOPc+N4F9d+eV9V4OlCX/As5w5g+wtGhJGukp5go2R3D7EW9rSDcnGL56YgJHj+8GcFND/Vy41jj/H0jxc6HU/AA2QlR01UlH3D7CmITQnJq4lVWBi1yl8XYEh278c5H++F+Iui7r7bYR8tH/gbqoJN7fVODUhLYVVxzmYCEyOxFg7RUVa0egCHZZ55eRHnp/tKgMna6s/bbMdTxZgMzl9CCcmq7k690OzDfaeSN4QcsREjsQpgXHwyWyfg9K5WE7hc6JqTWjyihObfygOFOkv6i5K5TZx8LsL1sVS4NL8ItiB7sgAcEKcWHfUCVhK3kUVnBNbfXIs4l5xAv5sJs234eTUy93L0Au2otQOw5ORMyfQ6WwexFupVSHowG6uThXfebmlhWojMS3fazmMeGxEI6S2SUti6RAo2vKohVuH3qUG5FWm/PjH8kzutgSH5g58xrVwzIbZkxHf7OFjFC+wrMDXcpOqOKX/g01U/XPvVJyxdWsiJblqYmnZoWbDxAcR56X5WPuh4ewcL5PY9JBRUYjc7fzjG6Uc3mHBWbg23X1BLaFHOSnrw4bWiNAXSEWcWRntIignXTP/oDsfKZX66mMbZAPfhviU1AyYmJLYAMZa/QXjUSeIiixpj3UUFtd884KytjN7EjdGNNMbWwtlf3FvbQ4OQtIoYSzbxqVDLXMTxP8jnnbiyKcaJLvueGLD6kXW2sKZov1tpn7hwXf3ZUvq0K2FXOM7Op/Xgb6PhxsWIErYGVuK3WGXWkkwMMZVCVl5kWtax5A6usgemvnx4DelUcYcFC0eIbcbXKzggeyBjeXIhkftaKknJKLtnuSg7KmKQsrH+1nqbmLWY6w/tBGy/8xrruR5SM99LLIjfT/4ZbNZnQEPssIVb21rKTGRIPDagNoLdFMKgcuLc/TF6Bulk6c7ovg4TU+XvS6FNw1tDfVqH9MOPmBDui0hcK6wz744FlDjNe0m3aVldJYagtI6YbF+3ZGPsQHlN1vbeh8lJofqJ+uo9Zi4wXZxKFiXKGxbHT7pNq71oNg4Qi6MviE0FpRVqjGXILYoJ4tCjdYU1rWeMdPLc/ochj3B9pGNGL4NupGPRlUl35KMVxFLNO6ZnxYlBsUPqoMkbUqAb6VhMVKQ7MVT1dYdrL8hzEAcjpmvjHKphgaFb0ZVJZw7dwVD9q5fkgPTRbBxnzmGfgRLQsMCkG+moQdcp6GzzZsL2MGyllvBNGWM9RqMCk26kI7aBK526csVShZTfzid6FEzeiNAGP92jpCPQEbrW7EW5MbZxAz/fN9lg0IbQaaxrQ83/VoKPb/HqJx67Hw+43CDQBPsX0gm6ufXNvH4vP9rZapzx7+Nn+oxZAjfo2caZ3n350c5W6FSEdQ86sNarj3c/jRV+H42AXsdGRBfPPIlnb/mUtxzWXfALn/PmRze2Gud6E/xsXwYtnlsWN8Tc5/oyxjn/jvyJrlY82xLUfWuPr/TqxzuXQZkIP9M7CXiyuP4B4WmsTnNhzinjrD+WO9bRhmdZWLXe4EKRtV5tpN3Hx3s2G+d79/MJf4qff0LnE72kfFEs4ITQvWLMab8C131dP9n9Je1Yx000Nz2jAf+UJwCBchc3NvGR1Qx71XXY2Ww1Jvx7YalzAPkX9rp5E5Z+pv+ja8bE43uN491b9dHO9Xx4lUxziLn21Nai/wXWM6t9vkvtrwAAAABJRU5ErkJggg==`}get chains(){return Object.keys(this.#e)}get accounts(){return[this.#n]}get features(){return{[Hs]:{version:`1.0.0`,connect:this.#i},[Ws]:{version:`1.0.0`,on:this.#r},[Es]:{version:`1.1.0`,signPersonalMessage:this.#a},[Cs]:{version:`2.0.0`,signTransaction:this.#o},[Ts]:{version:`2.0.0`,signAndExecuteTransaction:this.#s}}}#r=()=>()=>{};#i=async()=>({accounts:this.accounts});#a=async e=>await this.#t.signPersonalMessage(e.message);#o=async({transaction:e,signal:t,chain:n})=>{t?.throwIfAborted();let r=this.#e[n];if(!r)throw Error(`Invalid chain "${n}" specified.`);let i=await Eo.from(await e.toJSON()).build({client:r});return await this.#t.signTransaction(i)};#s=async({transaction:e,signal:t,chain:n})=>{t?.throwIfAborted();let r=this.#e[n];if(!r)throw Error(`Invalid chain "${n}" specified.`);let i=Eo.from(await e.toJSON()),a=await i.build({client:r}),o=await this.#t.signAndExecuteTransaction({transaction:i,client:r}),s=o.Transaction??o.FailedTransaction;return{bytes:T(a),signature:s.signatures[0],digest:s.digest,effects:T(s.effects.bcs)}}};function ep({autoConnect:e=!0,networks:t,createClient:n,defaultNetwork:r=t[0],enableBurnerWallet:i=!1,slushWalletConfig:a,storage:o=Af(),storageKey:s=kf,walletInitializers:c=[]}){let l=bf(t,n),u=Ef({defaultNetwork:r,getClient:l.getClient});function d(e){return e?l.getClient(e):u.$currentClient.get()}return o||=jf(),Df(u),zf(u),e&&Lf({networks:t,stores:u,storageKey:s,storage:o}),Zf([...c,...i?[Qf()]:[],...a===null?[]:[Jf(a)]],{networks:t,getClient:d}),{networks:t,getClient:d,signTransaction:qf(u),signAndExecuteTransaction:Kf(u),signPersonalMessage:Wf(u),connectWallet:Pf(u,t,{storage:o,storageKey:s}),disconnectWallet:Hf(u,{storage:o,storageKey:s}),switchAccount:Uf(u,{storage:o,storageKey:s}),switchNetwork:Vf(u),stores:{$wallets:u.$compatibleWallets,$connection:u.$connection,$currentNetwork:Io(u.$currentNetwork),$currentClient:u.$currentClient}}}function tp(e){let t=typeof e;if(t==`object`){if(Array.isArray(e))return`array`;if(e===null)return`null`}return t}function np(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var rp=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`.split(``),ip=[];for(let e=0;e<rp.length;e++)ip[rp[e].charCodeAt(0)]=e;ip[45]=rp.indexOf(`+`),ip[95]=rp.indexOf(`/`);function ap(e){let t=e.length*3/4;e[e.length-2]==`=`?t-=2:e[e.length-1]==`=`&&--t;let n=new Uint8Array(t),r=0,i=0,a,o=0;for(let t=0;t<e.length;t++){if(a=ip[e.charCodeAt(t)],a===void 0)switch(e[t]){case`=`:i=0;case`
|
|
4
|
+
`:case`\r`:case` `:case` `:continue;default:throw Error(`invalid base64 string.`)}switch(i){case 0:o=a,i=1;break;case 1:n[r++]=o<<2|(a&48)>>4,o=a,i=2;break;case 2:n[r++]=(o&15)<<4|(a&60)>>2,o=a,i=3;break;case 3:n[r++]=(o&3)<<6|a,i=0;break}}if(i==1)throw Error(`invalid base64 string.`);return n.subarray(0,r)}function op(e){let t=``,n=0,r,i=0;for(let a=0;a<e.length;a++)switch(r=e[a],n){case 0:t+=rp[r>>2],i=(r&3)<<4,n=1;break;case 1:t+=rp[i|r>>4],i=(r&15)<<2,n=2;break;case 2:t+=rp[i|r>>6],t+=rp[r&63],n=0;break}return n&&(t+=rp[i],t+=`=`,n==1&&(t+=`=`)),t}var sp;(function(e){e.symbol=Symbol.for(`protobuf-ts/unknown`),e.onRead=(n,r,i,a,o)=>{(t(r)?r[e.symbol]:r[e.symbol]=[]).push({no:i,wireType:a,data:o})},e.onWrite=(t,n,r)=>{for(let{no:t,wireType:i,data:a}of e.list(n))r.tag(t,i).raw(a)},e.list=(n,r)=>{if(t(n)){let t=n[e.symbol];return r?t.filter(e=>e.no==r):t}return[]},e.last=(t,n)=>e.list(t,n).slice(-1)[0];let t=t=>t&&Array.isArray(t[e.symbol])})(sp||={});function cp(e,t){return Object.assign(Object.assign({},e),t)}var lp;(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`})(lp||={});function up(){let e=0,t=0;for(let n=0;n<28;n+=7){let r=this.buf[this.pos++];if(e|=(r&127)<<n,!(r&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 n=3;n<=31;n+=7){let r=this.buf[this.pos++];if(t|=(r&127)<<n,!(r&128))return this.assertBounds(),[e,t]}throw Error(`invalid varint`)}function dp(e,t,n){for(let r=0;r<28;r+=7){let i=e>>>r,a=!(!(i>>>7)&&t==0),o=(a?i|128:i)&255;if(n.push(o),!a)return}let r=e>>>28&15|(t&7)<<4,i=!!(t>>3);if(n.push((i?r|128:r)&255),i){for(let e=3;e<31;e+=7){let r=t>>>e,i=!!(r>>>7),a=(i?r|128:r)&255;if(n.push(a),!i)return}n.push(t>>>31&1)}}var fp=65536*65536;function pp(e){let t=e[0]==`-`;t&&(e=e.slice(1));let n=1e6,r=0,i=0;function a(t,a){let o=Number(e.slice(t,a));i*=n,r=r*n+o,r>=fp&&(i+=r/fp|0,r%=fp)}return a(-24,-18),a(-18,-12),a(-12,-6),a(-6),[t,r,i]}function mp(e,t){if(t>>>0<=2097151)return``+(fp*t+(e>>>0));let n=e&16777215,r=(e>>>24|t<<8)>>>0&16777215,i=t>>16&65535,a=n+r*6777216+i*6710656,o=r+i*8147497,s=i*2,c=1e7;a>=c&&(o+=Math.floor(a/c),a%=c),o>=c&&(s+=Math.floor(o/c),o%=c);function l(e,t){let n=e?String(e):``;return t?`0000000`.slice(n.length)+n:n}return l(s,0)+l(o,s)+l(a,1)}function hp(e,t){if(e>=0){for(;e>127;)t.push(e&127|128),e>>>=7;t.push(e)}else{for(let n=0;n<9;n++)t.push(e&127|128),e>>=7;t.push(1)}}function gp(){let e=this.buf[this.pos++],t=e&127;if(!(e&128)||(e=this.buf[this.pos++],t|=(e&127)<<7,!(e&128))||(e=this.buf[this.pos++],t|=(e&127)<<14,!(e&128))||(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 t=5;e&128&&t<10;t++)e=this.buf[this.pos++];if(e&128)throw Error(`invalid varint`);return this.assertBounds(),t>>>0}var U;function _p(){let e=new DataView(new ArrayBuffer(8));U=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}_p();function vp(e){if(!e)throw Error(`BigInt unavailable, see https://github.com/timostamm/protobuf-ts/blob/v1.0.8/MANUAL.md#bigint-support`)}var yp=/^-?[0-9]+$/,bp=4294967296,xp=2147483648,Sp=class{constructor(e,t){this.lo=e|0,this.hi=t|0}isZero(){return this.lo==0&&this.hi==0}toNumber(){let e=this.hi*bp+(this.lo>>>0);if(!Number.isSafeInteger(e))throw Error(`cannot convert to safe number`);return e}},Cp=class e extends Sp{static from(t){if(U)switch(typeof t){case`string`:if(t==`0`)return this.ZERO;if(t==``)throw Error(`string is no integer`);t=U.C(t);case`number`:if(t===0)return this.ZERO;t=U.C(t);case`bigint`:if(!t)return this.ZERO;if(t<U.UMIN)throw Error(`signed value for ulong`);if(t>U.UMAX)throw Error(`ulong too large`);return U.V.setBigUint64(0,t,!0),new e(U.V.getInt32(0,!0),U.V.getInt32(4,!0))}else switch(typeof t){case`string`:if(t==`0`)return this.ZERO;if(t=t.trim(),!yp.test(t))throw Error(`string is no integer`);let[n,r,i]=pp(t);if(n)throw Error(`signed value for ulong`);return new e(r,i);case`number`:if(t==0)return this.ZERO;if(!Number.isSafeInteger(t))throw Error(`number is no integer`);if(t<0)throw Error(`signed value for ulong`);return new e(t,t/bp)}throw Error(`unknown value `+typeof t)}toString(){return U?this.toBigInt().toString():mp(this.lo,this.hi)}toBigInt(){return vp(U),U.V.setInt32(0,this.lo,!0),U.V.setInt32(4,this.hi,!0),U.V.getBigUint64(0,!0)}};Cp.ZERO=new Cp(0,0);var W=class e extends Sp{static from(t){if(U)switch(typeof t){case`string`:if(t==`0`)return this.ZERO;if(t==``)throw Error(`string is no integer`);t=U.C(t);case`number`:if(t===0)return this.ZERO;t=U.C(t);case`bigint`:if(!t)return this.ZERO;if(t<U.MIN)throw Error(`signed long too small`);if(t>U.MAX)throw Error(`signed long too large`);return U.V.setBigInt64(0,t,!0),new e(U.V.getInt32(0,!0),U.V.getInt32(4,!0))}else switch(typeof t){case`string`:if(t==`0`)return this.ZERO;if(t=t.trim(),!yp.test(t))throw Error(`string is no integer`);let[n,r,i]=pp(t);if(n){if(i>xp||i==xp&&r!=0)throw Error(`signed long too small`)}else if(i>=xp)throw Error(`signed long too large`);let a=new e(r,i);return n?a.negate():a;case`number`:if(t==0)return this.ZERO;if(!Number.isSafeInteger(t))throw Error(`number is no integer`);return t>0?new e(t,t/bp):new e(-t,-t/bp).negate()}throw Error(`unknown value `+typeof t)}isNegative(){return(this.hi&xp)!==0}negate(){let t=~this.hi,n=this.lo;return n?n=~n+1:t+=1,new e(n,t)}toString(){if(U)return this.toBigInt().toString();if(this.isNegative()){let e=this.negate();return`-`+mp(e.lo,e.hi)}return mp(this.lo,this.hi)}toBigInt(){return vp(U),U.V.setInt32(0,this.lo,!0),U.V.setInt32(4,this.hi,!0),U.V.getBigInt64(0,!0)}};W.ZERO=new W(0,0);var wp={readUnknownField:!0,readerFactory:e=>new Ep(e)};function Tp(e){return e?Object.assign(Object.assign({},wp),e):wp}var Ep=class{constructor(e,t){this.varint64=up,this.uint32=gp,this.buf=e,this.len=e.length,this.pos=0,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength),this.textDecoder=t??new TextDecoder(`utf-8`,{fatal:!0,ignoreBOM:!0})}tag(){let e=this.uint32(),t=e>>>3,n=e&7;if(t<=0||n<0||n>5)throw Error(`illegal tag: field no `+t+` wire type `+n);return[t,n]}skip(e){let t=this.pos;switch(e){case lp.Varint:for(;this.buf[this.pos++]&128;);break;case lp.Bit64:this.pos+=4;case lp.Bit32:this.pos+=4;break;case lp.LengthDelimited:let t=this.uint32();this.pos+=t;break;case lp.StartGroup:let n;for(;(n=this.tag()[1])!==lp.EndGroup;)this.skip(n);break;default:throw Error(`cant skip wire type `+e)}return this.assertBounds(),this.buf.subarray(t,this.pos)}assertBounds(){if(this.pos>this.len)throw RangeError(`premature EOF`)}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)}int64(){return new W(...this.varint64())}uint64(){return new Cp(...this.varint64())}sint64(){let[e,t]=this.varint64(),n=-(e&1);return e=(e>>>1|(t&1)<<31)^n,t=t>>>1^n,new W(e,t)}bool(){let[e,t]=this.varint64();return e!==0||t!==0}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return new Cp(this.sfixed32(),this.sfixed32())}sfixed64(){return new W(this.sfixed32(),this.sfixed32())}float(){return this.view.getFloat32((this.pos+=4)-4,!0)}double(){return this.view.getFloat64((this.pos+=8)-8,!0)}bytes(){let e=this.uint32(),t=this.pos;return this.pos+=e,this.assertBounds(),this.buf.subarray(t,t+e)}string(){return this.textDecoder.decode(this.bytes())}};function G(e,t){if(!e)throw Error(t)}function Dp(e,t){throw Error(t??`Unexpected object: `+e)}var Op=34028234663852886e22,kp=-34028234663852886e22,Ap=4294967295,jp=2147483647,Mp=-2147483648;function Np(e){if(typeof e!=`number`)throw Error(`invalid int 32: `+typeof e);if(!Number.isInteger(e)||e>jp||e<Mp)throw Error(`invalid int 32: `+e)}function Pp(e){if(typeof e!=`number`)throw Error(`invalid uint 32: `+typeof e);if(!Number.isInteger(e)||e>Ap||e<0)throw Error(`invalid uint 32: `+e)}function Fp(e){if(typeof e!=`number`)throw Error(`invalid float 32: `+typeof e);if(Number.isFinite(e)&&(e>Op||e<kp))throw Error(`invalid float 32: `+e)}var Ip={writeUnknownFields:!0,writerFactory:()=>new Rp};function Lp(e){return e?Object.assign(Object.assign({},Ip),e):Ip}var Rp=class{constructor(e){this.stack=[],this.textEncoder=e??new TextEncoder,this.chunks=[],this.buf=[]}finish(){this.chunks.push(new Uint8Array(this.buf));let e=0;for(let t=0;t<this.chunks.length;t++)e+=this.chunks[t].length;let t=new Uint8Array(e),n=0;for(let e=0;e<this.chunks.length;e++)t.set(this.chunks[e],n),n+=this.chunks[e].length;return this.chunks=[],t}fork(){return this.stack.push({chunks:this.chunks,buf:this.buf}),this.chunks=[],this.buf=[],this}join(){let e=this.finish(),t=this.stack.pop();if(!t)throw Error(`invalid state, fork stack empty`);return this.chunks=t.chunks,this.buf=t.buf,this.uint32(e.byteLength),this.raw(e)}tag(e,t){return this.uint32((e<<3|t)>>>0)}raw(e){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(e),this}uint32(e){for(Pp(e);e>127;)this.buf.push(e&127|128),e>>>=7;return this.buf.push(e),this}int32(e){return Np(e),hp(e,this.buf),this}bool(e){return this.buf.push(+!!e),this}bytes(e){return this.uint32(e.byteLength),this.raw(e)}string(e){let t=this.textEncoder.encode(e);return this.uint32(t.byteLength),this.raw(t)}float(e){Fp(e);let t=new Uint8Array(4);return new DataView(t.buffer).setFloat32(0,e,!0),this.raw(t)}double(e){let t=new Uint8Array(8);return new DataView(t.buffer).setFloat64(0,e,!0),this.raw(t)}fixed32(e){Pp(e);let t=new Uint8Array(4);return new DataView(t.buffer).setUint32(0,e,!0),this.raw(t)}sfixed32(e){Np(e);let t=new Uint8Array(4);return new DataView(t.buffer).setInt32(0,e,!0),this.raw(t)}sint32(e){return Np(e),e=(e<<1^e>>31)>>>0,hp(e,this.buf),this}sfixed64(e){let t=new Uint8Array(8),n=new DataView(t.buffer),r=W.from(e);return n.setInt32(0,r.lo,!0),n.setInt32(4,r.hi,!0),this.raw(t)}fixed64(e){let t=new Uint8Array(8),n=new DataView(t.buffer),r=Cp.from(e);return n.setInt32(0,r.lo,!0),n.setInt32(4,r.hi,!0),this.raw(t)}int64(e){let t=W.from(e);return dp(t.lo,t.hi,this.buf),this}sint64(e){let t=W.from(e),n=t.hi>>31;return dp(t.lo<<1^n,(t.hi<<1|t.lo>>>31)^n,this.buf),this}uint64(e){let t=Cp.from(e);return dp(t.lo,t.hi,this.buf),this}},zp={emitDefaultValues:!1,enumAsInteger:!1,useProtoFieldName:!1,prettySpaces:0},Bp={ignoreUnknownFields:!1};function Vp(e){return e?Object.assign(Object.assign({},Bp),e):Bp}function Hp(e){return e?Object.assign(Object.assign({},zp),e):zp}function Up(e,t){let n=Object.assign(Object.assign({},e),t);return n.typeRegistry=[...e?.typeRegistry??[],...t?.typeRegistry??[]],n}var Wp=Symbol.for(`protobuf-ts/message-type`);function Gp(e){let t=!1,n=[];for(let r=0;r<e.length;r++){let i=e.charAt(r);i==`_`?t=!0:/\d/.test(i)?(n.push(i),t=!0):t?(n.push(i.toUpperCase()),t=!1):r==0?n.push(i.toLowerCase()):n.push(i)}return n.join(``)}var K;(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`})(K||={});var Kp;(function(e){e[e.BIGINT=0]=`BIGINT`,e[e.STRING=1]=`STRING`,e[e.NUMBER=2]=`NUMBER`})(Kp||={});var qp;(function(e){e[e.NO=0]=`NO`,e[e.PACKED=1]=`PACKED`,e[e.UNPACKED=2]=`UNPACKED`})(qp||={});function Jp(e){return e.localName=e.localName??Gp(e.name),e.jsonName=e.jsonName??Gp(e.name),e.repeat=e.repeat??qp.NO,e.opt=e.opt??(e.repeat||e.oneof?!1:e.kind==`message`),e}function Yp(e){if(typeof e!=`object`||!e||!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 Xp=class{constructor(e){this.fields=e.fields??[]}prepare(){if(this.data)return;let e=[],t=[],n=[];for(let r of this.fields)if(r.oneof)n.includes(r.oneof)||(n.push(r.oneof),e.push(r.oneof),t.push(r.oneof));else switch(t.push(r.localName),r.kind){case`scalar`:case`enum`:(!r.opt||r.repeat)&&e.push(r.localName);break;case`message`:r.repeat&&e.push(r.localName);break;case`map`:e.push(r.localName);break}this.data={req:e,known:t,oneofs:Object.values(n)}}is(e,t,n=!1){if(t<0)return!0;if(typeof e!=`object`||!e)return!1;this.prepare();let r=Object.keys(e),i=this.data;if(r.length<i.req.length||i.req.some(e=>!r.includes(e))||!n&&r.some(e=>!i.known.includes(e)))return!1;if(t<1)return!0;for(let r of i.oneofs){let i=e[r];if(!Yp(i))return!1;if(i.oneofKind===void 0)continue;let a=this.fields.find(e=>e.localName===i.oneofKind);if(!a||!this.field(i[i.oneofKind],a,n,t))return!1}for(let r of this.fields)if(r.oneof===void 0&&!this.field(e[r.localName],r,n,t))return!1;return!0}field(e,t,n,r){let i=t.repeat;switch(t.kind){case`scalar`:return e===void 0?t.opt:i?this.scalars(e,t.T,r,t.L):this.scalar(e,t.T,t.L);case`enum`:return e===void 0?t.opt:i?this.scalars(e,K.INT32,r):this.scalar(e,K.INT32);case`message`:return e===void 0?!0:i?this.messages(e,t.T(),n,r):this.message(e,t.T(),n,r);case`map`:if(typeof e!=`object`||!e)return!1;if(r<2)return!0;if(!this.mapKeys(e,t.K,r))return!1;switch(t.V.kind){case`scalar`:return this.scalars(Object.values(e),t.V.T,r,t.V.L);case`enum`:return this.scalars(Object.values(e),K.INT32,r);case`message`:return this.messages(Object.values(e),t.V.T(),n,r)}break}return!0}message(e,t,n,r){return n?t.isAssignable(e,r):t.is(e,r)}messages(e,t,n,r){if(!Array.isArray(e))return!1;if(r<2)return!0;if(n){for(let n=0;n<e.length&&n<r;n++)if(!t.isAssignable(e[n],r-1))return!1}else for(let n=0;n<e.length&&n<r;n++)if(!t.is(e[n],r-1))return!1;return!0}scalar(e,t,n){let r=typeof e;switch(t){case K.UINT64:case K.FIXED64:case K.INT64:case K.SFIXED64:case K.SINT64:switch(n){case Kp.BIGINT:return r==`bigint`;case Kp.NUMBER:return r==`number`&&!isNaN(e);default:return r==`string`}case K.BOOL:return r==`boolean`;case K.STRING:return r==`string`;case K.BYTES:return e instanceof Uint8Array;case K.DOUBLE:case K.FLOAT:return r==`number`&&!isNaN(e);default:return r==`number`&&Number.isInteger(e)}}scalars(e,t,n,r){if(!Array.isArray(e))return!1;if(n<2)return!0;if(Array.isArray(e)){for(let i=0;i<e.length&&i<n;i++)if(!this.scalar(e[i],t,r))return!1}return!0}mapKeys(e,t,n){let r=Object.keys(e);switch(t){case K.INT32:case K.FIXED32:case K.SFIXED32:case K.SINT32:case K.UINT32:return this.scalars(r.slice(0,n).map(e=>parseInt(e)),t,n);case K.BOOL:return this.scalars(r.slice(0,n).map(e=>e==`true`?!0:e==`false`?!1:e),t,n);default:return this.scalars(r,t,n,Kp.STRING)}}};function Zp(e,t){switch(t){case Kp.BIGINT:return e.toBigInt();case Kp.NUMBER:return e.toNumber();default:return e.toString()}}var Qp=class{constructor(e){this.info=e}prepare(){if(this.fMap===void 0){this.fMap={};let e=this.info.fields??[];for(let t of e)this.fMap[t.name]=t,this.fMap[t.jsonName]=t,this.fMap[t.localName]=t}}assert(e,t,n){if(!e){let e=tp(n);throw(e==`number`||e==`boolean`)&&(e=n.toString()),Error(`Cannot parse JSON ${e} for ${this.info.typeName}#${t}`)}}read(e,t,n){this.prepare();let r=[];for(let[i,a]of Object.entries(e)){let e=this.fMap[i];if(!e){if(!n.ignoreUnknownFields)throw Error(`Found unknown field while reading ${this.info.typeName} from JSON format. JSON key: ${i}`);continue}let o=e.localName,s;if(e.oneof){if(a===null&&(e.kind!==`enum`||e.T()[0]!==`google.protobuf.NullValue`))continue;if(r.includes(e.oneof))throw Error(`Multiple members of the oneof group "${e.oneof}" of ${this.info.typeName} are present in JSON.`);r.push(e.oneof),s=t[e.oneof]={oneofKind:o}}else s=t;if(e.kind==`map`){if(a===null)continue;this.assert(np(a),e.name,a);let t=s[o];for(let[r,i]of Object.entries(a)){this.assert(i!==null,e.name+` map value`,null);let a;switch(e.V.kind){case`message`:a=e.V.T().internalJsonRead(i,n);break;case`enum`:if(a=this.enum(e.V.T(),i,e.name,n.ignoreUnknownFields),a===!1)continue;break;case`scalar`:a=this.scalar(i,e.V.T,e.V.L,e.name);break}this.assert(a!==void 0,e.name+` map value`,i);let o=r;e.K==K.BOOL&&(o=o==`true`?!0:o==`false`?!1:o),o=this.scalar(o,e.K,Kp.STRING,e.name).toString(),t[o]=a}}else if(e.repeat){if(a===null)continue;this.assert(Array.isArray(a),e.name,a);let t=s[o];for(let r of a){this.assert(r!==null,e.name,null);let i;switch(e.kind){case`message`:i=e.T().internalJsonRead(r,n);break;case`enum`:if(i=this.enum(e.T(),r,e.name,n.ignoreUnknownFields),i===!1)continue;break;case`scalar`:i=this.scalar(r,e.T,e.L,e.name);break}this.assert(i!==void 0,e.name,a),t.push(i)}}else switch(e.kind){case`message`:if(a===null&&e.T().typeName!=`google.protobuf.Value`){this.assert(e.oneof===void 0,e.name+` (oneof member)`,null);continue}s[o]=e.T().internalJsonRead(a,n,s[o]);break;case`enum`:if(a===null)continue;let t=this.enum(e.T(),a,e.name,n.ignoreUnknownFields);if(t===!1)continue;s[o]=t;break;case`scalar`:if(a===null)continue;s[o]=this.scalar(a,e.T,e.L,e.name);break}}}enum(e,t,n,r){if(e[0]==`google.protobuf.NullValue`&&G(t===null||t===`NULL_VALUE`,`Unable to parse field ${this.info.typeName}#${n}, enum ${e[0]} only accepts null.`),t===null)return 0;switch(typeof t){case`number`:return G(Number.isInteger(t),`Unable to parse field ${this.info.typeName}#${n}, enum can only be integral number, got ${t}.`),t;case`string`:let i=t;e[2]&&t.substring(0,e[2].length)===e[2]&&(i=t.substring(e[2].length));let a=e[1][i];return a===void 0&&r?!1:(G(typeof a==`number`,`Unable to parse field ${this.info.typeName}#${n}, enum ${e[0]} has no value for "${t}".`),a)}G(!1,`Unable to parse field ${this.info.typeName}#${n}, cannot parse enum value from ${typeof t}".`)}scalar(e,t,n,r){let i;try{switch(t){case K.DOUBLE:case K.FLOAT:if(e===null)return 0;if(e===`NaN`)return NaN;if(e===`Infinity`)return 1/0;if(e===`-Infinity`)return-1/0;if(e===``){i=`empty string`;break}if(typeof e==`string`&&e.trim().length!==e.length){i=`extra whitespace`;break}if(typeof e!=`string`&&typeof e!=`number`)break;let r=Number(e);if(Number.isNaN(r)){i=`not a number`;break}if(!Number.isFinite(r)){i=`too large or small`;break}return t==K.FLOAT&&Fp(r),r;case K.INT32:case K.FIXED32:case K.SFIXED32:case K.SINT32:case K.UINT32:if(e===null)return 0;let a;if(typeof e==`number`?a=e:e===``?i=`empty string`:typeof e==`string`&&(e.trim().length===e.length?a=Number(e):i=`extra whitespace`),a===void 0)break;return t==K.UINT32?Pp(a):Np(a),a;case K.INT64:case K.SFIXED64:case K.SINT64:if(e===null)return Zp(W.ZERO,n);if(typeof e!=`number`&&typeof e!=`string`)break;return Zp(W.from(e),n);case K.FIXED64:case K.UINT64:if(e===null)return Zp(Cp.ZERO,n);if(typeof e!=`number`&&typeof e!=`string`)break;return Zp(Cp.from(e),n);case K.BOOL:if(e===null)return!1;if(typeof e!=`boolean`)break;return e;case K.STRING:if(e===null)return``;if(typeof e!=`string`){i=`extra whitespace`;break}return e;case K.BYTES:if(e===null||e===``)return new Uint8Array;if(typeof e!=`string`)break;return ap(e)}}catch(e){i=e.message}this.assert(!1,r+(i?` - `+i:``),e)}},$p=class{constructor(e){this.fields=e.fields??[]}write(e,t){let n={},r=e;for(let e of this.fields){if(!e.oneof){let i=this.field(e,r[e.localName],t);i!==void 0&&(n[t.useProtoFieldName?e.name:e.jsonName]=i);continue}let i=r[e.oneof];if(i.oneofKind!==e.localName)continue;let a=e.kind==`scalar`||e.kind==`enum`?Object.assign(Object.assign({},t),{emitDefaultValues:!0}):t,o=this.field(e,i[e.localName],a);G(o!==void 0),n[t.useProtoFieldName?e.name:e.jsonName]=o}return n}field(e,t,n){let r;if(e.kind==`map`){G(typeof t==`object`&&!!t);let i={};switch(e.V.kind){case`scalar`:for(let[n,r]of Object.entries(t)){let t=this.scalar(e.V.T,r,e.name,!1,!0);G(t!==void 0),i[n.toString()]=t}break;case`message`:let r=e.V.T();for(let[a,o]of Object.entries(t)){let t=this.message(r,o,e.name,n);G(t!==void 0),i[a.toString()]=t}break;case`enum`:let a=e.V.T();for(let[r,o]of Object.entries(t)){G(o===void 0||typeof o==`number`);let t=this.enum(a,o,e.name,!1,!0,n.enumAsInteger);G(t!==void 0),i[r.toString()]=t}break}(n.emitDefaultValues||Object.keys(i).length>0)&&(r=i)}else if(e.repeat){G(Array.isArray(t));let i=[];switch(e.kind){case`scalar`:for(let n=0;n<t.length;n++){let r=this.scalar(e.T,t[n],e.name,e.opt,!0);G(r!==void 0),i.push(r)}break;case`enum`:let r=e.T();for(let a=0;a<t.length;a++){G(t[a]===void 0||typeof t[a]==`number`);let o=this.enum(r,t[a],e.name,e.opt,!0,n.enumAsInteger);G(o!==void 0),i.push(o)}break;case`message`:let a=e.T();for(let r=0;r<t.length;r++){let o=this.message(a,t[r],e.name,n);G(o!==void 0),i.push(o)}break}(n.emitDefaultValues||i.length>0||n.emitDefaultValues)&&(r=i)}else switch(e.kind){case`scalar`:r=this.scalar(e.T,t,e.name,e.opt,n.emitDefaultValues);break;case`enum`:r=this.enum(e.T(),t,e.name,e.opt,n.emitDefaultValues,n.enumAsInteger);break;case`message`:r=this.message(e.T(),t,e.name,n);break}return r}enum(e,t,n,r,i,a){if(e[0]==`google.protobuf.NullValue`)return!i&&!r?void 0:null;if(t===void 0){G(r);return}if(!(t===0&&!i&&!r))return G(typeof t==`number`),G(Number.isInteger(t)),a||!e[1].hasOwnProperty(t)?t:e[2]?e[2]+e[1][t]:e[1][t]}message(e,t,n,r){return t===void 0?r.emitDefaultValues?null:void 0:e.internalJsonWrite(t,r)}scalar(e,t,n,r,i){if(t===void 0){G(r);return}let a=i||r;switch(e){case K.INT32:case K.SFIXED32:case K.SINT32:return t===0?a?0:void 0:(Np(t),t);case K.FIXED32:case K.UINT32:return t===0?a?0:void 0:(Pp(t),t);case K.FLOAT:Fp(t);case K.DOUBLE:return t===0?a?0:void 0:(G(typeof t==`number`),Number.isNaN(t)?`NaN`:t===1/0?`Infinity`:t===-1/0?`-Infinity`:t);case K.STRING:return t===``?a?``:void 0:(G(typeof t==`string`),t);case K.BOOL:return t===!1?a?!1:void 0:(G(typeof t==`boolean`),t);case K.UINT64:case K.FIXED64:G(typeof t==`number`||typeof t==`string`||typeof t==`bigint`);let e=Cp.from(t);return e.isZero()&&!a?void 0:e.toString();case K.INT64:case K.SFIXED64:case K.SINT64:G(typeof t==`number`||typeof t==`string`||typeof t==`bigint`);let n=W.from(t);return n.isZero()&&!a?void 0:n.toString();case K.BYTES:return G(t instanceof Uint8Array),t.byteLength?op(t):a?``:void 0}}};function em(e,t=Kp.STRING){switch(e){case K.BOOL:return!1;case K.UINT64:case K.FIXED64:return Zp(Cp.ZERO,t);case K.INT64:case K.SFIXED64:case K.SINT64:return Zp(W.ZERO,t);case K.DOUBLE:case K.FLOAT:return 0;case K.BYTES:return new Uint8Array;case K.STRING:return``;default:return 0}}var tm=class{constructor(e){this.info=e}prepare(){if(!this.fieldNoToField){let e=this.info.fields??[];this.fieldNoToField=new Map(e.map(e=>[e.no,e]))}}read(e,t,n,r){this.prepare();let i=r===void 0?e.len:e.pos+r;for(;e.pos<i;){let[r,i]=e.tag(),a=this.fieldNoToField.get(r);if(!a){let a=n.readUnknownField;if(a==`throw`)throw Error(`Unknown field ${r} (wire type ${i}) for ${this.info.typeName}`);let o=e.skip(i);a!==!1&&(a===!0?sp.onRead:a)(this.info.typeName,t,r,i,o);continue}let o=t,s=a.repeat,c=a.localName;switch(a.oneof&&(o=o[a.oneof],o.oneofKind!==c&&(o=t[a.oneof]={oneofKind:c})),a.kind){case`scalar`:case`enum`:let t=a.kind==`enum`?K.INT32:a.T,r=a.kind==`scalar`?a.L:void 0;if(s){let n=o[c];if(i==lp.LengthDelimited&&t!=K.STRING&&t!=K.BYTES){let i=e.uint32()+e.pos;for(;e.pos<i;)n.push(this.scalar(e,t,r))}else n.push(this.scalar(e,t,r))}else o[c]=this.scalar(e,t,r);break;case`message`:if(s){let t=o[c],r=a.T().internalBinaryRead(e,e.uint32(),n);t.push(r)}else o[c]=a.T().internalBinaryRead(e,e.uint32(),n,o[c]);break;case`map`:let[l,u]=this.mapEntry(a,e,n);o[c][l]=u;break}}}mapEntry(e,t,n){let r=t.uint32(),i=t.pos+r,a,o;for(;t.pos<i;){let[r,i]=t.tag();switch(r){case 1:a=e.K==K.BOOL?t.bool().toString():this.scalar(t,e.K,Kp.STRING);break;case 2:switch(e.V.kind){case`scalar`:o=this.scalar(t,e.V.T,e.V.L);break;case`enum`:o=t.int32();break;case`message`:o=e.V.T().internalBinaryRead(t,t.uint32(),n);break}break;default:throw Error(`Unknown field ${r} (wire type ${i}) in map entry for ${this.info.typeName}#${e.name}`)}}if(a===void 0){let t=em(e.K);a=e.K==K.BOOL?t.toString():t}if(o===void 0)switch(e.V.kind){case`scalar`:o=em(e.V.T,e.V.L);break;case`enum`:o=0;break;case`message`:o=e.V.T().create();break}return[a,o]}scalar(e,t,n){switch(t){case K.INT32:return e.int32();case K.STRING:return e.string();case K.BOOL:return e.bool();case K.DOUBLE:return e.double();case K.FLOAT:return e.float();case K.INT64:return Zp(e.int64(),n);case K.UINT64:return Zp(e.uint64(),n);case K.FIXED64:return Zp(e.fixed64(),n);case K.FIXED32:return e.fixed32();case K.BYTES:return e.bytes();case K.UINT32:return e.uint32();case K.SFIXED32:return e.sfixed32();case K.SFIXED64:return Zp(e.sfixed64(),n);case K.SINT32:return e.sint32();case K.SINT64:return Zp(e.sint64(),n)}}},nm=class{constructor(e){this.info=e}prepare(){if(!this.fields){let e=this.info.fields?this.info.fields.concat():[];this.fields=e.sort((e,t)=>e.no-t.no)}}write(e,t,n){this.prepare();for(let r of this.fields){let i,a,o=r.repeat,s=r.localName;if(r.oneof){let t=e[r.oneof];if(t.oneofKind!==s)continue;i=t[s],a=!0}else i=e[s],a=!1;switch(r.kind){case`scalar`:case`enum`:let e=r.kind==`enum`?K.INT32:r.T;if(o)if(G(Array.isArray(i)),o==qp.PACKED)this.packed(t,e,r.no,i);else for(let n of i)this.scalar(t,e,r.no,n,!0);else i===void 0?G(r.opt):this.scalar(t,e,r.no,i,a||r.opt);break;case`message`:if(o){G(Array.isArray(i));for(let e of i)this.message(t,n,r.T(),r.no,e)}else this.message(t,n,r.T(),r.no,i);break;case`map`:G(typeof i==`object`&&!!i);for(let[e,a]of Object.entries(i))this.mapEntry(t,n,r,e,a);break}}let r=n.writeUnknownFields;r!==!1&&(r===!0?sp.onWrite:r)(this.info.typeName,e,t)}mapEntry(e,t,n,r,i){e.tag(n.no,lp.LengthDelimited),e.fork();let a=r;switch(n.K){case K.INT32:case K.FIXED32:case K.UINT32:case K.SFIXED32:case K.SINT32:a=Number.parseInt(r);break;case K.BOOL:G(r==`true`||r==`false`),a=r==`true`;break}switch(this.scalar(e,n.K,1,a,!0),n.V.kind){case`scalar`:this.scalar(e,n.V.T,2,i,!0);break;case`enum`:this.scalar(e,K.INT32,2,i,!0);break;case`message`:this.message(e,t,n.V.T(),2,i);break}e.join()}message(e,t,n,r,i){i!==void 0&&(n.internalBinaryWrite(i,e.tag(r,lp.LengthDelimited).fork(),t),e.join())}scalar(e,t,n,r,i){let[a,o,s]=this.scalarInfo(t,r);(!s||i)&&(e.tag(n,a),e[o](r))}packed(e,t,n,r){if(!r.length)return;G(t!==K.BYTES&&t!==K.STRING),e.tag(n,lp.LengthDelimited),e.fork();let[,i]=this.scalarInfo(t);for(let t=0;t<r.length;t++)e[i](r[t]);e.join()}scalarInfo(e,t){let n=lp.Varint,r,i=t===void 0,a=t===0;switch(e){case K.INT32:r=`int32`;break;case K.STRING:a=i||!t.length,n=lp.LengthDelimited,r=`string`;break;case K.BOOL:a=t===!1,r=`bool`;break;case K.UINT32:r=`uint32`;break;case K.DOUBLE:n=lp.Bit64,r=`double`;break;case K.FLOAT:n=lp.Bit32,r=`float`;break;case K.INT64:a=i||W.from(t).isZero(),r=`int64`;break;case K.UINT64:a=i||Cp.from(t).isZero(),r=`uint64`;break;case K.FIXED64:a=i||Cp.from(t).isZero(),n=lp.Bit64,r=`fixed64`;break;case K.BYTES:a=i||!t.byteLength,n=lp.LengthDelimited,r=`bytes`;break;case K.FIXED32:n=lp.Bit32,r=`fixed32`;break;case K.SFIXED32:n=lp.Bit32,r=`sfixed32`;break;case K.SFIXED64:a=i||W.from(t).isZero(),n=lp.Bit64,r=`sfixed64`;break;case K.SINT32:r=`sint32`;break;case K.SINT64:a=i||W.from(t).isZero(),r=`sint64`;break}return[n,r,i||a]}};function rm(e){let t=e.messagePrototype?Object.create(e.messagePrototype):Object.defineProperty({},Wp,{value:e});for(let n of e.fields){let e=n.localName;if(!n.opt)if(n.oneof)t[n.oneof]={oneofKind:void 0};else if(n.repeat)t[e]=[];else switch(n.kind){case`scalar`:t[e]=em(n.T,n.L);break;case`enum`:t[e]=0;break;case`map`:t[e]={};break}}return t}function im(e,t,n){let r,i=n,a;for(let n of e.fields){let e=n.localName;if(n.oneof){let o=i[n.oneof];if(o?.oneofKind==null)continue;if(r=o[e],a=t[n.oneof],a.oneofKind=o.oneofKind,r==null){delete a[e];continue}}else if(r=i[e],a=t,r==null)continue;switch(n.repeat&&(a[e].length=r.length),n.kind){case`scalar`:case`enum`:if(n.repeat)for(let t=0;t<r.length;t++)a[e][t]=r[t];else a[e]=r;break;case`message`:let t=n.T();if(n.repeat)for(let n=0;n<r.length;n++)a[e][n]=t.create(r[n]);else a[e]===void 0?a[e]=t.create(r):t.mergePartial(a[e],r);break;case`map`:switch(n.V.kind){case`scalar`:case`enum`:Object.assign(a[e],r);break;case`message`:let t=n.V.T();for(let n of Object.keys(r))a[e][n]=t.create(r[n]);break}break}}}function am(e,t,n){if(t===n)return!0;if(!t||!n)return!1;for(let r of e.fields){let e=r.localName,i=r.oneof?t[r.oneof][e]:t[e],a=r.oneof?n[r.oneof][e]:n[e];switch(r.kind){case`enum`:case`scalar`:let e=r.kind==`enum`?K.INT32:r.T;if(!(r.repeat?cm(e,i,a):sm(e,i,a)))return!1;break;case`map`:if(!(r.V.kind==`message`?lm(r.V.T(),om(i),om(a)):cm(r.V.kind==`enum`?K.INT32:r.V.T,om(i),om(a))))return!1;break;case`message`:let t=r.T();if(!(r.repeat?lm(t,i,a):t.equals(i,a)))return!1;break}}return!0}var om=Object.values;function sm(e,t,n){if(t===n)return!0;if(e!==K.BYTES)return!1;let r=t,i=n;if(r.length!==i.length)return!1;for(let e=0;e<r.length;e++)if(r[e]!=i[e])return!1;return!0}function cm(e,t,n){if(t.length!==n.length)return!1;for(let r=0;r<t.length;r++)if(!sm(e,t[r],n[r]))return!1;return!0}function lm(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 um=Object.getOwnPropertyDescriptors(Object.getPrototypeOf({})),dm=um[Wp]={},q=class{constructor(e,t,n){this.defaultCheckDepth=16,this.typeName=e,this.fields=t.map(Jp),this.options=n??{},dm.value=this,this.messagePrototype=Object.create(null,um),this.refTypeCheck=new Xp(this),this.refJsonReader=new Qp(this),this.refJsonWriter=new $p(this),this.refBinReader=new tm(this),this.refBinWriter=new nm(this)}create(e){let t=rm(this);return e!==void 0&&im(this,t,e),t}clone(e){let t=this.create();return im(this,t,e),t}equals(e,t){return am(this,e,t)}is(e,t=this.defaultCheckDepth){return this.refTypeCheck.is(e,t,!1)}isAssignable(e,t=this.defaultCheckDepth){return this.refTypeCheck.is(e,t,!0)}mergePartial(e,t){im(this,e,t)}fromBinary(e,t){let n=Tp(t);return this.internalBinaryRead(n.readerFactory(e),e.byteLength,n)}fromJson(e,t){return this.internalJsonRead(e,Vp(t))}fromJsonString(e,t){let n=JSON.parse(e);return this.fromJson(n,t)}toJson(e,t){return this.internalJsonWrite(e,Hp(t))}toJsonString(e,t){let n=this.toJson(e,t);return JSON.stringify(n,null,t?.prettySpaces??0)}toBinary(e,t){let n=Lp(t);return this.internalBinaryWrite(e,n.writerFactory(),n).finish()}internalJsonRead(e,t,n){if(typeof e==`object`&&e&&!Array.isArray(e)){let r=n??this.create();return this.refJsonReader.read(e,r,t),r}throw Error(`Unable to parse message ${this.typeName} from JSON ${tp(e)}.`)}internalJsonWrite(e,t){return this.refJsonWriter.write(e,t)}internalBinaryWrite(e,t,n){return this.refBinWriter.write(e,t,n),t}internalBinaryRead(e,t,n,r){let i=r??this.create();return this.refBinReader.read(e,i,n,t),i}},fm=function(e){return e[e.NULL_VALUE=0]=`NULL_VALUE`,e}({}),pm=new class extends q{constructor(){super(`google.protobuf.Struct`,[{no:1,name:`fields`,kind:`map`,K:9,V:{kind:`message`,T:()=>mm}}])}internalJsonWrite(e,t){let n={};for(let[t,r]of Object.entries(e.fields))n[t]=mm.toJson(r);return n}internalJsonRead(e,t,n){if(!np(e))throw new globalThis.Error(`Unable to parse message `+this.typeName+` from JSON `+tp(e)+`.`);n||=this.create();for(let[t,r]of globalThis.Object.entries(e))n.fields[t]=mm.fromJson(r);return n}},mm=new class extends q{constructor(){super(`google.protobuf.Value`,[{no:1,name:`null_value`,kind:`enum`,oneof:`kind`,T:()=>[`google.protobuf.NullValue`,fm]},{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:()=>pm},{no:6,name:`list_value`,kind:`message`,oneof:`kind`,T:()=>hm}])}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 t=e.kind.numberValue;if(typeof t==`number`&&!Number.isFinite(t))throw new globalThis.Error;return t;case`stringValue`:return e.kind.stringValue;case`listValue`:let n=this.fields.find(e=>e.no===6);if(n?.kind!==`message`)throw new globalThis.Error;return n.T().toJson(e.kind.listValue);case`structValue`:let r=this.fields.find(e=>e.no===5);if(r?.kind!==`message`)throw new globalThis.Error;return r.T().toJson(e.kind.structValue)}}internalJsonRead(e,t,n){switch(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:fm.NULL_VALUE}:globalThis.Array.isArray(e)?n.kind={oneofKind:`listValue`,listValue:hm.fromJson(e)}:n.kind={oneofKind:`structValue`,structValue:pm.fromJson(e)};break;default:throw new globalThis.Error(`Unable to parse `+this.typeName+` from JSON `+tp(e))}return n}},hm=new class extends q{constructor(){super(`google.protobuf.ListValue`,[{no:1,name:`values`,kind:`message`,repeat:2,T:()=>mm}])}internalJsonWrite(e,t){return e.values.map(e=>mm.toJson(e))}internalJsonRead(e,t,n){if(!globalThis.Array.isArray(e))throw new globalThis.Error(`Unable to parse `+this.typeName+` from JSON `+tp(e));n||=this.create();let r=e.map(e=>mm.fromJson(e));return n.values.push(...r),n}},gm=function(e){return e[e.DATATYPE_KIND_UNKNOWN=0]=`DATATYPE_KIND_UNKNOWN`,e[e.STRUCT=1]=`STRUCT`,e[e.ENUM=2]=`ENUM`,e}({}),_m=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}({}),vm=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}({}),ym=function(e){return e[e.REFERENCE_UNKNOWN=0]=`REFERENCE_UNKNOWN`,e[e.IMMUTABLE=1]=`IMMUTABLE`,e[e.MUTABLE=2]=`MUTABLE`,e}({}),bm=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}({}),xm=new class extends q{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:2,T:()=>Sm},{no:5,name:`type_origins`,kind:`message`,repeat:2,T:()=>Am},{no:6,name:`linkage`,kind:`message`,repeat:2,T:()=>jm}])}},Sm=new class extends q{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:2,T:()=>Cm},{no:4,name:`functions`,kind:`message`,repeat:2,T:()=>Om}])}},Cm=new class extends q{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`,bm]},{no:6,name:`type_parameters`,kind:`message`,repeat:2,T:()=>wm},{no:7,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.DatatypeDescriptor.DatatypeKind`,gm]},{no:8,name:`fields`,kind:`message`,repeat:2,T:()=>Tm},{no:9,name:`variants`,kind:`message`,repeat:2,T:()=>Em}])}},wm=new class extends q{constructor(){super(`sui.rpc.v2.TypeParameter`,[{no:1,name:`constraints`,kind:`enum`,repeat:1,T:()=>[`sui.rpc.v2.Ability`,bm]},{no:2,name:`is_phantom`,kind:`scalar`,opt:!0,T:8}])}},Tm=new class extends q{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:()=>Dm}])}},Em=new class extends q{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:2,T:()=>Tm}])}},Dm=new class extends q{constructor(){super(`sui.rpc.v2.OpenSignatureBody`,[{no:1,name:`type`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.OpenSignatureBody.Type`,_m]},{no:2,name:`type_name`,kind:`scalar`,opt:!0,T:9},{no:3,name:`type_parameter_instantiation`,kind:`message`,repeat:2,T:()=>Dm},{no:4,name:`type_parameter`,kind:`scalar`,opt:!0,T:13}])}},Om=new class extends q{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`,vm]},{no:6,name:`is_entry`,kind:`scalar`,opt:!0,T:8},{no:7,name:`type_parameters`,kind:`message`,repeat:2,T:()=>wm},{no:8,name:`parameters`,kind:`message`,repeat:2,T:()=>km},{no:9,name:`returns`,kind:`message`,repeat:2,T:()=>km}])}},km=new class extends q{constructor(){super(`sui.rpc.v2.OpenSignature`,[{no:1,name:`reference`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.OpenSignature.Reference`,ym]},{no:2,name:`body`,kind:`message`,T:()=>Dm}])}},Am=new class extends q{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}])}},jm=new class extends q{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}])}},Mm=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}({}),Nm=new class extends q{constructor(){super(`sui.rpc.v2.Owner`,[{no:1,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.Owner.OwnerKind`,Mm]},{no:2,name:`address`,kind:`scalar`,opt:!0,T:9},{no:3,name:`version`,kind:`scalar`,opt:!0,T:4,L:0}])}},Pm=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}({}),Fm=new class extends q{constructor(){super(`sui.rpc.v2.Argument`,[{no:1,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.Argument.ArgumentKind`,Pm]},{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}])}},Im=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}({}),Lm=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}({}),Rm=function(e){return e[e.SOURCE_UNKNOWN=0]=`SOURCE_UNKNOWN`,e[e.SENDER=1]=`SENDER`,e[e.SPONSOR=2]=`SPONSOR`,e}({}),zm=new class extends q{constructor(){super(`sui.rpc.v2.Input`,[{no:1,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.Input.InputKind`,Im]},{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`,Lm]},{no:8,name:`funds_withdrawal`,kind:`message`,T:()=>Bm},{no:1e3,name:`literal`,kind:`message`,T:()=>mm}])}},Bm=new class extends q{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`,Rm]}])}},Vm=new class extends q{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=W.from(e.seconds).toNumber();if(n>315576e6||n<-315576e6)throw Error(`Duration value out of range.`);let r=e.seconds.toString();if(n===0&&e.nanos<0&&(r=`-`+r),e.nanos!==0){let t=Math.abs(e.nanos).toString();t=`0`.repeat(9-t.length)+t,t.substring(3)===`000000`?t=t.substring(0,3):t.substring(6)===`000`&&(t=t.substring(0,6)),r+=`.`+t}return r+`s`}internalJsonRead(e,t,n){if(typeof e!=`string`)throw Error(`Unable to parse Duration from JSON `+tp(e)+`. Expected string.`);let r=e.match(/^(-?)([0-9]+)(?:\.([0-9]+))?s/);if(r===null)throw Error(`Unable to parse Duration from JSON string. Invalid format.`);n||=this.create();let[,i,a,o]=r,s=W.from(i+a);if(s.toNumber()>315576e6||s.toNumber()<-315576e6)throw Error(`Unable to parse Duration from JSON string. Value out of range.`);if(n.seconds=s.toBigInt(),typeof o==`string`){let e=i+o+`0`.repeat(9-o.length);n.nanos=parseInt(e)}return n}},Hm=new class extends q{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}])}},Um=new class extends q{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}])}},Wm=new class extends q{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}])}},Gm=new class extends q{constructor(){super(`sui.rpc.v2.Object`,[{no:1,name:`bcs`,kind:`message`,T:()=>Wm},{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:()=>Nm},{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:()=>Wm},{no:9,name:`package`,kind:`message`,T:()=>xm},{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:()=>mm},{no:101,name:`balance`,kind:`scalar`,opt:!0,T:4,L:0},{no:102,name:`display`,kind:`message`,T:()=>qm}])}},Km=new class extends q{constructor(){super(`sui.rpc.v2.ObjectSet`,[{no:1,name:`objects`,kind:`message`,repeat:2,T:()=>Gm}])}},qm=new class extends q{constructor(){super(`sui.rpc.v2.Display`,[{no:1,name:`output`,kind:`message`,T:()=>mm},{no:2,name:`errors`,kind:`message`,T:()=>mm}])}},Jm=new class extends q{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=W.from(Math.floor(t/1e3)).toBigInt(),e.nanos=t%1e3*1e6,e}toDate(e){return new Date(W.from(e.seconds).toNumber()*1e3+Math.ceil(e.nanos/1e6))}fromDate(e){let t=this.create(),n=e.getTime();return t.seconds=W.from(Math.floor(n/1e3)).toBigInt(),t.nanos=(n%1e3+(n<0&&n%1e3!=0?1e3:0))*1e6,t}internalJsonWrite(e,t){let n=W.from(e.seconds).toNumber()*1e3;if(n<Date.parse(`0001-01-01T00:00:00Z`)||n>Date.parse(`9999-12-31T23:59:59Z`))throw 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 Error(`Unable to encode invalid Timestamp to JSON. Nanos must not be negative.`);let r=`Z`;if(e.nanos>0){let t=(e.nanos+1e9).toString().substring(1);r=t.substring(3)===`000000`?`.`+t.substring(0,3)+`Z`:t.substring(6)===`000`?`.`+t.substring(0,6)+`Z`:`.`+t+`Z`}return new Date(n).toISOString().replace(`.000Z`,r)}internalJsonRead(e,t,n){if(typeof e!=`string`)throw Error(`Unable to parse Timestamp from JSON `+tp(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 Error(`Unable to parse Timestamp from JSON. Invalid format.`);let i=Date.parse(r[1]+`-`+r[2]+`-`+r[3]+`T`+r[4]+`:`+r[5]+`:`+r[6]+(r[8]?r[8]:`Z`));if(Number.isNaN(i))throw Error(`Unable to parse Timestamp from JSON. Invalid value.`);if(i<Date.parse(`0001-01-01T00:00:00Z`)||i>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||=this.create(),n.seconds=W.from(i/1e3).toBigInt(),n.nanos=0,r[7]&&(n.nanos=parseInt(`1`+r[7]+`0`.repeat(9-r[7].length))-1e9),n}},Ym=new class extends q{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}])}},Xm=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}({}),Zm=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}({}),Qm=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}({}),$m=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}({}),eh=new class extends q{constructor(){super(`sui.rpc.v2.Transaction`,[{no:1,name:`bcs`,kind:`message`,T:()=>Wm},{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:()=>rh},{no:5,name:`sender`,kind:`scalar`,opt:!0,T:9},{no:6,name:`gas_payment`,kind:`message`,T:()=>th},{no:7,name:`expiration`,kind:`message`,T:()=>nh}])}},th=new class extends q{constructor(){super(`sui.rpc.v2.GasPayment`,[{no:1,name:`objects`,kind:`message`,repeat:2,T:()=>Ym},{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}])}},nh=new class extends q{constructor(){super(`sui.rpc.v2.TransactionExpiration`,[{no:1,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.TransactionExpiration.TransactionExpirationKind`,Xm]},{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:()=>Jm},{no:5,name:`max_timestamp`,kind:`message`,T:()=>Jm},{no:6,name:`chain`,kind:`scalar`,opt:!0,T:9},{no:7,name:`nonce`,kind:`scalar`,opt:!0,T:13}])}},rh=new class extends q{constructor(){super(`sui.rpc.v2.TransactionKind`,[{no:1,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.TransactionKind.Kind`,Zm]},{no:2,name:`programmable_transaction`,kind:`message`,oneof:`data`,T:()=>ih},{no:3,name:`change_epoch`,kind:`message`,oneof:`data`,T:()=>mh},{no:4,name:`genesis`,kind:`message`,oneof:`data`,T:()=>gh},{no:5,name:`consensus_commit_prologue`,kind:`message`,oneof:`data`,T:()=>_h},{no:6,name:`authenticator_state_update`,kind:`message`,oneof:`data`,T:()=>xh},{no:7,name:`end_of_epoch`,kind:`message`,oneof:`data`,T:()=>Ch},{no:8,name:`randomness_state_update`,kind:`message`,oneof:`data`,T:()=>ph}])}},ih=new class extends q{constructor(){super(`sui.rpc.v2.ProgrammableTransaction`,[{no:1,name:`inputs`,kind:`message`,repeat:2,T:()=>zm},{no:2,name:`commands`,kind:`message`,repeat:2,T:()=>ah}])}},ah=new class extends q{constructor(){super(`sui.rpc.v2.Command`,[{no:1,name:`move_call`,kind:`message`,oneof:`command`,T:()=>oh},{no:2,name:`transfer_objects`,kind:`message`,oneof:`command`,T:()=>sh},{no:3,name:`split_coins`,kind:`message`,oneof:`command`,T:()=>ch},{no:4,name:`merge_coins`,kind:`message`,oneof:`command`,T:()=>lh},{no:5,name:`publish`,kind:`message`,oneof:`command`,T:()=>uh},{no:6,name:`make_move_vector`,kind:`message`,oneof:`command`,T:()=>dh},{no:7,name:`upgrade`,kind:`message`,oneof:`command`,T:()=>fh}])}},oh=new class extends q{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:2,T:()=>Fm}])}},sh=new class extends q{constructor(){super(`sui.rpc.v2.TransferObjects`,[{no:1,name:`objects`,kind:`message`,repeat:2,T:()=>Fm},{no:2,name:`address`,kind:`message`,T:()=>Fm}])}},ch=new class extends q{constructor(){super(`sui.rpc.v2.SplitCoins`,[{no:1,name:`coin`,kind:`message`,T:()=>Fm},{no:2,name:`amounts`,kind:`message`,repeat:2,T:()=>Fm}])}},lh=new class extends q{constructor(){super(`sui.rpc.v2.MergeCoins`,[{no:1,name:`coin`,kind:`message`,T:()=>Fm},{no:2,name:`coins_to_merge`,kind:`message`,repeat:2,T:()=>Fm}])}},uh=new class extends q{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}])}},dh=new class extends q{constructor(){super(`sui.rpc.v2.MakeMoveVector`,[{no:1,name:`element_type`,kind:`scalar`,opt:!0,T:9},{no:2,name:`elements`,kind:`message`,repeat:2,T:()=>Fm}])}},fh=new class extends q{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:()=>Fm}])}},ph=new class extends q{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}])}},mh=new class extends q{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:()=>Jm},{no:8,name:`system_packages`,kind:`message`,repeat:2,T:()=>hh}])}},hh=new class extends q{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}])}},gh=new class extends q{constructor(){super(`sui.rpc.v2.GenesisTransaction`,[{no:1,name:`objects`,kind:`message`,repeat:2,T:()=>Gm}])}},_h=new class extends q{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:()=>Jm},{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:()=>bh},{no:7,name:`additional_state_digest`,kind:`scalar`,opt:!0,T:9}])}},vh=new class extends q{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}])}},yh=new class extends q{constructor(){super(`sui.rpc.v2.CanceledTransaction`,[{no:1,name:`digest`,kind:`scalar`,opt:!0,T:9},{no:2,name:`version_assignments`,kind:`message`,repeat:2,T:()=>vh}])}},bh=new class extends q{constructor(){super(`sui.rpc.v2.ConsensusDeterminedVersionAssignments`,[{no:1,name:`version`,kind:`scalar`,opt:!0,T:5},{no:3,name:`canceled_transactions`,kind:`message`,repeat:2,T:()=>yh}])}},xh=new class extends q{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:2,T:()=>Sh},{no:4,name:`authenticator_object_initial_shared_version`,kind:`scalar`,opt:!0,T:4,L:0}])}},Sh=new class extends q{constructor(){super(`sui.rpc.v2.ActiveJwk`,[{no:1,name:`id`,kind:`message`,T:()=>Hm},{no:2,name:`jwk`,kind:`message`,T:()=>Um},{no:3,name:`epoch`,kind:`scalar`,opt:!0,T:4,L:0}])}},Ch=new class extends q{constructor(){super(`sui.rpc.v2.EndOfEpochTransaction`,[{no:1,name:`transactions`,kind:`message`,repeat:2,T:()=>wh}])}},wh=new class extends q{constructor(){super(`sui.rpc.v2.EndOfEpochTransactionKind`,[{no:1,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.EndOfEpochTransactionKind.Kind`,Qm]},{no:2,name:`change_epoch`,kind:`message`,oneof:`data`,T:()=>mh},{no:3,name:`authenticator_state_expire`,kind:`message`,oneof:`data`,T:()=>Th},{no:4,name:`execution_time_observations`,kind:`message`,oneof:`data`,T:()=>Eh},{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}])}},Th=new class extends q{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}])}},Eh=new class extends q{constructor(){super(`sui.rpc.v2.ExecutionTimeObservations`,[{no:1,name:`version`,kind:`scalar`,opt:!0,T:5},{no:2,name:`observations`,kind:`message`,repeat:2,T:()=>Dh}])}},Dh=new class extends q{constructor(){super(`sui.rpc.v2.ExecutionTimeObservation`,[{no:1,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.ExecutionTimeObservation.ExecutionTimeObservationKind`,$m]},{no:2,name:`move_entry_point`,kind:`message`,T:()=>oh},{no:3,name:`validator_observations`,kind:`message`,repeat:2,T:()=>Oh}])}},Oh=new class extends q{constructor(){super(`sui.rpc.v2.ValidatorExecutionTimeObservation`,[{no:1,name:`validator`,kind:`scalar`,opt:!0,T:12},{no:2,name:`duration`,kind:`message`,T:()=>Vm}])}};function kh(e){switch(e.$kind){case`Pure`:return{kind:Im.PURE,pure:w(e.Pure.bytes)};case`Object`:if(e.Object.$kind===`ImmOrOwnedObject`)return{kind:Im.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:Im.SHARED,objectId:e.Object.SharedObject.objectId,version:BigInt(e.Object.SharedObject.initialSharedVersion),mutable:e.Object.SharedObject.mutable};if(e.Object.$kind===`Receiving`)return{kind:Im.RECEIVING,objectId:e.Object.Receiving.objectId,version:BigInt(e.Object.Receiving.version),digest:e.Object.Receiving.digest};throw 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 Error(`UnresolvedPure arguments must be resolved before converting to gRPC format`);case`FundsWithdrawal`:{let t=e.FundsWithdrawal;return{kind:Im.FUNDS_WITHDRAWAL,fundsWithdrawal:{amount:t.reservation.$kind===`MaxAmountU64`?BigInt(t.reservation.MaxAmountU64):void 0,coinType:t.typeArg.$kind===`Balance`?t.typeArg.Balance:void 0,source:t.withdrawFrom.$kind===`Sponsor`?Rm.SPONSOR:Rm.SENDER}}}default:throw Error(`Unknown CallArg kind: ${JSON.stringify(e)}`)}}function Ah(e){if(`GasCoin`in e)return{kind:Pm.GAS};if(`Input`in e)return{kind:Pm.INPUT,input:e.Input};if(`Result`in e)return{kind:Pm.RESULT,result:e.Result};if(`NestedResult`in e)return{kind:Pm.RESULT,result:e.NestedResult[0],subresult:e.NestedResult[1]};throw Error(`Unknown Argument: ${JSON.stringify(e)}`)}function jh(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(Ah)}}};case`TransferObjects`:return{command:{oneofKind:`transferObjects`,transferObjects:{objects:e.TransferObjects.objects.map(Ah),address:Ah(e.TransferObjects.address)}}};case`SplitCoins`:return{command:{oneofKind:`splitCoins`,splitCoins:{coin:Ah(e.SplitCoins.coin),amounts:e.SplitCoins.amounts.map(Ah)}}};case`MergeCoins`:return{command:{oneofKind:`mergeCoins`,mergeCoins:{coin:Ah(e.MergeCoins.destination),coinsToMerge:e.MergeCoins.sources.map(Ah)}}};case`Publish`:return{command:{oneofKind:`publish`,publish:{modules:e.Publish.modules.map(e=>w(e)),dependencies:e.Publish.dependencies}}};case`MakeMoveVec`:return{command:{oneofKind:`makeMoveVector`,makeMoveVector:{elementType:e.MakeMoveVec.type??void 0,elements:e.MakeMoveVec.elements.map(Ah)}}};case`Upgrade`:return{command:{oneofKind:`upgrade`,upgrade:{modules:e.Upgrade.modules.map(e=>w(e)),dependencies:e.Upgrade.dependencies,package:e.Upgrade.package,ticket:Ah(e.Upgrade.ticket)}}};default:throw Error(`Unknown Command kind: ${JSON.stringify(e)}`)}}function Mh(e){let t={version:1,kind:{data:{oneofKind:`programmableTransaction`,programmableTransaction:{inputs:e.inputs.map(kh),commands:e.commands.map(jh)}}}};e.sender&&(t.sender=e.sender);let n=e.gasData.owner??e.sender;if(t.gasPayment={objects:e.gasData.payment?e.gasData.payment.map(e=>({objectId:e.objectId,version:BigInt(e.version),digest:e.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:Xm.NONE};else if(e.expiration.$kind===`Epoch`)t.expiration={kind:Xm.EPOCH,epoch:BigInt(e.expiration.Epoch)};else if(e.expiration.$kind===`ValidDuring`){let n=e.expiration.ValidDuring;t.expiration={kind:Xm.VALID_DURING,minEpoch:n.minEpoch==null?void 0:BigInt(n.minEpoch),epoch:n.maxEpoch==null?void 0:BigInt(n.maxEpoch),chain:n.chain,nonce:n.nonce}}}return t}function Nh(e,t,n){let r=Rh(t);n?.onlyTransactionKind?e.applyResolvedData({...r,gasData:{budget:null,owner:null,payment:null,price:null},expiration:null}):e.applyResolvedData(r)}function Ph(e){let t=e.getData();return t.sender||=`0x0000000000000000000000000000000000000000000000000000000000000000`,Mh(t)}function Fh(e){switch(e.kind){case Im.PURE:return{$kind:`Pure`,Pure:{bytes:T(e.pure)}};case Im.IMMUTABLE_OR_OWNED:return{$kind:`Object`,Object:{$kind:`ImmOrOwnedObject`,ImmOrOwnedObject:{objectId:e.objectId,version:e.version.toString(),digest:e.digest}}};case Im.SHARED:return{$kind:`Object`,Object:{$kind:`SharedObject`,SharedObject:{objectId:e.objectId,initialSharedVersion:e.version.toString(),mutable:e.mutable??!1}}};case Im.RECEIVING:return{$kind:`Object`,Object:{$kind:`Receiving`,Receiving:{objectId:e.objectId,version:e.version.toString(),digest:e.digest}}};case Im.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===Rm.SPONSOR?{$kind:`Sponsor`,Sponsor:!0}:{$kind:`Sender`,Sender:!0}}};default:throw Error(`Unknown Input kind: ${JSON.stringify(e)}`)}}function Ih(e){switch(e.kind){case Pm.GAS:return{$kind:`GasCoin`,GasCoin:!0};case Pm.INPUT:return{$kind:`Input`,Input:e.input};case Pm.RESULT:return e.subresult==null?{$kind:`Result`,Result:e.result}:{$kind:`NestedResult`,NestedResult:[e.result,e.subresult]};default:throw Error(`Unknown Argument kind: ${JSON.stringify(e)}`)}}function Lh(e){let t=e.command;if(!t)throw 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(Ih)}};case`transferObjects`:return{$kind:`TransferObjects`,TransferObjects:{objects:t.transferObjects.objects.map(Ih),address:Ih(t.transferObjects.address)}};case`splitCoins`:return{$kind:`SplitCoins`,SplitCoins:{coin:Ih(t.splitCoins.coin),amounts:t.splitCoins.amounts.map(Ih)}};case`mergeCoins`:return{$kind:`MergeCoins`,MergeCoins:{destination:Ih(t.mergeCoins.coin),sources:t.mergeCoins.coinsToMerge.map(Ih)}};case`publish`:return{$kind:`Publish`,Publish:{modules:t.publish.modules.map(e=>T(e)),dependencies:t.publish.dependencies??[]}};case`makeMoveVector`:return{$kind:`MakeMoveVec`,MakeMoveVec:{type:t.makeMoveVector.elementType??null,elements:t.makeMoveVector.elements.map(Ih)}};case`upgrade`:return{$kind:`Upgrade`,Upgrade:{modules:t.upgrade.modules.map(e=>T(e)),dependencies:t.upgrade.dependencies??[],package:t.upgrade.package,ticket:Ih(t.upgrade.ticket)}};default:throw Error(`Unknown Command kind: ${JSON.stringify(t)}`)}}function Rh(e){let t=e.kind?.data;if(t?.oneofKind!==`programmableTransaction`)throw Error(`Only programmable transactions are supported`);let n=t.programmableTransaction.inputs.map(Fh),r=t.programmableTransaction.commands.map(Lh),i=null;if(e.expiration)switch(e.expiration.kind){case Xm.NONE:i={$kind:`None`,None:!0};break;case Xm.EPOCH:i={$kind:`Epoch`,Epoch:e.expiration.epoch.toString()};break;case Xm.VALID_DURING:i={$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:i,gasData:{budget:e.gasPayment?.budget?.toString()??null,owner:e.gasPayment?.owner??null,payment:e.gasPayment?.objects?.map(e=>({objectId:e.objectId,version:e.version.toString(),digest:e.digest}))??null,price:e.gasPayment?.price?.toString()??null},inputs:n,commands:r}}var zh=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}({}),Bh=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}({}),Vh=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}({}),Hh=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}({}),Uh=new class extends q{constructor(){super(`sui.rpc.v2.ExecutionStatus`,[{no:1,name:`success`,kind:`scalar`,opt:!0,T:8},{no:2,name:`error`,kind:`message`,T:()=>Wh}])}},Wh=new class extends q{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`,zh]},{no:4,name:`abort`,kind:`message`,oneof:`errorDetails`,T:()=>Gh},{no:5,name:`size_error`,kind:`message`,oneof:`errorDetails`,T:()=>Jh},{no:6,name:`command_argument_error`,kind:`message`,oneof:`errorDetails`,T:()=>Qh},{no:7,name:`type_argument_error`,kind:`message`,oneof:`errorDetails`,T:()=>eg},{no:8,name:`package_upgrade_error`,kind:`message`,oneof:`errorDetails`,T:()=>$h},{no:9,name:`index_error`,kind:`message`,oneof:`errorDetails`,T:()=>Yh},{no:10,name:`object_id`,kind:`scalar`,oneof:`errorDetails`,T:9},{no:11,name:`coin_deny_list_error`,kind:`message`,oneof:`errorDetails`,T:()=>Xh},{no:12,name:`congested_objects`,kind:`message`,oneof:`errorDetails`,T:()=>Zh}])}},Gh=new class extends q{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:()=>Kh},{no:3,name:`clever_error`,kind:`message`,T:()=>qh}])}},Kh=new class extends q{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}])}},qh=new class extends q{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}])}},Jh=new class extends q{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}])}},Yh=new class extends q{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}])}},Xh=new class extends q{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}])}},Zh=new class extends q{constructor(){super(`sui.rpc.v2.CongestedObjects`,[{no:1,name:`objects`,kind:`scalar`,repeat:2,T:9}])}},Qh=new class extends q{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`,Bh]},{no:3,name:`index_error`,kind:`message`,T:()=>Yh}])}},$h=new class extends q{constructor(){super(`sui.rpc.v2.PackageUpgradeError`,[{no:1,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.PackageUpgradeError.PackageUpgradeErrorKind`,Vh]},{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}])}},eg=new class extends q{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`,Hh]}])}},tg=new class extends q{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}])}},ng=function(e){return e[e.UNKNOWN=0]=`UNKNOWN`,e[e.DOES_NOT_EXIST=1]=`DOES_NOT_EXIST`,e[e.EXISTS=2]=`EXISTS`,e}({}),rg=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}({}),ig=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}({}),ag=function(e){return e[e.ACCUMULATOR_OPERATION_UNKNOWN=0]=`ACCUMULATOR_OPERATION_UNKNOWN`,e[e.MERGE=1]=`MERGE`,e[e.SPLIT=2]=`SPLIT`,e}({}),og=function(e){return e[e.ACCUMULATOR_VALUE_UNKNOWN=0]=`ACCUMULATOR_VALUE_UNKNOWN`,e[e.INTEGER=1]=`INTEGER`,e[e.INTEGER_TUPLE=2]=`INTEGER_TUPLE`,e[e.EVENT_DIGEST=3]=`EVENT_DIGEST`,e}({}),sg=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}({}),cg=new class extends q{constructor(){super(`sui.rpc.v2.TransactionEffects`,[{no:1,name:`bcs`,kind:`message`,T:()=>Wm},{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:()=>Uh},{no:5,name:`epoch`,kind:`scalar`,opt:!0,T:4,L:0},{no:6,name:`gas_used`,kind:`message`,T:()=>tg},{no:7,name:`transaction_digest`,kind:`scalar`,opt:!0,T:9},{no:8,name:`gas_object`,kind:`message`,T:()=>lg},{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:2,T:()=>lg},{no:13,name:`unchanged_consensus_objects`,kind:`message`,repeat:2,T:()=>fg},{no:14,name:`auxiliary_data_digest`,kind:`scalar`,opt:!0,T:9},{no:15,name:`unchanged_loaded_runtime_objects`,kind:`message`,repeat:2,T:()=>Ym}])}},lg=new class extends q{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`,ng,`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:()=>Nm},{no:6,name:`output_state`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.ChangedObject.OutputObjectState`,rg,`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:()=>Nm},{no:12,name:`accumulator_write`,kind:`message`,T:()=>dg},{no:10,name:`id_operation`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.ChangedObject.IdOperation`,ig]},{no:11,name:`object_type`,kind:`scalar`,opt:!0,T:9}])}},ug=new class extends q{constructor(){super(`sui.rpc.v2.EventDigestEntry`,[{no:1,name:`event_index`,kind:`scalar`,opt:!0,T:4,L:0},{no:2,name:`digest`,kind:`scalar`,opt:!0,T:9}])}},dg=new class extends q{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`,ag]},{no:4,name:`value_kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.AccumulatorWrite.AccumulatorValue`,og]},{no:5,name:`integer_value`,kind:`scalar`,opt:!0,T:4,L:0},{no:6,name:`integer_tuple`,kind:`scalar`,repeat:1,T:4,L:0},{no:7,name:`event_digest_value`,kind:`message`,repeat:2,T:()=>ug}])}},fg=new class extends q{constructor(){super(`sui.rpc.v2.UnchangedConsensusObject`,[{no:1,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.UnchangedConsensusObject.UnchangedConsensusObjectKind`,sg]},{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}])}},pg=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}({}),mg=new class extends q{constructor(){super(`sui.rpc.v2.UserSignature`,[{no:1,name:`bcs`,kind:`message`,T:()=>Wm},{no:2,name:`scheme`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.SignatureScheme`,pg]},{no:3,name:`simple`,kind:`message`,oneof:`signature`,T:()=>hg},{no:4,name:`multisig`,kind:`message`,oneof:`signature`,T:()=>bg},{no:5,name:`zklogin`,kind:`message`,oneof:`signature`,T:()=>Sg},{no:6,name:`passkey`,kind:`message`,oneof:`signature`,T:()=>Og}])}},hg=new class extends q{constructor(){super(`sui.rpc.v2.SimpleSignature`,[{no:1,name:`scheme`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.SignatureScheme`,pg]},{no:2,name:`signature`,kind:`scalar`,opt:!0,T:12},{no:3,name:`public_key`,kind:`scalar`,opt:!0,T:12}])}},gg=new class extends q{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}])}},_g=new class extends q{constructor(){super(`sui.rpc.v2.MultisigMemberPublicKey`,[{no:1,name:`scheme`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.SignatureScheme`,pg]},{no:2,name:`public_key`,kind:`scalar`,opt:!0,T:12},{no:3,name:`zklogin`,kind:`message`,T:()=>gg}])}},vg=new class extends q{constructor(){super(`sui.rpc.v2.MultisigMember`,[{no:1,name:`public_key`,kind:`message`,T:()=>_g},{no:2,name:`weight`,kind:`scalar`,opt:!0,T:13}])}},yg=new class extends q{constructor(){super(`sui.rpc.v2.MultisigCommittee`,[{no:1,name:`members`,kind:`message`,repeat:2,T:()=>vg},{no:2,name:`threshold`,kind:`scalar`,opt:!0,T:13}])}},bg=new class extends q{constructor(){super(`sui.rpc.v2.MultisigAggregatedSignature`,[{no:1,name:`signatures`,kind:`message`,repeat:2,T:()=>xg},{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:()=>yg}])}},xg=new class extends q{constructor(){super(`sui.rpc.v2.MultisigMemberSignature`,[{no:1,name:`scheme`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.SignatureScheme`,pg]},{no:2,name:`signature`,kind:`scalar`,opt:!0,T:12},{no:3,name:`zklogin`,kind:`message`,T:()=>Sg},{no:4,name:`passkey`,kind:`message`,T:()=>Og}])}},Sg=new class extends q{constructor(){super(`sui.rpc.v2.ZkLoginAuthenticator`,[{no:1,name:`inputs`,kind:`message`,T:()=>Cg},{no:2,name:`max_epoch`,kind:`scalar`,opt:!0,T:4,L:0},{no:3,name:`signature`,kind:`message`,T:()=>hg},{no:4,name:`public_identifier`,kind:`message`,T:()=>gg},{no:5,name:`jwk_id`,kind:`message`,T:()=>Hm}])}},Cg=new class extends q{constructor(){super(`sui.rpc.v2.ZkLoginInputs`,[{no:1,name:`proof_points`,kind:`message`,T:()=>wg},{no:2,name:`iss_base64_details`,kind:`message`,T:()=>Tg},{no:3,name:`header_base64`,kind:`scalar`,opt:!0,T:9},{no:4,name:`address_seed`,kind:`scalar`,opt:!0,T:9}])}},wg=new class extends q{constructor(){super(`sui.rpc.v2.ZkLoginProof`,[{no:1,name:`a`,kind:`message`,T:()=>Eg},{no:2,name:`b`,kind:`message`,T:()=>Dg},{no:3,name:`c`,kind:`message`,T:()=>Eg}])}},Tg=new class extends q{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}])}},Eg=new class extends q{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}])}},Dg=new class extends q{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}])}},Og=new class extends q{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:()=>hg}])}},kg=new class extends q{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:2,T:()=>Ag}])}},Ag=new class extends q{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}])}},jg=new class extends q{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}])}},Mg=new class extends q{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}])}},Ng=new class extends q{constructor(){super(`sui.rpc.v2.TransactionEvents`,[{no:1,name:`bcs`,kind:`message`,T:()=>Wm},{no:2,name:`digest`,kind:`scalar`,opt:!0,T:9},{no:3,name:`events`,kind:`message`,repeat:2,T:()=>Pg}])}},Pg=new class extends q{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:()=>Wm},{no:6,name:`json`,kind:`message`,T:()=>mm}])}},Fg=new class extends q{constructor(){super(`sui.rpc.v2.ExecutedTransaction`,[{no:1,name:`digest`,kind:`scalar`,opt:!0,T:9},{no:2,name:`transaction`,kind:`message`,T:()=>eh},{no:3,name:`signatures`,kind:`message`,repeat:2,T:()=>mg},{no:4,name:`effects`,kind:`message`,T:()=>cg},{no:5,name:`events`,kind:`message`,T:()=>Ng},{no:6,name:`checkpoint`,kind:`scalar`,opt:!0,T:4,L:0},{no:7,name:`timestamp`,kind:`message`,T:()=>Jm},{no:8,name:`balance_changes`,kind:`message`,repeat:2,T:()=>Mg},{no:9,name:`objects`,kind:`message`,T:()=>Km}])}},Ig=new class extends q{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(e=>{if(n.test(e))throw Error(`Unable to encode FieldMask to JSON. lowerCamelCase of path name "`+e+`" is irreversible.`);return Gp(e)}).join(`,`)}internalJsonRead(e,t,n){if(typeof e!=`string`)throw Error(`Unable to parse FieldMask from JSON `+tp(e)+`. Expected string.`);return n||=this.create(),e===``||(n.paths=e.split(`,`).map(e=>{if(e.includes(`_`))throw Error(`Unable to parse FieldMask from JSON. Path names must be lowerCamelCase.`);return e.replace(/[A-Z]/g,e=>`_`+e.toLowerCase())})),n}};function Lg(e,t){let n=e;return n.service=t,n.localName=n.localName??Gp(n.name),n.serverStreaming=!!n.serverStreaming,n.clientStreaming=!!n.clientStreaming,n.options=n.options??{},n.idempotency=n.idempotency??void 0,n}var Rg=class{constructor(e,t,n){this.typeName=e,this.methods=t.map(e=>Lg(e,this)),this.options=n??{}}},J=class extends Error{constructor(e,t=`UNKNOWN`,n){super(e),this.name=`RpcError`,Object.setPrototypeOf(this,new.target.prototype),this.code=t,this.meta=n??{}}toString(){let e=[this.name+`: `+this.message];this.code&&(e.push(``),e.push(`Code: `+this.code)),this.serviceName&&this.methodName&&e.push(`Method: `+this.serviceName+`/`+this.methodName);let t=Object.entries(this.meta);if(t.length){e.push(``),e.push(`Meta:`);for(let[n,r]of t)e.push(` ${n}: ${r}`)}return e.join(`
|
|
5
|
+
`)}};function zg(e,t){if(!t)return e;let n={};Bg(e,n),Bg(t,n);for(let r of Object.keys(t)){let i=t[r];switch(r){case`jsonOptions`:n.jsonOptions=Up(e.jsonOptions,n.jsonOptions);break;case`binaryOptions`:n.binaryOptions=cp(e.binaryOptions,n.binaryOptions);break;case`meta`:n.meta={},Bg(e.meta,n.meta),Bg(t.meta,n.meta);break;case`interceptors`:n.interceptors=e.interceptors?e.interceptors.concat(i):i.concat();break}}return n}function Bg(e,t){if(!e)return;let n=t;for(let[t,r]of Object.entries(e))r instanceof Date?n[t]=new Date(r.getTime()):Array.isArray(r)?n[t]=r.concat():n[t]=r}var Vg;(function(e){e[e.PENDING=0]=`PENDING`,e[e.REJECTED=1]=`REJECTED`,e[e.RESOLVED=2]=`RESOLVED`})(Vg||={});var Hg=class{constructor(e=!0){this._state=Vg.PENDING,this._promise=new Promise((e,t)=>{this._resolve=e,this._reject=t}),e&&this._promise.catch(e=>{})}get state(){return this._state}get promise(){return this._promise}resolve(e){if(this.state!==Vg.PENDING)throw Error(`cannot resolve ${Vg[this.state].toLowerCase()}`);this._resolve(e),this._state=Vg.RESOLVED}reject(e){if(this.state!==Vg.PENDING)throw Error(`cannot reject ${Vg[this.state].toLowerCase()}`);this._reject(e),this._state=Vg.REJECTED}resolvePending(e){this._state===Vg.PENDING&&this.resolve(e)}rejectPending(e){this._state===Vg.PENDING&&this.reject(e)}},Ug=class{constructor(){this._lis={nxt:[],msg:[],err:[],cmp:[]},this._closed=!1,this._itState={q:[]}}onNext(e){return this.addLis(e,this._lis.nxt)}onMessage(e){return this.addLis(e,this._lis.msg)}onError(e){return this.addLis(e,this._lis.err)}onComplete(e){return this.addLis(e,this._lis.cmp)}addLis(e,t){return t.push(e),()=>{let n=t.indexOf(e);n>=0&&t.splice(n,1)}}clearLis(){for(let e of Object.values(this._lis))e.splice(0,e.length)}get closed(){return this._closed!==!1}notifyNext(e,t,n){G(+!!e+ +!!t+ +!!n<=1,`only one emission at a time`),e&&this.notifyMessage(e),t&&this.notifyError(t),n&&this.notifyComplete()}notifyMessage(e){G(!this.closed,`stream is closed`),this.pushIt({value:e,done:!1}),this._lis.msg.forEach(t=>t(e)),this._lis.nxt.forEach(t=>t(e,void 0,!1))}notifyError(e){G(!this.closed,`stream is closed`),this._closed=e,this.pushIt(e),this._lis.err.forEach(t=>t(e)),this._lis.nxt.forEach(t=>t(void 0,e,!1)),this.clearLis()}notifyComplete(){G(!this.closed,`stream is closed`),this._closed=!0,this.pushIt({value:null,done:!0}),this._lis.cmp.forEach(e=>e()),this._lis.nxt.forEach(e=>e(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 e=this._itState;G(e,`bad state`),G(!e.p,`iterator contract broken`);let t=e.q.shift();return t?`value`in t?Promise.resolve(t):Promise.reject(t):(e.p=new Hg,e.p.promise)}}}pushIt(e){let t=this._itState;if(t.p){let n=t.p;G(n.state==Vg.PENDING,`iterator contract broken`),`value`in e?n.resolve(e):n.reject(e),delete t.p}else t.q.push(e)}},Wg=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},Gg=class{constructor(e,t,n,r,i,a,o){this.method=e,this.requestHeaders=t,this.request=n,this.headers=r,this.response=i,this.status=a,this.trailers=o}then(e,t){return this.promiseFinished().then(t=>e?Promise.resolve(e(t)):t,e=>t?Promise.resolve(t(e)):Promise.reject(e))}promiseFinished(){return Wg(this,void 0,void 0,function*(){let[e,t,n,r]=yield Promise.all([this.headers,this.response,this.status,this.trailers]);return{method:this.method,requestHeaders:this.requestHeaders,request:this.request,headers:e,response:t,status:n,trailers:r}})}},Kg=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},qg=class{constructor(e,t,n,r,i,a,o){this.method=e,this.requestHeaders=t,this.request=n,this.headers=r,this.responses=i,this.status=a,this.trailers=o}then(e,t){return this.promiseFinished().then(t=>e?Promise.resolve(e(t)):t,e=>t?Promise.resolve(t(e)):Promise.reject(e))}promiseFinished(){return Kg(this,void 0,void 0,function*(){let[e,t,n]=yield Promise.all([this.headers,this.status,this.trailers]);return{method:this.method,requestHeaders:this.requestHeaders,request:this.request,headers:e,status:t,trailers:n}})}};function Y(e,t,n,r,i){if(e==`unary`){let e=(e,n,r)=>t.unary(e,n,r);for(let t of(r.interceptors??[]).filter(e=>e.interceptUnary).reverse()){let n=e;e=(e,r,i)=>t.interceptUnary(n,e,r,i)}return e(n,i,r)}if(e==`serverStreaming`){let e=(e,n,r)=>t.serverStreaming(e,n,r);for(let t of(r.interceptors??[]).filter(e=>e.interceptServerStreaming).reverse()){let n=e;e=(e,r,i)=>t.interceptServerStreaming(n,e,r,i)}return e(n,i,r)}if(e==`clientStreaming`){let e=(e,n)=>t.clientStreaming(e,n);for(let t of(r.interceptors??[]).filter(e=>e.interceptClientStreaming).reverse()){let n=e;e=(e,r)=>t.interceptClientStreaming(n,e,r)}return e(n,r)}if(e==`duplex`){let e=(e,n)=>t.duplex(e,n);for(let t of(r.interceptors??[]).filter(e=>e.interceptDuplex).reverse()){let n=e;e=(e,r)=>t.interceptDuplex(n,e,r)}return e(n,r)}Dp(e)}var Jg=function(e){return e[e.ENABLED=0]=`ENABLED`,e[e.DISABLED=1]=`DISABLED`,e}({}),Yg=new class extends q{constructor(){super(`sui.rpc.v2.ExecuteTransactionRequest`,[{no:1,name:`transaction`,kind:`message`,T:()=>eh},{no:2,name:`signatures`,kind:`message`,repeat:2,T:()=>mg},{no:3,name:`read_mask`,kind:`message`,T:()=>Ig}])}},Xg=new class extends q{constructor(){super(`sui.rpc.v2.ExecuteTransactionResponse`,[{no:1,name:`transaction`,kind:`message`,T:()=>Fg}])}},Zg=new class extends q{constructor(){super(`sui.rpc.v2.SimulateTransactionRequest`,[{no:1,name:`transaction`,kind:`message`,T:()=>eh},{no:2,name:`read_mask`,kind:`message`,T:()=>Ig},{no:3,name:`checks`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.SimulateTransactionRequest.TransactionChecks`,Jg]},{no:4,name:`do_gas_selection`,kind:`scalar`,opt:!0,T:8}])}},Qg=new class extends q{constructor(){super(`sui.rpc.v2.SimulateTransactionResponse`,[{no:1,name:`transaction`,kind:`message`,T:()=>Fg},{no:2,name:`command_outputs`,kind:`message`,repeat:2,T:()=>$g},{no:3,name:`suggested_gas_price`,kind:`scalar`,opt:!0,T:4,L:0}])}},$g=new class extends q{constructor(){super(`sui.rpc.v2.CommandResult`,[{no:1,name:`return_values`,kind:`message`,repeat:2,T:()=>e_},{no:2,name:`mutated_by_ref`,kind:`message`,repeat:2,T:()=>e_}])}},e_=new class extends q{constructor(){super(`sui.rpc.v2.CommandOutput`,[{no:1,name:`argument`,kind:`message`,T:()=>Fm},{no:2,name:`value`,kind:`message`,T:()=>Wm},{no:3,name:`json`,kind:`message`,T:()=>mm}])}},t_=new Rg(`sui.rpc.v2.TransactionExecutionService`,[{name:`ExecuteTransaction`,options:{},I:Yg,O:Xg},{name:`SimulateTransaction`,options:{},I:Zg,O:Qg}]),n_=class extends ic{#e;constructor({client:e,...t}){super(t),this.#e=e}async getObjects(e){let t=Ce(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 i of t){let t=await this.#e.ledgerService.batchGetObjects({requests:i.map(e=>({objectId:e})),readMask:{paths:r}});n.push(...t.response.objects.map(t=>{if(t.result.oneofKind===`error`)return Error(t.result.error.message);if(t.result.oneofKind!==`object`)return Error(`Unexpected result type`);let n=t.result.object.contents?.value??void 0,r=t.result.object.bcs?.value??void 0,i=t.result.object.objectType,a=i&&i.includes(`::`)?_t(i):i??``,o=e.include?.json?t.result.object.json?mm.toJson(t.result.object.json):null:void 0,s=r_(e.include?.display,t.result.object.display);return{objectId:t.result.object.objectId,version:t.result.object.version?.toString(),digest:t.result.object.digest,content:n,owner:i_(t.result.object.owner),type:a,previousTransaction:t.result.object.previousTransaction??void 0,objectBcs:r,json:o,display:s}}))}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?w(e.cursor):void 0,pageSize:e.limit,readMask:{paths:t}});return{objects:n.response.objects.map(t=>({objectId:t.objectId,version:t.version?.toString(),digest:t.digest,content:t.contents?.value,owner:i_(t.owner),type:t.objectType,previousTransaction:t.previousTransaction??void 0,objectBcs:t.bcs?.value,json:e.include?.json?t.json?mm.toJson(t.json):null:void 0,display:r_(e.include?.display,t.display)})),cursor:n.response.nextPageToken?T(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??ua,r=await this.#e.stateService.listOwnedObjects({owner:e.owner,objectType:`0x2::coin::Coin<${(await this.mvr.resolveType({type:n})).type}>`,pageToken:e.cursor?w(e.cursor):void 0,readMask:{paths:t}});return{objects:r.response.objects.map(e=>({objectId:e.objectId,version:e.version?.toString(),digest:e.digest,owner:i_(e.owner),type:e.objectType,balance:e.balance?.toString()})),cursor:r.response.nextPageToken?T(r.response.nextPageToken):null,hasNextPage:r.response.nextPageToken!==void 0}}async getBalance(e){let t=e.coinType??ua,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?w(e.cursor):void 0,pageSize:e.limit});return{hasNextPage:!!t.response.nextPageToken,cursor:t.response.nextPageToken?T(t.response.nextPageToken):null,balances:t.response.balances.map(e=>({balance:e.balance?.toString()??`0`,coinType:e.coinType,coinBalance:e.coinBalance?.toString()??`0`,addressBalance:e.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 Error(`Transaction ${e.digest} not found`);return p_(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(e=>({bcs:{value:w(e)},signature:{oneofKind:void 0}})),readMask:{paths:t}});return p_(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}}:Ph(e.transaction),readMask:{paths:t},doGasSelection:!1,checks:e.checksEnabled===!1?Jg.DISABLED:Jg.ENABLED}),r=p_(n.transaction,e.include),i=e.include?.commandResults&&n.commandOutputs?n.commandOutputs.map(e=>({returnValues:(e.returnValues??[]).map(e=>({bcs:e.value?.value??null})),mutatedReferences:(e.mutatedByRef??[]).map(e=>({bcs:e.value?.value??null}))})):void 0;return r.$kind===`Transaction`?{$kind:`Transaction`,Transaction:r.Transaction,commandResults:i}:{$kind:`FailedTransaction`,FailedTransaction:r.FailedTransaction,commandResults:i}}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 Error(`Protocol config not found in response`);let t={...e.featureFlags},n={};if(e.attributes)for(let[t,r]of Object.entries(e.attributes))n[t]=r??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 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=w(e.bytes),n=e.intentScope===`PersonalMessage`?I.byteVector().serialize(t).toBytes():t,{response:r}=await this.#e.signatureVerificationService.verifySignature({message:{name:e.intentScope,value:n},signature:{bcs:{value:w(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 vm.PUBLIC:r=`public`;break;case vm.PRIVATE:r=`private`;break;case vm.FRIEND:r=`friend`;break}return{function:{packageId:D(t),moduleName:e.moduleName,name:n.function?.name,visibility:r,isEntry:n.function?.isEntry??!1,typeParameters:n.function?.typeParameters?.map(({constraints:e})=>({isPhantom:!1,constraints:e.map(e=>{switch(e){case bm.COPY:return`copy`;case bm.DROP:return`drop`;case bm.STORE:return`store`;case bm.KEY:return`key`;default:return`unknown`}})??[]}))??[],parameters:n.function?.parameters?.map(e=>m_(e))??[],returns:n.function?.returns?.map(e=>m_(e))??[]}}}async getChainIdentifier(e){return this.cache.read([`chainIdentifier`],async()=>{let{response:e}=await this.#e.ledgerService.getServiceInfo({});if(!e.chainId)throw Error(`Chain identifier not found in service info`);return{chainIdentifier:e.chainId}})}resolveTransactionPlugin(){let e=this.#e;return async function(t,n,r){let i=t.snapshot();i.sender||=`0x0000000000000000000000000000000000000000000000000000000000000000`;let a=Mh(i),o;try{o=(await e.transactionExecutionService.simulateTransaction({transaction:a,doGasSelection:!n.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(e){throw e instanceof Error&&e.message?new Ma(decodeURIComponent(e.message),{cause:e}):e}if(!n.onlyTransactionKind&&o.transaction?.effects?.status&&!o.transaction.effects.status.success){let e=o.transaction.effects.status.error?a_(o.transaction.effects.status.error):void 0;throw new Ma(`Transaction resolution failed: ${e?.message??`Transaction failed`}`,{executionError:e})}if(!o.transaction?.transaction)throw Error(`simulateTransaction did not return resolved transaction data`);return Nh(t,o.transaction.transaction,n),await r()}}};function r_(e,t){if(e)return t===void 0?null:{output:t.output===void 0?null:mm.toJson(t.output),errors:t.errors===void 0?null:mm.toJson(t.errors)}}function i_(e){if(!e)return null;if(e.kind===Mm.IMMUTABLE)return{$kind:`Immutable`,Immutable:!0};if(e.kind===Mm.ADDRESS)return{AddressOwner:e.address,$kind:`AddressOwner`};if(e.kind===Mm.OBJECT)return{$kind:`ObjectOwner`,ObjectOwner:e.address};if(e.kind===Mm.SHARED)return{$kind:`Shared`,Shared:{initialSharedVersion:e.version?.toString()}};if(e.kind===Mm.CONSENSUS_ADDRESS)return{$kind:`ConsensusAddressOwner`,ConsensusAddressOwner:{startVersion:e.version?.toString(),owner:e.address}};throw Error(`Unknown owner kind ${JSON.stringify(e,(e,t)=>typeof t==`bigint`?t.toString():t)}`)}function a_(e){let t=e.description??`Unknown error`,n=e.command==null?void 0:Number(e.command),r=e.errorDetails;switch(r?.oneofKind){case`abort`:{let e=r.abort,t=e.cleverError;return{$kind:`MoveAbort`,message:cc({command:n,location:e.location,abortCode:String(e.abortCode??0n),cleverError:t?{lineNumber:t.lineNumber==null?void 0:Number(t.lineNumber),constantName:t.constantName,value:t.value?.oneofKind===`rendered`?t.value.rendered:void 0}:void 0}),command:n,MoveAbort:o_(e)}}case`sizeError`:return{$kind:`SizeError`,message:t,command:n,SizeError:{name:s_(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:s_(r.commandArgumentError.kind)}};case`typeArgumentError`:return{$kind:`TypeArgumentError`,message:t,command:n,TypeArgumentError:{typeArgument:r.typeArgumentError.typeArgument??0,name:s_(r.typeArgumentError.kind)}};case`packageUpgradeError`:return{$kind:`PackageUpgradeError`,message:t,command:n,PackageUpgradeError:{name:s_(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:s_(e.kind),coinType:r.coinDenyListError.coinType,address:r.coinDenyListError.address}};case`congestedObjects`:return{$kind:`CongestedObjects`,message:t,command:n,CongestedObjects:{name:s_(e.kind),objects:r.congestedObjects.objects}};case`objectId`:return{$kind:`ObjectIdError`,message:t,command:n,ObjectIdError:{name:s_(e.kind),objectId:r.objectId}};default:return{$kind:`Unknown`,message:t,command:n,Unknown:null}}}function o_(e){return{abortCode:String(e.abortCode??0n),location:{...e.location},cleverError:e.cleverError?{errorCode:e.cleverError.errorCode==null?void 0:Number(e.cleverError.errorCode),lineNumber:e.cleverError.lineNumber==null?void 0:Number(e.cleverError.lineNumber),constantName:e.cleverError.constantName,constantType:e.cleverError.constantType,value:e.cleverError.value?.oneofKind===`rendered`?e.cleverError.value.rendered:e.cleverError.value?.oneofKind===`raw`?T(e.cleverError.value.raw):void 0}:void 0}}function s_(e){if(e==null)return`Unknown`;let t=Bh[e];return!t||t.endsWith(`_UNKNOWN`)?`Unknown`:t.split(`_`).map(e=>e.charAt(0)+e.slice(1).toLowerCase()).join(``)}function c_(e){if(e==null)return null;switch(e){case ig.CREATED:return`Created`;case ig.DELETED:return`Deleted`;case ig.NONE:case ig.ID_OPERATION_UNKNOWN:return`None`;default:return`Unknown`}}function l_(e){if(e==null)return null;switch(e){case ng.EXISTS:return`Exists`;case ng.DOES_NOT_EXIST:return`DoesNotExist`;case ng.UNKNOWN:return`Unknown`;default:return`Unknown`}}function u_(e){if(e==null)return null;switch(e){case rg.OBJECT_WRITE:return`ObjectWrite`;case rg.PACKAGE_WRITE:return`PackageWrite`;case rg.DOES_NOT_EXIST:return`DoesNotExist`;case rg.ACCUMULATOR_WRITE:return`AccumulatorWriteV1`;case rg.UNKNOWN:return`Unknown`;default:return`Unknown`}}function d_(e){if(e==null)return null;switch(e){case sg.UNCHANGED_CONSENSUS_OBJECT_KIND_UNKNOWN:return`Unknown`;case sg.READ_ONLY_ROOT:return`ReadOnlyRoot`;case sg.MUTATE_CONSENSUS_STREAM_ENDED:return`MutateConsensusStreamEnded`;case sg.READ_CONSENSUS_STREAM_ENDED:return`ReadConsensusStreamEnded`;case sg.CANCELED:return`Cancelled`;case sg.PER_EPOCH_CONFIG:return`PerEpochConfig`;default:return`Unknown`}}function f_({effects:e}){if(!e)return null;let t=e.changedObjects.map(e=>({objectId:e.objectId,inputState:l_(e.inputState),inputVersion:e.inputVersion?.toString()??null,inputDigest:e.inputDigest??null,inputOwner:i_(e.inputOwner),outputState:u_(e.outputState),outputVersion:e.outputVersion?.toString()??null,outputDigest:e.outputDigest??null,outputOwner:i_(e.outputOwner),idOperation:c_(e.idOperation)}));return{bcs:e.bcs?.value,version:2,status:e.status?.success?{success:!0,error:null}:{success:!1,error:a_(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:l_(e.gasObject?.inputState),inputVersion:e.gasObject?.inputVersion?.toString()??null,inputDigest:e.gasObject?.inputDigest??null,inputOwner:i_(e.gasObject?.inputOwner),outputState:u_(e.gasObject?.outputState),outputVersion:e.gasObject?.outputVersion?.toString()??null,outputDigest:e.gasObject?.outputDigest??null,outputOwner:i_(e.gasObject?.outputOwner),idOperation:c_(e.gasObject?.idOperation)},eventsDigest:e.eventsDigest??null,dependencies:e.dependencies,lamportVersion:e.lamportVersion?.toString()??null,changedObjects:t,unchangedConsensusObjects:e.unchangedConsensusObjects.map(e=>({kind:d_(e.kind),objectId:e.objectId,version:e.version?.toString()??null,digest:e.digest??null})),auxiliaryDataDigest:e.auxiliaryDataDigest??null}}function p_(e,t){let n={};t?.objectTypes&&e.effects?.changedObjects?.forEach(e=>{e.objectId&&e.objectType&&(n[e.objectId]=e.objectType)});let r;if(t?.transaction){let t=e.transaction;if(!t)throw Error(`Transaction data is required but missing from gRPC response`);let n=Rh(t);r={gasData:n.gasData,sender:n.sender,expiration:n.expiration,commands:n.commands,inputs:n.inputs,version:n.version}}let i=t?.bcs?e.transaction?.bcs?.value:void 0,a=t?.effects?f_({effects:e.effects}):void 0,o=e.effects?.status?.success?{success:!0,error:null}:{success:!1,error:e.effects?.status?.error?a_(e.effects.status.error):{$kind:`Unknown`,message:`Transaction failed`,Unknown:null}},s={digest:e.digest,epoch:e.effects?.epoch?.toString()??null,status:o,effects:a,objectTypes:t?.objectTypes?n:void 0,transaction:r,bcs:i,signatures:e.signatures?.map(e=>T(e.bcs?.value))??[],balanceChanges:t?.balanceChanges?e.balanceChanges?.map(e=>({coinType:e.coinType,address:e.address,amount:e.amount}))??[]:void 0,events:t?.events?e.events?.events.map(e=>({packageId:D(e.packageId),module:e.module,sender:D(e.sender),eventType:e.eventType,bcs:e.contents?.value??new Uint8Array,json:e.json?mm.toJson(e.json):null}))??[]:void 0};return o.success?{$kind:`Transaction`,Transaction:s}:{$kind:`FailedTransaction`,FailedTransaction:s}}function m_(e){let t=null;return e.reference===ym.IMMUTABLE?t=`immutable`:e.reference===ym.MUTABLE&&(t=`mutable`),{reference:t,body:h_(e.body)}}function h_(e){switch(e.type){case _m.TYPE_UNKNOWN:return{$kind:`unknown`};case _m.ADDRESS:return{$kind:`address`};case _m.BOOL:return{$kind:`bool`};case _m.U8:return{$kind:`u8`};case _m.U16:return{$kind:`u16`};case _m.U32:return{$kind:`u32`};case _m.U64:return{$kind:`u64`};case _m.U128:return{$kind:`u128`};case _m.U256:return{$kind:`u256`};case _m.VECTOR:return{$kind:`vector`,vector:h_(e.typeParameterInstantiation[0])};case _m.DATATYPE:return{$kind:`datatype`,datatype:{typeName:e.typeName,typeParameters:e.typeParameterInstantiation.map(e=>h_(e))}};case _m.TYPE_PARAMETER:return{$kind:`typeParameter`,index:e.typeParameter};default:return{$kind:`unknown`}}}var g_=class{constructor(e){this._transport=e,this.typeName=t_.typeName,this.methods=t_.methods,this.options=t_.options}executeTransaction(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return Y(`unary`,this._transport,n,r,e)}simulateTransaction(e,t){let n=this.methods[1],r=this._transport.mergeOptions(t);return Y(`unary`,this._transport,n,r,e)}},__=new class extends q{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}}])}},v_=new class extends q{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:()=>w_},{no:5,name:`storage_fund`,kind:`message`,T:()=>C_},{no:6,name:`parameters`,kind:`message`,T:()=>b_},{no:7,name:`reference_gas_price`,kind:`scalar`,opt:!0,T:4,L:0},{no:8,name:`validator_report_records`,kind:`message`,repeat:2,T:()=>y_},{no:9,name:`stake_subsidy`,kind:`message`,T:()=>S_},{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:()=>x_}])}},y_=new class extends q{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}])}},b_=new class extends q{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:()=>x_}])}},x_=new class extends q{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}])}},S_=new class extends q{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:()=>x_}])}},C_=new class extends q{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}])}},w_=new class extends q{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:2,T:()=>T_},{no:3,name:`pending_active_validators`,kind:`message`,T:()=>x_},{no:4,name:`pending_removals`,kind:`scalar`,repeat:1,T:4,L:0},{no:5,name:`staking_pool_mappings`,kind:`message`,T:()=>x_},{no:6,name:`inactive_validators`,kind:`message`,T:()=>x_},{no:7,name:`validator_candidates`,kind:`message`,T:()=>x_},{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:()=>x_}])}},T_=new class extends q{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:()=>x_},{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:()=>E_},{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:()=>x_}])}},E_=new class extends q{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:()=>x_},{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:()=>x_}])}},D_=new class extends q{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:()=>kg},{no:3,name:`system_state`,kind:`message`,T:()=>v_},{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:()=>Jm},{no:7,name:`end`,kind:`message`,T:()=>Jm},{no:8,name:`reference_gas_price`,kind:`scalar`,opt:!0,T:4,L:0},{no:9,name:`protocol_config`,kind:`message`,T:()=>__}])}},O_=new class extends q{constructor(){super(`sui.rpc.v2.CheckpointContents`,[{no:1,name:`bcs`,kind:`message`,T:()=>Wm},{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:2,T:()=>k_}])}},k_=new class extends q{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:2,T:()=>mg},{no:4,name:`address_aliases_versions`,kind:`message`,repeat:2,T:()=>A_}])}},A_=new class extends q{constructor(){super(`sui.rpc.v2.AddressAliasesVersion`,[{no:1,name:`version`,kind:`scalar`,opt:!0,T:4,L:0}])}},j_=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}({}),M_=new class extends q{constructor(){super(`sui.rpc.v2.CheckpointSummary`,[{no:1,name:`bcs`,kind:`message`,T:()=>Wm},{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:()=>tg},{no:9,name:`timestamp`,kind:`message`,T:()=>Jm},{no:10,name:`commitments`,kind:`message`,repeat:2,T:()=>P_},{no:11,name:`end_of_epoch_data`,kind:`message`,T:()=>N_},{no:12,name:`version_specific_data`,kind:`scalar`,opt:!0,T:12}])}},N_=new class extends q{constructor(){super(`sui.rpc.v2.EndOfEpochData`,[{no:1,name:`next_epoch_committee`,kind:`message`,repeat:2,T:()=>Ag},{no:2,name:`next_epoch_protocol_version`,kind:`scalar`,opt:!0,T:4,L:0},{no:3,name:`epoch_commitments`,kind:`message`,repeat:2,T:()=>P_}])}},P_=new class extends q{constructor(){super(`sui.rpc.v2.CheckpointCommitment`,[{no:1,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.CheckpointCommitment.CheckpointCommitmentKind`,j_]},{no:2,name:`digest`,kind:`scalar`,opt:!0,T:9}])}},F_=new class extends q{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:()=>M_},{no:4,name:`signature`,kind:`message`,T:()=>jg},{no:5,name:`contents`,kind:`message`,T:()=>O_},{no:6,name:`transactions`,kind:`message`,repeat:2,T:()=>Fg},{no:7,name:`objects`,kind:`message`,T:()=>Km}])}},I_=new class extends q{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 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=Hp(t),i=r.typeRegistry?.find(e=>e.typeName===n);if(!i)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 a=i.fromBinary(e.value,{readUnknownField:!1}),o=i.internalJsonWrite(a,r);return(n.startsWith(`google.protobuf.`)||!np(o))&&(o={value:o}),o[`@type`]=e.typeUrl,o}internalJsonRead(e,t,n){if(!np(e))throw new globalThis.Error(`Unable to parse google.protobuf.Any from JSON `+tp(e)+`.`);if(typeof e[`@type`]!=`string`||e[`@type`]==``)return this.create();let r=this.typeUrlToName(e[`@type`]),i=t?.typeRegistry?.find(e=>e.typeName==r);if(!i)throw new globalThis.Error(`Unable to parse google.protobuf.Any from JSON. The specified type `+r+` is not available in the type registry.`);let a;if(r.startsWith(`google.protobuf.`)&&e.hasOwnProperty(`value`))a=i.fromJson(e.value,t);else{let n=Object.assign({},e);delete n[`@type`],a=i.fromJson(n,t)}return n===void 0&&(n=this.create()),n.typeUrl=e[`@type`],n.value=i.toBinary(a),n}typeNameToUrl(e){if(!e.length)throw Error(`invalid type name: `+e);return`type.googleapis.com/`+e}typeUrlToName(e){if(!e.length)throw Error(`invalid type url: `+e);let t=e.lastIndexOf(`/`),n=t>0?e.substring(t+1):e;if(!n.length)throw Error(`invalid type url: `+e);return n}},L_=new class extends q{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:2,T:()=>I_}])}},R_=new class extends q{constructor(){super(`sui.rpc.v2.GetServiceInfoRequest`,[])}},z_=new class extends q{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:()=>Jm},{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}])}},B_=new class extends q{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:()=>Ig}])}},V_=new class extends q{constructor(){super(`sui.rpc.v2.GetObjectResponse`,[{no:1,name:`object`,kind:`message`,T:()=>Gm}])}},H_=new class extends q{constructor(){super(`sui.rpc.v2.BatchGetObjectsRequest`,[{no:1,name:`requests`,kind:`message`,repeat:2,T:()=>B_},{no:2,name:`read_mask`,kind:`message`,T:()=>Ig}])}},U_=new class extends q{constructor(){super(`sui.rpc.v2.BatchGetObjectsResponse`,[{no:1,name:`objects`,kind:`message`,repeat:2,T:()=>W_}])}},W_=new class extends q{constructor(){super(`sui.rpc.v2.GetObjectResult`,[{no:1,name:`object`,kind:`message`,oneof:`result`,T:()=>Gm},{no:2,name:`error`,kind:`message`,oneof:`result`,T:()=>L_}])}},G_=new class extends q{constructor(){super(`sui.rpc.v2.GetTransactionRequest`,[{no:1,name:`digest`,kind:`scalar`,opt:!0,T:9},{no:2,name:`read_mask`,kind:`message`,T:()=>Ig}])}},K_=new class extends q{constructor(){super(`sui.rpc.v2.GetTransactionResponse`,[{no:1,name:`transaction`,kind:`message`,T:()=>Fg}])}},q_=new class extends q{constructor(){super(`sui.rpc.v2.BatchGetTransactionsRequest`,[{no:1,name:`digests`,kind:`scalar`,repeat:2,T:9},{no:2,name:`read_mask`,kind:`message`,T:()=>Ig}])}},J_=new class extends q{constructor(){super(`sui.rpc.v2.BatchGetTransactionsResponse`,[{no:1,name:`transactions`,kind:`message`,repeat:2,T:()=>Y_}])}},Y_=new class extends q{constructor(){super(`sui.rpc.v2.GetTransactionResult`,[{no:1,name:`transaction`,kind:`message`,oneof:`result`,T:()=>Fg},{no:2,name:`error`,kind:`message`,oneof:`result`,T:()=>L_}])}},X_=new class extends q{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:()=>Ig}])}},Z_=new class extends q{constructor(){super(`sui.rpc.v2.GetCheckpointResponse`,[{no:1,name:`checkpoint`,kind:`message`,T:()=>F_}])}},Q_=new class extends q{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:()=>Ig}])}},$_=new class extends q{constructor(){super(`sui.rpc.v2.GetEpochResponse`,[{no:1,name:`epoch`,kind:`message`,T:()=>D_}])}},ev=new Rg(`sui.rpc.v2.LedgerService`,[{name:`GetServiceInfo`,options:{},I:R_,O:z_},{name:`GetObject`,options:{},I:B_,O:V_},{name:`BatchGetObjects`,options:{},I:H_,O:U_},{name:`GetTransaction`,options:{},I:G_,O:K_},{name:`BatchGetTransactions`,options:{},I:q_,O:J_},{name:`GetCheckpoint`,options:{},I:X_,O:Z_},{name:`GetEpoch`,options:{},I:Q_,O:$_}]),tv=class{constructor(e){this._transport=e,this.typeName=ev.typeName,this.methods=ev.methods,this.options=ev.options}getServiceInfo(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return Y(`unary`,this._transport,n,r,e)}getObject(e,t){let n=this.methods[1],r=this._transport.mergeOptions(t);return Y(`unary`,this._transport,n,r,e)}batchGetObjects(e,t){let n=this.methods[2],r=this._transport.mergeOptions(t);return Y(`unary`,this._transport,n,r,e)}getTransaction(e,t){let n=this.methods[3],r=this._transport.mergeOptions(t);return Y(`unary`,this._transport,n,r,e)}batchGetTransactions(e,t){let n=this.methods[4],r=this._transport.mergeOptions(t);return Y(`unary`,this._transport,n,r,e)}getCheckpoint(e,t){let n=this.methods[5],r=this._transport.mergeOptions(t);return Y(`unary`,this._transport,n,r,e)}getEpoch(e,t){let n=this.methods[6],r=this._transport.mergeOptions(t);return Y(`unary`,this._transport,n,r,e)}},nv=new class extends q{constructor(){super(`sui.rpc.v2.GetPackageRequest`,[{no:1,name:`package_id`,kind:`scalar`,opt:!0,T:9}])}},rv=new class extends q{constructor(){super(`sui.rpc.v2.GetPackageResponse`,[{no:1,name:`package`,kind:`message`,T:()=>xm}])}},iv=new class extends q{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}])}},av=new class extends q{constructor(){super(`sui.rpc.v2.GetDatatypeResponse`,[{no:1,name:`datatype`,kind:`message`,T:()=>Cm}])}},ov=new class extends q{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}])}},sv=new class extends q{constructor(){super(`sui.rpc.v2.GetFunctionResponse`,[{no:1,name:`function`,kind:`message`,T:()=>Om}])}},cv=new class extends q{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}])}},lv=new class extends q{constructor(){super(`sui.rpc.v2.ListPackageVersionsResponse`,[{no:1,name:`versions`,kind:`message`,repeat:2,T:()=>uv},{no:2,name:`next_page_token`,kind:`scalar`,opt:!0,T:12}])}},uv=new class extends q{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}])}},dv=new Rg(`sui.rpc.v2.MovePackageService`,[{name:`GetPackage`,options:{},I:nv,O:rv},{name:`GetDatatype`,options:{},I:iv,O:av},{name:`GetFunction`,options:{},I:ov,O:sv},{name:`ListPackageVersions`,options:{},I:cv,O:lv}]),fv=class{constructor(e){this._transport=e,this.typeName=dv.typeName,this.methods=dv.methods,this.options=dv.options}getPackage(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return Y(`unary`,this._transport,n,r,e)}getDatatype(e,t){let n=this.methods[1],r=this._transport.mergeOptions(t);return Y(`unary`,this._transport,n,r,e)}getFunction(e,t){let n=this.methods[2],r=this._transport.mergeOptions(t);return Y(`unary`,this._transport,n,r,e)}listPackageVersions(e,t){let n=this.methods[3],r=this._transport.mergeOptions(t);return Y(`unary`,this._transport,n,r,e)}},pv=new Rg(`sui.rpc.v2.SignatureVerificationService`,[{name:`VerifySignature`,options:{},I:new class extends q{constructor(){super(`sui.rpc.v2.VerifySignatureRequest`,[{no:1,name:`message`,kind:`message`,T:()=>Wm},{no:2,name:`signature`,kind:`message`,T:()=>mg},{no:3,name:`address`,kind:`scalar`,opt:!0,T:9},{no:4,name:`jwks`,kind:`message`,repeat:2,T:()=>Sh}])}},O:new class extends q{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}])}}}]),mv=class{constructor(e){this._transport=e,this.typeName=pv.typeName,this.methods=pv.methods,this.options=pv.options}verifySignature(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return Y(`unary`,this._transport,n,r,e)}},hv=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}({}),gv=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}({}),_v=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}({}),vv=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}({}),yv=new class extends q{constructor(){super(`sui.rpc.v2.GetCoinInfoRequest`,[{no:1,name:`coin_type`,kind:`scalar`,opt:!0,T:9}])}},bv=new class extends q{constructor(){super(`sui.rpc.v2.GetCoinInfoResponse`,[{no:1,name:`coin_type`,kind:`scalar`,opt:!0,T:9},{no:2,name:`metadata`,kind:`message`,T:()=>xv},{no:3,name:`treasury`,kind:`message`,T:()=>Sv},{no:4,name:`regulated_metadata`,kind:`message`,T:()=>Cv}])}},xv=new class extends q{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`,hv]}])}},Sv=new class extends q{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`,gv]}])}},Cv=new class extends q{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`,_v]}])}},wv=new class extends q{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}])}},Tv=new class extends q{constructor(){super(`sui.rpc.v2.GetBalanceResponse`,[{no:1,name:`balance`,kind:`message`,T:()=>Ov}])}},Ev=new class extends q{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}])}},Dv=new class extends q{constructor(){super(`sui.rpc.v2.ListBalancesResponse`,[{no:1,name:`balances`,kind:`message`,repeat:2,T:()=>Ov},{no:2,name:`next_page_token`,kind:`scalar`,opt:!0,T:12}])}},Ov=new class extends q{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}])}},kv=new class extends q{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:()=>Ig}])}},Av=new class extends q{constructor(){super(`sui.rpc.v2.ListDynamicFieldsResponse`,[{no:1,name:`dynamic_fields`,kind:`message`,repeat:2,T:()=>jv},{no:2,name:`next_page_token`,kind:`scalar`,opt:!0,T:12}])}},jv=new class extends q{constructor(){super(`sui.rpc.v2.DynamicField`,[{no:1,name:`kind`,kind:`enum`,opt:!0,T:()=>[`sui.rpc.v2.DynamicField.DynamicFieldKind`,vv]},{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:()=>Gm},{no:5,name:`name`,kind:`message`,T:()=>Wm},{no:6,name:`value`,kind:`message`,T:()=>Wm},{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:()=>Gm}])}},Mv=new class extends q{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:()=>Ig},{no:5,name:`object_type`,kind:`scalar`,opt:!0,T:9}])}},Nv=new class extends q{constructor(){super(`sui.rpc.v2.ListOwnedObjectsResponse`,[{no:1,name:`objects`,kind:`message`,repeat:2,T:()=>Gm},{no:2,name:`next_page_token`,kind:`scalar`,opt:!0,T:12}])}},Pv=new Rg(`sui.rpc.v2.StateService`,[{name:`ListDynamicFields`,options:{},I:kv,O:Av},{name:`ListOwnedObjects`,options:{},I:Mv,O:Nv},{name:`GetCoinInfo`,options:{},I:yv,O:bv},{name:`GetBalance`,options:{},I:wv,O:Tv},{name:`ListBalances`,options:{},I:Ev,O:Dv}]),Fv=class{constructor(e){this._transport=e,this.typeName=Pv.typeName,this.methods=Pv.methods,this.options=Pv.options}listDynamicFields(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return Y(`unary`,this._transport,n,r,e)}listOwnedObjects(e,t){let n=this.methods[1],r=this._transport.mergeOptions(t);return Y(`unary`,this._transport,n,r,e)}getCoinInfo(e,t){let n=this.methods[2],r=this._transport.mergeOptions(t);return Y(`unary`,this._transport,n,r,e)}getBalance(e,t){let n=this.methods[3],r=this._transport.mergeOptions(t);return Y(`unary`,this._transport,n,r,e)}listBalances(e,t){let n=this.methods[4],r=this._transport.mergeOptions(t);return Y(`unary`,this._transport,n,r,e)}},Iv=new Rg(`sui.rpc.v2.SubscriptionService`,[{name:`SubscribeCheckpoints`,serverStreaming:!0,options:{},I:new class extends q{constructor(){super(`sui.rpc.v2.SubscribeCheckpointsRequest`,[{no:1,name:`read_mask`,kind:`message`,T:()=>Ig}])}},O:new class extends q{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:()=>F_}])}}}]),Lv=class{constructor(e){this._transport=e,this.typeName=Iv.typeName,this.methods=Iv.methods,this.options=Iv.options}subscribeCheckpoints(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return Y(`serverStreaming`,this._transport,n,r,e)}},Rv=new class extends q{constructor(){super(`sui.rpc.v2.LookupNameRequest`,[{no:1,name:`name`,kind:`scalar`,opt:!0,T:9}])}},zv=new class extends q{constructor(){super(`sui.rpc.v2.LookupNameResponse`,[{no:1,name:`record`,kind:`message`,T:()=>Hv}])}},Bv=new class extends q{constructor(){super(`sui.rpc.v2.ReverseLookupNameRequest`,[{no:1,name:`address`,kind:`scalar`,opt:!0,T:9}])}},Vv=new class extends q{constructor(){super(`sui.rpc.v2.ReverseLookupNameResponse`,[{no:1,name:`record`,kind:`message`,T:()=>Hv}])}},Hv=new class extends q{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:()=>Jm},{no:5,name:`target_address`,kind:`scalar`,opt:!0,T:9},{no:6,name:`data`,kind:`map`,K:9,V:{kind:`scalar`,T:9}}])}},Uv=new Rg(`sui.rpc.v2.NameService`,[{name:`LookupName`,options:{},I:Rv,O:zv},{name:`ReverseLookupName`,options:{},I:Bv,O:Vv}]),Wv=class{constructor(e){this._transport=e,this.typeName=Uv.typeName,this.methods=Uv.methods,this.options=Uv.options}lookupName(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return Y(`unary`,this._transport,n,r,e)}reverseLookupName(e,t){let n=this.methods[1],r=this._transport.mergeOptions(t);return Y(`unary`,this._transport,n,r,e)}},Gv=new class extends q{constructor(){super(`sui.forking.v1alpha.AdvanceClockRequest`,[{no:1,name:`duration_ms`,kind:`scalar`,opt:!0,T:4,L:0}])}},Kv=new class extends q{constructor(){super(`sui.forking.v1alpha.AdvanceClockResponse`,[{no:1,name:`timestamp_ms`,kind:`scalar`,T:4,L:0},{no:2,name:`tx_digest`,kind:`scalar`,T:9}])}},qv=new class extends q{constructor(){super(`sui.forking.v1alpha.AdvanceCheckpointRequest`,[])}},Jv=new class extends q{constructor(){super(`sui.forking.v1alpha.AdvanceCheckpointResponse`,[{no:1,name:`checkpoint_sequence_number`,kind:`scalar`,T:4,L:0},{no:2,name:`timestamp_ms`,kind:`scalar`,T:4,L:0}])}},Yv=new class extends q{constructor(){super(`sui.forking.v1alpha.GetStatusRequest`,[])}},Xv=new class extends q{constructor(){super(`sui.forking.v1alpha.GetStatusResponse`,[{no:1,name:`epoch`,kind:`scalar`,T:4,L:0},{no:2,name:`checkpoint_sequence_number`,kind:`scalar`,T:4,L:0},{no:3,name:`timestamp_ms`,kind:`scalar`,T:4,L:0},{no:4,name:`forked_at_checkpoint`,kind:`scalar`,T:4,L:0}])}},Zv=new Rg(`sui.forking.v1alpha.ForkingService`,[{name:`AdvanceClock`,options:{},I:Gv,O:Kv},{name:`AdvanceCheckpoint`,options:{},I:qv,O:Jv},{name:`GetStatus`,options:{},I:Yv,O:Xv}]),Qv=class{constructor(e){this._transport=e,this.typeName=Zv.typeName,this.methods=Zv.methods,this.options=Zv.options}advanceClock(e,t){let n=this.methods[0],r=this._transport.mergeOptions(t);return Y(`unary`,this._transport,n,r,e)}advanceCheckpoint(e,t){let n=this.methods[1],r=this._transport.mergeOptions(t);return Y(`unary`,this._transport,n,r,e)}getStatus(e,t){let n=this.methods[2],r=this._transport.mergeOptions(t);return Y(`unary`,this._transport,n,r,e)}},X;(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`})(X||={});var $v=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})};function ey(e,t,n,r,i){if(r)for(let[t,n]of Object.entries(r))if(typeof n==`string`)e.append(t,n);else for(let r of n)e.append(t,r);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`),i&&e.set(`X-User-Agent`,i),typeof n==`number`){if(n<=0)throw new J(`timeout ${n} ms exceeded`,X[X.DEADLINE_EXCEEDED]);e.set(`grpc-timeout`,`${n}m`)}else if(n){let t=n.getTime(),r=Date.now();if(t<=r)throw new J(`deadline ${n} exceeded`,X[X.DEADLINE_EXCEEDED]);e.set(`grpc-timeout`,`${t-r}m`)}return e}function ty(e,t){let n=new Uint8Array(5+e.length);n[0]=iy.DATA;for(let t=e.length,r=4;r>0;r--)n[r]=t%256,t>>>=8;return n.set(e,5),t===`binary`?n:op(n)}function ny(e,t,n){if(arguments.length===1){let t=e,n;try{n=t.type}catch{}switch(n){case`error`:case`opaque`:case`opaqueredirect`:throw new J(`fetch response type ${t.type}`,X[X.UNKNOWN])}return ny(fy(t.headers),t.status,t.statusText)}let r=e,i=t>=200&&t<300,a=uy(r),[o,s]=ly(r);return(o===void 0||o===X.OK)&&!i&&(o=py(t),s=n),[o,s,a]}function ry(e){let t=dy(e),[n,r]=ly(t),i=uy(t);return[n??X.OK,r,i]}var iy;(function(e){e[e.DATA=0]=`DATA`,e[e.TRAILER=128]=`TRAILER`})(iy||={});function ay(e,t,n){return $v(this,void 0,void 0,function*(){let r,i=``,a=new Uint8Array,o=cy(t);if(oy(e)){let t=e.getReader();r={next:()=>t.read()}}else r=e[Symbol.asyncIterator]();for(;;){let e=yield r.next();if(e.value!==void 0){if(o===`text`){for(let t=0;t<e.value.length;t++)i+=String.fromCharCode(e.value[t]);let t=i.length-i.length%4;if(t===0)continue;a=sy(a,ap(i.substring(0,t))),i=i.substring(t)}else a=sy(a,e.value);for(;a.length>=5&&a[0]===iy.DATA;){let e=0;for(let t=1;t<5;t++)e=(e<<8)+a[t];if(a.length-5>=e)n(iy.DATA,a.subarray(5,5+e)),a=a.subarray(5+e);else break}}if(e.done){if(a.length===0)break;if(a[0]!==iy.TRAILER||a.length<5)throw new J(`premature EOF`,X[X.DATA_LOSS]);n(iy.TRAILER,a.subarray(5));break}}})}var oy=e=>typeof e.getReader==`function`;function sy(e,t){let n=new Uint8Array(e.length+t.length);return n.set(e),n.set(t,e.length),n}function cy(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 J(`missing response content type`,X[X.INTERNAL]);default:throw new J(`unexpected response content type: `+e,X[X.INTERNAL])}}function ly(e){let t,n,r=e[`grpc-message`];if(r!==void 0){if(Array.isArray(r))return[X.INTERNAL,`invalid grpc-web message`];n=r}let i=e[`grpc-status`];return i!==void 0&&(Array.isArray(i)||(t=parseInt(i,10),X[t]===void 0))?[X.INTERNAL,`invalid grpc-web status`]:[t,n]}function uy(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 dy(e){let t={};for(let n of String.fromCharCode.apply(String,e).trim().split(`\r
|
|
6
|
+
`)){if(n==``)continue;let[e,...r]=n.split(`:`),i=r.join(`:`).trim();e=e.trim();let a=t[e];typeof a==`string`?t[e]=[a,i]:Array.isArray(a)?a.push(i):t[e]=i}return t}function fy(e){let t={};return e.forEach((e,n)=>{let r=t[n];typeof r==`string`?t[n]=[r,e]:Array.isArray(r)?r.push(e):t[n]=e}),t}function py(e){switch(e){case 200:return X.OK;case 400:return X.INVALID_ARGUMENT;case 401:return X.UNAUTHENTICATED;case 403:return X.PERMISSION_DENIED;case 404:return X.NOT_FOUND;case 409:return X.ABORTED;case 412:return X.FAILED_PRECONDITION;case 429:return X.RESOURCE_EXHAUSTED;case 499:return X.CANCELLED;case 500:return X.UNKNOWN;case 501:return X.UNIMPLEMENTED;case 503:return X.UNAVAILABLE;case 504:return X.DEADLINE_EXCEEDED;default:return X.UNKNOWN}}var my=class{constructor(e){this.defaultOptions=e}mergeOptions(e){return zg(this.defaultOptions,e)}makeUrl(e,t){let n=t.baseUrl;return n.endsWith(`/`)&&(n=n.substring(0,n.length-1)),`${n}/${e.service.typeName}/${e.name}`}clientStreaming(e){let t=new J(`Client streaming is not supported by grpc-web`,X[X.UNIMPLEMENTED]);throw t.methodName=e.name,t.serviceName=e.service.typeName,t}duplex(e){let t=new J(`Duplex streaming is not supported by grpc-web`,X[X.UNIMPLEMENTED]);throw t.methodName=e.name,t.serviceName=e.service.typeName,t}serverStreaming(e,t,n){let r=n,i=r.format??`text`,a=r.fetch??globalThis.fetch,o=r.fetchInit??{},s=this.makeUrl(e,r),c=e.I.toBinary(t,r.binaryOptions),l=new Hg,u=new Ug,d=!0,f,p=new Hg,m,h=new Hg;return a(s,Object.assign(Object.assign({},o),{method:`POST`,headers:ey(new globalThis.Headers,i,r.timeout,r.meta),body:ty(c,i),signal:n.abort??null})).then(e=>{let[t,n,r]=ny(e);if(l.resolve(r),t!=null&&t!==X.OK)throw new J(n??X[t],X[t],r);return t!=null&&(f={code:X[t],detail:n??X[t]}),e}).then(t=>{if(!t.body)throw new J(`missing response body`,X[X.INTERNAL]);return ay(t.body,t.headers.get(`content-type`),(t,n)=>{switch(t){case iy.DATA:u.notifyMessage(e.O.fromBinary(n,r.binaryOptions)),d=!1;break;case iy.TRAILER:let t,i;[t,i,m]=ry(n),f={code:X[t],detail:i??X[t]};break}})}).then(()=>{if(!m&&!d)throw new J(`missing trailers`,X[X.DATA_LOSS]);if(!f)throw new J(`missing status`,X[X.INTERNAL]);if(f.code!==`OK`)throw new J(f.detail,f.code,m);u.notifyComplete(),p.resolve(f),h.resolve(m||{})}).catch(t=>{let n;n=t instanceof J?t:t instanceof Error&&t.name===`AbortError`?new J(t.message,X[X.CANCELLED]):new J(t instanceof Error?t.message:``+t,X[X.INTERNAL]),n.methodName=e.name,n.serviceName=e.service.typeName,l.rejectPending(n),u.notifyError(n),p.rejectPending(n),h.rejectPending(n)}),new qg(e,r.meta??{},t,l.promise,u,p.promise,h.promise)}unary(e,t,n){let r=n,i=r.format??`text`,a=r.fetch??globalThis.fetch,o=r.fetchInit??{},s=this.makeUrl(e,r),c=e.I.toBinary(t,r.binaryOptions),l=new Hg,u,d=new Hg,f,p=new Hg,m,h=new Hg;return a(s,Object.assign(Object.assign({},o),{method:`POST`,headers:ey(new globalThis.Headers,i,r.timeout,r.meta),body:ty(c,i),signal:n.abort??null})).then(e=>{let[t,n,r]=ny(e);if(l.resolve(r),t!=null&&t!==X.OK)throw new J(n??X[t],X[t],r);return t!=null&&(f={code:X[t],detail:n??X[t]}),e}).then(t=>{if(!t.body)throw new J(`missing response body`,X[X.INTERNAL]);return ay(t.body,t.headers.get(`content-type`),(t,n)=>{switch(t){case iy.DATA:if(u)throw new J(`unary call received 2nd message`,X[X.DATA_LOSS]);u=e.O.fromBinary(n,r.binaryOptions);break;case iy.TRAILER:let t,i;[t,i,m]=ry(n),f={code:X[t],detail:i??X[t]};break}})}).then(()=>{if(!m&&u)throw new J(`missing trailers`,X[X.DATA_LOSS]);if(!f)throw new J(`missing status`,X[X.INTERNAL]);if(!u&&f.code===`OK`)throw new J(`expected error status`,X[X.DATA_LOSS]);if(!u||(d.resolve(u),f.code!==`OK`))throw new J(f.detail,f.code,m);p.resolve(f),h.resolve(m||{})}).catch(t=>{let n;n=t instanceof J?t:t instanceof Error&&t.name===`AbortError`?new J(t.message,X[X.CANCELLED]):new J(t instanceof Error?t.message:``+t,X[X.INTERNAL]),n.methodName=e.name,n.serviceName=e.service.typeName,l.rejectPending(n),d.rejectPending(n),p.rejectPending(n),h.rejectPending(n)}),new Gg(e,r.meta??{},t,l.promise,d.promise,p.promise,h.promise)}},hy=Symbol.for(`@mysten/SuiGrpcClient`),gy=class extends nc{get mvr(){return this.core.mvr}get[hy](){return!0}constructor(e){super({network:e.network});let t=e.transport??new my({baseUrl:e.baseUrl,fetchInit:e.fetchInit});this.transactionExecutionService=new g_(t),this.ledgerService=new tv(t),this.stateService=new Fv(t),this.subscriptionService=new Lv(t),this.movePackageService=new fv(t),this.signatureVerificationService=new mv(t),this.nameService=new Wv(t),this.forkingService=new Qv(t),this.core=new n_({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?w(e.cursor):void 0,pageSize:e.limit,readMask:{paths:n}});return{dynamicFields:r.response.dynamicFields.map(e=>{let n=e.kind===vv.OBJECT,r=n?`0x2::dynamic_field::Field<0x2::dynamic_object_field::Wrapper<${e.name?.name}>,0x2::object::ID>`:`0x2::dynamic_field::Field<${e.name?.name},${e.valueType}>`;return{$kind:n?`DynamicObject`:`DynamicField`,fieldId:e.fieldId,name:{type:e.name?.name,bcs:e.name?.value},valueType:e.valueType,type:_t(r),childId:e.childId,value:t?{type:e.valueType,bcs:e.value?.value??new Uint8Array}:void 0}}),cursor:r.response.nextPageToken?T(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)}},_y=[`idle`,`busy`,`awaiting_approval`,`locked`,`error`],vy=[`unprovisioned`,`provisioning`,`provisioned`,`locked`,`error`],yy=/^[A-Za-z0-9_.-]{1,128}$/,by=/^[A-Za-z0-9_.-]{1,79}$/,xy=/^session_[0-9a-f]{1,128}$/,Sy=/^[\x20-\x7E]{1,64}$/,Cy=/^[0-9]{4}$/,wy=/[^\x20-\x7E]/g;function Ty(e){return typeof e==`string`&&_y.includes(e)}function Ey(e){return typeof e==`string`&&vy.includes(e)}function Dy(e){return typeof e==`string`&&yy.test(e)}function Oy(e){return typeof e==`string`&&by.test(e)}function ky(e){return typeof e==`string`&&xy.test(e)}function Ay(e){return typeof e==`string`&&Sy.test(e)}function jy(e,t){if(typeof e!=`string`)return``;let n=e.replace(wy,``);return n.length>t?n.slice(0,t):n}var Z=class extends Error{code;constructor(e,t){super(t),this.name=`ProtocolError`,this.code=e}},My=3e4,Ny=3e4,Py=5e3,Fy=My,Iy=5*My+Ny+Py,Ly=Fy,Ry=Fy,zy=Iy,By=Iy,Vy=Iy,Hy=2048,Uy=115200,Wy=12346,Gy=4097,Ky=64*1024,qy=`invalid_id`,Jy=4096,Yy=Ky,Xy=`sign_transaction`,Zy=`sign_personal_message`,Qy=[`mainnet`,`testnet`,`devnet`,`localnet`],$y=128*1024;Math.ceil($y/3)*4;var eb=/^0x[0-9a-f]{64}$/,tb=/^[A-Za-z0-9+/]{43}=$/,nb=/^[A-Za-z0-9+/]{130}==$/,rb=`m/44'/784'/0'/0'/0'`,ib=/^sha256:[0-9a-f]{64}$/,ab=/^[a-z][a-z0-9_.:/-]{0,31}$/,ob=/^(0|[1-9][0-9]{0,19})$/;function sb(e){return typeof e!=`string`||!ob.test(e)?!1:e.length<20||e.length===20&&e<=`18446744073709551615`}var cb={user_rejected:`The signing request was rejected on the device.`,user_timed_out:`The signing request timed out on the device.`,policy_rejected:`The signing request was rejected by device policy.`,signing_failed:`The device could not produce a signature.`},lb=[`entropy`,`mnemonic`,`phrase`,`prefixes`,`privateKey`,`private_key`,`privateMaterial`,`private_material`,`recoveryPhrase`,`recovery_phrase`,`rootEntropy`,`root_entropy`,`rootMaterial`,`root_material`,`secret`,`seed`,`signingKey`,`signing_key`,`words`],ub=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,db=new Set(lb.map(e=>e.toLowerCase()));function fb(){return`req_${Db(Tb(12))}`}function pb(e,t,n=Ky){let r=(e+t).split(`
|
|
7
|
+
`),i=r.pop()??``,a=r;for(let e of a)if(Eb(e)>n)throw new Z(`protocol_error`,`Protocol response line exceeds maximum length.`);if(Eb(i)>n)throw new Z(`protocol_error`,`Protocol response line exceeds maximum length.`);return{buffer:i,lines:a}}function mb(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function hb(e,t){if(!mb(e))throw new Z(`invalid_params`,`${t} must be an object.`);return e}function Q(e,t,n){if(!gb(e,t))throw new Z(`protocol_error`,`${n} contains unsupported fields.`)}function gb(e,t){return Object.keys(e).every(e=>t.includes(e))}function _b(e){if(Array.isArray(e))return e.some(e=>_b(e));if(!mb(e))return!1;for(let[t,n]of Object.entries(e))if(db.has(t.toLowerCase())||_b(n))return!0;return!1}function vb(e,t){if(_b(e))throw new Z(`protocol_error`,`${t} must not include secret material.`)}function yb(e,t,n,r=`invalid_params`){if(typeof e!=`string`)throw new Z(r,`${n} must be base64.`);if(e.length===0||e.length>t||e.length%4!=0||!ub.test(e)||!Ob(e))throw new Z(r,`${n} must be canonical base64.`);return e}function bb(e){let t=e.endsWith(`==`)?2:+!!e.endsWith(`=`);return e.length/4*3-t}function xb(e,t,n,r=`invalid_params`){let i=yb(e,Math.ceil(t/3)*4,n,r);if(bb(i)>t)throw new Z(r,`${n} exceeds maximum decoded byte length.`);return i}function Sb(e){if(!Qy.includes(e))throw new Z(`invalid_params`,`sui signing network is unsupported.`);return e}function Cb(e){if(e.length===0||e.length%4!=0||!ub.test(e))return null;let t=e.endsWith(`==`)?2:+!!e.endsWith(`=`),n=new Uint8Array(e.length/4*3-t),r=0;for(let t=0;t<e.length;t+=4){let i=kb(e.charCodeAt(t)),a=kb(e.charCodeAt(t+1)),o=e.charCodeAt(t+2)===61,s=e.charCodeAt(t+3)===61,c=o?0:kb(e.charCodeAt(t+2)),l=s?0:kb(e.charCodeAt(t+3));if(i<0||a<0||c<0||l<0)return null;let u=t+4===e.length;if((o||s)&&!u||o&&!s||o&&a&15||!o&&s&&c&3)return null;let d=i<<18|a<<12|c<<6|l;r<n.length&&(n[r++]=d>>16&255),r<n.length&&(n[r++]=d>>8&255),r<n.length&&(n[r++]=d&255)}return n}function wb(e,t){if(!eb.test(e)||!tb.test(t))return!1;let n=Ab(t);return n!==null&&e===n}function Tb(e){let t=new Uint8Array(e),n=globalThis.crypto;if(n?.getRandomValues===void 0)throw Error(`Secure random source is unavailable.`);return n.getRandomValues(t),t}function Eb(e){return new TextEncoder().encode(e).length}function Db(e){return Array.from(e,e=>e.toString(16).padStart(2,`0`)).join(``)}function Ob(e){return e.endsWith(`==`)?(kb(e.charCodeAt(e.length-3))&15)==0:e.endsWith(`=`)?(kb(e.charCodeAt(e.length-2))&3)==0:!0}function kb(e){return e>=65&&e<=90?e-65:e>=97&&e<=122?e-71:e>=48&&e<=57?e+4:e===43?62:e===47?63:-1}function Ab(e){let t=Cb(e);if(t===null||t.length!==32)return null;let n=new Uint8Array(33);return n[0]=0,n.set(t,1),`0x${Db(Vb(n))}`}var jb=(1n<<64n)-1n,Mb=128,Nb=32,Pb=[7640891576956012808n,13503953896175478587n,4354685564936845355n,11912009170470909681n,5840696475078001361n,11170449401992604703n,2270897969802886507n,6620516959819538809n],Fb=[[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]];function Ib(...e){return e.reduce((e,t)=>e+t&jb,0n)}function Lb(e,t){return(e>>BigInt(t)|e<<BigInt(64-t))&jb}function Rb(e,t){let n=0n;for(let r=0;r<8;++r)n|=BigInt(e[t+r]??0)<<BigInt(r*8);return n}function zb(e,t,n){for(let r=0;r<8;++r)e[t+r]=Number(n>>BigInt(r*8)&255n)}function Bb(e,t,n,r){let i=Array.from({length:16},(e,n)=>Rb(t,n*8)),a=[...e,...Pb];a[12]^=n&jb,a[13]^=n>>64n,r&&(a[14]^=jb);let o=(e,t,n,r,o,s)=>{a[e]=Ib(a[e],a[t],i[o]),a[r]=Lb(a[r]^a[e],32),a[n]=Ib(a[n],a[r]),a[t]=Lb(a[t]^a[n],24),a[e]=Ib(a[e],a[t],i[s]),a[r]=Lb(a[r]^a[e],16),a[n]=Ib(a[n],a[r]),a[t]=Lb(a[t]^a[n],63)};for(let e=0;e<12;++e){let t=Fb[e%Fb.length];o(0,4,8,12,t[0],t[1]),o(1,5,9,13,t[2],t[3]),o(2,6,10,14,t[4],t[5]),o(3,7,11,15,t[6],t[7]),o(0,5,10,15,t[8],t[9]),o(1,6,11,12,t[10],t[11]),o(2,7,8,13,t[12],t[13]),o(3,4,9,14,t[14],t[15])}for(let t=0;t<e.length;++t)e[t]=(e[t]^a[t]^a[t+8])&jb}function Vb(e){let t=[...Pb];t[0]^=16842752n^BigInt(Nb);let n=0,r=0n;for(;n+Mb<e.length;)r+=BigInt(Mb),Bb(t,e.subarray(n,n+Mb),r,!1),n+=Mb;let i=new Uint8Array(Mb),a=e.subarray(n);i.set(a),r+=BigInt(a.length),Bb(t,i,r,!0);let o=new Uint8Array(Nb);for(let e=0;e<Nb/8;++e)zb(o,e*8,t[e]);return o}var Hb=ib,Ub=[`reject`,`sign`],Wb=[`eq`,`in`,`not_in`,`lte`,`contains`,`not_contains`,`all_in`,`none_in`],Gb=/^[a-z][a-z0-9_.:/-]{0,31}$/,Kb=/^[a-z0-9_]+(?:\.[a-z0-9_]+)+$/,qb=/^[a-z][a-z0-9_]{0,31}$/,Jb=ab,Yb=[`confirmation`,`terminal`],Xb=[`signed`,`user_rejected`,`user_timed_out`,`policy_rejected`,`signing_failed`],Zb=[`applied`,`rejected`,`timed_out`,`storage_error`],Qb=[`reject`,`sign`],$b=[`applied`,`rejected`,`timed_out`,`invalid_policy`,`ui_error`,`storage_error`,`consistency_error`],ex=/^[a-z][a-z0-9_.-]{0,31}$/,tx=/^[a-z][a-z0-9_.-]{0,63}$/;function nx(e,t,n){if(typeof t!=`string`||!ex.test(t)||typeof n!=`string`||!tx.test(n))throw new Z(`invalid_params`,`Signing route identifiers are invalid.`);if(t!==`sui`)throw new Z(`unsupported_chain`,`Signing chain is unsupported.`);switch(e){case Xy:if(n===`sign_transaction`)return{operation:e,chain:`sui`,method:Xy,route:`sui_sign_transaction`};break;case Zy:if(n===`sign_personal_message`)return{operation:e,chain:`sui`,method:Zy,route:`sui_sign_personal_message`};break}throw new Z(`unsupported_method`,`Signing method is unsupported.`)}var rx=`transaction`,ix=/^payload_[A-Za-z0-9_.-]{1,72}$/,ax=/^upload_[A-Za-z0-9_.-]{1,72}$/;function ox(e,t,n,r,i=fb()){vx(i),yx(e);let a=nx(Xy,t,n);if(r.payloadKind!==`transaction`)throw new Z(`invalid_params`,`Payload kind is unsupported.`);let o={id:i,version:1,type:`payload_upload_begin`,sessionId:e,chain:a.chain,method:a.method,payloadKind:rx,sizeBytes:Cx(r.sizeBytes,`payload_upload_begin sizeBytes`),payloadDigest:Sx(r.payloadDigest,`payload_upload_begin payloadDigest`)};return Ex(o,`payload_upload_begin`),o}function sx(e,t,n,r,i=fb()){vx(i),yx(e);let a={id:i,version:1,type:`payload_upload_chunk`,sessionId:e,uploadId:bx(t),offsetBytes:Cx(n,`payload_upload_chunk offsetBytes`),chunk:yb(r,Jy,`payload_upload_chunk chunk`)};return Ex(a,`payload_upload_chunk`),a}function cx(e,t,n=fb()){vx(n),yx(e);let r={id:n,version:1,type:`payload_upload_finish`,sessionId:e,uploadId:bx(t)};return Ex(r,`payload_upload_finish`),r}function lx(e,t,n=fb()){vx(n),yx(e);let r={id:n,version:1,type:`payload_upload_abort`,sessionId:e,...gx(t)};return Ex(r,`payload_upload_abort`),r}function ux(e,t,n,r,i=fb()){vx(i),yx(e);let a=nx(Xy,t,n),o=dx(r),s={id:i,version:1,type:Xy,sessionId:e,chain:a.chain,method:a.method,params:o};return Ex(s,`sign_transaction`),s}function dx(e){let t=hb(e,`sign_transaction params`);if(vb(t,`sign_transaction params`),Q(t,[`network`,`payloadRef`,`payloadKind`,`sizeBytes`,`payloadDigest`],`sign_transaction params`),t.payloadKind!==`transaction`)throw new Z(`invalid_params`,`sign_transaction payloadKind is unsupported.`);return{network:Sb(t.network),payloadRef:xx(t.payloadRef),payloadKind:rx,sizeBytes:Cx(t.sizeBytes,`sign_transaction sizeBytes`),payloadDigest:Sx(t.payloadDigest,`sign_transaction payloadDigest`)}}function fx(e){let t=hb(e,`Payload delivery capability`);if(_b(t))throw new Z(`protocol_error`,`Payload delivery capability must not include secret material.`);if(Q(t,[`kind`,`inlineMaxBytes`,`chunkMaxBytes`,`payloadMaxBytes`],`Payload delivery capability`),t.kind!==`transaction`)throw new Z(`protocol_error`,`Payload delivery capability kind is malformed.`);return{kind:rx,inlineMaxBytes:Cx(t.inlineMaxBytes,`Payload delivery capability inlineMaxBytes`,`protocol_error`),chunkMaxBytes:wx(t.chunkMaxBytes,`Payload delivery capability chunkMaxBytes`,`protocol_error`),payloadMaxBytes:Cx(t.payloadMaxBytes,`Payload delivery capability payloadMaxBytes`,`protocol_error`)}}function px(e){let t=fx(e);return{inlineMaxBytes:Tx(t.inlineMaxBytes,`inlineMaxBytes`),chunkMaxBytes:Tx(t.chunkMaxBytes,`chunkMaxBytes`),payloadMaxBytes:Tx(t.payloadMaxBytes,`payloadMaxBytes`)}}function mx(e){switch(e.type){case`payload_upload_begin_result`:if(Q(e,[`id`,`version`,`type`,`uploadId`,`receivedBytes`,`chunkMaxBytes`],`Payload upload begin response`),typeof e.id!=`string`||e.version!==1)throw new Z(`protocol_error`,`Payload upload begin response is malformed.`);return{id:e.id,version:1,type:`payload_upload_begin_result`,uploadId:bx(e.uploadId,`protocol_error`),receivedBytes:Cx(e.receivedBytes,`Payload upload begin response receivedBytes`,`protocol_error`),chunkMaxBytes:wx(e.chunkMaxBytes,`Payload upload begin response chunkMaxBytes`,`protocol_error`)};case`payload_upload_chunk_result`:if(Q(e,[`id`,`version`,`type`,`receivedBytes`],`Payload upload chunk response`),typeof e.id!=`string`||e.version!==1)throw new Z(`protocol_error`,`Payload upload chunk response is malformed.`);return{id:e.id,version:1,type:`payload_upload_chunk_result`,receivedBytes:Cx(e.receivedBytes,`Payload upload chunk response receivedBytes`,`protocol_error`)};case`payload_upload_finish_result`:if(Q(e,[`id`,`version`,`type`,`payloadRef`,`chain`,`method`,`payloadKind`,`sizeBytes`,`payloadDigest`],`Payload upload finish response`),typeof e.id!=`string`||e.version!==1)throw new Z(`protocol_error`,`Payload upload finish response is malformed.`);if(_x(e.chain,e.method),e.payloadKind!==`transaction`)throw new Z(`protocol_error`,`Payload upload finish response payloadKind is malformed.`);return{id:e.id,version:1,type:`payload_upload_finish_result`,payloadRef:xx(e.payloadRef,`protocol_error`),chain:e.chain,method:e.method,payloadKind:rx,sizeBytes:Cx(e.sizeBytes,`Payload upload finish response sizeBytes`,`protocol_error`),payloadDigest:Sx(e.payloadDigest,`Payload upload finish response payloadDigest`,`protocol_error`)};case`payload_upload_abort_result`:if(Q(e,[`id`,`version`,`type`,`status`],`Payload upload abort response`),typeof e.id!=`string`||e.version!==1||e.status!==`aborted`)throw new Z(`protocol_error`,`Payload upload abort response is malformed.`);return{id:e.id,version:1,type:`payload_upload_abort_result`,status:`aborted`};default:throw new Z(`protocol_error`,`Payload upload response type is unsupported.`)}}function hx(e){return e===`payload_upload_begin_result`||e===`payload_upload_chunk_result`||e===`payload_upload_finish_result`||e===`payload_upload_abort_result`}function gx(e){let t=hb(e,`payload_upload_abort target`),n=t.uploadId!==void 0;if(n===(t.payloadRef!==void 0))throw new Z(`invalid_params`,`payload_upload_abort must target exactly one uploadId or payloadRef.`);return n?{uploadId:bx(t.uploadId)}:{payloadRef:xx(t.payloadRef)}}function _x(e,t){try{nx(Xy,e,t)}catch{throw new Z(`protocol_error`,`Payload upload finish response route is malformed.`)}}function vx(e){if(!Oy(e))throw new Z(qy,`Invalid request id.`)}function yx(e){if(!ky(e))throw new Z(`invalid_session`,`Invalid sessionId.`)}function bx(e,t=`invalid_params`){if(typeof e!=`string`||!ax.test(e))throw new Z(t,`Payload upload id is invalid.`);return e}function xx(e,t=`invalid_params`){if(typeof e!=`string`||!ix.test(e))throw new Z(t,`Payload reference is invalid.`);return e}function Sx(e,t,n=`invalid_params`){if(typeof e!=`string`||!ib.test(e))throw new Z(n,`${t} is invalid.`);return e}function Cx(e,t,n=`invalid_params`){if(typeof e!=`string`||!sb(e))throw new Z(n,`${t} must be a uint decimal string.`);return e}function wx(e,t,n=`invalid_params`){let r=Cx(e,t,n),i=Number(r);if(!Number.isSafeInteger(i)||i<2048)throw new Z(n,`${t} is below the usable staged payload chunk size.`);return r}function Tx(e,t){let n=Number(e);if(!Number.isSafeInteger(n)||n<0)throw new Z(`protocol_error`,`Payload delivery capability ${t} is invalid.`);return n}function Ex(e,t){if(Eb(JSON.stringify(e))>4096)throw new Z(`invalid_params`,`${t} request is too large for the runtime.`)}function Dx(e,t=fb()){if(Bx(t),!Ay(e))throw new Z(`invalid_client_name`,`clientName must be 1-64 printable ASCII characters.`);return{id:t,version:1,type:`connect`,params:{clientName:e}}}function Ox(e,t=fb()){return Bx(t),Vx(e),{id:t,version:1,type:`disconnect`,sessionId:e}}function kx(e,t=fb()){return Bx(t),Vx(e),{id:t,version:1,type:`get_capabilities`,sessionId:e}}function Ax(e,t=fb()){return Bx(t),Vx(e),{id:t,version:1,type:`get_accounts`,sessionId:e}}function jx(e,t,n,r,i=fb()){Bx(i);let a=nx(Xy,t,n);Vx(e);let o=Hx(r),s={id:i,version:1,type:Xy,sessionId:e,chain:a.chain,method:a.method,params:o};return Kx(s,`sign_transaction`),s}function Mx(e,t,n,r,i=fb()){Bx(i);let a=nx(Zy,t,n);Vx(e);let o=Ux(r),s={id:i,version:1,type:Zy,sessionId:e,chain:a.chain,method:a.method,params:o};return Kx(s,`sign_personal_message`),s}function Nx(e){try{return JSON.parse(e)}catch{throw new Z(`invalid_json`,`Invalid JSON response.`)}}function Px(e,t){let n=Nx(e);if(!mb(n))throw new Z(`protocol_error`,`Protocol response must be an object.`);if(n.version!==1)throw new Z(`incompatible_version`,`Unsupported protocol response version.`);if(t!==void 0&&n.id!==t)throw new Z(`protocol_error`,`Protocol response id does not match request id.`);if(n.type===`error`)return qx(n);if(n.type===`connect_result`)return Jx(n);if(n.type===`disconnect_result`)return Yx(n);if(n.type===`capabilities`)return Xx(n);if(n.type===`accounts`)return Zx(n);if(n.type===`sign_result`)return rS(n);throw new Z(`protocol_error`,`Provider protocol response type is unsupported.`)}function Fx(e){if(e.type===`error`)throw new Z(e.error.code,e.error.message);if(e.type!==`connect_result`)throw new Z(`protocol_error`,`Protocol response type is not connect_result.`);return e}function Ix(e){if(e.type===`error`)throw new Z(e.error.code,e.error.message);if(e.type!==`disconnect_result`)throw new Z(`protocol_error`,`Protocol response type is not disconnect_result.`);return e}function Lx(e){if(e.type===`error`)throw new Z(e.error.code,e.error.message);if(e.type!==`capabilities`)throw new Z(`protocol_error`,`Protocol response type is not capabilities.`);return e}function Rx(e){if(e.type===`error`)throw new Z(e.error.code,e.error.message);if(e.type!==`accounts`)throw new Z(`protocol_error`,`Protocol response type is not accounts.`);return e}function zx(e){if(e.type===`error`)throw new Z(e.error.code,e.error.message);if(e.type!==`sign_result`)throw new Z(`protocol_error`,`Protocol response type is not sign_result.`);return e}function Bx(e){if(!Oy(e))throw new Z(qy,`Invalid request id.`)}function Vx(e){if(!ky(e))throw new Z(`invalid_session`,`Invalid sessionId.`)}function Hx(e,t=`sign_transaction`){let n=Wx(e,t,[`network`,`txBytes`]);return{network:Gx(n.network),txBytes:xb(n.txBytes,$y,`sui/sign_transaction txBytes`)}}function Ux(e,t=`sign_personal_message`){let n=Wx(e,t,[`network`,`message`]);return{network:Gx(n.network),message:yb(n.message,Jy,`sui/sign_personal_message message`)}}function Wx(e,t,n){let r=hb(e,`${t} params`);if(_b(r))throw new Z(`invalid_params`,`${t} params must not include secret material.`);return Q(r,n,`${t} params`),r}function Gx(e){return Sb(e)}function Kx(e,t){if(Eb(JSON.stringify(e))>4096)throw new Z(`invalid_params`,`${t} request is too large for the runtime.`)}function qx(e){if(!gb(e,[`id`,`version`,`type`,`error`]))throw new Z(`protocol_error`,`Protocol error response contains unsupported fields.`);if(e.id!==void 0&&typeof e.id!=`string`)throw new Z(`protocol_error`,`Protocol error response id is malformed.`);let t=hb(e.error,`Protocol error response error`);if(typeof t.code!=`string`||typeof t.message!=`string`)throw new Z(`protocol_error`,`Protocol error response is malformed.`);return Q(t,[`code`,`message`],`Protocol error response error`),{id:e.id,version:1,type:`error`,error:{code:t.code,message:t.message}}}function Jx(e){if(typeof e.id!=`string`)throw new Z(`protocol_error`,`Connect response id is malformed.`);if(e.status===`approved`){Q(e,[`id`,`version`,`type`,`status`,`sessionId`,`sessionTtlMs`,`device`],`Connect approved response`);let t=aS(e.device,`Connect response device object`);if(!ky(e.sessionId))throw new Z(`protocol_error`,`Connect response sessionId is malformed.`);if(typeof e.sessionTtlMs!=`number`||!Number.isInteger(e.sessionTtlMs)||e.sessionTtlMs<=0||e.sessionTtlMs>4294967295)throw new Z(`protocol_error`,`Connect response sessionTtlMs is malformed.`);return{id:e.id,version:1,type:`connect_result`,status:`approved`,sessionId:e.sessionId,sessionTtlMs:e.sessionTtlMs,device:t}}if(e.status===`rejected`){Q(e,[`id`,`version`,`type`,`status`,`error`],`Connect rejected response`);let t=hb(e.error,`Connect rejected response error`);if(typeof t.code!=`string`||typeof t.message!=`string`)throw new Z(`protocol_error`,`Connect rejected response error object is malformed.`);return Q(t,[`code`,`message`],`Connect rejected response error`),{id:e.id,version:1,type:`connect_result`,status:`rejected`,error:{code:t.code,message:t.message}}}throw new Z(`protocol_error`,`Connect response status is unsupported.`)}function Yx(e){if(Q(e,[`id`,`version`,`type`,`status`],`Disconnect response`),typeof e.id!=`string`||e.status!==`disconnected`)throw new Z(`protocol_error`,`Disconnect response is malformed.`);return{id:e.id,version:1,type:`disconnect_result`,status:`disconnected`}}function Xx(e){if(typeof e.id!=`string`)throw new Z(`protocol_error`,`Capabilities response id is malformed.`);if(vb(e,`Capabilities response`),Q(e,[`id`,`version`,`type`,`chains`,`signing`],`Capabilities response`),!Array.isArray(e.chains)||e.chains.length!==1)throw new Z(`protocol_error`,`Capabilities response chains are malformed.`);let t=eS(e.signing);return{id:e.id,version:1,type:`capabilities`,chains:e.chains.map(e=>Qx(e)),...t===void 0?{}:{signing:t}}}function Zx(e){if(typeof e.id!=`string`)throw new Z(`protocol_error`,`Accounts response id is malformed.`);if(vb(e,`Accounts response`),Q(e,[`id`,`version`,`type`,`accounts`],`Accounts response`),!Array.isArray(e.accounts)||e.accounts.length!==1)throw new Z(`protocol_error`,`Accounts response accounts are malformed.`);return{id:e.id,version:1,type:`accounts`,accounts:e.accounts.map(e=>nS(e))}}function Qx(e){let t=hb(e,`Capability chain entry`);if(vb(t,`Capability chain entry`),Q(t,[`id`,`accounts`,`methods`],`Capability chain entry`),t.id!==`sui`)throw new Z(`protocol_error`,`Capability chain is unsupported.`);if(!Array.isArray(t.accounts)||t.accounts.length!==1)throw new Z(`protocol_error`,`Capability accounts are malformed.`);if(!Array.isArray(t.methods)||t.methods.length!==0)throw new Z(`protocol_error`,`Capability method is unsupported.`);return{id:`sui`,accounts:t.accounts.map(e=>$x(e)),methods:[]}}function $x(e){let t=hb(e,`Capability account entry`);if(vb(t,`Capability account entry`),Q(t,[`keyScheme`,`derivationPath`],`Capability account entry`),t.keyScheme!==`ed25519`||t.derivationPath!==`m/44'/784'/0'/0'/0'`)throw new Z(`protocol_error`,`Capability account entry is unsupported.`);return{keyScheme:`ed25519`,derivationPath:rb}}function eS(e){if(e===void 0)return;let t=hb(e,`Signing capabilities`);if(Q(t,[`authorization`,`methods`],`Signing capabilities`),t.authorization!==`user`&&t.authorization!==`policy`)throw new Z(`protocol_error`,`Signing authorization is unsupported.`);if(!Array.isArray(t.methods)||t.methods.length===0||t.methods.length>2)throw new Z(`protocol_error`,`Signing capabilities are malformed.`);let n=t.methods.map(e=>tS(e)),r=new Set(n.map(e=>e.method));if(r.size!==n.length)throw new Z(`protocol_error`,`Signing capability is duplicated.`);if(t.authorization===`policy`){if(n.length!==1||!r.has(`sign_transaction`))throw new Z(`protocol_error`,`Signing capability is unsupported.`)}else if(n.length!==2||!r.has(`sign_transaction`)||!r.has(`sign_personal_message`))throw new Z(`protocol_error`,`Signing capability is unsupported.`);return{authorization:t.authorization,methods:n}}function tS(e){let t=hb(e,`Signing capability entry`);if(vb(t,`Signing capability entry`),Q(t,[`chain`,`method`,`payload`],`Signing capability entry`),t.chain!==`sui`||t.method!==`sign_transaction`&&t.method!==`sign_personal_message`)throw new Z(`protocol_error`,`Signing capability is unsupported.`);if(t.payload!==void 0&&t.method!==`sign_transaction`)throw new Z(`protocol_error`,`Signing capability payload metadata is unsupported.`);return{chain:`sui`,method:t.method,...t.payload===void 0?{}:{payload:fx(t.payload)}}}function nS(e){let t=hb(e,`Account entry`);if(vb(t,`Account entry`),Q(t,[`chain`,`address`,`publicKey`,`keyScheme`,`derivationPath`],`Account entry`),t.chain!==`sui`||typeof t.address!=`string`||!eb.test(t.address)||typeof t.publicKey!=`string`||!tb.test(t.publicKey)||!wb(t.address,t.publicKey)||t.keyScheme!==`ed25519`||t.derivationPath!==`m/44'/784'/0'/0'/0'`)throw new Z(`protocol_error`,`Account entry is unsupported.`);return{chain:`sui`,address:t.address,publicKey:t.publicKey,keyScheme:`ed25519`,derivationPath:rb}}function rS(e){if(typeof e.id!=`string`||typeof e.status!=`string`)throw new Z(`protocol_error`,`Sign result response is malformed.`);if(vb(e,`Sign result response`),e.status===`signed`){if(Q(e,[`id`,`version`,`type`,`authorization`,`status`,`chain`,`method`,`signature`,`messageBytes`],`Sign result response`),e.authorization!==`user`&&e.authorization!==`policy`||e.chain!==`sui`||typeof e.signature!=`string`||!nb.test(e.signature))throw new Z(`protocol_error`,`Sign result response is malformed.`);if(e.method===`sign_transaction`){if(e.messageBytes!==void 0)throw new Z(`protocol_error`,`Sign result response is malformed.`);return{id:e.id,version:1,type:`sign_result`,authorization:e.authorization,status:`signed`,chain:`sui`,method:Xy,signature:e.signature}}if(e.method===`sign_personal_message`){if(e.authorization!==`user`)throw new Z(`protocol_error`,`Sign result response is malformed.`);let t=yb(e.messageBytes,Yy,`sui/sign_personal_message messageBytes`,`protocol_error`);return{id:e.id,version:1,type:`sign_result`,authorization:`user`,status:`signed`,chain:`sui`,method:Zy,signature:e.signature,messageBytes:t}}throw new Z(`protocol_error`,`Sign result response is malformed.`)}if(e.status===`user_rejected`||e.status===`user_timed_out`){if(Q(e,[`id`,`version`,`type`,`authorization`,`status`,`error`],`Sign result response`),e.authorization!==`user`)throw new Z(`protocol_error`,`Sign result response is malformed.`);let t=e.status,n=iS(e.error,t);return{id:e.id,version:1,type:`sign_result`,authorization:`user`,status:t,error:n}}if(e.status===`policy_rejected`){if(Q(e,[`id`,`version`,`type`,`authorization`,`status`,`policyHash`,`ruleRef`,`error`],`Sign result response`),e.authorization!==`policy`||typeof e.policyHash!=`string`||!ib.test(e.policyHash)||typeof e.ruleRef!=`string`||!ab.test(e.ruleRef))throw new Z(`protocol_error`,`Sign result response is malformed.`);let t=iS(e.error,`policy_rejected`);return{id:e.id,version:1,type:`sign_result`,authorization:`policy`,status:`policy_rejected`,policyHash:e.policyHash,ruleRef:e.ruleRef,error:t}}if(e.status===`signing_failed`){if(Q(e,[`id`,`version`,`type`,`authorization`,`status`,`error`],`Sign result response`),e.authorization!==`user`&&e.authorization!==`policy`)throw new Z(`protocol_error`,`Sign result response is malformed.`);let t=iS(e.error,`signing_failed`);return{id:e.id,version:1,type:`sign_result`,authorization:e.authorization,status:`signing_failed`,error:t}}throw new Z(`protocol_error`,`Sign result response is malformed.`)}function iS(e,t){let n=hb(e,`Sign result error`);if(Q(n,[`code`,`message`],`Sign result error`),n.code!==t||n.message!==cb[t])throw new Z(`protocol_error`,`Sign result response error is not canonical.`);return{code:t,message:cb[t]}}function aS(e,t){let n=hb(e,t);if(Q(n,[`deviceId`,`state`,`firmwareName`,`hardware`,`firmwareVersion`],t),!Dy(n.deviceId)||!Ty(n.state))throw new Z(`protocol_error`,`${t} is malformed.`);return{deviceId:n.deviceId,state:n.state,firmwareName:jy(n.firmwareName,64),hardware:jy(n.hardware,64),firmwareVersion:jy(n.firmwareVersion,32)}}function oS(e,t){return uS(t),dS(e),{id:t,version:1,type:`get_result`,sessionId:e}}function sS(e,t){return uS(t),dS(e),{id:t,version:1,type:`ack_result`,sessionId:e}}function cS(e){if(Q(e,[`id`,`version`,`type`,`status`],`Ack result response`),typeof e.id!=`string`||e.version!==1||e.type!==`ack_result`||e.status!==`acked`)throw new Z(`protocol_error`,`Ack result response is malformed.`);return{id:e.id,version:1,type:`ack_result`,status:`acked`}}function lS(e){if(!mb(e))throw new Z(`protocol_error`,`Protocol response is not an object.`);if(e.type===`error`){let t=e.error;throw!mb(t)||typeof t.code!=`string`||typeof t.message!=`string`?new Z(`protocol_error`,`Protocol error response is malformed.`):new Z(t.code,t.message)}return cS(e)}function uS(e){if(!Oy(e))throw new Z(qy,`Invalid request id.`)}function dS(e){if(!ky(e))throw new Z(`invalid_session`,`Invalid sessionId.`)}function fS(e){return`${JSON.stringify(e)}\n`}function pS(e){try{return JSON.parse(e)}catch{throw new Z(`invalid_json`,`Invalid JSON response.`)}}function mS(e,t){let n=pS(e);if(!mb(n))throw new Z(`protocol_error`,`Protocol response must be an object.`);if(n.version!==1)throw new Z(`incompatible_version`,`Unsupported protocol response version.`);if(t!==void 0&&n.id!==t)throw new Z(`protocol_error`,`Protocol response id does not match request id.`);if(gS(n.type))return hS(e,t);if(n.type===`ack_result`)return cS(n);if(hx(n.type))return mx(n);if(n.type===`status`){if(!gb(n,[`id`,`version`,`type`,`device`,`provisioning`]))throw new Z(`protocol_error`,`Status response contains unsupported fields.`);LS(n.device,`Status response device object`),RS(n.provisioning,`Status response provisioning object`);let e=_S(n.device);if(e===null)throw new Z(`protocol_error`,`Status response device object is malformed.`);let t=vS(n.provisioning);if(t===null)throw new Z(`protocol_error`,`Status response provisioning object is malformed.`);if(typeof n.id!=`string`)throw new Z(`protocol_error`,`Status response id is malformed.`);return{id:n.id,version:1,type:`status`,device:e,provisioning:t}}if(n.type===`identify_device_result`){if(!gb(n,[`id`,`version`,`type`,`status`,`code`,`device`]))throw new Z(`protocol_error`,`Identify response contains unsupported fields.`);LS(n.device,`Identify response device object`);let e=_S(n.device);if(e===null)throw new Z(`protocol_error`,`Identify response device object is malformed.`);if(typeof n.id!=`string`||n.status!==`displayed`||!IS(n.code))throw new Z(`protocol_error`,`Identify response is malformed.`);return{id:n.id,version:1,type:`identify_device_result`,status:`displayed`,code:n.code,device:e}}if(n.type===`policy`){if(typeof n.id!=`string`)throw new Z(`protocol_error`,`Policy response id is malformed.`);if(_b(n))throw new Z(`protocol_error`,`Policy response must not include secret material.`);if(!gb(n,[`id`,`version`,`type`,`policy`]))throw new Z(`protocol_error`,`Policy response contains unsupported fields.`);let e=NS(n.policy);if(e===null)throw new Z(`protocol_error`,`Policy response policy object is malformed.`);return{id:n.id,version:1,type:`policy`,policy:e}}if(n.type===`approval_history`){if(typeof n.id!=`string`)throw new Z(`protocol_error`,`Approval history response id is malformed.`);if(_b(n))throw new Z(`protocol_error`,`Approval history response must not include secret material.`);if(!gb(n,[`id`,`version`,`type`,`records`,`hasMore`]))throw new Z(`protocol_error`,`Approval history response contains unsupported fields.`);if(!Array.isArray(n.records)||n.records.length>4)throw new Z(`protocol_error`,`Approval history response records are malformed.`);if(typeof n.hasMore!=`boolean`)throw new Z(`protocol_error`,`Approval history response hasMore is malformed.`);return{id:n.id,version:1,type:`approval_history`,records:n.records.map(e=>FS(e)),hasMore:n.hasMore}}if(n.type===`policy_propose_result`){if(typeof n.id!=`string`)throw new Z(`protocol_error`,`policy_propose_result id is malformed.`);if(_b(n))throw new Z(`protocol_error`,`policy_propose_result must not include secret material.`);if(!gb(n,[`id`,`version`,`type`,`status`,`reasonCode`,`policy`]))throw new Z(`protocol_error`,`policy_propose_result contains unsupported fields.`);if(!$b.includes(n.status)||typeof n.reasonCode!=`string`||!qb.test(n.reasonCode))throw new Z(`protocol_error`,`policy_propose_result is malformed.`);let e=PS(n.policy);if(n.status===`invalid_policy`){if(e!==void 0)throw new Z(`protocol_error`,`Invalid policy result must not include policy metadata.`)}else if(e===void 0)throw new Z(`protocol_error`,`policy_propose_result policy metadata is malformed.`);return{id:n.id,version:1,type:`policy_propose_result`,status:n.status,reasonCode:n.reasonCode,...e===void 0?{}:{policy:e}}}throw new Z(`protocol_error`,`Protocol response type is unsupported.`)}function hS(e,t){return Px(e,t)}function gS(e){return e===`error`||e===`connect_result`||e===`disconnect_result`||e===`capabilities`||e===`accounts`||e===`sign_result`}function _S(e){return!mb(e)||!Dy(e.deviceId)||!Ty(e.state)?null:{deviceId:e.deviceId,state:e.state,firmwareName:jy(e.firmwareName,64),hardware:jy(e.hardware,64),firmwareVersion:jy(e.firmwareVersion,32)}}function vS(e){return!mb(e)||!Ey(e.state)?null:{state:e.state}}function yS(e){return typeof e==`string`&&ex.test(e)}function bS(e){return typeof e==`string`&&tx.test(e)}function xS(e,t){return typeof e==`string`&&e.length>0&&e.length<=t}function SS(e){return e===`sui`}function CS(e){return typeof e==`string`&&Qy.includes(e)}var wS={"sui.gas_budget_raw":{type:`u64_decimal`,operators:[`eq`,`lte`]},"sui.gas_price_raw":{type:`u64_decimal`,operators:[`eq`,`lte`]},"sui.gas_owner":{type:`string`,operators:[`eq`,`in`,`not_in`]},"sui.sponsored":{type:`bool_string`,operators:[`eq`]},"sui.command_count":{type:`u64_decimal`,operators:[`eq`,`lte`]},"sui.command_kinds":{type:`string`,operators:[`contains`,`not_contains`,`all_in`,`none_in`]},"sui.move_call_packages":{type:`string`,operators:[`contains`,`not_contains`,`all_in`,`none_in`]},"sui.move_call_modules":{type:`string`,operators:[`contains`,`not_contains`,`all_in`,`none_in`]},"sui.move_call_functions":{type:`string`,operators:[`contains`,`not_contains`,`all_in`,`none_in`]},"sui.publish_present":{type:`bool_string`,operators:[`eq`]},"sui.upgrade_present":{type:`bool_string`,operators:[`eq`]},"sui.recipient_addresses":{type:`string`,operators:[`contains`,`not_contains`,`all_in`,`none_in`]},"sui.pure_address_arguments":{type:`string`,operators:[`contains`,`not_contains`,`none_in`]},"sui.token_sources.type":{type:`string`,operators:[`eq`,`in`,`not_in`]},"sui.token_sources.source":{type:`string`,operators:[`eq`,`in`]},"sui.token_sources.amount_raw":{type:`u64_decimal`,operators:[`eq`,`lte`]},"sui.token_totals_by_type.amount_raw":{type:`u64_decimal`,operators:[`eq`,`lte`],whereType:`required`},"sui.token_unknown_amount_present":{type:`bool_string`,operators:[`eq`]}};function TS(e){return e===`in`||e===`not_in`||e===`all_in`||e===`none_in`}function ES(e,t){return xS(t,255)?e===`u64_decimal`?sb(t):e===`bool_string`?t===`true`||t===`false`:!0:!1}function DS(e){return xS(e,255)&&e.includes(`::`)}function OS(e){if(!mb(e))return null;if(_b(e))throw new Z(`protocol_error`,`Policy condition selector must not include secret material.`);if(!gb(e,[`type`]))throw new Z(`protocol_error`,`Policy condition selector contains unsupported fields.`);return DS(e.type)?{type:e.type}:null}function kS(e){if(!mb(e))return null;if(_b(e))throw new Z(`protocol_error`,`Policy condition must not include secret material.`);if(!xS(e.field,64)||!Kb.test(e.field)||typeof e.op!=`string`||!Wb.includes(e.op))return null;let t=e.op,n=wS[e.field];if(n===void 0||!n.operators.includes(t))return null;let r=Object.prototype.hasOwnProperty.call(e,`where`);if(r&&n.whereType!==`required`)return null;let i;if(r){let t=OS(e.where);if(t===null)return null;i=t}if(n.whereType===`required`&&i===void 0)return null;if(TS(t)){if(!gb(e,n.whereType===`required`?[`field`,`op`,`where`,`values`]:[`field`,`op`,`values`]))throw new Z(`protocol_error`,`Policy condition contains unsupported fields.`);if(!Array.isArray(e.values)||e.values.length===0||e.values.length>16||!e.values.every(e=>ES(n.type,e)))return null;let r={field:e.field,op:t,values:[...e.values]};return i!==void 0&&(r.where=i),r}if(!gb(e,n.whereType===`required`?[`field`,`op`,`where`,`value`]:[`field`,`op`,`value`]))throw new Z(`protocol_error`,`Policy condition contains unsupported fields.`);if(!ES(n.type,e.value))return null;let a={field:e.field,op:t,value:e.value};return i!==void 0&&(a.where=i),a}function AS(e){if(!mb(e))return null;if(_b(e))throw new Z(`protocol_error`,`Policy entry must not include secret material.`);if(!gb(e,[`id`,`action`,`conditions`]))throw new Z(`protocol_error`,`Policy entry contains unsupported fields.`);if(!xS(e.id,32)||!Gb.test(e.id)||typeof e.action!=`string`||!Ub.includes(e.action)||!Array.isArray(e.conditions)||e.conditions.length>64||e.action===`sign`&&e.conditions.length===0)return null;let t=e.conditions.map(e=>kS(e));return t.some(e=>e===null)?null:{id:e.id,action:e.action,conditions:t}}function jS(e){if(!mb(e))return null;if(_b(e))throw new Z(`protocol_error`,`Policy network scope must not include secret material.`);if(!gb(e,[`network`,`policies`]))throw new Z(`protocol_error`,`Policy network scope contains unsupported fields.`);if(!xS(e.network,32)||!CS(e.network)||!Array.isArray(e.policies)||e.policies.length>16)return null;let t=e.policies.map(e=>AS(e));return t.some(e=>e===null)||new Set(t.map(e=>e.id)).size!==t.length?null:{network:e.network,policies:t}}function MS(e){if(!mb(e))return null;if(_b(e))throw new Z(`protocol_error`,`Policy blockchain scope must not include secret material.`);if(!gb(e,[`blockchain`,`networks`]))throw new Z(`protocol_error`,`Policy blockchain scope contains unsupported fields.`);if(!xS(e.blockchain,32)||!SS(e.blockchain)||!Array.isArray(e.networks)||e.networks.length>8)return null;let t=e.networks.map(e=>jS(e));return t.some(e=>e===null)||new Set(t.map(e=>e.network)).size!==t.length?null:{blockchain:e.blockchain,networks:t}}function NS(e){if(!mb(e))return null;if(_b(e))throw new Z(`protocol_error`,`Policy document must not include secret material.`);if(!gb(e,[`schema`,`policyId`,`defaultAction`,`blockchainCount`,`networkCount`,`policyCount`,`conditionCount`,`blockchains`]))throw new Z(`protocol_error`,`Policy document contains unsupported fields.`);if(e.schema!==`agentq.policy`||typeof e.policyId!=`string`||!Hb.test(e.policyId)||e.defaultAction!==`reject`||typeof e.blockchainCount!=`number`||!Number.isInteger(e.blockchainCount)||e.blockchainCount<0||e.blockchainCount>4||typeof e.networkCount!=`number`||!Number.isInteger(e.networkCount)||e.networkCount<0||e.networkCount>16||typeof e.policyCount!=`number`||!Number.isInteger(e.policyCount)||e.policyCount<0||e.policyCount>64||typeof e.conditionCount!=`number`||!Number.isInteger(e.conditionCount)||e.conditionCount<0||e.conditionCount>256||!Array.isArray(e.blockchains)||e.blockchains.length!==e.blockchainCount)return null;let t=e.blockchains.map(e=>MS(e));if(t.some(e=>e===null)||new Set(t.map(e=>e.blockchain)).size!==t.length)return null;let n=t.reduce((e,t)=>e+t.networks.length,0),r=t.reduce((e,t)=>e+t.networks.reduce((e,t)=>e+t.policies.length,0),0),i=t.reduce((e,t)=>e+t.networks.reduce((e,t)=>e+t.policies.reduce((e,t)=>e+t.conditions.length,0),0),0);return n!==e.networkCount||r!==e.policyCount||i!==e.conditionCount?null:{schema:e.schema,policyId:e.policyId,defaultAction:e.defaultAction,blockchainCount:e.blockchainCount,networkCount:e.networkCount,policyCount:e.policyCount,conditionCount:e.conditionCount,blockchains:t}}function PS(e){if(e!==void 0){if(!mb(e))throw new Z(`protocol_error`,`policy_propose_result policy metadata is malformed.`);if(_b(e))throw new Z(`protocol_error`,`policy_propose_result policy metadata must not include secret material.`);if(!gb(e,[`policyHash`,`blockchainCount`,`networkCount`,`policyCount`,`conditionCount`,`highestAction`]))throw new Z(`protocol_error`,`policy_propose_result policy metadata contains unsupported fields.`);if(typeof e.policyHash!=`string`||!Hb.test(e.policyHash)||typeof e.blockchainCount!=`number`||!Number.isInteger(e.blockchainCount)||e.blockchainCount<0||e.blockchainCount>4||typeof e.networkCount!=`number`||!Number.isInteger(e.networkCount)||e.networkCount<0||e.networkCount>16||typeof e.policyCount!=`number`||!Number.isInteger(e.policyCount)||e.policyCount<0||e.policyCount>64||typeof e.conditionCount!=`number`||!Number.isInteger(e.conditionCount)||e.conditionCount<0||e.conditionCount>256||!Qb.includes(e.highestAction))throw new Z(`protocol_error`,`policy_propose_result policy metadata is malformed.`);return{policyHash:e.policyHash,blockchainCount:e.blockchainCount,networkCount:e.networkCount,policyCount:e.policyCount,conditionCount:e.conditionCount,highestAction:e.highestAction}}}function FS(e){if(!mb(e))throw new Z(`protocol_error`,`Approval history record is malformed.`);if(_b(e))throw new Z(`protocol_error`,`Approval history record must not include secret material.`);if(!gb(e,[`seq`,`uptimeMs`,`timeSource`,`eventKind`,`confirmationKind`,`authorization`,`chain`,`method`,`reasonCode`,`payloadDigest`,`policyHash`,`ruleRef`,`result`,`policyCount`,`highestAction`,`recordKind`,`terminalResult`]))throw new Z(`protocol_error`,`Approval history record contains unsupported fields.`);if(typeof e.seq!=`string`||!sb(e.seq)||typeof e.uptimeMs!=`string`||!sb(e.uptimeMs)||e.timeSource!==`uptime`||typeof e.reasonCode!=`string`||!qb.test(e.reasonCode))throw new Z(`protocol_error`,`Approval history record is malformed.`);if(e.eventKind===`policy_update`){if(e.confirmationKind!==void 0||e.chain!==void 0||e.method!==void 0||e.payloadDigest!==void 0||e.ruleRef!==void 0||e.recordKind!==void 0||e.terminalResult!==void 0||!Zb.includes(e.result)||typeof e.policyHash!=`string`||!Hb.test(e.policyHash)||typeof e.policyCount!=`number`||!Number.isInteger(e.policyCount)||e.policyCount<0||e.policyCount>64||!Qb.includes(e.highestAction))throw new Z(`protocol_error`,`Approval history policy update record is malformed.`);return{seq:e.seq,uptimeMs:e.uptimeMs,timeSource:`uptime`,eventKind:`policy_update`,reasonCode:e.reasonCode,result:e.result,policyHash:e.policyHash,policyCount:e.policyCount,highestAction:e.highestAction}}if(e.eventKind===`signing`){if(e.result!==void 0||e.policyCount!==void 0||e.highestAction!==void 0||!Yb.includes(e.recordKind)||e.authorization!==`user`&&e.authorization!==`policy`||!yS(e.chain)||!bS(e.method)||typeof e.payloadDigest!=`string`||!Hb.test(e.payloadDigest))throw new Z(`protocol_error`,`Approval history signing record is malformed.`);if(e.recordKind===`confirmation`){if(e.terminalResult!==void 0)throw new Z(`protocol_error`,`Approval history signing record is malformed.`);if(e.authorization===`user`){if(e.confirmationKind!==`local_pin`&&e.confirmationKind!==`physical_confirm`||e.policyHash!==void 0||e.ruleRef!==void 0)throw new Z(`protocol_error`,`Approval history signing record is malformed.`);return{seq:e.seq,uptimeMs:e.uptimeMs,timeSource:`uptime`,eventKind:`signing`,reasonCode:e.reasonCode,recordKind:`confirmation`,authorization:`user`,confirmationKind:e.confirmationKind,chain:e.chain,method:e.method,payloadDigest:e.payloadDigest}}if(e.confirmationKind!==`policy`||typeof e.policyHash!=`string`||!Hb.test(e.policyHash)||typeof e.ruleRef!=`string`||!Jb.test(e.ruleRef))throw new Z(`protocol_error`,`Approval history signing policy metadata is malformed.`);return{seq:e.seq,uptimeMs:e.uptimeMs,timeSource:`uptime`,eventKind:`signing`,reasonCode:e.reasonCode,recordKind:`confirmation`,authorization:`policy`,confirmationKind:`policy`,chain:e.chain,method:e.method,payloadDigest:e.payloadDigest,policyHash:e.policyHash,ruleRef:e.ruleRef}}if(e.confirmationKind!==void 0||!Xb.includes(e.terminalResult))throw new Z(`protocol_error`,`Approval history signing record is malformed.`);let t=e.terminalResult;if(e.authorization===`policy`){if(![`signed`,`policy_rejected`,`signing_failed`].includes(t)||typeof e.policyHash!=`string`||!Hb.test(e.policyHash)||typeof e.ruleRef!=`string`||!Jb.test(e.ruleRef))throw new Z(`protocol_error`,`Approval history signing policy metadata is malformed.`)}else if(![`signed`,`user_rejected`,`user_timed_out`,`signing_failed`].includes(t)||e.policyHash!==void 0||e.ruleRef!==void 0)throw new Z(`protocol_error`,`Approval history signing policy metadata is malformed.`);return{seq:e.seq,uptimeMs:e.uptimeMs,timeSource:`uptime`,eventKind:`signing`,reasonCode:e.reasonCode,recordKind:`terminal`,authorization:e.authorization,terminalResult:t,chain:e.chain,method:e.method,payloadDigest:e.payloadDigest,...e.authorization===`policy`?{policyHash:e.policyHash,ruleRef:e.ruleRef}:{}}}throw new Z(`protocol_error`,`Approval history record is malformed.`)}function IS(e){return typeof e==`string`&&Cy.test(e)}function LS(e,t){if(!mb(e)||!gb(e,[`deviceId`,`state`,`firmwareName`,`hardware`,`firmwareVersion`]))throw new Z(`protocol_error`,`${t} contains unsupported fields.`)}function RS(e,t){if(!mb(e)||!gb(e,[`state`]))throw new Z(`protocol_error`,`${t} contains unsupported fields.`)}var zS=`Agent-Q Sui dapp`,BS=1500,VS=Symbol(`agent-q.providerRequestMayHaveReachedFirmware`),HS=Symbol(`agent-q.browserFirmwareSessionInvalidated`),US=new Set([`timeout`,`transport_closed`,`protocol_error`,`invalid_json`]),$=class extends Error{code;constructor(e,t){super(t),this.name=`AgentQSuiBrowserProviderError`,this.code=e}},WS=class{#e;#t;#n;#r=null;#i=1;#a=new WeakMap;#o=null;#s=Promise.resolve();#c=0;#l=null;constructor(e={}){this.#n=null,this.#e=JS(),this.#t=e.clientName??zS,this.#h()}async connectDevice(e={}){if(this.#r!==null&&AC(e.deviceId,this.#r.deviceId)){let e=this.#j(this.#r);try{return await this.#g(kx(this.#r.sessionId),Lx),this.#R(this.#r)}catch(t){if(this.#F(t,e)===null)throw t}}let t;try{t=await this.#O(Dx(e.clientName??this.#t),Fx,Vy)}catch(e){throw jC(e)&&this.#m(`session_ended`),e}if(t.status===`rejected`)throw new $(t.error.code,t.error.message);if(e.deviceId!==void 0&&t.device.deviceId!==e.deviceId){try{await this.#O(Ox(t.sessionId),Ix,Ry)}catch{}finally{this.#m(`device_mismatch`)}throw new $(`device_mismatch`,`Connected Agent-Q device did not match the requested deviceId.`)}return this.#r={deviceId:t.device.deviceId,sessionId:t.sessionId,sessionTtlMs:t.sessionTtlMs,connectedAt:new Date().toISOString(),device:t.device,epoch:this.#i++},this.#o=null,this.#R(this.#r)}async disconnectDevice(e={}){let t=this.#A(e.deviceId);if(t===null)return this.#P(e.deviceId);try{await this.#g(Ox(t.sessionId),Ix)}catch(e){if(jC(e))return{source:`session_ended`,deviceId:t.deviceId,reason:MC(e)??`session_ended`};throw e}finally{this.#m(`explicit_disconnect`)}return{source:`disconnected`,deviceId:t.deviceId,reason:`firmware_confirmed`}}async getCapabilities(e={}){let t=this.#A(e.deviceId);if(t===null)return this.#P(e.deviceId);let n=this.#j(t);try{let e=await this.#g(kx(t.sessionId),Lx);return{source:`live`,deviceId:t.deviceId,capabilities:e.chains,...e.signing===void 0?{}:{signing:e.signing}}}catch(e){let t=this.#F(e,n);if(t!==null)return t;throw e}}async getAccounts(e={}){let t=this.#A(e.deviceId);if(t===null)return this.#P(e.deviceId);let n=this.#j(t);try{let e=await this.#g(Ax(t.sessionId),Rx);return{source:`live`,deviceId:t.deviceId,accounts:e.accounts}}catch(e){let t=this.#F(e,n);if(t!==null)return t;throw e}}async signTransaction(e){let t=this.#A(e.deviceId);if(t===null)return this.#P(e.deviceId);let n=this.#j(t),r=Hx({network:e.network,txBytes:e.txBytes});try{let i=await this.#_(t,e.chain,e.method,r,e.requestId);if(i.status===`session_invalidated`)return this.#N(n,`session_ended`),{source:`session_ended`,deviceId:t.deviceId,reason:`invalid_session`};let a=NC(t.deviceId,i.response);return i.sessionInvalidatedByAck&&this.#N(n,`session_ended`),a}catch(e){this.#L(e,n);let t=this.#I(e,n);if(t!==null)return t;throw e}}async signPersonalMessage(e){let t=this.#A(e.deviceId);if(t===null)return this.#P(e.deviceId);let n=this.#j(t),r=Mx(t.sessionId,e.chain,e.method,{network:e.network,message:e.message},e.requestId);try{let e=await this.#y(r,t);if(e.status===`session_invalidated`)return this.#N(n,`session_ended`),{source:`session_ended`,deviceId:t.deviceId,reason:`invalid_session`};let i=NC(t.deviceId,e.response);return e.sessionInvalidatedByAck&&this.#N(n,`session_ended`),i}catch(e){this.#L(e,n);let t=this.#I(e,n);if(t!==null)return t;throw e}}async#u(e){if(this.#n!==null)return await this.#p(this.#n,e),this.#n;let t=await this.#e();return await this.#p(t,e),this.#n=t,t}#d(){let e=this.#f();if(e!==null){if(e.port.readable===null){e.release();return}SC(e.port.close(),`port.close`).then(t=>{t?e.release():e.abandon(`port.close cleanup did not complete`)})}}#f(){let e=this.#n;if(this.#n=null,e===null)return null;let t,n={promise:new Promise(e=>{t=e}),release:()=>{this.#a.get(e)===n&&this.#a.delete(e),t()},abandon:e=>{n.abandonedReason=e,t()}};return this.#a.set(e,n),{port:e,release:n.release,abandon:n.abandon}}async#p(e,t){let n=this.#a.get(e);if(n===void 0)return;if(n.abandonedReason!==void 0)throw new $(`transport_closed`,`The selected Web Serial port was abandoned after timed-out cleanup: ${n.abandonedReason}.`);let r=null;try{await Promise.race([n.promise,new Promise((e,n)=>{r=setTimeout(()=>{n(new $(`transport_closed`,`The selected Web Serial port is still cleaning up from a timed-out request.`))},Math.max(0,t-Date.now()))})])}finally{r!==null&&clearTimeout(r)}if(n.abandonedReason!==void 0)throw new $(`transport_closed`,`The selected Web Serial port was abandoned after timed-out cleanup: ${n.abandonedReason}.`)}#m(e=`transport_reset`){let t=this.#r,n=this.#c;this.#c+=1,this.#o={generation:n,reason:e,deviceId:t?.deviceId,sessionId:t?.sessionId,sessionEpoch:t?.epoch},this.#r=null,this.#d()}#h(){let e=qS();if(e===null||typeof e.addEventListener!=`function`)return;let t=e=>{this.#n!==null&&e.target!==void 0&&e.target!==this.#n||this.#n===null&&this.#r===null||(console.warn(`[agent-q] Web Serial device disconnected; clearing cached port and session.`),this.#m(`physical_disconnect`))};this.#l=t,e.addEventListener(`disconnect`,t)}dispose(){let e=qS();this.#l!==null&&e!==null&&typeof e.removeEventListener==`function`&&e.removeEventListener(`disconnect`,this.#l),this.#l=null,this.#m(`dispose`)}async#g(e,t){return this.#O(e,t,OC(e))}#_(e,t,n,r,i){let a=this.#c,o=Date.now()+$S(r.txBytes),s=fC(r.txBytes);return this.#k(async()=>{this.#D(a);let c=await this.#u(o);this.#D(a);let l=cC(await EC(c,kx(e.sessionId),e=>Lx(e),eC(o,Ly),()=>this.#f()),t,n);if(uC(s.length,l)){let s=lC(e.sessionId,t,n,r,i,l);return this.#b(s,e,a,o)}if(l===null)throw new $(`unsupported_payload_size`,`Firmware does not advertise staged payload delivery for this signing method.`);return this.#v(e,t,n,r,i,s,l,a,o)})}async#v(e,t,n,r,i,a,o,s,c){let l=dC(o);if(a.length>l.payloadMaxBytes)throw new $(`unsupported_payload_size`,`Transaction payload exceeds the device payload capability.`);let u=await mC(a),d=null,f=null;try{let o=await this.#u(c);this.#D(s);let p=await EC(o,ox(e.sessionId,t,n,{payloadKind:rx,sizeBytes:String(a.length),payloadDigest:u}),_C,eC(c,Ly),()=>this.#f());d=p.uploadId;let m=Number(p.chunkMaxBytes),h=Math.min(l.chunkMaxBytes,m),g=0;for(;g<a.length;){let t=Math.min(g+h,a.length),n=pC(a.subarray(g,t));if(o=await this.#u(c),this.#D(s),(await EC(o,sx(e.sessionId,d,String(g),n),vC,eC(c,3e4),()=>this.#f())).receivedBytes!==String(t))throw new $(`protocol_error`,`Firmware payload upload progress is inconsistent.`);g=t}o=await this.#u(c),this.#D(s);let _=await EC(o,cx(e.sessionId,d),yC,eC(c,Ly),()=>this.#f());if(f=_.payloadRef,_.chain!==t||_.method!==n||_.payloadKind!==`transaction`||_.sizeBytes!==String(a.length)||_.payloadDigest!==u)throw new $(`protocol_error`,`Firmware payload descriptor does not match the uploaded payload.`);let v=ux(e.sessionId,t,n,{network:r.network,payloadRef:f,payloadKind:_.payloadKind,sizeBytes:_.sizeBytes,payloadDigest:_.payloadDigest},i);return await this.#b(v,e,s,c)}catch(t){throw await this.#x(e.sessionId,{uploadId:d,payloadRef:f},c)===`invalid_session`&&rC(t),t}}#y(e,t){let n=this.#c,r=Date.now()+QS(e);return this.#k(async()=>this.#b(e,t,n,r))}async#b(e,t,n,r){this.#D(n);let i=await this.#u(r);this.#D(n);try{let a=await EC(i,e,e=>zx(e),eC(r,OC(e)),()=>this.#f());return this.#T(n,t,i),{status:`result`,response:a,sessionInvalidatedByAck:!1}}catch(i){if(!sC(i)||!this.#w(n,t))throw i;try{let i=await this.#u(r),a=await this.#S(i,e.sessionId,e.id,r);if(a.status===`session_invalidated`)return{status:`session_invalidated`};if(a.status===`recovered`)return a.ack!==`invalid_session`&&this.#T(n,t,i),{status:`result`,response:a.response,sessionInvalidatedByAck:a.ack===`invalid_session`}}catch{}throw i}}async#x(e,t,n){if(t.uploadId===null&&t.payloadRef===null)return`none`;try{return t.payloadRef===null?t.uploadId!==null&&await EC(await this.#u(n),lx(e,{uploadId:t.uploadId}),bC,eC(n,Ly),()=>this.#f()):await EC(await this.#u(n),lx(e,{payloadRef:t.payloadRef}),bC,eC(n,Ly),()=>this.#f()),`aborted`}catch(e){return MC(e)===`invalid_session`?`invalid_session`:`failed`}}async#S(e,t,n,r){let i;try{i=await EC(e,oS(t,n),e=>zx(e),eC(r,Ly),()=>this.#f())}catch(e){return MC(e)===`invalid_session`?{status:`session_invalidated`}:{status:`not_recovered`}}let a=await this.#C(e,t,n,r);return{status:`recovered`,response:i,ack:a}}async#C(e,t,n,r){try{return await EC(e,sS(t,n),lS,eC(r,Ly),()=>this.#f()),`acked`}catch(e){return MC(e)===`invalid_session`?`invalid_session`:`failed`}}#w(e,t){return this.#c===e||this.#E(e,t,`physical_disconnect`)}#T(e,t,n){this.#c===e||!this.#E(e,t,`physical_disconnect`)||(this.#r=t,this.#n=n,this.#o=null)}#E(e,t,n){let r=this.#o;return r!==null&&r.generation===e&&r.reason===n&&r.deviceId===t.deviceId&&r.sessionId===t.sessionId&&r.sessionEpoch===t.epoch}#D(e){if(this.#c!==e)throw new $(`transport_closed`,`The device transport was torn down before this request could run.`)}#O(e,t,n){let r=this.#c,i=Date.now()+n;return this.#k(async()=>{this.#D(r);let a=await this.#u(i);return this.#D(r),EC(a,e,e=>t(e),eC(i,n),()=>this.#f())})}#k(e){let t=this.#s.then(e,e);return this.#s=t.then(YS,YS),t}#A(e){return this.#r===null||!AC(e,this.#r.deviceId)?null:this.#r}#j(e){return{deviceId:e.deviceId,sessionId:e.sessionId,epoch:e.epoch,generation:this.#c}}#M(e){return this.#r!==null&&this.#r.deviceId===e.deviceId&&this.#r.sessionId===e.sessionId&&this.#r.epoch===e.epoch}#N(e,t){return this.#M(e)?(this.#m(t),!0):!1}#P(e){return GS()?{source:`not_connected`,deviceId:e??this.#r?.deviceId??`browser`,reason:`not_connected`}:{source:`unavailable`,deviceId:e??`browser`,reason:`unsupported_transport`}}#F(e,t){if(!jC(e))return null;let n=MC(e);return(n===`invalid_session`||this.#c===t.generation)&&this.#N(t,`session_ended`),{source:`session_ended`,deviceId:t.deviceId,reason:n??`session_ended`}}#I(e,t){return MC(e)===`invalid_session`?(this.#N(t,`session_ended`),{source:`session_ended`,deviceId:t.deviceId,reason:`invalid_session`}):null}#L(e,t){return iC(e)?(this.#N(t,`session_ended`),!0):!1}#R(e){return{source:`connected`,deviceId:e.deviceId,sessionTtlMs:e.sessionTtlMs,connectedAt:e.connectedAt,device:e.device}}};function GS(){return qS()!==null}function KS(e={}){return new WS(e)}function qS(){return globalThis.navigator?.serial??null}function JS(){return async()=>{let e=qS();if(e===null)throw new $(`unsupported_transport`,`Web Serial is not available in this browser.`);let t=await XS(e);return t===null?e.requestPort({filters:[{usbVendorId:Wy,usbProductId:Gy}]}):t}}function YS(){}async function XS(e){if(typeof e.getPorts!=`function`)return null;let t;try{t=await e.getPorts()}catch{return null}let n=t.filter(ZS);return n.length===1?n[0]:null}function ZS(e){if(typeof e.getInfo!=`function`)return!1;let t=e.getInfo();return t.usbVendorId===12346&&t.usbProductId===4097}function QS(e){return OC(e)+Ly*2}function $S(e){let t=gC(e);return zy+Ly*(Math.ceil(t/Hy)+5)}function eC(e,t){let n=e-Date.now();if(n<=0)throw tC(new $(`timeout`,`The device request expired before it reached Firmware.`));return Math.min(t,n)}function tC(e){return aC(e,!1)}function nC(e){return aC(e,!0)}function rC(e){if(typeof e==`object`&&e||typeof e==`function`)try{Object.defineProperty(e,HS,{value:!0,configurable:!0})}catch{}return e}function iC(e){if(e===null||typeof e!=`object`&&typeof e!=`function`||e[HS]!==!0)return!1;try{delete e[HS]}catch{}return!0}function aC(e,t){if(typeof e==`object`&&e||typeof e==`function`)try{Object.defineProperty(e,VS,{value:t,configurable:!0})}catch{}return e}function oC(e){return!!(e!==null&&(typeof e==`object`||typeof e==`function`)&&e[VS])}function sC(e){if(!oC(e))return!1;let t=MC(e);return t!==null&&US.has(t)}function cC(e,t,n){return e.signing?.methods.find(e=>e.chain===t&&e.method===n)?.payload??null}function lC(e,t,n,r,i,a){try{return jx(e,t,n,r,i)}catch(e){throw a===null&&e instanceof Z&&e.code===`invalid_params`&&e.message.includes(`too large`)?new $(`unsupported_payload_size`,`Firmware does not advertise staged payload delivery for this signing method.`):e}}function uC(e,t){return t===null?!0:e<=dC(t).inlineMaxBytes}function dC(e){try{return px(e)}catch(e){throw e instanceof Z?new $(`protocol_error`,e.message):e}}function fC(e){let t=globalThis.atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;++e)n[e]=t.charCodeAt(e);return n}function pC(e){let t=``;for(let n=0;n<e.length;++n)t+=String.fromCharCode(e[n]??0);return globalThis.btoa(t)}async function mC(e){let t=new Uint8Array(e.length);t.set(e);let n=await globalThis.crypto.subtle.digest(`SHA-256`,t.buffer);return`sha256:${hC(new Uint8Array(n))}`}function hC(e){let t=``;for(let n of e)t+=n.toString(16).padStart(2,`0`);return t}function gC(e){if(e.length===0)return 0;let t=0;return e.endsWith(`==`)?t=2:e.endsWith(`=`)&&(t=1),Math.max(0,Math.floor(e.length/4)*3-t)}function _C(e){return xC(e,`payload_upload_begin_result`)}function vC(e){return xC(e,`payload_upload_chunk_result`)}function yC(e){return xC(e,`payload_upload_finish_result`)}function bC(e){return xC(e,`payload_upload_abort_result`)}function xC(e,t){if(e.type===`error`)throw new $(e.error.code,e.error.message);if(e.type!==t)throw new $(`protocol_error`,`Protocol response type is not ${t}.`);return e}async function SC(e,t){if(e===void 0)return!0;let n=null,r=e.then(()=>!0,()=>!1),i=new Promise(e=>{n=setTimeout(()=>{console.warn(`[agent-q] Web Serial cleanup '${t}' did not complete within ${BS}ms; abandoning it.`),e(!1)},BS)});try{return await Promise.race([r,i])}finally{n!==null&&clearTimeout(n)}}function CC(e,t,n){if(e.canceled)throw tC(new $(`timeout`,n));let r=t-Date.now();if(r<=0)throw e.canceled=!0,aC(new $(`timeout`,n),e.writeReachability===`started`);return r}async function wC(e,t,n,r){let i=CC(t,n,`The device request expired while opening the Web Serial port.`),a=e.open({baudRate:Uy}),o=null;a.then(()=>{t.canceled&&SC(e.close(),`late port.open close-only cleanup`).then(e=>{e?t.stalePortLease?.release():t.stalePortLease?.abandon(`late port.open cleanup did not complete`)})},()=>{t.canceled&&t.stalePortLease?.release()});let s=new Promise((e,n)=>{o=setTimeout(()=>{t.canceled=!0,t.abandoned=!0,t.stalePortLease=r()??void 0,n(tC(new $(`timeout`,`The device request expired while opening the Web Serial port.`)))},i)});try{await Promise.race([a,s])}catch(e){throw tC(e)}finally{o!==null&&clearTimeout(o)}}async function TC(e,t,n,r,i){CC(n,r,`The device request expired before it reached Firmware.`),n.writeReachability=`started`;let a=e.write(new TextEncoder().encode(fS(t))),o=null;a.catch(()=>void 0);let s=new Promise((e,t)=>{o=setTimeout(()=>{n.canceled=!0,n.abandoned=!0,n.stalePortLease=i()??void 0,t(nC(new $(`timeout`,`Timed out writing to Firmware.`)))},Math.max(0,r-Date.now()))});try{await Promise.race([a,s])}catch(e){throw nC(e)}finally{o!==null&&clearTimeout(o)}}async function EC(e,t,n,r,i){let a=Date.now()+Math.max(0,r),o={canceled:!1,abandoned:!1,writeReachability:`not_started`};(e.readable===null||e.writable===null)&&await wC(e,o,a,i);let s=null,c=null,l=null,u=!1;try{if(e.readable===null||e.writable===null)throw tC(new $(`transport_closed`,`Web Serial port is not readable or writable.`));s=e.readable.getReader(),c=e.writable.getWriter(),await TC(c,t,o,a,i),c.releaseLock(),c=null;let d=DC(s,t.id,n);d.catch(()=>void 0);let f=new Promise((e,n)=>{l=setTimeout(()=>{o.canceled=!0,o.abandoned=!0,o.stalePortLease=i()??void 0,console.warn(`[agent-q] No Firmware response for '${t.type}' within ${r}ms; treating link as lost.`),n(nC(new $(`timeout`,`Timed out waiting for Firmware response.`)))},Math.max(0,a-Date.now()))}),p=await Promise.race([d,f]);return u=!0,p}catch(e){throw aC(e,o.writeReachability===`started`)}finally{if(l!==null&&clearTimeout(l),c!==null)try{c.releaseLock()}catch{}if(s!==null){u||await SC(s.cancel(),`reader.cancel`);try{s.releaseLock()}catch{}}u||(o.stalePortLease??=i()??void 0,await SC(e.close(),`port.close`)?o.stalePortLease?.release():o.stalePortLease?.abandon(`port.close cleanup did not complete`))}}async function DC(e,t,n){let r=new TextDecoder,i=``;for(;;){let{value:a,done:o}=await e.read();if(o)throw new $(`transport_closed`,`The device connection was closed.`);let s;try{let e=pb(i,r.decode(a,{stream:!0}));i=e.buffer,s=e.lines}catch(e){throw e instanceof Z?new $(e.code,e.message):e}for(let e of s){let r=e.trim();if(r.length===0||!r.startsWith(`{`))continue;let i=kC(r,t,n);if(i!==void 0)return i}}}function OC(e){switch(e.type){case`connect`:return Vy;case`disconnect`:return Ry;case`sign_transaction`:return zy;case`sign_personal_message`:return By;case`get_capabilities`:case`get_accounts`:return Ly}throw new $(`internal_error`,`Provider request deadline is not defined.`)}function kC(e,t,n){let r;try{r=pS(e)}catch{return}if(PC(r)){if(r.id!==t){if(r.id===void 0&&r.type===`error`){let t=mS(e);if(t.type===`error`)throw new $(t.error.code,t.error.message)}return}try{return n(mS(e,t))}catch(e){throw e instanceof Z?new $(e.code,e.message):e}}}function AC(e,t){return e===void 0||e===t}function jC(e){let t=MC(e);return t===`invalid_session`||t===`transport_closed`||t===`timeout`}function MC(e){return e instanceof Z||e instanceof $?e.code:null}function NC(e,t){return t.status===`signed`?{source:`live`,deviceId:e,status:`signed`,authorization:t.authorization,chain:t.chain,method:t.method,signature:t.signature,...t.method===`sign_personal_message`?{messageBytes:t.messageBytes}:{}}:t.status===`policy_rejected`?{source:`live`,deviceId:e,status:`policy_rejected`,authorization:`policy`,error:t.error}:{source:`live`,deviceId:e,status:t.status,authorization:t.authorization,error:t.error}}function PC(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var FC=`data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MzAgNTIwIiBmb250LWZhbWlseT0iSW50ZXIsIHNhbnMtc2VyaWYiPjxwYXRoIGQ9Ik0yMTYuOSAyOS40QzIxMS40IDMwLjMgMjA1LjggMzEuNyAyMDAuMCAzMy40QzE5NC4zIDM1LjIgMTg4LjQgMzcuNSAxODIuNCA0MC4wQzE3Ni4zIDQyLjUgMTY5LjkgNDUuNCAxNjMuOCA0OC4yQzE1Ny42IDUxLjEgMTUxLjYgNTQuMSAxNDUuNSA1Ny4xQzEzOS40IDYwLjAgMTMzLjMgNjMuMSAxMjcuMiA2Ni4xQzEyMS4xIDY5LjEgMTE1LjAgNzIuMSAxMDguOSA3NS4xQzEwMi45IDc4LjIgOTYuOCA4MS4yIDkwLjggODQuNEM4NC44IDg3LjYgNzguNyA5MC43IDcyLjkgOTQuM0M2Ny4yIDk3LjkgNjEuNCAxMDEuNSA1Ni4zIDEwNS44QzUxLjIgMTEwLjEgNDYuMyAxMTQuOCA0Mi4zIDEyMC4wQzM4LjMgMTI1LjIgMzQuOSAxMzEuMCAzMi4zIDEzNy4xQzI5LjYgMTQzLjIgMjcuOCAxNDkuOCAyNi40IDE1Ni41QzI1LjAgMTYzLjMgMjQuNCAxNzAuNCAyMy45IDE3Ny41QzIzLjMgMTg0LjYgMjMuMyAxOTEuOSAyMy4xIDE5OS4xQzIzLjAgMjA2LjQgMjMuMCAyMTMuOCAyMy4wIDIyMS4xQzIzLjAgMjI4LjQgMjMuMCAyMzUuOCAyMy4wIDI0My4xQzIzLjAgMjUwLjQgMjMuMCAyNTcuOCAyMy4wIDI2NS4xQzIzLjAgMjcyLjQgMjMuMCAyNzkuOCAyMy4wIDI4Ny4xQzIzLjAgMjk0LjQgMjMuMCAzMDEuOCAyMy4wIDMwOS4xQzIzLjAgMzE2LjQgMjMuMCAzMjMuOCAyMy4yIDMzMS4wQzIzLjQgMzM4LjIgMjMuNiAzNDUuNSAyNC4zIDM1Mi41QzI1LjAgMzU5LjYgMjUuOSAzNjYuNiAyNy40IDM3My4zQzI4LjkgMzgwLjAgMzAuOSAzODYuNiAzMy41IDM5Mi43QzM2LjIgMzk4LjkgMzkuNCA0MDQuOSA0My4yIDQxMC40QzQ3LjAgNDE1LjggNTEuNSA0MjEuMCA1Ni40IDQyNS41QzYxLjMgNDMwLjAgNjYuOCA0MzQuMCA3Mi41IDQzNy40Qzc4LjMgNDQwLjkgODQuNSA0NDMuNiA5MC43IDQ0Ni4xQzk3LjAgNDQ4LjYgMTAzLjYgNDUwLjUgMTEwLjIgNDUyLjNDMTE2LjcgNDU0LjIgMTIzLjQgNDU1LjggMTMwLjEgNDU3LjRDMTM2LjcgNDU5LjAgMTQzLjUgNDYwLjUgMTUwLjEgNDYyLjFDMTU2LjggNDYzLjYgMTYzLjUgNDY1LjIgMTcwLjIgNDY2LjhDMTc2LjkgNDY4LjMgMTgzLjYgNDY5LjkgMTkwLjMgNDcxLjRDMTk2LjkgNDczLjAgMjAzLjYgNDc0LjYgMjEwLjMgNDc2LjFDMjE3LjAgNDc3LjcgMjIzLjcgNDc5LjMgMjMwLjQgNDgwLjhDMjM3LjEgNDgyLjMgMjQzLjggNDgzLjkgMjUwLjUgNDg1LjRDMjU3LjIgNDg2LjggMjY0LjAgNDg4LjQgMjcwLjggNDg5LjVDMjc3LjYgNDkwLjcgMjg0LjQgNDkxLjkgMjkxLjMgNDkyLjVDMjk4LjEgNDkzLjEgMzA1LjAgNDkzLjQgMzExLjggNDkzLjBDMzE4LjUgNDkyLjYgMzI1LjMgNDkxLjcgMzMxLjggNDkwLjBDMzM4LjMgNDg4LjQgMzQ0LjcgNDg2LjAgMzUwLjggNDgzLjRDMzU3LjAgNDgwLjcgMzYzLjAgNDc3LjMgMzY4LjkgNDczLjhDMzc0LjggNDcwLjQgMzgwLjYgNDY2LjYgMzg2LjQgNDYyLjlDMzkyLjEgNDU5LjEgMzk3LjkgNDU1LjMgNDAzLjYgNDUxLjVDNDA5LjQgNDQ3LjcgNDE1LjIgNDQzLjkgNDIwLjkgNDQwLjBDNDI2LjYgNDM2LjIgNDMyLjQgNDMyLjQgNDM4LjEgNDI4LjRDNDQzLjcgNDI0LjQgNDQ5LjUgNDIwLjQgNDU0LjggNDE2LjFDNDYwLjEgNDExLjggNDY1LjUgNDA3LjMgNDcwLjEgNDAyLjRDNDc0LjggMzk3LjUgNDc5LjIgMzkyLjMgNDgyLjkgMzg2LjdDNDg2LjYgMzgxLjEgNDg5LjcgMzc1LjEgNDkyLjIgMzY4LjlDNDk0LjcgMzYyLjcgNDk2LjUgMzU2LjEgNDk3LjkgMzQ5LjRDNDk5LjQgMzQyLjYgNTAwLjEgMzM1LjYgNTAwLjggMzI4LjVDNTAxLjQgMzIxLjUgNTAxLjYgMzE0LjIgNTAxLjggMzA2LjlDNTAyLjAgMjk5LjcgNTAyLjAgMjkyLjQgNTAyLjAgMjg1LjBDNTAyLjAgMjc3LjcgNTAyLjAgMjcwLjQgNTAyLjAgMjYzLjBDNTAyLjAgMjU1LjcgNTAyLjAgMjQ4LjQgNTAyLjAgMjQxLjBDNTAyLjAgMjMzLjcgNTAyLjAgMjI2LjQgNTAyLjAgMjE5LjBDNTAyLjAgMjExLjcgNTAyLjAgMjA0LjQgNTAyLjAgMTk3LjBDNTAyLjAgMTg5LjcgNTAyLjEgMTgyLjMgNTAxLjkgMTc1LjFDNTAxLjcgMTY3LjggNTAxLjYgMTYwLjUgNTAxLjAgMTUzLjRDNTAwLjQgMTQ2LjQgNDk5LjcgMTM5LjMgNDk4LjIgMTMyLjZDNDk2LjggMTI1LjkgNDk0LjkgMTE5LjMgNDkyLjIgMTEzLjFDNDg5LjYgMTA2LjkgNDg2LjMgMTAxLjAgNDgyLjQgOTUuNkM0NzguNCA5MC4zIDQ3My44IDg1LjMgNDY4LjcgODEuMUM0NjMuNiA3Ni44IDQ1Ny45IDczLjIgNDUyLjAgNzAuMUM0NDYuMSA2Ny4wIDQzOS43IDY0LjYgNDMzLjMgNjIuNUM0MjYuOCA2MC40IDQyMC4xIDU4LjkgNDEzLjQgNTcuNEM0MDYuNyA1NS45IDM5OS45IDU0LjcgMzkzLjEgNTMuNEMzODYuMyA1Mi4xIDM3OS40IDUxLjAgMzcyLjUgNDkuOEMzNjUuNyA0OC42IDM1OC45IDQ3LjQgMzUyLjAgNDYuMkMzNDUuMiA0NS4xIDMzOC4zIDQzLjkgMzMxLjUgNDIuOEMzMjQuNiA0MS42IDMxNy44IDQwLjQgMzEwLjkgMzkuMkMzMDQuMSAzOC4wIDI5Ny4yIDM2LjkgMjkwLjQgMzUuN0MyODMuNSAzNC42IDI3Ni40IDMzLjMgMjY5LjggMzIuM0MyNjMuMiAzMS4zIDI1Ni44IDMwLjIgMjUwLjYgMjkuNkMyNDQuNCAyOC45IDIzOC41IDI4LjQgMjMyLjggMjguM0MyMjcuMiAyOC4zIDIyMi40IDI4LjYgMjE2LjkgMjkuNFoiIGZpbGw9IiNGQUZBRkEiIHN0cm9rZT0iIzNGM0YzRiIgc3Ryb2tlLXdpZHRoPSI4IiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz48cGF0aCBkPSJNNzQuNSAxNjQuOEM3MC4wIDE2NS44IDY1LjggMTY3LjYgNjEuOSAxNzAuNUM1OC4wIDE3My40IDUzLjcgMTc3LjYgNTAuOSAxODIuMUM0OC4xIDE4Ni43IDQ2LjMgMTkyLjIgNDUuMCAxOTcuOEM0My43IDIwMy4zIDQzLjYgMjA5LjQgNDMuMyAyMTUuNEM0Mi45IDIyMS40IDQzLjAgMjI3LjUgNDMuMCAyMzMuNkM0My4wIDIzOS43IDQzLjAgMjQ1LjggNDMuMCAyNTEuOUM0My4wIDI1OC4wIDQzLjAgMjY0LjEgNDMuMCAyNzAuMkM0My4wIDI3Ni4zIDQzLjAgMjgyLjQgNDMuMCAyODguNUM0My4wIDI5NC42IDQzLjAgMzAwLjcgNDMuMCAzMDYuOEM0My4wIDMxMi45IDQzLjAgMzE5LjAgNDMuMCAzMjUuMUM0My4wIDMzMS4yIDQyLjggMzM3LjQgNDMuMCAzNDMuNUM0My4yIDM0OS41IDQzLjMgMzU1LjUgNDQuMCAzNjEuM0M0NC44IDM2Ny4xIDQ1LjYgMzcyLjkgNDcuNCAzNzguM0M0OS4yIDM4My42IDUxLjcgMzg4LjkgNTQuOCAzOTMuNUM1OC4wIDM5OC4xIDYxLjkgNDAyLjQgNjYuMiA0MDUuOEM3MC42IDQwOS4zIDc1LjggNDEyLjAgODAuOSA0MTQuNEM4Ni4wIDQxNi43IDkxLjYgNDE4LjMgOTcuMCA0MTkuOUMxMDIuNSA0MjEuNSAxMDguMiA0MjIuNiAxMTMuOCA0MjMuOUMxMTkuNCA0MjUuMiAxMjUuMCA0MjYuNSAxMzAuNiA0MjcuN0MxMzYuMiA0MjkuMCAxNDEuOSA0MzAuMiAxNDcuNSA0MzEuNUMxNTMuMSA0MzIuNyAxNTguNyA0MzMuOSAxNjQuMyA0MzUuMkMxNjkuOSA0MzYuNSAxNzUuNSA0MzcuOSAxODEuMSA0MzkuMkMxODYuNyA0NDAuNSAxOTIuMyA0NDEuNyAxOTguMCA0NDIuOUMyMDMuNiA0NDQuMiAyMDkuMiA0NDUuNCAyMTQuOCA0NDYuN0MyMjAuNSA0NDcuOSAyMjYuMSA0NDkuMiAyMzEuNyA0NTAuM0MyMzcuNCA0NTEuNCAyNDMuMCA0NTIuOCAyNDguNiA0NTMuNEMyNTQuMiA0NTMuOSAyNjAuMSA0NTQuNSAyNjUuNSA0NTMuN0MyNzAuOSA0NTMuMCAyNzYuNCA0NTEuNCAyODEuMSA0NDguOUMyODUuNyA0NDYuNCAyOTAuMCA0NDIuNyAyOTMuMiA0MzguNUMyOTYuNCA0MzQuMiAyOTguNyA0MjguOSAzMDAuNCA0MjMuNUMzMDIuMSA0MTguMiAzMDIuNyA0MTIuMyAzMDMuMyA0MDYuNEMzMDMuOSA0MDAuNSAzMDMuOSAzOTQuNCAzMDQuMCAzODguNEMzMDQuMSAzODIuMyAzMDQuMCAzNzYuMiAzMDQuMCAzNzAuMUMzMDQuMCAzNjQuMCAzMDQuMCAzNTcuOSAzMDQuMCAzNTEuOEMzMDQuMCAzNDUuNyAzMDQuMCAzMzkuNSAzMDQuMCAzMzMuNEMzMDQuMCAzMjcuMyAzMDQuMCAzMjEuMiAzMDQuMCAzMTUuMUMzMDQuMCAzMDkuMCAzMDQuMCAzMDIuOSAzMDQuMCAyOTYuOEMzMDQuMCAyOTAuNyAzMDQuMCAyODQuNiAzMDQuMCAyNzguNUMzMDMuOSAyNzIuNCAzMDQuMSAyNjYuMyAzMDMuNiAyNjAuM0MzMDMuMiAyNTQuNCAzMDIuNiAyNDguNiAzMDEuMiAyNDMuMEMyOTkuOSAyMzcuNSAyOTguMSAyMzIuMCAyOTUuNSAyMjcuMUMyOTIuOCAyMjIuMiAyODkuMiAyMTcuNiAyODUuMyAyMTMuOEMyODEuMyAyMDkuOSAyNzYuNiAyMDYuNiAyNzEuNyAyMDMuOUMyNjYuOSAyMDEuMyAyNjEuMyAxOTkuNCAyNTUuOSAxOTcuN0MyNTAuNSAxOTYuMCAyNDQuOCAxOTQuOCAyMzkuMiAxOTMuNkMyMzMuNiAxOTIuMyAyMjcuOSAxOTEuNCAyMjIuMiAxOTAuMkMyMTYuNiAxODkuMCAyMTAuOSAxODcuOCAyMDUuMyAxODYuNkMxOTkuNiAxODUuNCAxOTMuOSAxODQuNCAxODguMyAxODMuMkMxODIuNiAxODIuMSAxNzcuMCAxODAuOSAxNzEuMyAxNzkuN0MxNjUuNiAxNzguNiAxNjAuMCAxNzcuNSAxNTQuMyAxNzYuNEMxNDguNiAxNzUuMiAxNDMuMCAxNzQuMSAxMzcuMyAxNzMuMEMxMzEuNiAxNzEuOCAxMjYuMCAxNzAuNyAxMjAuMyAxNjkuNkMxMTQuNiAxNjguNSAxMDguNCAxNjcuNCAxMDMuMSAxNjYuNUM5Ny45IDE2NS42IDkzLjQgMTY0LjQgODguNiAxNjQuMUM4My45IDE2My44IDc5LjAgMTYzLjcgNzQuNSAxNjQuOFoiIGZpbGw9IiM1MjUyNTIiLz48cGF0aCBkPSJNMTM4LjggMzQwLjZDMTM3LjMgMzQxLjUgMTM2LjEgMzQzLjEgMTM1LjkgMzQ0LjhDMTM1LjcgMzQ2LjQgMTM2LjQgMzQ4LjkgMTM3LjYgMzUwLjVDMTM4LjcgMzUyLjIgMTQwLjggMzUzLjggMTQyLjggMzU0LjlDMTQ0LjggMzU2LjEgMTQ3LjMgMzU2LjYgMTQ5LjYgMzU3LjJDMTUyLjAgMzU3LjggMTU0LjQgMzU4LjEgMTU2LjkgMzU4LjVDMTU5LjMgMzU4LjkgMTYxLjcgMzU5LjMgMTY0LjEgMzU5LjhDMTY2LjUgMzYwLjMgMTY4LjcgMzYxLjEgMTcxLjEgMzYxLjdDMTczLjQgMzYyLjMgMTc1LjggMzYyLjkgMTc4LjEgMzYzLjRDMTgwLjUgMzYzLjggMTgzLjAgMzY0LjIgMTg1LjQgMzY0LjZDMTg3LjggMzY1LjEgMTkwLjMgMzY1LjggMTkyLjYgMzY1LjlDMTk0LjkgMzY2LjEgMTk3LjUgMzY2LjAgMTk5LjMgMzY1LjRDMjAxLjIgMzY0LjggMjAzLjAgMzYzLjkgMjAzLjkgMzYyLjVDMjA0LjggMzYxLjEgMjA1LjEgMzU4LjYgMjA0LjcgMzU2LjlDMjA0LjMgMzU1LjIgMjAyLjggMzUzLjUgMjAxLjIgMzUyLjNDMTk5LjYgMzUxLjAgMTk3LjMgMzUwLjEgMTk1LjAgMzQ5LjRDMTkyLjggMzQ4LjYgMTkwLjMgMzQ4LjQgMTg3LjkgMzQ3LjlDMTg1LjUgMzQ3LjMgMTgzLjIgMzQ2LjggMTgwLjggMzQ2LjJDMTc4LjUgMzQ1LjYgMTc2LjIgMzQ0LjkgMTczLjggMzQ0LjRDMTcxLjQgMzQzLjggMTY5LjAgMzQzLjUgMTY2LjYgMzQzLjFDMTY0LjIgMzQyLjYgMTYxLjggMzQyLjIgMTU5LjQgMzQxLjhDMTU3LjAgMzQxLjMgMTU0LjUgMzQwLjkgMTUyLjEgMzQwLjRDMTQ5LjcgMzQwLjAgMTQ3LjIgMzM5LjEgMTQ1LjAgMzM5LjJDMTQyLjcgMzM5LjIgMTQwLjMgMzM5LjYgMTM4LjggMzQwLjZaIiBmaWxsPSIjRjBGMEYwIi8+PHBhdGggZD0iTTIxMC44IDI5Ny42QzIwOS42IDI5OC43IDIwOC44IDMwMC40IDIwOC44IDMwMi4xQzIwOC44IDMwMy45IDIwOS43IDMwNi4zIDIxMS4wIDMwNy45QzIxMi4yIDMwOS42IDIxNC4xIDMxMS4wIDIxNi4xIDMxMi4wQzIxOC4xIDMxMy4wIDIyMC43IDMxMy40IDIyMy4xIDMxMy45QzIyNS41IDMxNC40IDIyNy45IDMxNC43IDIzMC4zIDMxNS4yQzIzMi43IDMxNS42IDIzNS4yIDMxNi4xIDIzNy42IDMxNi41QzIzOS45IDMxNi44IDI0Mi41IDMxNy41IDI0NC42IDMxNy4zQzI0Ni43IDMxNy4xIDI0OC44IDMxNi4zIDI1MC4xIDMxNS4yQzI1MS4zIDMxNC4wIDI1Mi4zIDMxMi4wIDI1Mi4yIDMxMC4zQzI1Mi4xIDMwOC42IDI1MS4xIDMwNi41IDI0OS43IDMwNS4wQzI0OC40IDMwMy41IDI0Ni4yIDMwMi4zIDI0NC4yIDMwMS4zQzI0Mi4xIDMwMC4zIDIzOS42IDI5OS44IDIzNy4zIDI5OS4xQzIzNS4wIDI5OC40IDIzMi43IDI5Ny44IDIzMC4zIDI5Ny4zQzIyNy45IDI5Ni44IDIyNS40IDI5Ni4zIDIyMy4xIDI5Ni4wQzIyMC43IDI5NS43IDIxOC4xIDI5NS4xIDIxNi4xIDI5NS4zQzIxNC4wIDI5NS42IDIxMi4wIDI5Ni40IDIxMC44IDI5Ny42WiIgZmlsbD0iI0YwRjBGMCIvPjxwYXRoIGQ9Ik05Mi44IDI3Mi43QzkxLjUgMjczLjcgOTAuNyAyNzUuMyA5MC41IDI3Ny4wQzkwLjMgMjc4LjcgOTAuNyAyODEuMSA5MS43IDI4Mi44QzkyLjggMjg0LjUgOTQuNyAyODYuMSA5Ni42IDI4Ny4yQzk4LjUgMjg4LjMgMTAxLjAgMjg4LjkgMTAzLjMgMjg5LjVDMTA1LjYgMjkwLjEgMTA4LjEgMjkwLjQgMTEwLjUgMjkwLjhDMTEyLjkgMjkxLjMgMTE1LjQgMjkxLjggMTE3LjggMjkyLjFDMTIwLjIgMjkyLjQgMTIyLjggMjkzLjAgMTI1LjAgMjkyLjhDMTI3LjEgMjkyLjcgMTI5LjMgMjkyLjEgMTMwLjcgMjkxLjBDMTMyLjEgMjg5LjkgMTMzLjIgMjg4LjAgMTMzLjMgMjg2LjNDMTMzLjQgMjg0LjYgMTMyLjUgMjgyLjQgMTMxLjMgMjgwLjhDMTMwLjEgMjc5LjIgMTI4LjAgMjc3LjkgMTI2LjAgMjc2LjlDMTI0LjAgMjc1LjggMTIxLjUgMjc1LjIgMTE5LjIgMjc0LjZDMTE2LjkgMjczLjkgMTE0LjUgMjczLjQgMTEyLjEgMjcyLjlDMTA5LjcgMjcyLjUgMTA3LjIgMjcyLjAgMTA0LjkgMjcxLjdDMTAyLjYgMjcxLjMgMTAwLjMgMjcwLjggOTguMyAyNzAuOUM5Ni4zIDI3MS4xIDk0LjEgMjcxLjcgOTIuOCAyNzIuN1oiIGZpbGw9IiNGMEYwRjAiLz48cGF0aCBkPSJNNDI3LjcgMjU3LjVDNDI2LjYgMjU3LjcgNDI1LjcgMjU4LjAgNDI0LjYgMjU4LjVDNDIzLjYgMjU5LjAgNDIyLjQgMjU5LjcgNDIxLjQgMjYwLjRDNDIwLjMgMjYxLjAgNDE5LjIgMjYxLjcgNDE4LjMgMjYyLjVDNDE3LjMgMjYzLjMgNDE2LjQgMjY0LjIgNDE1LjUgMjY1LjFDNDE0LjYgMjY2LjAgNDEzLjcgMjY2LjggNDEyLjggMjY3LjhDNDEyLjAgMjY4LjcgNDExLjMgMjY5LjggNDEwLjUgMjcwLjhDNDA5LjcgMjcxLjggNDA4LjkgMjcyLjggNDA4LjIgMjczLjhDNDA3LjQgMjc0LjkgNDA2LjkgMjc2LjAgNDA2LjMgMjc3LjFDNDA1LjcgMjc4LjIgNDA1LjEgMjc5LjIgNDA0LjUgMjgwLjRDNDA0LjAgMjgxLjUgNDAzLjYgMjgyLjYgNDAzLjIgMjgzLjhDNDAyLjggMjg1LjAgNDAyLjQgMjg2LjEgNDAyLjAgMjg3LjNDNDAxLjYgMjg4LjUgNDAxLjMgMjg5LjcgNDAxLjAgMjkwLjlDNDAwLjcgMjkyLjEgNDAwLjMgMjkzLjMgNDAwLjAgMjk0LjVDMzk5LjcgMjk1LjcgMzk5LjMgMjk2LjggMzk5LjAgMjk4LjFDMzk4LjcgMjk5LjMgMzk4LjUgMzAwLjUgMzk4LjMgMzAxLjhDMzk4LjEgMzAzLjAgMzk3LjkgMzA0LjMgMzk3LjggMzA1LjZDMzk3LjggMzA2LjggMzk3LjggMzA4LjEgMzk3LjggMzA5LjNDMzk3LjggMzEwLjUgMzk3LjggMzExLjggMzk3LjggMzEzLjBDMzk3LjkgMzE0LjMgMzk3LjkgMzE1LjUgMzk4LjAgMzE2LjhDMzk4LjEgMzE4LjEgMzk4LjIgMzE5LjQgMzk4LjMgMzIwLjdDMzk4LjUgMzIxLjkgMzk4LjcgMzIzLjIgMzk5LjAgMzI0LjRDMzk5LjMgMzI1LjYgMzk5LjcgMzI2LjggNDAwLjEgMzI3LjlDNDAwLjYgMzI5LjEgNDAxLjAgMzMwLjIgNDAxLjYgMzMxLjNDNDAyLjMgMzMyLjQgNDAzLjAgMzMzLjQgNDAzLjggMzM0LjNDNDA0LjYgMzM1LjIgNDA1LjYgMzM2LjEgNDA2LjYgMzM2LjhDNDA3LjYgMzM3LjUgNDA4LjcgMzM4LjEgNDA5LjggMzM4LjZDNDExLjAgMzM5LjEgNDEyLjIgMzM5LjQgNDEzLjQgMzM5LjZDNDE0LjYgMzM5LjggNDE1LjkgMzM5LjggNDE3LjEgMzM5LjdDNDE4LjQgMzM5LjYgNDE5LjcgMzM5LjQgNDIwLjkgMzM5LjBDNDIyLjEgMzM4LjcgNDIzLjMgMzM4LjQgNDI0LjMgMzM3LjhDNDI1LjQgMzM3LjIgNDI2LjQgMzM2LjUgNDI3LjEgMzM1LjdDNDI3LjcgMzM0LjkgNDI4LjIgMzMzLjYgNDI4LjMgMzMyLjhDNDI4LjQgMzMxLjkgNDI4LjEgMzMwLjkgNDI3LjYgMzMwLjNDNDI3LjEgMzI5LjggNDI2LjIgMzI5LjQgNDI1LjMgMzI5LjRDNDI0LjQgMzI5LjMgNDIzLjIgMzI5LjggNDIyLjEgMzMwLjBDNDIwLjkgMzMwLjIgNDE5LjYgMzMwLjUgNDE4LjQgMzMwLjVDNDE3LjIgMzMwLjUgNDE2LjAgMzMwLjQgNDE0LjkgMzMwLjBDNDEzLjcgMzI5LjcgNDEyLjYgMzI5LjAgNDExLjYgMzI4LjNDNDEwLjYgMzI3LjUgNDA5LjggMzI2LjUgNDA5LjEgMzI1LjVDNDA4LjMgMzI0LjUgNDA3LjcgMzIzLjQgNDA3LjIgMzIyLjNDNDA2LjcgMzIxLjIgNDA2LjMgMzIwLjAgNDA1LjkgMzE4LjhDNDA1LjYgMzE3LjYgNDA1LjIgMzE2LjQgNDA0LjkgMzE1LjJDNDA0LjcgMzE0LjAgNDA0LjQgMzEyLjcgNDA0LjMgMzExLjVDNDA0LjIgMzEwLjIgNDA0LjMgMzA5LjAgNDA0LjMgMzA3LjdDNDA0LjQgMzA2LjUgNDA0LjUgMzA1LjIgNDA0LjcgMzAzLjlDNDA0LjggMzAyLjYgNDA1LjEgMzAxLjQgNDA1LjMgMzAwLjJDNDA1LjYgMjk4LjkgNDA1LjcgMjk3LjcgNDA2LjAgMjk2LjRDNDA2LjMgMjk1LjIgNDA2LjcgMjk0LjAgNDA3LjAgMjkyLjlDNDA3LjMgMjkxLjcgNDA3LjcgMjkwLjUgNDA4LjEgMjg5LjNDNDA4LjUgMjg4LjEgNDA4LjkgMjg3LjAgNDA5LjQgMjg1LjlDNDA5LjkgMjg0LjcgNDEwLjQgMjgzLjYgNDExLjAgMjgyLjVDNDExLjYgMjgxLjQgNDEyLjIgMjgwLjMgNDEyLjkgMjc5LjNDNDEzLjYgMjc4LjIgNDE0LjMgMjc3LjIgNDE1LjEgMjc2LjJDNDE1LjkgMjc1LjIgNDE2LjggMjc0LjIgNDE3LjcgMjczLjNDNDE4LjYgMjcyLjQgNDE5LjYgMjcxLjUgNDIwLjYgMjcwLjdDNDIxLjYgMjY5LjkgNDIyLjcgMjY5LjIgNDIzLjggMjY4LjZDNDI0LjkgMjY4LjAgNDI2LjAgMjY3LjQgNDI3LjIgMjY3LjFDNDI4LjMgMjY2LjggNDI5LjUgMjY2LjcgNDMwLjcgMjY2LjdDNDMxLjkgMjY2LjYgNDMzLjEgMjY2LjcgNDM0LjMgMjY3LjBDNDM1LjQgMjY3LjMgNDM2LjYgMjY3LjkgNDM3LjYgMjY4LjZDNDM4LjYgMjY5LjIgNDM5LjUgMjcwLjAgNDQwLjIgMjcxLjBDNDQxLjAgMjcxLjkgNDQxLjcgMjczLjAgNDQyLjMgMjc0LjFDNDQyLjkgMjc1LjIgNDQzLjMgMjc2LjMgNDQzLjcgMjc3LjVDNDQ0LjEgMjc4LjcgNDQ0LjQgMjc5LjkgNDQ0LjcgMjgxLjFDNDQ0LjkgMjgyLjMgNDQ0LjkgMjgzLjcgNDQ1LjAgMjg1LjBDNDQ1LjAgMjg2LjMgNDQ1LjAgMjg3LjYgNDQ1LjAgMjg5LjBDNDQ1LjAgMjkwLjMgNDQ0LjkgMjkxLjYgNDQ0LjggMjkyLjlDNDQ0LjcgMjk0LjIgNDQ0LjYgMjk1LjUgNDQ0LjQgMjk2LjdDNDQ0LjMgMjk4LjAgNDQ0LjAgMjk5LjIgNDQzLjggMzAwLjVDNDQzLjUgMzAxLjcgNDQzLjMgMzAyLjkgNDQzLjAgMzA0LjFDNDQyLjcgMzA1LjMgNDQyLjQgMzA2LjYgNDQxLjkgMzA3LjdDNDQxLjUgMzA4LjggNDQxLjAgMzEwLjIgNDQwLjQgMzExLjBDNDM5LjkgMzExLjcgNDM5LjMgMzEyLjEgNDM4LjUgMzEyLjJDNDM3LjggMzEyLjIgNDM2LjkgMzExLjggNDM2LjAgMzExLjVDNDM1LjEgMzExLjEgNDM0LjAgMzEwLjMgNDMzLjAgMzEwLjJDNDMyLjEgMzEwLjEgNDMxLjAgMzEwLjQgNDMwLjMgMzExLjBDNDI5LjYgMzExLjYgNDI4LjkgMzEyLjcgNDI4LjcgMzEzLjhDNDI4LjUgMzE0LjggNDI4LjYgMzE2LjEgNDI5LjAgMzE3LjJDNDI5LjMgMzE4LjMgNDMwLjAgMzE5LjQgNDMwLjggMzIwLjRDNDMxLjUgMzIxLjUgNDMyLjUgMzIyLjQgNDMzLjQgMzIzLjRDNDM0LjIgMzI0LjMgNDM1LjEgMzI1LjMgNDM2LjAgMzI2LjNDNDM2LjggMzI3LjMgNDM3LjcgMzI4LjIgNDM4LjUgMzI5LjJDNDM5LjQgMzMwLjIgNDQwLjAgMzMxLjQgNDQwLjkgMzMyLjFDNDQxLjggMzMyLjkgNDQzLjAgMzMzLjcgNDQzLjkgMzM0LjBDNDQ0LjkgMzM0LjIgNDQ1LjggMzM0LjIgNDQ2LjcgMzMzLjhDNDQ3LjUgMzMzLjQgNDQ4LjQgMzMyLjQgNDQ4LjkgMzMxLjRDNDQ5LjMgMzMwLjQgNDQ5LjQgMzI5LjEgNDQ5LjMgMzI4LjBDNDQ5LjIgMzI2LjkgNDQ4LjYgMzI1LjcgNDQ4LjEgMzI0LjdDNDQ3LjUgMzIzLjYgNDQ2LjQgMzIyLjcgNDQ1LjggMzIxLjdDNDQ1LjIgMzIwLjcgNDQ0LjcgMzE5LjcgNDQ0LjYgMzE4LjdDNDQ0LjUgMzE3LjcgNDQ0LjYgMzE2LjcgNDQ1LjAgMzE1LjZDNDQ1LjMgMzE0LjUgNDQ2LjEgMzEzLjQgNDQ2LjYgMzEyLjNDNDQ3LjEgMzExLjEgNDQ3LjUgMzEwLjAgNDQ3LjkgMzA4LjhDNDQ4LjMgMzA3LjYgNDQ4LjcgMzA2LjUgNDQ5LjAgMzA1LjNDNDQ5LjMgMzA0LjEgNDQ5LjcgMzAyLjkgNDUwLjAgMzAxLjdDNDUwLjMgMzAwLjQgNDUwLjUgMjk5LjIgNDUwLjYgMjk3LjlDNDUwLjggMjk2LjcgNDUwLjkgMjk1LjQgNDUxLjAgMjk0LjFDNDUxLjEgMjkyLjggNDUxLjIgMjkxLjUgNDUxLjMgMjkwLjJDNDUxLjQgMjg4LjkgNDUxLjYgMjg3LjYgNDUxLjcgMjg2LjRDNDUxLjcgMjg1LjEgNDUxLjcgMjgzLjkgNDUxLjcgMjgyLjZDNDUxLjYgMjgxLjQgNDUxLjUgMjgwLjAgNDUxLjMgMjc4LjhDNDUxLjIgMjc3LjUgNDUwLjkgMjc2LjMgNDUwLjcgMjc1LjFDNDUwLjQgMjczLjggNDUwLjMgMjcyLjUgNDQ5LjkgMjcxLjRDNDQ5LjYgMjcwLjIgNDQ5LjAgMjY5LjEgNDQ4LjUgMjY4LjBDNDQ4LjAgMjY2LjggNDQ3LjQgMjY1LjcgNDQ2LjcgMjY0LjdDNDQ2LjAgMjYzLjcgNDQ1LjIgMjYyLjcgNDQ0LjMgMjYxLjhDNDQzLjQgMjYwLjkgNDQyLjUgMjYwLjAgNDQxLjUgMjU5LjNDNDQwLjUgMjU4LjYgNDM5LjMgMjU4LjEgNDM4LjIgMjU3LjhDNDM3LjAgMjU3LjQgNDM1LjYgMjU3LjIgNDM0LjQgMjU3LjFDNDMzLjIgMjU3LjAgNDMyLjEgMjU2LjkgNDMxLjAgMjU3LjBDNDI5LjkgMjU3LjEgNDI4LjcgMjU3LjIgNDI3LjcgMjU3LjVaIiBmaWxsPSIjM0YzRjNGIiBvcGFjaXR5PSIwLjg1Ii8+PHBhdGggZD0iTTQzNy44IDE4Ny43QzQzNi44IDE4Ny45IDQzNS44IDE4OC4zIDQzNC44IDE4OC44QzQzMy43IDE4OS40IDQzMi42IDE5MC4xIDQzMS41IDE5MC43QzQzMC41IDE5MS4zIDQyOS4zIDE5MS44IDQyOC4yIDE5Mi40QzQyNy4yIDE5My4wIDQyNi4xIDE5My42IDQyNS4wIDE5NC4yQzQyMy45IDE5NC44IDQyMi44IDE5NS40IDQyMS43IDE5Ni4wQzQyMC43IDE5Ni42IDQxOS42IDE5Ny4zIDQxOC41IDE5Ny45QzQxNy40IDE5OC41IDQxNi4zIDE5OS4wIDQxNS4yIDE5OS42QzQxNC4xIDIwMC4yIDQxMy4wIDIwMC44IDQxMi4wIDIwMS40QzQxMC45IDIwMi4wIDQwOS44IDIwMi41IDQwOC43IDIwMy4xQzQwNy42IDIwMy43IDQwNi40IDIwNC4zIDQwNS41IDIwNS4wQzQwNC41IDIwNS43IDQwMy41IDIwNi41IDQwMi44IDIwNy4zQzQwMi4xIDIwOC4yIDQwMS41IDIwOS4yIDQwMS4zIDIxMC4yQzQwMS4yIDIxMS4xIDQwMS41IDIxMi4zIDQwMS45IDIxMi45QzQwMi40IDIxMy41IDQwMy4yIDIxMy44IDQwNC4xIDIxMy44QzQwNS4wIDIxMy45IDQwNi4yIDIxMy41IDQwNy4zIDIxMy4xQzQwOC40IDIxMi43IDQwOS41IDIxMi4wIDQxMC42IDIxMS41QzQxMS43IDIxMC45IDQxMi44IDIxMC40IDQxMy45IDIwOS44QzQxNS4wIDIwOS4yIDQxNi4xIDIwOC42IDQxNy4xIDIwOC4wQzQxOC4yIDIwNy4zIDQxOS4zIDIwNi43IDQyMC40IDIwNi4xQzQyMS40IDIwNS41IDQyMi41IDIwNC44IDQyMy42IDIwNC4yQzQyNC43IDIwMy42IDQyNS44IDIwMy4xIDQyNi45IDIwMi41QzQyOC4wIDIwMS45IDQyOS4wIDIwMS4zIDQzMC4xIDIwMC43QzQzMS4yIDIwMC4xIDQzMi40IDE5OS42IDQzMy40IDE5OS4wQzQzNC41IDE5OC40IDQzNS42IDE5Ny44IDQzNi43IDE5Ny4xQzQzNy43IDE5Ni41IDQzOC44IDE5NS45IDQzOS42IDE5NS4xQzQ0MC40IDE5NC4zIDQ0MS4zIDE5My4yIDQ0MS43IDE5Mi4zQzQ0Mi4xIDE5MS40IDQ0Mi4xIDE5MC40IDQ0MS45IDE4OS42QzQ0MS43IDE4OC44IDQ0MS4yIDE4OC4wIDQ0MC41IDE4Ny43QzQzOS44IDE4Ny40IDQzOC43IDE4Ny41IDQzNy44IDE4Ny43WiIgZmlsbD0iIzNGM0YzRiIgb3BhY2l0eT0iMC44NSIvPjwvc3ZnPg==`,IC=`m/44'/784'/0'/0'/0'`,LC=/^0x[0-9a-fA-F]{64}$/,RC=/^[A-Za-z0-9_.-]{1,128}$/,zC=/^(0|[1-9][0-9]{0,19})$/,BC=2048,VC=32,HC=97,UC={not_connected:`Agent-Q Sui wallet is not connected.`,session_ended:`Agent-Q Sui wallet session ended before signing completed.`,user_rejected:`The signing request was rejected on the device.`,user_timed_out:`The signing request timed out on the device.`,policy_rejected:`The signing request was rejected by device policy.`,signing_failed:`The device could not produce a signature.`},WC=`Agent-Q signTransaction did not return a signed result.`,GC=`Agent-Q signPersonalMessage did not return a signed result.`,KC={"sui:mainnet":`mainnet`,"sui:testnet":`testnet`,"sui:devnet":`devnet`,"sui:localnet":`localnet`},qC={mainnet:`sui:mainnet`,testnet:`sui:testnet`,devnet:`sui:devnet`,localnet:`sui:localnet`};function JC(e){return typeof e==`string`&&ec.includes(e)}function YC(e){if(!JC(e))throw Error(`Agent-Q Sui wallet does not support chain "${e}".`);return KC[e]}function XC(e){if(e!==`mainnet`&&e!==`testnet`&&e!==`devnet`&&e!==`localnet`)throw Error(`Agent-Q Sui wallet initializer received an unsupported network "${String(e)}".`);return qC[e]}function ZC(e){if(!Array.isArray(e)||e.length===0)throw Error(`Agent-Q Sui wallet initializer requires at least one Sui network.`);return[...new Set(e.map(XC))]}function QC(e){let t=`Agent-Q Sui wallet could not read supported signing methods.`;if(nw(e,[`source`,`deviceId`,`capabilities`,`signing`],t),e.source!==`live`||typeof e.deviceId!=`string`||!RC.test(e.deviceId)||!Array.isArray(e.capabilities)||e.capabilities.length!==1)throw Error(t);return ow(e.capabilities[0]),sw(e.signing)}function $C(e){if(!Array.isArray(e)||e.length===0)throw Error(`Agent-Q Sui wallet requires at least one Sui chain.`);let t=[];for(let n of e){if(!JC(n))throw Error(`Agent-Q Sui wallet received an unsupported chain "${String(n)}".`);t.includes(n)||t.push(n)}return t}function ew(e){return iw(e,VC)}function tw(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function nw(e,t,n){if(!tw(e))throw Error(n);let r=new Set(t);for(let t of Object.keys(e))if(!r.has(t))throw Error(n);for(let r of t)if(!Object.prototype.hasOwnProperty.call(e,r))throw Error(n)}function rw(e,t,n,r){if(!tw(e))throw Error(r);let i=new Set([...t,...n]);for(let t of Object.keys(e))if(!i.has(t))throw Error(r);for(let n of t)if(!Object.prototype.hasOwnProperty.call(e,n))throw Error(r)}function iw(e,t){if(typeof e!=`string`||e.length===0)throw Error(`invalid_base64`);let n;try{n=w(e)}catch{throw Error(`invalid_base64`)}if(n.length!==t||T(n)!==e)throw Error(`invalid_base64`);return n}function aw(e){let t=`Agent-Q Sui wallet could not read supported signing methods.`;if(nw(e,[`keyScheme`,`derivationPath`],t),e.keyScheme!==`ed25519`||e.derivationPath!==IC)throw Error(t)}function ow(e){let t=`Agent-Q Sui wallet could not read supported signing methods.`;if(nw(e,[`id`,`accounts`,`methods`],t),e.id!==`sui`||!Array.isArray(e.accounts)||e.accounts.length!==1||!Array.isArray(e.methods)||e.methods.length!==0)throw Error(t);aw(e.accounts[0])}function sw(e){let t=`Agent-Q Sui wallet could not read supported signing methods.`;if(nw(e,[`authorization`,`methods`],t),e.authorization!==`user`&&e.authorization!==`policy`||!Array.isArray(e.methods))throw Error(t);let n=new Set;for(let r of e.methods){rw(r,[`chain`,`method`],[`payload`],t);let e=r.method;if(r.chain!==`sui`||e!==`sign_transaction`&&e!==`sign_personal_message`)throw Error(t);if(r.payload!==void 0){if(e!==`sign_transaction`)throw Error(t);cw(r.payload,t)}if(n.has(e))throw Error(t);n.add(e)}if(e.authorization===`policy`){if(n.size!==1||!n.has(`sign_transaction`))throw Error(t);return[Cs]}if(n.size!==2||!n.has(`sign_transaction`)||!n.has(`sign_personal_message`))throw Error(t);return[Cs,Es]}function cw(e,t){if(nw(e,[`kind`,`inlineMaxBytes`,`chunkMaxBytes`,`payloadMaxBytes`],t),e.kind!==`transaction`)throw Error(t);lw(e.inlineMaxBytes,t);let n=lw(e.chunkMaxBytes,t);if(lw(e.payloadMaxBytes,t),n<BC)throw Error(t)}function lw(e,t){if(typeof e!=`string`||!zC.test(e))throw Error(t);let n=Number(e);if(!Number.isSafeInteger(n)||n<0)throw Error(t);return n}function uw(e){let t=`Agent-Q Sui wallet could not read a connected Sui account.`;if(nw(e,[`chain`,`address`,`publicKey`,`keyScheme`,`derivationPath`],t),e.chain!==`sui`||typeof e.address!=`string`||!LC.test(e.address)||typeof e.publicKey!=`string`||e.keyScheme!==`ed25519`||e.derivationPath!==IC)throw Error(t);let n;try{n=iw(e.publicKey,VC)}catch{throw Error(t)}let r=e.publicKey,i=e.address.toLowerCase();if(new Ld(n).toSuiAddress()!==i)throw Error(t);return{chain:`sui`,address:i,publicKey:r,keyScheme:`ed25519`,derivationPath:IC}}function dw(e){let t=`Agent-Q Sui wallet could not read a connected Sui account.`;if(!tw(e)||e.source!==`live`||!Array.isArray(e.accounts))throw Error(t);let n=new Set([`source`,`deviceId`,`accounts`]);for(let r of Object.keys(e))if(!n.has(r))throw Error(t);if(Object.prototype.hasOwnProperty.call(e,`deviceId`)&&typeof e.deviceId!=`string`)throw Error(t);return e.accounts.map(uw)}function fw(e){if(nw(e,[`source`,`deviceId`,`status`,`authorization`,`chain`,`method`,`signature`],WC),e.source!==`live`||typeof e.deviceId!=`string`||e.status!==`signed`||e.authorization!==`user`&&e.authorization!==`policy`||e.chain!==`sui`||e.method!==`sign_transaction`||typeof e.signature!=`string`)throw mw(`unknown`);try{iw(e.signature,HC)}catch{throw mw(`missing_signature`)}return e.signature}function pw(e,t){let n=GC;if(nw(e,[`source`,`deviceId`,`status`,`authorization`,`chain`,`method`,`signature`,`messageBytes`],n),e.source!==`live`||typeof e.deviceId!=`string`||e.status!==`signed`||e.authorization!==`user`||e.chain!==`sui`||e.method!==`sign_personal_message`||e.messageBytes!==t||typeof e.signature!=`string`)throw mw(`unknown`,n);try{iw(e.signature,HC)}catch{throw mw(`missing_signature`,n)}return e.signature}function mw(e,t=WC){return Error(UC[e]??t)}var hw=class{version=`1.0.0`;id;name;icon;#e;#t;#n;#r;#i=new Set;#a=[];constructor(e){this.#e=e.provider,this.#t=e.getClient,this.#n={deviceId:e.deviceId,purpose:e.purpose},this.#r=$C(e.chains??ec),this.id=e.id??`stelis:agent-q:sui`,this.name=e.name??`Agent-Q`,this.icon=e.icon??FC}get chains(){return this.#r}get accounts(){return this.#a}get features(){return{[Hs]:{version:`1.0.0`,connect:this.#o},[Us]:{version:`1.0.0`,disconnect:this.#s},[Ws]:{version:`1.0.0`,on:this.#c},[Cs]:{version:`2.0.0`,signTransaction:this.#l},[Es]:{version:`1.1.0`,signPersonalMessage:this.#u}}}#o=async(e={})=>{if(e.silent&&this.#a.length===0)return{accounts:[]};if(this.#a.length===0){let e=!1;try{await this.#e.connectDevice(this.#n),e=!0;let t=dw(await this.#e.getAccounts(this.#n)),n=QC(await this.#e.getCapabilities(this.#n)),r=t.filter(e=>e.chain===`sui`).map(e=>new $s({address:e.address,publicKey:ew(e.publicKey),chains:this.#r,features:[...n]}));if(r.length===0)throw Error(`Agent-Q Sui wallet could not read a connected Sui account.`);this.#a=r,this.#m({accounts:this.#a})}catch(t){if(this.#a=[],e)try{await this.#e.disconnectDevice(this.#n)}catch{}throw t}}return{accounts:this.#a}};#s=async()=>{await this.#e.disconnectDevice(this.#n),this.#a=[],this.#m({accounts:this.#a})};#c=(e,t)=>e===`change`?(this.#i.add(t),()=>{this.#i.delete(t)}):()=>{};#l=async({transaction:e,account:t,chain:n,signal:r})=>{r?.throwIfAborted();let i=this.#f(t,n,Cs),a=YC(n),o=Eo.from(await e.toJSON());o.setSenderIfNotSet(i.address);let s=await o.build({client:this.#t(a)});r?.throwIfAborted();let c=T(s),l=await this.#e.signTransaction({...this.#n,chain:`sui`,method:`sign_transaction`,network:a,txBytes:c});if(l.source!==`live`)throw this.#p(),mw(l.source);if(l.status!==`signed`)throw mw(l.status??`unknown`);return{bytes:c,signature:fw(l)}};#u=async({message:e,account:t,chain:n})=>{let r=this.#d(t,n);this.#f(t,r,Es);let i=YC(r),a=T(e),o=await this.#e.signPersonalMessage({...this.#n,chain:`sui`,method:`sign_personal_message`,network:i,message:a});if(o.source!==`live`)throw this.#p(),mw(o.source,GC);if(o.status!==`signed`)throw mw(o.status??`unknown`,GC);return{bytes:a,signature:pw(o,a)}};#d(e,t){if(t!==void 0){if(!JC(t))throw Error(`Agent-Q Sui wallet account does not support the requested signing feature.`);return t}for(let t of e.chains)if(JC(t)&&this.#r.includes(t))return t;throw Error(`Agent-Q Sui wallet account does not support the requested signing feature.`)}#f(e,t,n){if(!JC(t))throw Error(`Agent-Q Sui wallet account does not support the requested signing feature.`);let r=this.#a.find(t=>t.address===e.address);if(!r)throw Error(`Agent-Q Sui wallet account is not connected.`);if(!r.chains.includes(t)||!r.features.includes(n))throw Error(`Agent-Q Sui wallet account does not support the requested signing feature.`);return r}#p(){this.#a.length!==0&&(this.#a=[],this.#m({accounts:this.#a}))}#m(e){for(let t of this.#i)t(e)}};function gw(e){return new hw(e)}function _w(e){let t=gw(e);return{wallet:t,unregister:Fs().register(t)}}function vw(e){return{id:e.id??`stelis:agent-q:sui`,initialize({networks:t,getClient:n}){return _w({...e,chains:ZC(t),getClient:e=>n(e)})}}}function yw(){return ep({networks:[`mainnet`],defaultNetwork:`mainnet`,autoConnect:!0,slushWalletConfig:null,walletInitializers:[vw({provider:KS()})],createClient:()=>bw})}var bw=new gy({network:`mainnet`,baseUrl:`https://fullnode.mainnet.sui.io:443`}),xw=`mysten-dapp-kit:selected-wallet-and-address`;function Sw(){try{return window.localStorage.getItem(xw)!==null}catch{return!1}}var Cw=`sui:mainnet`,ww=4001e3;function Tw(e,t={}){return e?e.chains.includes(`sui:mainnet`)?{status:`connected`,account:e.address,chain:Cw,...t}:{status:`failed`,failureReason:`unsupported_chain`,failureDetail:Ow(`Account is not authorized for ${Cw}`),...t}:{status:`failed`,failureReason:`no_accounts_authorized`,...t}}function Ew(){return{status:`failed`,failureReason:`no_compatible_wallet`}}function Dw(e,t={}){return kw(e)?{status:`rejected`,failureReason:`user_rejected`,failureDetail:Ow(e instanceof Error?e.message:void 0),...t}:{status:`failed`,failureReason:`wallet_provider_error`,failureDetail:Ow(e instanceof Error?e.message:String(e)),...t}}function Ow(e){if(!e)return;let t=e.replace(/[\u0000-\u001f\u007f]+/g,` `).replace(/\s+/g,` `).trim();return t?t.slice(0,500):void 0}function kw(e){return!(e instanceof Error)||e.name!==`WalletStandardError`?!1:e.context?.__code===ww}export{yw as a,Cf as c,Dw as i,Eo as l,Tw as n,Sw as o,Ew as r,bw as s,kw as t};
|